/* ############################
## MOBILE MENU
############################ */


@media all and (max-width:1100px) {
    .l-header-mobile__hamburger {
        margin: 0 0 0 32px;
    }
    .c-mobile-menu {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        width: 32px;
        height: 32px
    }
    .e-mobile-menu__hamburger {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        align-items: center;
        position: absolute;
        top: calc(50% - 16px);
        right: 16px;
        width: 32px;
        height: 32px;
        z-index: 60;
        transition: top .3s;
    }
    .e-mobile-menu__hamburger-blocks {
        padding: 0;
        border: 0;
        background-color: transparent;
        cursor: pointer;
    }
    .e-mobile-menu__hamburger-block {
        position: absolute;
        width: 32px;
        height: 3px;
        top: 14px;
        -webkit-transition: background-color .3s;
        transition: background-color .3s;
    }
    .e-mobile-menu__hamburger-block:before,
    .e-mobile-menu__hamburger-block:after {
        display: block;
        position: absolute;
        width: 32px;
        height: 3px;
        content: '';
        transition: top .15s .15s ease-in-out, bottom .15s .15s ease-in-out, background-color .3s, transform .15s;
    }
    .e-mobile-menu__hamburger-block:before {
        top: -12px;
    }
    .e-mobile-menu__hamburger-block:after {
        bottom: -12px;
    }
    .c-mobile-menu-wrapper {
        display: flex;
        width: 100%;
        max-width: 350px;
        height: 100%;
        position: fixed;
        top: 0;
        z-index: 100;
        padding: 0;
        box-sizing: border-box;
        overflow: hidden;
        background-color: rgba(0, 0, 0, .16);
    }
    .e-mobile-menu__content {
        position: absolute;
        width: 100%;
        height: 100%;
        overflow: hidden;
        padding: 16px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    /* .mobile-menu-align-right .e-mobile-menu__content {
        padding: 48px 16px 16px 16px;
    } */
    .e-mobile-menu__menu::-webkit-scrollbar {
        width: 4px;
    }
    .e-mobile-menu__menu {
        width: 100%;
        height: 100%;
        overflow-Y: auto;
    }
    
    .e-mobile-menu__menu .menu {
        width: 100%;
    }
    
    .e-mobile-menu__menu a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        justify-content: space-between;
        align-items: center;
        text-transform: uppercase;
        font-weight: 700;
        text-decoration: none;
        padding: 8px;
        font-size: 14px;
        line-height: 18px;
        transition: background-color .3s, color .3s
    }
    
    .e-mobile-menu__menu .menu> li > a::after {
        content: '';
        display: inline-block;
        -webkit-transition: -webkit-transform .6s;
        transition: -webkit-transform .6s;
        transition: transform .6s;
        transition: transform .6s, -webkit-transform .6s;
        -webkit-transform-style: preserve-3d;
        transform-style: preserve-3d;
        margin: -2px 0 0 0;
        width: 10px;
    }
    .e-mobile-menu__menu .menu>.menu-item-has-children > a::after {
        font-family: "Font Awesome 5 Free";
        content: "\f0d7";
        font-weight: 900;
        font-size: 16px;
        line-height: .8
    }
    
    .c-mobile-menu-wrapper .js-menu-active::after {
        -webkit-transform: rotateX(180deg);
        transform: rotateX(180deg)
    }
    
    .c-mobile-menu-wrapper .sub-menu {
        overflow: hidden;
        max-height: 0;
        transition: max-height .1s;
        margin-left: 16px;
    }
    
    .c-mobile-menu-wrapper .js-mobile-menu-open {
        max-height: 999px;
        height: auto;
        transition: max-height .9s
    }
    .c-mobile-menu-wrapper.mobile-menu-align-left {
        left: 0;
        transform: translateX(-350px);
        transition: transform .3s;
    }

    .l-main-content-wrapper.mobile-menu-align-left {
        transform: translateX(0);
        transition: transform .3s;
    }

    /* .c-mobile-menu-wrapper.mobile-menu-align-right {
        right: 0;
        transform: translateX(350px);
        transition: transform .3s;
    }
    
    .l-main-content-wrapper.mobile-menu-align-right {
        transform: translateX(0);
        transition: transform .3s;
    }
 */
    .l-mobile-menu-additional-menu {
        padding-right: 16px;
        margin-right: 16px;
        border-right-width: 1px;
        border-right-style: solid;
        margin-top: 10px;
    }
    .l-mobile-menu-additional-menu__item {
        margin-bottom: 32px;
    }
    .l-mobile-menu-additional-menu__item:last-child {
        margin-bottom: 0;
    }

    .l-mobile-menu-additional-menu .c-social-media {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    .l-header .l-mobile-menu-additional-menu .c-social-media .e-social-media__item {
        margin-right: 0;
        margin-bottom: 16px;
        width: auto;
        height: auto;
        padding: 0;
        border: none;
        border-color: none;
    }
    .l-header .l-mobile-menu-additional-menu .c-social-media .e-social-media__item:last-child {
        margin-bottom: 0;
    }
    .l-mobile-menu-additional-menu .wpml-ls-legacy-list-horizontal>ul {
        align-items: center;
        flex-direction: column;
    }

    .l-mobile-menu-additional-menu__item .wpml-ls-item:last-child .wpml-ls-link {
        margin-bottom: 0;
    }
}

@media all and (max-width:425px) {
    .c-mobile-menu-wrapper {
        max-width: 260px;
    }

    .js-mobile-wrapper--active.mobile-menu-align-left {
        transform: translateX(0);
    }

    .js-mobile-menu-body--active .mobile-menu-style-1.mobile-menu-align-left {
        transform: translateX(260px);
        transition: transform .3s;
    }

    /* .js-mobile-wrapper--active.mobile-menu-align-right {
        transform: translateX(0);
    }

    .js-mobile-menu-body--active .mobile-menu-style-1.mobile-menu-align-right {
        transform: translateX(-260px);
        transition: transform .3s;
    } */
}

/* ----------------------------
-- JS classes
---------------------------- */
@media all and (max-width:1100px) {
    .js-hamburger--active .e-mobile-menu__hamburger {
        transition: top .3s;
    }
    .js-hamburger--active .e-mobile-menu__hamburger-block,
    .on-scroll .js-hamburger--active .e-mobile-menu__hamburger-block {
        background-color: unset !important;
    }
    .js-hamburger--active .e-mobile-menu__hamburger-block:before {
        top: 0px;
        transform: rotate(45deg);
        transition: top .15s ease-in-out, transform .15s .15s;
    }
    .js-hamburger--active .e-mobile-menu__hamburger-block:after {
        bottom: 0px;
        transform: rotate(-45deg);
        transition: bottom .15s ease-in-out, transform .15s .15s;
    }
    .js-mobile-menu-body--active {
        max-width: 180%;
    }
    .js-mobile-body-prevent-scroll {
        overflow: hidden;
    }

    .js-mobile-wrapper--active.mobile-menu-align-left {
        transform: translateX(0);
    }

    .js-mobile-menu-body--active .mobile-menu-style-1.mobile-menu-align-left {
        transform: translateX(350px);
        transition: transform .3s;
    }

    /* .js-mobile-wrapper--active.mobile-menu-align-right {
        transform: translateX(0);
    }
    .js-mobile-menu-body--active .mobile-menu-style-1.mobile-menu-align-right {
        transform: translateX(-350px);
        transition: transform .3s;
    } */

    .js-mobile-menu-body--active .l-header--style-1 .l-header-mobile,
    .js-mobile-menu-body--active .l-header--style-1 .on-scroll .l-header-mobile,
    .js-mobile-menu-body--active .l-header--style-2 .l-header-mobile,
    .js-mobile-menu-body--active .l-header--style-2 .on-scroll .l-header-mobile,
    .js-mobile-menu-body--active .l-header--style-3 .l-header-mobile,
    .js-mobile-menu-body--active .l-header--style-3 .on-scroll .l-header-mobile,
    .js-mobile-menu-body--active .l-header,
    .js-mobile-menu-body--active .on-scroll.l-header {
        background-color: unset;
        box-shadow: none;
        top: 0 !important;
    }

    .js-mobile-menu-body--active .l-header-mobile .l-header-logo,
    .js-mobile-menu-body--active .l-header-mobile .l-header-mobile__menu {
        display: none;
    }

    .js-mobile-menu-body--active .l-center--header {
        justify-content: flex-end;
    }

    .js-mobile-menu-body--active main:after {
        opacity: 1;
        z-index: 130;
    }
}

@media all and (max-width:425px) {
    .js-mobile-wrapper--active.mobile-menu-align-left {
        transform: translateX(0);
    }
    .js-mobile-menu-body--active .mobile-menu-style-1.mobile-menu-align-left {
        transform: translateX(260px);
        transition: transform .3s;
    }
    /* .js-mobile-wrapper--active.mobile-menu-align-right {
        transform: translateX(0);
    }
    .js-mobile-menu-body--active .mobile-menu-style-1.mobile-menu-align-right {
        transform: translateX(-260px);
        transition: transform .3s;
    } */
}

/* ############################
## DESKTOP MENU
############################ */

.c-desktop-menu {
    display: none
}
@media all and (min-width:1100px) {
    .c-mobile-menu-wrapper {
        display: none;
    }
    .c-desktop-menu {
        display: flex;
        align-items: center;
    }
    .l-header-desktop--layout-3 .c-desktop-menu {
        width: 100%;
        display: flex;
    }
    .l-header-desktop--layout-3 .c-desktop-menu:first-of-type {
        justify-content: flex-end;
    }
    .c-desktop-menu .menu-item-has-children {
        position: relative;
    }
    .l-header-desktop--layout-3 .c-desktop-menu li.menu-item-has-children:nth-last-of-type(2) .sub-menu {
        right: unset;
    }
    .c-desktop-menu .menu {
        width: 100%;
        display: flex;
        margin: 0;
        padding: 0;
        align-items: center
    }
    .c-desktop-menu .menu>li:first-child {
        margin-left: 0;
    }
    .l-header-desktop--layout-2 .c-desktop-menu .menu > li:after,
    .l-header-desktop--layout-2 .c-desktop-menu .menu > li.current_page_item:after {
        opacity: 0;
    }
    .c-desktop-menu a {
        font-size: 12px;
        font-weight: 800;
        text-decoration: none;
        text-transform: uppercase;
        display: flex;
        align-items: center;
        z-index: 10;
    }
    .c-desktop-menu .menu > li {
        position: relative;
    }
    .c-desktop-menu .menu > li > a {
        position: relative;
        text-align: center;
        box-sizing: border-box;
        padding: 0 8px;
        height: 192px;
        transition: background-color .3s, color .3s, max-height .3s;
    }

    .c-desktop-menu--style-2 .menu > li::before,
    .c-desktop-menu--style-3 .menu > li::before,
    .c-desktop-menu--style-2 .menu > li::after,
    .c-desktop-menu--style-3 .menu > li::after {
        content: '';
        position: absolute;
        left: 0;
        width: 100%;
        opacity: 0;
        transition: opacity .3s;
    }
    .c-desktop-menu--style-3 .menu > li::before {
        top: 0;
    }
    .c-desktop-menu--style-2 .menu > li::after,
    .c-desktop-menu--style-3 .menu > li::after {
        bottom: 0;
    }
    .c-desktop-menu--style-2 .menu > li:hover::after,
    .c-desktop-menu--style-2 .menu > li:active::after,
    .c-desktop-menu--style-2 .menu > li.current-menu-item:after,
    .c-desktop-menu--style-2 .menu > li.js-menu-active-wrapper:after {
        opacity: 1;
    }
    .c-desktop-menu--style-3 .menu > li:hover::before,
    .c-desktop-menu--style-3 .menu > li:active::before,
    .c-desktop-menu--style-3 .menu > li:hover::after,
    .c-desktop-menu--style-3 .menu > li:active::after,
    .c-desktop-menu--style-3 .menu > li.current-menu-item::before,
    .c-desktop-menu--style-3 .menu > li.current-menu-item::after,
    .c-desktop-menu--style-3 .menu > li.js-menu-active-wrapper::before,
    .c-desktop-menu--style-3 .menu > li.js-menu-active-wrapper::after {
        opacity: 1;
    }
    .c-desktop-menu > .menu > li:active,
    .c-desktop-menu > .menu > li:hover {
        transition: color .3s;
    }
    .c-desktop-menu .menu>li>.sub-menu {
        overflow: hidden;
        position: absolute;
        opacity: 0;
        visibility: hidden;
        /* transform: translateY(-8px); */
        transition: visibility 1s, transform .3s, opacity .3s, transform .3s, margin .3s;
        box-shadow: 0 8px 48px 0 rgba(0, 0, 0, .16);
        left: 0;
    }
    .c-desktop-menu .menu>li.align-sub-right>.sub-menu {
        left: unset;
        right: 0;
    }
    .c-desktop-menu .menu>li>.sub-menu li a,
    .c-desktop-menu .menu>li>.sub-menu li:hover a,
    .c-desktop-menu .menu>li>.sub-menu li:active a {
        transition: none;
    }
    .c-desktop-menu .menu>li>.sub-menu.js-menu-open {
        opacity: 1;
        visibility: visible;
        max-height: calc(100vh - 128px);
        overflow: auto;
    }
    .c-desktop-menu .sub-menu li {
        border-bottom: 1px solid;
        /* transition: background-color .3s */
    }
    .c-desktop-menu .sub-menu li:last-child {
        border-bottom: none;
    }
    .c-desktop-menu .menu>li.big-menu>.sub-menu {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        width: 420px
    }
    .c-desktop-menu li.big-menu>.sub-menu>li {
        width: 50%;
    }
    .c-desktop-menu .js-menu-open {
        visibility: visible;
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
    .c-desktop-menu .sub-menu a {
        padding: 8px
    }
    .c-desktop-menu .menu>.menu-item-has-children>a::after {
        display: inline-block;
        margin-left: 8px;
        height: 4px;
        font-family: "Font Awesome 5 Free";
        content: "\f0d7";
        font-weight: 900;
        -webkit-transition: -webkit-transform .3s;
        transition: -webkit-transform .3s;
        transition: transform .3s, -webkit-transform .3s;
        font-size: 12px;
        line-height: 4px
    }
    .c-desktop-menu .js-menu-active::after {
        -webkit-transform: rotateX(180deg);
        transform: rotateX(180deg)
    }

    .c-desktop-menu .menu>.wide-menu {
        position: unset;
    }
    .c-desktop-menu .menu>.wide-menu>.sub-menu {
        display: grid;
        position: absolute;
        left: 0;
        box-sizing: border-box;
    }
    .c-desktop-menu .menu>.wide-menu--2>.sub-menu {
        width: 50vw;
        margin-left: 25vw;
        grid-template-columns: repeat(2, 1fr);
    }
    .c-desktop-menu .menu>.wide-menu--3>.sub-menu {
        width: 70vw;
        margin-left: 15vw;
        grid-template-columns: repeat(3, 1fr);
    }
    .c-desktop-menu .menu>.wide-menu--4>.sub-menu {
        width: 80vw;
        margin-left: 20vw;
        grid-template-columns: repeat(4, 1fr);
    }
    .c-desktop-menu .sub-menu .wide-menu-header {
        border-bottom: none;
    }
    .wide-menu-header > a {
        cursor: text;
    }
    .wide-menu-header > a:hover {
        background-color: none;
    }
    .c-desktop-menu .menu > .wide-menu > .sub-menu > .wide-menu-header > a:hover,
    .c-desktop-menu .menu > .wide-menu > .sub-menu > .wide-menu-header > a:active {
        background-color: unset;
    }
}

@media all and (min-width:1100px) {
    .l-header-mobile__hamburger {
        display: none;
    }
}

.js-menu-hide {
    display: none;
}