Internal reference

Kitchen sink

Every colour, type role, block and component in the Celebrate Diversity design system, with the name to call each one by. Not linked from anywhere.

Colours

Every colour is a CSS custom property. Call it by the token name, for example --cd-ember. In the block editor the same colours appear as named presets.

The six

Six colours, six jobs. Rule 1: never use one for another’s job.

  • --cd-navy#020F3FAuthority. Headers, heroes, the serious voice.
  • --cd-blue#308EC3The logo blue. Feature headlines and links only, never body copy.
  • --cd-ember#FF6B4AGiving. One ember element per screen, rule 2.
  • --cd-green#0C4F3FWellbeing.
  • --cd-mint#A0D8C4Evidence. The statistics band.
  • --cd-lilac#C3B3EALearning.

Text on the six

Pair a ground with its partner and contrast is handled for you.

  • --cd-on-navy#F4F5F6
  • --cd-on-blue#04173A
  • --cd-on-ember#25060A
  • --cd-on-green#F0EDE6
  • --cd-on-mint#062A20
  • --cd-on-lilac#020F3F

The Extra 6

A second, subordinate palette. Its only job is to tell the six program themes apart, because the core six already have six jobs and rule 1 will not lend one out. Five sit at a single perceptual lightness and chroma so no card shouts louder than its neighbour; gold is the exception, because yellow has no dark form.

  • --cd-teal#005765Education.
  • --cd-moss#2C592FWellbeing.
  • --cd-plum#673B63Art.
  • --cd-maroon#74383BCultural.
  • --cd-brown#6F4017Community.
  • --cd-gold#D9B24FChildren’s. Takes navy ink, as blue, mint and lilac do.

Text on the Extra 6

Near-white on five, navy on gold. Every pair clears 7:1.

  • --cd-on-teal#F4F5F6
  • --cd-on-moss#F4F5F6
  • --cd-on-plum#F4F5F6
  • --cd-on-maroon#F4F5F6
  • --cd-on-brown#F4F5F6
  • --cd-on-gold#020F3F

Extra 6 soft tints

For the pill sitting on each theme card. Navy ink on all six.

  • --cd-teal-soft#BFE8F2
  • --cd-moss-soft#CEE8CE
  • --cd-plum-soft#F2D5EE
  • --cd-maroon-soft#FCD5D5
  • --cd-brown-soft#F7D9C3
  • --cd-gold-soft#ECDFBE

Ink on light

Four weights of text colour for light grounds.

  • --cd-ink#020F3FHeadings.
  • --cd-ink-body#2A3242Body copy.
  • --cd-ink-muted#4A5364Secondary copy.
  • --cd-ink-meta#5C6578Metadata, captions, credits.

Text on dark

Body and metadata on the two dark grounds.

  • --cd-navy-body#B9C3D9
  • --cd-navy-meta#8E9AB4
  • --cd-green-body#B6CFC6
  • --cd-green-meta#99C0B3

Ghost tints

Quiet grounds. Rule 3: never two soft tints touching.

  • --cd-navy-ghost#F2F3F7
  • --cd-blue-ghost#EDF3FA
  • --cd-green-ghost#F0F4F2
  • --cd-mint-ghost#F1F7F5
  • --cd-lilac-ghost#F5F3FA
  • --cd-grey-ghost#F4F5F6
  • --cd-white#FFFFFF
  • --cd-chalk#F0EDE6

Soft tints

Stronger than a ghost. Pills, panels, accents.

  • --cd-navy-soft#D6DAE6
  • --cd-blue-soft#CBE1F1
  • --cd-green-soft#CFE0D9
  • --cd-mint-soft#D5EBE2
  • --cd-lilac-soft#E1D9F2
  • --cd-grey-soft#E1E4E8

Type

Four families and twelve size roles. Sizes are roles, not numbers: ask for --cd-section-size, not “54px”, so the scale can move without the request breaking.

Families

  • Aa Bb Cc 0123--cd-font-displayArchivo BlackHeadlines, titles, buttons, pills. Always uppercase.
  • Aa Bb Cc 0123--cd-font-bodyArchivoBody copy, standfirsts, navigation.
  • Aa Bb Cc 0123--cd-font-monoIBM Plex MonoMetadata, dates, credits, labels. Uppercase, tracked.
  • Aa Bb Cc 0123--cd-font-accentInstrument SerifThe one permitted italic accent, inside a hero headline only.

Size roles

  • Ag--cd-hero-size104pxHero headline · .cd-hero-title
  • Ag--cd-section-size54pxSection title · .cd-section-title
  • Ag--cd-feature-size44pxFeature / program title · .cd-feature-title
  • Ag--cd-quote-size42pxPull quote · .cd-quote
  • Ag--cd-figure-size78pxStatistic figure · .cd-figure
  • Ag--cd-card-size30pxCard title · .cd-card-title
  • Ag--cd-standfirst-size20pxStandfirst · .cd-standfirst
  • Ag--cd-body-size19pxBody copy · .cd-body
  • Ag--cd-nav-size17pxNavigation
  • Ag--cd-small-size16pxSmall copy · .cd-body-small
  • Ag--cd-pill-size13pxPill / text button · .cd-pill
  • Ag--cd-meta-size12pxMetadata · .cd-meta

Grounds

The band background. Set it on cd/section with the Ground select, or in markup as {"ground":"chalk"}. Rule 7: never repeat the ground of the section directly above.

  • ground="navy"Authority. Never carries a shadow, rule 5.
  • ground="green"Wellbeing. Never carries a shadow, rule 5.
  • ground="blue"Feature. Never carries a shadow, rule 5.
  • ground="mint"Evidence. Never carries a shadow, rule 5.
  • ground="lilac"Learning. Never carries a shadow, rule 5.
  • ground="chalk"Programs. May carry a shadow.
  • ground="white"Default. May carry a shadow.
  • ground="grey-ghost"Quiet. May carry a shadow.
  • ground="navy-ghost"Quiet. May carry a shadow.
  • ground="blue-ghost"Quiet. May carry a shadow.
  • ground="lilac-ghost"Pull quotes. May carry a shadow.
  • ground="mint-soft"Giving band. May carry a shadow.

Hairlines

One token per ground family, used for every divider on the site: listing rows, numbered list items, the facts strip, the footer legal line. A rule is a divider, not a border, so it should be the quietest thing that still reads as a line.

On the eight light grounds

--cd-rule-light. Navy at 18% rather than a fixed grey. It composites against whatever is behind it, so it holds 1.47:1 to 1.48:1 on every ground below and picks up each ground’s own hue. The opaque grey it replaced managed 1.35:1 on white but fell to 1.15:1 on chalk, going faintest exactly where the ground was strongest.

  • white#FFFFFF
  • chalk#F0EDE6
  • grey-ghost#F4F5F6
  • navy-ghost#F2F3F7
  • blue-ghost#EDF3FA
  • green-ghost#F0F4F2
  • mint-ghost#F1F7F5
  • lilac-ghost#F5F3FA

On the dark grounds

--cd-rule-dark. The same idea inverted: white at 14%.

  • navyrgba(255,255,255,0.14)

Buttons

One block, cd/button, with a Variant select. The same classes are used directly inside other components. Every button is fully round, rule 4 exempts them from the cut.

On a light ground

.cd-btn--primaryNavy pill. The main action. Inverts on navy and green.
Primary
.cd-btn--ghostOutlined. The secondary action beside a primary.
Ghost
.cd-btn--giveEmber. Giving only, and only one per screen, rule 2.
Give
.cd-btn--textUnderlined link in the display face. Card and section actions.
Text
.cd-btn--smA size modifier, combine with a variant.
Small

On navy

.cd-btn--primaryNavy pill. The main action. Inverts on navy and green.
Primary
.cd-btn--ghostOutlined. The secondary action beside a primary.
Ghost
.cd-btn--giveEmber. Giving only, and only one per screen, rule 2.
Give
.cd-btn--textUnderlined link in the display face. Card and section actions.
Text
.cd-btn--smA size modifier, combine with a variant.
Small

Pills

Block cd/pill, attributes text and tone. Cards emit their own pill automatically from the category, so you rarely place one by hand.

Filled tones

For a pill sitting on a coloured band.

tone="navy"Default. Audience and category labels.
All ages
tone="blue-soft"On navy grounds, hero eyebrows.
All ages
tone="mint"On green cards.
All ages
tone="lilac"On navy cards.
All ages
tone="deep-blue"On blue cards.
All ages

Soft tints

For a pill sitting on a light ground. All six take navy ink and clear AAA, 13.2:1 to 14.7:1, so there is no per-tone text colour to remember.

tone="navy-soft"Neutral label on a light ground.
All ages
tone="green-soft"Wellbeing, on a light ground.
All ages
tone="mint-soft"Evidence, on a light ground.
All ages
tone="lilac-soft"Learning, on a light ground.
All ages
tone="grey-soft"The quietest pill. No thematic claim.
All ages

Cards

Block cd/card inside cd/card-grid. The category attribute picks ground and pill together. Cards in a grid share row tracks, so pill, title, body and action line up across the row whatever the titles do.

Learning

Learning card

Setting category to learning picks the ground and the pill together, so a designer chooses a meaning rather than a colour.

Learn more
Wellbeing

Wellbeing card

Setting category to wellbeing picks the ground and the pill together, so a designer chooses a meaning rather than a colour.

Learn more
Culture

Culture card

Setting category to culture picks the ground and the pill together, so a designer chooses a meaning rather than a colour.

Learn more

Neutral card

Setting category to neutral picks the ground and the pill together, so a designer chooses a meaning rather than a colour.

Learn more

Above: cd/card-grid with columns="4". Also available: "2" and "3". Cut alternates via cut="tr" and cut="br".

The cut

One cut corner per object, rule 4. Always a single length so the arc is a quarter circle, never a percentage. Never more than 40% of the object’s shorter side. Components set --cd-cut; the direction comes from .cd-cut-tr, .cd-cut-br or .cd-cut-panel.

--cd-cut-panel220pxFull-bleed panels. Short side 500px or more.
--cd-cut-lg120pxLarge images and figures. Short side 300px or more.
--cd-cut-md60pxCards, thumbnails, tiles. Short side 150px or more.

In the block editor the same three appear as style variations: Cut corner: top right, bottom right, small object and panel.

Blocks

Sixteen blocks, all under the Celebrate Diversity category in the inserter. Live examples of several follow this table.

BlockEditor nameWhat it is
cd/heroHeroThe navy opening band. One per page. eyebrow, headline, accent, standfirst, two buttons, optional 520px media panel.
cd/sectionSectionThe band wrapper. ground, padding (standard / tight / generous). Everything else lives inside one.
cd/section-headerSection headerA section title with an optional right-aligned action link. title, actionLabel, actionUrl.
cd/statsStat bandMint evidence band. Exactly three figures plus a note.
cd/card-gridCard gridcolumns 2, 3 or 4. Holds cd/card.
cd/cardCardcategory, title, body, actionLabel, cut, optional pill override.
cd/programProgramA program beside its media, which is either a photograph or a square mark panel in the theme colour. mediaSide alternates. Carries the facts strip.
cd/figureFigureAn editorial image with required caption and credit. cut tr or br.
cd/testimonyTestimonyA pull quote with attribution. quote, name and role are all required.
cd/statementStatementThe organisation’s own voice, given weight. Not a quotation and never attributed. Two weights: panel and serif.
cd/dispatchDispatchArticle teaser with a blue feature headline. Currently unused on the site.
cd/numbered-listNumbered listHolds cd/numbered-item. Numbers come from a CSS counter.
cd/numbered-itemNumbered itemtitle and body. One row of the list.
cd/proseProseA wrapper that holds long-form paragraphs at the 66 character measure.
cd/pillPilltext and tone.
cd/buttonButtonlabel, url, variant, newTab.
cd/give-bandGiving bandMint-soft band with the one ember button. statement, label, url.
178Programs delivered
4,760Empowered lives
20Venues

cd/stats: exactly three figures plus one note. Four turns it into a scoreboard, two looks like data is missing.

Statement

Block cd/statement. The organisation speaking, and not a quotation: nothing here is attributed to anyone, and it renders a <p> rather than a <blockquote> so the markup does not claim a source either. For words a real person actually said use cd/testimony below, which requires a name and a role and renders nothing without them.

Panel

variant="panel". Green box, display caps, fills the band. For a sentence that has to carry.

A statement in the organisation’s own voice, set in the display face and given a band of its own.

Serif

variant="serif". Instrument Serif italic at the body measure, no box. For a sentence that should read differently from the paragraphs around it without shouting.

A quieter statement, marked out by the face rather than by a box around it.

Testimony

Block cd/testimony. quote, name and role are all required, and the block renders nothing if any is missing. Falls back to a single column when no portrait is set.

This is placeholder text standing in for a real quotation. The design language requires a named person, so nothing goes here until there is one.

Name required · Role and location required

Numbered list

Blocks cd/numbered-list and cd/numbered-item. Numbering is a CSS counter, so it cannot drift from the markup.

First item

cd/numbered-item takes a title and a body. The ordinal is generated.

Second item

The list is capped at –cd-measure-list so the rules stay with the text.

Listings

Two chronological listings sharing one skeleton. Both are built from core query-loop blocks with cd- classes rather than from a cd/ block, because the query loop has to stay editable.

Event row

.cd-event-row on the Events page. Calendar stamp, body, 360px thumbnail. The stamp is three elements: .cd-ev-mon, .cd-ev-day, .cd-ev-yr.

Apr
22
2026

Event title sits here

The excerpt runs to a couple of lines, capped at the body measure.

Post row

.cd-post-row on the Posts page. Category and date lead, then title and excerpt, then a 280px thumbnail. No calendar stamp: a post’s date is reference, not headline.

Post title sits here

The excerpt runs to a couple of lines, capped at the body measure.

Small parts

Pieces that are CSS classes rather than blocks. They appear inside the blocks above, and are listed here so you have a name for each.

.cd-facts / .cd-factFacts strip inside cd/program. Label and value pairs, blank rows are not rendered.
Who
For seniors
When
Tuesdays, 10am
Where
Melbourne and Brisbane venues
Cost
Free, no booking needed
.cd-noticeA caveat the visitor must not miss. Ember rule, used on the donate page.
.cd-onpageOn-page index. Jump links for a page carrying several sections.
.cd-caption / .cd-caption__creditImage caption and credit. Required on every editorial image.
A caption describing the photograph · Photo: Celebrate Diversity.
.cd-partners / .cd-partnerPartner logo grid. Square tiles, centred label and mark, capped at 320px. The square is a neutral frame: nothing about a logo’s own proportions gets to set the box.
  • Local government
  • State government
  • Community partner
.cd-metaMetadata line. Mono, uppercase, tracked.

By Celebrate Diversity · 10 May 2026

.cd-quotePull quote type, used inside cd/testimony.
A pull quote set in the display face.

Spacing and measure

A ten-step spacing scale and the measures that cap column widths. Ask for the token, not the pixel value.

Spacing scale

  • --cd-space-14px
  • --cd-space-28px
  • --cd-space-312px
  • --cd-space-416px
  • --cd-space-524px
  • --cd-space-630px
  • --cd-space-740px
  • --cd-space-856px
  • --cd-space-972px
  • --cd-space-1080px

Measures and layout

TokenValueJob
--cd-measure-body556pxLong-form column. 66 characters.
--cd-measure-list680pxNumbered list column.
--cd-measure-statement762pxGiving band statement. 22 capitals.
--cd-measure-standfirst46chStandfirst.
--cd-measure-hero15chHero headline.
--cd-measure-section14chSection title.
--cd-max-width1440pxContent maximum. Grounds bleed past it.
--cd-gutter56pxDesktop side gutter.
--cd-section-y72pxStandard band padding.
--cd-section-y-tight56pxSingle-statement bands.
--cd-section-y-hero88pxThe page opening.
--cd-grid-gap24pxGap between cards.

Every dollar makes an Impact

Donate