Overview
Horizon provides extensive typography customization through four font roles and six heading levels. Each text element can be individually configured for size, line height, letter spacing, and text transformation.Font Roles
The theme uses four distinct font families that can be applied throughout:Body Font - Used for paragraphs and general body text
- Default: Work Sans (Regular)
- Applied to all body copy
Subheading Font - Used for secondary headings and labels
- Default: Work Sans (Medium)
- Used for H4-H6 by default
Heading Font - Used for primary headings
- Default: Anonymous Pro
- Applied to H1-H3 by default
Accent Font - Used for special emphasis
- Default: Anonymous Pro
- Can be applied to any heading level
Paragraph Styles
Base text styling for body content:Base font size for paragraphs
- Options: 10px, 12px, 14px, 16px, 18px
- Default: 14px
Line height for paragraphs
body-tight- Compact spacingbody-normal- Standard spacingbody-loose- Generous spacing
Paragraph CSS Output
Heading Levels
Each heading level (H1-H6) can be individually customized.H1 - Main Page Headings
Font family
heading- Use heading fontaccent- Use accent font
Font size
- Options: 10px to 184px
- Default: 72px
Line height
display-tight- Tight spacing (0.9)display-normal- Normal spacing (1.1)display-loose- Loose spacing (1.3)
Letter spacing
heading-tight- Tight (-0.02em)heading-normal- Normal (0)heading-loose- Loose (0.05em)
Text transformation
none- Default caseuppercase- ALL CAPS
H2 - Section Headings
Font family:
heading or accentFont size: 10px-184px (Default: 48px)
Line height:
display-tight, display-normal, or display-looseLetter spacing:
heading-tight, heading-normal, or heading-looseText case:
none or uppercaseH3 - Subsection Headings
Font family
heading- Heading fontaccent- Accent fontsubheading- Subheading fontbody- Body font
Font size: 10px-184px (Default: 32px)
Line height:
display-tight, display-normal, or display-looseLetter spacing:
heading-tight, heading-normal, or heading-looseText case:
none or uppercaseH4 - Component Headings
Font family:
heading, accent, subheading, or bodyFont size: 10px-184px (Default: 24px)
Line height:
display-tight, display-normal, or display-looseLetter spacing:
heading-tight, heading-normal, or heading-looseText case:
none or uppercaseH5 - Small Headings
Font family:
heading, accent, subheading, or bodyFont size: 10px-184px (Default: 18px)
Line height:
display-tight, display-normal, or display-looseLetter spacing:
heading-tight, heading-normal, or heading-looseText case:
none or uppercaseH6 - Smallest Headings
Font family:
heading, accent, subheading, or bodyFont size: 10px-184px (Default: 16px)
Line height:
display-tight, display-normal, or display-looseLetter spacing:
heading-tight, heading-normal, or heading-looseText case:
none or uppercaseTypography Scale
Horizon uses a responsive typography scale that adapts to screen size:| Size | Desktop | Mobile |
|---|---|---|
| 10px | 10px | 10px |
| 12px | 12px | 12px |
| 14px | 14px | 13px |
| 16px | 16px | 14px |
| 18px | 18px | 16px |
| 20px | 20px | 18px |
| 24px | 24px | 20px |
| 32px | 32px | 24px |
| 40px | 40px | 28px |
| 48px | 48px | 32px |
| 56px | 56px | 36px |
| 72px | 72px | 44px |
| 88px | 88px | 52px |
| 120px | 120px | 64px |
| 152px | 152px | 76px |
| 184px | 184px | 88px |
Line Height Values
Display Line Heights
Used for headings:
- Tight: 0.9
- Normal: 1.1
- Loose: 1.3
Body Line Heights
Used for paragraphs:
- Tight: 1.4
- Normal: 1.6
- Loose: 1.8
Letter Spacing Values
- Tight: -0.02em
- Normal: 0em
- Loose: 0.05em
Using Typography in Code
CSS Variables
All typography settings are available as CSS custom properties:Typography Variables
Liquid Snippets
Access font settings in Liquid:Typography Snippet
HTML Classes
Use predefined typography classes:Typography Classes
Default Configuration
Here’s a typical Horizon typography configuration:Default Typography Settings
Button Typography
Buttons can use either body or accent fonts:Primary button font family
body- Body fontaccent- Accent font
Primary button text transformation
default- No transformationuppercase- ALL CAPS
Secondary button font family
body- Body fontaccent- Accent font
Secondary button text transformation
default- No transformationuppercase- ALL CAPS
Best Practices
Establish Hierarchy
Establish Hierarchy
Use size and weight to create clear visual hierarchy:
- H1 should be significantly larger than H2
- Maintain consistent size jumps between levels
- Use weight (bold) for emphasis within hierarchy
Readable Line Length
Readable Line Length
Optimal line length for readability:
- Ideal: 50-75 characters per line
- Maximum: 90 characters per line
- Adjust container width or font size accordingly
Consistent Line Height
Consistent Line Height
Match line height to content type:
- Headlines: Use tight line height (0.9-1.1)
- Body text: Use normal to loose (1.4-1.8)
- Small text: Increase line height for readability
Limit Font Families
Limit Font Families
Keep typography simple and cohesive:
- Use 2-3 font families maximum
- Pair contrasting styles (serif + sans-serif)
- Consider font loading performance
Test Readability
Test Readability
Ensure text is readable across devices:
- Test on mobile and desktop
- Check contrast ratios
- Verify font rendering on different browsers
Custom Typography Snippet
Create reusable typography components:snippets/text.liquid
Using Text Snippet
Related Pages
Color Schemes
Define text colors for each color scheme
Theme Settings
Configure global theme options
Layouts
Understand how typography affects layout