> For the complete documentation index, see [llms.txt](https://docs.scaleflex.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.scaleflex.com/portals/building-a-portal/style/typography.md).

# Typography

Choose the typefaces for a Portal, and set size, line height and letter spacing for each text level.

Find it under **Style** → **Typography** in the builder sidebar.

<figure><img src="https://2536208400-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fqsq2dR7Fjagf5eTifWZx%2Fuploads%2FEHGVVcBadYYYB2DqaTs0%2Fimage.png?alt=media&#x26;token=90c75ae9-1d4f-4334-be79-6e93dacc2611" alt="" width="375"><figcaption><p>The <strong>Typography</strong> group in the builder's Style sidebar.</p></figcaption></figure>

## Text levels

A Portal's text is organised into ten levels — **Heading 1** to **Heading 5**, and **Paragraph 1** to **Paragraph 5**. Size, line height and letter spacing are all set per level, so a change applies everywhere that level is used rather than to one piece of text.

That is what keeps a Portal consistent as it grows: you set the level once, and every section using it follows. Sections choose which level to use for their titles, subtitles and body text — level 1 is the most prominent.

## Font family

Choose separately for **Headings** and **Paragraphs**. Each has its own search box, so you can find a face by name rather than scrolling the list. If the font you want isn't there, **+ Add custom font** lets you bring your own; once added, the button becomes **Edit custom font**.

Pairing two faces is optional. One typeface used at different sizes and weights is a safe default, and often the better-looking one.

## Sizes

Expand **Sizes** and set a size in pixels for each of the ten levels, from **10** up to **128**.

Keep the steps between levels clear. If Heading 2 and Heading 3 are only two pixels apart, the hierarchy stops doing its job — a reader can't tell which is which, and the page reads as flat.

<figure><img src="https://2536208400-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fqsq2dR7Fjagf5eTifWZx%2Fuploads%2FhZSk8gNpqI827c6oQIUH%2Fimage.png?alt=media&#x26;token=0342fb21-2ff9-4c3d-a312-86351a808c3d" alt="" width="431"><figcaption><p><strong>Sizes</strong> expanded — a pixel size for each of the ten text levels.</p></figcaption></figure>

## Line height

Line height is the vertical space each line of text takes up.

1. Expand **Line height**.
2. Choose a value for each level you want to change.

**Normal** keeps the built-in spacing for that level. The other values are multiples of the font size: **1.5** means each line takes up one and a half times the text's own size. The list runs from **1** to **2**.

As a rule of thumb, tighter values of **1** to **1.2** suit large headings, while **1.5** to **1.8** makes long paragraphs easier to read.

<figure><img src="https://2536208400-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fqsq2dR7Fjagf5eTifWZx%2Fuploads%2F4C8kaFZP7QHqyqn2nd4r%2Fimage.png?alt=media&#x26;token=7ddca146-be2d-435d-b51c-3d353704f1a1" alt="" width="414"><figcaption><p><strong>Line height</strong> expanded, set per text level.</p></figcaption></figure>

## Letter spacing

Letter spacing is the horizontal space between individual characters.

1. Expand **Letter spacing**.
2. Choose a value for each level you want to change.

**Normal** keeps the font's own spacing. Values are measured in `em`, relative to the text's size, and run from **-0.05em** to **0.2em**. Negative values pull letters closer together; positive values push them apart.

Large headings often look tighter and more deliberate at **-0.025em** or **-0.05em**. Positive spacing suits short pieces of text in capitals, such as labels and small headings — it rarely helps body copy.

<figure><img src="https://2536208400-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fqsq2dR7Fjagf5eTifWZx%2Fuploads%2F17wEKcsehnUYAR6decXv%2Fimage.png?alt=media&#x26;token=6da92c34-6db0-4e98-bf0f-aeac25339618" alt="" width="422"><figcaption><p><strong>Letter spacing</strong> expanded, set per text level.</p></figcaption></figure>

## Resetting

**Font family**, **Sizes**, **Line height** and **Letter spacing** each have their own **Reset**, which becomes available once you have changed something in that group. Resetting one leaves the others alone.
