.form-group.required .form-control-label::after {
  content: "*";
}

.floating-label-group {
  position: relative;
}
.floating-label-group label {
  position: absolute;
  top: 0.8125rem;
  left: 0;
  color: #595959;
  padding: 0 0.25rem;
  -webkit-transition: 0.2s ease all;
  transition: 0.2s ease all;
  pointer-events: none;
}
.floating-label-group input:focus + label, .floating-label-group input:not(:placeholder-shown) + label, .floating-label-group input:-webkit-autofill + label {
  top: -0.375rem;
  font-size: 0.875rem;
  background: white;
  color: #1D1D1B;
}
.floating-label-group input {
  padding-top: 1.25rem;
}

body input.form-control:-webkit-autofill, body input.form-control:-webkit-autofill:hover, body input.form-control:-webkit-autofill:focus, body input.form-control:-webkit-autofill:active, body select.form-control:-webkit-autofill, body select.form-control:-webkit-autofill:hover, body select.form-control:-webkit-autofill:focus, body select.form-control:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 30px white inset !important;
}

.form-control {
  border-radius: 0;
  border: none;
  border-bottom: 1px solid #aaa;
  height: calc(2.9375rem + 1px);
  padding: 0.375rem 0.3125rem;
  margin-bottom: 1.0625rem;
  font-weight: 300;
}
.form-control:focus {
  outline: none;
  color: unset;
  background-color: #fff;
  border-color: #1D1D1B !important;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.form-control.is-invalid:not(.coupon-code-field) {
  margin-bottom: 0.3125rem;
}
.form-control.is-invalid:focus, .form-control.is-invalid:focus-visible {
  border-color: #CF0000 !important;
}

select.form-control {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  padding-right: 30px;
}
select.form-control.disabled {
  background-color: #f0f0f0;
  cursor: not-allowed;
  opacity: 0.75;
}

select.form-control, select.form-control.is-invalid {
  padding-left: 0.3125rem;
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="22" viewBox="0 0 24 22" fill="none"><path d="M19 9L12 16L5 9" stroke="%2317191F" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  background-size: 22px;
  background-repeat: no-repeat;
  background-position: right 0.3125rem center;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
select.form-control option:hover, select.form-control.is-invalid option:hover {
  background-color: #1D1D1B;
  color: #fff;
}

.floating-label {
  font-size: 0.875rem;
  background: white;
  color: #1D1D1B;
  margin-bottom: 0;
  padding-left: 0.3125rem;
}

.form-row .form-control {
  margin-bottom: 0;
}

.form-row .form-control-label {
  left: 0.375rem;
}

.required-message {
  margin: 10px 0;
}

.invalid-feedback {
  position: relative;
  color: #CF0000;
  padding-left: 15px;
}
.invalid-feedback::before {
  content: "";
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="15" viewBox="0 0 14 15" fill="none"><path d="M12.01 0L6.71 5.74167L1.42 0L0 1.53833L5.3 7.26917L0 13L1.42 14.5383L6.71 8.79667L12.01 14.5383L13.42 13L8.13 7.26917L13.42 1.53833L12.01 0Z" fill="%23CF0000"/></svg>');
  background-size: 10px;
  position: absolute;
  top: 5px;
  left: 0;
  width: 10px;
  height: 10px;
}

.custom-control-input:focus ~ .custom-control-label::before {
  box-shadow: none;
  -webkit-box-shadow: none;
}

.custom-checkbox .custom-control-label::before {
  background: none;
}

.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e");
  background-color: #595959;
  border-radius: 0.1875rem;
}

.hideShowPassword-wrapper {
  position: relative;
}
.hideShowPassword-wrapper .hideShowPassword-toggle {
  position: absolute;
  right: 0;
  top: 18px;
  border: none;
  display: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #595959;
}
.hideShowPassword-wrapper .hideShowPassword-toggle .icon-hide-psw {
  display: none;
}
.hideShowPassword-wrapper .hideShowPassword-toggle.show-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.hideShowPassword-wrapper .hideShowPassword-toggle.show-psw .icon-hide-psw {
  display: block;
}
.hideShowPassword-wrapper .hideShowPassword-toggle.show-psw .icon-show-psw {
  display: none;
}

.state-field-hidden {
  visibility: hidden;
  pointer-events: none;
}

.contact-us-banner {
  background-image: url("../images/contact-us.jpg");
  background-position-y: 20%;
}

.contact-us-signup-message {
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  position: fixed;
  top: 15%;
  left: 50%;
  z-index: 99999;
}

.contact-us-signup-alert {
  -webkit-animation: fade 5s linear forwards;
          animation: fade 5s linear forwards;
  -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1);
  padding: 2rem;
  border-radius: 6px;
  font-size: 1.125rem;
}
.contact-us-signup-alert.alert-success {
  background-color: #fff;
  border: 1px solid #1D1D1B;
  color: #1D1D1B;
}
.contact-us-signup-alert.alert-success::after {
  content: "";
  display: inline-block;
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><path d="M4 12.0001L8.94975 16.9499L19.5563 6.34326" stroke="%231D1D1B" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  background-size: 20px;
  background-repeat: no-repeat;
  width: 20px;
  height: 20px;
  margin-left: 10px;
  vertical-align: middle;
}
.contact-us-signup-alert.alert-danger {
  background-color: #fff;
  border: 1px solid #CF0000;
  color: #CF0000;
}
.contact-us-signup-alert.alert-danger::after {
  content: "";
  display: inline-block;
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><path d="M21.5264 18.5L12.8661 3.5C12.4812 2.83333 11.519 2.83333 11.1341 3.5L2.47385 18.5C2.08895 19.1667 2.57007 20 3.33987 20H20.6604C21.4302 20 21.9113 19.1667 21.5264 18.5Z" stroke="%23CF0000" stroke-linecap="round" stroke-linejoin="round"/><path d="M13 16C13 16.5523 12.5523 17 12 17C11.4477 17 11 16.5523 11 16C11 15.4477 11.4477 15 12 15C12.5523 15 13 15.4477 13 16Z" fill="%23CF0000"/><path d="M12 13L12 9" stroke="%23CF0000" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  background-size: 20px;
  background-repeat: no-repeat;
  width: 20px;
  height: 20px;
  margin-left: 10px;
  vertical-align: middle;
  color: #CF0000;
}
@-webkit-keyframes fade {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fade {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.contact-us-signup-alert.show {
  display: block;
}
