/* Theme base styles */

/* INCLUDE THE VARIABLES AT THE TOP OF THE FILE, AS IT'S USED IN ALL STYLESHEETS BELOW */

:root {
  --container-width: 1272px;
  --dnd-section-padding: 55px 20px;
  --dnd-section-padding-tablet: 40px 20px;
  --dnd-section-padding-mobile: 30px 20px;
}


:root {
  --primary-color: #1C215A;
  --secondary-color: #F3C00E;
  --dark-color: #E1E0EA;
  --light-color: #F8F8F8;
  --white-color: #ffffff;
  --navy-color: #1C215A;
  --navy-color-5-opacity: rgba(28, 33, 90, 0.05);
  --gold-color: #F3C00E;
  --black-color: #2C2C2C;
  --drop-shadow: 0 4px 6px 0 rgba(20, 11, 105, 0.10);
  --navy-gradient: linear-gradient(180deg, #1C215A 0%, #08284E 100%);
  --white-to-grey-top-gradient: linear-gradient(180deg, transparent 0%, transparent 19%, #F8F8F8 20%, #F8F8F8 100%);
  --navy-to-transparent-gradient: linear-gradient(90deg, #1C215A 0%, #08284E 75%, transparent 75%, transparent 100%);
  --light-blue-to-navy-gradient: linear-gradient(113deg, #64A3AD 0%, #100C74 100%);
}


:root {
  --font-family: "Libre Franklin", "Segoe UI", "Open Sans", sans;
  --heading-1-font-size: 48px;
  --heading-2-font-size: 36px;
  --heading-3-font-size: 24px;
  --heading-4-font-size: 20px;
  --heading-5-font-size: 18px;
  --heading-6-font-size: 16px;
  --paragraph-font-size: 16px;
  --body-font-color: var(--primary-color);
  --heading-font-color: var(--primary-color);
  --anchor-font-color: #2517c0;
  --anchor-font-hover-color: var(--navy-color);
}


:root {
  --button-background-color: var(--gold-color);
  --button-font-color: var(--navy-color);
  --button-border: none;
  --button-border-radius: 15px;
  --button-padding: 15px 40px;
}


:root {
  --form-title-background-color: var(--light-color);
  --form-title-font-color: var(--navy-color);
  --form-label-font-color: var(--navy-color);
  --form-help-text-font-color: var(--navy-color);
  --form-error-text-font-color: red;
  --form-input-border-color: var(--white-color);
  --form-input-focus-border-color: var(--navy-color);
}


:root {
  --table-header-background-color: var(--light-color);
  --table-background-color: var(--white-color);
  --table-border-color: var(--navy-color);
  --table-footer-background-color: var(--light-color);
  --table-footer-font-color: var(--navy-color);
}


:root {
  --header-height-desktop: 100px;
  --header-height-tablet: 80px;
  --header-height-mobile: 60px;
  --header-background-color: var(--white-color);
}


:root {
  --footer-background-color: var(--white-color);
}


/*
  MANDATORY: All components must follow modern React patterns
  - NEVER use React.FC<Props> - Use (props: Props) instead
  - ALWAYS use export const Component for main components
  - ALWAYS use props.propertyName for prop access
  - ALWAYS include default export for Island compatibility
  - See: modern-react-patterns.md for complete guidelines
*/


/*
  MANDATORY: All island files must follow consistent naming patterns
  - Island files MUST be named [ModuleName]Island.tsx
  - Import pattern: import [ModuleName]Island from './islands/[ModuleName]Island.tsx?island'
  - Use in Island component: <Island module={[ModuleName]Island} hydrateOn="visible" />
  - Benefits: Clear identification, consistency, improved maintainability
  - Examples: TabbedResourcesIsland.tsx, TimelineIsland.tsx
*/

/*  Generic
    This is where reset, normalize & box-sizing styles go.
*/
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}

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


/*  Modules
    Styling for custom modules
*/
/**
 * IconTextCard Module Styles
 * 
 * CSS styles for the IconTextCard module.
 * Contains styles for the module container and individual card components.
 */

/* Module Container */
.c-icon-text-cards-container {
  gap: 20px;
  margin: 1rem 0;
}

/* Island wrapper divs - these are the direct children of the flex container */
.c-icon-text-cards-container>div {
  width: 100%;
  /* Default mobile: 1 column */
}

/* Individual Card Component */
.c-icon-text-card {
  padding: 20px;
  background-color: var(--dark-color);
  border-radius: 10px;
  gap: 10px;
}

.c-icon-text-card.c-icon-text-card--large {
  gap: 20px;
  padding: 40px;
}

.c-icon-text-card__icon-image img {
  width: 32px;
  height: 32px;
  object-fit: contain;
  object-position: center;
}

.c-icon-text-card--large .c-icon-text-card__icon-image img {
  width: 65px;
  height: 65px;
}

.c-icon-text-card__card-text {
  text-align: center;
}

.c-icon-text-card--large .c-icon-text-card__card-text {
  text-align: left;
}

.c-icon-text-card__card-text h4,
.c-icon-text-card__card-text h6,
.c-icon-text-card__card-description p {
  margin: 0;
}


/* Mobile responsive columns (less than 768px) - applied by default */
.c-icon-text-cards-container[data-mobile-columns="1"]>div {
  width: 100%;
}

.c-icon-text-cards-container[data-mobile-columns="2"]>div {
  width: calc(50% - 10px);
}

/* Medium devices (tablets, 768px and up) - dynamic columns based on user setting */
@media (min-width: 768px) {
  .c-icon-text-cards-container>div {
    width: calc(50% - 10px);
    /* Default tablet: 2 columns */
  }

  /* Tablet column configurations */
  .c-icon-text-cards-container[data-tablet-columns="1"]>div {
    width: calc(100% - 0px);
  }

  .c-icon-text-cards-container[data-tablet-columns="2"]>div {
    width: calc(50% - 10px);
  }

  .c-icon-text-cards-container[data-tablet-columns="3"]>div {
    width: calc(33.333% - 14px);
  }

  .c-icon-text-cards-container[data-tablet-columns="4"]>div {
    width: calc(25% - 15px);
  }
}

/* Large devices (desktops, 992px and up) - dynamic columns based on user setting */
@media (min-width: 992px) {
  .c-icon-text-cards-container>div {
    width: calc(33.333% - 14px);
    /* Default desktop: 3 columns */
  }

  /* Tablet Landscape column configurations */
  .c-icon-text-cards-container[data-tablet-landscape-columns="1"]>div {
    width: calc(100% - 0px);
  }

  .c-icon-text-cards-container[data-tablet-landscape-columns="2"]>div {
    width: calc(50% - 10px);
  }

  .c-icon-text-cards-container[data-tablet-landscape-columns="3"]>div {
    width: calc(33.333% - 14px);
  }

  /* Desktop column configurations */
  .c-icon-text-cards-container[data-tablet-landscape-columns="4"]>div {
    width: calc(25% - 15px);
  }

  .c-icon-text-cards-container[data-tablet-landscape-columns="5"]>div {
    width: calc(20% - 16px);
  }

  .c-icon-text-cards-container[data-tablet-landscape-columns="6"]>div {
    width: calc(16.666% - 17px);
  }
}

@media (min-width: 1200px) {
  /* Desktop column configurations */
  .c-icon-text-cards-container[data-desktop-columns="1"]>div {
    width: calc(100% - 0px);
  }

  .c-icon-text-cards-container[data-desktop-columns="2"]>div {
    width: calc(50% - 10px);
  }

  .c-icon-text-cards-container[data-desktop-columns="3"]>div {
    width: calc(33.333% - 14px);
  }

  .c-icon-text-cards-container[data-desktop-columns="4"]>div {
    width: calc(25% - 15px);
  }

  .c-icon-text-cards-container[data-desktop-columns="5"]>div {
    width: calc(20% - 16px);
  }

  .c-icon-text-cards-container[data-desktop-columns="6"]>div {
    width: calc(16.666% - 17px);
  }
}
.c-separator-line {
  height: 1px;
  margin: 25px 0;
}

.c-separator-line--gold {
  background-color: var(--gold-color);
}

.c-separator-line--navy {
  background-color: var(--navy-color);
}

.c-separator-line--white {
  background-color: var(--white-color);
}

/*  Components
    Specific pieces of UI that are stylized. Typically used for global partial styling
*/
.s-background-color--primary,
.s-background-color--primary-hover:hover,
.s-background-color--primary-active.active,
.s-icon-background-color--primary svg {
  background-color: var(--primary-color);
}

.s-background-color--secondary,
.s-background-color--secondary-hover:hover,
.s-background-color--secondary-active.active,
.s-icon-background-color--secondary svg {
  background-color: var(--secondary-color);
}

.s-background-color--dark,
.s-background-color--dark-hover:hover,
.s-background-color--dark-active.active,
.s-icon-background-color--dark svg {
  background-color: var(--dark-color);
}

.s-background-color--light,
.s-background-color--light-hover:hover,
.s-background-color--light-active.active,
.s-icon-background-color--light svg {
  background-color: var(--light-color);
}

.s-background-color--white,
.s-background-color--white-hover:hover,
.s-background-color--white-active.active,
.s-icon-background-color--white svg {
  background-color: var(--white-color);
}

.s-text-color--primary,
.s-text-color--primary-hover:hover,
.s-text-color--primary-hover:hover h1,
.s-text-color--primary-hover:hover h2,
.s-text-color--primary-hover:hover h3,
.s-text-color--primary-hover:hover h4,
.s-text-color--primary-hover:hover h5,
.s-text-color--primary-hover:hover h6,
.s-text-color--primary-hover:hover p,
.s-text-color--primary-hover:hover ul,
.s-text-color--primary-hover:hover li,
.s-text-color--primary-hover:hover a,
.s-text-color--primary-hover:hover i,
.s-text-color--primary-active.active,
.s-text-color--primary-active.active h1,
.s-text-color--primary-active.active h2,
.s-text-color--primary-active.active h3,
.s-text-color--primary-active.active h4,
.s-text-color--primary-active.active h5,
.s-text-color--primary-active.active h6,
.s-text-color--primary-active.active p,
.s-text-color--primary-active.active ul,
.s-text-color--primary-active.active li,
.s-text-color--primary-active.active a,
.s-text-color--primary-active.active i,
.s-text-color--primary h1,
.s-text-color--primary h2,
.s-text-color--primary h3,
.s-text-color--primary h4,
.s-text-color--primary h5,
.s-text-color--primary h6,
.s-text-color--primary p,
.s-text-color--primary ul,
.s-text-color--primary li,
.s-text-color--primary a,
.s-text-color--primary i,
h1.s-text-color--primary,
h2.s-text-color--primary,
h3.s-text-color--primary,
h4.s-text-color--primary,
h5.s-text-color--primary,
h6.s-text-color--primary,
p.s-text-color--primary,
ul.s-text-color--primary,
li.s-text-color--primary,
a.s-text-color--primary,
i.s-text-color--primary {
  color: var(--primary-color);
}

.s-text-color--primary svg path,
.s-text-color--primary-hover:hover svg path,
.s-text-color--primary-active.active svg path,
svg.s-text-color--primary {
  fill: var(--primary-color);
}

.s-text-color--secondary,
.s-text-color--secondary-hover:hover,
.s-text-color--secondary-hover:hover h1,
.s-text-color--secondary-hover:hover h2,
.s-text-color--secondary-hover:hover h3,
.s-text-color--secondary-hover:hover h4,
.s-text-color--secondary-hover:hover h5,
.s-text-color--secondary-hover:hover h6,
.s-text-color--secondary-hover:hover p,
.s-text-color--secondary-hover:hover ul,
.s-text-color--secondary-hover:hover li,
.s-text-color--secondary-hover:hover a,
.s-text-color--secondary-hover:hover i,
.s-text-color--secondary-active.active,
.s-text-color--secondary-active.active h1,
.s-text-color--secondary-active.active h2,
.s-text-color--secondary-active.active h3,
.s-text-color--secondary-active.active h4,
.s-text-color--secondary-active.active h5,
.s-text-color--secondary-active.active h6,
.s-text-color--secondary-active.active p,
.s-text-color--secondary-active.active ul,
.s-text-color--secondary-active.active li,
.s-text-color--secondary-active.active a,
.s-text-color--secondary-active.active i,
.s-text-color--secondary h1,
.s-text-color--secondary h2,
.s-text-color--secondary h3,
.s-text-color--secondary h4,
.s-text-color--secondary h5,
.s-text-color--secondary h6,
.s-text-color--secondary p,
.s-text-color--secondary ul,
.s-text-color--secondary li,
.s-text-color--secondary a,
.s-text-color--secondary i,
h1.s-text-color--secondary,
h2.s-text-color--secondary,
h3.s-text-color--secondary,
h4.s-text-color--secondary,
h5.s-text-color--secondary,
h6.s-text-color--secondary,
p.s-text-color--secondary,
ul.s-text-color--secondary,
li.s-text-color--secondary,
a.s-text-color--secondary,
i.s-text-color--secondary {
  color: var(--secondary-color);
}

.s-text-color--secondary svg path,
.s-text-color--secondary-hover:hover svg path,
.s-text-color--secondary-active.active svg path,
svg.s-text-color--secondary {
  fill: var(--secondary-color);
}

.s-text-color--dark,
.s-text-color--dark-hover:hover,
.s-text-color--dark-hover:hover h1,
.s-text-color--dark-hover:hover h2,
.s-text-color--dark-hover:hover h3,
.s-text-color--dark-hover:hover h4,
.s-text-color--dark-hover:hover h5,
.s-text-color--dark-hover:hover h6,
.s-text-color--dark-hover:hover p,
.s-text-color--dark-hover:hover ul,
.s-text-color--dark-hover:hover li,
.s-text-color--dark-hover:hover a,
.s-text-color--dark-hover:hover i,
.s-text-color--dark-active.active,
.s-text-color--dark-active.active h1,
.s-text-color--dark-active.active h2,
.s-text-color--dark-active.active h3,
.s-text-color--dark-active.active h4,
.s-text-color--dark-active.active h5,
.s-text-color--dark-active.active h6,
.s-text-color--dark-active.active p,
.s-text-color--dark-active.active ul,
.s-text-color--dark-active.active li,
.s-text-color--dark-active.active a,
.s-text-color--dark-active.active i,
.s-text-color--dark h1,
.s-text-color--dark h2,
.s-text-color--dark h3,
.s-text-color--dark h4,
.s-text-color--dark h5,
.s-text-color--dark h6,
.s-text-color--dark p,
.s-text-color--dark ul,
.s-text-color--dark li,
.s-text-color--dark a,
.s-text-color--dark i,
h1.s-text-color--dark,
h2.s-text-color--dark,
h3.s-text-color--dark,
h4.s-text-color--dark,
h5.s-text-color--dark,
h6.s-text-color--dark,
p.s-text-color--dark,
ul.s-text-color--dark,
li.s-text-color--dark,
a.s-text-color--dark,
i.s-text-color--dark {
  color: var(--dark-color);
}

.s-text-color--dark svg path,
.s-text-color--dark-hover:hover svg path,
.s-text-color--dark-active.active svg path,
svg.s-text-color--dark {
  fill: var(--dark-color);
}

.s-text-color--light,
.s-text-color--light-hover:hover,
.s-text-color--light-hover:hover h1,
.s-text-color--light-hover:hover h2,
.s-text-color--light-hover:hover h3,
.s-text-color--light-hover:hover h4,
.s-text-color--light-hover:hover h5,
.s-text-color--light-hover:hover h6,
.s-text-color--light-hover:hover p,
.s-text-color--light-hover:hover ul,
.s-text-color--light-hover:hover li,
.s-text-color--light-hover:hover a,
.s-text-color--light-hover:hover i,
.s-text-color--light-active.active,
.s-text-color--light-active.active h1,
.s-text-color--light-active.active h2,
.s-text-color--light-active.active h3,
.s-text-color--light-active.active h4,
.s-text-color--light-active.active h5,
.s-text-color--light-active.active h6,
.s-text-color--light-active.active p,
.s-text-color--light-active.active ul,
.s-text-color--light-active.active li,
.s-text-color--light-active.active a,
.s-text-color--light-active.active i,
.s-text-color--light h1,
.s-text-color--light h2,
.s-text-color--light h3,
.s-text-color--light h4,
.s-text-color--light h5,
.s-text-color--light h6,
.s-text-color--light p,
.s-text-color--light ul,
.s-text-color--light li,
.s-text-color--light a,
.s-text-color--light i,
h1.s-text-color--light,
h2.s-text-color--light,
h3.s-text-color--light,
h4.s-text-color--light,
h5.s-text-color--light,
h6.s-text-color--light,
p.s-text-color--light,
ul.s-text-color--light,
li.s-text-color--light,
a.s-text-color--light,
i.s-text-color--light {
  color: var(--light-color);
}

.s-text-color--light svg path,
.s-text-color--light-hover:hover svg path,
.s-text-color--light-active.active svg path,
svg.s-text-color--light {
  fill: var(--light-color);
}

.s-text-color--white,
.s-text-color--white-hover:hover,
.s-text-color--white-hover:hover h1,
.s-text-color--white-hover:hover h2,
.s-text-color--white-hover:hover h3,
.s-text-color--white-hover:hover h4,
.s-text-color--white-hover:hover h5,
.s-text-color--white-hover:hover h6,
.s-text-color--white-hover:hover p,
.s-text-color--white-hover:hover ul,
.s-text-color--white-hover:hover li,
.s-text-color--white-hover:hover a,
.s-text-color--white-hover:hover i,
.s-text-color--white-active.active,
.s-text-color--white-active.active h1,
.s-text-color--white-active.active h2,
.s-text-color--white-active.active h3,
.s-text-color--white-active.active h4,
.s-text-color--white-active.active h5,
.s-text-color--white-active.active h6,
.s-text-color--white-active.active p,
.s-text-color--white-active.active ul,
.s-text-color--white-active.active li,
.s-text-color--white-active.active a,
.s-text-color--white-active.active i,
.s-text-color--white h1,
.s-text-color--white h2,
.s-text-color--white h3,
.s-text-color--white h4,
.s-text-color--white h5,
.s-text-color--white h6,
.s-text-color--white p,
.s-text-color--white ul,
.s-text-color--white li,
.s-text-color--white a,
.s-text-color--white i,
.s-text-color--white label,
.s-text-color--white .hs-form-required,
h1.s-text-color--white,
h2.s-text-color--white,
h3.s-text-color--white,
h4.s-text-color--white,
h5.s-text-color--white,
h6.s-text-color--white,
p.s-text-color--white,
ul.s-text-color--white,
li.s-text-color--white,
a.s-text-color--white,
i.s-text-color--white {
  color: var(--white-color);
}

.s-text-color--white svg path,
.s-text-color--white-hover:hover svg path,
.s-text-color--white-active.active svg path,
svg.s-text-color--white {
  fill: var(--white-color);
}

.s-gradient--navy,
.dnd-section:has([data-gradient="navy-gradient"]) {
  background: var(--navy-gradient); 
}

.s-gradient--white-to-grey-top,
.dnd-section:has([data-gradient="white-to-grey-top-gradient"]) {
  background: var(--white-to-grey-top-gradient);
}

.s-gradient--navy-to-transparent,
.dnd-section:has([data-gradient="navy-to-transparent-gradient"]) {
  background: var(--navy-to-transparent-gradient);
}

.s-gradient--light-blue-to-navy,
.dnd-section:has([data-gradient="light-blue-to-navy-gradient"]) {
  background: var(--light-blue-to-navy-gradient);
}

.s-section-drop-shadow {
  box-shadow: var(--drop-shadow);
}
/* 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 {
  flex-direction: column;
}

/* Flyouts */

.hs-menu-wrapper.hs-menu-flow-vertical.flyouts ul {
  display: inline-flex;
}

@media (max-width: 767px) {
  .hs-menu-wrapper.hs-menu-flow-vertical ul {
    display: flex;
  }
}

.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%;
}

span.hs_cos_wrapper_type_linked_image {
  display: flex;
}

/* In-page editor UI */

.in-editor-ui-label {
  background: #fff;
  border: 1px dotted blue;
  color: var(--primary-color) !important;
  font-family: 'Courier New', Courier, monospace;
  font-weight: 300;
  padding: 10px 15px;
}

/* Tools/Utility classes */

.l-negative-scroll-position,
a[data-hs-anchor="true"] {
  display: block;
  height: 1px;
  position: relative;
  top: -200px;
  width: 1px;
  z-index: -9999;
}

.l-footer {}

.l-footer h6 {
  font-size: 18px;
  margin-bottom: 10px;
}

.l-footer ul[role="menu"] {
  gap: 10px;
}

.l-footer ul[role="menu"] a {
  text-decoration: none;
}

.l-footer ul[role="menu"] li {
  font-size: 14px;
  margin: 0;
  padding: 0;
}

.l-footer__main-section {
  position: relative;
}

.l-footer__inner {
  flex-direction: column;
  flex-wrap: wrap;
  margin: 0 auto;
  max-width: var(--container-width);
}

.l-footer__main-section__left,
.l-footer__main-section__right {
  padding: 20px;
  width: 100%;
}

.l-footer__main-section__logo {
  max-width: 180px;
}

.l-footer__main-section-navigation {
  flex-grow: 1;
  gap: 30px;
  justify-content: flex-start;
  margin-top: 30px;
}

.l-footer__main-section-navigation-column {
  width: calc(50% - 15px);
}

.l-footer__main-section__right {
  background-color: var(--light-color);
}

.l-footer__main-section__right-form [data-hsfc-id=Renderer] form,
.l-footer__main-section__right-form [data-hsfc-id=Renderer] form input,
.l-footer__main-section__right-form [data-hsfc-id=Renderer] form textarea,
.l-footer__main-section__right-form [data-hsfc-id=Renderer] form select,
.l-footer__main-section__right-form [data-hsfc-id=Renderer] form button {
  font-family: var(--font-family) !important;
}

.l-footer__main-section__right-form [data-hsfc-id=Renderer] form input {
  background-color: var(--white-color);
  border: none;
  border-radius: 0;
}

.l-footer__main-section__right-form [data-hsfc-id=Renderer] .hsfc-Step .hsfc-Step__Content {
  padding: 0;
}

.l-footer__main-section__right-form [data-hsfc-id=Renderer] .hsfc-Row {
  gap: 16px;
  margin-bottom: 13px;
}

.l-footer__main-section__right-form [data-hsfc-id=Renderer] .hsfc-Row:last-child {
  margin-bottom: 0;
}

.l-footer__main-section__right-form [data-hsfc-id=Renderer] .hsfc-FieldLabel,
.l-footer__main-section__right-form [data-hsfc-id=Renderer] .hsfc-NavigationRow__Alerts {
  margin: 0 !important;
}

.l-footer__main-section__right-form [data-hsfc-id=Renderer] .hsfc-NavigationRow {
  margin-top: 20px;
}

.l-footer__main-section__right-form [data-hsfc-id=Renderer] .hsfc-NavigationRow__Buttons {
  justify-content: flex-start !important;
}

.l-footer__main-section__right-form [data-hsfc-id=Renderer] .hsfc-NavigationRow__Buttons button {
  align-items: center;
  border-radius: 0 !important;
  border: 2px solid var(--navy-color) !important;
  display: inline-flex;
  gap: 10px !important;
  justify-content: center !important;
  padding: 15px 40px !important;
  position: relative;
}

.l-footer__main-section__right-form [data-hsfc-id=Renderer] .hsfc-NavigationRow__Buttons button::after {
  content: '';
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='25' viewBox='0 0 24 25' fill='none'%3E%3Cmask id='mask0_255_1319' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='25'%3E%3Crect y='0.845703' width='24' height='24' fill='%23D9D9D9'/%3E%3C/mask%3E%3Cg mask='url(%23mask0_255_1319)'%3E%3Cpath d='M14 18.8457L12.6 17.3957L16.15 13.8457H4V11.8457H16.15L12.6 8.2957L14 6.8457L20 12.8457L14 18.8457Z' fill='%231C215A'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 24px 25px;
  width: 24px;
  height: 25px;
}

.l-footer__bottom-bar {
  background-color: var(--black-color);
  color: var(--white-color);
}

.l-footer__bottom-bar .l-footer__inner {
  padding: 10px 20px;
}

.l-footer__bottom-bar a {
  color: var(--white-color);
}

.l-footer__bottom-bar a:hover,
.l-footer__bottom-bar a:focus {
  color: var(--gold-color) !important;
}

.l-footer__bottom-bar ul[role="menu"] {
  gap: 15px;
}

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) { }

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {}

/* X-Large devices (large desktops, 1200px and up) */
@media (min-width: 992px) {
  .l-footer__inner {
    flex-direction: row;
  }

  .l-footer__main-section__left {
    padding: 60px 20px;
    width: 60%;
  }

  .l-footer__main-section__right {
    padding: 60px 20px 60px 60px;
    width: 40%;
  }

  .l-footer__main-section::after {
    background-color: var(--light-color);
    bottom: 0;
    content: '';
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    width: 20%;
    z-index: -1;
  }

  .l-footer__main-section-navigation {
    margin-top: 0;
    gap: 15px;
    justify-content: space-evenly;
  }

  .l-footer__main-section-navigation-column {
    width: auto;
  }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 1200px) {}

/* XX-Large devices (larger desktops, 1400px and up) */
@media (min-width: 1400px) {}
body.js-no-scroll {
  overflow: hidden;
}

.l-header-style--fixed #l-main-content {
  padding-top: var(--header-height-mobile);
}

.l-header {
  background-color: var(--header-background-color);
  box-shadow: var(--drop-shadow);
  height: var(--header-height-mobile);
  padding: 0 20px;
  transition: all .5s ease;
  width: 100vw;
  z-index: 1;
}

.l-header--fixed {
  position: fixed;
}

.l-header__inner {
  height: 100%;
  margin: 0 auto;
  width: 100%;
}

.c-header__logo {
  max-height: 100%;
  max-width: 125px;
}

.c-header__logo img {
  max-height: 100%;
}

/* MENU */
.c-header__menu {
  display: none;
}

.c-header__menu ul[role="menu"] {
  justify-content: space-between;
  gap: 35px;
}

.c-header__menu ul[role="menu"] a {
  text-decoration: none;
}

.c-header__menu .hs-menu-wrapper.flyouts .hs-menu-children-wrapper {
  background-color: var(--white-color);
  box-shadow: var(--drop-shadow);
  gap: 10px;
  padding: 10px 20px 10px 10px;
  border-radius: 10px;
  min-width: 100%;
}

/* BUTTONS */
.c-header__buttons {
  display: none;
  height: 100%;
}

.c-header__button-item {
  color: var(--primary-color);
  gap: 10px;
  font-weight: 700;
  height: 100%;
  padding: 24px 40px;
  text-decoration: none !important;
}

/* MOBILE MENU */
.c-header-mobile-menu__icon--close,
.js-header-mobile-menu--active .c-header-mobile-menu__icon--open {
  display: none;
}

.c-header-mobile-menu__icon--open,
.js-header-mobile-menu--active .c-header-mobile-menu__icon--close {
  display: block;
}

/* MENU ICONS */
button.c-header-mobile-menu__icon--open,
button.c-header-mobile-menu__icon--close,
button.c-header-search__icon,
button.c-site-search-modal__close {
  background-color: transparent;
  border: none;
  cursor: pointer;
  font-size: 1rem;
  line-height: 1;
  -webkit-appearance: unset;
}

/* SITE SEARCH */
.c-site-search-modal {
  background: rgba(255,255,255,.95);
  bottom: 0;
  display: none;
  height: 100vh;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 100vw;
  z-index: 999;
}

.js-site-search-modal--active {
  display: block;
}

.c-site-search-modal__inner {
  margin: 2em auto;
  max-width: var(--container-width);
  position: relative;
  width: 600px;
}

.c-site-search-modal__close {
  position: absolute;
  right: 0;
  top: 0;
}

.c-site-search-modal__search-form {
  padding-top: 1rem;
}

.c-site-search-modal__search-form .hs-search-field__input,
.c-site-search-modal__search-form .hs-search-field__button {
  padding: .5rem;
}

.c-site-search-modal__search-form .hs-search-field__bar button {
  font-size: 1rem;
  line-height: 1;
}

.c-site-search-modal__search-form .hs-search-field__bar button svg {
  fill: white;
  height: 1rem;
}

.c-site-search-modal__search-form .hs-search-field__suggestions .results-for,
.c-site-search-modal__search-form .hs-search-field__suggestions a {
  padding: .25rem .5rem
}

.c-site-search-modal__search-form .hs-search-field--open .hs-search-field__suggestions,
.c-site-search-modal__search-form .inpage-editor-active-field .hs-search-field__suggestions {
  border: none;
}

.c-site-search-modal__search-form .hs-search-field__suggestions a:focus,
.c-site-search-modal__search-form .hs-search-field__suggestions a:hover {
  background-color: var(--secondary-color);
  color: var(--white-color);
}

/* Navigation skipper */
.l-header__skip {
  height: 1px;
  left: -1000px;
  overflow: hidden;
  position: absolute;
  text-align: left;
  top: -1000px;
  width: 1px;
}

.l-header__skip:hover,
.l-header__skip:focus,
.l-header__skip:active {
  height: auto;
  left: 0.5rem;
  overflow: visible;
  padding: 0.25rem 0.5rem;
  top: 0.5rem;
  width: auto;
}


/*********************
  RESPONSIVE STYLES
*********************/

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
  .l-header-style--fixed #l-main-content {
    padding-top: var(--header-height-tablet);
  }

  .l-header {
    height: var(--header-height-tablet);
  }

  .l-header__inner {
    padding: 0 20px;
  }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {}

/* X-Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
  .l-header-style--fixed #l-main-content {
    padding-top: var(--header-height-desktop);
  }

  .l-header {
    height: var(--header-height-desktop);
  }

  .c-header__logo {
    max-width: 195px;
  }

  .c-header__menu {
    display: flex;
  }

  .c-header__buttons {
    display: flex;
  }
}

/* XX-Large devices (larger desktops, 1400px and up)*/
@media (min-width: 1400px) {}

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

.c-accordion__list {}

.c-accordion__item {
  border-bottom: 1px solid var(--black-color);
}

.c-accordion__item:first-child {
  border-top: 1px solid var(--black-color);
}

.c-accordion__details {}

.c-accordion__summary {
  cursor: pointer;
  gap: 20px;
	list-style: none;
  padding: 15px 0;
}

.c-accordion__summary::-webkit-details-marker {
	display: none;
}

.c-accordion__question-text {}

.c-accordion__panel {
  padding-right: 48px;
}

.c-accordion__answer {}

.c-accordion__icon {
	color: var(--primary-color);
	transition: transform 200ms ease;
}

.c-accordion__details[open] .c-accordion__icon {
	transform: rotate(90deg);
	color: var(--secondary-color);
}
.l-button-group {
  gap: .5rem;
  width: 100%;
}

button:not(.c-timeline-arrow):not(.c-header-search__icon):not(.c-site-search-modal__close):not(.c-header-mobile-menu__icon--open):not(.c-header-mobile-menu__icon--close):not(.uiButton):not(.c-dialog__close-icon):not(.splide__arrow):not(.hs-overlay__close--top):not(.splide__pagination__page):not(.c-hubspot-reviews__nav-button):not([class*="ToolbarIconButton"]):not([class*="PrivateButton"]):not(.c-tabbed-resources__tab):not(.c-tabbed-resources__search-button),
.c-button {
  align-items: center;
  background-color: transparent;
  border-radius: var(--button-border-radius);
  border: var(--button-border);
  color: var(--button-font-color);
  cursor: pointer;
  display: inline-flex;
  font-weight: 600;
  max-width: var(--button-max-width);
  padding: var(--button-padding);
  position: relative;
  text-align: center;
  text-decoration: none;
  transition: all 0.35s ease;
  white-space: normal;
  width: auto;
}

button:disabled,
.c-button:disabled {
  background-color: #D0D0D0;
  border-color: #D0D0D0;
  color: #E6E6E6;
}

button.hs-overlay__close--top {
  cursor: pointer;
}

/*
  Outline Button Styles
*/
button.c-button__outline--navy,
button.c-button.c-button__outline--navy,
button:not(.c-timeline-arrow):not(.c-header-search__icon):not(.c-site-search-modal__close):not(.c-header-mobile-menu__icon--open):not(.c-header-mobile-menu__icon--close):not(.uiButton):not(.c-dialog__close-icon):not(.splide__arrow):not(.hs-overlay__close--top):not(.splide__pagination__page):not(.c-hubspot-reviews__nav-button):not([class*="ToolbarIconButton"]):not([class*="PrivateButton"]):not(.c-tabbed-resources__tab):not(.c-tabbed-resources__search-button).c-button__outline--navy,
.c-button__outline--navy {
  background-color: transparent !important;
  border: 1px solid var(--navy-color) !important;
  color: var(--primary-color) !important;
}

button.c-button__outline--navy:hover,
button.c-button__outline--navy:focus,
button.c-button__outline--navy:focus-within,
button.c-button.c-button__outline--navy:hover,
button.c-button.c-button__outline--navy:focus,
button.c-button.c-button__outline--navy:focus-within,
button:not(.c-timeline-arrow):not(.c-header-search__icon):not(.c-site-search-modal__close):not(.c-header-mobile-menu__icon--open):not(.c-header-mobile-menu__icon--close):not(.uiButton):not(.c-dialog__close-icon):not(.splide__arrow):not(.hs-overlay__close--top):not(.splide__pagination__page):not(.c-hubspot-reviews__nav-button):not([class*="ToolbarIconButton"]):not([class*="PrivateButton"]):not(.c-tabbed-resources__tab):not(.c-tabbed-resources__search-button).c-button__outline--navy:hover,
button:not(.c-timeline-arrow):not(.c-header-search__icon):not(.c-site-search-modal__close):not(.c-header-mobile-menu__icon--open):not(.c-header-mobile-menu__icon--close):not(.uiButton):not(.c-dialog__close-icon):not(.splide__arrow):not(.hs-overlay__close--top):not(.splide__pagination__page):not(.c-hubspot-reviews__nav-button):not([class*="ToolbarIconButton"]):not([class*="PrivateButton"]):not(.c-tabbed-resources__tab):not(.c-tabbed-resources__search-button).c-button__outline--navy:focus,
button:not(.c-timeline-arrow):not(.c-header-search__icon):not(.c-site-search-modal__close):not(.c-header-mobile-menu__icon--open):not(.c-header-mobile-menu__icon--close):not(.uiButton):not(.c-dialog__close-icon):not(.splide__arrow):not(.hs-overlay__close--top):not(.splide__pagination__page):not(.c-hubspot-reviews__nav-button):not([class*="ToolbarIconButton"]):not([class*="PrivateButton"]):not(.c-tabbed-resources__tab):not(.c-tabbed-resources__search-button).c-button__outline--navy:focus-within,
.c-button__outline--navy:hover,
.c-button__outline--navy:focus,
.c-button__outline--navy:focus-within {
  background-color: var(--navy-color) !important;
  color: var(--white-color) !important;
}

button.c-button__outline--gold,
.c-button__outline--gold {
  background-color: transparent;
  border: 1px solid var(--gold-color);
  color: var(--primary-color);
}

button.c-button__outline--gold-white-text ,
.c-button__outline--gold-white-text {
  background-color: transparent;
  border: 1px solid var(--gold-color);
  color: var(--white-color);
}

button.c-button__outline--gold:hover,
button.c-button__outline--gold:focus,
button.c-button__outline--gold:focus-within,
button.c-button__outline--gold-white-text:hover,
button.c-button__outline--gold-white-text:focus,
button.c-button__outline--gold-white-text:focus-within,
.c-button__outline--gold:hover,
.c-button__outline--gold:focus,
.c-button__outline--gold:focus-within,
.c-button__outline--gold-white-text:hover,
.c-button__outline--gold-white-text:focus,
.c-button__outline--gold-white-text:focus-within {
  background-color: var(--gold-color);
  color: var(--navy-color);
}

button.c-button__outline--white,
.c-button__outline--white {
  background-color: transparent;
  border: 1px solid var(--white-color);
  color: var(--white-color);
}

button.c-button__outline--white:hover,
button.c-button__outline--white:focus,
button.c-button__outline--white:focus-within,
.c-button__outline--white:hover,
.c-button__outline--white:focus,
.c-button__outline--white:focus-within {
  background-color: var(--white-color);
  color: var(--primary-color);
}

/*
  Solid Button Styles
*/
button.c-button__solid--navy,
button.c-button.c-button__solid--navy,
button:not(.c-timeline-arrow):not(.c-header-search__icon):not(.c-site-search-modal__close):not(.c-header-mobile-menu__icon--open):not(.c-header-mobile-menu__icon--close):not(.uiButton):not(.c-dialog__close-icon):not(.splide__arrow):not(.hs-overlay__close--top):not(.splide__pagination__page):not(.c-hubspot-reviews__nav-button):not([class*="ToolbarIconButton"]):not([class*="PrivateButton"]):not(.c-tabbed-resources__tab):not(.c-tabbed-resources__search-button).c-button__solid--navy,
.c-button__solid--navy {
  background-color: var(--navy-color) !important;
  border: 1px solid var(--navy-color) !important;
  color: var(--white-color) !important;
}

button.c-button__solid--navy:hover,
button.c-button__solid--navy:focus,
button.c-button__solid--navy:focus-within,
button.c-button.c-button__solid--navy:hover,
button.c-button.c-button__solid--navy:focus,
button.c-button.c-button__solid--navy:focus-within,
.c-button__solid--navy:hover,
.c-button__solid--navy:focus,
.c-button__solid--navy:focus-within {
  /* No hover/focus state changes needed for solid navy buttons */
}

button.c-button__solid--gold,
.c-button__solid--gold {
  background-color: var(--gold-color);
  border: 1px solid var(--gold-color);
  color: var(--navy-color);
}

button.c-button__solid--gold:hover,
button.c-button__solid--gold:focus,
button.c-button__solid--gold:focus-within,
.c-button__solid--gold:hover,
.c-button__solid--gold:focus,
.c-button__solid--gold:focus-within {
  /* No hover/focus state changes needed for solid gold buttons */
}

button.c-button__solid--white,
.c-button__solid--white {
  background-color: var(--white-color);
  border: 1px solid var(--white-color);
  color: var(--primary-color);
}

button.c-button__solid--white:hover,
button.c-button__solid--white:focus,
button.c-button__solid--white:focus-within,
.c-button__solid--white:hover,
.c-button__solid--white:focus,
.c-button__solid--white:focus-within {
  /* No hover/focus state changes needed for solid white buttons */
}

/*
  Link Button Styles
*/
.c-button__link,
.c-button__link--white {
  background-color: transparent;
  border: none;
  cursor: pointer;
  padding-left: 0;
  padding-right: 0;
}

.c-button__link {
  color: var(--primary-color);
}

.c-button__link--white {
  color: var(--white-color);
}

.c-button__link:hover,
.c-button__link:focus,
.c-button__link:focus-within,
.c-button__link--white:hover,
.c-button__link--white:focus,
.c-button__link--white:focus-within {
  background-color: transparent;
  border: none;
}

.c-button__link:hover,
.c-button__link:focus,
.c-button__link:focus-within {
  color: var(--primary-color);
}

.c-button__link.c-button__link--white:hover,
.c-button__link.c-button__link--white:focus,
.c-button__link.c-button__link--white:focus-within {
  color: var(--white-color);
}

/* 
  Button icons
*/
.c-button::before,
.c-button::after {
  position: relative;
}
.c-button::after {
  margin-left: 10px;
  right: 0;
  transition: all 0.35s ease;
}

.c-button:hover::after,
.c-button:focus::after,
.c-button:focus-within::after,
.c-content-card__link--full:hover .c-button::after,
.c-content-card__link--full:focus .c-button::after,
.c-content-card__link--full:focus-within .c-button::after {
  right: -5px;
}

.c-button__icon--none::after {
  display: none;
}

.c-button__icon--arrow::after {
  content: '';
  background-color: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cmask id='mask0_269_876' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23D9D9D9'/%3E%3C/mask%3E%3Cg mask='url(%23mask0_269_876)'%3E%3Cpath d='M14 18L12.6 16.55L16.15 13H4V11H16.15L12.6 7.45L14 6L20 12L14 18Z' fill='black'/%3E%3C/g%3E%3C/svg%3E") no-repeat center;
  mask-size: contain;
  width: 24px;
  height: 24px;
  display: inline-block;
}

.c-button__icon--login::after {
  content: '';
  background-color: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cmask id='mask0_1176_8861' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23D9D9D9'/%3E%3C/mask%3E%3Cg mask='url(%23mask0_1176_8861)'%3E%3Cpath d='M11.9905 20.5V19H18.6923C18.7692 19 18.8398 18.9679 18.9038 18.9038C18.9679 18.8398 19 18.7692 19 18.6923V5.30775C19 5.23075 18.9679 5.16025 18.9038 5.09625C18.8398 5.03208 18.7692 5 18.6923 5H11.9905V3.5H18.6923C19.1974 3.5 19.625 3.675 19.975 4.025C20.325 4.375 20.5 4.80258 20.5 5.30775V18.6923C20.5 19.1974 20.325 19.625 19.975 19.975C19.625 20.325 19.1974 20.5 18.6923 20.5H11.9905ZM10.6348 16.2692L9.59625 15.1845L12.0308 12.75H3.5V11.25H12.0308L9.59625 8.8155L10.6348 7.73075L14.9038 12L10.6348 16.2692Z' fill='%231C215A'/%3E%3C/g%3E%3C/svg%3E") no-repeat center;
  mask-size: contain;
  width: 24px;
  height: 24px;
  display: inline-block;
}

.c-button__icon--support::before {
  content: '';
  background-color: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cmask id='mask0_1347_2705' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23D9D9D9'/%3E%3C/mask%3E%3Cg mask='url(%23mask0_1347_2705)'%3E%3Cpath d='M11.989 17.6152C12.2745 17.6152 12.5157 17.5168 12.7125 17.3198C12.9093 17.1226 13.0078 16.8812 13.0078 16.5955C13.0078 16.31 12.9092 16.0688 12.712 15.872C12.5148 15.6753 12.2735 15.577 11.988 15.577C11.7025 15.577 11.4613 15.6756 11.2645 15.8728C11.0677 16.0699 10.9692 16.3113 10.9692 16.5968C10.9692 16.8822 11.0678 17.1234 11.265 17.3203C11.4622 17.5169 11.7035 17.6152 11.989 17.6152ZM11.2808 14.0345H12.6885C12.7013 13.5423 12.7734 13.1491 12.9047 12.8548C13.0363 12.5606 13.3552 12.1706 13.8615 11.6848C14.3013 11.2449 14.6382 10.8388 14.872 10.4663C15.106 10.0939 15.223 9.65417 15.223 9.147C15.223 8.28617 14.9137 7.61375 14.2952 7.12975C13.6766 6.64592 12.9448 6.404 12.1 6.404C11.2653 6.404 10.5747 6.62675 10.028 7.07225C9.48117 7.51775 9.09108 8.04242 8.85775 8.64625L10.1423 9.1615C10.2641 8.8295 10.4724 8.50608 10.7673 8.19125C11.0621 7.87658 11.4999 7.71925 12.0808 7.71925C12.6718 7.71925 13.1086 7.88108 13.3913 8.20475C13.6741 8.52858 13.8155 8.88467 13.8155 9.273C13.8155 9.61283 13.7187 9.92375 13.525 10.2057C13.3315 10.4877 13.0848 10.7602 12.7848 11.023C12.1283 11.6153 11.7135 12.0878 11.5405 12.4405C11.3673 12.793 11.2808 13.3243 11.2808 14.0345ZM12.0017 21.5C10.6877 21.5 9.45267 21.2507 8.2965 20.752C7.14033 20.2533 6.13467 19.5766 5.2795 18.7218C4.42433 17.8669 3.74725 16.8617 3.24825 15.706C2.74942 14.5503 2.5 13.3156 2.5 12.0017C2.5 10.6877 2.74933 9.45267 3.248 8.2965C3.74667 7.14033 4.42342 6.13467 5.27825 5.2795C6.13308 4.42433 7.13833 3.74725 8.294 3.24825C9.44967 2.74942 10.6844 2.5 11.9983 2.5C13.3123 2.5 14.5473 2.74933 15.7035 3.248C16.8597 3.74667 17.8653 4.42342 18.7205 5.27825C19.5757 6.13308 20.2528 7.13833 20.7518 8.294C21.2506 9.44967 21.5 10.6844 21.5 11.9983C21.5 13.3123 21.2507 14.5473 20.752 15.7035C20.2533 16.8597 19.5766 17.8653 18.7218 18.7205C17.8669 19.5757 16.8617 20.2528 15.706 20.7518C14.5503 21.2506 13.3156 21.5 12.0017 21.5ZM12 20C14.2333 20 16.125 19.225 17.675 17.675C19.225 16.125 20 14.2333 20 12C20 9.76667 19.225 7.875 17.675 6.325C16.125 4.775 14.2333 4 12 4C9.76667 4 7.875 4.775 6.325 6.325C4.775 7.875 4 9.76667 4 12C4 14.2333 4.775 16.125 6.325 17.675C7.875 19.225 9.76667 20 12 20Z' fill='black'/%3E%3C/g%3E%3C/svg%3E") no-repeat center;
  mask-size: contain;
  width: 24px;
  height: 24px;
  display: inline-block;
  margin-right: 8px;
}

.c-button__icon--plus::after {
  content: '';
  background-color: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 13 13' fill='none'%3E%3Cpath d='M5.75 7.25H0V5.75H5.75V0H7.25V5.75H13V7.25H7.25V13H5.75V7.25Z' fill='black'/%3E%3C/svg%3E") no-repeat center;
  mask-size: contain;
  width: 13px;
  height: 13px;
  display: inline-block;
}

.c-button__outline--gold-white-text.c-button__icon--arrow::after,
.c-button__outline--gold-white-text.c-button__icon--login::after,
.c-button__outline--gold-white-text.c-button__icon--support::before,
.c-button__outline--gold-white-text.c-button__icon--plus::after {
  background-color: var(--gold-color);
}

.c-button__outline--gold-white-text.c-button__icon--arrow:hover::after,
.c-button__outline--gold-white-text.c-button__icon--arrow:focus::after,
.c-button__outline--gold-white-text.c-button__icon--arrow:focus-within::after,
.c-button__outline--gold-white-text.c-button__icon--login:hover::after,
.c-button__outline--gold-white-text.c-button__icon--login:focus::after,
.c-button__outline--gold-white-text.c-button__icon--login:focus-within::after,
.c-button__outline--gold-white-text.c-button__icon--support:hover::before,
.c-button__outline--gold-white-text.c-button__icon--support:focus::before,
.c-button__outline--gold-white-text.c-button__icon--support:focus-within::before,
.c-button__outline--gold-white-text.c-button__icon--plus:hover::after,
.c-button__outline--gold-white-text.c-button__icon--plus:focus::after,
.c-button__outline--gold-white-text.c-button__icon--plus:focus-within::after {
  background-color: var(--navy-color);
}

/* 
  Button burger 
*/
.c-button-burger {
  display: block;
  width: 40px;
  height: 36px;
  position: relative;
  cursor: pointer;
  margin-bottom: 10px;
  margin-top: 10px;
}
.c-button-burger .line {
  fill: none;
  stroke: var(--dark-color);
  stroke-width: 4;
  transition: stroke-dasharray .6s cubic-bezier(.4,0,.2,1),stroke-dashoffset .6s cubic-bezier(.4,0,.2,1)
}

.c-button-burger .line1 {
  stroke-dasharray: 60 207;
  stroke-width: 4
}

.c-button-burger .line2 {
  stroke-dasharray: 60 60;
  stroke-width: 4
}

.c-button-burger .line3 {
  stroke-dasharray: 60 207;
  stroke-width: 4
}

.c-button-burger.open .line1 {
  stroke-dasharray: 90 207;
  stroke-dashoffset: -134;
  stroke-width: 4
}

.c-button-burger.open .line2 {
  stroke-dasharray: 1 60;
  stroke-dashoffset: -40;
  stroke-width: 4
}

.c-button-burger.open .line3 {
  stroke-dasharray: 90 207;
  stroke-dashoffset: -134;
  stroke-width: 4
}

@media screen and (max-width: 767px) {
	.l-button-group.l-flex--justify-content-flex-end {
		justify-content: flex-start;
    margin-top:1em;
	}
}

/* Smaller button */
.c-button--small {
  font-size: .8rem;
  padding: 10px 30px;
}

/* Link styles */
.c-back-link {
  align-items: center;
  display: flex;
  font-size: .8rem;
  gap: 8px;
  line-height: 1;
}

.c-back-link svg {
  width: .8rem;
}

.c-back-link--white {
  color: #fff;
}
.l-video-embed-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%;
}

.l-video-embed-container iframe,
.l-video-embed-container object,
.l-video-embed-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.l-cookiebot-privacy-wrapper .hs-embed-wrapper {
  max-height: 100% !important;
  max-width: 100vw !important;
  width: 100%;
}

.CookieDeclarationType {
  border: none !important;
  padding: unset !important;
}
form {
  margin-top: 1rem;
}

form,
.submitted-message {
  ;
}

/* Form title */
.form-title {
  background-color: var(--form-title-background-color);
  color: var(--form-title-font-color);
}

/* Form fields */
.hs-form-field {
  margin-bottom: 1.4rem;
}

/* Labels */
form label {
  display: block;
  font-size: 1rem;
  font-weight: 400;
  line-height: normal;
  margin-bottom: 0.35rem;
  color: var(--form-label-font-color);
}

/* Help text - legends */
form legend {
  font-size: 0.875rem;
  color: var(--form-help-text-font-color);
}

/* 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 {
  background-color: #FFF;
  border: 0 none;
  border-bottom: 1px solid var(--form-label-font-color);
  display: inline-block;
  font-size: 1rem;
  padding: 0.7rem;
  width: 100%;
  color: ;
}

form input[type=text]:focus,
form input[type=email]:focus,
form input[type=password]:focus,
form input[type=tel]:focus,
form input[type=number]:focus,
form input[type=file]:focus,
form select:focus,
form textarea:focus {
  border-color: var(--form-input-focus-border-color);
}

form select {
  /** Replace the dropdown arrow indicator */
  appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-size: 1em;
}

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

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

/* Form placeholder text */
::-webkit-input-placeholder {
  color: ;
}

::-webkit-input-placeholder,
::-moz-placeholder,
:-ms-input-placeholder,
:-moz-placeholder,
::placeholder,
.hs-fieldtype-date .input .hs-dateinput:before {
  color: ;
}

/* Inputs - checkbox/radio */
form .inputs-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

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

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

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

form input[type=checkbox] {
  height: 18px;
  margin-top: 2px;
  position: relative;
  top: 2px;
  width: 18px;
}

/* Inputs - datepicker */
.hs-dateinput {
  position: relative;
}

.hs-dateinput:before {
  content:'\01F4C5';
  position: absolute;
  right: 10%;
  top: 50%;
  transform: translateY(-50%);
}

.fn-date-picker .pika-table thead th {
  color: #FFF;
}

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

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

.fn-date-picker td.is-today .pika-button {
  color: var(--primary-color);
}

/* Inputs - file picker */
form input[type=file] {
  background-color: transparent;
  border: initial;
  padding: .7rem 0;
}

/* Headings and text */
form .hs-richtext,
form .hs-richtext p {
  font-size: 0.875rem;
  font-weight: 400;
  margin: 0 0 1.4rem;
}

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

/* GDPR */
form .legal-consent-container .hs-richtext,
form .legal-consent-container .hs-richtext p {
  font-size: .75rem;
}

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

.legal-consent-container .hs-form-booleancheckbox-display > span p {
  font-size: .8rem;
}

.legal-consent-container label {
  color: var(--primary-color);
  font-size: .8rem;
  margin-bottom: 1.5rem;
}

.legal-consent-container li {
  padding-left: 0;
}

.legal-consent-container .hs-form-booleancheckbox-display input {
  display: inline-flex;
  position: relative;
  top: 5px;
}

/* Validation */
.hs-form-required {
  color: var(--form-error-text-font-color);
  margin-left: 7px;
}

.hs-input.invalid.error {
  border-color: var(--form-error-text-font-color);
}

.hs-error-msg {
  color: var(--form-error-text-font-color);
  margin-top: 0.35rem;
}

/* Submit button */
form input[type=submit],
form .hs-button {
  background-color: var(--gold-color);
  border-radius: var(--button-border-radius);
  border: none;
  color: var(--primary-color);
  cursor: pointer;
  font-weight: 600;
  max-width: var(--button-max-width);
  padding: var(--button-padding);
  text-align: center;
  transition: all ease .35s;
  white-space: normal;
}

form .hs-submit .actions {
  display: inline-flex;
  position: relative;
}

form .hs-submit .actions::after {
  content: '';
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg width="21" height="21" viewBox="0 0 21 21" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cg id="Icon"%3E%3Cmask id="mask0_918_2292" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="21" height="21"%3E%3Crect id="Bounding box" x="0.5" y="0.557129" width="20" height="20" fill="%2523D9D9D9"/%3E%3C/mask%3E%3Cg mask="url(%2523mask0_918_2292)"%3E%3Cpath id="arrow_right_alt" d="M12.0384 15.2687L11.1603 14.3649L14.343 11.1822H4.25V9.93225H14.343L11.1603 6.74954L12.0384 5.8457L16.75 10.5572L12.0384 15.2687Z" fill="black"/%3E%3C/g%3E%3C/g%3E%3C/svg%3E');
  height: 21px;
  position: absolute;
  right: 20px;
  top: calc(50% - 10.5px);
  width: 21px;
  transition: all ease .35s;
}

form .hs-submit .actions:hover::after,
form .hs-submit .actions:focus::after,
form .hs-submit .actions:active::after, {
  right: 14px;
}


/* Captcha */
.grecaptcha-badge {
  /* margin: 0 auto; */
}

/** Style underline **/
.s-form--underline form input[type=email],
.s-form--underline form input[type=file],
.s-form--underline form input[type=number],
.s-form--underline form input[type=password],
.s-form--underline form input[type=tel],
.s-form--underline form input[type=text],
.s-form--underline form select,
.s-form--underline form textarea{
  border: 0 none;
  border-bottom: 1px solid var(--form-label-font-color);
  border-radius: 0;
  outline: 0;
  padding-left: 0;
  padding-right: 0;
  width: 100% !important;
  background-color: transparent;
}
.c-dialog {
  border: none;
  max-width: 500px;
  padding: 1.5rem;
  position: fixed;
  width: 100%;
}

.c-dialog::backdrop {
  animation: fade-in 1s;
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(3px);
}

.c-dialog__close-form {
  margin-top: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.c-dialog__close-icon {
  background: var(--primary-color);
  color: var(--white-color);
  cursor: pointer;
  padding: .5rem;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

.c-dialog__close-icon svg {
  fill: currentColor;
}

.c-dialog--video {
  max-width: 98%;
  overflow: hidden;
  padding: 0;
}

.c-dialog__video-embed--external {
  height: 0;
  padding-bottom: 56.25%;
  width: 100%;
}

.c-dialog__video-embed--external iframe {
  aspect-ratio: 16 / 9;
  height: unset;
  width: 100%;
}

@keyframes fade-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@media (min-width: 1024px) {
  .c-dialog--video {
    max-width: 75%;
  }
}
/* Table */
table {
  border-top: 1px solid;
  border-left: 1px solid;
  border-right: 1px solid;
  border-collapse: separate;
  border-spacing: 0;
  margin-bottom: 1.4rem;
  overflow-wrap: break-word;
  background-color: var(--table-background-color);
  border-color: var(--table-border-color);
  border-radius: 8px;
  overflow: hidden;
}

/* Table Cells */
th,
td {
  border-right: 1px solid;
  border-bottom: 1px solid;
  padding: 0.75rem;
  vertical-align: top;
  border-color: var(--table-border-color);
  color: var(--table-font-color);
}

/* Remove right border from last column */
th:last-child,
td:last-child {
  border-right: none;
}

/* Remove bottom border from last row */
tbody tr:last-child th,
tbody tr:last-child td {
  border-bottom: none;
}

/* Table Header */
thead th,
thead td {
  vertical-align: bottom;
  background-color: var(--table-header-background-color);
  color: var(--table-header-font-color);
}

/* Table Footer */
tfoot td {
  background-color: var(--table-footer-background-color);
  color: var(--table-footer-font-color);
}

.c-tag {
  background-color: var(--secondary-color);
  border-radius: 5px;
  color: var(--primary-color);
  font-size: 12px;
  font-weight: 700;
  padding: 10px 15px;
  width: fit-content;
}

.c-tag--primary {
  background-color: var(--primary-color);
  color: var(--white-color);
}

.c-tag--secondary {
  background-color: var(--secondary-color);
  color: var(--primary-color);
}
html {
  scroll-behavior: smooth;
  font-size: var(--paragraph-font-size);
}

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

body {
  line-height: normal;
  word-break: break-word;
  font-family: var(--font-family);
  color: var(--body-font-color);
  font-weight: 400;
}

/* Paragraphs */
p {
  font-size: 1rem;
  line-height: 1.6;
  margin: 0 0 1.2em 0;
  font-weight: 400;
}

strong {
  font-weight: 600;
}

.styled-underline {
  display: inline-block;
  position: relative;
  z-index: 0;
}

.styled-underline::after {
  background: var(--gold-color);
  border-radius: 20px;
  bottom: 8px;
  content: '';
  height: 10px;
  left: -1px;
  position: absolute;
  right: -1px;
  width: calc(100% + 2px);
  z-index: -1;
}

/* Anchors */
a {
  cursor: pointer;
  text-decoration: underline;
  transition: all .3s ease-in-out;
  color: var(--anchor-font-color);
}

a:not(.c-button):active,
a:not(.c-button):hover,
a:not(.c-button):focus {
  text-decoration: none;
  color: var(--anchor-font-hover-color);
}

a.s-link-dark:hover,
a.s-link-dark:focus {
  color: var(--primary-color);
}

/* Headings */
h1,
h2,
h3, 
h4,
h5,
h6 {
  color: var(--heading-font-color);
  font-family: var(--font-family);
  margin: 0 0 .5rem 0;
}

h1 {
  font-size: var(--heading-1-font-size);
}

h2 {
  font-size: var(--heading-2-font-size);
}

h3 {
  font-size: var(--heading-3-font-size);
}

h4 {
  font-size: var(--heading-4-font-size);
}

h5 {
  font-size: var(--heading-5-font-size);
}

h6 {
  font-size: var(--heading-6-font-size);
}

.s-typography--heading-1-size {
  font-size: var(--heading-1-font-size);
}

.s-typography--heading-2-size {
  font-size: var(--heading-2-font-size);
}

.s-typography--heading-3-size {
  font-size: var(--heading-3-font-size);
}

.s-typography--heading-4-size {
  font-size: var(--heading-4-font-size);
}

.s-typography--heading-5-size {
  font-size: var(--heading-5-font-size);
}

.s-typography--heading-6-size {
  font-size: var(--heading-6-font-size);
}

.s-typography--paragraph-size {
  font-size: var(--paragraph-font-size);
}

.s-typography--paragraph-size-large {
  font-size: 20px;
}

small, .text_small {font-size: 0.8rem;}

/* Lists */
ul,
ol {
  margin: 0 0 1.4rem;
  padding-left: 0;
}

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

ul.no-list {
  list-style: none;
}

li {
  line-height: 1.6;
  margin-bottom: .5em;
  padding-left: 0.25em;
}

li:not(.hs-menu-item):not(.splide__slide) {
  margin-left: 1rem;
}

ol {
  list-style-type: none;
  counter-reset: item;
  /* margin: 0; */
  /* padding: 0; */
}

ol li:not(.hs-menu-item):not(.splide__slide) {
  margin-left: 0;
}

ol>li {
  display: table;
  counter-increment: item;
  /* margin-left: 0; */
  /* margin-bottom: 0.6em; */
}

ol>li:before {
  content: counters(item, ".") ". ";
  display: table-cell;
  padding-right: 0.6em;
  word-break: initial;
}

li ol li:last-child {
  margin-bottom: 0;
}

li ol>li:before {
  content: counters(item, ".") " ";
}

li ol li ol>li:before {
  content: counters(item, ".") " ";
}

/* Border left gold */
.s-border-left__gold {
  margin-bottom: 20px;
  padding: 10px 0 15px 30px;
  position: relative;
}

.s-border-left__gold::before {
  border-radius: 20px;
  background-color: var(--gold-color);
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 7px;
  height: 100%;
}

/* Code blocks */
pre {
  overflow: auto;
}

code {
  background-color: #eee;
  display: block;
  padding: 1em;
  vertical-align: bottom;
}

/* Blockquotes */
blockquote {
  border-left: 4px solid;
  margin: 1rem 0;
  padding: 2rem;
  border-left-color: var(--secondary-color);
}

/* Horizontal rules */
hr {
  background-color: var(--primary-color);
  border: none;
  color: var(--primary-color);
  height: 1px;
  margin-bottom: 1.2em;
}

.s-text-color--white hr {
  background-color: var(--white-color);
  color: var(--white-color);
}

/* Image alt text */
img {
  font-size: 1em;
  word-break: normal;
}

.hs-search-field {
  margin-bottom: 2em;
  z-index: 10;
}

.hs-search-field__suggestions-container {
  padding: 1em 0;
  z-index: 10;
}

.hs-search-field--open .hs-search-field__suggestions, .inpage-editor-active-field .hs-search-field__suggestions {
  border: none;
}

/*********************
  RESPONSIVE STYLES
*********************/

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {}

/* X-Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {}

/* XX-Large devices (larger desktops, 1400px and up)*/
@media (min-width: 1400px) {}

/*  Objects
    Non-cosmetic design patterns including grid and layout classes)
*/
#l-main-content {
  /* overflow: hidden; */
}

.content-wrapper {
  margin: 0 auto;
  padding: 0 20px;
  max-width: var(--container-width);
}
.dnd-section{
  overflow-x: clip;
}

.dnd-section,
.content-wrapper--vertical-spacing {
  padding: var(--dnd-section-padding-mobile);
}

.dnd-section > .row-fluid {
  margin: 0 auto;
  max-width: var(--container-width);
}

.dnd-section .dnd-column {
  padding: 0;
}

@media (min-width: 768px) {
  .dnd-section,
  .content-wrapper--vertical-spacing {
    padding: var(--dnd-section-padding-tablet);
  }
}

@media (min-width: 992px) {
  .dnd-section,
  .content-wrapper--vertical-spacing {
    padding: var(--dnd-section-padding);
  }
}

@media screen and (min-width: 1380px) {
  .content-wrapper {
    padding: 0;
  }
}

@media (min-width: 1600px) {
  .content-wrapper {
    max-width: var(--container-width);
  }

  .dnd-section > .row-fluid {
    max-width: var(--container-width);
  }
}

@media (max-width: 767px) {
  .dnd-section .dnd-column {
    padding: 0;
  }
} 
.l-flex {
  display: flex;
}

.l-flex--inline {
  display: inline-flex;
}

/*******************************************
  Direction
*******************************************/
.l-flex--direction-row {
  flex-direction: row;
}

.l-flex--direction-row-reverse {
  flex-direction: row-reverse;
}

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

.l-flex--direction-column-reverse {
  flex-direction: column-reverse;
}

/*******************************************
  Wrap
*******************************************/
.l-flex--nowrap {
  flex-wrap: nowrap;
}

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

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

/*******************************************
  Justify Content
*******************************************/
.l-flex--justify-content-flex-start {
  justify-content: flex-start;
}

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

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

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

.l-flex--justify-content-space-around {
  justify-content: space-around;
}

.l-flex--justify-content-space-evenly {
  justify-content: space-evenly;
}

.l-flex--justify-content-start {
  justify-content: start;
}

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

.l-flex--justify-content-left {
  justify-content: left;
}

.l-flex--justify-content-right {
  justify-content: right;
}

/*******************************************
  Align Items
*******************************************/
.l-flex--align-items-stretch {
  align-items: stretch;
}

.l-flex--align-items-flex-start {
  align-items: flex-start;
}

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

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

.l-flex--align-items-baseline {
  align-items: baseline;
}

.l-flex--align-items-first-baseline {
  align-items: first baseline;
}

.l-flex--align-items-last-baseline {
  align-items: last baseline;
}

.l-flex--align-items-start {
  align-items: start;
}

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

.l-flex--align-items-self-start {
  align-items: self-start;
}

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

/*******************************************
  Align Content
*******************************************/
.l-flex--align-content-flex-start {
  align-content: flex-start;
}

.l-flex--align-content-flex-end {
  align-content: flex-end;
}

.l-flex--align-content-center {
  align-content: center;
}

.l-flex--align-content-space-between {
  align-content: space-between;
}

.l-flex--align-content-space-around {
  align-content: space-around;
}

.l-flex--align-content-space-evenly {
  align-content: space-evenly;
}

.l-flex--align-content-stretch {
  align-content: start;
}

.l-flex--align-content-start {
  align-content: start;
}

.l-flex--align-content-end {
  align-content: end;
}

.l-flex--align-content-baseline {
  align-content: baseline;
}

.l-flex--align-content-first-baseline {
  align-content: first baseline;
}

.l-flex--align-content-last-baseline {
  align-content: last baseline;
}

/*******************************************
  Align Self
*******************************************/
.l-flex--align-self-auto {
  align-self: auto;
}

.l-flex--align-self-flex-start {
  align-self: flex-start;
}

.l-flex--align-self-flex-end {
  align-self: flex-end;
}

.l-flex--align-self-center {
  align-self: center;
}

.l-flex--align-self-baseline {
  align-self: baseline;
}

.l-flex--align-self-stretch {
  align-self: stretch;
}


/*************************************************************
  RESPONSIVE STYLES
************************************************************/


/************************************************************
  Small devices (landscape phones, 576px and up)
  Class names should have --sm added to denote the media breakpoint
************************************************************/
@media (min-width: 576px) {
  /*******************************************
    Direction
  *******************************************/
  .l-flex--direction-row--sm {
    flex-direction: row;
  }

  .l-flex--direction-row-reverse--sm {
    flex-direction: row-reverse;
  }

  .l-flex--direction-column--sm {
    flex-direction: column;
  }

  .l-flex--direction-column-reverse--sm {
    flex-direction: column-reverse;
  }

  /*******************************************
    Wrap
  *******************************************/
  .l-flex--nowrap--sm {
    flex-wrap: nowrap;
  }

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

  .l-flex--wrap-reverse--sm {
    flex-wrap: wrap-reverse;
  }

  /*******************************************
    Justify Content
  *******************************************/
  .l-flex--justify-content-flex-start--sm {
    justify-content: flex-start;
  }

  .l-flex--justify-content-flex-end--sm {
    justify-content: flex-end;
  }

  .l-flex--justify-content-center--sm {
    justify-content: center;
  }

  .l-flex--justify-content-space-between--sm {
    justify-content: space-between;
  }

  .l-flex--justify-content-space-around--sm {
    justify-content: space-around;
  }

  .l-flex--justify-content-space-evenly--sm {
    justify-content: space-evenly;
  }

  .l-flex--justify-content-start--sm {
    justify-content: start;
  }

  .l-flex--justify-content-end--sm {
    justify-content: end;
  }

  .l-flex--justify-content-left--sm {
    justify-content: left;
  }

  .l-flex--justify-content-right--sm {
    justify-content: right;
  }

  /*******************************************
    Align Items
  *******************************************/
  .l-flex--align-items-stretch--sm {
    align-items: stretch;
  }

  .l-flex--align-items-flex-start--sm {
    align-items: flex-start;
  }

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

  .l-flex--align-items-center--sm {
    align-items: center;
  }

  .l-flex--align-items-baseline--sm {
    align-items: baseline;
  }

  .l-flex--align-items-first-baseline--sm {
    align-items: first baseline;
  }

  .l-flex--align-items-last-baseline--sm {
    align-items: last baseline;
  }

  .l-flex--align-items-start--sm {
    align-items: start;
  }

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

  .l-flex--align-items-self-start--sm {
    align-items: self-start;
  }

  .l-flex--align-items-self-end--sm {
    align-items: self-end;
  }

  /*******************************************
    Align Content
  *******************************************/
  .l-flex--align-content-flex-start--sm {
    align-content: flex-start;
  }

  .l-flex--align-content-flex-end--sm {
    align-content: flex-end;
  }

  .l-flex--align-content-center--sm {
    align-content: center;
  }

  .l-flex--align-content-space-between--sm {
    align-content: space-between;
  }

  .l-flex--align-content-space-around--sm {
    align-content: space-around;
  }

  .l-flex--align-content-space-evenly--sm {
    align-content: space-evenly;
  }

  .l-flex--align-content-stretch--sm {
    align-content: start;
  }

  .l-flex--align-content-start--sm {
    align-content: start;
  }

  .l-flex--align-content-end--sm {
    align-content: end;
  }

  .l-flex--align-content-baseline--sm {
    align-content: baseline;
  }

  .l-flex--align-content-first-baseline--sm {
    align-content: first baseline;
  }

  .l-flex--align-content-last-baseline--sm {
    align-content: last baseline;
  }

  /*******************************************
    Align Self
  *******************************************/
  .l-flex--align-self-auto--sm {
    align-self: auto;
  }

  .l-flex--align-self-flex-start--sm {
    align-self: flex-start;
  }

  .l-flex--align-self-flex-end--sm {
    align-self: flex-end;
  }

  .l-flex--align-self-center--sm {
    align-self: center;
  }

  .l-flex--align-self-baseline--sm {
    align-self: baseline;
  }

  .l-flex--align-self-stretch--sm {
    align-self: stretch;
  }
}


/************************************************************
  Medium devices (tablets, 768px and up)
  Class names should have --md added to denote the media breakpoint
************************************************************/
@media (min-width: 768px) {
  /*******************************************
    Direction
  *******************************************/
  .l-flex--direction-row--md {
    flex-direction: row;
  }

  .l-flex--direction-row-reverse--md {
    flex-direction: row-reverse;
  }

  .l-flex--direction-column--md {
    flex-direction: column;
  }

  .l-flex--direction-column-reverse--md {
    flex-direction: column-reverse;
  }

  /*******************************************
    Wrap
  *******************************************/
  .l-flex--nowrap--md {
    flex-wrap: nowrap;
  }

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

  .l-flex--wrap-reverse--md {
    flex-wrap: wrap-reverse;
  }

  /*******************************************
    Justify Content
  *******************************************/
  .l-flex--justify-content-flex-start--md {
    justify-content: flex-start;
  }

  .l-flex--justify-content-flex-end--md {
    justify-content: flex-end;
  }

  .l-flex--justify-content-center--md {
    justify-content: center;
  }

  .l-flex--justify-content-space-between--md {
    justify-content: space-between;
  }

  .l-flex--justify-content-space-around--md {
    justify-content: space-around;
  }

  .l-flex--justify-content-space-evenly--md {
    justify-content: space-evenly;
  }

  .l-flex--justify-content-start--md {
    justify-content: start;
  }

  .l-flex--justify-content-end--md {
    justify-content: end;
  }

  .l-flex--justify-content-left--md {
    justify-content: left;
  }

  .l-flex--justify-content-right--md {
    justify-content: right;
  }

  /*******************************************
    Align Items
  *******************************************/
  .l-flex--align-items-stretch--md {
    align-items: stretch;
  }

  .l-flex--align-items-flex-start--md {
    align-items: flex-start;
  }

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

  .l-flex--align-items-center--md {
    align-items: center;
  }

  .l-flex--align-items-baseline--md {
    align-items: baseline;
  }

  .l-flex--align-items-first-baseline--md {
    align-items: first baseline;
  }

  .l-flex--align-items-last-baseline--md {
    align-items: last baseline;
  }

  .l-flex--align-items-start--md {
    align-items: start;
  }

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

  .l-flex--align-items-self-start--md {
    align-items: self-start;
  }

  .l-flex--align-items-self-end--md {
    align-items: self-end;
  }

  /*******************************************
    Align Content
  *******************************************/
  .l-flex--align-content-flex-start--md {
    align-content: flex-start;
  }

  .l-flex--align-content-flex-end--md {
    align-content: flex-end;
  }

  .l-flex--align-content-center--md {
    align-content: center;
  }

  .l-flex--align-content-space-between--md {
    align-content: space-between;
  }

  .l-flex--align-content-space-around--md {
    align-content: space-around;
  }

  .l-flex--align-content-space-evenly--md {
    align-content: space-evenly;
  }

  .l-flex--align-content-stretch--md {
    align-content: start;
  }

  .l-flex--align-content-start--md {
    align-content: start;
  }

  .l-flex--align-content-end--md {
    align-content: end;
  }

  .l-flex--align-content-baseline--md {
    align-content: baseline;
  }

  .l-flex--align-content-first-baseline--md {
    align-content: first baseline;
  }

  .l-flex--align-content-last-baseline--md {
    align-content: last baseline;
  }

  /*******************************************
    Align Self
  *******************************************/
  .l-flex--align-self-auto--md {
    align-self: auto;
  }

  .l-flex--align-self-flex-start--md {
    align-self: flex-start;
  }

  .l-flex--align-self-flex-end--md {
    align-self: flex-end;
  }

  .l-flex--align-self-center--md {
    align-self: center;
  }

  .l-flex--align-self-baseline--md {
    align-self: baseline;
  }

  .l-flex--align-self-stretch--md {
    align-self: stretch;
  }
}


/************************************************************
  Large devices (desktops, 992px and up)
  Class names should have --lg added to denote the media breakpoint
************************************************************/
@media (min-width: 992px) {
  /*******************************************
    Direction
  *******************************************/
  .l-flex--direction-row--lg {
    flex-direction: row;
  }

  .l-flex--direction-row-reverse--lg {
    flex-direction: row-reverse;
  }

  .l-flex--direction-column--lg {
    flex-direction: column;
  }

  .l-flex--direction-column-reverse--lg {
    flex-direction: column-reverse;
  }

  /*******************************************
    Wrap
  *******************************************/
  .l-flex--nowrap--lg {
    flex-wrap: nowrap;
  }

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

  .l-flex--wrap-reverse--lg {
    flex-wrap: wrap-reverse;
  }

  /*******************************************
    Justify Content
  *******************************************/
  .l-flex--justify-content-flex-start--lg {
    justify-content: flex-start;
  }

  .l-flex--justify-content-flex-end--lg {
    justify-content: flex-end;
  }

  .l-flex--justify-content-center--lg {
    justify-content: center;
  }

  .l-flex--justify-content-space-between--lg {
    justify-content: space-between;
  }

  .l-flex--justify-content-space-around--lg {
    justify-content: space-around;
  }

  .l-flex--justify-content-space-evenly--lg {
    justify-content: space-evenly;
  }

  .l-flex--justify-content-start--lg {
    justify-content: start;
  }

  .l-flex--justify-content-end--lg {
    justify-content: end;
  }

  .l-flex--justify-content-left--lg {
    justify-content: left;
  }

  .l-flex--justify-content-right--lg {
    justify-content: right;
  }

  /*******************************************
    Align Items
  *******************************************/
  .l-flex--align-items-stretch--lg {
    align-items: stretch;
  }

  .l-flex--align-items-flex-start--lg {
    align-items: flex-start;
  }

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

  .l-flex--align-items-center--lg {
    align-items: center;
  }

  .l-flex--align-items-baseline--lg {
    align-items: baseline;
  }

  .l-flex--align-items-first-baseline--lg {
    align-items: first baseline;
  }

  .l-flex--align-items-last-baseline--lg {
    align-items: last baseline;
  }

  .l-flex--align-items-start--lg {
    align-items: start;
  }

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

  .l-flex--align-items-self-start--lg {
    align-items: self-start;
  }

  .l-flex--align-items-self-end--lg {
    align-items: self-end;
  }

  /*******************************************
    Align Content
  *******************************************/
  .l-flex--align-content-flex-start--lg {
    align-content: flex-start;
  }

  .l-flex--align-content-flex-end--lg {
    align-content: flex-end;
  }

  .l-flex--align-content-center--lg {
    align-content: center;
  }

  .l-flex--align-content-space-between--lg {
    align-content: space-between;
  }

  .l-flex--align-content-space-around--lg {
    align-content: space-around;
  }

  .l-flex--align-content-space-evenly--lg {
    align-content: space-evenly;
  }

  .l-flex--align-content-stretch--lg {
    align-content: start;
  }

  .l-flex--align-content-start--lg {
    align-content: start;
  }

  .l-flex--align-content-end--lg {
    align-content: end;
  }

  .l-flex--align-content-baseline--lg {
    align-content: baseline;
  }

  .l-flex--align-content-first-baseline--lg {
    align-content: first baseline;
  }

  .l-flex--align-content-last-baseline--lg {
    align-content: last baseline;
  }

  /*******************************************
    Align Self
  *******************************************/
  .l-flex--align-self-auto--lg {
    align-self: auto;
  }

  .l-flex--align-self-flex-start--lg {
    align-self: flex-start;
  }

  .l-flex--align-self-flex-end--lg {
    align-self: flex-end;
  }

  .l-flex--align-self-center--lg {
    align-self: center;
  }

  .l-flex--align-self-baseline--lg {
    align-self: baseline;
  }

  .l-flex--align-self-stretch--lg {
    align-self: stretch;
  }
}


/************************************************************
  X-Large devices (large desktops, 1200px and up)
  Class names should have --xl added to denote the media breakpoint
************************************************************/
@media (min-width: 1200px) {
  /*******************************************
    Direction
  *******************************************/
  .l-flex--direction-row--xl {
    flex-direction: row;
  }

  .l-flex--direction-row-reverse--xl {
    flex-direction: row-reverse;
  }

  .l-flex--direction-column--xl {
    flex-direction: column;
  }

  .l-flex--direction-column-reverse--xl {
    flex-direction: column-reverse;
  }

  /*******************************************
    Wrap
  *******************************************/
  .l-flex--nowrap--xl {
    flex-wrap: nowrap;
  }

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

  .l-flex--wrap-reverse--xl {
    flex-wrap: wrap-reverse;
  }

  /*******************************************
    Justify Content
  *******************************************/
  .l-flex--justify-content-flex-start--xl {
    justify-content: flex-start;
  }

  .l-flex--justify-content-flex-end--xl {
    justify-content: flex-end;
  }

  .l-flex--justify-content-center--xl {
    justify-content: center;
  }

  .l-flex--justify-content-space-between--xl {
    justify-content: space-between;
  }

  .l-flex--justify-content-space-around--xl {
    justify-content: space-around;
  }

  .l-flex--justify-content-space-evenly--xl {
    justify-content: space-evenly;
  }

  .l-flex--justify-content-start--xl {
    justify-content: start;
  }

  .l-flex--justify-content-end--xl {
    justify-content: end;
  }

  .l-flex--justify-content-left--xl {
    justify-content: left;
  }

  .l-flex--justify-content-right--xl {
    justify-content: right;
  }

  /*******************************************
    Align Items
  *******************************************/
  .l-flex--align-items-stretch--xl {
    align-items: stretch;
  }

  .l-flex--align-items-flex-start--xl {
    align-items: flex-start;
  }

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

  .l-flex--align-items-center--xl {
    align-items: center;
  }

  .l-flex--align-items-baseline--xl {
    align-items: baseline;
  }

  .l-flex--align-items-first-baseline--xl {
    align-items: first baseline;
  }

  .l-flex--align-items-last-baseline--xl {
    align-items: last baseline;
  }

  .l-flex--align-items-start--xl {
    align-items: start;
  }

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

  .l-flex--align-items-self-start--xl {
    align-items: self-start;
  }

  .l-flex--align-items-self-end--xl {
    align-items: self-end;
  }

  /*******************************************
    Align Content
  *******************************************/
  .l-flex--align-content-flex-start--xl {
    align-content: flex-start;
  }

  .l-flex--align-content-flex-end--xl {
    align-content: flex-end;
  }

  .l-flex--align-content-center--xl {
    align-content: center;
  }

  .l-flex--align-content-space-between--xl {
    align-content: space-between;
  }

  .l-flex--align-content-space-around--xl {
    align-content: space-around;
  }

  .l-flex--align-content-space-evenly--xl {
    align-content: space-evenly;
  }

  .l-flex--align-content-stretch--xl {
    align-content: start;
  }

  .l-flex--align-content-start--xl {
    align-content: start;
  }

  .l-flex--align-content-end--xl {
    align-content: end;
  }

  .l-flex--align-content-baseline--xl {
    align-content: baseline;
  }

  .l-flex--align-content-first-baseline--xl {
    align-content: first baseline;
  }

  .l-flex--align-content-last-baseline--xl {
    align-content: last baseline;
  }

  /*******************************************
    Align Self
  *******************************************/
  .l-flex--align-self-auto--xl {
    align-self: auto;
  }

  .l-flex--align-self-flex-start--xl {
    align-self: flex-start;
  }

  .l-flex--align-self-flex-end--xl {
    align-self: flex-end;
  }

  .l-flex--align-self-center--xl {
    align-self: center;
  }

  .l-flex--align-self-baseline--xl {
    align-self: baseline;
  }

  .l-flex--align-self-stretch--xl {
    align-self: stretch;
  }
}


/************************************************************
  XX-Large devices (larger desktops, 1400px and up)
  Class names should have --xxl added to denote the media breakpoint
************************************************************/
@media (min-width: 1400px) {
  /*******************************************
    Direction
  *******************************************/
  .l-flex--direction-row--xxl {
    flex-direction: row;
  }

  .l-flex--direction-row-reverse--xxl {
    flex-direction: row-reverse;
  }

  .l-flex--direction-column--xxl {
    flex-direction: column;
  }

  .l-flex--direction-column-reverse--xxl {
    flex-direction: column-reverse;
  }

  /*******************************************
    Wrap
  *******************************************/
  .l-flex--nowrap--xxl {
    flex-wrap: nowrap;
  }

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

  .l-flex--wrap-reverse--xxl {
    flex-wrap: wrap-reverse;
  }

  /*******************************************
    Justify Content
  *******************************************/
  .l-flex--justify-content-flex-start--xxl {
    justify-content: flex-start;
  }

  .l-flex--justify-content-flex-end--xxl {
    justify-content: flex-end;
  }

  .l-flex--justify-content-center--xxl {
    justify-content: center;
  }

  .l-flex--justify-content-space-between--xxl {
    justify-content: space-between;
  }

  .l-flex--justify-content-space-around--xxl {
    justify-content: space-around;
  }

  .l-flex--justify-content-space-evenly--xxl {
    justify-content: space-evenly;
  }

  .l-flex--justify-content-start--xxl {
    justify-content: start;
  }

  .l-flex--justify-content-end--xxl {
    justify-content: end;
  }

  .l-flex--justify-content-left--xxl {
    justify-content: left;
  }

  .l-flex--justify-content-right--xxl {
    justify-content: right;
  }

  /*******************************************
    Align Items
  *******************************************/
  .l-flex--align-items-stretch--xxl {
    align-items: stretch;
  }

  .l-flex--align-items-flex-start--xxl {
    align-items: flex-start;
  }

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

  .l-flex--align-items-center--xxl {
    align-items: center;
  }

  .l-flex--align-items-baseline--xxl {
    align-items: baseline;
  }

  .l-flex--align-items-first-baseline--xxl {
    align-items: first baseline;
  }

  .l-flex--align-items-last-baseline--xxl {
    align-items: last baseline;
  }

  .l-flex--align-items-start--xxl {
    align-items: start;
  }

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

  .l-flex--align-items-self-start--xxl {
    align-items: self-start;
  }

  .l-flex--align-items-self-end--xxl {
    align-items: self-end;
  }

  /*******************************************
    Align Content
  *******************************************/
  .l-flex--align-content-flex-start--xxl {
    align-content: flex-start;
  }

  .l-flex--align-content-flex-end--xxl {
    align-content: flex-end;
  }

  .l-flex--align-content-center--xxl {
    align-content: center;
  }

  .l-flex--align-content-space-between--xxl {
    align-content: space-between;
  }

  .l-flex--align-content-space-around--xxl {
    align-content: space-around;
  }

  .l-flex--align-content-space-evenly--xxl {
    align-content: space-evenly;
  }

  .l-flex--align-content-stretch--xxl {
    align-content: start;
  }

  .l-flex--align-content-start--xxl {
    align-content: start;
  }

  .l-flex--align-content-end--xxl {
    align-content: end;
  }

  .l-flex--align-content-baseline--xxl {
    align-content: baseline;
  }

  .l-flex--align-content-first-baseline--xxl {
    align-content: first baseline;
  }

  .l-flex--align-content-last-baseline--xxl {
    align-content: last baseline;
  }

  /*******************************************
    Align Self
  *******************************************/
  .l-flex--align-self-auto--xxl {
    align-self: auto;
  }

  .l-flex--align-self-flex-start--xxl {
    align-self: flex-start;
  }

  .l-flex--align-self-flex-end--xxl {
    align-self: flex-end;
  }

  .l-flex--align-self-center--xxl {
    align-self: center;
  }

  .l-flex--align-self-baseline--xxl {
    align-self: baseline;
  }

  .l-flex--align-self-stretch--xxl {
    align-self: stretch;
  }
}

.body-wrapper {}

.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: 2.127659574%;
    *margin-left: 2.0744680846382977%;
    -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%;
    *width: 99.94680850063828%;
}

.row-fluid .span11 {
    width: 91.489361693%;
    *width: 91.4361702036383%;
}

.row-fluid .span10 {
    width: 82.97872339599999%;
    *width: 82.92553190663828%;
}

.row-fluid .span9 {
    width: 74.468085099%;
    *width: 74.4148936096383%;
}

.row-fluid .span8 {
    width: 65.95744680199999%;
    *width: 65.90425531263828%;
}

.row-fluid .span7 {
    width: 57.446808505%;
    *width: 57.3936170156383%;
}

.row-fluid .span6 {
    width: 48.93617020799999%;
    *width: 48.88297871863829%;
}

.row-fluid .span5 {
    width: 40.425531911%;
    *width: 40.3723404216383%;
}

.row-fluid .span4 {
    width: 31.914893614%;
    *width: 31.8617021246383%;
}

.row-fluid .span3 {
    width: 23.404255317%;
    *width: 23.3510638276383%;
}

.row-fluid .span2 {
    width: 14.89361702%;
    *width: 14.8404255306383%;
}

.row-fluid .span1 {
    width: 6.382978723%;
    *width: 6.329787233638298%;
}

.container-fluid {
    *zoom: 1;
}

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

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

@media (max-width: 767px) {
    .row-fluid {
        width: 100%;
    }

    .row-fluid [class*="span"] {
        display: block;
        float: none;
        width: auto;
        margin-left: 0;
    }
}

@media (min-width: 768px) and (max-width: 1139px) {
    .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: 2.762430939%;
        *margin-left: 2.709239449638298%;
        -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%;
        *width: 99.9468085036383%;
    }

    .row-fluid .span11 {
        width: 91.436464082%;
        *width: 91.38327259263829%;
    }

    .row-fluid .span10 {
        width: 82.87292817100001%;
        *width: 82.8197366816383%;
    }

    .row-fluid .span9 {
        width: 74.30939226%;
        *width: 74.25620077063829%;
    }

    .row-fluid .span8 {
        width: 65.74585634900001%;
        *width: 65.6926648596383%;
    }

    .row-fluid .span7 {
        width: 57.182320438000005%;
        *width: 57.129128948638304%;
    }

    .row-fluid .span6 {
        width: 48.618784527%;
        *width: 48.5655930376383%;
    }

    .row-fluid .span5 {
        width: 40.055248616%;
        *width: 40.0020571266383%;
    }

    .row-fluid .span4 {
        width: 31.491712705%;
        *width: 31.4385212156383%;
    }

    .row-fluid .span3 {
        width: 22.928176794%;
        *width: 22.874985304638297%;
    }

    .row-fluid .span2 {
        width: 14.364640883%;
        *width: 14.311449393638298%;
    }

    .row-fluid .span1 {
        width: 5.801104972%;
        *width: 5.747913482638298%;
    }
}

@media (min-width: 1200px) {
    .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: 2.564102564%;
        *margin-left: 2.510911074638298%;
        -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%;
        *width: 99.94680851063829%;
    }

    .row-fluid .span11 {
        width: 91.45299145300001%;
        *width: 91.3997999636383%;
    }

    .row-fluid .span10 {
        width: 82.905982906%;
        *width: 82.8527914166383%;
    }

    .row-fluid .span9 {
        width: 74.358974359%;
        *width: 74.30578286963829%;
    }

    .row-fluid .span8 {
        width: 65.81196581200001%;
        *width: 65.7587743226383%;
    }

    .row-fluid .span7 {
        width: 57.264957265%;
        *width: 57.2117657756383%;
    }

    .row-fluid .span6 {
        width: 48.717948718%;
        *width: 48.6647572286383%;
    }

    .row-fluid .span5 {
        width: 40.170940171000005%;
        *width: 40.117748681638304%;
    }

    .row-fluid .span4 {
        width: 31.623931624%;
        *width: 31.5707401346383%;
    }

    .row-fluid .span3 {
        width: 23.076923077%;
        *width: 23.0237315876383%;
    }

    .row-fluid .span2 {
        width: 14.529914530000001%;
        *width: 14.4767230406383%;
    }

    .row-fluid .span1 {
        width: 5.982905983%;
        *width: 5.929714493638298%;
    }
}

/* Clearfix */

.clearfix {
    *zoom: 1;
}

.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: 1180px) {
    .visible-tablet {
        display: inherit !important;
    }

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

    .hidden-desktop {
        display: inherit !important;
    }

    .visible-desktop {
        display: none !important ;
    }
}


/* NEW STYLES IN NEW FORMAT */
.l-position-relative {
    position: relative;
}

.l-full-height-section {
    min-height: calc(100vh - var(--header-height-mobile));
}

@media (min-width: 768px) {
    .l-full-height-section {
        min-height: calc(100vh - var(--header-height-tablet));
    }
}

@media (min-width: 1200px) {
    .l-full-height-section {
        min-height: calc(100vh - var(--header-height-desktop));
    }
}

@media (max-width: 767px) {
  .reverse-row-order > .row-fluid {
    display: flex;
    flex-direction: row-reverse !important;
  }
  
  .stack > .row-fluid {
    align-items: flex-start !important;
    flex-direction: column !important;
    flex-wrap: wrap; 
  }

  .stack > .row-fluid [class*="span"] {
    width: 100% !important;
  }

  .stack > .row-fluid .dnd-column {
    margin: 1em 0 !important;
    width: 100% !important;
  }

  .stack > .row-fluid .dnd-column:last-child {
    margin: 0 !important;
  }

  .no-stack .row-fluid {
    display: flex !important;
    align-items: center !important;
  }

  .reverse-row-order.stack > .row-fluid .dnd-column:first-child {
    margin: 0 !important;
  }
  
  .reverse-row-order.stack > .row-fluid {
    align-items: flex-start !important;
    display: flex;
    flex-direction: column-reverse !important;
  }

}

/*  Tools
    Any animations, or functions used throughout the theme
    Note: _macros.hubl.css needs to be imported into each stylesheet where macros are used and not included here
    Note: _variables.hubl.css can be ignored, it's already included at the top of this file
*/
/* 
  Animation Styles 
*/
.reveal {
  opacity: 0;
}

.reveal {
  animation-fill-mode: forwards !important;
  opacity: 0;
  visibility: hidden;
  -webkit-animation-fill-mode: forwards !important;
}

:-webkit-full-screen-ancestor .reveal {
  animation-fill-mode: none !important;
}

.fade-in {
  animation: 1s ease fadeIn;
}

.fade-up {
  animation: 1s ease fadeUp;
}

.fade-down {
  animation: 1s ease fadeDown;
}

.fade-right {
  animation: 1s ease fadeRight;
}

.fade-left {
  animation: 1s ease fadeLeft;
}

.expand-left {
  animation: 1s ease expandLeft;
}

.expand-right {
  animation: 1s ease expandRight;
}

.bubble-up {
  animation: 1s ease bubbleUp;
}

.bubble-down {
  animation: 1s ease bubbleDown;
}

.bubble-left {
  animation: 1s ease bubbleLeft;
}

.bubble-right {
  animation: 1s ease bubbleRight;
}

.zoom-in {
  animation: 1s ease zoomIn;
}

.zoom-out {
  animation: 1s ease zoomOut;
}

/* 
  Keyframes 
*/

/* Fade In */
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* Fade Up */
@-webkit-keyframes fadeUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(50px);
    transform: translateY(50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes fadeUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(50px);
    transform: translateY(50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

/* Fade Down */
@-webkit-keyframes fadeDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-50px);
    transform: translateY(-50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes fadeDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-50px);
    transform: translateY(-50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

/* Fade Right */
@-webkit-keyframes fadeRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-50px);
    transform: translateX(-50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@keyframes fadeRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-50px);
    transform: translateX(-50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

/* Fade Left */
@-webkit-keyframes fadeLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(50px);
    transform: translateX(50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@keyframes fadeLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(50px);
    transform: translateX(50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

/* Expand Left */
@-webkit-keyframes expandLeft {
  0% {
    opacity: 0;
    -webkit-transform: scale(.2,1);
    transform: scale(.2,1);
    -webkit-transform-origin: right;
    transform-origin: right;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1,1);
    transform: scale(1,1);
    -webkit-transform-origin: right;
    transform-origin: right;
  }
}
@keyframes expandLeft {
  0% {
    opacity: 0;
    -webkit-transform: scale(.2,1);
    transform: scale(.2,1);
    -webkit-transform-origin: right;
    transform-origin: right;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1,1);
    transform: scale(1,1);
    -webkit-transform-origin: right;
    transform-origin: right;
  }
}

/* Expand Right */
@-webkit-keyframes expandRight {
  0% {
    opacity: 0;
    -webkit-transform: scale(.2,1);
    transform: scale(.2,1);
    -webkit-transform-origin: left;
    transform-origin: left;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1,1);
    transform: scale(1,1);
    -webkit-transform-origin: left;
    transform-origin: left;
  }
}
@keyframes expandRight {
  0% {
    opacity: 0;
    -webkit-transform: scale(.2,1);
    transform: scale(.2,1);
    -webkit-transform-origin: left;
    transform-origin: left;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1,1);
    transform: scale(1,1);
    -webkit-transform-origin: left;
    transform-origin: left;
  }
}

/* Bubble Up */
@-webkit-keyframes bubbleUp {
  0% {
    opacity: 0;
    -webkit-transform: scale(.2, .2) translateY(10px);
    transform: scale(.2, .2) translateY(10px);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
  60% {
    -webkit-transform: scale(1.2, 1.2) translateY(-5px);
    transform: scale(1.2, 1.2) translateY(-5px);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1,1) translateY(0);
    transform: scale(1,1) translateY(0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
}
@keyframes bubbleUp {
  0% {
    opacity: 0;
    -webkit-transform: scale(.2, .2) translateY(10px);
    transform: scale(.2, .2) translateY(10px);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
  60% {
    -webkit-transform: scale(1.2, 1.2) translateY(-5px);
    transform: scale(1.2, 1.2) translateY(-5px);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1,1) translateY(0);
    transform: scale(1,1) translateY(0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
}

/* Bubble Down */
@-webkit-keyframes bubbleDown {
  0% {
    opacity: 0;
    -webkit-transform: scale(.2, .2) translateY(-10px);
    transform: scale(.2, .2) translateY(-10px);
    -webkit-transform-origin: center top;
    transform-origin: center top;
  }
  60% {
    -webkit-transform: scale(1.2, 1.2) translateY(5px);
    transform: scale(1.2, 1.2) translateY(5px);
    -webkit-transform-origin: center top;
    transform-origin: center top;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1,1) translateY(0);
    transform: scale(1,1) translateY(0);
    -webkit-transform-origin: center top;
    transform-origin: center top;
  }
}
@keyframes bubbleDown {
  0% {
    opacity: 0;
    -webkit-transform: scale(.2, .2) translateY(-10px);
    transform: scale(.2, .2) translateY(-10px);
    -webkit-transform-origin: center top;
    transform-origin: center top;
  }
  60% {
    -webkit-transform: scale(1.2, 1.2) translateY(5px);
    transform: scale(1.2, 1.2) translateY(5px);
    -webkit-transform-origin: center top;
    transform-origin: center top;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1,1) translateY(0);
    transform: scale(1,1) translateY(0);
    -webkit-transform-origin: center top;
    transform-origin: center top;
  }
}

/* Bubble Left */
@-webkit-keyframes bubbleLeft {
  0% {
    opacity: 0;
    -webkit-transform: scale(.2, .2) translateX(10px);
    transform: scale(.2, .2) translateX(10px);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
  60% {
    -webkit-transform: scale(1.2, 1.2) translateX(-5px);
    transform: scale(1.2, 1.2) translateX(-5px);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1,1) translateY(0);
    transform: scale(1,1) translateY(0);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
}
@keyframes bubbleLeft {
  0% {
    opacity: 0;
    -webkit-transform: scale(.2, .2) translateX(10px);
    transform: scale(.2, .2) translateX(10px);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
  60% {
    -webkit-transform: scale(1.2, 1.2) translateX(-5px);
    transform: scale(1.2, 1.2) translateX(-5px);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1,1) translateY(0);
    transform: scale(1,1) translateY(0);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
}

/* Bubble Right */
@-webkit-keyframes bubbleRight {
  0% {
    opacity: 0;
    -webkit-transform: scale(.2, .2) translateX(-10px);
    transform: scale(.2, .2) translateX(-10px);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
  60% {
    -webkit-transform: scale(1.2, 1.2) translateX(5px);
    transform: scale(1.2, 1.2) translateX(5px);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1,1) translateY(0);
    transform: scale(1,1) translateY(0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
}
@keyframes bubbleRight {
  0% {
    opacity: 0;
    -webkit-transform: scale(.2, .2) translateX(-10px);
    transform: scale(.2, .2) translateX(-10px);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
  60% {
    -webkit-transform: scale(1.2, 1.2) translateX(5px);
    transform: scale(1.2, 1.2) translateX(5px);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1,1) translateY(0);
    transform: scale(1,1) translateY(0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
}

/* Zoom In */
@-webkit-keyframes zoomIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(.5,.5);
    transform: scale(.5,.5);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1,1);
    transform: scale(1,1);
  }
}
@keyframes zoomIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(.5,.5);
    transform: scale(.5,.5);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1,1);
    transform: scale(1,1);
  }
}

/* Zoom Out */
@-webkit-keyframes zoomOut {
  0% {
    opacity: 0;
    -webkit-transform: scale(1,1);
    transform: scale(1,1);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(.5,.5);
    transform: scale(.5,.5);
  }
}
@keyframes zoomOut {
  0% {
    opacity: 0;
    -webkit-transform: scale(1,1);
    transform: scale(1,1);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(.5,.5);
    transform: scale(.5,.5);
  }
}

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

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

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

.s-padding--bottom-0 {
  padding-bottom: 0;
}

.s-padding--top-0 {
  padding-top: 0;
}
