/* Large font */
html.large-font {
    font-size: 150%;
}

.font-icon-off,
.font-icon-on {
    display: none;
}

html.large-font .font-icon-on {
    display: inline;
}

html:not(.large-font) .font-icon-off {
    display: inline;
}

/* High contrast */
html.high-contrast {
    --bs-body-bg: #121212;
    --bs-body-color: #f8f9fa;

    --bs-light: #e0e0e0;
    --bs-dark: #000000;

    --bs-light-rgb: #000000;
    --bs-black-rgb: #ffffff;

    --bs-white: #000000;
    --bs-black: #ffffff;

    --bs-emphasis-color: #ffffff;

    --bs-box-shadow-lg: 0 1rem 3rem rgba(255, 255, 255, 0.05);
}

html.high-contrast header {
    background-image: none !important;
}

html.high-contrast nav {
    background-color: #252424 !important;
}

html.high-contrast nav .nav-link {
    --bs-nav-link-color: #d3d3d3 !important;
    --bs-navbar-active-color: #ffffff !important;
    --bs-nav-link-hover-color: #eaeaea !important;
}

html.high-contrast nav .btn-outline-dark,
html.high-contrast nav .navbar-toggler-icon,
html.high-contrast a[target=_blank] {
    filter: invert(100%);
}

html.high-contrast header img,
html.high-contrast form .form-control {
    color: #000000;
    background-color: #ffffff;
}

html.high-contrast .accordion-button:not(.collapsed) {
    color: #ffffff !important;
    background-color: #dee2e637;
}

html.high-contrast .accordion-item {
    background: #000000 !important;
    border: 1px solid #dee2e6ab;
    border-radius: 0.75rem;
    margin-bottom: 15px;
}

.contrast-icon-off,
.contrast-icon-on {
    display: none;
}

html.high-contrast .contrast-icon-on {
    display: inline;
}

html:not(.high-contrast) .contrast-icon-off {
    display: inline;
}