@charset "UTF-8";
/*

Base Styles
===========

HTML, BODY, #wrapper styles

*/
:root {
  --ratio: 1.35;
  --border-offset: 1.5rem;
  --primary-list-offset: 5px;
  --btn-height: 3em;
  --btn-line-height: 1;
  line-height: var(--ratio);
}

html {
  font-family: "Raleway", "Helvetica Neue", Helvetica, Arial, sans-serif;
  scroll-behavior: smooth;
}

*, *:before, *:after {
  box-sizing: border-box;
}

body {
  color: #162329;
  /* The background-color below used the footer background color to make it seem like 
  the footer is endless in the rare case where the page content makes the page length shorter than the browser window */
  background-color: #2f3841;
  min-width: 320px;
  overflow-x: hidden;
  width: 100%;
  margin: 0;
}

article, aside, details, figcaption, figure, footer, header, main, nav, section {
  display: block;
}

audio, canvas, video {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

ul, ol, dd, menu, dl, figure, pre, table, fieldset, legend, hr,
h1, h2, h3, h4, h5, h6, p, a {
  margin: 0;
}

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6,
p,
.lead,
ul,
ol,
dd {
  font-size: clamp(var(--fluid-type-min, 1rem), 1rem + var(--fluid-type-target, 3vw), var(--fluid-type-max, 1.3rem));
}

ul, ol, dd {
  --fluid-type-min: 0.95rem;
  --fluid-type-max: 1rem;
  --fluid-type-target: 1vw;
}
@media all and (min-width: 48em) {
  ul, ol, dd {
    --fluid-type-min: 1rem;
    --fluid-type-max: 1.2rem;
    --fluid-type-target: 1.2vw;
  }
}

.wrapper {
  max-width: 1150px;
  margin: 0 auto;
  width: 90vw;
  display: grid;
  grid-gap: 1.5rem;
}
@media all and (max-width: 47.9375em) {
  .wrapper {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media all and (min-width: 48em) {
  .wrapper {
    grid-template-columns: repeat(12, 1fr);
    grid-gap: 1.5rem;
  }
}
@media all and (min-width: 64em) {
  .wrapper {
    grid-gap: 2.29411765rem;
  }
}

.basic-wrapper {
  max-width: 1150px;
  margin: 0 auto;
  width: 90vw;
}

/*

Icons
======

https://css-tricks.com/creating-a-maintainable-icon-system-with-sass/

*/
/* This triggers a redraw in IE to Fix IE8's :before content rendering. */
.icon,
[class^=icon--right-]:after,
[class*=" icon--right-"]:after,
[class^=icon--left-]:before,
[class*=" icon--left-"]:before {
  display: inline-block;
  vertical-align: middle;
  background-repeat: no-repeat;
  background-position: 0 0;
  width: 2em;
  height: 2em;
  fill: currentColor;
  background-size: 2em;
}

[class*=icon--left-],
[class*=icon--right-] {
  position: relative;
}

[class*=icon--left-] {
  padding-left: 52px !important;
}

[class*=icon--right-] {
  padding-right: 52px !important;
}

[class*=icon--left-]:before,
[class*=icon--right-]:after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
}

[class*=icon--left-]:before {
  left: 10px;
}

[class*=icon--right-]:after {
  right: 10px;
}

.icon.icon--xsmall,
.icon--xsmall:before,
.icon--xsmall:after {
  width: 0.625em;
  height: 0.625em;
  background-size: 0.625em;
}

.icon.icon--small,
.icon--small:before,
.icon--small:after {
  width: 1em;
  height: 1em;
  background-size: 1em;
}

.icon--small[class*=icon--left-] {
  padding-left: 27px !important;
}

.icon--small[class*=icon--left-]:before {
  left: 5px;
}

.icon--small[class*=icon--right-] {
  padding-right: 27px !important;
}

.icon--small[class*=icon--right-]:after {
  right: 5px;
}

.icon--large,
.icon--large:before,
.icon--large:after {
  width: 4em;
  height: 4em;
  background-size: 4em;
}

.icon--large[class*=icon--left-] {
  padding-left: 94px !important;
}

.icon--large[class*=icon--left-]:before {
  left: 15px;
}

.icon--large[class*=icon--right-] {
  padding-right: 94px !important;
}

.icon--large[class*=icon--right-]:after {
  right: 15px;
}

/* =======================================================================================
Example showing how to change the color/size of the icons:
.icon--name {
	font-size: 32px; // works because "width" & "height" were set using em units
	color: red; // works for single-colored icons, because "fill" was set to "currentColor"
}

.icon-tomato,
.icon--left-tomato:before,
.icon--right-tomato:after {
	background-image: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/131442/tomato.svg);
}

Inline:
<span class="icon icon-{icon-name}"></span>

Prepend:
<div class="icon--left-{icon-name}"></div>

Append:
<div class="icon--right-{icon-name}"></div>

Size modifiers:
<span class="icon icon-{icon-name} icon--small"></span>
<div class="icon--right-{icon-name} icon--large"></div>
<span class="icon icon-{icon-name} icon--responsive"></span>


======================================================================================== */
/* Search Icon */
.icon-search,
.icon--left-search:before,
.icon--right-search:after {
  background-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="26.978" height="27" viewBox="0 0 26.978 27"><path d="M15.5,5A10.463,10.463,0,0,0,7.283,8.959a10.635,10.635,0,0,0,.12,13.2,10.5,10.5,0,0,0,8.1,3.809,10.61,10.61,0,0,0,5.608-1.62l.18-.12L28.4,31.393a2.118,2.118,0,0,0,2.969,0,2.137,2.137,0,0,0,.06-3.029l-7.138-7.138.12-.18A10.494,10.494,0,0,0,15.5,5m5.279,15.776A7.458,7.458,0,1,1,22.969,15.5a7.445,7.445,0,0,1-2.189,5.279" transform="translate(-5.048 -5)" fill="%23162329" fill-rule="evenodd"/></svg>');
}

.search-form.input-group .icon-search:not(.icon--xsmall):not(.icon--small):not(.icon--large) {
  background-size: 1.5em;
}

/* External Links */
.icon-external,
.icon--left-external:before,
.icon--right-external:after {
  background-image: url('data:image/svg+xml;utf-8,<svg viewBox="0 0 12 12" xmlns="http://www.w3.org/2000/svg"><path id="icon_external" d="M5.58862 1.21395L7.37407 2.90693L4.6959 5.44643L6.48135 7.1394L9.15952 4.5999L10.945 6.29288V1.2135H5.58832L5.58862 1.21395ZM2.01772 2.0604C1.52314 2.0604 1.125 2.43795 1.125 2.90685V9.6786C1.125 10.1476 1.52314 10.5251 2.01772 10.5251H9.15922C9.65377 10.5251 10.0519 10.1475 10.0519 9.6786V7.1391L9.15945 6.29258V9.67853H2.01817V2.90678H5.58892L4.69605 2.06025H2.01802L2.01772 2.0604Z" fill="%23d6d6d6"/></svg>');
}

/* Burger Menu */
.icon-burger-menu,
.icon--left-burger-menu:before,
.icon--right-burger-menu:after {
  background-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="18" viewBox="0 0 20 18"><path d="M4,7H20a2,2,0,0,0,0-4H4A2,2,0,0,0,4,7ZM20,17H4a2,2,0,0,0,0,4H20a2,2,0,0,0,0-4Zm0-7H4a2,2,0,0,0,0,4H20a2,2,0,0,0,0-4Z" transform="translate(-2 -3)" fill="%23fff"/></svg>');
}

/* Filters */
.icon-filters {
  background-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20" viewBox="0 0 20 20"><defs><clipPath id="a"><rect width="20" height="20" transform="translate(15553 -4542)" fill="%23fff"/></clipPath></defs><g transform="translate(-15553 4542)" clip-path="url(%23a)"><path d="M18.7,8.162a1.875,1.875,0,0,0,.378-.811h3.352a.54.54,0,1,0,0-1.08H19.082a2.323,2.323,0,0,0-.865-1.3,2.236,2.236,0,0,0-3.135.487,2.8,2.8,0,0,0-.378.811H3.514a.54.54,0,0,0,0,1.08H14.7a2.323,2.323,0,0,0,.865,1.3A2.2,2.2,0,0,0,18.7,8.162Zm-2.486-.378a1.05,1.05,0,0,1-.487-.757,1.015,1.015,0,0,1,.216-.865,1.149,1.149,0,0,1,1.622-.271,1.05,1.05,0,0,1,.487.757v.162a1.084,1.084,0,0,1-.216.7A1.148,1.148,0,0,1,16.217,7.784ZM10.7,14.325a1.875,1.875,0,0,0,.378-.811H22.434a.54.54,0,1,0,0-1.08H11.082a2.323,2.323,0,0,0-.865-1.3,2.236,2.236,0,0,0-3.135.487,2.8,2.8,0,0,0-.378.811H3.514a.54.54,0,0,0,0,1.08H6.7a2.249,2.249,0,0,0,4,.811Zm-2.486-.432a1.05,1.05,0,0,1-.487-.757,1.015,1.015,0,0,1,.216-.865A1.149,1.149,0,0,1,9.568,12a1.05,1.05,0,0,1,.487.757v.162a1.084,1.084,0,0,1-.216.7A1.149,1.149,0,0,1,8.217,13.893ZM16.6,20.434a1.875,1.875,0,0,0,.378-.811h5.46a.54.54,0,1,0,0-1.08H16.974a2.3,2.3,0,0,0-2.54-1.73,2.224,2.224,0,0,0-1.46.919,3.7,3.7,0,0,0-.378.811H3.514a.54.54,0,1,0,0,1.08H12.65a2.323,2.323,0,0,0,.865,1.3,2.228,2.228,0,0,0,3.081-.486Zm-2.486-.378a1.278,1.278,0,0,1-.487-.811v-.217a.965.965,0,0,1,.216-.54A1.05,1.05,0,0,1,14.6,18a1.23,1.23,0,0,1,.865.216,1.05,1.05,0,0,1,.487.757v.162a1.084,1.084,0,0,1-.216.7,1.18,1.18,0,0,1-1.622.217Z" transform="translate(15550.026 -4544.935)" fill="%232f3841"/></g></svg>');
}

/* File PDF */
.icon-file-pdf,
.icon--left-file-pdf:before,
.icon--right-file-pdf:after {
  background-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" viewBox="0 0 50 50"><g transform="translate(-1018 -1629)"><rect width="50" height="50" transform="translate(1018 1629)" fill="none"/><path d="M31.167,0V12.5h12.5ZM12.417,28.646h-2.6v5.208h2.6a.521.521,0,0,0,.521-.521V29.167A.521.521,0,0,0,12.417,28.646Zm9.9,0v9.375h2.6a.521.521,0,0,0,.521-.521V29.167a.521.521,0,0,0-.521-.521ZM27,0H6.167A4.168,4.168,0,0,0,2,4.167V45.833A4.168,4.168,0,0,0,6.167,50H39.5a4.168,4.168,0,0,0,4.167-4.167V16.667H27ZM16.063,33.333a3.65,3.65,0,0,1-3.646,3.646h-2.6v2.6a1.562,1.562,0,1,1-3.125,0V25.521h5.729a3.65,3.65,0,0,1,3.646,3.646Zm15.625-7.812h5.729a1.563,1.563,0,0,1,0,3.125h-2.6v3.231a1.547,1.547,0,0,1,.521-.106h2.083a1.562,1.562,0,1,1,0,3.125H35.333a1.5,1.5,0,0,1-.521-.106v4.794a1.562,1.562,0,1,1-3.125,0Zm-3.125,3.646V37.5a3.65,3.65,0,0,1-3.646,3.646H19.188V25.521h5.729A3.65,3.65,0,0,1,28.563,29.167Z" transform="translate(1020.166 1629)" fill="%230D2741"/></g></svg>');
}

/* 3D Box */
.icon-3d-box,
.icon--left-3d-box:before,
.icon--right-3d-box:after {
  background-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" viewBox="0 0 50 50"><g transform="translate(-1018 -1629)"><rect width="50" height="50" transform="translate(1018 1629)" fill="none"/><g transform="translate(1021.136 1629)"><path d="M62.864,74.4,41,61.915V36.9L62.864,24.4,84.727,36.9v25.01ZM42.553,61.019l20.31,11.609,20.31-11.609V37.8L62.864,26.192,42.553,37.8Z" transform="translate(-41 -24.4)" fill="%230D2741"/><g transform="translate(12.804 14.337)"><path d="M114.36,117.746l-9.06-4.938V101.338l9.06-4.938,9.06,4.938v11.469Zm-7.507-5.854,7.507,4.1,7.507-4.1v-9.618l-7.507-4.1-7.507,4.1Z" transform="translate(-105.3 -96.4)" fill="%230D2741"/></g><g transform="translate(0.409 12.271)"><g transform="translate(21.087)"><rect width="23.915" height="1.553" transform="translate(0 11.292) rotate(-28.177)" fill="%230D2741"/></g><g transform="translate(0 0.015)"><rect width="1.553" height="23.915" transform="translate(0 1.369) rotate(-61.823)" fill="%230D2741"/></g><g transform="translate(20.678 11.983)"><rect width="1.553" height="24.85" transform="translate(0)" fill="%230D2741"/></g></g><g transform="translate(2.35 3.086)"><g transform="translate(29.092 27.379)"><path d="M208.1,183.652l-1.314-.7.737-1.374,1.314.7Zm-2.628-1.394-1.314-.7.737-1.374,1.314.7Zm-2.628-1.394-1.314-.7.737-1.374,1.314.7Zm-2.628-1.394-1.314-.7.737-1.374,1.314.7Z" transform="translate(-198.9 -177.4)" fill="%230D2741"/></g><g transform="translate(0 27.379)"><path d="M53.537,183.652l-.737-1.374,1.314-.7.737,1.374Zm2.628-1.394-.737-1.374,1.314-.7.737,1.374Zm2.628-1.394-.737-1.374,1.314-.7.737,1.374Zm2.628-1.394-.737-1.374L62,177.4l.737,1.374Z" transform="translate(-52.8 -177.4)" fill="%230D2741"/></g><g transform="translate(18.737)"><g transform="translate(0)"><path d="M148.453,50.175H146.9V48.7h1.553Zm0-2.927H146.9V45.774h1.553Zm0-2.947H146.9V42.827h1.553Zm0-2.927H146.9V39.9h1.553Z" transform="translate(-146.9 -39.9)" fill="%230D2741"/></g></g></g></g></g></svg>');
}

/* Cart */
.icon-cart,
.icon--left-cart:before,
.icon--right-cart:after {
  background-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18,18a3,3,0,1,0,3,3A3,3,0,0,0,18,18Zm-8,0a3,3,0,1,0,3,3A3,3,0,0,0,10,18ZM5.134,4,3.7,0H1A1,1,0,0,0,1,2H2.3l4.29,12.009A3,3,0,0,0,9.409,16h9.332a3,3,0,0,0,2.888-2.19L24,4Z" fill="%23ffffff"/></svg>');
}

/* Home / House */
.icon-home,
.icon--left-home:before,
.icon--right-home:after {
  background-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M23.2,9.163,12,0,.8,9.163A2.185,2.185,0,0,0,0,10.852V21.818A2.182,2.182,0,0,0,2.182,24H8V18a4,4,0,1,1,8,0v6h5.818A2.182,2.182,0,0,0,24,21.818V10.852a2.185,2.185,0,0,0-.8-1.689Z" fill="%23ffffff"/></svg>');
}

/* Arrow Icons */
.icon-down-arrow,
.icon--left-down-arrow:before,
.icon--right-down-arrow:after {
  background-image: url('data:image/svg+xml;utf-8,<svg viewBox="0 0 10 8" xmlns="http://www.w3.org/2000/svg"><path id="icon_down_arrow" d="M5 8L0.669873 0.499999L9.33013 0.5L5 8Z" fill="%23000"/></svg>');
  transform: translate(0, 0);
  transition: all 0.25s ease;
}
.rotated .icon-down-arrow,
.rotated .icon--left-down-arrow:before,
.rotated .icon--right-down-arrow:after {
  transform: rotate(180deg);
  background-image: url('data:image/svg+xml;utf-8,<svg viewBox="0 0 10 8" xmlns="http://www.w3.org/2000/svg"><path id="icon_down_arrow" d="M5 8L0.669873 0.499999L9.33013 0.5L5 8Z" fill="%23fff"/></svg>');
}

.icon-down-arrow-light,
.icon--left-down-arrow-light:before,
.icon--right-down-arrow-light:after {
  background-image: url('data:image/svg+xml;utf-8,<svg viewBox="0 0 10 8" xmlns="http://www.w3.org/2000/svg"><path id="icon_down_arrow" d="M5 8L0.669873 0.499999L9.33013 0.5L5 8Z" fill="%23fff"/></svg>');
  transform: translate(0, 0);
  transition: all 0.25s ease;
}
.rotated .icon-down-arrow-light,
.rotated .icon--left-down-arrow-light:before,
.rotated .icon--right-down-arrow-light:after {
  transform: rotate(180deg);
}

.main-nav .list-item a:hover .icon-down-arrow, .main-nav .list-item a:focus .icon-down-arrow, .main-nav .list-item a:active .icon-down-arrow {
  background-image: url('data:image/svg+xml;utf-8,<svg viewBox="0 0 10 8" xmlns="http://www.w3.org/2000/svg"><path id="icon_down_arrow" d="M5 8L0.669873 0.499999L9.33013 0.5L5 8Z" fill="%23fff"/></svg>');
}

/* Social Links */
.icon-social-facebook {
  background-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 38 38"><path d="M19,38A19,19,0,0,1,11.6,1.493,19,19,0,0,1,26.4,36.507,18.88,18.88,0,0,1,19,38ZM11.922,14.692V20h3.539V34.156h5.308V20h4.424l.885-5.308H20.769V12.038a.9.9,0,0,1,.885-.885h4.424V5.845H21.654a6.2,6.2,0,0,0-6.193,6.193v2.654Z" fill="%23ffffff"/></svg>');
}
.icon-social-facebook:hover, .icon-social-facebook:focus {
  background-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 38 38"><path d="M19,38A19,19,0,0,1,11.6,1.493,19,19,0,0,1,26.4,36.507,18.88,18.88,0,0,1,19,38ZM11.922,14.692V20h3.539V34.156h5.308V20h4.424l.885-5.308H20.769V12.038a.9.9,0,0,1,.885-.885h4.424V5.845H21.654a6.2,6.2,0,0,0-6.193,6.193v2.654Z" fill="%23FCCF00"/></svg>');
}

.icon-social-twitter {
  background-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 38 38"><path d="M19,38A19,19,0,0,1,11.6,1.493,19,19,0,0,1,26.4,36.507,18.88,18.88,0,0,1,19,38ZM7,28.667H7a15.131,15.131,0,0,0,8.18,2.4,15.366,15.366,0,0,0,6.51-1.38,14.364,14.364,0,0,0,4.758-3.566,15.7,15.7,0,0,0,3.911-10.233c0-.227,0-.453-.015-.69A10.632,10.632,0,0,0,33,12.437a10.527,10.527,0,0,1-3.06.837,5.354,5.354,0,0,0,2.346-2.951,10.707,10.707,0,0,1-3.386,1.3,5.341,5.341,0,0,0-9.09,4.865A15.2,15.2,0,0,1,8.819,10.908a5.342,5.342,0,0,0,1.65,7.119,5.4,5.4,0,0,1-2.418-.665v.067a5.344,5.344,0,0,0,4.28,5.231,5.371,5.371,0,0,1-1.408.188,5.53,5.53,0,0,1-1.005-.1A5.343,5.343,0,0,0,14.9,26.458,10.756,10.756,0,0,1,7,28.667Z" fill="%23ffffff"/></svg>');
}
.icon-social-twitter:hover, .icon-social-twitter:focus {
  background-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 38 38"><path d="M19,38A19,19,0,0,1,11.6,1.493,19,19,0,0,1,26.4,36.507,18.88,18.88,0,0,1,19,38ZM7,28.667H7a15.131,15.131,0,0,0,8.18,2.4,15.366,15.366,0,0,0,6.51-1.38,14.364,14.364,0,0,0,4.758-3.566,15.7,15.7,0,0,0,3.911-10.233c0-.227,0-.453-.015-.69A10.632,10.632,0,0,0,33,12.437a10.527,10.527,0,0,1-3.06.837,5.354,5.354,0,0,0,2.346-2.951,10.707,10.707,0,0,1-3.386,1.3,5.341,5.341,0,0,0-9.09,4.865A15.2,15.2,0,0,1,8.819,10.908a5.342,5.342,0,0,0,1.65,7.119,5.4,5.4,0,0,1-2.418-.665v.067a5.344,5.344,0,0,0,4.28,5.231,5.371,5.371,0,0,1-1.408.188,5.53,5.53,0,0,1-1.005-.1A5.343,5.343,0,0,0,14.9,26.458,10.756,10.756,0,0,1,7,28.667Z" fill="%23FCCF00"/></svg>');
}

.icon-social-linkedin {
  background-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 38 38"><path d="M19,38A19,19,0,0,1,11.6,1.493,19,19,0,0,1,26.4,36.507,18.88,18.88,0,0,1,19,38Zm4.473-19.482c2.454,0,2.454,2.2,2.454,3.812v6.988h4.721V21.434a8.634,8.634,0,0,0-1.039-4.874c-.884-1.327-2.4-1.971-4.624-1.971a5.134,5.134,0,0,0-4.47,2.321h-.066V14.588H15.921V29.317h4.718V22.208C20.639,20.383,20.976,18.517,23.473,18.517ZM7.738,14.588V29.317h4.91V14.588Zm2.455-6.546A2.455,2.455,0,1,0,12.648,10.5,2.458,2.458,0,0,0,10.193,8.042Z" fill="%23ffffff"/></svg>');
}
.icon-social-linkedin:hover, .icon-social-linkedin:focus {
  background-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 38 38"><path d="M19,38A19,19,0,0,1,11.6,1.493,19,19,0,0,1,26.4,36.507,18.88,18.88,0,0,1,19,38Zm4.473-19.482c2.454,0,2.454,2.2,2.454,3.812v6.988h4.721V21.434a8.634,8.634,0,0,0-1.039-4.874c-.884-1.327-2.4-1.971-4.624-1.971a5.134,5.134,0,0,0-4.47,2.321h-.066V14.588H15.921V29.317h4.718V22.208C20.639,20.383,20.976,18.517,23.473,18.517ZM7.738,14.588V29.317h4.91V14.588Zm2.455-6.546A2.455,2.455,0,1,0,12.648,10.5,2.458,2.458,0,0,0,10.193,8.042Z" fill="%23FCCF00"/></svg>');
}

.icon-social-youtube {
  background-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 38 38"><path d="M19,38A19,19,0,0,1,11.6,1.493,19,19,0,0,1,26.4,36.507,18.88,18.88,0,0,1,19,38Zm-.011-27c-.052,0-5.189,0-8.581.25l-.161.017a3.347,3.347,0,0,0-2.3,1.023,5.285,5.285,0,0,0-.972,2.433,37.639,37.639,0,0,0-.244,3.973v1.86a37.684,37.684,0,0,0,.244,3.972,5.349,5.349,0,0,0,.972,2.435,3.623,3.623,0,0,0,2.366,1c.132.016.246.03.341.048,1.939.185,8.278.243,8.342.244s5.2-.013,8.586-.255l.153-.016a3.39,3.39,0,0,0,2.3-1.024,5.314,5.314,0,0,0,.976-2.435,37.639,37.639,0,0,0,.244-3.973V18.694a38.406,38.406,0,0,0-.248-3.973l0-.014a5.108,5.108,0,0,0-.976-2.418,3.389,3.389,0,0,0-2.3-1.023l-.155-.016C24.189,11,19.051,11,19,11ZM16.458,22.81V15.916l6.626,3.459L16.46,22.809Z" fill="%23ffffff"/></svg>');
}
.icon-social-youtube:hover, .icon-social-youtube:focus {
  background-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 38 38"><path d="M19,38A19,19,0,0,1,11.6,1.493,19,19,0,0,1,26.4,36.507,18.88,18.88,0,0,1,19,38Zm-.011-27c-.052,0-5.189,0-8.581.25l-.161.017a3.347,3.347,0,0,0-2.3,1.023,5.285,5.285,0,0,0-.972,2.433,37.639,37.639,0,0,0-.244,3.973v1.86a37.684,37.684,0,0,0,.244,3.972,5.349,5.349,0,0,0,.972,2.435,3.623,3.623,0,0,0,2.366,1c.132.016.246.03.341.048,1.939.185,8.278.243,8.342.244s5.2-.013,8.586-.255l.153-.016a3.39,3.39,0,0,0,2.3-1.024,5.314,5.314,0,0,0,.976-2.435,37.639,37.639,0,0,0,.244-3.973V18.694a38.406,38.406,0,0,0-.248-3.973l0-.014a5.108,5.108,0,0,0-.976-2.418,3.389,3.389,0,0,0-2.3-1.023l-.155-.016C24.189,11,19.051,11,19,11ZM16.458,22.81V15.916l6.626,3.459L16.46,22.809Z" fill="%23FCCF00"/></svg>');
}

/*

Images
======

    <img alt="" class="img-rounded" src="http://fillmurray.com/300/300" />
    <img alt="" class="img-circle" src="http://fillmurray.com/300/300" />
    <img alt="" class="img-polaroid" src="http://fillmurray.com/300/300" />

*/
img {
  max-width: 100%;
  height: auto !important;
  border-width: 0;
  vertical-align: middle;
  -ms-interpolation-mode: bicubic;
}

.img-rounded {
  border-radius: 4px;
}

.img-circle {
  border-radius: 50%;
}

.img-polaroid {
  background-color: #FFFFFF;
  border: 1px solid #e6e6e6;
  box-shadow: 0 1px 3px rgba(0, 0, 3, 0.2);
  padding: 12px;
}

img.fullwidth {
  width: 100%;
  max-width: auto;
}

/*

Base64 Images
==============

This file is to include placeholder selectors just for Base64 images

*/
/*

Figure & Figcaption
===================

    <figure>
        <img alt="" src="img/tmp/rock-hammer-1.jpg">
        <figcaption>Figure caption</figcaption>
    </figure>

*/
/*

Headings
========

	<h1>This is the primary headline</h1>
	<h2>This is the secondary headline</h2>
	<h3>This is the tertiary headline</h3>
	<h4>This is the average headline</h4>
	<h5>This is the small headline</h5>
	<h6>This is the micro headline</h6>

*/
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  font-family: "Exo 2", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

h1, .h1 {
  --fluid-type-min: 1.5rem;
  --fluid-type-max: 2.5rem;
  --fluid-type-target: 2.5vw;
  max-width: 40ch;
  line-height: 1.15;
}

h2, .h2 {
  --fluid-type-min: 1.27rem;
  --fluid-type-max: 2.05rem;
  --fluid-type-target: 2.05vw;
  line-height: 1.18;
}

h3, .h3 {
  --fluid-type-min: 1.12rem;
  --fluid-type-max: 1.7rem;
  --fluid-type-target: 1.7vw;
  line-height: 1.17;
}

h4, .h4 {
  --fluid-type-min: 1.09rem;
  --fluid-type-max: 1.45rem;
  --fluid-type-target: 1.45vw;
  line-height: 1.19;
}

h5, .h5 {
  --fluid-type-min: 1.04rem;
  --fluid-type-max: 1.2rem;
  line-height: 1.23;
}

h6, .h6 {
  --fluid-type-min: 1rem;
  --fluid-type-max: 1rem;
}

/*

Body Copy
========

    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam ac ligula non felis fermentum tincidunt. Suspendisse sapien odio, vestibulum euismod metus at, aliquet dapibus purus. Suspendisse lacinia sit amet ante eget gravida.</p>

    <p class="lead">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam ac ligula non felis fermentum tincidunt. Suspendisse sapien odio, vestibulum euismod metus at, aliquet dapibus purus. Suspendisse lacinia sit amet ante eget gravida.</p>

*/
p {
  --fluid-type-min: 0.95rem;
  --fluid-type-max: 1rem;
  --fluid-type-target: 1vw;
  max-width: 65ch;
}
@media all and (min-width: 48em) {
  p {
    --fluid-type-min: 1rem;
    --fluid-type-max: 1.2rem;
    --fluid-type-target: 1.2vw;
  }
}

/* --- used if wanting to style the first paragraph slightly differently --- */
.lead {
  --fluid-type-min: 1.09rem;
  --fluid-type-max: 1.45rem;
  --fluid-type-target: 1.45vw;
}

::-moz-selection {
  background: yellow;
}

::selection {
  background: yellow;
}

/*

Body Copy Classes
=================

    <p class="text-muted">faded out a little</p>
    <p class="text-primary">this really is something to look at</p>
    <p class="text-success">winner, winner. chicken dinner!</p>
    <p class="text-info">just a bit of info</p>
    <p class="text-warning">be careful now, take heed</p>
    <p class="text-danger">ooh, high voltage</p>

*/
.text-muted {
  color: #5e646a;
}

.text-subtle {
  color: #e3e3e3;
}

.text-meta {
  color: #5e646a;
}

.text-primary {
  color: #fcb140;
}

.text-success {
  color: #5CB85C;
}

.text-info {
  color: #5BC0DE;
}

.text-warning {
  color: #F0AD4E;
}

.text-danger {
  color: #D9534F;
}

/*

Links
=====

	<a href="">this is a link</a>
	<a class="is-selected" href="">this link is selected</a>

*/
a {
  color: #1c59a6;
  text-decoration-thickness: 2px;
  text-underline-offset: 1px;
  transition: all 150ms ease-in-out;
}
a:visited {
  color: #1c59a6;
}
a:hover {
  color: #0d2a4f;
  -webkit-text-decoration-color: #327ddc;
          text-decoration-color: #327ddc;
}
a:focus {
  color: #1c59a6;
  -webkit-text-decoration-color: #327ddc;
          text-decoration-color: #327ddc;
}
a:active {
  color: #0d2a4f;
}

.unstyled-link {
  color: inherit;
  text-decoration: none;
}
.unstyled-link:visited {
  color: inherit;
}
.unstyled-link:hover {
  color: #0d2a4f;
}
.unstyled-link:focus {
  color: #1c59a6;
}
.unstyled-link:active {
  color: #0d2a4f;
}

.unstyled-child-link a {
  color: inherit;
  text-decoration: none;
}
.unstyled-child-link a:visited {
  color: inherit;
}
.unstyled-child-link a:hover {
  color: #0d2a4f;
}
.unstyled-child-link a:focus {
  color: #1c59a6;
}
.unstyled-child-link a:active {
  color: #0d2a4f;
}
.block--dark .unstyled-child-link a:hover, .block--bright .unstyled-child-link a:hover, .footer[role=contentinfo] .unstyled-child-link a:hover {
  color: #fccf00;
}
.block--dark .unstyled-child-link a:focus, .block--bright .unstyled-child-link a:focus, .footer[role=contentinfo] .unstyled-child-link a:focus {
  color: #fccf00;
}
.block--dark .unstyled-child-link a:active, .block--bright .unstyled-child-link a:active, .footer[role=contentinfo] .unstyled-child-link a:active {
  color: #fccf00;
}

.hover--underline {
  text-decoration: none;
}
.hover--underline:hover, .hover--underline:focus {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 1px;
}

a:not(.btn):focus {
  outline: 1px solid #1c59a6;
  outline-offset: 0.25rem;
}

.breakout-link {
  transition: background 100ms ease;
  position: static;
}

.breakout-link,
.breakout-link::before {
  cursor: pointer;
}

.breakout-link::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.breakout-link:focus {
  outline: none;
}

.breakout-link:hover {
  background: #333333;
}

.active-enlarge > * {
  transition: transform 400ms ease;
  transform: scale(1);
}
.active-enlarge > *:hover, .active-enlarge > *:focus {
  transition: transform 200ms ease;
  transform: scale(1.03);
}

/*

Quotes
===========
	The HTML <q> element indicates that the enclosed text is a short inline quotation. 
	This element is intended for short quotations that don't require paragraph breaks; 
	for long quotations use the <blockquote> element.

    <p>
    	When Dave asks HAL to open the pod bay door, HAL answers: 
    	<q cite="https://www.imdb.com/title/tt0062622/quotes/qt0396921">I'm sorry, Dave. I'm afraid I can't do that.</q>
    </p>

*/
q {
  quotes: "“" "”";
}

/*
Blockquotes
===========

    <blockquote>
        <p>You can put a cat in an oven, but that don't make it a biscuit.</p>
    </blockquote>

*/
blockquote {
  background-color: #f5f5f5;
  border-left: 4px solid;
  border-color: #1c59a6;
  color: inherit;
  margin-left: 0;
  margin-right: 0;
  padding: 1rem;
}
blockquote > * + * {
  margin-top: rem(1);
}
@media all and (min-width: 64em) {
  blockquote > * + * {
    margin-top: rem(1);
  }
}
/*

Miscellaneous Typography
=======================

	<p><strong>rendered as bold text</strong></p>

	<p><em>rendered as italic text</em></p>

	<p><del>rendered as deleted text</del></p>

	<p><dfn>defines a definition term</dfn></p>

	<p><abbr title="extended abbr text should show when mouse over">&lt;abbr&gt; abbr - extended text when mouseover.</abbr></p>
	<p><acronym title="extended acronym text should show when mouse over">&lt;acronym&gt; acronym - extended text when mouseover.</acronym></p>

	<address>This would be rendered the address</address>

	<small>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</small>


*/
.strong,
strong {
  font-weight: bold;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted rgba(0, 0, 0, 0.3);
  cursor: help;
}

.small,
small {
  --fluid-type-min: 0.75rem;
  --fluid-type-max: 1rem;
  --fluid-type-target: 1vw;
  font-size: clamp(var(--fluid-type-min, 1rem), 1rem + var(--fluid-type-target, 1vw), var(--fluid-type-max, 1rem));
  max-width: 80ch;
}

.xsmall {
  --fluid-type-min: 0.65rem;
  --fluid-type-max: 0.85rem;
  --fluid-type-target: 0.75vw;
  font-size: clamp(var(--fluid-type-min, 1rem), 1rem + var(--fluid-type-target, 1vw), var(--fluid-type-max, 1rem));
}

kbd {
  color: #666666;
  font-family: inherit;
  font-size: 87.5%;
  line-height: 90%;
  background-color: #f9f9f9;
  margin: 0 0.25rem;
  border: 1px solid #e9e9e9;
  border-radius: 4px;
  padding: 0.3334em 0.5em;
  box-shadow: inset 0 1px 0 white;
}

mark {
  background-color: #f0debc;
  line-height: 90%;
  padding: 0 0.125em;
}

/*

Unordered Lists
===============

	<ul>
		<li>An unordered list item</li>
		<li>An unordered list item</li>
		<li>An unordered list item</li>
		<li>An unordered list item</li>
		<ul>
			<li>An unordered list item</li>
			<li>An unordered list item</li>
			<li>An unordered list item</li>
			<li>An unordered list item</li>
		</ul>
	</ul>

*/
ul {
  list-style-position: inside;
  padding-left: 0;
}

.content ul:not([class*=inline-list--]) {
  text-indent: -1.4em;
  padding-left: 1.4em;
}

/*

## Ordered Lists
```
<ol>
	<li>An unordered list item</li>
	<li>An unordered list item</li>
	<li>An unordered list item</li>
	<li>An unordered list item</li>
	<ol>
		<li>An unordered list item</li>
		<li>An unordered list item</li>
		<li>An unordered list item</li>
		<li>An unordered list item</li>
	</ol>
</ol>
```
*/
ol {
  list-style-position: inside;
  padding-left: 0;
}

.content ol:not(.h-plain-list) {
  counter-reset: foo;
  display: table;
}

.content ol:not(.h-plain-list) > li {
  list-style: none;
  counter-increment: foo;
  display: table-row;
}

.content ol:not(.h-plain-list) > li:before {
  content: counter(foo) ".";
  display: table-cell;
  text-align: left;
  padding-right: 0.5em;
}

/*

## Description Lists

```
<dl>
    <dt>Term</dt>
    <dd>Description</dd>
    <dt>Term</dt>
    <dd>Description</dd>
</dl>
...

*/
dl {
  list-style-position: inside;
  padding-left: 0;
}

dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

.inline-list--simple {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 0.25rem 1rem;
  padding-left: calc(var(--border-offset) / 2);
  margin-left: calc(var(--border-offset) / 2 * -1);
}
@media all and (min-width: 64em) {
  .inline-list--simple {
    padding-left: var(--border-offset);
    margin-left: calc(var(--border-offset) * -1);
  }
}

@media all and (min-width: 48em) {
  .inline-list--simple--from-medium {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-left: calc(var(--border-offset) / 2 * -1);
  }
}
@media all and (min-width: 64em) {
  .inline-list--simple--from-medium {
    margin-left: calc(var(--border-offset) * -1);
  }
}

.inline-list--simple--centered {
  justify-content: center;
}

.inline-list__item,
.inline-list--simple .menu-item {
  margin-left: 0;
  flex-basis: auto;
}

.inline-list--simple > li {
  border-left: calc(var(--border-offset) / 2) solid transparent;
}
@media all and (min-width: 64em) {
  .inline-list--simple > li {
    border-left: var(--border-offset) solid transparent;
  }
}

/*
  Special Lists 
*/
.social-list {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.social-list > li {
  flex: 0 0 2em;
}

.social-list > li + li {
  margin-left: 1rem;
}

.list-big-dots {
  list-style: disc inside;
}

.list-big-dots li::marker {
  font-size: 150%;
  line-height: 1;
}

.list-big-dots--inline {
  gap: 0.25rem 2rem;
  list-style-position: outside;
  padding-left: 2rem;
}
@media all and (min-width: 35.5em) {
  .list-big-dots--inline {
    flex-wrap: nowrap;
  }
}
@media all and (min-width: 64em) {
  .list-big-dots--inline {
    gap: 0.25rem 3rem;
  }
}

.list-big-dots--inline li {
  border-left: none;
}

/*

Main Navigation
===============

	<nav class="main-nav" role="navigation">
		<ul class="main-nav-list">
			<li class="main-nav-item"><a class="main-nav-link" href="">A main link</a></li>
			<li class="main-nav-item"><a class="main-nav-link" href="">A main link</a></li>
			<li class="main-nav-item"><a class="main-nav-link" href="">A main link</a></li>
			<li class="main-nav-item"><a class="main-nav-link" href="">A main link</a></li>
		</ul>
	</nav>

*/
.main-nav {
  background-color: #e3e3e3;
  width: 100%;
  position: relative;
  border-bottom: 3px solid #fccf00;
}

.main-nav * {
  --ratio: 1.15;
  --fluid-type-min: 0.75rem;
  --fluid-type-max: 1rem;
  --fluid-type-target: 1vw;
  font-size: clamp(var(--fluid-type-min, 1rem), 1rem + var(--fluid-type-target, 1vw), var(--fluid-type-max, 1rem));
  font-weight: 700;
  line-height: var(--ratio);
}

.main-nav .main-nav__wrapper {
  position: relative;
  display: flex;
  justify-content: flex-start;
}
@media all and (max-width: 47.9375em) {
  .main-nav .main-nav__wrapper {
    flex-direction: column;
  }
}

.main-nav a {
  display: block;
}
.main-nav a:focus {
  outline: 3px solid #1c59a6;
  outline-offset: -2px;
}

.main-nav__primary-list,
.main-nav__secondary-list,
.mega-menu,
.menu,
.sub-menu {
  list-style: none;
  list-style-image: none;
}
.main-nav__primary-list a,
.main-nav__secondary-list a,
.mega-menu a,
.menu a,
.sub-menu a {
  text-decoration: none;
}

.main-nav__primary-list-and-secondary-nav-toggler {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.main-nav__primary-list-and-secondary-nav-toggler > * + * {
  margin-left: 0.25rem;
}

.main-nav__primary-list,
.nav--inside-page {
  display: flex;
  justify-content: flex-start;
}
@media all and (max-width: 47.9375em) {
  .main-nav__primary-list,
.nav--inside-page {
    position: relative;
  }
}

.nav--inside-page {
  justify-content: center;
  gap: 1rem;
}

.main-nav__primary-list > .list-item + .list-item > a {
  border-left: 2px solid #74a7e7;
}

@media all and (min-width: 48em) {
  .main-nav__primary-list > .list-item:last-child > a:after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: var(--primary-list-offset) 0 0 var(--primary-list-offset);
    border-color: transparent transparent transparent #113665;
    top: 0;
    right: calc(-1 * var(--primary-list-offset));
    position: absolute;
  }
}

.main-nav__primary-list > .list-item .list-item__centerer {
  position: relative;
}

.main-nav__primary-list > .list-item > a,
.nav--inside-page > .nav__list-item > a {
  padding: 1rem;
  height: 100%;
  position: relative;
}
@media all and (min-width: 48em) {
  .main-nav__primary-list > .list-item > a,
.nav--inside-page > .nav__list-item > a {
    display: flex;
    align-items: center;
  }
}
.main-nav__primary-list > .list-item > a:hover, .main-nav__primary-list > .list-item > a:focus, .main-nav__primary-list > .list-item > a:active, .main-nav__primary-list > .list-item > a.active,
.nav--inside-page > .nav__list-item > a:hover,
.nav--inside-page > .nav__list-item > a:focus,
.nav--inside-page > .nav__list-item > a:active,
.nav--inside-page > .nav__list-item > a.active {
  text-decoration: none;
  color: #FFFFFF;
  background-color: #0d2741;
  background-image: linear-gradient(180deg, #1c59a6 10%, #0d2741 90%);
}

.nav--inside-page > .nav__list-item > a {
  display: flex;
}

.main-nav__primary-list > .list-item > a {
  color: #FFFFFF;
  background-color: #1c59a6;
}
@media all and (min-width: 48em) {
  .main-nav__primary-list > .list-item > a {
    height: calc(100% + var(--primary-list-offset));
    margin-top: calc(-1 * var(--primary-list-offset));
    padding-top: calc(1rem + var(--primary-list-offset));
  }
}

.nav--inside-page > .nav__list-item > a {
  color: #1c59a6;
  background-color: transparent;
}

@media all and (max-width: 47.9375em) {
  #team_nav_section {
    display: none;
    visibility: hidden;
  }
}

@media all and (min-width: 48em) {
  .main-nav__secondary-list {
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }
}
@media all and (max-width: 47.9375em) {
  .js .main-nav__secondary-list {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: all 150ms ease-in-out;
  }
}
@media all and (min-width: 48em) {
  .js .main-nav__secondary-list {
    max-height: auto;
    overflow: visible;
    opacity: 1;
  }
}
.main-nav__secondary-list.active {
  max-height: 64rem;
  opacity: 1;
  z-index: 100;
}

.main-nav__secondary-list > .list-item > a {
  color: #162329;
  padding: 0.5rem;
}
@media all and (min-width: 48em) {
  .main-nav__secondary-list > .list-item > a {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
}
.main-nav__secondary-list > .list-item > a:hover, .main-nav__secondary-list > .list-item > a:focus, .main-nav__secondary-list > .list-item > a:active {
  color: #FFFFFF;
  background-color: #0d2741;
}

.main-nav__secondary-list > .list-item {
  position: relative;
}

@media all and (max-width: 47.9375em) {
  .main-nav__secondary-list > .list-item + .list-item {
    border-top: 1px solid #cacaca;
  }
}
@media all and (min-width: 48em) {
  .main-nav__secondary-list > .list-item + .list-item {
    margin-left: 0.25rem;
  }
}

/* Sub Menus */
@media all and (min-width: 48em) {
  .sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
  }
}
.js .sub-menu {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: all 150ms ease-in-out;
  min-width: -webkit-max-content;
  min-width: -moz-max-content;
  min-width: max-content;
}
.sub-menu.active {
  max-height: 64rem;
  opacity: 1;
  z-index: 100;
  min-width: 200px;
}

.sub-menu .list-item > a {
  color: #FFFFFF;
  background-color: #0d2741;
  padding: 0.45rem 0.5rem;
  border-left: 4px solid #0d2741;
}
@media all and (min-width: 48em) {
  .sub-menu .list-item > a {
    padding-left: calc(1.25rem - 4px);
    padding-right: 1.25rem;
    padding-top: 0.85rem;
    padding-bottom: 0.85rem;
  }
}
.sub-menu .list-item > a:hover, .sub-menu .list-item > a:focus, .sub-menu .list-item > a:active {
  color: #fccf00;
  border-left-color: #fccf00;
}

.sub-menu .list-item + .list-item > a {
  border-top: 1px solid #16416c;
}

.list-item--with-sub-menu.rotated {
  z-index: 200;
}

.list-item--with-sub-menu .sub-menu-trigger {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* Mega Menus ---------------- */
.mega-menu {
  background-color: #0E2D53;
  position: absolute;
  left: 0;
  right: 0;
}
@media all and (min-width: 35.5em) {
  .mega-menu {
    display: flex;
  }
}
@media all and (min-width: 35.5em) and (max-width: 47.9375em) {
  .mega-menu {
    width: 90vw;
  }
}
.js .mega-menu {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: all 150ms ease-in-out;
}
.mega-menu.active {
  max-height: 64rem;
  overflow: visible;
  opacity: 1;
  z-index: 100;
}

.mega-menu .mega-menu__link {
  color: #FFFFFF;
  background-color: #0E2D53;
  padding: 0.5rem;
  border-left: 2px solid #123969;
}
@media all and (max-width: 35.4375em) {
  .mega-menu .mega-menu__link {
    display: flex;
    justify-content: space-between;
  }
}
@media all and (min-width: 48em) {
  .mega-menu .mega-menu__link {
    padding: 1rem;
  }
}
.mega-menu .mega-menu__link:hover, .mega-menu .mega-menu__link:focus, .mega-menu .mega-menu__link:active {
  color: #fccf00;
  background-color: #03152C;
}

.mega-menu .mega-menu__link[aria-expanded=true] {
  color: #fccf00;
  background-color: #03152C;
}

@media all and (min-width: 35.5em) {
  .mega-menu .mega-menu__link .accordion-toggle {
    display: none;
  }
}

@media all and (max-width: 35.4375em) {
  .mega-menu > .list-item {
    position: relative;
  }
}

@media all and (min-width: 35.5em) {
  .mega-menu .menu-list {
    position: absolute;
    top: 100%;
    left: 0;
    -moz-columns: 3;
         columns: 3;
    -moz-column-gap: 2em;
         column-gap: 2em;
    -moz-column-fill: balance;
         column-fill: balance;
    -moz-column-rule: 2px solid #8d9093;
         column-rule: 2px solid #8d9093;
    background-color: #03152C;
    padding: 1.5rem 0.75rem;
  }
}
@media all and (min-width: 48em) {
  .mega-menu .menu-list {
    -moz-columns: 5;
         columns: 5;
  }
}
.js .mega-menu .menu-list {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: all 150ms ease-in-out;
}
@media all and (min-width: 35.5em) {
  .mega-menu .menu-list {
    width: 100%;
  }
}
.mega-menu .menu-list.active {
  max-height: 64rem;
  opacity: 1;
  z-index: 100;
}

@media all and (min-width: 35.5em) {
  .ua-safari .mega-menu .menu-list {
    -moz-columns: unset;
         columns: unset;
  }
}

.mega-menu .menu-list .list-item {
  -moz-column-break-inside: avoid;
       break-inside: avoid-column;
}

.mega-menu .menu-list .list-item a {
  --ratio: 1.15;
  --fluid-type-min: 0.65rem;
  --fluid-type-max: 0.85rem;
  --fluid-type-target: 0.85vw;
  font-size: clamp(var(--fluid-type-min, 1rem), 1rem + var(--fluid-type-target, 1vw), var(--fluid-type-max, 1rem));
  color: #FFFFFF;
  background-color: #03152C;
  padding: 0.5rem;
  border-left: 4px solid #03152C;
}
.mega-menu .menu-list .list-item a:hover, .mega-menu .menu-list .list-item a:focus, .mega-menu .menu-list .list-item a:active {
  color: #fccf00;
  border-left: 4px solid #fccf00;
}

/* Main nav mobile button ---------------- */
.navigation-menu-toggle--full {
  height: 100%;
  width: 100%;
}

.navigation-menu,
.secondary-navigation-menu,
.filter-toggler {
  transition: all 0.25s ease;
}
@media all and (min-width: 48em) {
  .navigation-menu,
.secondary-navigation-menu,
.filter-toggler {
    display: none;
  }
}

.secondary-navigation-menu {
  margin-top: 0.05rem;
  margin-bottom: 0.05rem;
}

.accordion-toggle {
  padding: 0 0.5em;
}
@media all and (max-width: 47.9375em) {
  .accordion-toggle {
    top: 0;
    z-index: 100;
    right: 0;
    border-left: 1px solid #E7E7E7;
    transition: all 0.25s ease;
  }
}

/*

Breadcrumb Navigation
=====================

<ol class="breadcrumbs">
	<li><a href="#">Home</a></li>
	<li><a href="#">Categories</a></li>
	<li class="active">Animals</li>
</ol>

*/
.breadcrumbs {
  list-style: none;
}
.breadcrumbs > li {
  display: inline-block;
}
.breadcrumbs > li + :before {
  content: " > ";
}

/*

Pagination Navigation
=====================

<nav class="pagination">
	<ul class="page-numbers">
		<li><a class="prev page-numbers" href="#0">←</a></li>
		<li><a class="page-numbers" href="#0">1</a></li>
		<li><span class="page-numbers current">2</span></li>
		<li><a class="page-numbers" href="#0">3</a></li>
		<li><a class="next page-numbers" href="#0">→</a></li>
	</ul>
</nav>

*/
.pagination > ul {
  clear: both;
  width: 100%;
  list-style: none;
  display: flex;
  text-indent: unset !important;
  padding-left: 0 !important;
  justify-content: center;
  align-items: center;
}
.pagination .page-numbers-list__item {
  margin-bottom: 0.5rem;
  margin-left: 0;
  margin-top: 0.5rem;
}
.pagination .page-numbers-list__item:hover, .pagination .page-numbers-list__item:focus, .pagination .page-numbers-list__item:active {
  background-color: #FFFFFF;
  color: #000000;
}
@media all and (max-width: 35.4375em) {
  .pagination .page-numbers-list__item .label-from-small {
    display: none;
    visibility: hidden;
  }
}
.pagination .page-numbers-list__item {
  text-decoration: none;
  border: 1px solid #bcbcbc;
  display: flex;
  flex-direction: row;
  padding: 0.5rem 1rem;
  text-align: center;
}
.pagination ul.page-numbers-list > li:not(:last-child) a {
  border-right: none;
}
.pagination ul.page-numbers-list > li:has(.current) + li a {
  border-left: none;
}
.pagination *.prev {
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
}
.pagination *.next {
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
}
@media all and (max-width: 47.9375em) {
  .pagination *.prev,
.pagination *.next {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
.pagination .page-numbers-list__item.current {
  font-weight: bold;
  background-color: #FFFFFF;
  border: 1px solid gray;
  color: #000000;
  text-decoration: underline;
}

/**
* Lobotomized Owl Spacing - https://alistapart.com/article/axiomatic-css-and-lobotomized-owls/
* ------------------
*
* Adds spacing to the top of an element if it's not the first in the block.
*
*     <div class="owl-spacing">
*     	<p> ... </p>
*     	<p> ... </p>
*     	<p> ... </p>
* 	  </div>
*/
.owl-spacing > * + * {
  margin-top: 1rem;
}
@media all and (min-width: 64em) {
  .owl-spacing > * + * {
    margin-top: 1rem;
  }
}

@media all and (max-width: 29.9375em) {
  .owl-spacing--until-xsmall > * + * {
    margin-top: 1rem;
  }
}

@media all and (max-width: 35.4375em) {
  .owl-spacing--until-small > * + * {
    margin-top: 1rem;
  }
}

@media all and (max-width: 47.9375em) {
  .owl-spacing--until-medium > * + * {
    margin-top: 1rem;
  }
}

@media all and (max-width: 63.9375em) {
  .owl-spacing--until-large > * + * {
    margin-top: 1rem;
  }
}

.owl-spacing--zero > * + * {
  margin-top: 0;
}

.owl-spacing--quarter > * + * {
  margin-top: 0.25rem;
}
@media all and (min-width: 64em) {
  .owl-spacing--quarter > * + * {
    margin-top: 0.25rem;
  }
}

.owl-spacing--half > * + * {
  margin-top: 0.5rem;
}
@media all and (min-width: 64em) {
  .owl-spacing--half > * + * {
    margin-top: 0.5rem;
  }
}

@media all and (max-width: 29.9375em) {
  .owl-spacing--half--until-xsmall > * + * {
    margin-top: 0.5rem;
  }
}

@media all and (max-width: 35.4375em) {
  .owl-spacing--half--until-small > * + * {
    margin-top: 0.5rem;
  }
}

.owl-spacing--double > * + * {
  margin-top: 2rem;
}
@media all and (min-width: 64em) {
  .owl-spacing--double > * + * {
    margin-top: 2rem;
  }
}

@media all and (max-width: 35.4375em) {
  .owl-spacing--double--until-small > * + * {
    margin-top: 2rem;
  }
}

@media all and (max-width: 47.9375em) {
  .owl-spacing--double--until-medium > * + * {
    margin-top: 2rem;
  }
}

.owl-spacing--triple > * + * {
  margin-top: 3rem;
}
@media all and (min-width: 64em) {
  .owl-spacing--triple > * + * {
    margin-top: 3rem;
  }
}

@media all and (min-width: 35.5em) {
  .owl-spacing--triple--from-small > * + * {
    margin-top: 3rem;
  }
}

@media all and (max-width: 35.4375em) {
  .owl-spacing--triple--until-small > * + * {
    margin-top: 3rem;
  }
}

@media all and (max-width: 47.9375em) {
  .owl-spacing--triple--until-medium > * + * {
    margin-top: 3rem;
  }
}

.owl-spacing--quad > * + * {
  margin-top: 4rem;
}
@media all and (min-width: 64em) {
  .owl-spacing--quad > * + * {
    margin-top: 4rem;
  }
}

/**
 * Padding Above object
 * ------------------
 *
 * Adds padding to the top of an element.
 *
 *     <p class="space-above"> ... </p>
 *     <p> ... </p>
 */
.owl-padding > * + * {
  padding-top: 1rem;
}
@media all and (min-width: 64em) {
  .owl-padding > * + * {
    padding-top: 1rem;
  }
}

.owl-padding--double > * + * {
  padding-top: 2rem;
}
@media all and (min-width: 64em) {
  .owl-padding--double > * + * {
    padding-top: 2rem;
  }
}

.owl-padding--triple > * + * {
  padding-top: 3rem;
}
@media all and (min-width: 64em) {
  .owl-padding--triple > * + * {
    padding-top: 3rem;
  }
}

/**
 * Space Above object
 * ------------------
 *
 * Adds typographic spacing to the top of an element.
 *
 *     <p class="space-above"> ... </p>
 *     <p> ... </p>
 */
.space-above {
  margin-top: 1rem;
}
@media all and (min-width: 64em) {
  .space-above {
    margin-top: 1rem;
  }
}

@media all and (max-width: 63.9375em) {
  .space-above--until-large {
    margin-top: 1rem;
  }
}

.space-above--half {
  margin-top: 0.5rem;
}
@media all and (min-width: 64em) {
  .space-above--half {
    margin-top: 0.5rem;
  }
}

.space-above--none {
  margin-top: 0;
}

.space-above--double {
  margin-top: 2rem;
}
@media all and (min-width: 64em) {
  .space-above--double {
    margin-top: 2rem;
  }
}

.space-above--triple {
  margin-top: 3rem;
}
@media all and (min-width: 64em) {
  .space-above--triple {
    margin-top: 3rem;
  }
}

@media all and (max-width: 47.9375em) {
  .space-above--triple--until-medium {
    margin-top: 3rem;
  }
}

/**
 * Space Below object
 * ------------------
 *
 * Adds typographic spacing to the bottom of an element.
 *
 *     <p class="space-below"> ... </p>
 *     <p> ... </p>
 */
.space-below {
  margin-bottom: 1rem;
}
@media all and (min-width: 64em) {
  .space-below {
    margin-bottom: 1rem;
  }
}

.space-below--double {
  margin-bottom: 2rem;
}
@media all and (min-width: 64em) {
  .space-below--double {
    margin-bottom: 2rem;
  }
}

.space-below--triple {
  margin-bottom: 3rem;
}
@media all and (min-width: 64em) {
  .space-below--triple {
    margin-bottom: 3rem;
  }
}

/*
 * Cramp object
 * ------------
 *
 * Remove typographic spacing from an element.
 *
 *     <p class="cramp"> ... </p>
 */
.cramp {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.cramp-upper {
  margin-top: 0 !important;
}

.cramp-lower {
  margin-bottom: 0 !important;
}

@media all and (min-width: 35.5em) and (max-width: 47.9375em) {
  .cramp--small-medium {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}
@media all and (min-width: 48em) and (max-width: 63.9375em) {
  .cramp--medium-large {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}
@media all and (min-width: 64em) {
  .cramp--large-up {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}
/*

Blocks
======

<div class="block">
	<div class="wrapper">
		<p>This is a block</p>
	</div>
</div>

*/
.block {
  background-color: #f5f5f5;
  padding-bottom: 1.5rem;
  padding-top: 1.5rem;
}
@media all and (min-width: 64em) {
  .block {
    padding-bottom: 3rem;
    padding-top: 3rem;
  }
}

.block--half-top {
  padding-top: 0.75rem;
}
@media all and (min-width: 64em) {
  .block--half-top {
    padding-top: 1.5rem;
  }
}

.block--half-bottom {
  padding-bottom: 0.75rem;
}
@media all and (min-width: 64em) {
  .block--half-bottom {
    padding-bottom: 1.5rem;
  }
}

.block--flat-top {
  padding-top: 0;
}

.block--flat-bottom {
  padding-bottom: 0;
}

.block--shallow {
  padding-bottom: 0.75rem;
  padding-top: 0.75rem;
}
@media all and (min-width: 64em) {
  .block--shallow {
    padding-bottom: 1.5rem;
    padding-top: 1.5rem;
  }
}

.block--bordered-bottom {
  border-bottom: 1px solid #162329;
}

.block--success {
  background-color: #5CB85C;
}

.block--warning {
  background-color: #F0AD4E;
}

.block--danger {
  background-color: #D9534F;
}

.block--cta {
  color: #FFFFFF;
  background-color: #1c59a6;
}

.block--dark {
  color: #FFFFFF;
  background-color: #2f3841;
}

.block--subtle {
  background-color: #e3e3e3;
}

.block--xsubtle {
  background-color: #f5f5f5;
}

/*

Tiles
=====

<div class="tile">
	<p>This is a tile</p>
</div>

*/
.tile {
  background-color: #FFFFFF;
  position: relative;
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
}

/* Full Height Tile 

<div class="tile tile--full-height">
	<p>This is a full height tile</p>
</div>

*/
.tile--full-height {
  min-height: 100%;
  height: 100%;
}

/* Clickable Tile 

<a class="tile tile--clickable" tabindex="0">
	<p>This is a clickable tile</p>
</a>

*/
.tile--clickable {
  cursor: pointer;
  transition: 250ms cubic-bezier(0.5, 0, 0.1, 1);
}
.tile--clickable:hover, .tile--clickable:focus-within {
  box-shadow: 0 1rem 1rem rgba(0, 0, 0, 0.3);
  transform: translateY(-0.5rem);
}

/* Raised Tile 

<div class="tile tile--raised">
	<p>This is a raised tile</p>
</div>

*/
.tile--constrained {
  max-width: 45ch;
}

.tile--constrained-wide {
  max-width: 100ch;
}

.tile--constrained-to-content {
  display: inline-block;
}

.tile--raised {
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1);
}

.tile--rounded {
  border-radius: 4px;
  overflow: hidden;
}

.tile--bordered {
  border: 1px solid #162329;
}

.tile--bordered--subtle {
  border-color: #bcbcbc;
}

.tile--trans {
  background-color: transparent;
}

.tile--semi-trans {
  background-color: rgba(255, 255, 255, 0.65);
}

.tile--subtle {
  background-color: #e3e3e3;
}

.tile--exra-subtle {
  background-color: #f5f5f5;
}

.tile--loud {
  background-color: #fcb140;
}

.tile--cta {
  color: #FFFFFF;
  background-color: #1c59a6;
}

.tile--dark {
  color: #FFFFFF;
  background-color: #2f3841;
}
.tile--dark a {
  color: currentColor;
}

/* Inner Tile 

<div class="tile">
	<div class="tile__inner tile__inner--padded">
		<p>This is a tile with inner padding</p>
	</div>
</div>

*/
.tile__inner {
  position: relative;
}

.tile__inner--padded {
  padding: 1rem;
}

.tile__inner--padded-small {
  padding: 0.5rem;
}

.tile__inner--padded-large {
  padding: 1.5rem;
}

.tile__inner--bottom-no-pad {
  padding-bottom: 0;
}

.tile__meta + * {
  margin-top: 0.15rem;
}

.tile__subtitle {
  font-family: "Raleway", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.tile-with-sidebar {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
}

.tile-with-sidebar > :first-child {
  flex-basis: 356px;
  flex-grow: 1;
}

.tile-with-sidebar > :last-child {
  flex-basis: 0;
  flex-grow: 999;
  min-width: 50%;
}

.tile-with-sidebar--reverse > .sidebar__main {
  order: -1;
}

@media all and (min-width: 48em) {
  .tile-with-sidebar--reverse-from-medium > .sidebar__main {
    order: -1;
  }
}

.tile-with-sidebar--small > :first-child {
  flex-basis: 259px;
}

.tile-with-sidebar--xsmall > :first-child {
  flex-basis: 170px;
}

/* Helpers
   ========================================================================== */
.h-ir {
  color: transparent;
  font: 0/0 a;
  text-shadow: none;
}

.h-hide-text {
  text-indent: 300%;
  white-space: nowrap;
  overflow: hidden;
}

@media all and (-ms-high-contrast: none) {
  .h-hide-text {
    /* IE10 */
    text-indent: -9999px;
  }

  *::-ms-backdrop, .h-hide-text {
    /* IE11 */
    text-indent: -9999px;
  }
}
.h-hidden {
  display: none !important;
  visibility: hidden;
}

.h-screen-reader-text:not(:focus):not(:active),
.h-visually-hidden:not(:focus):not(:active) {
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px;
  white-space: nowrap;
  word-wrap: normal !important;
}
.h-screen-reader-text:focus,
.h-visually-hidden:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  -webkit-clip-path: none;
          clip-path: none;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}

.h-invisible {
  visibility: hidden;
}

.cf:before,
.cf:after {
  content: "";
  display: table;
}
.cf:after {
  clear: both;
}

.h-sticky-item {
  position: sticky !important;
  top: 0;
  z-index: 500;
}

.h-plain-list {
  list-style: none;
  list-style-image: none;
}

.h-unconstrained-text {
  max-width: 100%;
}

.h-center-text {
  text-align: center;
}

.h-left-text {
  text-align: left;
}

.h-right-text {
  text-align: right;
}

.h-inline-flex {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

@media all and (min-width: 64em) {
  .h-inline-flex-from-large {
    display: flex;
    gap: 1rem;
  }
}

@media all and (min-width: 48em) {
  .h-no-wrap-from-medium {
    flex-wrap: nowrap;
  }
}

.h-inline-flex--space-apart {
  justify-content: space-between;
}

.h-inline-flex--align-center {
  align-items: center;
}

form .field--column-list,
.h-column-flex {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.h-column-flex--v-centered {
  justify-content: center;
}

.h-centered {
  margin-right: auto;
  margin-left: auto;
}

.h-float-left {
  float: left;
}

.h-float-right {
  float: right;
}

.h-full-width {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}

.h-skipnav {
  background: transparent;
  color: #000000;
  left: 0;
  padding: 1rem 1.5rem;
  position: absolute;
  top: -4.2rem;
  transition: all 0.2s ease-in-out;
  z-index: 100;
}

.h-skipnav:focus {
  background: #FFFFFF;
  left: 0;
  outline: 0;
  position: absolute;
  top: 0;
  transition: all 0.2s ease-in-out;
}

/*

Tables
======

Styles for the tables

	<table>
		<thead>
			<tr>
				<th></th>
			</tr>
			<tr>
				<th></th>
			</tr>
		</thead>
		<tbody>
			<tr>
				<th></th>
			</tr>
			<tr>
				<td></td>
			</tr>
		</tbody>
	</table>

*/
table {
  caption-side: bottom;
  border-spacing: 0;
}

td,
th {
  border-top: 1px solid;
  overflow-wrap: break-word;
  padding-right: 1rem;
  text-align: left;
  vertical-align: top;
  white-space: nowrap;
}

th {
  border-top: 0.0625rem solid;
  font-weight: bold;
  padding-bottom: 1rem;
}

td {
  border-color: rgba(102, 96, 102, 0.5);
  padding-bottom: 0.5rem;
}

caption {
  caption-side: bottom;
  color: #8d9093;
  font-size: 0.75em;
  line-height: 1.3334;
  text-align: left;
  margin: 1rem 0;
}

.rwd-table {
  min-width: 300px;
}
.rwd-table tr {
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}
@media all and (max-width: 47.9375em) {
  .rwd-table th {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }
  .rwd-table th.focusable:active, .rwd-table th.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
  }
}
.rwd-table td {
  display: block;
}
.rwd-table td:first-child {
  padding-top: 0.5rem;
}
.rwd-table td:last-child {
  padding-bottom: 0.5rem;
}
.rwd-table td:before {
  content: attr(data-th) ": ";
  font-weight: bold;
  width: 8rem;
  display: inline-block;
}
@media all and (min-width: 48em) {
  .rwd-table td:before {
    display: none;
  }
}
.rwd-table th,
.rwd-table td {
  text-align: left;
}
@media all and (min-width: 48em) {
  .rwd-table th,
.rwd-table td {
    display: table-cell;
    padding: 0.5rem 1rem;
  }
  .rwd-table th:first-child,
.rwd-table td:first-child {
    padding-left: 0;
  }
  .rwd-table th:last-child,
.rwd-table td:last-child {
    padding-right: 0;
  }
}

.table-wrapper {
  position: relative;
  overflow-x: scroll;
}

.alt-table tr:nth-child(even) {
  background-color: #f5f5f5;
}

@media all and (max-width: 47.9375em) {
  .block-table--until-medium tr {
    display: flex;
    flex-direction: column;
  }
  .block-table--until-medium tr th {
    padding-bottom: 0;
  }
  .block-table--until-medium tr td {
    padding-top: 0;
    border-top: none;
  }
}

.overflow-table--from-medium {
  background-color: #FFFFFF;
  color: #162329;
  width: 100%;
  border-bottom: 1px solid #bcbcbc;
}
.overflow-table--from-medium th,
.overflow-table--from-medium td {
  text-align: left;
  padding: 0.5rem 1rem;
  border-top: 1px solid #bcbcbc;
}
.overflow-table--from-medium th + td,
.overflow-table--from-medium td + td {
  border-left: 1px solid #bcbcbc;
}

/*------------------------------------*\
	$BEAUTONS.CSS
\*------------------------------------*/
/**
 * beautons is a beautifully simple button toolkit.
 *
 * LICENSE
 * 
 * Copyright 2013 Harry Roberts
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 * http://apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * 
 */
/*!*
 * 
 * @csswizardry -- csswizardry.com/beautons
 * 
 */
/*------------------------------------*\
	$BASE
\*------------------------------------*/
/**
* Base button styles.
*
*  1. Allow us to better style box model properties.
*  2. Line different sized buttons up a little nicer.
*  3. Stop buttons wrapping and looking broken.
*  4. Make buttons inherit font styles.
*  5. Force all elements using beautons to appear clickable.
*  6. Normalise box model styles.
*  7. If the button’s text is 1em, and the button is (3 * font-size) tall, then
*     there is 1em of space above and below that text. We therefore apply 1em
*     of space to the left and right, as padding, to keep consistent spacing.
*  8. Basic cosmetics for default buttons. Change or override at will.
*  9. Fixes odd inner spacing in IE7.
* 10. Don’t allow buttons to have underlines; it kinda ruins the illusion.
* 11. Prevents from inheriting default anchor styles.
*/
.btn {
  display: inline-block;
  /* [1] */
  vertical-align: middle;
  /* [2] */
  white-space: nowrap;
  /* [3] */
  font-family: "Exo 2", "Helvetica Neue", Helvetica, Arial, sans-serif;
  /* [4] */
  font-size: 100%;
  /* [4] */
  cursor: pointer;
  /* [5] */
  border: 2px solid #1c59a6;
  /* [6] */
  margin: 0;
  /* [6] */
  padding-top: 0;
  /* [6] */
  padding-bottom: 0;
  /* [6] */
  line-height: var(--btn-line-height, 1);
  /* [7] */
  height: var(--btn-height, 3ex);
  /* [7] */
  padding-right: 1em;
  /* [7] */
  padding-left: 1em;
  /* [7] */
  background-color: #1c59a6;
  /* [8] */
  border-radius: 4px;
  /* [8] */
  overflow: visible;
  /* [9] */
  text-decoration: none;
  /* [10] */
  color: #FFFFFF;
}
.btn:hover,
.btn:active,
.btn:focus,
.btn:visited {
  text-decoration: none;
  /* [10] */
  color: #FFFFFF;
  /* [11] */
}
.btn:hover,
.btn:focus,
.btn:active {
  background-color: #113665;
  border-color: #113665;
}
.btn:active {
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.5) inset;
}
.btn:focus {
  outline: 0;
  border-color: #327ddc;
}
.btn::-moz-focus-inner {
  border: 0;
  padding: 0;
}
.btn:before {
  content: "";
  display: inline-block;
  height: var(--btn-height, 3ex);
  vertical-align: middle;
}

.btn.open {
  background-color: #113665;
  border-color: #113665;
}

.secondary-navigation-menu-toggle.btn.open {
  background-color: #967b00;
  border-color: #113665;
}

/*------------------------------------*\
	$SIZES
\*------------------------------------*/
/**
 * Button size modifiers.
 *
 * These all follow the same sizing rules as above; text is 1em, space around it
 * remains uniform.
 */
.btn--small {
  --btn-height: 2em;
  padding-right: 0.5em;
  padding-left: 0.5em;
}

.btn--large {
  --btn-height: 4em;
  padding-right: 1.5em;
  padding-left: 1.5em;
}

.btn--huge {
  --btn-height: 5em;
  padding-right: 2em;
  padding-left: 2em;
}

/**
 * These buttons will fill the entirety of their container.
 *
 * 1. Remove padding so that widths and paddings don’t conflict.
 */
.btn--full {
  width: 100%;
  text-align: center;
}

.btn--compressed {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}

/*------------------------------------*\
	$FONT-SIZES
\*------------------------------------*/
/**
 * Button font-size modifiers.
 */
.btn--alpha {
  font-size: 2rem;
}

.btn--beta {
  font-size: 1.5rem;
}

.btn--gamma {
  font-size: 1rem;
}

/**
 * Make the button inherit sizing from its parent.
 */
.btn--natural {
  vertical-align: baseline;
  font-size: inherit;
  line-height: inherit;
  height: auto;
  padding-right: 0.5em;
  padding-left: 0.5em;
}

/*------------------------------------*\
	$FUNCTIONS
\*------------------------------------*/
/**
 * Button function modifiers.
 */
.btn--secondary {
  color: #162329;
  background-color: #fccf00;
  border-color: #fccf00;
}
.btn--secondary:hover,
.btn--secondary:focus,
.btn--secondary:active {
  color: #162329;
  background-color: #ffb000;
  border-color: #ffb000;
}
.btn--secondary:visited {
  color: #162329;
}
.btn--secondary:focus {
  border-color: #ffdf4a;
}

.btn--tertiary {
  color: #162329;
  background-color: transparent;
  border-color: #162329;
}
.btn--tertiary:hover,
.btn--tertiary:focus,
.btn--tertiary:active {
  color: #162329;
  background-color: #fccf00;
  border-color: #fccf00;
}
.btn--tertiary:visited {
  color: #162329;
}
.btn--tertiary:focus {
  border-color: rgba(38, 38, 38, 0);
}

/**
 * Positive actions; e.g. sign in, purchase, submit, etc.
 */
.btn--positive {
  background-color: #2e8421;
  color: #fff;
  border-color: #2e8421;
}
.btn--positive:hover, .btn--positive:focus, .btn--positive:active {
  background-color: #1d5315;
  border-color: #1d5315;
}
.btn--positive:focus {
  border-color: #43c130;
}

/**
 * Negative actions; e.g. close account, delete photo, remove friend, etc.
 */
.btn--negative {
  background-color: #b33630;
  color: #fff;
  border-color: #b33630;
}
.btn--negative:hover, .btn--negative:focus, .btn--negative:active {
  background-color: #832723;
  border-color: #832723;
}
.btn--negative:focus {
  border-color: #d3625c;
}

/**
 * Inactive, disabled buttons.
 * 
 * 1. Make the button look like normal text when hovered.
 */
.btn--inactive,
.btn--inactive:hover,
.btn--inactive:active,
.btn--inactive:focus {
  background-color: #ddd;
  color: #777;
  cursor: default;
  /* [1] */
  box-shadow: none;
  border-color: #ddd;
}

/*------------------------------------*\
	$STYLES
\*------------------------------------*/
/**
 * Button style modifiers.
 *
 * 1. Use an overly-large number to ensure completely rounded, pill-like ends.
 */
.btn--soft {
  border-radius: 200px;
  /* [1] */
}

.btn--hard {
  border-radius: 0;
}

/*

Forms
=====

<form action="/">
	<fieldset>
		<label for="name">Name</label>
		<input type="text" id="name" class="form-text" />
		<p class="form-help">This is help text under the form field.</p>
		<label for="email">Email</label>
		<input type="email" id="email" class="form-text" />
	</fieldset>
	<fieldset>
		<label for="gender">Gender</label>
		<select id="gender">
			<option>Male</option>
			<option>Female</option>
			<option>Cylon</option>
		</select>
	</fieldset>
	<fieldset class="radio">
		<label for="notifications">Notifications</label>
		<ul>
			<li><label><input type="radio" name="notifications" /> Send me email</label></li>
			<li><label><input type="radio" name="notifications" /> Don't send me email</label></li>
			<li><label><input type="radio" name="notifications" /> Send me flowers</label></li>
		</ul>
	</fieldset>
	<fieldset>
		<label for="url">URL</label>
		<input type="url" id="url" class="form-text" placeholder="http://yourdomain.com" />
	</fieldset>
	<fieldset>
		<label for="bio">Bio</label>
		<textarea id="bio"></textarea>
	</fieldset>
	<fieldset class="check">
		<label><input type="checkbox" /> I accept the terms of service and lorem ipsum.</label>
	</fieldset>
	<fieldset class="form-actions">
		<button type="submit">Submit</button>
	</fieldset>
</form>

*/
fieldset {
  border: none;
  padding: 0;
}

label {
  font-size: 14px;
  font-weight: bold;
  text-transform: uppercase;
}

label > i {
  font-weight: normal;
  text-transform: lowercase;
}

form .field * {
  width: 100%;
  max-width: 75ch;
}

form .field--column-list {
  gap: 0.5rem;
}

form input:focus,
form textarea:focus,
form select:focus {
  outline: 0;
  border: 1px solid #1c59a6;
  box-shadow: 0 0 0 1px #1c59a6 inset;
}

input[type=color],
input[type=date],
input[type=datetime],
input[type=datetime-local],
input[type=email],
input[type=month],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
input[type=time],
input[type=url],
input[type=week],
select,
textarea {
  display: block;
}
input[type=color][disabled], input[type=color].is-disabled,
input[type=date][disabled],
input[type=date].is-disabled,
input[type=datetime][disabled],
input[type=datetime].is-disabled,
input[type=datetime-local][disabled],
input[type=datetime-local].is-disabled,
input[type=email][disabled],
input[type=email].is-disabled,
input[type=month][disabled],
input[type=month].is-disabled,
input[type=number][disabled],
input[type=number].is-disabled,
input[type=password][disabled],
input[type=password].is-disabled,
input[type=search][disabled],
input[type=search].is-disabled,
input[type=tel][disabled],
input[type=tel].is-disabled,
input[type=text][disabled],
input[type=text].is-disabled,
input[type=time][disabled],
input[type=time].is-disabled,
input[type=url][disabled],
input[type=url].is-disabled,
input[type=week][disabled],
input[type=week].is-disabled,
select[disabled],
select.is-disabled,
textarea[disabled],
textarea.is-disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

input[type=button],
input[type=date],
input[type=email],
input[type=password],
input[type=search],
input[type=submit],
input[type=text],
input[type=tel],
input[type=url],
textarea,
select {
  border-radius: 4px;
}

input[type=date],
input[type=email],
input[type=text],
input[type=password],
input[type=search],
input[type=tel],
input[type=url],
textarea {
  padding: 0.5rem;
}

input[type=email],
input[type=date],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
input[type=url],
textarea {
  width: 100%;
  border: 1px solid #8d9093;
}

input[type=submit] {
  text-transform: uppercase;
}

select {
  width: 100%;
  padding: 0.6em 1.4em 0.5em 0.8em;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23007CB2%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E"), linear-gradient(to bottom, #ffffff 0%, #e4e4e4 100%);
  background-repeat: no-repeat, repeat;
  background-position: right 0.7em top 50%, 0 0;
  background-size: 0.65em auto, 100%;
}

textarea {
  clear: both;
  width: 100%;
}

input[type=password] {
  letter-spacing: 0.3em;
}

/* Checkbox and radio buttons with labels */
form .field [type*=radio],
form .field [type*=checkbox] {
  width: auto;
  max-width: auto;
}

.field__radio > label,
.field__checkbox > label {
  display: flex;
  background-color: #f5f9ff;
  border: 1px solid #2f3841;
  border-radius: 4px;
  padding: 0.5rem;
  font-weight: normal;
  transition: all 150ms ease-in-out;
}
.field__radio > label:hover, .field__radio > label:focus, .field__radio > label:active,
.field__checkbox > label:hover,
.field__checkbox > label:focus,
.field__checkbox > label:active {
  color: #1c59a6;
  background-color: #E3EEFF;
  font-weight: bold;
}

.field__checkbox input[type=checkbox]:checked + .field__checkbox-label,
.field__radio input[type=radio]:checked + .field__radio-label {
  color: #1c59a6;
  font-weight: bold;
}

.field__radio .field__radio-label,
.field__checkbox .field__checkbox-label {
  padding-left: 5px;
  padding-right: 5px;
}

/* Inline Input Groups - Use to create an input field with an inline button touching next to it.

<form class="input-group">
	<label class="h-visually-hidden">Search for:</label>
	<input type="" class="input-group__content">
	<span class="input-group__button-container">
		<button type="submit" class="btn btn--primary">
			<span class="icon icon-search">
				<span class="h-visually-hidden">Search</span>
			</span>
		</button>
	</span>
</form>
*/
.input-group {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
}

.input-group--with-gap {
  gap: 1rem;
}
.input-group--with-gap .input-group__content {
  gap: 1rem;
}

.input-group__content {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  border-right: none;
}

.input-group__button-container .btn {
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}

.input-group__button-container.input-group__button-container--compressed .btn {
  line-height: 1.25;
  height: 2.5em;
}

/* Request A Callback Form */
.callback-form,
.callback-form__content {
  display: flex;
  flex-wrap: nowrap;
  gap: 1rem;
}

@media all and (max-width: 63.9375em) {
  .callback-form {
    flex-direction: column;
  }
}
@media all and (min-width: 64em) {
  .callback-form {
    align-items: center;
    justify-content: center;
  }
}

@media all and (max-width: 47.9375em) {
  .callback-form__content {
    flex-direction: column;
  }
}

.callback-form .field {
  width: 100%;
  max-width: 45ch;
  min-width: 200px;
}

.callback-form .field input {
  height: 100%;
}

/**
* Globals - Styling for global elements which appear on every page of the site
* ------------------ **/
.g-site-identity {
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
@media all and (max-width: 63.9375em) {
  .g-site-identity {
    flex-direction: column;
    align-items: center;
  }
}
@media all and (min-width: 48em) {
  .g-site-identity {
    justify-self: start;
  }
}
@media all and (min-width: 64em) {
  .g-site-identity {
    align-items: flex-end;
  }
}

.g-site-logo {
  display: block;
  vertical-align: middle;
  height: 80px;
  width: 185px;
}
@media all and (min-width: 64em) {
  .g-site-logo {
    margin-right: 1rem;
  }
}

.g-site-catchline {
  height: 21px;
  width: 400px;
}
@media all and (max-width: 63.9375em) {
  .g-site-catchline {
    margin-top: 0.5rem;
    max-width: 185px;
  }
}

.g-call-bar {
  color: #1c59a6;
}
@media all and (max-width: 47.9375em) {
  .g-call-bar {
    text-align: center;
  }
}
@media all and (min-width: 48em) {
  .g-call-bar {
    text-align: right;
  }
}

.g-header__search {
  max-width: 48ch;
  margin-left: auto;
  margin-right: auto;
}
@media all and (min-width: 48em) {
  .g-header__search {
    margin-right: 0;
  }
}

.g-hub-menu {
  color: #FFFFFF;
  background-color: #303030;
}
@media all and (min-width: 48em) {
  .g-hub-menu {
    display: flex;
    justify-content: space-between;
    align-content: center;
  }
}

.g-hub-menu a {
  color: inherit;
}

.g-hub-menu p,
.g-hub-menu a,
.g-hub-menu span {
  font-size: 12px;
}
@media all and (min-width: 64em) {
  .g-hub-menu p,
.g-hub-menu a,
.g-hub-menu span {
    font-size: 13px;
  }
}

.g-hub-menu__lodgegroup {
  position: relative;
}

.g-hub-menu .nav {
  display: flex;
  justify-content: space-between;
  align-content: stretch;
  padding: 0;
  position: relative;
  height: 100%;
}
@media all and (max-width: 47.9375em) {
  .g-hub-menu .nav {
    flex-direction: column;
  }
}

.g-hub-menu .navigation-menu {
  flex-grow: 1;
}
@media all and (min-width: 48em) {
  .g-hub-menu .navigation-menu {
    display: none;
  }
}

.g-hub-menu .navigation-menu-toggle {
  font-family: "Raleway", "Helvetica Neue", Helvetica, Arial, sans-serif;
  line-height: 1;
  color: #e6e6e6;
  background-color: #162329;
}
.g-hub-menu .navigation-menu-toggle.open {
  color: #FFFFFF;
  background-color: #1c59a6;
}

.g-hub-menu .nav {
  position: relative;
}
@media all and (max-width: 47.9375em) {
  .js .g-hub-menu .nav {
    max-height: 0;
    overflow: hidden;
    transition: all 0.3s ease-in-out;
  }
}
.js .g-hub-menu .nav.active {
  max-height: none;
  overflow: visible;
}
@media all and (max-width: 47.9375em) {
  .js .g-hub-menu .nav.active {
    max-height: 50em;
    position: absolute;
    width: 100%;
    top: 100%;
    left: 0;
    z-index: 700;
  }
}

@media all and (min-width: 48em) {
  .g-hub-menu .nav__list-item .nav__list-item-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
  }
}

.g-hub-menu .nav__list-item > span,
.g-hub-menu .nav__list-item > a,
.g-hub-menu__shopping-cart > a,
.g-hub-menu__account-menu .g-account-menu__login-register > p,
.g-hub-menu__account-menu .g-account-menu__login > a {
  padding: 0.5rem 0.75rem;
  height: 100%;
  width: 100%;
  display: block;
}

@media all and (max-width: 47.9375em) {
  .g-hub-menu .nav__list-item > span,
.g-hub-menu .nav__list-item > a {
    border-top: 1px solid #8d9093;
  }
}

.g-hub-menu .nav__list-item > span {
  background-color: #303030;
}

.g-hub-menu .nav__list-item.current > span {
  background-color: #4A4A4A;
}

.g-hub-menu .nav__list-item > a {
  background-color: #303030;
}

.g-hub-menu .nav__list-item a {
  text-decoration: none;
}
.g-hub-menu .nav__list-item a:hover, .g-hub-menu .nav__list-item a:focus, .g-hub-menu .nav__list-item a:active {
  background-color: #1c59a6;
}

.g-cart-and-account-section {
  display: flex;
  justify-content: space-between;
}

.g-hub-menu__account-menu {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-content: stretch;
  padding: 0;
  position: relative;
}

.g-hub-menu__account-menu > * {
  flex: 0 1 auto;
}

.g-account-menu {
  background-color: goldenrod;
  display: flex;
  justify-content: center;
}

.g-hub-menu .g-account-menu__login-register.menu li.menu-item {
  padding: 0 1em;
  text-align: right;
}

.g-hub-menu .cart-centerer {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}

.g-account-menu__login-link,
.g-account-menu__user-avatar {
  display: block;
  height: 40px;
  width: 40px;
}

.g-account-menu__login-link {
  background-color: #4A4A4A;
}

.g-account-menu__user-avatar img {
  width: 100%;
}

.g-hub-menu form#commerce-currency-resolver-select-form--2 {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  background-color: #303030;
}
.g-hub-menu form#commerce-currency-resolver-select-form--2 div.form-item-currency {
  flex-grow: 1;
  margin-right: 1em;
  margin-top: 1em;
  margin-bottom: 1em;
}
.g-hub-menu form#commerce-currency-resolver-select-form--2 div.form-item-currency select {
  background-color: #303030;
  color: white;
}
.g-hub-menu form#commerce-currency-resolver-select-form--2 input.button {
  flex-grow: 1;
  margin-right: 1em;
  margin-top: 1em;
  margin-bottom: 1em;
  border: none;
  visibility: hidden;
  display: none;
}

/*
Shame CSS
	This is not a dumping ground. It is a staging area for hacks that are
	intended to be fixed and resolved so as not to sully our
	production-ready codebase. Hacks are necessary, but they are not
	permanent, nor are they acceptable long-term. You are not done when
	you've moved your selector and rules here.

	This is not intended to be an easy fix, or a simple way out. You will
	spend time writing out your shame, and you will make it known that
	you indeed had to resort to a hack with your next commit

	Rules:
		1) Your documentation should be written in block comment format so
		  that your shame is publically visible in the compiled stylesheet
		  (also helpful for debugging)

		2) Name yourself so we can all scorn your lack of front-end prowess
		  (or talk to you about any questions we have)

		3) Name the location your code would go were it not such a horrible
		  travesty to the name of stylesheet.

		4) Give the motive behind your sociopathic manipulation of CSS, what
		  areas are affected, what this solves, and most importantly...

		5) How would you go about rectifying the horrible crimes you have
		  committed given more time.
*/
.cover {
  position: relative;
  z-index: 0;
}

.cover__content {
  display: flex;
  flex-direction: column;
  min-block-size: 200px;
  justify-content: space-around;
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.cover__content > * {
  margin-block: var(--space-m);
}

.cover__content > :first-child:not(h1) {
  -webkit-margin-before: 0;
          margin-block-start: 0;
}

.cover__content > :last-child:not(h1) {
  -webkit-margin-after: 0;
          margin-block-end: 0;
}

.cover__content > h1 {
  margin-block: auto;
}

.cover__img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
  opacity: 0.37;
}

.cover__img.solid {
  opacity: 1;
}

.cover__img img {
  height: 100% !important;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}

.page-hero {
  display: flex;
}
@media all and (max-width: 47.9375em) {
  .page-hero {
    flex-direction: column;
  }
}
@media all and (min-width: 48em) {
  .page-hero {
    gap: 1.5rem;
  }
}

.page-hero__main {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
@media all and (min-width: 48em) {
  .page-hero__main {
    flex: 1 1 50%;
  }
}
@media all and (min-width: 64em) {
  .page-hero__main {
    flex: 1 1 40%;
  }
}

@media all and (min-width: 48em) {
  .page-hero__aside {
    flex: 1 1 50%;
  }
}
@media all and (min-width: 64em) {
  .page-hero__aside {
    flex: 2 1 60%;
  }
}

@media all and (min-width: 48em) {
  .page-hero__aside img {
    inline-size: 100%;
    max-inline-size: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    min-height: 100%;
  }
}

.mini-news-layout {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 1fr;
  grid-template-areas: "hero_story" "story_2" "story_3" "story_4" "news_cta";
}
@media all and (min-width: 35.5em) and (max-width: 63.9375em) {
  .mini-news-layout {
    grid-template-columns: repeat(2, 1fr);
    grid-template-areas: "hero_story story_2" "story_3 story_4" "news_cta news_cta";
  }
}
@media all and (min-width: 64em) {
  .mini-news-layout {
    grid-template-columns: repeat(3, 1fr);
    grid-template-areas: "hero_story hero_story hero_story" "story_2 story_3 story_4" ". news_cta .";
  }
}

.mini-news-layout > *:nth-child(1) {
  grid-area: hero_story;
  display: flex;
  gap: 1.5rem;
}
.mini-news-layout > *:nth-child(2) {
  grid-area: story_2;
}
.mini-news-layout > *:nth-child(3) {
  grid-area: story_3;
}
.mini-news-layout > *:nth-child(4) {
  grid-area: story_4;
}
.mini-news-layout > *:nth-child(5) {
  grid-area: news_cta;
}

@media all and (min-width: 64em) {
  .mini-news-layout > .tile:nth-child(1) .tile__header .tile__figure img {
    inline-size: 100%;
    max-inline-size: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    min-height: 100%;
    aspect-ratio: 4/4;
  }
}

@media all and (min-width: 64em) {
  .mini-news-layout > .tile:nth-child(1) .tile__inner {
    display: flex;
    gap: 1.5rem;
  }
}

@media all and (min-width: 64em) {
  .mini-news-layout > .tile:nth-child(1) .tile__inner .tile__body {
    margin-top: 0;
  }
}

@media all and (min-width: 64em) {
  .mini-news-layout > .tile:nth-child(1) .tile__title {
    --fluid-type-min: 1.12rem;
    --fluid-type-max: 1.7rem;
    --fluid-type-target: 1.7vw;
    line-height: 1.17;
  }
}

@media all and (min-width: 64em) {
  .mini-news-layout > .tile:nth-child(1) .tile__copy {
    --fluid-type-min: 1.04rem;
    --fluid-type-max: 1.2rem;
    line-height: 1.23;
  }
}

/* Lightgallery Extras */
#lightgallery a {
  position: relative;
  display: inline-block;
}

#lightgallery a .expander-container {
  position: absolute;
  top: 0.75em;
  left: 0.75em;
  width: 3.5em;
  height: 3.5em;
  background-color: #FFFFFF;
  border-radius: 50%;
  padding: 0.5em;
  border: 4px solid;
}

.min-178 {
  min-width: 178px;
}

.key-info-bar {
  border-top: 1px solid #e3e3e3;
  padding-top: 1rem;
}

.quantity-with-buttons {
  display: flex;
}

.quantity-with-buttons > * {
  flex: 0 0 60px;
  width: 60px;
  height: 50px;
  font-size: 25px;
  text-align: center;
  border-width: 1px;
  border-style: solid;
  border-color: #8d9093;
  border-radius: 0;
}

.quantity-with-buttons > .minus,
.quantity-with-buttons > .plus {
  cursor: pointer;
}

.quantity-with-buttons > .minus {
  border-right: 0;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.quantity-with-buttons > .plus {
  border-left: 0;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}

.toggle {
  cursor: pointer;
  display: inline-block;
}

.toggle-switch {
  display: inline-block;
  background: #ccc;
  border-radius: 16px;
  width: 58px;
  height: 32px;
  position: relative;
  vertical-align: middle;
  transition: background 0.25s;
}

.toggle-switch:before, .toggle-switch:after {
  content: "";
}

.toggle-switch:before {
  display: block;
  background: linear-gradient(to bottom, #fff 0%, #eee 100%);
  border-radius: 50%;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.25);
  width: 24px;
  height: 24px;
  position: absolute;
  top: 4px;
  left: 4px;
  transition: left 0.25s;
}

.toggle:hover .toggle-switch:before {
  background: linear-gradient(to bottom, #fff 0%, #fff 100%);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.5);
}

.toggle-checkbox:checked + .toggle-switch {
  background: #56c080;
}

.toggle-checkbox:checked + .toggle-switch:before {
  left: 30px;
}

.toggle-checkbox {
  position: absolute;
  visibility: hidden;
}

.toggle-label {
  margin-left: 5px;
  position: relative;
  top: 2px;
}

.card {
  border-top: 1px solid #ccc;
  padding-top: 1rem;
  margin-top: 1rem;
}

/* Pills */
.selected-filter-value.filter-value > a,
.pill {
  padding: 0.25rem 0.5rem;
  border-radius: 24px;
  border: 1px solid #5e646a;
  background-color: #FFF;
  color: #5e646a;
  text-decoration: none;
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.color[class*=color--] {
  padding: 0.5rem;
}

.color--red {
  background-color: #bc0831;
}

.color--orange {
  background-color: #fcb140;
}

.color--yellow {
  background-color: #fccf00;
}

.color--yellow-light {
  background-color: #ffe363;
}

.color--yellow-dark {
  background-color: #967b00;
}

.color--yellow-alt {
  background-color: #ffb000;
}

.color--blue {
  background-color: #1c59a6;
}

.color--blue-light {
  background-color: #8dacd2;
}

.color--blue-mediumdark {
  color: #FFFFFF;
  background-color: #0E2D53;
}

.color--blue-dark {
  color: #FFFFFF;
  background-color: #0d2741;
}

.color--blue-xdark {
  color: #FFFFFF;
  background-color: #03152C;
}

.color--grey {
  background-color: #bcbcbc;
}

.color--grey-xlight {
  background-color: #f5f5f5;
}

.color--grey-light {
  background-color: #e3e3e3;
}

.color--grey-dark {
  background-color: #8d9093;
}

.color--grey-xdark {
  background-color: #5e646a;
}

.color--black {
  color: #FFFFFF;
  background-color: #162329;
}

.color--black-light {
  color: #FFFFFF;
  background-color: #2f3841;
}

.color--black-dark {
  color: #FFFFFF;
  background-color: #000;
}

/*

Grids
=====

*/
.gr-align-self-start {
  align-self: start;
}

.gr-align-self-center {
  align-self: center;
}

@media all and (max-width: 35.4375em) {
  .gr-one-three--until-small {
    grid-column: 1/3;
  }
}

@media all and (max-width: 47.9375em) {
  .gr-one-three--until-medium {
    grid-column: 1/3;
  }
}

@media all and (min-width: 48em) and (max-width: 63.9375em) {
  .gr-one-thirteen--medium-large {
    grid-column: 1/13;
  }
}

@media all and (min-width: 48em) {
  .gr-one-thirteen--from-medium {
    grid-column: 1/13;
  }
}

/*

Stacks
=====

Styles for the stack element

*/
.stack--example .stack__item {
  background-color: goldenrod;
}

.stack--example.stack--horizontal .stack__item {
  background-color: darkseagreen;
}

.stack {
  --stack-space: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: var(--stack-space);
}

.stack:only-child {
  height: 100%;
}

.stack--horizontal {
  flex-direction: row;
  justify-content: flex-start;
}
.stack--horizontal:not(.wraps) {
  overflow-x: scroll;
}
.stack--horizontal.wraps {
  flex-wrap: wrap;
}
.stack--horizontal.centered {
  justify-content: center;
}
.stack--horizontal .stack__item {
  min-width: 210px;
  flex: 1 1 100%;
}
.stack--horizontal.no-grow .stack__item {
  flex-grow: 0;
}
.stack--horizontal.cols-2 .stack__item {
  flex-basis: calc(50% - var(--stack-space));
}
.stack--horizontal.cols-3 .stack__item {
  flex-basis: calc(33.3333333% - var(--stack-space));
}
.stack--horizontal.cols-4 .stack__item {
  flex-basis: calc(25% - var(--stack-space));
}
.stack--horizontal.cols-5 .stack__item {
  flex-basis: calc(20% - var(--stack-space));
}
.stack--horizontal.cols-6 .stack__item {
  flex-basis: calc(16.6666666% - var(--stack-space));
}
@media all and (min-width: 35.5em) {
  .stack--horizontal.cols-6 .stack__item {
    min-width: 170px;
  }
}
@media all and (max-width: 35.4375em) {
  .stack--horizontal.cols-1-until-small .stack__item {
    flex-basis: 100%;
  }
}
@media all and (max-width: 35.4375em) {
  .stack--horizontal[class*=cols-]:not(.cols-1-until-small) .stack__item {
    flex-basis: calc(50% - var(--stack-space));
    min-width: calc(50% - var(--stack-space));
  }
}

/*

Header
======

Styles for the header element

*/
header[role=banner] {
  background-color: #FFFFFF;
}

.header__wrapper {
  padding-bottom: 1rem;
  padding-top: 1rem;
  max-width: 1150px;
  margin: 0 auto;
  width: 90vw;
  display: grid;
  grid-gap: 1rem;
}
@media all and (max-width: 47.9375em) {
  .header__wrapper {
    grid-template-columns: 1fr;
  }
}
@media all and (min-width: 48em) {
  .header__wrapper {
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 1.5rem;
    align-items: center;
  }
}
@media all and (min-width: 64em) {
  .header__wrapper {
    grid-gap: 2.29411765rem;
  }
}

/*

Main
====

Styles for the main element

*/
main {
  background-color: #FFFFFF;
}

.content__inner > article {
  grid-column-end: span 12;
}

/*

Aside
=====

Styles for the aside element

*/
/*

Footer
======

Styles for the footer element

*/
footer[role=contentinfo] {
  color: #FFFFFF;
  padding-top: 2rem;
  padding-bottom: 2rem;
}
@media all and (min-width: 48em) {
  footer[role=contentinfo] {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}

.quick-links {
  grid-column-end: span 2;
}
@media all and (min-width: 48em) {
  .quick-links {
    grid-column-end: span 8;
  }
}

.quick-links__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  margin-left: calc(-1 * var(--border-offset) / 2);
}
@media all and (min-width: 48em) {
  .quick-links__list {
    margin-left: -1.5rem;
  }
}

.quick-links__list > li {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  border-left: calc(var(--border-offset) / 2) solid transparent;
  flex: 1 1 100%;
}
@media all and (min-width: 30em) {
  .quick-links__list > li {
    flex: 1 1 50%;
  }
}
@media all and (min-width: 35.5em) {
  .quick-links__list > li {
    flex: 1 1 33.33%;
  }
}
@media all and (min-width: 48em) {
  .quick-links__list > li {
    border-left: 1.5rem solid transparent;
  }
}

.mini-contact {
  grid-column-end: span 2;
}
@media all and (min-width: 48em) {
  .mini-contact {
    grid-column-end: span 4;
  }
}

.legals {
  width: 100%;
  justify-self: center;
  grid-column-end: span 2;
}
@media all and (min-width: 48em) {
  .legals {
    grid-column-end: span 12;
  }
}

.legals .copyright p {
  max-width: 90ch;
  margin-left: auto;
  margin-right: auto;
}

/*

Home Page Specific Styles
===========================

*/
/*

Single Product Page Specific Styles
====================================

*/
.product__panel {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  grid-template-rows: auto;
  grid-template-areas: "product-header product-header" "product-main product-main" "product-aside product-aside";
}
@media all and (min-width: 48em) {
  .product__panel {
    grid-template-areas: "product-header product-header" "product-main product-aside";
  }
}

.product__header {
  grid-area: product-header;
  background-color: #FFFFFF;
  border-top: 2px solid #1c59a6;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  padding-left: 1rem;
  padding-right: 1rem;
}

.product__header > * {
  max-width: 100%;
}

.product__main,
.product__aside {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.product__main {
  grid-area: product-main;
}

.product__aside {
  grid-area: product-aside;
}
@media all and (min-width: 75em) {
  .product__aside {
    padding-left: 2rem;
  }
}

.product__hero-image {
  background-color: #2f3841;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.product__hero-image img {
  width: 100%;
}

@media all and (min-width: 48em) {
  .product__hero-image-medium-down {
    display: none;
    visibility: hidden;
  }
}

@media all and (max-width: 47.9375em) {
  .product__hero-image-medium-up {
    display: none;
    visibility: hidden;
  }
}

.product__tech-spec {
  max-width: none;
}

.tech-spec__header {
  padding: 1rem;
  padding-top: 0.5rem;
}

.tech-spec__misc {
  display: grid;
  gap: 1rem;
  padding: 1rem;
  background-color: #FFFFFF;
  color: #162329;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.tech-spec__misc > .row,
.product__ordering-panel > .tile__inner {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.tech-spec__misc > .row .row__footer {
  align-self: flex-end;
  margin-top: auto;
}

/* Product ordering panel */
.product__ordering-panel {
  max-width: 100%;
}

.product__ordering-panel > .tile__inner {
  border: 1px solid #162329;
}

/* Product key data (top area) */
.product__key-data {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid;
}

.key-data-table {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.key-data-row,
.product__manufacturer-logo {
  padding: 1rem;
}

.key-data-row {
  border-bottom: 1px solid;
}

/*

Search Results Page Specific Styles
====================================

*/
.search-results__panel {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  grid-template-rows: auto;
  grid-template-areas: "filter-toggler filter-toggler" "search-results-aside search-results-aside" "search-results-main search-results-main";
}
@media all and (min-width: 48em) {
  .search-results__panel {
    grid-template-areas: "search-results-aside search-results-main";
  }
}

.search-results-list > .tile {
  max-width: 100%;
}

.search-results-list > .tile .tile__header {
  flex: 0 0 257px;
}

.search-results-list > .tile .tile__body {
  flex-grow: 1;
}

.search-results__refinements .tile {
  max-width: 100%;
}
@media all and (min-width: 64em) {
  .search-results__refinements .tile {
    margin-right: 1rem;
  }
}

.filter-toggler {
  grid-area: filter-toggler;
}

.search-results__refinements {
  grid-area: search-results-aside;
}
@media all and (max-width: 47.9375em) {
  .js .search-results__refinements {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: all 150ms ease-in-out;
  }
}
.search-results__refinements.active {
  max-height: 100%;
  opacity: 1;
  z-index: 100;
}

.search-results__main {
  grid-area: search-results-main;
}

.bracket {
  display: none;
}
.bracket.active {
  display: inline-block;
}

.selected-filter-value.filter-value > a:hover, .selected-filter-value.filter-value > a:focus, .selected-filter-value.filter-value > a:active {
  background-color: #e3e3e3;
  color: #162329;
}

.close-filter {
  font-weight: bold;
}