:root { --bg: #f0ede6; --text: #171717; --hover: #070707; --muted: #575757; --faded: #979797; --primary: #00b0cd; --secondary: #80c0cc; --yellow: #ECAF21; --yellow-body: #E29900; --red: #eb452b; --red-body: #de342a; --blue: #3157AE; /*#2F4C8E;*/ --blue-body: #0070C0; --black: #272727; --bg1: #E5DAD2; --green-body: #03A653; --darkcyan: #008694; --lightblue: #e6f3fe; --lightcyan: #e2ffff; /*--line: rgba(23, 23, 23, 0.12);*/ --line: #272727; --light: #dfdfdf; --white: #f7f7f7; --surface: rgba(255, 255, 255, 0.28); --font-sans: Inter, -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Helvetica, Arial, sans-serif; --font-serif: "Source Serif", "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif; --column-width: min(72rem, calc(100% - 3rem)); --content-width: min(48rem, calc(100% - 3rem)); --article-grid: 1fr; --article-gap: 2rem; --article-top: 0; } * { box-sizing: border-box; } html { font-size: 14px; background: var(--bg); } a { color: inherit; font-weight: 500; text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 0.2rem; &:hover { color: var(--hover); text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 0.2rem; } } h1 { font-size: clamp(2.25rem, 9dvw, 4rem); font-weight: 700; letter-spacing: -0.5px; line-height: 1; margin: 0 0 1rem; } h2 { font-size: clamp(1.75rem, 2.25dvw, 2.375rem); font-weight: 800; line-height: 1.1; margin: 0 0 1.5rem; padding-top: 2rem; text-shadow: 0 1px 0 #fff; } h3 { color: var(--text); font-size: clamp(1.33rem, 3vw, 1.625rem); font-weight: 800; line-height: 1.3; margin-top: 2rem; margin-bottom: 1rem; text-shadow: 0 1px 0 #fff; #impact & { font-size: 1.1rem; } } h4 { font-size: 1.1rem; font-weight: 800; margin-bottom: 0; text-shadow: 0 1px 0 #fff; } body { margin: 0 auto; padding: 0; min-height: 100dvh; background: var(--bg); color: var(--text); display: grid; font-family: var(--font-sans); grid-template-rows: 5rem 1fr auto; line-height: 1.5; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; width: 100dvw; /* site header and footer defaults */ > header, > footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; } /* site header */ > header { border-bottom: 1px solid var(--black); padding: 0 1.5rem; position: relative; .title { align-items: center; display: flex; gap: 0.75rem; height: 100%; align-items: stretch; } .logo, .page { align-items: center; display: flex; font-size: 1.5rem; gap: 0.5rem;; text-decoration: none; &:hover { text-decoration: underline; } } .logo { font-weight: 700; letter-spacing: -0.04rem } .page { font-weight: 800; } .logo:has(+ .page) { font-weight: 500; letter-spacing: 0; } /* right menu */ menu { align-items: center; display: none; gap: 1rem; font-size: 1rem; list-style: none; a:hover { color: #000; text-decoration-thickness: 2.5px; } } /* line detail */ &::before, &::after { content: ''; display: block; width: calc(100% + 1.5rem); height: 1px; background: var(--black); position: absolute; bottom: -5px; left: -1.5rem; } &::after { bottom: -9px; } } /* site footer */ > footer { background: var(--black); color: var(--white); display: flex; flex-direction: column; font-size: 0.875rem; gap: 2rem; line-height: 1.4; padding: 2rem 1.5rem; justify-content: center; section { display: grid; grid-template-columns: var(--article-grid); gap: var(--article-gap); justify-content: center; } #footnotes ul { grid-column-start: 2; list-style: none; margin: 0 0 0 -1.5rem; padding: 0; li { display: grid; grid-template-columns: 1.5rem auto; span.symbol { font-size: 1.25rem; margin-top: -3px; } } } #end { padding-bottom: 2rem; .text { grid-column-start: 2; } } big { color: var(--white); font-size: 1.5rem; font-weight: bold; } } } /* *
is case study wrapper and includes: * 1.
is the initial full screen pane * 2.