// ------------------------- DO NOT EDIT THIS FILE ----------------------------
// ****** This file will be overwritten each time the plugin is updated *******
//
// This file is a major component of Max Mega Menu. The styling below works in
// perfect harmony with the current version of the plugin. The menu HTML
// will change as features are added to the plugin. Likewise, this CSS will be
// updated as new features are added to Max Mega Menu.
//
// If you need to apply custom styling to your menu go to Mega Menu > Menu Themes
// and enter your custom CSS into the Custom Styling area. Use the same (or more
// specific) selectors to ensure your custom CSS overrides the default CSS.

#{$wrap} {
    all: revert;
    box-sizing: border-box;
    position: relative;

    @if $menu_font_family != 'inherit' {
        font-family: unquote($menu_font_family);
    }

    @include desktop {
        @include background($container_background_from, $container_background_to);
    }

    @include border-radius($container_border_radius_top_left, $container_border_radius_top_right, $container_border_radius_bottom_right, $container_border_radius_bottom_left);
    @include keyboard;

    #{$menu} {
        all: revert;
        box-sizing: border-box;
        list-style: none;
        margin: 0;
        display: flex;
        column-gap: $menu_item_spacing;
        flex-wrap: wrap;
        @include padding($container_padding_top, $container_padding_right, $container_padding_bottom, $container_padding_left);

        @include desktop {
            justify-content: $menu_item_align;
            align-items: center;
        }

        ul.mega-sub-menu {
            all: revert;
            box-sizing: border-box;
            list-style: none;
            margin: 0;
            padding: 0;
        }

        li.mega-menu-item {
            all: revert;
            box-sizing: border-box;
            position: relative;

            a.mega-menu-link {
                all: revert;
                display: flex;
                align-items: center;
                gap: 6px;
                box-sizing: border-box;

                @if $transitions == 'on' {
                    transition: background 200ms linear, color 200ms linear, border 200ms linear;
                }
            }

            .mega-menu-link {
                .mega-description-group {
                    display: flex;
                    flex-direction: column;

                    .mega-menu-title,
                    .mega-menu-description {
                        line-height: 1.5;
                    }

                    .mega-menu-description {
                        font-style: italic;
                        font-size: 0.8em;
                        text-transform: none;
                        font-weight: normal;
                    }
                }
            }
            
            &.mega-icon-top > a.mega-menu-link {
                display: grid;
                align-content: center;
                
                &:before {
                    justify-content: center;
                }
            }

            &.mega-menu-item-has-children.mega-icon-top:not(.mega-hide-arrow) > a.mega-menu-link:before {
                grid-column: span 2;
            }

            &.mega-menu-item-has-children .mega-menu-row .mega-icon-top > a.mega-menu-link:before {
                grid-column: span 1;
            }

            &.mega-icon-right > a.mega-menu-link {
                &:before {
                    order: 1;
                }

                > span.mega-indicator {
                    order: 2;
                }
            }

            &.mega-disable-link > a.mega-menu-link,
            &.mega-menu-megamenu li.mega-disable-link > a.mega-menu-link {
                cursor: inherit;
            }

            &.mega-menu-item-has-children.mega-disable-link > a.mega-menu-link,
            &.mega-menu-megamenu > li.mega-menu-item-has-children.mega-disable-link > a.mega-menu-link  {
                cursor: pointer;
            }

            &.mega-menu-megamenu ul.mega-sub-menu li.mega-collapse-children {
                > ul.mega-sub-menu {
                    display: none;
                    flex-direction: column;
                }
                &.mega-toggle-on {
                    > ul.mega-sub-menu {
                        display: flex;
                    }
                    > a.mega-menu-link > span.mega-indicator:after {
                        @include arrow-icon-state($arrow_up, $arrow_font);
                    }
                }
            }

            @include desktop {
                > ul.mega-sub-menu {
                    visibility: hidden;
                    display: flex;
                }

                &.mega-toggle-on > ul.mega-sub-menu {
                    visibility: visible;
                }
            }

            @include mobile {
                > ul.mega-sub-menu {
                    display: none;
                }

                &.mega-toggle-on.mega-menu-megamenu ul.mega-sub-menu,
                &.mega-toggle-on > ul.mega-sub-menu {
                    display: flex;
                }

                &.mega-hide-sub-menu-on-mobile > a.mega-menu-link > span.mega-indicator,
                &.mega-hide-sub-menu-on-mobile > ul.mega-sub-menu {
                    display: none;
                }
            }

            > ul.mega-sub-menu {
                p {
                    margin-bottom: 10px;
                }

                input,
                img {
                    max-width: 100%;
                }
            }
        }

        > li.mega-animating > ul.mega-sub-menu {
             pointer-events: none;
        }

        @include desktop {
            &[data-effect="fade"] {
                li.mega-menu-item > ul.mega-sub-menu {
                    opacity: 0;
                    transition: opacity $effect_speed ease-in, visibility $effect_speed ease-in;
                }

                &.mega-no-js li.mega-menu-item:hover > ul.mega-sub-menu,
                &.mega-no-js li.mega-menu-item:focus > ul.mega-sub-menu,
                li.mega-menu-item.mega-toggle-on > ul.mega-sub-menu,
                li.mega-menu-item.mega-menu-megamenu.mega-toggle-on ul.mega-sub-menu {
                    opacity: 1;
                }
            }

            &[data-effect="fade_up"] {
                li.mega-menu-item.mega-menu-megamenu > ul.mega-sub-menu,
                li.mega-menu-item.mega-menu-flyout ul.mega-sub-menu {
                    opacity: 0;
                    transform: translate(0, 10px);
                    transition: opacity $effect_speed ease-in, transform $effect_speed ease-in, visibility $effect_speed ease-in;
                }

                &.mega-no-js li.mega-menu-item:hover > ul.mega-sub-menu,
                &.mega-no-js li.mega-menu-item:focus > ul.mega-sub-menu,
                li.mega-menu-item.mega-toggle-on > ul.mega-sub-menu,
                li.mega-menu-item.mega-menu-megamenu.mega-toggle-on ul.mega-sub-menu {
                    opacity: 1;
                    transform: translate(0, 0);
                }
            }

            &[data-effect="slide_up"] {
                li.mega-menu-item.mega-menu-megamenu > ul.mega-sub-menu,
                li.mega-menu-item.mega-menu-flyout ul.mega-sub-menu {
                    transform: translate(0, 10px);
                    transition: transform $effect_speed ease-in, visibility $effect_speed ease-in;
                }

                &.mega-no-js li.mega-menu-item:hover > ul.mega-sub-menu,
                &.mega-no-js li.mega-menu-item:focus > ul.mega-sub-menu,
                li.mega-menu-item.mega-toggle-on > ul.mega-sub-menu,
                li.mega-menu-item.mega-menu-megamenu.mega-toggle-on ul.mega-sub-menu {
                    transform: translate(0, 0);
                }
            }
        }

        &.mega-no-js li.mega-menu-item:hover > ul.mega-sub-menu,
        &.mega-no-js li.mega-menu-item:focus > ul.mega-sub-menu {
            visibility: visible;
        }

        li.mega-menu-item.mega-menu-megamenu ul.mega-sub-menu ul.mega-sub-menu {
            visibility: inherit;
            flex-direction: column;
        }

        li.mega-menu-item.mega-menu-megamenu ul.mega-sub-menu li.mega-sub-columns > ul.mega-sub-menu {
            display: grid;
            grid-template-columns: repeat(var(--columns), minmax(0, 1fr));
        }

        li.mega-menu-item a[class^='dashicons']:before {
            font-family: dashicons;
        }

        li.mega-menu-item a.mega-material-symbol:before {
            content: attr(data-ms-icon);
            font-family: var(--wp--preset--font-family--material-symbols);
            -webkit-font-smoothing: antialiased;
        }

        li.mega-align-bottom-right > ul.mega-sub-menu {
            right: 0;
        }

        @if unit($panel_width) == '%' or unit($panel_width) == 'vw' {
            @include desktop {
                > li.mega-menu-megamenu.mega-menu-item {
                    position: static;
                }
            }
        }

        // top level items
        > li.mega-menu-item {

            @if $menu_item_divider == 'on' {
                @include desktop {
                    border-left: 1px solid $menu_item_divider_color;
                    @include box-shadow(inset 1px 0 0 0 rgba(255,255,255,$menu_item_divider_glow_opacity));

                    /* Hide divider on first menu item */
                    &:first-of-type {
                        border-left: 0;
                        @include box-shadow(none);
                    }
                }
            }

            @include desktop {
                @if $menu_item_align != 'right' {
                    &.mega-item-align-right {
                        order: 1;
                    }

                    /** Apply to first item with .mega-item-align-right class **/
                    &.mega-item-align-right:not(.mega-item-align-right ~ .mega-item-align-right) {
                        margin-left: auto;
                    }
                }

                @if $menu_item_align != 'left' {
                    &.mega-item-align-float-left {
                        order: -1;
                    }

                    &:nth-last-child(1 of .mega-item-align-float-left) {
                        margin-right: auto;
                    }
                }
            }

            @include desktop {
                > a.mega-menu-link:hover,
                > a.mega-menu-link:focus {
                    @include background($menu_item_background_hover_from, $menu_item_background_hover_to);
                    color: $menu_item_link_color_hover;
                    font-weight: $menu_item_link_weight_hover;
                    text-decoration: $menu_item_link_text_decoration_hover;
                    border-color: $menu_item_border_color_hover;
                }
            }

            &.mega-toggle-on > a.mega-menu-link {
                @include background($menu_item_background_hover_from, $menu_item_background_hover_to);
                color: $menu_item_link_color_hover;
                font-weight: $menu_item_link_weight_hover;
                text-decoration: $menu_item_link_text_decoration_hover;
                border-color: $menu_item_border_color_hover;

                @include mobile {
                    color: $mobile_menu_item_link_color_hover;
                    @include background($mobile_menu_item_background_hover_from, $mobile_menu_item_background_hover_to);
                }
            }

            @if $menu_item_highlight_current == 'on' {
                &.mega-current-menu-item,
                &.mega-current-menu-ancestor,
                &.mega-current-page-ancestor {
                    > a.mega-menu-link {
                        @include background($menu_item_background_hover_from, $menu_item_background_hover_to);
                        color: $menu_item_link_color_hover;
                        font-weight: $menu_item_link_weight_hover;
                        text-decoration: $menu_item_link_text_decoration_hover;
                        border-color: $menu_item_border_color_hover;

                        @include mobile {
                            color: $mobile_menu_item_link_color_hover;
                            @include background($mobile_menu_item_background_hover_from, $mobile_menu_item_background_hover_to);
                        }
                    }
                }
            }

            > a.mega-menu-link {
                min-height: $menu_item_link_height;
                @include padding($menu_item_link_padding_top, $menu_item_link_padding_right, $menu_item_link_padding_bottom, $menu_item_link_padding_left);
                color: $menu_item_link_color;
                text-transform: $menu_item_link_text_transform;
                text-decoration: $menu_item_link_text_decoration;
                text-align: $menu_item_link_text_align;
                @include background($menu_item_background_from, $menu_item_background_to);
                @include border($menu_item_border_top, $menu_item_border_left, $menu_item_border_right, $menu_item_border_bottom, $menu_item_border_color);
                @include border-radius($menu_item_link_border_radius_top_left, $menu_item_link_border_radius_top_right, $menu_item_link_border_radius_bottom_right, $menu_item_link_border_radius_bottom_left);
                @if $menu_item_link_font != 'inherit' { font-family: unquote($menu_item_link_font); }
                font-size: $menu_item_link_font_size;
                font-weight: $menu_item_link_weight;
            }

            @include mobile {
                display: flex;
                flex-direction: column;

                > a.mega-menu-link {
                    @include border-radius(0, 0, 0, 0);
                    min-height: $mobile_menu_item_height;
                    padding: 0 10px;
                    text-align: $mobile_menu_item_link_text_align;
                    color: $mobile_menu_item_link_color;
                    font-size: $mobile_menu_item_link_font_size;
                }
            }
        }

        > li.mega-menu-grid > ul.mega-sub-menu > li.mega-menu-row > ul.mega-sub-menu {
            @if unit($panel_inner_width) == 'px' or unit($panel_inner_width) == 'vw' {
                max-width: $panel_inner_width;
                margin: 0 auto;
            }
        }

        // sub menu items (grid)
        li.mega-menu-grid > ul.mega-sub-menu {
            flex-direction: column;
            align-content: flex-start;

            > li.mega-menu-row {
                all: revert;
                width: 100%;

                > ul.mega-sub-menu > li.mega-menu-column {
                    all: revert;
                    grid-column: span var(--span);
                }

                > ul.mega-sub-menu {
                    display: grid;
                    grid-template-columns: repeat(var(--columns), minmax(0, 1fr));

                    @include mobile {
                        @if $mobile_columns == 2 {
                            grid-template-columns: repeat(2, minmax(0, 1fr));
                        } @else {
                            grid-template-columns: repeat(1, minmax(0, 1fr));
                        }

                        > li.mega-menu-column {
                            grid-column: span 1;
                        }
                    }

                    > .mega-menu-column > ul.mega-sub-menu > li.mega-menu-item {
                        @include padding($panel_widget_padding_top, $panel_widget_padding_right, $panel_widget_padding_bottom, $panel_widget_padding_left);
                        width: 100%;
                    }
                }
            }
        }

        // sub menu items (megamenu)
        li.mega-menu-megamenu > ul.mega-sub-menu {
            flex-wrap: wrap;
            z-index: $z_index;
            color: $panel_font_color;
            font-size: $panel_font_size;
            line-height: $line_height;
            @include border-radius($panel_border_radius_top_left, $panel_border_radius_top_right, $panel_border_radius_bottom_right, $panel_border_radius_bottom_left);
            @include background($panel_background_from, $panel_background_to);
            @include border($panel_border_top, $panel_border_left, $panel_border_right, $panel_border_bottom, $panel_border_color);
            @include padding($panel_padding_top, $panel_padding_right, $panel_padding_bottom, $panel_padding_left);

            @include desktop {
                position: absolute;
                width: $panel_width;
            }

            > li.mega-menu-item {
                @include mobile {
                    width: calc((1 / #{$mobile_columns})*100%);
                }

                width: calc((var(--span) / var(--columns))*100%);
            }

            @if unit($panel_width) == '%' {
                left: 0;
            }

            @if unit($panel_inner_width) == '%' and $panel_inner_width < 100% {
                padding-left: (100 - $panel_inner_width) / 2;
                padding-right: (100 - $panel_inner_width) / 2;
            }

            @if $shadow == 'on' {
                @include box-shadow($shadow_horizontal $shadow_vertical $shadow_blur $shadow_spread $shadow_color);
            }

            li.mega-menu-column > ul.mega-sub-menu ul.mega-sub-menu ul.mega-sub-menu {
                margin-left: 10px;
            }
        }

        li.mega-menu-column-standard,
        li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item {
            color: $panel_font_color;
            @if $panel_font_family != 'inherit' { font-family: unquote($panel_font_family); }
            font-size: $panel_font_size;
            @include padding($panel_widget_padding_top, $panel_widget_padding_right, $panel_widget_padding_bottom, $panel_widget_padding_left);

            // Widget titles
            h4.mega-block-title {
                color: $panel_header_color;
                @if $panel_header_font != 'inherit' { font-family: unquote($panel_header_font); }
                font-size: $panel_header_font_size;
                text-transform: $panel_header_text_transform;
                text-decoration: $panel_header_text_decoration;
                font-weight: $panel_header_font_weight;
                text-align: $panel_header_text_align;
                margin: $panel_header_margin_top $panel_header_margin_right $panel_header_margin_bottom $panel_header_margin_left;
                @include padding($panel_header_padding_top, $panel_header_padding_right, $panel_header_padding_bottom, $panel_header_padding_left);
                @include border($panel_header_border_top, $panel_header_border_left, $panel_header_border_right, $panel_header_border_bottom, $panel_header_border_color);

                &:hover {
                    border-color: $panel_header_border_color_hover;
                }
            }

            // Second level menu items
            > a.mega-menu-link {
                color: $panel_second_level_font_color;
                @if $panel_second_level_font != 'inherit' { font-family: unquote($panel_second_level_font); }
                font-size: $panel_second_level_font_size;
                text-transform: $panel_second_level_text_transform;
                text-decoration: $panel_second_level_text_decoration;
                font-weight: $panel_second_level_font_weight;
                text-align: $panel_second_level_text_align;
                margin: $panel_second_level_margin_top $panel_second_level_margin_right $panel_second_level_margin_bottom $panel_second_level_margin_left;
                @include padding($panel_second_level_padding_top, $panel_second_level_padding_right, $panel_second_level_padding_bottom, $panel_second_level_padding_left);
                @include border($panel_second_level_border_top, $panel_second_level_border_left, $panel_second_level_border_right, $panel_second_level_border_bottom, $panel_second_level_border_color);
            
                &:hover,
                &:focus {
                    border-color: $panel_second_level_border_color_hover;
                    color: $panel_second_level_font_color_hover;
                    font-weight: $panel_second_level_font_weight_hover;
                    text-decoration: $panel_second_level_text_decoration_hover;
                    @include background($panel_second_level_background_hover_from, $panel_second_level_background_hover_to);

                    > span.mega-title-below {
                        text-decoration: $panel_second_level_text_decoration_hover;
                    }
                }
            }

            // third level menu items
            li.mega-menu-item > a.mega-menu-link {
                color: $panel_third_level_font_color;
                @if $panel_third_level_font != 'inherit' { font-family: unquote($panel_third_level_font); }
                font-size: $panel_third_level_font_size;
                text-transform: $panel_third_level_text_transform;
                text-decoration: $panel_third_level_text_decoration;
                font-weight: $panel_third_level_font_weight;
                text-align: $panel_third_level_text_align;
                margin: $panel_third_level_margin_top $panel_third_level_margin_right $panel_third_level_margin_bottom $panel_third_level_margin_left;
                @include padding($panel_third_level_padding_top, $panel_third_level_padding_right, $panel_third_level_padding_bottom, $panel_third_level_padding_left);
                @include border($panel_third_level_border_top, $panel_third_level_border_left, $panel_third_level_border_right, $panel_third_level_border_bottom, $panel_third_level_border_color);
            
                &:hover,
                &:focus {
                    border-color: $panel_third_level_border_color_hover;
                    color: $panel_third_level_font_color_hover;
                    font-weight: $panel_third_level_font_weight_hover;
                    text-decoration: $panel_third_level_text_decoration_hover;
                    @include background($panel_third_level_background_hover_from, $panel_third_level_background_hover_to);

                    > span.mega-title-below {
                        text-decoration: $panel_third_level_text_decoration_hover;
                    }
                }
            }
        }

        // Sub menu items (flyout)
        > li.mega-menu-flyout ul.mega-sub-menu {
            flex-direction: column;
            @include background($flyout_menu_background_from, $flyout_menu_background_to);

            @if $shadow == 'on' {
                @include box-shadow($shadow_horizontal $shadow_vertical $shadow_blur $shadow_spread $shadow_color);
            }

            @include desktop {
                position: absolute;
                width: $flyout_width;
                z-index: $z_index;
                @include padding($flyout_padding_top, $flyout_padding_right, $flyout_padding_bottom, $flyout_padding_left);
                @include border($flyout_border_top, $flyout_border_left, $flyout_border_right, $flyout_border_bottom, $flyout_border_color);
                @include border-radius($flyout_border_radius_top_left, $flyout_border_radius_top_right, $flyout_border_radius_bottom_right, $flyout_border_radius_bottom_left);
            }

            li.mega-menu-item {

                @if $flyout_menu_item_divider == 'on' {
                    border-bottom: 1px solid $flyout_menu_item_divider_color;

                    /* Hide divider on last menu item */
                    &:last-child {
                        border-bottom: 0;
                        @include box-shadow(none);
                    }
                }

                a.mega-menu-link {
                    @include background($flyout_background_from, $flyout_background_to);
                    color: $flyout_link_color;
                    @if $flyout_link_family != 'inherit' { font-family: unquote($flyout_link_family); }
                    font-size: $flyout_link_size;
                    font-weight: $flyout_link_weight;
                    @include padding($flyout_link_padding_top, $flyout_link_padding_right, $flyout_link_padding_bottom, $flyout_link_padding_left);
                    min-height: $flyout_link_height;
                    text-decoration: $flyout_link_text_decoration;
                    text-transform: $flyout_link_text_transform;
                }

                @include desktop {
                    &:first-child > a.mega-menu-link {
                        border-top-left-radius: $flyout_border_radius_top_left;
                        border-top-right-radius: $flyout_border_radius_top_right;
                    }
                    a.mega-menu-link:hover,
                    a.mega-menu-link:focus {
                        @include background($flyout_background_hover_from, $flyout_background_hover_to);
                        font-weight: $flyout_link_weight_hover;
                        text-decoration: $flyout_link_text_decoration_hover;
                        color: $flyout_link_color_hover;
                    }
                    ul.mega-sub-menu {
                        position: absolute;
                        left: 100%;
                        top: 0;
                    }
                }

                @include mobile {
                    ul.mega-sub-menu {
                        a.mega-menu-link {
                            padding-left: 20px;
                        }

                        ul.mega-sub-menu a.mega-menu-link {
                            padding-left: 30px;
                        }
                    }
                }
            }
        }


        // Arrows
        li.mega-menu-item-has-children {
            > a.mega-menu-link > span.mega-indicator {
                all: revert;
                display: flex;
                align-items: center;
                height: 100%;

                &:after {
                    align-content: center;
                    @include arrow-icon($arrow_down, $arrow_font, $arrow_font_weight);
                    @if $arrow_rotate == 'on' {
                        transition: transform 0.3s ease;
                    }
                }
            }

            > ul.mega-sub-menu span.mega-indicator {
                margin-left: auto;
            }

            @include mobile {
                > a.mega-menu-link > span.mega-indicator {
                    margin-left: auto;
                    flex-basis: 30px;
                    justify-content: right;
                }

                &.mega-toggle-on > a.mega-menu-link > span.mega-indicator:after {
                    @include arrow-icon-state($arrow_up, $arrow_font);
                }
            }
        }

        @if $arrow_rotate == 'on' {
            > li.mega-menu-item-has-children.mega-toggle-on > a.mega-menu-link > span.mega-indicator:after {
                transform: rotate(180deg);
            }

            @include mobile {
                > li.mega-menu-item-has-children.mega-toggle-on > a.mega-menu-link > span.mega-indicator:after {
                    @include arrow-icon-state($arrow_down, $arrow_font);
                }
            }
        }

        // Hide arrows
        li.mega-menu-megamenu:not(.mega-menu-tabbed) li.mega-menu-item-has-children:not(.mega-collapse-children) > a.mega-menu-link > span.mega-indicator,
        li.mega-menu-item-has-children.mega-hide-arrow > a.mega-menu-link > span.mega-indicator {
            display: none;
        }

        // Flyout menus
        @include desktop {
            li.mega-menu-flyout {
                li.mega-menu-item a.mega-menu-link > span.mega-indicator {
                    &:after {
                        @include arrow-icon-state($arrow_right, $arrow_font);
                    }
                }

                &.mega-align-bottom-right {
                    li.mega-menu-item a.mega-menu-link {
                        flex-direction: row-reverse;

                        > span.mega-indicator {
                            margin-left: initial;
                            margin-right: auto;

                            &:after {
                                @include arrow-icon-state($arrow_left, $arrow_font);
                            }
                        }
                    }
                    
                    ul.mega-sub-menu li.mega-menu-item ul.mega-sub-menu {
                        right: 100%;
                        left: auto;
                        top: 0;
                    }
                }
            }
        }

        @include mobile {
            li.mega-hide-on-mobile {
                display: none;
            }
        }

        @include desktop {
            li.mega-hide-on-desktop {
                display: none;
            }
        }
    }

    @include mobilemenu;
}

@if ( ( $effect_mobile == slide_right or $effect_mobile == slide_left ) and $disable_mobile_toggle == off ) {
    html.mega-menu-#{$location}-off-canvas-open {
        overflow: hidden;
        height: auto;
        
        body {
            overflow: hidden;
            height: auto;
        }

        #wpadminbar {
           z-index: 0;
        }
    }
}