/* 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.
*/
:root {
  --root-footer-container-max-w: 968px;
  --root-footer-pt: 40px;
  --root-footer-pb: 20px;
  --root-footer-px: 16px;
  --root-header-h: 80px;
  
  /*****************************************/
  /* Font sizes    */
  /*****************************************/    
  --text-xl: 20px;
  --text-lg: 18px;
  --text-base: 16px;
  --text-sm: 14px;
  --text-xs: 12px;
  --text-2xs: 10px;
  --text-3xs: 8px;
  
  /*****************************************/
  /* Colors    */
  /*****************************************/    
  --white: #ffffff;
  --light-gray: #eeeeee;
  --beige-gray: #d9d4ce;
  --gray: #cccccc;
  --spanish-gray: #999999;
  --smoke-gray: #666666;
  --ashy-gray: #515151;
  --dark-gray: #333333;
  --black: #000000;  
  --body-background: #fff;
  --primary-color: #00ae41; 
  --primary-color_light: #4eac50;
  --black-color: #000000;
  --text-color: #3c3935;
  --white-color: #ffffff;
  --gray-500-color: #a5a5a5;
  --grey-400-color: #5b6670;
  --grey-950-color: #333333;
  --green-500-color: #03a438;     
  --green-700-color: #026c2a; 
  --dark-shadow-clr_rgb: 2, 2, 2;
  --secondary-color: #707070;
  
    /*****************************************/
  /* Dimensions    */
  /*****************************************/  
    
  --root-header-h: 84px;
  
  /*****************************************/
  /* Breakpoints    */
  /*****************************************/
  --lg: 1200px;
  --md: 992px;
  --sm: 768px;
  
  /*****************************************/
  /* Font    */
  /*****************************************/
  --primary-font: "Open Sans", sans-serif;
  --secondary-font: "Source Sans Pro", sans-serif;
  --default-font-size: 18px;
  --default-line-height: 1.5;
  
  /*****************************************/
  /* Utils    */
  /*****************************************/
  --max-content-width: 1100px;
}

@media (max-width: 991px) {
  :root {
    --root-footer-pt: 40px;
    
    --default-font-size: 14px;
    --default-line-height: 1.45;
  }
}
.flex-row {
  display: flex;
}

.flex-col {
  display: flex;
  flex-direction: column;
}

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

.items-stretch {
  align-items: stretch;
}

.items-end {
  align-items: flex-end;
}

.justify-center {
 justify-content: center;
}

.justify-between {
 justify-content: space-between;
}

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

.absolute {
 position: absolute;
}

.uppercase {
  text-transform: uppercase;
}

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

html, body { 
  scroll-behavior: smooth !important;
}

.button-reset {
  outline: none;
  border: none;
  background: transparent;
  
  cursor: pointer;
}

.section-container {
  max-width: 1100px;
  margin: auto;
}

.locations-wrapper img {
  margin: 0 auto;
  display: block;
}

@media (max-width: 768px) {
  .content-with-anchor__reverse-mobile .row-fluid .row-fluid {
    display: flex;
    flex-direction: column-reverse;
  }
}

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

body {
  color: var(--secondary300);
  -webkit-font-smoothing: antialiased;
}

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

.widget-type-rich_text li {
  display: list-item;
}

.widget-type-rich_text ul li {
  list-style-type: disc;
}

.widget-type-rich_text ul {
   list-style: disc;
   margin-bottom: 10px;
   padding-left: 40px;
}
/*! 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: var(--default-line-height);
  font-family: var(--primary-font);
  color: var(--text-color);
  font-size: var(--default-font-size);
  font-style: normal;
  word-wrap: break-word;
  -webkit-text-size-adjust: 100%; /* 2 */
}

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

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

body {
  background-color: var(--body-background);
  padding: 0;
  margin: 0;
}


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

/**
 * Add the correct box sizing in Firefox.
 */

hr {
  box-sizing: content-box;
  height: 0;
}

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

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, 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;
}

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

/**
 * Remove the inheritance of text transform in Edge and Firefox.
 * 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;
}

/**
 * Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers.
 */

legend {
  padding: 0;
}

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

progress {
  vertical-align: baseline;
}

/**
 * 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 and Firefox.
 */

details {
  display: block;
}

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

summary {
  display: list-item;
}

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

.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: 0;
  -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.66%;
}
.row-fluid .span10 {
  width: 83.33%;
}
.row-fluid .span9 {
  width: 75%;
}
.row-fluid .span8 {
  width: 66.66%;
}
.row-fluid .span7 {
  width: 58.33%;
}
.row-fluid .span6 {
  width: 50%;
}
.row-fluid .span5 {
  width: 41.66%;
}
.row-fluid .span4 {
  width: 33.33%;
}
.row-fluid .span3 {
  width: 25%;
}
.row-fluid .span2 {
  width: 16.66%;
}
.row-fluid .span1 {
  width: 8.33%;
}

/*  */


.flex_row .col12 {
  width: 100%;
}
.flex_row .col11 {
  width: 91.66%;
}
.flex_row .col10 {
  width: 83.33%;
}
.flex_row .col9 {
  width: 75%;
}
.flex_row .col8 {
  width: 66.66%;
}
.flex_row .col7 {
  width: 58.33%;
}
.flex_row .col6 {
  width: 50%;
}
.flex_row .col5 {
  width: 41.66%;
}
.flex_row .col4 {
  width: 33.33%;
}
.flex_row .col3 {
  width: 25%;
}

.flex_row .col20 {
  width: 20%;
}

.flex_row .col2 {
  width: 16.66%;
}
.flex_row .col1 {
  width: 8.33%;
}


.container-fluid {
  *zoom: 1;
}

.container-fluid:before, .container-fluid:after {
  display: table;
  content: "";
}

.container-fluid:after {
  clear: both;
}

.page-center.full_width {
  padding: 0!important;
}

.page-center.full-width,
[class*=full-width-section].dnd-section,
[class*=full-width-section].dnd-section > .row-fluid {
  padding: 0;
}

.dnd-section[class*="force-full-width-section"]  > .row-fluid > .dnd-column.span12,
.dnd-section[class*="force-full-width-section"]  > .row-fluid > .span12.dnd-module {
  padding:0;
}


.page-center {
  margin: 0 auto;
}

.dnd-section > .row-fluid {
  margin: 0 auto;
}

.page-center{
  padding-left: 0;
  padding-right: 0;
}

.page-center.full_width, .full_width > .row-fluid {
  max-width: 100%;
  width: 100%;
}

.flex_row .col20,
.flex_row .col12,
.flex_row .col11,
.flex_row .col10,
.flex_row .col9 ,
.flex_row .col8 ,
.flex_row .col7 ,
.flex_row .col6 ,
.flex_row .col5 ,
.flex_row .col4 ,
.flex_row .col3 ,
.flex_row .col2 ,
.flex_row .col1 {
  padding: 0;
  margin: 0;
}

.dnd-section > .row-fluid,
.page-center {
  max-width: 1100px;
  width: 100%;
  padding: 20px;
}

@media (max-width: 767px) {
  .row-fluid [class*=span] {
    min-height: 0;
  }
}


@media (min-width: 768px) {
  .row-fluid {
    width: 100%;
    *zoom: 1;
  }

  .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: 0;
    -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.66%;
  }
  .row-fluid .span10 {
    width: 83.33%;
  }
  .row-fluid .span9 {
    width: 75%;
  }
  .row-fluid .span8 {
    width: 66.66%;
  }
  .row-fluid .span7 {
    width: 58.33%;
  }
  .row-fluid .span6 {
    width: 50%;
  }
  .row-fluid .span5 {
    width: 41.66%;
  }
  .row-fluid .span4 {
    width: 33.33%;
  }
  .row-fluid .span3 {
    width: 25%;
  }
  .row-fluid .span2 {
    width: 16.66%;
  }
  .row-fluid .span1 {
    width: 8.33%;
  }
}

@media (max-width: 767px) {
  .flex_row .col20,
  .flex_row .col12,
  .flex_row .col11,
  .flex_row .col10,
  .flex_row .col9 ,
  .flex_row .col8 ,
  .flex_row .col7 ,
  .flex_row .col6 ,
  .flex_row .col5 ,
  .flex_row .col4 ,
  .flex_row .col3 ,
  .flex_row .col2 ,
  .flex_row .col1 {
    width: 100%;  
  }

  .row-fluid [class*="span"] {
    display: block;
    float: none;
    width: auto;
    margin-left: 0;
    width: 100%;
  }
}
.dnd-section > .row-fluid {
  margin: 0 auto;
}
:root {
  --root-form-input-textarea-h: 188px;
  --root-form-heading-text-size: 22px;
  --root-form-heading-mb: 20px;
  --root-form-input-line-height: 1.2;
  --root-form-input-border-radius: 2px;
  --root-form-input-p: 14px 16px 14px 12px;
  --root-form-input-bg: #fcfcfc;
  --root-form-input-border-color: #707070;
  --root-form-input-text-size: 16px;
  
  --root-form-input-radio-dot-scale: 1.7;
  --root-form-input-radio-p: 10px;
  --root-form-input-radio-ratio: 22px;
  --root-form-input-transition: box-shadow 300ms ease;
  
  --root-form-submit-button-min-h: auto;
  
  --root-form-field-spacing: 16px;
  
  --root-form-container-p: 20px;
  
  --root-form-label-mb: 4px;
  --root-form-label-text-size: var(--text-sm);
  --root-form-label-text-weight: 600;
  
  --root-form-submit-button-p: var(--root-custom-button-py) 20px;
  
  --root-form-label-radio-input-gap: 8px;
  
  --root-form-error-text-color: #790000;
}

/* !------- General Form styling -------! */
form ul {
  padding: 0;
  margin: 0;
}

form li {
  list-style: none;
}

form input::placeholder,
form textarea::placeholder {
  color: var(--text-color) !important;
}

form input {
  line-height: var(--root-form-input-line-height) !important;  
  
  transition: var(--root-form-input-transition);
}

form button[type="submit"],
form input[type="submit"] {
  text-transform: uppercase;
  
  transition: 
    var(--root-custom-button-transition-property) 
    var(--root-custom-button-transition-duration) 
    var(--root-custom-button-transition-easing) !important;
  
  min-height: var(--root-form-submit-button-min-h);
}

form input:not([type="radio"]):focus-visible,
form input:not([type="radio"]):hover,
form input:not([type="radio"]):focus,
form input:not([type="checkbox"]):focus-visible,
form input:not([type="checkbox"]):hover,
form input:not([type="checkbox"]):focus,
form textarea:hover,
form textarea:focus-visible,
form textarea:focus {
  box-shadow: 0 0 2px 3px rgba(60, 57, 53, .15) !important;
  outline: none;
}

form textarea {
  height: var(--root-form-input-textarea-h);
  
  resize: auto !important;
  
  transition: var(--root-form-input-transition);  
}

form label span {
  font-size: var(--text-sm) !important;
}

form input[type="submit"] {
  padding: var(--root-form-submit-button-p);
}


/* !------- New Form syling -------! */
.hsfc-Form {
  --hsf-field-input__font-family: var(--primary-font);
  --hsf-field-input__color: var(--text-color);
  --hsf-field-input__background-color: var(--root-form-input-bg);
  --hsf-field-input__border-color: var(--root-form-input-border-color);
  --hsf-field-input__border-style: solid;
  --hsf-field-input__border-radius: var(--root-form-input-border-radius);
  --hsf-field-input__padding: var(--root-form-input-p);
  --hsf-field-input__font-size: var(--root-form-input-text-size);
  --hsf-field-label__font-size: var(--root-form-label-text-size);
  
/*   --hsf-default-heading__font-family: Helvetica;
  --hsf-default-heading__color: rgba(51, 71, 91, 1.0);
  --hsf-default-richtext__font-family: Helvetica;
  --hsf-default-richtext__font-size: 1.0em; */
  
/*   --hsf-default-richtext__color: rgba(51, 71, 91, 1.0); */
  
  --hsf-default-navigationrow-buttons__justify-content: flex-end;
  --hsf-default-navigationrow-buttons-single__justify-content: flex-end; 
  
  --hsf-default-button__font-family: var(--primary-font);
  --hsf-default-button__font-size: var(--root-custom-button-text-size_primary);
  --hsf-default-button__color: var(--white-color);
  --hsf-default-button__background-color: var(--primary-color);
  --hsf-default-button__border-radius: var(--root-custom-button-border-radius_primary);
  --hsf-default-button__padding: var(--root-form-submit-button-p);
  --hsf-default-button__box-shadow: none;
  --hsf-default-button--hover__background-color: var(--green-700-color);
  
  --hsf-default-field-label__font-family: var(--primary-font);
  --hsf-default-field-label__font-size: var(--root-form-label-text-size);
  --hsf-default-field-label__color: var(--text-color);
  --hsf-default-field-input__placeholder-color: var(--text-color);
  --hsf-default-field-description__font-family: var(--primary-color);
  --hsf-default-field-description__color: var(--text-color);
  --hsf-default-field-textarea__placeholder-color: var(--text-color);
  
  --hsf-default-erroralert__font-family: var(--primary-font);
  --hsf-default-erroralert__color: var(--root-form-error-text-color);
  --hsf-default-erroralert__font-size: var(--text-sm);
  
  --hsf-default-infoalert__font-family: var(--primary-font);
  
  --hsf-default-field-radio__background-color: rgba(245, 248, 250, 1.0);
  --hsf-default-field-radio__border-color: rgba(149, 148, 148, 1.0);
  --hsf-default-field-radio__border-style: solid;
  --hsf-default-field-radio__border-width: 1px 1px 1px 1px;
  --hsf-field-radio__padding: var(--root-form-input-radio-p);
  --hsf-field-radio__background-color: transparent;
  
  --hsf-field-checkbox__padding: 10px;
  
  --hsf-default-field-dropdown-options__border-radius: var(--root-form-input-border-radius);
  
  --hsf-default-row__vertical-spacing: var(--root-form-field-spacing);
  --hsf-default-row__horizontal-spacing: var(--root-form-field-spacing);
  
  --hsf-module__vertical-spacing: var(--root-form-label-mb);
  
/*   --hsf-default-progressbar-text__font-family: var(--primary-font);
  --hsf-default-progressbar-text__color: rgba(37, 51, 66, 1.0);
  --hsf-default-progressbar-text__font-size: 1.0em;
  --hsf-default-progressbar-progressLine__background-color: rgba(66, 91, 118, 1.0);
  --hsf-default-progressbar-trackLine__background-color: rgba(217, 217, 217, 1.0); */
}

:root {
  --hsf-background__padding: 20px;
}

form input[type="radio"]:after {
  transform: scale(var(--root-form-input-radio-dot-scale));
}

.form-title {
  color: var(--primary-color);
  
  text-align: center;
  font-size: var(--root-form-heading-text-size);
  font-family: var(--primary-font);
  
  margin-block-end: var(--root-form-heading-mb);
}

form .hsfc-NavigationRow {
  margin: 0 !important;
}

form .hsfc-FieldLabel {
  font-weight: var(--root-form-label-text-weight);
}

form .hsfc-DropdownInput input {
  padding-right: var(--root-form-select-input-pr, 40px) !important;
}


@media (max-width: 768px) {
  :root {
    --root-form-input-line-height: 1.6;
    --root-form-submit-button-min-h: 48px;
  }
}

/* !------- Legacy Form syling -------! */
  
form .hs-input:not([type="checkbox"]) {
  width: 100%;
  
  line-height: var(--root-form-input-line-height);
  font-size: var(--root-form-input-text-size);  
  font-family: var(--primary-font);
  
  border-radius: var(--root-form-input-border-radius);
  
  padding: var(--root-form-input-p);
  
  background-color: var(--root-form-input-bg);
  color: var(--text-color);
  
  border: 1px solid var(--root-form-input-border-color);
}
  
form .hs-form-field:not(:last-child) {
  margin-block-end: var(--root-form-field-spacing);
}

.hs-form {
  padding: var(--root-form-container-p);
}

.hs-form span {
  font-weight: var(--root-form-label-text-weight);
}

.hs-form select {
  padding: var(--root-form-input-p);
}

form .hs-form-field label {
  margin-block-end: var(--root-form-label-mb);
  
  display: block;  
} 

form .actions {
  text-align: right;
}

.hs-form-radio-display,
.hs-form-booleancheckbox-display {
  position: relative;
  
  display: flex !important;
  align-items: center;
  grid-gap: var(--root-form-label-radio-input-gap);
}

.hs-form-radio-display input[type="radio"] {  
  appearance: none;
  
  padding: 0 !important;
  
  outline: none;
  
  border-radius: 50%;
  
  width: var(--root-form-input-radio-ratio);
  height: var(--root-form-input-radio-ratio);    
  
  flex-shrink: 0;
  
  position: relative;
}

.hs-form-radio-display input[type="radio"]::after {
  content: "";
  
  position: absolute;
  
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  
  background-color: var(--text-color);
  
  border-radius: inherit;
  
  transform: translate(-50%, -50%);
  
  top: 50%;
  left: 50%;
  
  opacity: 0;
  
  pointer-events: none;
}

.hs-form-radio-display input[type="radio"]:checked::after {
  opacity: 1;
}

.hs-form-booleancheckbox input[type="checkbox"] {
  appearance: none;
  
  width: var(--root-form-input-checkbox-ratio, 22px);
  height: var(--root-form-input-checkbox-ratio, 22px);
  
  position: relative;
  
  border: 1px solid var(--text-color);
  
  border-radius: var(--root-form-input-border-radius);
  
  flex-shrink: 0;
}

.hs-form-booleancheckbox input[type="checkbox"]::after {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  mask-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2015%2016%22%20fill%3D%22%23253342%22%3E%3Cpath%20d%3D%22M1.013%208.11c0-.223.078-.412.234-.568l1.14-1.14c.155-.155.345-.233.568-.233s.413.077.57.233l2.46%202.47%205.492-5.5c.156-.156.346-.234.568-.234.224%200%20.413.077.57.233l1.138%201.14c.156.155.234.345.234.568%200%20.224-.078.414-.234.57l-6.06%206.06-1.14%201.14c-.155.155-.345.233-.568.233s-.413-.078-.57-.234l-1.138-1.14-3.03-3.03c-.156-.156-.234-.346-.234-.57z%22%2F%3E%3C%2Fsvg%3E);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 80%;
  content: "";
}

.hs-form-booleancheckbox input[type="checkbox"]:checked::after {
  background: var(--text-color);
}

form .hs-error-msg {
  color: var(--root-form-error-text-color) !important;
  
  margin-block-start: var(--root-form-label-mb);
  
  font-size: var(--root-form-label-text-size) !important;
}

form .hs-form-required {
  color: var(--root-form-error-text-color) !important;
}

/* Elements */

/* @import url('http://example.com/example_style.css'); */

/***********************************************/
/* CSS @imports must be at the top of the file */
/* Add them above this section                 */
/***********************************************/

/*****************************************/
/* Start your style declarations here    */
/*****************************************/

:root {
  --root-custom-button-text-size_primary: 14px;
  --root-custom-button-text-size_secondary: 18px;
  --root-custom-button-text-size_outlined: 16px;
  --root-custom-button-text-weight_primary: 700;
  --root-custom-button-text-weight_secondary: 400;
  --root-custom-button-text-weight_outlined: 400;
  --root-custom-button-letter-spacing_secondary: 0.3px;  
  --root-custom-button-line-height_primary: 1.4;
  --root-custom-button-line-height_outlined: 1.125;
  
  --root-custom-button-bg_primary: var(--primary-color);
  --root-custom-button-bg_secondary: var(--black-color);
  --root-custom-button-bg_outlined: var(--primary-color);
  --root-custom-button-text-color_outlined: var(--white-color);
  
  --root-custom-button-border-radius_primary: 6px;
  --root-custom-button-border-radius_secondary: 12px;
  --root-custom-button-border-radius_outlined: 9px;
  --root-custom-button-border-color_outlined: transparent;
  
  --root-custom-button-transition-property: background;
  --root-custom-button-transition-duration: 300ms;
  --root-custom-button-transition-easing: ease;
  
  --root-custom-button-offset-y_active: 1px;
  
  --root-custom-button-px: 24px;
  --root-custom-button-py: 10px;
  
  --root-custom-button-opacity_disabled: 0.6;
}

.button_primary,
form input[type=submit], 
form .hs-button {
  position: relative;
  
  cursor: pointer;
  
  padding: var(--root-custom-button-py) var(--root-custom-button-px);
  
  text-transform: uppercase;
  text-align: center;
  font-family: var(--primary-font);  
  line-height: var(--root-custom-button-line-height_primary);
  white-space: normal;
  text-decoration: none;
  font-size: var(--root-custom-button-text-size_primary);
  font-weight: var(--root-custom-button-text-weight_primary);
  
  background: var(--root-custom-button-bg_primary);
  color: var(--white-color);
  
  display: inline-block;
  
  border-radius: var(--root-custom-button-border-radius_primary);
  outline: none;    
  border: none;
  
  -webkit-transition: 
    var(--root-custom-button-transition-property)
    var(--root-custom-button-transition-duration)
    var(--root-custom-button-transition-easing);
  
  -o-transition: 
    var(--root-custom-button-transition-property)
    var(--root-custom-button-transition-duration)
    var(--root-custom-button-transition-easing);
  
  transition: 
    var(--root-custom-button-transition-property)
    var(--root-custom-button-transition-duration)
    var(--root-custom-button-transition-easing);
}

.button_primary:hover,
form input[type=submit]:hover,
form .hs-button:hover,
.button_primary:not(.button_disabled):focus-visible,
form input[type=submit]:not(.button_disabled):focus-visible,
form .hs-button:focus-visible {
  --root-custom-button-bg_primary: var(--green-700-color);
}

.button_primary:active,
form .hs-button:active {
  -webkit-transform: translateY(var(--root-custom-button-offset-y_active));
      -ms-transform: translateY(var(--root-custom-button-offset-y_active));
          transform: translateY(var(--root-custom-button-offset-y_active));
}

.button_primary:disabled,
.button_primary.button_disabled,
form input[type=submit]:disabled,
form .hs-button:disabled {
  opacity: var(--root-custom-button-opacity_disabled);
  
  pointer-events: none;
  
  cursor: default;
}

.button_secondary {
  position: relative;
  
  cursor: pointer;
  
  padding: var(--root-custom-button-py) var(--root-custom-button-px);
  
  text-align: center;
  font-family: var(--secondary-font);  
  line-height: var(--root-custom-button-line-height_primary);  
  white-space: normal;
  text-decoration: none;
  font-size: var(--root-custom-button-text-size_secondary);
  font-weight: var(--root-custom-button-text-weight_secondary);
  letter-spacing: var(--root-custom-button-letter-spacing_secondary);
  
  background: var(--root-custom-button-bg_secondary);
  color: var(--white-color);
  
  display: inline-block;
  
  border: none;  
  outline: none;    
  border-radius: var(--root-custom-button-border-radius_secondary);
  
  -webkit-transition: 
    var(--root-custom-button-transition-property)
    var(--root-custom-button-transition-duration)
    var(--root-custom-button-transition-easing);
  
  -o-transition: 
    var(--root-custom-button-transition-property)
    var(--root-custom-button-transition-duration)
    var(--root-custom-button-transition-easing);
  
  transition: 
    var(--root-custom-button-transition-property)
    var(--root-custom-button-transition-duration)
    var(--root-custom-button-transition-easing);  
}

.button_secondary:hover,
.button_secondary:not(.button_disabled):focus-visible {
  --root-custom-button-bg_secondary: var(--gray-500-color);
}

.button_secondary:active {
  -webkit-transform: translateY(var(--root-custom-button-offset-y_active));
      -ms-transform: translateY(var(--root-custom-button-offset-y_active));
          transform: translateY(var(--root-custom-button-offset-y_active));
}

.button_secondary:disabled,
.button_secondary.button_disabled {
  opacity: var(--root-custom-button-opacity_disabled);

  pointer-events: none;
  
  cursor: default;  
}

.button_outlined {
  position: relative;
  
  cursor: pointer;
  
  padding: var(--root-custom-button-py) var(--root-custom-button-px);
  
  text-align: center;
  font-family: var(--primary-font);  
  line-height: var(--root-custom-button-line-height_outlined);  
  white-space: normal;
  text-decoration: none;
  font-size: var(--root-custom-button-text-size_outlined);
  font-weight: var(--root-custom-button-text-weight_outlined);
  
  background: var(--root-custom-button-bg_outlined);
  color: var(--root-custom-button-text-color_outlined);
  
  display: inline-block;
  
  border: 2px solid var(--root-custom-button-border-color_outlined);
  outline: none;    
  border-radius: var(--root-custom-button-border-radius_outlined);
}

.button_outlined:active {
  -webkit-transform: translateY(var(--root-custom-button-offset-y_active));
      -ms-transform: translateY(var(--root-custom-button-offset-y_active));
          transform: translateY(var(--root-custom-button-offset-y_active));
}

.button_outlined:disabled,
.button_outlined.button_disabled {
  opacity: var(--root-custom-button-opacity_disabled);
  
  pointer-events: none;
  
  cursor: default;  
}

.button_outlined:hover,
.button_outlined:not(.button_disabled):focus-visible {
  --root-custom-button-border-color_outlined: var(--green-500-color);
  --root-custom-button-bg_outlined: transparent;
  --root-custom-button-text-color_outlined: var(--green-500-color);
}

.button_disabled {
  pointer-events: none;
}
/* @import url('http://example.com/example_style.css'); */

/***********************************************/
/* CSS @imports must be at the top of the file */
/* Add them above this section                 */
/***********************************************/

/*****************************************/
/* Start your style declarations here    */
/*****************************************/

:root {
  --root-custom-modal-z-index: 100;
  --root-custom-modal-bg: rgba(0,0,0,.3);
  --root-custom-modal-pt: 16px;
  --root-custom-modal-container-py: var(--root-custom-modal-pt) 18px;  
  --root-custom-modal-container-px: 18px;
  
  --root-custom-modal-transition-timing: 300ms;
  --root-custom-modal-transition-easing: ease;
  --root-custom-modal-transition-property: all;
  
  --root-custom-modal-box-border-radius: 4px;
  --root-custom-modal-box-border: 5px solid var(--primary-color);
  --root-custom-modal-box-box-shadow: 0px 0px 30px 0px rgba(var(--dark-shadow-clr_rgb), 1);
  --root-custom-modal-box-px: 24px;
  --root-custom-modal-box-py: 24px;
  --root-custom-modal-box-h: auto;
  --root-custom-modal-box-min-h: 300px;
  --root-custom-modal-box-transition-timing: 300ms;
  --root-custom-modal-box-transition: 
      var(--root-custom-modal-box-transition-timing) 
      var(--root-custom-modal-transition-easing);
  --root-custom-modal-box-bg: #eaeaea;  
  
  --root-custom-modal-close-button-ratio: 26px;
  --root-custom-modal-close-button-box-shadow: 0px 0px 15px 1px rgba(var(--dark-shadow-clr_rgb), 0.75);
  --root-custom-modal-close-button-border: 2px solid var(--white-color);
  --root-custom-modal-close-icon-ratio: 50%;  
}

.modal {
  background: var(--root-custom-modal-bg);
  
  width: 100%;  
  height: 100%;
  
  position: fixed;  
  left: 0;
  bottom: 0;
  
  opacity: var(--root-custom-modal-opacity, 0);
  transition: 
    var(--root-custom-modal-transition-property)    
    var(--root-custom-modal-transition-timing) 
    var(--root-custom-modal-transition-easing);
  visibility: hidden;
  pointer-events: none;
  
  z-index: var(--root-custom-modal-z-index);  
}

.modal-container {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;

  width: 100%;
  height: var(--root-custom-modal-container-h, 100%);

  overflow: hidden;
  overflow-y: auto;

  padding: var(--root-custom-modal-container-py) var(--root-custom-modal-container-px);
}

.modal-box {
  position: relative;
  
  background: var(--root-custom-modal-box-bg);
  
  height: var(--root-custom-modal-box-h);
  min-height: var(--root-custom-modal-box-min-h);
  width: var(--root-custom-modal-box-w, 40%);
  max-width: var(--root-custom-modal-box-max-w, 1040px);
  margin-inline: auto;
  padding: var(--root-custom-modal-box-py) var(--root-custom-modal-box-px);  
  
  opacity: var(--root-custom-modal-box-opacity, 0);
  will-change: opacity;
  
  transition: var(--root-custom-modal-box-transition); 
  
  border-radius: var(--root-custom-modal-box-border-radius);
  border: var(--root-custom-modal-box-border);
  
  box-shadow: var(--root-custom-modal-box-box-shadow);
}

.modal-close {
  position: absolute;
  right: 0;
  top: 0;
  
  transform: translate(50%, -50%);
  
  border: var(--root-custom-modal-close-button-border);
  border-radius: 50%;
  
  padding: 0;  
  width: var(--root-custom-modal-close-button-ratio);
  height: var(--root-custom-modal-close-button-ratio);
  
  display: flex;
  align-items: center;
  justify-content: center;
  
  background-color: var(--black-color);
  
  box-shadow: var(--root-custom-modal-close-button-box-shadow);
  
  cursor: pointer;
}

.modal-close svg {
  width: var(--root-custom-modal-close-icon-ratio);
  height: var(--root-custom-modal-close-icon-ratio);
}

.modal--opened { 
  --root-custom-modal-box-opacity: 1;   
  --root-custom-modal-opacity: 1;

  visibility: visible;
  pointer-events: all;
}

@media (max-width: 1240px) {
  :root {
    --root-custom-modal-box-w: 75%;
  }
}

@media (max-width: 768px) {
  :root {
    --root-custom-modal-pt: 20px;
    --root-custom-modal-container-py: calc(var(--root-custom-modal-pt) + var(--root-header-h)) 18px;      
    --root-custom-modal-box-w: 100%;
    --root-custom-modal-box-py: 12px;
    --root-custom-modal-box-px: 12px;    
  }
  
  .modal-container {
    align-items: flex-start;
  }
}
:root {
  --root-custom-pagination-bullet-bg: #8c8c8c; 
  --root-custom-pagination-bullet-ratio: 10px;
  --root-custom-pagination-offset-y: -42px;
  --root-custom-pagination-z-index: 10;
  
  --swiper-pagination-bullet-horizontal-gap: 5px;  
  --swiper-pagination-bullet-width: var(--root-custom-pagination-bullet-ratio);
  --swiper-pagination-bullet-height: var(--root-custom-pagination-bullet-ratio);
  --swiper-pagination-bullet-inactive-color: var(--root-custom-pagination-bullet-bg); 
  --swiper-pagination-color: var(--primary-color);
  --swiper-pagination-bottom: 0;
  --swiper-pagination-top: initial;
  --swiper-pagination-bullet-inactive-opacity: 1;
}

.custom-pagination {
  position: absolute;
  
  z-index: var(--root-custom-pagination-z-index);
  
  display: flex;
  align-items: center;
  justify-content: center;
}

.custom-pagination .swiper-pagination-bullet {
  flex-shrink: 0;
}

.custom-pagination .swiper-pagination-bullet:hover {
  --swiper-pagination-bullet-inactive-color: var(--primary-color);
}

/* Sections */
/* @import url('http://example.com/example_style.css'); */

/***********************************************/
/* CSS @imports must be at the top of the file */
/* Add them above this section                 */
/***********************************************/

/*****************************************/
/* Start your style declarations here    */
/*****************************************/


.header {
  background-color: var(--white);
  color: var(--primary-color);
  border-style: solid;
  border-width: 0;
  background-clip: border-box;
  border-color: var(--primary-color);
  border-bottom-width: 6px;
  padding: 16px 60px 12px;

  width: 100%;
  height: var(--root-header-h);
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  top: 0;
  z-index: 100;
}

.header__content {
  max-width: 1404px;
  margin: 0 auto;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.header__logo-wrapper a {
  display: inline-block;
  font-size: 0;
}

.header__logo-wrapper img {
  max-width: 190px;
  margin-top: 6px; /* needed to match logo spacing for JAS */
}

#main-content {
  margin-top: var(--root-header-h);
}

.navigation__right-side {
  display: flex;
  align-items: center;
  gap: 10px;
}


.navigation__right-side-mobile {
  display: flex;
  width: 100%;
  margin: 0 auto;
  margin-bottom: 24px;
  gap: 0;
  align-items: center;
  justify-content: flex-end;
}

.blur-placeholder {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 10;
  top: var(--root-header-h);
  height: calc(100vh - var(--root-header-h));
  background: rgba(0, 6, 26, .239);
  backdrop-filter: blur(6px);
}

.blur-placeholder.visible {
  display: block;
}


.header__dropdown {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  left: 0;
  right: 0;
  z-index: 100;
  overflow: hidden;
  padding-top: 33px;
  transition: opacity 0.2s ease, visibility 0.2s ease;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.header__dropdown::-webkit-scrollbar {
  display: none;
}

.header__dropdown-wrapper {
  width: 100%;
  background: var(--white);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 3% 8%;
}

.header__dropdown-inner {
   max-width: 1404px;
   margin: 0 auto;
   width: 100%;
   display: flex;
   gap: 0 60px;
}

.mobile-navigation__dropdown.open {
  visibility: visible;
  display: block;
  position: fixed;
  max-height: calc(100vh - var(--root-header-h));
  top: 0;
}

.mobile-navigation__dropdown {
  margin-top: 0;
  padding-top: 0;
  }

.mobile-navigation__dropdown-wrapper {
  background-color: #333;
}

.mobile-navigation__dropdown-inner {
  overflow: hidden;
  padding: 0 40px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  height: fit-content;
  overflow: hidden;
  max-height: 0;
  transition: max-height .3s ease-in-out, padding-top .35s ease-in-out, padding-bottom .35s ease-in-out;
}

.mobile-navigation__dropdown.open .mobile-navigation__dropdown-inner {
  overflow-y: auto;
  max-height: 100svh;
  padding: 20px 40px 40px;
}

.navigation-action__wrapper.desktop {
  display: flex;
}

.navigation-action__wrapper.mobile {
  display: none;
}

@keyframes grow-width {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}

#hamburger-menu-btn {
  display: none;
  width: 32PX;
  height: 32px;
  align-items: center;
  justify-content: center;
  padding: 0;
  background: transparent;
  border: none;
  cursor: pointer;
  position: relative;
}

#hamburger-menu-btn-close {
  width: 32PX;
  height: 32px;
  align-items: center;
  justify-content: center;
  padding: 0;
  background: transparent;
  border: none;
  cursor: pointer;
  position: relative;
}

#hamburger-menu-btn.hidden {
  display: none !important;
}

@media (max-width: 992px) {
    #hamburger-menu-btn {
      display: flex;
    }
  
    #hamburger-menu-btn-open {
      display: flex;
    }

    #hamburger-menu-btn.open #hamburger-menu-btn-open {
      display: none;
    }
  
    #hamburger-menu-btn.open #hamburger-menu-btn-close {
      display: flex;
    }
  
  .navigation-action__wrapper.desktop {
    display: none;
  }

  .navigation-action__wrapper.mobile {
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
}

@media (max-width: 1300px) {
  .header {
    padding: 16px 40px 12px;
  }

  .header__content {
    gap: 12px;
  }
}

@media (max-width: 992px) {
  .header__logo-wrapper img {
    max-width: 100%;
  }
  .header__dropdown {
    display: block;
    visibility: visible;
    top: 0;
    opacity: 1;
  }
}

@media (max-width: 768px) {
  .header {
    padding: 16px 20px 12px;
  }
}
.section-with-overlay {
  isolation: isolate;
  
  position: relative;
  
  overflow: hidden;
}

@media (max-width: 992px) {
  .responsive-text-section p {
    font-size: var(--text-sm) !important;
  }
}

/* Templates */