:root { --nav-submenu-max-width: var(--container-width); --nav-submenu-bg: var(--color-surface); } .nav-submenu { display: grid; list-style: none; width: 100%; max-height: 0; opacity: 1; overflow: hidden; pointer-events: none; transform: translateY(-4px); transition: max-height 250ms ease, opacity 180ms ease, transform 180ms ease; background-color: var(--nav-bg); } .nav-submenu.open { max-height: var(--submenu-h); opacity: 1; pointer-events: auto; transform: translateY(0); } .nav-submenu-inner { width: 100%; height: auto; } .nav-submenu-list { width: var(--nav-submenu-max-width); margin: 0 auto; } .nav-sub-toggle { display: flex; align-items: center; height: 100%; width: 100%; padding: 12px 16px; background-color: inherit; border: 0; text-align: left; cursor: pointer; font: inherit; color: inherit; height: var(--nav-h); } .nav-item-with-sub { display: flex; flex-direction: column; } .nav-submenu > li { padding: 0; } .nav-submenu > li a { padding: 12px 24px; } @media (min-width: 1024px) { .nav-submenu { position: fixed; left: 0; right: 0; top: var(--nav-h); pointer-events: none; box-shadow: 0 4px 6px -6px rgb(0 0 0 / 30%); opacity: 0; transform: translateY(-8px); transition: max-height 300ms, opacity 300ms, transform 300ms ease; } .nav-submenu.open { opacity: 1; } .nav-submenu > li { padding: 0; } .nav-submenu > li a { padding: 0; } .nav-submenu-list { width: min(100%, var(--nav-submenu-max-width)); margin: 0 auto; display: grid; grid-auto-flow: column; grid-template-rows: repeat(3, auto); grid-auto-columns: minmax(180px, max-content); column-gap: 48px; row-gap: 16px; justify-content: start; align-items: start; padding: 24px 24px 48px 24px; font-size: 16px; font-weight: 500; } .nav-sub-toggle { position: relative; padding: 16px 8px; } }