Your browser isn't quite dressed for Casual Friday.
Things may look a little odd. A current browser will fix that.
Component preview
Jump to component
Browser warning
Your browser isn't quite dressed for Casual Friday.
Things may look a little odd. A current browser will fix that.
Heading roles
These specimens intentionally demonstrate different heading levels.
Choose a tag for the document outline and a class for its visual
role. The decorative face is a separate, explicit opt-in.
Default tags
h4.heading.heading--title — title appearance
Make it Friday
h2 — heading; no class
Make it Friday
h3 — sub; no class
Make it Friday
h4 — subsub; no class
Make it Friday
h5 — subsubsub; no class
Make it Friday
h6 — bold copy; no class or heading role
Make it Friday
Roles on paragraphs
p.heading.heading--title — title
Make it Friday
p.heading — heading
Make it Friday
p.heading.heading--sub — sub
Make it Friday
p.heading.heading--2sub — subsub
Make it Friday
p.heading.heading--3sub — subsubsub
Make it Friday
p.heading.heading--byline — byline; no default tag
From the back bar
Tag and visual role are independent
h4.heading.heading--sub — h4 outline, sub
appearance
Make it Friday
h4.heading.heading--title — h4 outline, title
appearance
Make it Friday
h4.heading — h4 outline, heading appearance
Make it Friday
h2.heading--sub — block class optional on headings
Make it Friday
Decorative face, every role
The face and weight change; each role keeps its size, line height
and tracking. All specimens below are paragraphs, not headings.
p /
heading heading--title heading--deco — title
Make it Friday
p / heading heading--deco — heading
Make it Friday
p /
heading heading--sub heading--deco — sub
Make it Friday
p /
heading heading--2sub heading--deco — subsub
Make it Friday
p /
heading heading--3sub heading--deco — subsubsub
Make it Friday
p /
heading heading--byline heading--deco — byline
From the back bar
Prose rhythm
div.flow — direct children only. Labels name each tag
and class. The section title and this explanation sit outside the
prose stream.
p / no class — Start with a drink you enjoy, a
clean glass and enough ice. Good preparation leaves more time to
spend with your guests.
p / no class — This second paragraph demonstrates
the paragraph-to-paragraph gap. The following heading gets a
larger pause before it.
h2 / no class — Before you pour
p / no class — The space after a heading is tighter
than the space between paragraphs.
h3 / no class — Prepare the glass
p / no class — Set out your ingredients before you
start mixing, then follow the short checklist below.
ul > li / no classes — Chill your glass.
li > p / no class — Measure the ingredients.
li > p / no class — These nested paragraphs
receive no spacing from the outer flow.
p / no class — A paragraph after a list uses the
list-to-paragraph spacing, with no competing top margin.
One last touch
h4.heading.heading--title above has a title's
appearance but keeps h4 spacing. This p has no
class and no trailing margin.
section-heading — byline before the heading
Ingredients
Learn more about the essential bottles!
Page grid
Twelve equal columns share the page gutter. Header, main, and footer
align to these same columns at every viewport width.
123456789101112
Containers
Each width is shown as a default container followed by its extended
version. Neutral bars mark the content columns; the extended
background uses the zone-a token. Below 480px it reaches the
viewport edges; from 480px it extends one gutter beyond the content
on each side.
Compare each direct container with the same width inside the article
below. The article uses page-grid__section to inherit
the page columns and gutter without discarding its semantics.
Direct: container container--wide
Direct: container container--two-thirds
Direct: container container--half
Article on the inherited grid
Subgrid: container container--wide
Subgrid: container container--two-thirds
Subgrid: container container--half
Uncontained paragraph: spans every inherited column by default.
page-grid__section mission-statement — the page heading
is h1 on the homepage; this specimen uses h3.
Thank God it's Friday!
Your go-to destination for recipes of
cocktails and
alcohol-free drinks. Level up your
homebar game with us!
Site header
The full-width header is shown live on the
homepage (site-header site-header--home) and the
Recipes page (site-header).
Button
Links navigate; action buttons are demonstration controls without an
action. Colour treatments are primary, secondary and ghost. Icon
position follows source order. Icon-only controls take their name
from one sr-only span.
All treatments and structures
Icon only —
button button--primary button--icon-only
The inactive modifier changes appearance only. Action buttons also
require disabled. Unavailable links are non-interactive
span elements with no href or
tabindex.
Native disabled — button button--primary
Modifier plus native disabled —
button button--primary button--inactive
Add icon-link--large for icon artwork at 1.4 times the
default size. Padding, colours, hover and focus treatments stay the
same; the link grows to fit. Used in the homepage header, footer and
bottle hero official links, including the website icon.
filter-pills__reset filter-pills__pill--hover — reset
hover equivalent; selected type and long-label wrapping.
Pager
Static listing controls: links expose example query parameters but
do not paginate or change item counts; the native select changes its
selected option only. Each example has unique label and select IDs.
The full example provides the upper navigation landmark; the
repeated lower example uses a div, as do the other specimens on this
preview page.
pager with one pager__group. The
per-page group is optional and omitted for Ghost; no sort group
is needed. This specimen uses a div so the full example above
remains the sole pager navigation landmark.
bottle-grid in container--full — 24
slots: sponsor plus 23 bottles.
bottle-grid__item[data-bottle="saigon-baigur"] sets
--bottle-sink: 4%; other bottles use 2%.
container container--wide article-grid; each list item
is li.article-grid__item, containing a
card with its card--title-l,
card--title-m or card--title-s modifier.
The twelve-item cycle preserves DOM and tab order, with nine tagged
cards. Cards aim for square proportions and can grow for longer
content; the 7/5-column layout stays near-square. Partial cycles
keep their prescribed spans and natural empty slots.
container container--wide article-grid — 12 cards; one
complete cycle.
container container--wide article-grid
article-grid--magazine
— 26 articles: two complete cycles and an incomplete third. Each
item is li.article-grid__item with the same
card markup and no title-size modifier. The grid sets
--card-title-size and
--card-excerpt-display. Items 13 and 25 restart the
cycle; omitted articles do not produce placeholders.
Each card is one link, named by its heading. Tab through the cards
to inspect the global rounded focus ring, hover with a pointer, or
press on touch. Hover-equivalent specimens expose the same end state
without requiring a pointer.
Ratios are preferred, not a text-clipping constraint. Long titles
and enlarged text may grow the card; split cards keep equal
side-by-side columns. The placing grid owns spacing and may override
--card-aspect-ratio. Images and tags retain light text
in both OS themes; CTA surfaces follow the theme.
Each category-grid__item contains a
card card--category with one native link, a decorative
image and its category name. Column counts follow the viewport;
incomplete rows stay aligned to the start.
Tags are links here. Inside cards, the same tag uses a
non-interactive span. The full label remains in the document when
its visual presentation is truncated.
tag — normal linked tag
Tutorialtag — deliberately narrow container; ellipsis
These specimens use h3 with the page-title visual role. On an
article page the title is h1. The linked category leads to its
index, not the current article.
Known follow-up: the existing tag--link has
insufficient contrast in dark mode, at rest and on hover. It is
unchanged in this component.
magazine-hero — wide container, Tutorials, no caption
media-text in container--wide — image
first at every width. The image-end variant is deferred.
The finishing touch
Prepare the lemon zest before you shake. Once the drink is
strained into the chilled glass, express the zest over the
cocktail to finish.
Recipe sheet
recipe-sheet — shared heading, shelf and list rows;
supplied demo product imagery. Block headings use h3 here to
preserve the preview outline, with the default heading visual
role.
Bar tools & Glassware
1
Nick & Nora glass
1
Shaker
1
Fine strainer
Ingredients
50 ml
Gin
20 ml
Lemon juice
15 ml
Raspberry syrup
15 ml
Egg white / foamer / aquafaba
Aquafaba or a commercial foamer make the drink vegan.
1
Lemon zest as garnish
plenty
Ice for shaking
Before you start
Chill the glass with ice
Prepare the zest before you shake
Steps to make the drink
Fill a shaker with
50 ml
Gin
20 ml
Lemon juice
15 ml
Raspberry syrup
15 ml
Egg white
Dry shake without ice to build the foam
Shake again with ice until very cold
Empty the chilled glass
Strain through a fine strainer into the
glass
Express the lemon zest over the drink
Recipe list
recipe-list recipe-list--quantities
50 ml
Gin
20 ml
Lemon juice
15 ml
Raspberry syrup
15 ml
Egg white / foamer / aquafaba
Aquafaba or a commercial foamer make the drink vegan.
1
Lemon zest as garnish
plenty
Ice for shaking
recipe-list recipe-list--checklist
Chill the glass with ice
Prepare the zest before you shake
recipe-list recipe-list--steps
Fill a shaker with
50 ml
Gin
20 ml
Lemon juice
15 ml
Raspberry syrup
15 ml
Egg white
Dry shake without ice to build the foam
Shake again with ice until very cold
Empty the chilled glass
Strain through a fine strainer into the glass
Express the lemon zest over the drink
Ingredient showcase
ingredient-showcase with
shelf ingredient-showcase__shelf — 15 linked bottles;
custom height and gap
Measure, stir and strain with confidence. Explore practical
tools that make preparing a good drink more consistent, from
the first pour to the final strain.
category-shelf — missing-imagery example; the shelf
is intentionally omitted.
Gear
Take a closer look at the equipment behind a well-equipped
home bar, from a soda siphon for fresh fizz to a sous vide
container for your next infusion project.