/**
 * Cabo Gringo Main Navigation: third-level and deeper menus.
 */

@media (min-width: 992px) {
    /* A nested flyout must be allowed to extend outside its parent dropdown. */
    #menu-main-navigation .dropdown-menu {
        overflow: visible !important;
    }

    #menu-main-navigation .dropdown-menu > li {
        position: relative;
    }

    /* Third level and any deeper direct child menu. */
    #menu-main-navigation .dropdown-menu > li > ul {
        position: absolute !important;
        top: -0.5rem !important;
        right: auto !important;
        left: 100% !important;
        z-index: 1100 !important;
        display: none !important;
        min-width: 240px;
        margin: 0 !important;
        padding: 0.5rem 0;
        visibility: visible !important;
        opacity: 1 !important;
        transform: none !important;
    }

    /* Open on mouse hover, keyboard focus, or the JavaScript touch state. */
    #menu-main-navigation .dropdown-menu > li:hover > ul,
    #menu-main-navigation .dropdown-menu > li:focus-within > ul,
    #menu-main-navigation .dropdown-menu > li.cabo-submenu-open > ul {
        display: block !important;
    }

    /* Flip the flyout to the left when there is not enough viewport space. */
    #menu-main-navigation
    .dropdown-menu
    > li.cabo-submenu-left
    > ul {
        right: 100% !important;
        left: auto !important;
    }

    #menu-main-navigation
    .dropdown-menu
    > li.cabo-has-submenu
    > a {
        position: relative;
        padding-right: 2.35rem !important;
    }

    /* Right-facing arrow for second-level items that own a submenu. */
    #menu-main-navigation
    .dropdown-menu
    > li.cabo-has-submenu
    > a::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 0.9rem;
        width: 0.45rem;
        height: 0.45rem;
        margin: 0;
        border-top: 1px solid currentColor;
        border-right: 1px solid currentColor;
        transform: translateY(-50%) rotate(45deg);
    }

    #menu-main-navigation
    .dropdown-menu
    > li.cabo-submenu-left
    > a::after {
        right: auto;
        left: 0.9rem;
        transform: translateY(-50%) rotate(-135deg);
    }

    #menu-main-navigation
    .dropdown-menu
    > li.cabo-submenu-left
    > a {
        padding-right: 1rem !important;
        padding-left: 2.35rem !important;
    }
}

@media (max-width: 991px) {
    /* The site's custom mobile navigation is a stacked menu. */
    .custom-mobile-nav-wrapper .custom-mobile-nav li > ul {
        position: static !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        visibility: visible !important;
        opacity: 1 !important;
        transform: none !important;
    }

    .custom-mobile-nav-wrapper
    .custom-mobile-nav
    ul
    ul
    ul
    a {
        padding-left: 50px !important;
    }
}
