/* =============================================
   RESPONSIVE LOGO & MENU - All Devices
   ============================================= */

/* ---- DESKTOP (>= 992px) ---- */
@media (min-width: 992px) {
    #logo {
        padding: 15px 0;
        text-align: left;
    }
    #logo #thelogo img {
        max-height: 80px;
        width: auto;
    }
    #logo a.brand {
        font-size: 32px;
    }
    #nav-main ul.sf-menu {
        float: right;
    }
    #nav-main ul.sf-menu > li > a {
        padding: 12px 18px;
        font-size: 15px;
        font-weight: 500;
        color: #333;
        transition: color 0.3s ease, background-color 0.3s ease;
    }
    #nav-main ul.sf-menu > li > a:hover {
        color: #2d5c88;
    }
    #nav-main ul.sf-menu > li.current-menu-item > a {
        color: #2d5c88;
    }
    #nav-main ul.sf-menu > li ul {
        min-width: 200px;
        border: 1px solid #eee;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
        border-radius: 4px;
        margin-top: 0;
    }
    #nav-main ul.sf-menu > li ul li a {
        padding: 10px 15px;
        font-size: 13px;
        color: #555;
        border-bottom: 1px solid #f5f5f5;
    }
    #nav-main ul.sf-menu > li ul li a:hover {
        background-color: #f8f9fa;
        color: #2d5c88;
    }
}

/* ---- TABLET (768px - 991px) ---- */
@media (max-width: 991px) and (min-width: 768px) {
    #logo {
        text-align: center;
        padding: 12px 0;
    }
    #logo #thelogo img {
        max-height: 60px;
        width: auto;
    }
    #logo a.brand {
        font-size: 26px;
    }
    .kad-header-left:not(.col-md-12) #logo {
        max-width: 100%;
    }
    .nav-trigger .nav-trigger-case {
        position: static;
        display: block;
        width: 100%;
        text-align: center;
        padding: 10px 0;
        border-top: 1px solid #eee;
        border-bottom: 1px solid #eee;
        background-color: #fff;
    }
    .nav-trigger-case .kad-menu-name {
        font-size: 18px;
        font-weight: 500;
        line-height: 44px;
        display: inline-block;
    }
    .nav-trigger-case .kad-navbtn {
        font-size: 22px;
        line-height: 44px;
        padding: 0 10px;
    }
    .kad-mobile-nav .kad-nav-inner {
        background-color: #fff;
    }
    .kad-mobile-nav .kad-nav-inner li a {
        font-size: 15px;
        padding: 12px 20px;
        color: #333;
        border-bottom: 1px solid #f0f0f0;
    }
    .kad-mobile-nav .kad-nav-inner li a:hover {
        background-color: #f8f9fa;
        color: #2d5c88;
    }
    .kad-mobile-nav .kad-nav-inner li ul.sf-dropdown-menu {
        margin-left: 20px;
    }
    .kad-mobile-nav .kad-nav-inner li ul.sf-dropdown-menu a {
        font-size: 14px;
        padding: 10px 20px;
        color: #666;
    }
    .kad-nav-inner .kad-mnav {
        padding: 15px;
    }
}

/* ---- MOBILE (< 768px) ---- */
@media (max-width: 767px) {
    #logo {
        text-align: center;
        padding: 10px 0;
        float: none;
        margin: 0 auto;
    }
    #logo #thelogo {
        display: flex;
        justify-content: center;
        align-items: center;
    }
    #logo #thelogo img {
        max-height: 50px;
        width: auto;
    }
    #logo a.brand {
        font-size: 22px;
        display: block;
        text-align: center;
    }
    .kad-header-left {
        float: none !important;
        width: 100% !important;
    }
    .kad-header-right {
        float: none !important;
        width: 100% !important;
    }
    .nav-trigger .nav-trigger-case {
        position: static;
        display: block;
        width: 100%;
        text-align: left;
        padding: 0;
        margin: 0;
    }
    .nav-trigger-case .kad-navbtn {
        display: block;
        float: left;
        font-size: 20px;
        line-height: 50px;
        padding: 0 15px;
    }
    .nav-trigger-case .kad-menu-name {
        display: block;
        font-size: 18px;
        font-weight: 500;
        line-height: 50px;
        padding: 0 15px 0 0;
    }
    .kad-mobile-nav .kad-nav-inner {
        background-color: #fff;
        padding: 0;
    }
    .kad-mobile-nav .kad-nav-inner li a {
        font-size: 16px;
        padding: 12px 20px;
        color: #333;
        border-bottom: 1px solid #f0f0f0;
        display: block;
    }
    .kad-mobile-nav .kad-nav-inner li a:hover,
    .kad-mobile-nav .kad-nav-inner li.current-menu-item > a {
        background-color: #f5f5f5;
        color: #2d5c88;
    }
    .kad-mobile-nav .kad-nav-inner li ul.sf-dropdown-menu {
        margin: 0 0 0 20px;
        list-style: none;
        padding: 0;
    }
    .kad-mobile-nav .kad-nav-inner li ul.sf-dropdown-menu a {
        font-size: 14px;
        padding: 10px 15px 10px 25px;
        color: #666;
        border-bottom: 1px solid #f5f5f5;
    }
    .kad-nav-inner .kad-mnav {
        padding: 10px 0;
        margin: 0;
    }
    .kad-mobile-nav .kad-nav-inner li .kad-submenu-accordion {
        position: absolute;
        right: 0;
        top: 0;
        width: auto;
        text-align: center;
        height: auto;
        padding: 12px 15px;
    }
    .kad-mobile-nav .kad-nav-inner li .kad-submenu-accordion i {
        font-size: 14px;
    }
    .belowlogo-text {
        text-align: center;
        font-size: 14px;
        color: #777;
        margin-top: 5px;
    }
}

/* ---- SMALL MOBILE (< 480px) ---- */
@media (max-width: 479px) {
    #logo {
        padding: 8px 0;
    }
    #logo #thelogo img {
        max-height: 40px;
        width: auto;
    }
    #logo a.brand {
        font-size: 18px;
    }
    .nav-trigger-case .kad-navbtn {
        font-size: 18px;
        line-height: 44px;
        padding: 0 12px;
    }
    .nav-trigger-case .kad-menu-name {
        font-size: 16px;
        line-height: 44px;
    }
    .kad-mobile-nav .kad-nav-inner li a {
        font-size: 15px;
        padding: 10px 15px;
    }
    .kad-mobile-nav .kad-nav-inner li ul.sf-dropdown-menu a {
        font-size: 13px;
        padding: 8px 15px 8px 20px;
    }
    .kad-nav-inner .kad-mnav {
        padding: 8px;
    }
}

/* ---- RETINA LOGO SUPPORT ---- */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    #logo .kad-standard-logo {
        display: none;
    }
    #logo .kad-retina-logo {
        display: block;
        max-height: 80px;
        width: auto;
    }
}

/* ---- TOUCH FRIENDLY TARGETS ---- */
@media (max-width: 991px) {
    .kad-mobile-nav .kad-nav-inner li a {
        min-height: 44px;
    }
    .nav-trigger-case {
        min-height: 50px;
    }
}

/* ---- MOBILE MENU TOGGLE ANIMATION ---- */
.nav-trigger-case {
    transition: background-color 0.3s ease;
}
.nav-trigger-case:hover {
    background-color: rgba(0, 0, 0, 0.03);
}
.kad-mobile-nav .kad-nav-inner li a,
#logo a.brand {
    transition: all 0.3s ease;
}