Files
web/components/Header/MainMenu/MobileMenu/mobileMenu.module.css
2024-09-03 13:26:15 +02:00

110 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.2s;
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);
}
@media screen and (min-width: 768px) {
.hamburger {
display: none;
}
}
.overlay {
position: absolute;
top: var(--main-menu-mobile-height);
bottom: 0;
left: 0;
right: 0;
}
.modal {
position: fixed;
right: auto;
top: var(--main-menu-mobile-height);
bottom: 0;
width: 100%;
background-color: var(--Base-Surface-Primary-light-Normal);
}
.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);
}