/*!
Theme Name: Gravity Canon
Author: Gravity Switch
Author URI: http://gravityswitch.com
Description: Gravity Switch 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
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Brkpnt calculator - Use this to convert px to em units for setting breakpoints

> $pixels = pixel value (don't include px)
> $context = default base font size declared in _settings.variables.scss
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Variables
--------------------------------------------------------------*/
/*--------------------------------------------------------------
>>> VARIABLES - TABLE OF CONTENTS:
----------------------------------------------------------------
# Default font-size for site
# Breakpoints
# Animation
# Layout grid
# Border widths
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Default font-size for site
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Breakpoints for site, called on in breakpoint mixins
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Animation - base settings
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Layout Grid
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Border Widths - No rem/em units for these
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# 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: 3px;
  --brdr-md: 4px;
  --brdr-lg: 8px;
  --brdr-xl: 10px;
  --brdr-xxl: 16px;
  /*--------------------------------------------------------------
  > Border Radius
  --------------------------------------------------------------*/
  --brdr-radius-pill: 6.25em;
  /*--------------------------------------------------------------
  > Animation - base settings
  --------------------------------------------------------------*/
  --timing: 0.3s;
  --easing: ease-in-out;
  /*--------------------------------------------------------------
  > Layout Grid - base settings for grid and flexbox
  --------------------------------------------------------------*/
  --layout-col-min: 30ch;
  --layout-col-num: 12;
  --layout-col-width: 1fr;
  --layout-gap: clamp(var(--space-xl-fixed), 6.5vmax, calc(var(--space-xxl-fixed) + var(--space-lg)));
  --gutter-static: clamp(3.2rem, 6vw, 5rem);
  --gutter-static-large: 44rem;
  --max-content-width: 140rem;
  --max-container-width: 160rem; }
/*--------------------------------------------------------------
# Fonts
--------------------------------------------------------------*/
/*--------------------------------------------------------------
Fonts embedded in head through Adobe Fonts. 
The following are fallbacks:
----------------------------------------------------------------
# Proxima Nova Fallback
--------------------------------------------------------------*/
@font-face {
  font-family: "Proxima Nova Fallback";
  src: local(Verdana);
  size-adjust: 90%;
  ascent-override: 85%;
  descent-override: normal;
  line-gap-override: normal; }
/*--------------------------------------------------------------
# Colors
--------------------------------------------------------------*/
/*--------------------------------------------------------------
>>> COLORS - TABLE OF CONTENTS:
----------------------------------------------------------------
# Blue
# Magenta
# Orange
# Purple
# Green 
# Charcoal
# Helpers
--------------------------------------------------------------*/
:root {
  /*--------------------------------------------------------------
# Blue
--------------------------------------------------------------*/
  --color-primary-lightest: #d7dfeb;
  --color-primary: #0ea1cd;
  --color-primary-dark: #007597;
  --color-primary-darkest: #002e47;
  /*--------------------------------------------------------------
# Magenta
--------------------------------------------------------------*/
  --color-secondary: #d30049;
  /*--------------------------------------------------------------
# Orange
--------------------------------------------------------------*/
  --color-tertiary: #c55316;
  /*--------------------------------------------------------------
# Purple
--------------------------------------------------------------*/
  --color-accent-primary: #864e82;
  /*--------------------------------------------------------------
# Green
--------------------------------------------------------------*/
  --color-accent-secondary: #01a27a;
  /*--------------------------------------------------------------
# Charcoal
--------------------------------------------------------------*/
  --color-base-lightest: #c0c0c0;
  --color-base-lighter: #91a5c4;
  --color-base-light: #70767f;
  --color-base: #4d5157;
  --color-base-darkest: #050708;
  /*--------------------------------------------------------------
# Client Project Colors
--------------------------------------------------------------*/
  --color-baytechit: #459cd4; }
/*--------------------------------------------------------------
# Helpers
--------------------------------------------------------------*/
.color-primary {
  color: #0ea1cd; }
/*--------------------------------------------------------------
# Mixins
--------------------------------------------------------------*/
/*--------------------------------------------------------------
>>> MIXINS - TABLE OF CONTENTS:
----------------------------------------------------------------
# font-settings
# typesetting
# breakpoints
# layout - grid & flex
# 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 - Grid & flex
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# layout - flexbox

  > column settings
  > row settings
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Input padding
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Pseudo-elements
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# GS Triangle
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# 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
--------------------------------------------------------------*/
:root {
  --font-primary: proxima-nova, "Proxima Nova Fallback", sans-serif;
  --text-base-size: 1.6rem;
  --text-scale-ratio: 1.14;
  --text-xxxs: calc((var(--text-base-size) / var(--text-scale-ratio)) / var(--text-scale-ratio) * var(--text-scale-ratio));
  --text-xxs: calc(var(--text-xxxs) * var(--text-scale-ratio));
  --text-xs: calc(var(--text-xxs) * 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));
  --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));
  --heading-line-height: calc(4px + 2ex + 4px);
  --base-line-height: 1.6;
  --letter-space-xxl: 0.15em;
  --letter-space-xl: 0.11em;
  --letter-space-lg: 0.078em;
  --letter-space-md: 0.063em;
  --letter-space-sm: 0.054em;
  --letter-space-xs: 0.036em;
  --letter-space-xxs: 0.018em;
  --wght-regular: 400;
  --wght-semibold: 600;
  --wght-bold: 700;
  --wght-extrabold: 800;
  --wght-black: 900;
  --text-label: clamp(calc(var(--text-xxxs) + var(--space-xxxs)), 1.25vw, var(--text-xs));
  --text-btn: calc(var(--text-xxxs) * 1.3); }
/*--------------------------------------------------------------
  Increase font-size @ specified breakpoints
    > text-xxxs = 15px
    > text-xxs = 18px
    > text-xs = 25px
    > text-sm = 29px
    > text-md = 34px
    > text-lg = 39px
    > text-xl = 46px
    > text-xxl = 54px
  --------------------------------------------------------------*/
@media only screen and (min-width: 66.875em) {
  :root {
    --text-base-size: 1.8rem;
    --text-scale-ratio: 1.17; } }
/*--------------------------------------------------------------
  # Generic Type Styles
  --------------------------------------------------------------*/
html {
  font-size: 62.5%; }
body {
  font-family: var(--font-primary);
  font-weight: var(--wght-regular);
  font-style: normal;
  font-size: var(--text-base-size);
  line-height: var(--base-line-height);
  -webkit-text-size-adjust: none;
  color: white;
  background-color: var(--color-base-darkest); }
@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; } }
.site,
#page {
  color: var(--color-base-darkest);
  background-color: white; }
p,
li,
ol,
h1,
h2,
h3,
h4,
h5,
h6 {
  word-break: break-word;
  -webkit-hyphens: none;
          hyphens: none;
  margin-top: 0; }
p,
li,
ol,
ul {
  font-weight: var(--wght-regular); }
p {
  margin-bottom: clamp(calc(var(--space-md) + var(--space-xxs)), 5%, var(--space-lg)); }
strong {
  font-weight: var(--wght-bold); }
/*--------------------------------------------------------------
  # 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-primary);
  font-weight: var(--wght-black);
  font-style: normal;
  color: black;
  line-height: var(--heading-line-height);
  margin-bottom: var(--space-xs); }
h1,
.h1 {
  font-size: var(--text-xxl); }
h2,
.h2 {
  font-size: var(--text-xl);
  font-weight: var(--wght-bold); }
h3,
.h3 {
  font-size: var(--text-lg);
  font-weight: var(--wght-bold); }
@media only screen and (min-width: 47.9375em) {
    h3,
    .h3 {
      font-weight: var(--wght-semibold); } }
h4,
.h4 {
  font-size: var(--text-md);
  font-weight: var(--wght-bold); }
h5,
.h5,
h6,
.h6 {
  font-size: var(--text-base-size);
  font-weight: var(--wght-bold); }
/*--------------------------------------------------------------
  Heading spacing
      > Spacing between basic typographic elements
      > Spacing between typographic elements & UI elements
      > Includes heading utility classes
      > Padding used to avoid clashing margins
  --------------------------------------------------------------*/
p + h2,
ul + h2,
ol + h2,
.wp-block-image + h2,
.article__image + h2,
.wp-block-embed + h2,
p + .h2,
ul + .h2,
ol + .h2,
.article__image + .h2,
.wp-block-image + .h2,
.wp-block-embed + .h2,
p + h3,
ul + h3,
ol + h3,
.article__image + h3,
.wp-block-image + h3,
.wp-block-embed + h3,
p + .h3,
ul + .h3,
ol + .h3,
.article__image + .h3,
.wp-block-image + .h3,
.wp-block-embed + .h3,
p + h4,
ul + h4,
ol + h4,
.article__image + h4,
.wp-block-image + h4,
.wp-block-embed + h4,
p + .h4,
ul + .h4,
ol + .h4,
.article__image + .h4,
.wp-block-image + .h4,
.wp-block-embed + .h4,
p + h5,
ul + h5,
ol + h5,
.article__image + h5,
.wp-block-image + h5,
.wp-block-embed + h5,
p + .h5,
ul + .h5,
ol + .h5,
.article__image + .h5,
.wp-block-image + .h5,
.wp-block-embed + .h5,
p + h6,
ul + h6,
ol + h6,
.article__image + h6,
.wp-block-image + h6,
.wp-block-embed + h6,
p + .h6,
ul + .h6,
ol + .h6,
.article__image + .h6,
.wp-block-image + .h6,
.wp-block-embed + .h6 {
  padding-top: calc(var(--space-sm) + var(--space-xxxs)); }
@media only screen and (min-width: 47.9375em) {
    p + h2,
    ul + h2,
    ol + h2,
    .wp-block-image + h2,
    .article__image + h2,
    .wp-block-embed + h2,
    p + .h2,
    ul + .h2,
    ol + .h2,
    .article__image + .h2,
    .wp-block-image + .h2,
    .wp-block-embed + .h2,
    p + h3,
    ul + h3,
    ol + h3,
    .article__image + h3,
    .wp-block-image + h3,
    .wp-block-embed + h3,
    p + .h3,
    ul + .h3,
    ol + .h3,
    .article__image + .h3,
    .wp-block-image + .h3,
    .wp-block-embed + .h3,
    p + h4,
    ul + h4,
    ol + h4,
    .article__image + h4,
    .wp-block-image + h4,
    .wp-block-embed + h4,
    p + .h4,
    ul + .h4,
    ol + .h4,
    .article__image + .h4,
    .wp-block-image + .h4,
    .wp-block-embed + .h4,
    p + h5,
    ul + h5,
    ol + h5,
    .article__image + h5,
    .wp-block-image + h5,
    .wp-block-embed + h5,
    p + .h5,
    ul + .h5,
    ol + .h5,
    .article__image + .h5,
    .wp-block-image + .h5,
    .wp-block-embed + .h5,
    p + h6,
    ul + h6,
    ol + h6,
    .article__image + h6,
    .wp-block-image + h6,
    .wp-block-embed + h6,
    p + .h6,
    ul + .h6,
    ol + .h6,
    .article__image + .h6,
    .wp-block-image + .h6,
    .wp-block-embed + .h6 {
      padding-top: calc(var(--space-sm) * 1.2); } }
p + .wp-block-image,
p + .article__image,
p + .wp-block-embed {
  padding-top: var(--space-sm);
  margin-bottom: 0; }
@media only screen and (min-width: 56.875em) {
    p + .wp-block-image,
    p + .article__image,
    p + .wp-block-embed {
      padding-top: calc(var(--space-xxs) + var(--space-xs));
      margin-top: 0; } }
/*--------------------------------------------------------------
  Image spacing
      > .article__image
      > .wp-block-image
  --------------------------------------------------------------*/
.article__image + h2,
.article__image + h3,
.article__image + h4,
.article__image + h5,
.article__image + h6,
.article__image + .h2,
.article__image + .h3,
.article__image + .h4,
.article__image + .h5,
.article__image + .h6 {
  padding-top: calc(var(--space-md) + var(--space-xs)); }
.article__image + p {
  padding-top: calc(var(--space-md) + var(--space-sm)); }
@media only screen and (min-width: 47.9375em) {
  .article__image.article__image--lg + h2,
  .article__image.article__image--lg + h3,
  .article__image.article__image--lg + h4,
  .article__image.article__image--lg + h5,
  .article__image.article__image--lg + h6,
  .article__image.article__image--lg + .h2,
  .article__image.article__image--lg + .h3,
  .article__image.article__image--lg + .h4,
  .article__image.article__image--lg + .h5,
  .article__image.article__image--lg + .h6 {
    padding-top: calc(var(--space-sm) + var(--space-xs)); } }
@media only screen and (min-width: 66.875em) {
  .article__image.article__image--lg + h2,
  .article__image.article__image--lg + h3,
  .article__image.article__image--lg + h4,
  .article__image.article__image--lg + h5,
  .article__image.article__image--lg + h6,
  .article__image.article__image--lg + .h2,
  .article__image.article__image--lg + .h3,
  .article__image.article__image--lg + .h4,
  .article__image.article__image--lg + .h5,
  .article__image.article__image--lg + .h6 {
    padding-top: calc(var(--space-md) + var(--space-xxxs)); } }
.wp-block-image + h2,
.wp-block-image + h3,
.wp-block-image + h4,
.wp-block-image + h5,
.wp-block-image + h6,
.wp-block-image + .h2,
.wp-block-image + .h3,
.wp-block-image + .h4,
.wp-block-image + .h5,
.wp-block-image + .h6 {
  padding-top: calc(var(--space-md) + var(--space-xs)); }
.wp-block-image + p {
  padding-top: calc(var(--space-md) + var(--space-xxs)); }
@media only screen and (min-width: 47.9375em) {
  .wp-block-image.size-large + h2,
  .wp-block-image.size-large + h3,
  .wp-block-image.size-large + h4,
  .wp-block-image.size-large + h5,
  .wp-block-image.size-large + h6,
  .wp-block-image.size-large + .h2,
  .wp-block-image.size-large + .h3,
  .wp-block-image.size-large + .h4,
  .wp-block-image.size-large + .h5,
  .wp-block-image.size-large + .h6 {
    padding-top: calc(var(--space-sm) + var(--space-xs)); } }
@media only screen and (min-width: 66.875em) {
  .wp-block-image.size-large + h2,
  .wp-block-image.size-large + h3,
  .wp-block-image.size-large + h4,
  .wp-block-image.size-large + h5,
  .wp-block-image.size-large + h6,
  .wp-block-image.size-large + .h2,
  .wp-block-image.size-large + .h3,
  .wp-block-image.size-large + .h4,
  .wp-block-image.size-large + .h5,
  .wp-block-image.size-large + .h6 {
    padding-top: calc(var(--space-md) + var(--space-xxxs)); } }
@media only screen and (min-width: 47.9375em) {
  p + .wp-block-image .alignleft,
  p + .wp-block-image .alignright {
    padding-top: var(--space-xs); } }
@media only screen and (min-width: 56.875em) {
  p + .wp-block-image .alignleft,
  p + .wp-block-image .alignright {
    padding-top: 0; } }
/*--------------------------------------------------------------
  Miscellaneous elements spacing
      > Pullquote
      > Video
	  > Tables
  --------------------------------------------------------------*/
.wp-block-pullquote + h2,
.wp-block-pullquote + h3,
.wp-block-pullquote + h4,
.wp-block-pullquote + h5,
.wp-block-pullquote + h6,
.wp-block-pullquote + .h2,
.wp-block-pullquote + .h3,
.wp-block-pullquote + .h4,
.wp-block-pullquote + .h5,
.wp-block-pullquote + .h6 {
  padding-top: var(--space-xs); }
/* Video */
.wp-block-embed + h2,
.wp-block-embed + h3,
.wp-block-embed + h4,
.wp-block-embed + h5,
.wp-block-embed + h6,
.wp-block-embed + .h2,
.wp-block-embed + .h3,
.wp-block-embed + .h4,
.wp-block-embed + .h5,
.wp-block-embed + .h6 {
  padding-top: calc(var(--space-md) + var(--space-xs)); }
.wp-block-embed + p {
  padding-top: calc(var(--space-md) + var(--space-sm)); }
/* Tables */
p + .table,
ul + .table,
ol + .table {
  margin-top: calc(var(--space-lg) + var(--space-xxs)); }
@media only screen and (min-width: 47.9375em) {
    p + .table,
    ul + .table,
    ol + .table {
      margin-top: calc(var(--space-lg) + var(--space-xxxs)); } }
@media only screen and (min-width: 56.875em) {
    p + .table,
    ul + .table,
    ol + .table {
      margin-top: calc(var(--space-lg) + var(--space-sm)); } }
.table + h2,
.table + h3,
.table + h4,
.table + h5,
.table + h6,
.table + .h2,
.table + .h3,
.table + .h4,
.table + .h5,
.table + .h6 {
  margin-top: calc(var(--space-md) + var(--space-xs)); }
.table + p {
  margin-top: calc(var(--space-md) + var(--space-xxs)); }
.txt--minor {
  color: var(--color-base-light);
  display: block;
  font-size: var(--text-xxxs);
  text-transform: uppercase;
  letter-spacing: var(--letter-space-xs); }
/*--------------------------------------------------------------
  Print spacing for headings
  --------------------------------------------------------------*/
@media print {
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    margin: 0 0 0.8rem; } }
/*--------------------------------------------------------------
# Spacing
--------------------------------------------------------------*/
/*--------------------------------------------------------------
>>> Spacing:
----------------------------------------------------------------
# Responsive spacing
# Component padding
# Fixed spacing
# Vertical margin utility classes (margin-top, margin-bottom)
# Helpers
--------------------------------------------------------------*/
: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);
  /*--------------------------------------------------------------
  # 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.875em) {
  /* 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); } }
/*--------------------------------------------------------------
  # Helpers
      > Variables
  --------------------------------------------------------------*/
:root {
  --block-spacing-base: clamp(var(--space-lg), 13.6vw, var(--space-xxl)); }
/*--------------------------------------------------------------
# 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.15;
  -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; }
*,
*::before,
*::after {
  box-sizing: inherit; }
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[role="tabpanel"]:focus-visible,
.a11y-modal:focus-visible,
.btn:focus-visible {
  outline: var(--brdr-xs) solid var(--color-primary);
  outline-offset: 0.1rem; }
a,
button {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
button {
  border: none;
  cursor: pointer; }
::selection {
  background-color: var(--color-primary);
  color: var(--color-base-darkest); }
fieldset {
  border: none;
  margin: 0;
  padding: 0; }
svg {
  overflow: visible; }
/* Text meant only for screen readers. */
.screen-reader-text,
.scrn-rdr-txt,
.sr-only {
  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; }
:target {
  scroll-padding-block-start: 2rem; }
:focus {
  scroll-padding-block-end: 6vh; }
/*--------------------------------------------------------------
# Containers
--------------------------------------------------------------*/
.container {
  max-width: var(--max-container-width);
  padding: 0 var(--gutter-static);
  margin: 0 auto; }
.container--med {
    max-width: var(--max-content-width); }
.container--small {
    max-width: 96rem; }
.container--vert-padded {
    padding-top: 4.8rem;
    padding-bottom: 4.8rem; }
.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 2.4rem; } }
.main__container {
  padding-top: calc(var(--space-xl) + var(--space-xs)); }
/*--------------------------------------------------------------
# Containers
--------------------------------------------------------------*/
.layout--grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(Min(100%, var(--layout-col-min)), 1fr));
  gap: var(--layout-gap); }
.layout--grid-fixed {
  display: grid;
  grid-template-columns: repeat(var(--layout-col-num), var(--layout-col-width));
  gap: var(--layout-gap); }
.layout--flex-grid {
  display: flex;
  flex-wrap: wrap;
  gap: var(--layout-gap); }
.layout--flex-grid > * {
    flex: 1 1 var(--layout-col-min); }
/*--------------------------------------------------------------
# Lists
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Lists - Base styling
--------------------------------------------------------------*/
ul,
ol {
  margin: 0 0 var(--space-sm) var(--space-xs);
  padding: 0;
  list-style: none; }
@media only screen and (min-width: 47.9375em) {
    ul,
    ol {
      margin-left: var(--space-md);
      margin-right: var(--space-lg); } }
li {
  display: flex;
  align-items: flex-start;
  margin-bottom: var(--space-xs);
  position: relative;
  padding-left: clamp(var(--space-sm), 1vw, var(--space-lg)); }
li:last-child {
    margin-bottom: 0; }
ul li:before {
  content: "";
  position: relative;
  top: calc(var(--space-xxxs) * 1.6);
  margin-right: var(--space-sm);
  -webkit-clip-path: polygon(10% 0, 10% 100%, 100% 50%);
          clip-path: polygon(10% 0, 10% 100%, 100% 50%);
  width: 0.55em;
  height: 0.55em;
  background-color: var(--color-primary);
  display: block;
  flex-shrink: 0; }
ol li {
  counter-increment: step-counter;
  padding-left: var(--space-sm); }
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: relative;
    margin-right: var(--space-xs);
    color: var(--color-primary);
    top: 0;
    left: 0;
    font-size: var(--text-base-size);
    font-weight: var(--wght-bold);
    min-width: 1.25em; }
/*--------------------------------------------------------------
# Lists - Dividers
--------------------------------------------------------------*/
.list__item--dividers {
  border-bottom: var(--brdr-xxs) solid var(--color-base-light);
  padding: var(--space-xs) 0;
  margin-bottom: 0; }
.list__item--dividers::before {
    content: none; }
/*--------------------------------------------------------------
# Links
--------------------------------------------------------------*/
/*--------------------------------------------------------------
>>> Links:
----------------------------------------------------------------
# Default
# Link w/arrow
# Social media
# Pager
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Link - Default styling
--------------------------------------------------------------*/
a {
  color: var(--color-primary);
  text-decoration: underline;
  text-decoration-thickness: 0.125em;
  text-underline-offset: 0.3125em;
  -webkit-text-decoration-color: var(--color-primary);
          text-decoration-color: var(--color-primary);
  transition: all var(--timing) var(--easing); }
a:visited {
    color: var(--color-primary); }
a:hover {
    color: var(--color-charcoal);
    text-decoration: none; }
@media print {
    a::after {
      content: " (" attr(href) ") "; } }
/*--------------------------------------------------------------
# Link w/arrow
--------------------------------------------------------------*/
.link {
  font-size: 1.6rem;
  line-height: 1;
  font-weight: 600;
  text-transform: uppercase;
  position: relative;
  /*--------------------------------------------------------------
# Social media links
--------------------------------------------------------------*/
  /*--------------------------------------------------------------
# Pager links
--------------------------------------------------------------*/ }
.link__content {
    font-size: var(--text-xxxs);
    letter-spacing: var(--letter-space-xl);
    text-transform: uppercase;
    font-weight: 600;
    line-height: 1.3;
    display: block;
    position: relative;
    padding-right: 1.6rem; }
.link__content::after {
      content: "";
      border-top: 6px solid transparent;
      border-bottom: 6px solid transparent;
      border-left: 8px solid var(--color-primary);
      margin-left: 0.8rem;
      position: absolute;
      margin-top: 0.3rem;
      transition: border-left-color 0.3s ease-in-out, transform 0.3s ease-in-out; }
.link__content:hover, .link__content:active, .link__content:focus {
      color: var(--color-primary); }
.link__content:hover::after, .link__content:active::after, .link__content:focus::after {
        border-left-color: var(--color-primary);
        transform: translate(0.4rem, 0); }
.link--social {
    border-radius: 50%;
    border: 1px solid var(--color-primary);
    width: 4.6rem;
    height: 4.6rem;
    color: var(--color-primary);
    display: flex;
    justify-content: center;
    align-items: center; }
.link--social:hover, .link--social:focus {
      background-color: var(--color-primary); }
.link--social:hover .ico__path, .link--social:focus .ico__path {
        fill: var(--color-white); }
.link--social .ico__path {
      fill: var(--color-primary);
      stroke: none; }
.link--pager {
    position: relative;
    display: block;
    text-decoration: none;
    text-align: center; }
@media only screen and (min-width: 47.9375em) {
      .link--pager {
        text-align: left; } }
.link--pager .link__img, .link--pager .link__txt {
      display: block; }
.link--pager .link__img {
      margin: 0 auto 2.8rem; }
@media only screen and (min-width: 47.9375em) {
        .link--pager .link__img {
          margin: 0 0 2.8rem; } }
.link--pager .link__txt {
      text-transform: none; }
.link--pager .link__ico {
      transition: transform var(--timing) var(--easing); }
.link--pager .txt--primary {
      color: var(--color-primary);
      display: block;
      margin-bottom: 0.8rem; }
@media only screen and (min-width: 47.9375em) {
        .link--pager .txt--primary {
          display: inline;
          margin-right: 0.8rem;
          margin-bottom: 0; } }
.link--pager .txt--secondary {
      text-transform: uppercase;
      letter-spacing: 0.01rem;
      color: var(--color-base-darkest);
      margin-bottom: 0.4rem; }
.link--pager .ico__path {
      stroke: var(--color-primary); }
.link--next:hover .link__ico, .link--next:active .link__ico, .link--next:focus .link__ico {
    transform: translate(0.6rem, 0); }
@media only screen and (min-width: 47.9375em) {
    .link--previous {
      text-align: right; } }
.link--previous .link__img {
    margin: 0 auto 2.8rem; }
@media only screen and (min-width: 47.9375em) {
      .link--previous .link__img {
        margin: 0 0 2.8rem auto; } }
@media only screen and (min-width: 47.9375em) {
    .link--previous .link__ico {
      transform: translate(0, 42%); } }
.link--previous .txt--primary {
    margin-right: 0; }
@media only screen and (min-width: 47.9375em) {
      .link--previous .txt--primary {
        float: right;
        margin-left: 0.8rem; } }
.link--previous:hover .link__ico, .link--previous:active .link__ico, .link--previous:focus .link__ico {
    transform: translate(-0.6rem, 42%); }
.link--return {
    text-align: center; }
.link--return .txt--primary {
      display: block; }
.link--return .link__ico {
      margin: 0 auto 2rem auto; }
.link--skip {
    position: absolute; }
.link--skip:focus {
      display: flex;
      top: 0;
      left: 0;
      right: 0;
      width: 100%;
      height: 7rem;
      align-items: center;
      justify-content: center;
      z-index: 100;
      padding: 0 var(--space-md);
      border: 0;
      margin: 0;
      font-size: var(--text-xxs);
      line-height: var(--base-line-height);
      text-decoration: none;
      color: var(--color-base-darkest);
      background-color: var(--color-primary);
      letter-spacing: 0.0125em;
      font-weight: var(--wght-semibold);
      clip: auto;
      -webkit-clip-path: none;
              clip-path: none;
      transition: none; }
@media only screen and (min-width: 66.875em) {
        .link--skip:focus {
          height: 90px; } }
/*--------------------------------------------------------------
# Images
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Thumbnail image: size should be 400px x 266px for hi-res displays
--------------------------------------------------------------*/
.thmbnl {
  width: 20rem;
  height: 13.3rem; }
/*--------------------------------------------------------------
# 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%; }
.figure--pttrn-bkg .figure__img {
    width: calc(100% - 3.4rem);
    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.7rem;
    top: 1.7rem;
    bottom: -1.7rem;
    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;
  padding: 0 var(--space-sm) var(--space-sm) 0; }
/*--------------------------------------------------------------
# Labels for:
1. Checkboxes
2. Radio inputs
3. Required inputs
--------------------------------------------------------------*/
.label--checkbox, .label--radio {
  position: relative;
  padding: 0;
  cursor: pointer;
  color: var(--color-base-darkest);
  transition: color var(--timing) var(--easing); }
.form__element--required .form__label:after {
  content: "*";
  color: var(--color-primary);
  margin-left: 4px; }
.input--reverse + .form__label {
  color: white; }
/*--------------------------------------------------------------
# Inputs
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# General input styles
--------------------------------------------------------------*/
.form__element {
  position: relative;
  display: grid;
  grid-template-columns: 1em auto;
  gap: 1.5em;
  margin-bottom: var(--space-md);
  color: var(--color-base-darkest);
  font-size: var(--text-base-size); }
.form__element--disabled {
    opacity: 0.4;
    cursor: not-allowed; }
.form__element--disabled * {
      pointer-events: none; }
.form__input {
  border: var(--brdr-sm) solid var(--color-base-darkest);
  padding: calc(var(--space-sm) + var(--space-xs));
  color: var(--color-base-darkest);
  background-color: transparent;
  width: 100%;
  border-radius: 0; }
/*--------------------------------------------------------------
# Input - Errors
--------------------------------------------------------------*/
.error .form__input {
  border-color: var(--color-magenta) !important; }
.error .form__mssg {
  color: var(--color-magenta);
  background-repeat: no-repeat;
  background-position: left center;
  margin-top: 0.4rem; }
.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%; }
/*--------------------------------------------------------------
# Inputs
--------------------------------------------------------------*/
/*--------------------------------------------------------------
>>> Quote Icon
--------------------------------------------------------------*/
.ico--quote {
  position: relative;
  left: 0;
  display: block;
  color: white;
  background-color: var(--color-primary);
  font-size: clamp(7rem, 4.8vw, 7.8rem);
  font-weight: var(--wght-bold);
  line-height: 1.15;
  text-align: center;
  width: 0.74074em;
  height: 0.74074em;
  border-radius: 100%;
  margin: 0 auto var(--space-xxs); }
@media only screen and (min-width: 47.9375em) {
    .ico--quote {
      line-height: 1.12;
      flex-grow: 0;
      flex-shrink: 0;
      margin: 0; } }
/*--------------------------------------------------------------
# Stats
--------------------------------------------------------------*/
.stat {
  display: flex;
  justify-content: center;
  flex-grow: 1;
  text-align: center;
  color: var(--color-base-darkest);
  line-height: 1; }
.stat__info {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0; }
.stat__ico {
    margin-right: 0.8rem; }
.stat__ico .ico__path {
      stroke: var(--color-primary); }
.stat__num {
    color: var(--color-primary); }
.stat__label {
    flex-basis: 100%;
    margin-top: 0.2rem;
    text-transform: capitalize; }
.stat--ico-txt {
    text-align: left; }
.stat--ico-txt .stat__info {
      align-items: flex-start;
      flex-wrap: nowrap; }
.stat--ico-txt .stat__ico {
      margin-right: 1.4rem; }
/*--------------------------------------------------------------
# Logo
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Logo
--------------------------------------------------------------*/
.logo__link {
  display: block;
  line-height: 0; }
.logo__graphic {
  width: 100%;
  height: auto; }
/*

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

BEWARE, THOSE WHO WOULD BREAK THE SACRED ORDER OF COMPONENTS - brenda */
/*--------------------------------------------------------------
# @import for every .scss in /compontents
--------------------------------------------------------------*/
.btn.btn--close {
  width: auto;
  height: auto;
  padding: calc(var(--space-xs) + var(--space-xs)) var(--space-xxs) calc(var(--space-xxs) + var(--space-xxxs));
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: none;
  background-color: transparent; }
.btn.btn--close:before, .btn.btn--close:after {
    content: "";
    position: relative;
    display: block;
    top: 0;
    left: 0;
    background-color: var(--color-base-darkest);
    width: 3rem;
    height: 0.2rem;
    margin: 0;
    transform-origin: center; }
.btn.btn--close::before {
    transform: translateY(7px) rotate(135deg);
    top: -1.2rem; }
.btn.btn--close::after {
    transform: translateY(-7px) rotate(-135deg); }
.btn.btn--close:hover:before, .btn.btn--close:hover:after, .btn.btn--close:focus:before, .btn.btn--close:focus:after, .btn.btn--close:active:before, .btn.btn--close:active:after {
    width: 3rem;
    height: 0.2rem; }
/*--------------------------------------------------------------
>>> Buttons:
----------------------------------------------------------------
# Primary
# Secondary
# Toggle, Leading Icon 
# Menu
# Modal
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Button - Primary
--------------------------------------------------------------*/
.btn {
  display: inline-block;
  color: var(--color-base-darkest);
  background-color: transparent;
  text-align: center;
  border: var(--brdr-sm) solid var(--color-base-darkest);
  position: relative;
  text-decoration: none;
  font-size: var(--text-xxxs);
  font-weight: var(--wght-bold);
  letter-spacing: var(--letter-space-xxs);
  text-transform: uppercase;
  transition: border 500ms ease;
  /* .btn__inner */
  /* .btn .btn-text */
  /* .btn svg, .btn .ico */
  /* .btn:hover, .btn:focus, .btn:active */
  /*--------------------------------------------------------------
# Button - Secondary
--------------------------------------------------------------*/
  /*--------------------------------------------------------------
# Button - Toggle, Leading Icon
--------------------------------------------------------------*/
  /*--------------------------------------------------------------
# Button - Menu
--------------------------------------------------------------*/
  /*--------------------------------------------------------------
# Button - Modal
--------------------------------------------------------------*/ }
.btn::before, .btn::after {
    content: "";
    position: absolute;
    background-color: var(--color-primary); }
.btn::before {
    width: 0;
    height: var(--brdr-sm);
    top: -3px;
    right: -3px;
    transition: width 100ms ease 200ms; }
.btn::after {
    width: var(--brdr-sm);
    height: 0;
    bottom: -3px;
    right: -3px;
    transition: height 100ms ease 300ms; }
.btn__inner {
    display: block;
    padding: calc(var(--space-sm) + var(--space-sm)) var(--space-lg); }
.btn__inner::before, .btn__inner::after {
      content: "";
      position: absolute;
      background-color: var(--color-primary); }
.btn__inner::before {
      width: var(--brdr-sm);
      height: 0;
      top: -3px;
      left: -3px;
      transition: height 100ms ease 100ms; }
.btn__inner::after {
      width: 0;
      height: var(--brdr-sm);
      bottom: -3px;
      left: -3px;
      transition: width 100ms ease 0ms; }
.btn .btn-text {
    color: var(--color-charcoal-darkest); }
.btn svg.ico--triangle,
  .btn .ico.ico--triangle {
    position: absolute;
    top: calc(100% - 8px);
    right: calc(50% - 12px);
    background: white;
    width: 1.8em;
    height: 1.33333em;
    padding: 0 var(--space-xs);
    z-index: 50;
    transition: right var(--timing) var(--easing); }
.btn:hover, .btn:focus, .btn:active {
    border-color: transparent; }
.btn:hover::before, .btn:focus::before, .btn:active::before {
      width: calc(100% + 3px);
      transition: width 100ms ease 100ms; }
.btn:hover::after, .btn:focus::after, .btn:active::after {
      height: 106.5%;
      transition: height 100ms ease 0ms; }
.btn:hover .btn__inner::before, .btn:focus .btn__inner::before, .btn:active .btn__inner::before {
      height: calc(100% + 3px);
      transition: height 100ms ease 100ms; }
.btn:hover .btn__inner::after, .btn:focus .btn__inner::after, .btn:active .btn__inner::after {
      width: 102%;
      transition: width 100ms ease 200ms; }
.btn:hover svg.ico--triangle,
    .btn:hover .ico.ico--triangle, .btn:focus svg.ico--triangle,
    .btn:focus .ico.ico--triangle, .btn:active svg.ico--triangle,
    .btn:active .ico.ico--triangle {
      right: -0.6rem; }
.btn--secondary {
    background-color: var(--color-base-darkest);
    color: white;
    border-color: white; }
.btn--secondary .btn__txt {
      color: white; }
.btn--secondary svg.ico--triangle,
    .btn--secondary .ico.ico--triangle {
      background: var(--color-base-darkest); }
.btn--secondary:visited {
      color: white; }
.btn--secondary:visited .btn__txt {
        color: white; }
.btn--toggle, .btn--leading-icon {
    border: none; }
.btn--toggle::before, .btn--toggle::after, .btn--leading-icon::before, .btn--leading-icon::after {
      display: none; }
.btn--toggle .btn__inner, .btn--leading-icon .btn__inner {
      display: flex;
      align-items: center;
      padding: calc(var(--space-sm) + var(--space-xs)) var(--space-lg) calc(var(--space-sm) + var(--space-xxs)); }
.btn--toggle .btn__inner::before, .btn--toggle .btn__inner::after, .btn--leading-icon .btn__inner::before, .btn--leading-icon .btn__inner::after {
        display: none; }
.btn--toggle svg path,
    .btn--toggle svg .ico__path,
    .btn--toggle .ico path,
    .btn--toggle .ico .ico__path, .btn--leading-icon svg path,
    .btn--leading-icon svg .ico__path,
    .btn--leading-icon .ico path,
    .btn--leading-icon .ico .ico__path {
      right: -0.6rem;
      stroke: var(--color-primary); }
.btn--toggle .btn__content, .btn--leading-icon .btn__content {
      padding-left: var(--space-sm); }
.btn--menu {
    border: none; }
.btn--menu::before, .btn--menu::after {
      content: "";
      position: absolute;
      display: block;
      background-color: var(--color-primary);
      width: 2.4rem;
      height: 2px; }
.btn--menu::before {
      top: 47%;
      right: var(--space-sm);
      bottom: var(--space-lg);
      left: 0;
      box-shadow: 0 calc(var(--space-xs) * -0.96) 0 var(--color-primary); }
.btn--menu::after {
      top: auto;
      right: 0;
      bottom: 1.13333em;
      left: 0; }
.btn--menu .btn__txt {
      margin-left: 0; }
.btn--menu .btn__inner::before, .btn--menu .btn__inner::after {
      display: none; }
.btn--menu .btn__ico {
      display: none; }
.btn--menu:hover::before, .btn--menu:hover::after, .btn--menu:focus::before, .btn--menu:focus::after, .btn--menu:active::before, .btn--menu:active::after {
      content: "";
      position: absolute;
      display: block;
      background-color: var(--color-primary);
      width: 2.4rem;
      height: 2px; }
.btn--menu:hover::before, .btn--menu:focus::before, .btn--menu:active::before {
      top: 47%;
      right: var(--space-sm);
      bottom: var(--space-lg);
      left: 0;
      box-shadow: 0 calc(var(--space-xs) * -0.96) 0 var(--color-primary); }
.btn--menu:hover::after, .btn--menu:focus::after, .btn--menu:active::after {
      top: auto;
      right: 0;
      bottom: 1.13333em;
      left: 0; }
.btn--modal {
    border: none; }
.btn--modal::before, .btn--modal::after {
      content: "";
      position: absolute;
      display: block;
      background-color: var(--color-primary);
      width: 2.4rem;
      height: 2px; }
.btn--modal::before {
      top: 47%;
      right: var(--space-sm);
      bottom: var(--space-lg);
      left: 0;
      box-shadow: 0 calc(var(--space-xs) * -0.96) 0 var(--color-primary); }
.btn--modal::after {
      top: auto;
      right: 0;
      bottom: 1.13333em;
      left: 0; }
.btn--modal .btn__txt {
      margin-left: 0; }
.btn--modal .btn__inner::before, .btn--modal .btn__inner::after {
      display: none; }
.btn--modal .btn__ico {
      display: none; }
.btn--modal:hover::before, .btn--modal:hover::after, .btn--modal:focus::before, .btn--modal:focus::after, .btn--modal:active::before, .btn--modal:active::after {
      content: "";
      position: absolute;
      display: block;
      background-color: var(--color-primary);
      width: 2.4rem;
      height: 2px; }
.btn--modal:hover::before, .btn--modal:focus::before, .btn--modal:active::before {
      top: 47%;
      right: var(--space-sm);
      bottom: var(--space-lg);
      left: 0;
      box-shadow: 0 calc(var(--space-xs) * -0.96) 0 var(--color-primary); }
.btn--modal:hover::after, .btn--modal:focus::after, .btn--modal:active::after {
      top: auto;
      right: 0;
      bottom: 1.13333em;
      left: 0; }
/*--------------------------------------------------------------
# Icons in circles
--------------------------------------------------------------*/
.ico--circle {
  background-color: var(--color-primary);
  border-radius: 100%;
  width: 9rem;
  height: 9rem;
  display: flex;
  justify-content: center;
  align-items: center; }
.ico--circle .ico__path {
    stroke: white; }
.ico--triangle .ico__path {
  stroke: none;
  fill: var(--color-primary); }
.ico__path {
  fill: none;
  stroke: var(--color-base-darkest);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 0.15rem; }
@media print {
  .ico,
  .ico svg {
    max-width: 1.2rem; } }
/*--------------------------------------------------------------
# Close icon
--------------------------------------------------------------*/
.btn--close .ico__path {
  stroke: white; }
/*--------------------------------------------------------------
>>> Checkbox Input
----------------------------------------------------------------*/
.form__element .element--checkbox {
  display: flex;
  align-items: center; }
.form__element.element--checkbox.form__element--disabled .label--checkbox:before {
  border-color: var(--color-base-darkest); }
input[type="checkbox"] {
  -webkit-appearance: none;
          appearance: none;
  margin: 0;
  background-color: transparent;
  font: inherit;
  color: currentColor;
  width: 1.55556em;
  height: 1.55556em;
  padding: 0;
  border: 0.15em solid currentColor;
  border-radius: 0;
  transform: translateY(-0.075em);
  display: grid;
  place-content: center;
  cursor: pointer;
  /* Reverse checkboxes */ }
input[type="checkbox"]:before {
    content: "";
    width: 0.88889em;
    height: 0.88889em;
    transform: scale(0);
    transform-origin: bottom left;
    box-shadow: inset 1em 1em var(--color-primary);
    background-color: CanvasText;
    -webkit-clip-path: polygon(11% 58%, 0 74%, 33% 100%, 100% 20%, 86% 7%, 31% 74%);
            clip-path: polygon(11% 58%, 0 74%, 33% 100%, 100% 20%, 86% 7%, 31% 74%);
    transition: transform 120ms var(--easing); }
input[type="checkbox"]:checked::before {
    transform: scale(1); }
input[type="checkbox"].input--reverse {
    transition: background-color 0.1s var(--easing); }
input[type="checkbox"].input--reverse:before {
      box-shadow: inset 1em 1em white; }
input[type="checkbox"].input--reverse:checked {
      background-color: var(--color-base-darkest); }
.element--text .form__label,
.element--text label {
  display: block;
  position: absolute;
  font-size: var(--text-xxxs);
  font-weight: var(--wght-semibold);
  letter-spacing: 0.03333em;
  text-transform: uppercase;
  top: calc(-1 * var(--space-sm));
  left: 0;
  background: white; }
.element--text .form__input.error,
.element--text input[type="text"].error {
  border-color: var(--color-magenta); }
.input--selectbox {
  -webkit-appearance: none;
  border-radius: 0;
  width: 100%;
  border: var(--brdr-xxs) solid var(--color-base-darkest);
  background-color: white;
  background-image: url("images/ico-triangle-down.svg");
  background-repeat: no-repeat;
  background-position: right 2.1rem center;
  padding-left: 2.2rem;
  padding-right: 5.4rem; }
select::-ms-expand {
  display: none; }
/*--------------------------------------------------------------
>>> Subtitles:
----------------------------------------------------------------
# Small
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Subtitle - Small
--------------------------------------------------------------*/
.title--sub-sm {
  display: flex;
  align-items: center;
  position: relative;
  text-transform: uppercase;
  font-size: var(--text-xxxs);
  font-weight: var(--wght-bold);
  letter-spacing: var(--letter-space-xl);
  margin-bottom: clamp(var(--space-xs), 1.2vw, var(--space-sm)); }
.title--sub-sm:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    background-color: var(--color-base-lighter);
    right: 0; }
.title--sub-sm .title__inner,
  .title--sub-sm .cat__inner {
    background-color: white;
    padding-right: var(--space-sm);
    z-index: 5; }
.title--major {
  text-transform: uppercase;
  font-weight: var(--wght-black);
  color: var(--color-primary);
  line-height: 1.05;
  margin-bottom: clamp(calc(var(--space-md) + var(--space-xxs)), 5vw, var(--space-xl)); }
/*--------------------------------------------------------------
>>> Accordion:
----------------------------------------------------------------
# Accordion - Base
# Accordion - Process
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Accordion - Base
--------------------------------------------------------------*/
.accordion {
  /*--------------------------------------------------------------
# Accordion - Process
--------------------------------------------------------------*/ }
.accordion__item {
    padding-top: var(--space-xs);
    padding-bottom: var(--space-xxxs);
    position: relative;
    height: -moz-fit-content;
    height: fit-content; }
.accordion__heading {
    position: relative;
    margin-bottom: 0; }
.accordion__btn {
    position: relative;
    color: var(--color-base-darkest);
    background-color: transparent;
    display: flex;
    align-items: flex-start;
    text-align: left;
    text-transform: uppercase;
    font-size: var(--text-xxs);
    font-weight: var(--wght-semibold);
    line-height: 1.3;
    letter-spacing: var(--letter-space-sm);
    padding: calc(var(--space-xs) + var(--space-xxs)) 0 calc(var(--space-md) + var(--space-xs)) calc(var(--space-lg) * 1.48);
    border-top: var(--brdr-xxs) solid rgba(0, 46, 69, 0.3);
    /*
		&::before {
			position: absolute;
			left: 0;
			top: 17%;
			content: "";
			border: var(--brdr-xs) solid var(--color-base-darkest);
			border-radius: 100%;
			width: rem(26);
			height: rem(26);
			margin-right: rem(18);
			flex-shrink: 0;
			background-image: url("../images/ico-expand.svg"); // Detault img is
			background-color: var(--color-white);
			background-repeat: no-repeat;
			background-position: 50% 51%;
			background-size: 44%;
			transform: rotate(45deg);
			transition: transform var(--timing) var(--easing);

			@include brkpnt-sm {
				top: 11%;
			}

			@media print {
				display: none;
			}
		}*/ }
@media only screen and (min-width: 56.875em) {
      .accordion__btn {
        padding-left: 6.4rem; } }
.accordion__btn:hover, .accordion__btn:active, .accordion__btn:focus {
      background-color: transparent;
      color: var(--color-base-darkest); }
.accordion__btn .btn__inner::after {
      position: absolute;
      left: 0;
      top: 17%;
      content: "";
      border: var(--brdr-xs) solid var(--color-base-darkest);
      border-radius: 100%;
      width: 2.6rem;
      height: 2.6rem;
      margin-right: 1.8rem;
      flex-shrink: 0;
      background-image: url("images/ico-expand.svg");
      background-color: var(--color-white);
      background-repeat: no-repeat;
      background-position: 50% 51%;
      background-size: 44%;
      transform: rotate(0deg);
      transition: transform var(--timing) var(--easing); }
@media only screen and (min-width: 56.875em) {
        .accordion__btn .btn__inner::after {
          top: 45%; } }
@media print {
        .accordion__btn .btn__inner::after {
          display: none; } }
.accordion__btn[aria-expanded="true"] .btn__inner::after {
      transform: rotate(45deg); }
.accordion__btn::after {
      content: "";
      position: absolute;
      width: 100%;
      height: var(--brdr-xxs);
      background-color: var(--color-base-darkest);
      left: 0;
      top: 0;
      opacity: 1;
      transition: width 0.5s var(--easing) 0.2s, opacity var(--timing) var(--easing); }
.accordion__btn[aria-expanded="false"]::before {
      transform: rotate(0); }
.accordion__btn[aria-expanded="false"]::after {
      width: 0;
      opacity: 0; }
.accordion__btn:hover {
      background: transparent;
      color: var(--color-base-darkest); }
.accordion__btn .btn__inner {
      pointer-events: none;
      padding: 0; }
.accordion__section {
    opacity: 1;
    max-height: 1500rem;
    visibility: visible;
    margin: 0;
    padding: 0;
    height: 100%;
    transition: visibility 0s var(--easing), max-height 0.9s var(--easing), opacity 0.7s var(--easing), height 0.9s 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.7s, 0s, 0s, 0s; } }
@media print {
      .accordion__section {
        height: auto; } }
.accordion__body {
    display: block;
    margin-left: calc(var(--space-lg) * 1.5);
    margin-bottom: var(--space-lg); }
@media only screen and (min-width: 47.9375em) {
      .accordion__body {
        margin-left: 6.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.4rem 0;
      margin-bottom: 1.2rem; }
.accordion__list .form__element:last-child {
        margin-bottom: 0; }
.accordion__list .form__element::before {
        display: none; }
@media only screen and (min-width: 56.875em) {
    .accordion--process {
      position: relative;
      display: flex;
      align-items: flex-start;
      height: clamp(58.5rem, 60.6vw, 72rem);
      max-width: var(--max-content-width);
      margin: 0 auto;
      align-items: flex-end; } }
@media only screen and (min-width: 56.875em) {
    .accordion--process:before {
      content: "";
      width: clamp(2rem, 70vw, 92rem);
      height: 100%;
      position: absolute;
      background-image: url("images/graphic-gs-AV-blue.svg");
      background-repeat: no-repeat;
      background-position: 10px 14%;
      background-size: 92%;
      left: -16vw;
      background-position: 1vw 0%; } }
@media only screen and (min-width: 106.25em) {
    .accordion--process:before {
      left: -20vw; } }
.accordion--process .accordion__item {
    z-index: 10;
    padding-top: 0; }
@media only screen and (min-width: 56.875em) {
      .accordion--process .accordion__item {
        display: flex;
        align-items: stretch; } }
@media only screen and (min-width: 56.875em) {
    .accordion--process .accordion__heading {
      display: flex;
      align-items: stretch; } }
.accordion--process .accordion__img {
    position: relative;
    padding-top: 59%;
    min-height: 12.5rem;
    margin-bottom: calc(var(--space-xl) + var(--space-md)); }
@media only screen and (min-width: 56.875em) {
      .accordion--process .accordion__img {
        margin-bottom: var(--space-xxl);
        padding-top: 0; } }
.accordion--process .accordion__img:before {
      content: "";
      width: 124%;
      height: 127%;
      position: absolute;
      background-image: url("images/graphic-gs-AV-blue.svg");
      background-repeat: no-repeat;
      background-position: 0;
      background-size: 87%;
      left: calc(var(--space-xxxl) * -1.1);
      top: calc(var(--space-sm) * -2.5); }
@media only screen and (min-width: 56.875em) {
        .accordion--process .accordion__img:before {
          display: none; } }
.accordion--process .accordion__img img {
      max-width: 100%;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center center; }
.accordion--process .accordion__body {
    margin-left: 0;
    margin-top: calc(var(--space-lg) + var(--space-xxxs)); }
@media only screen and (min-width: 56.875em) {
      .accordion--process .accordion__body {
        display: unset;
        margin: 0;
        padding: 0;
        position: relative; } }
@media only screen and (min-width: 56.875em) {
      .accordion--process .accordion__body p {
        margin-bottom: 0; } }
.accordion--process .accordion__body img {
      box-shadow: 0 0 42px rgba(0, 0, 0, 0.4); }
@media only screen and (min-width: 56.875em) {
        .accordion--process .accordion__body img {
          width: 100%;
          display: block;
          margin-bottom: var(--space-xxl); } }
@media only screen and (min-width: 56.875em) {
    .accordion--process .accordion__section {
      height: auto;
      width: auto;
      max-width: 117rem;
      visibility: visible;
      opacity: 1;
      transition: visibility 0s var(--easing), max-width 0.6s var(--easing), opacity 0.6s var(--easing), width 0.6s var(--easing);
      transition-delay: 0s; } }
@media only screen and (min-width: 56.875em) {
    .accordion--process .accordion__section .accordion__body {
      opacity: 1;
      width: 95%;
      display: block;
      padding-right: calc(var(--space-xl) + var(--space-xs));
      transition: opacity 0.5s var(--easing) 0.55s; } }
@media only screen and (min-width: 56.875em) {
    .accordion--process .accordion__section[aria-hidden="true"] {
      width: 0%;
      max-width: 0;
      opacity: 0;
      visibility: hidden; } }
@media only screen and (min-width: 56.875em) {
    .accordion--process .accordion__section[aria-hidden="true"] .accordion__body {
      opacity: 0; } }
.accordion--process .accordion__btn {
    width: 100%;
    padding-left: calc(var(--space-lg) + var(--space-xs)); }
@media only screen and (min-width: 56.875em) {
      .accordion--process .accordion__btn {
        font-size: var(--text-xxxs);
        padding: 0;
        height: clamp(58rem, 60vw, 72rem);
        padding-top: calc(var(--space-xs) + var(--space-xxs));
        padding-left: clamp(var(--space-md), 10vw, var(--space-xxxl));
        border-top: none;
        transition: border-color var(--timing) var(--easing); } }
.accordion--process .accordion__btn[aria-expanded="true"] {
      height: auto; }
.accordion--process .accordion__btn[aria-expanded="true"] .btn__inner:before {
        content: "";
        width: 100.75%;
        transition: width 0.5s var(--easing) 0.2s; }
@media only screen and (min-width: 56.875em) {
      .accordion--process .accordion__btn::before {
        top: 96.2%;
        left: calc(var(--space-md-fixed) * 1.3); } }
.accordion--process .accordion__btn::after {
      display: none; }
@media only screen and (min-width: 56.875em) {
      .accordion--process .accordion__btn .btn__inner {
        position: absolute;
        width: 380px;
        transform: rotate(-90deg);
        transform-origin: 0 0;
        left: 0;
        bottom: calc(var(--space-lg) * -1);
        width: clamp(58rem, 60vw, 72rem);
        border-top: var(--brdr-xxs) solid var(--color-base-lightest);
        padding-top: calc(var(--space-sm) + var(--space-xxxs));
        padding-left: calc(var(--space-lg) + var(--space-md)); } }
.accordion--process .accordion__btn .btn__inner:before {
      content: "";
      position: absolute;
      width: 0;
      height: var(--brdr-xxs);
      background-color: var(--color-base-darkest);
      top: calc(var(--space-xxxs-fixed) * -0.3);
      opacity: 1;
      transition: width 0.5s var(--easing) 0.2s; }
.accordion--process .accordion__btn .btn__num {
      padding-right: var(--space-xxxs); }
/*--------------------------------------------------------------
>>> Blockquote
--------------------------------------------------------------*/
.blockquote {
  border-top: var(--brdr-xxs) solid var(--color-base-lighter);
  border-bottom: var(--brdr-xxs) solid var(--color-base-lighter); }
.blockquote__text {
    color: var(--color-primary);
    font-size: var(--text-sm);
    font-weight: var(--wght-semibold);
    line-height: 1.4;
    margin-top: calc(var(--space-md) + var(--space-xxxs));
    margin-bottom: clamp(calc(var(--space-md) + var(--space-xxxs)), 4%, calc(var(--space-md) + var(--space-xxs))); }
@media only screen and (min-width: 47.9375em) {
      .blockquote__text {
        display: flex;
        font-size: var(--text-xs);
        gap: clamp(1.5rem, 6vmax, 3rem); } }
@media only screen and (min-width: 56.875em) {
      .blockquote__text {
        line-height: 1.3; } }
/*--------------------------------------------------------------
>>> Card Group:
----------------------------------------------------------------
# Base
# Case Studies, Projects, Articles
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Card Group - Base
--------------------------------------------------------------*/
.card-group,
.main .card-group {
  padding: 0; }
@media only screen and (min-width: 47.9375em) {
    .card-group,
    .main .card-group {
      padding: 0 var(--gutter-static); } }
.card-group__header,
  .main .card-group__header {
    padding: 0 var(--gutter-static); }
@media only screen and (min-width: 47.9375em) {
      .card-group__header,
      .main .card-group__header {
        padding: 0; } }
.card-group__list,
  .main .card-group__list {
    margin: 0 0 calc(var(--space-md) + var(--space-xxs)) 0; }
.card-group__list .list__item,
    .main .card-group__list .list__item {
      display: block;
      padding-left: 0; }
@media only screen and (min-width: 47.9375em) {
        .card-group__list .list__item,
        .main .card-group__list .list__item {
          margin-bottom: var(--space-lg); } }
.card-group__list .list__item::before,
      .main .card-group__list .list__item::before {
        display: none; }
.card-group .card__cat,
  .main .card-group .card__cat {
    color: var(--color-base-light);
    font-weight: var(--wght-semibold);
    letter-spacing: var(--letter-space-sm); }
.card-group .card__link,
  .main .card-group .card__link {
    color: var(--color-base-darkest); }
.card-group .card__subtitle .title__inner,
  .main .card-group .card__subtitle .title__inner {
    color: var(--color-primary); }
.card-group .card--small .link__content,
  .main .card-group .card--small .link__content {
    color: var(--color-secondary); }
.card-group .card__header,
  .card-group .card__footer,
  .main .card-group .card__header,
  .main .card-group .card__footer {
    padding-left: var(--gutter-static);
    padding-right: var(--gutter-static); }
.card-group .card__header,
  .main .card-group .card__header {
    padding-top: clamp(var(--space-xl-fixed), 11vw, var(--space-xxl-fixed)); }
.card-group .card__footer,
  .main .card-group .card__footer {
    padding-bottom: clamp(var(--space-md-fixed), 7vw, var(--space-xl-fixed)); }
/*--------------------------------------------------------------
# Card Group Variations:

1. Case Studies
2. Projects
3. Articles
--------------------------------------------------------------*/
.card-group.group--case-studies, .card-group.group--projects, .card-group.group--articles,
.main .card-group.group--case-studies,
.main .card-group.group--projects,
.main .card-group.group--articles {
  padding: 0; }
@media only screen and (min-width: 47.9375em) {
    .card-group.group--case-studies, .card-group.group--projects, .card-group.group--articles,
    .main .card-group.group--case-studies,
    .main .card-group.group--projects,
    .main .card-group.group--articles {
      padding: 0 var(--gutter-static); } }
.card-group.group--case-studies__header, .card-group.group--projects__header, .card-group.group--articles__header,
  .main .card-group.group--case-studies__header,
  .main .card-group.group--projects__header,
  .main .card-group.group--articles__header {
    padding: 0 var(--gutter-static); }
@media only screen and (min-width: 47.9375em) {
      .card-group.group--case-studies__header, .card-group.group--projects__header, .card-group.group--articles__header,
      .main .card-group.group--case-studies__header,
      .main .card-group.group--projects__header,
      .main .card-group.group--articles__header {
        padding: 0; } }
@media only screen and (min-width: 47.9375em) {
    .card-group.group--case-studies .card__aside, .card-group.group--projects .card__aside, .card-group.group--articles .card__aside,
    .main .card-group.group--case-studies .card__aside,
    .main .card-group.group--projects .card__aside,
    .main .card-group.group--articles .card__aside {
      grid-column: 6/13; } }
.card-group.group--case-studies .card__header,
  .card-group.group--case-studies .card__footer, .card-group.group--projects .card__header,
  .card-group.group--projects .card__footer, .card-group.group--articles .card__header,
  .card-group.group--articles .card__footer,
  .main .card-group.group--case-studies .card__header,
  .main .card-group.group--case-studies .card__footer,
  .main .card-group.group--projects .card__header,
  .main .card-group.group--projects .card__footer,
  .main .card-group.group--articles .card__header,
  .main .card-group.group--articles .card__footer {
    padding-left: var(--gutter-static);
    padding-right: var(--gutter-static); }
@media only screen and (min-width: 47.9375em) {
      .card-group.group--case-studies .card__header,
      .card-group.group--case-studies .card__footer, .card-group.group--projects .card__header,
      .card-group.group--projects .card__footer, .card-group.group--articles .card__header,
      .card-group.group--articles .card__footer,
      .main .card-group.group--case-studies .card__header,
      .main .card-group.group--case-studies .card__footer,
      .main .card-group.group--projects .card__header,
      .main .card-group.group--projects .card__footer,
      .main .card-group.group--articles .card__header,
      .main .card-group.group--articles .card__footer {
        grid-column: 2/6;
        padding-left: 0;
        padding-right: 0; } }
.card-group.group--case-studies .card__header, .card-group.group--projects .card__header, .card-group.group--articles .card__header,
  .main .card-group.group--case-studies .card__header,
  .main .card-group.group--projects .card__header,
  .main .card-group.group--articles .card__header {
    padding-top: clamp(var(--space-xl-fixed), 11vw, var(--space-xxl-fixed)); }
@media only screen and (min-width: 47.9375em) {
      .card-group.group--case-studies .card__header, .card-group.group--projects .card__header, .card-group.group--articles .card__header,
      .main .card-group.group--case-studies .card__header,
      .main .card-group.group--projects .card__header,
      .main .card-group.group--articles .card__header {
        padding-top: 0;
        grid-row: 1; } }
.card-group.group--case-studies .card__footer, .card-group.group--projects .card__footer, .card-group.group--articles .card__footer,
  .main .card-group.group--case-studies .card__footer,
  .main .card-group.group--projects .card__footer,
  .main .card-group.group--articles .card__footer {
    padding-bottom: clamp(var(--space-md-fixed), 7vw, var(--space-xl-fixed)); }
@media only screen and (min-width: 47.9375em) {
      .card-group.group--case-studies .card__footer, .card-group.group--projects .card__footer, .card-group.group--articles .card__footer,
      .main .card-group.group--case-studies .card__footer,
      .main .card-group.group--projects .card__footer,
      .main .card-group.group--articles .card__footer {
        padding-bottom: 0;
        grid-row: 2; } }
/*--------------------------------------------------------------
# Card--list
--------------------------------------------------------------*/
.card--with-data.card--list {
  max-width: none;
  display: flex;
  align-items: flex-start;
  margin-bottom: 2.8rem;
  border-bottom: var(--brdr-xxs) solid var(--color-base-light);
  background-color: transparent;
  padding-bottom: 2.8rem; }
.card--with-data.card--list .card__main {
    flex-grow: 1;
    display: grid;
    grid-template-columns: 73% 24%;
    padding: 0 0 0 2.4rem; }
.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: 2.8rem; }
.card--with-data.card--list .card__img {
    width: 18rem;
    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: 2rem; }
.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: 2rem;
    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.4rem; }
.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(--color-base-light);
      padding-left: 2rem; }
/*--------------------------------------------------------------
# UI Cards
--------------------------------------------------------------*/
.card {
  background-color: white;
  max-width: 100%;
  position: relative; }
.card__aside {
    grid-row: span 6;
    grid-column: 1/8; }
.card__figure {
    height: clamp(29rem, 50vw, 41rem); }
.card__img {
    width: 100%;
    height: 100%;
    max-width: 100%;
    object-fit: cover;
    object-position: center center; }
.card__graphic {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 37.7%;
    height: 21.5%; }
.card__main {
    display: block; }
@media only screen and (min-width: 47.9375em) {
      .card__main {
        display: grid;
        grid-template-columns: repeat(12, 1fr);
        grid-auto-rows: min-content;
        --layout-gap: clamp(var(--space-lg-fixed), 6vmax, calc(var(--space-xl-fixed) + var(--space-md)));
        row-gap: 0;
        position: relative;
        z-index: 10; } }
.card__header {
    grid-column: 8/13;
    grid-row: 2;
    padding-top: 5vw; }
.card__subtitle {
    margin-bottom: 0; }
.card__subtitle:after {
      content: none; }
.card__subtitle .title__inner {
      color: var(--color-base-darkest);
      font-size: clamp(calc(var(--text-xxs) + var(--space-xxxs)), 4vw, var(--text-xxs));
      text-transform: none;
      letter-spacing: 0;
      margin-bottom: 0; }
.card__title {
    margin-bottom: var(--space-sm-fixed);
    font-size: var(--text-sm);
    color: var(--color-primary); }
@media only screen and (min-width: 47.9375em) {
      .card__title {
        font-size: var(--text-xs); } }
.card__copy {
    margin-bottom: 2.4rem; }
.card__link {
    text-decoration: none; }
.card__footer {
    padding-top: clamp(calc(var(--space-lg-fixed) + var(--space-sm-fixed)), 3vw, calc(var(--space-xl-fixed) + var(--space-sm-fixed))); }
@media only screen and (min-width: 47.9375em) {
      .card__footer {
        grid-column: 8/13;
        grid-row: 3; } }
.card__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    position: relative;
    text-transform: uppercase;
    font-size: var(--text-xxxs);
    font-weight: var(--wght-bold);
    letter-spacing: var(--letter-space-sm);
    margin-bottom: var(--space-sm); }
.card__actions:after {
      content: "";
      position: absolute;
      width: 100%;
      height: 1px;
      background-color: var(--color-base-lighter);
      right: 0; }
.card__cta {
    background-color: white;
    padding-right: var(--space-sm);
    padding-left: var(--space-sm);
    z-index: 5;
    letter-spacing: var(--letter-space-sm);
    font-weight: bold; }
.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: 10rem;
  border: none;
  background: none; }
.card--alt.card--story:after {
    display: none;
    background: none; }
.card--alt.card--story .card__main {
    padding: 0 13.06306% 6.7rem 15.76577%;
    border-left: var(--brdr-sm) solid var(--color-secondary);
    background: white; }
.card--alt.card--story .card__avatar {
    margin-top: -10rem;
    width: 18rem;
    height: 18rem; }
.card--alt.card--story .card__subtitle {
    display: block;
    margin-top: 5rem; }
.card--alt.card--story .card__title {
    margin-top: 0.5rem;
    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: 2.8rem; }
.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: 28rem; }
.card--with-data .tabs__list {
  padding-bottom: 4rem;
  margin-bottom: 2.4rem;
  border-bottom: var(--brdr-xxs) solid var(--color-base-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: 2.8rem;
  margin-top: 0;
  padding: 0;
  background-color: transparent; }
.card--with-data .tabs__body {
  display: flex; }
.card--with-data .btn--toggle {
  width: 100%;
  padding: 1.6rem 1.6rem;
  text-align: center; }
.card--with-data .stat {
  border-right: var(--brdr-xxs) solid var(--color-base-light); }
.card--with-data .stat__heading {
    display: none; }
.card--with-data .stat:last-child {
    border: none; }
.card--with-data .stat--datapoint {
    padding: 1.6rem 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 - Small
	--------------------------------------------------------------*/
  /*--------------------------------------------------------------
	# Card - Bkg colors for card graphics w/logo
	--------------------------------------------------------------*/ }
.card--alt {
    /*--------------------------------------------------------------
	# Card - Button styles
	--------------------------------------------------------------*/ }
.card--alt::after {
      content: "";
      position: absolute;
      width: 20rem;
      height: 10.4rem;
      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-sm) solid var(--color-primary);
    margin-top: 5.6rem; }
@media only screen and (min-width: 47.9375em) {
      .card--img-overlap {
        display: grid;
        grid-template-columns: repeat(16, 1fr);
        max-width: 101.4rem;
        background-color: transparent;
        border-top: none;
        margin-top: 0; } }
.card--img-overlap::after {
      content: "";
      position: absolute;
      width: 25.7rem;
      height: 15.9rem;
      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: 43.8rem;
        align-self: center;
        position: relative; } }
.card--img-overlap .card__figure {
      width: 83%;
      margin: 0 auto;
      margin-top: -6.8rem; }
@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-sm) solid var(--color-primary);
        background-color: var(--color-accent-primary);
        display: grid;
        grid-template-columns: repeat(16, 1fr);
        padding: 6rem 3.6rem 6rem 3.2rem; } }
@media only screen and (min-width: 47.9375em) {
      .card--img-overlap .card__wrap {
        grid-column: 8/17; } }
.card--callout {
    max-width: 101.4rem;
    background-color: var(--color-primary) -darker;
    border-left-color: var(--color-primary); }
.card--callout .card__main {
      padding: 3.6rem 2.4rem 4rem; }
@media only screen and (min-width: 47.9375em) {
        .card--callout .card__main {
          padding: 6rem 6.6rem; } }
.card--callout .card__title {
      font-size: 3rem;
      line-height: 1.2;
      margin-bottom: 1.6rem; }
@media only screen and (min-width: 47.9375em) {
        .card--callout .card__title {
          margin-bottom: 2.4rem;
          font-size: 4rem;
          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: 21.2rem;
      height: 11.6rem; }
.card--jumpoff::after {
    background-image: url(images/dot-grid-white.svg);
    width: 13.6rem;
    height: 11.9rem; }
.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: 4.8rem 2.4rem 5.2rem; }
.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: 122rem;
        padding: 0 2.4rem; } }
.card--cta .figure--pttrn-bkg::after {
      left: -3.4rem;
      content: none; }
@media only screen and (min-width: 47.9375em) {
        .card--cta .figure--pttrn-bkg::after {
          content: "";
          width: 32.5rem;
          height: 20.2rem;
          transform: scaleX(-1); } }
@media only screen and (min-width: 66.875em) {
        .card--cta .figure--pttrn-bkg::after {
          width: 42.6rem;
          height: 25.5rem; } }
.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: 59.6rem;
        margin-bottom: -8rem;
        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: 3.2rem; }
@media only screen and (min-width: 47.9375em) {
        .card--cta .card__title {
          font-size: 3.6rem;
          line-height: 1.22222;
          margin-bottom: 3.6rem; } }
.card--cta .card__links {
      display: flex;
      flex-direction: column; }
@media only screen and (min-width: 66.875em) {
        .card--cta .card__links {
          flex-direction: row; } }
.card--cta .card__links .btn {
        flex: 1 1 auto;
        width: 100%;
        margin-bottom: 2rem; }
@media only screen and (min-width: 66.875em) {
          .card--cta .card__links .btn {
            margin-bottom: 0; } }
.card--cta .card__links .btn:first-child {
          margin-right: 0; }
@media only screen and (min-width: 66.875em) {
            .card--cta .card__links .btn:first-child {
              margin-right: 1.2rem; } }
.card--cta .card__links .btn:last-child {
          margin-bottom: 0; }
.card--cta .card__links .btn--secondary {
          flex: 1 1 67%; }
.card--resources {
    max-width: 101.4rem;
    background-color: var(--color-primary) -darker;
    border-left-color: var(--color-primary);
    margin-top: 4.4rem; }
@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: 6.8rem 6.8rem 6rem; } }
.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: 3.6rem 0 2.4rem; }
@media only screen and (min-width: 47.9375em) {
        .card--resources .card__heading {
          padding: 0 0 4rem;
          margin-left: 3.2rem; } }
.card--resources .card__subtitle {
      color: white;
      margin-bottom: 0.8rem;
      display: block; }
@media only screen and (min-width: 47.9375em) {
        .card--resources .card__subtitle {
          margin-bottom: 0.4rem; } }
.card--resources .card__title {
      font-size: 3.6rem;
      line-height: 1.22222;
      margin: 0 0 1.2rem 0; }
@media only screen and (min-width: 47.9375em) {
        .card--resources .card__title {
          font-size: 4.2rem;
          line-height: 1.2381;
          margin: 0; } }
.card--resources .card__body {
      margin-top: 3.6rem; }
@media only screen and (min-width: 47.9375em) {
        .card--resources .card__body {
          margin-top: 4.4rem; } }
.card--resources .card__list {
      margin: 2rem 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: 1.6rem; }
.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: -8rem 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; }
.card--small {
    border-left: none; }
.card--small .card__link:after {
      content: "";
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 100; }
.card--small .link__content {
      color: var(--color-base-darkest); }
.card--small .link__content:after {
        border-left-color: var(--color-secondary); }
.card .card__figure img[src*="logo"] {
    object-fit: unset;
    padding: var(--space-lg); }
.card .card__figure:has(img[src*="baytechIT"]) {
    background-color: var(--color-baytechit); }
/*--------------------------------------------------------------
# Lists - Data
--------------------------------------------------------------*/
.list--data {
  margin-left: 0;
  margin-right: 0;
  position: relative; }
@media only screen and (min-width: 47.9375em) {
    .list--data {
      display: grid;
      grid-template-columns: repeat(12, 1fr);
      grid-auto-rows: minmax(100px, auto);
      column-gap: clamp(2.4rem, 4vw, 4.8rem);
      align-items: center;
      margin-top: 0; } }
.list--data:before {
    content: "";
    position: absolute;
    width: var(--brdr-xxs);
    height: 100%; }
@media only screen and (min-width: 47.9375em) {
      .list--data:before {
        position: absolute;
        background-color: var(--color-base-lightest);
        background-color: var(--color-base-lightest);
        left: -10%;
        grid-column: 8; } }
.list--data .list__item {
    flex-direction: column;
    line-height: 1.3;
    padding: 0;
    margin: 0;
    width: 100%;
    text-align: left; }
.list--data .list__item::before {
      display: none; }
@media only screen and (min-width: 47.9375em) {
      .list--data .list__item:first-child {
        border-right: none;
        grid-column: 1/8;
        grid-row: span 2; } }
@media only screen and (min-width: 56.875em) {
      .list--data .list__item:first-child {
        grid-column: 2/8; } }
@media only screen and (min-width: 47.9375em) {
      .list--data .list__item:nth-child(2n):nth-last-child(2), .list--data .list__item:nth-child(3n):nth-last-child(1) {
        grid-column: 8/13; } }
@media only screen and (min-width: 47.9375em) {
      .list--data .list__item:nth-child(2n):nth-last-child(2) .data__num, .list--data .list__item:nth-child(3n):nth-last-child(1) .data__num {
        font-size: calc(var(--text-xxxl) + var(--space-sm)); } }
@media only screen and (min-width: 47.9375em) {
      .list--data .list__item:nth-child(2n):nth-last-child(2) .data__label, .list--data .list__item:nth-child(3n):nth-last-child(1) .data__label {
        padding-left: var(--space-md); } }
@media only screen and (min-width: 47.9375em) {
      .list--data .list__item:nth-child(1n):nth-last-child(3) {
        grid-row: span 2; } }
.list--data .list__item:nth-child(2n) {
      border-top: var(--brdr-xxs) solid var(--color-base-lightest);
      margin-top: var(--space-lg);
      padding-top: var(--space-md); }
@media only screen and (min-width: 47.9375em) {
        .list--data .list__item:nth-child(2n) {
          border: none;
          margin-top: 0;
          padding-top: 0;
          grid-column: 8/13;
          grid-row: span 2; } }
@media only screen and (min-width: 47.9375em) {
        .list--data .list__item:nth-child(2n) :nth-last-child(1) {
          grid-row: span 2; } }
.list--data .list__item:nth-child(2n):nth-last-child(2) {
        border-bottom: var(--brdr-xxs) solid var(--color-base-lightest);
        margin-bottom: var(--space-md);
        padding-bottom: var(--space-lg); }
@media only screen and (min-width: 47.9375em) {
          .list--data .list__item:nth-child(2n):nth-last-child(2) {
            grid-column: 8/13;
            padding-bottom: var(--space-lg);
            margin-bottom: 0;
            grid-row: 1; } }
@media only screen and (min-width: 47.9375em) {
      .list--data .list__item:nth-child(3n):nth-last-child(1) {
        padding-top: calc(var(--space-md) + var(--space-xxxs)); } }
.list .data__num {
  display: flex;
  position: relative;
  font-size: clamp(calc(var(--text-lg) + var(--space-lg)), 14.5vw, calc(var(--text-xxxl) + var(--space-xxl)));
  line-height: 1;
  font-weight: var(--wght-black);
  color: var(--color-base-darkest);
  align-items: flex-start;
  gap: calc(var(--space-xxxs) * 0.4); }
.list .data__num.data--increase:before, .list .data__num.data--decrease:before {
    content: "";
    position: absolute;
    width: 0.18em;
    height: 0.18em;
    position: relative;
    top: calc(var(--space-xxxs) * 1.15);
    -webkit-clip-path: polygon(10% 0, 10% 100%, 100% 50%);
            clip-path: polygon(10% 0, 10% 100%, 100% 50%);
    background-color: var(--color-primary);
    transform: rotate(-90deg); }
.list .data__num.data--decrease::before {
    transform: rotate(90deg); }
.list .data__label {
  font-weight: var(--wght-semibold); }
@media only screen and (min-width: 47.9375em) {
    .list .data__label {
      padding-left: calc(var(--space-lg) + var(--space-sm)); } }
/*
.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: var(--color-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;
        }
      }
    }
	}
}
*/
/*--------------------------------------------------------------
>>> Radio Input
----------------------------------------------------------------*/
.form__element .element--radio {
  display: flex;
  align-items: center; }
.form__element.element--radio.form__element--disabled .label--radio:before {
  border-color: var(--color-base-darkest); }
input[type="radio"] {
  -webkit-appearance: none;
          appearance: none;
  background-color: transparent;
  margin: 0;
  font: inherit;
  color: currentColor;
  width: 1.55556em;
  height: 1.55556em;
  padding: 0;
  border: 0.15em solid currentColor;
  border-radius: 50%;
  transform: translateY(-0.075em);
  display: grid;
  place-content: center;
  cursor: pointer; }
input[type="radio"]:before {
    content: "";
    width: 0.88889em;
    height: 0.88889em;
    border-radius: 50%;
    transform: scale(0);
    box-shadow: inset 1em 1em var(--color-primary);
    background-color: CanvasText;
    transition: 120ms transform var(--easing); }
input[type="radio"]:checked::before {
    transform: scale(1); }
input[type="radio"].input--reverse::before {
    box-shadow: inset 1em 1em var(--color-base-darkest); }
/*--------------------------------------------------------------
Socials
----------------------------------------------------------------
# Base styles
# Facebook
# Pinterest
# Email
# Print
# Twitter/X
# RSS
# LinkedIn
# Social Share
--------------------------------------------------------------*/
.socials {
  list-style: none;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: var(--space-md);
  background-color: var(--color-base-darkest);
  /*--------------------------------------------------------------
# Social Share
--------------------------------------------------------------*/ }
.socials__social {
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center; }
.socials__social:before {
      content: none; }
.socials__social a {
      display: flex;
      justify-content: center;
      align-items: center;
      border: var(--brdr-xs) solid white;
      border-radius: 100%;
      width: 4rem;
      height: 4rem;
      background-color: transparent;
      transition: background-color var(--timing) var(--easing); }
.socials__social a:before {
        content: "";
        display: block;
        background-color: white;
        background-size: cover; }
.socials__social a:hover, .socials__social a:active, .socials__social a:focus {
        background-color: white; }
.socials__social a:hover:before, .socials__social a:active:before, .socials__social a:focus:before {
          background-color: var(--color-base-darkest); }
.socials__social--facebook a:before {
      width: 1rem;
      height: 2rem;
      display: inline-block;
      -webkit-mask: url(images/ico-facebook.svg) no-repeat 50% 50%;
      mask: url(images/ico-facebook.svg) no-repeat 50% 50%;
      -webkit-mask-size: cover;
      mask-size: cover;
      transition: background-color var(--timing) var(--easing); }
.socials__social--pinterest a:before {
      width: 1.7rem;
      height: 2.2rem;
      display: inline-block;
      -webkit-mask: url(images/ico-pinterest.svg) no-repeat 50% 50%;
      mask: url(images/ico-pinterest.svg) no-repeat 50% 50%;
      -webkit-mask-size: cover;
      mask-size: cover;
      transition: background-color var(--timing) var(--easing); }
.socials__social--email a:before {
      width: 2.1rem;
      height: 1.45rem;
      display: inline-block;
      -webkit-mask: url(images/ico-email.svg) no-repeat 50% 50%;
      mask: url(images/ico-email.svg) no-repeat 50% 50%;
      -webkit-mask-size: cover;
      mask-size: cover;
      transition: background-color var(--timing) var(--easing); }
.socials__social--print a:before {
      width: 2.1rem;
      height: 2.1rem;
      display: inline-block;
      -webkit-mask: url(images/ico-print.svg) no-repeat 50% 50%;
      mask: url(images/ico-print.svg) no-repeat 50% 50%;
      -webkit-mask-size: cover;
      mask-size: cover;
      transition: background-color var(--timing) var(--easing); }
.socials__social--twitter a:before {
      width: 1.6rem;
      height: 1.6rem;
      display: inline-block;
      -webkit-mask: url(images/ico-twitter.svg) no-repeat 50% 50%;
      mask: url(images/ico-twitter.svg) no-repeat 50% 50%;
      -webkit-mask-size: cover;
      mask-size: cover;
      transition: background-color var(--timing) var(--easing); }
.socials__social--rss a:before {
      width: 2.1rem;
      height: 2rem;
      display: inline-block;
      -webkit-mask: url(images/ico-rss.svg) no-repeat 50% 50%;
      mask: url(images/ico-rss.svg) no-repeat 50% 50%;
      -webkit-mask-size: cover;
      mask-size: cover;
      transition: background-color var(--timing) var(--easing); }
.socials__social--linkedin a:before {
      width: 1.7rem;
      height: 1.62rem;
      display: inline-block;
      -webkit-mask: url(images/ico-linkedin.svg) no-repeat 50% 50%;
      mask: url(images/ico-linkedin.svg) no-repeat 50% 50%;
      -webkit-mask-size: cover;
      mask-size: cover;
      transition: background-color var(--timing) var(--easing); }
.socials__social--instagram a:before {
      width: 2.1rem;
      height: 2rem;
      display: inline-block;
      -webkit-mask: url(images/ico-instagram-btn.svg) no-repeat 50% 50%;
      mask: url(images/ico-instagram-btn.svg) no-repeat 50% 50%;
      -webkit-mask-size: cover;
      mask-size: cover;
      transition: background-color var(--timing) var(--easing); }
.socials.socials__share {
    background-color: transparent; }
@media only screen and (min-width: 66.875em) {
      .socials.socials__share {
        flex-direction: column; } }
.socials.socials__share a {
      border-color: var(--color-primary);
      background-color: transparent;
      transition: background-color var(--timing) var(--easing); }
.socials.socials__share a:hover, .socials.socials__share a:focus, .socials.socials__share a:active {
        background-color: var(--color-primary); }
.socials.socials__share a:hover::before, .socials.socials__share a:focus::before, .socials.socials__share a:active::before {
          background-color: white; }
.socials.socials__share a::before {
        background-color: var(--color-primary);
        transition: background-color var(--timing) var(--easing); }
/*--------------------------------------------------------------
>>> Staggered Content:
----------------------------------------------------------------
# Base styles
# Staggered content w/scope of Wwrk list
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# .staggered-content - Base styles
--------------------------------------------------------------*/
.staggered-content {
  margin-bottom: var(--block-spacing-base);
  /*--------------------------------------------------------------
# .staggered-content--scope - Staggered content with scope of work list
--------------------------------------------------------------*/
  /*--------------------------------------------------------------
# .staggered-content--reverse - Staggered content with dark bkg
--------------------------------------------------------------*/ }
@media only screen and (min-width: 47.9375em) {
    .staggered-content {
      display: grid;
      grid-template-columns: repeat(var(--layout-col-num), var(--layout-col-width));
      gap: var(--layout-gap);
      --layout-gap: clamp(var(--space-xl-fixed), 6vmax, calc(var(--space-xl-fixed) + var(--space-sm-fixed))); } }
.staggered-content__title {
    font-size: clamp(calc(var(--text-xxxs) + var(--space-xxxs)), 1.25vw, var(--text-xs));
    font-weight: var(--wght-semibold); }
@media only screen and (min-width: 47.9375em) {
      .staggered-content__title {
        grid-column: 2/5; } }
@media only screen and (min-width: 47.9375em) {
    .staggered-content__text {
      grid-column: 5/13; } }
.staggered-content__text p:last-child,
  .staggered-content__text ol:last-child,
  .staggered-content__text ul:last-child {
    margin-bottom: 0; }
.staggered-content--scope {
    display: block; }
@media only screen and (min-width: 47.9375em) {
      .staggered-content--scope {
        display: grid;
        grid-template-columns: repeat(var(--layout-col-num), var(--layout-col-width));
        gap: var(--layout-gap); } }
.staggered-content--scope .staggered-content__title {
      margin-bottom: clamp(var(--space-sm), 4vw, calc(var(--space-sm) + var(--space-xxs))); }
@media only screen and (min-width: 66.875em) {
        .staggered-content--scope .staggered-content__title {
          margin-bottom: 0; } }
.staggered-content--scope .services {
      --layout-gap: clamp(calc(var(--space-xl-fixed) + var(--space-xs)), 4vmax, calc(var(--space-xl-fixed) + var(--space-lg-fixed))) 0;
      --layout-col-min: 23ch;
      padding-top: var(--space-md-fixed); }
@media only screen and (min-width: 66.875em) {
        .staggered-content--scope .services {
          --layout-gap: 0;
          --layout-col-min: 10ch; } }
.staggered-content--scope .services__title {
        font-size: var(--text-xxxs);
        text-transform: uppercase;
        font-weight: var(--wght-bold);
        letter-spacing: var(--letter-space-xxl);
        border-bottom: var(--brdr-xxs) solid var(--color-base-lighter);
        padding-bottom: clamp(var(--space-sm-fixed), 0.75vw, var(--space-lg-fixed));
        margin-bottom: calc(var(--space-md-fixed) + var(--space-xxxs-fixed)); }
.staggered-content--scope .services__list {
        margin-right: 1vmax;
        padding-left: 0; }
.staggered-content--scope .services__item {
        padding-left: 0; }
.staggered-content--scope .services__item:before {
          display: none; }
.staggered-content--reverse {
    color: white;
    background-color: var(--color-base-darkest); }
.staggered-content--reverse .staggered-content__title,
    .staggered-content--reverse .services__title {
      color: white; }
.staggered-content--reverse .services__title {
      border-bottom-color: var(--color-base-light); }
.tabs__title {
  position: relative;
  color: var(--color-base-light);
  text-decoration: none;
  padding: var(--space-sm);
  display: block;
  width: 100%;
  background-color: transparent;
  text-align: left;
  font-weight: var(--wght-bold);
  letter-spacing: 0.01875em;
  margin: var(--space-xxs) calc(var(--space-xs) + var(--space-xxs));
  padding: 0;
  transition: color var(--timing) var(--easing); }
@media only screen and (min-width: 47.9375em) {
    .tabs__title {
      margin: var(--space-xxs) var(--space-md); } }
.tabs__title::after {
    content: "";
    position: absolute;
    width: 0;
    height: var(--brdr-xs);
    background-color: var(--color-primary);
    left: 0;
    bottom: calc(var(--space-xxs) * -1);
    opacity: 0;
    transition: width var(--timing) var(--easing), opacity var(--timing) var(--easing); }
.tabs__title:visited {
    color: var(--color-base-darkest); }
.tabs__title:hover, .tabs__title:active {
    background-color: transparent;
    color: var(--color-base-darkest); }
@media print {
    .tabs__title[aria-selected="false"] {
      display: none; } }
.tabs__title.is-active {
    color: var(--color-base-darkest); }
.tabs__title.is-active:visited, .tabs__title.is-active:hover, .tabs__title.is-active:active {
      color: var(--color-base-darkest); }
.tabs__title.is-active::after {
      width: 100%;
      opacity: 1; }
.tabs__list {
  display: flex;
  margin-left: 0; }
@media print {
    .tabs__list {
      display: none; } }
.tabs__item {
  margin: 0;
  padding: 0;
  border-right: var(--brdr-xxs) solid var(--color-base-lightest); }
.tabs__item::before {
    display: none; }
.tabs__item:first-child .tabs__title {
    padding-left: 0;
    margin-left: 0; }
.tabs__item:last-child {
    border-right: none; }
.tabs__section {
  margin-top: var(--space-sm);
  visibility: visible;
  opacity: 1;
  transition: opacity 0.7s var(--easing), visibility 0.7s var(--easing); }
.tabs__section[aria-hidden="true"] {
    visibility: hidden;
    opacity: 0;
    width: 0;
    height: 0;
    font-size: 0;
    overflow: hidden; }
@media print {
      .tabs__section[aria-hidden="true"] {
        display: block; } }
/*--------------------------------------------------------------
>>> Testimonial:
----------------------------------------------------------------
# Base
# With Image
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Testimonial - Base
--------------------------------------------------------------*/
.testimonial {
  position: relative;
  margin-bottom: calc(var(--block-spacing-base) - var(--space-xxs));
  /*--------------------------------------------------------------
# Testimonial - With Image
--------------------------------------------------------------*/ }
.testimonial__main {
    position: relative; }
.testimonial__quote {
    margin: 0;
    border: none; }
.testimonial__header {
    margin-bottom: var(--space-lg); }
.testimonial__ico {
    margin: 0 auto var(--space-xxs); }
.testimonial__text {
    font-size: var(--text-sm);
    margin-top: 0;
    margin-bottom: var(--space-md); }
@media only screen and (min-width: 47.9375em) {
      .testimonial__text {
        font-size: var(--text-xs); } }
@media only screen and (min-width: 56.875em) {
      .testimonial__text {
        font-size: var(--text-sm); } }
.testimonial__footer {
    text-align: right;
    color: var(--color-base-light);
    position: relative; }
.testimonial__footer:before {
      content: "";
      position: absolute;
      width: 100%;
      height: 1px;
      display: block;
      background-color: var(--color-base-lighter);
      top: var(--space-sm); }
.testimonial__cite {
    font-style: normal;
    position: relative;
    z-index: 5; }
.testimonial__cite .cite--name {
      color: var(--color-base-darkest);
      font-weight: var(--wght-bold);
      background-color: white;
      padding-left: var(--space-sm); }
.testimonial__cite .cite--role {
      display: block;
      max-width: 50rem;
      margin-left: auto; }
.testimonial--with-img {
    border-top: var(--brdr-xs) solid var(--color-primary);
    padding-top: calc(var(--space-xl) + var(--space-sm));
    margin-bottom: clamp(var(--space-xxl), 11vw, calc(var(--space-xxxl) + var(--space-lg))); }
@media only screen and (min-width: 47.9375em) {
      .testimonial--with-img {
        display: flex;
        border-top: none;
        padding-top: 0; } }
.testimonial--with-img:before {
      content: "";
      position: absolute;
      width: calc(100% - var(--space-xxxl) * 2);
      height: auto;
      display: none; }
@media only screen and (min-width: 47.9375em) {
        .testimonial--with-img:before {
          display: block;
          top: 0;
          left: 0;
          border-top: calc(var(--brdr-xs) * 1.3) solid var(--color-primary); } }
.testimonial--with-img:after {
      content: "";
      position: absolute;
      width: 100%;
      height: auto;
      right: 0;
      bottom: 3%;
      border-top: calc(var(--brdr-xs) * 1.25) solid var(--color-primary); }
@media only screen and (min-width: 47.9375em) {
        .testimonial--with-img:after {
          bottom: 0; } }
.testimonial--with-img .testimonial__main {
      padding: 0 var(--gutter-static) calc(var(--space-xl) + var(--space-xs)); }
@media only screen and (min-width: 47.9375em) {
        .testimonial--with-img .testimonial__main {
          width: 51vw;
          padding: clamp(var(--space-xxl-fixed), 14.3%, 8.3rem) var(--gutter-static); } }
@media only screen and (min-width: 47.9375em) {
        .testimonial--with-img .testimonial__main .testimonial__inner {
          width: Max(40%, 43vw);
          margin: 0 auto; } }
.testimonial--with-img .testimonial__graphics {
      position: relative; }
@media only screen and (min-width: 47.9375em) {
        .testimonial--with-img .testimonial__graphics {
          width: Max(49%, 49vw);
          height: 100%;
          position: absolute;
          right: 0;
          flex-grow: 1; } }
.testimonial--with-img .testimonial__graphics:before {
        content: "";
        position: absolute;
        width: 100%;
        height: 88%;
        -webkit-clip-path: polygon(100% 0, 0.8% 100%, 0 100%, 98.6% 0.6%, 0 0.6%, 0% 0%);
                clip-path: polygon(100% 0, 0.8% 100%, 0 100%, 98.6% 0.6%, 0 0.6%, 0% 0%);
        background-color: var(--color-primary);
        top: calc(var(--space-xxxs) * -0.75);
        left: calc(var(--space-xxxs) * -0.75); }
@media only screen and (min-width: 30em) {
          .testimonial--with-img .testimonial__graphics:before {
            -webkit-clip-path: polygon(100% 0, 0.75% 100%, 0 100%, 98.75% 0.5%, 0 0.5%, 0% 0%);
                    clip-path: polygon(100% 0, 0.75% 100%, 0 100%, 98.75% 0.5%, 0 0.5%, 0% 0%); } }
@media only screen and (min-width: 47.9375em) {
          .testimonial--with-img .testimonial__graphics:before {
            height: 100%;
            width: Max(106%, 38.5vw);
            top: 0;
            left: -4.4vw;
            -webkit-clip-path: polygon(100% 0, 1% 100%, 0 100%, 98.5% 0.5%, 0 0.5%, 0% 0%);
                    clip-path: polygon(100% 0, 1% 100%, 0 100%, 98.5% 0.5%, 0 0.5%, 0% 0%); } }
@media only screen and (min-width: 66.875em) {
          .testimonial--with-img .testimonial__graphics:before {
            -webkit-clip-path: polygon(100% 0, 0.8% 100%, 0 100%, 98.8% 0.58%, 0 0.58%, 0% 0%);
                    clip-path: polygon(100% 0, 0.8% 100%, 0 100%, 98.8% 0.58%, 0 0.58%, 0% 0%); } }
.testimonial--with-img .testimonial__img-primary {
      position: relative;
      z-index: 5; }
.testimonial--with-img .testimonial__img-primary .testimonial__inner {
        position: relative;
        top: var(--space-md);
        padding-top: Max(42vw, 46rem);
        width: 82%;
        margin: 0 auto;
        box-shadow: 0 0 38px rgba(0, 0, 0, 0.3); }
@media only screen and (min-width: 47.9375em) {
          .testimonial--with-img .testimonial__img-primary .testimonial__inner {
            margin: 0 4.7vw;
            padding-top: Max(31vw, 49rem); } }
.testimonial--with-img .testimonial__img-primary img {
        max-width: 100%;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center; }
.testimonial--with-img .testimonial__img-secondary {
      overflow: visible;
      position: absolute;
      top: calc(var(--space-xxxs) * 1.75);
      right: 0;
      -webkit-clip-path: polygon(100% 0, 0% 100%, 100% 100%);
              clip-path: polygon(100% 0, 0% 100%, 100% 100%);
      z-index: 0;
      height: 89%;
      width: 100%; }
@media only screen and (min-width: 47.9375em) {
        .testimonial--with-img .testimonial__img-secondary {
          height: 95%; } }
@media only screen and (min-width: 75em) {
        .testimonial--with-img .testimonial__img-secondary {
          height: 94.3%; } }
.testimonial--with-img .testimonial__img-secondary:before {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        background: var(--color-primary);
        opacity: 0.85; }
.testimonial--with-img .testimonial__img-secondary:after {
        content: "";
        position: absolute;
        width: 2px;
        height: 103%;
        top: 0;
        left: -3%;
        background-color: black; }
.testimonial--with-img .testimonial__img-secondary:before {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        background: var(--color-primary);
        opacity: 0.85; }
.testimonial--with-img .testimonial__img-secondary img {
        width: 100%;
        height: 100%;
        object-fit: cover; }
/* BEWARE!!!!!!!!!!! - brenda */
/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
/*--------------------------------------------------------------
>>> Header:
----------------------------------------------------------------
# Base styles
# Page-specific styles
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Base styles
--------------------------------------------------------------*/
@media only screen and (min-width: 56.875em) {
  .header {
    display: flex;
    flex-direction: column;
    border-bottom: none;
    padding-top: calc(var(--space-xxxs) + var(--space-xxxs));
    padding-bottom: 0;
    border-bottom: var(--brdr-xxs) solid var(--color-base-lightest); } }
.header__logo {
  padding-left: var(--gutter-static);
  padding-top: var(--space-xxs); }
@media only screen and (min-width: 56.875em) {
    .header__logo {
      margin-top: auto;
      margin-left: 0;
      margin-bottom: auto;
      padding-left: var(--gutter-static);
      padding-top: calc(var(--space-xs) + var(--space-xxs)); } }
@media only screen and (min-width: 56.875em) {
    .header__logo img {
      width: 104%; } }
@media only screen and (min-width: 75em) {
    .header__logo img {
      width: 120%; } }
.header__inner {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  justify-content: space-between;
  align-items: center;
  position: relative; }
@media only screen and (min-width: 47.9375em) {
    .header__inner {
      padding-bottom: calc(var(--space-xs) + var(--space-xs)); } }
.header__controls {
  padding-left: var(--gutter-static);
  border-left: var(--brdr-xxs) solid var(--color-base-lightest); }
@media only screen and (min-width: 56.875em) {
    .header__controls {
      display: none; } }
.header__controls .btn--modal {
    border: none; }
.header__controls .btn--modal::before, .header__controls .btn--modal::after {
      content: "";
      position: absolute;
      display: block;
      background-color: var(--color-primary);
      width: 2.4rem;
      height: 2px;
      left: 0; }
.header__controls .btn--modal::before {
      top: 47%;
      box-shadow: 0 calc(var(--space-xs) * -0.96) 0 var(--color-primary); }
.header__controls .btn--modal::after {
      bottom: calc(var(--space-md) * 1.5); }
.header__controls .btn--modal .btn__txt {
      margin-left: 0; }
.header__controls .btn--modal .btn__inner {
      padding: calc(var(--space-md) + var(--space-xs)) var(--space-lg); }
.header__controls .btn--modal .btn__inner::before, .header__controls .btn--modal .btn__inner::after {
        display: none; }
.header__controls .btn--modal .btn__ico {
      display: none; }
.header__controls .btn--modal:hover::before, .header__controls .btn--modal:hover::after, .header__controls .btn--modal:focus::before, .header__controls .btn--modal:focus::after, .header__controls .btn--modal:active::before, .header__controls .btn--modal:active::after {
      content: ""; }
.header__controls .btn--modal:hover::before, .header__controls .btn--modal:focus::before, .header__controls .btn--modal:active::before {
      left: 0; }
.header__controls .btn--modal:hover::after, .header__controls .btn--modal:focus::after, .header__controls .btn--modal:active::after {
      left: 0; }
.header__nav {
  visibility: hidden;
  opacity: 1;
  position: fixed;
  transform: translateX(100%);
  max-height: 100%;
  height: 100vh;
  width: 110vw;
  max-width: 54rem;
  padding: var(--space-lg) var(--space-lg) var(--space-sm) calc(var(--space-xxl) + var(--space-md));
  background-color: var(--color-primary);
  right: 0;
  top: 0;
  bottom: 0;
  margin: 0;
  -webkit-overflow-scrolling: touch;
  overflow: auto;
  z-index: 500;
  overflow-y: auto;
  -webkit-clip-path: polygon(15% 0%, 100% 0, 100% 100%, 40% 100%);
          clip-path: polygon(15% 0%, 100% 0, 100% 100%, 40% 100%);
  backface-visibility: hidden;
  transition: all var(--timing) ease-out 0.15s; }
@media only screen and (min-width: 56.875em) {
    .header__nav {
      position: relative;
      visibility: visible;
      transform: none;
      height: auto;
      width: auto;
      max-width: none;
      padding: 0;
      overflow: unset;
      -webkit-clip-path: none;
              clip-path: none;
      backface-visibility: unset;
      background-color: transparent;
      top: var(--space-xxs); } }
.header__nav.active {
    transform: translateX(0); }
.header__nav[aria-hidden="false"] {
    visibility: visible; }
.header__nav[aria-hidden="false"] .menu__list {
      opacity: 1;
      left: 0; }
.header__nav[aria-hidden="false"] .menu__controls::before {
      width: 90%; }
.header__nav[aria-hidden="false"] .menu__controls .btn--close {
      opacity: 1; }
.header__nav[aria-hidden="false"] .menu__head:after {
      width: 60%; }
.header__nav[aria-hidden="false"] .menu__title {
      opacity: 1; }
.header__nav[aria-hidden="false"]:before {
      height: calc(100% - 42px); }
.header__nav:before {
    content: "";
    position: absolute;
    width: 24.5%;
    height: 0;
    background-color: white;
    left: 90px;
    -webkit-clip-path: polygon(0 0, 2% 0, 100% 100%, 98% 100%);
            clip-path: polygon(0 0, 2% 0, 100% 100%, 98% 100%);
    bottom: 0;
    transition: height 0.4s var(--easing) 0.2s; }
@media only screen and (min-width: 30em) {
      .header__nav:before {
        left: 102px; } }
.header__nav .btn.btn--close::before {
    width: 3rem;
    height: 0.2rem; }
.header__nav .menu__head {
    position: relative;
    display: flex;
    align-items: center; }
@media only screen and (min-width: 56.875em) {
      .header__nav .menu__head {
        display: none; } }
.header__nav .menu__head:after {
      content: "";
      position: absolute;
      width: 100%;
      height: var(--brdr-xxs);
      background-color: var(--color-base-darkest);
      right: 0;
      width: 0;
      transition: width 0.25s var(--easing) 0.9s; }
.header__nav .menu__title {
    position: relative;
    font-size: var(--text-xxs);
    font-weight: var(--wght-bold);
    letter-spacing: 0.01875em;
    text-transform: uppercase;
    color: var(--color-base-darkest);
    background-color: var(--color-primary);
    margin-left: calc(var(--space-lg) * 1.75);
    margin-bottom: 0;
    padding-right: calc(var(--space-sm) + var(--space-xs));
    z-index: 10;
    opacity: 0;
    transition: opacity 0.3s var(--easing) 0.8s; }
.header__nav .menu__list {
    position: relative;
    left: 100%;
    font-size: calc(var(--text-xxxs) + var(--text-xxxs));
    font-weight: var(--wght-bold);
    color: white;
    transform: rotate(-8deg);
    margin-left: calc(var(--space-sm) + var(--space-xs));
    margin-top: calc(var(--space-sm) + var(--space-xxs));
    opacity: 0;
    transition: opacity var(--timing) var(--easing) 0.9s, left var(--timing) var(--easing) 0.9s; }
@media only screen and (min-width: 30em) {
      .header__nav .menu__list {
        margin-left: calc(var(--space-sm) + var(--space-xxs)); } }
@media only screen and (min-width: 56.875em) {
      .header__nav .menu__list {
        display: flex;
        margin: 0;
        left: 0;
        font-size: var(--text-xxxs);
        font-weight: var(--wght-semibold);
        transform: none;
        opacity: 1;
        padding-right: var(--gutter-static); } }
.header__nav .menu__list li {
      word-break: unset;
      font-weight: var(--wght-extrabold);
      letter-spacing: var(--letter-space-md);
      transform: rotate(8deg);
      margin-bottom: var(--space-xxxs); }
@media only screen and (min-width: 56.875em) {
        .header__nav .menu__list li {
          margin: 0;
          transform: none;
          font-weight: var(--wght-regular);
          padding-left: clamp(var(--space-sm-fixed), 1.5vw, calc(var(--space-xl-fixed) + var(--space-xs-fixed))); } }
.header__nav .menu__list li:before {
        display: none; }
.header__nav .menu__list li a {
        color: white;
        text-decoration: none;
        text-transform: uppercase; }
@media only screen and (min-width: 56.875em) {
          .header__nav .menu__list li a {
            color: var(--color-base-darkest); } }
.header__nav .menu__controls {
    display: flex;
    justify-content: flex-end;
    margin-bottom: calc(var(--space-lg) + var(--space-sm));
    position: relative; }
@media only screen and (min-width: 56.875em) {
      .header__nav .menu__controls {
        display: none; } }
.header__nav .menu__controls:before {
      content: "";
      position: absolute;
      width: 0;
      height: var(--brdr-xs);
      background-color: white;
      left: -14px;
      top: 37%;
      transition: width 0.35s var(--easing) 0.55s; }
@media only screen and (min-width: 30em) {
        .header__nav .menu__controls:before {
          left: 0; } }
.header__nav .menu__controls .btn--close {
      background-color: var(--color-primary);
      padding-left: var(--space-md);
      padding-right: 0;
      margin-right: calc(var(--space-xxs) * -0.8);
      opacity: 0;
      transition: opacity 0.25s var(--easing) 0.75s; }
.header__ctas {
  width: 100%;
  border-top: var(--brdr-xxs) solid var(--color-base-lightest);
  border-bottom: var(--brdr-xxs) solid var(--color-base-lightest); }
@media only screen and (min-width: 56.875em) {
    .header__ctas {
      display: none; } }
.header__ctas .menu__list {
    display: flex;
    justify-content: space-between;
    margin-top: var(--space-sm); }
.header__ctas .menu__item {
    padding-left: 0;
    flex-grow: 1;
    justify-content: center;
    margin-bottom: 0; }
.header__ctas .menu__item::before {
      display: none; }
.header__ctas .menu__item:nth-child(2) {
      border-left: var(--brdr-xxs) solid var(--color-base-lightest);
      border-right: var(--brdr-xxs) solid var(--color-base-lightest); }
.header__ctas .menu__link {
    font-size: var(--text-xxxs);
    font-weight: var(--wght-semibold);
    letter-spacing: 0.01875em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--color-base-darkest);
    padding: var(--space-xs) var(--space-xs) var(--space-xxxs); }
.header__overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
  position: fixed;
  background: rgba(0, 0, 0, 0.7);
  opacity: 0;
  transition: all var(--timing) ease-in-out;
  visibility: hidden;
  z-index: 100; }
.header__overview {
  padding: clamp(var(--space-xl), 15vw, var(--space-xxl)) var(--gutter-static);
  max-width: var(--max-content-width);
  margin: 0 auto; }
.header__overview .staggered-content__text {
    line-height: 1.9;
    color: var(--color-primary-lightest); }
.header__overview .staggered-content:last-child {
    margin-bottom: 0; }
.header__intro {
  color: var(--color-primary);
  font-size: clamp(var(--text-xs), 2vw, var(--text-sm));
  line-height: 1.5;
  margin-bottom: calc(var(--space-lg) + var(--space-sm)); }
/*--------------------------------------------------------------
# Page-specific styles
	> Reverse header styling
	> Modals
--------------------------------------------------------------*/
.page-template-case-study .header {
  color: white;
  background-color: var(--color-base-darkest);
  border-bottom: none;
  padding-bottom: 0; }
.page-template-case-study .header__nav .menu__list li a {
    color: white; }
@media only screen and (min-width: 66.875em) {
    .page-template-case-study .header__inner:before {
      content: "";
      position: absolute;
      width: 100%;
      height: var(--brdr-xxs);
      background-color: var(--color-primary);
      bottom: 0;
      left: 0; } }
.page-template-case-study .header__controls {
    border-color: var(--color-base-light); }
.page-template-case-study .header__controls .btn {
      color: white; }
.page-template-case-study .header__ctas {
    border-color: var(--color-base-light); }
.page-template-case-study .header__ctas .menu__link {
      color: white; }
.page-template-case-study .header__ctas .menu__item:nth-child(2) {
      border-color: var(--color-base-light); }
body.modal-open .header__overlay {
  opacity: 1;
  visibility: visible; }
/*--------------------------------------------------------------
>>> Footer:
----------------------------------------------------------------
# Newsletter
# Contact
# Credit
--------------------------------------------------------------*/
.footer {
  background-color: var(--color-base-darkest);
  display: flex;
  flex-direction: column;
  color: white;
  /*--------------------------------------------------------------
# Newsletter - .footer__newsletter
--------------------------------------------------------------*/
  /*--------------------------------------------------------------
# Contact - .footer__contact
--------------------------------------------------------------*/
  /*--------------------------------------------------------------
# Credit - .footer__credit
--------------------------------------------------------------*/ }
.footer__newsletter {
    border-bottom: var(--brdr-xs) solid var(--color-primary);
    padding-bottom: calc(var(--space-xs) + var(--space-xxs)); }
@media only screen and (min-width: 47.9375em) {
      .footer__newsletter {
        display: flex;
        padding-bottom: 0; } }
.footer__newsletter .newsletter__signup {
      position: relative;
      padding: calc(var(--space-lg) + var(--space-lg)) var(--gutter-static) calc(var(--space-xl) + var(--space-lg)); }
@media only screen and (min-width: 47.9375em) {
        .footer__newsletter .newsletter__signup {
          display: flex;
          flex-direction: column;
          padding-bottom: calc(var(--space-xl) + var(--space-md));
          padding-right: calc(var(--space-lg) + var(--space-xxxs)); } }
@media only screen and (min-width: 66.875em) {
        .footer__newsletter .newsletter__signup {
          padding-top: var(--space-xxl);
          padding-bottom: calc(var(--space-xxl) + var(--space-sm)); } }
@media only screen and (min-width: 75em) {
        .footer__newsletter .newsletter__signup {
          max-width: 63rem;
          margin: 0 auto;
          padding-right: calc(var(--space-md) + var(--space-xxxs)); } }
.footer__newsletter .newsletter__subhead {
      display: flex;
      align-items: center; }
.footer__newsletter .newsletter__subhead:before {
        content: "";
        display: block;
        width: 20%;
        height: var(--brdr-xs);
        background-color: var(--color-primary); }
.footer__newsletter .newsletter__head {
      margin-top: var(--space-sm);
      margin-bottom: var(--space-md); }
@media only screen and (min-width: 47.9375em) {
        .footer__newsletter .newsletter__head {
          margin-bottom: 0; } }
.footer__newsletter .newsletter__subtitle, .footer__newsletter .newsletter__title {
      color: white; }
.footer__newsletter .newsletter__subtitle {
      font-size: var(--text-xxxs);
      font-weight: var(--wght-semibold);
      text-transform: uppercase;
      letter-spacing: 0.03333em;
      margin-bottom: 0;
      margin-left: var(--space-md); }
.footer__newsletter .newsletter__title {
      text-transform: uppercase;
      font-weight: var(--wght-black);
      letter-spacing: 0.03333em; }
@media only screen and (min-width: 75em) {
        .footer__newsletter .newsletter__title {
          margin-bottom: var(--space-xs); } }
.footer__newsletter .newsletter__txt {
      margin-bottom: var(--space-xl); }
@media only screen and (min-width: 47.9375em) {
        .footer__newsletter .newsletter__txt {
          margin-bottom: var(--space-md); } }
@media only screen and (min-width: 75em) {
        .footer__newsletter .newsletter__txt {
          margin-bottom: var(--space-lg); } }
.footer__newsletter .newsletter__fields .form__element {
      color: white;
      margin: var(--space-md) 0 0;
      grid-template-columns: 1fr; }
.footer__newsletter .newsletter__fields .form__label,
    .footer__newsletter .newsletter__fields .form label {
      background-color: var(--color-base-darkest); }
.footer__newsletter .newsletter__fields .form__label::after,
      .footer__newsletter .newsletter__fields .form label::after {
        display: none; }
.footer__newsletter .newsletter__fields .form__input,
    .footer__newsletter .newsletter__fields .form input {
      border-color: white; }
.footer__newsletter .newsletter__image {
      position: relative;
      width: 100%; }
@media only screen and (min-width: 47.9375em) {
        .footer__newsletter .newsletter__image {
          width: 120%;
          padding-bottom: var(--space-sm); } }
@media only screen and (min-width: 66.875em) {
        .footer__newsletter .newsletter__image {
          width: 104%; } }
@media only screen and (min-width: 75em) {
        .footer__newsletter .newsletter__image {
          width: 80%;
          max-width: 77rem; } }
.footer__newsletter .newsletter__image::after {
        content: "";
        position: absolute;
        background-color: var(--color-primary);
        width: 100%;
        height: 3.5em;
        top: calc(var(--space-md) * -0.75);
        left: 0;
        -webkit-clip-path: polygon(0 96%, 100% 0, 100% 4%, 0 100%);
                clip-path: polygon(0 96%, 100% 0, 100% 4%, 0 100%); }
@media only screen and (min-width: 47.9375em) {
          .footer__newsletter .newsletter__image::after {
            -webkit-clip-path: polygon(98% 0, 100% 0%, 2% 100%, 0% 100%);
                    clip-path: polygon(98% 0, 100% 0%, 2% 100%, 0% 100%);
            height: 100%;
            top: unset;
            bottom: 0;
            left: calc(var(--space-lg) * -0.55);
            width: 7.625em; } }
@media only screen and (min-width: 66.875em) {
          .footer__newsletter .newsletter__image::after {
            width: 6.88889em; } }
@media only screen and (min-width: 75em) {
          .footer__newsletter .newsletter__image::after {
            width: 13.22222em;
            -webkit-clip-path: polygon(99% 0, 100% 0%, 1% 100%, 0% 100%);
                    clip-path: polygon(99% 0, 100% 0%, 1% 100%, 0% 100%);
            left: calc(var(--space-lg) * -0.7); } }
.footer__newsletter .newsletter__image .newsletter__inner {
        position: relative;
        width: 100%;
        height: 32rem;
        -webkit-clip-path: polygon(0 17%, 100% 0%, 100% 100%, 0% 100%);
                clip-path: polygon(0 17%, 100% 0%, 100% 100%, 0% 100%);
        background-color: var(--color-secondary);
        background-image: url("images/pattern-circuit-board.svg");
        background-size: 80%; }
@media only screen and (min-width: 47.9375em) {
          .footer__newsletter .newsletter__image .newsletter__inner {
            height: 100%;
            overflow: hidden;
            -webkit-clip-path: polygon(11.6rem 0, 100% 0, 100% 100%, 0% 100%);
                    clip-path: polygon(11.6rem 0, 100% 0, 100% 100%, 0% 100%);
            margin-bottom: var(--space-sm); } }
@media only screen and (min-width: 75em) {
          .footer__newsletter .newsletter__image .newsletter__inner {
            background-size: 60%;
            -webkit-clip-path: polygon(22.6rem 0, 100% 0, 100% 100%, 0% 100%);
                    clip-path: polygon(22.6rem 0, 100% 0, 100% 100%, 0% 100%); } }
.footer__newsletter .newsletter__image .newsletter__inner:before {
          content: "";
          position: absolute;
          left: 30%;
          bottom: 0;
          width: 20.8rem;
          height: 27rem;
          background-image: url("images/img-persons-head.svg");
          background-repeat: no-repeat;
          background-size: 100%; }
@media only screen and (min-width: 47.9375em) {
            .footer__newsletter .newsletter__image .newsletter__inner:before {
              width: 100%;
              height: 100%;
              left: 19%;
              right: 0;
              max-width: 24.2rem;
              bottom: -0.0625em;
              margin: 0 auto;
              background-position: bottom; } }
@media only screen and (min-width: 66.875em) {
            .footer__newsletter .newsletter__image .newsletter__inner:before {
              max-width: 31.8rem; } }
.footer__contact {
    padding: calc(var(--space-xl) + var(--space-sm)) var(--gutter-static) var(--space-xl); }
@media only screen and (min-width: 47.9375em) {
      .footer__contact {
        display: flex;
        flex-direction: column;
        padding-bottom: calc(var(--space-lg) + var(--space-xxxs)); } }
@media only screen and (min-width: 66.875em) {
      .footer__contact {
        padding-top: calc(var(--space-xxl) + var(--space-sm)); } }
@media only screen and (min-width: 75em) {
      .footer__contact {
        max-width: 140rem;
        margin: 0 auto;
        width: 100%; } }
.footer__contact .contact__head {
      padding-bottom: calc(var(--space-lg) + var(--space-xs)); }
@media only screen and (min-width: 47.9375em) {
        .footer__contact .contact__head {
          padding-bottom: calc(var(--space-md) + var(--space-xxs)); } }
.footer__contact .contact__title {
      color: white;
      font-size: var(--text-xl);
      font-weight: var(--wght-black);
      text-transform: uppercase; }
@media only screen and (min-width: 47.9375em) {
        .footer__contact .contact__title {
          text-align: center; } }
@media only screen and (min-width: 75em) {
        .footer__contact .contact__title {
          font-size: var(--text-xxxl); } }
.footer__contact .contact__details {
      padding-bottom: 0;
      width: 100%;
      margin: 0;
      position: relative; }
@media only screen and (min-width: 47.9375em) {
        .footer__contact .contact__details {
          display: flex;
          flex-direction: row;
          justify-content: space-between;
          width: auto;
          gap: 6%; } }
.footer__contact .contact__info {
      position: relative; }
@media only screen and (min-width: 47.9375em) {
        .footer__contact .contact__info {
          width: 27%;
          margin-top: var(--space-xs); } }
@media only screen and (min-width: 75em) {
        .footer__contact .contact__info {
          width: 31%; } }
.footer__contact .contact__info::before {
        content: "";
        position: absolute;
        border-bottom: var(--brdr-xs) solid var(--color-primary);
        width: 100%;
        top: 8.5%;
        right: 0; }
@media only screen and (min-width: 47.9375em) {
          .footer__contact .contact__info::before {
            top: 4.5%; } }
.footer__contact .contact__info .contact__title {
        position: relative;
        font-size: var(--text-xxxs);
        font-weight: var(--wght-semibold);
        letter-spacing: 0.03333em;
        text-transform: uppercase;
        background-color: var(--color-base-darkest);
        width: -moz-fit-content;
        width: fit-content;
        padding-right: var(--space-md);
        margin-bottom: var(--space-sm); }
@media only screen and (min-width: 47.9375em) {
          .footer__contact .contact__info .contact__title {
            padding-right: var(--space-sm);
            margin-bottom: var(--space-md); } }
.footer__contact .contact__list {
      display: flex;
      flex-direction: column;
      margin: 0; }
.footer__contact .contact__item {
      display: block;
      background: var(--color-base-darkest);
      padding-right: var(--space-sm);
      position: relative;
      padding: 0;
      margin-bottom: var(--space-sm); }
@media only screen and (min-width: 47.9375em) {
        .footer__contact .contact__item {
          margin-bottom: calc(var(--space-sm) + var(--space-xxs)); } }
.footer__contact .contact__item::before {
        display: none; }
.footer__contact .contact__link {
      color: white;
      transition: -webkit-text-decoration-color var(--timing) var(--easing);
      transition: text-decoration-color var(--timing) var(--easing);
      transition: text-decoration-color var(--timing) var(--easing), -webkit-text-decoration-color var(--timing) var(--easing); }
.footer__contact .contact__link:hover, .footer__contact .contact__link:focus, .footer__contact .contact__link:active {
        -webkit-text-decoration-color: transparent;
                text-decoration-color: transparent; }
.footer__contact .contact__action {
      width: 100%;
      padding-top: calc(var(--space-lg) + var(--space-sm));
      margin-bottom: calc(var(--space-xl) + var(--space-sm)); }
@media only screen and (min-width: 47.9375em) {
        .footer__contact .contact__action {
          text-align: center;
          padding-top: 0;
          width: 40%; } }
@media only screen and (min-width: 66.875em) {
        .footer__contact .contact__action {
          margin-bottom: calc(var(--space-xl) + var(--space-xs)); } }
@media only screen and (min-width: 75em) {
        .footer__contact .contact__action {
          width: 35%; } }
.footer__contact .contact__action .contact__head {
        padding-bottom: 0; }
.footer__contact .contact__action .contact__title {
        color: var(--color-primary);
        margin-bottom: var(--space-md);
        font-size: var(--text-xs);
        text-transform: none;
        font-weight: var(--wght-bold); }
@media only screen and (min-width: 47.9375em) {
          .footer__contact .contact__action .contact__title {
            margin-bottom: var(--space-lg); } }
.footer__contact .contact__socials {
      position: relative; }
@media only screen and (min-width: 47.9375em) {
        .footer__contact .contact__socials {
          width: 27%;
          margin-top: var(--space-xs); } }
@media only screen and (min-width: 75em) {
        .footer__contact .contact__socials {
          width: 31%; } }
@media only screen and (min-width: 66.875em) {
        .footer__contact .contact__socials {
          display: flex;
          flex-direction: column;
          align-items: flex-end; } }
.footer__contact .contact__socials::before {
        content: "";
        position: absolute;
        border-bottom: var(--brdr-xs) solid var(--color-primary);
        width: 100%;
        top: 12.5%;
        right: 0; }
@media only screen and (min-width: 47.9375em) {
          .footer__contact .contact__socials::before {
            top: 4.5%; } }
.footer__contact .contact__socials .contact__title {
        position: relative;
        font-size: var(--text-xxxs);
        font-weight: var(--wght-semibold);
        letter-spacing: 0.03333em;
        text-transform: uppercase;
        background-color: var(--color-base-darkest);
        width: -moz-fit-content;
        width: fit-content;
        padding-right: var(--space-md);
        margin-bottom: var(--space-lg); }
@media only screen and (min-width: 47.9375em) {
          .footer__contact .contact__socials .contact__title {
            padding-right: var(--space-sm);
            margin-bottom: var(--space-lg); } }
@media only screen and (min-width: 66.875em) {
          .footer__contact .contact__socials .contact__title {
            padding-right: 0;
            padding-left: var(--space-sm); } }
.footer__contact .contact__socials .socials {
        margin: 0;
        z-index: 1;
        background: var(--color-base-darkest); }
@media only screen and (min-width: 47.9375em) {
          .footer__contact .contact__socials .socials {
            width: 70%;
            gap: calc(var(--space-md) + var(--space-xs)); } }
@media only screen and (min-width: 66.875em) {
          .footer__contact .contact__socials .socials {
            width: unset;
            gap: var(--space-md); } }
@media only screen and (min-width: 47.9375em) {
          .footer__contact .contact__socials .socials .socials__social a {
            width: 4.8rem;
            height: 4.8rem; } }
@media only screen and (min-width: 47.9375em) {
          .footer__contact .contact__socials .socials .socials__social a {
            width: 4rem;
            height: 4rem; } }
.footer__credit {
    margin-left: var(--gutter-static);
    margin-right: var(--gutter-static);
    position: relative; }
@media only screen and (min-width: 47.9375em) {
      .footer__credit {
        display: flex;
        justify-content: flex-end; } }
@media only screen and (min-width: 75em) {
      .footer__credit {
        max-width: 140rem;
        margin: 0 auto;
        width: 100%;
        padding-left: var(--gutter-static);
        padding-right: var(--gutter-static); } }
@media only screen and (min-width: 47.9375em) {
      .footer__credit:before {
        content: "";
        position: absolute;
        border: var(--brdr-xxs) solid var(--color-primary);
        width: 100%;
        top: 23%; } }
@media only screen and (min-width: 75em) {
      .footer__credit:before {
        width: 95.4%; } }
.footer__credit .copyright {
      margin-bottom: calc(var(--space-md) + var(--space-xs)); }
@media only screen and (min-width: 47.9375em) {
        .footer__credit .copyright {
          text-align: right;
          width: -moz-fit-content;
          width: fit-content;
          padding: 0;
          background-color: var(--color-base-darkest);
          padding-left: var(--space-sm);
          z-index: 10; } }
/*--------------------------------------------------------------
>>> Hero:
----------------------------------------------------------------
# Base
# Reverse
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/
.hero__wrap {
  position: relative;
  align-items: stretch; }
.hero__wrap:after {
    content: "";
    position: absolute;
    width: 100%;
    height: var(--brdr-xxs);
    background-color: var(--color-primary);
    bottom: 0; }
.hero__main {
  padding-top: clamp(calc(var(--space-xl) + var(--space-xxs)), 7vw, var(--space-xxl));
  padding-right: var(--gutter-static);
  padding-bottom: clamp(calc(var(--space-xl) + var(--space-xs)), 6vw, var(--space-xxxl));
  padding-left: clamp(var(--gutter-static), 4vw, calc(var(--space-lg) + var(--space-md))); }
@media only screen and (min-width: 66.875em) {
    .hero__main {
      padding-right: 0; } }
.hero__title {
  text-transform: uppercase;
  font-size: clamp(var(--text-lg), 4vw, var(--text-xxl));
  margin-bottom: clamp(var(--space-xxs), 1vh, var(--space-sm));
  margin-top: 0;
  color: var(--color-primary); }
.hero__title:has(.color-primary) {
    color: var(--color-base-darkest); }
.hero__title:has(+ .hero__tab-btns) {
    margin-bottom: clamp(var(--space-xxs), 2vh, var(--space-sm)); }
.hero__subtitle {
  font-size: var(--text-xs);
  margin-bottom: clamp(calc(var(--space-lg) + var(--space-xxs)), 6vh, var(--space-xxxl)); }
.hero__img {
  height: calc(45vh - 12.7rem); }
@media only screen and (min-width: 56.875em) {
    .hero__img {
      height: calc(100vh - 7.2rem); } }
.hero__img .img--full {
    display: block;
    max-width: 100%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center; }
.hero .meta--project-type {
  justify-content: flex-end;
  width: clamp(20rem, 50%, 30rem);
  margin-bottom: clamp(var(--space-md), 2vh, var(--space-lg)); }
.hero .meta--project-type .title__inner {
    padding-right: 0;
    padding-left: var(--space-sm); }
.hero .services__title {
  margin-bottom: clamp(var(--space-sm-fixed), 5.25vw, var(--space-lg-fixed)); }
.hero .services__list {
  margin-left: 0;
  color: var(--color-primary-lightest); }
.hero .services__list .list__item {
    padding-left: 0; }
.hero .services__list .list__item:before {
      display: none; }
.hero__tab-btns .tabs__list {
  margin-bottom: 0; }
.hero__tab-btns .tabs__title {
  font-size: var(--text-btn);
  font-weight: var(--wght-semibold); }
.hero__filters {
  display: flex;
  justify-content: space-between;
  padding: var(--space-lg-fixed);
  border-block: var(--brdr-xxs) solid var(--color-base-lightest); }
.hero__filters .filters__group {
    display: flex;
    justify-content: center;
    width: 50%; }
.hero__filters .filters__group:not(:first-of-type) {
      border-left: var(--brdr-xxs) solid var(--color-base-lightest); }
.hero__filters .btn--modal {
    display: grid;
    font-size: var(--text-btn);
    text-transform: none; }
.hero__filters .btn--modal .txt--major {
      grid-row: 2; }
.hero__filters .btn--modal::before {
      display: none; }
.hero__filters .btn--modal::after {
      content: "";
      position: relative;
      margin-left: var(--space-sm);
      -webkit-clip-path: polygon(10% 0, 10% 100%, 100% 50%);
              clip-path: polygon(10% 0, 10% 100%, 100% 50%);
      width: 0.55em;
      height: 0.55em;
      background-color: var(--color-primary);
      display: block;
      grid-row: 2;
      top: auto;
      bottom: auto;
      rotate: 90deg; }
.hero__filters .btn--modal:hover::after, .hero__filters .btn--modal:focus::after, .hero__filters .btn--modal:active::after {
      top: calc(var(--space-xxxs) * 1.6);
      right: 0;
      bottom: 1.13333em;
      left: 0; }
/*--------------------------------------------------------------
# .hero--reverse
--------------------------------------------------------------*/
.hero--reverse {
  color: white;
  background-color: var(--color-base-darkest); }
.hero--reverse .hero__title {
    color: white; }
.hero--reverse .hero__subtitle {
    color: var(--color-primary); }
.hero--reverse .title--sub-sm .title__inner {
    color: white;
    background-color: var(--color-base-darkest); }
.hero--reverse .title--sub-sm:after {
    background-color: var(--color-primary); }
/*--------------------------------------------------------------
# .hero--project
--------------------------------------------------------------*/
.hero--project .hero__main {
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0; }
/*--------------------------------------------------------------
>>> Section:
----------------------------------------------------------------
# Base
# Section__graphics
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/
.section {
  /*--------------------------------------------------------------
# Section__graphics
--------------------------------------------------------------*/ }
.section__graphics {
    --layout-gap: clamp(var(--space-sm-fixed), 3vw, var(--space-lg-fixed));
    margin: 0 0 var(--block-spacing-base); }
.section__graphics .graphics__item {
      aspect-ratio: 15/9;
      padding-left: 0;
      margin-bottom: 0; }
.section__graphics .graphics__item:before {
        display: none; }
.section__graphics .graphics__item:nth-child(1), .section__graphics .graphics__item:nth-child(5) {
        flex-basis: 14%; }
.section__graphics .graphics__item:nth-child(3) {
        flex-basis: 100%; }
@media only screen and (min-width: 47.9375em) {
        .section__graphics .graphics__item:nth-child(3):nth-last-child(2) {
          flex-basis: 22%; } }
.section__graphics .graphics__item:nth-child(4):last-child {
        flex-basis: 34%; }
.section__graphics .graphics__item img {
        display: block;
        max-width: 100%;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center; }
.awards__list {
  --layout-col-min: 29ch;
  --layout-gap: clamp(var(--space-xxl-fixed), 7vw, calc(var(--space-xxl-fixed) + var(--space-xl-fixed)));
  --line-offset: calc(var(--layout-gap) / 2);
  --line-thickness: 2px;
  --line-color: var(--color-base-lightest);
  margin: clamp(var(--space-xl-fixed), 5vw, var(--space-xxl-fixed)) 0 calc(var(--block-spacing-base) - var(--space-xxs)) 0;
  overflow: hidden; }
@media only screen and (min-width: 66.875em) {
    .awards__list {
      --layout-col-min: 32ch;
      margin-left: calc(var(--space-xxl) + var(--space-md)); } }
.awards__item {
  position: relative;
  display: block;
  padding-left: calc(var(--space-lg) + var(--space-lg) + var(--space-xs));
  margin-bottom: 0;
  padding-bottom: 0; }
.awards__item:before {
    content: "";
    position: absolute;
    width: var(--brdr-xxs);
    height: 100%;
    background-color: var(--line-color);
    z-index: 1;
    display: block;
    -webkit-clip-path: none;
            clip-path: none;
    inset-block-start: 0;
    inset-inline-start: calc(var(--line-offset) * -1); }
.awards__item:after {
    content: "";
    position: absolute;
    width: 100vw;
    height: var(--brdr-xxs);
    background-color: var(--line-color);
    z-index: 1;
    display: block;
    -webkit-clip-path: none;
            clip-path: none;
    inset-inline-start: 0;
    inset-block-start: calc(var(--line-offset) * -1); }
.awards__item .item__inner {
    position: relative; }
.awards__item .item__inner:before {
      content: "";
      position: absolute;
      width: clamp(5.2rem, 4.5vw, 5.7rem);
      height: clamp(5.2rem, 4.5vw, 5.7rem);
      background-image: url("images/ico-award.svg");
      background-repeat: no-repeat;
      background-position: center;
      background-color: var(--color-primary);
      background-size: 38%;
      -webkit-clip-path: none;
              clip-path: none;
      border-radius: 100%;
      left: calc(var(--space-xl) * -1.37);
      top: 0; }
.awards__type, .awards__name {
  display: block;
  font-size: var(--text-xs);
  line-height: 1.16; }
.awards__type {
  color: var(--color-primary);
  margin-bottom: calc(var(--space-xxxs) * 0.8); }
.awards__title {
  margin-bottom: calc(var(--space-xxxs) * 0.6); }
.awards__cat {
  margin-bottom: 0;
  color: var(--color-base); }
/*--------------------------------------------------------------
>>> Article:
----------------------------------------------------------------
# Base
# Project
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/
.article__header {
  margin-bottom: clamp(calc(var(--space-md) + var(--space-md)), 5.25vw, var(--space-xxl)); }
.article__main {
  padding-top: clamp(calc(var(--space-xl) + var(--space-xxs)), 7vw, var(--space-xxl));
  padding-right: var(--gutter-static);
  padding-bottom: clamp(calc(var(--space-xl) + var(--space-xs)), 6vw, var(--space-xxxl));
  padding-left: clamp(var(--gutter-static), 4vw, calc(var(--space-lg) + var(--space-md))); }
@media only screen and (min-width: 66.875em) {
    .article__main {
      padding-right: 0; } }
.article__title {
  text-transform: uppercase;
  font-size: clamp(var(--text-lg), 4vw, var(--text-xxl));
  margin-bottom: clamp(var(--space-xxs), 1vh, var(--space-sm));
  margin-top: 0;
  color: var(--color-primary); }
.article__subtitle {
  font-size: var(--text-xs);
  margin-bottom: clamp(calc(var(--space-lg) + var(--space-xxs)), 6vh, var(--space-xxxl)); }
.article__img {
  height: calc(45vh - 12.7rem);
  margin-bottom: 0; }
@media only screen and (min-width: 56.875em) {
    .article__img {
      height: calc(100vh - 7.2rem); } }
.article__img .img--full {
    display: block;
    max-width: 100%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center; }
.article .meta--project-type {
  justify-content: flex-end;
  width: clamp(20rem, 50%, 30rem);
  margin-bottom: clamp(var(--space-md), 2vh, var(--space-lg)); }
.article .meta--project-type .title__inner {
    padding-right: 0;
    padding-left: var(--space-sm); }
.article__body .sow__title,
.article__body .overview__title {
  font-size: var(--text-label);
  padding-top: 0; }
.article__body .sow {
  margin-bottom: calc(var(--space-lg) + var(--space-xxxs)); }
@media only screen and (min-width: 47.9375em) {
    .article__body .sow {
      grid-column: 2 / 5;
      margin-bottom: 0; } }
.article__body .sow .list {
    margin-left: 0;
    margin-bottom: 0; }
.article__body .sow .list__item {
      padding-left: 0; }
@media only screen and (min-width: 47.9375em) {
  .article__body .overview {
    grid-column: 5 / 13; } }
.article__body .overview__text {
  margin-bottom: clamp(var(--space-md), 9.2vw, var(--space-lg)); }
.article__supplemental .testimonial,
.article__supplemental .awards {
  max-width: 114rem;
  margin-left: auto;
  margin-right: auto; }
/*--------------------------------------------------------------
# Project - .article--project
--------------------------------------------------------------*/
.article--project .article__main {
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0; }
.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: 3.2rem auto;
  padding-top: 3.2rem;
  border-top: 1px solid var(--color-charcoal); }
.facetwp__search-bar .results {
    padding-left: 3.2rem; }
.facetwp__search-bar .results:before {
      content: "";
      display: inline-block;
      border-left: 1px solid var(--color-charcoal);
      padding-left: 3.2rem;
      height: 2rem;
      vertical-align: middle; }
.facetwp__search-bar .filters-view {
    margin-left: auto; }
.facetwp-facet.facetwp-type-pager {
  margin: 3.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; }
/*--------------------------------------------------------------
# Templates
--------------------------------------------------------------*/
/*--------------------------------------------------------------
>>> Homepage Template:
----------------------------------------------------------------
# .page-template-homepage
# .main--home
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# .page-template-homepage - Overrides for nav area
--------------------------------------------------------------*/
@media only screen and (min-width: 56.875em) {
  .page-template-homepage .header {
    border-bottom: none; } }
@media only screen and (min-width: 56.875em) {
  .page-template-homepage .header__inner {
    margin-bottom: 0; } }
/*--------------------------------------------------------------
# .main--home - Main content styles, includes banner
--------------------------------------------------------------*/
.main--home .hero, .block--homey .hero {
  position: relative;
  padding-top: calc(var(--space-lg) + var(--space-sm));
  margin-bottom: var(--space-xxl); }
@media only screen and (min-width: 47.9375em) {
    .main--home .hero, .block--homey .hero {
      display: flex;
      flex-direction: row-reverse;
      padding-top: 0;
      padding-bottom: var(--space-sm);
      border-bottom: calc(var(--brdr-xs) * 1.3) solid var(--color-primary);
      position: relative; } }
.main--home .hero__main, .block--homey .hero__main {
    position: relative;
    padding-left: var(--gutter-static);
    padding-right: var(--gutter-static);
    padding-bottom: var(--space-xl); }
@media only screen and (min-width: 47.9375em) {
      .main--home .hero__main, .block--homey .hero__main {
        display: flex;
        flex-direction: column;
        margin: auto; } }
.main--home .hero__main:after, .block--homey .hero__main:after {
      content: "";
      position: absolute;
      width: 87%;
      height: calc(var(--brdr-xs) * 1.3);
      background-color: var(--color-primary);
      right: 0;
      bottom: calc(var(--space-md) * -1.25); }
@media only screen and (min-width: 47.9375em) {
        .main--home .hero__main:after, .block--homey .hero__main:after {
          display: none; } }
.main--home .hero .tabs__section, .block--homey .hero .tabs__section {
    margin-top: calc(var(--space-md) + var(--space-xs)); }
.main--home .hero .tabs__heading, .block--homey .hero .tabs__heading {
    text-transform: uppercase;
    font-weight: var(--wght-black);
    line-height: 1;
    margin-bottom: calc(var(--space-sm) + var(--space-xs));
    font-size: var(--text-xxl); }
.main--home .hero__graphics, .block--homey .hero__graphics {
    position: relative;
    overflow: hidden; }
.main--home .hero__graphics::before, .block--homey .hero__graphics::before {
      content: "";
      position: absolute;
      top: calc(var(--space-xxxs) * 5.6);
      left: 12%;
      -webkit-clip-path: polygon(0 0, 1% 0, 100% 100%, 99% 100%);
              clip-path: polygon(0 0, 1% 0, 100% 100%, 99% 100%);
      background-color: var(--color-primary);
      width: 95.5%;
      height: 96%; }
@media only screen and (min-width: 47.9375em) {
        .main--home .hero__graphics::before, .block--homey .hero__graphics::before {
          top: 0;
          left: 4.25%;
          -webkit-clip-path: polygon(0 0, 0.75% 0, 100% 100%, 99.25% 100%);
                  clip-path: polygon(0 0, 0.75% 0, 100% 100%, 99.25% 100%);
          width: 103%;
          height: 103%; } }
.main--home .hero__img-primary, .block--homey .hero__img-primary {
    position: relative;
    z-index: 10; }
@media only screen and (min-width: 47.9375em) {
      .main--home .hero__img-primary, .block--homey .hero__img-primary {
        width: 100%;
        height: 100%; } }
.main--home .hero__img-primary .img--front, .block--homey .hero__img-primary .img--front {
      width: 92%;
      margin-left: calc(var(--space-lg) * -1.1);
      vertical-align: bottom; }
@media only screen and (min-width: 47.9375em) {
        .main--home .hero__img-primary .img--front, .block--homey .hero__img-primary .img--front {
          width: 104.5%;
          overflow: visible;
          margin-top: 0;
          margin-left: calc(var(--space-xxs) * -1); } }
.main--home .hero__img-secondary, .block--homey .hero__img-secondary {
    overflow: visible;
    position: absolute;
    left: 0;
    bottom: calc(var(--space-xxxs) * -1);
    z-index: -1;
    -webkit-clip-path: polygon(0 0, 0% 100%, 100% 100%);
            clip-path: polygon(0 0, 0% 100%, 100% 100%);
    z-index: 0; }
@media only screen and (min-width: 47.9375em) {
      .main--home .hero__img-secondary, .block--homey .hero__img-secondary {
        bottom: 0; } }
.main--home .hero__img-secondary:before, .block--homey .hero__img-secondary:before {
      content: "";
      position: absolute;
      width: 100%;
      height: 100%;
      background: var(--color-primary);
      mix-blend-mode: multiply; }
.main--home .hero__img-secondary .img--bkg, .block--homey .hero__img-secondary .img--bkg {
      width: 100%;
      height: 100%;
      object-fit: cover; }
.main--home .hero:after, .block--homey .hero:after {
    content: "";
    position: absolute;
    width: 100%;
    height: auto;
    top: 102%;
    right: 0;
    border-top: calc(var(--brdr-xs) * 1.3) solid var(--color-primary); }
@media only screen and (min-width: 47.9375em) {
      .main--home .hero:after, .block--homey .hero:after {
        top: 0;
        width: 97.5%; } }
.main--home .main__container, .block--homey .main__container {
  max-width: none;
  overflow-y: hidden; }
.main--home .section, .block--homey .section {
  margin-bottom: var(--space-xxxs); }
.main--home .section__header, .block--homey .section__header {
    margin: 0 auto calc(var(--space-lg) + var(--space-xs));
    max-width: var(--max-content-width); }
.main--home .section__title, .block--homey .section__title {
    text-transform: uppercase;
    font-weight: var(--wght-black);
    color: var(--color-primary); }
.main--home .section--process, .block--homey .section--process {
    padding: 0 clamp(var(--gutter-static), 4vw, var(--gutter-static-large));
    margin-bottom: var(--space-md); }
@media only screen and (min-width: 56.875em) {
      .main--home .section--process, .block--homey .section--process {
        margin-bottom: var(--space-xxxl); } }
.main--home .section--services, .block--homey .section--services {
    padding-bottom: calc(var(--space-xl) + var(--space-sm)); }
.main--home .section--services .section__main, .block--homey .section--services .section__main {
      padding: 0 var(--gutter-static);
      padding: 0 var(--gutter-static);
      margin-bottom: calc(var(--space-lg) + var(--space-xs)); }
@media only screen and (min-width: 47.9375em) {
        .main--home .section--services .section__main, .block--homey .section--services .section__main {
          margin-bottom: var(--space-xxl); } }
.main--home .section--services .section__img, .block--homey .section--services .section__img {
      overflow: hidden; }
.main--home .section--services .section__img .img--services, .block--homey .section--services .section__img .img--services {
        display: block;
        width: 106vw;
        margin: 0 auto 0 -3%; }
.main--home .section--services .list, .block--homey .section--services .list {
      max-width: var(--max-content-width);
      margin: 0 auto; }
@media only screen and (min-width: 66.875em) {
        .main--home .section--services .list, .block--homey .section--services .list {
          --layout-col-min: 40ch; } }
.main--home .section--services .list__item, .block--homey .section--services .list__item {
        display: block;
        padding-left: 0;
        margin-bottom: 0; }
@media only screen and (min-width: 56.875em) {
          .main--home .section--services .list__item, .block--homey .section--services .list__item {
            padding-left: clamp(var(--space-sm-fixed), 5vw, calc(var(--space-xxl-fixed) + var(--space-sm))); } }
.main--home .section--services .list__item::before, .block--homey .section--services .list__item::before {
          content: "0" counter(step-counter);
          font-size: var(--text-xxxs);
          color: var(--color-base-darkest);
          background-color: white;
          z-index: 5;
          padding-right: var(--space-sm); }
@media only screen and (min-width: 56.875em) {
            .main--home .section--services .list__item::before, .block--homey .section--services .list__item::before {
              position: absolute;
              bottom: 0;
              top: unset;
              transform: rotate(-90deg); } }
.main--home .section--services .list__item:after, .block--homey .section--services .list__item:after {
          content: "";
          position: absolute;
          width: 100%;
          height: 1px;
          background-color: var(--color-base-lightest);
          top: var(--space-sm);
          right: 0; }
@media only screen and (min-width: 56.875em) {
            .main--home .section--services .list__item:after, .block--homey .section--services .list__item:after {
              top: unset;
              bottom: 0;
              right: unset;
              left: 0;
              width: var(--brdr-xxs);
              height: 100%; } }
.main--home .section--services .item__heading, .block--homey .section--services .item__heading {
      font-size: var(--text-sm);
      color: var(--color-primary);
      margin-bottom: var(--space-xs); }
.main--home .section--services .item__body, .block--homey .section--services .item__body {
      margin-bottom: calc(var(--space-md) + var(--space-xxs)); }
.main--home .section--clients .section__header, .block--homey .section--clients .section__header {
    padding: 0 var(--gutter-static); }
.main--home .section--clients .section__main, .block--homey .section--clients .section__main {
    display: flex;
    flex-direction: column;
    margin: 0 auto calc(var(--space-lg) + var(--space-xs));
    max-width: var(--max-content-width);
    padding: 0 var(--gutter-static); }
@media only screen and (min-width: 56.875em) {
      .main--home .section--clients .section__main, .block--homey .section--clients .section__main {
        flex-direction: row;
        align-items: center;
        gap: clamp(var(--space-xl), 7%, calc(var(--space-xxl) + var(--space-xs))); } }
.main--home .section--clients .section__body, .block--homey .section--clients .section__body {
    flex-grow: 1; }
.main--home .section--clients .section__graphic, .block--homey .section--clients .section__graphic {
    margin-bottom: var(--space-lg); }
@media only screen and (min-width: 56.875em) {
      .main--home .section--clients .section__graphic, .block--homey .section--clients .section__graphic {
        width: 70%; } }
.main--home .section--clients .section__graphic .img--logos, .block--homey .section--clients .section__graphic .img--logos {
      width: 100%; }
.main--home .section--clients .list--data, .block--homey .section--clients .list--data {
    display: flex;
    margin-left: 0;
    margin-right: 0;
    flex-grow: 1; }
@media only screen and (min-width: 56.875em) {
      .main--home .section--clients .list--data, .block--homey .section--clients .list--data {
        flex-direction: column;
        gap: var(--gutter-static);
        margin-top: 0; } }
.main--home .section--clients .list--data .list__item, .block--homey .section--clients .list--data .list__item {
      flex-direction: column;
      line-height: 1.3;
      padding: 0;
      margin: 0;
      width: 33.3%;
      text-align: center;
      align-items: center; }
@media only screen and (min-width: 56.875em) {
        .main--home .section--clients .list--data .list__item, .block--homey .section--clients .list--data .list__item {
          text-align: left;
          align-items: flex-start;
          width: 100%; } }
.main--home .section--clients .list--data .list__item::before, .block--homey .section--clients .list--data .list__item::before {
        display: none; }
.main--home .section--clients .list--data .list__item:first-child, .block--homey .section--clients .list--data .list__item:first-child {
        border-right: var(--brdr-xxs) solid var(--color-base-lightest); }
@media only screen and (min-width: 56.875em) {
          .main--home .section--clients .list--data .list__item:first-child, .block--homey .section--clients .list--data .list__item:first-child {
            border-right: none; } }
.main--home .section--clients .list--data .list__item:nth-child(2n), .block--homey .section--clients .list--data .list__item:nth-child(2n) {
        border-right: var(--brdr-xxs) solid var(--color-base-lightest); }
@media only screen and (min-width: 56.875em) {
          .main--home .section--clients .list--data .list__item:nth-child(2n), .block--homey .section--clients .list--data .list__item:nth-child(2n) {
            border: none;
            border-top: var(--brdr-xxs) solid var(--color-base-lightest);
            border-bottom: var(--brdr-xxs) solid var(--color-base-lightest);
            padding: var(--gutter-static) 0; } }
.main--home .section--clients .list--data .list__item:nth-child(2n) .data__num, .block--homey .section--clients .list--data .list__item:nth-child(2n) .data__num {
          color: var(--color-primary-dark); }
.main--home .section--clients .list--data .list__item:nth-child(3n) .data__num, .block--homey .section--clients .list--data .list__item:nth-child(3n) .data__num {
        color: var(--color-primary-darkest); }
.main--home .section--clients .list--data .list__item .data__num, .block--homey .section--clients .list--data .list__item .data__num {
        display: block;
        font-size: var(--text-xl);
        font-weight: var(--wght-extrabold);
        color: var(--color-primary);
        line-height: 1; }
.main--home .section--clients .list--data .list__item .data__label, .block--homey .section--clients .list--data .list__item .data__label {
        font-weight: var(--wght-semibold); }
.homepage--banner-image {
  overflow: visible;
  position: absolute;
  left: 0;
  bottom: var(--space-sm);
  z-index: -1;
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 100%);
          clip-path: polygon(0 0, 0% 100%, 100% 100%);
  top: 0; }
.homepage .case-studies--links {
  display: flex;
  flex-direction: row;
  margin-bottom: var(--space-lg); }
.homepage .case-studies--links h2 {
    font-size: 18px; }
.homepage .case-studies--links h2:nth-child(2) {
      border-left: var(--brdr-xxs) solid var(--color-charcoal);
      border-right: var(--brdr-xxs) solid var(--color-charcoal);
      margin-left: var(--space-sm);
      margin-right: var(--space-sm);
      padding-left: var(--space-sm);
      padding-right: var(--space-sm); }
.homepage .case-studies__title {
  font-size: 40px;
  text-transform: uppercase; }
.homepage .case-studies__link {
  margin-top: var(--space-xxl); }
.homepage .case-studies__link button {
    background: transparent; }
.homepage--our-services .services--grid-item {
  display: flex;
  flex-direction: row;
  transform: translateX(calc(-1 * var(--space-xxl))); }
.homepage--our-services .services--grid-item__title {
    color: var(--color-primary);
    font-size: 28px; }
.homepage--our-services .services--grid-item__description {
    margin-bottom: var(--space-sm); }
.homepage--our-services .services--grid-item__number {
    rotate: -90deg;
    width: 100%;
    border-top: var(--brdr-xxs) solid var(--color-charcoal);
    transform: translateY(var(--space-xxl)); }
.homepage--our-services .services--grid-item__number p {
      font-size: 14px;
      letter-spacing: 0.7px; }
.homepage--our-services .services--grid-item button {
    background: transparent; }
.homepage--our-services__image img {
  width: 100%; }
/*--------------------------------------------------------------
>>> Case Study Template:
----------------------------------------------------------------
# .main--case-study
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# .main--case-study - Main content styles, includes banner
--------------------------------------------------------------*/
.main--case-study .hero__wrap {
  --layout-gap: var(--space-xxs); }
.main--case-study .hero__graphics {
  display: flex;
  align-items: center;
  position: relative;
  padding-right: 4vw;
  padding-left: 4vw;
  flex-basis: 100%; }
@media only screen and (min-width: 66.875em) {
    .main--case-study .hero__graphics {
      padding-left: 0;
      flex-basis: Min(46%, 32rem); } }
.main--case-study .hero__graphics:after {
    content: "";
    position: absolute;
    width: 98%;
    height: 100%;
    background-color: var(--color-primary);
    -webkit-clip-path: polygon(100% 0%, 51.9% 100%, 51.5% 100%, 99.3% 0.58%, 0 0.58%, 0% 0%);
            clip-path: polygon(100% 0%, 51.9% 100%, 51.5% 100%, 99.3% 0.58%, 0 0.58%, 0% 0%);
    top: 0;
    left: 0; }
@media only screen and (min-width: 66.875em) {
      .main--case-study .hero__graphics:after {
        -webkit-clip-path: polygon(99% 0, 98.7% 0%, 0.3% 100%, 0% 100%);
                clip-path: polygon(99% 0, 98.7% 0%, 0.3% 100%, 0% 100%);
        left: 6.25vw;
        width: clamp(30rem, 29vw, 172rem); } }
.main--case-study .hero__img-primary.top-row--image {
  position: relative;
  z-index: 5;
  -webkit-clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
          clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  width: clamp(460rem, 96%, 700rem);
  height: clamp(26rem, 96%, 48rem);
  top: calc(var(--space-md) * -1);
  top: clamp(calc(var(--space-xs) * -1.78), -4vw, calc(var(--space-xl) * -1)); }
.main--case-study .hero__img-primary.top-row--image .img {
    width: 100%;
    height: 100%;
    object-fit: cover; }
.main--case-study .hero__img-secondary {
  overflow: visible;
  position: absolute;
  top: 0;
  right: 0;
  -webkit-clip-path: polygon(100% 6%, 100% 0, 100% 100%, 0% 100%);
          clip-path: polygon(100% 6%, 100% 0, 100% 100%, 0% 100%);
  width: 41.5%;
  height: 94%;
  z-index: 0; }
@media only screen and (min-width: 66.875em) {
    .main--case-study .hero__img-secondary {
      -webkit-clip-path: polygon(66% 0, 100% 52%, 100% 100%, 0% 100%);
              clip-path: polygon(66% 0, 100% 52%, 100% 100%, 0% 100%);
      width: clamp(44rem, 41vw, 80rem);
      margin-top: var(--space-md); } }
.main--case-study .hero__img-secondary:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: var(--color-primary);
    mix-blend-mode: multiply; }
.main--case-study .hero__img-secondary .img {
    width: 100%;
    height: 100%;
    object-fit: cover; }
.page-template-project .main__container {
  padding-top: 0; }
.page-template-portfolio-list {
  /* .hero */
  /* .main */
  /* .card */ }
@media only screen and (min-width: 47.9375em) {
    .page-template-portfolio-list .header {
      position: fixed;
      z-index: 200;
      background: white;
      width: 100%; } }
@media only screen and (min-width: 47.9375em) {
    .page-template-portfolio-list .header__inner {
      padding-bottom: 0; } }
@media only screen and (min-width: 75em) {
    .page-template-portfolio-list .header__inner {
      padding-bottom: calc(var(--space-xs) + var(--space-xs)); } }
@media only screen and (min-width: 47.9375em) {
    .page-template-portfolio-list .hero {
      display: grid;
      position: sticky;
      z-index: 1;
      top: 0;
      left: 0;
      height: 100vh; } }
@media only screen and (min-width: 75em) {
    .page-template-portfolio-list .hero {
      grid-column: 1/6; } }
.page-template-portfolio-list .hero__wrap:after {
    display: none; }
.page-template-portfolio-list .hero__main {
    padding-bottom: calc(var(--space-xl-fixed) + var(--space-md-fixed)); }
@media only screen and (min-width: 47.9375em) {
      .page-template-portfolio-list .hero__main {
        margin-top: auto;
        padding-inline: var(--space-xl-fixed);
        padding-top: var(--space-xxxl-fixed); } }
@media only screen and (min-width: 47.9375em) {
    .page-template-portfolio-list .hero__filters {
      align-self: flex-end;
      border-bottom: none; } }
@media only screen and (min-width: 47.9375em) {
    .page-template-portfolio-list .main {
      display: grid;
      grid-template-columns: repeat(2, 1fr); } }
@media only screen and (min-width: 75em) {
    .page-template-portfolio-list .main {
      grid-template-columns: repeat(12, 1fr); } }
.page-template-portfolio-list .main__container {
    padding: 0; }
@media only screen and (min-width: 75em) {
      .page-template-portfolio-list .main__container {
        grid-column: 6 / 13; } }
.page-template-portfolio-list .tabs__list {
    margin-right: 0; }
@media only screen and (min-width: 47.9375em) {
    .page-template-portfolio-list .tabs__item {
      flex: 1 1 auto; } }
@media only screen and (min-width: 75em) {
    .page-template-portfolio-list .tabs__item {
      flex: unset; } }
.page-template-portfolio-list .card-group__list,
  .page-template-portfolio-list .main .card-group__list {
    margin-bottom: 0; }
@media only screen and (min-width: 47.9375em) {
      .page-template-portfolio-list .card-group__list,
      .page-template-portfolio-list .main .card-group__list {
        margin-top: calc(var(--space-xxl-fixed) * 2.4);
        border-left: var(--brdr-xxs) solid var(--color-base-lightest); } }
@media only screen and (min-width: 75em) {
      .page-template-portfolio-list .card-group__list,
      .page-template-portfolio-list .main .card-group__list {
        margin-top: calc(var(--space-xxl-fixed) * 1.4); } }
@media only screen and (min-width: 47.9375em) {
      .page-template-portfolio-list .card-group__list .list__item,
      .page-template-portfolio-list .main .card-group__list .list__item {
        padding-bottom: calc(var(--space-xl-fixed) + var(--space-sm-fixed));
        margin-bottom: 0; } }
@media only screen and (min-width: 75em) {
      .page-template-portfolio-list .card-group__list .list__item,
      .page-template-portfolio-list .main .card-group__list .list__item {
        margin-bottom: var(--space-md-fixed);
        padding-bottom: var(--space-md-fixed);
        padding-left: var(--space-md-fixed);
        border-bottom: var(--brdr-xxs) solid var(--color-base-lighter); } }
@media only screen and (min-width: 47.9375em) {
      .page-template-portfolio-list .card-group__list .list__item:last-child,
      .page-template-portfolio-list .main .card-group__list .list__item:last-child {
        padding-bottom: 0;
        border-bottom: 0; } }
@media only screen and (min-width: 75em) {
      .page-template-portfolio-list .card-group__list .list__item:first-child,
      .page-template-portfolio-list .main .card-group__list .list__item:first-child {
        padding-top: var(--space-md-fixed); } }
@media only screen and (min-width: 47.9375em) {
    .page-template-portfolio-list .card-group,
    .page-template-portfolio-list .main .card-group {
      padding: 0; } }
@media only screen and (min-width: 47.9375em) {
    .page-template-portfolio-list .card-group .card__figure,
    .page-template-portfolio-list .main .card-group .card__figure {
      height: clamp(28rem, 32vw, 36rem); } }
@media only screen and (min-width: 47.9375em) {
    .page-template-portfolio-list .card-group .card__header,
    .page-template-portfolio-list .card-group .card__footer,
    .page-template-portfolio-list .main .card-group .card__header,
    .page-template-portfolio-list .main .card-group .card__footer {
      grid-column: 1/13; } }
@media only screen and (min-width: 75em) {
    .page-template-portfolio-list .card-group .card__header,
    .page-template-portfolio-list .card-group .card__footer,
    .page-template-portfolio-list .main .card-group .card__header,
    .page-template-portfolio-list .main .card-group .card__footer {
      grid-column: 7/13; } }
@media only screen and (min-width: 47.9375em) {
    .page-template-portfolio-list .card-group .card__header,
    .page-template-portfolio-list .main .card-group .card__header {
      padding: var(--space-xxl-fixed) var(--space-xl-fixed) var(--space-lg-fixed); } }
@media only screen and (min-width: 75em) {
    .page-template-portfolio-list .card-group .card__header,
    .page-template-portfolio-list .main .card-group .card__header {
      padding: 0 var(--space-md-fixed) 0 0; } }
@media only screen and (min-width: 47.9375em) {
    .page-template-portfolio-list .card-group .card__footer,
    .page-template-portfolio-list .main .card-group .card__footer {
      padding-bottom: 0;
      padding-inline: var(--space-xl-fixed); } }
@media only screen and (min-width: 75em) {
    .page-template-portfolio-list .card-group .card__footer,
    .page-template-portfolio-list .main .card-group .card__footer {
      padding-left: 0; } }
@media only screen and (min-width: 47.9375em) {
    .page-template-portfolio-list .card__main {
      --layout-gap: clamp(var(--space-lg-fixed), 6vmax, var(--space-xl-fixed)); } }
@media only screen and (min-width: 47.9375em) {
    .page-template-portfolio-list .card__aside {
      grid-column: 1 / 13;
      grid-row: 1; } }
@media only screen and (min-width: 75em) {
    .page-template-portfolio-list .card__aside {
      grid-column: 1 / 7;
      grid-row: span 4; } }
/*--------------------------------------------------------------
# jQuery UI Theme
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/
.color-primary {
  color: var(--color-primary);
  stroke: var(--color-primary); }
.color-secondary {
  color: var(--color-secondary);
  stroke: var(--color-secondary); }
.ctct-label-hidden label,
.scrn-rdr-txt {
  position: absolute;
  left: -1000rem;
  top: auto;
  width: 0.1rem;
  height: 0.1rem;
  overflow: hidden; }
.clearfix:after {
  content: ".";
  visibility: hidden;
  display: block;
  height: 0;
  clear: both; }
.alt-bg {
  background-color: var(--color-accent-primary); }
/*  Clear  */
.clear:after {
  content: "";
  line-height: 0;
  display: table;
  clear: both; }
/*  Notext  */
.notext {
  white-space: nowrap;
  text-indent: 100%;
  text-shadow: none;
  overflow: hidden; }
.notext-old {
  font-size: 0;
  line-height: 0;
  text-indent: -4000px; }
/*  Hidden  */
[hidden],
.hidden {
  display: none; }
/*  Disabled  */
[disabled],
.disabled {
  cursor: default; }
/*  Responsive Helpers  */
.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block {
  display: none !important; }
@media (max-width: 767px), screen and (max-width: 812px) and (orientation: landscape) {
  .hidden-xs {
    display: none !important; }
  .visible-xs-block {
    display: block !important; }
  .visible-xs-inline {
    display: inline !important; }
  .visible-xs-inline-block {
    display: inline-block !important; } }
@media (min-width: 767.02px) and (max-width: 1023px) {
  .hidden-sm {
    display: none !important; }
  .visible-sm-block {
    display: block !important; }
  .visible-sm-inline {
    display: inline !important; }
  .visible-sm-inline-block {
    display: inline-block !important; } }
@media (min-width: 1023.02px) and (max-width: 1199px) {
  .hidden-md {
    display: none !important; }
  .visible-md-block {
    display: block !important; }
  .visible-md-inline {
    display: inline !important; }
  .visible-md-inline-block {
    display: inline-block !important; } }
@media (min-width: 1199.02px) {
  .hidden-lg {
    display: none !important; }
  .visible-lg-block {
    display: block !important; }
  .visible-lg-inline {
    display: inline !important; }
  .visible-lg-inline-block {
    display: inline-block !important; } }
.underline-decoration {
  position: relative; }
.underline-decoration:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 0.2rem;
  background: #fff; }
.underline-decoration--orange:before {
  background: #b54600; }
/* hi */
