.container { position: absolute; bottom: 100vh; width: 100%; height: 100%; transition: bottom 0.5s; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); background-image: url(/svg/background-pattern.svg); background-color: var(--bg-lighter); z-index: 5; overflow-y: auto; padding-bottom: var(--s-6); /* TODO: same for Safari */ overscroll-behavior: contain; } .container[data-expanded="true"] { bottom: 0; } .mobileNavTopAction { display: grid; gap: var(--s-4); place-items: center; background-color: var(--bg); padding-top: var(--s-24); padding-bottom: var(--s-8); } .navIcon { width: 2rem; height: 2rem; } .mobileNavLinksContainer { display: grid; justify-content: center; grid-auto-columns: 1fr; grid-auto-rows: 4rem; } .mobileNavGroupTitle { text-transform: uppercase; align-self: flex-end; justify-self: center; padding: var(--s-2) var(--s-3); margin-bottom: var(--s-1); background-color: var(--bg); font-weight: var(--bold); border-radius: var(--rounded); } .mobileNavLink { display: flex; align-items: center; gap: var(--s-2); text-transform: capitalize; border-top: 3px solid var(--bg-lighter); font-weight: var(--bold); background-color: var(--bg); padding: 0 var(--s-2); font-size: var(--fonts-sm); margin: 0 var(--s-12); color: var(--text); text-decoration: none; } .mobileNavLink[data-order="first"] { border-radius: var(--rounded) var(--rounded) 0 0; } .mobileNavLink[data-order="last"] { border-radius: 0 0 var(--rounded) var(--rounded); } @media screen and (min-width: 640px) { .container { display: none; } } @media screen and (min-width: 480px) { .mobileNavLink { margin: 0 var(--s-24); } }