/*
 * HTML5 Boilerplate
 *
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */
/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */
/* Prevent any object from being highlighted upon touch event*/
* {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
/** Variables **/
:root {
	--color-black: #000;
	--color-white: #fff;
	--color-grey: #fcfcfc;
	--color-grey-medium: #e5e5e5;
	--color-grey-dark: #707070;
	
	--color-primary: #1a1818;
	--color-secondary: #e5e5e5;
	--color-highlight: #039dae;
	
	--font-primary: acumin-pro, sans-serif;
	--font-secondary: acumin-pro-extra-condensed, sans-serif;
	
	--content-padding: 2.5rem;
	--outer-row: 0.625rem;
	--divider: 1.25rem;
	
	--top-bar-height: 71px;
	--button-width: 60px;
	
	--heading-h1: 3.125em;
	--heading-h2: 2.375em;
	--heading-h3: 1.5em;
	--heading-h4: 1.25em;
	--heading-h5: 1.125em;
	--heading-h6: 1em;
	--base-font: 16px;
}
html, button, input, select, textarea {
	color: var(--color-primary);
}
html {
	background-color: var(--color-primary);
}
body {
	color: var(--color-primary);
	background-color: var(--color-grey);
	font-family: var(--font-primary);
	font-size: var(--base-font);
	font-weight: 300;
	line-height: 1.4;
}
/*
 * Remove text-shadow in selection highlight: h5bp.com/i
 * These selection declarations have to be separate.
 * Customize the background color to match your design.
 */ ::-moz-selection {
	background: #b3d4fc;
	text-shadow: none;
}
::selection {
	background: #b3d4fc;
	text-shadow: none;
}
/*
 * A better looking default horizontal rule
 */
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 1em 0;
	padding: 0;
}
/*
 * Remove the gap between images and the bottom of their containers: h5bp.com/i/440
 */
img {
	vertical-align: middle;
}
/*
 * Remove default fieldset styles.
 */
fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}
/*
 * Allow only vertical resizing of textareas.
 */
textarea {
	resize: vertical;
}
/* ==========================================================================
   Chrome Frame prompt
   ========================================================================== */
.chromeframe {
	margin: 0.2em 0;
	background: #ccc;
	color: #000;
	padding: 0.2em 0;
}
/* ==========================================================================
   Coordinate Styles
   ========================================================================== */
body.locked {
	overflow: hidden;
}
main {
	overflow: hidden;
}
/*
 * Top Bar
 */
.top-bar {
	border-bottom: 1px solid var(--color-grey-medium);
	position: relative;
	padding-bottom: var(--divider);
	padding-top: var(--divider);
	z-index: 99;
}
/** Site Logo **/
.site-logo {
	height: 30px;
	float: left;
	margin: 0;
	width: 130px;
}
.site-logo__link {
	background: url("../img/svg/site-logo.svg") no-repeat 0 0;
	background-size: contain;
	display: block;
	height: 100%;
	width: 100%;
}
/** Top Bar - Navigation **/
.top-bar__navigation {
	float: right;
}
.top-bar__navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.top-bar__navigation ul li {
	float: left;
	margin-left: 1.875rem;
	position: relative;
}
.top-bar__navigation ul li:first-child {
	margin-left: 0;
}
.top-bar__navigation ul li a {
	color: var(--color-primary);
	display: block;
	font-family: var(--font-secondary);
	letter-spacing: 0.025em;
	font-size: 1.25rem;
	line-height: 1;
	padding-bottom: 0.3125rem;
	padding-top: 0.3125rem;
	position: relative;
	text-decoration: none;
	text-transform: uppercase;
}
.top-bar__navigation ul li.current-menu-item > a, .top-bar__navigation ul li.current-page-ancestor > a {
	color: var(--color-highlight);
}
.top-bar__navigation ul li > a::after {
	background-color: var(--color-highlight);
	content: "";
	display: block;
	height: 1px;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	-webkit-transform: scaleX(0);
	-ms-transform: scaleX(0);
	transform: scaleX(0);
	-webkit-transform-origin: right;
	-ms-transform-origin: right;
	transform-origin: right;
	-webkit-transition: -webkit-transform 0.25s ease-out;
	transition: -webkit-transform 0.25s ease-out;
	-o-transition: transform 0.25s ease-out;
	transition: transform 0.25s ease-out;
	transition: transform 0.25s ease-out, -webkit-transform 0.25s ease-out;
}
.top-bar__navigation ul li.current-menu-item > a::after, .top-bar__navigation ul li.current-page-ancestor > a::after, .top-bar__navigation ul li > a:hover::after {
	-webkit-transform: scaleX(1);
	-ms-transform: scaleX(1);
	transform: scaleX(1);
	-webkit-transform-origin: left;
	-ms-transform-origin: left;
	transform-origin: left;
}
/** Menu Button **/
.menu-button {
	background-color: transparent;
	border: none;
	display: block;
	float: right;
	height: 20px;
	padding: 0;
	position: relative;
	width: 30px;
	z-index: 30;
	-webkit-transition: all 0.3s ease-out;
	-o-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}
.menu-button span {
	background-color: var(--color-primary);
	display: block;
	margin-top: -1px;
	position: absolute;
	left: 50%;
	margin-left: -15px;
	height: 2px;
	width: 30px;
	-webkit-transform-origin: center;
	-ms-transform-origin: center;
	transform-origin: center;
}
.menu-button span:first-child {
	margin-top: -10px;
	top: 50%;
	width: 30px;
}
.menu-button span:last-child {
	margin-top: 8px;
	top: 50%;
	width: 30px;
}
.menu-button.menu-button--closed span {
	-webkit-transition: opacity 0.3s ease-out 0.3s, margin-top 0.3s ease-out 0.3s, width 0.3s ease-out, -webkit-transform 0.3s ease-out;
	transition: opacity 0.3s ease-out 0.3s, margin-top 0.3s ease-out 0.3s, width 0.3s ease-out, -webkit-transform 0.3s ease-out;
	-o-transition: transform 0.3s ease-out, opacity 0.3s ease-out 0.3s, margin-top 0.3s ease-out 0.3s, width 0.3s ease-out;
	transition: transform 0.3s ease-out, opacity 0.3s ease-out 0.3s, margin-top 0.3s ease-out 0.3s, width 0.3s ease-out;
	transition: transform 0.3s ease-out, opacity 0.3s ease-out 0.3s, margin-top 0.3s ease-out 0.3s, width 0.3s ease-out, -webkit-transform 0.3s ease-out;
}
.menu-button.menu-button--open span {
	-webkit-transition: margin-top 0.3s ease-out, opacity 0.3s ease-out, -webkit-transform 0.3s ease-out 0.3s, width 0.3s ease-out;
}
.menu-button.menu-button--open span:first-child {
	margin-top: -1px;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
.menu-button.menu-button--open span:nth-child(2) {
	opacity: 0;
}
.menu-button.menu-button--open span:last-child {
	margin-top: -1px;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
/** Site Navigation **/
.site-navigation {
	background-color: var(--color-grey);
	background-clip: padding-box;
	overflow-y: scroll;
	opacity: 0;
	padding-top: var(--top-bar-height);
	pointer-events: none;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: -1;
	width: 100%;
	-webkit-transition: z-index 0s 0.75s ease-out, opacity 0.5s ease-out;
	-o-transition: z-index 0s 0.75s ease-out, opacity 0.5s ease-out;
	transition: z-index 0s 0.75s ease-out, opacity 0.5s ease-out;
	-webkit-overflow-scrolling: touch;
}
.site-navigation.site-navigation--visible {
	pointer-events: all;
	z-index: 50;
	opacity: 1;
	-webkit-transition: opacity 0.5s ease-out;
	-o-transition: opacity 0.5s ease-out;
	transition: opacity 0.5s ease-out;
}
.site-navigation__navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.site-navigation__navigation ul li {
	border-top: 1px solid var(--color-grey-medium);
	padding-bottom: 1.25rem;
	padding-top: 1.25rem;
	position: relative;
	overflow: hidden;
}
.site-navigation__navigation ul li:first-child {
	border-top: none;
}
.site-navigation__navigation ul li a {
	display: block;
	color: var(--color-primary);
	font-family: var(--font-secondary);
	font-size: var(--heading-h3);
	line-height: 1;
	position: relative;
	text-decoration: none;
	text-transform: uppercase;
	z-index: 5;
	-webkit-transition: color 0.25s ease-out;
	-o-transition: color 0.25s ease-out;
	transition: color 0.25s ease-out;
}
.site-navigation__navigation ul li a:hover {}
.site-navigation__navigation ul li .menu-arrow {
	background: url("../img/blank.gif");
	color: var(--color-primary);
	display: block;
	font-size: 1.5rem;
	height: 40px;
	line-height: 40px;
	padding-left: 0;
	position: absolute;
	top: 10px;
	right: 0;
	text-align: right;
	width: 40px;
	-webkit-transition: color 0.25s ease-out, -webkit-transform 0.25s ease-out;
	transition: color 0.25s ease-out, -webkit-transform 0.25s ease-out;
	-o-transition: color 0.25s ease-out, transform 0.25s ease-out;
	transition: color 0.25s ease-out, transform 0.25s ease-out;
	transition: color 0.25s ease-out, transform 0.25s ease-out, -webkit-transform 0.25s ease-out;
	-webkit-transform-origin: center;
	-ms-transform-origin: center;
	transform-origin: center;
}
.site-navigation__navigation ul li .menu-arrow--open {
	-webkit-transform: scaleY(-1);
	-ms-transform: scaleY(-1);
	transform: scaleY(-1);
}
.site-navigation__navigation ul li ul li a {
	color: var(--color-primary);
	font-size: 1rem;
	line-height: 1;
	padding-top: 0;
}
.site-navigation__navigation ul li ul li a:hover {
	color: var(--color-primary);
}
.site-navigation__navigation ul li ul.sub-menu {
	padding-left: 0.625rem;
	padding-top: 1.25rem;
}
.site-navigation__navigation ul li ul.sub-menu li {
	border-top: none;
	padding-bottom: 0.625rem;
	padding-top: 0.625rem;
	padding-right: 0;
	width: 100%;
}
.site-navigation__navigation ul li.current-menu-item > a, .site-navigation__navigation ul li.current-page-ancestor > a {
	color: var(--color-highlight);
}
/*
 * Bottom Bar
 */
.bottom-bar {
	background-color: var(--color-primary);
	position: relative;
	z-index: 5;
}
.bottom-bar a {
	text-decoration: none;
	white-space: nowrap;
}
.bottom-bar a:hover {
	text-decoration: underline;
}
.bottom-bar__legality {
	font-size: calc(var(--base-font) * 0.875);
	padding-bottom: calc(var(--content-padding) / 2);
	padding-top: calc(var(--content-padding) / 2);
}
.bottom-bar__navigation ul {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
	padding: 0;
}
.bottom-bar__navigation ul li {
	padding-bottom: 1em;
	padding-left: 0;
}
.bottom-bar__navigation ul li a {
	color: var(--color-white);
	display: inline-block;
	position: relative;
	text-decoration: none !important;
}
.bottom-bar__navigation--dark ul li a {
	color: var(--color-primary);
}
.bottom-bar__navigation ul li.active a {
	color: var(--color-highlight);
}
.bottom-bar__navigation ul li a::after {
	background-color:var(--color-highlight);
	content:'';
	display:block;
	height:1px;
	position:absolute;
	left:0;
	bottom:-0.15625rem;
	width:100%;
	-webkit-transform:scaleX(0);
	    -ms-transform:scaleX(0);
	        transform:scaleX(0);
	-webkit-transform-origin:right;
	    -ms-transform-origin:right;
	        transform-origin:right;
	-webkit-transition: -webkit-transform 0.25s ease-out;
	transition: -webkit-transform 0.25s ease-out;
	-o-transition: transform 0.25s ease-out;
	transition: transform 0.25s ease-out;
	transition: transform 0.25s ease-out, -webkit-transform 0.25s ease-out;
}
.bottom-bar__navigation ul li a:hover::after,
.bottom-bar__navigation ul li.active a::after {
	-webkit-transform:scaleX(1);
	    -ms-transform:scaleX(1);
	        transform:scaleX(1);
	-webkit-transform-origin:left;
	    -ms-transform-origin:left;
	        transform-origin:left;
}

.footer-logo {
	height: 42px;
	margin: 0;
	width: 180px;
}
.footer-logo__link {
	background: url("../img/svg/site-logo__white.svg") no-repeat 0 0;
	background-size: contain;
	display: block;
	height: 100%;
	width: 100%;
}
/* ==========================================================================
   Pages
   ========================================================================== */

/*
 * Home Page
 */

/** Page Banner **/
.webgl-banner {
	overflow: hidden;
	position: relative;
	z-index: 10 !important;
}
.webgl-banner--hidden {
	opacity: 0;
}
.webgl-banner::after {
	background: #eee;
	content: '';
	display: block;
	opacity: 0;
	position: absolute;
	top: 50%; right: 0; bottom: 0; left: 0;
	z-index: 0;
	transform: translateY(25%);
	transition: opacity 0.5s ease-out 1.5s, transform 0.5s ease-out 1.5s;
}
.webgl-banner--loaded::after {
	opacity: 1;
	transform: translateY(0);
}

.webgl-banner__content {
	opacity: 0;
	pointer-events: none;
	transform: translateY(-25%);
	transition: opacity 0.5s ease-out 1.5s, transform 0.5s ease-out 1.5s;
}
.webgl-banner--loaded .webgl-banner__content {
	opacity: 1;
	transform: translateY(0);
}

.webgl-banner__scroll {
	color: var(--color-primary);
	padding-left: calc(1.5rem + 10px);
	pointer-events: all;
	position: relative;
	text-decoration: none;
}
.webgl-banner__scroll:hover {
	color: var(--color-highlight);
	text-decoration: none;
}
.webgl-banner__scroll::before {
	animation-name: spin;
	animation-duration: 1500ms;
	animation-iteration-count: infinite;
	animation-timing-function: linear;
	
	background: url("../img/svg/Icon-scroll.svg") no-repeat 0 0;
	background-size: contain;
	content: '';
	display: block;
	height: 24px;
	margin-top: -12px;
	position: absolute;
	top: 50%; left: 0;
	width: 24px;
}
@keyframes spin {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
}

.webgl-banner__loader {
	background: url("../img/preloader-white.gif") no-repeat 0 0;
	background-size: contain;
	height: 64px;
	opacity: 0.5;
	position: absolute;
	top: 50%; left: 50%;
	width: 64px;
	transform: translate(-50%, -50%);
	transition: opacity 0.25s ease-out;
	z-index: 0;
}
.webgl-banner--loaded .webgl-banner__loader {
	opacity: 0;
}

/*
 * 3D SCENE
 */
#sceneContainer {
	opacity: 0;
	position: absolute;
	top: 0; right: 0; bottom: 0; left: 0;
	z-index: 1;
	
	will-change: opacity;
	transition: opacity 1.5s ease-out 0.5s;
}
.webgl-banner--loaded #sceneContainer {
	opacity: 1;
}

.threejs_scene {
	height: 100%;
	width: 100%;
}
.threejs_scene > canvas {
	/*height: 100% !important;
	width: 100% !important;*/
}

/** Line Drawing **/
.line-drawing {
	display: none;
	height: 50vh;
	opacity: 0;
	position: fixed;
	right: -25%; bottom: 15%;
	width: 150vw;
	z-index: -1;
	transition: opacity 0.25s ease-out;
}
.line-drawing--active {
	opacity: 0.25;
}

/* ==========================================================================
   Layouts/Graphic Styles
   ========================================================================== */
.outer-row {
	padding-left: var(--outer-row);
	padding-right: var(--outer-row);
}
.boxed-content {
	display: block;
	padding: var(--divider);
}
.boxed-content--x2 {
	padding: calc(var(--divider) * 2);
}
.boxed-content--small {
	padding: calc(calc(var(--divider) / 3) * 2);
}
.boxed-content--sides-x2 {
	padding: var(--divider) calc(var(--divider) * 2);
}

.content-area {
	padding-bottom: var(--content-padding);
	padding-top: var(--content-padding);
}
.content-area--x2 {
	padding-bottom: calc(var(--content-padding) * 2);
	padding-top: calc(var(--content-padding) * 2);
}
.content-area--bottom {
	padding-bottom: var(--content-padding);
}
.content-area--top {
	padding-top: var(--content-padding);
}

.content-spacer {
	height: var(--content-padding);
}

.padding-bottom {
	padding-bottom: var(--divider);
}
.padding-top {
	padding-top: var(--divider);
}
.padding-bottom-x0 {
	padding-bottom: 0 !important;
}
.padding-top-x0 {
	padding-top: 0 !important;
}
.padding-none {
	padding: 0 !important;
}
.margin-top {
	margin-top: var(--divider);
}
.margin-top-x0 {
	margin-top: 0 !important;
}
.divider {
	padding-top: var(--divider);
}
.grid-x.grid-x--xsmall.grid-padding-x {
	margin-left: -0.3125rem;
	margin-right: -0.3125rem;
}
.grid-x.grid-x--xsmall.grid-padding-y {
	margin-top: -0.3125rem;
	margin-bottom: -0.3125rem;
}
.grid-x.grid-x--xsmall.grid-padding-x .cell {
	padding-left: 0.3125rem;
	padding-right: 0.3125rem;
}
.grid-x.grid-x--xsmall.grid-padding-y .cell {
	padding-top: 0.3125rem;
	padding-bottom: 0.3125rem;
}
.grid-x.grid-x--small.grid-padding-x {
	margin-left: -0.625rem;
	margin-right: -0.625rem;
}
.grid-x.grid-x--small.grid-padding-y {
	margin-top: -0.625rem;
	margin-bottom: -0.625rem;
}
.grid-x.grid-x--small.grid-padding-x .cell {
	padding-left: 0.625rem;
	padding-right: 0.625rem;
}
.grid-x.grid-x--small.grid-padding-y .cell {
	padding-top: 0.625rem;
	padding-bottom: 0.625rem;
}

.align-left {
	margin-right: auto;
}
.align-right {
	margin-left: auto;
}

/*
 * Backgrounds
 */
.background-white {
	background-color: var(--color-white);
}
/*.background-white + .background-white {
	padding-top: 0 !important;
}*/
.background-black {
	background-color: var(--color-primary);
}
/*.background-black + .background-black {
	padding-top: 0 !important;
}*/
.background-grey {
	background-color: var(--color-grey);
}
/*.background-grey + .background-grey {
	padding-top: 0 !important;
}*/
.background-grey-dark {
	background-color: var(--color-grey-dark);
}
/*.background-grey-dark + .background-grey-dark {
	padding-top: 0 !important;
}*/
.background-blue {
	background-color: var(--color-highlight);
}
/*.background-blue + .background-blue {
	padding-top: 0 !important;
}*/
.background-image {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.background-image > img {
	opacity: 0;
}
.background-image--overlay::after {
	background-color: rgba(0, 0, 0, 0.4);
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 0;
}
.background-image--overlay--gradient::after {
	background-color: transparent;
	background-image: linear-gradient(to right, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));
}
/*
 * Borders
 */
.box-border {
	border: 1px solid var(--color-grey-medium);
}
.box-border + .box-border {
	border-top: none;
}

.box-border-top {
	border-top: 1px solid var(--color-grey-medium);
}
.box-border-top--x0 {
	border-top: none;
}
.box-border-right {
	border-right: 1px solid var(--color-grey-medium);
}
.box-border-right--x0 {
	border-right: none;
}
.box-border-bottom {
	border-bottom: 1px solid var(--color-grey-medium);
}
.box-border-bottom--x0 {
	border-bottom: none;
}
.box-border-left {
	border-left: 1px solid var(--color-grey-medium);
}
.box-border-left--x0 {
	border-left: none;
}

.cell-box-border {
	border-bottom: 1px solid var(--color-grey-medium);
	border-right: 1px solid var(--color-grey-medium);
}
.cell-box-border__container {
	border-left: 1px solid var(--color-grey-medium);
}
.box-border__left {
	border-left: 1px solid var(--color-grey-medium);
}
.box-border__bottomleft {
	border-left: 1px solid var(--color-grey-medium);
	border-bottom: 1px solid var(--color-grey-medium);
}
.border-top__none {
	border-top: 0;
}

/** Accordion **/
.accordion__panel {
}
.panel__title {
	position:relative;
}
.panel__title:hover {
	z-index:10;
}
.panel__title__link { 
	border-top: 1px solid var(--color-grey-medium);
	color: var(--color-primary);
	display:block;
	font-family: var(--font-secondary);
	font-size: var(--heading-h3);
	font-weight: 400;
	line-height:1.2;
	padding:0.75em 2.5rem 0.75em 0;
	position:relative;
	text-decoration:none;
	text-transform: uppercase;
}
.accordion__panel:first-child .panel__title__link {
	border-top: none;
}
.title__link__icon {
	background-color: transparent;
	display:block;
	height:40px;
	margin-top:-20px;
	position:absolute;
	top:50%;
	right:0;
	width:20px;
	-webkit-transition:background-color 0.3s ease-out;
	-o-transition:background-color 0.3s ease-out;
	transition:background-color 0.3s ease-out;
}
.title__link__icon::before {
	background-color:var(--color-primary);
	border-radius: 0;
	content:'';
	display:block;
	height:20px;
	position:absolute;
	top:50%; left:50%;
	width:2px;
	-webkit-transition:background-color 0.3s ease-out, opacity 0.3s ease-out;
	-o-transition:background-color 0.3s ease-out, opacity 0.3s ease-out;
	transition:background-color 0.3s ease-out, opacity 0.3s ease-out;
	-webkit-transform: translate(-50%,-50%);
	    -ms-transform: translate(-50%,-50%);
	        transform: translate(-50%,-50%);
}
.title__link__icon::after {
	background-color:var(--color-primary);
	border-radius: 0;
	content:'';
	display:block;
	height:2px;
	position:absolute;
	top:50%; left:50%;
	width:20px;
	-webkit-transition:background-color 0.3s ease-out;
	-o-transition:background-color 0.3s ease-out;
	transition:background-color 0.3s ease-out;
	-webkit-transform: translate(-50%,-50%);
	    -ms-transform: translate(-50%,-50%);
	        transform: translate(-50%,-50%);
}
.panel__title__link:hover {
	color:var(--color-highlight);
}
.panel__title__link:hover .title__link__icon::before,
.panel__title__link:hover .title__link__icon::after{
	background-color:var(--color-highlight);
}
.accordion__panel--open .panel__title__link .title__link__icon::before {
	opacity:0;
}
.panel__content {
	padding:0 0 var(--divider);
}

/** Pagination **/
.pagination-spacer {
	display: flex;
	min-width: var(--button-width);
}

.pagination__numbers a,
.pagination__numbers span {
	display: inline-block;
	font-weight: 500;
	margin: 0 0.3125rem;
	text-decoration: none;
}
.pagination__numbers span.current {
	border-bottom: 1px solid var(--color-highlight);
	color: var(--color-highlight);
}
.pagination__numbers span.expand {
	opacity: 0.5;
}
.pagination__numbers a:hover {
	color: var(--color-highlight);
}

/*
 * Sliders
 */
.flexslider--grid .slides li > .cell {
	padding-left: calc(var(--divider) / 2);
	padding-right: calc(var(--divider) / 2);
}
.flexslider--directional {
	position: relative;
}
/** Slider: Controls **/
.flexslider--controls {
	padding-right: var(--divider) !important;
	position: relative;
}
.flexslider--controls .slider-controls {
	position: absolute;
	top: 100%;
	right: 0;
	left: 0;
	transform: translateY(-50%);
	z-index: 10;
}
.flexslider--slide {}

/** Controls **/
.flex-direction-nav {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
}
.flex-direction-nav.disabled {
	display: none;
}
.flex-direction-nav li {
	margin: 0;
	padding: 0;
}
.flex-direction-nav li a.flex-disabled {
	opacity: 0.25;
	pointer-events: none;
}

/** Directional Controls **/
.flexslider--directional .flex-direction-nav {
	background-color: rgba(255,255,255,0.75);
	border-top: 1px solid var(--color-grey-medium);
	position: absolute;
	right: 0; bottom: 0; left: 0;
	z-index: 10;
}
.flexslider--directional .flex-direction-nav li:first-child {
	border-right: 1px solid var(--color-grey-medium);
	margin-right: auto;
}
.flexslider--directional .flex-direction-nav li:last-child {
	border-left: 1px solid var(--color-grey-medium);
	margin-left: auto;
}

/** Grid Controls **/
.slider-controls--grid .flex-direction-nav {
	margin-left: calc(var(--divider) * -0.5);
	margin-right: calc(var(--divider) * -0.5);
}
.slider-controls--grid .flex-direction-nav li {
	padding-left: calc(var(--divider) * 0.5);
	padding-right: calc(var(--divider) * 0.5);
}
.slider-controls--grid .flex-direction-nav li a {
	color: var(--color-highlight);
	font-size: var(--heading-h5);
}
.slider-controls--grid .flex-direction-nav li a i {
	position: relative;
	transition: transform 0.25s ease-out;
}
.slider-controls--grid .flex-direction-nav li:first-child a:hover i {
	transform: translateX(-25%);
}
.slider-controls--grid .flex-direction-nav li:last-child a:hover i {
	transform: translateX(25%);
}

/** Pop Ups **/
.popup {
	background-color:rgba(0,0,0,0.8);
	overflow-y:scroll;
	opacity:0;
	position:fixed;
	top:0; left:0; right:0; bottom:0; z-index:-1;
	
	-webkit-transition: z-index 0s 0.75s ease-out, opacity 0.5s ease-out;
	-o-transition: z-index 0s 0.75s ease-out, opacity 0.5s ease-out;
	transition: z-index 0s 0.75s ease-out, opacity 0.5s ease-out;
} 
.popup--active {
	opacity:1;
	z-index:999;
	
	-webkit-transition: opacity 0.5s ease-out;
	-o-transition: opacity 0.5s ease-out;
	transition: opacity 0.5s ease-out;
}
.popup__content {
	position:relative;
}

.close-btn {
	background-color:var(--color-white);
	border-left: 1px solid var(--color-grey-medium);
	border-bottom: 1px solid var(--color-grey-medium);
	border-top: 1px solid transparent;
	border-right: 1px solid transparent;
	display:block;
	height: 50px;
	position:absolute;
	top:0; right:0;
	width: 50px;
	z-index: 50;
}
.close-btn:hover {
	background-color: var(--color-highlight);
}
.close-btn::before,
.close-btn::after {
	background-color:var(--color-primary);
	content:'';
	display:block;
	height: 2px;
	position:absolute;
	margin-left:-12px;
	left:50%; top:50%;
	width: 24px;
	
	-webkit-transition: background-color 0.25s ease-out;
	
	-o-transition: background-color 0.25s ease-out;
	
	transition: background-color 0.25s ease-out;
	
  -webkit-transform-origin:50% 50%;
  -ms-transform-origin:50% 50%;
      transform-origin:50% 50%;
}
.close-btn:hover::before,
.close-btn:hover::after {
	background-color: var(--color-white);
}
.close-btn::before {
	margin-top:0;
	
  -webkit-transform: rotate(45deg); 
          -ms-transform: rotate(45deg); 
      transform: rotate(45deg); 
}
.close-btn::after {
	margin-top:0;
  -webkit-transform: rotate(-45deg); 
          -ms-transform: rotate(-45deg); 
      transform: rotate(-45deg); 
}

/** Hide HTML5 video controls **/
.IIV::-webkit-media-controls-play-button, .IIV::-webkit-media-controls-start-playback-button {
	opacity: 0;
	pointer-events: none;
	width: 5px;
}
/** Responsive Embeds **/
.video-embed {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}
.video-embed iframe, .video-embed object, .video-embed embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/** 100% height helper class **/
.height_100 {
	height: 100%;
}
.height_100vh {
	height: 100vh;
}
.height_100vh--top-bar {
	height: calc(100vh - var(--top-bar-height));
}
.grid-padding-y.height_100 {
	height: calc(100% + var(--divider));
}
/** Relative position helper class **/
.position_relative {
	position: relative;
	z-index: 5;
}
/** Overflow hidden helper class **/
.overflow_hidden {
	overflow: hidden;
}

/* ==========================================================================
   Typography
   ========================================================================== */
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
	font-weight: 600;
	margin-bottom: 0.75em;
	margin-top: 0.75em;
}
h1, .h1, h2, .h2 {
	color: var(--color-highlight);
	font-family: var(--font-secondary);
	font-weight: 400;
	line-height: 0.9;
	text-transform: uppercase;
}
h1, .h1 {
	font-size: var(--heading-h1);
}
h2, .h2 {
	font-size: var(--heading-h2);
}
h3, .h3 {
	font-size: var(--heading-h3);
}
h4, .h4 {
	font-size: var(--heading-h4);
}
h5, .h5 {
	font-size: var(--heading-h5);
	font-weight: 400;
}
h6, .h6 {
	font-size: var(--heading-h6);
	font-weight: 400;
}
strong, b {
	font-weight: 600;
}
address {
	font-style: normal;
}
address + address {
	margin-top: 1em;
}


.no-margin {
	margin: 0;
}
.no-margin-top {
	margin-top: 0;
}
.no-margin-bottom {
	margin-bottom: 0;
}

.title-small {
	color: var(--color-grey-dark);
	display: block;
	font-family: var(--font-primary);
	font-size: 1rem;
	margin-bottom: 0.5em;
	margin-top: 0;
	text-transform: none;
}
.title-small + p, .title-small + ul, .title-small + ol {
	margin-top: 0 !important;
	padding-top: 0.3125rem;
}

.text-large {
	font-size: var(--heading-h5);
}
.text-xlarge {
	font-size: var(--heading-h4);
}

.text-uppercase {
	text-transform: uppercase;
}
.text-bold {
	font-weight: 600;
}

.text-white {
	color: var(--color-white);
}
.text-blue {
	color: var(--color-highlight);
}
.text-grey-dark {
	color: var(--color-grey-dark);
}

main ol,
main ul {
	padding-left: 1.25rem;
}
main ol li,
main ul li {
	padding-left: 0.625rem;
}


/** Styled List **/
ul.styled-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
ul.styled-list li {
	padding-left: 2em;
	margin-bottom: 0.625rem;
	margin-top: 0.625rem;
	position: relative;
}
ul.styled-list li::before {
	background-color: var(--color-highlight);
	content: '';
	display: block;
	height: 1px;
	position: absolute;
	top: 0.75em; left: 0;
	width: 1em;
}

h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child, p:first-child, ul:first-child, ol:first-child, dl:first-child {
	margin-top: 0 !important;
}
h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child, h6:last-child, p:last-child, ul:last-child, ol:last-child, dl:last-child {
	margin-bottom: 0 !important;
}
/* ==========================================================================
   Links
   ========================================================================== */
a {
	color: var(--color-primary);
	outline: none;
	text-decoration: underline;
	transition: color 0.25s ease-out, background-color 0.25s ease-out, border-color 0.25s ease-out;
}
a:hover {
	text-decoration: none;
}

.highlight-link {
	color: var(--color-highlight);
	text-decoration: none;
}
.highlight-link:hover {
	color: var(--color-primary);
}

/** CTA Link **/
.cta-link {
	background-color: var(--color-primary);
	color: var(--color-white);
	text-decoration: none;
}
.cta-link span {
	color: var(--color-white);
}
.cta-link:hover {
	background-color: var(--color-highlight);
	color: var(--color-white);
}
.cta-link__arrow {
	color: var(--color-white);
	display: inline-block;
	margin-left: 0.5em;
	position: relative;
	transform: translateX(0);
	transition: transform 0.25s ease-out;
}
a:hover .cta-link__arrow {
	transform: translateX(25%);
}
.cta-link__arrow i {
	line-height: 0;
	vertical-align: middle;
}

/** Image Links **/
.image-link {
	display: block;
	overflow: hidden;
	position: relative;
}
.image-link img {
	transition: transform 0.25s ease-out;
}
.image-link:hover img {
	transform: scale(1.05);
}

.image-link__client-logo {
	height: 100%;
	max-height: 75px;
}

/** Solutions Links **/
.solutions-link {
	background-color: var(--color-white);
	display: block;
	text-decoration: none !important;
}
.solutions-link:hover {
	background-color: var(--color-highlight);
	color: var(--color-white);
}
.solutions-link span {
	display: block;
}
.solutions-link__icon {
	position: relative;
}
.solutions-link__icon svg {
	display: block;
	height: 40px;
	width: 40px;
}
a:hover .solutions-link__icon svg * {
	transition: all 0.25s ease-out;
}
a:hover .solutions-link__icon svg * {
	fill: var(--color-white);
}
a:hover .solutions-link__icon svg *[fill='#009dae'] {
	fill: var(--color-white);
	opacity: 0.5;
}

.solutions-link__icon__arrow {
	color: var(--color-white);
	margin: 0;
	opacity: 0;
	position: absolute;
	top: 50%; right: 0;
	transform: translateX(-25%) translateY(-50%);
	transition: opacity 0.25s ease-out, transform 0.25s ease-out;
}
a:hover .solutions-link__icon__arrow {
	opacity: 1;
	transform: translateX(0) translateY(-50%);
}

/** Project Links **/
.project-link {
	display: block;
	text-decoration: none;
}
.project-link:hover {
	background-color: var(--color-grey-medium);
}
.project-link__image {
	display: block;
	overflow: hidden;
	position: relative;
}
.project-link__image img {
	transition: transform 0.25s ease-out;
}
a:hover .project-link__image img {
	transform: scale(1.05);
}
.project-link__title {
	display: block;
	font-size: var(--heading-h6);
	padding: calc(var(--divider) / 2) var(--divider);
}
.project-link__arrow {
	color: var(--color-highlight);
	display: block;
	font-size: var(--heading-h4);
	min-width: var(--button-width);
	overflow: hidden;
	padding: calc(var(--divider) / 2) var(--divider);
	position: relative;
	text-align: center;
	transition: color 0.25s ease-out, background-color 0.25s ease-out, border-color 0.25s ease-out;
}
a:hover .project-link__arrow {
	background-color: var(--color-highlight);
	color: var(--color-white);
}
.project-link__arrow__start,
.project-link__arrow__end {
	position: absolute;
	top: 50%; left: 50%;
	transform: translateY(-50%) translateX(-50%);
	transition: all 0.25s ease-out;
}
.project-link__arrow__start {
	color: var(--color-highlight);
}
a:hover .project-link__arrow__start {
	color: var(--color-highlight);
	opacity: 0;
	transform: translateY(-50%) translateX(150%);
}
.project-link__arrow__end {
	color: var(--color-white);
	opacity: 0;
	transform: translateY(-50%) translateX(-250%);
}
a:hover .project-link__arrow__end {
	color: var(--color-white);
	opacity: 1;
	transform: translateY(-50%) translateX(-50%);
}

/** Arrow Links **/
.arrow-link,
.flexslider--directional .flex-direction-nav a {
	background-color: var(--color-white);
	color: var(--color-highlight);
	display: block;
	font-size: var(--heading-h4);
	min-width: var(--button-width);
	overflow: hidden;
	padding: calc(var(--divider) * 0.917) var(--divider);
	position: relative;
	text-align: center;
	transition: color 0.25s ease-out, background-color 0.25s ease-out, border-color 0.25s ease-out;
}
.arrow-link:hover,
.flexslider--directional .flex-direction-nav a:hover {
	background-color: var(--color-highlight);
	color: var(--color-white);
}
.arrow-link__start,
.arrow-link__end {
	position: absolute;
	top: 50%; left: 50%;
	transform: translateY(-50%) translateX(-50%);
	transition: all 0.25s ease-out;
}
.arrow-link__start {
	color: var(--color-highlight);
}
a:hover .arrow-link__start {
	color: var(--color-highlight);
	opacity: 0;
	transform: translateY(-50%) translateX(150%);
}
.arrow-link__end {
	color: var(--color-white);
	opacity: 0;
	transform: translateY(-50%) translateX(-250%);
}
a:hover .arrow-link__end,
.flexslider--directional .flex-direction-nav li:first-child a:hover .arrow-link__end {
	color: var(--color-white);
	opacity: 1;
	transform: translateY(-50%) translateX(-50%);
}

.arrow-link--left:hover .arrow-link__start,
.flexslider--directional .flex-direction-nav li:first-child a:hover .arrow-link__start {
	transform: translateY(-50%) translateX(-250%);
}
.arrow-link--left .arrow-link__end,
.flexslider--directional .flex-direction-nav li:first-child a .arrow-link__end {
	transform: translateY(-50%) translateX(150%);
}

/** Read More/Category Links **/
.read-more {
	color: var(--color-primary);
	display: inline-block;
	font-weight: 500;
	position: relative;
	text-decoration: none !important;
}
.read-more:hover {
	color: var(--color-primary);
}
.read-more--white,
.read-more--white:hover {
	color: var(--color-white);
}
.read-more::after {
	background-color:var(--color-highlight);
	content:'';
	display:block;
	height:1px;
	position:absolute;
	left:0;
	bottom:-0.15625rem;
	width:100%;
	-webkit-transform:scaleX(0);
	    -ms-transform:scaleX(0);
	        transform:scaleX(0);
	-webkit-transform-origin:right;
	    -ms-transform-origin:right;
	        transform-origin:right;
	-webkit-transition: -webkit-transform 0.25s ease-out;
	transition: -webkit-transform 0.25s ease-out;
	-o-transition: transform 0.25s ease-out;
	transition: transform 0.25s ease-out;
	transition: transform 0.25s ease-out, -webkit-transform 0.25s ease-out;
}
.read-more:hover::after {
	-webkit-transform:scaleX(1);
	    -ms-transform:scaleX(1);
	        transform:scaleX(1);
	-webkit-transform-origin:left;
	    -ms-transform-origin:left;
	        transform-origin:left;
}

/** Social Links **/
.social-link {
	color: var(--color-highlight);
	font-size: var(--heading-h5);
}
.social-link:hover {
	color: var(--color-primary);
}
.social-link--footer {
	color: var(--color-white);
}
.social-link--footer:hover {
	color: var(--color-highlight);
}

/* ==========================================================================
   Forms
   ========================================================================== */
input, textarea, select, button {
	background-color: transparent;
	border: 1px solid var(--color-grey-medium);
	border-radius: 0;
	color: var(--color-primary);
	cursor: pointer;
	display: block;
	font-size: 1em;
	font-weight: 400;
	margin: 0;
	padding: 1em;
	outline: none;
	text-shadow: none;
	width: 100%;
	transition: color 0.25s ease-out, background-color 0.25s ease-out, border-color 0.25s ease-out;
	-webkit-appearance: none;
}
input:hover, textarea:hover, select:hover {
	border-color: var(--color-primary);
}
input:focus, textarea:focus {
	border-color: var(--color-highlight);
	color: var(--color-primary);
}
textarea, textarea[rows] {
	height: 140px;
}
select {
	background-image: none;
}
.ginput_container_select {
	position: relative;
}
.ginput_container_select::before {
	content: "\f107";
	color: var(--color-primary);
	display: block;
	font-size: 1.25em;
	font-family: "Font Awesome 5 Pro";
	font-weight: 900;
	pointer-events: none;
	position: absolute;
	top: 50%;
	right: 1rem;
	transform: translateY(-50%);
}
input[type="checkbox"], input[type="radio"] {
	background-color: transparent;
	border: 1px solid var(--color-primary);
	float: left;
	height: 20px;
	margin-right: 0.625rem;
	width: 20px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
input[type="radio"] {
	border-radius: 50%;
}
input:checked {
	background-color: var(--color-primary);
	background-clip: content-box;
	border-color: var(--color-primary);
	outline: none;
	padding: 3px;
}
/** Form Body **/
label {
	display: block;
	font-size: var(--heading-h6);
	font-weight: 600;
	padding-bottom: 0.625rem;
}
label:empty {
	display: none;
}
input + label, select + label, .select-container + label {
	font-size: 0.875em;
	padding-bottom: 0;
	padding-top: 0.3125rem;
}
.gform_wrapper ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
ul.gform_fields, .ginput_container_name, .ginput_container_address {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	font-size: 1em;
	margin-left: calc(var(--divider) * -0.5);
	margin-right: calc(var(--divider) * -0.5);
}
.ginput_container_name, .ginput_container_address {
	margin-bottom: calc(var(--divider) * -1);
}
ul.gform_fields > li, .ginput_container_name span, .ginput_container_address span {
	clear: both;
	display: block;
	margin-bottom: var(--divider);
	padding-left: calc(var(--divider) / 2);
	padding-right: calc(var(--divider) / 2);
	width: 100%;
}
.gfield_required {
	display: none;
}
.ginput_container_checkbox, .ginput_container_radio {
	margin-top: -0.625rem;
}
.ginput_container_checkbox li, .ginput_container_radio li {
	margin-bottom: 0 !important;
	margin-top: 0.625rem;
	padding-left: 1.875rem;
	position: relative;
}
.ginput_container_checkbox li input, .ginput_container_radio li input {
	position: absolute;
	left: 0;
	top: 0;
}
.ginput_container_checkbox li input + label, .ginput_container_radio li input + label {
	display: block;
	line-height: 20px;
	margin-bottom: 0;
}
/** Form Footer **/
.gform_footer {
	clear: both;
	position: relative;
	text-align: left;
}
button.gform_button {
	display: inline-block;
	color: var(--color-primary);
	font-weight: 600;
	padding: 1.25em 3em;
	width: auto;
}
button.gform_button::after {
	content: "\f178";
	color: var(--color-highlight);
	display: inline-block;
	font-size: 1.5em;
	font-family: "Font Awesome 5 Pro";
	font-weight: 300;
	line-height: 0.55;
	margin-left: 1em;
	vertical-align: bottom;
	transition: color 0.25s ease-out, transform 0.25s ease-out;
}
button.gform_button:hover, button.gform_button:focus {
	color: var(--color-white);
	background-color: var(--color-highlight);
	border-color: var(--color-highlight);
}
button.gform_button:hover::after,
button.gform_button:focus::after {
	color: var(--color-white);
	transform: translateX(25%);
}
img.gform_ajax_spinner {
	height: 32px;
	position: absolute;
	right: 0;
	top: 50%;
	width: 32px;
	transform: translateY(-50%);
}
.input_left, .input_right, .name_first, .name_last {
	display: block;
}
.name_first {
	margin-bottom: var(--divider);
}
.input_clear {
	clear: both;
}
::-webkit-input-placeholder {
	color: var(--color-grey-medium);
}
:-moz-placeholder {
	color: var(--color-grey-medium);
}
::-moz-placeholder {
	color: var(--color-grey-medium);
}
:-ms-input-placeholder {
	color: var(--color-grey-medium);
}
/** Warnings **/
.validation_error {
	display: none;
}
.validation_message {
	display: none !important;
}
.gfield_contains_required.gfield_error input, .gfield_contains_required.gfield_error textarea, .gfield_contains_required.gfield_error select, .gfield_contains_required.gfield_error .jcf-select .jcf-select-text {
	border-color: red;
}
.gfield_contains_required.gfield_error label {
	color: red !important;
}
/** Honeypot **/
.gform_validation_container {
	display: none !important;
}
.gform_body::before, .gfield::before, .clear-multi::before, .gform_body::after, .gfield::after, .clear-multi::after, .ginput_container_checkbox::before, .ginput_container_checkbox::after, .ginput_container_checkbox ul::before, .ginput_container_checkbox ul::after {
	content: " ";
	display: table;
}
.gform_body::after, .gfield::after, .clear-multi::after, .ginput_container_checkbox::after, .ginput_container_checkbox ul::after {
	clear: both;
}
/* Small screens */
@media only screen {} /* Define mobile styles */
@media only screen and (max-width: 39.99em) {
	
	.small-content-area--bottom {
		padding-bottom: var(--content-padding);
	}
	.small-content-area--top {
		padding-top: var(--content-padding);
	}
	
	.small-padding-top {
		padding-top: var(--divider);
	}
	.small-padding-bottom {
		padding-bottom: var(--divider);
	}
	
	.small-padding-top-x0 {
		padding-top: 0;
	}
	.small-padding-bottom-x0 {
		padding-bottom: 0;
	}
	
} /* max-width 640px, mobile-only styles, use when QAing mobile issues */
/* Medium screens - min-width 640px */
@media only screen and (min-width: 40em) {
	:root {
		--content-padding: 3.75rem;
		--outer-row: 0.9375rem;
		--divider: 1.875rem;
		--heading-h1: 4.444em;
		--heading-h2: 2.778em;
		--heading-h3: 2em;
		--heading-h4: 1.333em;
		--heading-h5: 1.222em;
		--heading-h6: 1.111em;
		--base-font: 18px;
		
		--top-bar-height: 103px;
		--button-width: 90px;
	}
	
	.site-logo {
		height: 42px;
		width: 180px;
	}
	
	.divider--small {
		padding-top: 0 !important;
	}
	.medium-box-border-top {
		border-top: 1px solid var(--color-grey-medium);
	}
	.medium-box-border-top--x0 {
		border-top: none;
	}
	.medium-box-border-right {
		border-right: 1px solid var(--color-grey-medium);
	}
	.medium-box-border-right--x0 {
		border-right: none;
	}
	.medium-box-border-bottom {
		border-bottom: 1px solid var(--color-grey-medium);
	}
	.medium-box-border-bottom--x0 {
		border-bottom: none;
	}
	.medium-box-border-left {
		border-left: 1px solid var(--color-grey-medium);
	}
	.medium-box-border-left--x0 {
		border-left: none;
	}
	ul.gform_fields > li.input_left, ul.gform_fields > li.input_right, ul.gform_fields > li.input_third, ul.gform_fields > li .ginput_container_name span {
		clear: none;
		float: left;
		width: 50%;
	}
	ul.gform_fields > li .ginput_container_name span:only-child {
		clear: both;
		float: none;
		width: 100%;
	}
	ul.gform_fields > li .ginput_container_address span:not(.ginput_full), ul.gform_fields > li .ginput_container_address.has_city.has_state.has_zip.has_country span:not(.ginput_full) {
		clear: none;
		float: left;
		width: 50%;
	}
	ul.gform_fields > li .ginput_container_address.has_city.has_state.has_zip span:not(.ginput_full) {
		clear: none;
		float: left;
		width: 33.33%;
	}
	ul.gform_fields > li.input_third {
		width: 33.33%;
	}
}
@media only screen and (min-width: 40em) and (max-width: 64em) {
	
	.medium-content-area--bottom {
		padding-bottom: var(--content-padding);
	}
	.medium-content-area--top {
		padding-top: var(--content-padding);
	}
	
	.medium-padding-top {
		padding-top: var(--divider);
	}
	.medium-padding-bottom {
		padding-bottom: var(--divider);
	}
	
	.medium-padding-top-x0 {
		padding-top: 0;
	}
	.medium-padding-bottom-x0 {
		padding-bottom: 0;
	}
	
} /* min-width 641px and max-width 1024px, use when QAing tablet-only issues */
/* Large screens - min-width 1024px */
@media only screen and (min-width: 64em) {
	:root {
		--content-padding: 5rem;
		--outer-row: 1.875rem;
		--heading-h1: 5.556em;
		--heading-h2: 3.333em;
		--heading-h3: 2.222em;
		--heading-h4: 1.444em;
		--heading-h5: 1.333em;
		
		--button-width: 120px;
	}
	
	.webgl-banner::after {
		background: linear-gradient(180deg, rgba(216,216,216,1) 0%, rgba(229,229,229,1) 75%, rgba(190,190,190,1) 100%);
		top: 0; left: 50%;
		transform: translateY(0) translateX(25%);
	}
	.webgl-banner--loaded::after {
		transform: translateY(0) translateX(0);
	}

	.webgl-banner__content {
		transform: translateY(0) translateX(-25%);
	}
	.webgl-banner--loaded .webgl-banner__content {
		transform:  translateY(0) translateX(0);
	}
	
	.divider--medium {
		padding-top: 0 !important;
	}
	.large-box-border-top {
		border-top: 1px solid var(--color-grey-medium);
	}
	.large-box-border-top--x0 {
		border-top: none;
	}
	.large-box-border-right {
		border-right: 1px solid var(--color-grey-medium);
	}
	.large-box-border-right--x0 {
		border-right: none;
	}
	.large-box-border-bottom {
		border-bottom: 1px solid var(--color-grey-medium);
	}
	.large-box-border-bottom--x0 {
		border-bottom: none;
	}
	.large-box-border-left {
		border-left: 1px solid var(--color-grey-medium);
	}
	.large-box-border-left--x0 {
		border-left: none;
	}
}
@media only screen and (min-width: 64em) and (max-width: 90em) {} /* min-width 1025px and max-width 1440px, use when QAing large screen-only issues */
/* XLarge screens - min-width 1440px */
@media only screen and (min-width: 90em) {
	.divider--large {
		padding-top: 0 !important;
	}
	
	.line-drawing {
		display: block;
	}
}
@media only screen and (min-width: 90em) and (max-width: 97.5em) {} /* min-width 1441px and max-width 1560px, use when QAing xlarge screen-only issues */
/* XXLarge screens - min-width 1560px */
@media screen and (min-width: 97.5em) {}
/* IE 10 & 11 */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
	.outer-row {
		padding-left: 1.875rem !important;
		padding-right: 1.875rem !important;
	}
	.content-area {
		padding-bottom: 5rem !important;
		padding-top: 5rem !important;
	}
	.content-area--x2 {
		padding-bottom: 10rem !important;
		padding-top: 10rem !important;
	}
	.content-area--bottom-x0 {
		padding-bottom: 0 !important;
	}
	.content-area--top-x0 {
		padding-top: 0 !important;
	}
	.divider {
		padding-top: 1.875rem !important;
	}
	h1, .h1 {
		font-size: 3.889em !important;
	}
	h2, .h2 {
		font-size: 3.333em !important;
	}
	h3, .h3 {
		font-size: 2.222em !important;
	}
	h4, .h4 {
		font-size: 1.444em !important;
	}
	h5, .h5 {
		font-size: 1.333em !important;
	}
}
/* ==========================================================================
   Plugin Styles
   ========================================================================== */
/* FlexSlider Necessary Styles
*********************************/
.flexslider {
	margin: 0;
	padding: 0;
}
.flexslider .slides {
	list-style: none;
	margin: 0;
	padding: 0;
}
.flexslider ul li {
	padding-left: 0;
}
.flexslider .slides > li {
	display: none;
	-webkit-backface-visibility: hidden;
}
.flexslider .slides:after {
	content: "\0020";
	display: block;
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0;
}
html[xmlns] .flexslider .slides {
	display: block;
}
* html .flexslider .slides {
	height: 1%;
}
.no-js .flexslider .slides > li:first-child {
	display: block;
}
/*!--------------------------------------------------------------------
STYLES "Outdated Browser"
Version:    1.1.0 - 2014
author:     Burocratik
website:    http://www.burocratik.com
* @preserve
-----------------------------------------------------------------------*/
#outdated {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 170px;
	text-align: center;
	text-transform: uppercase;
	z-index: 1500;
	background-color: #f25648;
	color: #ffffff;
}
* html #outdated {
	position: absolute;
}
#outdated h6 {
	font-size: 25px;
	line-height: 25px;
	margin: 30px 0 10px;
}
#outdated p {
	font-size: 12px;
	line-height: 12px;
	margin: 0;
}
#outdated #btnUpdateBrowser {
	display: block;
	position: relative;
	padding: 10px 20px;
	margin: 30px auto 0;
	width: 230px; /*need for IE*/
	color: #ffffff;
	text-decoration: none;
	border: 2px solid #ffffff;
	cursor: pointer;
}
#outdated #btnUpdateBrowser:hover {
	color: #f25648;
	background-color: #ffffff;
}
#outdated .last {
	position: absolute;
	top: 10px;
	right: 25px;
	width: 20px;
	height: 20px;
}
#outdated #btnCloseUpdateBrowser {
	border-bottom: none;
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	text-decoration: none;
	color: #ffffff;
	font-size: 36px;
	line-height: 36px;
}


/* ==========================================================================
   Helper classes
   ========================================================================== */
/*
 * Image replacement
 */
.ir {
	background-color: transparent;
	border: 0;
	overflow: hidden;
	/* IE 6/7 fallback */
	*text-indent: -9999px;
}
.ir:before {
	content: "";
	display: block;
	width: 0;
	height: 150%;
}
/*
 * Hide from both screenreaders and browsers: h5bp.com/u
 */
.hidden {
	display: none !important;
	visibility: hidden;
}
/*
 * Hide only visually, but have it available for screenreaders: h5bp.com/v
 */
.visuallyhidden {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}
/*
 * Extends the .visuallyhidden class to allow the element to be focusable
 * when navigated to via the keyboard: h5bp.com/p
 */
.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus {
	clip: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	position: static;
	width: auto;
}
/*
 * Hide visually and from screenreaders, but maintain layout
 */
.invisible {
	visibility: hidden;
}