115 lines
2.0 KiB
CSS
115 lines
2.0 KiB
CSS
: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;
|
|
}
|
|
}
|