.is-invalid ~ .invalid-feedback,
.is-invalid ~ .invalid-tooltip,
.was-validated :invalid ~ .invalid-feedback,
.was-validated :invalid ~ .invalid-tooltip {
    display: block
}

.form-control.is-invalid,
.was-validated .form-control:invalid {
    border-color: #ea5455
}

.dark-style .form-control.is-invalid,
.dark-style .was-validated .form-control:invalid {
    border-color: #ea5455 !important
}

.form-control.is-invalid:focus,
.was-validated .form-control:invalid:focus {
    border-color: #ea5455;
    box-shadow: 0 0 .25rem .05rem rgba(234, 84, 85, .1)
}

.form-select.is-invalid,
.was-validated .form-select:invalid {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m5 7.5 5 5 5-5' stroke='%236f6b7d' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='m5 7.5 5 5 5-5' stroke='%23fff' stroke-opacity='.2' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"), url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' fill='none' stroke='%23ea5455'%3E%3Ccircle cx='6' cy='8' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 5.4h.4L6 8.5z'/%3E%3Ccircle cx='6' cy='10.3' r='.6' fill='%23ea5455' stroke='none'/%3E%3C/svg%3E");
    background-position: right .875rem center, center right 2.45rem;
    border-color: #ea5455
}

.form-select.is-invalid:focus,
.was-validated .form-select:invalid:focus {
    border-color: #ea5455;
    box-shadow: 0 0 .25rem .05rem rgba(234, 84, 85, .1)
}

.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
    margin-left: -1px
}

.form-check-input.is-invalid,
.was-validated .form-check-input:invalid {
    border-color: #ea5455
}

.form-check-input.is-invalid:checked,
.was-validated .form-check-input:invalid:checked {
    background-color: #ea5455;
    border-color: #ea5455
}

.form-check-input.is-invalid:focus,
.was-validated .form-check-input:invalid:focus {
    border-color: #ea5455;
    box-shadow: 0 0 .25rem .05rem rgba(234, 84, 85, .1)
}

.form-check-input.is-invalid ~ .form-check-label,
.was-validated .form-check-input:invalid ~ .form-check-label {
    color: #ea5455
}

.input-group .form-control.is-invalid ~ .input-group-text,
.was-validated .input-group .form-control:invalid ~ .input-group-text {
    border-color: #ea5455
}

.input-group .form-control.is-invalid:focus,
.was-validated .input-group .form-control:invalid:focus {
    border-color: #ea5455;
    box-shadow: none
}

.input-group .form-control.is-invalid:focus ~ .input-group-text,
.was-validated .input-group .form-control:invalid:focus ~ .input-group-text {
    border-color: #ea5455
}

.input-group .form-control.is-invalid,
.input-group .form-select.is-invalid,
.was-validated .input-group .form-control:invalid,
.was-validated .input-group .form-select:invalid {
    z-index: 3
}

form .invalid,
form .is-invalid .invalid:before,
form .is-invalid:before {
    border-color: #ea5455 !important
}

form .form-label.invalid,
form .form-label.is-invalid {
    border-color: #ea5455;
    box-shadow: 0 0 0 2px rgba(234, 84, 85, .4) !important
}

form select.is-invalid ~ .select2 .select2-selection,
form select.selectpicker.is-invalid ~ .btn {
    border-color: #ea5455 !important
}

.switch-input.invalid ~ .invalid-feedback,
.switch-input.invalid ~ .invalid-tooltip,
.switch-input.is-invalid ~ .invalid-feedback,
.switch-input.is-invalid ~ .invalid-tooltip,
.was-validated .switch-input:invalid ~ .invalid-feedback,
.was-validated .switch-input:invalid ~ .invalid-tooltip {
    display: block
}

.switch-input.invalid ~ .switch-toggle-slider,
.switch-input.is-invalid ~ .switch-toggle-slider,
.was-validated .switch-input:invalid ~ .switch-toggle-slider {
    border: 1px solid #ea5455 !important
}

.switch-input.invalid:checked ~ .switch-toggle-slider,
.switch-input.is-invalid:checked ~ .switch-toggle-slider,
.was-validated .switch-input:invalid:checked ~ .switch-toggle-slider {
    background: #ea5455;
    color: #fff
}

.switch-input.invalid:focus ~ .switch-toggle-slider,
.switch-input.is-invalid:focus ~ .switch-toggle-slider,
.was-validated .switch-input:invalid:focus ~ .switch-toggle-slider {
    box-shadow: 0 0 .25rem .05rem rgba(234, 84, 85, .4)
}

.switch-input.invalid:active ~ .switch-toggle-slider,
.switch-input.is-invalid:active ~ .switch-toggle-slider,
.was-validated .switch-input:invalid:active ~ .switch-toggle-slider {
    box-shadow: none
}

.input-group-merge.disabled > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
    margin-left: 0 !important
}

.invalid-feedback {
    color: #ea5455;
    display: none;
    margin-top: .25rem;
    width: 100%
}

.form-check-inline .form-check-input ~ .invalid-feedback {
    margin-left: .5em
}

.switch .invalid-feedback,
.switch .valid-feedback {
    padding-left: .5rem
}

.switch-input.invalid ~ .invalid-feedback,
.switch-input.invalid ~ .invalid-tooltip,
.switch-input.is-invalid ~ .invalid-feedback,
.switch-input.is-invalid ~ .invalid-tooltip,
.was-validated .switch-input:invalid ~ .invalid-feedback,
.was-validated .switch-input:invalid ~ .invalid-tooltip {
    display: block
}
