COLOURS TYPOGRAPHY TEXT STYLING BUTTONS INPUTS MARGINS & PADDING DISPLAY WIDTH & HEIGHT FLEXIBLE RATIO OBJECT FLEXBOX GRID OBJECT FULL WIDTH MEDIA BACKGROUND IMAGES OBJECT FIT MEDIA EMBED MEDIA OBJECT BRINGING IT ALL TOGETHER

Colours

Monochrome

u-background-color--black
u-color--black

u-background-color--grey-10
u-color--grey-10

u-background-color--grey-9
u-color--grey-9

u-background-color--grey-8
u-color--grey-8

u-background-color--grey-7
u-color--grey-7

u-background-color--grey-6
u-color--grey-6

u-background-color--grey-5
u-color--grey-5

u-background-color--grey-4
u-color--grey-4

u-background-color--grey-3
u-color--grey-3

u-background-color--grey-2
u-color--grey-2

u-background-color--grey-1
u-color--grey-1

u-background-color--white
u-color--white

u-background-color--transparent
u-color--transparent

Alerts

u-background-color--error
u-color--error

u-background-color--success
u-color--success

u-background-color--info
u-color--info

Brand Collections

u-background-color--hippie-blue
u-color--hippie-blue

u-background-color--jelly-bean
u-color--jelly-bean

u-background-color--sunglo
u-color--sunglo

u-background-color--alpine
u-color--alpine

u-background-color--turkish-rose
u-color--turkish-rose

u-background-color--hippie-green
u-color--hippie-green

u-background-color--brandy-rose
u-color--brandy-rose

u-background-color--chestnut
u-color--chestnut

u-background-color--tango
u-color--tango

u-background-color--coral-tree
u-color--coral-tree

u-background-color--wasabi
u-color--wasabi

u-background-color--scooter
u-color--scooter

u-background-color--kimberly
u-color--kimberly

u-background-color--narvik
u-color--narvik

u-background-color--gold
u-color--gold

Skincare

u-background-color--skincare-blue
u-color--skincare-blue

u-background-color--skincare-light-blue
u-color--skincare-light-blue

u-background-color--skincare-lavender-purple
u-color--skincare-lavender-purple

u-background-color--skincare-yellow
u-color--skincare-yellow

u-background-color--skincare-pink
u-color--skincare-pink

u-background-color--skincare-green
u-color--skincare-green

u-background-color--skincare-violet-purple
u-color--skincare-violet-purple

Bath + Body

u-background-color--bath-body-light-grey
u-color--bath-body-light-grey

u-background-color--bath-body-medium-grey
u-color--bath-body-medium-grey

u-background-color--bath-body-pale-purple
u-color--bath-body-pale-purple

u-background-color--bath-body-purple
u-color--bath-body-purple

u-background-color--bath-body-thistle-purple
u-color--bath-body-thistle-purple

u-background-color--bath-body-plum-purple
u-color--bath-body-plum-purple

u-background-color--bath-body-yellow
u-color--bath-body-yellow

u-background-color--bath-body-orange
u-color--bath-body-orange

u-background-color--bath-body-sage-green
u-color--bath-body-sage-green

u-background-color--bath-body-green
u-color--bath-body-green

Code examples:

<div class="u-background-color--black"></div>
<h1 class="u-color--black">Heading 1</h1>

Typography

Headings

Hero

u--is-hero

Code example:

<h1 class="u--is-hero">Hero</h1>

Heading 1

h1

Heading 2

h2

Heading 3

h3

Heading 4

h4

Heading 5

h5

Heading 6

h6

Heading 1 Styled as Heading 3

Code example:

<h1 class="h3">Heading 1 Styled as Heading 3</h1>

Paragraphs

Lead Paragraph

u--is-lead

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Code example:

<p class="u--is-lead">Lorem ipsum dolor sit amet</p>

Paragraph

Lorem ipsum dolor sit amet, consectetur adipiscing elit, This is a link sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Lists

Unordered List

  • list item 1
  • list item 2
    • list item 2.1
    • list item 2.2
    • list item 2.3
  • list item 3

Ordered List

  1. list item 1
  2. list item 2
    • list item 2.1
    • list item 2.2
    • list item 2.3
  3. list item 3

Text Styling

Font Size

u-font-size--[value]

Example:

u-font-size--16

Possible values:

8 (= 8px)
10 (= 10px)
12 (= 12px)
14 (= 14px)
16 (= 16px)
18 (= 18px)
20 (= 20px)
22 (= 22px)
24 (= 24px)
28 (= 28px)
32 (= 32px)
36 (= 36px)
40 (= 40px)
48 (= 48px)
56 (= 56px)
64 (= 64px)

Responsive Font Size

u-font-size--[value]--[breakpoint]

Example:

u-font-size--16--medium-up

Possible breakpoints:

small-up
small-only
medium-up
medium-only
medium-and-large
large-up
large-only
extra-large-up
extra-large-only

Font Style

u-font-style--normal
u-font-style--italic

Font Weight

u-font-weight--normal
u-font-weight--bold

Line Height

u-line-height--[value]

Example:

u-line-height--5

Possible values:

normal (= normal)
0 (= 0)
0-25 (= 0.25)
0-5 (= 0.5)
0-75 (= 0.75)
1 (= 1)
1-25 (= 1.25)
1-5 (= 1.5)
1-75 (= 1.75)
2 (= 2)
2-5 (= 2.5)
3 (= 3)
4 (= 4)
6 (= 6)

Text Align

u-text-align--left
u-text-align--right
u-text-align--center
u-text-align--justify

Text Transform

u-text-transform--capitalize
u-text-transform--uppercase
u-text-transform--lowercase
u-text-transform--none

Text Decoration

u-text-decoration--none
u-text-decoration--underline
u-text-decoration--line-through

Letter Spacing

u-letter-spacing--[value]

Example:

u-letter-spacing--1

Possible values:

normal (= normal)
1 (= 0.0625em)
2 (= 0.125em)
3 (= 0.1875em)
4 (= 0.25em)
5 (= 0.3125em)
6 (= 0.375em)
7 (= 0.4375em)
8 (= 0.5em)

Hide Text

o--hide-text

Code example:

<h1 class="u-text-transform--uppercase u-text-align--center">Heading 1</h1>

Buttons

Button Types

button/button-primary
button-secondary
button-white
button-white-inverted

Primary Button Secondary Button

White Button White Inverted Button

Button Size Modifiers

button-tiny
button-small
button-large

Tiny Button Small Button Regular Button Large Button

Button Width Modifier

Button with fixed width

Code example:

<a class="button button-small button-secondary" href="#">Button Text Here</a>

Inputs

Your field appears to be invalid.
1970

Margins & Padding

Margins

u-margin--[value]
u-margin-right--[value]
u-margin-bottom--[value]
u-margin-left--[value]
u-margin-top--[value]
u-margin-x--[value]
u-margin-y--[value]

Example:

u-margin-bottom--32

Padding

u-padding--[value]
u-padding-right--[value]
u-padding-bottom--[value]
u-padding-left--[value]
u-padding-top--[value]
u-padding-x--[value]
u-padding-y--[value]

Example:

u-padding-bottom--32

Possible values:

auto (= auto)
none (= 0px)
1 (= 1px)
2 (= 2px)
4 (= 4px)
8 (= 8px)
12 (= 12px)
16 (= 16px)
20 (= 20px)
24 (= 24px)
32 (= 32px)
48 (= 48px)
64 (= 64px)
128 (= 128px)
256 (= 256px)
512 (= 512px)

Responsive Margins

u-margin--[value]--[breakpoint]

Example:

u-margin--32--medium-up

Responsive Padding

u-padding--[value]--[breakpoint]

Example:

u-padding--32--medium-up

Possible breakpoints:

small-up
small-only
medium-up
medium-only
medium-and-large
large-up
large-only
extra-large-up
extra-large-only

Code example:

<div class="u-margin-bottom--16 u-margin-bottom--32--medium-up u-padding--16 u-padding--32--medium-up"></div>

Display

Hide Elements

u-display--none
u--hide

Responsive hiding:

u--hide--small-up
u--hide--small-only
u--hide--medium-up
u--hide--medium-only
u--hide--medium-and-large
u--hide--large-up
u--hide--large-only
u--hide--extra-large-up
u--hide--extra-large-only

Show ELements

u-display--block
u--show

Responsive showing:

u--show--small-up
u--show--small-only
u--show--medium-up
u--show--medium-only
u--show--medium-and-large
u--show--large-up
u--show--large-only
u--show--extra-large-up
u--show--extra-large-only

Visibility

u-visibility--hidden
u-visibility--visible

Code examples:

Note: You need to set a default value in combination with a responsive value.

<!-- Mobile only -->
<div class="u--show u--hide--medium-up"></div>

<!-- Tablet and above -->
<div class="u--hide u--show--medium-up"></div>

Width & Height

Widths

u-width--[value]

Example:

u-width--100pc

Possible values:

auto (= auto)
0 (= 0)
10pc (= 10%)
20pc (= 20%)
30pc (= 30%)
40pc (= 40%)
50pc (= 50%)
60pc (= 60%)
70pc (= 70%)
80pc (= 80%)
90pc (= 90%)
100pc (= 100%)
320 (= 320px)
420 (= 420px)
770 (= 770px)
1040 (= 1040px)
1280 (= 1280px)
1440 (= 1440px)
1920 (= 1920px)
2160 (= 2160px)

Responsive widths

u-width--[value]--[breakpoint]

Example:

u-width--50pc--medium-up

Possible breakpoints:

small-up
small-only
medium-up
medium-only
medium-and-large
large-up
large-only
extra-large-up
extra-large-only

Max Widths

u-max-width--[value]

Example:

u-max-width--1280

Possible values:

auto (= auto)
0 (= 0)
100pc (= 100%)
320 (= 320px)
420 (= 420px)
770 (= 770px)
1040 (= 1040px)
1280 (= 1280px)
1440 (= 1440px)
1920 (= 1920px)
2160 (= 2160px)

Heights

u-height--[value]

Example:

u-height--100pc

Possible values:

auto (= auto)
0 (= 0)
10pc (= 10%)
20pc (= 20%)
30pc (= 30%)
40pc (= 40%)
50pc (= 50%)
60pc (= 60%)
70pc (= 70%)
80pc (= 80%)
90pc (= 90%)
100pc (= 100%)

Code examples:

<div class="u-max-width--1280"></div>
<div class="u-width--100pc u-width--50pc--medium-up"></div>

Flexible Ratio Object

Applies a ratio to a div but, rather than cropping long content, the height will extend to accommodate it.

Ratios:

o-flex-ratio--[value]

Example:

o-flex-ratio--3by2

Possible values:

1by1 / 2by2 / 3by3 / 4by4 / 5by5 [square]
1by2 [portrait]
1by3 [portrait]
2by1 [landscape]
2by3 [portrait]
3by1 [landscape]
3by2 [landscape]
3by4 [portrait]
4by1 [landscape]
4by2 [landscape]
4by3 [landscape]
4by5 [portrait]
5by1 [landscape]
5by2 [landscape]
5by3 [landscape]
5by4 [landscape]
16by9 [landscape]

Responsive ratios:

o-flex-ratio--[value--breakpoint]

Example:

o-flex-ratio--3by2--medium-up

Possible breakpoints:

small-up
small-only
medium-up
medium-only
medium-and-large
large-up
large-only
extra-large-up
extra-large-only

Code example:

<div class="o-flex-ratio--1by1 o-flex-ratio--3by2--medium-up o-flex-ratio--3by1--large-up">
    <div><!-- Content --></div>
</div>

Flexbox

u-flexbox

Horizontal alignment of cells:

u-justify-content--left
u-justify-content--center
u-justify-content--right

Vertical alignment of cells:

u-align-items--top
u-align-items--middle
u-align-items--bottom
u-align-items--stretch

Align cells to center and middle:

u-flexbox--center

Code example:

<div class="u-flexbox u-flexbox--center"></div>

Grid Object

o-grid
o-grid__cell

Gutters

o-gutter--[value]
o-gutter-horizontal--[value]
o-gutter-vertical--[value]

Possible values:

8 (= 8px)
16 (= 16px)
24 (= 24px)
32 (= 32px)
40 (= 40px)
48 (= 48px)
56 (= 56px)
64 (= 64px)

Responsive Gutters

o-gutter--[value--breakpoint]
o-gutter-horizontal--[value--breakpoint]
o-gutter-vertical--[value--breakpoint]

Possible breakpoints:

small-up
small-only
medium-up
medium-only
medium-and-large
large-up
large-only
extra-large-up
extra-large-only

Cell widths

o-unit--[value]

Possible values are any combination of numbers from 1 to 12, for example 1of3, 2of6, 3of12.

It is also possible to specify the breakpoints at which the unit values apply:

o-unit--[value]--small-up
o-unit--[value]--medium-up
o-unit--[value]--large-up
o-unit--[value]--extra-large-up

Cell vertical alignment

o-grid--align-top
o-grid--align-middle
o-grid--align-bottom
o-grid--align-stretch

Cell horizontal alignment

o-grid--align-left
o-grid--align-center
o-grid--align-right

Code example:

<div class="o-grid o-gutter--32 o-grid--align-middle o-grid--align-center">
  <div class="o-grid__cell o-unit-1of2 o-unit-1of4--medium-up">
    <!-- Content -->
  </div>
  <div class="o-grid__cell o-unit-1of2 o-unit-1of4--medium-up">
    <!-- Content -->
  </div>
</div>

Full Width Media

o-media--full-width

Code example:

<img class="o-media--full-width" src="image.jpg">

Background images

Images can be added inline as background elements, and then controlled using the background utility classes.

Background size:

u-background-size--cover
u-background-size--contain

Background position (attachment origin):

u-background-position--[value]

Possible values:

center
left
top-left
top
top-right
right
bottom-right
bottom
bottom-left

Example:

u-background-position--center

Responsive background size

u-background-size--[value]--[breakpoint]

Example:

u-background-size--cover--medium-up

Responsive background position

u-background-position--[value]--[breakpoint]

Example:

u-background-position--right--medium-up

Possible breakpoints:

small-up
small-only
medium-up
medium-only
medium-and-large
large-up
large-only
extra-large-up
extra-large-only

Code example:

<div class="o-flex-ratio--3by2 u-background-size--cover u-background-position--bottom u-background-position--right--medium-up" style="background-image: url();"></div>

Object Fit

o-object-fit--cover

o-object-fit--contain

Code example:

<div><img class="o-object-fit--contain" src="image.jpg"></div>

Media Embed

Simply wrap your embed code in a div and set a ratio.

Code example:

<div class="o-flex-ratio--16by9">
      <iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/6Jxv4PzeRdg" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>

Media Object

A media object consists of an image and text. The image can be aligned to the left or right.

Examples:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque nec sagittis lacus, sit amet hendrerit ante. Nulla sit amet pulvinar nisi. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris tortor neque, ultrices eget metus sit amet, laoreet tristique ligula.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque nec sagittis lacus, sit amet hendrerit ante. Nulla sit amet pulvinar nisi. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris tortor neque, ultrices eget metus sit amet, laoreet tristique ligula.

Media object:

o-media

Modifiers:

o-media--stack (stack elements on smaller screens)
o-media--center (vertically center elements)
o-media--reverse (reverse image alignment)

Code example:

<div class="o-media o-media--center">
  <img src="assets/img/style-guide/style-guide-01_w128.jpg">
  <div>
    <p class="u-margin--none">Lorem ipsum dolor sit amet.</p>
  </div>
</div>

Bringing it all together

Combinations of the utilities and objects can be used together to build complex layout components.

Summer Skincare

Up to 20% off our Summer Skincare range!

SHOP SUMMER SKINCARE

All the things:

<div class="o-flex-ratio--1by1 o-flex-ratio--3by2--small-up o-flex-ratio--2by1--large-up u-background-size--cover u-background-position--bottom u-text-align--center" style="background-image: url(assets/img/style-guide/style-guide-03.jpg);">
  <div class="o-grid o-grid--align-middle">
    <div class="o-grid__cell o-unit-2of3 o-unit-1of2--small-up u-padding--32">
      <div class="u-padding-y--32 u-padding-x--16 u-background-color--white">
        <h4 class="h3 u-margin-top--none u-margin-bottom--8">Summer Skincare</h4>
        <p class="u-margin-top--8 u-line-height--1-25 u-font-size--14 u-font-size--16--medium-up">Up to 20% off our Summer Skincare range!</p>
        <a class="button button-small" href="#" title="SHOP SUMMER SKINCARE">SHOP SUMMER SKINCARE</a>
      </div>
    </div>
  </div>
</div>