About this site

Design system

Everything that defines how fabianmebus.com looks: colours, type, grid, components and their rules. The examples on this page use the same stylesheet as every other page, so they always show the current state.

At a glance

Font styles
4
Text styles
8
Colour tokens
17
Button types
3
Grid
12 px
Main breakpoint
1024 px

Principles

Colours

17 colour tokens, all in :root. For text and controls, the contrast with the background they sit on is shown.

Surfaces

Text

Copper and controls

In print, these tokens get different values; everything else stays the same:

Colours on screen and in print
Token --color-…ScreenPrint
page#141311#FFFFFF
card#1C1A17#FFFFFF
text-strong#FFFFFF#000000 · 21.0:1 on paper
text#F3F1ED#1A1A1A · 17.4:1 on paper
text-body#D6D2CB#1A1A1A · 17.4:1 on paper
text-muted#A9A49C#444444 · 9.7:1 on paper
accent-text#E07A45#A8441A · 5.9:1 on paper
success#5FBF7A#1A6B33 · 6.5:1 on paper

Typography

Two typefaces: FM Sans for text, FM Mono for everything that organises and labels. They are IBM Plex Sans and IBM Plex Mono, subset to the characters the website needs. The font licence, SIL OFL, allows this but forbids the name “Plex” for modified versions.

Together the four files weigh around 50 KB. Only Sans 400 and 600 are preloaded. Until the fonts arrive, text is set in Arial and Courier New, with metrics adjusted so that nothing jumps when they swap.

Type sizes

Logo

88 px, below 1024 px
104 px, from 1024 px

Grid and surfaces

Layout and breakpoints

One main breakpoint at 1024 px, plus three finer steps for the stacked card:

Breakpoints and what changes there
WidthWhat changes
below 340 pxtagline 25 px instead of 28 px
from 520 pxtagline on two lines instead of three
from 600 pxmore space and larger type on the card, footer on one line, tiles in three columns
from 1024 pxlandscape card with the photo on the left, logo above the card, wider text pages
Dimensions below and from 1024 px
Dimensionbelow 1024 pxfrom 1024 px
Home page cardup to 560 px wideup to 960 px wide, at least 440 px tall, photo 330 px
Text pagesup to 560 px wideup to 760 px wide
Text page padding32 / 24 / 40 px52 / 64 / 60 px
Page margin16 px32 px

There are no fixed heights anywhere, only minimum heights. So neither 400 % zoom nor larger line spacing cuts anything off.

Components

Buttons

Text pages

About this site, the legal notice, the privacy policy, the 404 page and this page share one template and the same components:

Components of the text pages
ComponentClass
Back linkarticle__back
Titlearticle__title
Notearticle__note
Subheadingarticle__heading
Paragraph and linkarticle__text, article__link
Bulleted listarticle__list
Tiles with figuresarticle__facts
Tablearticle__table
Figure with captionarticle__figure, article__caption
Dividerarticle__rule

Footer

Visible at the very bottom of this page: FM Mono at 13 px, links with a click area at least 24 px tall. The separators come from the CSS and are not read out by screen readers. The language switch sits behind a bar as “DE / EN”: the current language is bright and not a link, the other leads to the same page in that language. Screen readers hear only that link, spelled out and read in its own language.

States and accessibility

Print

In the code