@charset "UTF-8";
/*

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

HTML, BODY, #wrapper styles

*/
:root {
  /* @link https://utopia.fyi/type/calculator?c=320,16,1.2,1140,18,1.25,6,2,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12 */
  /* Step -2: 11.1111px → 11.52px */
  --step--2: clamp(0.6944rem, 0.6845rem + 0.0499vi, 0.72rem);
  /* Step -1: 13.3333px → 14.4px */
  --step--1: clamp(0.8333rem, 0.8073rem + 0.1301vi, 0.9rem);
  /* Step 0: 16px → 18px */
  --step-0: clamp(1rem, 0.9512rem + 0.2439vi, 1.125rem);
  /* Step 1: 19.2px → 22.5px */
  --step-1: clamp(1.2rem, 1.1195rem + 0.4024vi, 1.4063rem);
  /* Step 2: 23.04px → 28.125px */
  --step-2: clamp(1.44rem, 1.316rem + 0.6201vi, 1.7578rem);
  /* Step 3: 27.648px → 35.1563px */
  --step-3: clamp(1.728rem, 1.5449rem + 0.9156vi, 2.1973rem);
  /* Step 4: 33.1776px → 43.9453px */
  --step-4: clamp(2.0736rem, 1.811rem + 1.3131vi, 2.7466rem);
  /* Step 5: 39.8131px → 54.9316px */
  --step-5: clamp(2.4883rem, 2.1196rem + 1.8437vi, 3.4332rem);
  /* Step 6: 47.7757px → 68.6646px */
  --step-6: clamp(2.986rem, 2.4765rem + 2.5474vi, 4.2915rem);
  /* @link https://utopia.fyi/space/calculator?c=320,16,1.2,1140,18,1.25,5,2,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12 */
  /* Space 3xs: 4px → 5px */
  --space-3xs: clamp(0.25rem, 0.2256rem + 0.122vi, 0.3125rem);
  /* Space 2xs: 8px → 9px */
  --space-2xs: clamp(0.5rem, 0.4756rem + 0.122vi, 0.5625rem);
  /* Space xs: 12px → 14px */
  --space-xs: clamp(0.75rem, 0.7012rem + 0.2439vi, 0.875rem);
  /* Space s: 16px → 18px */
  --space-s: clamp(1rem, 0.9512rem + 0.2439vi, 1.125rem);
  /* Space m: 24px → 27px */
  --space-m: clamp(1.5rem, 1.4268rem + 0.3659vi, 1.6875rem);
  /* Space l: 32px → 36px */
  --space-l: clamp(2rem, 1.9024rem + 0.4878vi, 2.25rem);
  /* Space xl: 48px → 54px */
  --space-xl: clamp(3rem, 2.8537rem + 0.7317vi, 3.375rem);
  /* Space 2xl: 64px → 72px */
  --space-2xl: clamp(4rem, 3.8049rem + 0.9756vi, 4.5rem);
  /* Space 3xl: 96px → 108px */
  --space-3xl: clamp(6rem, 5.7073rem + 1.4634vi, 6.75rem);
  --grid-gap: var(--space-m);
  --border-offset: var(--space-m);
  --size__site-tablet-content: calc(8 * (100vw / 12) - 28px);
  --size__site-desktop-content: calc(6 * (100vw / 12) - 28px);
  --ratio: 1.2;
  line-height: var(--ratio);
  --max-site-width: 1140px;
  --black-0: hsl(0, 0%, 13%);
  --black-1: hsl(0, 0%, 20%);
  --black-2: hsl(0, 0%, 27%);
  --red: hsl(0, 73%, 61%);
  --orange: hsl(22, 82%, 66%);
  --blue: hsl(215, 59%, 32%);
  --purple-dark: hsl(274, 59%, 18%);
  --grey: hsl(220, 12%, 80%);
  --grey-light: hsl(218, 22%, 93%);
  --white-1: hsl(0, 0%, 95%);
  --white-0: hsl(0, 0%, 100%);
  --black-to-grey-grad-tb: linear-gradient( 180deg, #222222 0%, #454545 70%);
  --black-to-grey-grad-lr: linear-gradient( 90deg, #222222 0%, #454545 70%);
  --blue-to-black-grad-lr: linear-gradient( 90deg, #13243B 0%, #13243B 70%);
  --orange-to-red-grad: linear-gradient( 270deg, #EF3E42 0%, #F47D20 70%);
  --red-to-orange-grad: linear-gradient( 270deg, #F47D20 0%, #EF3E42 70%);
  --dark-purple-to-blue-grad-lr: linear-gradient(90deg, #32134A 0%, #224A83 70%);
  --libreFranklin: "libre-franklin", Helvetica, Arial, sans-serif;
  --prentonCondensed: "prenton-condensed", Verdana, Geneva, sans-serif;
  --georgia: Georgia, Times, "Times New Roman", serif;
  --body-font: var(--libreFranklin);
  --header-font: var(--prentonCondensed);
  --main-menu-font: var(--libreFranklin);
  --default-text-color: var(--black-0);
  --alt-text-color: var(--orange);
  --default-background-color: var(--white-0);
  --logo-color: var(--black-0);
  --header-background-color: var(--grey-light);
  --site-header-cta-bar-background-color: var(--grey);
  --site-search-header-background-color: var(--black-2);
  --footer-background-color: var(--black-to-grey-grad-tb);
  --footer-text-color: var(--white-1);
  --main-nav-background-color: var(--black-0);
  --main-nav-divider-color: var(--grey);
  --main-nav-text-color: var(--black-0);
  --main-nav-text-color--active: var(--orange-to-red-grad);
  --sub-menu-color: var(--white-0);
  --sub-menu-color--hover: var(--white-0);
  --sub-menu-background-color: var(--black-0);
  --sub-menu-background-color--hover: var(--orange-to-red-grad);
  --sub-menu-border-color: var(--white-0);
  --sub-menu-divider-color: var(--grey);
  --sub-menu-marker-color: var(--orange);
  --secondary-nav-background-color: transparent;
  --secondary-nav-text-color: var(--white);
  --secondary-nav-text-color--active: var(--orange);
  --legal-nav-text-color: var(--grey);
  --link-color: currentColor;
  --link-color-hover: var(--orange);
  --link-color-active: var(--red);
  --link-color-focus: var(--red);
  --link-background-color-focus: var(--orange);
  --link-outline-color-focus: var(--purple-dark);
  --link-text-decoration-color: var(--orange-to-red-grad);
  --link-text-decoration-color-hover: var(--red-to-orange-grad);
  --block-background-color: var(--white-0);
  --block-loud-text-color: var(--white-1);
  --block-loud-background-color: var(--black-to-grey-grad-lr);
  --block-alt-text-color: var(--white-0);
  --block-alt-background-color: var(--blue-to-black-grad-lr);
  --block-subtle-background-color: var(--grey);
  --block-subtle-text-color: var(--grey);
  --block-subtle-dark-background-color: var(--grey-light);
  --block-subtle-dark-subtle-background-color: var(--grey-light);
  --block-dark-background-color: var(--black-0);
  --block-dark-text-color: var(--white-1);
  --blockquote-background-color: var(--grey-light);
  --blockquote-border-color: var(--orange);
  --blockquote-quote-color: var(--orange);
  --blockquote-color: inherit;
  --button-color: var(--white-0);
  --button-bg-color: var(--orange-to-red-grad);
  --button-bg-color-hover: var(--red-to-orange-grad);
  --secondary-button-color: var(--default-text-color);
  --secondary-button-color-hover: var(--orange);
  --secondary-button-bg-color: transparent;
  --secondary-button-bg-color-hover: var(--white-0);
  --secondary-button-border-width: 1px;
  --secondary-button-border-color: var(--orange);
  --secondary-button-border-color-hover: var(--red);
  --disabled-button-bg-color: var(--grey);
  --button-outline-color-focus: var(--orange);
  --input-border-color: var(--grey);
  --input-border-color-hover: var(--orange);
  --input-background-color: var(--white-1);
  --input-background-color-hover: var(--white-0);
  --wpcf7-box-shadow-color: var(--black-1);
  --tile-text-color: var(--black-0);
  --tile-background-color: var(--white-0);
  --tile-border-color: var(--black-1);
  --tile-subtle-text-color: var(--black-1);
  --tile-subtle-background-color: var(--grey);
  --tile-loud-text-color: var(--white);
  --tile-loud-background-color: var(--orange);
  --tile-alt-loud-text-color: var(--white);
  --tile-alt-loud-background-color: var(--mid-brown-to-dark-brown-grad);
  --rule-color: hsla(220, 12%, 80%, 55%);
  --rule-color-dark: var(--black-2);
  --pagination-color: var(--black-0);
  --pagination-background-color: var(--grey-light);
  --pagination-border-color: var(--grey);
  --table-caption-color: var(--grey-light);
  --success-color: #15892a;
  --success-bg-color: #d1e7dd;
  --info-color: #1289a0;
  --info-bg-color: #cff4fc;
  --warning-color: #664d03;
  --warning-bg-color: #fff3cd;
  --danger-color: #7a0c17;
  --danger-bg-color: #f8d7da;
  --danger-strong-color: #dc3545;
  --default-color: var(--black-2);
  --muted-color: var(--grey-light);
  --subtle-color: var(--grey);
  --meta-color: var(--grey);
  --primary-color: var(--orange);
  --radius-sml: 4px;
  --radius-med: 12px;
  --radius-lrg: 24px;
}

[data-theme=dark] {
  --default-text-color: var(--white-1);
  --main-nav-text-color: var(--white-1);
  --logo-color: var(--white-1);
  --secondary-button-bg-color-hover: var(--black-0);
  --block-background-color: var(--black-1);
  --block-subtle-dark-background-color: var(--black-0);
  --block-subtle-dark-subtle-background-color: var(--black-1);
  --block-dark-background-color: var(--black-2);
  --block-loud-background-color: var(--dark-purple-to-blue-grad-lr);
  --tile-background-color: var(--white-1);
  --tile-subtle-text-color: var(--white-1);
  --tile-subtle-background-color: var(--black-0);
}

html {
  font-family: var(--body-font);
}

@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}
*, *:before, *:after {
  box-sizing: border-box;
}

body {
  color: var(--default-text-color);
  /* 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: var(--footer-background-color);
  min-width: 320px;
  width: 100%;
  margin: 0;
  font-size: var(--step-0);
  line-height: 1.45;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

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;
}

.wrapper {
  margin: 0 auto;
  max-width: var(--max-site-width);
  width: 90%;
}

/*

Sun & Moon styling
======

*/
.sun-and-moon > :is(.moon, .sun, .sun-beams) {
  transform-origin: center center;
}
.sun-and-moon > :is(.moon, .sun) {
  fill: var(--icon-fill);
}
.sun-and-moon > .sun-beams {
  stroke: var(--icon-fill);
  stroke-width: 2px;
}

.theme-toggle:is(:hover, :focus-visible) > .sun-and-moon > :is(.moon, .sun) {
  fill: var(--icon-fill-hover);
}

.theme-toggle:is(:hover, :focus-visible) .sun-and-moon > .sun-beams {
  stroke: var(--icon-fill-hover);
}

[data-theme=dark] .sun-and-moon > .sun {
  transform: scale(1.75);
}

[data-theme=dark] .sun-and-moon > .sun-beams {
  opacity: 0;
}

[data-theme=dark] .sun-and-moon > .moon > circle {
  transform: translate(-7px);
}

@supports (cx: 1) {
  [data-theme=dark] .sun-and-moon > .moon > circle {
    transform: translate(0);
    cx: 17;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .sun-and-moon > .sun {
    transition: transform 0.5s var(--ease-elastic-3);
  }
  .sun-and-moon > .sun-beams {
    transition: transform 0.5s var(--ease-elastic-4), opacity 0.5s var(--ease-3);
  }
  .sun-and-moon .moon > circle {
    transition: transform 0.25s var(--ease-out-5);
  }
  @supports (cx: 1) {
    .sun-and-moon .moon > circle {
      transition: cx 0.25s var(--ease-out-5);
    }
  }
  [data-theme=dark] .sun-and-moon > .sun {
    transform: scale(1.75);
    transition-timing-function: var(--ease-3);
    transition-duration: 0.25s;
  }
  [data-theme=dark] .sun-and-moon > .sun-beams {
    transform: rotate(-25deg);
    transition-duration: 0.15s;
  }
  [data-theme=dark] .sun-and-moon > .moon > circle {
    transition-delay: 0.25s;
    transition-duration: 0.5s;
  }
}
/*

Theme Toggle
======

Styles for the theme toggler

*/
.theme-changer-item {
  display: flex;
  padding-inline-start: 0.5rem;
  padding-inline-end: 0.5rem;
}

.theme-toggle {
  --toggle-size: 1.5rem;
  --icon-fill: hsl(0, 0%, 85%);
  --icon-fill-hover: hsl(0, 0%, 100%);
  background: none;
  border: none;
  padding: 0;
  inline-size: var(--toggle-size);
  block-size: var(--toggle-size);
  aspect-ratio: 1;
  border-radius: 50%;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  outline-offset: 5px;
}
.theme-toggle > svg {
  inline-size: 100%;
  block-size: 100%;
  stroke-linecap: round;
}
[data-theme=dark] .theme-toggle {
  --icon-fill: hsl(0 0% 80%);
  --icon-fill-hover: hsl(0 0% 100%);
}
@media (hover: none) {
  .theme-toggle {
    --toggle-size: 30px;
  }
}

/*

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-inline-start: 3.5rem !important;
}

[class*=icon--right-] {
  padding-inline-end: 3.5rem !important;
}

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

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

[class*=icon--right-]:after {
  inset-inline-end: 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-inline-start: 27px !important;
}

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

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

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

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

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

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

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

.icon--large[class*=icon--right-]:after {
  inset-inline-end: 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>


======================================================================================== */
/* 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>');
}

/* 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 width="11" height="8" viewBox="0 0 11 8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5.28935 7.25L0.52621 1.78649e-06L1.86749 7.15555e-07L5.28937 3.25L8.67999 2.02734e-06L10.0525 9.53674e-07L5.28935 7.25Z" fill="hsl(0, 0%, 13%)"/></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);
}
[data-theme=dark] .icon-down-arrow,
[data-theme=dark] .icon--left-down-arrow:before,
[data-theme=dark] .icon--right-down-arrow:after {
  background-image: url('data:image/svg+xml;utf-8,<svg width="11" height="8" viewBox="0 0 11 8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5.28935 7.25L0.52621 1.78649e-06L1.86749 7.15555e-07L5.28937 3.25L8.67999 2.02734e-06L10.0525 9.53674e-07L5.28935 7.25Z" fill="hsl(0, 0%, 95%)"/></svg>');
}

/* Search Icon */
.icon-search,
.icon--left-search:before,
.icon--right-search:after {
  background-image: url('data:image/svg+xml;utf-8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M23.2818 20.2183L18.0808 15.0172C19.0276 13.5147 19.5833 11.7412 19.5833 9.8335C19.5833 4.44825 15.2186 0.0834961 9.83334 0.0834961C4.44809 0.0834961 0.0833435 4.44933 0.0833435 9.8335C0.0833435 15.2187 4.44809 19.5835 9.83334 19.5835C11.7411 19.5835 13.5145 19.0277 15.0171 18.0809L20.2182 23.282C20.6407 23.7056 21.1953 23.9168 21.75 23.9168C22.3047 23.9168 22.8593 23.7056 23.2818 23.282C24.1279 22.4359 24.1279 21.0644 23.2818 20.2183ZM9.83334 15.2502C6.84659 15.2502 4.41668 12.8202 4.41668 9.8335C4.41668 6.84675 6.84659 4.41683 9.83334 4.41683C12.8201 4.41683 15.25 6.84675 15.25 9.8335C15.25 12.8202 12.8201 15.2502 9.83334 15.2502Z" fill="%23222222"/></svg>');
}

/* Search Expander Icon */
/* Contact/Location Icons */
.icon-phone,
.icon--left-phone:before,
.icon--right-phone:after {
  background-image: url('data:image/svg+xml;utf-8,<svg viewBox="0 0 17 17" xmlns="http://www.w3.org/2000/svg"><path id="icon_phone" d="M4.43889 3.33857C4.75877 3.65752 5.05579 3.95369 5.37566 4.27265C5.92402 4.81943 5.92402 5.45734 5.37566 6.00412C4.98725 6.39142 4.59883 6.77872 4.21041 7.16602C4.09617 7.25715 4.09617 7.34828 4.14187 7.48498C4.3932 8.10011 4.78161 8.66967 5.21573 9.19366C6.0611 10.2417 7.04357 11.1757 8.18597 11.882C8.4373 12.0415 8.71148 12.1554 8.9628 12.2921C9.09989 12.3604 9.19128 12.3376 9.28268 12.2237C9.67109 11.8136 10.0595 11.4263 10.4708 11.039C10.9963 10.515 11.636 10.515 12.1615 11.039C12.8013 11.6769 13.441 12.3149 14.0808 12.93C14.6063 13.454 14.6063 14.1147 14.0808 14.6615C13.7152 15.026 13.3268 15.3677 13.0069 15.755C12.5042 16.3018 11.8874 16.4841 11.1791 16.4385C10.1509 16.3929 9.19128 16.0284 8.25451 15.5955C6.19819 14.5931 4.46174 13.2262 2.99947 11.4947C1.92561 10.2189 1.01169 8.80636 0.440487 7.23437C0.166311 6.45977 -0.0393201 5.68516 0.00637594 4.86499C0.052072 4.36378 0.234856 3.93091 0.623272 3.56639C1.03454 3.17909 1.42295 2.769 1.81137 2.3817C2.33687 1.88049 2.97662 1.88049 3.50212 2.3817C3.79915 2.70065 4.11902 3.01961 4.43889 3.33857ZM12.7556 8.19123C12.5728 7.07489 12.0244 6.04968 11.2248 5.22951C10.3794 4.38656 9.28268 3.83978 8.09458 3.65752L7.91179 4.88777C8.84856 5.02447 9.67109 5.43456 10.3337 6.09525C10.9734 6.73316 11.3847 7.50776 11.5218 8.39628L12.7556 8.19123ZM16 7.96341C15.6801 6.09524 14.7891 4.38656 13.441 3.0424C12.0244 1.62988 10.2194 0.71858 8.23167 0.44519L8.04888 1.67545C9.76249 1.92606 11.3162 2.67788 12.5499 3.90813C13.7152 5.07003 14.4692 6.52811 14.7662 8.14567L16 7.96341Z" fill="%23000000"/></svg>');
}

.icon-email,
.icon--left-email:before,
.icon--right-email:after {
  background-image: url('data:image/svg+xml;utf-8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12 13.595C11.285 13.595 10.57 13.442 9.905 13.135L0 8.563V20C0 21.105 0.895 22 2 22H22C23.105 22 24 21.105 24 20V8.563L14.095 13.135C13.43 13.442 12.715 13.595 12 13.595ZM22 2H2C0.895 2 0 2.895 0 4V6.36L10.743 11.318C11.542 11.686 12.459 11.687 13.258 11.318L24 6.36V4C24 2.895 23.105 2 22 2Z" fill="%23000000"/></svg>');
}

/* Social Icons */
.icon-facebook,
.icon--left-facebook:before,
.icon--right-facebook:after {
  background-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" id="Layer_1" x="0" y="0" style="enable-background:new 0 0 33.6 33.6" version="1.1" viewBox="0 0 33.6 33.6"><path d="M17.6 12.5c0-.5.3-.9.6-.9h2.5V8.8h-2.5c-2.1 0-3.6 1.8-3.6 4v1.5h-2.7V17h2.7v7.8h3V17h2.7l.5-2.6h-3.2v-1.9zM31.6 8.8c-2.2-4-6-7.1-10.6-8.2 4.6 1.1 8.4 4.2 10.6 8.2zM0 16.8c0-2.9.7-5.6 2-8-1.3 2.4-2 5.1-2 8zM31.6 8.8c1.3 2.4 2 5.1 2 8 0-2.9-.7-5.6-2-8zM12.6.6C8 1.7 4.2 4.8 2 8.8c2.2-4 6-7.1 10.6-8.2zM.6 21c1.2 4.6 4.2 8.4 8.2 10.6-4-2.2-7.1-6-8.2-10.6zM33 21c-1.2 4.6-4.2 8.4-8.2 10.6 4-2.2 7.1-6 8.2-10.6zM24.8 31.6c-2.4 1.3-5.1 2-8 2 2.9 0 5.6-.7 8-2zM16.8 33.6c-2.9 0-5.6-.7-8-2 2.4 1.3 5.1 2 8 2z" class="st0"/><path d="M33 21c.3-1.3.6-2.8.6-4.2 0-2.9-.7-5.6-2-8v-.1c-2.2-4-6-7.1-10.6-8.2-1.3-.3-2.7-.5-4.2-.5s-2.9.2-4.2.6C8 1.7 4.2 4.8 2 8.8v.1c-1.3 2.4-2 5.1-2 8 0 1.5.2 2.9.6 4.2 1.2 4.6 4.2 8.4 8.2 10.6h.1c2.4 1.3 5.1 2 8 2s5.6-.7 8-2h.1c3.8-2.3 6.9-6.1 8-10.7zm-12.7-4h-2.7v7.8h-3V17h-2.7v-2.6h2.7v-1.5c0-2.2 1.5-4 3.6-4h2.5v2.8h-2.5c-.3 0-.6.4-.6.9v1.8h3.2l-.5 2.6z" style="fill:%23fff"/></svg>');
}

.icon-linkedin,
.icon--left-linkedin:before,
.icon--right-linkedin:after {
  background-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="enable-background:new 0 0 34 34" viewBox="0 0 34 34"><path d="M17 0c9.4 0 17 7.6 17 17s-7.6 17-17 17S0 26.4 0 17 7.6 0 17 0zm-5.3 26.6V13.3H7.3v13.3h4.4zm15.9 0V19c0-4.1-2.2-6-5.1-6-2.3 0-3.4 1.3-4 2.2v-1.9h-4.4c.1 1.2 0 13.3 0 13.3h4.4v-7.4c0-.4 0-.8.1-1.1.3-.8 1-1.6 2.3-1.6 1.6 0 2.2 1.2 2.2 3v7.1h4.5zM9.5 6.9C8 6.9 7 7.9 7 9.2c0 1.3 1 2.3 2.4 2.3 1.5 0 2.5-1 2.5-2.3 0-1.3-.9-2.3-2.4-2.3z" style="fill:%23fff"/></svg>');
}

.icon-x,
.icon--left-x:before,
.icon--right-x:after {
  background-image: url('data:image/svg+xml;utf-8,<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 33.6 33.6" style="enable-background:new 0 0 33.6 33.6;" xml:space="preserve"><g><polygon class="st0" points="10.6,10 20.9,23 23.2,23 13,10"/><path class="st0" d="M16.8,0C7.5,0,0,7.5,0,16.8s7.5,16.8,16.8,16.8s16.8-7.5,16.8-16.8S26.1,0,16.8,0z M20.3,24l-4.7-5.9L9.9,24 H8.4l6.6-6.7L8.4,9h0h0h5.1l4.3,5.4L23.1,9h1.5l-6.1,6.3l6.9,8.7H20.3z" style="fill:%23fff"/></g></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: var(--radius-med);
}

.img-rounded-sml {
  border-radius: var(--radius-sml);
}

.img-square-ratio {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
}

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

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

img.fullwidth,
img.tile__image,
.post-thumbnail--fullwidth img {
  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>

*/
:is(h1, h2, h3, h4, h5, h6, .heading-text) {
  font-family: var(--header-font);
}

:is(.step-6, .step-5, .step-4, blockquote) {
  --flow-space: 1.5em;
}

:is(.step-6, .step-5, .step-4) + *:not(.h-visually-hidden) {
  --flow-space: 0.7em;
}

:is(.step-6, .step-5, .step-4) {
  text-wrap: balance;
}

.step-6 {
  font-size: var(--step-6);
  line-height: 1.15;
  max-width: 25ch;
  letter-spacing: -0.01rem;
}

.step-5 {
  font-size: var(--step-5);
  line-height: 1.25;
  max-width: 30ch;
  letter-spacing: -0.01rem;
}

.step-4 {
  font-size: var(--step-4);
  line-height: 1.35;
  max-width: 36ch;
}

.step-3 {
  font-size: var(--step-3);
  line-height: 1.15;
}

.step-2 {
  font-size: var(--step-2);
  line-height: 1.2;
  letter-spacing: 0.0025rem;
}

.step-1 {
  font-size: var(--step-1);
  line-height: 1.4;
}

.step-0 {
  font-size: var(--step-0);
}

/*

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>

*/
/* --- used if wanting to style the first paragraph slightly differently --- */
.lead,
.content > p:first-of-type {
  font-size: var(--step-1);
  max-width: 60ch;
  text-wrap: balance;
}

.lead + *,
.content > p:first-of-type + * {
  --flow-space: 1.5em;
}

.content > p {
  max-width: 72ch;
}

::-moz-selection {
  background: hsla(198, 100%, 69%, 0.69);
}

::selection {
  background: hsla(198, 100%, 69%, 0.69);
}

/*

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: var(--muted-color);
}

.text-subtle {
  color: var(--subtle-color);
}

.text-primary {
  color: var(--primary-color);
}

.text-success {
  color: var(--success-color);
}

.text-info {
  color: var(--info-color);
}

.text-warning {
  color: var(--warning-color);
}

.text-danger {
  color: var(--danger-color);
}

/*

Links
=====

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

*/
a[class=""],
a:not([class]),
.fake-link {
  position: relative;
  color: var(--link-color);
  cursor: pointer;
  text-decoration: none;
  transition: all 0.2s ease-out;
}
a[class=""]:before,
a:not([class]):before,
.fake-link:before {
  content: "";
  position: absolute;
  top: 100%;
  width: 100%;
  left: 0;
  height: 2px;
  background: var(--link-text-decoration-color);
}
a[class=""]:hover,
a:not([class]):hover,
.fake-link:hover {
  color: var(--link-color-hover);
}
a[class=""]:hover:before,
a:not([class]):hover:before,
.fake-link:hover:before {
  background: var(--link-text-decoration-color-hover);
}
a[class=""]:active,
a:not([class]):active,
.fake-link:active {
  color: var(--link-color-active);
}
a[class=""]:active:before,
a:not([class]):active:before,
.fake-link:active:before {
  background: var(--link-text-decoration-color-hover);
}

.g-footer-nav__list a, .legal-nav a,
.unstyled-link {
  color: inherit;
  text-decoration: none;
}
.g-footer-nav__list a:before, .legal-nav a:before,
.unstyled-link:before {
  height: 0;
  background: none;
}
.g-footer-nav__list a:hover, .legal-nav a:hover,
.unstyled-link:hover {
  color: var(--link-color-hover);
}
.g-footer-nav__list a:hover:before, .legal-nav a:hover:before,
.unstyled-link:hover:before {
  height: 0;
  background: none;
}
.g-footer-nav__list a:active, .legal-nav a:active,
.unstyled-link:active {
  color: var(--link-color-active);
}

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

:focus-visible {
  outline: 2px dashed var(--link-outline-color-focus);
  outline-offset: 0.25em;
}

/*

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:not(.testimonial__content) {
  background-color: var(--blockquote-background-color);
  border-left: 4px solid;
  border-color: var(--blockquote-border-color);
  color: var(--blockquote-color);
  margin-left: 0;
  margin-right: 0;
  padding: var(--space-m);
}
blockquote:not(.testimonial__content) > * + * {
  margin-top: rem(verticalSpacing(mobile));
}
@media all and (min-width: 64em) {
  blockquote:not(.testimonial__content) > * + * {
    margin-top: rem(verticalSpacing(desktop));
  }
}

.testimonial {
  color: var(--blockquote-color);
  margin-left: 0;
  margin-right: 0;
  padding: var(--space-m);
}
.testimonial > * + * {
  margin-top: rem(verticalSpacing(mobile));
}
@media all and (min-width: 64em) {
  .testimonial > * + * {
    margin-top: rem(verticalSpacing(desktop));
  }
}

.testimonial__content {
  margin-inline-start: 0;
  margin-block-start: var(--space-2xl);
  position: relative;
}

.testimonial__mark {
  position: absolute;
  left: 0;
  top: 0;
}
.testimonial__mark > .inner {
  font-size: 10rem;
  line-height: 0.1rem;
  background: var(--orange-to-red-grad);
  background-clip: text;
  -webkit-background-clip: text;
  text-fill-color: transparent;
  -webkit-text-fill-color: transparent;
}

.testimonial__caption > .testimonial__item + .testimonial__item:before {
  content: " - ";
  display: inline-block;
  padding-left: var(--space-xs);
  padding-right: var(--space-xs);
}

/*

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: 700;
}

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

.small,
small {
  font-size: var(--step--1);
}

.xsmall {
  font-size: var(--step--2);
}

kbd {
  color: rgb(102, 102, 102);
  font-family: inherit;
  font-size: 87.5%;
  line-height: 90%;
  background-color: rgb(249, 249, 249);
  margin: 0 var(--space-xs);
  border: 1px solid rgb(233, 233, 233);
  border-radius: var(--radius-sml);
  padding: 0.3334em 0.5em;
  box-shadow: inset 0 1px 0 rgb(255, 255, 255);
}

mark {
  background-color: rgb(240, 222, 188);
  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-inline-start: 0;
}

.content ul {
  text-indent: -1.4em;
  padding-inline-start: 1.4em;
}

ul ul {
  padding-inline-start: 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-inline-start: 0;
}

.content ol {
  counter-reset: foo;
  display: table;
}

.content ol > li {
  list-style: none;
  counter-increment: foo;
  display: table-row;
}

.content ol > li:before {
  content: counter(foo) ".";
  display: table-cell;
  text-align: left;
  padding-inline-end: 0.5em;
}

/*

## Description Lists

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

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

dt {
  font-weight: bold;
}

dd {
  margin-inline-start: 0;
}

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

.h-hide-text {
  text-indent: max(300%, 1000px);
  white-space: nowrap;
  overflow: hidden;
}

.h-hidden {
  display: none !important;
  visibility: hidden;
}

@media all and (max-width: 47.9375em) {
  .h-hidden-until-medium-down {
    display: none !important;
    visibility: hidden;
  }
}

@media all and (min-width: 48em) {
  .h-hidden-from-medium-up {
    display: none !important;
    visibility: hidden;
  }
}

.screen-reader-response:not(:focus):not(:active),
.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;
}
.screen-reader-response:focus,
.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;
}

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

.h-inline-flex,
.h-column-flex {
  --grid-gap: var(--space-xs);
  display: flex;
  gap: var(--grid-gap, 1rem);
  align-items: var(--cluster-vertical-alignment, center);
  justify-content: var(--cluster-horizontal-alignment, flex-start);
}

@media all and (min-width: 48em) {
  .h-column-flex-medium-up,
  .h-inline-flex-medium-up {
    --grid-gap: var(--space-xs);
    display: flex;
    gap: var(--grid-gap, 1rem);
    align-items: var(--cluster-vertical-alignment, center);
    justify-content: var(--cluster-horizontal-alignment, flex-start);
  }
}

.h-inline-flex {
  flex-wrap: var(--flex-wrap, wrap);
}

.h-column-flex {
  flex-direction: column;
}

@media all and (min-width: 48em) {
  .h-column-flex-medium-up {
    flex-direction: column;
  }
}

.h-flex--align-start {
  --cluster-vertical-alignment: flex-start !important;
}

.h-flex--align-end {
  margin-block-start: auto !important;
}

.flow:has(> .h-flex--align-end) > :nth-last-child(1) {
  padding-top: var(--flow-space, 1em);
}

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

.h-flex--gap-medium {
  --grid-gap: var(--space-m);
}

.h-flex--gap-large {
  --grid-gap: var(--space-l);
}

.h-flex--gap-large-inline-only {
  --grid-gap: var(--space-2xs) var(--space-l);
}

@media all and (min-width: 48em) {
  .h-flex--gap-large--medium-up {
    --grid-gap: var(--space-l);
  }
}

.h-flex--row-gap-small {
  row-gap: var(--space-2xs);
}

.h-flex-nowrap {
  --flex-wrap: nowrap;
}

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

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

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

.h-centered {
  margin-inline-end: auto;
  margin-inline-start: auto;
  justify-content: center;
}

@media all and (max-width: 47.9375em) {
  .h-centered--until-medium-down {
    margin-inline-end: auto;
    margin-inline-start: auto;
    justify-content: center;
  }
}

.h-align-items-centered {
  align-items: center;
}

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

.h-flex-end {
  justify-content: flex-end;
}

@media all and (min-width: 48em) {
  .h-flex-end--from-medium-up {
    justify-content: flex-end;
  }
}

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

.h-dont-break-out {
  /* These are technically the same, but use both */
  overflow-wrap: break-word;
  word-wrap: break-word;
  -ms-word-break: break-all;
  /* This is the dangerous one in WebKit, as it breaks things wherever */
  word-break: break-all;
  /* Instead use this non-standard one: */
  word-break: break-word;
  /* Adds a hyphen where the word breaks, if supported (No Blink) */
  -webkit-hyphens: auto;
          hyphens: auto;
}

[class*=h-has-decoration] {
  position: relative;
  overflow: hidden;
}
[class*=h-has-decoration]:before {
  content: "";
  position: absolute;
  z-index: 0;
}
[class*=h-has-decoration] > * {
  position: relative;
  z-index: 1;
}

.h-has-decoration-1:before {
  top: -140px;
  left: -160px;
  width: 288px;
  height: 288px;
  background-image: url("../img/dots.png");
  background-position: top left;
  background-size: 288px;
  transform: rotate(48deg);
}
@media only screen and (min-resolution: 120dpi) {
  .h-has-decoration-1:before {
    background-image: url("../img/dots@2x.png");
  }
}
.h-has-decoration-1.dark-dots:before {
  background-image: url("../img/dots-dark.png");
}
@media only screen and (min-resolution: 120dpi) {
  .h-has-decoration-1.dark-dots:before {
    background-image: url("../img/dots-dark@2x.png");
  }
}
.h-has-decoration-1.right:before {
  left: unset;
  right: -160px;
}
.h-has-decoration-1.bottom:before {
  top: unset;
  bottom: -140px;
}

.h-has-decoration-2:before {
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-image: url("../img/space-bg.webp");
  background-position: center center;
  background-size: 100%;
}

.h-skipnav {
  background: transparent;
  color: var(--black);
  inset-inline-start: 0;
  padding: 1rem 1.5rem;
  position: absolute;
  inset-block-start: -4.2rem;
  transition: all 0.2s ease-in-out;
  z-index: 100;
}

.h-skipnav:focus {
  background: var(--white);
  inset-inline-start: 0;
  outline: 0;
  position: absolute;
  inset-block-start: 0;
  transition: all 0.2s ease-in-out;
}

.h-behave-as-bg {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  width: 100%;
  z-index: 0;
}

.h-sticky-item {
  position: sticky !important;
  inset-block-start: 2rem;
}

.h-faded-item {
  opacity: 0.2;
}

/*

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 {
  font-family: var(--main-menu-font);
  padding: var(--space-2xs) var(--space-xs);
}

@media all and (min-width: 48em) {
  .main-nav__list {
    --grid-gap: var(--space-3xs) var(--space-xs);
    display: flex;
    justify-content: flex-start;
    gap: var(--grid-gap);
    flex-wrap: wrap;
  }
}

.main-nav__list .menu-item {
  position: relative;
  vertical-align: top;
}
@media all and (min-width: 48em) {
  .main-nav__list .menu-item {
    align-items: center;
    display: flex;
    margin-inline-start: 0;
  }
}

.main-nav__list .menu-item a,
.main-nav__search-launcher-box .cta-outlined-item {
  display: flex;
  padding: var(--space-2xs);
  text-decoration: none;
  transition: all 0.25s ease;
  position: relative;
}

.main-nav .menu-item .cta-item,
.main-nav .cta-outlined-item {
  cursor: pointer;
  border-radius: var(--radius-sml);
}
.main-nav .menu-item .cta-item {
  color: var(--button-color);
  background: var(--button-bg-color);
}
.main-nav .menu-item .cta-item:before {
  background: none;
}
.main-nav .menu-item .cta-item:hover, .main-nav .menu-item .cta-item:focus, .main-nav .menu-item .cta-item:active {
  color: var(--button-color);
  background: var(--button-bg-color-hover);
}
.main-nav .menu-item .cta-item:hover:before, .main-nav .menu-item .cta-item:focus:before, .main-nav .menu-item .cta-item:active:before {
  background: none;
}
.main-nav .cta-outlined-item {
  background: var(--secondary-button-bg-color);
  border: 1px solid var(--secondary-button-border-color);
}
.main-nav .cta-outlined-item:hover, .main-nav .cta-outlined-item:focus, .main-nav .cta-outlined-item:active {
  background: var(--secondary-button-bg-color-hover);
}
[data-theme=dark] .main-nav .cta-outlined-item {
  color: hsl(0, 0%, 95%);
}

.main-nav__list > .menu-item > a:not(.cta-item) {
  color: var(--main-nav-text-color);
}
.main-nav__list > .menu-item > a:not(.cta-item):before {
  background: none;
}
.main-nav__list > .menu-item > a:not(.cta-item):hover, .main-nav__list > .menu-item > a:not(.cta-item):focus, .main-nav__list > .menu-item > a:not(.cta-item):active {
  background: var(--main-nav-text-color--active);
  background-clip: text;
  -webkit-background-clip: text;
  text-fill-color: transparent;
  -webkit-text-fill-color: transparent;
}
@media all and (min-width: 48em) {
  .main-nav__list > .menu-item > a:not(.cta-item):hover:before, .main-nav__list > .menu-item > a:not(.cta-item):focus:before, .main-nav__list > .menu-item > a:not(.cta-item):active:before {
    background: var(--link-text-decoration-color-hover);
  }
}

@media all and (max-width: 47.9375em) {
  .main-nav__list .menu-item:not(:first-child) a {
    border-block-start: 1px solid var(--main-nav-divider-color);
  }
}

/* Active state for the nav links for the page currently being viewed  ---------------- */
.main-nav__list .current-menu-item a:not(.cta-item) {
  background: var(--main-nav-text-color--active);
  background-clip: text;
  -webkit-background-clip: text;
  text-fill-color: transparent;
  -webkit-text-fill-color: transparent;
}

/* Sub Menus ---------------- */
.sub-menu {
  display: none;
  list-style: none;
  list-style-image: none;
  min-width: 260px;
  z-index: 40;
}
.sub-menu[aria-hidden=false] {
  z-index: 50;
}
@media all and (min-width: 48em) {
  .sub-menu {
    position: absolute;
    inset-inline-start: 0;
    inset-block-start: 100%;
    padding-inline-start: 0;
    padding-inline-end: 0;
    background: var(--sub-menu-background-color);
    box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.2);
    border: 1px solid var(--sub-menu-border-color);
    border-radius: var(--radius-med);
    overflow: hidden;
    margin-block-start: -6px;
  }
}
.sub-menu .menu-item {
  float: none;
  margin: 0;
  padding: 0;
  display: block;
  white-space: pre-wrap;
  width: 100%;
  font-size: var(--step-0);
}

@media all and (min-width: 48em) {
  .main-nav__list .menu-item.menu-item-has-children > a {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
  }
}

.main-nav__list .menu-item.menu-item-has-children > a:not(:has(> .accordion-toggle)):after {
  display: inline-block;
  content: "";
  width: 10px;
  height: 1px;
}

.main-nav__list .menu-item > .sub-menu a:before {
  height: 0;
  background: none;
}
@media all and (max-width: 47.9375em) {
  .main-nav__list .menu-item > .sub-menu a {
    border-inline-start: 2px solid var(--sub-menu-marker-color);
    padding-inline-start: var(--space-m);
  }
}
@media all and (min-width: 48em) {
  .main-nav__list .menu-item > .sub-menu a {
    color: var(--sub-menu-color);
  }
}

.main-nav__list .menu-item > .sub-menu a:hover, .main-nav__list .menu-item > .sub-menu a:active {
  color: var(--sub-menu-color--hover);
  background: var(--sub-menu-background-color--hover);
  text-fill-color: unset;
  -webkit-text-fill-color: unset;
}

.accordion-toggle {
  padding: 0;
  padding-inline-start: 0.5em;
}
@media all and (max-width: 47.9375em) {
  .accordion-toggle {
    padding-inline-end: 0.5em;
    position: absolute;
    inset-block-start: 0;
    z-index: 100;
    inset-inline-end: 0;
    border-inline-start: 1px solid var(--main-nav-divider-color);
    height: 100%;
    display: flex;
    align-items: center;
    transition: all 0.25s ease;
  }
}

/* Main nav mobile button ---------------- */
.burger-menu__trigger.btn {
  display: none;
}

.burger-menu__bar,
.burger-menu__bar::before,
.burger-menu__bar::after {
  display: block;
  width: 24px;
  height: 3px;
  background: var(--button-color);
  border: 1px solid var(--button-color);
  position: absolute;
  border-radius: 3px;
  inset-inline-start: 50%;
  margin-inline-start: -12px;
  transition: transform 350ms ease-in-out;
}

.burger-menu__bar {
  inset-block-start: 50%;
  transform: translateY(-50%);
}

.burger-menu__bar::before,
.burger-menu__bar::after {
  content: "";
}

.burger-menu__bar::before {
  inset-block-start: -8px;
}

.burger-menu__bar::after {
  bottom: -8px;
}

.burger-menu[enabled=true] .burger-menu__trigger {
  --burger-menu__trigger-size: 2.5rem;
  display: block;
  width: var(--burger-menu__trigger-size);
  height: var(--burger-menu__trigger-size); /* Nice big tap target */
  position: relative;
  z-index: 1;
  border: none;
  cursor: pointer;
  z-index: 110;
  float: right;
  inset-inline-end: 25px;
  margin-block-start: calc(var(--burger-menu__trigger-size) * 1.5 * -1);
}

.burger-menu[enabled=true] .burger-menu__panel {
  width: 100%;
  visibility: hidden;
  opacity: 0;
  z-index: 100;
  -webkit-overflow-scrolling: touch;
  max-height: 0;
  transition: all 400ms ease;
}

.burger-menu[enabled=true] .navigation ul {
  display: block;
}

.burger-menu[enabled=true] .navigation ul > * + * {
  margin-block-start: 2rem;
}

.burger-menu[enabled=true] .navigation li {
  font-size: 1.5rem;
}

.burger-menu[enabled=true][status=open] .burger-menu__panel {
  visibility: visible;
  opacity: 1;
  max-height: 50em;
  transition: all 400ms ease;
  padding-block-start: var(--space-s);
}

.burger-menu[enabled=true][status=open] .burger-menu__panel > * {
  opacity: 1;
}

.burger-menu[enabled=true][status=open] .burger-menu__bar::before {
  inset-block-start: 0;
  transform: rotate(45deg);
}

.burger-menu[enabled=true][status=open] .burger-menu__bar::after {
  inset-block-start: 0;
  transform: rotate(-45deg);
}

.burger-menu[enabled=true][status=open] .burger-menu__bar {
  background: transparent;
  border-color: transparent;
  transform: rotate(180deg);
}

.legal-nav,
.source-org {
  color: var(--legal-nav-text-color);
}

/*

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

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

*/
.breadcrumb > span {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2xs);
}
.breadcrumb > span > span:not(:last-child):after {
  padding-inline-start: var(--space-2xs);
  display: inline-block;
}

@media all and (min-width: 64em) {
  .with-sidebar__body > .breadcrumb {
    margin-block-start: calc(var(--space-xl) * -1);
    margin-block-end: var(--space-xl);
  }
}

/*

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 {
  padding: 0;
  text-indent: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.pagination a {
  color: var(--pagination-color);
  text-decoration: none;
}
.pagination a:hover, .pagination a:focus, .pagination a:active {
  color: hsl(88, 38.5%, 15.3%);
  background-color: hsla(38, 97%, 66%, 0.45);
}
.pagination a, .pagination span {
  background-color: var(--pagination-background-color);
  border: 1px solid var(--pagination-border-color);
  display: block;
  padding: var(--space-3xs) var(--space-s);
  border-radius: 0;
  margin-left: -1px;
}
.pagination .page-numbers.current {
  background-color: var(--link-color-hover);
  color: var(--white);
}

/**
* 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>
*/
.flow > *:not(.h-visually-hidden) + * {
  --flow-space: 1em;
  margin-block-start: var(--flow-space, 1em);
}

.flow--quarter > *:not(.h-visually-hidden) + * {
  --flow-space: 0.25em;
}

.flow--half > *:not(.h-visually-hidden) + * {
  --flow-space: 0.5em;
}

.flow--double > *:not(.h-visually-hidden) + * {
  --flow-space: 2em;
}

.flow--triple > *:not(.h-visually-hidden) + * {
  --flow-space: 3em;
}

/**
 * Padding Above object
 * ------------------
 *
 * Adds padding to the top of an element.
 *
 *     <p class="space-above"> ... </p>
 *     <p> ... </p>
 */
.owl-padding > * + * {
  padding-block-start: var(--space-s);
}

.owl-padding--double > * + * {
  padding-block-start: calc(var(--space-s) * 2);
}

.owl-padding--triple > * + * {
  padding-block-start: calc(var(--space-s) * 3);
}

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

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

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

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

Horizontal Rules
=====================

<hr class="rule">
<hr class="rule rule--dotted">
<hr class="rule rule--dashed">
<hr class="rule rule--ornament">

*/
.rule {
  border: none;
  border-block-end-width: 1px;
  border-block-end-style: solid;
  color: var(--rule-color);
}

.rule--dark {
  color: var(--rule-color-dark);
}

/*

Blocks
======

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

*/
.block {
  --block-padding-bottom: var(--space-l);
  --block-padding-top: var(--space-l);
  background-color: var(--block-background-color);
  padding-block-end: var(--block-padding-bottom);
  padding-top: var(--block-padding-top);
  position: relative;
}
@media all and (min-width: 64em) {
  .block {
    --block-padding-top: var(--space-3xl);
    --block-padding-bottom: var(--space-3xl);
  }
}

.block--half-top {
  padding-block-start: calc(var(--block-padding-top) * 0.5);
}

.block--half-bottom {
  padding-block-end: calc(var(--block-padding-bottom) * 0.5);
}

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

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

.block--tiny {
  padding: var(--space-xs) var(--space-s);
}

.block--xtiny {
  padding: var(--space-2xs) var(--space-s);
}

.block--alt {
  color: var(--block-alt-text-color);
  background: var(--block-alt-background-color);
}

.block--loud {
  color: var(--block-loud-text-color);
  background: var(--block-loud-background-color);
}

.block--subtle {
  color: var(--block-subtle-text-color);
  background-color: var(--block-subtle-background-color);
}

.block--subtle-dark {
  background-color: var(--block-subtle-dark-background-color);
}

.block--subtle-dark-subtle {
  background-color: var(--block-subtle-dark-subtle-background-color);
}

.block--dark {
  color: var(--block-dark-text-color);
  background-color: var(--block-dark-background-color);
}

.block.topbar {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: var(--grid-gap);
}

/*

Tiles
=====

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

*/
.tile {
  color: var(--tile-text-color);
  background-color: var(--tile-background-color);
  display: flex;
  flex-direction: column;
  min-width: 12ch;
  position: relative;
}

/* 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);
  text-decoration: none;
}
.tile--clickable:before {
  display: none;
}

.tile--clickable:hover,
.tile--clickable:focus-within {
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.12);
  transform: translateY(-0.5rem);
}

/* Raised Tile 

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

*/
.tile--raised {
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.12);
}

.tile--raised-grad {
  border-radius: var(--radius-med);
  display: block;
}
.tile--raised-grad:before {
  --grad-size: 6px;
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  bottom: calc(var(--grad-size) * -1);
  background: var(--orange-to-red-grad);
  border-radius: var(--radius-med);
  z-index: 0;
  height: calc(100% + var(--grad-size));
}
.tile--raised-grad > .tile__inner {
  position: relative;
  background-color: inherit;
  border-radius: var(--radius-med);
  z-index: 1;
}
.tile--raised-grad.tile--clickable:hover, .tile--raised-grad.tile--clickable:focus-within {
  box-shadow: none;
  transform: none;
}
.tile--raised-grad.tile--clickable:hover .grad-hover-text, .tile--raised-grad.tile--clickable:focus-within .grad-hover-text {
  background: var(--main-nav-text-color--active);
  background-clip: text;
  -webkit-background-clip: text;
  text-fill-color: transparent;
  -webkit-text-fill-color: transparent;
}
.tile--raised-grad.tile--clickable:active {
  transform: translateY(6px);
}
.tile--raised-grad.tile--clickable:active:before {
  --grad-size: 0px;
  transition-property: bottom;
  transition-duration: 3s;
  height: calc(100% + 1px);
}

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

/* Make the tile only be as tall as it's content */
.tile--snug-height {
  height: -moz-fit-content;
  height: fit-content;
}

.tile--max-834 {
  max-width: 834px;
}

.tile--full-height,
.tile--full-height .tile__inner {
  height: 100%;
}

.tile--rounded {
  border-radius: var(--radius-med);
  overflow: hidden;
}

.tile--bordered {
  border: 1px solid var(--tile-border-color);
}

.tile--bordered--subtle {
  border-color: var(--tile-subtle-background-color);
}

.tile--subtle {
  color: var(--tile-subtle-text-color);
  background-color: var(--tile-subtle-background-color);
}

.tile--loud {
  color: var(--tile-loud-text-color);
  background-color: var(--tile-loud-background-color);
}

/* 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: var(--space-m);
}

.tile__inner--padded-small {
  padding: var(--space-s);
}

.tile__inner--padded-xsmall {
  padding: var(--space-2xs);
}

.tile__inner--padded-large {
  padding: var(--space-l);
}

/*

Animations
=====================

*/
@keyframes fade-in {
  to {
    opacity: 1;
  }
}
@keyframes slide-in-right {
  from {
    transform: translateX(-100%);
  }
}
@keyframes slide-in-left {
  from {
    transform: translateX(150%);
  }
}
:where(html) {
  --animation-fade-in: fade-in 1.25s cubic-bezier(.55, 0, .3, 1);
  --animation-slide-in-right: slide-in-right .5s cubic-bezier(.55, 0, 1, 1);
  --animation-slide-in-left: slide-in-left .5s cubic-bezier(.55, 0, 1, 1);
}

@media (prefers-reduced-motion: no-preference) {
  .fade-in {
    opacity: 0;
    animation: var(--animation-fade-in) forwards;
  }
  .js .fade-slide-in-left {
    opacity: 0;
  }
  .js .fade-slide-in-left.active {
    opacity: 0;
    animation: var(--animation-fade-in) forwards, var(--animation-slide-in-left) forwards;
    animation-timing-function: cubic-bezier(0.5, -0.75, 0.75, 1);
    animation-duration: 0.65s;
  }
}
/* Three Image Float In Animation Box */
.three-image-float-in-animation-box :nth-child(1).fade-slide-in-left.active {
  animation-duration: 1s;
}
.three-image-float-in-animation-box :nth-child(2).fade-slide-in-left.active {
  animation-duration: 1.45s;
}
.three-image-float-in-animation-box :nth-child(3).fade-slide-in-left.active {
  animation-duration: 1.65s;
}

/*

Alerts
=====================

<div class="alert alert--success">
	<p><strong>Well done!</strong> You successfully read this important alert message.</p>
</div>

<div class="alert alert--info">
	<p><strong>Heads up!</strong> This alert needs your attention, but it's not super important.</p>
</div>

<div class="alert alert--warning">
	<p><strong>Warning!</strong> Best check yo self, you're not looking too good.</p>
</div>

<div class="alert alert--danger">
	<p><strong>Oh snap!</strong> Change a few things up and try submitting again.</p>
</div>

*/
.alert {
  border: 1px solid rgba(0, 0, 0, 0);
}

.alert--success {
  color: var(--success-color);
  background-color: var(--success-bg-color);
}

.alert--info {
  color: var(--info-color);
  background-color: var(--info-bg-color);
}

.alert--warning {
  color: var(--warning-color);
  background-color: var(--warning-bg-color);
}

.alert--danger {
  color: var(--danger-color);
  background-color: var(--danger-bg-color);
}

/*

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-block-start: 1px solid;
  overflow-wrap: break-word;
  padding-inline-end: var(--space-m);
  text-align: left;
  vertical-align: top;
  white-space: nowrap;
}

th {
  border-block-start: 0.0625rem solid;
  font-weight: bold;
  padding-block-end: var(--space-m);
}

td {
  border-color: rgba(102, 96, 102, 0.5);
  padding-block-end: var(--space-s);
}

caption {
  caption-side: bottom;
  color: var(--table-caption-color);
  font-size: 0.75em;
  line-height: 1.3334;
  text-align: left;
  margin: var(--space-m) 0;
}

.rwd-table {
  min-width: 300px;
}
.rwd-table tr {
  border-block-start: 1px solid #ddd;
  border-block-end: 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-block-start: var(--space-s);
}
.rwd-table td:last-child {
  padding-block-end: var(--space-s);
}
.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: var(--space-s) var(--space-m);
  }
  .rwd-table th:first-child,
  .rwd-table td:first-child {
    padding-inline-start: 0;
  }
  .rwd-table th:last-child,
  .rwd-table td:last-child {
    padding-inline-end: 0;
  }
}

/*------------------------------------*\
	$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-flex; /* [1] */
  vertical-align: middle; /* [2] */
  align-items: center;
  white-space: nowrap; /* [3] */
  font-family: inherit; /* [4] */
  font-weight: 700;
  font-size: 100%; /* [4] */
  cursor: pointer; /* [5] */
  border: none; /* [6] */
  margin: 0; /* [6] */
  padding-block-start: 0; /* [6] */
  padding-block-end: 0; /* [6] */
  padding-inline-start: 1.5em; /* [7] */
  padding-inline-end: 1.5em; /* [7] */
  line-height: 3; /* [7] */
  height: 3em; /* [7] */
  background: var(--button-bg-color); /* [8] */
  border-radius: var(--radius-sml); /* [8] */
  overflow: visible; /* [9] */
  text-decoration: none; /* [10] */
  color: var(--button-color);
  transition: all 0.2s ease-out;
}
.btn:hover,
.btn:active,
.btn:focus {
  text-decoration: none; /* [10] */
  color: var(--button-color); /* [11] */
  background: var(--button-bg-color-hover);
}
.btn:active {
  box-shadow: -2px 4px 6px rgba(0, 0, 0, 0.7) inset;
}
.btn::-moz-focus-inner {
  border: 0;
  padding: 0;
}

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

.btn--large {
  padding-inline-start: 2em;
  padding-inline-end: 2em;
  line-height: 4;
  height: 4em;
}

.btn--huge {
  padding-inline-start: 3em;
  padding-inline-end: 3em;
  line-height: 5;
  height: 5em;
}

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

/*------------------------------------*\
	$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-inline-start: 0.5em;
  padding-inline-end: 0.5em;
}

/*------------------------------------*\
	$FUNCTIONS
\*------------------------------------*/
/**
 * Button function modifiers.
 */
.btn--secondary {
  color: var(--secondary-button-color);
  background: var(--secondary-button-bg-color);
  border: solid var(--secondary-button-border-width) var(--secondary-button-border-color);
}
.btn--secondary:hover,
.btn--secondary:focus,
.btn--secondary:active {
  color: var(--secondary-button-color-hover);
  background: var(--secondary-button-bg-color-hover);
  border-color: var(--secondary-button-border-color-hover);
}

/**
 * Positive actions; e.g. sign in, purchase, submit, etc.
 */
.btn--positive {
  background: #4A993E;
  color: #fff;
}

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

/**
 * 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: #ddd;
  color: #777;
  cursor: default; /* [1] */
  box-shadow: none;
}

/*------------------------------------*\
	$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;
}

.field__hint,
.field__label {
  display: block;
  margin-block-end: 2px;
}

.field__hint {
  font-size: var(--step--1);
}

label > i {
  font-style: italic;
}

legend {
  font-size: var(--step-1);
}

legend + * {
  --flow-space: 0.3em;
}

fieldset > legend {
  padding-block-start: var(--space-2xs);
}

input:not([type=submit]):focus,
textarea:focus,
select:focus {
  outline: none;
}

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;
  background-color: var(--input-background-color);
}
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=date],
input[type=email],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
input[type=url],
textarea,
select {
  border-radius: var(--radius-sml);
  border: 1px solid var(--input-border-color);
  padding: var(--space-s);
  width: 100%;
}
input[type=date]:hover, input[type=date]:focus,
input[type=email]:hover,
input[type=email]:focus,
input[type=password]:hover,
input[type=password]:focus,
input[type=search]:hover,
input[type=search]:focus,
input[type=tel]:hover,
input[type=tel]:focus,
input[type=text]:hover,
input[type=text]:focus,
input[type=url]:hover,
input[type=url]:focus,
textarea:hover,
textarea:focus,
select:hover,
select:focus {
  border-color: var(--input-border-color-hover);
}
input[type=date]:focus, input[type=date]:active,
input[type=email]:focus,
input[type=email]:active,
input[type=password]:focus,
input[type=password]:active,
input[type=search]:focus,
input[type=search]:active,
input[type=tel]:focus,
input[type=tel]:active,
input[type=text]:focus,
input[type=text]:active,
input[type=url]:focus,
input[type=url]:active,
textarea:focus,
textarea:active,
select:focus,
select:active {
  background-color: var(--input-background-color-hover);
}

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

select {
  -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;
}

/* 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="sinput-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__content {
  border-start-end-radius: 0 !important;
  border-end-end-radius: 0 !important;
}

.input-group__button-container .btn {
  border-start-start-radius: 0 !important;
  border-end-start-radius: 0 !important;
}

.wpcf7,
.wpcf7-form {
  --grid-gap: var(--space-s);
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: var(--grid-gap);
}

.cf-response {
  min-width: 100%;
}

.wpcf7-acceptance label {
  display: inline-block;
  font-weight: normal;
  line-height: 1.5;
  text-transform: none;
}

.wpcf7-acceptance [type=checkbox] {
  margin-inline-start: -1em;
}

.wpcf7 form .wpcf7-response-output,
.mc4wp-response > .mc4wp-alert {
  margin-block-start: var(--space-xs);
  margin-block-end: var(--space-xs);
  margin-inline-start: 0;
  margin-inline-end: 0;
  color: #fff;
  padding: var(--space-s);
  border-radius: var(--radius-sml);
}

.wpcf7 form.init .wpcf7-response-output {
  display: none;
}

.wpcf7-not-valid-tip,
.wpcf7-not-valid-tip-no-ajax {
  color: var(--danger-strong-color);
}

input.wpcf7-not-valid,
textarea.wpcf7-not-valid {
  border-color: var(--danger-strong-color);
}

input.wpcf7-not-valid[type=text],
input.wpcf7-not-valid[type=email],
input.wpcf7-not-valid[type=tel],
input.wpcf7-not-valid[type=password] {
  background-image: url("../img/form__item--error.svg");
  background-position: center right 8px;
  background-repeat: no-repeat;
  background-size: 20px;
  padding-inline-end: var(--space-m);
}

.wpcf7 form .wpcf7-response-output {
  background-color: #000;
  border: 4px solid #000;
}

.wpcf7 form.invalid .wpcf7-response-output,
.mc4wp-response > .mc4wp-error {
  color: var(--danger-color);
  background-color: var(--danger-bg-color);
  border-color: var(--danger-color);
}

.wpcf7 form.sent .wpcf7-response-output,
.mc4wp-response > .mc4wp-success {
  color: var(--success-color);
  background-color: var(--success-bg-color);
  border-color: var(--success-color);
}

.wpcf7 form .wpcf7-display-none {
  display: none;
}

.wpcf7 .wpcf7-form > .cf7-response {
  margin-block-start: 0;
}

.wpcf7 .wpcf7-form > .cf7-response > .wpcf7-response-output[aria-hidden=false] {
  margin-block-start: var(--space-s);
}

/*

Search Forms
============

	<form action="/" class="search">
		<fieldset>
			<input type="text" placeholder="Search" />
			<button type="submit">Go!</button>
		</fieldset>
	</form>

*/
.search-form {
  max-width: 75ch;
}

/*

Widgets
=======

Put your 'widgets' here


<div class="widget owl-spacing widget_archive">
	<header class="widget__header">
		<h3 class="widget__title cramp">Archives</h3>
	</header>
	<ul>
		<li><a href="http://template-site.liam.local/2018/03/">March 2018</a></li>
		<li><a href="http://template-site.liam.local/2018/02/">February 2018</a></li>
		<li><a href="http://template-site.liam.local/2018/01/">January 2018</a></li>
		<li><a href="http://template-site.liam.local/2017/12/">December 2017</a></li>
		<li><a href="http://template-site.liam.local/2017/11/">November 2017</a></li>
		<li><a href="http://template-site.liam.local/2017/10/">October 2017</a></li>
		<li><a href="http://template-site.liam.local/2017/09/">September 2017</a></li>
		<li><a href="http://template-site.liam.local/2017/08/">August 2017</a></li>
	</ul>
</div>



*/
.widget:not(:first-of-type) {
  padding-top: var(space-xl);
}

.widget + .widget {
  border-top: 1px solid;
}

.widget li a {
  display: block;
  padding-bottom: var(space-s);
  padding-top: var(space-s);
}

/******************************************************************
Site Name:
Author:

Stylesheet: WordPress Embeds Stylesheet

******************************************************************/
.wp-block-embed {
  margin-block-end: 1em;
}

.wp-block-embed figcaption {
  color: #555d66;
  font-size: 13px;
  margin-block-end: 1em;
  margin-block-start: 0.5em;
  padding-inline-start: var(--space-xs);
  padding-inline-end: var(--space-xs);
  text-align: center;
}

.wp-block-embed.wp-embed-aspect-1-1 .wp-block-embed__wrapper,
.wp-block-embed.wp-embed-aspect-1-2 .wp-block-embed__wrapper,
.wp-block-embed.wp-embed-aspect-16-9 .wp-block-embed__wrapper,
.wp-block-embed.wp-embed-aspect-18-9 .wp-block-embed__wrapper,
.wp-block-embed.wp-embed-aspect-21-9 .wp-block-embed__wrapper,
.wp-block-embed.wp-embed-aspect-4-3 .wp-block-embed__wrapper,
.wp-block-embed.wp-embed-aspect-9-16 .wp-block-embed__wrapper {
  position: relative;
}

.wp-block-embed.wp-embed-aspect-1-1 .wp-block-embed__wrapper::before,
.wp-block-embed.wp-embed-aspect-1-2 .wp-block-embed__wrapper::before,
.wp-block-embed.wp-embed-aspect-16-9 .wp-block-embed__wrapper::before,
.wp-block-embed.wp-embed-aspect-18-9 .wp-block-embed__wrapper::before,
.wp-block-embed.wp-embed-aspect-21-9 .wp-block-embed__wrapper::before,
.wp-block-embed.wp-embed-aspect-4-3 .wp-block-embed__wrapper::before,
.wp-block-embed.wp-embed-aspect-9-16 .wp-block-embed__wrapper::before {
  content: "";
  display: block;
  padding-block-start: 50%;
}

.wp-block-embed.wp-embed-aspect-1-1 .wp-block-embed__wrapper iframe,
.wp-block-embed.wp-embed-aspect-1-2 .wp-block-embed__wrapper iframe,
.wp-block-embed.wp-embed-aspect-16-9 .wp-block-embed__wrapper iframe,
.wp-block-embed.wp-embed-aspect-18-9 .wp-block-embed__wrapper iframe,
.wp-block-embed.wp-embed-aspect-21-9 .wp-block-embed__wrapper iframe,
.wp-block-embed.wp-embed-aspect-4-3 .wp-block-embed__wrapper iframe,
.wp-block-embed.wp-embed-aspect-9-16 .wp-block-embed__wrapper iframe {
  bottom: 0;
  height: 100%;
  position: absolute;
  inset-block-start: 0;
  inset-inline-end: 0;
  inset-inline-start: 0;
  width: 100%;
}

.wp-block-embed.wp-embed-aspect-21-9 .wp-block-embed__wrapper::before {
  padding-block-start: 42.85%;
}

.wp-block-embed.wp-embed-aspect-18-9 .wp-block-embed__wrapper::before {
  padding-block-start: 50%;
}

.wp-block-embed.wp-embed-aspect-16-9 .wp-block-embed__wrapper::before {
  padding-block-start: 56.25%;
}

.wp-block-embed.wp-embed-aspect-4-3 .wp-block-embed__wrapper::before {
  padding-block-start: 75%;
}

.wp-block-embed.wp-embed-aspect-1-1 .wp-block-embed__wrapper::before {
  padding-block-start: 100%;
}

.wp-block-embed.wp-embed-aspect-9-6 .wp-block-embed__wrapper::before {
  padding-block-start: 66.66%;
}

.wp-block-embed.wp-embed-aspect-1-2 .wp-block-embed__wrapper::before {
  padding-block-start: 200%;
}

/******************************************************************

Stylesheet: WordPress Gallery Stylesheet

<ul class="wp-block-gallery columns-3 is-cropped">
	<li class="blocks-gallery-item">
		<figure>
		<img src="example.jpg" class="wp-image-75">
		</figure>
	</li>
	<li class="blocks-gallery-item">
		<figure>
			<img src="image6.jpg" class="wp-image-76">
		</figure>
	</li>
	<li class="blocks-gallery-item">
		<figure>
			<img src="shop-bg.jpg" class="wp-image-77">
			<figcaption>Gallery background</figcaption>
		</figure>
	</li>
	<li class="blocks-gallery-item">
		<figure>
			<img src="gallery-bg.jpg" class="wp-image-78">
			<figcaption>Shop background</figcaption>
		</figure>
	</li>
</ul>

******************************************************************/
.wp-block-gallery {
  display: flex;
  flex-wrap: wrap;
  list-style-type: none;
  padding: 0;
}

.wp-block-gallery .blocks-gallery-image,
.wp-block-gallery .blocks-gallery-item {
  margin: 0 var(--space-m) var(--space-m) 0;
  display: flex;
  flex-grow: 1;
  flex-direction: column;
  justify-content: center;
  position: relative;
}

.wp-block-gallery .blocks-gallery-image figure,
.wp-block-gallery .blocks-gallery-item figure {
  margin: 0;
  height: 100%;
}

@supports (position: sticky) {
  .wp-block-gallery .blocks-gallery-image figure,
  .wp-block-gallery .blocks-gallery-item figure {
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
  }
}
.wp-block-gallery .blocks-gallery-image img,
.wp-block-gallery .blocks-gallery-item img {
  display: block;
  max-width: 100%;
  height: auto;
}

.wp-block-gallery .blocks-gallery-image img,
.wp-block-gallery .blocks-gallery-item img {
  width: 100%;
}

@supports (position: sticky) {
  .wp-block-gallery .blocks-gallery-image img,
  .wp-block-gallery .blocks-gallery-item img {
    width: auto;
  }
}
.wp-block-gallery .blocks-gallery-image figcaption,
.wp-block-gallery .blocks-gallery-item figcaption {
  position: absolute;
  inset-block-end: 0;
  width: 100%;
  max-height: 100%;
  overflow: auto;
  padding: 40px 10px 5px;
  color: #fff;
  text-align: center;
  font-size: 13px;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.7) 0, rgba(0, 0, 0, 0.3) 60%, transparent);
}

.wp-block-gallery .blocks-gallery-image figcaption img,
.wp-block-gallery .blocks-gallery-item figcaption img {
  display: inline;
}

.wp-block-gallery.is-cropped .blocks-gallery-image a,
.wp-block-gallery.is-cropped .blocks-gallery-image img,
.wp-block-gallery.is-cropped .blocks-gallery-item a,
.wp-block-gallery.is-cropped .blocks-gallery-item img {
  width: 100%;
}

@supports (position: sticky) {
  .wp-block-gallery.is-cropped .blocks-gallery-image a,
  .wp-block-gallery.is-cropped .blocks-gallery-image img,
  .wp-block-gallery.is-cropped .blocks-gallery-item a,
  .wp-block-gallery.is-cropped .blocks-gallery-item img {
    height: 100% !important;
    flex: 1;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.wp-block-gallery .blocks-gallery-image,
.wp-block-gallery .blocks-gallery-item {
  width: calc((100% - 16px) / 2);
}

.wp-block-gallery .blocks-gallery-image:nth-of-type(even),
.wp-block-gallery .blocks-gallery-item:nth-of-type(even) {
  margin-inline-end: 0;
}

.wp-block-gallery.columns-1 .blocks-gallery-image,
.wp-block-gallery.columns-1 .blocks-gallery-item {
  width: 100%;
  margin-inline-end: 0;
}

@media all and (min-width: 35.5em) {
  .wp-block-gallery.columns-3 .blocks-gallery-image,
  .wp-block-gallery.columns-3 .blocks-gallery-item {
    width: calc((100% - 32px) / 3);
    margin-inline-end: 16px;
  }
  .wp-block-gallery.columns-4 .blocks-gallery-image,
  .wp-block-gallery.columns-4 .blocks-gallery-item {
    width: calc((100% - 48px) / 4);
    margin-inline-end: 16px;
  }
  .wp-block-gallery.columns-5 .blocks-gallery-image,
  .wp-block-gallery.columns-5 .blocks-gallery-item {
    width: calc((100% - 64px) / 5);
    margin-inline-end: 16px;
  }
  .wp-block-gallery.columns-6 .blocks-gallery-image,
  .wp-block-gallery.columns-6 .blocks-gallery-item {
    width: calc((100% - 80px) / 6);
    margin-inline-end: 16px;
  }
  .wp-block-gallery.columns-7 .blocks-gallery-image,
  .wp-block-gallery.columns-7 .blocks-gallery-item {
    width: calc((100% - 96px) / 7);
    margin-inline-end: 16px;
  }
  .wp-block-gallery.columns-8 .blocks-gallery-image,
  .wp-block-gallery.columns-8 .blocks-gallery-item {
    width: calc((100% - 112px) / 8);
    margin-inline-end: 16px;
  }
  .wp-block-gallery.columns-1 .blocks-gallery-image:nth-of-type(1n),
  .wp-block-gallery.columns-1 .blocks-gallery-item:nth-of-type(1n) {
    margin-inline-end: 0;
  }
  .wp-block-gallery.columns-2 .blocks-gallery-image:nth-of-type(2n),
  .wp-block-gallery.columns-2 .blocks-gallery-item:nth-of-type(2n) {
    margin-inline-end: 0;
  }
  .wp-block-gallery.columns-3 .blocks-gallery-image:nth-of-type(3n),
  .wp-block-gallery.columns-3 .blocks-gallery-item:nth-of-type(3n) {
    margin-inline-end: 0;
  }
  .wp-block-gallery.columns-4 .blocks-gallery-image:nth-of-type(4n),
  .wp-block-gallery.columns-4 .blocks-gallery-item:nth-of-type(4n) {
    margin-inline-end: 0;
  }
  .wp-block-gallery.columns-5 .blocks-gallery-image:nth-of-type(5n),
  .wp-block-gallery.columns-5 .blocks-gallery-item:nth-of-type(5n) {
    margin-inline-end: 0;
  }
  .wp-block-gallery.columns-6 .blocks-gallery-image:nth-of-type(6n),
  .wp-block-gallery.columns-6 .blocks-gallery-item:nth-of-type(6n) {
    margin-inline-end: 0;
  }
  .wp-block-gallery.columns-7 .blocks-gallery-image:nth-of-type(7n),
  .wp-block-gallery.columns-7 .blocks-gallery-item:nth-of-type(7n) {
    margin-inline-end: 0;
  }
  .wp-block-gallery.columns-8 .blocks-gallery-image:nth-of-type(8n),
  .wp-block-gallery.columns-8 .blocks-gallery-item:nth-of-type(8n) {
    margin-inline-end: 0;
  }
}
.wp-block-gallery .blocks-gallery-image:last-child,
.wp-block-gallery .blocks-gallery-item:last-child {
  margin-inline-end: 0;
}

.wp-block-gallery .blocks-gallery-item.has-add-item-button {
  width: 100%;
}

.wp-block-gallery.alignleft,
.wp-block-gallery.alignright {
  max-width: 305px;
  width: 100%;
}

.wp-block-gallery.aligncenter,
.wp-block-gallery.alignleft,
.wp-block-gallery.alignright {
  display: flex;
}

.wp-block-gallery.aligncenter .blocks-gallery-item figure {
  justify-content: center;
}

/******************************************************************
Site Name:
Author:

Stylesheet: WordPress Media Stylesheet

******************************************************************/
/* Alignment */
.alignleft {
  /*rtl:ignore*/
  float: left;
  /*rtl:ignore*/
  margin-inline-end: var(--space-m);
  margin-block-end: var(--space-m);
}

.alignright {
  /*rtl:ignore*/
  float: right;
  margin-block-end: var(--space-m);
  /*rtl:ignore*/
  margin-inline-start: var(--space-m);
}

.aligncenter {
  clear: both;
  display: block;
  margin-inline-end: auto;
  margin-block-end: 0;
  margin-inline-start: auto;
}

img.alignnone {
  margin: 0.3125em 0 var(--space-m);
}

.content__inner .alignwide,
.content__inner .alignfull {
  clear: both;
  position: relative;
}

.content__inner .alignwide {
  margin-inline-start: auto;
  margin-inline-end: auto;
  max-width: 100vw;
}
@media all and (min-width: 64em) {
  .content__inner .alignwide {
    margin-inline-start: -50px;
    margin-inline-end: -50px;
    max-width: calc(var(--max-site-width) + 100px);
  }
}
@media all and (min-width: 75em) {
  .content__inner .alignwide {
    margin-inline-start: -75px;
    margin-inline-end: -75px;
    max-width: calc(var(--max-site-width) + 100px);
  }
}

.content__inner .alignfull {
  margin-inline-start: calc(-50vw + 50%);
  margin-inline-end: calc(-50vw + 50%);
  max-width: 100vw;
}

.centered-media-content {
  text-align: center;
}

/* Blog/News Post Images and Captions */
.wp-caption {
  max-width: 100%;
  background: transparent;
  border: none;
}
@media all and (min-width: 48em) {
  .wp-caption.aligncenter {
    position: relative;
    inset-inline-start: calc(var(--size__site-tablet-content) / 2);
    transform: translateX(-50%);
  }
}
@media all and (min-width: 64em) {
  .wp-caption.aligncenter {
    inset-inline-start: calc(var(--size__site-desktop-content) / 2);
  }
}

.wp-caption img[class*=wp-image-] {
  display: block;
  margin-inline-start: auto;
  margin-inline-end: auto;
}

.wp-block-image figcaption {
  padding-inline-start: var(--space-xs);
  padding-inline-end: var(--space-xs);
}

.wp-caption-dt {
  margin: 0;
}

.wp-caption .wp-caption-text,
.wp-caption-dd {
  color: var(--meta-color);
  font-style: italic;
  padding-block-start: var(--space-s);
}

.mceTemp + ul,
.mceTemp + ol {
  list-style-position: inside;
}

/**
* Globals - Styling for global elements which appear on every page of the site
* ------------------ **/
.g-logo {
  display: inline-block;
  margin-inline-start: auto;
  margin-inline-end: auto;
  color: var(--logo-color);
}

.g-logo--footer {
  color: vart(--white);
  display: block;
  margin-inline-start: auto;
  margin-inline-end: auto;
}

.g-secondary-nav {
  background-color: var(--secondary-nav-background-color);
  color: var(--white);
  padding-block-start: var(--space-s);
  padding-block-end: var(--space-s);
}

.g-secondary-nav__inner {
  justify-content: space-between;
  display: flex;
  flex-direction: column;
}
@media all and (min-width: 48em) {
  .g-secondary-nav__inner {
    flex-direction: row;
  }
}

.g-footer-nav__list {
  list-style: none;
  list-style-image: none;
  margin: 0;
}
@media all and (min-width: 48em) {
  .g-footer-nav__list {
    display: flex;
    justify-content: space-between;
  }
}

/* Hero Banner */
/**



**/
.hero {
  --color-1: #4c4c4c;
  --color-2: #363636;
  --max-hero-height: 600px;
  display: grid;
  overflow: hidden;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  background: url("../img/grunge-bg.webp"), linear-gradient(90deg, var(--color-1) 0%, var(--color-2) 70%);
  background-blend-mode: multiply;
}
@media all and (min-width: 48em) {
  .hero {
    max-height: var(--max-hero-height, auto);
  }
}
@media all and (min-width: 106.25em) {
  .hero {
    --max-hero-height: 800px;
  }
}
.hero.grey-blue-bg {
  --color-1: #364458;
  --color-2: #182638;
}

[data-theme=dark] .hero:not(.grey-blue-bg) {
  --color-1: #32134A;
  --color-2: #224A83;
}

.hero__content {
  z-index: 10;
  color: var(--block-alt-text-color);
  display: flex;
  justify-content: center;
  flex-direction: column;
  padding: var(--space-l);
  grid-column: 1/-1;
  position: relative;
  overflow: hidden;
}
@media all and (min-width: 48em) {
  .hero__content {
    grid-column-start: 1;
    grid-column-end: 4;
    grid-row-start: 1;
    grid-row-end: 2;
    order: -1;
    max-height: var(--max-hero-height, auto);
  }
}
@media all and (min-width: 75em) {
  .hero__content {
    padding: var(--space-xl);
  }
}
@media all and (min-width: 96.875em) {
  .hero__content {
    padding-inline-start: var(--space-2xl);
    padding-inline-end: var(--space-2xl);
  }
}

.hero__image {
  z-index: 8;
  overflow: visible;
  -o-object-fit: cover;
     object-fit: cover;
  height: 100% !important;
  width: 100%;
  grid-column: 1/-1;
}
@media all and (min-width: 48em) {
  .hero__image {
    grid-column-start: 4;
    grid-column-end: 7;
    grid-row-start: 1;
    grid-row-end: 2;
    max-height: var(--max-hero-height, auto);
  }
}

/*
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.
*/
/* Hero Banner */
/**

<figure class="hero-banner hero-banner--basic">
	<img src="hero-banner-default.jpg" class="attachment-full-width-hero-banner size-full-width-hero-banner" alt="">
</figure>

**/
.hero-banner {
  background-color: #000;
  min-height: 100px;
  position: relative;
  width: 100%;
}

@media all and (max-width: 47.9375em) {
  .sidebar--primary {
    border-top: 1px solid;
    padding-top: var(--space-l);
  }
}
@media all and (min-width: 48em) {
  .sidebar--primary {
    border-left: 1px solid;
    padding-left: var(--space-m);
  }
}
@media all and (min-width: 64em) {
  .sidebar--primary {
    padding-left: var(--space-l);
  }
}

.owl-bordered > * + * {
  border-top: 1px solid;
}

.restricted-column {
  max-width: 65ch;
}

@media all and (min-width: 48em) {
  .section--narrow {
    margin-left: auto;
    margin-right: auto;
    max-width: 90%;
  }
}
@media all and (min-width: 64em) {
  .section--narrow {
    max-width: 80%;
  }
}

.columns {
  -moz-column-gap: 2em;
       column-gap: 2em;
}

.columns--1 {
  width: 100%;
}

.columns--2 {
  -moz-columns: 18.75rem 2;
       columns: 18.75rem 2;
}

.columns--3 {
  -moz-columns: 18.75rem 3;
       columns: 18.75rem 3;
}

.image-list__item img {
  width: 100%;
}

.email-us-cta > strong {
  display: block;
}

/* Accreditations */
.accreditations {
  align-items: normal;
}

.accreditation {
  flex-basis: 228px;
  align-items: normal;
  padding: var(--space-3xs);
  justify-content: center;
}
.accreditation img {
  margin-right: auto;
  margin-left: auto;
  display: block;
}

/* Three Image Float in Animation Box */
.three-image-float-in-animation-box {
  display: grid;
  place-items: start;
  grid-template-columns: repeat(6, 1fr);
  grid-template-rows: repeat(6, 1fr);
  max-height: 550px;
}
@media all and (min-width: 64em) {
  .three-image-float-in-animation-box {
    max-height: 726px;
  }
}

.three-image-float-in-animation-box > :nth-child(1) {
  grid-column: 1/span 4;
  grid-row: 1/span 3;
  aspect-ratio: 1/1;
}
.three-image-float-in-animation-box > :nth-child(2) {
  grid-column: 3/span 4;
  grid-row: 3/span 3;
}
.three-image-float-in-animation-box > :nth-child(3) {
  grid-column: 2/span 3;
  grid-row: 5/span 2;
}

/*

Grids
=====

*/
/* 
https://www.youtube.com/watch?v=LEkFckg7sfw 
AND
https://codepen.io/kevinpowell/pen/abMLmeO?editors=1100
*/
.grid {
  /* user setting */
  --min-column-size: 200px;
  --column-count: 4;
  --gap: var(--space-l);
  /* calculations */
  --breakpoint: calc(var(--min-column-size) * var(--column-count) + (var(--gap) * (var(--column-count) - 1)) );
  --column-size: calc((100% / var(--column-count)) - var(--gap));
  display: grid;
  gap: var(--gap);
  grid-template-columns: repeat(auto-fit, minmax(min(max(var(--column-size), (100% - var(--breakpoint)) * -999), 100%), 1fr));
}

.grid--min-col-25ch {
  --min-column-size: 25ch;
}

.grid--min-col-30ch {
  --min-column-size: 30ch;
}

.grid--cols-2 {
  /* user setting */
  --column-count: 2;
}
.grid--cols-2.reversed > *:first-child {
  order: 1;
}
@media all and (min-width: 42.625em) {
  .grid--cols-2.reversed-from-small-med-up > *:first-child {
    order: 1;
  }
}

.grid--cols-3 {
  /* user setting */
  --column-count: 3;
}

@media all and (max-width: 47.9375em) {
  .grid--cols-2-medium-down {
    /* user setting */
    --column-count: 2;
  }
}

@media all and (max-width: 63.9375em) {
  .grid--cols-2-large-down {
    /* user setting */
    --column-count: 2;
  }
}

@media all and (min-width: 48em) and (max-width: 63.9375em) {
  .grid--cols-3-medium-large {
    /* user setting */
    --column-count: 3;
  }
}

.grid--child-max-285 > * {
  max-width: 285px;
}

/*

Header
======

Styles for the header element

*/
.site-header {
  color: var(--header-color);
  position: relative;
  padding-block-start: var(--space-xs);
  padding-block-end: var(--space-xs);
}
@media all and (min-width: 48em) {
  .site-header {
    padding-block-start: var(--space-m);
    padding-block-end: var(--space-m);
  }
}

.site-header__brand_and_nav {
  display: flex;
  justify-content: space-between;
  gap: 0 var(--grid-gap);
}
@media all and (max-width: 47.9375em) {
  .site-header__brand_and_nav {
    flex-direction: column;
    --grid-gap: var(--space-s);
  }
}
@media all and (min-width: 48em) {
  .site-header__brand_and_nav {
    align-items: center;
  }
}

.main-nav__search-launcher-box {
  height: 100%;
}
@media all and (max-width: 47.9375em) {
  .main-nav__search-launcher-box {
    padding-block-start: 1rem;
  }
}
@media all and (min-width: 48em) {
  .main-nav__search-launcher-box {
    border-inline-start: 1px solid var(--rule-color-dark);
    padding-inline-start: 1rem;
  }
}

.site-header__search {
  display: none;
}
.site-header__search.active {
  --height-offset: 4.5rem;
  display: flex;
  position: absolute;
  left: 0;
  right: 0;
  padding-block-start: var(--space-s);
  padding-block-end: var(--space-s);
  padding-inline-start: var(--space-s);
  padding-inline-end: var(--space-s);
  height: var(--height-offset);
  bottom: calc(-1 * var(--height-offset));
  background-color: var(--site-search-header-background-color);
  flex-direction: column;
  justify-content: center;
  z-index: 100;
}

/*

Main
====

Styles for the main element

*/
main {
  background-color: var(--default-background-color);
}

/*

Aside
=====

Styles for the aside element

*/
/*

Footer
======

Styles for the footer element

*/
.site-footer {
  background: var(--footer-background-color);
  color: var(--footer-text-color);
  padding-block-start: var(--space-l);
  padding-block-end: var(--space-m);
  position: relative;
  flex-grow: 1;
}
@media all and (min-width: 64em) {
  .site-footer {
    padding-block-start: var(--space-2xl);
  }
}
.site-footer:after {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  content: "";
  width: 100%;
  height: 2px;
  display: block;
  background-image: var(--orange-to-red-grad);
}

.site-footer__top {
  display: flex;
  gap: var(--grid-gap);
  justify-content: space-between;
}
@media all and (max-width: 47.9375em) {
  .site-footer__top {
    flex-wrap: wrap;
  }
}
.site-footer__top > * {
  flex: 1 1 250px;
}

/* Contact Box */
.site-footer__contact-box {
  flex-basis: 580px;
}

.site-footer__contact-box > ul {
  -moz-columns: 20ch auto;
       columns: 20ch auto;
}

.site-footer__contact-box > ul > li {
  -moz-column-break-inside: avoid;
       break-inside: avoid-column;
}

.site-footer__address-social-box {
  min-width: 180px;
}