.valid-feedback {
    display: none;
    width: 100%;
    margin-top: .25rem;
    font-size: 80%;
    color: #22965880
}

.valid-tooltip {
    position: absolute;
    top: 100%;
    z-index: 5;
    display: none;
    max-width: 100%;
    padding: .25rem .5rem;
    margin-top: .1rem;
    font-size: .875rem;
    line-height: 1.5;
    color: #ffffff;
    background-color: rgba(40, 167, 69, .9);
    border-radius: .25rem
}

.is-valid,
.form-control.is-valid,
.was-validated .form-control:valid, input[type=checkbox].is-valid ~ label, .was-validated input[type=checkbox]:valid ~ label {
    border-color: #22965880 !important;
    padding-right: calc(1.5em + .75rem);
    background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgdmlld0JveD0iMCAwIDUwIDUwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MCA1MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6I0VGNEY0QTt9DQoJLnN0MXtmaWxsOiM4NEI4NEM7fQ0KCS5zdDJ7ZmlsbDojRkZCQzNEO30NCjwvc3R5bGU+DQo8Zz4NCgk8ZyBpZD0iZG9uZV8xXyI+DQoJCTxwb2x5Z29uIGNsYXNzPSJzdDEiIHBvaW50cz0iMTcuMiwzNiA2LjYsMjUuMyAzLDI4LjggMTcuMiw0My4xIDQ3LjcsMTIuNiA0NC4yLDkgCQkiLz4NCgk8L2c+DQo8L2c+DQo8L3N2Zz4NCg==");
    background-repeat: no-repeat;
    background-position: center right calc(.375em + .1875rem);
    background-size: calc(.75em + .375rem) calc(.75em + .375rem);
    min-height: 20px;
    vertical-align: middle;
}

.input_file_group .form-control.is-valid,
.was-validated .input_file_group .form-control:valid{
    background-position: center right calc(2em + .1875rem);
    padding-right: calc(3rem + .75rem);
} 

.form-control.is-valid:focus,
.was-validated .form-control:valid:focus {
    border-color: #22965880;
    box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .25)
}

.form-control.is-valid~.valid-feedback,
.form-control.is-valid~.valid-tooltip,
.was-validated .form-control:valid~.valid-feedback,
.was-validated .form-control:valid~.valid-tooltip {
    display: block
}

.was-validated textarea.form-control:valid,
textarea.form-control.is-valid {
    padding-right: calc(1.5em + .75rem);
    background-position: top calc(.375em + .1875rem) right calc(.375em + .1875rem)
}

.custom-control-input.is-valid ~ .custom-control-label::before, .was-validated .custom-control-input:valid ~ .custom-control-label::before {
    background-color: #e7e7e7;
}

.was-validated select{
	-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.custom-select.is-valid,
.was-validated .custom-select:valid {
    border-color: #22965880;
    padding-right: calc((1em + .75rem) * 3 / 4 + 1.75rem);
    background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgdmlld0JveD0iMCAwIDUwIDUwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MCA1MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6I0VGNEY0QTt9DQoJLnN0MXtmaWxsOiM4NEI4NEM7fQ0KCS5zdDJ7ZmlsbDojRkZCQzNEO30NCjwvc3R5bGU+DQo8Zz4NCgk8ZyBpZD0iZG9uZV8xXyI+DQoJCTxwb2x5Z29uIGNsYXNzPSJzdDEiIHBvaW50cz0iMTcuMiwzNiA2LjYsMjUuMyAzLDI4LjggMTcuMiw0My4xIDQ3LjcsMTIuNiA0NC4yLDkgCQkiLz4NCgk8L2c+DQo8L2c+DQo8L3N2Zz4NCg==") var(--coetus-white-1) no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)
}

.custom-select.is-valid:focus,
.was-validated .custom-select:valid:focus {
    border-color: #22965880;
    box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .25)
}

.custom-select.is-valid~.valid-feedback,
.custom-select.is-valid~.valid-tooltip,
.was-validated .custom-select:valid~.valid-feedback,
.was-validated .custom-select:valid~.valid-tooltip {
    display: block
}

.form-control-file.is-valid~.valid-feedback,
.form-control-file.is-valid~.valid-tooltip,
.was-validated .form-control-file:valid~.valid-feedback,
.was-validated .form-control-file:valid~.valid-tooltip {
    display: block
}

.form-check-input.is-valid~.form-check-label,
.was-validated .form-check-input:valid~.form-check-label {
    color: #22965880
}

.form-check-input.is-valid~.valid-feedback,
.form-check-input.is-valid~.valid-tooltip,
.was-validated .form-check-input:valid~.valid-feedback,
.was-validated .form-check-input:valid~.valid-tooltip {
    display: block
}

.custom-control-input.is-valid~.custom-control-label,
.was-validated .custom-control-input:valid~.custom-control-label {
    color: inherit; /*#22965880*/
}

.custom-control-input.is-valid~.custom-control-label::before,
.was-validated .custom-control-input:valid~.custom-control-label::before {
    border-color: #22965880
}

.custom-control-input.is-valid~.valid-feedback,
.custom-control-input.is-valid~.valid-tooltip,
.was-validated .custom-control-input:valid~.valid-feedback,
.was-validated .custom-control-input:valid~.valid-tooltip {
    display: block
}

.custom-control-input.is-valid:checked~.custom-control-label::before,
.was-validated .custom-control-input:valid:checked~.custom-control-label::before {
    border-color: var(--coetus-green-2);
    background-color: var(--coetus-green-2)
}

.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,
.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before {
    border-color: #22965880
}

.custom-file-input.is-valid~.custom-file-label,
.was-validated .custom-file-input:valid~.custom-file-label {
    border-color: #22965880
}

.custom-file-input.is-valid~.valid-feedback,
.custom-file-input.is-valid~.valid-tooltip,
.was-validated .custom-file-input:valid~.valid-feedback,
.was-validated .custom-file-input:valid~.valid-tooltip {
    display: block
}

.custom-file-input.is-valid:focus~.custom-file-label,
.was-validated .custom-file-input:valid:focus~.custom-file-label {
    border-color: #22965880;
    box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .25)
}

.invalid-feedback {
    display: none;
    width: 100%;
    margin-top: .25rem;
    font-size: 80%;
    color: #D33824
}

.invalid-tooltip {
    position: absolute;
    top: 100%;
    z-index: 5;
    display: none;
    max-width: 100%;
    padding: .25rem .5rem;
    margin-top: .1rem;
    font-size: .875rem;
    line-height: 1.5;
    color: #ffffff;
    background-color: rgba(220, 53, 69, .9);
    border-radius: .25rem
}

.is-invalid,
.form-control.is-invalid,
.was-validated .form-control:invalid, input[type=checkbox].is-invalid ~ label, .was-validated input[type=checkbox]:invalid ~ label {
    border-color: #D33824 !important;
    padding-right: calc(1.5em + .75rem);
    background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgdmlld0JveD0iMCAwIDUwIDUwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MCA1MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6I0VGNEY0QTt9DQoJLnN0MXtmaWxsOiM4NEI4NEM7fQ0KCS5zdDJ7ZmlsbDojRkZCQzNEO30NCjwvc3R5bGU+DQo8Zz4NCgk8ZyBpZD0iYmxvY2tfMV8iPg0KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMjUsMS41QzEyLjEsMS41LDEuNSwxMi4xLDEuNSwyNVMxMi4xLDQ4LjUsMjUsNDguNVM0OC41LDM3LjksNDguNSwyNVMzNy45LDEuNSwyNSwxLjV6IE02LjIsMjUNCgkJCUM2LjIsMTQuNywxNC43LDYuMiwyNSw2LjJjNC4yLDAsOC4yLDEuNCwxMS41LDRMMTAuMiwzNi41QzcuNiwzMy4yLDYuMiwyOS4yLDYuMiwyNXogTTI1LDQzLjhjLTQuMiwwLTguMi0xLjQtMTEuNS00bDI2LjMtMjYuMw0KCQkJYzIuNiwzLjMsNCw3LjMsNCwxMS41QzQzLjgsMzUuMywzNS4zLDQzLjgsMjUsNDMuOHoiLz4NCgk8L2c+DQo8L2c+DQo8L3N2Zz4NCg==") !important;
    background-repeat: no-repeat;
    background-position: center right calc(.375em + .1875rem);
    background-size: calc(.75em + .375rem) calc(.75em + .375rem);
    min-height: 20px;
    vertical-align: middle;
}

.input_file_group .form-control.is-invalid,
.was-validated .input_file_group .form-control:invalid{
    background-position: center right calc(2em + .1875rem);
    padding-right: calc(3rem + .75rem);
}

.form-control.is-invalid:focus,
.was-validated .form-control:invalid:focus {
    border-color: #D33824;
    box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .25)
}

.form-control.is-invalid~.invalid-feedback,
.form-control.is-invalid~.invalid-tooltip,
.was-validated .form-control:invalid~.invalid-feedback,
.was-validated .form-control:invalid~.invalid-tooltip {
    display: block
}

.was-validated textarea.form-control:invalid,
textarea.form-control.is-invalid {
    padding-right: calc(1.5em + .75rem);
    background-position: top calc(.375em + .1875rem) right calc(.375em + .1875rem)
}

.custom-select.is-invalid,
.was-validated .custom-select:invalid {
    border-color: #D33824;
    padding-right: calc((1em + .75rem) * 3 / 4 + 1.75rem);
    background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgdmlld0JveD0iMCAwIDUwIDUwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MCA1MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6I0VGNEY0QTt9DQoJLnN0MXtmaWxsOiM4NEI4NEM7fQ0KCS5zdDJ7ZmlsbDojRkZCQzNEO30NCjwvc3R5bGU+DQo8Zz4NCgk8ZyBpZD0iYmxvY2tfMV8iPg0KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMjUsMS41QzEyLjEsMS41LDEuNSwxMi4xLDEuNSwyNVMxMi4xLDQ4LjUsMjUsNDguNVM0OC41LDM3LjksNDguNSwyNVMzNy45LDEuNSwyNSwxLjV6IE02LjIsMjUNCgkJCUM2LjIsMTQuNywxNC43LDYuMiwyNSw2LjJjNC4yLDAsOC4yLDEuNCwxMS41LDRMMTAuMiwzNi41QzcuNiwzMy4yLDYuMiwyOS4yLDYuMiwyNXogTTI1LDQzLjhjLTQuMiwwLTguMi0xLjQtMTEuNS00bDI2LjMtMjYuMw0KCQkJYzIuNiwzLjMsNCw3LjMsNCwxMS41QzQzLjgsMzUuMywzNS4zLDQzLjgsMjUsNDMuOHoiLz4NCgk8L2c+DQo8L2c+DQo8L3N2Zz4NCg==") var(--coetus-white-1) no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)
}

.custom-select.is-invalid:focus,
.was-validated .custom-select:invalid:focus {
    border-color: #D33824;
    box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .25)
}

.custom-select.is-invalid~.invalid-feedback,
.custom-select.is-invalid~.invalid-tooltip,
.was-validated .custom-select:invalid~.invalid-feedback,
.was-validated .custom-select:invalid~.invalid-tooltip {
    display: block
}

.form-control-file.is-invalid~.invalid-feedback,
.form-control-file.is-invalid~.invalid-tooltip,
.was-validated .form-control-file:invalid~.invalid-feedback,
.was-validated .form-control-file:invalid~.invalid-tooltip {
    display: block
}

.form-check-input.is-invalid~.form-check-label,
.was-validated .form-check-input:invalid~.form-check-label {
    color: #D33824
}

.form-check-input.is-invalid~.invalid-feedback,
.form-check-input.is-invalid~.invalid-tooltip,
.was-validated .form-check-input:invalid~.invalid-feedback,
.was-validated .form-check-input:invalid~.invalid-tooltip {
    display: block
}

.custom-control-input.is-invalid~.custom-control-label,
.was-validated .custom-control-input:invalid~.custom-control-label {
    color: inherit; /*#D33824*/
}

.custom-control-input.is-invalid~.custom-control-label::before,
.was-validated .custom-control-input:invalid~.custom-control-label::before {
    border-color: #D33824
}

.custom-control-input.is-invalid~.invalid-feedback,
.custom-control-input.is-invalid~.invalid-tooltip,
.was-validated .custom-control-input:invalid~.invalid-feedback,
.was-validated .custom-control-input:invalid~.invalid-tooltip {
    display: block
}

.custom-control-input.is-invalid:checked~.custom-control-label::before,
.was-validated .custom-control-input:invalid:checked~.custom-control-label::before {
    border-color: var(--coetus-red-2);
    background-color: var(--coetus-red-2)
}

.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,
.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before {
    border-color: #D33824
}

.custom-file-input.is-invalid~.custom-file-label,
.was-validated .custom-file-input:invalid~.custom-file-label {
    border-color: #D33824
}

.custom-file-input.is-invalid~.invalid-feedback,
.custom-file-input.is-invalid~.invalid-tooltip,
.was-validated .custom-file-input:invalid~.invalid-feedback,
.was-validated .custom-file-input:invalid~.invalid-tooltip {
    display: block
}

.custom-file-input.is-invalid:focus~.custom-file-label,
.was-validated .custom-file-input:invalid:focus~.custom-file-label {
    border-color: #D33824;
    box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .25)
}

.custom-control-input.is-invalid ~ .custom-control-label::before, .was-validated .custom-control-input:invalid ~ .custom-control-label::before {
    background-color: #e7e7e7;
}

.needs-validation .form-control.is-invalid, .needs-validation .form-control.is-valid, .was-validated .form-control:invalid, .was-validated .form-control:valid{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}