104 lines
1.6 KiB
CSS
104 lines
1.6 KiB
CSS
@keyframes slide-in {
|
|
from {
|
|
right: -100vw;
|
|
}
|
|
|
|
to {
|
|
right: 0;
|
|
}
|
|
}
|
|
|
|
.hamburger {
|
|
background-color: transparent;
|
|
border: none;
|
|
cursor: pointer;
|
|
justify-self: flex-start;
|
|
padding: 11px 8px 16px;
|
|
user-select: none;
|
|
}
|
|
|
|
.bar,
|
|
.bar::after,
|
|
.bar::before {
|
|
background: var(--Base-Text-High-contrast);
|
|
border-radius: 2.3px;
|
|
display: inline-block;
|
|
height: 3px;
|
|
position: relative;
|
|
transition: all 0.3s;
|
|
width: 32px;
|
|
}
|
|
|
|
.bar::after,
|
|
.bar::before {
|
|
content: "";
|
|
left: 0;
|
|
position: absolute;
|
|
transform-origin: 2.286px center;
|
|
}
|
|
|
|
.bar::after {
|
|
top: -8px;
|
|
}
|
|
|
|
.bar::before {
|
|
top: 8px;
|
|
}
|
|
|
|
.isExpanded .bar {
|
|
background: transparent;
|
|
}
|
|
|
|
.isExpanded .bar::after,
|
|
.isExpanded .bar::before {
|
|
top: 0;
|
|
transform-origin: 50% 50%;
|
|
width: 32px;
|
|
}
|
|
|
|
.isExpanded .bar::after {
|
|
transform: rotate(-45deg);
|
|
}
|
|
|
|
.isExpanded .bar::before {
|
|
transform: rotate(45deg);
|
|
}
|
|
|
|
.modal {
|
|
position: fixed;
|
|
top: var(--main-menu-mobile-height);
|
|
right: auto;
|
|
bottom: 0;
|
|
width: 100%;
|
|
background-color: var(--Base-Surface-Primary-light-Normal);
|
|
transition: right 0.3s;
|
|
z-index: var(--menu-overlay-z-index);
|
|
}
|
|
|
|
.modal[data-entering] {
|
|
animation: slide-in 0.3s;
|
|
}
|
|
.modal[data-exiting] {
|
|
animation: slide-in 0.3s reverse;
|
|
}
|
|
|
|
.dialog {
|
|
height: 100%;
|
|
overflow-y: auto;
|
|
display: grid;
|
|
align-content: space-between;
|
|
}
|
|
|
|
.footer {
|
|
background-color: var(--Base-Surface-Subtle-Normal);
|
|
padding: var(--Spacing-x4) var(--Spacing-x2);
|
|
display: grid;
|
|
gap: var(--Spacing-x2);
|
|
}
|
|
|
|
@media screen and (min-width: 768px) {
|
|
.hamburger {
|
|
display: none;
|
|
}
|
|
}
|