nightTab/css/menu.css

179 lines
2.7 KiB
CSS
Executable File

.menu {
padding: 1em;
position: fixed;
top: 0;
right: 0;
width: 100%;
height: 80vh;
transform: translateY(calc(-100% - 2em));
transition: transform var(--animation-speed-fast) ease-in-out;
z-index: var(--z-index-menu);
pointer-events: none;
}
.menu:focus {
outline: none;
}
.is-menu-open .menu {
transform: translateY(0);
}
.menu-area {
background-color: rgb(var(--gray-01));
border-radius: var(--radius);
width: 100%;
max-height: 100%;
overflow-y: auto;
pointer-events: all;
opacity: 1;
transition: background-color var(--animation-speed-fast) ease-in-out, opacity var(--animation-speed-fast) ease-in-out;
}
.is-edge .menu-area {
opacity: 0.2;
}
.menu-nav {
display: flex;
flex-direction: row;
}
.menu-nav-area {
display: flex;
flex-direction: row;
flex-wrap: wrap;
align-items: flex-start;
}
.menu-nav-area-grow {
flex-grow: 1;
}
.menu-nav:not(:last-child) {
margin: 0;
}
.menu-content-area {
display: grid;
grid-template-columns: 1fr;
}
.menu-item {
position: relative;
z-index: 1;
}
.menu-item:not(:last-child) {
border-bottom: var(--menu-border);
}
.menu-item-header {
padding: 2em;
}
.menu-item-header-text {
margin-bottom: 0;
}
.menu-item-form {
padding: 0 2em 2em 4em;
}
.menu-close {
background-color: transparent;
margin: 0;
padding-top: 0.75em;
padding-bottom: 0.75em;
border-radius: 0 var(--radius) 0 0;
}
.menu-nav-button {
background-color: transparent;
margin: 0;
padding-top: 1em;
padding-bottom: 1em;
border-radius: 0;
flex-grow: 1;
flex-basis: 33%;
}
.menu-nav-button:first-child {
border-radius: var(--radius) 0 0 0;
}
.menu-nav-button [class^="icon-"],
.menu-nav-button [class*=" icon-"] {
line-height: 1;
padding-top: 1.5em;
padding-bottom: 1.5em;
}
@media (min-width: 550px) {
.menu {
width: 80vw;
}
.menu-nav-button {
flex-basis: 0;
}
}
@media (min-width: 700px) {
.menu {
width: 60vw;
height: 100%;
overflow-y: inherit;
max-height: inherit;
}
.menu-area {
overflow-y: inherit;
display: grid;
grid-template-columns: 1fr;
grid-template-rows: auto 1fr;
justify-items: stretch;
align-items: stretch;
}
.menu-content {
overflow-y: auto;
}
.menu-item {
display: grid;
grid-template-columns: 2fr 3fr;
grid-template-rows: 1fr;
align-items: flex-start;
grid-gap: 2em;
}
.menu-item-header {
padding: 2em 0 2em 2em;
position: sticky;
top: 0;
z-index: 3;
}
.menu-item-form {
padding: 2em 2em 2em 0;
z-index: 2;
}
}
@media (min-width: 900px) {
.menu {
width: 60vw;
}
.menu-item {
grid-template-columns: 1fr 2fr;
}
}
@media (min-width: 1600px) {
.menu {
width: 40vw;
}
}