Waterhole defines three font families for use as CSS variables:
/* The default family used for most text */
--font-text: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif, 'Apple Color Emoji',
'Segoe UI Emoji', 'Segoe UI Symbol';
/* Display family for larger headings (no different by default) */
--font-display: var(--font-text);
/* Monospace family used for <code> elements */
--font-mono: SFMono-Regular, Menlo, Monaco, Consolas, 'Courier New', monospace;
In addition to being applied directly to heading and code elements, these fonts can be applied selectively using the .font-{family} utility classes:
Three line heights are defined, with the default being applied globally, the condensed value used for headings, and the expanded value used for content.
User-generated content can be rendered inside a .content element to automatically apply styles and spacing to all semantic markup, including headings, quotes, lists, and code:
User Generated Content
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua.
List
Items
<div class="content">
<h4>User Generated Content</h4>
<blockquote>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua.
</p>
</blockquote>
<ul>
<li>List</li>
<li>Items</li>
</ul>
</div>
Waterhole defines a typographic measure, which is the maxiumum recommended width of the line of text to ensure readability. The measure is available in a variable and can be applied using a utility class:
--measure: 100ch;
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in
voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat
non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
<p class="measure">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in
voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat
non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</p>
Anchor elements are globally styled with the accent color, and an underline on hover. You can also use the .link class to apply matching styles to other elements and make them look like links.