diff --git a/src/layouts/BaseLayout.astro b/src/layouts/BaseLayout.astro index 95e5aa3..c82ebe9 100644 --- a/src/layouts/BaseLayout.astro +++ b/src/layouts/BaseLayout.astro @@ -24,7 +24,10 @@ const pageTitle = title ? `${title} · ${site.name}` : site.name;
Swansea Airport
- + + + Menu +
{site.navigation.map((item) => ( item.children ? ( diff --git a/src/styles/global.css b/src/styles/global.css index 97248ef..a9dec57 100644 --- a/src/styles/global.css +++ b/src/styles/global.css @@ -190,34 +190,91 @@ img { .mobile-nav > summary { list-style: none; - display: flex; + display: inline-flex; align-items: center; justify-content: center; - min-height: 2.75rem; - min-width: 2.75rem; - padding: 0; + gap: 0.45rem; + min-height: 3rem; + min-width: 5.5rem; + padding: 0 0.85rem; border: 1px solid var(--line); - border-radius: 0.7rem; - background: linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(228, 240, 252, 0.95)); - color: var(--brand); + border-radius: 0.85rem; + background: var(--brand); + color: #ffffff; font-weight: 800; - font-size: 1.4rem; + font-size: 0.96rem; + line-height: 1; cursor: pointer; - box-shadow: var(--shadow); + box-shadow: 0 12px 28px rgba(11, 79, 122, 0.22); + text-decoration: none; +} + +.mobile-nav > summary span:not(.mobile-nav-icon) { + display: block; + line-height: 1; +} + +.mobile-nav > summary:hover, +.mobile-nav > summary:focus-visible { + background: #083c5f; +} + +.mobile-nav > summary:focus-visible { + outline: 3px solid rgba(246, 181, 56, 0.72); + outline-offset: 3px; } .mobile-nav > summary::-webkit-details-marker { display: none; } -.mobile-nav > summary::before { - content: '☰'; - line-height: 1; +.mobile-nav-icon { + position: relative; + display: block; + width: 1.2rem; + height: 0.9rem; + flex: 0 0 auto; + border-block: 0.18rem solid currentColor; } -.mobile-nav[open] > summary::before { - content: '✕'; - font-size: 1.2rem; +.mobile-nav-icon::before, +.mobile-nav-icon::after { + content: ''; + position: absolute; + left: 0; + width: 100%; + height: 0.18rem; + border-radius: 999px; + background: currentColor; +} + +.mobile-nav-icon::before { + top: 50%; + transform: translateY(-50%); +} + +.mobile-nav-icon::after { + display: none; +} + +.mobile-nav[open] .mobile-nav-icon { + width: 1rem; + height: 1rem; + border-block: 0; +} + +.mobile-nav[open] .mobile-nav-icon::before, +.mobile-nav[open] .mobile-nav-icon::after { + display: block; + top: 50%; +} + +.mobile-nav[open] .mobile-nav-icon::before { + transform: translateY(-50%) rotate(45deg); +} + +.mobile-nav[open] .mobile-nav-icon::after { + transform: translateY(-50%) rotate(-45deg); } .mobile-nav-panel { @@ -903,6 +960,16 @@ section { max-height: 2rem; } + @media (max-width: 390px) { + .topbar-inner { + gap: 0.65rem; + } + + .brand-mobile img { + max-width: min(12rem, 58vw); + } + } + .runway-facts-table { min-width: 38rem; }