// main: ../global.less
body {
    .menu {
        background: rgba(255,255,255,0.8);
        z-index: 99;
        position: relative;
        &.desktop {
            position: absolute;
            width: 100%;
            min-height: 60px;
            &.sticky {
                position: fixed;
                top: 0;
                z-index: 9;
            }
            .logo {
                padding-top: 10px;
                padding-bottom: 10px;
                img {
                    max-height: 80px;
                }
            }
            .menu-container, .menu-col {
                position: static;
            }
            .menu-items {
                height: 100%;
                #menu-close {
                    display: none;
                }
                .menu-item {
                    display: inline-block;
                    position: relative;
                    height: 100%;
                    &.has-mega-menu {
                        position: static;
                    }
                    .menu-link {
                        padding: 0 30px;
                        display: block;
                        color: #000;
                        text-decoration: none;
                        text-transform: uppercase;
                        font-weight: 600;
                        transition: opacity .3s ease-in-out;
                        .menu-text {
                            border-top: 3px solid transparent;
                            border-bottom: 3px solid transparent;
                            display: inline-block;
                            line-height: 2;
                            vertical-align: middle;
                            white-space: nowrap;
                        }
                        &:hover {
                            opacity: .75;
                        }
                    }
                    .sub-menu-toggler, .sub-sub-menu-toggler {
                        display: none;
                    }
                    .sub-menu {
                        display: none;
                        padding: 15px 0;
                        left: 0;
                        background: #fff;
                        position: absolute;
                        min-width: 100%;
                        width: auto;
                        white-space: nowrap;
                        box-shadow: 0px 2px 5px #888;
                        z-index: 99;
                        .sub-menu-link {
                            color: #000;
                            display: block;
                            text-transform: uppercase;
                            padding: 5px 0;
                            font-weight: 500;
                            text-decoration: none;
                        }
                        .sub-menu-container {
                            position: relative;
                            padding: 0 15px;
                            .sub-sub-menu {
                                display: none;
                                position: absolute;
                                left: 100%;
                                top: -5px;
                                background: #fff;
                                box-shadow: 4px 3px 5px -3px #888;
                                padding: 10px;
                                .sub-sub-menu-link {
                                    display: block;
                                    white-space: nowrap;
                                    color: #000;
                                    text-decoration: none;
                                    text-transform: uppercase;
                                    margin-bottom: 3px;
                                }
                            }
                            &:hover .sub-sub-menu {
                                display: block;
                            }
                        }
                    }
                    .mega-menu {
                        background: #fff;
                        position: absolute;
                        left: 0;
                        top: 100%;
                        width: 100%;
                        padding-top: 30px;
                        padding-bottom: 30px;
                        display: none;
                        box-shadow: 0px 3px 10px #888;
                        z-index: 98;
                        .mega-menu-sub-toggler {
                            display: none;
                        }
                        .mega-menu-elements {
                            display: flex;
                            flex-wrap: nowrap;
                            .mega-menu-group {
                                -ms-flex: 0 0 16.666667%;
                                flex: 0 0 16.666667%;
                                max-width: 16.666667%;
                                &:first-child {
                                    margin-left: auto;
                                }
                                &:last-child {
                                    margin-right: auto;
                                }
                            }
                        }
                        ul {
                            padding-left: 0;
                            list-style: none;
                            margin: 0;
                        }
                        .mega-menu-group {
                            padding-bottom: 5px;
                            border: none;
                            text-align: left;
                            &.has-child {
                                padding-bottom: 20px;
                            }
                            .mega-menu-item {
                                margin-bottom: 15px;
                                font-weight: 600;
                            }
                            .mega-menu-child-item {
                                margin-bottom: 5px;
                            }
                            .mega-menu-item, .mega-menu-child-item {
                                color: #000;
                                text-transform: uppercase;
                                text-decoration: none;
                                display: block;
                            }
                        }
                    }
                    &:hover {
                        .sub-menu, .mega-menu {
                            display: block;
                        }
                    }
                }
            }
            .icones {
                position: static;
                .menu-icon {
                    position: relative;
                    &#search-bar-toggler {
                        position: static;
                    }
                }
            }
            #branches, #compte {
                width: auto;
                right: 0;
                transform: translateX(50%);
            }
        }
        &.mobile {
            &.sticky {
                position: fixed;
                top: 0;
                z-index: 9;
                width: 100%;
            }
            .menu-items-container {
                padding: 10px 0;
            }
            .menu-items {
                position: fixed;
                right: -100%;
                top: 0;
                height: 100vh;
                background: #fff;
                width: 320px;
                max-width: 85vw;
                z-index: 100;
                transition: right .3s ease-in-out;
                padding-bottom: 60px;
                box-shadow: 0px 0px 10px #444;
                overflow-y: auto;
                text-align: center;
                &::-webkit-scrollbar {
                    width: 0px;
                    background: transparent; /* Chrome/Safari/Webkit */
                }
                scrollbar-width: none; /* Firefox */
                -ms-overflow-style:none; /* IE 10+ */
                #menu-close {
                    padding: 10px 15px;
                    border-bottom: 2px solid #ababab;
                    transition: opacity .3s;
                    text-transform: uppercase;
                    &:hover {
                        cursor: pointer;
                        opacity: .75;
                    }
                }
                &.active {
                    right: 0;
                }
                .menu-item {
                    .menu-link-container, .sub-menu-link-container {
                        position: relative;
                        .menu-link {
                            height: auto!important;
                            line-height:1em!important;
                            display: block;
                            padding: 15px;
                            text-decoration: none;
                            position: relative;
                            border-bottom: 2px solid #ababab;
                            .menu-text {
                                color: #000;
                                text-transform: uppercase;
                                font-weight: 600;
                            }
                        }
                        .sub-menu-toggler, .sub-sub-menu-toggler {
                            position: absolute;
                            height: ~"calc(100% - 2px)";
                            top: 0;
                            width: 40px;
                            right: 0;
                            display: flex;
                            align-items: center;
                            justify-content: center;
                            transition: opacity .3s;
                            background: #ababab;
                            color: #fff;
                            &:hover {
                                cursor: pointer;
                                opacity: .75;
                            }
                        }
                        .sub-sub-menu-toggler {
                            background: #ccc;
                            height: 100%;
                        }
                    }
                    .sub-menu {
                        >div:last-child {
                            border-bottom: none;
                        }
                        .sub-sub-menu {
                            padding: 0;
                            list-style: none;
                            display: none;
                            margin: 0;
                            border-bottom: 1px solid #ccc;
                        }
                    }
                    .sub-menu-link-container {
                        border-bottom: 1px solid #ccc;
                    }
                    .sub-menu, .mega-menu {
                        display: none;
                        border-bottom: 2px solid #ababab;
                    }
                    .mega-menu {
                        .container-fluid {
                            padding: 0;
                            .mega-menu-elements {
                                flex-wrap: wrap;
                                .mega-menu-group {
                                    border: none;
                                    border-radius: 0;
                                    list-style: none;
                                    padding: 0;
                                    margin: 0;
                                    -ms-flex: 0 0 100%;
                                    flex: 0 0 100%;
                                    max-width: 100%;
                                    >li {
                                        .mega-menu-item-container {
                                            position: relative;
                                            border-bottom: 1px solid #ccc;
                                        }
                                        .mega-menu-sub-toggler {
                                            position: absolute;
                                            right: 0;
                                            top: 0;
                                            display: flex;
                                            justify-content: center;
                                            align-items: center;
                                            height: 100%;
                                            background: #ccc;
                                            width: 40px;
                                            transition: opacity .3s;
                                            color: #fff;
                                            &:hover {
                                                cursor: pointer;
                                                opacity: .75;
                                            }
                                        }
                                    }
                                    &:last-child {
                                        >li {
                                            .mega-menu-item-container {
                                                border-bottom: none;
                                            }
                                        }
                                        .mega-menu-child {
                                            border-bottom: none;
                                        }
                                    }
                                    .mega-menu-child {
                                        padding: 0;
                                        list-style: none;
                                        display: none;
                                        margin: 0;
                                        border-bottom: 1px solid #ccc;
                                    }
                                }
                            }
                        }
                    }
                    .sub-sub-menu-link, .sub-menu-link, .mega-menu-item, .mega-menu-child-item {
                        color: #000;
                        display: block;
                        padding: 10px 15px;
                        text-transform: uppercase;
                        &:hover {
                            text-decoration: none;
                            color: #000;
                        }
                    }
                }
            }
            .icones {
                position: static;
                .menu-icon {
                    margin-left: 20px;
                    position: static;
                    &#menu-items-toggler {
                        display: inline-block;
                    }
                }
            }
            #branches, #compte {
                top: 100%;
                right: 15px;
                width: auto;
            }
        }
        // Apply to mobile and desktop
        .icones {
            .menu-icon {
                display: inline-block;
                margin-left: 30px;
                > a {
                    color: #000;
                    display: inline-block;
                    &:hover {
                        text-decoration: none;
                    }
                }
                &#menu-items-toggler {
                    display: none;
                }
            }
        }
        .logo {
            img {
                max-width: 215px;
            }
        }
        #branches {
            position: absolute;
            background:#fff;
            white-space: nowrap;
            line-height: 1em;
            font-size: 12px;
            text-align: left;
            box-shadow: 0 2px 5px #888;
            padding: 15px;
            z-index: 9;
            .branch {
                margin-bottom: 30px;
                &:last-child {
                    margin-bottom: 0;
                }
                a {
                    color: #000;
                    &:hover {
                        text-decoration: none;
                    }
                }
                .succursale {
                    font-weight: 600;
                    text-transform: uppercase;
                    margin-bottom: 5px;
                }
                .adresse {
                    margin-bottom: 5px;
                }
                .tel {
                    margin-bottom: 0;
                }
                .heures {
                    text-decoration: underline;
                    margin-top: 15px;
                    margin-bottom: 0;
                }
            }
        }
        #compte {
            position: absolute;
            background:#fff;
            white-space: nowrap;
            font-size: 12px;
            text-align: center;
            box-shadow: 0 2px 5px #888;
            padding: 15px;
            z-index: 9;
            line-height: 1.5;
            a {
                color: #000;
                display: block;
                text-transform: uppercase;
                padding: 5px 0;
                font-weight: 500;
                text-decoration: none;
            }
        }
    }
}
@media screen and (max-width: 575px){
    body {
        .menu.mobile, menu.desktop {
            &.sticky {
                position: relative;
                top: 0;
            }
            .menu-items-container {
                padding: 10px 0 0 0;
            }
            .logo {
                margin-bottom: 5px;
            }
            .icones {
                display: flex;
                padding-top: 10px;
                padding-bottom: 10px;
                &.sticky {
                    position: fixed;
                    top: 0;
                    z-index: 9;
                }
                .menu-icon {
                    flex-grow: 1;
                    flex-basis: 0;
                    margin-left: 0;
                }
            }
            #branches, #compte {
                width: 100%;
                right: 0;
                text-align: center;
            }
        }
    }
}