:root { --color-scale-black: #010409; --color-scale-white: #ffffff; --color-scale-white-transparent-7: #ffffffbc; --color-scale-gray-0: #f0f6fc; --color-scale-gray-1: #c9d1d9; --color-scale-gray-2: #b1bac4; --color-scale-gray-3: #8b949e; --color-scale-gray-4: #6e7681; --color-scale-gray-5: #484f58; --color-scale-gray-6: #30363d; --color-scale-gray-7: #21262d; --color-scale-gray-8: #161b22; --color-scale-gray-9: #0d1117; --color-scale-gray-0-transparent-10: #f0f6fc1a; --color-scale-gray-8-transparent-50: #161b2280; --color-scale-gray-9-transparent-0: #0d111700; --color-scale-purple-0: #eddeff; --color-scale-purple-1: #e2c5ff; --color-scale-purple-2: #d2a8ff; --color-scale-purple-3: #bc8cff; --color-scale-purple-4: #a371f7; --color-scale-purple-5: #8957e5; --color-scale-purple-6: #6e40c9; --color-scale-purple-7: #553098; --color-scale-purple-8: #3c1e70; --color-scale-purple-9: #271052; --color-scale-purple-4-transparent-06: #a371f70f; --color-canvas-default: var(--color-scale-gray-9); --color-canvas-default-transparent: var(--color-scale-gray-9-transparent-0); --color-canvas-subtle: var(--color-scale-gray-8); --color-border-default: var(--color-scale-gray-6); --color-header-bg-default: var(--color-scale-gray-8); --color-header-bg-transparent: var(--color-scale-gray-8-transparent-5); --color-header-text: var(--color-scale-white-transparent-7); --color-btn-text: var(--color-scale-gray-1); --color-btn-bg: var(--color-scale-gray-7); --color-btn-border: var(--color-scale-gray-0-transparent-1); --color-btn-hover-bg: var(--color-scale-gray-6); --color-btn-hover-border: var(--color-scale-gray-3); --color-btn-active-border: var(--color-scale-gray-5); --color-fg-default: var(--color-scale-gray-1); --color-fg-muted: var(--color-scale-gray-3); --color-fg-subtle: var(--color-scale-gray-4); --color-fg-on-emphasis: var(--color-scale-white); --color-text-hover: var(--color-fg-muted); --color-accent-fg: var(--color-scale-purple-4); --color-text-link: var(--color-accent-fg); font-size: 16px; font-family: "Roboto", arial, sans-serif; } html, body { color: var(--color-fg-default); background-color: var(--color-canvas-default); line-height: 1.5; min-height: 100vh; min-width: 300px; overflow-x: hidden; } /* 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; cursor: pointer; } .primary-navigation { background-color: var(--color-header-bg-default); } @supports (backdrop-filter: blur(2rem)) { .primary-navigation { background-color: var(--color-header-bg-transparent); backdrop-filter: blur(2rem); } } .primary-navigation a { color: var(--color-fg-default); text-decoration: none; } .primary-navigation a:hover { color: var(--color-fg-muted); } .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) { .primary-navigation { --gap: clamp(1.5rem, 5vw, 3rem); padding-block: 16px; padding-inline: clamp(3rem, 8vw, 10rem); background-color: var(--color-header-bg-default); } }