html,
body {
  min-height: 100%;
}

body { 
  align-items: center;
  padding-top: 40px;
  padding-bottom: 40px;
}

.form-register {
  max-width: 600px;
}

.form-signin {
  max-width: 330px;
}

.form-signin, .form-register {
  width: 100%;
  padding: 15px;
  margin: auto;
}

.form-signin .checkbox, .form-register .checkbox {
  font-weight: 400;
}

.form-signin .form-floating:focus-within, .form-register .form-floating:focus-within {
  z-index: 2;
}

.form-signin input[type="email"] {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.form-signin input[type="password"] {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

form .required {
  color: #ff3e1d;
}

form .required-msg {
  text-align: center;
}

form .error:not(li):not(input) {
  color: #ff3e1d;
  font-size: 85%;
  margin-top: 0.25rem;
  width: 100%;
}
form .invalid,
form .is-invalid .invalid:before,
form .is-invalid::before {
  border-color: #ff3e1d !important;
}
form .form-label.invalid, form .form-label.is-invalid {
  border-color: #ff3e1d;
  box-shadow: 0 0 0 2px rgba(255, 62, 29, 0.4) !important;
}
form select.invalid ~ .select2 .select2-selection {
  border-color: #ff3e1d;
}
form select.is-invalid ~ .select2 .select2-selection {
  border-color: #ff3e1d !important;
}
form select.selectpicker.is-invalid ~ .btn {
  border-color: 1px solid #ff3e1d;
  border-color: #ff3e1d;
}