/* ---------------------------------------------------------------------------------------------

	Q4 Roadshow Landing Page
	
	Author: Divide & Conquer
	Author URI: https://divideconquer.se

/* --------------------------------------------------------------------------------------------- */


/* --------------------------------------------------------------------------------------------- */
/*	0. CSS Reset
/* --------------------------------------------------------------------------------------------- */


html, body {
	border: none;
	margin: 0;
	padding: 0;
}

h1, h2, h3, h4, h5, h6, p, blockquote, address, big, cite, code, em, font, img, small, strike, sub, sup, li, ol, ul, fieldset, form, label, legend, button, table, caption, tr, th, td {
	border: none;
	font-size: 100%;
	font-style: normal;
	font-weight: normal;
	line-height: 1;
	margin: 0;
	padding: 0;
	text-align: left;
}

blockquote:before,
blockquote:after {
	content: "";
}

a {
	outline: none;
}


/* --------------------------------------------------------------------------------------------- */
/*	1. Document Setup
/* --------------------------------------------------------------------------------------------- */


html {
	font-size: 62.5%; /* 1rem = 10px */
}

body {
	background: #fff;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
	box-sizing: border-box;
	color: #1d1d1d;
	font-family: 'mr-eaves-xl-modern', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Helvetica, sans-serif;
	font-size: 1.8rem; 
}

*,
*:before,
*:after {
		-webkit-box-sizing: inherit;
		-moz-box-sizing: inherit;
	box-sizing: inherit;
	-webkit-font-smoothing: antialiased;
}

::selection {
	background: #1d1d1d;
	color: #fff;
}


/* Clearing ---------------------------------- */


.group:after,
.entry-content:after {
	clear: both;
	content: "";
	display: block;
}


/* Base Transitions ------------------------------- */


a {
	transition: all .15s linear;
}


/* Screen Reader Text ------------------------ */


.screen-reader-text {
	clip: rect( .1rem, .1rem, .1rem, .1rem );
	height: .1rem;
	overflow: hidden;
	position: absolute !important;
		left: -999999rem;
	width: .1rem;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: .3rem;
	box-shadow: 0 0 .2rem .2rem rgba( 0, 0, 0, 0.6 );
	clip: auto !important;
	display: block;
	font-size: 1.4rem;
	font-weight: 700;
	height: auto;
	left: .5rem;
	line-height: normal;
	padding: 1.5rem 2.3rem 1.4rem 2.3rem;
	text-decoration: none;
	top: .5rem;
	width: auto;
	z-index: 100000;
}


/* --------------------------------------------------------------------------------------------- */
/*	2. Element Base
/* --------------------------------------------------------------------------------------------- */


*:first-child { margin-top: 0; }
*:last-child { margin-bottom: 0; }

p {
	line-height: 1.5;
	margin: 0 0 1.25em 0;
}

em,
i,
q,
dfn {
	font-style: italic;
}

b,
strong {
	font-weight: 700;
}

ins {
	text-decoration: underline;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup { top: -0.5em; }
sub { bottom: -0.25em; }

abbr,
acronym {
	cursor: help;
}

address {
	margin: 0 0 2rem 0;
}

hr {
	border: none;
	border-top: .1rem solid rgba( 0, 0, 0, 0.15 );
	margin: 2em 0;
}

a {
	color: #B01D33;
}


/* Lists ------------------------------------- */


ul,
ol {
	margin: 0 0 2rem 3rem;
}

ul { list-style: disc; }
ul ul { list-style: circle; }
ul ul ul { list-style: square; }

ol { list-style: decimal; }
ol ol { list-style: lower-alpha; }
ol ol ol { list-style: lower-roman; }

li {
	margin: 1rem 0;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 2rem;
}

.reset-list-style,
.reset-list-style ul,
.reset-list-style ol {
	list-style: none;
	margin: 0;
}

.reset-list-style li {
	margin: 0;
}

dt {
	font-weight: 700;
}

dd + dt {
	margin-top: 1.5rem;
}


/* Quotes ------------------------------------ */


blockquote {
	margin: 0;
	padding: 0 0 0 3rem;
}


/* Code -------------------------------------- */


pre {
	overflow: auto;
}

code,
kbd,
pre,
samp {
	background: #F0F1F2;
	border-radius: .2rem;
	font-family: monospace;
	font-size: 1em;
	padding: .4rem .6rem;
}


/* Buttons ------------------------------------- */


button,
.faux-button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	background: #B01D33;
	border: none;
	box-shadow: 0 0 0 #B01D33;
	color: #fff;
	cursor: pointer;
	display: inline-block;
	font-size: 1.6rem;
	font-weight: 700;
	margin: 0;
	padding: 1.8rem 2.4rem;
	text-align: center;
	text-decoration: none;
	transition: background-color .15s linear, box-shadow .15s linear;
}

button:hover,
.faux-button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
button:focus,
.faux-button:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus {
	box-shadow: 0 0 1rem #B01D33;
}

.button-with-icon {
	align-items: center;
	display: inline-flex;
	flex-wrap: nowrap;
	justify-content: center;
}

.button-with-icon .button-icon + .button-text,
.button-with-icon .button-text + .button-icon {
	margin-left: 1.2rem;
}



/* Media ------------------------------------- */


svg,
img,
embed,
iframe,
object {
	display: block;
	height: auto;
	max-width: 100%;
}


/* --------------------------------------------------------------------------------------------- */
/*	3. Helper Classes
/* --------------------------------------------------------------------------------------------- */


/* Layout ------------------------------- */


.display-block { display: block; }
.display-inline { display: inline; }

.no-margin { margin: 0; }
.no-padding { padding: 0; }

.screen-height {
	min-height: 100vh;
}

.screen-width {
	position: relative;
		left: calc( 50% - 50vw );
	width: 100vw;
}

.center-vertically {
	align-items: center;
	display: flex;
	justify-content: center;
}

.no-scrollbars::-webkit-scrollbar { display: none; }

.position-relative {
	position: relative;
}


/* Sections ------------------------------- */

section {
	padding: 6rem 0;
	width: 100%;	
}

.section-inner {
	margin: 0 auto;
	max-width: 168rem;
	width: calc( 100% - 6rem );
}

.section-inner.max-percentage {
	width: 100%;
}

.section-inner.thin { max-width: 58rem; } /* Should match the entry-content width (and $content_width variable) */
.section-inner.small { max-width: 80rem; }
.section-inner.medium { max-width: 104rem; }

.section-inner.no-margin { margin: 0; }


/* Padding Helpers ------------------------------- */

.mpad-u-0, .mpad-v-0 { padding-top: 0; }
.mpad-d-0, .mpad-v-0 { padding-bottom: 0; }
.mpad-l-0, .mpad-h-0 { padding-left: 0; }
.mpad-r-0, .mpad-h-0 { padding-right: 0; }
.mpad-all-0 { padding: 0; }

.mpad-u-10, .mpad-v-10 { padding-top: 1rem; }
.mpad-d-10, .mpad-v-10 { padding-bottom: 1rem; }
.mpad-l-10, .mpad-h-10 { padding-left: 1rem; }
.mpad-r-10, .mpad-h-10 { padding-right: 1rem; }
.mpad-all-10 { padding: 1rem; }

.mpad-u-15, .mpad-v-15 { padding-top: 1.5rem; }
.mpad-d-15, .mpad-v-15 { padding-bottom: 1.5rem; }
.mpad-l-15, .mpad-h-15 { padding-left: 1.5rem; }
.mpad-r-15, .mpad-h-15 { padding-right: 1.5rem; }
.mpad-all-15 { padding: 1.5rem; }

.mpad-u-20, .mpad-v-20 { padding-top: 2rem; }
.mpad-d-20, .mpad-v-20 { padding-bottom: 2rem; }
.mpad-l-20, .mpad-h-20 { padding-left: 2rem; }
.mpad-r-20, .mpad-h-20 { padding-right: 2rem; }
.mpad-all-20 { padding: 2rem; }

.mpad-u-30, .mpad-v-30 { padding-top: 3rem; }
.mpad-d-30, .mpad-v-30 { padding-bottom: 3rem; }
.mpad-l-30, .mpad-h-30 { padding-left: 3rem; }
.mpad-r-30, .mpad-h-30 { padding-right: 3rem; }
.mpad-all-30 { padding: 3rem; }

.mpad-u-40, .mpad-v-40 { padding-top: 4rem; }
.mpad-d-40, .mpad-v-40 { padding-bottom: 4rem; }
.mpad-l-40, .mpad-h-40 { padding-left: 4rem; }
.mpad-r-40, .mpad-h-40 { padding-right: 4rem; }
.mpad-all-40 { padding: 4rem; }

.mpad-u-50, .mpad-v-50 { padding-top: 5rem; }
.mpad-d-50, .mpad-v-50 { padding-bottom: 5rem; }
.mpad-l-50, .mpad-h-50 { padding-left: 5rem; }
.mpad-r-50, .mpad-h-50 { padding-right: 5rem; }
.mpad-all-50 { padding: 5rem; }

.mpad-u-60, .mpad-v-60 { padding-top: 6rem; }
.mpad-d-60, .mpad-v-60 { padding-bottom: 6rem; }
.mpad-l-60, .mpad-h-60 { padding-left: 6rem; }
.mpad-r-60, .mpad-h-60 { padding-right: 6rem; }
.mpad-all-60 { padding: 6rem; }

.mpad-u-80, .mpad-v-80 { padding-top: 8rem; }
.mpad-d-80, .mpad-v-80 { padding-bottom: 8rem; }
.mpad-l-80, .mpad-h-80 { padding-left: 8rem; }
.mpad-r-80, .mpad-h-80 { padding-right: 8rem; }
.mpad-all-80 { padding: 8rem; }


/* Grid Structure ------------------------------- */

.grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}

.grid .grid {
	margin-left: 0;
	width: 100%;
}

.grid .grid:last-child {
	margin-bottom: 0;
}

.grid {
	margin: 0 0 -3rem -1rem;
}

.grid + .grid { margin-top: 3rem; }

.grid-align-baseline { align-items: baseline; }
.grid-align-bottom { align-items: flex-end; }
.grid-align-top { align-items: flex-start; }

.grid .grid-item {
	margin: 0 0 3rem 1rem;
	width: calc( 100% - 1rem );
}

.grid.mcols-2 > .grid-item { width: calc( 50% - 1rem ); }

.grid.no-hgutter > .grid-item { width: 100%; }
.grid.mcols-2.no-hgutter > .grid-item { width: 50%; }

.grid.no-vgutter,
.grid.no-vgutter .grid-item {
	margin-bottom: 0;
}

.grid.no-hgutter,
.grid.no-hgutter .grid-item {
	margin-left: 0;
}

.grid.match-gutter { margin-bottom: -1rem; }
.grid.match-gutter + .grid.match-gutter { margin-top: 1rem; }
.grid.match-gutter .grid-item { margin-bottom: 1rem; }


/* Hiding and showing ------------------------------- */

.hide-mobile { display: none; }
.show-mobile { display: initial; }

.show-no-js { display: none; }
.no-js .show-no-js { display: initial; }

.no-js .hide-no-js { display: none !important; }


/* Typography ------------------------------- */

.font-default { font-family: 'mr-eaves-xl-modern', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Helvetica, sans-serif; }
.font-mono { font-family: monospace; }

.font-size-xl { font-size: 1.25em; }
.font-size-xs { font-size: 0.8em; }

.style-italic { font-style: italic; }

.weight-black { font-weight: 900; }
.weight-bold { font-weight: 700; }
.weight-semibold { font-weight: 600; }
.weight-medium { font-weight: 500; }
.weight-regular { font-weight: 400; }
.weight-book { font-weight: 350; }
.weight-light { font-weight: 300; }
.weight-thin { font-weight: 200; }
.weight-hairline { font-weight: 100; }

.text-align-inherit { text-align: inherit; }
.text-align-left { text-align: left; }
.text-align-center { text-align: center; }
.text-align-right { text-align: right; }

.lspacing-incr-5 { letter-spacing: 0.10em; }
.lspacing-incr-4 { letter-spacing: 0.08em; }
.lspacing-incr-3 { letter-spacing: 0.06em; }
.lspacing-incr-2 { letter-spacing: 0.04em; }
.lspacing-incr-1 { letter-spacing: 0.02em; }

.lspacing-decr-1 { letter-spacing: -.01em; }
.lspacing-decr-2 { letter-spacing: -.02em; }
.lspacing-decr-3 { letter-spacing: -.04em; }
.lspacing-decr-4 { letter-spacing: -.06em; }
.lspacing-decr-5 { letter-spacing: -.08em; }

.line-height-single { line-height: 1; }
.line-height-title { line-height: 1.25; }
.line-height-paragraph { line-height: 1.5; }

.text-decoration-none { text-decoration: none; }
.text-decoration-underline,
.text-decoration-hover-underline:hover { text-decoration: underline; }

.text-shadow-dark { text-shadow: 0 .1rem 0 rgba( 0, 0, 0, 0.25 ); }

.lining-numerals {
	font-feature-settings: "lnum";
	font-variant-numeric: lining-nums;
}

.slashed-zero {
	font-feature-settings: "zero";
	font-variant-numeric: slashed-zero;
}

.smallcaps {
	font-variant-caps: small-caps;
	text-transform: lowercase;
}

.transform-uppercase {
	text-transform: uppercase;
}

.no-select {
		-webkit-touch-callout: none;
		-webkit-user-select: none;
		-khtml-user-select: none;
		-moz-user-select: none;
		-ms-user-select: none;
	user-select: none;
}


/* Text sizes ------------------------------------- */

.mfs-inherit { font-size: inherit; }

.mfs-10 { font-size: 1.0rem; }
.mfs-11 { font-size: 1.1rem; }
.mfs-12 { font-size: 1.2rem; }
.mfs-13 { font-size: 1.3rem; }
.mfs-14 { font-size: 1.4rem; }
.mfs-15 { font-size: 1.5rem; }
.mfs-16 { font-size: 1.6rem; }
.mfs-17 { font-size: 1.7rem; }
.mfs-18 { font-size: 1.8rem; }
.mfs-19 { font-size: 1.9rem; }
.mfs-20 { font-size: 2.0rem; }
.mfs-22 { font-size: 2.2rem; }
.mfs-24 { font-size: 2.4rem; }
.mfs-25 { font-size: 2.5rem; }
.mfs-28 { font-size: 2.8rem; }
.mfs-30 { font-size: 3.0rem; }
.mfs-32 { font-size: 3.2rem; }
.mfs-34 { font-size: 3.4rem; }
.mfs-36 { font-size: 3.6rem; }
.mfs-40 { font-size: 4.0rem; }
.mfs-48 { font-size: 4.8rem; }
.mfs-64 { font-size: 6.4rem; }


/* Text Columns ------------------------------- */

.text-cols-m-2 { columns: 2 2rem; }


/* Colors ------------------------------- */

/* TEXT COLOR */

.color-white,
.color-white-hover:hover { color: #FFF; }

.color-gray,
.color-gray-hover:hover { color: #91969B; }
.color-dark-gray,
.color-dark-gray-hover:hover { color: #7D8791; }
.color-black,
.color-black-hover:hover { color: #1d1d1d; }

.color-accent,
.color-accent-hover:hover { color: #B01C33; }
.color-accent-dark,
.color-accent-dark-hover:hover { color: #B01C33; }

.color-inherit { color: inherit; }


/* BACKGROUND COLOR */

.bg-none { background: none; }

.bg-white,
.bg-white-hover:hover { background: #FFF; }
.bg-light-gray,
.bg-light-gray-hover:hover { background: #E7E9EB; }

.bg-gray,
.bg-gray-hover:hover { background: #9DA7B1; }
.bg-dark-gray,
.bg-dark-gray-hover:hover { background: #7D8791; }
.bg-black,
.bg-black-hover:hover { background: #1d1d1d; }

.bg-accent,
.bg-accent-hover:hover { background: #B01C33; }
.bg-accent-dark,
.bg-accent-dark-hover:hover { background: #B01C33; }


/* Image Classes ------------------------------- */

.faux-image,
.bg-image {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.bg-contain {
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}

.bg-attachment-fixed {
	background-attachment: fixed;
}

html.ios .bg-attachment-fixed {
	background-attachment: scroll;
}

.faux-image {
	position: relative;
}

a.faux-image {
	display: block;
}

.faux-image:after {
	content: "";
	display: block;
	padding-top: 62.5%;
	width: 100%;
}

.faux-image.half:after { padding-top: 50%; }
.faux-image.television:after { padding-top: 56.25%; }
.faux-image.three-quarters:after { padding-top: 75%; }
.faux-image.square:after { padding-top: 100%; }


/* Animations ------------------------------- */

body.disable-animations * {
	animation: none !important;
}

@keyframes bounce-right {
	0% { 	opacity: 0.2; transform: translateX( -15% ); }
	50% { 	opacity: 0.7; transform: translateX( 5% ); }
	100% { 	opacity: 1.0; transform: translateX( 0 ); }
}

@keyframes bounce-left {
	0% { 	opacity: 0.2; transform: translateX( 15% ); }
	50% { 	opacity: 0.7; transform: translateX( -5% ); }
	100% { 	opacity: 1.0; transform: translateX( 0 ); }
}

@keyframes bounce-down {
	0% { 	opacity: 0.2; transform: translateY( 15% ); }
	50% { 	opacity: 0.7; transform: translateY( -5% ); }
	100% { 	opacity: 1.0; transform: translateY( 0 ); }
}

@keyframes bounce-up {
	0% { 	opacity: 0.2; transform: translateY( -15% ); }
	50% { 	opacity: 0.7; transform: translateY( 5% ); }
	100% { 	opacity: 1.0; transform: translateY( 0 ); }
}

@keyframes pop {
	0% { 	transform: scale( 1 ); }
	50% { 	transform: scale( 1.1 ); }
	100% { 	transform: scale( 1 ); }
}

@keyframes popIn {
	0% { 	transform: scale( 0 ); }
	75% { 	transform: scale( 1.1 ); }
	100% { 	transform: scale( 1 ); }
}

@keyframes spinQuarter {
	0% { 		transform: rotate( 0 ); }
	100% { 		transform: rotate( 90deg ); }
}

@keyframes side_shake {
	0% { 	transform: translate( .8rem ); }
	20% { 	transform: translate( -.8rem ); }
	40% { 	transform: translate( .6rem ); }
	60% { 	transform: translate( -.4rem ); }
	80% { 	transform: translate( .2rem ); }
	100% { 	transform: translate( 0 ); }
}


/* --------------------------------------------------------------------------------------------- */
/*	2. Template: Front Page
/* --------------------------------------------------------------------------------------------- */


/* Front Header -------------------------------- */


.hero-image {
	height: 80vw;
}

.hero-header {
	margin: -6rem auto 0 0;
	position: relative;
	max-width: 69rem;
	width: calc( 100% - 2rem );
}

.hero h1 {
	line-height: 1.1;
}

.hero p {
	color: rgba( 255, 255, 255, 0.75 );
	line-height: 1.35;
}

.hero .faux-button {
	width: 100%;
}


/* Front Main -------------------------------- */

.block-content {
	line-height: 1.3;
}

.block-content p,
.block-content li {
	line-height: inherit;
}

.services-list {
	margin-left: 2rem;
}

.contact-list a {
	align-items: center;
	display: flex;
	justify-content: flex-start;
}

.contact-list li + li {
	margin-top: 1.5rem;
}

.contact-list .icon {
	margin-right: 1.2rem;
}

.contact-list a .text {
	border-bottom: .1rem solid transparent;
	transition: border-color .15s linear;
}

.contact-list a:hover .text {
	border-bottom-color: #B01D33;
}

/* Front Footer -------------------------------- */

.site-footer {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.site-footer p {
	line-height: 1.5;
	text-align: center;
}

.footer-logo:after {
	background: rgba( 0, 0, 0, 0.25 );
	content: "";
	display: block;
	height: .1rem;
	margin: 2rem auto 3rem;
	width: 8rem;
}

.footer-logo svg {
	display: block;
	height: auto;
	margin: 0 auto;
	width: 25rem;
}



/* Animations -------------------------------- */

.intro-animate {
	animation-delay: .5s;
	animation-duration: .3s;
	animation-fill-mode: forwards;
}

.animate-bounce-up { animation-name: bounce-up; opacity: 0; }
.animate-bounce-right { animation-name: bounce-right; opacity: 0; }
.animate-bounce-down { animation-name: bounce-down; opacity: 0; }
.animate-bounce-left { animation-name: bounce-left; opacity: 0; }
.animate-pop-in { animation-name: popIn; transform: scale( 0 ); }

.a-duration-100 { animation-duration: .1s; }
.a-duration-200 { animation-duration: .2s; }
.a-duration-300 { animation-duration: .3s; }
.a-duration-400 { animation-duration: .4s; }
.a-duration-500 { animation-duration: .5s; }
.a-duration-600 { animation-duration: .6s; }
.a-duration-700 { animation-duration: .7s; }
.a-duration-800 { animation-duration: .8s; }
.a-duration-900 { animation-duration: .9s; }
.a-duration-1000 { animation-duration: 1s; }

.a-delay-100 { animation-delay: 0.1s; }
.a-delay-200 { animation-delay: 0.2s; }
.a-delay-300 { animation-delay: 0.3s; }
.a-delay-400 { animation-delay: 0.4s; }
.a-delay-500 { animation-delay: 0.5s; }


/* --------------------------------------------------------------------------------------------- */
/*	X. Media Queries
/* --------------------------------------------------------------------------------------------- */


@media ( min-width: 700px ) {


	body {
		font-size: 1.8rem;
	}


	/* Element Base ------------------------- */

	/* BUTTONS */

	button,
	.faux-button,
	input[type="button"],
	input[type="reset"],
	input[type="submit"] {
		font-size: 1.8rem;
		padding: 2rem 2.4rem;
	}

	.button-with-icon .button-icon + .button-text,
	.button-with-icon .button-text + .button-icon {
		margin-left: 1.6rem;
	}


	/* Helper Classes ------------------------- */

	/* SECTIONS */

	section {
		padding: 8rem 0;
	}

	.section-inner {
		width: calc( 100% - 8rem );
	}

	/* PADDING HELPERS */

	.tpad-u-0, .tpad-v-0 { padding-top: 0; }
	.tpad-d-0, .tpad-v-0 { padding-bottom: 0; }
	.tpad-l-0, .tpad-h-0 { padding-left: 0; }
	.tpad-r-0, .tpad-h-0 { padding-right: 0; }
	.tpad-all-0 { padding: 0; }

	.tpad-u-20, .tpad-v-20 { padding-top: 2rem; }
	.tpad-d-20, .tpad-v-20 { padding-bottom: 2rem; }
	.tpad-l-20, .tpad-h-20 { padding-left: 2rem; }
	.tpad-r-20, .tpad-h-20 { padding-right: 2rem; }
	.tpad-all-20 { padding: 2rem; }

	.tpad-u-25, .tpad-v-25 { padding-top: 2.5rem; }
	.tpad-d-25, .tpad-v-25 { padding-bottom: 2.5rem; }
	.tpad-l-25, .tpad-h-25 { padding-left: 2.5rem; }
	.tpad-r-25, .tpad-h-25 { padding-right: 2.5rem; }
	.tpad-all-25 { padding: 2.5rem; }

	.tpad-u-30, .tpad-v-30 { padding-top: 3rem; }
	.tpad-d-30, .tpad-v-30 { padding-bottom: 3rem; }
	.tpad-l-30, .tpad-h-30 { padding-left: 3rem; }
	.tpad-r-30, .tpad-h-30 { padding-right: 3rem; }
	.tpad-all-30 { padding: 3rem; }

	.tpad-u-40, .tpad-v-40 { padding-top: 4rem; }
	.tpad-d-40, .tpad-v-40 { padding-bottom: 4rem; }
	.tpad-l-40, .tpad-h-40 { padding-left: 4rem; }
	.tpad-r-40, .tpad-h-40 { padding-right: 4rem; }
	.tpad-all-40 { padding: 4rem; }

	.tpad-u-60, .tpad-v-60 { padding-top: 6rem; }
	.tpad-d-60, .tpad-v-60 { padding-bottom: 6rem; }
	.tpad-l-60, .tpad-h-60 { padding-left: 6rem; }
	.tpad-r-60, .tpad-h-60 { padding-right: 6rem; }
	.tpad-all-60 { padding: 6rem; }

	.tpad-u-80, .tpad-v-80 { padding-top: 8rem; }
	.tpad-d-80, .tpad-v-80 { padding-bottom: 8rem; }
	.tpad-l-80, .tpad-h-80 { padding-left: 8rem; }
	.tpad-r-80, .tpad-h-80 { padding-right: 8rem; }
	.tpad-all-80 { padding: 8rem; }

	.tpad-u-100, .tpad-v-100 { padding-top: 10rem; }
	.tpad-d-100, .tpad-v-100 { padding-bottom: 10rem; }
	.tpad-l-100, .tpad-h-100 { padding-left: 10rem; }
	.tpad-r-100, .tpad-h-100 { padding-right: 10rem; }
	.tpad-all-100 { padding: 10rem; }

	.tpad-u-120, .tpad-v-120 { padding-top: 12rem; }
	.tpad-d-120, .tpad-v-120 { padding-bottom: 12rem; }
	.tpad-l-120, .tpad-h-120 { padding-left: 12rem; }
	.tpad-r-120, .tpad-h-120 { padding-right: 12rem; }
	.tpad-all-120 { padding: 12rem; }

	.tpad-u-140, .tpad-v-140 { padding-top: 14rem; }
	.tpad-d-140, .tpad-v-140 { padding-bottom: 14rem; }
	.tpad-l-140, .tpad-h-140 { padding-left: 14rem; }
	.tpad-r-140, .tpad-h-140 { padding-right: 14rem; }
	.tpad-all-140 { padding: 14rem; }

	.tpad-u-160, .tpad-v-160 { padding-top: 16rem; }
	.tpad-d-160, .tpad-v-160 { padding-bottom: 16rem; }
	.tpad-l-160, .tpad-h-160 { padding-left: 16rem; }
	.tpad-r-160, .tpad-h-160 { padding-right: 16rem; }
	.tpad-all-160 { padding: 16rem; }

	/* HIDING AND SHOWING */

	.hide-tablet { display: none; }
	.show-tablet { display: initial; }

	/* TEXT SIZES */

	.tfs-inherit { font-size: inherit; }

	.tfs-14 { font-size: 1.4rem; }
	.tfs-15 { font-size: 1.5rem; }
	.tfs-16 { font-size: 1.6rem; }
	.tfs-17 { font-size: 1.7rem; }
	.tfs-18 { font-size: 1.8rem; }
	.tfs-19 { font-size: 1.9rem; }
	.tfs-20 { font-size: 2.0rem; }
	.tfs-21 { font-size: 2.1rem; }
	.tfs-22 { font-size: 2.2rem; }
	.tfs-23 { font-size: 2.3rem; }
	.tfs-24 { font-size: 2.4rem; }
	.tfs-28 { font-size: 2.8rem; }
	.tfs-32 { font-size: 3.2rem; }
	.tfs-36 { font-size: 3.6rem; }
	.tfs-40 { font-size: 4.0rem; }
	.tfs-43 { font-size: 4.3rem; }
	.tfs-48 { font-size: 4.8rem; }
	.tfs-56 { font-size: 5.6rem; }
	.tfs-64 { font-size: 6.4rem; }
	.tfs-96 { font-size: 9.6rem; }

	/* TEXT COLUMNS */

	.text-cols-t-2 { columns: 2 4rem; }
	.text-cols-t-3 { columns: 3 4rem; }

	/* GRID STRUCTURE */

	.grid {
		margin: 0 0 -6rem -4rem;
	}

	.grid + .grid { margin-top: 6rem; }
	
	.grid .grid-item {
		margin: 0 0 6rem 4rem;
		width: calc( 100% - 4rem );
	}

	.grid.mcols-2 > .grid-item,
	.grid.tcols-2 > .grid-item {
		width: calc( 50% - 4rem );
	}

	.grid.tcols-2.no-hgutter > .grid-item { width: 50%; }

	.grid.match-gutter { margin-bottom: -4rem; }
	.grid.match-gutter + .grid.match-gutter { margin-top: 4rem; }
	.grid.match-gutter .grid-item { margin-bottom: 4rem; }


	/* Template: Front Page ------------------------- */

	/* FRONT HEADER  */

	.hero-image {
		height: 60rem;
	}

	.hero-header {
		margin: -10rem 4rem 0 auto;
		width: calc( 100% - 8rem );
	}

	.hero-header .faux-button {
		width: auto;
	}

	/* FRONT MAIN  */

	.block-title {
		position: absolute;
			left: calc( 31.5rem + 3rem );
			top: 0;
	}

	.block-inner {
		display: flex;
		justify-content: flex-start;
	}

	.block-image {
		flex-shrink: 0;
		margin-right: 3rem;
		width: 31.5rem;
	}

	.block-content {
		margin-top: 2.5rem;
		max-width: 50rem;
	}


}


@media ( min-width: 1000px ) {


	body {
		font-size: 2rem;
	}

	/* Helper Classes ------------------------- */

	/* SECTIONS */

	.section-inner {
		width: calc( 100% - 10rem );
	}

	/* TEXT SIZES */

	.tlfs-inherit { font-size: inherit; }

	.tlfs-14 { font-size: 1.4rem; }
	.tlfs-15 { font-size: 1.5rem; }
	.tlfs-16 { font-size: 1.6rem; }
	.tlfs-17 { font-size: 1.7rem; }
	.tlfs-18 { font-size: 1.8rem; }
	.tlfs-19 { font-size: 1.9rem; }
	.tlfs-20 { font-size: 2.0rem; }
	.tlfs-21 { font-size: 2.1rem; }
	.tlfs-22 { font-size: 2.2rem; }
	.tlfs-23 { font-size: 2.3rem; }
	.tlfs-24 { font-size: 2.4rem; }
	.tlfs-28 { font-size: 2.8rem; }
	.tlfs-32 { font-size: 3.2rem; }
	.tlfs-36 { font-size: 3.6rem; }
	.tlfs-40 { font-size: 4.0rem; }
	.tlfs-43 { font-size: 4.3rem; }
	.tlfs-48 { font-size: 4.8rem; }
	.tlfs-56 { font-size: 5.6rem; }
	.tlfs-64 { font-size: 6.4rem; }
	.tlfs-96 { font-size: 9.6rem; }


	/* Template: Front Page ------------------------- */

	/* FRONT HEADER */

	.hero-header {
		margin-top: -14rem;
	}

	/* FRONT MAIN  */

	.block-title {
		left: 43rem;
	}

	.block-image {
		margin-right: 3rem;
		width: 40rem;
	}

	.block-content {
		margin-top: 3rem;
	}

	/* FRONT FOOTER */

	.site-footer .section-inner {
		align-items: center;
		display: flex;
		flex-direction: row-reverse;
		justify-content: space-between;
	}

	.footer-logo:after {
		content: none;
	}

	.site-footer p {
		text-align: left;
	}

	.footer-logo svg {
		width: 31.7rem;
	}
	

}


@media ( min-width: 1200px ) {


	/* Helper Classes ------------------------------- */

	/* SECTIONS */

	section {
		padding: 12rem 0;
	}

	.section-inner {
		width: calc( 100% - 12rem );
	}

	/* PADDING HELPERS */

	.dpad-u-0, .dpad-v-0 { padding-top: 0; }
	.dpad-d-0, .dpad-v-0 { padding-bottom: 0; }
	.dpad-l-0, .dpad-h-0 { padding-left: 0; }
	.dpad-r-0, .dpad-h-0 { padding-right: 0; }
	.dpad-all-0 { padding: 0; }

	.dpad-u-20, .dpad-v-20 { padding-top: 2rem; }
	.dpad-d-20, .dpad-v-20 { padding-bottom: 2rem; }
	.dpad-l-20, .dpad-h-20 { padding-left: 2rem; }
	.dpad-r-20, .dpad-h-20 { padding-right: 2rem; }
	.dpad-all-20 { padding: 2rem; }

	.dpad-u-40, .dpad-v-40 { padding-top: 4rem; }
	.dpad-d-40, .dpad-v-40 { padding-bottom: 4rem; }
	.dpad-l-40, .dpad-h-40 { padding-left: 4rem; }
	.dpad-r-40, .dpad-h-40 { padding-right: 4rem; }
	.dpad-all-40 { padding: 4rem; }

	.dpad-u-60, .dpad-v-60 { padding-top: 6rem; }
	.dpad-d-60, .dpad-v-60 { padding-bottom: 6rem; }
	.dpad-l-60, .dpad-h-60 { padding-left: 6rem; }
	.dpad-r-60, .dpad-h-60 { padding-right: 6rem; }
	.dpad-all-60 { padding: 6rem; }

	.dpad-u-80, .dpad-v-80 { padding-top: 8rem; }
	.dpad-d-80, .dpad-v-80 { padding-bottom: 8rem; }
	.dpad-l-80, .dpad-h-80 { padding-left: 8rem; }
	.dpad-r-80, .dpad-h-80 { padding-right: 8rem; }
	.dpad-all-80 { padding: 8rem; }

	/* HIDING AND SHOWING */

	.hide-desktop { display: none; }
	.show-desktop { display: initial; }

	/* FAUX IMAGE */

	.faux-image.cover-image { height: calc( 100vh - 8rem ); }

	/* TEXT SIZES */

	.dfs-inherit { font-size: inherit; }

	.dfs-14 { font-size: 1.4rem; }
	.dfs-15 { font-size: 1.5rem; }
	.dfs-16 { font-size: 1.6rem; }
	.dfs-17 { font-size: 1.7rem; }
	.dfs-18 { font-size: 1.8rem; }
	.dfs-19 { font-size: 1.9rem; }
	.dfs-20 { font-size: 2.0rem; }
	.dfs-21 { font-size: 2.1rem; }
	.dfs-22 { font-size: 2.2rem; }
	.dfs-24 { font-size: 2.4rem; }
	.dfs-28 { font-size: 2.8rem; }
	.dfs-32 { font-size: 3.2rem; }
	.dfs-36 { font-size: 3.6rem; }
	.dfs-40 { font-size: 4.0rem; }
	.dfs-48 { font-size: 4.8rem; }
	.dfs-64 { font-size: 6.4rem; }
	.dfs-86 { font-size: 8.6rem; }
	.dfs-128 { font-size: 12.8rem; }


	/* GRID STRUCTURE */

	.grid {
		margin: 0 0 -8rem -6rem;
	}

	.grid + .grid { margin-top: 8rem; }
	
	.grid .grid-item {
		margin: 0 0 8rem 6rem;
		width: calc( 100% - 6rem );
	}

	.grid.mcols-2 > .grid-item,
	.grid.tcols-2 > .grid-item,
	.grid.dcols-2 > .grid-item { width: calc( 50% - 6rem ); }

	.grid.dcols-2.no-hgutter > .grid-item { width: 50%; }

	.grid.dcols-3 > .grid-item { width: calc( 33.33% - 6rem ); }
	.grid.dcols-4 > .grid-item { width: calc( 25% - 6rem ); }

	.grid.dcols-3.no-hgutter > .grid-item { width: 33.33%; }
	.grid.dcols-4.no-hgutter > .grid-item { width: 25%; }

	.grid.big-vgutter { margin-bottom: -10rem }
	.grid.big-vgutter .grid-item { margin-bottom: 10rem; }

	.grid.match-gutter { margin-bottom: -6rem; }
	.grid.match-gutter + .grid.match-gutter { margin-top: 6rem; }
	.grid.match-gutter .grid-item { margin-bottom: 6rem; }


	/* Template: Front Page ------------------------------- */

	/* FRONT HEADER */

	.hero {
		padding-top: 27rem;
	}

	.hero-image {
		height: auto;
		position: absolute;
			bottom: 6rem;
			left: 0;
			right: 0;
			top: 0;
	}

	.hero-header {
		margin-top: 0;
	}

	/* FRONT MAIN */

	.block-title {
		position: static;
	}
	
	.block-inner {
		display: block;
	}

	.block-image {
		margin: 0;
		width: 100%;
	}

	.block-content {
		margin-top: 0;
	}

}


@media ( min-width: 1800px ) {


	.hero-header {
		margin-right: 0;
	}


}