/* Mobile menu fix - ensures burger menu works on mobile devices */

/* ========== MOBILE STYLES (max-width: 780px) ========== */
@media only screen and (max-width: 780px) {
    /* Show mobile header bar */
    .wsmobileheader {
        display: block !important;
        position: relative !important;
        top: 0 !important;
        right: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 52px !important;
        background: transparent !important;
        -webkit-transition: all 0.4s ease-in-out !important;
        transition: all 0.4s ease-in-out !important;
    }

    /* Show burger icon */
    #wsnavtoggle,
    .animated-arrow {
        display: block !important;
        position: fixed !important;
        left: 15px !important;
        top: 15px !important;
        z-index: 10002 !important;
        padding: 0 !important;
        margin: 0 !important;
        cursor: pointer !important;
    }

    /* Sidebar menu - hidden by default */
    .wsmenu {
        width: 240px !important;
        left: -240px !important;
        height: 100% !important;
        position: fixed !important;
        top: 0 !important;
        margin: 0 !important;
        background-color: #fff !important;
        z-index: 103 !important;
        -webkit-transition: all 0.4s ease-in-out !important;
        transition: all 0.4s ease-in-out !important;
    }

    /* Sidebar visible when open */
    .wsoffcanvasopener .wsmenu {
        left: 0px !important;
    }

    /* Move burger when open */
    .wsoffcanvasopener .animated-arrow {
        left: 240px !important;
    }

    /* Dark overlay background */
    #overlapblackbg {
        left: 0 !important;
        z-index: 102 !important;
        width: 100% !important;
        height: 100% !important;
        position: fixed !important;
        top: 0 !important;
        display: none !important;
        background-color: rgba(0, 0, 0, 0.45) !important;
        cursor: pointer !important;
    }

    .wsoffcanvasopener #overlapblackbg {
        display: block !important;
    }

    /* Menu list in sidebar */
    .wsmenu .wsmenu-list {
        height: 100% !important;
        overflow-y: auto !important;
        display: block !important;
        text-align: left !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Force black text on mobile menu items */
    .wsmenu .wsmenu-list li a,
    .wsmenu .wsmenu-list > li > a,
    .mobile-sub.wsmenu-list li a,
    .mobile-sub.wsmenu-list > li > a {
        color: #000 !important;
    }

    /* Mobile header bar - matches Joomla original .smallogo */
    .menu-responsive {
        width: 100% !important;
        display: block !important;
        text-align: center !important;
        padding-top: 9px !important;
        position: fixed !important;
        z-index: 101 !important;
        height: 52px !important;
        background: #034280 !important;
        -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5) !important;
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5) !important;
    }

    /* Override main.css z-index:0 */
    .menu-responsive {
        z-index: 101 !important;
    }

    .wsmenu .wsmenu-list > li {
        width: 100% !important;
        display: block !important;
        float: none !important;
        border-right: none !important;
        text-align: left !important;
        position: relative !important;
        white-space: inherit !important;
    }

    .wsmenu > .wsmenu-list > li > a {
        padding: 9px 32px 9px 17px !important;
        font-size: 14px !important;
        text-align: left !important;
        border-right: solid 0px !important;
        background-color: transparent !important;
        color: #666666 !important;
        line-height: 25px !important;
        border-bottom: 1px solid rgba(0, 0, 0, 0.13) !important;
        position: static !important;
        display: block !important;
    }

    /* Burger icon lines - white on blue header */
    .animated-arrow span,
    .animated-arrow span:before,
    .animated-arrow span:after {
        cursor: pointer !important;
        height: 3px !important;
        width: 23px !important;
        background: #fff !important;
        position: absolute !important;
        display: block !important;
        content: '' !important;
    }

    .animated-arrow span:before {
        top: -7px !important;
    }

    .animated-arrow span:after {
        bottom: -7px !important;
    }

    /* When open - X shape */
    .wsoffcanvasopener .animated-arrow span {
        background-color: transparent !important;
    }

    .wsoffcanvasopener .animated-arrow span:before {
        top: 7px !important;
        transform: rotate(45deg) !important;
    }

    .wsoffcanvasopener .animated-arrow span:after {
        bottom: -7px !important;
        transform: rotate(-45deg) !important;
    }
}

/* ========== DESKTOP STYLES (min-width: 781px) ========== */
@media only screen and (min-width: 781px) {
.navilink-sticky {
    position: -webkit-sticky;
    position: sticky;
    top: 20px;
    z-index: 10;
}

.wsmobileheader {
    display: none !important;
}

    #wsnavtoggle.animated-arrow {
        display: none !important;
    }

    .wsmenu {
        position: relative !important;
        width: 100% !important;
        left: auto !important;
        height: auto !important;
        background-color: transparent !important;
    }

    .wsmenu .wsmenu-list > li {
        display: table-cell !important;
        text-align: center !important;
        width: auto !important;
    }

}
