:root { --clr-primary: hsl(216, 28%, 7%); --clr-primary-100: hsla(215, 21%, 11%, 0.9); --clr-primary-200: hsla(215, 21%, 11%, 0.5); --clr-primary-300: hsl(218, 17%, 12%); --clr-primary-400: hsl(212, 12%, 21%); --clr-primary-500: hsl(216, 12%, 25%); --clr-secondary: hsl(210, 67%, 96%); --clr-secondary-hover: hsl(210, 3%, 73%); --clr-secondary-link: hsl(212, 100%, 67%); font-family: roboto, helvetica, arial, sans-serif; } html, body { color: var(--clr-secondary); background-color: var(--clr-primary); line-height: 1.5; min-height: 100vh; min-width: 300px; overflow-x: hidden; } main { min-height: 100%; } /* Utility classes */ .flex { display: flex; gap: var(--gap, 1rem); } .uppercase { text-transform: uppercase; } .bold { font-weight: 700; } .sr-only { border: 0 !important; clip: rect(1px, 1px, 1px, 1px) !important; /* 1 */ -webkit-clip-path: inset(50%) !important; clip-path: inset(50%) !important; /* 2 */ height: 1px !important; margin: -1px !important; overflow: hidden !important; padding: 0 !important; position: absolute !important; width: 1px !important; white-space: nowrap !important; /* 3 */ } /* Navigation bar */ .logo { margin: 2rem; width: 2rem; aspect-ratio: 1; } .primary-header { align-items: center; justify-content: space-between; } .mobile-nav-toggle { display: none; } .primary-navigation { background-color: var(--clr-primary-100); } @supports (backdrop-filter: blur(2rem)) { .primary-navigation { background-color: var(--clr-primary-200); backdrop-filter: blur(2rem); } } .primary-navigation a { color: var(--clr-secondary); text-decoration: none; } .primary-navigation a:hover { color: var(--clr-secondary-hover); } .primary-navigation a > [aria-hidden="true"] { font-weight: 700; margin-inline-end: 0.75rem; } @media (max-width: 35em) { .primary-navigation { --gap: 3rem; position: fixed; z-index: 1000; inset: 0 0 0 20%; flex-direction: column; padding: min(30vh, 10rem) 2rem; transform: translateX(100%); transition: transform 350ms ease-out; } .primary-navigation[data-visible="true"] { transform: translateX(0%); } .mobile-nav-toggle { display: block; position: absolute; z-index: 9999; background-color: transparent; background-image: url("../img/icons/icon-hamburger-menu.svg"); background-repeat: no-repeat; width: 3rem; border: 0; aspect-ratio: 1; top: 2rem; right: 2rem; } .mobile-nav-toggle[aria-expanded="true"] { background-color: transparent; background-image: url("../img/icons/icon-close.svg"); background-repeat: no-repeat; } } @media (min-width: 35em) and (max-width: 55em) { .primary-navigation a > [aria-hidden="true"] { display: none; } } @media (min-width: 35em) { .primary-navigation { --gap: clamp(1.5rem, 5vw, 3rem); padding-block: 16px; padding-inline: clamp(3rem, 8vw, 10rem); } }