Design &
Pattern Library
THEME GUIDE
TYPOGRAPHY
:root {
--font-primary: 'Roboto', sans-serif;
--font-headlines: 'Roboto Condensed', sans-serif;
--font-tertiary: 'Roboto', sans-serif;
--font-h1: 3.052rem;
--font-h2: 2.441rem;
--font-h3: 1.953rem;
--font-h4: 1.563rem;
--font-h5: 1.25rem;
--font-h6: 1rem;
--font-huge-font-size: 4.209rem;
--font-large-font-size: 3.157rem;
--font-medium-font-size: 1.777rem;
--font-normal-font-size: 1rem;
--font-small-font-size: .75rem;
}
/* Font Helper Classes */
.has-huge-font-size { font-size: var(--font-huge-font-size); line-height: 1.2; }
.has-large-font-size { font-size: var(--font-large-font-size); line-height: 1.2; }
.has-medium-font-size { font-size: var(--font-medium-font-size); line-height: 1.3;}
.has-normal-font-size { font-size: var(--font-normal-font-size); line-height: 1.4; }
.has-small-font-size { font-size: var(--font-small-font-size); line-height: 1.25; }
.roboto { font-family: 'Roboto', sans-serif!important; }
.roboto-condensed { font-family: 'Roboto Condensed', sans-serif!important; }
.uppercase { text-transform: uppercase!important; }
.has-text-align-right { text-align: right!important; }
.has-text-align-center { text-align: center!important; }
.has-text-align-left { text-align: left!important; }
/* Font Weight Helper Classes */
.fw-100,
.fw-100i {
font-weight: 100;
}
.fw-300,
.fw-300i {
font-weight: 300;
}
.fw-400,
.fw-400i {
font-weight: 400;
}
.fw-500,
.fw-500i {
font-weight: 500;
}
.fw-600 {
font-weight: 600;
}
.fw-700,
.fw-700i {
font-weight: 700;
}
.fw-800 {
font-weight: 800;
}
.fw-900,
.fw-900i {
font-weight: 900;
}
.fw-100i,
.fw-300i,
.fw-400i,
.fw-500i,
.fw-700i,
.fw-800i,
.fw-900i {
font-style: italic;
}
/* Letter Spacing Helper Classes */
.ls-1 { letter-spacing: 1px; }
SPACING
/* Size Variables */
:root {
--spacer-sm: 1em;
--spacer-med: 2em;
--spacer-lg: 3em;
--spacer-xl: 4em;
--spacer-xxl: 5em;
}
.alignfull { max-width: 100%!important; }
.alignfull > * { padding-right: 0; padding-left: 0; }
/* Spacing */
.m-auto { margin: auto!important; }
.mt-0 { margin-top: 0 !important; }
.mt-1 { margin-top: var(--spacer-sm)!important; }
.mt-2 { margin-top: var(--spacer-med)!important; }
.mt-3 { margin-top: var(--spacer-lg)!important; }
.mt-4 { margin-top: var(--spacer-xl)!important; }
.mt-5 { margin-top: var(--spacer-xxl)!important; }
.mr-0 { margin-right: 0 !important; }
.mr-1 { margin-right: var(--spacer-sm)!important; }
.mr-2 { margin-right: var(--spacer-med)!important; }
.mr-3 { margin-right: var(--spacer-lg)!important; }
.mr-4 { margin-right: var(--spacer-xl)!important; }
.mb-0 { margin-bottom: 0!important; }
.mb-1 { margin-bottom: var(--spacer-sm)!important; }
.mb-2 { margin-bottom: var(--spacer-med)!important; }
.mb-3 { margin-bottom: var(--spacer-lg)!important; }
.mb-4 { margin-bottom: var(--spacer-xl)!important; }
.mb-5 { margin-bottom: var(--spacer-xxl)!important; }
.ml-0 { margin-left: 0!important; }
.ml-1 { margin-left: var(--spacer-sm)!important; }
.ml-2 { margin-left: var(--spacer-med)!important; }
.ml-3 { margin-left: var(--spacer-lg)!important; }
.ml-4 { margin-left: var(--spacer-xl)!important; }
.p-all-0 { padding: 0!important; }
.p-all-1 { padding: var(--spacer-sm)!important; }
.p-all-2 { padding: var(--spacer-med)!important; }
.p-all-3 { padding: var(--spacer-lg)!important; }
.p-all-4 { padding: var(--spacer-xl)!important; }
.pt-0 { padding-top: 0 !important; }
.pt-1 { padding-top: var(--spacer-sm)!important; }
.pt-2 { padding-top: var(--spacer-med)!important; }
.pt-3 { padding-top: var(--spacer-lg)!important; }
.pt-4 { padding-top: var(--spacer-xl)!important; }
.pr-0 { padding-right: 0 !important; }
.pr-1 { padding-right: var(--spacer-sm)!important; }
.pr-2 { padding-right: var(--spacer-med)!important; }
.pr-3 { padding-right: var(--spacer-lg)!important; }
.pr-4 { padding-right: var(--spacer-xl)!important; }
.pb-0 { padding-bottom: 0!important; }
.pb-1 { padding-bottom: var(--spacer-sm)!important; }
.pb-2 { padding-bottom: var(--spacer-med)!important; }
.pb-3 { padding-bottom: var(--spacer-lg)!important; }
.pb-4 { padding-bottom: var(--spacer-xl)!important; }
.pl-0 { padding-left: 0!important; }
.pl-1 { padding-left: var(--spacer-sm)!important; }
.pl-2 { padding-left: var(--spacer-med)!important; }
.pl-3 { padding-left: var(--spacer-lg)!important; }
.pl-4 { padding-left: var(--spacer-xl)!important; }
/* Grid Gap */
.gg-0 { grid-gap: 0!important; }
.gg-sm { grid-gap: var(--spacer-sm)!important; }
.gg-med { grid-gap: var(--spacer-med)!important; }
.gg-lg { grid-gap: var(--spacer-lg)!important; }
/* Position Classes */
.absolute-tl,
.absolute-br {
position: absolute;
}
.absolute-tl { z-index: 10; top: 0; left: 0; }
.absolute-br { z-index: 1; bottom: 0; right: 0; }
/* Flexbox Alignments */
.justify-center { display: flex; flex-direction: column; justify-content: center; align-items: center; }
.justify-align-center-end { display: flex!important; align-items: center!important; justify-content: flex-end!important; }
.justify-align-center-start { display: flex!important; align-items: center!important; justify-content: flex-start!important; }
/* Helper Classes */
.align-center { height: 100%; align-content: center; }
.justify-content-center { justify-content: center; }
.justify-content-end { justify-content: end; }
COLORS
:root {
--color-primary: #222;
--color-accent: #0073aa;
--color-accent-light: #0072BC;
--color-accent-dark: #00253D;
--color-white: #fff !important;
--color-white-opacity: rgba(255,255,255, 0.9) !important;
--color-black: #000!important;
--color-black-dark: #111!important;
--color-black-opacity: rgba(0,0,0, 0.9) !important;
--color-success: #09B09A;
--color-feedback: #FEB503;
--color-alert: #CC2723;
--color-gray: #919191;
--color-gray-light: #efefef;
--color-gray-dark: #2e2e2e;
}
/*
* Block Color Palette Colors
* declared in inc/theme-options.php
*/
.has-accent-color { color: var(--color-accent)!important; }
.has-accent-dark-color { color: var(--color-accent-dark)!important; }
.has-accent-light-color { color: var(--color-accent-light)!important; }
.has-gray-color { color: var(--color-gray)!important; }
.has-light-gray-color { color: var(--color-gray-light)!important; }
.has-dark-gray-color { color: var(--color-gray-dark)!important; }
.has-gray-background-color { background-color: var(--color-gray)!important; }
.has-light-gray-background-color { background-color: var(--color-gray-light)!important; }
.has-dark-gray-background-color { background-color: var(--color-gray-dark)!important; }
.has-black-color,
.has-black-color p {
color: var(--color-black);
}
.has-white-background-color { background-color: var(--color-white)!important; }
.has-black-background-color { background-color: var(--color-black)!important; }
.has-black-dark-background-color { background-color: var(--color-black-dark)!important; }
.has-accent-background-color { background-color: var(--color-accent)!important; }
.has-accent-dark-background-color { background-color: var(--color-accent-dark)!important; }
.has-accent-light-background-color { background-color: var(--color-accent-light)!important; }
.has-success-color,
span.has-success-color {
color: var(--color-success)!important;
}
.has-feedback-color { color: var(--color-feedback)!important; }
BORDER
/* Border Helper Classes */
.border { border: 1px solid var(--border-color)!important; }
.bt { border-top: 1px solid var(--border-color)!important; }
.br { border-right: 1px solid var(--border-color)!important; }
.bb { border-bottom: 1px solid var(--border-color)!important; }
.bl { border-left: 1px solid var(--border-color)!important; }
.border-color-light { border-color: var(--border-color)!important; }
.border-color-dark { border-color: var(--border-color-dark)!important; }
.border-accent-color { border-color: var(--color-accent)!important; }
.border-accent-light { border-color: var(--color-accent-light)!important; }
.border-accent-dark { border-color: var(--color-accent-dark)!important; }
.b-0 { border: 0 !important; }
.bt-0 { border-top: 0 !important; }
.br-0 { border-right: 0 !important; }
.bb-0 { border-bottom: 0 !important; }
.bl-0 { border-left: 0 !important; }
.bt-small { border-top: 2px solid var(--border-color-light)!important; }
.br-small { border-right: 2px solid var(--border-color-light)!important; }
.bb-small { border-bottom: 2px solid var(--border-color-light)!important; }
.bl-small { border-left: 2px solid var(--border-color-light)!important; }
.bt-medium { border-top: 5px solid var(--border-color-light)!important; }
.br-medium { border-right: 5px solid var(--border-color-light)!important; }
.bb-medium { border-bottom: 5px solid var(--border-color-light)!important; }
.bl-medium { border-left: 5px solid var(--border-color-light)!important; }
.bt-large { border-top: 10px solid var(--border-color-light)!important; }
.br-large { border-right: 10px solid var(--border-color-light)!important; }
.bb-large { border-bottom: 10px solid var(--border-color-light)!important; }
.bl-large { border-left: 10px solid var(--border-color-light)!important; }
ANIMATIONS
/* Animate Scale */
.animate-scale { overflow: hidden; }
.animate-scale img { backface-visibility: hidden;
transition: all .35s;
transform: scale(1);
}
.animate-scale:hover img {
transform: scale(1.0125);
opacity: .9;
}