/*!
Theme Name: Americase
Author: Refract
Author URI: Refractroi.com
Description: Refract Canonical Theme & Components
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain:
Tags:

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Navigation
	## Links
	## Menus
# Accessibility
# Alignments
# Widgets
# Content
	## Posts and pages
	## Comments
# Infinite scroll
# Media
	## Captions
	## Galleries
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Functions
--------------------------------------------------------------*/
/*--------------------------------------------------------------
>>> FUNCTIONS - TABLE OF CONTENTS:
----------------------------------------------------------------
# Rem calculator
# Em calculator
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Rem calculator - Use this to convert px to rem units

> $pixels = pixel value (don't include px)
> $context = default base font size declared in _settings.variables.scss
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Em calculator - Use this to convert px to em units

> $pixels = pixel value (don't include px)
> $context = default base font size declared in _settings.variables.scss
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Variables
--------------------------------------------------------------*/
/*--------------------------------------------------------------
>>> VARIABLES - TABLE OF CONTENTS:
----------------------------------------------------------------
# Sass Variables
    > Default font-size for site
    > Breakpoints
    > Layout Grid

# CSS variables 
    > Border widths
    > Animation
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Sass Variables
    > Needed for mixins and functions
    > Cannot be converted to CSS variables
--------------------------------------------------------------*/
/*--------------------------------------------------------------
> Default font-size, DO NOT CHANGE
--------------------------------------------------------------*/
/*--------------------------------------------------------------
> Breakpoints for site, called on in breakpoint mixins
--------------------------------------------------------------*/
/*--------------------------------------------------------------
> Layout Grid
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# CSS Variables
--------------------------------------------------------------*/
/*! jQuery UI - v1.12.1 - 2020-10-16
* http://jqueryui.com
* Includes: core.css, datepicker.css
* Copyright jQuery Foundation and other contributors; Licensed MIT */
/* Layout helpers
----------------------------------*/
.ui-helper-hidden {
	display: none;
}
.ui-helper-hidden-accessible {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}
.ui-helper-reset {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	line-height: 1.3;
	text-decoration: none;
	font-size: 100%;
	list-style: none;
}
.ui-helper-clearfix:before,
.ui-helper-clearfix:after {
	content: "";
	display: table;
	border-collapse: collapse;
}
.ui-helper-clearfix:after {
	clear: both;
}
.ui-helper-zfix {
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	position: absolute;
	opacity: 0;
	filter:Alpha(Opacity=0); /* support: IE8 */
}
.ui-front {
	z-index: 100;
}
/* Interaction Cues
----------------------------------*/
.ui-state-disabled {
	cursor: default !important;
	pointer-events: none;
}
.ui-datepicker-calendar a.ui-state-active {
	margin: 0;
}
/* Icons
----------------------------------*/
.ui-icon {
	display: inline-block;
	vertical-align: middle;
	margin-top: -.25em;
	position: relative;
	text-indent: -99999px;
	overflow: hidden;
	background-repeat: no-repeat;
}
.ui-widget-icon-block {
	left: 50%;
	margin-left: -8px;
	display: block;
}
/* Misc visuals
----------------------------------*/
/* Overlays */
.ui-widget-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.ui-widget.ui-datepicker {
	width: 224px;
	padding: .2em;
	display: none;
	background: #FFF;
}
.ui-datepicker .ui-datepicker-header {
	position: relative;
	padding: .2em 0;
}
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
	position: absolute;
	top: 2px;
	width: 1.8em;
	height: 1.8em;
}
.ui-datepicker .ui-datepicker-prev-hover,
.ui-datepicker .ui-datepicker-next-hover {
	top: 1px;
}
.ui-datepicker .ui-datepicker-prev {
	left: 2px;
}
.ui-datepicker .ui-datepicker-next {
	right: 2px;
}
.ui-datepicker .ui-datepicker-prev-hover {
	left: 1px;
}
.ui-datepicker .ui-datepicker-next-hover {
	right: 1px;
}
.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span {
	display: block;
	position: absolute;
	left: 50%;
	margin-left: -8px;
	top: 50%;
	margin-top: -8px;
}
.ui-datepicker .ui-datepicker-title {
	margin: 0 2.3em;
	line-height: 1.8em;
	text-align: center;
}
.ui-datepicker .ui-datepicker-title select {
	font-size: 1em;
	margin: 1px 0;
}
.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
	width: 45%;
}
.ui-datepicker table {
	width: 100%;
	font-size: .9em;
	border-collapse: collapse;
	margin: 0 0 .4em;
}
.ui-datepicker th {
	padding: .7em .3em;
	text-align: center;
	font-weight: bold;
	border: 0;
}
.ui-datepicker td {
	border: 0;
	padding: 1px;
}
.ui-datepicker td span,
.ui-datepicker td a {
	display: block;
	padding: .2em;
	text-align: right;
	text-decoration: none;
}
.ui-datepicker .ui-datepicker-buttonpane {
	background-image: none;
	margin: .7em 0 0 0;
	padding: 0 .2em;
	border-left: 0;
	border-right: 0;
	border-bottom: 0;
}
.ui-datepicker .ui-datepicker-buttonpane button {
	float: right;
	margin: .5em .2em .4em;
	cursor: pointer;
	padding: .2em .6em .3em .6em;
	width: auto;
	overflow: visible;
}
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
	float: left;
}
/* with multiple calendars */
.ui-datepicker.ui-datepicker-multi {
	width: auto;
}
.ui-datepicker-multi .ui-datepicker-group {
	float: left;
}
.ui-datepicker-multi .ui-datepicker-group table {
	width: 95%;
	margin: 0 auto .4em;
}
.ui-datepicker-multi-2 .ui-datepicker-group {
	width: 50%;
}
.ui-datepicker-multi-3 .ui-datepicker-group {
	width: 33.3%;
}
.ui-datepicker-multi-4 .ui-datepicker-group {
	width: 25%;
}
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
	border-left-width: 0;
}
.ui-datepicker-multi .ui-datepicker-buttonpane {
	clear: left;
}
.ui-datepicker-row-break {
	clear: both;
	width: 100%;
	font-size: 0;
}
/* RTL support */
.ui-datepicker-rtl {
	direction: rtl;
}
.ui-datepicker-rtl .ui-datepicker-prev {
	right: 2px;
	left: auto;
}
.ui-datepicker-rtl .ui-datepicker-next {
	left: 2px;
	right: auto;
}
.ui-datepicker-rtl .ui-datepicker-prev:hover {
	right: 1px;
	left: auto;
}
.ui-datepicker-rtl .ui-datepicker-next:hover {
	left: 1px;
	right: auto;
}
.ui-datepicker-rtl .ui-datepicker-buttonpane {
	clear: right;
}
.ui-datepicker-rtl .ui-datepicker-buttonpane button {
	float: left;
}
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,
.ui-datepicker-rtl .ui-datepicker-group {
	float: right;
}
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
	border-right-width: 0;
	border-left-width: 1px;
}
/* Icons */
.ui-datepicker .ui-icon {
	display: block;
	text-indent: -99999px;
	overflow: hidden;
	background-repeat: no-repeat;
	left: .5em;
	top: .3em;
}
:root {
  /*--------------------------------------------------------------
> Border Widths - No rem/em units for these
--------------------------------------------------------------*/
  --brdr-xxs: 1px;
  --brdr-xs: 2px;
  --brdr-sm: 4px;
  --brdr-md: 6px;
  --brdr-lg: 8px;
  --brdr-xl: 12px;
  --brdr-xxl: 16px;
  /*--------------------------------------------------------------
> Animation - base settings
--------------------------------------------------------------*/
  --timing: 0.3s;
  --easing: ease-in-out; }
/*--------------------------------------------------------------
# Colors
--------------------------------------------------------------*/
/*--------------------------------------------------------------
>>> COLORS - TABLE OF CONTENTS:
----------------------------------------------------------------
# Color Base - Charcoal
# Orange
# Aqua
# Helpers
--------------------------------------------------------------*/
:root {
  /*--------------------------------------------------------------
# Color Base - Charcoal
--------------------------------------------------------------*/
  --color-base-white: #fff;
  --color-base-lightest: #f3f3f3;
  --color-base-lighter: #f3f3f2;
  --color-base-light: #f3f3f1;
  --color-base: #585858;
  --color-base-dark: #2e3532;
  --color-base-darker: #232826;
  --color-base-darkest: #171a19;
  /*--------------------------------------------------------------
# Primary
--------------------------------------------------------------*/
  --color-primary-lightest: #D93A3C;
  --color-primary-lighter: #D93A3C;
  --color-primary-light: #D93A3C;
  --color-primary: #d52527;
  --color-primary-dark: #BF2123;
  --color-primary-darker: #AA1D1F;
  --color-primary-darkest: #95191B;
  /*--------------------------------------------------------------
# Secondary
--------------------------------------------------------------*/
  --color-secondary: #1D2E4F;
  /*--------------------------------------------------------------
# Accent
--------------------------------------------------------------*/
  --color-accent-primary: #0086D6;
  --color-accent-sky: #0086D6;
  --color-accent-gold: #F2A900;
  --color-accent-emrald: #50A511;
  --color-accent-rust: #d14e2a;
  --color-accent-khaki: #beb7a4;
  --color-accent-cooler-gray: #7b94c1;
  --color-accent-light-gray: #d4d4d4;
  /*--------------------------------------------------------------
# Helpers
--------------------------------------------------------------*/ }
/*--------------------------------------------------------------
# WP Settings
--------------------------------------------------------------*/
.has-white-color, .has-white-color a {
  color: var(--color-base-white); }
.has-black-color, .has-black-color a {
  color: var(--color-base-darkest); }
.has-primary-color, .has-primary-color a {
  color: var(--color-primary); }
.bg-primary {
  background-color: var(--color-primary); }
.bg-secondary {
  background-color: var(--color-secondary); }
.bg-accent-primary {
  background-color: var(--color-accent-primary); }
.bg-base {
  background-color: var(--color-base); }
.bg-dark {
  background-color: var(--color-base-darkest); }
/*--------------------------------------------------------------
# Mixins
--------------------------------------------------------------*/
/*--------------------------------------------------------------
>>> MIXINS - TABLE OF CONTENTS:
----------------------------------------------------------------
# font-settings
# typesetting
# breakpoints
# layout - flexbox
# input padding
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# font-settings - Use when declaring a font-family. Sets:

> font-family - required
> font-weight - required
> font-style - defaults to normal
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# typesetting - Use this for setting font-size and line-height on elements. Enter pixel numbers to have them converted to responsive units. It takes three parameters:

> font-size-pixels - font-size in pixels, just include number without unit (required)
> line-height-pixels - line-height in pixels, just include number without unit (required)
> context - used to set rem units for font-size. The default value is a variable declared in _settings.variables.scss
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# breakpoints - Use for setting breakpoints in em units. 
There are 7 breakpoints listed below (values listed in _settings.variables.scss). 
Use only what you need:

> brkpnt-xxs
> brkpnt-xs
> brkpnt-sm
> brkpnt-md
> brkpnt-lg
> brkpnt-xl
> brkpnt-xxl
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# layout - flexbox

  > column settings
  > row settings
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Headings
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Input padding
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# UX
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
	 ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. 
 */
html {
  line-height: 1;
  -webkit-text-size-adjust: 100%; }
/* Sections
	 ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0; }
/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block; }
/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }
/* Grouping content
	 ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible; }
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  font-size: 1em; }
/* Text-level semantics
	 ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent; }
/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; }
/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder; }
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }
/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }
/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }
sub {
  bottom: -0.25em; }
sup {
  top: -0.5em; }
/* Embedded content
	 ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none; }
/* Forms
	 ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0; }
/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  overflow: visible; }
/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  text-transform: none; }
/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }
/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }
/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }
/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em; }
/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal; }
/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline; }
/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto; }
/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  padding: 0; }
/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }
/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px; }
/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }
/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit; }
/* Interactive
	 ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block; }
/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }
/* Misc
	 ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none; }
/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none; }
/*--------------------------------------------------------------
# Global styles
--------------------------------------------------------------*/
html {
  box-sizing: border-box;
  background-color: var(--color-base-darkest); }
*,
*::before,
*::after {
  box-sizing: inherit; }
body {
  overflow-x: hidden;
  max-width: 1980px;
  margin: 0 auto; }
section ul li {
  position: relative; }
section ul li:before {
    content: "";
    position: absolute;
    left: 0;
    top: 5px;
    width: 10px;
    height: 10px;
    background-color: var(--color-primary);
    border-radius: 50%; }
section:not(.hero):not(.cd) {
  padding: var(--space-md);
  overflow: hidden; }
@media only screen and (min-width: 63.9375em) {
    section:not(.hero):not(.cd) {
      padding: var(--space-xxl) var(--space-lg); } }
a,
button {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
button {
  border: none;
  cursor: pointer; }
::selection {
  background-color: var(--color-primary);
  color: white; }
figcaption {
  font-size: var(--text-sm); }
fieldset {
  border: none;
  margin: 0;
  padding: 0; }
.gmap {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%;
  margin-bottom: 40px; }
.gmap iframe {
    border: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
svg {
  overflow: visible; }
/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important; }
.d-none {
  display: none; }
.hide-mobile {
  display: none; }
.hide-desktop {
  display: block; }
@media only screen and (min-width: 63.9375em) {
  .hide-mobile {
    display: block; }
  .hide-desktop {
    display: none; } }
.site-main {
  background-color: var(--color-base-lighter);
  padding: 3rem 0 0 !important;
  border-left: 1px solid var(--color-base);
  border-right: 1px solid var(--color-base); }
.posts-navigation .nav-links {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-evenly;
  margin: var(--space-md) 0; }
.pagination .page-numbers {
  margin: 0 var(--space-sm); }
.btn-row {
  margin-top: var(--space-md);
  display: inline-flex;
  flex-direction: column; }
.content-page {
  padding: 0 var(--space-md) var(--space-md); }
@media only screen and (min-width: 63.9375em) {
    .content-page {
      padding: 0 var(--space-xl) var(--space-md); } }
.page, .site {
  background-color: var(--color-base-light);
  overflow-x: hidden; }
.pagination {
  display: flex;
  justify-content: center;
  margin: 1rem 0; }
.wp-caption.alignleft {
  float: left; }
.wp-caption.alignright {
  float: right; }
/*--------------------------------------------------------------
# Containers
--------------------------------------------------------------*/
.container {
  max-width: 88.75rem;
  padding: 0 0.375rem;
  margin: 0 auto; }
@media only screen and (min-width: 63.9375em) {
    .container {
      padding: 0 1.5rem; } }
.container--small {
    max-width: 60rem; }
.container--vert-padded {
    padding-top: 3rem;
    padding-bottom: 3rem; }
.container--guide {
    padding: 0; }
@media only screen and (min-width: 47.9375em) {
      .container--guide {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        padding: 0 1.5rem; } }
/*--------------------------------------------------------------
# Containers
--------------------------------------------------------------*/
.grid {
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(18.625rem, 1fr)); }
.grid__item {
    margin: 0;
    padding: 0 1.3rem 1.3rem;
    max-width: 38rem; }
@media only screen and (min-width: 63.9375em) {
      .grid__item:not(:nth-child(3n+1)):not(:nth-child(3n+4)) {
        border-left: 1px solid var(--color-base-lighter); } }
.grid__item:after {
      display: none; }
.grid__content {
    min-height: 140px;
    display: flex;
    flex-direction: column;
    justify-content: space-between; }
/* ------------------------------------------------------------ *\
	IE 11 Solution (inline-block) for its inability to support full CSS Grid awesomeness
\* ------------------------------------------------------------ */
_:-ms-lang(x),
.grid {
  display: block;
  margin: 0;
  text-align: center; }
@media only screen and (min-width: 47.9375em) {
    _:-ms-lang(x),
    .grid {
      margin: 0 -0.5rem; } }
_:-ms-lang(x),
.grid__item {
  display: block;
  margin-bottom: 1.75rem;
  width: 100%;
  text-align: left; }
@media only screen and (min-width: 47.9375em) {
    _:-ms-lang(x),
    .grid__item {
      display: inline-block;
      vertical-align: top;
      margin: 0 0.75rem 1.75rem;
      width: 45%; } }
@media only screen and (min-width: 56.25em) {
    _:-ms-lang(x),
    .grid__item {
      width: 30%; } }
@media only screen and (min-width: 75em) {
    _:-ms-lang(x),
    .grid__item {
      width: 31%; } }
/*--------------------------------------------------------------
# Spacing
--------------------------------------------------------------*/
/*--------------------------------------------------------------
>>> Spacing:
----------------------------------------------------------------
# Responsive spacing
# Component padding
# Fixed spacing
# Vertical margin utility classes (margin-top, margin-bottom)
--------------------------------------------------------------*/
:root {
  /*--------------------------------------------------------------
# Responsive spacing
    > Set in ems
    > These should be the primary spacing options used
--------------------------------------------------------------*/
  --space-unit: 1em;
  --space-xxxs: calc(0.25 * var(--space-unit));
  --space-xxs: calc(0.375 * var(--space-unit));
  --space-xs: calc(0.5 * var(--space-unit));
  --space-sm: calc(0.75 * var(--space-unit));
  --space-md: calc(1.25 * var(--space-unit));
  --space-lg: calc(2 * var(--space-unit));
  --space-xl: calc(3.25 * var(--space-unit));
  --space-xxl: calc(5.25 * var(--space-unit));
  --space-xxxl: calc(8.5 * var(--space-unit));
  /*--------------------------------------------------------------
# Component spacing
    > Default padding for boxy elements like UI cards
--------------------------------------------------------------*/
  --component-padding: var(--space-sm);
  /*--------------------------------------------------------------
# Input spacing
    > Default padding for inputs
--------------------------------------------------------------*/
  --input-padding: var(--space-xxs);
  /*--------------------------------------------------------------
# Fixed Spacing
    > Set in rems
--------------------------------------------------------------*/
  --space-unit-fixed: 1rem;
  --space-xxxs-fixed: calc(0.25 * var(--space-unit));
  --space-xxs-fixed: calc(0.375 * var(--space-unit));
  --space-xs-fixed: calc(0.5 * var(--space-unit-fixed));
  --space-sm-fixed: calc(0.75 * var(--space-unit-fixed));
  --space-md-fixed: calc(1.25 * var(--space-unit-fixed));
  --space-lg-fixed: calc(2 * var(--space-unit-fixed));
  --space-xl-fixed: calc(3.25 * var(--space-unit-fixed));
  --space-xxl-fixed: calc(5.25 * var(--space-unit-fixed));
  --space-xxxl-fixed: calc(8.5 * var(--space-unit)); }
/*--------------------------------------------------------------
# Vertical margin utility classes
    > Top
    > Bottom
    > Breakpoint adjustment (viewport sizes above 900px)
--------------------------------------------------------------*/
/*--------------- 
Top 
----------------*/
.margin-top,
.margin-top--md {
  margin-top: var(--space-md); }
.margin-top--xxxs {
  margin-top: var(--space-xxxs); }
.margin-top--xxs {
  margin-top: var(--space-xxs); }
.margin-top--xs {
  margin-top: var(--space-xs); }
.margin-top--sm {
  margin-top: var(--space-sm); }
.margin-top--lg {
  margin-top: var(--space-lg); }
.margin-top--xl {
  margin-top: var(--space-xl); }
.margin-top--xxl {
  margin-top: var(--space-xxl); }
.margin-top--xxxl {
  margin-top: var(--space-xxxl); }
/*--------------- 
Bottom 
----------------*/
.margin-bottom,
.margin-bottom--md {
  margin-bottom: var(--space-md); }
.margin-bottom--xxxs {
  margin-bottom: var(--space-xxxs); }
.margin-bottom--xxs {
  margin-bottom: var(--space-xxs); }
.margin-bottom--xs {
  margin-bottom: var(--space-xs); }
.margin-bottom--sm {
  margin-bottom: var(--space-sm); }
.margin-bottom--lg {
  margin-bottom: var(--space-lg); }
.margin-bottom--xl {
  margin-bottom: var(--space-xl); }
.margin-bottom--xxl {
  margin-bottom: var(--space-xxl); }
.margin-bottom--xxxl {
  margin-bottom: var(--space-xxxl); }
/*--------------- 
Breakpoint 
----------------*/
@media only screen and (min-width: 56.25em) {
  /* Top */
  .margin-top,
  .margin-top--md {
    margin-top: var(--space-lg); }
  .margin-top--xxxs {
    margin-top: var(--space-xxs); }
  .margin-top--xxs {
    margin-top: var(--space-xs); }
  .margin-top--xs {
    margin-top: var(--space-sm); }
  .margin-top--sm {
    margin-top: var(--space-md); }
  .margin-top--lg {
    margin-top: var(--space-xl); }
  .margin-top--xl {
    margin-top: var(--space-xxl); }
  .margin-top--xxl {
    margin-top: var(--space-xxxl); }
  /* Bottom */
  .margin-bottom,
  .margin-bottom--md {
    margin-bottom: var(--space-lg); }
  .margin-bottom--xxxs {
    margin-bottom: var(--space-xxs); }
  .margin-bottom--xxs {
    margin-bottom: var(--space-xs); }
  .margin-bottom--xs {
    margin-bottom: var(--space-sm); }
  .margin-bottom--sm {
    margin-bottom: var(--space-md); }
  .margin-bottom--lg {
    margin-bottom: var(--space-xl); }
  .margin-bottom--xl {
    margin-bottom: var(--space-xxl); }
  .margin-bottom--xxl {
    margin-bottom: var(--space-xxxl); } }
/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
/*--------------------------------------------------------------
>>> Typography:
----------------------------------------------------------------
# Type Scale
# Generic Type Styles
# Heading Styles
# Base body styles
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Type Scale
    > Variables for fonts
    > Variable for base font-size
    > Variable for scaling ratio
    > Type scale based on font-size and scaling ratio
    > Variables for line-heights
    > Breakpoints to adjust typesetting
--------------------------------------------------------------*/
/* 1: follow process in link below */
/* 2: sure to add font-display:swap in example shown below */
/* 3: add a preload link to header like so: */
/* 4. Add and adjust mixins below*/
@font-face {
  font-family: 'roboto-flex';
  src: url("fonts/RobotoFlex-Regular.woff2") format("woff2"), url("fonts/RobotoFlex-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap; }
:root {
  --font-primary: roboto-flex, sans-serif;
  --font-secondary: roboto-flex, sans-serif;
  --font-tertiary: roboto-flex, sans-serif;
  --text-base-size: 1.125rem;
  --text-scale-ratio: 1.25;
  --text-xs: calc((var(--text-base-size) / var(--text-scale-ratio)) / var(--text-scale-ratio));
  --text-sm: calc(var(--text-xs) * var(--text-scale-ratio));
  --text-md: calc(var(--text-sm) * var(--text-scale-ratio) * var(--text-scale-ratio));
  --text-lg: calc(var(--text-md) * var(--text-scale-ratio));
  --text-xl: calc(var(--text-lg) * var(--text-scale-ratio));
  --text-xxl: calc(var(--text-xl) * var(--text-scale-ratio));
  --text-xxxl: calc(var(--text-xxl) * var(--text-scale-ratio));
  --text-4xl: calc(var(--text-xxxl) * var(--text-scale-ratio));
  --heading-line-height-lg: calc(2px + 2ex + 2px);
  --heading-line-height-sm: calc(0.5px + 2ex + 0.5px);
  --base-line-height: 1.5; }
/*--------------------------------------------------------------
Increase font-size @ specified breakpoints
--------------------------------------------------------------*/
@media only screen and (min-width: 56.25em) {
  :root {
    --text-base-size: 1.1875rem;
    --text-scale-ratio: 1.25; } }
@media only screen and (min-width: 75em) {
  :root {
    --text-scale-ratio: 1.333; } }
/*--------------------------------------------------------------
# Generic Type Styles
--------------------------------------------------------------*/
p,
li,
ol,
h1,
h2,
h3,
h4,
h5,
h6 {
  word-break: break-word;
  margin-top: 0; }
body {
  font-family: var(--font-primary);
  font-weight: 400;
  font-style: normal;
  font-size: var(--text-base-size);
  line-height: 1.5;
  color: var(--color-base);
  font-feature-settings: "lnum"; }
@media print {
    body,
    body * {
      color: black !important;
      font-family: "Garamond", serif !important;
      border: none !important;
      padding: 0 !important;
      border-radius: 0 !important;
      height: auto;
      max-width: 100%;
      text-align: left !important; }
    body li {
      padding-left: 1rem !important; } }
p {
  margin-bottom: var(--space-md);
  line-height: var(--heading-line-height-md); }
strong {
  font-weight: 600; }
/*--------------------------------------------------------------
# Heading Styles
    > h1-h6
    > Heading utility clases (.h1-.h6)
--------------------------------------------------------------*/
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  font-family: var(--font-secondary);
  font-weight: 700;
  font-style: normal;
  color: inherit;
  line-height: var(--heading-line-height-sm);
  margin-bottom: var(--space-xs); }
h1,
.h1 {
  font-size: var(--text-lg);
  text-transform: capitalize;
  margin-bottom: var(--space-xxs); }
h2,
.h2 {
  font-size: var(--text-md);
  margin-bottom: var(--space-xxs); }
h3,
.h3 {
  font-size: var(--text-md);
  line-height: var(--heading-line-height-lg); }
h4,
.h4 {
  font-size: var(--text-md);
  line-height: var(--heading-line-height-lg);
  font-size: var(--text-md); }
h5,
.h5,
h6,
.h6 {
  font-size: var(--text-base-size);
  text-transform: uppercase;
  font-weight: 500; }
/*--------------------------------------------------------------
Heading spacing
    > Spacing between basic typographic elements
    > Includes heading utility classes
    > Padding used to avoid clashing margins
--------------------------------------------------------------*/
p + h2,
ul + h2,
ol + h2,
p + .h2,
ul + .h2,
ol + .h2,
p + h3,
ul + h3,
ol + h3,
p + .h3,
ul + .h3,
ol + .h3,
p + h4,
ul + h4,
ol + h4,
p + .h4,
ul + .h4,
ol + .h4,
p + h5,
ul + h5,
ol + h5,
p + .h5,
ul + .h5,
ol + .h5,
p + h6,
ul + h6,
ol + h6,
p + .h6,
ul + .h6,
ol + .h6 {
  padding-top: var(--space-sm); }
/*--------------------------------------------------------------
Print spacing for headings
--------------------------------------------------------------*/
@media print {
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    margin: 0 0 0.5rem; } }
/*--------------------------------------------------------------
# Lists
--------------------------------------------------------------*/
/*--------------------------------------------------------------
>>> Lists:
----------------------------------------------------------------
# Base
# Ul
# Ol
# Lists - Dividers
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/
ul,
ol {
  margin: 0 0 var(--space-md) var(--space-xs);
  padding: 0;
  list-style: none; }
@media only screen and (min-width: 47.9375em) {
    ul,
    ol {
      margin-left: var(--space-lg);
      margin-right: var(--space-lg); } }
li:not(.menu_item) {
  margin-bottom: var(--space-xxs);
  padding-left: var(--space-md); }
/*--------------------------------------------------------------
# Ol
--------------------------------------------------------------*/
ol li {
  counter-increment: step-counter; }
ol li ol {
    counter-reset: step-counter; }
ol li ol li:before {
      content: counter(step-counter, lower-alpha) "."; }
ol li ol li ol li:before {
      content: counter(step-counter, lower-roman) "."; }
ol li:before {
    content: counter(step-counter) ".";
    position: absolute;
    color: var(--color-primary);
    top: 0;
    left: 0;
    font-size: 1em;
    font-weight: 700; }
/*--------------------------------------------------------------
# Lists - Dividers
--------------------------------------------------------------*/
.list__item--dividers {
  border-bottom: var(--brdr-xxs) solid var(--color-base-darker);
  padding: var(--space-xxs) 0;
  margin-bottom: 0; }
.list__item--dividers::before {
    content: none; }
/*--------------------------------------------------------------
# Links
--------------------------------------------------------------*/
/*--------------------------------------------------------------
>>> Links:
----------------------------------------------------------------
# Inline
# Link w/arrow
----------------------------------------------*/
/*--------------------------------------------------------------
# Link - Inline styling
--------------------------------------------------------------*/
a {
  color: var(--color-base-darkest);
  text-decoration: underline;
  -webkit-text-decoration-color: var(--color-primary);
          text-decoration-color: var(--color-primary);
  text-decoration-thickness: 2px;
  text-underline-offset: 0.0625rem;
  background-color: transparent;
  transition: color var(--timing) var(--easing), background-color var(--timing) var(--easing); }
a:hover, a:active, a:focus {
    color: var(--color-primary); }
@media print {
    a::after {
      content: " (" attr(href) ") "; } }
/*--------------------------------------------------------------
# Link w/arrow
--------------------------------------------------------------*/
.arrow {
  position: relative;
  text-decoration: none;
  font-size: var(--text-md);
  text-transform: uppercase;
  font-family: var(--font-tertiary);
  font-weight: 400;
  font-style: normal; }
.arrow svg {
    max-height: 15px;
    position: absolute;
    right: -25px;
    top: 0; }
/*--------------------------------------------------------------
# Images
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Thumbnail image: size should be 400px x 266px for hi-res displays
--------------------------------------------------------------*/
.thmbnl {
  width: 12.5rem;
  height: 8.3125rem; }
/*--------------------------------------------------------------
# Images w/graphical elements:

1. Img w/bkg pattern: size should be 560px x 536px for hi-res displays
2. Img w/graphic overlay: size should be 730px x 520px for hi-res displays
--------------------------------------------------------------*/
.figure {
  position: relative;
  margin: 0; }
.figure__img {
    vertical-align: middle;
    width: 100%;
    height: auto; }
.figure--pttrn-bkg .figure__img {
    width: calc(100% - 2.125rem);
    height: auto; }
.figure--pttrn-bkg::after {
    content: "";
    position: absolute;
    background-image: url("images/dot-grid.svg");
    background-repeat: no-repeat;
    background-position: 100% 100%;
    z-index: -5;
    left: 1.0625rem;
    top: 1.0625rem;
    bottom: -1.0625rem;
    right: 0; }
.figure--graphic-ovrly {
    position: relative;
    margin: 0; }
.figure--graphic-ovrly .figure__graphic {
      position: absolute;
      bottom: 0;
      left: 0;
      width: 37.7%;
      height: 21.5%; }
@media print {
  img {
    max-width: 16em;
    height: auto; } }
/*--------------------------------------------------------------
# Labels
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Labels for inputs
--------------------------------------------------------------*/
.form__label {
  display: block;
  cursor: text;
  margin-bottom: var(--space-xxxs); }
/*--------------------------------------------------------------
# Labels for:
1. Checkboxes
2. Radio inputs
3. Required inputs
--------------------------------------------------------------*/
.label--checkbox {
  position: relative;
  padding-left: 2.5rem;
  cursor: pointer;
  color: var(--color-base-darker);
  transition: color 0.3s ease-in-out; }
.label--checkbox::before {
    border: var(--brdr-xxs) solid var(--color-base-dark);
    content: "";
    height: 1.625rem;
    left: 0;
    position: absolute;
    top: 0;
    width: 1.625rem; }
.label--radio {
  margin-left: 2.5rem;
  cursor: pointer;
  color: var(--color-base-darker); }
.label--radio::before {
    content: "";
    position: absolute;
    border: var(--brdr-xxs) solid var(--color-base-dark);
    width: 1.625rem;
    height: 1.625rem;
    top: 0;
    left: 0;
    border-radius: 100%; }
.form__element--required .form__label:after {
  content: "*";
  color: var(--color-secondary);
  margin-left: 4px; }
/*--------------------------------------------------------------
# Inputs
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# General input styles
--------------------------------------------------------------*/
.form__element {
  position: relative; }
.form__element--disabled {
    opacity: 0.5;
    cursor: not-allowed; }
.form__element--disabled * {
      pointer-events: none; }
.form__input {
  border: var(--brdr-xxs) solid var(--color-base-dark);
  padding: var(--space-xs) var(--space-sm) var(--space-xs) var(--space-sm);
  color: var(--color-base-dark);
  background-color: white;
  line-height: 1.5;
  transition: background-color var(--timing) var(--easing);
  width: 100%; }
.form__input:active, .form__input:focus {
    color: var(--color-base-darker);
    background-color: var(--color-base-lightest); }
textarea {
  line-height: 1.5;
  width: 100%; }
/*--------------------------------------------------------------
# Input - Errors
--------------------------------------------------------------*/
.error .form__label {
  color: var(--color-primary); }
.error .form__input {
  border-color: var(--color-primary);
  background-color: white;
  transition: background-color var(--timing) var(--easing); }
.error .form__input:active, .error .form__input:focus {
    color: var(--color-base-darker);
    background-color: var(--color-base-lightest); }
.error .form__mssg {
  color: var(--color-primary);
  background-image: url("images/ico-error.svg");
  background-repeat: no-repeat;
  background-position: left center;
  padding-left: 2rem;
  margin-top: var(--space-xxxs); }
.gform_fields {
  margin-left: 0;
  margin-right: 0; }
.gform_fields li {
    list-style: none !important;
    padding-left: 0; }
.gform_fields li:before {
      display: none;
      content: none; }
.input--full-width input,
.input--full-width textarea {
  width: 100%; }
/*--------------------------------------------------------------
# Stats
--------------------------------------------------------------*/
.stat {
  display: flex;
  justify-content: center;
  flex-grow: 1;
  text-align: center;
  color: var(--color-base-darker);
  line-height: 1; }
.stat__info {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0; }
.stat__ico {
    margin-right: 0.5rem; }
.stat__ico .ico__path {
      stroke: var(--color-primary-darkest); }
.stat__num {
    font-family: var(--font-secondary);
    font-weight: 500;
    font-style: normal;
    font-size: 1.875rem;
    line-height: 1.2;
    color: var(--color-primary); }
.stat__label {
    flex-basis: 100%;
    margin-top: 0.125rem;
    text-transform: capitalize; }
.stat--ico-txt {
    text-align: left; }
.stat--ico-txt .stat__info {
      align-items: flex-start;
      flex-wrap: nowrap;
      font-size: 1rem;
      line-height: 1.5; }
@media only screen and (min-width: 47.9375em) {
        .stat--ico-txt .stat__info {
          font-size: 1.125rem;
          line-height: 1.55556; } }
.stat--ico-txt .stat__ico {
      margin-right: 0.875rem; }
/*--------------------------------------------------------------
# Logo
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Logo
--------------------------------------------------------------*/
.header__logo-outer {
  max-width: 230px;
  display: flex;
  align-items: center;
  margin-right: var(--space-sm);
  transition: .8s; }
.header__logo-outer .custom-logo-link {
    display: flex; }
.header__logo-outer .custom-logo-link .custom-logo {
      width: 100%;
      max-height: 80px;
      height: auto;
      padding: var(--space-xs) var(--space-sm); }
/*--------------------------------------------------------------
# Card
--------------------------------------------------------------*/
.outer {
  text-decoration: none; }
.outer:hover .img:after {
    height: 3%; }
.outer:hover p {
    color: var(--color-base-darkest); }
.outer:hover .cta {
    color: var(--color-primary) !important;
    transition: all .3s ease; }
.outer:hover .cta svg {
      margin-left: 5px;
      transition: all .3s ease; }
.outer:hover .cta svg path {
        fill: var(--color-primary) !important; }
.outer .img {
    position: relative;
    background-color: var(--color-base-darkest);
    background-position: 50%;
    background-size: cover;
    background-repeat: no-repeat;
    padding-bottom: 58%;
    transition: all .3s ease;
    margin-bottom: var(--space-xs); }
.outer .img:after {
      content: '';
      position: absolute;
      height: 0%;
      width: 100%;
      bottom: 0;
      background-color: var(--color-primary);
      transition: all .3s ease; }
.outer p {
    color: var(--color-base-darkest); }
.outer .content h3 {
    margin-top: var(--space-xs); }
.outer .content .cat-label {
    border: 1px solid var(--color-primary);
    margin: .5rem 0;
    margin-right: var(--space-xxs);
    display: inline-block;
    padding: 0.45rem 0.75rem;
    color: var(--color-primary);
    font-family: var(--font-secondary); }
.outer .content .cta, .outer .content .auth {
    color: var(--color-base);
    font-size: var(--text-sm); }
.outer .content .cta {
    display: flex;
    font-family: var(--font-secondary);
    text-transform: uppercase;
    margin: 1rem 0; }
.outer .content .cta svg {
      transition: all .3s ease; }
.outer .content .auth {
    text-decoration: underline; }
/*--------------------------------------------------------------
# Testimonials
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Testimonial - Molecule, base styling
--------------------------------------------------------------*/
.testimonial__figure {
  margin: 0;
  text-align: center; }
.testimonial__quote {
  font-family: var(--font-secondary);
  font-weight: 400;
  font-style: normal;
  font-size: 1.75rem;
  line-height: 1.57143;
  color: var(--color-primary);
  margin: 1.25rem 0; }
@media only screen and (min-width: 47.9375em) {
    .testimonial__quote {
      font-size: 2.25rem;
      line-height: 1.44444;
      margin: 1.75rem 0; } }
.testimonial__txt {
  margin-bottom: 0; }
.testimonial__attr {
  color: var(--color-base-darker); }
/*--------------------------------------------------------------
# Testimonial--block - Organism
--------------------------------------------------------------*/
.testimonial--block {
  background-color: var(--color-accent-primary);
  padding: 0 0.75rem; }
.testimonial--block .testimonial__wrapper {
    padding: 0 0.75rem;
    max-width: 61.625rem;
    margin: 0 auto; }
.testimonial--block .testimonial__figure {
    padding: 2.75rem 0; }
@media only screen and (min-width: 47.9375em) {
      .testimonial--block .testimonial__figure {
        padding: 4.25rem 0; } }
.testimonial--block .testimonial__quote {
    position: relative; }
.testimonial--block .testimonial__quote::after, .testimonial--block .testimonial__quote::before {
      color: var(--color-accent-primary);
      font-size: 8.75rem;
      line-height: 0;
      position: absolute;
      display: block; }
@media only screen and (min-width: 47.9375em) {
        .testimonial--block .testimonial__quote::after, .testimonial--block .testimonial__quote::before {
          font-size: 11.25rem;
          line-height: 0; } }
.testimonial--block .testimonial__quote::before {
      content: open-quote;
      top: 3.25rem;
      left: -1rem;
      z-index: 0; }
.testimonial--block .testimonial__quote::after {
      content: close-quote;
      bottom: -1.25rem;
      z-index: 0;
      right: -1rem; }
.testimonial--block .testimonial__txt {
    position: relative;
    z-index: 50; }
.testimonial--block .testimonial__controls {
    display: flex;
    justify-content: center;
    padding: 1.25rem 0;
    border-top: var(--brdr-xxs) solid var(--color-base-darker); }
@media only screen and (min-width: 47.9375em) {
      .testimonial--block .testimonial__controls {
        padding: 1.75rem 0; } }
/*

...                            
;::::;                           
;::::; :;                          
;:::::'   :;                         
;:::::;     ;.                        
,:::::'       ;           OOO\         
::::::;       ;          OOOOO\        
;:::::;       ;         OOOOOOOO       
,;::::::;     ;'         / OOOOOOO      
;:::::::::`. ,,,;.        /  / DOOOOOO    
.';:::::::::::::::::;,     /  /     DOOOO   
,::::::;::::::;;;;::::;,   /  /        DOOO  
;`::::::`'::::::;;;::::: ,#/  /          DOOO 
:`:::::::`;::::::;;::: ;::#  /            DOOO
::`:::::::`;:::::::: ;::::# /              DOO
`:`:::::::`;:::::: ;::::::#/               DOO
:::`:::::::`;; ;:::::::::##                OO
::::`:::::::`;::::::::;:::#                OO
`:::::`::::::::::::;'`:;::#                O 
`:::::`::::::::;' /  / `:#                  
::::::`:::::;'  /  /   `#

BEWARE, THOSE WHO WOULD BREAK THE SACRED ORDER OF COMPONENTS - zac */
/*--------------------------------------------------------------
# @import for every .scss in /compontents
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Avatar image: size should be 360px x 360px for hi-res displays
--------------------------------------------------------------*/
.avatar {
  display: inline-block;
  width: 6.75rem;
  height: 6.75rem;
  overflow: hidden;
  border-radius: 100%; }
@media only screen and (min-width: 47.9375em) {
    .avatar {
      width: 8.75rem;
      height: 8.75rem; } }
.avatar img {
    width: 100%;
    top: 50%;
    left: 50%;
    position: relative;
    transform: translate(-50%, -50%); }
.avatar.wide img {
    width: auto;
    height: 100%; }
.avatar.tall img {
    width: 100%;
    height: auto; }
.btn--close {
  background-color: transparent;
  transition: none !important;
  font-size: var(--text-md) !important; }
.btn--close:hover, .btn--close:active, .btn--close:focus {
    background-color: var(--color-primary-darker); }
.btn--close:active, .btn--close:focus {
    outline: var(--brdr-sm) solid var(--color-primary-light); }
.btn--close .btn__ico {
    display: block;
    margin-bottom: 0 !important; }
.btn--close .btn__ico path {
      stroke: white;
      stroke-linecap: round;
      stroke-linejoin: round;
      stroke-width: 0.09375rem; }
/*--------------------------------------------------------------
>>> BUTTONS - TABLE OF CONTENTS:
----------------------------------------------------------------
# Button, primary
# Button, secondary 
# Button, outline
# Utility buttons
  > Button, toggle
  > Button, modal
  > Button, leading icon
  > Button, close
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Primary button
--------------------------------------------------------------*/
.btn, .wp-block-button__link {
  -webkit-appearance: none;
          appearance: none;
  display: inline-block;
  color: white;
  height: 100%;
  background: var(--color-primary);
  background-size: 200% 100%;
  background-position: right bottom;
  background-repeat: no-repeat;
  text-transform: uppercase;
  font-family: var(--font-tertiary);
  font-weight: 400;
  font-style: normal;
  font-size: var(--text-sm);
  text-align: center;
  text-decoration: none;
  letter-spacing: 0.025rem;
  padding: var(--space-sm) var(--space-md) var(--space-sm) var(--space-md);
  border: 1px solid transparent;
  border-radius: 3px;
  cursor: pointer;
  transition: all 0.3s var(--easing);
  margin-bottom: var(--space-md); }
.btn__svg, .wp-block-button__link__svg {
    height: 12px;
    width: 34px;
    margin-left: 12px; }
.btn:visited, .wp-block-button__link:visited {
    color: white; }
.btn:hover, .wp-block-button__link:hover {
    color: var(--color-base-lightest);
    background-color: var(--color-primary-dark);
    border: 1px solid var(--color-primary); }
.btn:active, .btn:focus, .wp-block-button__link:active, .wp-block-button__link:focus {
    color: var(--color-base-lightest);
    background-position: left bottom;
    color: white; }
/*--------------------------------------------------------------
# Secondary button
--------------------------------------------------------------*/
.btn--secondary {
  background: linear-gradient(to right, white 50%, var(--color-primary) 50%);
  background-size: 200% 100%;
  background-position: right bottom;
  background-repeat: no-repeat; }
.btn--secondary:hover, .btn--secondary:active, .btn--secondary:focus {
    color: var(--color-primary); }
@media print {
    .btn--secondary {
      display: none; } }
.btn--hex {
  -webkit-clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
          clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%); }
/*--------------------------------------------------------------
# Tertiarty button
--------------------------------------------------------------*/
.btn--tertiary {
  background: var(--color-secondary);
  border: var(--brdr-xxs) solid var(--color-secondary); }
.btn--tertiary:hover, .btn--tertiary:active, .btn--tertiary:focus {
    border: var(--brdr-xxs) solid var(--color-base-lightest);
    color: var(--color-base-lightest); }
/*--------------------------------------------------------------
# Button outline
--------------------------------------------------------------*/
.btn--outline {
  color: var(--color-primary);
  border: var(--brdr-xxs) solid var(--color-primary);
  background: linear-gradient(to right, var(--color-primary) 50%, transparent 50%);
  background-size: 200% 100%;
  background-position: right bottom;
  background-repeat: no-repeat; }
.btn--outline:hover, .btn--outline:active, .btn--outline:focus {
    color: white; }
@media print {
    .btn--outline {
      display: none; } }
/*--------------------------------------------------------------
# Utility buttons
--------------------------------------------------------------*/
.btn--toggle {
  background-color: transparent;
  color: var(--color-primary-darkest);
  border: solid var(--brdr-xxs) var(--color-primary); }
.btn--toggle .ico__path {
    stroke: var(--color-primary); }
.btn--toggle:hover, .btn--toggle:active, .btn--toggle:focus {
    color: white;
    background-color: var(--color-primary-darker);
    border-color: var(--color-primary-darker); }
.btn--toggle:hover .ico__path, .btn--toggle:active .ico__path, .btn--toggle:focus .ico__path {
      stroke: white; }
.btn--toggle:active, .btn--toggle:focus {
    outline: 0.1875rem solid var(--color-primary-light); }
.btn--toggle:visited {
    color: var(--color-primary-darkest); }
.btn--toggle:visited:hover, .btn--toggle:visited:active, .btn--toggle:visited:focus {
      color: white; }
.btn--toggle.is-active {
    background-color: var(--color-primary);
    color: white; }
.btn--toggle.is-active .ico__path {
      stroke: white; }
.btn--toggle.is-active:hover, .btn--toggle.is-active:active, .btn--toggle.is-active:focus {
      background-color: var(--color-primary-darker);
      border-color: var(--color-primary-darker); }
.btn--toggle.is-active:active, .btn--toggle.is-active:focus {
      outline: 0.1875rem solid var(--color-primary-light); }
.btn--modal {
  display: flex;
  align-items: center;
  background-color: transparent;
  color: var(--color-secondary);
  padding: 0.25rem;
  transition: color var(--timing) var(--easing); }
.btn--modal .btn__txt {
    margin-right: 0.5rem;
    color: var(--color-secondary);
    transition: color var(--timing) var(--easing); }
.btn--modal .btn__txt,
  .btn--modal .btn__ico {
    pointer-events: none; }
.btn--modal .ico__path {
    stroke: var(--color-secondary);
    transition: stroke var(--timing) var(--easing); }
.btn--modal:hover, .btn--modal:active, .btn--modal:focus {
    background-color: transparent;
    color: var(--color-primary-darkest); }
.btn--modal:hover .btn__txt, .btn--modal:active .btn__txt, .btn--modal:focus .btn__txt {
      color: var(--color-primary-darkest); }
.btn--modal:hover .ico__path, .btn--modal:active .ico__path, .btn--modal:focus .ico__path {
      stroke: var(--color-primary-darkest); }
.btn--leading-icon {
  display: inline-flex;
  align-items: center;
  padding: 1.1875rem 2rem 0.9375rem; }
.btn--leading-icon .btn__txt,
  .btn--leading-icon .btn__ico {
    pointer-events: none; }
.btn--leading-icon .btn__ico {
    margin-right: 0.375rem; }
@media print {
  .btn {
    display: none; } }
.filters-view {
  margin: 0;
  display: flex; }
.filters-view__item {
    padding-left: 0;
    margin: 0; }
.filters-view__item:before {
      display: none; }
.filters-view__btn {
    padding: 1rem 1.25rem; }
.filters-view__btn:hover .ico__path, .filters-view__btn.active .ico__path {
      stroke: white; }
.filters-view__btn.active {
      background-color: var(--color-primary); }
.filters-view__btn.active:hover {
        background-color: var(--color-primary-darker); }
@media print {
    .filters-view {
      display: none; } }
.btn__ico path {
  stroke: white;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 0.09375rem; }
[data-gridlist][data-gridlist="grid"] [data-view="list"],
[data-gridlist][data-gridlist="list"] [data-view="grid"] {
  display: none; }
[data-gridlist] .filters-view {
  display: none; }
@media only screen and (min-width: 47.9375em) {
    [data-gridlist] .filters-view {
      display: flex; } }
.btn--close {
  background-color: var(--color-primary);
  padding: 0.9375rem 1rem 0.75rem; }
.btn--close:hover, .btn--close:active, .btn--close:focus {
    background-color: var(--color-primary-darker); }
.btn--close:active, .btn--close:focus {
    outline: var(--brdr-sm) solid var(--color-primary-light); }
.btn--close .btn__ico {
    display: block;
    margin-bottom: 0.25rem; }
.btn--close .btn__ico path {
      stroke: white;
      stroke-linecap: round;
      stroke-linejoin: round;
      stroke-width: 0.09375rem; }
.acf-map h3 {
  color: var(--color-primary);
  font-size: 1rem; }
.acf-map p {
  color: var(--color-primary); }
/*--------------------------------------------------------------
# Icons in circles
--------------------------------------------------------------*/
.ico--circle {
  background-color: var(--color-secondary);
  border-radius: 100%;
  width: 5.625rem;
  height: 5.625rem;
  display: flex;
  justify-content: center;
  align-items: center; }
.ico--circle .ico__path {
    stroke: white; }
.ico__path {
  fill: none;
  stroke: var(--color-primary-darkest);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 0.09375rem; }
@media print {
  .ico,
  .ico svg {
    max-width: 2em; } }
/*--------------------------------------------------------------
# Close icon
--------------------------------------------------------------*/
.btn--close .ico__path {
  stroke: white; }
.form__element .element--checkbox {
  display: flex;
  align-items: center; }
.form__element.element--checkbox.form__element--disabled .label--checkbox:before {
  border-color: var(--color-base); }
.form__ico {
  position: absolute;
  height: 1.625rem;
  width: 1.625rem;
  left: 0;
  top: 0;
  padding: 0.25rem;
  border: 0;
  background-color: var(--color-primary);
  opacity: 0;
  transition: opacity 0.3s ease-in-out; }
.form__ico .ico__path {
    stroke: white; }
.input--checkbox {
  position: absolute;
  width: 1.625rem;
  height: 1.625rem;
  top: 0;
  left: 0;
  opacity: 0; }
.input--checkbox:focus + .label--checkbox::before {
    box-shadow: 0 0 0 0.125rem var(--color-accent-primary);
    outline: 0.125rem solid transparent;
    background-color: var(--color-base-lightest); }
.input--checkbox:checked + .label--checkbox {
    color: var(--color-primary-darkest); }
.input--checkbox:checked + .label--checkbox .form__ico {
      opacity: 1;
      overflow: hidden; }
.input--selectbox {
  -webkit-appearance: none;
  border-radius: 0;
  width: 100%;
  border: var(--brdr-xxs) solid var(--color-base-dark);
  background-color: transparent;
  background-image: url("images/ico-carat-down.svg");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  padding-left: 1.375rem;
  padding-right: 3.375rem;
  color: var(--color-base-dark);
  cursor: pointer; }
.input--selectbox:focus {
    color: var(--color-base-darker);
    background-color: var(--color-base-lightest); }
select::-ms-expand {
  display: none; }
.accordion__heading {
  border-top: solid var(--brdr-xxs) var(--color-base-darker);
  position: relative;
  margin-bottom: 0; }
.accordion__btn {
  text-transform: none;
  color: var(--color-primary-darkest);
  background-color: transparent;
  color: var(--color-primary-darkest);
  display: inline-flex;
  text-align: left; }
.accordion__btn:hover, .accordion__btn:active, .accordion__btn:focus {
    background-color: transparent;
    color: var(--color-primary-darkest); }
.accordion__btn::before, .accordion__btn::after {
    position: absolute;
    left: 0;
    top: 16%;
    content: "";
    border: var(--brdr-xs) solid var(--color-secondary);
    width: 2rem;
    height: 1.875rem;
    margin-right: 1.125rem;
    flex-shrink: 0;
    background-repeat: no-repeat;
    background-position: 50%;
    opacity: 0;
    background-image: url("images/ico-expand-orange.svg");
    background-color: white;
    transition: opacity var(--timing) var(--easing), background-color var(--timing) var(--easing), background-image var(--timing) var(--easing); }
@media only screen and (min-width: 47.9375em) {
      .accordion__btn::before, .accordion__btn::after {
        top: 22%;
        width: 2.5rem;
        height: 2.375rem;
        margin-right: 1.5rem; } }
@media print {
      .accordion__btn::before, .accordion__btn::after {
        display: none; } }
.accordion__btn[aria-expanded="true"]::before {
    opacity: 0; }
.accordion__btn[aria-expanded="false"]::after {
    opacity: 0; }
.accordion__btn:hover {
    background: transparent;
    color: var(--color-primary-darkest); }
.accordion__section {
  opacity: 1;
  max-height: 937.5rem;
  visibility: visible;
  margin: 0;
  padding: 0;
  height: 100%;
  transition: visibility 0s var(--easing), max-height 1s var(--easing), opacity 1s var(--easing), height 1s var(--easing);
  transition-delay: 0s; }
@media screen {
    .accordion__section[aria-hidden="true"] {
      max-height: 0;
      opacity: 0;
      visibility: hidden;
      margin: 0;
      padding: 0;
      height: 0%;
      transition-delay: 0.8s, 0s, 0s, 0s; } }
@media print {
    .accordion__section {
      height: auto; } }
.accordion__body {
  display: block;
  margin-left: 3.125rem;
  margin-bottom: 2.5rem;
  padding-top: 8px; }
@media only screen and (min-width: 47.9375em) {
    .accordion__body {
      margin-left: 4rem; } }
@media print {
    .accordion__body {
      margin-left: 0; } }
.accordion__list {
  margin: 0; }
@media only screen and (min-width: 47.9375em) {
    .accordion__list {
      column-count: 2; } }
.accordion__list .form__element {
    padding: 0.25rem 0;
    margin-bottom: 0.75rem; }
.accordion__list .form__element:last-child {
      margin-bottom: 0; }
.accordion__list .form__element::before {
      display: none; }
.hero.int-header .hero__container {
  background-color: var(--color-base-darkest); }
.hero__container {
  position: relative;
  padding: 3rem; }
@media only screen and (min-width: 47.9375em) {
    .hero__container {
      padding: 5rem 8.875rem; } }
.hero__txt {
  position: relative;
  z-index: 1;
  color: white;
  text-align: center;
  padding: 0 1rem; }
@media print {
    .hero__txt {
      color: black;
      padding: 0;
      text-align: left; } }
.hero__tagline {
  text-transform: uppercase;
  font-family: var(--font-secondary); }
@media only screen and (min-width: 63.9375em) {
    .hero__tagline {
      font-size: 2rem; } }
.hero__title {
  margin-bottom: 0;
  color: white;
  line-height: 3rem;
  font-size: var(--text-md);
  letter-spacing: 0.125rem;
  max-width: 88.75rem;
  margin: 0 auto; }
@media only screen and (min-width: 63.9375em) {
    .hero__title {
      line-height: 6rem;
      font-size: var(--text-xl);
      letter-spacing: inherit; } }
.hero__img {
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(images/temp/hero-img.jpg);
  background-size: cover;
  background-position: center;
  min-width: 100%;
  min-height: 100%;
  overflow: hidden; }
.hero__img::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #00000026; }
/*--------------------------------------------------------------
# Card--list
--------------------------------------------------------------*/
.card--with-data.card--list {
  max-width: none;
  display: flex;
  align-items: flex-start;
  margin-bottom: 1.75rem;
  border-bottom: var(--brdr-xxs) solid var(--charcoal-light);
  background-color: transparent;
  padding-bottom: 1.75rem; }
.card--with-data.card--list .card__main {
    flex-grow: 1;
    display: grid;
    grid-template-columns: 73% 24%;
    padding: 0 0 0 1.5rem; }
.card--with-data.card--list .card__body {
    grid-column: 1;
    grid-row: 2; }
.card--with-data.card--list .card__header {
    grid-column: span 2; }
.card--with-data.card--list .card__title {
    margin-bottom: 1.75rem; }
.card--with-data.card--list .card__img {
    width: 11.25rem;
    height: auto; }
.card--with-data.card--list .card__footer {
    grid-row: 2;
    grid-column: 2;
    align-self: center; }
.card--with-data.card--list .card__actions {
    text-align: left;
    line-height: 1.3;
    padding-left: 1.25rem; }
.card--with-data.card--list .tabs {
    display: flex; }
.card--with-data.card--list .tabs__body {
      height: 100%; }
.card--with-data.card--list .tabs__section {
      flex: 0 1 50%;
      margin-bottom: 0; }
.card--with-data.card--list .stat {
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: flex-start;
    padding-right: 1.25rem;
    flex: 1 1; }
.card--with-data.card--list .stat__ico {
      display: none; }
.card--with-data.card--list .stat--ico-txt {
      flex-wrap: wrap;
      justify-content: flex-start; }
.card--with-data.card--list .stat__heading {
      display: flex;
      text-transform: uppercase;
      text-align: left;
      color: var(--color-primary-darkest);
      margin-bottom: 0.25rem; }
.card--with-data.card--list .stat__info {
      justify-content: flex-start; }
.card--with-data.card--list .stat__label {
      display: none; }
.card--with-data.card--list .stat--datapoint {
      padding-top: 0;
      padding-bottom: 0; }
.card--with-data.card--list .stat:last-child {
      border-right: var(--brdr-xxs) solid var(--charcoal-light);
      padding-left: 1.25rem; }
/*--------------------------------------------------------------
# UI Cards
--------------------------------------------------------------*/
.card {
  background-color: var(--color-accent-primary-lightest);
  max-width: 100%;
  position: relative; }
.card__img {
    vertical-align: middle;
    width: 100%;
    height: auto; }
.card__graphic {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 37.7%;
    height: 21.5%; }
.card__main {
    padding: 2.25rem 1.5rem 2.5rem;
    position: relative;
    z-index: 10; }
.card__title {
    font-size: 1.875rem;
    line-height: 1.2;
    margin-bottom: 0.75rem; }
.card__copy {
    margin-bottom: 1.5rem; }
.card__controls .tabs__list {
    display: flex;
    justify-content: space-between;
    margin: 0; }
.card__controls .tabs__item {
    flex-basis: 48%;
    padding: 0;
    margin: 0; }
.card__controls .tabs__item::before {
      display: none; }
/*--------------------------------------------------------------
# Card - Story card
--------------------------------------------------------------*/
.card--alt.card--story {
  padding-top: 6.25rem;
  border: none;
  background: none; }
.card--alt.card--story:after {
    display: none;
    background: none; }
.card--alt.card--story .card__main {
    padding: 0 13.06306% 4.1875rem 15.76577%;
    border-left: var(--brdr-lg) solid var(--color-secondary);
    background: white; }
.card--alt.card--story .card__avatar {
    margin-top: -6.25rem;
    width: 11.25rem;
    height: 11.25rem; }
.card--alt.card--story .card__subtitle {
    display: block;
    margin-top: 3.125rem; }
.card--alt.card--story .card__title {
    margin-top: 0.3125rem;
    color: var(--color-primary-darkest); }
.card--alt.card--story .card__body {
    color: var(--color-primary-darkest); }
/*--------------------------------------------------------------
# Card--with-data - These cards contain tabs
--------------------------------------------------------------*/
.card--with-data .card__title {
  margin-bottom: 1.75rem; }
.card--with-data .card__panel {
  display: flex; }
.card--with-data .card__panel[aria-hidden="true"] {
    display: none; }
.card--with-data .card__actions {
  text-align: center; }
.card--with-data .card__actions .btn {
    width: 100%;
    max-width: 17.5rem; }
.card--with-data .tabs__list {
  padding-bottom: 2.5rem;
  margin-bottom: 1.5rem;
  border-bottom: var(--brdr-xxs) solid var(--charcoal-light);
  display: flex;
  justify-content: space-between; }
.card--with-data .tabs__item {
  flex-basis: 48%;
  flex-grow: 0; }
.card--with-data .tabs__section {
  margin-bottom: 1.75rem;
  margin-top: 0;
  padding: 0;
  background-color: transparent; }
.card--with-data .tabs__body {
  display: flex; }
.card--with-data .btn--toggle {
  width: 100%;
  padding: 1rem 1rem;
  text-align: center; }
.card--with-data .stat {
  border-right: var(--brdr-xxs) solid var(--charcoal-light); }
.card--with-data .stat__heading {
    display: none; }
.card--with-data .stat:last-child {
    border: none; }
.card--with-data .stat--datapoint {
    padding: 1rem 0; }
.card {
  /*--------------------------------------------------------------
	# Card - No img, diff bkg colors
	--------------------------------------------------------------*/
  /*--------------------------------------------------------------
	# Card - Overlapping img card. Two grids used:

	> One for the whole card (.card) 
	> One for the text content in the card (.card__main)
	--------------------------------------------------------------*/
  /*--------------------------------------------------------------
	# Card - Callout
	--------------------------------------------------------------*/
  /*--------------------------------------------------------------
	# Card - card--jumpoff
	--------------------------------------------------------------*/
  /*--------------------------------------------------------------
	# Card - CTA
	--------------------------------------------------------------*/
  /*--------------------------------------------------------------
	# Card - Resources
	--------------------------------------------------------------*/ }
.card--alt {
    color: white;
    border-left: var(--brdr-xl) solid var(--color-primary-darkest);
    /*--------------------------------------------------------------
	# Card - Button styles
	--------------------------------------------------------------*/ }
.card--alt::after {
      content: "";
      position: absolute;
      width: 12.5rem;
      height: 6.5rem;
      background-image: url("images/pttrn-line-arrows.svg");
      background-repeat: no-repeat;
      bottom: 0;
      right: 0;
      opacity: 0.4; }
.card--alt .link__content {
      color: white; }
.card--alt .link__content:after {
        border-left-color: white; }
.card--alt .btn {
      background-color: var(--color-primary-darkest); }
.card--alt .btn:hover, .card--alt .btn:active, .card--alt .btn:focus {
        background-color: var(--color-primary-darker); }
.card--orange {
    background-color: var(--color-secondary); }
.card--teal {
    background-color: var(--color-primary); }
.card--teal-darker {
    background-color: var(--color-primary-darker); }
.card--img-overlap {
    border-top: var(--brdr-xl) solid var(--color-primary);
    margin-top: 3.5rem; }
@media only screen and (min-width: 47.9375em) {
      .card--img-overlap {
        display: grid;
        grid-template-columns: repeat(16, 1fr);
        max-width: 63.375rem;
        background-color: transparent;
        border-top: none;
        margin-top: 0; } }
.card--img-overlap::after {
      content: "";
      position: absolute;
      width: 16.0625rem;
      height: 9.9375rem;
      background-image: url(images/dot-grid.svg);
      background-repeat: no-repeat;
      bottom: 0;
      right: 0;
      opacity: 0.4; }
@media only screen and (min-width: 47.9375em) {
      .card--img-overlap .card__aside {
        grid-column: 1/8;
        grid-row: 1;
        z-index: 1;
        max-width: 27.375rem;
        align-self: center;
        position: relative; } }
.card--img-overlap .card__figure {
      width: 83%;
      margin: 0 auto;
      margin-top: -4.25rem; }
@media only screen and (min-width: 47.9375em) {
        .card--img-overlap .card__figure {
          margin: 0;
          width: 100%; } }
@media only screen and (min-width: 47.9375em) {
      .card--img-overlap .card__main {
        position: relative;
        z-index: 0;
        grid-column: 2/17;
        grid-row: 1;
        border-left: var(--brdr-xl) solid var(--color-primary);
        background-color: var(--color-accent-primary-lightest);
        display: grid;
        grid-template-columns: repeat(16, 1fr);
        padding: 3.75rem 2.25rem 3.75rem 2rem; } }
@media only screen and (min-width: 47.9375em) {
      .card--img-overlap .card__wrap {
        grid-column: 8/17; } }
.card--callout {
    max-width: 63.375rem;
    background-color: var(--color-primary-darker);
    border-left-color: var(--color-primary); }
.card--callout .card__main {
      padding: 2.25rem 1.5rem 2.5rem; }
@media only screen and (min-width: 47.9375em) {
        .card--callout .card__main {
          padding: 3.75rem 4.125rem; } }
.card--callout .card__title {
      font-size: 1.875rem;
      line-height: 1.2;
      margin-bottom: 1rem; }
@media only screen and (min-width: 47.9375em) {
        .card--callout .card__title {
          margin-bottom: 1.5rem;
          font-size: 2.5rem;
          line-height: 1.05; } }
.card--callout .btn {
      background-color: var(--color-secondary); }
.card--callout .btn:hover, .card--callout .btn:active, .card--callout .btn:focus {
        background-color: var(--color-secondary-dark);
        color: white; }
.card--callout::after {
      width: 13.25rem;
      height: 7.25rem; }
.card--jumpoff::after {
    background-image: url(images/dot-grid-white.svg);
    width: 8.5rem;
    height: 7.4375rem; }
.card--jumpoff.card--teal-darker {
    border-left-color: var(--color-primary); }
.card--jumpoff.card--teal-darker .btn {
      background-color: var(--color-secondary); }
.card--jumpoff.card--teal-darker .btn:hover, .card--jumpoff.card--teal-darker .btn:active, .card--jumpoff.card--teal-darker .btn:focus {
        background-color: var(--color-secondary-dark);
        color: white; }
.card--jumpoff .ico__path {
    stroke: white; }
.card--jumpoff .card__main {
    padding: 3rem 1.5rem 3.25rem; }
.card--jumpoff .card__title {
    margin: 8px 0 28px; }
.card--cta {
    border-top: none;
    padding-top: 0.75rem; }
@media only screen and (min-width: 47.9375em) {
      .card--cta {
        padding-top: 0; } }
@media only screen and (min-width: 47.9375em) {
      .card--cta {
        max-width: 76.25rem;
        padding: 0 1.5rem; } }
.card--cta .figure--pttrn-bkg::after {
      left: -2.125rem;
      content: none; }
@media only screen and (min-width: 47.9375em) {
        .card--cta .figure--pttrn-bkg::after {
          content: "";
          width: 20.3125rem;
          height: 12.625rem;
          transform: scaleX(-1); } }
@media only screen and (min-width: 63.9375em) {
        .card--cta .figure--pttrn-bkg::after {
          width: 26.625rem;
          height: 15.9375rem; } }
.card--cta:after {
      display: none; }
@media only screen and (min-width: 47.9375em) {
      .card--cta .card__aside {
        grid-column: 1/9;
        align-self: start;
        max-width: 37.25rem;
        margin-bottom: -5rem;
        padding-top: 5%; } }
@media only screen and (min-width: 47.9375em) {
      .card--cta .card__main {
        padding-top: 0;
        border-left: none; } }
@media only screen and (min-width: 47.9375em) {
      .card--cta .card__wrap {
        grid-column: 9/17; } }
@media only screen and (min-width: 47.9375em) {
      .card--cta .card__body {
        padding-top: 13.5%; } }
.card--cta .card__title {
      margin-bottom: 2rem; }
@media only screen and (min-width: 47.9375em) {
        .card--cta .card__title {
          font-size: 2.25rem;
          line-height: 1.22222;
          margin-bottom: 2.25rem; } }
.card--cta .card__links {
      display: flex;
      flex-direction: column; }
@media only screen and (min-width: 63.9375em) {
        .card--cta .card__links {
          flex-direction: row; } }
.card--cta .card__links .btn {
        flex: 1 1 auto;
        width: 100%;
        margin-bottom: 1.25rem; }
@media only screen and (min-width: 63.9375em) {
          .card--cta .card__links .btn {
            margin-bottom: 0; } }
.card--cta .card__links .btn:first-child {
          margin-right: 0; }
@media only screen and (min-width: 63.9375em) {
            .card--cta .card__links .btn:first-child {
              margin-right: 0.75rem; } }
.card--cta .card__links .btn:last-child {
          margin-bottom: 0; }
.card--cta .card__links .btn--secondary {
          flex: 1 1 67%; }
.card--resources {
    max-width: 63.375rem;
    background-color: var(--color-primary-darker);
    border-left-color: var(--color-primary);
    margin-top: 2.75rem; }
@media only screen and (min-width: 47.9375em) {
      .card--resources {
        margin-top: 0; } }
@media only screen and (min-width: 47.9375em) {
      .card--resources .card__main {
        padding: 4.25rem 4.25rem 3.75rem; } }
.card--resources .card__header {
      border-bottom: solid var(--brdr-xxs) rgba(255, 255, 255, 0.4); }
@media only screen and (min-width: 47.9375em) {
        .card--resources .card__header {
          display: flex; } }
.card--resources .card__heading {
      padding: 2.25rem 0 1.5rem; }
@media only screen and (min-width: 47.9375em) {
        .card--resources .card__heading {
          padding: 0 0 2.5rem;
          margin-left: 2rem; } }
.card--resources .card__subtitle {
      color: white;
      margin-bottom: 0.5rem;
      display: block; }
@media only screen and (min-width: 47.9375em) {
        .card--resources .card__subtitle {
          margin-bottom: 0.25rem; } }
.card--resources .card__title {
      font-size: 2.25rem;
      line-height: 1.22222;
      margin: 0 0 0.75rem 0; }
@media only screen and (min-width: 47.9375em) {
        .card--resources .card__title {
          font-size: 2.625rem;
          line-height: 1.2381;
          margin: 0; } }
.card--resources .card__body {
      margin-top: 2.25rem; }
@media only screen and (min-width: 47.9375em) {
        .card--resources .card__body {
          margin-top: 2.75rem; } }
.card--resources .card__list {
      margin: 1.25rem 0 0; }
@media only screen and (min-width: 47.9375em) {
        @supports (column-gap: 15%) {
          .card--resources .card__list {
            column-count: 2;
            column-rule: solid 1px rgba(255, 255, 255, 0.4);
            column-gap: 15%; } } }
.card--resources .card__item {
      padding: 0;
      margin-bottom: 1rem; }
.card--resources .card__item::before {
        display: none; }
.card--resources .card__item:last-child {
        margin-bottom: 0; }
.card--resources .card__link {
      color: white; }
.card--resources .card__link:visited, .card--resources .card__link:hover, .card--resources .card__link:active, .card--resources .card__link:focus {
        color: white; }
.card--resources .card__link:hover, .card--resources .card__link:active, .card--resources .card__link:focus {
        text-decoration: none; }
.card--resources .ico--circle {
      margin: -5rem auto 0; }
@media only screen and (min-width: 47.9375em) {
        .card--resources .ico--circle {
          margin: 0; } }
.card--resources-secondary {
      background-color: var(--color-primary);
      border-left-color: var(--color-primary-darkest); }
.card--resources-secondary .ico--circle {
        background-color: var(--color-primary-darker); }
/*
.form {
  &__element {
    .element--checkbox {
      display: flex;
      align-items: center;
    }

    &.element--checkbox.form__element--disabled {
      .label--checkbox:before {
        border-color: $charcoal-light;
      }
    }
  }

  // Checkbox icon styles
  &__ico {
    position: absolute;
    height: rem(26);
    width: rem(26);
    left: 0;
    top: 0;
    padding: rem(4);
    border: 0;
    background-color: $teal-darkest;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;

    .ico__path {
      stroke: $white;
    }
  }
}

.input {
  // Checkbox
  &--checkbox {
    position: absolute;
    width: rem(26);
    height: rem(26);
    top: 0;
    left: 0;
    opacity: 0;

    &:focus {
      + .label--checkbox::before {
        box-shadow: 0 0 0 rem(3) $teal-light;
        outline: rem(3) solid transparent; // For Windows high contrast mode.
      }
    }

    &:checked {
      + .label--checkbox {
        color: $teal-darkest;

        .form__ico {
          opacity: 1;
        }
      }
    }
	}
}
*/
.form__element .element--radio {
  display: flex;
  align-items: center; }
.form__element.element--radio.form__element--disabled .label--radio:before {
  border-color: var(--color-base); }
.input--radio {
  width: 1.625rem;
  height: 1.625rem;
  top: 0;
  left: 0;
  opacity: 0;
  position: absolute; }
.input--radio:focus + .label--radio::before {
    box-shadow: 0 0 0 0.125rem var(--color-accent-primary);
    outline: var(--brdr-sm) solid transparent;
    background-color: var(--color-base-lightest); }
.input--radio:checked + .label--radio {
    color: var(--color-base-darker); }
.input--radio:checked + .label--radio::before {
      border-color: var(--color-primary); }
.input--radio:checked + .label--radio::after {
      content: "";
      position: absolute;
      width: 1rem;
      height: 1rem;
      top: 0.3125rem;
      left: 0.3125rem;
      background-color: var(--color-primary);
      border-radius: 100%; }
.input--radio:checked + .label--radio .form__ico {
      opacity: 1; }
.tabs__link {
  color: var(--charcoal);
  border-bottom: var(--brdr-sm) solid var(--color-accent-primary-light);
  text-decoration: none;
  padding: 0.875rem 1.125rem 0.625rem;
  display: block;
  width: 100%;
  background-color: transparent;
  text-align: left; }
.tabs__link:focus {
    outline-offset: -0.125rem;
    outline: 0.125rem solid var(--color-primary-light); }
@media only screen and (min-width: 47.9375em) {
    .tabs__link {
      text-align: center; } }
@media print {
    .tabs__link[aria-selected="false"] {
      display: none; } }
.tabs__link.is-active {
    color: var(--color-primary-darker);
    background-color: var(--color-primary-lightest);
    border-bottom-color: var(--color-secondary); }
@media only screen and (min-width: 47.9375em) {
      .tabs__link.is-active {
        background-color: transparent; } }
.tabs__link.is-active:visited, .tabs__link.is-active:hover, .tabs__link.is-active:active {
      color: var(--color-primary-darker); }
.tabs__link:visited {
    color: var(--charcoal); }
.tabs__link:hover, .tabs__link:active {
    background-color: transparent;
    color: var(--charcoal); }
.tabs__list {
  display: block;
  margin: 0; }
@media only screen and (min-width: 47.9375em) {
    .tabs__list {
      display: flex; } }
@media print {
    .tabs__list {
      display: none; } }
.tabs__item {
  margin: 0;
  padding: 0;
  flex-grow: 1; }
.tabs__item::before {
    display: none; }
.tabs__section {
  padding: 1.125rem;
  background-color: var(--color-accent-primary-lightest);
  margin-top: 1.5rem; }
@media only screen and (min-width: 47.9375em) {
    .tabs__section {
      background-color: transparent; } }
.tabs__section[aria-hidden="true"] {
    display: none; }
@media print {
      .tabs__section[aria-hidden="true"] {
        display: block; } }
.product-grid {
  display: grid;
  grid-template-columns: 100%;
  grid-gap: 5%; }
@media only screen and (min-width: 56.25em) {
    .product-grid {
      grid-template-columns: 30% 30% 30%; } }
.socials {
  list-style: none;
  margin-bottom: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start; }
.socials__social {
    margin: 0;
    padding-left: 0;
    display: flex;
    justify-content: center;
    align-items: center; }
.socials__social:first-child {
      padding-left: 0; }
.socials__social:before {
      content: none; }
.socials__social a {
      display: flex;
      justify-content: center;
      align-items: center;
      transition: background-color var(--timing) var(--easing); }
.socials__social a:before {
        content: "";
        display: block;
        background-color: var(--color-secondary-lightest);
        background-size: cover; }
.socials__social a:hover {
        background-color: unset; }
.socials__social a:hover:before {
          background-color: var(--color-base-darkest); }
.socials__social--facebook a:before {
      width: 10px;
      height: 22px;
      display: inline-block;
      -webkit-mask: url(images/ico-fb-btn.svg) no-repeat 50% 50%;
      mask: url(images/ico-fb-btn.svg) no-repeat 50% 50%;
      -webkit-mask-size: cover;
      mask-size: cover;
      background-color: var(--color-primary);
      transition: background-color var(--timing) var(--easing); }
.socials__social--email a:before {
      width: 31px;
      height: 26px;
      display: inline-block;
      -webkit-mask: url(images/ico-email-btn.svg) no-repeat 50% 50%;
      mask: url(images/ico-email-btn.svg) no-repeat 50% 50%;
      -webkit-mask-size: cover;
      mask-size: cover;
      background-color: var(--color-primary);
      transition: background-color var(--timing) var(--easing); }
.socials__social--print a:before {
      width: 28px;
      height: 23px;
      display: inline-block;
      -webkit-mask: url(images/ico-print-btn.svg) no-repeat 50% 50%;
      mask: url(images/ico-print-btn.svg) no-repeat 50% 50%;
      -webkit-mask-size: cover;
      mask-size: cover;
      background-color: var(--color-primary);
      transition: background-color var(--timing) var(--easing); }
.socials__social--twitter a:before {
      width: 23px;
      height: 20px;
      display: inline-block;
      -webkit-mask: url(images/ico-twitter-btn.svg) no-repeat 50% 50%;
      mask: url(images/ico-twitter-btn.svg) no-repeat 50% 50%;
      -webkit-mask-size: cover;
      mask-size: cover;
      background-color: var(--color-primary);
      transition: background-color var(--timing) var(--easing); }
.socials__social--rss a:before {
      width: 22px;
      height: 21px;
      display: inline-block;
      -webkit-mask: url(images/ico-rss-btn.svg) no-repeat 50% 50%;
      mask: url(images/ico-rss-btn.svg) no-repeat 50% 50%;
      -webkit-mask-size: cover;
      mask-size: cover;
      background-color: var(--color-primary);
      transition: background-color var(--timing) var(--easing); }
.socials__social--youtube a:before {
      width: 36px;
      height: 35px;
      display: inline-block;
      -webkit-mask: url(images/ico-youtube-btn.svg) no-repeat 50% 50%;
      mask: url(images/ico-youtube-btn.svg) no-repeat 50% 50%;
      -webkit-mask-size: cover;
      mask-size: cover;
      background-color: var(--color-primary);
      transition: background-color var(--timing) var(--easing); }
.socials__social--linkedin a:before {
      width: 25px;
      height: 25px;
      display: inline-block;
      -webkit-mask: url(images/ico-li-btn.svg) no-repeat 50% 50%;
      mask: url(images/ico-li-btn.svg) no-repeat 50% 50%;
      -webkit-mask-size: cover;
      mask-size: cover;
      background-color: var(--color-primary);
      transition: background-color var(--timing) var(--easing); }
.socials__social--instagram a:before {
      width: 30px;
      height: 30px;
      display: inline-block;
      -webkit-mask: url(images/ico-ig-btn.svg) no-repeat 50% 50%;
      mask: url(images/ico-ig-btn.svg) no-repeat 50% 50%;
      -webkit-mask-size: cover;
      mask-size: cover;
      background-color: var(--color-primary);
      transition: background-color var(--timing) var(--easing); }
.staggered-content {
  display: flex;
  flex-direction: row;
  justify-content: space-between; }
@media only screen and (min-width: 56.25em) {
    .staggered-content.staggered-content--divider .staggered-content__text {
      padding-left: 1.25rem;
      border-left: var(--brdr-xxs) solid var(--charcoal-dark); } }
.swiper__cols {
  display: flex;
  flex-direction: column;
  height: 100%; }
@media only screen and (min-width: 63.9375em) {
    .swiper__cols {
      flex-direction: row; } }
.swiper__col1, .swiper__col2 {
  width: 100%; }
@media only screen and (min-width: 63.9375em) {
    .swiper__col1, .swiper__col2 {
      width: 50%; } }
.swiper__col1 {
  min-height: 50vh;
  background-size: cover;
  background-position: center; }
@media only screen and (min-width: 63.9375em) {
    .swiper__col1 {
      min-height: auto; } }
.swiper__col2 {
  padding: var(--space-md);
  background-color: #d7d7d7;
  height: 100%; }
.swiper__img {
  height: 400px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center; }
.swiper .swiper-slide {
  height: auto; }
.swiper-pagination-bullets {
  max-width: 1980px;
  left: unset !important;
  bottom: -10px; }
.swiper-pagination-bullets .swiper-pagination-bullet-active {
    background: var(--color-primary); }
.swiper-pagination-bullets .swiper-pagination-bullet {
    width: 20px;
    height: 20px; }
.tabsS__link {
  color: var(--charcoal);
  border-bottom: var(--brdr-sm) solid var(--color-accent-primary-light);
  text-decoration: none;
  padding: 0.875rem 1.125rem 0.625rem;
  display: block;
  width: 100%;
  background-color: var(--color-base-lightest);
  text-align: center;
  transition: .3s; }
@media print {
    .tabsS__link[aria-selected="false"] {
      display: none; } }
.tabsS__link.is-active {
    color: var(--color-base-lightest);
    background-color: var(--color-secondary);
    border-bottom-color: var(--color-secondary); }
.tabsS__link.is-active:visited, .tabsS__link.is-active:hover, .tabsS__link.is-active:active {
      color: var(--color-primary-darker); }
.tabsS__link:visited {
    color: var(--charcoal); }
.tabsS__link:hover, .tabsS__link:active {
    background-color: var(--color-secondary);
    color: var(--color-primary);
    transition: .3s; }
.tabsS__content, .tabsS__bg {
  width: 100%;
  z-index: 1; }
@media only screen and (min-width: 63.9375em) {
    .tabsS__content, .tabsS__bg {
      width: 50%;
      min-height: 50vh; } }
.tabsS__list {
  display: block;
  margin: 0; }
@media only screen and (min-width: 47.9375em) {
    .tabsS__list {
      display: flex; } }
@media print {
    .tabsS__list {
      display: none; } }
.tabsS__actions {
  position: absolute;
  bottom: 0;
  z-index: 9; }
.tabsS__btns {
  display: flex; }
.tabsS__item {
  min-width: 72px;
  padding-left: var(--space-sm); }
.tabsS__item::before {
    display: none; }
.tabsS__section {
  padding: 0;
  background-color: var(--color-accent-primary-lightest);
  display: flex;
  flex-direction: column; }
@media only screen and (min-width: 63.9375em) {
    .tabsS__section {
      flex-direction: row; } }
.tabsS__section[aria-hidden="true"] {
    display: none; }
@media print {
      .tabsS__section[aria-hidden="true"] {
        display: block; } }
.tabsS__bg {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  min-height: 45vh; }
.tabsS__content {
  padding: var(--space-md); }
@media only screen and (min-width: 63.9375em) {
    .tabsS__content {
      padding: var(--space-xl);
      padding-bottom: var(--space-xxl); } }
.tabs__link {
  color: var(--charcoal);
  border-bottom: var(--brdr-sm) solid var(--color-accent-primary-light);
  text-decoration: none;
  padding: 0.875rem 1.125rem 0.625rem;
  display: block;
  width: 100%;
  background-color: transparent;
  text-align: left; }
.tabs__link:focus {
    outline-offset: -0.125rem;
    outline: 0.125rem solid var(--color-primary-light); }
@media only screen and (min-width: 47.9375em) {
    .tabs__link {
      text-align: center; } }
@media print {
    .tabs__link[aria-selected="false"] {
      display: none; } }
.tabs__link.is-active {
    color: var(--color-primary-darker);
    background-color: var(--color-primary-lightest);
    border-bottom-color: var(--color-secondary); }
@media only screen and (min-width: 47.9375em) {
      .tabs__link.is-active {
        background-color: transparent; } }
.tabs__link.is-active:visited, .tabs__link.is-active:hover, .tabs__link.is-active:active {
      color: var(--color-primary-darker); }
.tabs__link:visited {
    color: var(--charcoal); }
.tabs__link:hover, .tabs__link:active {
    background-color: transparent;
    color: var(--charcoal); }
.tabs__list {
  display: block;
  margin: 0; }
@media only screen and (min-width: 47.9375em) {
    .tabs__list {
      display: flex; } }
@media print {
    .tabs__list {
      display: none; } }
.tabs__item {
  margin: 0;
  padding: 0;
  flex-grow: 1; }
.tabs__item::before {
    display: none; }
.tabs__section {
  padding: 1.125rem;
  background-color: var(--color-accent-primary-lightest);
  margin-top: 1.5rem; }
@media only screen and (min-width: 47.9375em) {
    .tabs__section {
      background-color: transparent; } }
.tabs__section[aria-hidden="true"] {
    display: none; }
@media print {
      .tabs__section[aria-hidden="true"] {
        display: block; } }
.video__modal {
  padding: 20px;
  overflow: hidden;
  pointer-events: none;
  background: #00000094;
  opacity: 0;
  transition: all .4s;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
  grid-template-columns: auto minmax(auto, 1000px) auto;
  grid-template-rows: 1fr 3fr 1fr;
  z-index: 9999; }
.video__show-modal {
  display: grid;
  pointer-events: auto;
  opacity: 1; }
.video__poster-link {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center; }
.video__poster {
  position: relative; }
.video__actions {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: .3s;
  cursor: pointer; }
.video__actions:hover {
    background-color: #171a19ab; }
.video__actions:hover .video__play path {
      fill: var(--color-primary); }
.video__play {
  max-width: 12%;
  position: absolute; }
.video__play:hover path {
    fill: #a11d1e;
    transition: .3s; }
.video__play path {
    fill: #d52527;
    transition: .3s; }
.video__element {
  width: 100%;
  height: 100%; }
.video__container {
  grid-row: 2;
  grid-column: 2; }
.video__show-overlay {
  transition: .3s;
  pointer-events: all; }
/* BEWARE!!!!!!!!!!! - zac */
/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
.header {
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 9009;
  background-color: var(--color-base-darkest);
  transition: .3s;
  max-width: 1980px; }
@media only screen and (min-width: 63.9375em) {
    .header {
      width: 100%;
      padding: var(--space-sm) var(--space-sm) var(--space-sm); } }
@media only screen and (min-width: 63.9375em) {
    .header__nv-wrap {
      display: flex;
      flex-direction: column-reverse;
      align-items: flex-end;
      width: 100%;
      max-width: 80%; } }
.header__mobile-btn {
    display: flex;
    flex: 1 1;
    align-items: center;
    font-family: var(--font-secondary);
    color: var(--color-base-lightest);
    font-size: var(--text-md); }
.header__mobile-btn button {
      background-color: transparent;
      padding-right: var(--space-sm); }
@media only screen and (min-width: 63.9375em) {
      .header__mobile-btn {
        display: none; } }
.header__search-form {
    display: flex;
    justify-content: center;
    padding: 1.4rem;
    background-color: var(--color-primary); }
@media only screen and (min-width: 63.9375em) {
      .header__search-form {
        position: absolute;
        top: 50px;
        right: -161px;
        opacity: 0;
        pointer-events: none;
        transition: .3s;
        min-width: 40vw; }
        .header__search-form.search-open {
          top: 50px !important;
          opacity: 1 !important;
          pointer-events: all !important;
          background-color: var(--color-primary-darker); } }
.header__search-form input[type="search"] {
      background: none;
      padding: 0.5rem;
      border: 1px solid var(--color-base-lightest);
      width: 100%;
      color: var(--color-base-lightest); }
.header__search-form input[type="search"]::placeholder {
        color: var(--color-base-lightest); }
@media only screen and (min-width: 63.9375em) {
        .header__search-form input[type="search"] {
          border-top: none; } }
.header__search-form button[type="submit"] {
      background: none;
      border: 1px solid var(--color-base-lightest); }
@media only screen and (min-width: 63.9375em) {
        .header__search-form button[type="submit"] {
          border-top: none;
          border-right: none; } }
.header__nav {
    position: fixed;
    width: 90vw;
    left: 50%;
    top: 57%;
    transform: translate(-50%, -50%);
    visibility: hidden;
    z-index: 101;
    order: 2;
    opacity: 0; }
@media only screen and (min-width: 63.9375em) {
      .header__nav {
        position: relative;
        height: auto !important;
        width: 100%;
        left: unset;
        top: unset;
        transform: unset;
        flex: 0 1 45%;
        align-self: center;
        visibility: visible;
        opacity: 1; } }
.header__nav .mobile-nav-header .menu-label {
      font-size: 68px;
      line-height: 55px;
      color: var(--color-base-white);
      font-family: var(--font-secondary);
      font-weight: bold; }
.header__nav .mobile-nav-header .mobile-nav-close {
      background: transparent;
      border: 1px solid var(--color-base-lightest);
      position: absolute;
      right: 0;
      height: unset; }
.header__nav .mobile-nav-header__bottom {
      height: 20px;
      background-color: white;
      margin-top: -10px; }
@media only screen and (min-width: 63.9375em) {
      .header__nav .mobile-nav-header {
        display: none; } }
.header__nav-mobile-scroll {
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    height: 60vh; }
@media only screen and (min-width: 63.9375em) {
      .header__nav-mobile-scroll {
        overflow-y: unset;
        height: auto; } }
.header__sc-wrap {
    font-size: var(--text-sm); }
.header__nav-secondary {
    position: fixed;
    bottom: 0;
    width: 100%;
    background-color: var(--color-base-dark);
    display: flex;
    margin: 0;
    order: 3; }
@media only screen and (min-width: 63.9375em) {
      .header__nav-secondary {
        position: static;
        width: auto;
        background-color: transparent; } }
.header__nav-secondary .menu-item {
      position: relative;
      margin-bottom: 0;
      padding: 0; }
.header__nav-secondary .menu-item a {
        display: flex;
        align-items: center;
        padding: 0 10px;
        text-decoration: none;
        font-size: var(--text-sm);
        font-family: var(--font-secondary);
        height: 100%; }
@media only screen and (min-width: 63.9375em) {
          .header__nav-secondary .menu-item a {
            color: var(--color-base-lightest); }
            .header__nav-secondary .menu-item a:hover {
              color: var(--color-accent-sky); } }
.header__nav-secondary .open-search-btn {
      display: none; }
.header__nav-secondary .open-search-btn svg {
        overflow: hidden; }
@media only screen and (min-width: 63.9375em) {
        .header__nav-secondary .open-search-btn {
          display: block;
          background-color: transparent;
          border-right: 1px solid var(--color-base-lightest);
          padding: 0.9375rem 1rem 0.75rem; } }
.header__nav-secondary .open-search-btn:hover {
        background-color: var(--color-primary-darker); }
.header__nav-secondary .open-search-btn:hover path {
          fill: var(--color-base-white); }
@media only screen and (min-width: 63.9375em) {
      .header__nav-secondary .search-open {
        display: block; } }
.header__nav-secondary .search-close {
      display: none;
      max-height: 51px; }
.header__nav-secondary .search-close.btn--close .btn__ico {
        margin-right: 0; }
.header__nav-menu {
    position: relative;
    list-style: none;
    margin: 0;
    background-color: var(--color-base);
    height: 100%;
    /**************************
    *** MENU LEVEL SPECIFIC ***
    ***************************/ }
@media only screen and (min-width: 63.9375em) {
      .header__nav-menu {
        display: flex;
        justify-content: flex-end;
        background-color: unset;
        font-size: var(--text-sm); } }
@media only screen and (min-width: 63.9375em) {
      .header__nav-menu > .menu-item > .sub-menu > .menu-item a:after {
        display: none; } }
.header__nav-menu > .menu-item {
      padding-left: 0; }
@media only screen and (min-width: 63.9375em) {
        .header__nav-menu > .menu-item {
          padding-left: var(--space-xs); } }
@media only screen and (min-width: 63.9375em) {
        .header__nav-menu > .menu-item > .menu-item > .sub-menu {
          position: absolute;
          grid-gap: 0.9375rem;
          grid-template-columns: repeat(auto-fit, minmax(15.625rem, 1fr));
          min-width: 500px; } }
@media only screen and (min-width: 63.9375em) {
        .header__nav-menu > .menu-item:hover > .sub-menu {
          display: grid;
          visibility: visible;
          opacity: 1;
          top: 9px;
          pointer-events: all; } }
@media only screen and (min-width: 63.9375em) {
        .header__nav-menu > .menu-item > a {
          color: var(--color-base-lightest); }
          .header__nav-menu > .menu-item > a:hover {
            color: var(--color-accent-sky); }
          .header__nav-menu > .menu-item > a > .sub-menu a {
            color: var(--color-primary); } }
.header__nav-menu > .menu-item > .sub-menu {
        width: 100%; }
.header__nav-menu > .menu-item > .sub-menu .t_lnk {
          display: none; }
.header__nav-menu > .menu-item > .sub-menu > .menu-item > a {
          color: var(--color-primary); }
@media only screen and (min-width: 63.9375em) {
            .header__nav-menu > .menu-item > .sub-menu > .menu-item > a {
              white-space: nowrap;
              word-break: break-word;
              padding-left: 0; } }
@media only screen and (min-width: 63.9375em) {
          .header__nav-menu > .menu-item > .sub-menu {
            position: absolute;
            display: block;
            top: 45px;
            left: 0;
            right: 0;
            grid-gap: 0.9375rem;
            grid-template-columns: repeat(auto-fit, minmax(13.625rem, 1fr));
            opacity: 0;
            transform: translateY(20px);
            visibility: hidden;
            padding: var(--space-md) var(--space-lg);
            pointer-events: none;
            box-shadow: 15px 15px 34px -17px #0000002e;
            min-height: 150px; } }
@media only screen and (min-width: 63.9375em) {
          .header__nav-menu > .menu-item > .sub-menu > li > .sub-menu {
            border-left: 2px solid var(--color-accent-light-gray);
            margin-left: 0;
            padding-left: var(--space-sm); } }
@media only screen and (min-width: 63.9375em) {
          .header__nav-menu > .menu-item > .sub-menu .sub-menu {
            display: block;
            visibility: visible;
            opacity: 1;
            margin: 0 0 0 10px; } }
.header__nav-menu .menu-item {
      transition: color var(--timing) var(--easing), background-color var(--timing) var(--easing);
      background-color: var(--color-base-lightest);
      margin: 0; }
.header__nav-menu .menu-item.menu-item-has-children > a {
        position: relative;
        background-color: unset; }
.header__nav-menu .menu-item.menu-item-has-children > a:after {
          position: absolute;
          right: 14px;
          width: 6px;
          content: '';
          height: 6px;
          bottom: 45%;
          transform: rotate(-45deg);
          transition: .5s;
          border-bottom: 2px solid var(--color-primary);
          border-left: 2px solid var(--color-primary);
          border-top: unset;
          border-right: unset; }
@media only screen and (min-width: 63.9375em) {
          .header__nav-menu .menu-item.menu-item-has-children > a {
            padding-left: unset;
            background-color: inherit; } }
.header__nav-menu .menu-item.menu-item-has-children > a.toggle:after {
          border-bottom: unset;
          border-left: unset;
          border-top: 2px solid var(--color-primary);
          border-right: 2px solid var(--color-primary);
          transition: .5s; }
@media only screen and (min-width: 63.9375em) {
          .header__nav-menu .menu-item.menu-item-has-children > a {
            padding-right: var(--space-lg); } }
@media only screen and (min-width: 63.9375em) {
        .header__nav-menu .menu-item {
          background-color: unset;
          padding-left: 0; } }
.header__nav-menu a {
      display: block;
      text-decoration: none;
      font-family: var(--font-secondary);
      padding: 15px; }
@media only screen and (min-width: 63.9375em) {
        .header__nav-menu a {
          padding: 5px 12px; }
          .header__nav-menu a:hover {
            background-color: unset; } }
.header__nav-menu .sb_close {
      position: absolute;
      top: 0;
      height: 20px;
      width: 20px;
      background: var(--color-primary); }
@media only screen and (min-width: 63.9375em) {
        .header__nav-menu .sb_close {
          display: none; } }
.header__nav-menu .sub-menu {
      opacity: 0;
      visibility: hidden;
      background-color: var(--color-base-lighter);
      left: 100vw;
      transition: all .3s ease;
      display: none;
      margin-left: 0; }
.header__nav-menu .sub-menu.in {
        position: absolute;
        left: 0;
        display: block;
        z-index: 9999;
        background: white;
        top: 0;
        padding-top: var(--space-lg);
        opacity: 1;
        visibility: visible;
        transition: .3s;
        pointer-events: all;
        width: 100%;
        height: 100%; }
.header__nav-menu .sub-menu .sub-menu-close {
        position: absolute;
        top: 0;
        margin: var(--space-md); }
.header__nav-menu .sub-menu .sub-menu-title {
        margin-top: var(--space-md);
        margin-bottom: 0;
        margin-left: var(--space-sm);
        text-decoration: underline; }
@media print {
    .header {
      display: none; } }
.header__nav, .header__nav-help {
    flex: 1 1 auto; }
.header .nav-overlay {
    position: fixed;
    height: 100vh;
    width: 100vw;
    left: 0;
    top: 0;
    z-index: 100;
    background-color: var(--color-base-darkest);
    opacity: .75; }
body.show-nav .header__nav {
  opacity: 1;
  visibility: visible;
  height: 80vh;
  transition: .3s; }
.sticky {
  position: fixed;
  width: 100%;
  z-index: 900;
  max-width: 1980px; }
.sticky .header {
    transition: .3s; }
.sticky .header__logo-outer {
    opacity: 1;
    width: 100%;
    transition: 2s; }
/*--------------------------------------------------------------
# Alertbar
--------------------------------------------------------------*/
.alertbar {
  display: none;
  flex-direction: column-reverse; }
@media only screen and (min-width: 63.9375em) {
    .alertbar {
      padding: var(--space-sm) var(--space-sm) var(--space-sm); } }
.alertbar .alertbar__list {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column-reverse;
    margin: 0 auto; }
.alertbar .alertbar__list .alertbar__item {
      margin-left: 0.5em; }
.alertbar .alertbar__list .alertbar__item .alertbar_content {
        display: flex;
        flex-direction: row; }
.alertbar .alertbar__list .alertbar__item .alertbar_content .alertbar__link {
          text-decoration: underline; }
.alertbar .alertbar__list .alertbar__item .alertbar_content .alertbar__link:hover {
            color: white; }
.alertbar .alertbar__list .alertbar__item .alertbar_content .alertbar__title {
          font-size: 14px !important;
          color: white; }
.alertbar .alertbar__list .alertbar__item .alertbar_content .alertbar__subtext p {
          font-size: 14px !important;
          color: white;
          margin-bottom: 0 !important; }
.alertbar .alertbar__list .alertbar__item .alertbar_content .alertbar__subtext a {
          color: white;
          text-decoration: underline;
          transition: .3s; }
.alertbar .alertbar__list .alertbar__item .alertbar_content .alertbar__subtext a:hover {
            color: black;
            text-decoration: none;
            transition: .3s; }
.alertbar .alertbar__list .alertbar__item .alertbar__icon {
        display: flex;
        align-items: center;
        margin-right: 1em;
        width: 40px; }
.alertbar .alertbar__list .alertbar__item .alertbar__icon svg {
          height: auto;
          width: 40px; }
.alertbar .alertbar__list .alertbar__actions {
      position: absolute;
      right: 10px;
      top: 13px;
      display: flex;
      justify-content: flex-end; }
.alertbar .alertbar__list .alertbar__actions .alertbar__close {
        box-shadow: none !important;
        border: 0;
        background: transparent;
        padding: 5px; }
.alertbar.active {
    display: flex; }
/*--------------------------------------------------------------
# Content None
--------------------------------------------------------------*/
.not-found {
  padding: var(--space-xxl);
  text-align: center; }
/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
/*--------------------------------------------------------------
>>> FOOTER - Sitewide
--------------------------------------------------------------*/
.footer {
  position: relative;
  background-color: var(--color-base);
  padding: var(--space-xl) var(--space-lg) var(--space-lg);
  overflow: hidden; }
@media print {
    .footer {
      display: none; } }
.footer__main {
    position: relative;
    padding: var(--space-md) 0 var(--space-lg);
    color: var(--color-base-light);
    display: flex;
    flex-direction: row;
    line-height: 1.2rem;
    flex-wrap: wrap;
    z-index: 10; }
@media only screen and (min-width: 63.9375em) {
      .footer__main {
        flex-direction: row;
        flex-wrap: nowrap; } }
.footer a {
    color: var(--color-base-light);
    -webkit-text-decoration-color: var(--color-base-white);
            text-decoration-color: var(--color-base-white); }
.footer a:hover {
      color: var(--color-primary); }
.footer__a, .footer__b, .footer__c, .footer__d {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%; }
@media only screen and (min-width: 63.9375em) {
      .footer__a, .footer__b, .footer__c, .footer__d {
        width: 100%;
        align-items: left; } }
.footer__a {
    order: 1; }
@media only screen and (min-width: 63.9375em) {
      .footer__a .footer-menu {
        margin-left: 3rem; } }
.footer__b {
    order: 2; }
@media only screen and (min-width: 63.9375em) {
      .footer__b {
        margin-top: 40px; } }
.footer__c {
    order: 3; }
@media only screen and (min-width: 63.9375em) {
      .footer__c {
        margin-top: 40px; } }
.footer__d {
    order: 3; }
@media only screen and (min-width: 63.9375em) {
      .footer__d {
        margin-top: 40px; } }
.footer a {
    text-decoration: none; }
.footer .footer-menu__title {
    color: var(--color-accent-khaki);
    text-transform: uppercase; }
.footer .footer-menu__list {
    margin-left: 0; }
.footer .footer-menu__item {
    padding-left: 0;
    margin-bottom: var(--space-sm);
    font-size: var(--text-sm); }
.footer .footer-menu__item a {
      text-decoration: none; }
.footer .footer-menu p {
    margin-bottom: var(--space-sm);
    font-size: var(--text-sm); }
.footer .socials {
    padding: var(--space-sm) 0;
    margin: 0; }
@media only screen and (min-width: 63.9375em) {
      .footer .socials {
        padding: 0; } }
.footer .socials .socials__social a:before {
      background-color: var(--color-base-lightest); }
.footer .socials .socials__social a:hover:before {
      background-color: var(--color-primary); }
.footer__copyright {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    padding-right: 0.5rem;
    line-height: 1.2rem;
    font-size: var(--text-sm);
    text-align: center;
    padding-top: 1rem;
    color: var(--color-base-light); }
@media only screen and (min-width: 63.9375em) {
      .footer__copyright {
        flex-direction: row;
        margin-left: 3rem; } }
.footer .custom-logo {
    max-width: 230px;
    max-height: 40px;
    height: auto;
    margin-bottom: var(--space-sm); }
.footer .case_wh {
    position: absolute;
    display: none;
    left: 0;
    bottom: 0;
    height: auto;
    width: 31rem;
    z-index: 0;
    opacity: .1; }
@media only screen and (min-width: 63.9375em) {
      .footer .case_wh {
        left: 54%;
        display: block; } }
.footer__bl, .footer__br {
    display: flex;
    flex-direction: column;
    width: 70%;
    justify-content: space-around;
    align-items: center;
    margin-bottom: var(--space-md); }
@media only screen and (min-width: 63.9375em) {
      .footer__bl, .footer__br {
        flex-direction: row;
        width: 50%;
        justify-content: flex-start; } }
/*--------------------------------------------------------------
# Carousel
--------------------------------------------------------------*/
.carousel {
  background-color: var(--color-accent-primary);
  margin-top: 2.5rem; }
@media only screen and (min-width: 47.9375em) {
    .carousel__main {
      border-bottom: var(--brdr-sm) solid var(--color-base-darker); } }
.carousel__content, .carousel__controls {
    margin: 0;
    padding: 0; }
.carousel__content {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    padding: 0 0 0 1.5rem; }
.carousel__content .carousel__slide {
      grid-column: 1;
      grid-row: 1;
      visibility: hidden;
      opacity: 0;
      transition: visibility var(--timing) var(--easing), opacity var(--timing) var(--easing); }
.carousel__item, .carousel__slide {
    margin: 0;
    padding: 0; }
.carousel__item::before, .carousel__slide::before {
      content: none; }
@media only screen and (min-width: 47.9375em) {
    .carousel__article, .carousel__controls {
      display: flex; } }
.carousel__figure {
    position: relative;
    align-self: flex-start;
    margin: -2.5rem 0 0;
    width: 69%; }
.carousel .figure--pttrn-bkg {
    z-index: 0; }
.carousel .figure--pttrn-bkg:after {
      left: -34px;
      bottom: -9px;
      width: 445px;
      transform: scaleX(-1); }
.carousel__img {
    position: relative;
    z-index: 5;
    width: 100%; }
.carousel__body {
    margin: 4.25rem 0 1.5rem 5rem;
    min-height: 25rem; }
.carousel__title {
    font-size: 2.25rem;
    line-height: 1.22222;
    margin: 0 0 0.75rem 0; }
@media only screen and (min-width: 47.9375em) {
      .carousel__title {
        font-size: 2.625rem;
        line-height: 1.2381;
        margin: 0 0 1rem 0; } }
.carousel__actions {
    margin-top: 2rem; }
.carousel__btn {
    position: relative;
    height: 100%;
    background-color: transparent;
    color: var(--color-primary-darkest);
    padding: 2rem;
    text-align: left; }
.carousel__btn:before {
      content: "";
      width: 0.0625rem;
      height: 54%;
      background: var(--color-base-darker);
      position: absolute;
      top: 27%;
      left: 0; }
.carousel__btn:hover, .carousel__btn:active, .carousel__btn:focus {
      background-color: var(--color-accent-primary);
      color: var(--color-primary-darkest); }
.carousel__btn.current {
      background-color: var(--color-secondary);
      color: white; }
.carousel__btn.current:hover, .carousel__btn.current:active, .carousel__btn.current:focus {
        background-color: var(--color-secondary);
        color: white; }
.carousel .btn--previous:before {
    display: none; }
.carousel .controls__num {
    display: block; }
.carousel .current {
    visibility: visible;
    opacity: 1; }
/*--------------------------------------------------------------
# Carousel
--------------------------------------------------------------*/
.comments-area {
  border-top: 2px solid var(--color-primary);
  padding: 2rem 1.5rem;
  margin: 3rem 1rem 1rem; }
.comments-area .comment-list .comment-body {
    display: flex;
    flex-direction: column;
    margin: 1rem 0;
    padding: 0 0 1rem; }
@media only screen and (min-width: 63.9375em) {
      .comments-area .comment-list .comment-body {
        flex-direction: row; } }
.comments-area .comment-list .comment-body .vcard {
      display: flex;
      flex-direction: column;
      align-items: center;
      margin-right: 10%;
      text-align: center; }
.comments-area .comment-list .comment-body .vcard .avatar {
        width: 4.75rem;
        height: 4.75rem; }
.comments-area .comment-list .comment-body .comment-meta {
      width: 100%;
      padding-bottom: 1.5rem;
      border-bottom: 1px solid var(--color-base-lighter); }
.comments-area .comment-list .comment-body .comment-meta .commentmetadata a {
        text-decoration: none; }
.comments-area .comment-list .children {
    margin-left: 20%;
    margin-right: unset; }
/*--------------------------------------------------------------
# Carousel Block
--------------------------------------------------------------*/
.staggered-slider .tabs__content .card__figure img {
  width: 100%; }
.guide .tabs__link .tabs__thmbnl:after {
  height: 100% !important; }
/*--------------------------------------------------------------
# Callout - Newsletter Block
--------------------------------------------------------------*/
.block-callout {
  padding: var(--space-lg);
  background-image: url(images/towers.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative; }
@media only screen and (min-width: 63.9375em) {
    .block-callout {
      margin-left: calc(var(--space-lg) * -1);
      margin-right: calc(var(--space-lg) * -1); } }
.block-callout:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--color-base-darkest);
    opacity: 0.85;
    z-index: 2; }
.block-callout.center {
    justify-content: center;
    text-align: center; }
.block-callout .inner {
    position: relative;
    border: 2px solid var(--color-primary);
    padding: 0 var(--space-lg) var(--space-lg);
    display: flex;
    flex-direction: column;
    z-index: 3; }
@media only screen and (min-width: 63.9375em) {
      .block-callout .inner {
        flex-direction: row; } }
.block-callout .inner .button-row {
      margin-top: var(--space-lg); }
.block-callout .inner .left {
      width: 100%;
      padding-top: var(--space-xl); }
.block-callout .inner .left h2 {
        color: var(--color-base-white); }
.block-callout .inner .right {
      width: 100%;
      padding-top: var(--space-xl);
      color: var(--color-base-white); }
@media only screen and (min-width: 63.9375em) {
        .block-callout .inner .right {
          padding-left: var(--space-md); } }
.block-callout .inner .right ul {
        margin: 0; }
.block-callout .inner .right ul a {
          text-decoration: none; }
.block-callout .inner .right ul li {
          padding-left: 0;
          color: var(--color-base-lighter);
          text-decoration: none;
          transition: all .3s ease; }
.block-callout .inner .right ul li:hover {
            color: var(--color-primary) !important; }
.block-callout .inner .right ul li:hover span {
              color: var(--color-primary); }
.block-callout .inner .right ul li:hover svg {
              margin-left: 5px;
              transition: all .3s ease; }
.block-callout .inner .right ul li:hover svg path {
                fill: var(--color-primary) !important; }
.block-callout .inner .right ul li span {
            color: var(--color-base-white);
            cursor: pointer;
            font-size: var(--text-sm);
            text-transform: uppercase;
            transition: all .3s ease;
            font-family: var(--font-secondary);
            font-weight: normal;
            font-style: normal; }
.block-callout .inner .right ul li span svg {
              transition: all .3s ease; }
/*--------------------------------------------------------------
# Hero Block
--------------------------------------------------------------*/
.hero {
  position: relative; }
.hero .swiper-slide {
    overflow: hidden; }
.hero .figure__img {
    width: 200vw; }
@media only screen and (min-width: 63.9375em) {
      .hero .figure__img {
        width: 100%; } }
.hero .swiper-content {
    position: absolute;
    left: 0;
    top: 0;
    color: var(--color-base-lighter);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding-left: var(--space-md);
    height: 100%; }
.hero .swiper-content h2 {
      font-size: var(--text-md); }
@media only screen and (min-width: 63.9375em) {
        .hero .swiper-content h2 {
          font-size: var(--text-xl); } }
@media only screen and (min-width: 63.9375em) {
      .hero .swiper-content {
        top: 50%;
        padding-left: var(--space-xl);
        max-width: 55%;
        height: auto;
        justify-content: flex-start; } }
/*--------------------------------------------------------------
# Two Column Video Block
--------------------------------------------------------------*/
.tcv {
  display: flex;
  flex-direction: column;
  background-color: var(--color-accent-sky);
  position: relative;
  z-index: 4;
  overflow: visible !important;
  max-height: 590px; }
@media only screen and (min-width: 63.9375em) {
    .tcv {
      flex-direction: row; } }
.tcv__col-1 {
    color: var(--color-base-lightest);
    z-index: inherit; }
@media only screen and (min-width: 63.9375em) {
      .tcv__col-1 {
        padding-right: var(--space-lg);
        width: 50%; } }
.tcv__col-2 {
    z-index: inherit;
    position: relative;
    min-height: 30vh; }
@media only screen and (min-width: 63.9375em) {
      .tcv__col-2 {
        padding-left: var(--space-lg);
        width: 50%;
        min-height: 45vh; } }
.tcv__col-2 img {
      width: 100%;
      height: auto; }
.tcv__svg {
    position: absolute;
    top: 50%;
    right: 0;
    z-index: -1;
    max-width: 60%;
    width: 100%;
    height: auto; }
@media only screen and (min-width: 63.9375em) {
      .tcv__svg {
        top: 0; } }
.tcv .btn--close {
    display: none; }
.tcv iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
.v-modal .tcv {
  z-index: 9999; }
/*--------------------------------------------------------------
# Multiple Columns Block
--------------------------------------------------------------*/
.cb.dark {
  background-color: var(--color-accent-sky);
  color: var(--color-base-light); }
.cb.light {
  background-color: var(--color-base-light);
  color: var(--color-base-darkest); }
.cb__cols {
  display: flex;
  flex-direction: column; }
@media only screen and (min-width: 63.9375em) {
    .cb__cols {
      flex-direction: row; } }
.cb__col {
  justify-content: flex-start;
  flex-direction: column;
  margin-bottom: var(--space-sm);
  width: 100%; }
@media only screen and (min-width: 63.9375em) {
    .cb__col {
      margin-bottom: unset; } }
.cb__col svg g {
    fill: var(--color-base-darkest); }
.cb__col:nth-child(2) {
    background-color: var(--color-secondary); }
.cb__col:nth-child(2) figure {
      transform: scale(1.3);
      overflow: visible; }
.cb__col:nth-child(2) svg g {
      fill: var(--color-base-white); }
.cb__text {
  font-size: var(--text-lg); }
.cb .staggered-content__wrap {
  padding: var(--space-md);
  border-radius: 4px; }
.cb .staggered-content img {
  max-width: 160px; }
.cb .staggered-content figure {
  max-width: 25%;
  margin: 0 auto; }
.cb .staggered-content__text {
  margin-top: var(--space-lg);
  font-size: var(--text-md);
  padding-left: 0 !important; }
.cb__cta {
  margin-top: var(--space-md);
  text-align: center; }
.cb .emp .staggered-content h2 {
  color: var(--color-primary);
  font-size: var(--text-xxxl); }
/*--------------------------------------------------------------
# Slider block (horizontal swiper)
--------------------------------------------------------------*/
.slb {
  position: relative;
  width: 100vw;
  left: 50%;
  right: 50%;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
  background-color: var(--color-accent-sky);
  padding-bottom: var(--space-xl) !important; }
.slb__heading {
    position: relative;
    padding: var(--space-sm) var(--space-sm);
    color: var(--color-base-lightest);
    z-index: 5;
    text-align: center; }
.slb:after {
    content: '';
    background: linear-gradient(270deg, rgba(0, 134, 214, 0) 0%, rgba(0, 134, 214, 0.757861) 26%, #0086d6 53%);
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 4; }
.slb .swiper {
    z-index: 5; }
/*--------------------------------------------------------------
# Logo Grid
--------------------------------------------------------------*/
.lg__figure {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  margin: var(--space-md) 0; }
.lg svg {
  fill: gray !important;
  max-width: 250px;
  max-height: 100px; }
/*--------------------------------------------------------------
# Two Column Grid Block
--------------------------------------------------------------*/
.tct {
  position: relative;
  padding: 0 !important; }
.tct .case_wh {
    display: none;
    position: absolute;
    left: 17%;
    bottom: -10%;
    height: auto;
    width: 34rem;
    z-index: 0; }
@media only screen and (min-width: 63.9375em) {
      .tct .case_wh {
        display: block; } }
.tct .order-1 {
    order: 1; }
@media only screen and (min-width: 63.9375em) {
    .tct .order-2 {
      order: 2; } }
.tct.gold {
    background-color: var(--color-accent-gold); }
.tct.gold h2, .tct.gold h3, .tct.gold h4, .tct.gold h5 {
      color: var(--color-secondary); }
.tct.blue {
    background-color: var(--color-secondary); }
.tct.blue h2, .tct.blue h3, .tct.blue h4, .tct.blue h5 {
      color: var(--color-accent-sky); }
.tct.blue p {
      color: var(--color-base-lightest); }
.tct.white {
    background-color: var(--color-base-lightest); }
/*--------------------------------------------------------------
# Team Block
--------------------------------------------------------------*/
.block-people {
  position: relative;
  display: flex;
  flex-direction: column;
  border-bottom: 2px solid var(--color-base-dark);
  padding-bottom: var(--space-xl) !important;
  box-shadow: none !important; }
.block-people__col {
    display: flex;
    column-gap: 8px;
    row-gap: 15px;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center; }
.block-people__item {
    position: relative;
    text-align: center;
    max-width: 345px;
    border-radius: var(--brdr-rad);
    transition: all 0.3s var(--easing);
    overflow: hidden;
    color: var(--color-base-white); }
.block-people__item:hover {
      transition: all 0.3s var(--easing); }
.block-people__item:hover img {
        filter: brightness(65%);
        transition: all 0.3s var(--easing); }
.block-people__item:hover.tm__inner {
        background-color: var(--color-base-light);
        transition: all 0.3s var(--easing); }
.block-people__item figure {
      border-radius: var(--brdr-rad);
      overflow: hidden;
      margin-bottom: 0;
      height: 100%;
      height: 340px;
      box-shadow: none; }
.block-people__item figure img {
        transition: all 0.3s var(--easing);
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover;
        -o-object-position: top;
           object-position: top; }
.block-people__inner {
    width: 100%;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    justify-content: flex-start;
    z-index: 1; }
.block-people__inner svg {
      height: 15px;
      fill: var(--color-primary);
      position: absolute;
      bottom: 5px;
      right: 30px;
      transition: .3s; }
.block-people__link {
    text-decoration: none;
    transition: .3s; }
.block-people__link:hover svg {
      right: 25px;
      transition: .4s; }
.block-people__title {
    padding: var(--space-sm) 0 0;
    margin: 0;
    font-size: var(--text-md); }
.block-people__pos {
    font-size: var(--text-sm);
    margin: 0;
    color: var(--color-primary); }
/*--------------------------------------------------------------
# Single Product content
--------------------------------------------------------------*/
.sgl {
  position: relative;
  display: flex;
  flex-direction: column;
  margin-bottom: var(--space-lg) !important; }
@media only screen and (min-width: 63.9375em) {
    .sgl {
      flex-direction: row; } }
.sgl:after {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    height: 100%;
    width: 100%;
    z-index: 1;
    background: linear-gradient(265deg, #fff 37%, rgba(255, 255, 255, 0.82) 100%, rgba(255, 255, 255, 0.1) 100%); }
.sgl__col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding-bottom: var(--space-lg);
    z-index: 2;
    width: 100%; }
.sgl__col h2,
    .sgl__col h3,
    .sgl__col h4,
    .sgl__col h5 {
      color: var(--color-secondary); }
@media only screen and (min-width: 63.9375em) {
      .sgl__col {
        padding-right: var(--space-xl); } }
.sgl__item {
    text-align: center; }
.sgl__link {
    text-decoration: none;
    color: var(--color-secondary) !important;
    transition: .3s; }
.sgl__link:hover {
      color: var(--color-primary); }
.sgl__link:hover svg path {
        fill: var(--color-primary);
        transition: .4s; }
.sgl .case-blk {
    max-width: 70px;
    height: auto; }
.sgl .case-blk path {
      fill: var(--color-secondary);
      transition: .4s; }
.sgl .pt_3 {
    position: absolute;
    top: -100px;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 0; }
/*--------------------------------------------------------------
# Industries Block
--------------------------------------------------------------*/
.ind {
  position: relative;
  display: flex;
  flex-direction: column; }
@media only screen and (min-width: 63.9375em) {
    .ind {
      flex-direction: row; } }
.ind:after {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    height: 100%;
    width: 100%;
    z-index: 1;
    background: linear-gradient(265deg, #fff 37%, rgba(255, 255, 255, 0.82) 100%, rgba(255, 255, 255, 0.1) 100%); }
.ind__col1, .ind__col2 {
    display: flex; }
@media only screen and (min-width: 63.9375em) {
      .ind__col1, .ind__col2 {
        width: 50%; } }
.ind__col1 {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding-bottom: var(--space-lg);
    z-index: 2; }
.ind__col1 h2, .ind__col1 h3, .ind__col1 h4, .ind__col1 h5 {
      color: var(--color-secondary); }
@media only screen and (min-width: 63.9375em) {
      .ind__col1 {
        padding-right: var(--space-xl); } }
.ind__col2 {
    display: grid;
    column-gap: 10px;
    row-gap: 15px;
    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
    z-index: 2; }
@media only screen and (min-width: 63.9375em) {
      .ind__col2 {
        padding-left: var(--space-lg); } }
.ind__item {
    text-align: center; }
.ind__icon {
    width: 90px;
    margin: 0 auto;
    min-height: 90px;
    display: flex;
    align-items: center; }
.ind__link {
    text-decoration: none;
    color: var(--color-secondary) !important;
    transition: .3s; }
.ind__link:hover {
      color: var(--color-primary); }
.ind__link:hover svg path {
        fill: var(--color-primary);
        transition: .4s; }
.ind .case-blk {
    max-width: 70px;
    height: auto;
    margin-bottom: var(--space-sm); }
.ind .case-blk path {
      fill: var(--color-secondary);
      transition: .4s; }
.ind .pt_3 {
    position: absolute;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 0; }
/*--------------------------------------------------------------
# Two Column Content
--------------------------------------------------------------*/
.tcc {
  position: relative;
  background-color: var(--color-base-lightest);
  display: grid;
  grid-auto-columns: 1fr;
  padding-right: 0;
  background-image: url(images/pattern_3.png);
  background-repeat: no-repeat;
  background-position: right;
  background-size: 38%; }
@media only screen and (min-width: 63.9375em) {
    .tcc {
      grid-auto-flow: column;
      padding: 0; } }
.tcc img {
    width: 100%; }
.tcc .order-1 {
    order: 1; }
@media only screen and (min-width: 63.9375em) {
    .tcc .order-2 {
      order: 2; } }
.tcc__col-1 {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    padding: var(--space-md);
    z-index: 5; }
.tcc__col-1:after {
      position: absolute;
      top: 0;
      left: 0;
      content: '';
      height: 100%;
      width: 100%;
      z-index: -1;
      background: linear-gradient(90deg, white 45%, rgba(255, 255, 255, 0.8) 100%, rgba(255, 255, 255, 0.1) 100%); }
@media only screen and (min-width: 63.9375em) {
      .tcc__col-1 {
        border-left: unset; } }
.tcc__col-1.gold {
      color: var(--color-primary); }
.tcc__col-1.blue {
      color: var(--color-accent-cooler-gray); }
.tcc__col-1.red {
      color: var(--color-accent-rust); }
.tcc__icon img {
    max-width: 160px; }
.tcc__col-2 {
    z-index: 5; }
.tcc .pt_3 {
    position: absolute;
    right: 0;
    top: -10%;
    height: 100%;
    width: 100%;
    z-index: 0; }
/*--------------------------------------------------------------
# Cards Block
--------------------------------------------------------------*/
.crd.dark {
  background-color: var(--color-base-dark);
  color: var(--color-base-light); }
.crd.dark .card {
    background-color: var(--color-base-light);
    color: var(--color-base-darkest); }
.crd.light {
  background-color: var(--color-base-light);
  color: var(--color-base-darkest); }
.crd.light .card {
    background-color: var(--color-base-dark);
    color: var(--color-base-light); }
.crd__cols {
  display: flex;
  flex-direction: column;
  justify-content: space-between; }
@media only screen and (min-width: 63.9375em) {
    .crd__cols {
      flex-direction: row; } }
@media only screen and (min-width: 63.9375em) {
  .crd__col.l {
    max-width: 30%; } }
.crd__col.r {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(18.625rem, 1fr));
  gap: 3rem; }
@media only screen and (min-width: 63.9375em) {
    .crd__col.r {
      grid-template-columns: 1fr 1fr;
      width: 65%; } }
.crd__col .card {
  position: relative;
  border-radius: 11px;
  padding: var(--space-xl) var(--space-md) var(--space-md);
  overflow: hidden; }
.crd__col .card__main {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    padding: 0; }
.crd__col .card__figure {
    max-width: 230px;
    position: absolute;
    top: -10%;
    right: -8%; }
.crd__col .card__title {
    margin-top: var(--space-sm);
    font-size: var(--text-xl); }
.crd__col .card__copy {
    font-size: var(--text-md);
    padding-right: var(--space-xl);
    line-height: 2.3rem; }
.crd__col .card__actions {
    margin-top: var(--space-xl); }
.crd__col .card__actions .btn-row a {
      color: var(--color-base-light); }
/*--------------------------------------------------------------
# Page Top Block
--------------------------------------------------------------*/
.pgt {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between; }
@media only screen and (min-width: 63.9375em) {
    .pgt {
      flex-direction: row; } }
.pgt__content {
    z-index: 5; }
@media only screen and (min-width: 63.9375em) {
      .pgt__content {
        padding-left: var(--space-xl);
        max-width: 55%;
        border-left: 1px solid var(--color-accent-khaki); } }
.pgt__img {
    margin-top: var(--space-xl);
    z-index: 1;
    display: flex;
    align-items: center; }
@media only screen and (min-width: 63.9375em) {
      .pgt__img {
        width: 40%;
        margin-top: 0; }
        .pgt__img img {
          margin-left: 46%;
          height: auto;
          width: 100%; } }
.pgt__heading {
    margin-top: var(--space-sm);
    margin-bottom: var(--space-sm);
    font-size: var(--text-xxl); }
.pgt__cta-text {
    font-size: var(--text-lg);
    margin-bottom: var(--space-xl); }
.pgt.dark {
    background-color: var(--color-base-dark);
    color: var(--color-base-light); }
.pgt.light {
    background-color: var(--color-base-light);
    color: var(--color-base-darkest); }
/*--------------------------------------------------------------
# Accordion Tab Block
--------------------------------------------------------------*/
.tac {
  font-size: var(--text-md); }
.tac.dark {
    background-color: var(--color-base-dark);
    color: var(--color-base-light); }
.tac.light {
    background-color: var(--color-base-light);
    color: var(--color-base-darkest); }
.tac .tabs {
    display: flex;
    flex-direction: column; }
@media only screen and (min-width: 63.9375em) {
      .tac .tabs {
        flex-direction: row; } }
.tac .tabs__section {
      margin-top: 0;
      padding-top: 0;
      width: 100%;
      margin-top: var(--space-lg); }
@media only screen and (min-width: 63.9375em) {
        .tac .tabs__section {
          width: 60%;
          margin-top: 0; } }
.tac .tabs__ctrls {
      flex-direction: column;
      align-items: flex-start;
      list-style: none;
      width: 100%; }
@media only screen and (min-width: 63.9375em) {
        .tac .tabs__ctrls {
          width: 40%; } }
.tac .tabs__section-title {
      font-size: var(--text-xxl);
      margin-bottom: var(--space-md); }
@media only screen and (min-width: 63.9375em) {
        .tac .tabs__section-title {
          padding-right: var(--space-lg); } }
.tac .tabs__list {
      flex-direction: column;
      align-items: flex-start;
      padding-left: var(--space-md);
      border-left: 1px solid var(--color-accent-khaki); }
.tac .tabs__item {
      flex-grow: 0; }
.tac .tabs__steps {
      margin-left: 0;
      margin-right: 0; }
.tac .tabs__step {
      display: flex;
      justify-content: flex-start;
      border-bottom: 1px solid var(--color-accent-khaki);
      padding: var(--space-sm) 0; }
.tac .tabs__num {
      font-size: var(--text-xxxl);
      color: var(--color-primary); }
/*--------------------------------------------------------------
# Steps Block
--------------------------------------------------------------*/
.stp.dark {
  background-color: var(--color-base-dark);
  color: var(--color-base-light); }
.stp.light {
  background-color: var(--color-base-light);
  color: var(--color-base-darkest); }
.stp.gold {
  background-color: var(--color-primary);
  color: var(--color-base-light); }
.stp.gold .staggered-content__items {
    color: var(--color-base-darkest); }
.stp.gold .btn-row .btn {
    background-color: var(--color-accent-rust); }
.stp__cols {
  display: flex;
  flex-direction: column;
  margin-top: var(--space-xxl); }
@media only screen and (min-width: 63.9375em) {
    .stp__cols {
      flex-direction: row; } }
.stp__col {
  position: relative;
  flex-direction: column;
  padding-right: var(--space-xl);
  border-left: 1px solid var(--color-accent-khaki);
  margin-bottom: var(--space-xxl); }
@media only screen and (min-width: 63.9375em) {
    .stp__col {
      margin-bottom: var(--space-sm); } }
.stp .staggered-content {
  justify-content: flex-start; }
.stp .staggered-content__wrap {
    padding-top: var(--space-xl);
    padding-left: var(--space-lg); }
.stp .staggered-content__num {
    position: absolute;
    font-family: var(--font-tertiary);
    font-size: var(--text-4xl);
    top: 0;
    left: 0; }
@media only screen and (min-width: 63.9375em) {
      .stp .staggered-content__num {
        top: -46px;
        left: 14%; } }
@media only screen and (min-width: 75em) {
      .stp .staggered-content__num {
        top: -67px;
        left: 14%; } }
.stp .staggered-content__text {
    margin-top: var(--space-md);
    font-size: var(--text-md);
    padding-left: 0 !important; }
.stp .staggered-content__items {
    margin-left: 0; }
.stp .staggered-content__item {
    display: flex; }
.stp .staggered-content__arrow-red {
    transform: rotate(45deg);
    max-width: 12px;
    margin-right: var(--space-sm); }
@media only screen and (min-width: 63.9375em) {
  .stp__cta {
    display: flex;
    justify-content: space-between;
    align-items: flex-end; } }
.stp__cta-text {
  font-size: var(--text-lg);
  margin-bottom: 0;
  line-height: 3rem; }
@media only screen and (min-width: 63.9375em) {
    .stp__cta-text {
      max-width: 60%; } }
.stp .btn-row {
  margin-top: var(--space-lg);
  padding-right: var(--space-xl); }
.stp .btn-row .btn {
    display: inline; }
/*--------------------------------------------------------------
# Cta Block
--------------------------------------------------------------*/
.callout {
  display: flex;
  flex-direction: column;
  align-items: center; }
@media only screen and (min-width: 63.9375em) {
    .callout {
      flex-direction: row; } }
.callout__img {
    margin-bottom: var(--space-xl); }
@media only screen and (min-width: 63.9375em) {
      .callout__img {
        width: 40%;
        margin-bottom: 0; }
        .callout__img img {
          margin-left: -50%; } }
.callout__heading {
    font-size: var(--text-xxl); }
@media only screen and (min-width: 63.9375em) {
    .callout__content {
      max-width: 45%; } }
.callout__cta-text {
    font-size: var(--text-lg); }
.callout.center {
    justify-content: center;
    text-align: center;
    padding-top: var(--space-xxl); }
.callout.dark {
    background-color: var(--color-base-dark);
    color: var(--color-base-light); }
.callout.light {
    background-color: var(--color-base-light);
    color: var(--color-base-darkest); }
/*--------------------------------------------------------------
# Post Filter
--------------------------------------------------------------*/
.post-filters {
  background-color: var(--color-primary); }
.post-filters .btn-wrap {
    display: flex;
    justify-content: center;
    margin-top: var(--space-md); }
@media only screen and (min-width: 63.9375em) {
      .post-filters .btn-wrap {
        display: block; } }
.post-filters .btn-wrap .show-filters-btn {
      position: relative;
      background-color: var(--color-primary);
      color: var(--color-base-lightest);
      text-decoration: none;
      padding: var(--space-sm);
      text-transform: uppercase;
      font-family: var(--font-secondary); }
@media only screen and (min-width: 63.9375em) {
        .post-filters .btn-wrap .show-filters-btn {
          display: none; } }
.post-filters .btn-wrap .show-filters-btn:before {
        content: '';
        height: 20px;
        width: 2px;
        background-color: var(--color-base-white);
        position: absolute;
        left: -2px;
        top: 17px;
        transition: var(--timing); }
.post-filters .btn-wrap .show-filters-btn:after {
        content: '';
        height: 2px;
        width: 20px;
        background-color: var(--color-base-white);
        position: absolute;
        left: -12px;
        top: 49%; }
.post-filters .filters {
    position: absolute;
    right: 0;
    top: 0;
    z-index: -1;
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: center;
    background-color: var(--color-primary);
    pointer-events: none;
    opacity: 0;
    width: 70vw;
    height: 100vh; }
@media only screen and (min-width: 63.9375em) {
      .post-filters .filters {
        position: static;
        flex-direction: row;
        justify-content: center;
        margin-top: var(--space-lg);
        pointer-events: all;
        opacity: 1;
        width: auto;
        height: auto; } }
.post-filters .filters .actions {
      display: flex;
      justify-content: space-between;
      align-items: center;
      width: 100%;
      color: var(--color-base-white);
      border-bottom: 1px solid var(--color-base-white);
      font-size: var(--text-md); }
.post-filters .filters .actions .label {
        padding-left: var(--space-sm); }
.post-filters .filters .actions .btn--close {
        background-color: var(--color-base-white) !important;
        color: var(--color-primary) !important; }
.post-filters .filters .actions .btn--close svg path {
          stroke: var(--color-primary); }
@media only screen and (min-width: 63.9375em) {
        .post-filters .filters .actions {
          display: none; } }
.post-filters .filters .filter-btns {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      width: 100%;
      margin-top: var(--space-lg); }
@media only screen and (min-width: 63.9375em) {
        .post-filters .filters .filter-btns {
          flex-direction: row;
          justify-content: center;
          margin-top: unset; } }
.post-filters .filters.show-filters {
      pointer-events: all;
      opacity: 1;
      transition: .3s;
      z-index: 100;
      text-transform: uppercase;
      font-family: var(--font-secondary); }
.post-filters .filters .filter-btn {
      padding: 1rem 0 1rem 1rem;
      background-color: var(--color-primary);
      color: var(--color-base-lightest);
      text-transform: uppercase;
      font-family: var(--font-secondary);
      font-size: var(--text-md);
      width: 100%;
      text-align: left;
      margin: var(--space-xxs) 0; }
@media only screen and (min-width: 63.9375em) {
        .post-filters .filters .filter-btn {
          padding: 1rem;
          font-size: var(--text-sm);
          width: auto;
          text-align: inherit;
          margin: 0 var(--space-xxs); } }
.post-filters .filters .filter-btn.selected {
        background-color: var(--color-primary-dark); }
.post-filters .filters .filter-btn:hover {
        background-color: var(--color-primary-dark);
        transition: all .3s ease; }
/*--------------------------------------------------------------
# Interior CTA
--------------------------------------------------------------*/
.int-cta {
  position: relative;
  background-color: var(--color-primary);
  color: var(--color-base-lightest);
  display: flex;
  flex-direction: column;
  align-items: center; }
@media only screen and (min-width: 63.9375em) {
    .int-cta {
      padding: var(--space-xl) var(--space-lg) !important;
      flex-direction: row; } }
.int-cta__col1, .int-cta__col2 {
    position: inherit;
    z-index: 2; }
.int-cta__col1 {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center; }
@media only screen and (min-width: 63.9375em) {
      .int-cta__col1 {
        text-align: left;
        flex-direction: row;
        width: 65%; } }
@media only screen and (min-width: 63.9375em) {
    .int-cta__col2 {
      width: 30%;
      display: flex;
      align-items: center;
      justify-content: flex-start; }
      .int-cta__col2 .btn-row {
        margin-top: 0;
        margin-left: var(--space-lg); } }
.int-cta .case-wh {
    width: 7rem;
    height: auto;
    margin-bottom: var(--space-lg); }
@media only screen and (min-width: 63.9375em) {
      .int-cta .case-wh {
        margin-right: var(--space-lg); } }
.int-cta .pt_3 {
    position: absolute;
    right: 0;
    height: 100%;
    width: 50%;
    top: -100%; }
.int-cta:after {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    height: 100%;
    width: 100%;
    z-index: 1;
    background: linear-gradient(90deg, #d52527 0%, rgba(213, 37, 39, 0.924807) 66%, rgba(213, 37, 39, 0) 100%); }
/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
.gform_wrapper {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: var(--space-lg) !important;
  background-color: var(--color-base);
  color: var(--color-base-lightest);
  height: 100%;
  padding: var(--space-lg); }
.gform_wrapper .gform_body, .gform_wrapper .gform_footer {
    margin: 0 auto !important; }
@media only screen and (min-width: 63.9375em) {
      .gform_wrapper .gform_body, .gform_wrapper .gform_footer {
        max-width: 50vw !important; } }
.gform_heading {
  padding-bottom: var(--space-md); }
.gfield .medium,
.form-control {
  background: gray;
  border: none;
  box-shadow: none;
  color: var(--color-base-darkest);
  font-size: 1.0625rem;
  font-weight: normal;
  letter-spacing: 1px;
  padding: 10px 15px;
  width: 100%; }
.gfield .medium:focus,
  .form-control:focus {
    box-shadow: none;
    outline: 0; }
/*Form Group*/
.gfield,
.form-group {
  margin-bottom: 20px; }
.gfield:last-child,
  .form-group:last-child {
    margin-bottom: 0; }
/*Label*/
.gfield_label,
.gfield_description,
.form-label {
  font-size: 0.875rem;
  font-weight: normal;
  letter-spacing: 1px;
  margin-bottom: 6px;
  text-transform: uppercase;
  line-height: 1.1em;
  display: block; }
@media only screen and (min-width: 63.9375em) {
    .gfield_label,
    .gfield_description,
    .form-label {
      display: inline;
      margin-bottom: 2px; } }
.gfield_label .optional,
  .gfield_description .optional,
  .form-label .optional {
    color: rgba(var(--color-base-lightest), 0.5); }
.gfield_label .gfield_required,
  .gfield_description .gfield_required,
  .form-label .gfield_required {
    display: none; }
.gfield_label .error-display,
  .gfield_description .error-display,
  .form-label .error-display {
    display: none;
    opacity: 0;
    transition: .3s ease;
    color: #FFB999; }
.gfield_description {
  color: rgba(var(--color-base-lightest), 0.5);
  margin-bottom: 8px; }
@media only screen and (min-width: 63.9375em) {
    .gfield_description {
      display: inline;
      padding-left: 10px;
      margin-bottom: 0; } }
.gfield_description.validation_message {
    padding-left: 0;
    color: #FFB999; }
.validation_error {
  display: none; }
.gform_confirmation_message {
  background: #7cbbbf;
  padding: 40px;
  text-align: center;
  color: #293033; }
.gform_confirmation_message strong {
    font-weight: 500; }
.grecaptcha-badge {
  visibility: hidden; }
.recaptcha-note {
  padding-top: 10px;
  font-size: 11px;
  opacity: 0.2; }
.recaptcha-note a {
    color: #fff;
    font-weight: 500; }
.form-group.error .form-label .error-display {
  display: block;
  opacity: .7; }
input.error {
  border-color: red; }
.gform_ajax_spinner {
  margin-top: 10px; }
/*Global gravity form styles*/
.gform_body {
  padding-bottom: 20px;
  /*Input field types*/
  /*Select field*/
  /*Two column support*/
  /*Custom checkbox/radio styles*/
  /*Label styles*/ }
.gform_body .gform_fields {
    list-style: none;
    margin: 0;
    padding: 0; }
.gform_body .gfield {
    padding: 0; }
.gform_body .gfield:before {
      display: none; }
.gform_body ul {
    margin: 0;
    padding-left: 0 !important; }
.gform_body li {
    padding-left: 0 !important; }
.gform_body li:before {
      display: none !important; }
.gform_body input[type="text"],
  .gform_body input[type="email"],
  .gform_body input[type="tel"],
  .gform_body textarea,
  .gform_body input[type="text"].facetwp-search {
    background: var(--color-base-light);
    border: none;
    color: var(--color-base-darkest);
    font-size: 1.125rem;
    letter-spacing: -0.25px;
    padding: 10px 15px;
    width: 100%;
    border-radius: 5px;
    margin-top: 0 !important;
    transition: .3s; }
.gform_body input[type="text"]:focus,
    .gform_body input[type="email"]:focus,
    .gform_body input[type="tel"]:focus,
    .gform_body textarea:focus,
    .gform_body input[type="text"].facetwp-search:focus {
      background-color: var(--color-accent-light-gray);
      outline: none;
      transition: .3s; }
.gform_body .gfield_select {
    -webkit-appearance: none;
            appearance: none;
    background: var(--color-base-light) url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTMiIGhlaWdodD0iOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTIuNDQ3LjY5TDYuNjkxIDcuMjJhLjI0LjI0IDAgMDEtLjE5My4wOTNjLS4wOSAwLS4xNTQtLjAzMS0uMTkzLS4wOTNMLjU0OS42OUMuNDkuNjE3LjQ4Mi41MzUuNTI1LjQ0NC41NjguMzU2LjY0My4zMTIuNzQ4LjMxMmgxMS41Yy4xMDYgMCAuMTguMDQ0LjIyMy4xMzIuMDQzLjA5LjAzNS4xNzMtLjAyNC4yNDZ6IiBmaWxsPSIjOTM5Nzk5Ii8+PC9zdmc+") center right 20px/12px 7px no-repeat;
    border-radius: 5px;
    border: 1px solid var(--color-primary);
    box-sizing: border-box;
    display: block;
    font-size: 1.125rem;
    letter-spacing: -0.25px;
    max-width: 100%;
    width: 100%; }
.gform_body .gfield_select option {
      font-weight: normal; }
.gform_body .gfield_select::-ms-expand {
      display: none; }
.gform_body .gfield_select:focus {
      outline: none;
      background-color: var(--color-accent-cooler-gray); }
.gform_body .name_first, .gform_body .name_last {
    margin: 0 !important; }
.gform_body .ginput_complex {
    display: flex; }
.gform_body .ginput_complex span {
      flex-grow: 1;
      margin: 0 10px; }
.gform_body input[type="checkbox"],
  .gform_body input[type="radio"] {
    opacity: 0; }
.gform_body input[type="checkbox"] + label:after,
    .gform_body input[type="radio"] + label:after {
      content: '';
      opacity: 0;
      transition: .3s;
      visibility: hidden; }
.gform_body input[type="checkbox"]:checked + label:after,
    .gform_body input[type="radio"]:checked + label:after {
      opacity: 1;
      visibility: visible; }
.gform_body input[type="checkbox"]:focus + label:before,
    .gform_body input[type="radio"]:focus + label:before {
      border: solid 1px #cbedf1; }
@media only screen and (min-width: 63.9375em) {
    .gform_body .ginput_container_checkbox {
      column-count: 2; } }
.gform_body .gfield_consent_label,
  .gform_body .ginput_container_checkbox label {
    cursor: pointer;
    display: inline-block;
    font-size: 1.125rem;
    padding-left: 35px !important;
    position: relative;
    vertical-align: middle;
    /*Adds custom radio/checkbox*/
    /*Checkbox specific styles*/ }
.gform_body .gfield_consent_label:before, .gform_body .gfield_consent_label:after,
    .gform_body .ginput_container_checkbox label:before,
    .gform_body .ginput_container_checkbox label:after {
      content: '';
      display: inline-block;
      height: 25px;
      left: 0;
      position: absolute;
      top: 2px;
      transition: .3s;
      width: 25px; }
.gform_body .gfield_consent_label:before,
    .gform_body .ginput_container_checkbox label:before {
      background: var(--color-base-lightest); }
.gform_body .gfield_consent_label:after,
    .gform_body .ginput_container_checkbox label:after {
      background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTMiIGhlaWdodD0iMTAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEyLjkyIDIuNTJhLjIzLjIzIDAgMDAwLS4zMzhMMTEuMTcuNTIyYS4yNzMuMjczIDAgMDAtLjM1NyAwbC01LjMxNyA1LjA1LTIuMzE4LTIuMjA4YS4yNzMuMjczIDAgMDAtLjM1OCAwTDEuMDcgNS4wMjNhLjIzLjIzIDAgMDAwIC4zMzhMNS4zMTUgOS4zOWEuMzE1LjMxNSAwIDAwLjE4MS4wNjdjLjA3IDAgLjEyMy0uMDI4LjE4Mi0uMDY3TDEyLjkyIDIuNTJ6IiBmaWxsPSIjMDAwIi8+PC9zdmc+") center center/contain no-repeat;
      height: 11px;
      left: 6px;
      top: 9px;
      width: 14px; }
.gform_body input[type="checkbox"] {
    position: absolute; }
.gform_footer input[type="submit"] {
  -webkit-appearance: none;
          appearance: none;
  display: inline-block;
  color: white;
  height: 100%;
  background: var(--color-primary);
  background-size: 200% 100%;
  background-position: right bottom;
  background-repeat: no-repeat;
  text-transform: uppercase;
  font-family: var(--font-tertiary);
  font-weight: 400;
  font-style: normal;
  font-size: var(--text-sm);
  text-align: center;
  text-decoration: none;
  letter-spacing: 0.025rem;
  padding: var(--space-sm) var(--space-md) var(--space-sm) var(--space-md);
  border: 1px solid transparent;
  cursor: pointer;
  transition: all 0.3s var(--easing); }
.gform_footer input[type="submit"]:visited {
    color: white; }
.gform_footer input[type="submit"]:hover {
    background-color: var(--color-base-lightest);
    color: var(--color-primary);
    border: 1px solid var(--color-primary); }
.gform_footer input[type="submit"]:active, .gform_footer input[type="submit"]:focus {
    background-position: left bottom;
    color: white; }
.gform_footer input[type="submit"]:focus, .gform_footer input[type="submit"]:active {
    outline: 0.125rem solid var(--color-accent-primary); }
/*--------------------------------------------------------------
# Modal
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Modal - Default styles
--------------------------------------------------------------*/
/**
 * Including the at-only style with the dialog CSS as it is required
 * to visually hide a dialog's heading if desired.
 */
.at-only:not(:focus):not(:active) {
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(100%);
          clip-path: inset(100%);
  height: 0.0625rem;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 0.0625rem; }
/**
 * Trigger styling
 */
[data-modal-open][hidden] {
  display: none; }
/**
 * When a modal dialog is open, don't allow scrolling of content
 * beneath (on desktop). Also useful in negating instances of
 * double scroll bars.
 * (browser window + dialog if long enough content)
 */
body.modal-open {
  overflow: hidden; }
/**
 * Modal Dialog base styling
 */
.js [data-modal],
.a11y-modal {
  -webkit-overflow-scrolling: touch;
  background: white;
  bottom: 0;
  margin: 0;
  max-height: 100%;
  height: 100vh;
  width: 37rem;
  opacity: 1;
  overflow: auto;
  padding: 1.5rem;
  position: fixed;
  right: 0;
  top: 0;
  visibility: visible;
  width: 100%;
  z-index: 100;
  overflow-y: auto; }
.js [data-modal],
.a11y-modal {
  transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out; }
/**
 * To allow for CSS animations, hidden modal dialogs are
 * not set to display: none, but rather the following rule
 * set, in combination with the dialog's default
 * position: fixed, will keep dialogs hidden from
 * all users until opened.
 *
 * This also solves an issue with iOS VO + Safari not allowing
 * modal dialogs to be focused, if the dialog is initially
 * set to "display: none".
 */
.js [data-modal][hidden],
.a11y-modal[hidden] {
  display: block;
  opacity: 0;
  pointer-events: none;
  transform: translateX(40vh);
  visibility: hidden; }
.a11y-modal__close-btn {
  border: none; }
/* Default close button hidden by default */
.is-icon-btn {
  background: none;
  border: none;
  height: 2em;
  padding: 0;
  position: absolute;
  right: 1em;
  top: 1em;
  width: 2em;
  display: none; }
.is-icon-btn:hover [data-modal-x],
.is-icon-btn:focus [data-modal-x] {
  color: #600;
  transform: scale(1.3) rotate(45deg);
  transition: transform 0.2s ease-in-out; }
[data-modal-x] {
  border-right: var(--brdr-xs) solid;
  bottom: 0;
  display: block;
  height: 2em;
  left: 0;
  margin: auto;
  pointer-events: none;
  position: relative;
  right: 0;
  top: 0;
  transform: rotate(45deg);
  width: 0.125rem; }
[data-modal-x]:after {
  border-right: var(--brdr-xs) solid;
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transform: rotate(-90deg);
  width: 100%; }
/*--------------------------------------------------------------
# Modal - Story
--------------------------------------------------------------*/
.modal {
  z-index: 100; }
.modal::before {
    content: url(images/dot-grid.svg);
    width: 18.75rem;
    height: 14rem;
    bottom: 0;
    right: 0;
    background-repeat: no-repeat;
    display: block;
    position: fixed;
    opacity: 0.4; }
.modal__bkg:before, .modal__overlay:before {
    content: "";
    position: fixed;
    background-color: rgba(0, 131, 131, 0.85);
    top: 0;
    left: 0;
    opacity: 0;
    transition: opacity var(--timing) var(--easing); }
@media only screen and (min-width: 56.25em) {
    .modal__bkg {
      background-image: url(images/temp/modal-bkg.jpg);
      background-size: cover;
      position: absolute;
      top: 0;
      left: 0;
      width: 0;
      height: 0;
      opacity: 0;
      transition: opacity var(--timing) var(--easing); } }
.modal-open .modal__bkg:before,
  .modal-open .modal__overlay:before {
    width: 100vw;
    height: 100%;
    opacity: 1;
    z-index: 11; }
@media only screen and (min-width: 56.25em) {
    .modal-open .modal__bkg {
      width: 100vw;
      height: 100vh;
      opacity: 1;
      z-index: 50; } }
.modal--story {
    width: 98%;
    border-left: var(--brdr-lg) solid var(--color-secondary); }
@media only screen and (min-width: 56.25em) {
      .modal--story {
        border-left: none;
        margin-left: 0;
        background-color: transparent;
        width: 55.875rem;
        margin-left: 4.625rem;
        padding: 0; } }
@media only screen and (min-width: 75em) {
      .modal--story {
        width: 70rem; } }
.modal--story .modal__wrapper {
      min-height: 100%;
      top: 0;
      bottom: auto; }
@media only screen and (min-width: 56.25em) {
        .modal--story .modal__wrapper {
          background-color: white;
          border-left: var(--brdr-lg) solid var(--color-secondary);
          padding: 1.5rem;
          margin-left: 5.125rem; } }
@media only screen and (min-width: 75em) {
        .modal--story .modal__wrapper {
          margin-left: 5.9375rem; } }
.modal--story .modal__figure {
      margin: 0; }
@media only screen and (min-width: 56.25em) {
        .modal--story .modal__figure {
          margin: 0 0 0 -8.875rem;
          z-index: 200; } }
@media only screen and (min-width: 75em) {
        .modal--story .modal__figure {
          margin: 0 0 0 -10rem; } }
.modal--story .modal__main {
      width: 90%;
      margin: 0 auto; }
@media only screen and (min-width: 56.25em) {
        .modal--story .modal__main {
          display: flex; } }
.modal--story .modal__content {
      margin-top: 1.5rem; }
@media only screen and (min-width: 56.25em) {
        .modal--story .modal__content {
          padding: 0 0 0 3.25rem;
          max-width: 43.75rem;
          margin: 0 auto; } }
@media only screen and (min-width: 75em) {
        .modal--story .modal__content {
          padding: 0 0 0 2rem; } }
.modal__avatar {
    width: 7.5rem;
    height: 7.5rem; }
@media only screen and (min-width: 56.25em) {
      .modal__avatar {
        border: solid var(--brdr-sm) white;
        width: 10rem;
        height: 10rem;
        margin: 0; } }
@media only screen and (min-width: 75em) {
      .modal__avatar {
        width: 11.875rem;
        height: 11.875rem; } }
.modal__body {
    margin-top: 1.5rem; }
.modal__top {
    padding-right: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
    justify-content: flex-end;
    margin-bottom: 1.5rem; }
/*--------------------------------------------------------------
# Menu
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Data
--------------------------------------------------------------*/
.data {
  display: grid; }
@media only screen and (min-width: 47.9375em) {
    .data {
      grid-template-columns: repeat(41, 1fr);
      grid-template-rows: repeat(4, 1fr); } }
@media only screen and (min-width: 63.9375em) {
    .data {
      grid-template-columns: repeat(47, 1fr);
      grid-template-rows: repeat(3, 1fr); } }
.data__intro {
    margin-bottom: 3.75rem; }
@media only screen and (min-width: 47.9375em) {
      .data__intro {
        grid-row: 1;
        grid-column: 1/42;
        margin-bottom: 0; } }
@media only screen and (min-width: 63.9375em) {
      .data__intro {
        grid-column: 1/17;
        grid-row: 1;
        padding-top: 1.75rem; } }
.data__action {
    margin-top: 1rem; }
.data__item {
    position: relative;
    padding: 5rem 1.75rem 1.75rem;
    margin-bottom: 1.75rem;
    color: white;
    background: var(--color-base-darker);
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-end; }
@media only screen and (min-width: 47.9375em) {
      .data__item {
        padding: 2.75rem 1.75rem 1.75rem;
        margin: 0; } }
.data__item:last-child {
      margin-bottom: 0; }
.data__txt {
    margin-bottom: 0;
    width: 100%; }
@media only screen and (min-width: 47.9375em) {
    .data .item--1 {
      grid-column: 1/20;
      grid-row: 2/4;
      margin-bottom: 5.5%; } }
@media only screen and (min-width: 63.9375em) {
    .data .item--1 {
      grid-column: 3/17;
      grid-row: 2/4;
      margin-top: 20%;
      margin-bottom: 0; } }
@media only screen and (min-width: 47.9375em) {
    .data .item--2 {
      grid-column: 21/42;
      grid-row: 2/3;
      margin-bottom: 5.5%; } }
@media only screen and (min-width: 63.9375em) {
    .data .item--2 {
      grid-column: 18/33;
      grid-row: 1/3;
      margin-bottom: 8%; } }
@media only screen and (min-width: 47.9375em) {
    .data .item--3 {
      grid-column: 21/42;
      grid-row: 3/4;
      margin-bottom: 5.5%; } }
@media only screen and (min-width: 63.9375em) {
    .data .item--3 {
      grid-column: 18/33;
      grid-row: 3/4;
      margin-bottom: 0; } }
@media only screen and (min-width: 47.9375em) {
    .data .item--4 {
      grid-column: 1/24;
      grid-row: 4/5; } }
@media only screen and (min-width: 63.9375em) {
    .data .item--4 {
      grid-column: 34/48;
      grid-row: 1/2;
      margin-bottom: 8%; } }
@media only screen and (min-width: 47.9375em) {
    .data .item--5 {
      grid-column: 25/42;
      grid-row: 4/5; } }
@media only screen and (min-width: 63.9375em) {
    .data .item--5 {
      grid-column: 34/48;
      grid-row: 2/4; } }
.data .item--gray {
    color: var(--color-primary-darkest);
    background: linear-gradient(rgba(225, 233, 237, 0.85), rgba(225, 233, 237, 0.85)), url(images/temp/data-item-1.jpg); }
.data .item--gray .data__label {
      border-top: solid var(--brdr-xxs) var(--color-primary-darkest); }
.data .item--orange {
    background: linear-gradient(rgba(211, 70, 0, 0.85), rgba(211, 70, 0, 0.85)), url(images/temp/data-item-2.jpg); }
.data .item--orange .ico__path {
      stroke: white; }
.data .item--teal {
    background: linear-gradient(rgba(0, 131, 131, 0.85), rgba(0, 131, 131, 0.85)), url(images/temp/data-item-3.jpg); }
.data .item--teal .ico__path {
      stroke: white; }
.data .item--teal-darkest {
    background: linear-gradient(rgba(0, 44, 46, 0.8), rgba(0, 44, 46, 0.8)), url(images/temp/data-item-4.jpg); }
.data .item--teal-darkest .ico__path {
      stroke: white; }
.data .item--yellow {
    color: var(--color-primary-darkest);
    background: linear-gradient(rgba(255, 210, 33, 0.85), rgba(255, 210, 33, 0.85)), url(images/temp/data-item-5.jpg); }
.data .item--yellow .data__label {
      border-top: solid var(--brdr-xxs) var(--color-primary-darkest); }
.data .item--gray, .data .item--orange, .data .item--teal, .data .item--teal-darkest, .data .item--yellow {
    background-size: cover;
    background-position: 50% 50%; }
.data__emphasis {
    display: flex;
    justify-content: space-between;
    align-items: flex-end; }
.data__ico .ico {
    width: 4rem;
    height: 4rem; }
.data__num {
    font-family: var(--font-secondary);
    font-weight: 500;
    font-style: normal;
    font-size: 2.5rem;
    line-height: 1.1; }
@media only screen and (min-width: 47.9375em) {
      .data__num {
        font-size: 3.25rem;
        line-height: 1; } }
.data__label {
    font-size: 1rem;
    line-height: 1.5;
    border-top: solid var(--brdr-xxs) white;
    display: block;
    padding-top: 1rem;
    margin-top: 1rem; }
/*--------------------------------------------------------------
# Guide
--------------------------------------------------------------*/
.guide {
  padding-bottom: 7.75rem; }
@media only screen and (min-width: 47.9375em) {
    .guide {
      padding-bottom: 0;
      padding-top: 0; } }
.guide__title {
    margin-top: 2rem;
    margin-bottom: 2rem; }
.guide .tabs__link-content {
    pointer-events: none; }
.guide .tabs--guide {
    background-color: var(--color-accent-primary); }
@media only screen and (min-width: 47.9375em) {
      .guide .tabs--guide {
        padding: 2.5rem 0; } }
@media only screen and (min-width: 47.9375em) {
    .guide .tabs__list {
      flex-direction: column;
      max-width: 18.75rem;
      margin-right: 1.75rem; } }
@media only screen and (min-width: 56.25em) {
    .guide .tabs__list {
      max-width: 34rem; } }
.guide .tabs__thmbnl {
    position: relative;
    display: none; }
@media only screen and (min-width: 47.9375em) {
      .guide .tabs__thmbnl {
        display: block;
        width: 100%;
        margin-bottom: 0.5rem; } }
@media only screen and (min-width: 56.25em) {
      .guide .tabs__thmbnl {
        width: auto;
        margin-bottom: 0rem; } }
.guide .tabs__link {
    font-family: var(--font-primary);
    font-weight: 600;
    font-style: normal;
    font-size: 1rem;
    line-height: 1.25;
    text-transform: uppercase;
    text-align: left;
    padding: 1.75rem 1.75rem 1.75rem 0;
    color: var(--color-primary-darkest);
    border-bottom: var(--brdr-xxs) solid var(--color-base-darker);
    transition: color var(--timing) var(--easing), transform var(--timing) var(--easing); }
@media only screen and (min-width: 47.9375em) {
      .guide .tabs__link {
        padding: 1.75rem 0;
        font-size: 1rem;
        line-height: 1.25; } }
@media only screen and (min-width: 56.25em) {
      .guide .tabs__link {
        padding: 1.75rem 1.75rem 1.75rem 0; } }
.guide .tabs__link .ico__path {
      stroke: var(--color-primary-darkest);
      transition: stroke var(--timing) var(--easing); }
.guide .tabs__link-content {
      display: flex;
      transition: transform var(--timing) var(--easing); }
@media only screen and (min-width: 47.9375em) {
        .guide .tabs__link-content {
          flex-wrap: wrap; } }
@media only screen and (min-width: 56.25em) {
        .guide .tabs__link-content {
          flex-wrap: nowrap; } }
.guide .tabs__link-txt {
      border-right: var(--brdr-xxs) solid var(--color-base-darker);
      padding: 0 1.5rem;
      margin-right: 1.5rem;
      width: 92%; }
@media only screen and (min-width: 47.9375em) {
        .guide .tabs__link-txt {
          align-self: stretch;
          padding-left: 0;
          width: 74%; } }
@media only screen and (min-width: 56.25em) {
        .guide .tabs__link-txt {
          padding: 0 1.5rem;
          width: 100%; } }
.guide .tabs__link-ico {
      align-self: center;
      transition: transform var(--timing) var(--easing); }
.guide .tabs__link .tabs__thmbnl:after {
      content: "";
      position: absolute;
      width: 7.5rem;
      height: 4.6875rem;
      background-color: rgba(211, 70, 0, 0.8);
      top: 0;
      left: 0;
      opacity: 0;
      border-left: var(--brdr-lg) solid var(--color-primary-darker);
      transition: opacity var(--timing) var(--easing); }
@media only screen and (min-width: 47.9375em) {
      .guide .tabs__link:hover .tabs__link-content, .guide .tabs__link:active .tabs__link-content, .guide .tabs__link:focus .tabs__link-content {
        transform: translateX(28px); } }
.guide .tabs__link.is-active {
      color: white;
      background-color: var(--color-secondary);
      border-bottom: var(--brdr-xxs) solid var(--color-base-darker); }
@media only screen and (min-width: 47.9375em) {
        .guide .tabs__link.is-active {
          color: var(--color-secondary);
          background-color: transparent; } }
@media only screen and (min-width: 47.9375em) {
        .guide .tabs__link.is-active .tabs__link-content {
          transform: translateX(28px); } }
.guide .tabs__link.is-active .tabs__link-txt {
        border-right: var(--brdr-xxs) solid white; }
@media only screen and (min-width: 47.9375em) {
          .guide .tabs__link.is-active .tabs__link-txt {
            border-right-color: var(--color-base-darker); } }
.guide .tabs__link.is-active .tabs__thmbnl:after {
        opacity: 1; }
.guide .tabs__link.is-active .tabs__link-ico {
        transform: rotate(90deg); }
@media only screen and (min-width: 47.9375em) {
          .guide .tabs__link.is-active .tabs__link-ico {
            transform: none; } }
.guide .tabs__link.is-active .ico__path {
        stroke: white; }
@media only screen and (min-width: 47.9375em) {
          .guide .tabs__link.is-active .ico__path {
            stroke: var(--color-secondary); } }
.guide .tabs__thmbnl-img {
    width: 7.5rem;
    height: auto; }
.guide .tabs__num {
    display: block; }
.guide .tabs__content {
    width: 100%;
    padding: 1.75rem; }
@media only screen and (min-width: 47.9375em) {
      .guide .tabs__content {
        width: 54%;
        min-height: 42.5rem;
        border-left: var(--brdr-xxs) solid var(--color-base-darker);
        padding: 0 0 0 1.75rem; } }
@media only screen and (min-width: 56.25em) {
      .guide .tabs__content {
        width: 51%;
        min-height: 37.5rem; } }
.guide .tabs .card {
    border-left: none; }
.guide .tabs .card__main {
      border-left: var(--brdr-xl) solid var(--color-primary-darkest); }
.guide .tabs__section {
    padding: 0;
    outline-offset: 0;
    margin-top: 0;
    margin-bottom: -9.5rem; }
@media print {
      .guide .tabs__section {
        margin-bottom: 0; } }
@media only screen and (min-width: 47.9375em) {
      .guide .tabs__section {
        margin: -9.75rem auto 0 auto;
        max-width: 30.875rem; } }
/*--------------------------------------------------------------
# Internal Page Header
--------------------------------------------------------------*/
.internal-header h1 {
  position: relative;
  display: inline-block; }
.internal-header h1:after {
    content: '';
    background-color: lightgray;
    height: 2px;
    width: 100%;
    position: absolute;
    left: 0;
    bottom: -6px; }
.internal-header .categories {
  text-align: left; }
@media only screen and (min-width: 63.9375em) {
    .internal-header .categories {
      text-align: center; } }
.internal-header .categories .cat-label {
    border: 1px solid var(--color-primary);
    margin: 1.5rem .5rem;
    display: inline-block;
    padding: 0.45rem 0.75rem;
    color: var(--color-primary);
    font-family: var(--font-secondary);
    text-decoration: none; }
.internal-header .categories .cat-label:hover {
      background-color: var(--color-primary);
      color: var(--color-base-lightest); }
.internal-header .title {
  text-align: left; }
@media only screen and (min-width: 63.9375em) {
    .internal-header .title {
      text-align: center; } }
.internal-header .meta {
  text-align: left; }
@media only screen and (min-width: 63.9375em) {
    .internal-header .meta {
      text-align: center; } }
.internal-header .post-img {
  background-position: 50%;
  background-size: cover;
  background-repeat: no-repeat;
  padding-bottom: 35%;
  transition: all .3s ease;
  margin: var(--space-lg) 0 var(--space-lg); }
@media only screen and (min-width: 63.9375em) {
    .internal-header .post-img {
      margin: var(--space-lg) var(--space-sm) var(--space-lg); } }
/*--------------------------------------------------------------
# Resources Features Filter
--------------------------------------------------------------*/
.r-features {
  margin: 20px 0; }
.r-features .features {
    display: flex;
    flex-wrap: wrap;
    column-gap: 40px;
    row-gap: 20px; }
.r-features .features .feature {
      flex-grow: 1;
      flex-shrink: 1;
      flex-basis: calc(25% - 30px);
      color: #fff;
      font-weight: 700;
      padding: 30px 20px;
      display: flex;
      flex-direction: column; }
.r-features .features .feature .heading {
        font-size: 38px;
        flex: 1 1 auto;
        margin-bottom: 20px;
        max-width: 210px; }
.r-features .features .feature .content {
        flex: 0 1 auto; }
.r-features .features .feature .content p:last-child {
          margin-bottom: 0; }
.r-features .features .feature .content .btn {
          background-color: #fff;
          color: #585858;
          height: auto;
          width: 100%;
          padding: 20px;
          margin-bottom: 0; }
.r-features .features .feature .content .btn:hover, .r-features .features .feature .content .btn:focus {
            opacity: .7; }
.r-features .features .feature .content a:not(.btn) {
          color: #fff;
          text-decoration: none;
          transition: all ease .3s; }
.r-features .features .feature .content a:not(.btn):hover, .r-features .features .feature .content a:not(.btn):focus {
            opacity: .7; }
@media screen and (max-width: 1199px) {
  .r-features .features .feature .heading {
    font-size: 30px; } }
@media screen and (max-width: 1022px) {
  .r-features .features .feature {
    flex-basis: calc(50% - 20px); }
    .r-features .features .feature .heading {
      max-width: none; } }
@media screen and (max-width: 599px) {
  .r-features .features .feature {
    flex-basis: 100%; } }
/*--------------------------------------------------------------
# Resources Content Filter
--------------------------------------------------------------*/
.r-content {
  border-bottom: 1px solid #d1d3d4; }
.r-content .inner {
  max-width: 900px;
  margin: 0 auto; }
.resources-video {
  max-width: 900px;
  margin: 0 auto; }
.resources-video .wp-block-embed__wrapper {
  aspect-ratio: 16/9; }
.resources-video .wp-block-embed__wrapper iframe {
  width: 100%;
  height: 100%; }
/*--------------------------------------------------------------
# Resources Content Filter
--------------------------------------------------------------*/
.r-feeds {
  margin: 50px 0 20px; }
.r-feeds .feeds {
    column-gap: 40px;
    row-gap: 20px;
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, 1fr); }
.r-feeds .feeds:after {
      content: '';
      position: absolute;
      top: 30px;
      left: 0;
      right: 0;
      height: 1px;
      background-color: #d1d3d4; }
.content-page .r-feeds .feeds:after{
	content:none;
	position:relative;
	top:auto;
	left:auto;
	right:auto;
	background-color:unset;
}
.r-feeds .feeds > .col {
      flex-grow: 1;
      flex-shrink: 1;
      flex-basis: calc(25% - 30px); }
.r-feeds .feed_col {
    display: inline-grid;
    grid-template-rows: auto 1fr auto; }
.r-feeds .feed_col h2 {
      margin-bottom: 30px; }
.r-feeds .feed_col .feed {
      display: inline-grid;
      grid-template-rows: 1fr 1fr;
      row-gap: 20px; }
.r-feeds .feed_col .more-items {
      margin-top: 20px; }
.r-feeds .feed_col .more-items .btn {
        width: 100%;
        height: auto;
        margin-bottom: 0; }
.r-feeds .post {
    background-color: #fff;
    border: 1px solid #d1d3d4;
    display: flex;
    flex-direction: column; }
.r-feeds .post .content {
      padding: 15px;
      font-size: 16px;
      flex: 1 1 auto;
      display: flex;
      flex-direction: column; }
.r-feeds .post .image img {
      width: 100%;
      height: 200px;
      -o-object-fit: cover;
         object-fit: cover;
      -o-object-position: 50% 50%;
         object-position: 50% 50%; }
.r-feeds .post a {
      text-decoration: none; }
.r-feeds .post .link {
      margin-top: 10px;
      flex: 1 1 auto;
      display: flex;
      align-items: flex-end; }
.r-feeds .post .link a {
        color: #777; }
.r-feeds .post .link a:hover, .r-feeds .post .link a:focus {
          color: var(--color-primary); }
.r-feeds .video_col .post .image {
    position: relative; }
.r-feeds .video_col .post .image:after {
      content: '';
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      background-image: url(images/play-btn.png);
      pointer-events: none;
      background-size: cover;
      height: 80px;
      width: 80px; }
@media screen and (max-width: 1022px) {
  .r-feeds .feeds {
    grid-template-columns: auto; }
    .r-feeds .feeds:after {
      display: none; }
  .r-feeds .feed_col {
    grid-template-rows: auto!important; }
    .r-feeds .feed_col h2 {
      border-bottom: 1px solid #d1d3d4;
      line-height: 1.4; } }
@media screen and (max-width: 599px) {
  .r-feeds .feeds {
    grid-template-columns: repeat(1, 1fr); } }
/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
@media only screen and (min-width: 63.9375em) {
  .page-template-template-fullwidth section:not(.hero) {
    padding: var(--space-xxl) var(--space-lg); } }
.page-template-template-fullwidth.home .tcv {
  padding-bottom: var(--space-sm) !important; }
.page-template-template-fullwidth.home .slb {
  padding-top: var(--space-sm) !important; }
.page-template-default section:not(.hero):not(.cb), .product-template-default section:not(.hero):not(.cb) {
  margin: var(--space-md) 0;
  padding: var(--space-md) var(--space-lg);
  overflow: hidden;
  border-radius: 4px;
  box-shadow: 15px 15px 34px -17px #0000002e; }
.page-template-default .subtitle, .product-template-default .subtitle {
  text-align: left;
  color: var(--color-primary);
  font-size: var(--text-md); }
@media only screen and (min-width: 63.9375em) {
    .page-template-default .subtitle, .product-template-default .subtitle {
      text-align: center;
      padding: 0 var(--space-xxl); } }
.page-template-default .article-footer .categories-tags, .page-template-default .page-footer .categories-tags, .product-template-default .article-footer .categories-tags, .product-template-default .page-footer .categories-tags {
  margin: 1rem 0;
  border-bottom: 1px solid var(--color-base-lighter);
  padding: 3rem 0; }
@media only screen and (min-width: 63.9375em) {
    .page-template-default .article-footer .categories-tags .categories, .page-template-default .article-footer .categories-tags .tags, .page-template-default .page-footer .categories-tags .categories, .page-template-default .page-footer .categories-tags .tags, .product-template-default .article-footer .categories-tags .categories, .product-template-default .article-footer .categories-tags .tags, .product-template-default .page-footer .categories-tags .categories, .product-template-default .page-footer .categories-tags .tags {
      display: flex; } }
.page-template-default .article-footer .categories-tags .categories .f-label, .page-template-default .article-footer .categories-tags .tags .f-label, .page-template-default .page-footer .categories-tags .categories .f-label, .page-template-default .page-footer .categories-tags .tags .f-label, .product-template-default .article-footer .categories-tags .categories .f-label, .product-template-default .article-footer .categories-tags .tags .f-label, .product-template-default .page-footer .categories-tags .categories .f-label, .product-template-default .page-footer .categories-tags .tags .f-label {
    min-width: 15%;
    font-weight: bold;
    color: var(--color-base-darkest); }
.page-template-default .article-footer .author-description, .page-template-default .page-footer .author-description, .product-template-default .article-footer .author-description, .product-template-default .page-footer .author-description {
  margin: 1rem 0;
  padding: 3rem 0 .5rem; }
.page-template-default .article-footer .share, .page-template-default .page-footer .share, .product-template-default .article-footer .share, .product-template-default .page-footer .share {
  margin: var(--space-lg) 0 var(--space-md);
  border-top: 2px solid var(--color-primary);
  border-bottom: 2px solid var(--color-primary);
  padding: 3rem 0; }
@media only screen and (min-width: 63.9375em) {
    .page-template-default .article-footer .share, .page-template-default .page-footer .share, .product-template-default .article-footer .share, .product-template-default .page-footer .share {
      display: flex; } }
.page-template-default .article-footer .share .socials, .page-template-default .page-footer .share .socials, .product-template-default .article-footer .share .socials, .product-template-default .page-footer .share .socials {
    margin: var(--space-md) 0 0; }
@media only screen and (min-width: 63.9375em) {
      .page-template-default .article-footer .share .socials, .page-template-default .page-footer .share .socials, .product-template-default .article-footer .share .socials, .product-template-default .page-footer .share .socials {
        margin: 0; } }
.page-template-default .article-footer .share .f-label, .page-template-default .page-footer .share .f-label, .product-template-default .article-footer .share .f-label, .product-template-default .page-footer .share .f-label {
    min-width: 15%;
    font-weight: bold;
    color: var(--color-base-darkest);
    margin-bottom: 0; }
.page-template-default .related-posts, .product-template-default .related-posts {
  margin: var(--space-lg) 0;
  padding: 3rem 0; }
.page-template-default .related-posts h2, .product-template-default .related-posts h2 {
    margin-bottom: var(--space-md); }
.career-info {
  max-width: 76.25rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 5%;
  padding-right: 5%;
  padding-top: 6rem;
  padding-bottom: 4.875rem;
  border-bottom: var(--brdr-xxs) solid var(--color-base-darker); }
@media only screen and (min-width: 56.25em) {
    .career-info {
      padding-left: 0;
      padding-right: 0;
      display: flex;
      align-items: flex-start; } }
.career-info__aside {
    flex-basis: 27.54098%;
    margin-right: 2.29508%; }
.career-info__main {
    flex-basis: 53.11475%;
    margin-right: 2.29508%;
    margin-top: 2.5rem;
    padding-right: 2.29508%; }
@media only screen and (min-width: 56.25em) {
      .career-info__main {
        border-right: var(--brdr-xxs) solid var(--color-base-darker);
        margin-top: 0; } }
.career-info__footer {
    flex-basis: 14.7541%;
    display: flex;
    margin-top: 1.75rem;
    padding-top: 1.75rem;
    border-top: var(--brdr-xxs) solid var(--color-base-darker); }
@media only screen and (min-width: 56.25em) {
      .career-info__footer {
        border-top: none;
        margin-top: 0;
        padding-top: 0;
        flex-direction: column; } }
.career-info__footer .stat {
      padding-bottom: 1.75rem; }
.career-info__footer .stat .stat__heading {
        display: none; }
.career-info__footer .stat:last-child {
        border-left: var(--brdr-xxs) solid var(--color-base-darker); }
@media only screen and (min-width: 56.25em) {
          .career-info__footer .stat:last-child {
            padding-top: 1.75rem;
            border-left: none;
            border-top: 1px solid var(--color-base-darker); } }
.skills-required {
  padding: 4.8125rem 0;
  max-width: 76.25rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 5%;
  padding-right: 5%;
  display: flex;
  flex-direction: column; }
@media only screen and (min-width: 56.25em) {
    .skills-required {
      padding-left: 0;
      padding-right: 0;
      display: flex;
      align-items: flex-start; } }
@media only screen and (min-width: 56.25em) {
    .skills-required {
      flex-direction: row; } }
.skills-required__title {
    flex-basis: 27.54098%;
    margin-right: 2.29508%; }
.skills-required__image {
    flex-basis: 23.27869%;
    order: 1;
    width: 100%;
    height: auto; }
.skills-required__text {
    flex-basis: 40.32787%; }
@media only screen and (min-width: 56.25em) {
      .skills-required__text {
        margin-right: 6.55738%; }
        .skills-required__text ul {
          margin-top: 0; } }
.lists-with-cards__inner {
  padding: 4.8125rem 0;
  max-width: 76.25rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 5%;
  padding-right: 5%; }
@media only screen and (min-width: 56.25em) {
    .lists-with-cards__inner {
      padding-left: 0;
      padding-right: 0;
      display: flex;
      align-items: flex-start; } }
.lists-with-cards__lists {
  flex-basis: 27.54098%;
  margin-right: 2.29508%; }
.lists-with-cards__lists .list {
    margin: 0; }
.lists-with-cards__lists .link__content {
    text-transform: none;
    text-decoration: none;
    color: var(--color-primary-darkest);
    font-weight: 400;
    letter-spacing: 0;
    font-size: 1rem;
    line-height: 1.5; }
@media only screen and (min-width: 47.9375em) {
      .lists-with-cards__lists .link__content {
        font-size: 1.125rem;
        line-height: 1.55556; } }
.lists-with-cards__lists .link__content:after {
      margin-top: 0.4375rem; }
.lists-with-cards__cards {
  flex-basis: 70.16393%;
  padding-top: 4.8125rem; }
@media only screen and (min-width: 56.25em) {
    .lists-with-cards__cards {
      padding-top: 0; } }
.lists-with-cards__cards .card + .card {
    margin-top: 2rem; }
.multimedia-resources {
  padding: 5.625rem 0; }
.career-story {
  padding-top: 3.4375rem;
  padding-bottom: 5.5rem;
  background: var(--color-primary-darker); }
@media only screen and (min-width: 56.25em) {
    .career-story {
      padding-top: 5.375rem;
      padding-bottom: 6.1875rem;
      background-image: url("images/idylic-countryside.jpg");
      background-size: cover; } }
.career-story__inner {
    max-width: 76.25rem;
    margin-left: auto;
    margin-right: auto;
    padding-left: 5%;
    padding-right: 5%; }
@media only screen and (min-width: 56.25em) {
      .career-story__inner {
        padding-left: 0;
        padding-right: 0;
        display: flex;
        align-items: flex-start; } }
.career-story .card {
    margin: 0 auto; }
@media only screen and (min-width: 56.25em) {
      .career-story .card {
        flex-basis: 74.42623%; } }
.career-navigation {
  max-width: 76.25rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 5%;
  padding-right: 5%;
  padding: 3.125rem 0;
  justify-content: space-between; }
@media only screen and (min-width: 56.25em) {
    .career-navigation {
      padding-left: 0;
      padding-right: 0;
      display: flex;
      align-items: flex-start; } }
@media only screen and (min-width: 56.25em) {
    .career-navigation {
      align-items: center; } }
.career-navigation .link--return {
    flex-basis: 23.27869%; }
.career-navigation .link--previous, .career-navigation .link--next {
    flex-basis: 36.06557%;
    align-self: stretch; }
.career-navigation .link--previous {
    border-right: var(--brdr-lg) solid var(--color-base-darker);
    padding-right: 10.4918%; }
.career-navigation .link--next {
    border-left: var(--brdr-lg) solid var(--color-base-darker);
    padding-left: 10.4918%; }
.career-list__header {
  max-width: 76.25rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 5%;
  padding-right: 5%;
  padding-top: 6rem; }
@media only screen and (min-width: 56.25em) {
    .career-list__header {
      padding-left: 0;
      padding-right: 0;
      display: flex;
      align-items: flex-start; } }
.career-list__body {
  max-width: 76.25rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 5%;
  padding-right: 5%; }
@media only screen and (min-width: 56.25em) {
    .career-list__body {
      padding-left: 0;
      padding-right: 0;
      display: flex;
      align-items: flex-start; } }
.career-list__body .title--border-left {
    margin-bottom: 2rem; }
@media only screen and (min-width: 63.9375em) {
      .career-list__body .title--border-left {
        max-width: 66%;
        margin-left: 33%; } }
.menu__controls button + button {
  margin-left: 1.125rem; }
.is-loading {
  opacity: inherit !important; }
/*--------------------------------------------------------------
  # Filter & search results text
  --------------------------------------------------------------*/
.results {
  color: var(--color-base-darker);
  margin-bottom: 0; }
.results b {
    color: var(--color-primary-darkest); }
body.archive .site {
  background-color: var(--color-base-lightest); }
body.archive .main {
  padding-top: var(--space-xl); }
.search-page__header {
  margin: var(--space-lg) 0; }
.search-page__title {
  text-align: center; }
.b-index {
  background-color: var(--color-base-lightest);
  padding-top: var(--space-xl);
  padding-bottom: var(--space-sm); }
.b-index__search {
    max-width: 50%;
    padding: var(--space-sm) var(--space-md); }
.b-index__search input {
      background: var(--color-accent-light-gray);
      border: none;
      color: var(--color-base-darkest);
      font-size: 1.125rem;
      letter-spacing: -0.25px;
      padding: 10px 15px;
      width: 100%;
      border-radius: 5px;
      margin-top: 0 !important;
      transition: .3s; }
.b-index__search input:focus {
        background-color: var(--color-accent-light-gray);
        outline: none;
        transition: .3s; }
.no-content .page-content {
  margin-top: 2em;
  margin-left: 2em; }
@media only screen and (min-width: 63.9375em) {
  .single-product .hero__container {
    min-height: 40vh; } }
.single-product .tcc {
  background-color: var(--color-base-white);
  margin-bottom: var(--space-lg); }
.single-product .woocommerce {
  background-color: var(--color-base-white);
  border-radius: 4px; }
@media only screen and (min-width: 63.9375em) {
    .single-product .woocommerce {
      padding: var(--space-xl) var(--space-md); } }
.single-product .woocommerce .product_meta {
    display: none; }
.single-product .woocommerce .woocommerce-Tabs-panel .responsive {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    max-width: 100%;
    margin-bottom: 40px; }

.single-team .info {
  display: flex;
  flex-direction: column; }
@media only screen and (min-width: 63.9375em) {
    .single-team .info {
      flex-direction: row; }
      .single-team .info > * {
        width: 50%; } }
.single-team .info .post-img {
    min-height: 600px;
    margin-top: 0;
    background-position: top; }
.single-team .info .title {
    border-bottom: 2px solid var(--color-primary);
    display: inline-block;
    margin-bottom: 1rem; }
.single-team .info .bio {
    padding: 0 1rem; }
.single-team .info .socials {
    margin: 0 0 var(--space-sm); }
.single-team .info .socials__social:first-child {
      padding-left: .5rem; }
.helpful .helpful-controls {
  display: flex;
  width: 100%;
  max-width: 16em;
  justify-content: space-between;
  padding-bottom: 2em; }
.helpful .helpful-controls .helpful-counter {
    display: none; }
.facetwp__search-bar {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin: 2rem auto;
  padding-top: 2rem;
  border-top: var(--brdr-xxs) solid var(--color-base-darker); }
.facetwp__search-bar .results {
    padding-left: 2rem; }
.facetwp__search-bar .results:before {
      content: "";
      display: inline-block;
      border-left: var(--brdr-xxs) solid var(--color-base-darker);
      padding-left: 2rem;
      height: 2rem;
      vertical-align: middle; }
.facetwp__search-bar .filters-view {
    margin-left: auto; }
.facetwp-facet.facetwp-type-pager {
  margin: 2rem auto;
  text-align: center; }
.facetwp-radio.disabled,
.facetwp-checkbox.disabled {
  opacity: 1 !important;
  cursor: default;
  background: none;
  margin-bottom: 0;
  padding-left: 0;
  height: 0; }
.facetwp-slider-reset {
  display: none !important; }
.woocommerce {
  border-bottom: 2px solid var(--color-primary);
  margin-bottom: var(--space-lg); }
.woocommerce.columns-4 .products {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-end; }
.woocommerce.columns-4 .product {
    display: flex;
    flex-direction: column;
    align-items: flex-start; }
.woocommerce .single-product .product {
    display: flex;
    flex-direction: column;
    align-items: center; }
@media only screen and (min-width: 63.9375em) {
      .woocommerce .single-product .product {
        flex-direction: row;
        align-items: flex-start;
        justify-content: space-between; } }
.woocommerce .related.products {
    display: flex;
    flex-direction: column;
    border-top: 2px solid var(--color-primary);
    padding-top: 3rem;
    width: 100%; }
.woocommerce .related .products {
    display: flex;
    flex-direction: column;
    margin-top: 1em; }
@media only screen and (min-width: 63.9375em) {
      .woocommerce .related .products {
        flex-direction: row; } }
.woocommerce .related .products .product {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      box-shadow: 0px 1px 20px -2px #aeaeae;
      margin: 0 5px 10px;
      border-radius: 5px;
      overflow: hidden;
      padding: 0.95rem;
      width: 100% !important; }
@media only screen and (min-width: 63.9375em) {
        .woocommerce .related .products .product {
          max-width: 22%; } }
@media only screen and (min-width: 63.9375em) {
        .woocommerce .related .products .product img {
          width: auto !important; } }
.woocommerce .related .products .product .btn {
        max-width: 90px;
        text-align: center;
        height: auto; }
.woocommerce .entry-summary {
    padding-bottom: 1rem;
    width: 100% !important; }
@media only screen and (min-width: 63.9375em) {
      .woocommerce .entry-summary {
        width: 48% !important;
        padding-left: var(--space-lg); } }
.woocommerce .entry-summary .price {
      display: none; }
.woocommerce .entry-summary .panel h2 {
      display: none !important; }
.woocommerce .entry-summary .panel ul {
      list-style: disc !important; }
.woocommerce .entry-summary .wc-tab {
      background-color: var(--color-base-white);
      padding: var(--space-md) !important;
      border-radius: 4px;
      box-shadow: 15px 15px 34px 1px #0000002e; }
.woocommerce .entry-summary .wc-tabs {
      margin: 0 !important;
      overflow: visible !important;
      padding: 0 2rem !important;
      text-align: center; }
@media only screen and (min-width: 63.9375em) {
        .woocommerce .entry-summary .wc-tabs {
          text-align: left;
          padding: 0 !important; } }
.woocommerce .entry-summary .wc-tabs li {
        margin: 0 -2px !important;
        border-radius: 14px 14px 0 0 !important;
        padding: 0 !important;
        width: 100%; }
@media only screen and (min-width: 63.9375em) {
          .woocommerce .entry-summary .wc-tabs li {
            width: auto; } }
.woocommerce .entry-summary .wc-tabs li:active {
          border: 1px solid #515151; }
.woocommerce .entry-summary .wc-tabs li:after, .woocommerce .entry-summary .wc-tabs li:before {
          display: none; }
.woocommerce .entry-summary .wc-tabs li a {
          padding: 0.5rem 0.75rem !important;
          font-weight: 400 !important;
          border-radius: 14px 14px 0 0;
          width: 100%; }
.woocommerce .entry-summary .wc-tabs li a:active, .woocommerce .entry-summary .wc-tabs li a:focus {
            outline: 2px solid var(--color-primary); }
.woocommerce .entry-summary .wc-tabs:after, .woocommerce .entry-summary .wc-tabs:before {
        display: none !important; }
.woocommerce .woocommerce-product-gallery {
    border-right: 1px solid #d3ced2;
    background-color: var(--color-base-white);
    box-shadow: 15px 15px 34px -17px #0000002e;
    border-radius: 4px; }
@media only screen and (min-width: 63.9375em) {
      .woocommerce .woocommerce-product-gallery {
        padding-right: var(--space-lg); } }
@media only screen and (min-width: 63.9375em) {
    .woocommerce .woocommerce-product-gallery__image {
      padding: 2rem; } }
.woocommerce .flex-control-nav {
    display: flex;
    flex-direction: row;
    justify-content: center;
    padding: var(--space-md) 0 !important; }
.woocommerce .flex-control-nav li:before {
      display: none; }
.event_listing-template-default .post-img {
  display: none; }
.event_listing-template-default .wpem-theme-button {
  background: var(--color-primary); }
.event_listing-template-default .wpem-event-details .wpem-event-organizer {
  display: none !important; }
.event_listings .wpem-event-layout-icon.wpem-active-layout {
  background-color: var(--color-primary) !important; }
/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# jQuery UI Theme
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/
.color-primary {
  color: var(--color-primary);
  stroke: var(--color-primary); }
.color-secondary {
  color: var(--color-secondary);
  stroke: var(--color-secondary); }
.scrn-rdr-txt {
  position: absolute;
  left: -625rem;
  top: auto;
  width: 0.0625rem;
  height: 0.0625rem;
  overflow: hidden; }
.clearfix:after {
  content: ".";
  visibility: hidden;
  display: block;
  height: 0;
  clear: both; }
.alt-bg, .lists-with-cards {
  background-color: var(--color-accent-primary); }
.text-center {
  text-align: center; }
/* hi */
body.page-id-224 .swiper-wrapper {
  min-height: 450px; }
.no-banner {
  display: none; }
.resources-heading {
  margin: 40px 0; }






#post-1785 .outer .img{
	background-color: #fff;
	background-size:contain;
}

@media screen and (max-width: 991px) {
img.product-button{
float:none!important;
}
.zf-templateWidth {
    width: 100%!important;
}
.zf-nameWrapper input{
	width:100%!important;
}
}
.zf-fmFooter .zf-submitColor{ font-size:14px; padding:4px 10px;}
    
    .zf-submitColor{
        color: #fff;
        border:1px solid;
        border-color: #d52527 #d52527 #d52527;
        background: #d52527;
        background: -webkit-gradient(linear, left top, left bottom, from(#d52527), to(#d52527));
        background: -moz-linear-gradient(top,  #d52527,  #d52527);
        filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#2f9eec', endColorstr='#1988d6');
        -moz-box-shadow:0 1px 2px rgba(0, 0, 0, 0.15);
        -webkit-box-shadow:0 1px 2px rgba(0, 0, 0, 0.15);
        box-shadow:0 1px 2px rgba(0, 0, 0, 0.15);
        text-shadow:0 1px 0 rgba(0, 0, 0, 0.25);
        }
.zf-submitColor:hover{
        background: #d52527;
        background: -webkit-gradient(linear, left top, left bottom, from(#d52527), to(#d52527));
        background: -moz-linear-gradient(top,  #d52527, #d52527);
        filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#1988d6', endColorstr='#1988d6');
        }
        
       svg{ margin-right: 20px; }
	   
	   
	   
	.r-feeds .feed_col h2{
		font-size: 24px;
	}
	.r-feeds .feed_col .feed {
			grid-template-rows: 2fr 0fr;
	}
	.r-feeds .feed_col .feed{
		row-gap:0px;
		
	}
	.r-feeds .feeds{
		margin-bottom:40px;
	}
	.inn_col h3{
		margin-bottom:40px;
		padding:20px;
	}
	.inn_col p{
		text-align:center;
	}
	.inn_col .btn{
		display:inline-block;
		margin-bottom:0px;
	}
	
	.archive .r-feeds h2,
	.r-feeds .feed_col h2 {
		border-bottom: 1px solid #d1d3d4;
		line-height: 1.4; 
	}
	
	
	
	
	
.woocommerce div.product .woocommerce-tabs ul.tabss {
    list-style: none;
    padding: 0 0 0 1em;
    margin: 0 0 1.618em;
    overflow: hidden;
    position: relative
}

.woocommerce div.product .woocommerce-tabs ul.tabss li {
    border: 1px solid #cfc8d8;
    background-color: #e9e6ed;
    color: #515151;
    display: inline-block;
    position: relative;
    z-index: 0;
    border-radius: 4px 4px 0 0;
    margin: 0 -5px;
    
    padding: 0 1em
}

.woocommerce div.product .woocommerce-tabs ul.tabss li a {
    display: inline-block;
    padding: .5em 0;
    font-weight: 700;
    color: #515151;
    text-decoration: none
}

.woocommerce div.product .woocommerce-tabs ul.tabss li a:hover {
    text-decoration: none;
    color: #6a6a6a
}

.woocommerce div.product .woocommerce-tabs ul.tabss li.active {
    background: #fff;
    color: #515151;
    z-index: 2;
    border-bottom-color: #fff
}

.woocommerce div.product .woocommerce-tabs ul.tabss li.active a {
    color: inherit;
    text-shadow: inherit
}

.woocommerce div.product .woocommerce-tabs ul.tabss li.active::before {
    box-shadow: 2px 2px 0 #fff
}

.woocommerce div.product .woocommerce-tabs ul.tabss li.active::after {
    box-shadow: -2px 2px 0 #fff
}

.woocommerce div.product .woocommerce-tabs ul.tabss li::after,.woocommerce div.product .woocommerce-tabs ul.tabss li::before {
    border: 1px solid #cfc8d8;
    position: absolute;
    bottom: -1px;
    width: 5px;
    height: 5px;
    content: " ";
    box-sizing: border-box
}

.woocommerce div.product .woocommerce-tabs ul.tabss li::before {
    left: -5px;
    border-bottom-right-radius: 4px;
    border-width: 0 1px 1px 0;
    box-shadow: 2px 2px 0 #e9e6ed
}

.woocommerce div.product .woocommerce-tabs ul.tabss li::after {
    right: -5px;
    border-bottom-left-radius: 4px;
    border-width: 0 0 1px 1px;
    box-shadow: -2px 2px 0 #e9e6ed
}

.woocommerce div.product .woocommerce-tabs ul.tabss::before {
    position: absolute;
    content: " ";
    width: 100%;
    bottom: 0;
    left: 0;
    border-bottom: 1px solid #cfc8d8;
    z-index: 1
}

.woocommerce div.product .woocommerce-tabs .panel {
    margin: 0 0 2em;
    padding: 0
}
.product_meta{ display:none;}

.header__nav-menu > .menu-item:hover > .sub-menu{
	overflow:scroll;
}


body.page-template-template-product_category .grid {
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: minmax(16.6%, max-content) repeat(auto-fill, 16.6%)!important;
}
.content-page section ul li:before {
    content: "";
    position: absolute;
    left: 0;
    top: 5px;
    width: 10px;
    height: 10px;
    background-color: #000;
    border-radius: 50%;
}
.content-page ol li{
padding-left:0px!important;
}
.content-page ol li:before{
	position:relative;
    
    color:#000;
    padding-right:10px;
}
.site-main img.alignleft{
float:left; 
padding-right: 20px;
}
ul.sub-menu li.menu-item-has-children ul.sub-menu li.secondary{
	border-left: 3px solid #f3f3f2;
	position:relative;
	left:-13px;
}
ul.sub-menu li.hidden{
	display:none;
	visibility:hidden;
}
ul.sub-menu li.menu-item-has-children ul.sub-menu li.secondary ul.sub-menu{
	margin-left: -2px;
	border-left: 2px solid var(--color-accent-light-gray);
}
ul.sub-menu li.menu-item-has-children ul.sub-menu li.secondary a{ 
	color: var(--color-primary);
}
ul.sub-menu li.menu-item-has-children ul.sub-menu li.secondary ul.sub-menu li.menu-item a{ 
	color: var(--color-base-darkest);
}
#primary .grid-item p a{
	min-width:400px;
}

body.page-id-2523 .slb{
display:none;
}
body.page-id-2523 .int-cta{
margin-bottom:0px!important;
padding-bottom:0px;
}
.large-bottom{margin-bottom:80px;}
#mobileNav{display:none; } 
@media only screen and (max-width: 991px) {
	
	#mainNav{ display:none;}
#mobileNav{display:block!important; } 
	
	body.page-template-template-product_category .grid{
		grid-template-columns:auto!important;
	}
	.header__nav-menu > .menu-item > .sub-menu {
		width: 110%;
		left: 0px !important;
	}
	
	#primary .grid-item p a{
		min-width:100%!important;
	}
}
.single-product .sgl svg,
body.page-id-203 .sgl svg,
body.postid-695 .sgl svg,
body.page-id-203 .content-page .tcc{
display:none;
visibility:hidden;
}



body.page-id-203 .sgl svg,
body.postid-695 .sgl svg,
body.page-id-203 .content-page .tcc{
display:none;
visibility:hidden;
}

body.page-id-203 h1.hero__title{
	visibility:hidden;
}
body.page-id-203 h1.product_title{
	display:none;
}