Design Elements

Alexandria | The PBS Component Library


Colors


Sass variables | Sketch Palette (requires Sketch Palettes plugin)

Neutrals

$gray-100: #000000
rgb(0, 0, 0)
hsl(0, 0%, 0%)
(for shadows)
$gray-87: #222222
rgb(34, 34, 34)
hsl(0, 0%, 13%)
$gray-71: #4b4b4b
rgb(75, 75, 75)
hsl(0, 0%, 29%)
$gray-56: #707070
rgb(112, 112, 112)
hsl(0, 0%, 44%)
$gray-30: #b3b3b3
rgb(179, 179, 179)
hsl(0, 0%, 70%)
$gray-12: #e0e0e0
rgb(224, 224, 224)
hsl(0, 0%, 88%)
(aka $divider)
$gray-5: #f3f3f3
rgb(243, 243, 243)
hsl(0, 0%, 95%)
$gray-3: #f8f8f8
rgb(248, 248, 248)
hsl(0, 0%, 97%)
$gray-0: #ffffff
rgb(255, 255, 255)
hsl(0, 0%, 100%)

Hues

We have a collection of eight ‘pure’ hues. Using the pure hues whenever possible is encouraged.

However, if there is a situation where there is not sufficient contrast, tints of 10% and 20%, both in darkening and lightening, are allowed.

In Sass, these colors should be acheived using the mix function with the hue and $gray-0 or $gray-100, not the default darken or lighten function.

Tints can be acheived in design software by overlaying the pure hue with a layer of white or black, set to 10% or 20% opacity.

$blue-digital-darken-20: #0e5891
$blue-digital-darken-10: #1063a3
$blue-digital: #126eb5
rgb(18, 110, 181)
hsl(206, 82%, 39%)
$blue-digital-lighten-10: #2a7dbc
$blue-digital-lighten-20: #418bc4
$blue-antique-darken-20: #728596
$blue-antique-darken-10: #8195a9
$blue-antique: #8fa6bc
rgb(143, 166, 188)
hsl(209, 25%, 65%)
$blue-antique-lighten-10: #9aafc3
$blue-antique-lighten-20: #a5b8c9
$blue-brand-darken-20: #0088bc
$blue-brand-darken-10: #0099d4
$blue-brand: #00aaeb
rgb(0, 170, 235)
hsl(197, 100%, 46%)
$blue-brand-lighten-10: #1ab3ed
$blue-brand-lighten-20: #33bbef
$red-darken-20: #8a0219
$red-darken-10: #9b031c
$red: #ac031f
rgb(172, 3, 31)
hsl(350, 97%, 34%)
$red-lighten-10: #b41c35
$red-lighten-20: #bd354c
$yellow-darken-20: #ba9511
$yellow-darken-10: #d2a713
$yellow: #e9ba15
rgb(233, 186, 21)
hsl(47, 83%, 50%)
$yellow-lighten-10: #ebc12c
$yellow-lighten-20: #edc844
$green-darken-20: #518204
$green-darken-10: #5b9205
$green: #65a205
rgb(101, 162, 5)
hsl(83, 94%, 33%)
$green-lighten-10: #74ab1e
$green-lighten-20: #84b537
$magenta-darken-20: #a51e4a
$magenta-darken-10: #b92154
$magenta: #ce255d
rgb(206, 37, 93)
hsl(340, 70%, 48%)
$magenta-lighten-10: #d33b6d
$magenta-lighten-20: #d8517d
$orange-darken-20: #be5a01
$orange-darken-10: #d66601
$orange: #EE7101
rgb(238, 113, 1)
hsl(28, 99%, 47%)
$orange-lighten-10: #f07f1a
$orange-lighten-20: #f18d34

Color Combinations

We strive to meet WCAG 2.0 color contrast ratios to ensure accessibility. These are solid backgrounds with neutral text on top, with indications of what passes the required contrast ratios.

Neutrals

$gray-87

$gray-87 text
$gray-71 text
$gray-56 text
$gray-30 text
$gray-12 text
$gray-5 text
$gray-3 text
$gray-0 text

$gray-71

$gray-87 text
$gray-71 text
$gray-56 text
$gray-30 text
$gray-12 text
$gray-5 text
$gray-3 text
$gray-0 text

$gray-56

$gray-87 text
$gray-71 text
$gray-56 text
$gray-30 text
$gray-12 text
$gray-5 text
$gray-3 text
$gray-0 text

$gray-30

$gray-87 text
$gray-71 text
$gray-56 text
$gray-30 text
$gray-12 text
$gray-5 text
$gray-3 text
$gray-0 text

$gray-12

$gray-87 text
$gray-71 text
$gray-56 text
$gray-30 text
$gray-12 text
$gray-5 text
$gray-3 text
$gray-0 text

$gray-5

$gray-87 text
$gray-71 text
$gray-56 text
$gray-30 text
$gray-12 text
$gray-5 text
$gray-3 text
$gray-0 text

$gray-3

$gray-87 text
$gray-71 text
$gray-56 text
$gray-30 text
$gray-12 text
$gray-5 text
$gray-3 text
$gray-0 text

$gray-0

$gray-87 text
$gray-71 text
$gray-56 text
$gray-30 text
$gray-12 text
$gray-5 text
$gray-3 text
$gray-0 text

Hues

$blue-digital

$gray-87 text
$gray-71 text
$gray-56 text
$gray-30 text
$gray-12 text
$gray-5 text
$gray-3 text
$gray-0 text

$blue-antique

$gray-87 text
$gray-71 text
$gray-56 text
$gray-30 text
$gray-12 text
$gray-5 text
$gray-3 text
$gray-0 text

$blue-brand

$gray-87 text
$gray-71 text
$gray-56 text
$gray-30 text
$gray-12 text
$gray-5 text
$gray-3 text
$gray-0 text

$red

$gray-87 text
$gray-71 text
$gray-56 text
$gray-30 text
$gray-12 text
$gray-5 text
$gray-3 text
$gray-0 text

$yellow

$gray-87 text
$gray-71 text
$gray-56 text
$gray-30 text
$gray-12 text
$gray-5 text
$gray-3 text
$gray-0 text

$green

$gray-87 text
$gray-71 text
$gray-56 text
$gray-30 text
$gray-12 text
$gray-5 text
$gray-3 text
$gray-0 text

$magenta

$gray-87 text
$gray-71 text
$gray-56 text
$gray-30 text
$gray-12 text
$gray-5 text
$gray-3 text
$gray-0 text

$orange

$gray-87 text
$gray-71 text
$gray-56 text
$gray-30 text
$gray-12 text
$gray-5 text
$gray-3 text
$gray-0 text

Type


The needs of typography vary greatly from project to project, so we tend to not be very prescriptive. There are some general rules listed below. Note that we don’t tend to rely much on global generic styles - components tend to supply their needed styling through class names.

We rely on two typefaces: Open Sans and, as an accent typeface, Arvo.


Open Sans


Arvo


Use of ALL CAPS


Icons


Icon font | SVG Sprite | SVG Individual Files

Brand

Logo Icon
Logotype Icon
Passport Compass Rose Icon
Passport Logo Icon

Media Playback

Pause Icon
Pause Circle Icon
Play Icon
Play Circle Icon
Rewind Icon
Closed Caption Icon
Closed Caption Line Icon

Interface

Up Caret Icon
Down Caret Icon
Left Caret Icon
Right Caret Icon
Collapse Icon
Expand Icon
Move Icon
Hamburger Icon
Slideout Nav Close Icon
Slideout Nav Open Icon
Add Icon
Archive Icon
Calendar Icon
Certificate Icon
Check Icon
Circle Icon
Close Icon
Columns Icon
Copy Icon
Copyright Icon
Countdown Icon
Credit Card Icon
Download Icon
Download Circle Icon
Duplicate Icon
Edit Icon
Favorite Icon
Filter Icon
Help Icon
Help Line Icon
History Emptyset Icon
Home Icon
Info Icon
Info Line Icon
Link Icon
Local Pin Icon
Local Pin Line Icon
Mail Icon
Newsletter Icon
Not Published Icon
Notification Icon
Notification Line Icon
Power Off Icon
Preview Icon
Profile Icon
Profile Icon
Refresh Icon
Replay Video Icon
Reply Mail Icon
Rss Icon
Search Icon
Settings Icon
Share Icon
Shop Icon
Text Icon
Trash Icon
TV Schedule Icon
Undo Icon
Upload Icon
Upload Circle Icon
Warning Circle Icon
Warning Circle line Icon
Warning Triangle Icon
Warning Triangle line Icon
Wifi Icon

Components

Component Ad Unit Icon
Component Add Dropdown Icon
Component Audio Icon
Component Collapse Copy Icon
Component Embed Icon
Component Form Icon
Component Gallery Promo Icon
Component Grid Icon
Component Hero Carousel Icon
Component Horizontal Linebreak Icon
Icon Horizontal Linebreak Icon
Component Image Icon
Component List Icon
Component Logos Icon
Component Photo Gallery Icon
Component Promo Icon
Component Space Icon
Component Video Icon
Component Video Line Icon
Component Whats On Icon

Social Media

Disqus Icon
Facebook Icon
Facebook Box Icon
Facebook Like Line Icon
Google Icon
Instagram Icon
Pinterest Icon
Pinterest Box Icon
Pinterest Circle Icon
Retweet Icon
Tumblr Icon
Tumblr Box Icon
Twitter Icon
Twitter Box Icon
Youtube Icon

Buttons


There are a set of rules that we have around buttons:

Fill buttons

“Ghost” Buttons

“Grey” Buttons (with their Active State)

Social Sign In Buttons

Button Sizes


Forms


“Box” Inputs

Other Form Inputs

Radio Buttons:




Checkboxes:









42

Form layout

This is a wide form

This is a narrow form