/* Global Accessibility Overrides for RFH */

/* Screen reader only content */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Skip to main content link - hidden until focused by keyboard */
.skip-link {
    position: absolute;
    left: -9999px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
    z-index: -999;
}
.skip-link:focus {
    position: fixed;
    top: 10px;
    left: 10px;
    width: auto;
    height: auto;
    overflow: visible;
    z-index: 9999;
    padding: 10px 20px;
    background-color: #167483;
    color: #ffffff;
    font-size: 16px;
    font-weight: bold;
    text-decoration: none;
    border-radius: 4px;
    outline: 3px solid #ffffff;
    outline-offset: 2px;
}

/* Error texts and mandatory markers B14, etc. */
span[style*="color:Red"], .text-danger, .mand {
    color: #D10000 !important;
}

/* Header Main Menu & Top Links */

.home-contentarea1 {
    background-color: #fff !important;
}

/*.top-links-wrap {
    background-color: #167483 !important;
}*/

.top-links-wrap ul li a {
    color: #ffffff !important;
}

/* Header Nav Hover / Focus States */
    .top-links-wrap ul li a:hover,
    .top-links-wrap ul li a:focus {
        border: 2px solid #000 !important;
        border-radius: 5px !important;
        outline-offset: 1px !important;
    }

/* Dropdown Menu (Profile) */
.dropdown ul, .dropdown {
    background-color: #ffffff !important;
}
.dropdown ul li a {
    color: #000000 !important;
}

/* Dropdown Menu Hover/Selected (Profile, Logout) B20 */
    .dropdown ul li a:hover,
    .dropdown ul li a:focus {
        background-color: #B15910 !important;
        color: #ffffff !important;
    }

/* Form fields static borders B30 - excludes hero search bar inputs which are borderless by design */
.login-input {
    border: 1px solid #000 !important;
    background-color: #ffffff !important;
}

/* Form fields hover states */


/* Form fields focus states - custom textbox borders removed per request */
select:not(.gl-directory-input):focus {
    outline: 2px solid #000 !important;
    outline-offset: -2px;
}

/* Hero search bar inputs (index/standalone pages) - only show indicator on hover/focus */
.gl-directory-input {
    border: 0 !important;
    background-color: transparent !important;
    outline: none !important;
}
.gl-directory-input:hover {
    background-color: #f0f0f0 !important;
    border-bottom: 2px solid #167483 !important;
}
.gl-directory-input:focus {
    background-color: #f0f0f0 !important;
    outline: 2px solid #167483 !important;
    outline-offset: -2px !important;
}



/* =====================================================
   Index / Standalone pages - Side Panel Login Form
   Contrast fixes (WCAG AA compliance)
   ===================================================== */

/* Login form input fields: replace near-invisible #eeeeee border with visible border */
.login-input {
    border: 1px solid #767676 !important;
}

    .login-input:focus {
        border: 2px solid #000 !important;
        outline-offset: 1px !important;
    }
    .login-input.input:hover {
        border: 2px solid #000 !important;
        outline-offset: 1px !important;
    }

/* Login button hover/focus: deeper shade of the same dark amber gold */
.gl-side-menu-widget-wrap .gl-login-form button:hover,
.gl-side-menu-widget-wrap .gl-login-form .button:hover,
.gl-side-menu-widget-wrap .gl-login-form button:focus,
.gl-side-menu-widget-wrap .gl-login-form .button:focus {
    color: #ffffff !important;
    border: 2px solid #000 !important;
    outline-offset: 1px !important;
}

/* Search button on index/standalone pages: ensure dark background for contrast */
.gl-hero-img-wrapper .gl-directory-searchbar form button,
.gl-hero-img-wrapper .gl-directory-searchbar form .searchbutton,
.gl-about-page-header-wrapper .gl-directory-searchbar form .searchbutton {
    background-color: #167483 !important;
    color: #ffffff !important;
}

/* Forgot Password / Sign Up links in login panel */
.gl-side-menu-widget-wrap .gl-other-options a {
    color: #555555 !important;
}

    .gl-side-menu-widget-wrap .gl-other-options a:focus {
        border:1px solid #000 !important;
    }

    .gl-side-menu-widget-wrap .gl-other-options a:hover {
        border: 1px solid #000 !important;
    }

/* Google login button: original #dd4b39 darkened to #B5301F for WCAG AA (6.1:1 with white) */
/* .btnSignUpGoogle text color #C93522 added by user is already accessible (5.03:1) */
.gcolor {
    background-color: #D10000 !important;
    color: #ffffff !important;
}
.gcolor:hover,
.gcolor:focus {
    background-color: #8C2517 !important;
    color: #ffffff !important;
}

.gl-add-post-btn {
    color: #B05A1C !important;
}

/* Ensure Footer Background is Explicitly White */
footer, #footer {
    background-color: #ffffff !important;
}


/* Keep skip-link highly visible against its teal active background */
.skip-link:focus {
    outline: 3px solid #ffffff !important;
    outline-offset: 2px;
}

.gl-add-post-btn:focus {
    border: 2px solid black !important;
    outline-offset: 1px !important;
}
.gl-add-post-btn:hover {
    border: 2px solid black !important;
    outline-offset: 1px !important;
}

.searchbutton:focus {
    border: 2px solid black !important;
    outline-offset: 1px !important;
}

.searchbutton:hover {
    border: 2px solid black !important;
    outline-offset: 1px !important;
}

@media(min-resolution: 2dppx) {
    .navbar-brand {
        height: auto !important;
    }
}

@media(min-resolution: 4dppx) {
    #gl-slogan {
        margin-top: 74px !important;
        font-size: 16px !important;
    }

    .gl-hero-img-wrapper .container .gl-elements-content-wrapper .gl-directory-searchbar form fieldset .select {
        font-size: 9px;
    }
}

@media(min-resolution: 4dppx) {
    .modal-header {
        padding: 0px !important;
    }

        .modal-header h2 {
            font-size: 10px !important;
        }

    .alert-content p {
        font-size: 8px !important;
        line-height: 12px !important;
    }

    .modal-footer {
        align-items: center;
        justify-content: center;
        display: flex;
    }
}
 



