a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible,
[role="button"]:focus-visible,
[role="link"]:focus-visible,
[role="tab"]:focus-visible,
[role="option"]:focus-visible,
[role="menuitem"]:focus-visible,
[role="checkbox"]:focus-visible,
[role="radio"]:focus-visible,
.btn:focus-visible,
.form-control:focus-visible,
.custom-select:focus-visible,
.select2-selection:focus-visible,
.nav-link:focus-visible,
.dropdown-item:focus-visible,
.page-link:focus-visible {
    outline: 3px solid #005fcc !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 1px #ffffff !important;
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus,
[tabindex]:focus,
.btn:focus,
.form-control:focus,
.custom-select:focus {
    outline: 3px solid #005fcc;
    outline-offset: 2px;
}

a:focus,
a:focus-visible,
a:hover {
    text-decoration: underline !important;
}

body:not(.high-contrast) .checkbox > input:focus-visible ~ span,
body:not(.high-contrast) .radio > input:focus-visible ~ span,
body:not(.high-contrast) .checkbox-inline > input:focus-visible ~ span,
body:not(.high-contrast) .radio-inline > input:focus-visible ~ span,
body:not(.high-contrast) .custom-control-input:focus-visible ~ .custom-control-label::before {
    outline: 3px solid #005fcc !important;
    outline-offset: 2px !important;
}

body:not(.high-contrast) .btn-primary:focus-visible,
body:not(.high-contrast) .btn-primary:focus {
    background-color: #05436b !important;
    border-color: #05436b !important;
}

body:not(.high-contrast) .dropdown-item:focus,
body:not(.high-contrast) .dropdown-item:hover,
body:not(.high-contrast) .select2-results__option--highlighted {
    background-color: #005fcc !important;
    color: #ffffff !important;
}

body:not(.high-contrast) .text-muted,
body:not(.high-contrast) .text-black-50,
body:not(.high-contrast) small.text-muted,
body:not(.high-contrast) .form-text.text-muted {
    color: #5E6278 !important;
}

body:not(.high-contrast) .form-control::placeholder,
body:not(.high-contrast) .form-control::-webkit-input-placeholder,
body:not(.high-contrast) .form-control::-moz-placeholder,
body:not(.high-contrast) .form-control:-ms-input-placeholder,
body:not(.high-contrast) .form-control::-ms-input-placeholder,
body:not(.high-contrast) input::placeholder,
body:not(.high-contrast) textarea::placeholder {
    color: #5E6278 !important;
    opacity: 1 !important;
}

body:not(.high-contrast) .text-danger,
body:not(.high-contrast) .invalid-feedback,
body:not(.high-contrast) .field-validation-error,
body:not(.high-contrast) .validation-summary-errors,
body:not(.high-contrast) .error-message,
body:not(.high-contrast) span.error {
    color: #dd0b22 !important;
}

body:not(.high-contrast) .link2,
body:not(.high-contrast) .link2:visited {
    color: #0072A3 !important;
}

body:not(.high-contrast) .link2:hover,
body:not(.high-contrast) .link2:focus {
    color: #005a80 !important;
}

body:not(.high-contrast) .opacity-50,
body:not(.high-contrast) .opacity-60,
body:not(.high-contrast) .opacity-70 {
    opacity: 1 !important;
}

body:not(.high-contrast) .text-dark-25,
body:not(.high-contrast) .text-gray-500,
body:not(.high-contrast) .text-gray-600 {
    color: #5E6278 !important;
}

body:not(.high-contrast) .bg-light-danger,
body:not(.high-contrast) .bg-light-warning,
body:not(.high-contrast) .bg-light-info,
body:not(.high-contrast) .bg-light-success,
body:not(.high-contrast) .bg-light-primary {
    color: #212121 !important;
}

body:not(.high-contrast) .bg-light-danger .text-white,
body:not(.high-contrast) .bg-light-warning .text-white,
body:not(.high-contrast) .bg-light-info .text-white,
body:not(.high-contrast) .bg-light-success .text-white,
body:not(.high-contrast) .bg-light-primary .text-white {
    color: #212121 !important;
}

body:not(.high-contrast) .aside-menu .menu-link .menu-text,
body:not(.high-contrast) .wizard-step .wizard-label .wizard-desc,
body:not(.high-contrast) .nav-link.disabled,
body:not(.high-contrast) .menu-link.disabled {
    color: #5E6278 !important;
}

body:not(.high-contrast) .footer .text-muted,
body:not(.high-contrast) .footer a,
body:not(.high-contrast) .footer span {
    color: #5E6278 !important;
}

body:not(.high-contrast) .form-control,
body:not(.high-contrast) .custom-select,
body:not(.high-contrast) .input-group-text,
body:not(.high-contrast) .select2-container--default .select2-selection--single,
body:not(.high-contrast) .select2-container--default .select2-selection--multiple {
    border-color: #80809A !important;
}

body:not(.high-contrast) .separator,
body:not(.high-contrast) .separator.separator-dashed,
body:not(.high-contrast) .separator.separator-solid,
body:not(.high-contrast) hr {
    border-color: #80809A !important;
}

body:not(.high-contrast) .card,
body:not(.high-contrast) .card-header,
body:not(.high-contrast) .card-footer,
body:not(.high-contrast) .table td,
body:not(.high-contrast) .table th,
body:not(.high-contrast) .list-group-item,
body:not(.high-contrast) .modal-header,
body:not(.high-contrast) .modal-footer {
    border-color: #80809A !important;
}

body:not(.high-contrast) .checkbox > span,
body:not(.high-contrast) .radio > span,
body:not(.high-contrast) .custom-control-label::before {
    border: 1px solid #80809A !important;
}

body:not(.high-contrast) .scrolltop {
    background-color: #05436b !important;
    border: 1px solid #05436b !important;
}

body:not(.high-contrast) .scrolltop .svg-icon svg g [fill] {
    fill: #ffffff !important;
}

body:not(.high-contrast) .bg-light-danger .fa-check,
body:not(.high-contrast) .bg-light-danger .text-primary,
body:not(.high-contrast) .bg-light-danger .svg-icon svg g [fill] {
    color: #05436b !important;
    fill: #05436b !important;
}

main[tabindex="-1"]:focus,
main[tabindex="-1"]:focus-visible,
#mainContent:focus,
h1[tabindex="-1"]:focus,
h1[tabindex="-1"]:focus-visible,
[role="alert"][tabindex="-1"]:focus {
    outline: none !important;
    box-shadow: none !important;
}

.sr-only.sr-only-focusable:focus,
.sr-only.sr-only-focusable:focus-visible {
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: normal !important;
}

.a11y-disabled {
    pointer-events: none;
    opacity: 0.6;
}

body:not(.high-contrast) a[aria-disabled="true"],
body:not(.high-contrast) button[aria-disabled="true"] {
    color: #5E6278 !important;
    cursor: not-allowed;
}

body:not(.high-contrast) .required:after {
    content: '*' / '';
    color: #dd0b22;
}

body:not(.high-contrast) .required-indicator,
body:not(.high-contrast) .required-asterisk {
    color: #dd0b22;
}

.required[aria-hidden="true"]:after {
    content: '*' / '';
}

[role="status"],
[role="alert"],
[aria-live="polite"],
[aria-live="assertive"] {
    min-height: 1px;
}

body:not(.high-contrast) .btn-link:focus,
body:not(.high-contrast) .btn.btn-link:focus {
    text-decoration: underline !important;
}

body:not(.high-contrast) .text-dark-50 {
    color: #5E6278 !important;
}

body:not(.high-contrast) .text-success {
    color: #0E7C75 !important;
}

body:not(.high-contrast) .text-warning {
    color: #8A5A00 !important;
}

body:not(.high-contrast) .badge-success,
body:not(.high-contrast) .label.label-success {
    background-color: #0E7C75 !important;
    color: #ffffff !important;
}

body:not(.high-contrast) .badge-danger,
body:not(.high-contrast) .badge-primary,
body:not(.high-contrast) .label.label-danger,
body:not(.high-contrast) .label.label-primary {
    background-color: #dd0b22 !important;
    color: #ffffff !important;
}

body:not(.high-contrast) .badge-success .fa,
body:not(.high-contrast) .badge-danger .fa,
body:not(.high-contrast) .badge-primary .fa {
    color: #ffffff !important;
}

body:not(.high-contrast) .alert.alert-danger,
body:not(.high-contrast) .alert.alert-custom.alert-danger {
    background-color: #dd0b22 !important;
    border-color: #dd0b22 !important;
    color: #ffffff !important;
}

body:not(.high-contrast) .alert.alert-danger .alert-text,
body:not(.high-contrast) .alert.alert-danger .close i,
body:not(.high-contrast) .alert.alert-custom.alert-danger .alert-text,
body:not(.high-contrast) .alert.alert-custom.alert-danger .alert-icon i,
body:not(.high-contrast) .alert.alert-custom.alert-danger .close i {
    color: #ffffff !important;
    opacity: 1 !important;
}

body:not(.high-contrast) .alert.alert-danger a,
body:not(.high-contrast) .alert.alert-custom.alert-danger a {
    color: #ffffff !important;
    text-decoration: underline !important;
}
