.hy-menu-level-container { &--mobile { background-color: var(--grayscale-white); display: block; height: 0; left: 0; position: absolute; top: 0; transform: translateX(100%); transition: transform 0.3s ease-in-out, visibility 0.3s ease-in-out, opacity 0.3s ease-in-out; visibility: hidden !important; width: 100%; &.is-open { height: auto; transform: translateX(0); visibility: visible !important; } &.hy-menu-level-container--level-1 { padding-top: 8px; position: relative; &:before { background-color: var(--brand-main-light); content: ''; display: block; height: 3px; left: 12px; position: absolute; right: 12px; top: 0; @include breakpoint($narrow) { left: 28px; right: 28px; } } } } &--desktop { align-items: flex-start; display: flex; flex-flow: column; //max-width: 500px; // ?? Ask Mikko width: 100%; &.is-open { display: block; visibility: visible; } &:not(.hy-menu-level-container--level-1):not(.hy-menu-level-container--level-2) { display: none; } &.hy-menu-level-container--level-2 { background-color: var(--grayscale-background-box); } } &--sidepanel { background-color: var(--grayscale-white); border-left: 1px solid rgba(0, 0, 0, 0.2); display: flex; flex-direction: column; height: 100vh; left: 0; margin: 0; max-width: 320px; padding-left: 13px; padding-right: 13px; padding-top: 240px; position: absolute; top: 0; visibility: visible; width: 20%; z-index: 123; &:not(.hy-menu-level-container--level-1) { display: none; min-height: var(--minHeight); transform: translateX(calc(100% - 1px)); &.active-trail-panel, &.is-open { display: flex; max-width: 320px; width: 20vw; } } &.is-open, &.active-trail-panel { height: 100%; min-height: var(--minHeight); } } &--sidenav { flex-flow: column; margin: 0; padding: 0; position: relative; &:not(.hy-menu-level-container--level-1) { opacity: 0; visibility: hidden; &.is-closed { animation-direction: normal; animation-duration: 0.25s; animation-fill-mode: backwards; animation-name: slide-panel-in; } &.is-open { animation-direction: normal; animation-duration: 0.25s; animation-fill-mode: forwards; animation-name: slide-panel-in; display: flex; max-width: 320px; opacity: 1; visibility: visible; width: 20vw; } } &.is-open.is-open-on-top { display: none; transform: none !important; } &:not(.hy-menu-level-container--level-1).hy-menu-level-container.is-open { max-width: 320px; width: 20vw; } .hy-menu-level-container--level-1 { display: flex; width: 100%; } &:not(.hy-menu-level-container--level-1) { background-color: var(--grayscale-white); border-left: 1px solid rgba(0, 0, 0, 0.2); display: flex; flex-direction: column; height: 100vh; left: 0; margin: -100vh 0; max-width: 320px; min-height: var(--minHeight); padding-left: 13px; padding-right: 13px; position: absolute; transform: translateX(calc(100% - 1px)); width: 20vw; z-index: 123; &.hy-menu-level-container--level-2 { transform: translateX(100%) !important; } } .hy-menu-level-container--level-2 { margin: -100vh 0; padding: 100vh 13px; top: 0; } .hy-menu-level-container--level-3, .hy-menu-level-container--level-4, .hy-menu-level-container--level-5, .hy-menu-level-container--level-6, .hy-menu-level-container--level-7 { padding: 100vh 13px; top: 100vh; } } } @keyframes slide-panel-in { from { display: none; opacity: 0; transform: translateX(0); z-index: 1; } 25% { display: flex; } 35% { transform: translateX(calc(100% - 1px)); } to { opacity: 1; z-index: 123; } } @keyframes slide-panel-out { from { transform: translateX(100%); opacity: 1; z-index: 123; } 25% { transform: translateX(0); } 95% { opacity: 0; z-index: 1; } to { display: none; } }