--- --- <header> <a href="/" rel="noopener noreferrer" aria-label="Home"> <img src="/assets/logo.svg" alt="" /> </a> <ul class="desktop"> <slot /> </ul> <button class="mobile" aria-label="Navigation Button"> <ul> <slot /> </ul> <div class="placeholder"></div> <i class="iconoir-menu"></i> </button> </header> <style> header { z-index: 1000; position: sticky; top: 0px; background-color: var(--c-darkgray); display: flex; height: auto; width: 100%; align-items: flex-start; line-height: 1.5em; } header > a { padding-left: 16px; padding-top: 8px; display: block; height: 48px; width: 48px; } a > img { height: 100%; width: 100%; object-fit: contain; } .desktop { align-items: center; justify-content: space-around; display: none; flex-wrap: wrap; flex-direction: row; height: 64px; width: 100%; list-style-type: none; row-gap: 0.5em; column-gap: 0.5ch; margin: 0px; line-height: 1.5em; } .mobile > ul { background-color: var(--c-darkgray); align-items: center; flex-wrap: wrap; flex-direction: column; display: flex; width: 100%; list-style-type: none; line-height: 3em; } .placeholder { display: flex; width: 100%; } .mobile { display: flex; background-color: var(--c-darkgray); border: 0px; width: 100%; height: 64px; } .mobile > i { color: white; font-weight: bold; font-size: 2em; align-self: flex-start; padding-right: 1em; padding-top: 16px; } .mobile > ul { display: none; padding: 0px; } .mobile:focus-within > ul { display: flex; } .mobile:focus-within > .placeholder { display: none; } .mobile:focus-within { justify-content: top; height: auto; } header:focus-within > a { display: flex; justify-self: top; } @media (min-width: 1120px) { .mobile { display: none; } .desktop { display: flex; } header { height: 64px; align-items: center; } header > a { padding-top: 0px; } } </style>