/* ------------------------------------------------

FONTS

Brand Guidelines:

Poppins - Long headings
Brooklyn - Short headings and titles (All caps)
Classical - Important headings and single callouts
Libre Franklin - Body copy

-------------------------------------------------*/

/* POPPINS */

/* poppins - black */
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 900;
  src: url("../../static/fonts/Poppins/Poppins-Black.ttf") format("truetype");
}
/* poppins - black italic */
@font-face {
  font-family: "Poppins";
  font-style: italic;
  font-weight: 900;
  src: url("../../static/fonts/Poppins/Poppins-BlackItalic.ttf") format("truetype");
}
/* poppins - extra bold */
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 800;
  src: url("../../static/fonts/Poppins/Poppins-ExtraBold.ttf") format("truetype");
}
/* poppins - extra bold italic */
@font-face {
  font-family: "Poppins";
  font-style: italic;
  font-weight: 800;
  src: url("../../static/fonts/Poppins/Poppins-ExtraBoldItalic.ttf") format("truetype");
}
/* poppins - bold */
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 700;
  src: url("../../static/fonts/Poppins/Poppins-Bold.ttf") format("truetype");
}
/* poppins - bold italic */
@font-face {
  font-family: "Poppins";
  font-style: italic;
  font-weight: 700;
  src: url("../../static/fonts/Poppins/Poppins-BoldItalic.ttf") format("truetype");
}
/* poppins - semibold */
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 600;
  src: url("../../static/fonts/Poppins/Poppins-SemiBold.ttf") format("truetype");
}
/* poppins - semibold italic */
@font-face {
  font-family: "Poppins";
  font-style: italic;
  font-weight: 600;
  src: url("../../static/fonts/Poppins/Poppins-SemiBoldItalic.ttf") format("truetype");
}
/* poppins - medium */
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 500;
  src: url("../../static/fonts/Poppins/Poppins-Medium.ttf") format("truetype");
}
/* poppins - medium italic */
@font-face {
  font-family: "Poppins";
  font-style: italic;
  font-weight: 500;
  src: url("../../static/fonts/Poppins/Poppins-MediumItalic.ttf") format("truetype");
}
/* poppins - regular */
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 400;
  src: url("../../static/fonts/Poppins/Poppins-Regular.ttf") format("truetype");
}
/* poppins - regular italic */
@font-face {
  font-family: "Poppins";
  font-style: italic;
  font-weight: 400;
  src: url("../../static/fonts/Poppins/Poppins-Italic.ttf") format("truetype");
}
/* poppins - light */
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 300;
  src: url("../../static/fonts/Poppins/Poppins-Light.ttf") format("truetype");
}
/* poppins - light italic */
@font-face {
  font-family: "Poppins";
  font-style: italic;
  font-weight: 300;
  src: url("../../static/fonts/Poppins/Poppins-LightItalic.ttf") format("truetype");
}
/* poppins - extra light */
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 200;
  src: url("../../static/fonts/Poppins/Poppins-ExtraLight.ttf") format("truetype");
}
/* poppins - extra light italic */
@font-face {
  font-family: "Poppins";
  font-style: italic;
  font-weight: 200;
  src: url("../../static/fonts/Poppins/Poppins-ExtraLightItalic.ttf") format("truetype");
}
/* poppins - thin */
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 100;
  src: url("../../static/fonts/Poppins/Poppins-Thin.ttf") format("truetype");
}
/* poppins - thin italic */
@font-face {
  font-family: "Poppins";
  font-style: italic;
  font-weight: 100;
  src: url("../../static/fonts/Poppins/Poppins-ThinItalic.ttf") format("truetype");
}

/* LIBRE FRANKLIN */

/* librefranklin */
@font-face {
  font-family: "Libre Franklin";
  font-style: normal;
  src: url("../../static/fonts/Libre Franklin/LibreFranklin-VariableFont_wght.ttf") format("truetype");
}
/* librefranklin - italic */
@font-face {
  font-family: "Libre Franklin";
  font-style: italic;
  src: url("../../static/fonts/Libre Franklin/LibreFranklin-Italic-VariableFont_wght.ttf") format("truetype");
}

/* CLASSICAL */

/* classical - regular */
/* @font-face {
  font-family: "Classical";
  font-style: normal;
  font-weight: 400;
  src: url("../../static/fonts/Classical/Classical.otf") format("opentype");
} */

/* BROOKLYN */

/* Brooklyn - Heavy */
@font-face {
  font-family: "Brooklyn";
  font-style: normal;
  font-weight: 900;
  src: url("../../static/fonts/Brooklyn/Brooklyn-Heavy.otf") format("opentype");
}
/* Brooklyn - Heavy Italic */
@font-face {
  font-family: "Brooklyn";
  font-style: italic;
  font-weight: 900;
  src: url("../../static/fonts/Brooklyn/Brooklyn-HeavyItalic.otf") format("opentype");
}
/* Brooklyn - SemiBold */
@font-face {
  font-family: "Brooklyn";
  font-style: normal;
  font-weight: 600;
  src: url("../../static/fonts/Brooklyn/Brooklyn-SemiBold.otf") format("opentype");
}
/* Brooklyn - SemiBold Italic */
@font-face {
  font-family: "Brooklyn";
  font-style: italic;
  font-weight: 600;
  src: url("../../static/fonts/Brooklyn/Brooklyn-SemiBoldItalic.otf") format("opentype");
}
/* Brooklyn - Regular Italic */
@font-face {
  font-family: "Brooklyn";
  font-style: italic;
  font-weight: 400;
  src: url("../../static/fonts/Brooklyn/Brooklyn-Italic.otf") format("opentype");
}

/* SHELBY */

/* Shelby - Regular */
@font-face {
  font-family: "Shelby";
  font-style: normal;
  font-weight: 400;
  src: url("../../static/fonts/Shelby/Shelby.ttf") format("truetype");
}

/* Shelby - Bold */
@font-face {
  font-family: "Shelby";
  font-style: normal;
  font-weight: 700;
  src: url("../../static/fonts/Shelby/Shelby Bold.ttf") format("truetype");
}

/* @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap'); */

/* ------------------------------------------------

COLORS

Brand Color Guidelines:

Primarys:
Greens: pine, coporate green, pistachio, powder
Other: frost, black, cloud, medallion, fire

Secondary variations:

Modern: corporate green, flaxen, fire, pistachio, spruce
Cheerful: corporate green, flaxen, frost, crimson, strawberry
Classic: corporate green, peacock, sky, frost, fire
Polished: corporate green, flaxen, peach, lavender, bubblegum

-------------------------------------------------*/

/* ROOT VARS */

:root {

  /* Brand Colors */
  --pine:#264822;
  --corporategreen:#47773d;
  --pistachio:#9fd4ac;
  --powder:#eaf4e5;
  --frost:#a7d3d3;
  --black:#060706;
  --cloud:#cbcccc;
  --medallion:#ffd33f;
  --fire:#ea5b24;

  --flaxen:#fbab18;
  --spruce:#067a92;
  --crimson:#9f1d21;
  --strawberry:#f15323;
  --peacock:#20597a;
  --sky:#5276ba;
  --peach:#e88873;
  --lavender:#dfd4b4;
  --bubblegum:#efb9c9;
  --white:#ffffff;

  /* Light and Dark versions */
  --dk-cloud:#787879;
  --lt-cloud:#f5f6f7;
  --dk-corporategreen:#325b2b;
  --lt-corporategreen:#669159;
  --dk-fire:#d13f27;
  --lt-fire:#f58564;
  --dk-frost:#68a8a7;
  --lt-frost:#d1eced;
  --dk-medallion:#daaa27;
  --lt-medallion:#ffe599;
  --dk-pine:#192c16;
  --lt-pine:#42623d;
  --dk-pistachio:#61ab73;
  --lt-pistachio:#d1ead7;

  /* Light and Medium */
  --dk-powder:#90bf83;
  --md-powder:#c4e2bc;

  /* RGBA Brand colors used with transparency */
  
  /* locally scoped indicated with _ */
  --_rgba-alpha:1;
  --rgba-pine:rgba(38,72,34,var(--_rgba-alpha));
  --rgba-corporategreen:rgba(71,119,61,var(--_rgba-alpha));
  --rgba-pistachio:rgba(159,212,172,var(--_rgba-alpha));
  --rgba-powder:rgba(234,244,229,var(--_rgba-alpha));
  --rgba-frost:rgba(167,211,211,var(--_rgba-alpha));
  --rgba-black:rgba(6,7,6,var(--_rgba-alpha));
  --rgba-cloud:rgba(203,204,204,var(--_rgba-alpha));
  --rgba-medallion:rgba(255,211,63,var(--_rgba-alpha));
  --rgba-fire:rgba(234,91,36,var(--_rgba-alpha));

  --rgba-flaxen:rgba(251,171,24,var(--_rgba-alpha));
  --rgba-spruce:rgba(6,122,146,var(--_rgba-alpha));
  --rgba-crimson:rgba(159,29,33,var(--_rgba-alpha));
  --rgba-strawberry:rgba(241,83,35,var(--_rgba-alpha));
  --rgba-peacock:rgba(32,89,122,var(--_rgba-alpha));
  --rgba-sky:rgba(82,118,186,var(--_rgba-alpha));
  --rgba-peach:rgba(232,136,115,var(--_rgba-alpha));
  --rgba-lavender:rgba(233,212,180,var(--_rgba-alpha));
  --rgba-bubblegum:rgba(239,185,201,var(--_rgba-alpha));
  --rgba-white:rgba(255,255,255,var(--_rgba-alpha));

  /* Breakpoints */
  --breakpoint-sm: 450px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 1024px;
  --breakpoint-xl: 1280px;

  /* Steps */
  /* @link https://utopia.fyi/type/calculator?c=320,16,1.2,1500,19,1.333,5,2,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l */
  /* Step -2: 11.1111px → 10.6928px */
  --step--2: clamp(0.6683rem, 0.7015rem + -0.0354vw, 0.6944rem);
  /* Step -1: 13.3333px → 14.2536px */
  --step--1: clamp(0.8333rem, 0.8177rem + 0.078vw, 0.8908rem);
  /* Step 0: 16px → 19px */
  --step-0: clamp(1rem, 0.9492rem + 0.2542vw, 1.1875rem);
  /* Step 1: 19.2px → 25.327px */
  --step-1: clamp(1.2rem, 1.0962rem + 0.5192vw, 1.5829rem);
  /* Step 2: 23.04px → 33.7609px */
  --step-2: clamp(1.44rem, 1.2583rem + 0.9086vw, 2.1101rem);
  /* Step 3: 27.648px → 45.0033px */
  --step-3: clamp(1.728rem, 1.4338rem + 1.4708vw, 2.8127rem);
  /* Step 4: 33.1776px → 59.9894px */
  --step-4: clamp(2.0736rem, 1.6192rem + 2.2722vw, 3.7493rem);
  /* Step 5: 39.8131px → 79.9658px */
  --step-5: clamp(2.4883rem, 1.8078rem + 3.4028vw, 4.9979rem);

  /* Spacing */
  /* @link https://utopia.fyi/space/calculator?c=320,16,1.2,1500,19,1.333,5,2,&s=0.75|0.5|0.25,1.5|2|3|4|6|7|8,3xl-6xl&g=s,l,xl,12 */
  /* Space 3xs: 4px → 5px */
  --space-3xs: clamp(0.25rem, 0.2331rem + 0.0847vw, 0.3125rem);
  /* Space 2xs: 8px → 10px */
  --space-2xs: clamp(0.5rem, 0.4661rem + 0.1695vw, 0.625rem);
  /* Space xs: 12px → 14px */
  --space-xs: clamp(0.75rem, 0.7161rem + 0.1695vw, 0.875rem);
  /* Space s: 16px → 19px */
  --space-s: clamp(1rem, 0.9492rem + 0.2542vw, 1.1875rem);
  /* Space m: 24px → 29px */
  --space-m: clamp(1.5rem, 1.4153rem + 0.4237vw, 1.8125rem);
  /* Space l: 32px → 38px */
  --space-l: clamp(2rem, 1.8983rem + 0.5085vw, 2.375rem);
  /* Space xl: 48px → 57px */
  --space-xl: clamp(3rem, 2.8475rem + 0.7627vw, 3.5625rem);
  /* Space 2xl: 64px → 76px */
  --space-2xl: clamp(4rem, 3.7966rem + 1.0169vw, 4.75rem);
  /* Space 3xl: 96px → 114px */
  --space-3xl: clamp(6rem, 5.6949rem + 1.5254vw, 7.125rem);
   /* Space 4xl: 112px → 133px */
  --space-4xl: clamp(7rem, 6.6441rem + 1.7797vw, 8.3125rem);
  /* Space 5xl: 128px → 152px */
  --space-5xl: clamp(8rem, 7.5932rem + 2.0339vw, 9.5rem);

  /* One-up pairs */
  --space-3xs-2xs: clamp(0.25rem, 0.1483rem + 0.5085vw, 0.625rem);
  --space-2xs-xs: clamp(0.5rem, 0.3983rem + 0.5085vw, 0.875rem);
  --space-xs-s: clamp(0.75rem, 0.6314rem + 0.5932vw, 1.1875rem);
  --space-s-m: clamp(1rem, 0.7797rem + 1.1017vw, 1.8125rem);
  --space-m-l: clamp(1.5rem, 1.2627rem + 1.1864vw, 2.375rem);
  --space-l-xl: clamp(2rem, 1.5763rem + 2.1186vw, 3.5625rem);
  --space-xl-2xl: clamp(3rem, 2.5254rem + 2.3729vw, 4.75rem);
  --space-2xl-3xl: clamp(4rem, 3.1525rem + 4.2373vw, 7.125rem);
  --space-3xl-4xl: clamp(6rem, 5.3729rem + 3.1356vw, 8.3125rem);
  --space-4xl-5xl: clamp(7rem, 6.322rem + 3.3898vw, 9.5rem);

  /* Custom pairs */
  --space-2xs-m: clamp(0.5rem, 0.1441rem + 1.7797vw, 1.8125rem);
  --space-xs-xl: clamp(0.75rem, -0.0127rem + 3.8136vw, 3.5625rem);
  --space-m-xl: clamp(1.5rem, 0.9407rem + 2.7966vw, 3.5625rem);
  --space-l-2xl: clamp(2rem, 1.2542rem + 3.7288vw, 4.75rem);
  --space-l-3xl: clamp(2rem, 0.6102rem + 6.9492vw, 7.125rem);
  --space-l-4xl: clamp(2rem, 0.2881rem + 8.5593vw, 8.3125rem);
  --space-xl-4xl: clamp(3rem, 1.5593rem + 7.2034vw, 8.3125rem);

  /* Wrapper */
  --wrapper-max-width-xs:800px;
  --wrapper-max-width-s:1000px;
  --wrapper-max-width-m:1200px;
  --wrapper-max-width-l:1400px;
  --wrapper-max-width-xl:1600px;

  /* Gutter */
  --gutter:var(--space-2xs-m);

  --box-shadow: 3px 3px 20px -2px rgba(0,0,0,.5);
  --drop-shadow: 3px 3px 20px rgba(0,0,0,.5);

  --border-radius: 8px;

  /* BULMA CSS VARS */
  --bulma-body-background-color: var(---white);
  --bulma-body-font-size:16px;
  --bulma-body-weight:normal;
  --bulma-body-color:var(---pine);
  --bulma-body-line-height:var(var(--fluid--line-height));
  --bulma-body-family:"Libre Franklin", sans-serif;

  --poppins: "Poppins", sans-serif;
  --libre: "Libre Franklin", sans-serif;
  --brooklyn: "Brooklyn", sans-serif;
  --shelby: "Shelby", sans-serif;

}

/* Preloader Styles transfered inline */
/* @keyframes preloaderAnimation {
  0% {height: 0px;}
  75% {height: 152px;}
}
.o-preloader {
  position:fixed;
  width:100%;
  height:100%;
  min-width:100vw;
  min-height:100vh;
  z-index:999;
  background:#264822;
  display:flex;
  justify-content:center;
  align-items:center;
  pointer-events:none;
  transition:.5s ease-in-out;
}
.o-preloader__inner {
  position:relative;
  display:flex;
  justify-content:center;
}
.o-preloader__img {
  position:absolute;
  bottom:calc(1.5em + 10px);
  width:200px;
  height:152px;
  background-image: url(../static/logos/Icon_White.png);
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size:100%;
  animation: preloaderAnimation 4s infinite ease-in-out;
}
.o-preloader__text {
  color:#FFF;
  font-size:1.5em;
} */

/* Blocks body scroll */
.loading-no-scroll {
  overflow:hidden;
}

/* BULMA CLASS DEC */
.hero {
    --_fluid-min--spacing:32;
    --_fluid-max--spacing:128;
    --fluid--calc: calc(calc(var(--_fluid-min--spacing) * 1px) + (var(--_fluid-max--spacing) - var(--_fluid-min--spacing)) * ((100vw - calc(var(--fluid-min--screen-width) * 1px)) / var(--fluid-max--screen-width)));
    --fluid--clamp: clamp(calc(var(--_fluid-min--spacing) * 1px), var(--fluid--calc), calc(var(--_fluid-max--spacing) * 1px));

    --bulma-hero-body-padding:var(--fluid--clamp);
    --bulma-hero-body-padding-tablet:var(--fluid--clamp);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
}
.has-background-white-transparent {
    background-color:rgba(255,255,255,.8);
}
:not(.button).is-fire {
    color:var(--fire);
}
.button.is-fire {
  background-color:var(--fire);
  color:var(---white);
  border-width: 0;
}

@media (hover:hover) {
  .button.is-fire:hover {
      background-color:rgb(238.4625,125.85,82.5375);
  }
}

/* BASE HTML DEFS */

.iframe {
    width: 100%;
    /* min-height: 300pt; */
    min-height: 400px;
    height: 100%;
    margin: 0 auto
}

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

html, body {
  margin: 0;
  padding: 0;
  height:auto;
  min-height:100%;
  overflow-x: hidden;
  /* Default font size is 16 */
}

body {
  font-family: "Libre Franklin", sans-serif; 
  font-weight: 400;
  color: var(--black); 
  max-width: 100%;
  line-height: 1.4;
  font-size: var(--step-0);
  position: relative;
  background: rgb(255,255,255);
}

html.js-nav-is-open, 
body.js-nav-is-open {
  overflow:hidden;
  height:100dvh;
  max-height:100dvh;
}

a {
  display:inline-block;
}

/* Text Styling */

h1,
h2,
h3,
h4,
p {
  margin:0;
  padding:0;
}

h1 + *,
h2 + *,
h3 + *,
h4 + *,
p + *,
li + *,
i + *,
a + p,
ol + p,
ul + p {
  margin-block-start:var(--space-s);
}

h1,
h2,
h3,
h4 {
  font-family: "Poppins", sans-serif;
  line-height: 1.1;
  text-wrap:balance;
  font-weight: 900;
}

h1 {
  font-size: var(--step-4);
}

h2 {
  font-size: var(--step-3);
}

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

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

/* Default Superscript */

sub,
sup {
  display:inline-block;
  font-size:.75em;
  vertical-align:baseline;
}
sub {
  transform:translateY(.65ex);
}
sup {
  transform:translateY(-.7ex);
}

img {
    width:100%;
    height:auto;
}

/* Wrapper Styling */

.o-wrapper {
  margin-inline:auto;
  max-width: calc( var(--wrapper-max-width-m) + var(--gutter-wrapper-inline,var(--gutter)) );
  padding-inline:var(--gutter-wrapper-inline,var(--gutter));
  position:relative;
}
.o-wrapper--lg {
  max-width: calc( var(--wrapper-max-width-l) + var(--gutter-wrapper-inline,var(--gutter)) );
}
.o-wrapper--xl {
  max-width: calc( var(--wrapper-max-width-xl) + var(--gutter-wrapper-inline,var(--gutter)) );
}

/* Object Classes */

/* Generic Link Styles */
.o-link--style-none {
  color:var(--white);
  text-decoration: none;
}

/* inherit button from normalize.css */
.o-link--style-button {
  text-decoration: none;

  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
  overflow: visible;
  text-transform: none;
  -webkit-appearance: button;
}
.o-link--style-button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
.o-link--style-button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

.o-link--color-fire {
  color: var(--fire);
  text-decoration: none;
}

.o-link--color-medallion {
  color: var(--medallion);
  text-decoration: none;
}

.o-link--color-pine {
  color: var(--pine);
  text-decoration: none;
}

.o-link--color-fire, .o-link--color-medallion, .o-link--color-pine {
  background-size: 0 5px;
  background-image: linear-gradient(180deg,currentColor 25%,transparent 0);
  background-repeat: no-repeat;
  background-position-y: bottom;
  background-position-x: right;
  display: inline;
  padding-top: 5px;
  padding-bottom: 5px;
  position: relative;
  transition: background-size .3s;
}

@media (hover:hover) {
  .o-link--color-fire:hover, .o-link--color-medallion:hover, .o-link--color-pine:hover {
    xtext-decoration: underline;
    background-image: linear-gradient(180deg,currentColor 25%,transparent 0);
    background-size: 100% 5px;
    background-position-x: left;
    background-position-y: bottom;
  }
}

/* Generic Button Styles */

.o-btn {
  position:relative;
  display: inline-flex;
  align-items: center;
  font-weight: 800;
  cursor: pointer;
  border: none;
  text-align: center;
  box-shadow: var(--box-shadow);
  justify-content: center;
  padding: var(--space-xs) var(--space-s);
  font-size: var(--step--1);
  border-radius: 5px;
  box-sizing: border-box;
  outline-offset: -2px;
  transition:.5s all ease-in-out;
  font-family: var(--libre);
}

.o-btn--size-md {
  /* 1.2rem */
  font-size: var(--step-0);
  padding: var(--space-s) var(--space-m);
}

.o-btn--color-fire {
  color: var(--white);
  background: var(--fire);
  outline:2px solid rgba(234, 91, 36, 0);
  text-shadow: 1px 1px 2px rgba(0,0,0,.75);
}

.o-btn--color-green {
  color:var(--white);
  background-color: var(--corporategreen);
  outline:2px solid rgba(71, 119, 61, 0);
}

.o-btn--color-pine {
  color:var(--white);
  background-color: var(--pine);
  outline:2px solid rgba(38,72,34,0);
}

.o-btn--color-medallion {
  color:var(--white);
  background-color: var(--medallion);
  outline:2px solid rgba(255,211,63,0);
  text-shadow: 1px 1px 1px rgba(0,0,0,.75);
}

@media (hover:hover) {
  .o-btn:hover {
    transform:scale(1.1);
    transform-origin: center center;
  }
  .o-btn--color-fire:hover {
    color:  var(--fire);
    background:var(--white);
    outline-color:rgba(234, 91, 36, 1);
    text-shadow: 1px 1px 1px rgba(0,0,0,0);
  }
  .o-btn--color-green:hover {
    color: var(--corporategreen);
    background-color:var(--white);
    outline-color:rgba(71, 119, 61, 1);
  }   
  .o-btn--color-pine:hover {
    color: var(--pine);
    background-color:var(--white);
    outline-color:rgba(38,72,34,1);
  }     
  .o-btn--color-medallion:hover {
    color: var(--medallion);
    background-color:var(--white);
    outline-color:rgba(255,211,63,1);
    text-shadow: 1px 1px 1px rgba(0,0,0,.9);
  } 
}
 
/* Line Styles */

.o-line {
  border: none;
}
.o-line--horizontal {
  width: 2px;
  height: 100%;
  margin-block:auto;
  margin-inline:var(--space-s) var(--space-m);
}
.o-line--vertical {
  width: 100px;
  height: 2px;
  margin-inline:auto;
  margin-block:var(--space-s) var(--space-m);
}
.o-line--color-black {
  background-color:var(--black);
}
.o-line--color-white {
  background-color:var(--white);
}
.o-line--color-pine {
  background-color:var(--pine);
}
.o-line--color-green {
  background-color:var(--corporate-green);
}
.o-line--color-medallion {
  background-color:var(--medallion);
}

/* Generic Search Box Styles */
.o-search__banner {
  padding: var(--space-m);
  background-repeat: no-repeat;
  background-size: cover;
  min-height: max(400px, 40vh);
  background-position: center;
  background-attachment: fixed;
}
.o-search__wrapper {
  background: #efefef;
  border-radius: 5px;
  max-width:500px;
  box-shadow: var(--box-shadow);
  border: 1px solid var(--corporategreen);
  padding:var(--space-l-xl) var(--space-m-l);
  margin:0 auto;
  text-align: center;
}
.o-search__form {
  display:flex;
  align-items: flex-end;
  margin-inline:auto;
  text-align: left;
}
.o-search__input {
  background: var(--white);
  color: var(--fire);
  font-size: var(--step-0);
  margin-right: var(--space-xs);
  width: 90%;
}
.o-search__input, .o-search__button {
  height: 55px;
}
.o-search__display {
  margin-top:var(--space-m);
}

/* Generic Card Styles */
.o-cards {
  padding-block:var(--space-l);
}
.o-cards__grid {
  width:100%;
  /* display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); */
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap: var(--space-l) var(--space-xs);
  margin: var(--space-m) 0 var(--space-2xl);
}
.o-cards__card {
  flex-grow:1;

  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: column;
  border: 1px solid #ccc;
  border-radius: var(--border-radius);
  padding: var(--space-s) var(--space-m);
  text-align: center;
  box-shadow:var(--box-shadow);
  background:var(--white);
  transition: transform 0.2s;
}
.o-cards__img {
    border-radius: 50%;
    border: 2px solid #cbcccc;
    object-fit: cover;
    aspect-ratio: 1;
    background-color: var(--white);
}
.o-cards__nmls {
    font-size:var(--step--2);
    margin-block-start:0;
}
.o-cards__btn {
  font-size:var(--step-0);
  margin-block-start:var(--space-s);
}
.o-cards__list {
    list-style: none;
    padding:0;
}
.o-cards__list-item {
    display:flex;
    align-items:center;
    gap:var(--space-2xs);
}
.o-cards__name {
    line-height:1.4;
}
.o-cards__address, .o-cards__email, .o-cards__phone, .o-cards__fax, .o-cards__hours, .o-cards__mobile {
    font-size:var(--step--1);
    margin:0;
    text-decoration: none;
}
.o-cards__email, .o-cards__phone, .o-cards__mobile {
  color:var(--fire);
}

.o-cards__email, .o-cards__phone, .o-cards__mobile {
  background-size: 0 5px;
  background-image: linear-gradient(180deg,currentColor 25%,transparent 0);
  background-repeat: no-repeat;
  background-position-y: bottom;
  background-position-x: right;
  display: inline;
  padding-top: 5px;
  padding-bottom: 5px;
  position: relative;
  transition: background-size .3s;
}

@media (hover:hover) {
  .o-cards__email:hover, .o-cards__phone:hover, .o-cards__mobile:hover {
    xtext-decoration: underline;
    background-image: linear-gradient(180deg,currentColor 25%,transparent 0);
    background-size: 100% 5px;
    background-position-x: left;
    background-position-y: bottom;
  }
}

/* Blog */
.o-blog {
  color: var(--black);
  text-decoration: none;
  border-radius: 5px;
  color: #fff;
  cursor: pointer;
  transition: .5s ease-in-out;
}
.o-blog--post {
  background: rgba(255,255,255,.8);
  box-shadow: 2px 2px 7px 0 rgba(66,98,61,.4);
}
.o-blog__top {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  height: 250px;
  width: 100%;
  position: relative;
}
.o-blog__img {
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.o-blog__tag {
  text-decoration: none;
  padding: var(--space-xs) var(--space-m);
  background: var(--corporategreen);
  box-shadow: 2px 2px 7px 0 rgba(66,98,61,.4);
  font-weight: 600;
  font-size: var(--step--1);
  color: var(--white);
  border-radius: 5px;
}
.o-blog--post__tag {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 3;
}
.o-blog__info {
  display: flex;
  flex-direction: column;
  padding: var(--space-l);
  text-align: center;
  min-height: 200px;
  color:var(--black);
}
.o-blog--post__date {
  margin-block-start:auto;
  font-size:var(--step--1);
}

.o-blog__container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: var(--space-l);
}

/* Featured Blog Post */
.o-blog--featured {
  background-position: center center;
  background-repeat: no-repeat;
  background-attachment: scroll, scroll;
  /* background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.7)), url("https://cdn.fbhl.com/posts/closing-expectations-featured-image.jpg"); */
  background-size: cover;
  background-origin: padding-box, padding-box;
  background-clip: border-box, border-box;

  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 550px;
}

@media (hover: hover) {
  .o-blog:hover {
    filter: brightness(1.2);
    transform:scale(1.05);
  }
}

/* Generic Column Styles */
.o-columns {
  display:flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap:wrap;
}
.o-columns--2 {
    gap:var(--space-l);
}
.o-columns--2__col {
    flex-basis:calc( 50% - var(--space-l) );
    min-width:min(450px, 100%);
    flex-grow:1;
}
.o-columns--3 {
    gap:var(--space-m);
}
.o-columns--3__col {
    xflex-basis:calc( 33% - var(--space-m) );
    min-width:min(325px, 100%);
    flex-grow:1;
    max-width:calc( 33% - (var(--space-m) / 1.5 ));
}
.o-columns--4 {
    gap:var(--space-s);
}
.o-columns--4__col {
    min-width:min(225px, 100%);
    flex-grow:1;
    max-width:calc( 25% - (var(--space-s) / 1.5 ));
}

@media(max-width: 600px) {
  .o-columns--3__col {
    max-width:unset;
  }
}

.o-logo__img {
  width:225px;
  max-width:300px;
  transition: .5s ease-in-out;
}

/* Legal Pages */

.o-legal {
  line-height: 2;
  padding-block:var(--space-l-2xl);
}
.o-legal a {
  color:var(--fire);
}
.o-legal li + li {
  margin-block-start:var(--space-3xs);
}
.o-legal table {
  border-spacing:0;
  border-collapse: collapse;
  width:100%;
  margin-block-start:var(--space-xl);
  text-align: left;
  line-height: 1.4;
}
.o-legal td, .o-legal th {
  border:2px solid #53565a;
  padding:var(--space-m) var(--space-xs);
}
.o-legal th {
  background: #e2e3e4;
}

.o-legal .o-line--vertical {
  width:150px;
}

.o-legal *:not(table) h3 {
  margin-block-start:var(--space-xl);
}
.o-legal *:not(table) h4 {
  margin-block-start:var(--space-l);
}

.o-legal .u-ta-center {
  text-align: center;
}

/* Privay Forms */
.o-privacy-form {
  width: 100%;
  overflow-x:auto;
  margin-inline:auto;
  position:relative;
  background-image: 
	
  /* Shadows */ 
  linear-gradient(to right, white, white),
  linear-gradient(to right, white, white),
  
  /* Shadow covers */ 
  linear-gradient(to right, rgba(0,0,0,.25), rgba(255,255,255,0)),
  linear-gradient(to left, rgba(0,0,0,.25), rgba(255,255,255,0));   

  background-position: left center, right center, left center, right center;
	background-repeat: no-repeat;
	background-color: white;
	background-size: 20px 100%, 20px 100%, 10px 100%, 10px 100%;
	
	/* Opera doesn't support this in the shorthand */
	background-attachment: local, local, scroll, scroll;

  /* test thoroughly */
  height:max-content;
}
.o-privacy-form__form {
  position:relative;
  padding: var(--space-l) var(--space-xs);
  /* mobile width min for overflow */
  min-width:calc(450px + ( 2 * var(--space-xs) ));
  z-index:1;
}
.o-privacy-form__grid {
  display:flex;
  justify-content: space-between;
  flex-wrap:wrap;
  gap:var(--space-m);
}
.o-privacy-form__label {
  flex-basis:calc(30% - var(--space-m));
  text-wrap:balance;
}
.o-privacy-form__input-wrapper {
  flex-basis:calc(70% - var(--space-m));
}
.o-privacy-form__input, .o-privacy-form__select {
  width:100%;
  border-radius: 3px;
  padding: var(--space-2xs);
  border: 2px solid #e2e3e4;
  background:transparent;
}
.o-privacy-form__input--checkbox {
  width:auto;
}
.o-privacy-form__button {
  display: block;
  margin-block-start:var(--space-l);
  margin-inline:auto;
}

.o-privacy-form__dislaimer {
  font-size:var(--step--1);
  font-style: italic;
  margin-block-start:var(--space-m);
}

.o-privacy-form__swipe-icon {
  display:none;
}

.o-privacy-form__button {
  display: block;
  margin-block-start:var(--space-m);
  margin-inline:auto;
}

@media (max-width: 500px) {

  .o-privacy-form__form {
    -webkit-overflow-scrolling: touch;
  }
  .o-privacy-form__swipe-icon {
    display:block;
    position:relative;
    width:min(100%, 50px);
    height:auto;
    margin-inline:auto;
  }

}

/* Radio Buttons */
.o-privacy-form__radio {
  display: grid;
  grid-template-columns: 10% 85%;
  grid-column-gap: 5%;
  align-items: center;
  grid-row-gap: var(--space-xs);
}
.o-privacy-form__input--radio {
  width:1.35rem;
  height:1.35rem;
}

/* Dialog Modal */
.o-modal {
    width: 100%;
    height: 100%;
    outline: none;
    position: fixed;
    z-index: 999;
    top: 0;
    left: 0;
    overflow: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgba(0,0,0,.5);
    opacity: 1;
    transition: .5s ease-in-out;
}

.o-modal__wrapper {
    position: relative;
    max-width:85vw;
}

.o-modal__close {
    position: absolute;
    left:0;
    top: 0;
    cursor: pointer;
    transform: translate(-50%, -50%);
    z-index:1;
}
.o-modal__close svg {
    width: 45px;
    height: 45px;
    color: var(--black);
    padding: var(--space-2xs);
    background: var(--white);
    border-radius: 50%;
    border: 1px solid var(--black);
}

.o-modal__video {
    position: relative;
    width:60vw;
    xheight:60vh;
    aspect-ratio:1840/1035;
    margin-inline:auto;
}

@media(max-width: 1024px) {
  .o-modal__video {
    width:85vw;
  }
}

.o-modal.js-is-hidden {
    visibility: hidden;
    opacity:0;
}

.o-modal__img {
    display: block;
    margin-inline:auto;
    max-height: 90vh;
}

/* Themes */

/* Components */

/* TOP AND BOTTOM NAV STYLES */
.c-header {
  position:fixed;
  width:100%;
  z-index:99;
  --apply-height:72px;
}

/* FOOTER */
.c-apply-now {
  display: none; /* flex */
  width:100%;
  justify-content: center;
  align-items: center;
  background: var(--powder);
  color: var(--pine);
  padding-block: var(--space-3xs);
  min-height: 72px; /* --apply-height */
  overflow: hidden;
  position: fixed;
  bottom: 0;
  z-index:100;
  filter:drop-shadow( var(--drop-shadow) );
}

.c-apply-now > * + * {
  margin-inline-start:var(--space-2xs)
}

.c-apply-now__tel {
  font-size:var(--step--1);
  margin-block-start:0;
}

.c-apply-now__text {
  font-size:var(--step--2);
}

.c-header__nav {
  background:var(--corporategreen);
  filter:drop-shadow( var(--drop-shadow) );
}

.c-desktop-menu {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width:min(100%, var(--wrapper-max-width-l));
  font-family: var(--poppins);
  min-height: 80px;
}
.c-desktop-menu__column {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.c-desktop-menu__logo {
  display: flex;
  align-items: center;
}

.c-desktop-menu__list {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 0;
  margin:0;
}

.c-desktop-menu__item {
  display: inline-flex;
  justify-content: center;
  width: auto;
  margin: 0 var(--space-2xs);
  list-style: none;
}

.c-desktop-menu__link {
  font-size: var(--step--1);
  padding: var(--space-2xs);
  color:var(--white);
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}

.c-desktop-menu__item:hover .c-desktop-menu__link {
  color:var(--medallion);
}

.c-desktop-menu__item--contact {
  display: flex;
  width: 2em;
  height: 2em;
  border-radius: 50%;
  padding: .5rem;
  cursor: pointer;
  transition: .5s ease-in-out;
  aspect-ratio: 1;

  border: .2rem solid var(--white);
  color:var(--white);
}
.c-desktop-menu__item--contact a {
    display: flex;
    width: 100%;
    height: 100%;
    color:currentColor;
}
.c-desktop-menu__item--contact svg {
    width: 100%;
    height: 100%;
    transition: .5s ease-in-out;
}

@media (hover: hover) {
  .c-desktop-menu__logo:hover .o-logo__img {
    transform:rotateX(360deg) scale(1.1);
    transform-origin: center center;
  }

  .c-desktop-menu__item--contact:hover {
        transform: scale(1.1);
        transform-origin: center center;

        border-color: var(--medallion);
        color:var(--medallion);
    }
}

/* Full Desktop Menu */
.c-desktop-menu__open {
  color:var(--white);
  margin:0;
  cursor: pointer;
  transition:.5s ease-in-out;
}

@media (hover: hover) {
  .c-desktop-menu__open:hover {
    transform:scale(1.1);
    color:var(--medallion);
  }
}

.c-desktop-menu-full {
  height: 100dvh;
  width:auto;
  position: fixed;
  z-index: 2;
  right: 0;
  top:0;
  overflow-y:hidden;
  background-color: var(--pine);
  transition: 0.5s;
  padding-block-start: calc(40px + var(--space-s));
  filter:drop-shadow(var(--drop-shadow));
}

.c-desktop-menu-full__close {
  position: absolute;
  color:var(--white);
  top:var(--space-xs);
  left: var(--space-m);
  cursor: pointer;
  transition:.5s ease-in-out;
}

.c-desktop-menu-full__link {
  padding:var(--space-s) var(--space-xl);
  text-decoration: none;
  font-size: var(--step-1);
  color: var(--white);
  display: block;
  transition: 0.5s;
  white-space: nowrap;
  font-weight:700;
}

@media (hover: hover) {
  .c-desktop-menu-full__link:hover {
    color:var(--medallion);
  }
  .c-desktop-menu-full__close:hover {
    transform:scale(1.1) !important;
    color:var(--medallion);
  }
}

#desktop-nav-full.js-is-closed {
  max-width: 0;
}
#desktop-nav-full.js-is-open {
  max-width:500px;
}

.js-is-closed .c-desktop-menu-full__close {
  transform:rotate(-180deg);
}
.js-is-open .c-desktop-menu-full__close {
  transform:rotate(0deg);
}

/* Mobile Nav */
#mobile-nav {
  display: none;
  width:100%;
}

#mobile-nav.js-is-open {
    text-align: center;
    width: 100%;
    height: 100dvh;
    outline: none;
    position: fixed;
    top: 0;
    left: 0;
    overflow: auto;
    background: rgba(255,255,255,.9);
    padding-block-start: 12px;
    z-index: 2;
}

.c-mobile-menu__row {
  display:flex;
  justify-content: space-between;
  align-items: center;
  margin:0 auto;
  xmax-width:max(75vw, 450px);
  max-width: 100%;
  min-height: var(--apply-height);
  padding-block:12px;
}

.c-mobile-menu__logo {
  display: inline-flex;
}

.c-mobile-menu__list {
  list-style: none;
  width: 100%;
  padding: 0;
  margin: 0;
  text-align: center;
  margin-block-end:var(--space-m);
}

.c-mobile-menu__item {
  display: flex;
  justify-content: center;
  width: 100%;
  padding-block:var(--space-m);
  border:.25em dotted rgba(71,119,61,0);
  transition:all .5s ease-in-out;
  margin-block-end: -.25em;
}

@media (hover: hover) {

  .c-mobile-menu__item:hover {
    border:.25em dotted rgba(71,119,61,1);
  }

}

.c-mobile-menu__link {
  color: var(--corporategreen);
  font-weight: 700;
  text-decoration: none;
  font-size: var(--step-3);
}

#hamburger-btn {
    transition: .5s ease-in-out;
    cursor: pointer;
}
.js-is-open #hamburger-btn {
  transform:rotate(180deg);
}
.js-is-closed #hamburger-btn {
  transform:rotate(0deg);
}

.c-mobile-menu__icon--closed {
    color: var(--white);
}

.c-mobile-menu__icon--open {
    color:var(--fire);
    margin:0;
}

.js-is-open .c-mobile-menu__icon--open, .js-is-closed .c-mobile-menu__icon--closed, .js-is-open .c-mobile-menu__nav, .js-is-open .c-mobile-menu__img--open, .js-is-closed .c-mobile-menu__img--closed {
  display:block;
}
.js-is-closed .c-mobile-menu__icon--open, .js-is-open .c-mobile-menu__icon--closed, .js-is-closed .c-mobile-menu__nav, .js-is-closed .c-mobile-menu__img--open, .js-is-open .c-mobile-menu__img--closed {
  display:none;
}

@media(max-width: 1024px) {

  .c-desktop-menu {
    display:none;
  }
  #mobile-nav {
    display:block;
  }

}

/* NOTIFICATIONS BAR */
.c-notifications-bar {
  position: relative;
  top: 0px;
  display: flex;
  width: 100%;
  padding: var(--space-xs) 0;
  background: var(--powder);
  overflow: hidden;
  xfilter: drop-shadow(var(--drop-shadow));
}
.c-notifications-bar--hidden {
  display: none;
}
.c-notifications-bar__track {
  display: flex;
  white-space: nowrap;
  animation: c-marquee 30s linear infinite;
}
.c-notifications-bar__track--no-scroll {
  animation: none;
  justify-content: center;
}
.c-notifications-bar__text {
  display: inline-block;
  padding-inline: 2rem;
}
@keyframes c-marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.c-notifications-bar.js-nav-is-open {
  /* Check mobile-nav.js-is-open padding */
  top: calc( var(--apply-height) + 24px);
}

/* FOOTER */
#block-body {
  /* Overlap Spacing */
  --footer-overlap:calc(249/380 * 12vh);
  --header-height:80px;
  padding-top:var(--header-height);
}

/* Overlap Spacing applied to last section and section before .js-is-hidden (fix for team individual pages with hidden info */
#block-body > section:last-of-type::after, #block-body > section:not(.js-is-hidden):has(+section.js-is-hidden)::after {
  content:"";
  display:block;
  position:relative;
  height:var(--footer-overlap);
}

@media(max-width: 1024px) {
  #block-body {
    --footer-overlap:0;
  }
}

/* Drop and Box Shadows for sections */
#block-body section {
  filter:drop-shadow(3px 3px 10px rgba(0,0,0,.25));
}
#block-body > section:last-of-type, #block-body > section:not(.js-is-hidden):has(+section.js-is-hidden), #block-body .u-no-shadow {
  filter:none;
}

.c-footer {
  background-color: var(--corporategreen);
  color:var(--white);
  filter:drop-shadow(var(--drop-shadow));
}

.c-footer__grid {
  padding:var(--space-s);
  padding-block-end: var(--space-l);
  text-align: center;
  display: grid;
  grid-template-columns:1fr 1fr .5fr 1fr 1fr 1fr 1fr 1fr;
  grid-template-areas:
  "links links links gif gif gif phone phone"
  "app app app stores stores stores phone phone"
  "white-line white-line white-line white-line white-line white-line white-line white-line"
  "logos logos logos legal legal legal legal legal"
}

.c-footer__app-callout {
  grid-area: app;
  font-size: var(--step-0);
  text-align: left;
  margin:0;
  line-height:.9;
  font-weight:600;
  align-content: center;
  margin-inline-end: var(--space-xs);
  margin-block-end: calc( -1 * var(--space-2xs));
  /* place on top of line */
  z-index:1;
}
.c-footer-app-callout__text {
  display:block;
}

.c-footer__subgrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-column-gap: var(--space-m);
}
.c-footer__grid > * + * {
  margin-block-start:0;
}

.c-footer__subgrid--app {
  grid-area: stores;
  align-content: flex-start;
  margin-inline-end: var(--space-2xs);
}
.c-footer__app-btn {
  border-radius: var(--border-radius);
  transition: .5s ease-in-out;
}

.c-footer__subgrid--links {
  grid-area: links;
  text-align: left;
}

.c-footer__nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-column-gap:var(--space-2xs);
  grid-column: 1/span 2;
  margin:0;
  padding:0;
  padding-block-end:var(--space-l);
}
.c-footer-nav__item {
  margin: 0;
  padding-block:var(--space-3xs);
  padding-inline-end:var(--space-2xs);
  list-style: none;
}
.c-footer-nav__link {
  color: var(--white);
  text-decoration: none;
  font-size:var(--step--1);
  font-weight:600;
}

.c-footer__app-link {
  display:block;
}

@media (hover: hover) {
  .c-footer-nav__link:hover {
    color:var(--medallion);
  }
  .c-footer__app-link:hover .c-footer__app-btn {
    transform:scale(1.1);
  }
}

/* text animate */
.c-footer__animate {
  grid-area: gif;
  /* TODO Refactor? */
  width:100%;
  margin:auto;
  color:var(--white);
  text-align:center
}
.c-footer-animate__title {
  font-size:var(--step-3);
  font-family: "Poppins", sans-serif;
  font-weight:900;
  display:flex;
  align-items:flex-start;
  justify-content: center;
}
.c-footer-animate__left {
  padding-inline-end:0%;
}
.c-footer-animate__right {
  padding-inline-start: 3%;
  text-align: left;
  padding-block-start: 1%;
}
.c-footer-animate__cont {
  position:relative;
  margin:0;
}
.c-footer-animate__subtitle {
  font-size:var(--step-1);
  font-style: italic;
  font-weight:700;
  position:absolute;
  margin:0;
  width:100%;
}
.c-footer-animate__subtitle--placeholder {
  position:relative;
  visibility: hidden;
}

.c-footer-animate__subtitle--first {
  animation:appearFirst 10s infinite
}
.c-footer-animate__subtitle--second {
  animation:appearSecond 10s infinite
}
.c-footer-animate__subtitle--third {
  animation:appearThird 10s infinite
}
.c-footer-animate__subtitle--fourth {
  animation:appearFourth 10s infinite
}
@keyframes appearFirst {
  0% {
    visibility:visible
  }
  25% {
    visibility:visible
  }
  26% {
    visibility:hidden
  }
  50% {
    visibility:hidden
  }
  75% {
    visibility:hidden
  }
  to {
    visibility:hidden
  }
}
@keyframes appearSecond {
  0% {
    visibility:hidden
  }
  25% {
    visibility:hidden
  }
  26% {
    visibility:hidden
  }
  27% {
    visibility:visible
  }
  50% {
    visibility:visible
  }
  51% {
    visibility:hidden
  }
  75% {
    visibility:hidden
  }
  to {
    visibility:hidden
  }
}
@keyframes appearThird {
  0% {
    visibility:hidden
  }
  25% {
    visibility:hidden
  }
  50% {
    visibility:hidden
  }
  51% {
    visibility:hidden
  }
  52% {
    visibility:visible
  }
  75% {
    visibility:visible
  }
  76% {
    visibility:hidden
  }
  to {
    visibility:hidden
  }
}
@keyframes appearFourth {
  0% {
    visibility:hidden
  }
  25% {
    visibility:hidden
  }
  50% {
    visibility:hidden
  }
  75% {
    visibility:hidden
  }
  76% {
    visibility:hidden
  }
  77% {
    visibility:visible
  }
  to {
    visibility:visible
  }
}

.c-footer__phone-cont {
  grid-area:phone;
  position: relative;
  display:flex;
  align-items: flex-end;
  justify-content: flex-end;
}
.c-footer__phone-img {
  position:absolute;
  width:auto;
  height:125%;
}

.c-footer__underline {
  display:block;
  grid-area:white-line;
  background-color:var(--white);
  color:var(--white);
  height:1px;
  margin-block-end:var(--space-xs);
}

.c-footer__underline--mobile {
  display: none;
}

.c-footer__socials {
  grid-area: logos;
  display: flex;
  justify-content: center;
  gap: var(--space-3xs);
}
.c-footer__socials a {
  color: var(--white);
  transition: .5s ease-in-out;
}
.c-footer-socials svg {
  font-size:2.25em;
}

@media (hover: hover) {
  .c-footer__socials a:hover {
    transform:rotateY(360deg) scale(1.1);
    transform-origin: center center;
  }
}

.c-footer__legal {
  grid-area:legal;
  text-align:left;
} 
.c-footer-legal__text {
  font-size:var(--step--2);
}
.c-footer-legal__link {
  color:var(--white);
  display:inline-block;
  font-weight:600;
}

/* Footer Carousel */
.c-footer__carousel {
  position: relative;
  background:var(--pine);
  padding-block:var(--space-2xs);
}
.c-footer-carousel__wrapper {
  display:flex;
  align-items: center;
  justify-content: space-around;
  flex-wrap: wrap;
  overflow:hidden;
  gap:var(--space-m);
}
.c-footer-carousel__item {
  position:relative;
  max-width:calc(20% - (var(--space-m) / 1.5));
  min-width:125px;
  flex-grow:1;
}
.c-footer-carousel__link {
  display:flex;
  justify-content: center;
  align-items:center;
  width:100%;
  height:100%;
}
.c-footer-carousel__img {
  transition:.5s ease-in-out;
}
.c-footer-carousel__item--2 {
  aspect-ratio:2.75;
}
.c-footer-carousel__item--2 .c-footer-carousel__img {
  position:absolute;
}

@media (hover: hover) {
  .c-footer-carousel__link:hover .c-footer-carousel__img {
    transform:rotateX(360deg) scale(1.1);
    transform-origin: center center;
  }
}

@media(max-width: 1024px) {

  .c-footer {
    margin-block-start:0;
  }
  .c-footer__phone-img {
    width:98%;
    height:auto;
  }

  .c-footer__subgrid--app {
    gap:var(--space-xs);
  }

  .c-footer__grid {
    grid-template-columns:1fr 1fr .5fr 1fr 1fr 1fr 1fr .5fr;
  }

}

/* Random break-point ensures better styling at 1024 */
@media(max-width: 860px) {

  .c-footer__phone-cont {
    display:none;
  }
  .c-footer__grid {
    grid-template-columns:repeat(6, 1fr);
  }

}

@media(max-width: 768px) {

  .c-footer__grid {
    grid-template-columns: unset;
    grid-template-areas: unset;
    grid-row-gap: var(--space-s);
  }

  .c-footer__app-callout, .c-footer__subgrid, .c-footer__animate, .c-footer__underline, .c-footer__socials, .c-footer__legal {
    grid-area: unset;
  }

  .c-footer__phone-cont {
    display:none;
  }

  .c-footer__app-callout {
    text-align:center;
  }

  .c-footer__subgrid--app {
    display:flex;
    justify-content: center;
    flex-wrap:wrap;
  }
  .c-footer__app-link {
    flex-basis:calc(50% - (var(--space-xs) / 1.5));
    min-width:150px;
    max-width:225px;
    flex-grow:1;
  }

  .c-footer__underline--mobile {
    display:block;
  }

  .c-footer-nav__link {
    font-size:var(--step-1);
  }

  .c-footer__nav {
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  }

}

/* Utility Classes */
.u-flow-0 > * + * {
  margin-block-start:0;
}
.u-flow-3xs > * + * {
  margin-block-start:var(--space-3xs,.15em);
}
.u-flow-2xs > * + * {
  margin-block-start:var(--space-2xs,.25em);
}
.u-flow-xs > * + * {
  margin-block-start:var(--space-xs,.5em);
}
.u-flow-sm > * + * {
  margin-block-start:var(--space-s,1em);
}
.u-flow-md > * + * {
  margin-block-start:var(--space-md,1em);
}
.u-flow-lg > * + * {
  margin-block-start:var(--space-lg,1.5em);
}
.u-flow-xl > * + * {
  margin-block-start:var(--space-xl,2em);
}
.u-flow-2xl > * + * {
  margin-block-start:var(--space-2xl,2.5em);
}

.u-cl-fire {
  color:var(--fire);
}
.u-cl-medallion {
  color:var(--medallion);
}
.u-cl-green {
  color:var(--corporategreen);
}
.u-cl-pine {
  color:var(--pine);
}
.u-cl-black {
  color:var(--black);
}
.u-cl-white {
  color:var(--white);
}


.u-bg-cl-fire {
  background-color:var(--fire);
}
.u-bg-cl-frost {
    background-color:var(--frost);
}
.u-bg-cl-green {
  background-color:var(--corporategreen);
}
.u-bg-cl-medallion {
  background-color:var(--medallion);
}
.u-bg-cl-pine {
  background-color:var(--pine);
}
.u-bg-cl-white {
    background-color:var(--white);
}

.u-ta-center {
  text-align: center;
}
.u-ta-left {
  text-align: left;
}
.u-ta-right {
  text-align: right;
}

.u-tt-upper {
  text-transform: uppercase;
}

.u-fs-itl {
  font-style:italic;
}
.u-fs-inherit {
  font-size:inherit;
}

.u-fw-100 {
  font-weight:100;
}
.u-fw-200 {
  font-weight:200;
}
.u-fw-300 {
  font-weight:300;
}
.u-fw-400 {
  font-weight:400;
}
.u-fw-500 {
  font-weight:500;
}
.u-fw-600 {
  font-weight:600;
}
.u-fw-700 {
  font-weight:700;
}
.u-fw-800 {
  font-weight:800;
}
.u-fw-900 {
  font-weight:900;
}

.u-ff-shelby {
  font-family: "Shelby", sans-serif;
  font-size:2em;
  line-height: 1em;
}

.u-ff-brooklyn {
  font-family: "Brooklyn", sans-serif;
  text-transform: uppercase;
}

.u-ff-poppins {
  font-family: "Poppins", sans-serif;
}

.u-ff-libre {
  font-family: "Libre Franklin", sans-serif;
}

.u-fs-xs {
  font-size: var(--step--2);
}
.u-fs-sm {
  font-size: var(--step--1);
}
.u-fs-md {
  font-size: var(--step-0);
}
.u-fs-lg {
  font-size: var(--step-1);
}
.u-fs-xl {
  font-size: var(--step-2);
}
.u-fs-2xl {
  font-size: var(--step-2);
}
.u-fs-3xl {
  font-size: var(--step-3);
}
.u-fs-4xl {
  font-size: var(--step-4);
}
.u-fs-5xl {
  font-size: var(--step-5);
}

.u-pd-3xs {
  padding:var(--space-3xs);
}
.u-pd-2xs {
  padding:var(--space-2xs);
}
.u-pd-xs {
  padding:var(--space-xs);
}
.u-pd-sm {
  padding:var(--space-s);
}
.u-pd-md {
  padding:var(--space-m);
}
.u-pd-lg {
  padding:var(--space-l);
}
.u-pd-xl {
  padding:var(--space-xl);
}
.u-pd-2xl {
  padding:var(--space-2xl);
}
.u-pd-3xl {
  padding:var(--space-3xl);
}
.u-pd-4xl {
  padding:var(--space-4xl);
}

.u-pd-bk-3xs {
  padding-block:var(--space-3xs);
}
.u-pd-bk-2xs {
  padding-block:var(--space-2xs);
}
.u-pd-bk-xs {
  padding-block:var(--space-xs);
}
.u-pd-bk-sm {
  padding-block:var(--space-s);
}
.u-pd-bk-md {
  padding-block:var(--space-m);
}
.u-pd-bk-lg {
  padding-block:var(--space-l);
}
.u-pd-bk-xl {
  padding-block:var(--space-xl);
}
.u-pd-bk-2xl {
  padding-block:var(--space-2xl);
}
.u-pd-bk-3xl {
  padding-block:var(--space-3xl);
}
.u-pd-bk-4xl {
  padding-block:var(--space-4xl);
}

.u-pd-in-3xs {
  padding-inline:var(--space-3xs);
}
.u-pd-in-2xs {
  padding-inline:var(--space-2xs);
}
.u-pd-in-xs {
  padding-inline:var(--space-xs);
}
.u-pd-in-sm {
  padding-inline:var(--space-s);
}
.u-pd-in-md {
  padding-inline:var(--space-m);
}
.u-pd-in-lg {
  padding-inline:var(--space-l);
}
.u-pd-in-xl {
  padding-inline:var(--space-xl);
}
.u-pd-in-2xl {
  padding-inline:var(--space-2xl);
}
.u-pd-in-3xl {
  padding-inline:var(--space-3xl);
}
.u-pd-in-4xl {
  padding-inline:var(--space-4xl);
}

.u-pt-0 {
  padding-block-start:0;
}
.u-pb-0 {
  padding-block-end:0;
}
.u-pl-0 {
  padding-inline-start:0;
}
.u-pr-0 {
  padding-inline-end:0;
}

.u-mg-auto {
  margin-inline: auto;
}
.u-mg-3xs {
  margin:var(--space-3xs);
}
.u-mg-2xs {
  margin:var(--space-2xs);
}
.u-mg-xs {
  margin:var(--space-xs);
}
.u-mg-sm {
  margin:var(--space-s);
}
.u-mg-md {
  margin:var(--space-m);
}
.u-mg-lg {
  margin:var(--space-l);
}
.u-mg-xl {
  margin:var(--space-xl);
}
.u-mg-2xl {
  margin:var(--space-2xl);
}
.u-mg-3xl {
  margin:var(--space-3xl);
}
.u-mg-4xl {
  margin:var(--space-4xl);
}

.u-mt-3xs {
  margin-block-start:var(--space-3xs);
}
.u-mt-2xs {
  margin-block-start:var(--space-2xs);
}
.u-mt-xs {
  margin-block-start:var(--space-xs);
}
.u-mt-sm {
  margin-block-start:var(--space-s);
}
.u-mt-md {
  margin-block-start:var(--space-m);
}
.u-mt-lg {
  margin-block-start:var(--space-l);
}
.u-mt-xl {
  margin-block-start:var(--space-xl);
}
.u-mt-2xl {
  margin-block-start:var(--space-2xl);
}
.u-mt-3xl {
  margin-block-start:var(--space-3xl);
}
.u-mt-4xl {
  margin-block-start:var(--space-4xl);
}

.u-mt-0 {
  margin-block-start:0;
}
.u-mb-0 {
  margin-block-end:0;
}
.u-ml-0 {
  margin-inline-start:0;
}
.u-mr-0 {
  margin-inline-end:0;
}

.u-lh-lg {
  line-height:2;
}

.u-bs {
  box-shadow: var(--box-shadow);
}

.u-ls-none {
  list-style: none;
}

.u-no-shadow {

}

.a-filter-blur {
  filter:blur(8px);
  transition:.5s ease-in-out;
  pointer-events: none;
}
