
:root {
    /*Possible values for --a11y-focus-color:*/
    /* Light Indicator #007BFF */
    /* Used by Accessibility Plugin #0848ca */
    --a11y-focus-color: #0848ca;

    --a11y-navbar-focus-color: #ffffff;

    --a11y-focus-border: 4px;

    --a11y-primary-color: #095299;
    --a11y-primary-dark-color: #073e73;
    --a11y-primary-light-color: #3a78b7;
}

.modal-dialog.modal-notify.modal-info .modal-header {
    background-color: var(--a11y-primary-color);
}

a.bg-primary, button.bg-primary, .btn-primary, .primary-color, .bg-primary, .btn-info {
    background-color: var(--a11y-primary-color) !important;
}

a i.fa-arrow-up {
    color: var(--a11y-primary-color) !important;
}

a i.fa-arrow-up:hover {
    color: var(--a11y-primary-light-color) !important;
}

a.nav-link:hover {
    background-color: var(--a11y-primary-color) !important;
}

a.nav-link:hover, .navbar-nav button.btn-link:hover, .btn-info:hover {
    background-color: var(--a11y-primary-light-color) !important;
    transition: background-color 0.3s ease;
}

a.bg-primary:hover, a.bg-primary:focus, button.bg-primary:hover, button.bg-primary:focus, .btn-primary:hover {
    background-color: var(--a11y-primary-light-color) !important;
}

.navbar.navbar-dark .navbar-nav .nav-item.active > .nav-link {
    background-color: var(--a11y-primary-light-color) !important;
}

.btn-primary:focus, .btn-info:focus, .btn-outline-info:focus, .btn-success:focus {
    /*box-shadow: inset 0 0 0 var(--a11y-focus-border) var(--a11y-focus-color);*/
    box-shadow: 0 0 0 calc(var(--a11y-focus-border) - 2px) white,
    0 0 0 calc(var(--a11y-focus-border) + 2px) var(--a11y-focus-color);
}

.btn-danger:focus {
    box-shadow: 0 0 0 calc(var(--a11y-focus-border) - 2px) white,
    0 0 0 calc(var(--a11y-focus-border) + 2px) #ff3547;
}

.pagination .page-item .page-link:focus {
    box-shadow: inset 0 0 0 var(--a11y-focus-border) var(--a11y-focus-color);
}

.pagination .page-item.active:focus-visible {
    box-shadow: 0 0 0 calc(var(--a11y-focus-border) - 2px) white,
    0 0 0 calc(var(--a11y-focus-border) + 2px) var(--a11y-focus-color);
}

.dropdown-item:hover {
    box-shadow: none !important;
}

/* Inputs */
.form-control:focus {
    border-color: transparent;
    outline: 3px solid var(--a11y-focus-color);
    outline-offset: 0;
    border-radius: 4px;
}

/*Custom Checkbox*/
.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
    border-color: var(--a11y-focus-color);
}

.custom-control-input:focus ~ .custom-control-label::before {
    box-shadow: 0 0 0 .2rem var(--a11y-focus-color);
}

/*Custom select*/
.custom-select:focus {
    border-color: var(--a11y-focus-color);
    outline: 0;
    box-shadow: 0 0 0 .2rem var(--a11y-focus-color);
}

/*Basic CKEditor */
.ck.ck-editor__main > .ck-focused {
    border-color: transparent !important;
    outline: 3px solid var(--a11y-focus-color) !important;
    border-radius: 4px !important;
}

/* Navbar button */
.navbar-nav button.btn-link:focus, .navbar-nav .nav-link:focus, .navbar .navbar-brand:focus {
    box-shadow: inset 0 0 0 var(--a11y-focus-border) var(--a11y-navbar-focus-color);
    outline: 0;
}

.nav-item:focus-within .nav-link {
    box-shadow: inset 0 0 0 var(--a11y-focus-border) var(--a11y-navbar-focus-color);
    outline: 0;
}

li.dropdown-submenu.show > a{
    background-color: var(--a11y-primary-light-color) !important;
}

.navbar.navbar-dark .navbar-nav .nav-item.active > .nav-link {
    box-shadow: inset 0 0 0 0 var(--a11y-navbar-focus-color);
    transition: all 0.2s ease-in-out;
    outline: 0;
}

.navbar.navbar-dark .navbar-nav .nav-item.active > .nav-link:focus {
    box-shadow: inset 0 0 0 var(--a11y-focus-border) var(--a11y-navbar-focus-color);
}

.form-control:focus, .btn-primary:focus, .btn-info:focus, .btn-outline-info:focus, .btn-success:focus,
.ck.ck-editor__main > .ck-focused,
.custom-select:focus {
    transition: outline 0.1s ease-in-out, box-shadow 0.1s ease-in-out;
}

/* Accessibility Menu */
button.asw-btn:focus {
    box-shadow: inset 0 0 0 var(--a11y-focus-border) var(--a11y-focus-color);
}

a.asw-menu-btn:focus {
    box-shadow: 0 0 0 8px white, 0 0 0 12px var(--a11y-focus-color);
    transition: outline 0.1s ease-in-out, box-shadow 0.1s ease-in-out;
}
