body.js-menu-no-scroll {
    overflow: hidden !important;
    height: 100vh !important;
}

.js-menu-control-out-right {
    transform: translateX(120%);
    opacity: 0;
}

.js-menu-control-in-right {
    transform: translateX(0);
    opacity: 1;
}

.js-menu-control-out-left {
    transform: translateX(-120%);
    opacity: 0;
    pointer-events: none;
}

.js-menu-control-in-left {
    transform: translateX(0);
    opacity: 1;
    pointer-events: auto;
}

.js-menu-search-icon-in {
    transform: translateX(0) scale(1);
    opacity: 1;
    pointer-events: auto;
}

.js-menu-search-icon-out {
    transform: translateX(150%) scale(0.7);
    opacity: 0;
    pointer-events: none;
}

.disable-search-cancel-button::-webkit-search-cancel-button {
    display: none;
}

#primary-menu.js-menu-nav,
.js-menu-search-form,
.js-menu-lang-panel {
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    padding-top: 0;
    padding-bottom: 0;
    transition: max-height 0.35s ease,
    opacity 0.35s ease,
    padding 0.35s ease;
}

#primary-menu.js-menu-nav.js-menu-nav-open {
    max-height: 100vh;
    opacity: 1;
    padding-top: 30px;
}

#primary-menu.js-menu-nav > li > a {
    display: block;
    padding: 12px 15px;
    @media (min-width: 1024px) {
        padding: 0;
    }

}

.js-menu-search-form.js-menu-search-open {
    max-height: 180px;
    opacity: 1;
}

.js-menu-lang-panel.js-menu-lang-open {
    max-height: 200px;
    opacity: 1;
    padding-top: 60px;
    padding-bottom: 60px;
}
