<img alt="" src="https://secure.heat6have.com/192007.png" style="display:none;">
Sign In Schedule a Call

BetterRX · Design system

Design system reference

The internal reference for BetterRX's design system — the single place to check how a shared UI piece looks, what it is called, and how to use it. Every example below is rendered live by the real component, so what you see is exactly what ships. v1 documents the heading system; the reference grows one section at a time.

Headings brx-heading

The BetterRX heading system ships two ways with identical results:

  1. 1. The brx-heading module — drag-drop in the page editor; you pick Tag / Size / Color from menus and it writes the classes for you. The demos below are all live module instances.
  2. 2. Raw class names — for rich-text contexts (like a Hero) where a module can't be dropped. You write the markup and copy the class string (see the parity section).

The pattern is base + size + color: <h2 class="brx-heading brx-h-size--xl brx-h-color--dark">…</h2>. Alignment and spacing are optional extra classes.

Tag ≠ Size

Tag (h1h6) is the outline level search engines & screen readers read. Size is visual only. They are independent — an h2 can look as large as an h1 while staying a semantic h2.

One H1 per page

Use exactly one h1 — the page title. Everything below it is h2/h3/… by outline depth, regardless of how big it looks.

3XL = hero only

3xl (~92px) is the explicit hero size — set it by hand on the one hero heading. A default Auto H1 is 2xl (~70px), matching the site.

Size scale brx-h-size--*

The 6-step scale. Each size is fluid — it scales with the viewport between the px targets shown. Line-height is a uniform 1.10 at every step.

Size classpx range (min → max)Line-heightLetter-spacingAuto tag
brx-h-size--3xl38 → 92 px1.10-0.02em— hero only (explicit)
brx-h-size--2xl32 → 70 px1.10-0.015emh1
brx-h-size--xl28 → 52 px1.10-0.01emh2
brx-h-size--lg26 → 39 px1.10normalh3
brx-h-size--md22 → 29 px1.10normalh4
brx-h-size--sm19 → 22 px1.10normalh5 · h6

Auto map size: auto → tag

When the module's Size is left on Auto, it picks a size from the heading's Tag. Set only text + tag and you get a correct, consistent, accessible heading with no size decision needed.

h1brx-h-size--2xlpage title — one per page
h2brx-h-size--xlsection heading
h3brx-h-size--lgsub-section
h4brx-h-size--mdsub-point
h5brx-h-size--smminor sub-point
h6brx-h-size--smsmallest sub-point

brx-h-size--3xl (~92px) is explicit / hero only — not an Auto target. Reach for it by hand when a section needs deliberate weight.

Auto map — live set only Tag; Size = Auto

Each card is a real module instance with Size = Auto — HubSpot resolves the size from the tag when the page renders. This is the live proof the Auto map runs server-side.

Tag h1 · Auto→ renders 2xl (~70px)

Better hospice pharmacy

Tag h2 · Auto→ renders xl (~52px)

Better hospice pharmacy

Tag h3 · Auto→ renders lg (~39px)

Better hospice pharmacy

Tag h4 · Auto→ renders md (~29px)

Better hospice pharmacy

Tag h5 · Auto→ renders sm (~22px)
Better hospice pharmacy
Tag h6 · Auto→ renders sm (~22px, floor)
Better hospice pharmacy

All sizes — explicit Size field

Each card is an h2 with an explicit Size. The tag stays h2 throughout — only the visual size changes (decoupling). 3xl is the hero-only step.

3XL~38 → 92px · hero only

Better hospice pharmacy

2XL~32 → 70px · Auto h1

Better hospice pharmacy

XL~28 → 52px · Auto h2

Better hospice pharmacy

Large~26 → 39px · Auto h3

Better hospice pharmacy

Medium~22 → 29px · Auto h4

Better hospice pharmacy

Small~19 → 22px · Auto h5/h6

Better hospice pharmacy

Colors brx-h-color--*

Two colors are for light backgrounds, two for dark. The dark-only colors are shown on the real site navy below — the only honest place to preview them.

On light backgrounds

Darkbrx-h-color--dark · #222222 · 12.96:1 on white

Better hospice pharmacy

Mutedbrx-h-color--muted · #425b76 · 7.0:1 on white

Better hospice pharmacy

In context · dark section #24333f — real site navy

White — brx-h-color--white · 12.96:1 on navy

Better hospice pharmacy

Brand orange — brx-h-color--orange · 4.67:1 on navy · dark backgrounds only

Better hospice pharmacy

Swatch reference

Dark brx-h-color--darkDefault near-black — light backgrounds.#222222 · 12.96:1 on white
Muted brx-h-color--mutedSecondary dark text — light backgrounds.#425b76 · 7.0:1 on white
White brx-h-color--whiteDark backgrounds only.#ffffff · 12.96:1 on navy
Brand orange brx-h-color--orangeDark backgrounds only — fails contrast on light.#ef7869 · 4.67:1 on navy · 2.78:1 on white ✗

Alignment brx-h-align--* · opt-in

Opt-in. Omit these classes to inherit the section/container alignment (the zero-shift default). Each card is an h3.

Leftbrx-h-align--left

Better hospice pharmacy

Centerbrx-h-align--center

Better hospice pharmacy

Rightbrx-h-align--right

Better hospice pharmacy

Gap below brx-h-gap--* · opt-in

Two near-synonyms with opposite behavior lead the list. Default emits no class — it keeps the theme's spacing (≈9px), the zero-shift migration default. None emits brx-h-gap--none, force-collapsing the gap to 0. Then the t-shirt scale Small→2XL (each scales with the heading's own size). The dashed line marks the heading's bottom edge; the space below it is the gap.

Defaultno class — theme ≈9px (zero-shift default)

Better hospice pharmacy

Following paragraph — the space above is the theme's default ≈9px.

Nonebrx-h-gap--none · margin-bottom 0

Better hospice pharmacy

Following paragraph — no space above (force-collapsed to 0).

Smallbrx-h-gap--sm · 0.4em

Better hospice pharmacy

Following paragraph.

Mediumbrx-h-gap--md · 0.6em

Better hospice pharmacy

Following paragraph.

Largebrx-h-gap--lg · 0.9em

Better hospice pharmacy

Following paragraph.

XLbrx-h-gap--xl · 1.35em

Better hospice pharmacy

Following paragraph.

2XLbrx-h-gap--2xl · 2.025em

Better hospice pharmacy

Following paragraph.

Raw-class parity module ≡ hand-typed

For rich-text contexts (like a Hero) where a module can't be dropped, write the markup by hand with the same classes — the render is identical. Module on the left, the equivalent hand-typed markup on the right.

Moduleh2 · Size XL · Dark

Better hospice pharmacy

Raw classhand-typed · identical render

Better hospice pharmacy

<h2 class="brx-heading brx-h-size--xl brx-h-color--dark">…</h2>

Copy-paste strings for common contexts:

Hero titlethe page's single h1, hero size
<h1 class="brx-heading brx-h-size--3xl brx-h-color--dark">…</h1>
On a dark sectionwhite heading on navy
<h2 class="brx-heading brx-h-size--xl brx-h-color--white">…</h2>

Full class reference

Base (required)

  • brx-heading

Size (required)

  • brx-h-size--3xl hero only
  • brx-h-size--2xl
  • brx-h-size--xl
  • brx-h-size--lg
  • brx-h-size--md
  • brx-h-size--sm

Color

  • brx-h-color--dark light
  • brx-h-color--muted light
  • brx-h-color--white dark only
  • brx-h-color--orange dark only

Alignment (opt-in)

  • brx-h-align--left
  • brx-h-align--center
  • brx-h-align--right

Gap (opt-in)

  • brx-h-gap--none 0 — vs Default ≈9px
  • brx-h-gap--sm
  • brx-h-gap--md
  • brx-h-gap--lg
  • brx-h-gap--xl
  • brx-h-gap--2xl