Skip to content

Typography

The design system applies base typography styles to unclassed HTML elements. These are the foundational styles that apply site-wide without any CSS classes.

Unclassed heading elements use the design system’s typography mixins. Each heading level has a distinct font family, size, and style.

LevelFontSizeStyle
h1Merriweather (serif)2.5remNormal weight
h2Oswald (sans)2.25remUppercase, underline accent
h3Merriweather Sans (alt)1.75remNormal weight, red
h4Merriweather (serif)1.625remBold
h5Merriweather Sans (alt)1.375remBold, red
h6Merriweather Sans (alt)1.125remBold, uppercase

Heading Level 1

<h1>Heading Level 1</h1>

Heading Level 2

<h2>Heading Level 2</h2>

Heading Level 3

<h3>Heading Level 3</h3>

Heading Level 4

<h4>Heading Level 4</h4>
Heading Level 5
<h5>Heading Level 5</h5>
Heading Level 6
<h6>Heading Level 6</h6>

Unclassed <p> elements receive the default paragraph mixin: Merriweather Sans at 1rem, with 1.5 line height and appropriate vertical margins. Adjacent paragraphs following headings have their top margin removed to maintain consistent vertical rhythm.

This is a standard paragraph element. It uses the Merriweather Sans font family at 1rem with a comfortable 1.5 line height for readability. The design system sets paragraph styling on unclassed elements, so no utility class is needed.

<p>
This is a standard paragraph element. It uses the Merriweather Sans font
family at 1rem with a comfortable 1.5 line height for readability. The design
system sets paragraph styling on unclassed elements, so no utility class is
needed.
</p>

Heading Followed by Paragraph

When a paragraph immediately follows a heading, its top margin is removed so the heading and paragraph sit closely together with consistent vertical rhythm.

<h3>Heading Followed by Paragraph</h3>
<p>
When a paragraph immediately follows a heading, its top margin is removed so
the heading and paragraph sit closely together with consistent vertical
rhythm.
</p>

Unclassed <a> elements with an href attribute are styled with Olympic (#004E60) color and an underline. The underline is removed on hover. Links without an href attribute inherit the parent’s color with no underline.

This is a paragraph with a standard link inside it. Hover over the link to see the underline removed.

<p>
This is a paragraph with a
<a href="#">standard link</a>
inside it. Hover over the link to see the underline removed.
</p>
StateColor
DefaultOlympic (#004E60)
HoverOlympic (underline removed)
VisitedAthens (#66435A)
ActiveBulldog Red (#BA0C2F)

In print media, links display their URL in parentheses after the link text.

Unclassed <code>, <kbd>, and <samp> elements use a monospace font at the same size as the surrounding text. When used inline, they sit on a light-gray chip with a thin border and small rounded corners so they stand out from body text. Code inside a <pre> block does not get the chip; use the Code Box component for multi-line code.

To disable retry logic, set the retryOnFailure option to false when you call configureClient().

<p>
To disable retry logic, set the
<code>retryOnFailure</code>
option to
<code>false</code>
when you call
<code>configureClient()</code>
.
</p>

Press Ctrl + S to save. If the upload works, the page shows File uploaded successfully.

<p>
Press
<kbd>Ctrl</kbd>
+
<kbd>S</kbd>
to save. If the upload works, the page shows
<samp>File uploaded successfully</samp>
.
</p>
ElementUse for
<code>Code, file names, and option or function names
<kbd>Keys the learner presses
<samp>Output or messages a program displays
VariableFont
$font-sansOswald, Oswald Fallback, sans-serif
$font-serifMerriweather, Merriweather Fallback, serif
$font-altMerriweather Sans, Merriweather Sans Fallback, sans-serif
$font-monoui-monospace, SFMono-Regular, Menlo, Consolas, Liberation Mono, monospace (inline code)
$font-stack-primaryMerriweather Sans (body text)
$font-path/fonts/v1, the root-relative font folder; override with @use ... with ($font-path: ...)

The brand fonts are self-hosted with base.css. See Fonts for the file URLs, fallback faces and preload guidance.

VariableValue
$line-height-normal1.5
$line-height-header1.3
$line-height-tight1.15