/* =========================================================
   TAYLOR SUDDEN SERVICE NAVIGATION
   ========================================================= */


/* =========================================================
   MEGA MENU
   ========================================================= */
.ssi-header{position:relative;z-index:5;}
.ssi-mega-parent {
    position: static;
}

.ssi-mega-menu {
    left: 50% !important;
    transform: translateX(-50%) !important;

    max-width: 1540px;

    padding: 0;
    margin: 0;

    background: #fff;

    border: 0;
    border-top: 4px solid #d60000;
    border-radius: 0;

    box-shadow: 0 22px 60px rgba(0, 0, 0, 0.28);
}


/* Desktop hover state
   IMPORTANT: dropdown is block, NOT grid
*/

@media (min-width: 1200px) {
    .ssi-mega-parent:hover > .ssi-mega-menu {
        display: block;
    }
}
@media (min-width: 1200px) {

    .ssi-header .navbar .nav-item.dropdown.hover:hover > .dropdown-menu {
        display: block;
        margin-top: 0;
    }

}

/* =========================================================
   OLD INTRO COLUMN
   ========================================================= */

.ssi-mega-menu .ssi-menu-intro,
.ssi-menu-intro {
    display: none !important;
}


/* =========================================================
   MEGA MENU LINKS
   ========================================================= */

.ssi-mega-menu .ssi-menu-links {
    width: 100%;
    max-width: none;
    min-width: 0;

    padding: 22px;

    box-sizing: border-box;
}


/* Default: single column */

.ssi-mega-menu .ssi-menu-links-grid {
    display: grid;
    grid-template-columns: 1fr;

    width: 100%;
    max-width: none;

    align-content: center;
}


/* Small screens and larger: 3 columns */

@media (min-width: 576px) {
    .ssi-mega-menu .ssi-menu-links-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}


/* =========================================================
   MEGA MENU LINK
   ========================================================= */

.ssi-mega-menu .ssi-menu-link {
    display: block;

    width: 100%;
    max-width: none;
    min-width: 0;

    padding: 16px 18px;

    color: #111;

    border-left: 3px solid transparent;

    box-sizing: border-box;
}

.ssi-mega-menu .ssi-menu-link:hover,
.ssi-mega-menu .ssi-menu-link:focus {
    color: #111;
    background: #f3f3f3;
    border-color: #d60000;
}

.ssi-mega-menu .ssi-menu-link strong,
.ssi-mega-menu .ssi-menu-link span {
    display: block;
}

.ssi-mega-menu .ssi-menu-link strong {
    font-size: 18px;
    text-transform: uppercase;
}

.ssi-mega-menu .ssi-menu-link span {
    margin-top: 3px;

    font-size: 14px;
    line-height: 1.3;

    color: #666;
}


/* =========================================================
   STANDARD SMALL DROPDOWNS
   ========================================================= */

.ssi-small-menu {
    min-width: 290px;
    padding: 12px 0;
}

.ssi-small-menu .dropdown-item {
    padding: 10px 20px;
    font-size: 15px;
}

.ssi-small-menu .dropdown-item:hover {
    color: #d60000;
    background: #f2f2f2;
}


/* =========================================================
   LARGE / MEDIUM DESKTOP
   ========================================================= */

@media (max-width: 1399px) {

    .ssi-header .nav-link {
        padding: 0.8rem !important;
        font-size: 13px;
    }

    .ssi-header .ssi-btn {
        padding: 0.7rem 1rem;
        font-size: 14px;
    }

    .ssi-mega-menu {
        width: min(1040px, calc(100vw - 36px));
    }

    .ssi-mega-menu .ssi-menu-link {
        padding: 11px 14px;
    }
}


/* =========================================================
   COLLAPSED NAV / TABLET
   ========================================================= */

@media (max-width: 1199px) {

    .ssi-mega-parent {
        position: relative;
    }

    /*
     * The dropdown is now positioned inside the collapsed nav.
     * Remove the desktop centering completely.
     */
    .ssi-mega-menu {
        position: static !important;

        left: auto !important;
        transform: none !important;

        width: 100%;
        max-width: 100%;

        margin: 0;

        box-shadow: none;
    }

    /*
     * Bootstrap / MenuKit controls whether the menu is open.
     * Hover alone does not force it open here.
     */
    .ssi-mega-parent > .ssi-mega-menu.show {
        display: block;
    }

    .ssi-mega-menu .ssi-menu-links {
        width: 100%;
        padding: 6px;
    }

    .ssi-mega-menu .ssi-menu-link {
        border-left: 0;
        border-bottom: 1px solid #ddd;
    }

    .ssi-small-menu {
        width: 100%;
        border-top: 0;
    }

    .ssi-header .nav-link {
        font-size: 15px;
    }

    .ssi-header .navbar-nav {
        align-items: stretch !important;
    }
}


/* =========================================================
   EXTRA SMALL MOBILE
   ========================================================= */

@media (max-width: 575px) {

    .ssi-mega-menu .ssi-menu-links-grid {
        grid-template-columns: 1fr;
    }

    .ssi-mega-menu .ssi-menu-link {
        padding: 12px 14px;
    }

    .ssi-mega-menu .ssi-menu-link strong {
        font-size: 16px;
    }

    .ssi-mega-menu .ssi-menu-link span {
        font-size: 13px;
    }
}
/* =========================================================
   MOBILE OFFCANVAS
   ========================================================= */

@media (max-width: 1199.98px) {

    #ssiOffcanvasNav {
        width:100vw;
        height:100vh;
    }

    #ssiOffcanvasNav .offcanvas-header {
        padding: 24px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    }

    #ssiOffcanvasNav .ssi-offcanvas-brand {
        display: flex;
        align-items: center;
        gap: 12px;
    }

    #ssiOffcanvasNav .navbar-nav {
        width: 100%;
    }

    #ssiOffcanvasNav .nav-item {
        width: 100%;
        border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    }

    #ssiOffcanvasNav .nav-link {
        display: flex;
        align-items: center;
        justify-content: space-between;

        width: 100%;

        padding: 16px 0 !important;

        color: #fff;
        font-size: 16px;
        font-weight: 700;
    }

    #ssiOffcanvasNav .dropdown-menu {
        position: static !important;

        width: 100%;
        max-width: none;

        margin: 0 0 14px;
        padding: 0;

        transform: none !important;

        background: transparent;

        border: 0;
        box-shadow: none;
    }

    #ssiOffcanvasNav .ssi-small-menu .dropdown-item {
        padding: 10px 14px;

        color: #bbb;
        background: transparent;
    }

    #ssiOffcanvasNav .ssi-small-menu .dropdown-item:hover,
    #ssiOffcanvasNav .ssi-small-menu .dropdown-item:focus {
        color: #fff;
        background: rgba(255, 255, 255, 0.08);
    }

    /* Parts & Service mega menu becomes a simple mobile list */
    #ssiOffcanvasNav .ssi-mega-menu {
        position: static !important;

        left: auto !important;
        transform: none !important;

        width: 100%;
        max-width: none;

        margin: 0 0 14px;
        padding: 0;

        background: transparent;

        border: 0;
        box-shadow: none;
    }

    #ssiOffcanvasNav .ssi-menu-links {
        display: block !important;
        padding: 0;
    }

    #ssiOffcanvasNav .ssi-menu-links-grid {
        display: block !important;
    }

    #ssiOffcanvasNav .ssi-menu-link {
        display: block;

        padding: 11px 14px;

        color: #fff;

        border: 0;
        border-left: 2px solid #d60000;
    }

    #ssiOffcanvasNav .ssi-menu-link:hover,
    #ssiOffcanvasNav .ssi-menu-link:focus {
        color: #fff;
        background: rgba(255, 255, 255, 0.08);
    }

    #ssiOffcanvasNav .ssi-menu-link strong {
        font-size: 14px;
    }

    #ssiOffcanvasNav .ssi-menu-link span {
        display: none;
    }

    #ssiOffcanvasNav .ssi-btn {
        width: 100%;
    }
}