.form__label {
    display: inline-block;
    width: 100%;
    margin-bottom: 0.3rem;
    font-weight: 600;
    color: #000;
}
.form__input ~ .error:not(.form__input):not(.form__select):not(.form__select-multi):not(.form__textarea),
.form__select ~ .error:not(.form__input):not(.form__select):not(.form__select-multi):not(.form__textarea),
.form__select-multi ~ .error:not(.form__input):not(.form__select):not(.form__select-multi):not(.form__textarea),
.form__textarea ~ .error:not(.form__input):not(.form__select):not(.form__select-multi):not(.form__textarea) {
    margin-top: 0.3rem;
    font-size: 90%;
    color: #c3141b;
}
.form__input + .error:not(.form__input):not(.form__select):not(.form__select-multi):not(.form__textarea) + .form__label,
.form__select + .error:not(.form__input):not(.form__select):not(.form__select-multi):not(.form__textarea) + .form__label,
.form__select-multi + .error:not(.form__input):not(.form__select):not(.form__select-multi):not(.form__textarea) + .form__label,
.form__textarea + .error:not(.form__input):not(.form__select):not(.form__select-multi):not(.form__textarea) + .form__label {
    margin-top: 2rem;
}
.form__message {
    margin-top: 0.3rem;
    font-size: 90%;
}
.form__message:not([hidden]) {
    display: block;
}
.form__message + .form__label {
    margin-top: 2rem;
}
.form__message--error {
    color: #c3141b;
}
.form__input,
.form__select,
.form__select-multi,
.form__textarea {
    display: inline-block;
    width: 100%;
    padding: 0.375rem 0.75rem;
    font-weight: 400;
    color: #333;
    background-color: #fff;
    border: 1px solid #e4e6ea;
    border-radius: 3px;
    color: #333;
}
.form__input + .form__label,
.form__input + fieldset,
.form__select + .form__label,
.form__select + fieldset,
.form__select-multi + .form__label,
.form__select-multi + fieldset,
.form__textarea + .form__label,
.form__textarea + fieldset {
    margin-top: 2rem;
}
.form__input.error,
.form__select.error,
.form__select-multi.error,
.form__textarea.error {
    background-color: #fdf3fa;
    border-color: #e01a22;
}
.form__input.success,
.form__select.success,
.form__select-multi.success,
.form__textarea.success {
    border-color: #5bb543;
}
.form__input:focus,
.form__select:focus,
.form__select-multi:focus,
.form__textarea:focus {
    border-color: #003777;
}
.form__textarea {
    max-width: 100%;
}
.form__input,
.form__select,
.form__select-multi--mobile {
    height: calc(2em + 0.75rem + 2px);
}
.form__input,
.form__select,
.form__select-multi--mobile {
    -o-appearance: none;
    -ms-appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.form__select::-ms-expand {
    display: none;
}
.form__select {
    padding-right: 2.5rem;
    background: #fff
        url("data:image/svg+xml,%3Csvg width='25' height='80' viewBox='0 0 25 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23f2f2f2' d='M0 0h25v80H0z'/%3E%3Cpath fill='%23003777' d='M13.93 44.67l4.74-4.74a1.13 1.13 0 0 0-1.6-1.6L13 42.4l-4.07-4.07a1.13 1.13 0 1 0-1.6 1.6l4.74 4.74s.86 1 1.86 0z'/%3E%3C/svg%3E")
        no-repeat right center/2.5rem auto;
}
@supports (-webkit-overflow-scrolling: touch) {
    .form__select-multi {
        -webkit-appearance: none;
        padding-right: 2.5rem;
        background: #fff
            url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25' height='80' viewBox='0 0 25 80'%3E%3Cpath d='M0 0h25v80H0V0z' fill='%23f2f2f2'/%3E%3Ccircle fill='%23003777' cx='6.5' cy='40' r='1.5'/%3E%3Ccircle fill='%23003777' cx='12.5' cy='40' r='1.5'/%3E%3Ccircle fill='%23003777' cx='18.5' cy='40' r='1.5'/%3E%3C/svg%3E")
            no-repeat right center/2.5rem auto;
    }
    .form__input,
    .form__select,
    .form__select-multi,
    .form__textarea {
        font-size: 1.6rem;
    }
}
fieldset + fieldset,
fieldset + label {
    margin-top: 2rem;
}
.form__radio,
.form__checkbox {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}
.form__radio-input,
.form__checkbox-input {
    margin: 0 0.5em 0 0;
}
.form__radio.right .form__radio-input,
.form__checkbox.right .form__radio-input,
.form__radio.right .form__checkbox-input,
.form__checkbox.right .form__checkbox-input {
    margin: 0 0 0 0.5em;
}
.form__radio-input + .form__label,
.form__checkbox-input + .form__label {
    margin-bottom: 0;
}
.form__password {
    position: relative;
}
.form__input--password {
    padding-right: 4rem;
}
.form__password-toggle:hover,
.form__password-toggle:focus {
    opacity: 1;
}
.form__password-toggle > span span:last-of-type {
    display: none;
}
.show-password .form__password-toggle > span span:last-of-type {
    display: block;
}
.show-password .form__password-toggle > span span:first-of-type {
    display: none;
}
.show-toggle .form__password-toggle {
    display: block;
}
.form-combobox {
    position: relative;
}
.form-combobox__listbox {
    position: relative;
    display: none;
    height: auto;
    max-height: 17.6em;
    overflow-y: auto;
    background-color: #fff;
    border: 1px solid #e4e6ea;
    border-top: 0;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
}
.form-combobox__listbox.is-expanded {
    display: block !important;
}
.form-combobox__listbox--overlay {
    position: absolute;
    left: 0;
    top: 100%;
    z-index: 1;
    width: 100%;
}
.form-combobox__option,
.form-combobox__option--no-results {
    padding: 0.5em 0.8em;
    margin: 0;
}
.form-combobox__option {
    cursor: pointer;
}
.form-combobox__option--no-results {
    cursor: not-allowed;
}
.form-combobox__option:hover,
.form-combobox__option[aria-selected="true"] {
    color: #fff;
    background-color: #003777;
}
