@charset "UTF-8";
/* Start Nav */
    .navbar-vertical {
        background-color: var(--bs-primary);
        width: 100%;
        padding: .5rem;
        left: 0;
        overflow-y: auto;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        z-index: 100;
    }

        @media screen and (min-width: 992px) {
            .navbar-vertical {
                position: fixed;
                width: 20rem;
                height: 100vh;
                padding-top: 116px;
                top: 0;
                bottom: auto;
            }
            main.layout-ln-main {
                margin-left: 20rem;
                margin-bottom: 0;
            }
            .navbar-default {
                background: #fff!important;
            }
        }

    .navbar-vertical .navbar-menu {
        width: 100%;
        padding: 0;
        margin: 0; /* Overwrite Tailwind*/
        display: flex;
        flex-direction: column;
        gap: .5rem;
        list-style-type: none;
        overflow: auto;
    }
    .navbar-vertical .navbar-menu li {
        width: 100%;
        font-size: 1rem;
        line-height: 2rem;
        list-style: none;
    }

    .navbar-vertical .navbar-menu li a {
        background-color: transparent;
        border: transparent solid 2px;
        border-radius: 5px;
        color: #fff;
        text-decoration: none;
        display: flex;
        align-items: center;
        gap: .75rem;
        position: relative;
        padding: .625rem 1rem .625rem 1.5rem;
        box-sizing: border-box;
        text-wrap: pretty;
    }

    .navbar-vertical .navbar-menu li a:hover, .navbar-vertical .navbar-menu li a:focus, .navbar-vertical .navbar-menu li a:focus-visible {
        border: var(--bs-light) solid 2px;
    }

    .navbar-vertical .navbar-menu li a:focus, .navbar-vertical .navbar-menu li a:focus-visible {
        border: var(--bs-light) solid 2px;
    }

    .navbar-vertical a.nav-link.active {
        background-color: var(--bs-light);
        color: var(--bs-dark);
    }

    .navbar-vertical a.nav-link.active:hover, .navbar-vertical a.nav-link.active:focus, .navbar-vertical a.nav-link.active:focus-visible {
        background-color: transparent;
        color: #fff;
    }

    /* Hide toggle on large screens */
    .navbar-vertical-menu-toggle {
        display: none;
        background-color: var(--bs-primary);
        color: white;
        padding: 0.75rem 1rem;
        border: none;
        font-size: 1.25rem;
        width: 100%;
        text-align: right;
        padding-right: calc(17px + 5%);
        cursor: pointer;
    }
       .navbar-vertical-menu-toggle { 
            font-size: .875rem;
            line-height: 150%;
        }
        .navbar-vertical-menu-toggle .fa-bars {
            font-size: 2.15rem;
        }

        @media screen and (max-width: 991px) {
            .navbar-vertical-menu-toggle {
                display: flex;
                justify-content: space-between;
                align-items: center;
                gap: .75rem;
            }
            .navbar-vertical {
                display: none;
                position: relative;
                width: 100%;
                height: auto;
                top: auto;
                background-color: var(--bs-primary);
                padding-top: 0;
            }
            .navbar-vertical.show {
                display: flex;
            }
        }

    /* Main Nav Menu */
        .navbar-default .navbar-header .navbar-toggle {
            right: calc(17px + 5%)!important;
        }
        .navbar-items {
            display: flex;
            flex-direction: column;
            width: 100%;
            align-items: center;
        }
        @media screen and (min-width: 992px) {
            .navbar-items {
                flex-direction: row;
                width: fit-content;
            }
        }
        /* Override Compass Theme */
        .navbar-default .navbar-nav {
            position: relative;
            display: flex;
            align-items: center;
            justify-content: space-between;
            right: 0;
            top: 0;
            transform: none; 
            height: 100%;
        }

        /* Zone Login */
        #zone-login a.dropdown-toggle.navbar-link { padding-right: 2rem; }
        #zone-login b.fa.fa-caret-down { display: none; }
        #zone-login .dropdown-menu .divider { display: none; }
        #zone-login .dropdown-menu { 
            padding: .75rem;
            right: 0;
            left: inherit; 
        }
        #zone-login .dropdown-menu a:hover { border-radius: 5px;}

        @media screen and (max-width: 992px) {
            #zone-navlogo, #zone-nav, #zone-login {
                width: 100%;
            }
            .navbar-default .navbar-header .navbar-brand {
                padding: 10px 10px 10px 13px;
            }
            .navbar-default .navbar-nav {
               margin-bottom: 0;
            }
            #zone-login a.dropdown-toggle.navbar-link { display: flex; }
            
            #mainNav {
                overflow: auto;
                -ms-overflow-style: none;  /* IE and Edge */
                scrollbar-width: none;     /* Firefox */  
            }
        }
        @media screen and (min-width: 992px) {
            #zone-login {
                margin-right: 1rem;
            }
        }
        @media screen and (min-width: 1200px) {
            #zone-login {
                margin-right: 2rem;
            }
        }
        @media screen and (min-width: 1440px) {
            #zone-login {
                margin-right: 3rem;
            }
        }
    
/* End Nav */
/* Start Screen Reader Focus */
    /* Make it visible when focused (e.g., by keyboard tabbing) */
    .sr-only-focusable:active,
    .sr-only-focusable:focus {
    position: static;
    width: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    clip: auto;
    white-space: normal;
    background-color: var(--bs-dark);
    color: white;
    padding: 0.75rem 1.25rem;
    text-decoration: none;
    z-index: 1000;
    display: inline-block;
    }
/* End Screen Reader Focus */