/* Theme base styles */

/* Settings
This is where most settings/variables go.
*/







html {
  
  --c-lochinvar: #319286; /* Teal */
  --c-swans-down: #CFE9E1; /* Light Teal */
  --c-te-papa-green: #1B363A; /* Dark Green */
  --c-burnt-sienna: #E8645E; /* Orange */
  --c-azalea: #F6C3C4; /* Light Orange */
  --c-merino: #F8F0EB; /* Lightest Orange / Off-White */
  --c-shark: #2B2E34; /* Essentially Black */
  --c-ship-gray: #3C3C3E; /* Dark Gray */
  
  --color-black: #0F0F0F;
  --color-black-rgb: 15,15,15;
  --color-mulberry: #401436;
  --color-mulberry-rgb: 64,20,54;
  --color-cerise: #DA4061;
  --color-cerise-rgb: 218,64,97;
  --color-berry: #80286C;
  --color-berry-rgb: 128,40,108;
  --color-turquoise: #00CDB7;
  --color-turquoise-rgb: 0,205,183;
  --color-chiffon: #FFFCF8;
  --color-chiffon-rgb: 255,252,248;
  --color-perriwinkle: #DACDD4;
  --color-perriwinkle-rgb: 218,205,212;
  
  --font-montserrat: "montserrat", sans-serif;
  
  --font-neue-haas: "neue-haas-grotesk-display", sans-serif;
  

  --global-font-size: 1.8rem;
  --global-lineheight: 1.55;
  --body-background: white;
  --body-font-color: var(--color-black);
  --body-font-family: var(--font-montserrat);
  --global-weight-normal: 400;
  --global-weight-bold: 700;
  --global-radius: 0;

  --container-width: 150rem;
  --container-width-small: 120rem;
  --container-padding: clamp(2rem,5.8vw,10rem);
}

/* Tools
Any animations, or functions used throughout the project.
Note: _macros.css needs to be imported into each stylesheet where macros are used and not included here
*/



/* Basic hiding classes */
.hide {
  display: none !important;
}

.invisible {
  visibility: hidden;
}

/* Screen reader visibility classes */
/* Need a "hide-for-sr" class? Add aria-hidden='true' to the element */
.show-for-sr,
.show-on-focus {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

/* Only display the element when it's focused */
.show-on-focus:active,
.show-on-focus:focus {
  position: static !important;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
}

/* Landscape and portrait visibility */
.show-for-landscape,
.hide-for-portrait {
  display: block !important;
}

@media screen and (orientation: landscape) {
  .show-for-landscape,
  .hide-for-portrait {
    display: block !important;
  }
}

@media screen and (orientation: portrait) {
  .show-for-landscape,
  .hide-for-portrait {
    display: none !important;
  }
}

.hide-for-landscape,
.show-for-portrait {
  display: none !important;
}

@media screen and (orientation: landscape) {
  .hide-for-landscape,
  .show-for-portrait {
    display: none !important;
  }
}

@media screen and (orientation: portrait) {
  .hide-for-landscape,
  .show-for-portrait {
    display: block !important;
  }
}

/* Responsive visibility classes */
@media screen and (max-width:575px) {
  .hide-for-xs-only {
    display: none !important;
  }
}

@media screen and (max-width:0), screen and (min-width:576px) {
  .show-for-xs-only {
    display: none !important;
  }
}

@media print, screen and (min-width:576px) {
  .hide-for-sm {
    display: none !important;
  }
}

@media screen and (max-width:575px) {
  .show-for-sm {
    display: none !important;
  }
}

@media screen and (min-width:576px) and (max-width:767px) {
  .hide-for-sm-only {
    display: none !important;
  }
}

@media screen and (max-width:575px), screen and (min-width:768px) {
  .show-for-sm-only {
    display: none !important;
  }
}

@media print, screen and (min-width:768px) {
  .hide-for-md {
    display: none !important;
  }
}

@media screen and (max-width:767px) {
  .show-for-md {
    display: none !important;
  }
}

@media screen and (min-width:768px) and (max-width:991px) {
  .hide-for-md-only {
    display: none !important;
  }
}

@media screen and (max-width:767px), screen and (min-width:992px) {
  .show-for-md-only {
    display: none !important;
  }
}

@media print, screen and (min-width:992px) {
  .hide-for-lg {
    display: none !important;
  }
}

@media screen and (max-width:991px) {
  .show-for-lg {
    display: none !important;
  }
}

@media screen and (min-width:992px) and (max-width:1199px) {
  .hide-for-lg-only {
    display: none !important;
  }
}

@media screen and (max-width:991px), screen and (min-width:1200px) {
  .show-for-lg-only {
    display: none !important;
  }
}

@media print, screen and (min-width:1200px) {
  .hide-for-xl {
    display: none !important;
  }
}

@media screen and (max-width:1199px) {
  .show-for-xl {
    display: none !important;
  }
}

@media screen and (min-width:1200px) and (max-width:1439px) {
  .hide-for-xl-only {
    display: none !important;
  }
}

@media screen and (max-width:1199px), screen and (min-width:1440px) {
  .show-for-xl-only {
    display: none !important;
  }
}

@media print, screen and (min-width:1440px) {
  .hide-for-xxl {
    display: none !important;
  }
}

@media screen and (max-width:1439px) {
  .show-for-xxl {
    display: none !important;
  }
}


/* Alignment */
.text-left {
  text-align: left;
}
.text-right {
  text-align: right;
}
.text-center {
  text-align: center;
}
.text-justify {
  text-align: justify;
}

@media print, screen and (min-width:576px) {
  .text-sm-left {
    text-align: left;
  }
  .text-sm-right {
    text-align: right;
  }
  .text-sm-center {
    text-align: center;
  }
  .text-sm-justify {
    text-align: justify;
  }
}

@media print, screen and (min-width:768px) {
  .text-md-left {
    text-align: left;
  }
  .text-md-right {
    text-align: right;
  }
  .text-md-center {
    text-align: center;
  }
  .text-md-justify {
    text-align: justify;
  }
}

@media print, screen and (min-width:992px) {
  .text-lg-left {
    text-align: left;
  }
  .text-lg-right {
    text-align: right;
  }
  .text-lg-center {
    text-align: center;
  }
  .text-lg-justify {
    text-align: justify;
  }
}

@media print, screen and (min-width:1200px) {
  .text-xl-left {
    text-align: left;
  }
  .text-xl-right {
    text-align: right;
  }
  .text-xl-center {
    text-align: center;
  }
  .text-xl-justify {
    text-align: justify;
  }
}

@media print, screen and (min-width:1440px) {
  .text-xxl-left {
    text-align: left;
  }
  .text-xxl-right {
    text-align: right;
  }
  .text-xxl-center {
    text-align: center;
  }
  .text-xxl-justify {
    text-align: justify;
  }
}

/* Other */
.text-capitalize {
  text-transform: capitalize;
}

.text-uppercase {
  text-transform: uppercase;
}

.text-lowercase {
  text-transform: lowercase;
}

.text-nowrap {
  white-space: nowrap !important;
}

.text-wrap {
  word-wrap: break-word !important;
}
/* Spacing */

.mt-0 {
  margin-top: 0 !important;
}
.mt-1 {
  margin-top: 2rem !important;
}
.mt-2 {
  margin-top: 4rem !important;
}
.mt-3 {
  margin-top: 6rem !important;
}
.mt-4 {
  margin-top: 8rem !important;
}
.mt-5 {
  margin-top: 10rem !important;
}
.mt-6 {
  margin-top: 12rem !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}
.mb-1 {
  margin-bottom: 2rem !important;
}
.mb-2 {
  margin-bottom: 4rem !important;
}
.mb-3 {
  margin-bottom: 6rem !important;
}
.mb-4 {
  margin-bottom: 8rem !important;
}
.mb-5 {
  margin-bottom: 10rem !important;
}
.mb-6 {
  margin-bottom: 12rem !important;
}

.pt-0 {
  padding-top: 0 !important;
}
.pt-1 {
  padding-top: 2rem !important;
}
.pt-2 {
  padding-top: 4rem !important;
}
.pt-3 {
  padding-top: 6rem !important;
}
.pt-4 {
  padding-top: 8rem !important;
}
.pt-5 {
  padding-top: 10rem !important;
}
.pt-6 {
  padding-top: 12rem !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}
.pb-1 {
  padding-bottom: 2rem !important;
}
.pb-2 {
  padding-bottom: 4rem !important;
}
.pb-3 {
  padding-bottom: 6rem !important;
}
.pb-4 {
  padding-bottom: 8rem !important;
}
.pb-5 {
  padding-bottom: 10rem !important;
}
.pb-6 {
  padding-bottom: 12rem !important;
}
/* Responsive embed container */
.responsive-embed,
.flex-video {
  position: relative;
  height: 0;
  margin-bottom: 1rem;
  padding-bottom: 75%;
  overflow: hidden;
}

.responsive-embed iframe,
.responsive-embed object,
.responsive-embed embed,
.responsive-embed video,
.flex-video iframe,
.flex-video object,
.flex-video embed,
.flex-video video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.responsive-embed.widescreen,
.flex-video.widescreen {
  padding-bottom: 56.25%;
}

.responsive-embed.portrait,
.flex-video.portrait {
  padding-bottom: 177.77%;
}

.responsive-embed.square,
.flex-video.square {
  padding-bottom: 100%;
}


/* <div class="breakpoint-indicator"></div> */

.breakpoint-indicator {
  background-color: #333;
  color: white;
  font-family: monospace;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1;
  padding: 0.6rem 1rem;
  border-radius: 0 0.5rem 0 0;
  position: fixed;
  bottom: 0;
  left: 0;
/*   z-index: 10000; */
  z-index: 999999 !important;
}@media screen and (min-width: 0px) {
    .breakpoint-indicator:after {
      content: 'xs \003C 576px';
    }
  }@media screen and (min-width: 576px) {
    .breakpoint-indicator:after {
      content: 'sm \2265 576px';
    }
  }@media screen and (min-width: 768px) {
    .breakpoint-indicator:after {
      content: 'md \2265 768px';
    }
  }@media screen and (min-width: 992px) {
    .breakpoint-indicator:after {
      content: 'lg \2265 992px';
    }
  }@media screen and (min-width: 1200px) {
    .breakpoint-indicator:after {
      content: 'xl \2265 1200px';
    }
  }@media screen and (min-width: 1440px) {
    .breakpoint-indicator:after {
      content: 'xxl \2265 1440px';
    }
  }

/* Generic
This is where reset, normalize & box-sizing styles go.
*/

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

 html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}
html {
  box-sizing: border-box;
  font-size: 62.5%;
  scroll-behavior: smooth;
}

/* Set box-sizing globally to handle padding and border widths */
*,
*::before,
*::after {
  box-sizing: inherit;
}

/* Default body styles */
body {
  margin: 0;
  padding: 0;
  background: var(--body-background);
  font-family: var(--body-font-family);
  font-size: var(--global-font-size);
  font-weight: var(--global-weight-normal);
  line-height: var(--global-lineheight);
  color: var(--body-font-color);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img {
  /* Get rid of gap under images by making them display: inline-block; by default */
  display: inline-block;
  vertical-align: middle;

  /* Grid defaults to get images and embeds to work properly */
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic;
}

/* Make sure textarea takes on height automatically */
textarea {
  height: auto;
  min-height: 5rem;
  border-radius: var(--global-radius);
}

/* Make select elements are 100% width by default */
select {
  box-sizing: border-box;
  width: 100%;
  border-radius: var(--global-radius);
}

/* Styles Google Maps and MapQuest embeds properly */
.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
  max-width: none !important;
}

/* Reset <button> styles created by most browsers */
button {
  padding: 0;
  appearance: none;
  border: 0;
  border-radius: var(--global-radius);
  background: transparent;
  line-height: 1;
  cursor: auto;
}

/* Prevent text overflow on pre */
pre {
  overflow: auto;
}

/* Make reset inherit font-family instead of settings sans-serif */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
}

/* Internal classes to show/hide elements in JavaScript */
.is-visible {
  display: block !important;
}

.is-hidden {
  display: none !important;
}

/* Objects
Non-cosmetic design patterns including grid and layout classes)
*/

.body-wrapper {
  position: relative;
/*   overflow: hidden; */
}

.container {
  width: 100%;
  max-width: calc( var(--container-width) + var(--container-padding) * 2 );
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--container-padding);
  padding-right: var(--container-padding);
}
.container--fluid {
  max-width: none;
}
iframe[data-name="pb-iframe-player"] {
  height: 187px !important;
}
@media (min-width: 768px) {
  .container--narrow {
    --container-width: 101.6rem;
    --container-padding: 12.8vw;
  }
  .container--very-narrow {
    --container-width: 87.8rem;
    --container-padding: 22vw;
  }
}


/* Elements
Base HMTL elements are styled in this section (<body<, <h1>, <a>, <p>, <button> etc.)
*/



/* Typography resets */
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0;
}

/* Paragraphs */
p {
  margin-top: 2.4rem;
  margin-bottom: 2.4rem;
}

/* Emphasized text */
em,
i {
  font-style: italic;
  line-height: inherit;
}

/* Strong text */
strong,
b {
  font-weight: var(--global-weight-bold);
  line-height: inherit;
}

/* 375px - 1440px */

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6,
.scaling-text {
  --min-w: 37.5;
  --max-w: 170;
  --min-fs: 1;
  --max-fs: 6;
  --slope: calc( ( var(--max-fs) - var(--min-fs) ) / ( var(--max-w) - var(--min-w) ) );
  --y-axis-inter: calc( calc( var(--min-w) * -1 ) * var(--slope) + var(--min-fs) );

  font-size: clamp( calc( var(--min-fs) * 1rem ), calc( var(--y-axis-inter) * 1rem ) + calc( var(--slope) * 100vw ) , calc( var(--max-fs) * 1rem ) );
}

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: var(--font-neue-haas);
  margin-top: 0.45em;
  margin-bottom: 0.45em;
}

p:first-child,
ul:first-child,
ol:first-child,
h1:first-child, .h1:first-child,
h2:first-child, .h2:first-child,
h3:first-child, .h3:first-child,
h4:first-child, .h4:first-child,
h5:first-child, .h5:first-child,
h6:first-child, .h6:first-child {
  margin-top: 0;
}

h1, .h1 {
  --min-fs: 4;
  --max-fs: 12.5;
  font-weight: 900;
  line-height: 0.92em;
}
h2, .h2 {
  --min-fs: 3.4;
  --max-fs: 8;
  font-weight: 700;
  line-height: 1.0625em;
}
h3, .h3 {
  --min-fs: 3;
  --max-fs: 7.5;
  font-weight: 600;
  line-height: 1.0667em;
}
h4, .h4 {
  font-family: var(--font-montserrat);
  --min-fs: 2.3;
  --max-fs: 5;
  font-weight: 700;
  line-height: 1.1em;
}
h5, .h5 {
  font-family: var(--font-montserrat);
  --min-fs: 1.8;
  --max-fs: 3.8;
  font-weight: 700;
  line-height: 1.105em;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
h6, .h6 {
  font-family: var(--font-montserrat);
  --min-fs: 1.7;
  --max-fs: 2.7; /*Figma has 30px but in use its smaller*/
  font-weight: 900;
  line-height: 1.333em;
  text-transform: uppercase;
}


/* Links */
a {
  line-height: inherit;
  color: var(--color-cerise);
  text-decoration-line: underline;
  text-decoration-color: currentColor;
  text-underline-offset: 0.2em;
  transition: color 0.15s ease-out, background-color 0.15s ease-out, text-decoration-color 0.15s ease-out;
  cursor: pointer;
  overflow-wrap: break-word;
}

a:hover,
a:focus {
  color: rgba(var(--color-cerise-rgb),0.9);
  text-decoration-color: transparent;
}

a img {
  border: 0;
}

/* Horizontal rule */
hr {
  clear: both;
  height: 0;
  margin: 3.6rem auto;
  border-top: 0;
  border-right: 0;
  border-bottom: 0.1rem solid var(--c-lochinvar);
  border-left: 0;
}
hr.hr--mini {
  max-width: 10rem;
}

/* Lists */
ul,
ol,
dl {
  margin-top: 2.4rem;
  margin-bottom: 2.4rem;
  list-style-position: outside;
}

/* List items */
li {
  font-size: inherit;
}

/* Unordered lists */
ul {
  margin-left: 1.2em;
  list-style-type: disc;
}

/* Ordered lists */
ol {
  margin-left: 1.2em;
}

/* Nested unordered/ordered lists */
ul ul,
ol ul,
ul ol,
ol ol {
  margin-left: 1.2em;
  margin-top: 0;
  margin-bottom: 0;
}

/* ul > li::marker {
  color: red;
} */

@media (min-width: 768px) {
  ul.columns-2, 
  ol.columns-2,
  ul.columns-3, 
  ol.columns-3 {
    column-gap: 7rem;
  }
  ul.columns-2, 
  ol.columns-2 {
    column-count: 2;
  }
  ul.columns-3, 
  ol.columns-3 {
    column-count: 3;
  }
}

.list-unstyled {
  margin-left: 0;
  list-style: none;
}

.bg-black {
  background-color: var(--color-black);
  color: white;
}
/* Primary Button */
.button {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  text-decoration: none;
  cursor: pointer;
  -webkit-appearance: none;
  padding: 1.6rem 6.5rem 1.6rem 2rem;
  font-family: var(--font-neue-haas);
  font-size: 1.6rem;
  line-height: 1;
  font-weight: 600;
  text-align: left;
  text-transform: lowercase;
  color: white;
  background-color: var(--color-mulberry);
  border: 0.2rem solid transparent;
  border-radius: 2.6rem;
  position: relative;
  transition: background-color 0.15s ease-out, color 0.15s ease-out;
}

/* the circle */
.button::before {
  content: '';
  display: block;
  background-color: var(--color-cerise);
  border-radius: 2.6rem;
  position: absolute;
  top: -0.2rem;
  bottom: -0.2rem;
  right: -0.3rem;
  width: 5.2rem;
}

/* the arrow */
.button::after {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='13' viewBox='0 0 15 13'%3E%3Cpath d='M13.917 6.67852L14.27 6.32551L13.917 5.9725L8.66875 0.724225L8.31574 0.371216L7.60972 1.07723L7.96273 1.43024L12.3582 5.82568L0.318359 5.82568L0.318359 6.82535L12.3582 6.82535L7.96273 11.2208L7.60972 11.5738L8.31574 12.2798L8.66875 11.9268L13.917 6.67852Z' fill='%23000000'/%3E%3C/svg%3E");
  filter: invert(99%) sepia(6%) saturate(0%) hue-rotate(258deg) brightness(113%) contrast(100%);
  display: block;
  width: 1.5rem;
  height: 1.3rem;
  position: absolute;
  right: 1.6rem;
  transform: rotate(-45deg);
  transition: transform 0.15s ease-out, filter 0.15s ease-out;
}
.button:not([disabled]):is(:hover, :focus) {
  color: white;
  background-color: var(--color-cerise);
}
.button:not([disabled]):is(:hover, :focus)::after {
  transform: rotate(0deg);
}

.button--white {
  color: var(--color-mulberry);
  background-color: white;
}

.button--all-white {
  background-color: transparent;
  border-color: white;
}
.button--all-white::before {
  background-color: white;
}
.button--all-white::after {
  filter: invert(30%) sepia(82%) saturate(1069%) hue-rotate(312deg) brightness(98%) contrast(93%);
}
.button--all-white:not([disabled]):is(:hover, :focus) {
  color: var(--color-cerise);
  background-color: white;
}

.button--no-icon {
  padding-right: 2rem;
}
.button--no-icon::before,
.button--no-icon::after {
  content: none;
}

.button--expanded {
  width: 100%;
}

.button[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}


.button--secondary {
  color: var(--color-mulberry);
  background-color: transparent;
  border-color: var(--color-cerise);
}
.button--secondary:not(.button--no-icon) {
  padding-right: 4.9rem;
}
.button--secondary::before {
  content: none;
}
.button--secondary::after {
  filter: invert(9%) sepia(24%) saturate(5828%) hue-rotate(288deg) brightness(92%) contrast(94%);
}
.button--secondary:not([disabled]):is(:hover, :focus)::after {
  filter: invert(99%) sepia(6%) saturate(0%) hue-rotate(258deg) brightness(113%) contrast(100%);
}
.button--secondary.button--white {
  color: white;
}
.button--secondary.button--white::after {
  filter: invert(99%) sepia(6%) saturate(0%) hue-rotate(258deg) brightness(113%) contrast(100%);
}
.button--secondary.button--all-white {
  border-color: white;
  color: white;
}
.button--secondary.button--all-white::after {
  filter: invert(99%) sepia(6%) saturate(0%) hue-rotate(258deg) brightness(113%) contrast(100%);
}
.button--secondary.button--all-white:not([disabled]):is(:hover, :focus)::after {
  filter: invert(30%) sepia(82%) saturate(1069%) hue-rotate(312deg) brightness(98%) contrast(93%);
}


.hs-button {  
  display: inline-block;
  vertical-align: middle;
  text-decoration: none;
  cursor: pointer;
  -webkit-appearance: none;
  padding: 1.6rem 2rem;
  font-family: var(--font-neue-haas);
  font-size: 1.6rem;
  line-height: 1;
  font-weight: 600;
  text-align: left;
  text-transform: lowercase;
  color: white;
  background-color: var(--color-mulberry);
  border: 0.2rem solid transparent;
  border-radius: 2.6rem;
  position: relative;
  transition: background-color 0.15s ease-out, color 0.15s ease-out;
}
.hs-button:is(:hover,:focus) {
  color: white;
  background-color: var(--color-cerise);
}


.btn-group {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
}
.btn-group--center,
.btn-group.text-center {
	justify-content: center;
}
.btn-group--right,
.btn-group.text-right {
	justify-content: end;
}
[type='text'],
[type='password'],
[type='date'],
[type='datetime'],
[type='datetime-local'],
[type='month'],
[type='week'],
[type='email'],
[type='number'],
[type='search'],
[type='tel'],
[type='time'],
[type='url'],
[type='color'],
textarea,
select {
  display: block;
  width: 100%;
  height: 5.2rem;
  padding: 1.2rem 1.4rem;
  margin-bottom: 2.4rem;
  border: 0.1rem solid rgba(var(--color-black-rgb),0.25);
  border-radius: 0.5rem;
  background-color: white;
  font-family: inherit;
  font-weight: normal;
  line-height: 1.5;
  color: var(--body-font-color);
  transition: box-shadow 0.15s ease-out, border-color 0.25s ease-out;
  appearance: none;
}

[type='file'] {
  margin-bottom: 2.4rem;
}

/* [type='text']:hover,
[type='password']:hover,
[type='date']:hover,
[type='datetime']:hover,
[type='datetime-local']:hover,
[type='month']:hover,
[type='week']:hover,
[type='email']:hover,
[type='number']:hover,
[type='search']:hover,
[type='tel']:hover,
[type='time']:hover,
[type='url']:hover,
[type='color']:hover,
textarea:hover,
select:hover {
  border-color: rgba(var(--color-black-rgb),0.25);
  box-shadow: 0 0 0 0.4rem rgba(var(--color-black-rgb),0.04);
} */

[type='text']:focus,
[type='password']:focus,
[type='date']:focus,
[type='datetime']:focus,
[type='datetime-local']:focus,
[type='month']:focus,
[type='week']:focus,
[type='email']:focus,
[type='number']:focus,
[type='search']:focus,
[type='tel']:focus,
[type='time']:focus,
[type='url']:focus,
[type='color']:focus,
textarea:focus,
select:focus {
  outline: none;
  border-color: var(--color-turquoise);
  box-shadow: 0 0 0 0.4rem rgba(var(--color-turquoise-rgb),0.2);
}

textarea {
  height: auto;
  min-height: 20rem;
  max-width: 100%;
}

select:not([multiple]) {
  padding-right: 3.2rem;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  background-origin: content-box;
  background-position: right -2.2rem center;
  background-repeat: no-repeat;
  background-size: 1.6rem 1.2rem;
}

select[multiple] {
  height: auto;
  background-image: none;
}

[type='radio'],
[type='checkbox'] {
  appearance: none;
  border: 0.1rem solid rgba(var(--color-black-rgb),0.25);
  width: 1.6rem !important;
  height: 1.6rem !important;
  transition: box-shadow 0.15s ease-out, border-color 0.25s ease-out;
}
[type='radio'] {
  border-radius: 50%;
}
[type='checkbox'] {
  border-radius: 0.4rem;
}
[type='radio']:focus,
[type='checkbox']:focus {
  outline: none;
  border-color: var(--color-turquoise);
  box-shadow: 0 0 0 0.4rem rgba(var(--color-turquoise-rgb),0.2);
}
[type='radio']:checked,
[type='checkbox']:checked {
  border-color: var(--color-turquoise);
}
[type='radio']:checked {
  border-width: 0.5rem;
}
[type='checkbox']:checked {
  background-color: var(--color-turquoise);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}

label {
  display: block;
  line-height: 1.3em;
  font-weight: 400;
  margin: 0 0 1rem;
}

.hs-field-desc {
  color: rgba(var(--color-black-rgb),0.8);
  font-size: 1.5rem;
  line-height: 1.5em;
  margin: -0.5rem 0 0.5rem;
}

/* Inputs List */

.hs-form ul.inputs-list:not(.hs-error-msgs) {
  margin: 0 0 2.4rem 0;
  padding: 0;
  list-style: none;
  line-height: 1;
}

.hs-form ul.inputs-list:not(.hs-error-msgs) label {
  display: inline-grid;
  grid-auto-flow: column;
  align-items: baseline;
  column-gap: 1rem;
}

.hs-form ul.inputs-list:not(.hs-error-msgs) li:last-child label {
  margin: 0;
}

.hs-form .hs-form-field ul.inputs-list:not(.hs-error-msgs) span {
  font-weight: 400;
}

/* Error */

.hs-form-required {
  color: #dc3545;
  margin-left: 0.2rem;
}

.hs-input.invalid {
  border-color: #dc3545;
}
.hs-input.invalid:focus {
  box-shadow: 0 0 0 0.4rem rgba(220,53,69,0.25);
}

.hs-error-msgs {
  position: relative;
  top: -1rem;
  margin: 0;
  list-style: none;
  color: #dc3545;
}

.hs-error-msg {
  font-size: 1.6rem;
  font-weight: 400;
}

/* Legal */

.legal-consent-container .hs-richtext {
  font-size: 0.9em;
  margin: 0 0 2.4rem;
}

.legal-consent-container .hs-form-booleancheckbox-display > span {
  margin: 0 !important;
}

.legal-consent-container .hs-error-msgs label {
  color: #dc3545 !important;
}

/* Captcha */

.hs_recaptcha {
  margin-bottom: 2rem;
}
.hs_recaptcha .grecaptcha-badge {
  transform: scale(0.8);
  transform-origin: left;
}

/* Success */
.submitted-message {
  border: 0.2rem solid #1D7006;
  padding: 2rem 2rem 2rem 6rem;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 25 25"><g transform="translate(-48 -48)"><path d="M60.5,48A12.5,12.5,0,1,1,48,60.5,12.514,12.514,0,0,1,60.5,48Zm0,23.077A10.577,10.577,0,1,0,49.923,60.5,10.589,10.589,0,0,0,60.5,71.077Z" fill="%231D7006"/><path d="M148.423,171.538a.961.961,0,0,1-.715-.318l-3.462-3.846a.962.962,0,1,1,1.429-1.286l2.722,3.024,7.366-8.769a.962.962,0,0,1,1.473,1.237l-8.077,9.615a.962.962,0,0,1-.72.343Z" transform="translate(-90.231 -105.269)" fill="%231D7006"/></g></svg>');
  background-position: 2rem 2.3rem;
  background-repeat: no-repeat;
  background-size: 2.5rem 2.5rem;
  line-height: 1.6;
  min-height: 7.5rem;
}

/* Fix Column Layouts */

.hs-form fieldset {
  max-width: inherit !important;
}

.hs-form fieldset.form-columns-1 .hs-form-field,
.hs-form fieldset.form-columns-2 .hs-form-field,
.hs-form fieldset.form-columns-3 .hs-form-field {
  float: none !important;
  width: 100% !important;
}

.hs-form fieldset.form-columns-1 .hs-form-field .input,
.hs-form fieldset.form-columns-2 .hs-form-field .input,
.hs-form fieldset.form-columns-3 .hs-form-field .input {
  margin-right: 0 !important;
}

.hs-form fieldset.form-columns-1 .hs-form-field .hs-input:not([type='checkbox']):not([type='radio']),
.hs-form fieldset.form-columns-2 .hs-form-field .hs-input:not([type='checkbox']):not([type='radio']),
.hs-form fieldset.form-columns-3 .hs-form-field .hs-input:not([type='checkbox']):not([type='radio']) {
  width: 100% !important;
}

@media (min-width: 768px) {
  .hs-form fieldset.form-columns-2,
  .hs-form fieldset.form-columns-3 {
    display: grid;
    column-gap: 2rem;
  }
  .hs-form fieldset.form-columns-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .hs-form fieldset.form-columns-3 {
    grid-template-columns: repeat(3, 1fr);
  }
}


/* Inverse Form */

.inverse-form {
  color: white;
}
.inverse-form [type='text'],
.inverse-form [type='password'],
.inverse-form [type='date'],
.inverse-form [type='datetime'],
.inverse-form [type='datetime-local'],
.inverse-form [type='month'],
.inverse-form [type='week'],
.inverse-form [type='email'],
.inverse-form [type='number'],
.inverse-form [type='search'],
.inverse-form [type='tel'],
.inverse-form [type='time'],
.inverse-form [type='url'],
.inverse-form [type='color'],
.inverse-form textarea,
.inverse-form select {
  border-color: rgba(255,255,225,0.75);
  background-color: transparent;
  color: white;
}

.inverse-form [type='text']:focus,
.inverse-form [type='password']:focus,
.inverse-form [type='date']:focus,
.inverse-form [type='datetime']:focus,
.inverse-form [type='datetime-local']:focus,
.inverse-form [type='month']:focus,
.inverse-form [type='week']:focus,
.inverse-form [type='email']:focus,
.inverse-form [type='number']:focus,
.inverse-form [type='search']:focus,
.inverse-form [type='tel']:focus,
.inverse-form [type='time']:focus,
.inverse-form [type='url']:focus,
.inverse-form [type='color']:focus,
.inverse-form textarea:focus,
.inverse-form select:focus {
  border-color: white;
  box-shadow: 0 0 0 0.4rem rgba(255,255,255,0.25);
}

.inverse-form select:not([multiple]) {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

.inverse-form ::-webkit-input-placeholder {
  color: rgba(255,255,225,0.75);
}
.inverse-form ::-moz-placeholder {
  color: rgba(255,255,225,0.75);
}
.inverse-form :-ms-input-placeholder {
  color: rgba(255,255,225,0.75);
}
.inverse-form :-moz-placeholder {
  color: rgba(255,255,225,0.75);
}

.inverse-form [type='radio'],
.inverse-form [type='checkbox'] {
  border-color: rgba(255,255,225,0.75);
}
.inverse-form [type='radio']:focus,
.inverse-form [type='checkbox']:focus {
  border-color: white;
  box-shadow: 0 0 0 0.4rem rgba(255,255,255,0.25);
}
.inverse-form [type='radio']:checked,
.inverse-form [type='checkbox']:checked {
  border-color: white;
}
.inverse-form [type='checkbox']:checked {
  background-color: white;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23DA4061' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}

.inverse-form .hs-form-required {
  color: white;
}
.inverse-form .hs-input.invalid {
  border-color: #fbff00;
}
.inverse-form .hs-input.invalid:focus {
  box-shadow: 0 0 0 0.4rem rgba(251,255,0,0.3);
}
.inverse-form .hs-error-msgs {
  color: #fbff00;
}
.inverse-form .legal-consent-container .hs-error-msgs label {
  color: #fbff00 !important;
}

.inverse-form .hs-field-desc {
  color: rgba(255,255,255,0.9);
}
.scaling-width {
  --start-vw: 99.2;
  --end-vw: 170;
  --min-w: 4;
  --max-w: 8;
  --slope: calc( ( var(--max-w) - var(--min-w) ) / ( var(--end-vw) - var(--start-vw) ) );
  --y-axis-inter: calc( calc( var(--start-vw) * -1 ) * var(--slope) + var(--min-w) );

  --width: clamp( calc( var(--min-w) * 1rem ), calc( var(--y-axis-inter) * 1rem ) + calc( var(--slope) * 100vw ) , calc( var(--max-w) * 1rem ) );
}


/* Components
Specific pieces of UI that are stylized. Typically used for global partial styling
*/




/* If you change headerBP, also change the breakpoint in hero module css */

/* Navigation Skipper */

.skip-to-content {
  position: absolute;
  top: -4.2rem;
  left: 0;
  height: 4rem;
  padding: 1rem;
  color: white !important;
  font-size: 1.6rem;
  line-height: 1em;
  text-decoration: none;
  border-right: 0.1rem solid white;
  border-bottom: 0.1rem solid white;
  border-bottom-right-radius: 0.8rem;
  background-color: #BF1722;
  transition: top 1s ease-in, background-color 0.5s ease-out;
  z-index: 100;
}
.skip-to-content:focus {
  top: 0;
  transition: top 0.1s ease-out, background-color 0.5s ease-out;
}
.skip-to-content:hover {
  background-color: #861018;
}


/* lock scroll when mobile menu open */
@media (max-width: 991px) {
  html.has-open-mobile-menu,
  html.has-open-mobile-menu body {
    overflow: hidden;
    height: 100%;
  }
}

/* .site-header-container {
  --header-height: 11rem;
  height: var(--header-height);
}
@media (min-width: 992px) {
  .site-header-container {
    --header-height: 15rem;
  }
} */
body {
  --header-height: 11rem;
}
@media (min-width: 992px) {
  body {
    --header-height: 15rem;
  }
}
.site-header-container {
  height: var(--header-height);
}

.site-header {
  width: 100%;
  background-color: var(--color-black);
  padding: 3rem 0;
  position: fixed;
  z-index: 101;
  transition: transform 0.4s ease-out;
}
html:not(.has-open-main-menu) .site-header[data-scroll-direction="down"] {
	transform: translateY(-100%);
}

@media (min-width: 992px) {
  .site-header {
    padding: 5rem 0;
  }
}


.site-header__inner {
  display: grid;
  grid-template-columns: repeat(2, auto);
  justify-content: space-between;
  align-items: center;
  gap: 3rem;
}
@media (min-width: 992px) {
  .site-header__inner {
    grid-template-columns: repeat(3, auto);
  }
}




.site-header__logo {
  line-height: 0;
}


.site-header__menu {
  display: none;
  align-items: center;
  gap: 4rem;
}
@media (min-width: 992px) {
  .site-header__menu {
    display: block;
  }
}

@media (max-width: 991px) {
  .site-header__contact {
    display: none;
  }
}


body:has(.hs_cos_wrapper_type_module:first-child .overlay-header-if-first) .site-header-container {
/*   --header-height: 0; */
  height: 0;
}
body:has(.hs_cos_wrapper_type_module:first-child .overlay-header-if-first) .site-header:not(.is-not-at-top) {
  background-color: transparent;
  transition: background-color 0.4s ease-out, transform 0.4s ease-out;
}

body:has(.hs_cos_wrapper_type_module:first-child .overlay-header-if-first) .site-header {
  transition: background-color 0.4s 0.4s ease-out, transform 0.4s ease-out;
}



/* Main Navigation */
.main-nav {
  line-height: 1;
}
.main-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.main-nav li {
  margin: 0;
  padding: 0;
}
.main-nav a {
  text-decoration: none !important;
}

.main-nav__list {
  display: flex;
  gap: 3rem;
  
  font-family: var(--font-neue-haas);
  font-weight: 900;
}
.main-nav__list a {
  display: block;
  color: var(--color-chiffon);
}
.main-nav__list a:hover,
.main-nav__list a:focus {

}

/* First Level */
.main-nav__item {
  display: flex;
  position: relative;
}
.main-nav__item--has-children {
  position: relative;
}

.main-nav__link {
  display: flex;
  align-items: center;
  padding: 1.3rem 1rem;
}
.main-nav__item--has-children .main-nav__link {
  padding-right: 0;
}

.main-nav__link.active-node,
.main-nav__link.active-branch {
}


.main-nav__link::after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0.2rem;
  left: 0;
  right: 0;
  margin: 0 auto;
  height: 0.2rem;
  width: 0;
  background-color: var(--color-cerise);
  transition: width 0.15s ease-out;
}
/* .main-nav__item--has-children:focus .main-nav__link::after, */
/* .main-nav__item--has-children:hover .main-nav__link::after, */
.main-nav__item.is-open .main-nav__link::after,
.main-nav__link.active-branch::after,
.main-nav__link.active-node::after,
.main-nav__link:focus::after,
.main-nav__link:hover::after {
  width: calc(100% - 30px);
}

.main-nav__button {
  cursor: pointer;
  align-items: center;
  background-color: transparent;
  border: none;
  display: flex;
  padding: 0 1rem;
  color: white;
}

/* Second Level */

/* Darken Overlay */
.main-nav__item--has-children::after {
  display: block;
  content: '';
  position: fixed;
  z-index: -2;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  pointer-events: none;
  background-color: var(--color-black);
  visibility: hidden;
  opacity: 0;
  transition: visibility 0.7s ease-out, opacity 0.7s ease-out;
}
.main-nav__item--has-children.is-open::after {
  visibility: visible;
  opacity: 0.7;
}

.main-nav__dropdown {
  position: fixed;
  z-index: -1;
  top: 0;
/*   bottom: 0; */
  left: 0;
  width: 100%;
/*   height: 550px; */
  max-height: 90vh;
  background-color: var(--color-black);
  padding: 170px 10% 100px;
  visibility: hidden;
  overflow-y: scroll;
  transform: translateY(-100%);
  transition: visibility 0.7s ease-out, transform 0.7s cubic-bezier(0.76, 0, 0.24, 1);
  display: grid;
}
.main-nav__item--has-children.is-open > .main-nav__dropdown {
  visibility: visible;
  transform: translateY(0);
}

.main-nav__dropdown-inner {
  height: 100%;
  width: 100%;
  max-width: 126rem;
  margin: 0 auto;
  min-height: 28rem;
  display: grid;
  grid-template-columns: repeat(2,1fr);
  align-items: center;
}

.main-nav__dropdown-list {
/*   margin: 7rem 0 !important; */
/*   font-size: 6rem; */
  font-size: clamp(4rem, 0.567rem + 3.460vw, 6rem);
  letter-spacing: 0.05em;
}

.main-nav__dropdown-link {
  padding: 0.5rem 0;
}
.main-nav__dropdown-link.active-node,
.main-nav__dropdown-link:hover {
  color: var(--color-cerise);
}

.main-nav__dropdown-images {
  position: relative;
  border-radius: 1.2rem;
  overflow: hidden;
/*   aspect-ratio: 1.25; */
  height: 100%;
}
.main-nav__dropdown-images img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transform: scale(1.1);
  transition: opacity 0.3s ease-in, transform 0.3s ease-in;
  object-fit: cover;
}
.main-nav__dropdown-images img.is-active {
  opacity: 1;
  transform: scale(1);
  transition: opacity 0.3s ease-out, transform 0.3s ease-out;
}





/* Mobile Navigation */

@media (min-width: 992px) {
  .mobile-nav {
    display: none;
  }
}

.mobile-nav__toggle {
  display: block;
  width: 4.8rem;
  height: 4.8rem;
  cursor: pointer;
  touch-action: manipulation;
  position: relative;
}
.mobile-nav__toggle .mobile-nav__toggle-bar {
  display: block;
  position: absolute;
  height: 0.2rem;
  width: 3.2rem;
  background-color: white;
  opacity: 1;
  left: 0.8rem;
}
.mobile-nav__toggle .mobile-nav__toggle-bar--1 {
  top: 1.3rem;
  width: 1.8rem;
  transition: width 0.15s ease-out, top 0.3s 0.3s cubic-bezier(.23,1,.32,1), transform 0.3s cubic-bezier(.23,1,.32,1);
}
.mobile-nav__toggle .mobile-nav__toggle-bar--2 {
  top: 2.3rem;
  animation-duration: 0.3s;
  animation-timing-function: ease-out;
  transition: opacity 0s 0.3s ease-out;
}
.mobile-nav__toggle .mobile-nav__toggle-bar--3 {
  top: 3.3rem;
  transition: width 0.15s ease-out, top 0.3s 0.3s cubic-bezier(.23,1,.32,1), transform 0.3s cubic-bezier(.23,1,.32,1);
}
.mobile-nav__toggle .mobile-nav__toggle-arrow {
  border: solid white;
  border-width: 0 0.2rem 0.2rem 0;
  display: block;
  width: 0.6rem;
  height: 0.6rem;
  transform: rotate(45deg);
  position: absolute;
  top: 0.9rem;
  left: 3.3rem;
  opacity: 1;
  transition: top 0.15s ease-out, opacity 0.15s 0.4s ease-out;
}
html:not([data-whatintent='touch']) .mobile-nav__toggle:not(.is-open):hover .mobile-nav__toggle-bar--1 {
  width: 3.2rem;
}
html:not([data-whatintent='touch']) .mobile-nav__toggle:not(.is-open):hover .mobile-nav__toggle-bar--2 {
/*   animation-name: spring; */
}
html:not([data-whatintent='touch']) .mobile-nav__toggle:not(.is-open):hover .mobile-nav__toggle-bar--3 {
  width: 1.8rem;
}
html:not([data-whatintent='touch']) .mobile-nav__toggle:hover .mobile-nav__toggle-arrow {
  top: 2.9rem;
}
@keyframes spring {
  0% {
    width: 3.2rem;
  }
  40% {
    width: 1.8rem;
  }
  60% {
    width: 1.8rem;
  }
  100% {
    width: 3.2rem;
  }
}

/* Button toggled open */
.mobile-nav__toggle.is-open .mobile-nav__toggle-bar--1 {
	top: 2.3rem;
  width: 3.2rem;
	transform: rotate(-45deg);
	transition: top 0.3s cubic-bezier(.23,1,.32,1), transform 0.3s 0.3s cubic-bezier(.23,1,.32,1);
}
.mobile-nav__toggle.is-open .mobile-nav__toggle-bar--2 {
	opacity: 0;
}
.mobile-nav__toggle.is-open .mobile-nav__toggle-bar--3 {
	top: 2.3rem;
  width: 3.2rem;
	transform: rotate(45deg);
	transition: top 0.3s cubic-bezier(.23,1,.32,1), transform 0.3s 0.3s cubic-bezier(.23,1,.32,1);
}
.mobile-nav__toggle.is-open .mobile-nav__toggle-arrow {
  opacity: 0;
  transition: opacity 0s 0s ease-out;
}







.mobile-nav__menu {
  position: fixed;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: var(--color-black);
  padding: 11rem var(--container-padding) var(--container-padding);
  overflow-y: scroll;
  visibility: hidden;
  transform: translateY(-100%);
  transition: visibility 0.7s ease-out, transform 0.7s cubic-bezier(0.76, 0, 0.24, 1);
}
.mobile-nav__menu.is-open {
  visibility: visible;
  transform: translateY(0);
}
  
/* 
.mobile-nav__menu:not(.is-open) {
  display: none;
}
.mobile-nav__menu.animate-in {
  opacity: 1;
  transform: translateY(0);
} */



.mobile-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  line-height: 1.11;
}
.mobile-nav li {
  margin: 0;
  padding: 0;
}
.mobile-nav a {
  text-decoration: none !important;
}

.mobile-nav__list {
  font-family: var(--font-neue-haas);
  font-size: 4.5rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  margin: 5rem 0 10rem !important;
}
.mobile-nav__list a {
  display: block;
  color: white;
  padding: 0.5rem 0;
}
.mobile-nav__list a:hover,
.mobile-nav__list a:focus,
.mobile-nav__list a.active-branch,
.mobile-nav__list a.active-node {
  color: var(--color-cerise);
}

/* First Level */
.mobile-nav__item--has-children {
  display: grid;
	grid-template-columns: auto 4.8rem;
}

.mobile-nav__submenu-toggle {
  cursor: pointer;
  touch-action: manipulation;
}
.mobile-nav__submenu-toggle svg {
  transition: transform 0.15s ease-out;
}
.mobile-nav__submenu-toggle[aria-expanded="true"] svg {
  transform: rotate(135deg);
}

/* Second Level */
.mobile-nav__submenu {
  grid-column: 1 / -1;
  transition: height 0.5s cubic-bezier(0.76, 0, 0.24, 1);
  padding-left: 2rem !important;
}
.mobile-nav__submenu:not(.is-open) {
	display: none;
}
.mobile-nav__submenu-link {
  font-size: 3.5rem;
}



/* Landing Page */

.site-header--lp {
  position: initial;
  transform: none !important;
}
body:has(.hs_cos_wrapper_type_module:first-child .overlay-header-if-first) .site-header--lp {
  position: absolute;
  background-color: transparent;
}



div.hs-tools-menu {
  top: -3px !important;
  min-height: 30px !important;
}

div.hs-tools-menu.hs-collapsed img.hs-sprocket {
  width: 24px !important;
  right: 3px !important;
}
.site-footer {
  background-color: var(--color-black);
  color: white;
  overflow: hidden;
  padding: clamp(3rem,5.8vw,8rem) 0;
}

.site-footer__container {
  display: grid;
  align-items: start;
  gap: 3.5rem;
}



.site-footer__menu ul {
  margin: 0;
  padding: 0;
  list-style: none;
  line-height: 1;
}

.site-footer__menu a:not(.button) {
  text-decoration: none;
  color: white;
}
.site-footer__menu a:not(.button):is(:hover,:focus) {
  color: var(--color-cerise);
}

.site-footer__menu > ul {
  display: grid;
  gap: 2rem;
}

.site-footer__menu > ul > li:nth-child(5) {
  margin-top: 5rem;
}

.site-footer__menu > ul > li > a:not(.button) {
  font-family: var(--font-neue-haas);
  font-size: 3.2rem;
  font-weight: 900;
}

.site-footer__menu > ul > li > ul {
  margin-top: 1.3rem;
}
.site-footer__menu > ul > li > ul > li {
  margin-top: 0.9rem;
}
.site-footer__menu > ul > li > ul > li a {
  font-size: 1.6rem;
}
.site-footer__menu > ul > li > ul > li a:is(:hover,:focus) {
  font-weight: 700;
}

@media (min-width: 576px) {
  .site-footer__menu > ul {
    grid-template-columns: repeat(2,1fr);
    gap: 5rem 3rem;
  }
  .site-footer__menu > ul > li:nth-child(1) {
    grid-area: 1 / 1 / 1 / 2;
  }
  .site-footer__menu > ul > li:nth-child(2) {
    grid-area: 2 / 1 / 5 / 1;
  }
  .site-footer__menu > ul > li:nth-child(3) {
    grid-area: 1 / 2 / 1 / 3;
  }
  .site-footer__menu > ul > li:nth-child(4) {
    grid-area: 2 / 2 / 2 / 3;
  }
  .site-footer__menu > ul > li:nth-child(5) {
    grid-area: 3 / 2 / 3 / 3;
    margin-top: auto;
  }
}



.site-footer__other {
  display: grid;
  justify-items: center;
  gap: 3rem;
  text-align: center;
}

.site-footer__socials {
  display: flex;
  gap: 2.5rem;
}
.site-footer__socials a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.2rem;
  height: 4.2rem;
  color: white;
  border: 0.2rem solid currentColor;
  border-radius: 50%;
  transition: color 0.15s ease-out;
}
.site-footer__socials a:is(:hover, :focus) {
  color: var(--color-cerise);
}
.site-footer__socials-facebook svg {
  transform: translateX(-0.05rem);
}

.site-footer__legal {
  font-size: 1.2rem;
  line-height: 1.3;
}

.site-footer__legal a {
  color: #fff;
}

.site-footer__awards {
  display: flex;
  gap: 0.7rem;
}

@media (min-width: 992px) {
  .site-footer__other {
    justify-items: end;
    gap: 5.5rem;
  }
}



.site-footer__logo {
  display: flex;
  justify-content: center;
  align-self: end;
  line-height: 0;
  margin: 0 calc(var(--container-padding) * -1) calc(clamp(3rem, 5.8vw, 8rem) * -1 - 5.5%);
}
.site-footer__logo svg {
  width: 100%;
  max-width: 60rem;
  height: auto;
}



@media (min-width: 992px) {
  .site-footer__container {
    grid-template-columns: auto max-content max-content;
    justify-content: space-between;
    gap: 5%;
  }
  
  .site-footer__logo {
    grid-area: 1 / 1 / 1 / 2;
    justify-content: start;
    margin: 0 0 calc(clamp(3rem, 5.8vw, 8rem) * -1 - 5.5%) calc(var(--container-padding) * -1);
  }
}





.column-helper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10000000;
  pointer-events: none;
}
.column-helper .container {
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: repeat(10, 1fr);
/*   gap: 0.2rem; */
}
.column-helper .container div {
  background-color: rgba(0,0,0,0.05);
  border-width: 0 0.1rem;
  border-color: rgba(255,255,255,0.5);
  border-style: solid;
}
.column-helper .container div:nth-child(2),
.column-helper .container div:nth-child(9) {
  background-color: rgba(0,0,0,0.15);
}
.column-helper .container div:nth-child(3),
.column-helper .container div:nth-child(4),
.column-helper .container div:nth-child(5),
.column-helper .container div:nth-child(6),
.column-helper .container div:nth-child(7),
.column-helper .container div:nth-child(8) {
  background-color: rgba(0,0,0,0.25);
}

/* Templates
Specific pieces of UI that are stylized. Typically used for global partial styling
*/

/* Index */

/* Blog Header */

.blog-header {
  margin: clamp(8rem,5.9vw,10rem) 0 4rem;
  justify-content: center;
}
.blog-header.has-heading {
  flex-direction: column;
}
.blog-header h2 {
  margin-top: 0;
  text-align: center;
}

select.blog-topic-select {
  width: 100%;
  border: 0.2rem solid var(--color-black);
  border-radius: 2.6rem;
  background-image: url('data:image/svg+xml;utf8,<svg width="12" height="14" viewBox="0 0 12 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5.60138 13.6228L5.95439 13.9758L6.3074 13.6228L11.5557 8.37456L11.9087 8.02155L11.2027 7.31553L10.8497 7.66854L6.45423 12.064L6.45423 0.0241697L5.45456 0.0241696L5.45456 12.064L1.05912 7.66854L0.706112 7.31553L9.35982e-05 8.02155L0.353104 8.37456L5.60138 13.6228Z" fill="%230F0F0F"/></svg>');
  font-family: var(--font-neue-haas);
  font-weight: 600;
  font-size: 1.6rem;
  text-transform: lowercase;
  padding-left: 2rem;
  padding-right: 4rem;
  margin-right: 3rem;
}
select.blog-topic-select:focus {
  box-shadow: 0 0 0 0.4rem rgba(var(--color-mulberry-rgb),0.1);
}
select.blog-topic-select option {
  text-transform: none;
}

.blog-search {
  margin-bottom: 2.4rem;
}
.blog-search__search-input-wrap {
  position: relative;
  width: 100%;
}
.blog-search__search-input {
  background-color: var(--color-mulberry);
  border: none;
  border-radius: 2.6rem;
  color: white;
  font-family: var(--font-neue-haas);
  font-weight: 600;
  font-size: 1.6rem;
  margin: 0;
  padding-left: 2rem;
  padding-right: 6.6rem;
}
.blog-search__search-input:focus {
  box-shadow: 0 0 0 0.4rem rgba(var(--color-mulberry-rgb),0.1);
}
/* Placeholder styles need to be seperated */
.blog-search__search-input::-webkit-input-placeholder { color: white; }
.blog-search__search-input::-moz-placeholder { color: white; }
.blog-search__search-input:-ms-input-placeholder { color: white; }
.blog-search__search-input:-moz-placeholder { color: white; }
.blog-search__search-input:focus::-webkit-input-placeholder { color: transparent; }
.blog-search__search-input:focus::-moz-placeholder { color: transparent; }
.blog-search__search-input:focus:-ms-input-placeholder { color: transparent; }
.blog-search__search-input:focus:-moz-placeholder { color: transparent; }

.blog-search__search-button {
  position: absolute;
  top: 0;
  right: -0.1rem;
  width: 5.2rem;
  height: 5.2rem;
  cursor: pointer;
  background-color: var(--color-cerise);
  border-radius: 50%;
  transition: background-color 0.15s ease-out;
}
.blog-search__search-button:is(:hover,:focus) {
  background-color: var(--color-turquoise);
}
.blog-search__search-button svg {
  transition: transform 0.15s ease-out;
}
.blog-search__search-button:is(:hover,:focus) svg {
  transform: rotate(-90deg);
}

@media (min-width: 576px) {
  .blog-header {
    display: flex;
    align-items: center;
  }
  .blog-header__controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  select.blog-topic-select,
  .blog-search__search-input-wrap {
    width: 22rem;
  }
}

@media (min-width: 992px) {
  .blog-header.has-heading {
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
    gap: 3.6rem;
  }
}



/* Blog Listing */

.blog-listing {
  display: grid;
  gap: 6rem clamp(4rem,3.5vw,6rem);
}
.blog-listing__post {
  position: relative;
}
.blog-listing__post-image {
  display: block;
  width: 100%;
  aspect-ratio: 1.95;
  object-fit: cover;
  margin-bottom: min(9.5%,4rem);
}
.blog-listing__post-title a {
  text-decoration: none;
  color: inherit;
  transition: none;
}
.blog-listing__post-title a:after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
}
.blog-listing__post-summary {
  margin: 0;
}

html:not([data-whatintent='touch']) .blog-listing {
  gap: 0;
}
html:not([data-whatintent='touch']) .blog-listing__post {
  border-radius: 2rem;
  padding: min(8%,4rem);
  transition: background-color 0.15s ease-out, color 0.15s ease-out;
}
html:not([data-whatintent='touch']) .blog-listing__post:is(:hover,:focus-within) {
  background-color: var(--color-black);
  color: white;
}

@media (min-width: 768px) {
  .blog-listing {
    grid-template-columns: repeat(2, 1fr);
  }
  
}
/* @media (min-width: 768px) and (max-width: 1199px) {
  .blog-listing__post:nth-child(2n+2) {
    transform: translateY(8rem);
  }
} */
@media (min-width: 1200px) {
  .blog-listing {
    grid-template-columns: repeat(3, 1fr);
  }
/*   .blog-listing__post:nth-child(3n+2) {
    transform: translateY(12rem);
  } */
}



/* Pagination */

.blog-pagination {
  font-family: var(--font-neue-haas);
  font-size: 1.6rem;
  line-height: 1;
  text-transform: lowercase;
  font-weight: 600;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1.6rem;
  margin: 9rem 0;
}
.blog-pagination__link {
  text-decoration: none;
}

.blog-pagination__numbers {
  display: flex;
  justify-content: center;
}
.blog-pagination__numbers-inner {
  display: inline-flex;
  align-items: center;
  height: 5.2rem;
  padding: 0 1.4rem;
  border: 0.2rem solid var(--color-black);
  border-radius: 2.6rem;
}
.blog-pagination__number-link {
  padding: 1.5rem 1rem;
  color: #767676;
  text-decoration-line: underline;
  text-decoration-thickness: 0.1em;
  text-decoration-color: transparent;
}
.blog-pagination__link--active {
  color: var(--color-black) !important;
  text-decoration-color: currentColor;
}
.blog-pagination__number-link:is(:hover,:focus) {
  color: var(--color-black);
  text-decoration-color: currentColor;
}

.blog-pagination__prev-link,
.blog-pagination__next-link { 
  display: flex;
  gap: 1.4rem;
  align-items: center;
  vertical-align: middle;
  cursor: pointer;
  height: 5.2rem;
  padding: 0 2.4rem;
  color: var(--color-black);
  border: 0.2rem solid var(--color-black);
  border-radius: 2.6rem;
  transition: background-color 0.15s ease-out, color 0.15s ease-out;
}
:is(.blog-pagination__prev-link,.blog-pagination__next-link):not(.is-disabled):is(:hover,:focus) { 
  background-color: var(--color-black);
  color: white;
}
:is(.blog-pagination__prev-link,.blog-pagination__next-link).is-disabled {
  opacity: 0.25;
  cursor: not-allowed;
}

@media (max-width: 575px) {
  .blog-pagination__prev-link {
    order: 1;
  }
  .blog-pagination__next-link {
    order: 2;
  }
  .blog-pagination__numbers {
    order: 3;
    flex-basis: 100%;
  }
}



/* Post Hero */

.post-hero {
  background-color: var(--color-black);
  color: white;
  padding: clamp(6rem,4.8vw,8rem) 0;
}
.post-hero__tags {
  color: var(--color-cerise);
}
.post-hero__tags a {
  text-decoration: none;
  color: var(--color-cerise) !important;
}
.post-hero__tags a:is(:hover,:focus) {
  text-decoration: underline;
}
.post-hero h1 {
  margin-bottom: 0;
}



/* Post Single */

.blog-post__main-container {
  margin: clamp(6rem,4.8vw,8rem) auto;
}
.blog-post__body h3,
.blog-post__body .h3 {
  --min-fs: 2.5;
  --max-fs: 5;
}
.blog-post__author-image {
  border-radius: 50%;
  margin-bottom: -1rem;
}
.blog-post__aside-label {
  text-transform: uppercase;
}
.blog-post__aside-value {
  font-family: var(--font-neue-haas);
  font-weight: 900;
}

.blog-post__featured-image {
  margin-bottom: 4rem;
}

@media (min-width: 992px) {
  .blog-post__main-container {
    display: grid;
    grid-template-columns: repeat(12,1fr);
  }
  .blog-post__aside {
    grid-column: 1 / span 2;
  }
  .blog-post__main {
    grid-column: 4 / span 9;
  }
}



/* Comments */

.blog-comments {
  margin-top: 6rem; 
  margin-bottom: 9rem;
}
@media (min-width: 992px) {
  .blog-comments {
    margin-top: 9rem;
  }
}

.new-comments {
  margin-bottom: 6rem;
  border-bottom: 0.1rem solid var(--c-lochinvar);
}

.comment {
  border-top: 0.1rem solid var(--c-lochinvar);
  padding: 3.5rem 0;
  margin: 0;
}

.comment:not(.depth-0) + .comment.depth-0 {
  margin-top: 2rem;
}

.comment:not(.depth-0) {
  border-color: #ccc;
}

.comment.depth-1 { margin-left:6%; }
.comment.depth-2 { margin-left:12%; }
.comment.depth-3 { margin-left:18%; }
.comment.depth-4 { margin-left:24%; }
.comment.depth-5 { margin-left:30%; }
.comment.depth-6 { margin-left:36%; }
.comment.depth-7 { margin-left:42%; }
.comment.depth-8 { margin-left:48%; }
.comment.depth-9 { margin-left:54%; }

.comment-date,
.comment-from {
  display: inline-block;
}

.comment-from h4 {
  font-size: var(--body-font-size);
  font-weight: 700;
  letter-spacing: normal;
  margin: 0 1rem 0 0;
}

.comment-from h4 a {
  color: var(--body-font-color);
}

.comment-from h4 a:after {
  content: '';
  background-image: url('data:image/svg+xml;utf8,<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="external-link-alt" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" class="svg-inline--fa fa-external-link-alt fa-w-16"><path fill="rgb%28102, 102, 102%29" d="M432,320H400a16,16,0,0,0-16,16V448H64V128H208a16,16,0,0,0,16-16V80a16,16,0,0,0-16-16H48A48,48,0,0,0,0,112V464a48,48,0,0,0,48,48H400a48,48,0,0,0,48-48V336A16,16,0,0,0,432,320ZM488,0h-128c-21.37,0-32.05,25.91-17,41l35.73,35.73L135,320.37a24,24,0,0,0,0,34L157.67,377a24,24,0,0,0,34,0L435.28,133.32,471,169c15,15,41,4.5,41-17V24A24,24,0,0,0,488,0Z" class=""></path></svg>');
  background-repeat: no-repeat;
  background-size: contain;
  display:inline-block;
  width: 0.7em;
  height: 0.7em;
  margin-left: 0.5rem;
}

.comment-date {
  font-size: 0.8em;
  color: #666;
}

.comment-body {
  margin-top: 1rem;
}

.comment-body p:last-child {
  margin-bottom: 1em;
}

.comment-reply-to {
  background: none;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.3em;
  font-style: italic;
  text-transform: none;
  padding: 0;
  border: none;
  border-radius: 0;
  letter-spacing: initial;
  text-decoration-line: underline;
  text-decoration-color: transparent;
  text-decoration-thickness: 0.11em;
  color: var(--body-font-color);
  opacity: 0.5;
  transition: all 0.15s ease-out;
}

.comment-reply-to:before {
  content: '';
  background-image: url('data:image/svg+xml;utf8,<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="reply" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" class="svg-inline--fa fa-reply fa-w-16"><path fill="currentColor" d="M8.309 189.836L184.313 37.851C199.719 24.546 224 35.347 224 56.015v80.053c160.629 1.839 288 34.032 288 186.258 0 61.441-39.581 122.309-83.333 154.132-13.653 9.931-33.111-2.533-28.077-18.631 45.344-145.012-21.507-183.51-176.59-185.742V360c0 20.7-24.3 31.453-39.687 18.164l-176.004-152c-11.071-9.562-11.086-26.753 0-36.328z" class=""></path></svg>');
  background-repeat: no-repeat;
  background-size: contain;
  display:inline-block;
  width: 0.7em;
  height: 0.7em;
  margin-right: 0.7rem;
}

.comment-reply-to:hover,
.comment-reply-to:focus {
  color: inherit;
  text-decoration-color: inherit;
  opacity: 1;
}

.replying {
  padding-left: 2em;
  padding-bottom: 3.5rem;
}

.replying-to {
  display: block;
  margin-bottom: 3rem;
  font-style: italic;
  font-weight: 700;
}

.hs-common-confirm-message{background-color:#cde3cc!important;border:1px solid #360!important;color:#360!important;font-size:15px!important;border-radius:3px!important;padding:8px!important;margin:8px 0!important;}