// /**
//  * Copyright © 2020 Kemana. All rights reserved.
//  * @author Ashan Gunawardena <agunawardena@kemana.com>
//  * http://www.kemana.com
//  */

//
//  Variables
//  _____________________________________________

@active-nav-indent: 60px;

@nav-desktop-sub-menu__height: 465px;

@nav-desktop-hover__background: @color-sido-green2;
@nav-desktop-hover__color: @color-sido-green2;

//
//  Common
//  _____________________________________________

& when (@media-common = true) {
    .panel.header {
        .links,
        .switcher {
            display: none;
        }
    }

    .nav-toggle {
        .lib-icon-font(
            @icon-menu,
            @_icon-font-size: 28px,
            @_icon-font-color: @header-icons-color,
            @_icon-font-color-hover: @header-icons-color-hover
        );
        .lib-icon-text-hide();
        cursor: pointer;
        display: block;
        font-size: 0;
        left: 15px;
        position: absolute;
        z-index: 14;
    }

    .nav-before-open {
        height: 100%;
        overflow: hidden;
        position: relative;
        width: 100%;

        .page-wrapper {
            .lib-css(transition, left .3s, 1);
            height: 100%;
            left: 0;
            overflow: hidden;
            position: relative;
        }

        body {
            height: 100%;
            overflow: hidden;
            position: relative;
            width: 100%;
        }
    }

    .nav-sections {
        .navigation {
            .category-item {
                &.compare {
                    float: right;
                    margin-top: 7px;
                    margin-bottom: 0;

                    a {
                        .lib-css(background, @color-white);
                        .lib-css(color, @color-kemana-hardware-dark1);
                        .lib-css(font-weight, @font-weight__semibold);
                        .lib-css(border-radius, 5px);
                        .lib-font-size(11);
                        .lib-line-height(15);
                        .lib-css(border, 1px solid @color-kemana-hardware-gray2);
                        text-transform: capitalize;
                        padding: 5px 8px;
                        display: block;

                        &:before {
                            transition: all 0.5s ease;
                        }

                        .counter.qty {
                            .lib-css(color, @color-kemana-hardware-red1);
                            transition: all 0.5s ease;
                        }

                        &:hover {
                            .lib-css(background, @button-primary__background);
                            .lib-css(border, 1px solid @button-primary__background);
                            .lib-css(color, @button-primary__color);

                            &:before {
                                .lib-css(color, @button-primary__color);
                            }

                            .counter.qty {
                                .lib-css(color, @button-primary__color);
                            }
                        }

                        .lib-icon-font(
                            @icon-Compare,
                            @_icon-font: @icon-font,
                            @_icon-font-color: @color-kemana-hardware-dark1,
                            @_icon-font-size: 11px,
                            @_icon-font-margin: 0 0 0 0,
                            @_icon-font-position: before,
                            @_icon-font-vertical-align: top
                        );
                    }
                }
            }
        }
    }

    .nav-open {
        .page-wrapper {
            .header-left {
                > .nav-toggle {
                    right: 38px;
                    top: 14px;
                    left: inherit;
                    position: fixed;
                    z-index: 3;
                    .lib-icon-font(
                        @_icon-font-content: @navigation-mobile-close__icon,
                        @_icon-font-size: @navigation-mobile-close__font-size,
                        @_icon-font-line-height: @navigation-mobile-close__line-height,
                        @_icon-font-color: @color-white,
                        @_icon-font-position: before,
                        @_icon-font-display: block
                    );

                    &:before {
                        position: absolute;
                        z-index: 3;
                    }
                }
            }

            .page-header {
                .sections.nav-sections {
                    .section-items {
                        .navigation {
                            .topmenu {
                                .compare {
                                    display: none;
                                }
                            }
                        }
                    }
                }
            }
        }

        .navigation {
            padding: 0;

            ul {
                margin: 0;

                li {
                    margin-bottom: 0;
                }
            }

            a {
                .lib-css(padding-top, @submenu__padding-top);
                .lib-css(padding-right, @submenu__padding-right);
                .lib-css(padding-bottom, @submenu__padding-bottom);
                .lib-css(padding-left, @submenu__padding-left);
                .lib-css(color, @navigation-level0-item__color);
                display: block;

                &:hover {
                    .lib-css(color, @navigation-level0-item__color);
                    .lib-css(text-decoration, @navigation-level0-item__text-decoration);
                }
            }

            .parent {
                .level-top {
                    .lib-icon-font(
                        @_icon-font-content: @icon-pointer-right,
                        @_icon-font-color: @color-kemana-hardware-gray2,
                        @_icon-font-size: 32px,
                        @_icon-font-line-height: 50px,
                        @_icon-font-position: after,
                        @_icon-font-display: block
                    );
                    position: relative;

                    &:after {
                        right: -10px;
                        padding-right: 10px;
                        top: 0;
                        position: absolute;
                        width: 30px;
                        height: 46px;
                        text-align: right;
                    }
                }
            }
        }

        .nav-sections {
            @_shadow: 0 0 5px 0 rgba(50, 50, 50, .75);
            .lib-css(background, @color-kemana-gray5);
            .lib-css(box-shadow, @_shadow, 1);
            left: 0;
            z-index: 99;

            .section-item-title {
                display: none;
            }

            .nav-sections-items {
                display: block;
            }

            .navigation {
                .navbar-collapse.topmenu {
                    .lib-css(background, @navigation-mobile__background);
                    .lib-css(padding, 0 @navigation-mobile__padding);
                }

                .level0 {
                    border-top: 0;
                    margin-bottom: 0;

                    > .level-top {
                        .lib-css(font-weight, @navigation-level0-item__font-weight);
                        .lib-css(line-height, @navigation-level0-item__line-height);
                        .lib-css(padding, @navigation-level0-item__padding);
                        .lib-css(text-transform, @navigation-level0-item__text-transform);
                        display: block;
                        .lib-css(border-bottom, @navigation-level0-item__border);
                    }

                    &.submenu {
                        .lib-css(background, @navigation-mobile__background);
                        .lib-css(right, @active-nav-indent);
                        .lib-css(padding-left, @navigation-mobile__padding);
                        .lib-css(padding-right, @navigation-mobile__padding);
                        position: fixed;
                        left: 0 !important;
                        height: 100%;

                        .back-button {
                            border-top: 0;
                            .lib-css(font-weight, @navigation-level0-item__font-weight);
                            .lib-css(line-height, @navigation-level0-item__line-height);
                            .lib-css(padding, @navigation-level0-item__padding);
                            .lib-css(text-transform, @navigation-level0-item-backbutton__text-transform);
                            .lib-css(border-bottom, @navigation-level0-item__border);
                            padding-left: 15px;
                            display: block;
                            position: relative;
                            cursor: pointer;

                            .lib-icon-font(
                                @_icon-font-content: @icon-pointer-left,
                                @_icon-font-size: 32px,
                                @_icon-font-color: @color-kemana-hardware-gray2,
                                @_icon-font-line-height: 15px,
                                @_icon-font-position: before,
                                @_icon-font-margin: 0 5px 0 -10px,
                                @_icon-font-display: block
                            );

                            &:before {
                                left: 0;
                                top: 16px;
                                position: absolute;
                            }
                        }

                        .category-item {
                            a {
                                .lib-css(font-weight, @navigation-level0-item__font-weight);
                                .lib-css(line-height, @navigation-level0-item__line-height);
                                .lib-css(padding, @navigation-level0-item__padding);
                                .lib-css(text-transform, @navigation-level0-item__text-transform);
                                .lib-css(border-bottom, @navigation-level0-item__border);
                                display: block;
                                position: relative;
                            }

                            &:last-child {
                                > a {
                                    border-bottom: 0;
                                }
                            }

                            &.parent {
                                &.level1 {
                                    > a {
                                        .lib-icon-font(
                                            @_icon-font-content: @icon-pointer-right,
                                            @_icon-font-color: @color-kemana-hardware-gray2,
                                            @_icon-font-size: 32px,
                                            @_icon-font-line-height: 50px,
                                            @_icon-font-position: after,
                                            @_icon-font-display: block
                                        );

                                        &:after {
                                            right: -10px;
                                            padding-right: 10px;
                                            top: 0;
                                            position: absolute;
                                            width: 30px;
                                            height: 46px;
                                            text-align: right;
                                        }
                                    }
                                }
                            }
                        }
                    }

                    &:last-child {
                        border-bottom: 0;

                        > .level-top {
                            border-bottom: 0;
                        }
                    }
                }
            }
        }

        .block-mobile-addElement {
            padding: @indent__base @layout__width-xs-indent 0;

            .account-menu {
                margin-bottom: 0;

                ul {
                    margin: 0;
                    padding: 0;
                    list-style: none;

                    li {
                        .lib-font-size(@navigation-level0-item__font-size);
                        .lib-css(font-weight, @navigation-level0-item__font-weight);
                        margin-bottom: @indent__base;

                        &:before {
                            display: none;
                        }

                        .compare-mob {
                            display: block;
                        }

                        &.account-login {
                            .lib-icon-font(
                                @icon-account-header,
                                @_icon-font-color: @kemana-primary-brand-color,
                                @_icon-font-color-hover: @icon-font__color-hover,
                                @_icon-font-size: 17px,
                                @_icon-font-line-height: 17px,
                                @_icon-font-margin: 0 10px 0 0,
                                @_icon-font-vertical-align: top,
                                @_icon-font-position: before
                            );
                            .lib-vendor-prefix-display();
                            align-items: center;

                            > a {
                                &:before {
                                    display: none;
                                }
                            }

                            + li {
                                .mobile-compare-products {
                                    .lib-icon-font(
                                        @icon-Compare,
                                        @_icon-font-color: @kemana-primary-brand-color,
                                        @_icon-font-color-hover: @icon-font__color-hover,
                                        @_icon-font-size: 11px,
                                        @_icon-font-line-height: 13px,
                                        @_icon-font-margin: 0 10px 0 0,
                                        @_icon-font-vertical-align: top,
                                        @_icon-font-position: before
                                    );
                                    .lib-vendor-prefix-display();
                                    align-items: center;
                                    display: none;
                                }
                            }
                        }
                    }
                }
            }
        }

        .mobile-menu-inner {
            padding: 0 @layout__width-xs-indent 0;
            position: relative;

            .sido-reward-points {
                margin-bottom: @indent__base;

                .sido-reward-points-link {
                    .lib-css(font-weight, @navigation-level0-item__font-weight);
                    .lib-css(color, @kemana-primary-brand-color);
                    .lib-icon-font(
                        @icon-Icon-People,
                        @_icon-font: @icon-font,
                        @_icon-font-color: @kemana-primary-brand-color,
                        @_icon-font-size: 17px,
                        @_icon-font-margin: 0 6px 0 0,
                        @_icon-font-position: before
                    );
                }
            }

            .language-currency-wrapper {
                vertical-align: top;

                .language-currency-block {
                    .language-flag {
                        vertical-align: top;
                        margin: 0;
                    }

                    .currency {
                        .lib-css(font-weight, @navigation-level0-item__font-weight);

                        &:after {
                            margin-left: @indent__xs;
                        }
                    }
                }

                .language-currency-dropdown {
                    right: inherit;
                }
            }
        }

        .nav-toggle {
            &:after {
                background: rgba(0, 0, 0, @overlay__opacity);
                content: '';
                display: block;
                height: 100%;
                position: fixed;
                right: 0;
                top: 0;
                width: 100%;
                z-index: 1;
            }
        }
    }

    .nav-sections {
        -webkit-overflow-scrolling: touch;
        .lib-css(transition, left .3s, 1);
        height: 100%;
        left: calc(~'-1 * (100% - @{active-nav-indent})');
        overflow: auto;
        position: fixed;
        top: 0;
        width: calc(~'100% - @{active-nav-indent}');

        .logo {
            display: none;
        }

        .nav-sections-items {
            display: none;
        }

        .switcher-dropdown {
            .lib-list-reset-styles();
            display: none;
            padding: @indent__s 0;
        }

        .switcher-options {
            &.active {
                .switcher-dropdown {
                    display: block;
                }
            }
        }

        .header.links {
            .lib-list-reset-styles();
            border-bottom: 1px solid @color-gray82;

            li {
                font-size: 1.6rem;
                margin: 0;

                &.greet.welcome {
                    border-top: 1px solid @color-gray82;
                    font-weight: @font-weight__bold;
                    padding: .8rem @indent__base;
                }

                > a {
                    border-top: 1px solid @color-gray82;
                }
            }

            a,
            a:hover {
                .lib-css(color, @navigation-level0-item__color);
                .lib-css(text-decoration, @navigation-level0-item__text-decoration);
                display: block;
                font-weight: @font-weight__bold;
                padding: .8rem @indent__base;
            }

            .header.links {
                border: 0;
            }
        }
    }
}

//
//  Mobile
//  _____________________________________________

.media-width(@extremum, @break) when (@extremum = 'max') and (@break = @screen__m) {

    .page-header #megamenu .megamenu-wrapper.tabs-menu.vertical ul.level0 li.level1 .megamenu-inner {
        display: none !important;
    }

    .navigation {
        padding: 0;

        .parent {
            .level-top {
                position: relative;
                .lib-icon-font(
                    @_icon-font-content: @icon-down,
                    @_icon-font-size: 42px,
                    @_icon-font-position: after,
                    @_icon-font-display: block
                );

                &:after {
                    position: absolute;
                    right: 7px;
                    top: -8px;
                }

                &.ui-state-active {
                    .lib-icon-font-symbol(
                        @_icon-font-content: @icon-up,
                        @_icon-font-position: after
                    );
                }
            }
        }
    }

    .nav-sections-items {
        .lib-clearfix();
        position: relative;
        z-index: 1;
    }

    .nav-sections-item-title {
        background: darken(@navigation__background, 5%);
        border: solid darken(@navigation__background, 10%);
        border-width: 0 0 1px 1px;
        box-sizing: border-box;
        float: left;
        height: 71px;
        padding-top: 24px;
        text-align: center;
        width: 33.33%;
        display: none;

        &.active {
            background: transparent;
            border-bottom: 0;
        }

        .nav-sections-item-switch {
            &:hover {
                text-decoration: none;
            }
        }
    }

    .nav-sections-item-content {
        .lib-clearfix();
        box-sizing: border-box;
        float: right;
        margin-left: -100%;
        width: 100%;

        &.active {
            display: block;
        }
    }

    .lib-main-navigation();
}

//
//  Desktop
//  _____________________________________________

.media-width(@extremum, @break) when (@extremum = 'min') and (@break = @screen__m) {
    .nav-sections {
        .lib-vendor-prefix-flex-shrink(0);
        .lib-vendor-prefix-flex-basis(auto);
        margin-bottom: @indent__m;
    }

    .nav-sections-item-title {
        display: none;
    }

    .nav-sections-item-content {
        > .navigation {
            display: block;
        }
    }

    .panel.header {
        .links,
        .switcher {
            display: inline-block;
        }
    }

    .nav-open {
        .page-wrapper {
            .header-left {
                > .nav-toggle {
                    top: 0;
                }
            }
        }
    }
}

//
//  Desktop Large
//  _____________________________________________

.media-width(@extremum, @break) when (@extremum = 'min') and (@break = @screen__l) {

    .page-header #megamenu .megamenu-wrapper.tabs-menu.vertical ul.level0 li.level1 .megamenu-inner {
        display: unset !important;

    }

    .nav-toggle {
        display: none;
    }

    .nav-sections {
        .nav-sections-items {
            display: block;
        }
    }

    .nav-sections-item-content {
        display: block !important;
    }

    .nav-sections-item-content > * {
        display: none;
    }

    .lib-main-navigation-desktop();
}
