Fern docsAll pages

Design

Appearance → Customize → Design. One section, in four groups, in this order: Layout, Typography, Colors, Links.

Layout

Reading width is the width of the text column, from 500px to 1230px in fourteen steps. The default is 660px — a comfortable measure for body text. Everything measured against the reading measure moves with it: the entry header, the comments, and a header set to Narrow.

Body padding is the space between the edge of the window and the site — header, content and footer together: None, X-Small, Small, Medium, Large or X-Large. Small is the default. Every step is capped against the viewport width, so the largest ones do not eat a phone screen.

Typography

Base font and Heading font each list two groups: the theme’s ten built-in stacks — System sans-serif, Helvetica / Arial, Verdana, Tahoma, Trebuchet MS, Georgia, Times New Roman, Palatino, Courier New and Monospace (system) — and any family you have installed through Appearance → Fonts, the WordPress Font Library. A built-in stack costs the visitor nothing; an installed family is a font file your site will send them, hosted by your site rather than by Google.

Both default to System default, which leaves the theme’s own stack alone. A heading left at the default follows whatever the base font is set to.

Heading font weight runs Light, Regular, Medium, Semi-bold, Bold or Extra-bold, and reaches h1h6 and the site title. Bold is the default, which is where the browser already had them. The lighter end is the reason it exists: a display face at 700 is often louder than a page of quiet writing wants. A weight the family does not actually ship is synthesised by the browser, so pick one the font has.

Base font size is 12, 14, 16, 18, 20 or 22px, defaulting to 16px. The stylesheet sets type in em from the body down, so this one control scales headings, meta and captions in proportion rather than only the body copy. Left at the default the theme emits nothing, so a reader’s own browser font size survives.

Colors

Six pickers, all empty out of the box. Empty means no rule is emitted, not white or black — an untouched install keeps the theme’s and the browser’s own values.

Two dropdowns, one decision made twice — the writing and the furniture get their own answer, so you can run the accent in the header and leave the prose alone, or the other way round.

Every link outside the header and the menus: the post and page content, and the footer copyright line. Buttons are left out — a button is already told apart by its box. Eight treatments, named after herbs:

Style What it does
Basil Accent color, underlined on hover
Parsley Accent color, underlined
Thyme Accent color, highlighted on hover
Rosemary Accent color, filled on hover
Mint Text color, underlined
Chive Text color, accent underline
Sorrel Text color, underlined, highlighted on hover
Sage No style — links read as the browser draws them. The default.

The same choice for the header logo, the primary menu, the footer menu, and the links in a post’s or a comment’s meta line — a category, an edit link, the date on a comment.

Style What it does
Basil Accent color, underlined on hover
Thyme Accent color, highlighted on hover
Rosemary Accent color, filled on hover
Dill Secondary text color, text color on hover
Fennel Text color, secondary text color on hover
Tarragon Text color, accent underline on hover
Bay The theme default — the header as Fern draws it. The default.
Sage No style — the header handed back to the browser.

The menu item for the page you are on is always marked: it steps back to the secondary text color under Bay, and wears the hover treatment under the others.

The site title is the one link neither dropdown reaches. It is the name of the site before it is a link home, so it stays in the text color with no underline whatever you pick.

The treatments naming the accent do nothing visible until Accent color above is filled in.

Beyond these

There is no other options panel. For anything the settings above do not reach, use Customize → Additional CSS, or a child theme if you are changing templates. The colors are published as CSS custom properties, so your own rules can follow whatever the Customizer is set to rather than hard-coding a second copy of the palette.