/* Theme base styles */

/* 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
*/

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

*, *:before, *:after {
  box-sizing: border-box;
}
/*! 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;
}

/* Project variables in css/tools */
:root {
  /*--theme-font-light: 'HelveticaNowDisplay-Light', sans-serif;*/
  /*--theme-font-regular: 'HelveticaNowDisplay-Regular', sans-serif;*/
  /*--theme-font-medium: 'HelveticaNowDisplay-Medium', sans-serif;*/

  --font-inter: 'Inter', sans-serif;
  --font-baskerville: 'Libre Baskerville', serif;

  --theme-black: #282828;
  --theme-red: #d12020;
  --theme-green: #0BC163;
  --theme-grey: #BEC4C5;
  --theme-light-grey: #F3F3F3;

  --font-size-md: 0.818em; /*18px*/
  --font-size-sm: 0.727em; /*16px*/

  /* MEASUREMENTS */
  --px-1: 1px; /*1px for borders*/
  --px-5: 0.2272em; /*5px*/
  --px-10: 0.4545em; /*10px*/
  --px-15: 0.6818em; /*15px*/
  --px-20: 0.909em; /*20px*/
  --px-30: 1.3636em; /*30px*/
  --px-40: calc(var(--px-20) * 2); /*40px*/
  --px-50: 2.2727em; /*50px*/
  --px-60: calc(var(--px-20) * 3); /*60px*/
  --px-80: calc(var(--px-20) * 4); /*80px*/
  --px-90: 4.0909em; /*90px*/

  /* MARGINS/PADDINGS */

  --padding: 0.909em; /*20px*/
  --padding-md: calc(var(--padding) * 2); /*40px*/
  --padding-lg: calc(var(--padding) * 3); /*60px*/
  --padding-xl: calc(var(--padding) * 4); /*80px*/
  --padding-xxl: calc(var(--padding) * 6); /*120px*/

  --section-padding: 7.272em;/*160px*/
  --section-vertical-padding: calc(var(--padding) * 6);
  --row-margin: calc(var(--padding) * -1);

  /* ELEMENTS */

  --nav-height: 5.454em; /*120px*/
  --wave-height: 9.09em; /*200px*/

  --border-radius-lg: 1.818em; /*40px*/
  --border-1px-solid: 1px solid;

  --theme-box-shadow: var(--px-20) var(--px-40) var(--px-80) rgba(0, 0, 0, 0.2); /*20px 40px 80px*/
  --theme-box-shadow-sm: 0.454em 0.909em 1.818em rgba(0, 0, 0, 0.2); /*10px 20px 40px */

  /* BLOG & CASE STUDY RATIOS */

  --ratio-desktop-25: calc(580 / 405 * 100%); /*405x580*/
  --ratio-desktop-50: calc(580 / 830 * 100%); /*830x580*/
  --ratio-desktop-75: calc(580 / 1255 * 100%); /*1255x580*/
  --ratio-desktop-100: calc(580 / 1680 * 100%); /*1680x580*/

  --ratio-mobile-sm: calc(232 / 335 * 100%);
  --ratio-mobile-lg: calc(460 / 335 * 100%);
  --ratio-mobile-single: calc(250 / 345 * 100%);

  --listing-min-height-desktop: 26.3636em; /*580px*/

  /* BLOG CTA + HERO */
  --hero-sm-min-height: 15.0909em; /*332px*/
  --hero-sm-limit: 52%; /*~= 631px*/
  --hero-overlay: rgba(0,0,0,0.45);


  /* UNDERLINED EFFECT */

  --underlined-height: 2px;
  --underlined-position: 0.15em;
  --underlined-position-alt: calc(var(--underlined-position) * -1);
}

@media (min-width: 1921px){
  :root {
    --underlined-height: 0.1em;
    --border-1px-solid: 0.055em solid;
    --px-1: 0.055em; /*1px for borders*/
  }
}

@media (max-width: 1920px){
  :root {
    --body-font-size: 22px;
  }
}

@media (max-width: 1679px){
  :root {
    --section-padding: calc(var(--padding) * 5); /*100px*/
    --section-vertical-padding: calc(var(--padding) * 4); /*80px*/
  }
}

@media (max-width: 1441px) {
  :root {
    --body-font-size: 18px;

    --font-size-md: 0.888em; /*16px*/
    --font-size-sm: 0.777em; /*14px*/

    --px-5: 0.2778em; /*5px*/
    --px-10: 0.5556em; /*10px*/
    --px-15: 0.8334em; /*15px*/
    --px-20: 1.1112em; /*20px*/
    --px-30: 1.6667em; /*30px*/
    --px-50: 2.7777em; /*50px*/
    --px-90: 5em; /*90px*/

    --padding: 1.1112em; /*20px*/
    --padding-lg: calc(var(--padding) * 2); /*40px*/
    --section-padding: calc(var(--padding) * 4); /*80px*/
    --section-vertical-padding: calc(var(--padding) * 3); /*60px*/

    --theme-box-shadow: var(--px-20) var(--px-40) var(--px-40) rgba(0, 0, 0, 0.2); /*20px 40px 40px*/

    --border-radius-lg: 2.5em; /*40px*/

    --nav-height: 5.444em; /*98px*/
    --wave-height: 9.05em; /*163px*/
  }
}

@media (max-width: 991px) {
  :root {
    --body-font-size: 16px;

    --font-size-md: 0.875em; /*14px*/
    --font-size-sm: 0.75em; /*12px*/

    --px-5: 0.3125em; /*5px*/
    --px-10: 0.625em; /*10px*/
    --px-15: 0.9375em; /*15px*/
    --px-20: 1.25em; /*20px*/
    --px-30: 1.875em; /*30px*/
    --px-50: 3.125em; /*50px*/
    --px-90: 5.625em; /*90px*/

    --padding: 1.25em; /*20px*/
    --section-padding: calc(var(--padding) * 3); /*60px*/

    --border-radius-lg: 1.25em; /*20px*/

    --nav-height: 4.375em; /*70px*/
    --wave-height: 6.4375em; /*103px*/

    --theme-box-shadow: var(--px-10) var(--px-20) var(--px-30) rgba(0, 0, 0, 0.2);

    --listing-min-height-mobile-lg: 28.75em; /*460px*/
    --listing-min-height-mobile-sm: 14.5em; /*232px*/
    --listing-slider-min-height-mobile: 25.125em; /*402px*/

    --hero-sm-min-height: 20.375em; /*326px*/
    --hero-sm-limit: 70%;
  }
}

@media (max-width: 767px) {
  :root {
    --wave-height: 3.75em; /*60px*/
  }
}

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

/* Responsive grid */

.body-wrapper {
  backface-visibility: hidden;
  transform: translateZ(0);
}

.row-fluid {
  width: 100%;
}

.row-fluid:before, .row-fluid:after {
  display: table;
  content: '';
}

.row-fluid:after {
  clear: both;
}

.row-fluid [class*='span'] {
  display: block;
  float: left;
  width: 100%;
  min-height: 1px;
  margin-left: 2.127659574%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

.row-fluid [class*='span']:first-child {
  margin-left: 0;
}

.row-fluid .span12 {
  width: 99.99999998999999%;
}

.row-fluid .span11 {
  width: 91.489361693%;
}

.row-fluid .span10 {
  width: 82.97872339599999%;
}

.row-fluid .span9 {
  width: 74.468085099%;
}

.row-fluid .span8 {
  width: 65.95744680199999%;
}

.row-fluid .span7 {
  width: 57.446808505%;
}

.row-fluid .span6 {
  width: 48.93617020799999%;
}

.row-fluid .span5 {
  width: 40.425531911%;
}

.row-fluid .span4 {
  width: 31.914893614%;
}

.row-fluid .span3 {
  width: 23.404255317%;
}

.row-fluid .span2 {
  width: 14.89361702%;
}

.row-fluid .span1 {
  width: 6.382978723%;
}

.container-fluid:before, .container-fluid:after {
  display: table;
  content: '';
}

.container-fluid:after {
  clear: both;
}

@media (max-width: 991px) {
  .row-fluid {
    width: 100%;
  }

  .row-fluid [class*='span'] {
    display: block;
    float: none;
    width: auto;
    margin-left: 0;
  }
}

@media (min-width: 992px) and (max-width: 1139px) {
  .row-fluid {
    width: 100%;
  }

  .row-fluid:before, .row-fluid:after {
    display: table;
    content: '';
  }

  .row-fluid:after {
    clear: both;
  }

  .row-fluid [class*='span'] {
    display: block;
    float: left;
    width: 100%;
    min-height: 1px;
    margin-left: 2.762430939%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
  }

  .row-fluid [class*='span']:first-child {
    margin-left: 0;
  }

  .row-fluid .span12 {
    width: 99.999999993%;
  }

  .row-fluid .span11 {
    width: 91.436464082%;
  }

  .row-fluid .span10 {
    width: 82.87292817100001%;
  }

  .row-fluid .span9 {
    width: 74.30939226%;
  }

  .row-fluid .span8 {
    width: 65.74585634900001%;
  }

  .row-fluid .span7 {
    width: 57.182320438000005%;
  }

  .row-fluid .span6 {
    width: 48.618784527%;
  }

  .row-fluid .span5 {
    width: 40.055248616%;
  }

  .row-fluid .span4 {
    width: 31.491712705%;
  }

  .row-fluid .span3 {
    width: 22.928176794%;
  }

  .row-fluid .span2 {
    width: 14.364640883%;
  }

  .row-fluid .span1 {
    width: 5.801104972%;
  }
}

@media (min-width: 1280px) {
  .row-fluid {
    width: 100%;
  }

  .row-fluid:before, .row-fluid:after {
    display: table;
    content: '';
  }

  .row-fluid:after {
    clear: both;
  }

  .row-fluid [class*='span'] {
    display: block;
    float: left;
    width: 100%;
    min-height: 1px;
    margin-left: 2.564102564%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
  }

  .row-fluid [class*='span']:first-child {
    margin-left: 0;
  }

  .row-fluid .span12 {
    width: 100%;
  }

  .row-fluid .span11 {
    width: 91.45299145300001%;
  }

  .row-fluid .span10 {
    width: 82.905982906%;
  }

  .row-fluid .span9 {
    width: 74.358974359%;
  }

  .row-fluid .span8 {
    width: 65.81196581200001%;
  }

  .row-fluid .span7 {
    width: 57.264957265%;
  }

  .row-fluid .span6 {
    width: 48.717948718%;
  }

  .row-fluid .span5 {
    width: 40.170940171000005%;
  }

  .row-fluid .span4 {
    width: 31.623931624%;
  }

  .row-fluid .span3 {
    width: 23.076923077%;
  }

  .row-fluid .span2 {
    width: 14.529914530000001%;
  }

  .row-fluid .span1 {
    width: 5.982905983%;
  }
}

/* Clearfix */

.clearfix:before, .clearfix:after {
  display: table;
  content: '';
}

.clearfix:after {
  clear: both;
}

/* Visibilty classes */

.hide {
  display: none;
}

.show {
  display: block;
}

.invisible {
  visibility: hidden;
}

.hidden {
  display: none;
  visibility: hidden;
}

/* Responsive visibilty classes */

.visible-phone {
  display: none !important;
}

.visible-tablet {
  display: none !important;
}

.hidden-desktop {
  display: none !important;
}

@media (max-width: 767px) {
  .visible-phone {
    display: inherit !important;
  }

  .hidden-phone {
    display: none !important;
  }

  .hidden-desktop {
    display: inherit !important;
  }

  .visible-desktop {
    display: none !important;
  }
}

@media (min-width: 768px) and (max-width: 1139px) {
  .visible-tablet {
    display: inherit !important;
  }

  .hidden-tablet {
    display: none !important;
  }

  .hidden-desktop {
    display: inherit !important;
  }

  .visible-desktop {
    display: none !important;
  }
}
.content-wrapper {
  margin: 0 auto;
  padding: 0 var(--padding);
}

.container-fluid {
  overflow-x: hidden;
}

@media screen and (min-width: 1380px) {
  .content-wrapper {
    padding: 0;
  }
}

.dnd-section > .row-fluid {
  margin: 0 auto;
}

.dnd-section .dnd-column {
  padding: 0 var(--padding);
}

@media (max-width: 767px) {
  .dnd-section .dnd-column {
    padding: 0;
  }
}

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

html, body {
  height: 100%;
}

body.is-open {
  overflow: hidden;
}

body {
  line-height: normal;
  overflow-wrap: break-word;
}

html[lang^="ja"] body,
html[lang^="zh"] body,
html[lang^="ko"] body {
  line-break: strict;
  word-break: break-all;
}

/* Paragraphs */

p {
  font-size: 1em;
  margin: 0 0 1em;
}

/* Anchors */

a {
  cursor: pointer;
}

.underline {
  text-decoration: underline;
}

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

.underlined {
  position: relative;
}

.underlined:after {
  content: "";
  position: absolute;
  bottom: var(--underlined-position-alt);
  left: 0;
  width: 0;
  height: var(--underlined-height);
  background-color: currentColor;
  opacity: 0;
  transition: 0.3s ease-in-out;
}

.underlined:hover:after {
  width: 100%;
  opacity: 1;
}

/* Headings */

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  margin-top: 0;
  color: currentColor !important;
}

h1, .h1, h2, .h2 {
  margin-bottom: 0.5em;
  line-height: 1.15;
}

h3, h4, h5, h6,
.h3, .h4, .h5, .h6 {
  margin-bottom: 1em;
}

/* Lists */

ul,
ol {
  margin: 0 0 1em;
  padding-left: 1em;
}

ul ul,
ol ul,
ul ol,
ol ol {
  margin: 0.5em 0;
}

ul.no-list {
  list-style: none;
  margin: 0;
  padding-left: 0;
}

/* Code blocks */

pre {
  overflow: auto;
}

code {
  vertical-align: bottom;
}

/* Blockquotes */

blockquote {
  border-left: 2px solid;
  margin: 0 0 1em;
  padding-left: 0.7em;
}

/* Horizontal rules */

hr {
  border: none;
  border-bottom: var(--border-1px-solid) currentColor;
}

/* Image alt text */

img {
  font-size: var(--body-font-size);
  word-break: normal;
  width: 100%;
  max-width: 100%;
  height: auto;
}
button:not(.no-button),
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: var(--border-1px-solid) transparent;
  font-size: var(--font-size-sm);
  white-space: normal;
  cursor: pointer;
  transition: all 0.3s ease;
}

/* Theme button effect */

.button {
  position: relative;
  z-index: 0;
}

.button:before,
.button:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  transition: all 0.3s;
}

.button:before {
  opacity: 1;
  transition: all 0.3s;
}

.button:after {
  opacity: 0;
  transform: scale(1.3, 1.3);
}

.button:not(.-no-hover):hover:before {
  transform: scale(0, 0);
  opacity: 0;
}

.button:not(.-no-hover):hover:after {
  opacity: 1;
  transform: scale(1, 1);
}


/* Theme button type */

.button.btn-lg {
  min-width: 16.4375em; /*263px*/
}

.button.btn-sm {
  padding: 0.454em !important; /*10px*/
  border-radius: 0.636em !important;/*14px*/
  font-size: 1em !important;/*22px*/
  font-weight: 400 !important;
}

.button.btn-sm:before,
.button.btn-sm:after {
  border-radius: 0.636em !important;/*14px*/
}

.button.btn-fw {
  width: 100%;
}

/* Disabled */
button:disabled,
.button:disabled {
  background-color: var(--theme-light-grey);
  border-color: var(--theme-light-grey);
  color: var(--theme-black);
}

/* No button */

.no-button {
  margin-bottom: unset;
  padding: unset;
  background: unset;
  border: unset;
  border-radius: unset;
  color: unset;
  font-family: inherit;
  font-size: unset;
  font-style: unset;
  font-weight: unset;
  letter-spacing: unset;
  line-height: unset;
  text-align: unset;
  text-decoration: unset;
  transition: unset;
  cursor: pointer;
}

@media (max-width: 991px) {
  .button-wrapper,
  .button-wrapper .button:not(.btn-sm) {
    width: 100%;
  }

  button:not(.no-button),
  .button {
    font-size: var(--font-size-md);
  }
}
/* Fields */

.hs-form-field {
  margin-bottom: 0;
}

/* Custom grid type forms */
form {
  display: flex;
  flex-direction: column;
  row-gap: var(--px-20);
}

form fieldset.form-columns-2 {
  display: flex;
  align-items: flex-start;
  column-gap: var(--px-20);
}

form fieldset.form-columns-2 .hs-form-field {
  width: 100% !important;
  max-width: calc(100% / 2 - var(--px-20) / 2);
  float: none !important;
}

form fieldset.form-columns-1 .hs-input {
  width: 100% !important;
}

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


@media (max-width: 991px) {
  form {
    row-gap: var(--px-10);
  }

  form fieldset.form-columns-2 {
    flex-direction: column;
    column-gap: 0;
    row-gap: var(--px-10);
  }

  form fieldset.form-columns-2 .hs-form-field {
    max-width: 100%;
  }

  form:not(.hs-video-form) .form-columns-2 .hs-form-field .hs-input,
  form:not(.hs-video-form) .form-columns-3 .hs-form-field .hs-input {
    width: 100% !important;
  }
}

/* Labels */

form label {
  display: block;
  margin-bottom: 0.5em;
  color: currentColor;
  font-size: var(--font-size-sm);
}

/* Help text */

form legend {
  font-size: var(--body-font-size);
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input::placeholder,
::placeholder {
  color: currentColor !important;
  opacity: 1;
}

/* Inputs */

form input[type=text],
form input[type=email],
form input[type=password],
form input[type=tel],
form input[type=number],
form input[type=file],
form select,
form textarea {
  display: inline-block;
  width: 100%;
  padding: 2em;
  font-size: var(--font-size-sm);
  border-color: currentColor !important;
}

@media (max-width: 991px) {

  form input[type=text],
  form input[type=email],
  form input[type=password],
  form input[type=tel],
  form input[type=number],
  form input[type=file],
  form select,
  form textarea {
    padding: 1.35em;
  }
}

form input[type=text]::placeholder,
form input[type=email]::placeholder,
form input[type=password]::placeholder,
form input[type=tel]::placeholder,
form input[type=number]::placeholder,
form input[type=file]::placeholder,
form select::placeholder,
form textarea::placeholder {
  color: currentColor !important;
}

form input[type=number] {
  -moz-appearance: textfield;
}

form select {
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='9' height='6' viewBox='0 0 9 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 0.707108L0.707107 1.27513e-06L4.35355 3.64645L8 0L8.70711 0.707107L4.35355 5.06066L0 0.707108Z' fill='%23282828'/%3E%3C/svg%3E");
  background-position: right 2em center;
  background-repeat: no-repeat;
  background-size: 1em auto;
}

form fieldset {
  max-width: 100% !important;
}

/* Inputs - checkbox/radio */

form .inputs-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

form .inputs-list > li {
  display: block;
  margin: 0.7em 0;
}

form .inputs-list input,
form .inputs-list span {
  vertical-align: middle;
}

form input[type=checkbox],
form input[type=radio] {
  cursor: pointer;
  margin-right: 0;
}

form .inputs-list .hs-form-booleancheckbox > label,
form .inputs-list .hs-form-checkbox > label,
form .inputs-list .hs-form-radio > label {
  position: relative;
  z-index: 1;
  display: block;
  min-height: 1.5em;
  margin-bottom: 0;
  padding-left: 1.5em;
  font-size: var(--font-size-sm);
}

form .inputs-list .hs-form-booleancheckbox > label input[type=checkbox],
form .inputs-list .hs-form-checkbox > label input[type=checkbox],
form .inputs-list .hs-form-radio > label input[type=radio] {
  position: absolute;
  left: 0;
  z-index: -1;
  width: 1.25em;
  height: 1.25em;
  opacity: 0;
}

form .inputs-list .hs-form-booleancheckbox > label span,
form .inputs-list .hs-form-checkbox > label span,
form .inputs-list .hs-form-radio > label span {
  position: relative;
  display: inline-flex;
  margin-bottom: 0;
  vertical-align: top;
}

form .inputs-list .hs-form-booleancheckbox > label span:before,
form .inputs-list .hs-form-booleancheckbox > label span:after,
form .inputs-list .hs-form-checkbox > label span:before,
form .inputs-list .hs-form-checkbox > label span:after,
form .inputs-list .hs-form-radio > label span:before,
form .inputs-list .hs-form-radio > label span:after {
  content: "";
  position: absolute;
  top: 0;
  left: -1.5em;
  display: block;
  width: 1.25em; /*20px*/
  height: 1.25em;
}

form .inputs-list .hs-form-booleancheckbox > label span:before,
form .inputs-list .hs-form-checkbox > label span:before,
form .inputs-list .hs-form-radio > label span:before {
  pointer-events: none;
  background-color: #fff;
  border: var(--border-1px-solid) currentColor;
}

form .inputs-list .hs-form-booleancheckbox > label span:before,
form .inputs-list .hs-form-checkbox > label span:before {
  border-radius: 0.15em;
}

form .inputs-list .hs-form-radio > label span:before {
  border-radius: 50%;
}

form .inputs-list .hs-form-booleancheckbox > label span:after,
form .inputs-list .hs-form-checkbox > label span:after {
  background: 50%/1em 1em no-repeat;
}

form .inputs-list .hs-form-radio > label span:after {
  background: 50%/1em 1em no-repeat;
}

form .inputs-list .hs-form-booleancheckbox > label input[type=checkbox]:checked ~ span:after,
form .inputs-list .hs-form-checkbox > label input[type=checkbox]:checked ~ span:after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23282828' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e");
}

form .inputs-list .hs-form-radio > label input[type=radio]:checked ~ span:after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23282828'/%3e%3c/svg%3e");
}

/* Inputs - date picker */

.hs-dateinput {
  position: relative;
}

.hs-dateinput:before {
  content: "";
  position: absolute;
  right: 1.5em;
  top: 50%;
  width: 1.25em;
  height: 1.25em;
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M1 5.524V3.262C1 2.662 1.239 2.087 1.663 1.663C2.087 1.239 2.662 1 3.262 1H19.834C20.434 1 21.009 1.239 21.433 1.663C21.857 2.087 22.096 2.662 22.096 3.262V5.524H1ZM11.548 12.929C12.311 12.929 12.929 12.311 12.929 11.548C12.929 10.785 12.311 10.167 11.548 10.167C10.785 10.167 10.167 10.785 10.167 11.548C10.167 12.311 10.785 12.929 11.548 12.929ZM6.024 12.929C6.787 12.929 7.405 12.311 7.405 11.548C7.405 10.785 6.787 10.167 6.024 10.167C5.262 10.167 4.643 10.785 4.643 11.548C4.643 12.311 5.262 12.929 6.024 12.929ZM17.072 12.929C17.835 12.929 18.453 12.311 18.453 11.548C18.453 10.785 17.835 10.167 17.072 10.167C16.309 10.167 15.691 10.785 15.691 11.548C15.691 12.311 16.309 12.929 17.072 12.929ZM11.548 18.453C12.311 18.453 12.929 17.835 12.929 17.072C12.929 16.309 12.311 15.691 11.548 15.691C10.785 15.691 10.167 16.309 10.167 17.072C10.167 17.835 10.785 18.453 11.548 18.453ZM6.024 18.453C6.787 18.453 7.405 17.835 7.405 17.072C7.405 16.309 6.787 15.691 6.024 15.691C5.262 15.691 4.643 16.309 4.643 17.072C4.643 17.835 5.262 18.453 6.024 18.453ZM1 6.524V19.834C1 20.434 1.239 21.009 1.663 21.433C2.087 21.857 2.662 22.096 3.262 22.096H19.834C20.434 22.096 21.009 21.857 21.433 21.433C21.857 21.009 22.096 20.434 22.096 19.834V6.524H1ZM3.262 0C2.397 0 1.568 0.344 0.956 0.956C0.344 1.568 0 2.397 0 3.262V19.834C0 20.699 0.344 21.529 0.956 22.14C1.568 22.752 2.397 23.096 3.262 23.096H19.834C20.699 23.096 21.529 22.752 22.14 22.14C22.752 21.529 23.096 20.699 23.096 19.834V3.262C23.096 2.397 22.752 1.568 22.14 0.956C21.529 0.344 20.699 0 19.834 0H3.262ZM17.072 18.453C17.835 18.453 18.453 17.835 18.453 17.072C18.453 16.309 17.835 15.691 17.072 15.691C16.309 15.691 15.691 16.309 15.691 17.072C15.691 17.835 16.309 18.453 17.072 18.453Z' fill='%23282828'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  transform: translateY(-50%);
}

.fn-date-picker {
  color: var(--theme-black) !important;
  font-family: var(--font-inter) !important;
}

.fn-date-picker .pika-table thead th {
  color: currentColor;
  background-color: white;
}

.fn-date-picker td.is-selected .pika-button {
  color: white !important;
  background-color: var(--theme-red)!important;
  border-radius: 0;
  box-shadow: none;
}

.fn-date-picker td .pika-button:hover,
.fn-date-picker td .pika-button:focus {
  border-radius: 0 !important;
  color: #FFF;
}

/* Inputs - file picker */

form input[type=file] {
  padding: 2em;
  background-color: white;
  border: initial;
}

/* Headings and text */

form .hs-richtext,
form .hs-richtext p {
  font-size: 0.875em;
  margin: 0 0 1em;
}

form .hs-richtext img {
  max-width: 100% !important;
}

.hs_cos_wrapper.form-title:empty{
  display: none !important;
}

/* GDPR */

.legal-consent-container .hs-form-booleancheckbox-display > span,
.legal-consent-container .hs-form-booleancheckbox-display > span p {
  margin-left: 1em !important;
}

/* Validation */

.hs-form-required {
  color: var(--theme-red);
}

.hs-input.invalid.error {
  border-color: var(--theme-red);
}

.hs-error-msg {
  color: var(--theme-red);
  margin-top: 0.35em;
}

/* Submit button */

form input[type=submit],
form .hs-button {
  cursor: pointer;
  display: inline-block;
  text-align: center;
  transition: all 0.15s linear;
  white-space: normal;
}


/* Captcha */

.grecaptcha-badge {
  margin: 0 auto 0 0;
}

/* Fix spacing for conditional province/state fields */
form .hs_province,
form .hs_statelist,
form .hs_province_fr {
  padding-top: var(--px-20);
}

@media (max-width: 991px) {
  form .hs_province,
  form .hs_statelist,
  form .hs_province_fr {
    padding-top: var(--px-10);
  }
}
/* Table */

table {
  border-collapse: collapse;
  margin-bottom: 1.4rem;
  overflow-wrap: break-word;
}

/* Table cells */

td,
th {
  vertical-align: top;
}

/* Table header */

thead th {
  vertical-align: bottom;
}

/* Utilities
Helper classes with ability to override anything that comes before it
*/

/* LAYOUT */

.section-wrapper {
  padding-left: var(--section-vertical-padding);
  padding-right: var(--section-vertical-padding);
}

@media (max-width: 991px) {
  .section-wrapper {
    padding-left: var(--padding);
    padding-right: var(--padding);
  }
}

@media (max-width: 991px) {
  .section-title .custom-col.col-primary {
    margin-bottom: 0 !important;
  }
}

/* Section helpers */

.limited {
  max-width: 75%;
}

@media (max-width: 991px) {
  .limited {
    max-width: 100%;
  }
}

.boxed {
  padding: var(--padding-lg);
  border-radius: var(--border-radius-lg);
  box-shadow: var(--theme-box-shadow);
}

@media (max-width: 1441px) {
  .boxed {
    padding: var(--padding-md);
  }
}

@media (max-width: 991px) {
  .boxed {
    padding: var(--padding);
  }
}

.spaced {
  margin-bottom: var(--padding-md);
}

@media (max-width: 991px)  {
  .spaced, .spaced-alt {
    margin-bottom: var(--padding);
  }
}


/* CUSTOM HEADER */

.custom-header-section.wavy .section-wrapper,
.custom-header.wavy .section-wrapper {
  padding-top: var(--padding-md);
  padding-bottom: var(--padding-md);
}

.custom-header-section.primary-section .section-wrapper,
.custom-header.primary-section .section-wrapper {
  display: flex;
  align-items: center;
  height: auto;
  min-height: calc(100vh - var(--nav-height));
}

.custom-header-section.primary-section.wavy .section-wrapper,
.custom-header.primary-section.wavy .section-wrapper {
  min-height: calc(100vh - var(--nav-height) - var(--wave-height) / 2);
}

@media (max-width: 991px) {

  .custom-header-section.wavy .section-wrapper,
  .custom-header.wavy .section-wrapper {
    padding-top: var(--padding);
    padding-bottom: var(--padding);
  }

  .custom-header-section.primary-section .section-wrapper,
  .custom-header.primary-section .section-wrapper,
  .custom-header.primary-section.wavy .section-wrapper {
    height: auto;
    min-height: unset;
    align-items: flex-start;
  }

  .custom-header-section.primary-section.wavy .section-wrapper {
    height: 100%;
    min-height: calc(100vh - var(--nav-height) - var(--wave-height) / 2);
  }
}

/* WAVY SECTION */

.wavy-section {
  position: relative;
}

.wavy-section.wavy.lg-bottom {
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom center;
  padding-bottom: var(--wave-height);
}

.wavy-section.wavy.top-sm-top:before,
.wavy-section.wavy.sm-top:after,
.wavy-section.wavy.sm-bottom:after {
  content: "";
  position: relative;
  z-index: -1;
  display: block;
  width: 100%;
  height: var(--wave-height); /*200px*/
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: bottom center;
}

/* .wavy-section.wavy.top-sm-top:before {
  top: -1px;
}
.wavy-section.wavy.sm-bottom:after {
  bottom: -1px;
} */

/*white waves mode */
.wavy-section.wavy.alt.top-sm-top:before,
.wavy-section.wavy.alt.sm-top:after,
.wavy-section.wavy.alt.sm-bottom:after {
  z-index: 1;
}

@media (max-width: 991px) {
  .wavy-section.wavy.lg-bottom {
    padding-bottom: var(--section-padding);
  }
}

/* CUSTOM ROW */

.custom-row.grid {
  display: flex;
  flex-wrap: wrap;
  margin: 0 var(--row-margin);
}

.custom-row.grid.centered {
  align-items: center;
}

.custom-row.grid .custom-col {
  width: 100%;
  padding: 0 var(--padding);
}

.custom-row.grid .custom-col.col-2,
.custom-row.grid .custom-col.col-2.col-50-50{
  flex: 0 0 calc(100% / 2);
  max-width: calc(100% / 2);
}

.custom-row.grid .custom-col.col-primary.col-2.col-30-70 {
  flex: 0 0 30%;
  max-width: 30%;
}

.custom-row.grid .custom-col.col-secondary.col-2.col-30-70 {
  flex: 0 0 70%;
  max-width: 70%;
}

.custom-row.grid .custom-col.col-primary.col-2.col-40-60 {
  flex: 0 0 40%;
  max-width: 40%;
}

.custom-row.grid .custom-col.col-secondary.col-2.col-40-60 {
  flex: 0 0 60%;
  max-width: 60%;
}

.custom-row.grid .custom-col.col-primary.col-2.col-60-40 {
  flex: 0 0 60%;
  max-width: 60%;
}

.custom-row.grid .custom-col.col-secondary.col-2.col-60-40 {
  flex: 0 0 40%;
  max-width: 40%;
}

.custom-row.grid .custom-col.col-3 {
  flex: 0 0 calc(100% / 3);
  max-width: calc(100% / 3);
}

@media (max-width: 991px) {
  .custom-row.grid {
    margin: 0;
  }

  .custom-row.grid .custom-col.col-2,
  .custom-row.grid .custom-col.col-2.col-50-50,
  .custom-row.grid .custom-col.col-primary.col-2.col-30-70,
  .custom-row.grid .custom-col.col-secondary.col-2.col-30-70,
  .custom-row.grid .custom-col.col-2.col-primary.col-40-60,
  .custom-row.grid .custom-col.col-2.col-secondary.col-40-60,
  .custom-row.grid .custom-col.col-2.col-primary.col-60-40,
  .custom-row.grid .custom-col.col-2.col-secondary.col-60-40,
  .custom-row.grid .custom-col.col-3,
  .custom-row.grid .custom-col.col-4 {
    flex: 0 0 100%;
    max-width: 100%;
    padding: 0;
  }

  .custom-row.grid .custom-col.col-primary {
    margin-bottom: var(--padding-md);
  }
}

/* SLIDER */

.custom-slider {
  position: relative;
}

/* slider arrows/buttons */

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: 50%;
  z-index: 10;
  margin-top: 0;
  transform: translateY(-50%);
}

.swiper-button-prev {
  left: 0;
}

.swiper-button-next {
  right: 0;
}

.btn-slider {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.545em; /*56px*/
  height: 2.545em;
  padding: 0.15em;
  background-color: transparent;
  border-radius: 100%;
  transition: all 0.3s ease;
}

.btn-slider.btn-red {
  color: white;
}

.btn-slider.btn-white {
  color: var(--theme-red);
}

.btn-slider.btn-dark {
  color: white;
}

.btn-slider svg {
  width: 100%;
  max-width: 60%;
  height: auto;
}

.btn-slider:before,
.btn-slider:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  border-radius: 100%;
  transition: all 0.3s;
}

.btn-slider:before {
  opacity: 1;
  transition: all 0.3s;
}

.btn-slider:after {
  opacity: 0;
  transform: scale(1.3, 1.3);
  border: var(--border-1px-solid) transparent;
}

.btn-slider:hover {
  background-color: transparent;
}

.btn-slider:hover:before {
  transform: scale(0, 0);
  opacity: 0;
}

.btn-slider:hover:after {
  opacity: 1;
  transform: scale(1, 1);
}

.btn-slider.btn-red:before {
  background-color: var(--theme-red);
}

.btn-slider.btn-white:before{
  background-color: white;
}

.btn-slider.btn-dark:before{
  background-color: var(--theme-black);
}

.btn-slider.btn-red:after {
  background-color: rgba(209,32,32,0.1);
  border-color: var(--theme-red);
}

.btn-slider.btn-white:after{
  background-color: rgba(255,255,255,0.1);
  border-color: white;
}

.btn-slider.btn-dark:after{
  background-color: rgba(40,40,40,0.1);
  border-color: var(--theme-black);
}

.btn-slider:focus,
.btn-slider:active {
  background-color: transparent !important;
  border-color: inherit !important;
}

.btn-slider.btn-red:hover {
  border-color: var(--theme-red);
  color: var(--theme-red);
}

.btn-slider.btn-white:hover {
  border-color: white;
  color: white;
}


@media (max-width: 1441px) {
  .btn-slider {
    width: 2.222em; /*40px*/
    height: 2.222em;
  }
}

@media (max-width: 991px) {
  .btn-slider {
    width: 1.875em; /*30px*/
    height: 1.875em;
  }
}

/* Swiper pagination */

.swiper-pagination {
  position: absolute;
  top: var(--padding-lg);
  right: var(--padding-lg);
  bottom: unset !important;
  left: unset !important;
  display: inline-flex;
  align-items: center;
  width: auto !important;
  height: auto !important;
}

.swiper-pagination-bullet {
  width: 0.59em; /*13px*/
  height: 0.59em;
  background: transparent;
  border: var(--border-1px-solid) white;
  opacity: 1 !important;
}

.swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: white;
}

@media (max-width: 1679px) {
  .swiper-pagination {
    top: var(--padding-md);
    right: var(--padding-md);
  }
}

@media (max-width: 991px) {
  .swiper-pagination {
    position: static;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    margin-top: var(--padding);
  }

  .swiper-pagination-bullet {
    width: 0.5em; /*8px*/
    height: 0.5em;
    border: var(--border-1px-solid) currentColor;
    opacity: 1 !important;
  }

  .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: currentColor;
  }
}

/* ASPECT RATIO */

.aspect-ratio {
  position: relative;
  z-index: 0;
  display: block;
  width: 100%;
  overflow: hidden;
}

.aspect-ratio:before {
  content: "";
  display: block;
  width: 100%;
}

.aspect-ratio > .img-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
}

.aspect-ratio > *:not(img).img-wrapper {
  background-color: var(--theme-light-grey);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.aspect-ratio > img.img-wrapper {
  object-fit: cover;
  height: 100% !important;
}

.aspect-ratio.ratio-1-1:before {
  padding-top: calc(1 / 1 * 100%);
}

.aspect-ratio.ratio-16-9:before {
  padding-top: calc(9 / 16 * 100%);
}

.aspect-ratio.ratio-84-29:before {
  padding-top: calc(29 / 84 * 100%);
}


/* BUTTON CONTAINER */

.button-container {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5em;
  width: 100%;
}

@media (max-width: 991px) {
  .button-container {
    flex-direction: column;
    column-gap: 0;
    row-gap: 0.5em;
    width: 100%;
  }

  .button-container > *,
  .button-container > .button {
    width: 100% !important;
  }
}


/* LOCATIONS FORM SELECT*/

.locations-form .hs_dropdown {
  max-width: 12.045em; /*265px*/
}

.locations-form select {
  padding: 1em 1em 1em 2.75em;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg width='23' height='24' viewBox='0 0 23 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M6.634 12.258H1.011C1.104 14.342 1.775 16.269 2.862 17.877H7.356C6.929 16.238 6.67 14.315 6.634 12.258ZM7.634 12.258H15.366C15.328 14.354 15.051 16.282 14.609 17.877H8.392C7.949 16.282 7.672 14.354 7.634 12.258ZM16.366 12.258H21.989C21.896 14.342 21.225 16.269 20.138 17.877H15.644C16.072 16.238 16.33 14.315 16.366 12.258ZM9.559 22.328C7.216 21.883 5.145 20.637 3.628 18.877H7.649C7.742 19.161 7.841 19.434 7.945 19.695C8.355 20.722 8.854 21.586 9.435 22.202C9.476 22.245 9.517 22.287 9.559 22.328ZM13.442 22.328C15.785 21.883 17.855 20.637 19.372 18.877H15.351C15.258 19.161 15.159 19.434 15.055 19.695C14.646 20.722 14.146 21.586 13.565 22.202C13.525 22.245 13.484 22.287 13.442 22.328ZM14.295 18.877H8.706C8.76 19.031 8.816 19.18 8.874 19.325C9.256 20.282 9.698 21.023 10.163 21.516C10.627 22.009 11.079 22.221 11.5 22.221C11.921 22.221 12.373 22.009 12.838 21.516C13.303 21.023 13.745 20.282 14.126 19.325C14.184 19.18 14.24 19.031 14.295 18.877ZM7.356 5.638H2.863C1.775 7.246 1.104 9.173 1.011 11.258H6.634C6.67 9.2 6.929 7.277 7.356 5.638ZM8.392 5.638H14.608C15.051 7.233 15.328 9.162 15.366 11.258H7.634C7.672 9.162 7.949 7.233 8.392 5.638ZM15.644 5.638H20.137C21.225 7.246 21.896 9.173 21.989 11.258H16.366C16.33 9.2 16.072 7.277 15.644 5.638ZM7.65 4.638H3.629C5.146 2.879 7.216 1.633 9.559 1.188C9.517 1.229 9.476 1.271 9.435 1.314C8.854 1.93 8.355 2.794 7.945 3.821C7.841 4.081 7.743 4.354 7.65 4.638ZM8.706 4.638H14.294C14.24 4.485 14.184 4.336 14.126 4.191C13.745 3.234 13.303 2.493 12.838 1.999C12.373 1.507 11.921 1.295 11.5 1.295C11.079 1.295 10.627 1.507 10.163 1.999C9.698 2.493 9.256 3.234 8.874 4.191C8.817 4.336 8.761 4.485 8.706 4.638ZM15.351 4.638H19.371C17.854 2.879 15.784 1.633 13.442 1.188C13.484 1.229 13.525 1.271 13.565 1.314C14.146 1.93 14.646 2.794 15.055 3.821C15.159 4.081 15.258 4.354 15.351 4.638ZM0 11.758C0 5.275 5.138 0 11.5 0C17.862 0 23 5.275 23 11.758C23 18.241 17.862 23.516 11.5 23.516C5.138 23.516 0 18.241 0 11.758Z' fill='%23282828'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg width='9' height='6' viewBox='0 0 9 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 0.707108L0.707107 1.27513e-06L4.35355 3.64645L8 0L8.70711 0.707107L4.35355 5.06066L0 0.707108Z' fill='%23282828'/%3E%3C/svg%3E");
  background-position: 1em center, right 1em center;
  background-size: 1em auto, 1em auto;
}

.col-header-location-results,
.col-footer-location-results {
  font-size: var(--font-size-md);
}

.col-header-location-results a,
.col-footer-location-results a {
  color: inherit !important;
}

@media (max-width: 991px) {
  .locations-form .hs_dropdown {
    max-width: 100%;
  }
}

/* DROPDOWN BUTTON */

.custom-dropdown {
  position: relative;
  display: inline-block;
  width: 100%;
}

.custom-dropdown.is-open .btn-dropdown .icon {
  transform: rotate(180deg);
}

.custom-dropdown .btn-dropdown {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 1em !important;
  background-color: transparent !important;
  border: var(--border-1px-solid) currentColor;
  color: var(--theme-black) !important;
  font-family: var(--font-inter) !important;
  font-weight: 400 !important;
  -webkit-appearance: none;
  appearance: none;
  -moz-appearance: none;
}

.custom-dropdown .btn-dropdown .icon {
  display: inline-flex;
  align-items: center;
  width: 1em;
  height: 1em;
  background-image: url("data:image/svg+xml,%3Csvg width='9' height='6' viewBox='0 0 9 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 0.707108L0.707107 1.27513e-06L4.35355 3.64645L8 0L8.70711 0.707107L4.35355 5.06066L0 0.707108Z' fill='%23282828'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  transition: 0.3s ease;
}

.custom-dropdown .dropdown-wrapper {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1;
  display: none;
  width: 100%;
  max-width: 100%;
  margin-top: 0.5em;
  background-color: white;
  border: var(--border-1px-solid) currentColor;
  border-radius: 0.5em;
  overflow: hidden;
}

.custom-dropdown .dropdown-content {
  font-size: var(--font-size-sm);
  height: auto;
  max-height: 14em;
  overflow-y: scroll;
}

.custom-dropdown .dropdown-content h3 {
  display: none;
  margin-bottom: 0;
  padding: var(--padding);
  color: var(--theme-grey);
  font-family: var(--font-inter);
  font-size: inherit;
}

.custom-dropdown .dropdown-content ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.custom-dropdown .dropdown-content ul li > a {
  display: flex;
  padding: var(--padding);
  border-bottom: var(--border-1px-solid) currentColor;
  color: currentColor;
  font-size: inherit;
  text-decoration: none;
}

.custom-dropdown .dropdown-content ul li > a:hover {
  background-color: var(--theme-light-grey);
}

.custom-dropdown .dropdown-content ul li:last-child > a {
  border-bottom: 0;
}

.custom-dropdown .dropdown-item.active {
  display: none !important;
}

/*.custom-dropdown:hover .dropdown-wrapper {*/
/*  max-height: 250px;*/
/*  opacity: 1;*/
/*}*/


/* For content that needs to be visually hidden but stay visible for screenreaders */

.show-for-sr {
  border: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
  height: 1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
}

@media (max-width: 767px) {
  .show-for-sr--mobile {
    border: 0 !important;
    clip: rect(0, 0, 0, 0) !important;
    height: 1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    white-space: nowrap !important;
    width: 1px !important;
  }
}

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

/* Header DND sections */
.header {
  position: relative;
  z-index: 99;
}

.header .dnd-section {
  padding: 0;
}

/* Header container */

.header__container {
  position: relative;
  display: flex;
  align-items: center;
  height: var(--nav-height);
  padding: 0 var(--section-vertical-padding);
}

.header__column {
  display: flex;
  align-items: center;
  justify-content: space-between;
  column-gap: var(--px-20);
  width: 100%;
  height: 100%;
}

.header__row-1,
.header__row-2 {
  display: inline-flex;
  align-items: center;
}

.header__row-1 {
  flex: 1;
  height: 100%;
}

.header__row-2 {
  column-gap: var(--px-20);
}

/* Navigation skipper */

.header__skip {
  height: 1px;
  left: -1000px;
  overflow: hidden;
  position: absolute;
  text-align: left;
  top: -1000px;
  width: 1px;
}

.header__skip:hover,
.header__skip:focus,
.header__skip:active {
  height: auto;
  left: 0;
  overflow: visible;
  top: 0;
  width: auto;
}

/* Logo */

.header__logo {
  flex: 0 0 9.09em; /*200px*/
  align-items: center;
  display: flex;
  height: auto;
  margin-right: 2.5em;
  width: 100%;
  max-width: 9.09em; /*200px*/
  overflow: hidden;
}

.header__logo > span {
  width: 100%;
  max-width: 100%;
}

.header__logo > span a {
  display: inline-flex;
  width: 100%;
  max-width: 100%;
}

.header__logo img {
  width: 100% !important;
  max-width: 100%;
  height: auto;
}

.header__logo .logo-company-name {
  font-size: 1.167em;
  margin-top: 0.7em;
}

.header__logo--main {
  padding-top: 0;
}

/* Menu */

.header__navigation {
  width: 100%;
}

.header__navigation .menu.menu--desktop {
  width: 100%;
}

.header__navigation .menu.menu--desktop ul.menu__wrapper {
  display: inline-flex;
  align-items: center;
  column-gap: var(--px-50);
}

.header__navigation .menu.menu--desktop ul.menu__wrapper li.menu__item--depth-1 {
  margin-right: 0;
}

.header__navigation .menu.menu--mobile {
  display: none !important;
}

/* Language switcher */

.header__language-switcher {
  cursor: pointer;
}


/* Language switcher & mobile menu button */

.header .btn-header,
.header button.btn-header {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.75em !important; /*60px*/
  height: 3.75em !important;
  padding: 0 !important;
  background-color: transparent !important;
  border: var(--border-1px-solid) currentColor;
  border-radius: 100% !important;
  color: currentColor;
  font-size: var(--font-size-sm) !important;
  text-decoration: none !important;
  line-height: 1 !important;
  transition: all 0.15s ease;
}

.header .btn-header:hover,
.header button.btn-header:hover {
  background-color: var(--theme-black) !important;
  border-color: var(--theme-black);
  color: white;
}

/* Mobile Menu */

.header__toggle_menu {
  position: fixed;
  right: 0;
  top: 0;
  left: 0;
  z-index: 98;
  display: none;
  width: 100%;
  height: 100vh;
  padding-top: var(--nav-height);
  background: white;
  overflow: hidden;
  transform: translateX(-100%);
  transition:transform 0.3s ease;
}

.header__toggle_menu.is-open {
  transform: translateX(0);
}

.header__toggle_menu .header__toggle_menu_wrapper {
  display: flex;
  flex-direction: column;
  height: 100%;
  max-height: calc(100vh - var(--nav-height));
  padding-bottom: 5em;
  overflow-y: auto;
  overflow-x: hidden;
}

.header__toggle_menu .header__toggle_menu_wrapper .menu {
  margin-bottom: var(--padding-md);
}

.header__toggle_menu .header__toggle_menu_wrapper .button-container {
  margin-top: auto;
}

/* Mobile navigation button */

.header__navigation--toggle_wrapper {
  position: relative;
  z-index: 99;
  display: none;
}

.hamburger {
  position: relative;
  width: var(--px-20);
  height: 0.15em;
}

.hamburger:before,
.hamburger:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  display: block;
  width: 100%;
  height: 0.15em; /*2px*/
  margin: auto;
  border-radius: 1px;
  background: currentColor;
  transform: rotate(0.01deg);
  transition: all 0.2s ease;
}

.hamburger:before {
  top: -0.15em;
}

.hamburger:after {
  top: 0.15em;
}

.header__navigation--toggle.is-open .hamburger:before {
  top: 50%;
  transform: rotate(45deg);
}

.header__navigation--toggle.is-open .hamburger:after {
  top: 50%;
  transform: rotate(-45deg);
}

@media (min-width: 1921px) {
  .header__logo {
    margin-right: 5%;
  }
}

@media (max-width: 1441px) {
  .header__navigation .menu.menu--desktop ul.menu__wrapper {
    column-gap: var(--px-30);
  }
}

@media (max-width: 1199px) {
  .header__logo {
    flex: 0 0 7.7778em; /*140px*/
    max-width: 7.7778em;
    margin-right: var(--px-20);
  }

  .header__navigation .menu.menu--desktop ul.menu__wrapper {
    column-gap: var(--px-20);
  }
}

@media (max-width: 991px) {
  .header__container {
    padding: 0 var(--padding);
  }

  .header__column {
    position: relative;
  }

  .header__row-1 {
    padding-top: 0;
  }

  .header__row-2 {
    column-gap: var(--px-10);
  }

  .header__logo {
    flex: 0 0 8.75em; /*140px*/
    max-width: 8.75em;
    margin-right: var(--px-20);
  }

  .header .btn-header,
  .header button.btn-header {
    width: 3.333em !important; /*40px*/
    height: 3.333em !important;
  }

  .header__navigation--toggle_wrapper {
    display: block;
  }

  /* Mobile toggles */

  .header__navigation .menu--desktop,
  .header__button.header--element {
    display: none;
  }

  .header__toggle_menu {
    display: block;
  }
}

@media (max-width: 767px) {

  .header .btn-header,
  .header button.btn-header {
    width: 2.666em !important; /*32px*/
    height: 2.666em !important;
  }
}
/* Menu and simple menu */

.hs-menu-wrapper ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding-left: 0;
}

/* Horizontal menu */

.hs-menu-wrapper.hs-menu-flow-horizontal .hs-menu-children-wrapper {
  flex-direction: column;
}

@media (max-width: 767px) {
  .hs-menu-wrapper.hs-menu-flow-horizontal ul {
    flex-direction: column;
  }
}

/* Vertical menu */

.hs-menu-wrapper.hs-menu-flow-vertical ul {
  display: block;
}

/* Flyouts */

.hs-menu-wrapper.hs-menu-flow-vertical.flyouts ul {
  display: block;
}

@media (max-width: 767px) {
  .hs-menu-wrapper.hs-menu-flow-vertical ul {
    display: block;
  }
}

.hs-menu-wrapper.flyouts .hs-item-has-children {
  position: relative;
}

/*.hs-menu-wrapper.flyouts .hs-menu-children-wrapper {*/
/*  left: -9999px;*/
/*  opacity: 0;*/
/*  position: absolute;*/
/*}*/

.hs-menu-wrapper.flyouts .hs-menu-children-wrapper a {
  display: block;
  white-space: nowrap;
}

/*.hs-menu-wrapper.hs-menu-flow-horizontal.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper {*/
/*  left: 0;*/
/*  opacity: 1;*/
/*  top: 100%;*/
/*}*/

/*.hs-menu-wrapper.hs-menu-flow-vertical.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper {*/
/*  left: 100%;*/
/*  opacity: 1;*/
/*  top: 0;*/
/*}*/

@media (max-width: 767px) {
  .hs-menu-wrapper.flyouts .hs-menu-children-wrapper,
  .hs-menu-wrapper.hs-menu-flow-horizontal.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper,
  .hs-menu-wrapper.hs-menu-flow-vertical.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper {
    left: 0;
    opacity: 1;
    position: relative;
    top: auto;
  }
}

/* CTA, logo, and rich text images */

.hs_cos_wrapper_type_cta img,
.hs_cos_wrapper_type_logo img,
.hs_cos_wrapper_type_rich_text img {
  height: auto;
  max-width: 100%;
}
/* FOR BOTH MODULES MENU.MODULE & CUSTOM-NAV-MODULE */

/* Menu */

.menu--desktop {
  display: block;
}

.menu--mobile {
  display: none;
}

@media (max-width: 991px) {
  .menu--desktop {
    display: none;
  }

  .menu--mobile {
    display: block;
  }
}

/* Menu items */

.menu__item {
  position: relative;
}

.menu__link {
  font-size: var(--font-size-sm);
  line-height: normal;
  text-decoration: none;
}

a.menu__link {
  cursor: pointer;
}

span.menu__link {
  pointer-events: none;
}

.menu__link:hover,
.menu__link:focus,
.menu__link:active {
  text-decoration: none;
}

.menu__link--active-link > .menu__link-text,
.menu__link--active-branch > .menu__link-text {
  position: relative;
}

/* Menu items - top level */

.menu__item--depth-1 {
  display: inline-flex;
  align-items: center;
  margin-right: var(--padding-md);
  padding: 0.7em 0;
  text-transform: none;
}

.menu__item--depth-1 > .menu__link--active-link > .menu__link-text:after,
.menu__item--depth-1 > .menu__link--active-branch > .menu__link-text:after {
  content: '';
  position: absolute;
  bottom: -0.15em;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: currentColor;
}

@media (min-width: 1921px) {
  .menu__item--depth-1 > .menu__link--active-link > .menu__link-text:after,
  .menu__item--depth-1 > .menu__link--active-branch > .menu__link-text:after{
    height: 0.1em;
  }
}

/* Full width layout */

@media (min-width: 992px) {
  .menu__item--depth-1.fullwidth-style {
    position: static;
  }

  .menu__item--depth-1.fullwidth-style > .menu__submenu {
    position: absolute;
    width: 100%;
    max-width: 100%;
    min-width: unset;
    border: 0;
    border-radius: 0;
  }

  .menu__item--depth-1.fullwidth-style .menu__submenu-wrapper {
    display: flex;
    padding-top: var(--padding-md);
    padding-bottom: var(--padding-md);
    border-top-width: 1px;
    border-top-style: solid;
  }

  .menu__item--depth-1.fullwidth-style .menu__submenu-wrapper .menu-box {
    flex: 0 1 30%;
    width: 100%;
    max-width: 30%;
    margin-right: var(--padding-md);
  }

  .menu__item--depth-1.fullwidth-style .menu__submenu-wrapper .menu-box-wrapper {
    display: block;
    width: 100%;
    max-width: 12.954em; /*285px*/
    border-radius: 0.636em; /*14px*/
    box-shadow: var(--theme-box-shadow-sm);
    text-decoration: none !important;
    transition: all 0.3s ease;
  }

  .menu__item--depth-1.fullwidth-style .menu__submenu-wrapper .menu-box-wrapper:hover {
    transform: scale(0.95);
    box-shadow: none;
  }


  .menu__item--depth-1.fullwidth-style .menu__submenu-wrapper .menu-box-inner {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: auto;
    min-height: 7.045em; /*155px*/
    padding: var(--padding);
  }

  .menu__item--depth-1.fullwidth-style .menu__submenu-wrapper .menu-box-inner .text {
    max-width: 50%;
  }

  .menu__item--depth-1.fullwidth-style .menu__submenu-wrapper .menu-box-inner .icon {
    width: 1.136em; /*25px*/
    height: 1.136em;
    margin-top: auto;
  }

  .menu__item--depth-1.fullwidth-style .menu__submenu-wrapper .menu-box-inner .icon svg{
    width: 100%;
    max-width: 100%;
    height: auto;
  }

  .menu__item--depth-1.fullwidth-style .menu-list-group {
    display: flex;
    width: 100%;
  }

  .menu__item--depth-1.fullwidth-style .menu-list-group > .menu__item {
    flex: 1;
    margin-right: var(--padding);
    white-space: nowrap;
  }

  .menu__item--depth-1.fullwidth-style .menu-list-group > .menu__item > .menu__link {
    display: inline-flex;
    width: auto;
    padding: 0;
    border: 0;
    border-radius: 0;
  }

  .menu__item--depth-1.fullwidth-style .menu-list-group > .menu__item > a.menu__link:hover {
    background-color: unset;
    color: var(--theme-red);
  }

  .menu__item--depth-1.fullwidth-style .menu-list-group > .menu__item > a.menu__link:active,
  .menu__item--depth-1.fullwidth-style .menu-list-group > .menu__item > a.menu__link:focus {
    background-color: initial !important;
  }

  .menu__item--depth-1.fullwidth-style .menu-list-group > .menu__item > .menu__child-toggle {
    margin-bottom: 1.5em;
    font-weight: 700 !important;
    pointer-events: none;
  }

  .menu__item--depth-1.fullwidth-style .menu-list-group > .menu__item > .menu__child-toggle .menu__child-toggle-icon {
    display: none;
  }

  .menu__item--depth-1.fullwidth-style .menu-list-group > .menu__item > .menu__submenu {
    position: static;
    display: block;
    margin-left: 0 !important;
    column-count: 2;
    column-fill: balance;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    opacity: 1;
  }

  .menu__item--depth-1.fullwidth-style .menu-list-group > .menu__item > .menu__submenu > .menu__item {
    width: auto;
    white-space: nowrap;
    border-radius: 0;
  }

  .menu__item--depth-1.fullwidth-style .menu-list-group > .menu__item > .menu__submenu > .menu__item .menu__link {
    display: inline-flex;
    width: auto;
    margin-bottom: 0.25em;
    padding: 0;
    border: 0;
    border-radius: 0;
  }

  .menu__item--depth-1.fullwidth-style .menu-list-group > .menu__item > .menu__submenu > .menu__item a.menu__link:hover {
    color: var(--theme-red);
    background-color: unset;
  }
}

@media (max-width: 991px) {
  .menu__submenu-wrapper.section-wrapper {
    padding: 0;
  }
  .menu__submenu-wrapper .menu-box {
    display: none;
  }

  .menu__item--depth-1.fullwidth-style .menu__submenu--level-3 {
    padding: 0;
    margin-bottom: var(--padding) !important;
  }
}

/* Menu items - submenus */

.menu__submenu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 99;
  width: auto;
  min-width: 10em;
  border-radius: 0.875em;
  text-align: left;
  text-transform: none;
  box-shadow: 0.227em 0.454em 0.909em rgba(0,0,0,0.2);/*5px 10px 20px*/
  transition: all 0.3s;
}

.menu--mobile .menu__submenu {
  display: none;
  transition: none;
}

.menu--mobile .menu__item--depth-1 > .menu__submenu {
  margin: var(--padding) 0;
}

/* main menu level 1 */

.menu--desktop .menu__item.menu__item--depth-1 > .menu__submenu {
  visibility: hidden;
  opacity: 0;
  margin-top: var(--padding) !important;
}

.menu--desktop .menu__item.menu__item--depth-1.menu__item--open > .menu__submenu, .menu--desktop .menu__item--open .menu-list-group .menu__submenu{
  opacity: 1;
  visibility: visible;
  margin-top: 0 !important;
}

/* Keeps the first menu item's drop down menu aligned to the left of the top level menu item */

.menu__item--depth-1:first-child .menu__submenu--level-2 {
  transform: unset;
}

.menu__submenu .menu__item {
  padding: 0;
  width: 100%;
  white-space: nowrap;
}

.menu__submenu .menu__link {
  display: flex;
  align-items: center;
  padding: var(--padding);
  transition: background-color 0.3s;
  width: 100%;
}

.menu__submenu > .menu__item:first-child {
  border-radius: 0.875em 0.875em 0 0;
}

.menu__submenu > .menu__item:first-child >.menu__link {
  border-radius: 0.875em 0.875em 0 0;
}

.menu__submenu > .menu__item:last-child {
  border-radius: 0 0 0.875em 0.875em;
}

.menu__submenu > .menu__item:last-child >.menu__link {
  border-radius: 0 0 0.875em 0.875em;
}

.menu__submenu >.menu__item:only-child,
.menu__submenu > .menu__item:only-child >.menu__link {
  border-radius: 0.875em;
}

.menu__submenu--level-3 {
  left: 100%;
  top: 0;
  margin-left: 0.5em !important;
}

.menu__submenu > .menu__item.menu__item--has-submenu > .menu__child-toggle .menu__child-toggle-icon {
  transform: rotate(-90deg);
}

/* Flyouts for the last two top level menu items go left to keep page responsive */

.menu__item--depth-1:nth-last-child(-n+2) .menu__submenu--level-3 {
  left: auto;
  right: 100%;
  top: 0;
}

/* Menu icons */

.menu__child-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  font-weight: normal !important;
}

.menu__item--depth-1 > .menu__child-toggle[aria-expanded="true"] .menu__child-toggle-icon svg {
  transform: rotate(180deg);
}

.menu__child-toggle-icon {
  display: inline-flex;
  align-items: center;
  width: 0.75em;
  height: 0.75em;
  margin-left: 0.5em;
}

.menu__child-toggle-icon svg {
  width: 100%;
  max-width: 100%;
  height: auto;
  transition: transform 0.3s ease;
}

/* MOBILE STYLING */

@media (max-width: 991px) {
  .menu__item {
    display: block;
    width: 100%;
  }

  .menu__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
  }

  .menu__item--depth-1 {
    border-top: var(--border-1px-solid) currentColor;
    padding: 0;
  }

  .menu__item--depth-1:last-child {
    border-bottom: var(--border-1px-solid) currentColor;
  }

  .menu__item--depth-1 > .menu__link {
    padding: var(--padding);
    font-size: 22px;
  }

  .menu__item--depth-1 > .menu__link:hover {
    background-color: var(--theme-light-grey);
  }

  .menu__item--depth-1 > .menu__link--active-link > .menu__link-text:after,
  .menu__item--depth-1 > .menu__link--active-branch > .menu__link-text:after {
    display: none;
  }

  .menu__submenu {
    position: static;
    width: 100%;
    border: none;
    border-radius: 0;
    box-shadow: none;
    transform: unset;
  }

  /* Display all submenus that are not depth 1*/
  .menu__item:not(.menu__item--depth-1) > .menu__submenu {
    display: block !important;
    opacity: 1;
  }

  /* Remove hovers on all submenus' menu__child-toggles that are not depth 1*/
  .menu__item:not(.menu__item--depth-1) > .menu__child-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: 700 !important;
    pointer-events: none !important;
  }

  /* Remove icons on all submenus' menu__child-toggles that are not depth 1*/
  .menu__item:not(.menu__item--depth-1) > .menu__child-toggle .menu__child-toggle-icon {
    display: none;
  }

  .menu__submenu--level-3 {
    padding: calc(var(--padding) / 2) 0;
    margin-left: 0 !important;
  }

  .menu__submenu .menu__item {
    padding: 0;
    border: 0;
  }

  .menu__submenu .menu__item:first-child,
  .menu__submenu .menu__item:first-child .menu__link,
  .menu__submenu .menu__item:last-child,
  .menu__submenu .menu__item:last-child .menu__link {
    border-radius: 0;
  }

  .menu__submenu .menu__link {
    display: block;
    width: 100%;
    padding: 0.25em var(--padding);
    border: 0 !important;
    font-size: 16px;
    transition: none;
  }

  .menu__submenu .menu__item--has-submenu > .menu__link {
    padding-right: var(--padding);
  }

  .menu__submenu .menu__item a.menu__link:hover,
  .menu__submenu .menu__item a.menu__link:focus {
    text-decoration: underline;
    background-color: unset;
  }

  .menu__submenu--level-3 .menu__item .menu__link {
    padding: 0.25em var(--padding);
  }
}
.pagination {
  align-items: center;
  display: flex;
  justify-content: center;
  margin-bottom: 0;
}

.pagination__link {
  flex: 0 0 2.5em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5em;
  height: 2.5em;
  margin: 0 0.175em;
  padding: 0.15em;
  border: var(--border-1px-solid) currentColor;
  border-radius: 100%;
  color: inherit !important;
  font-size: var(--font-size-sm);
  text-decoration: none;
  transition: all 0.3s ease;
}

.pagination__link:hover,
.pagination__link:focus,
.pagination__link:active {
  border-color: var(--theme-red);
  background-color: white;
  color: var(--theme-red) !important;
  text-decoration: none;
}

.pagination__link--disabled {
  cursor: default;
  pointer-events: none;
  opacity: 0.4;
}

/*.pagination__link--number:hover,*/
/*.pagination__link--number:focus,*/
.pagination__link--active {
  border-color: var(--theme-red);
  background-color: var(--theme-red);
  color: white !important;
}

/*.pagination__link-icon svg,*/
/*.pagination__link-icon svg,*/
.pagination__link svg {
  width: 100%;
  max-width: 30%;
  height: auto;
  max-height: 30%;
}
.custom-blog-index-section .section-wrapper {
  position: relative;
  overflow: hidden;
  padding-bottom: 0;
}

.custom-blog-index-section.with-pagination .section-wrapper {
  padding-bottom: var(--padding-lg);
}

@media (max-width: 991px) {
  .custom-blog-index-section.with-pagination .section-wrapper {
    padding-bottom: var(--padding);
  }
}

/* BLOG & CASE-STUDIES LISTING FILTERS */

.custom-blog-index-filters {
  display: flex;
  padding: 0.25em 0;
}

.custom-blog-index-filters .button-container {
  flex-direction: row !important;
  width: 100%;
  max-width: 100%;
  gap: 0.5em !important;
}

.custom-blog-index-filters .button-container .button {
  width: auto !important;
}

.custom-blog-index-filters .custom-dropdown {
  width:  auto;
  min-width: 11.954em; /*263px*/
  max-width: 100%;
  margin-right: 1em;
}

@media (max-width: 991px) {
  .custom-blog-index-filters {
    display: block;
    margin-bottom: var(--padding-md);
    max-width: 100%;
  }

  .custom-blog-index-filters .custom-dropdown {
    width:  100%;
    min-width: unset;
    max-width: 100%;
    margin-right: 0;
  }

  .custom-blog-index-filters .button-container .button {
    width: auto !important;
  }
}

/* BLOG & CASE STUDIES LISTING */

.blog-index__post {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  min-height: var(--listing-min-height-desktop); /*580px*/
  margin-bottom: 0;
  border-radius: var(--border-radius-lg);
  text-decoration: none !important;
  overflow: hidden;
}

.blog-index__post .blog-index__post-image {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s ease;
}

.blog-index__post .blog-index__post-wrapper {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}

.blog-index__post:not(.blog-index__post-promo) .blog-index__post-wrapper {
  background-color: rgba(0,0,0,0.5);
  color: white;
}

.blog-index__post .blog-index__post-content {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  padding: var(--padding-lg);
}

.blog-index__post.blog-index__post-promo .blog-index__post-content {
  padding: var(--padding-md);
}

.blog-index__post .blog-index__post-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 1em;
}

.blog-index__post .blog-index__post-meta,
.blog-index__post .blog-index__post-subtitle {
  font-size: var(--font-size-sm);
}

.blog-index__post .blog-index__post-title {
  max-width: 12.954em; /*285px*/
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  overflow: hidden;
}

.blog-index__post .blog-index__post-title a {
  color: currentColor;
}

.blog-index__post .blog-index__post-content .button-container {
  margin-top: auto;
}

.blog-index__post .blog-index__post-button {
  display: flex;
  align-items: center;
  width: 100%;
  column-gap: 1em;
  pointer-events: none;
  font-size: var(--body-font-size);
  color: currentColor !important;
}

.blog-index__post .blog-index__post-button .text {
  position: relative;
}

.blog-index__post .blog-index__post-button .text:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: var(--underlined-position-alt);
  width: 0;
  height: var(--underlined-height);
  background-color: currentColor;
  opacity: 0;
  transition: 0.3s ease;
}

.blog-index__post .blog-index__post-button .icon {
  display: inline-flex;
  align-items: center;
  width: 1.5em;
  height: 1.5em;
}

.blog-index__post .blog-index__post-button .icon svg {
  width: 100%;
  max-width: 100%;
  height: auto;
}

@media (max-width: 1679px) {
  .blog-index__post .blog-index__post-content {
    padding: var(--padding-md);
  }
}

@media (max-width: 991px) {
  .blog-index__post {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }

  .blog-index__post.blog-post__next {
    min-height: var(--listing-min-height-mobile-lg); /*460px*/
  }

  .blog-index__post .blog-index__post-content {
    padding: var(--padding);
  }

  .blog-index__post.blog-index__post-promo .blog-index__post-content {
    padding: var(--padding);
  }

  .blog-index__post .blog-index__post-title {
    max-width: 100%;
  }
}

/* LISTINGS GRID */

.custom-blog-index {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  gap: var(--px-20);
}

.custom-blog-index.tablet,
.custom-blog-index.mobile {
  display: none;
}

.custom-blog-index.desktop .blog-index__post:not(.blog-index__post-promo):hover,
.custom-blog-index.desktop .blog-index__post:not(.blog-index__post-promo):active,
.custom-blog-index.desktop .blog-index__post:not(.blog-index__post-promo):focus {
  border-radius: var(--border-radius-lg);
  overflow: hidden;
}

.custom-blog-index.desktop .blog-index__post:not(.blog-index__post-promo):hover .blog-index__post-image,
.custom-blog-index.desktop .blog-index__post:not(.blog-index__post-promo):active .blog-index__post-image,
.custom-blog-index.desktop .blog-index__post:not(.blog-index__post-promo):focus .blog-index__post-image {
  transform: scale(1.2);
}

.custom-blog-index .blog-index__post:not(.blog-index__post-promo):hover .blog-index__post-button .text:after,
.custom-blog-index .blog-index__post:not(.blog-index__post-promo):active .blog-index__post-button .text:after,
.custom-blog-index .blog-index__post:not(.blog-index__post-promo):focus .blog-index__post-button .text:after {
  width: 100%;
  opacity: 1;
}

/* Styling desktop with no promo box */

.custom-blog-index-section .custom-blog-index.no-promo .blog-index__post:first-child,
.custom-blog-index-section .custom-blog-index.no-promo .blog-index__post:nth-child(7),
.custom-blog-index-section .custom-blog-index.no-promo .blog-index__post:nth-child(7n),
.custom-blog-index-section .custom-blog-index.no-promo .blog-index__post:nth-child(7n+1){
  flex: 0 0 calc(50% - var(--px-20) / 3 * 2);
  max-width: calc(50% - var(--px-20) / 3 * 2);
}

.custom-blog-index-section .custom-blog-index.no-promo .blog-index__post:nth-child(4),
.custom-blog-index-section .custom-blog-index.no-promo .blog-index__post:nth-child(7n+4){
  flex: 0 0 100%;
  max-width: 100%;
}

.custom-blog-index-section .custom-blog-index.no-promo .blog-index__post:nth-child(2),
.custom-blog-index-section .custom-blog-index.no-promo .blog-index__post:nth-child(3),
.custom-blog-index-section .custom-blog-index.no-promo .blog-index__post:nth-child(5),
.custom-blog-index-section .custom-blog-index.no-promo .blog-index__post:nth-child(6),
.custom-blog-index-section .custom-blog-index.no-promo .blog-index__post:nth-child(7n+2),
.custom-blog-index-section .custom-blog-index.no-promo .blog-index__post:nth-child(7n+3),
.custom-blog-index-section .custom-blog-index.no-promo .blog-index__post:nth-child(7n+5),
.custom-blog-index-section .custom-blog-index.no-promo .blog-index__post:nth-child(7n+6){
  flex: 0 0 calc(25% - var(--px-20) / 3 * 2);
  max-width: calc(25% - var(--px-20) / 3 * 2);
}

/* Styling  desktop with promo box */

.custom-blog-index-section .custom-blog-index.promo .blog-index__post:first-child,
.custom-blog-index-section .custom-blog-index.promo .blog-index__post:nth-child(8),
.custom-blog-index-section .custom-blog-index.promo .blog-index__post:nth-child(8n),
.custom-blog-index-section .custom-blog-index.promo .blog-index__post:nth-child(8n+1) {
  flex: 0 0 calc(50% - var(--px-20) / 3 * 2);
  max-width: calc(50% - var(--px-20) / 3 * 2);
}

.custom-blog-index-section .custom-blog-index.promo .blog-index__post:nth-child(2),
.custom-blog-index-section .custom-blog-index.promo .blog-index__post:nth-child(3),
.custom-blog-index-section .custom-blog-index.promo .blog-index__post:nth-child(6),
.custom-blog-index-section .custom-blog-index.promo .blog-index__post:nth-child(7),
.custom-blog-index-section .custom-blog-index.promo .blog-index__post:nth-child(8n+2),
.custom-blog-index-section .custom-blog-index.promo .blog-index__post:nth-child(8n+3),

.custom-blog-index-section .custom-blog-index.promo .blog-index__post:nth-child(8n+6),
.custom-blog-index-section .custom-blog-index.promo .blog-index__post:nth-child(8n+7){
  flex: 0 0 calc(25% - var(--px-20) / 3 * 2);
  max-width: calc(25% - var(--px-20) / 3 * 2);
}

.custom-blog-index-section .custom-blog-index.promo .blog-index__post:nth-child(4),
.custom-blog-index-section .custom-blog-index.promo .blog-index__post:nth-child(8n+4) {
  flex: 0 0 calc(25% - var(--px-20) / 2);
  max-width: calc(25% - var(--px-20) / 2);
}

.custom-blog-index-section .custom-blog-index.promo .blog-index__post:nth-child(5),
.custom-blog-index-section .custom-blog-index.promo .blog-index__post:nth-child(8n+5){
  flex: 0 0 calc(75% - var(--px-20) / 2);
  max-width: calc(75% - var(--px-20) / 2);
}

/* FOR TABLET ONLY */

.custom-blog-index-section .custom-blog-index.tablet .blog-index__post:first-child,
.custom-blog-index-section .custom-blog-index.tablet .blog-index__post:nth-child(4),
.custom-blog-index-section .custom-blog-index.tablet .blog-index__post:nth-child(3n+1) {
  flex: 0 0 100%;
  max-width: 100%;
}

.custom-blog-index-section .custom-blog-index.tablet .blog-index__post:nth-child(2),
.custom-blog-index-section .custom-blog-index.tablet .blog-index__post:nth-child(3),
.custom-blog-index-section .custom-blog-index.tablet .blog-index__post:nth-child(3n+2),
.custom-blog-index-section .custom-blog-index.tablet .blog-index__post:nth-child(3n+3) {
  flex: 0 0 calc(50% - var(--px-20) / 2);
  max-width: calc(50% - var(--px-20) / 2);
}

@media (max-width: 1199px) {
  .custom-blog-index-section .custom-blog-index.tablet {
    display: flex;
  }

  .custom-blog-index-section .custom-blog-index.desktop {
    display: none;
  }

  .custom-blog-index.tablet .blog-index__post:not(.blog-index__post-promo):hover .blog-index__post-image,
  .custom-blog-index.tablet .blog-index__post:not(.blog-index__post-promo):active .blog-index__post-image,
  .custom-blog-index.tablet .blog-index__post:not(.blog-index__post-promo):focus .blog-index__post-image {
    transform: none;
  }
}

@media (max-width: 991px) {
  .custom-blog-index-section .custom-blog-index.tablet {
    display: none;
  }

  .custom-blog-index-section .custom-blog-index.mobile {
    display: flex;
  }

  .custom-blog-index.mobile .blog-index__post:not(.blog-index__post-promo):hover .blog-index__post-image,
  .custom-blog-index.mobile .blog-index__post:not(.blog-index__post-promo):active .blog-index__post-image,
  .custom-blog-index.mobile .blog-index__post:not(.blog-index__post-promo):focus .blog-index__post-image {
    transform: none;
  }

  .custom-blog-index-section .custom-blog-index.mobile .blog-index__post:first-child,
  .custom-blog-index-section .custom-blog-index.mobile .blog-index__post:nth-child(3n+1) {
    min-height: var(--listing-min-height-mobile-lg); /*460px*/
  }

  .custom-blog-index-section .custom-blog-index.mobile .blog-index__post:nth-child(2),
  .custom-blog-index-section .custom-blog-index.mobile .blog-index__post:nth-child(3),
  .custom-blog-index-section .custom-blog-index.mobile .blog-index__post:nth-child(3n+2),
  .custom-blog-index-section .custom-blog-index.mobile .blog-index__post:nth-child(3n) {
    min-height: var(--listing-min-height-mobile-sm);/*232px*/
  }
}

/* Templates */
.body-container--qa-test {
  background-color: var(--theme-grey);
}