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#FFFFFFchalk#F0EDE6grey-ghost#F4F5F6navy-ghost#F2F3F7blue-ghost#EDF3FAgreen-ghost#F0F4F2mint-ghost#F1F7F5lilac-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..cd-btn--ghostOutlined. The secondary action beside a primary..cd-btn--giveEmber. Giving only, and only one per screen, rule 2..cd-btn--textUnderlined link in the display face. Card and section actions..cd-btn--smA size modifier, combine with a variant.On navy
.cd-btn--primaryNavy pill. The main action. Inverts on navy and green..cd-btn--ghostOutlined. The secondary action beside a primary..cd-btn--giveEmber. Giving only, and only one per screen, rule 2..cd-btn--textUnderlined link in the display face. Card and section actions..cd-btn--smA size modifier, combine with a variant.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.tone="blue-soft"On navy grounds, hero eyebrows.tone="mint"On green cards.tone="lilac"On navy cards.tone="deep-blue"On blue cards.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.tone="green-soft"Wellbeing, on a light ground.tone="mint-soft"Evidence, on a light ground.tone="lilac-soft"Learning, on a light ground.tone="grey-soft"The quietest pill. No thematic claim.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 card
Setting category to learning picks the ground and the pill together, so a designer chooses a meaning rather than a colour.
Learn moreWellbeing card
Setting category to wellbeing picks the ground and the pill together, so a designer chooses a meaning rather than a colour.
Learn moreCulture card
Setting category to culture picks the ground and the pill together, so a designer chooses a meaning rather than a colour.
Learn moreNeutral card
Setting category to neutral picks the ground and the pill together, so a designer chooses a meaning rather than a colour.
Learn moreAbove: 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.
| Block | Editor name | What it is |
|---|---|---|
cd/hero | Hero | The navy opening band. One per page. eyebrow, headline, accent, standfirst, two buttons, optional 520px media panel. |
cd/section | Section | The band wrapper. ground, padding (standard / tight / generous). Everything else lives inside one. |
cd/section-header | Section header | A section title with an optional right-aligned action link. title, actionLabel, actionUrl. |
cd/stats | Stat band | Mint evidence band. Exactly three figures plus a note. |
cd/card-grid | Card grid | columns 2, 3 or 4. Holds cd/card. |
cd/card | Card | category, title, body, actionLabel, cut, optional pill override. |
cd/program | Program | A 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/figure | Figure | An editorial image with required caption and credit. cut tr or br. |
cd/testimony | Testimony | A pull quote with attribution. quote, name and role are all required. |
cd/statement | Statement | The organisation’s own voice, given weight. Not a quotation and never attributed. Two weights: panel and serif. |
cd/dispatch | Dispatch | Article teaser with a blue feature headline. Currently unused on the site. |
cd/numbered-list | Numbered list | Holds cd/numbered-item. Numbers come from a CSS counter. |
cd/numbered-item | Numbered item | title and body. One row of the list. |
cd/prose | Prose | A wrapper that holds long-form paragraphs at the 66 character measure. |
cd/pill | Pill | text and tone. |
cd/button | Button | label, url, variant, newTab. |
cd/give-band | Giving band | Mint-soft band with the one ember button. statement, label, url. |
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.
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..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..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
| Token | Value | Job |
|---|---|---|
--cd-measure-body | 556px | Long-form column. 66 characters. |
--cd-measure-list | 680px | Numbered list column. |
--cd-measure-statement | 762px | Giving band statement. 22 capitals. |
--cd-measure-standfirst | 46ch | Standfirst. |
--cd-measure-hero | 15ch | Hero headline. |
--cd-measure-section | 14ch | Section title. |
--cd-max-width | 1440px | Content maximum. Grounds bleed past it. |
--cd-gutter | 56px | Desktop side gutter. |
--cd-section-y | 72px | Standard band padding. |
--cd-section-y-tight | 56px | Single-statement bands. |
--cd-section-y-hero | 88px | The page opening. |
--cd-grid-gap | 24px | Gap between cards. |