/* Theme base styles */

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



:root {
  --primary-color: #1476b7;
  --secondary-color: #151515;
  --tertiary-color: #E1C231;
  --neutral-color: #f1f1f1;
  --black-color: #1a1a1a;
  --white-color: #f9fafb;
}

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

*, *:before, *:after {
  box-sizing: border-box;
}
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

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

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

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

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

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

body {
  margin: 0;
}

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

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

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

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

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

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

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

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

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

b,
strong {
  font-weight: bolder;
}

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

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

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

small {
  font-size: 0.875rem;
}

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

legend {
  padding: 0;
}

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

progress {
  vertical-align: baseline;
}

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

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

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

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

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

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

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

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

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

/*
 * Add the correct display in Edge and Firefox.
 */

details {
  display: block;
}

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

summary {
  display: list-item;
}

/* Other (Custom)
 ========================================================================== */

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

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



/* CSS variables */

:root {
  --column-gap: 2.13%;
  --column-width-multiplier: 8.333;
}

/* Mobile layout */

.row-fluid {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}


  .row-fluid .span1,
  .row-fluid .span2,
  .row-fluid .span3,
  .row-fluid .span4,
  .row-fluid .span5,
  .row-fluid .span6,
  .row-fluid .span7,
  .row-fluid .span8,
  .row-fluid .span9,
  .row-fluid .span10,
  .row-fluid .span11,
  .row-fluid .span12{
  min-height: 1px;
  width: 100%;
}

/* Desktop layout */

@media (min-width: 768px) {
  .row-fluid {
    flex-wrap: nowrap;
    justify-content: space-between;
  }

  
    .row-fluid .span1 {
      width: calc(var(--column-width-multiplier) * 1% * 1 - var(--column-gap) * (11 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span2 {
      width: calc(var(--column-width-multiplier) * 1% * 2 - var(--column-gap) * (10 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span3 {
      width: calc(var(--column-width-multiplier) * 1% * 3 - var(--column-gap) * (9 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span4 {
      width: calc(var(--column-width-multiplier) * 1% * 4 - var(--column-gap) * (8 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span5 {
      width: calc(var(--column-width-multiplier) * 1% * 5 - var(--column-gap) * (7 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span6 {
      width: calc(var(--column-width-multiplier) * 1% * 6 - var(--column-gap) * (6 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span7 {
      width: calc(var(--column-width-multiplier) * 1% * 7 - var(--column-gap) * (5 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span8 {
      width: calc(var(--column-width-multiplier) * 1% * 8 - var(--column-gap) * (4 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span9 {
      width: calc(var(--column-width-multiplier) * 1% * 9 - var(--column-gap) * (3 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span10 {
      width: calc(var(--column-width-multiplier) * 1% * 10 - var(--column-gap) * (2 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span11 {
      width: calc(var(--column-width-multiplier) * 1% * 11 - var(--column-gap) * (1 * var(--column-width-multiplier) / 100));
    }
  
}
.content-wrapper,
.content-wrapper-sm {
  margin: 0 auto;
  padding: 0 1rem;
  width: 100%;
}

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

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

.dnd-section .dnd-column {
  border-radius: 0.5rem;
  padding: 0;
}

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

/* The overflow-wrap is meant to prevent long/large words from breaking the mobile responsiveness of a page (e.g. horizontal scrolling). It is preferred to reduce font sizes on mobile to address this, with this CSS specifically helping with extreme scenarios where a reduction in font size is not possible. */

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

/* Handles word breaking for a few specific languages which handle breaks in words differently. If your content is not translated into these languages, you can safely remove this.  */

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

/* Paragraphs */

p {
  font-size: 1rem;
  margin: 0 0 1.5rem;
}

/* Anchors */

a {
  cursor: pointer;
  text-underline-offset: 4px;
}

a[data-hs-anchor="true"] {
  scroll-margin-top: calc(68px + 2rem); /* header height */
}

/* Headings */

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 0 1.5rem;
}

/* Eyebrow */

.eyebrow {
  font-size: 0.875rem;
  font-weight: 600;
  margin-bottom: 1rem;
}

.eyebrow a,
.eyebrow a:hover,
.eyebrow a:focus,
.eyebrow a:active {
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
}

/* Eyebrow - Pill */

.eyebrow-pill {
  border-radius: 1rem;
  border-style: solid;
  border-width: 1px;
  display: inline-block;
  font-size: 0.875rem;
  font-weight: 500;
  margin-bottom: 1rem;
  padding: 0.25rem 0.75rem;
}

.eyebrow-pill a,
.eyebrow-pill a:hover,
.eyebrow-pill a:focus,
.eyebrow-pill a:active {
  border-radius: 1rem;
  border-style: solid;
  border-width: 1px;
  display: inline-block;
  font-size: 0.875rem;
  font-weight: 500;
  margin-bottom: 1rem;
  padding: 0.25rem 0.75rem;
}

/* Styles - Pill Primary Light */

.pill--primary-light,
.pill--primary-light a,
.pill--primary-light a:hover,
.pill--primary-light a:focus,
.pill--primary-light a:active{
  background-color: #E9F4FC;
  border-color: #B3DAF4;
  color: #105B8D;
}

/* Display Text */

.display-text,
.display-text div,
.display-text p:not(.eyebrow) {
  font-size: 1.25rem;
}

@media (min-width: 993px) {
  .display-text,
  .display-text div,
  .display-text p:not(.eyebrow) {
    font-size: 1.75rem;
  }
}

/* Small */

small,
.small {
  font-size: 0.875rem;
}

/* Lists */

ul,
ol {
  margin: 0 0 1.5rem;
}

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

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

/* Checkmarks */

.checkmark-list ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.checkmark-list ul li {
  position: relative;
  padding-left: 2rem;
}

.checkmark-list ul li::before {
  content: "";
  display: block;
  background: url("data:image/svg+xml,%3Csvg height='20' viewBox='0 -65 434.67733 434' width='20' xmlns='http://www.w3.org/2000/svg' id='fi_1828754'%3E%3Cpath d='m152.003906 304.34375c-5.460937 0-10.921875-2.089844-15.082031-6.25l-130.664063-130.667969c-8.34375-8.339843-8.34375-21.824219 0-30.164062 8.339844-8.339844 21.820313-8.339844 30.164063 0l115.582031 115.582031 246.253906-246.25c8.339844-8.339844 21.820313-8.339844 30.164063 0 8.339844 8.34375 8.339844 21.824219 0 30.167969l-261.332031 261.332031c-4.160156 4.160156-9.625 6.25-15.085938 6.25zm0 0'%3E%3C/path%3E%3C/svg%3E") no-repeat center;
  background-size: contain;
  width: 20px;
  height: 20px;
  position: absolute;
  left: 0;
  top: 2px;
}

/* Blue Circle Checkmarks */

.blue-circle-checkmark-list ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.blue-circle-checkmark-list ul li {
  position: relative;
  padding-left: 2rem;
}

.blue-circle-checkmark-list ul li::before {
  content: "";
  display: block;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' x='0' y='0' viewBox='0 0 408.576 408.576' style='enable-background:new 0 0 512 512' xml:space='preserve'%3E%3Cg%3E%3Cpath d='M204.288 0C91.648 0 0 91.648 0 204.288s91.648 204.288 204.288 204.288 204.288-91.648 204.288-204.288S316.928 0 204.288 0zm114.176 150.528-130.56 129.536c-7.68 7.68-19.968 8.192-28.16.512L90.624 217.6c-8.192-7.68-8.704-20.48-1.536-28.672 7.68-8.192 20.48-8.704 28.672-1.024l54.784 50.176L289.28 121.344c8.192-8.192 20.992-8.192 29.184 0s8.192 20.992 0 29.184z' fill='%231476b7' opacity='1' data-original='%23000000'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");
  background-size: contain;
  width: 20px;
  height: 20px;
  position: absolute;
  left: 0;
  top: 2px;
}

/* Custom List */

ul.u-list--custom,
.u-list--custom ul {
  list-style: none;
  padding: 0;
  padding-left: 2rem;
  margin: 0;
}

.u-list--custom li {
  margin-bottom: 1rem;
  position: relative;  
}

.u-list--custom li:before {
  height: 1.25rem;
  left: -2rem;
  position: absolute;
  top: 0;
  width: 1.25rem;
}

/* Custom List - Checkmark (Blue Border) */

.u-list--custom.u-list--checkmark-blue-border li:before {
  content: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.84101 19.5893C4.57502 19.5893 0.291016 15.3053 0.291016 10.0383C0.291016 4.77228 4.57502 0.488281 9.84101 0.488281C15.107 0.488281 19.392 4.77228 19.392 10.0383C19.392 15.3053 15.107 19.5893 9.84101 19.5893ZM9.84101 2.22427C5.53202 2.22427 2.02702 5.72928 2.02702 10.0383C2.02702 14.3473 5.53202 17.8533 9.84101 17.8533C14.15 17.8533 17.655 14.3473 17.655 10.0383C17.655 5.72928 14.15 2.22427 9.84101 2.22427ZM8.53902 13.5113C8.31702 13.5113 8.09502 13.4273 7.92501 13.2573L5.32001 10.6523C4.98102 10.3133 4.98102 9.76428 5.32001 9.42526C5.65902 9.08527 6.20901 9.08527 6.54802 9.42526L8.53902 11.4153L13.134 6.82028C13.474 6.48126 14.023 6.48126 14.362 6.82028C14.701 7.15927 14.701 7.70828 14.362 8.04828L9.15302 13.2573C8.98302 13.4273 8.76102 13.5113 8.53902 13.5113Z' fill='%230065AA'/%3E%3C/svg%3E%0A");
}

/* Code blocks */

pre {
  overflow: auto;
}

code {
  vertical-align: middle;
}

/* Blockquotes */

blockquote {
  border-left: 0.5rem solid;
  margin: 0 0 2rem;
  padding-left: 1rem;
}

blockquote, 
blockquote * {
  font-size: 2rem;
  font-weight: bold;
}

blockquote em,
blockquote i {
  font-style: italic !important;
}

/* Horizontal rules */

hr {
  border: none;
  border-bottom: 1px solid #CCC;
}

/* Image alt text */

img {
  font-size: 0.583rem;
  word-break: normal;
}
button,
.button,
.hs-button {
  cursor: pointer;
  display: inline-block;
  text-align: center;
  transition: all 0.15s linear;
  white-space: normal;
}

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

/* Full width buttons on mobile */

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

  button, 
  .button, 
  .hs-button {
    width: 100%;
  }

  .button--tertiary {
    width: auto;
  }
}

/* No button */

.no-button,
.no-button:hover,
.no-button:focus,
.no-button:active {
  background: none;
  border: none;
  border-radius: 0;
  color: initial;
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  margin-bottom: 0;
  padding: 0;
  text-align: left;
  text-decoration: none;
  text-transform: initial;
  transition: none;
}

@media (max-width: 767px) {
  .no-button,
  .no-button:hover,
  .no-button:focus,
  .no-button:active {
    width: auto;
  }
}
/* Fields */

.hs-form-field {
  margin-bottom: 1.5rem;
}

/* Labels */

form label {
  display: block;
  font-size: 0.75rem;
  margin-bottom: 0.75rem;
}

/* Form Title */

.form-title {
  margin-bottom: 2rem;
}

/* Help text */

form legend {
  font-size: 0.875rem;
}

/* Inputs */

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

form input[type=text],
form input[type=search],
form input[type=email],
form input[type=password],
form input[type=tel],
form input[type=number],
form input[type=file],
form select,
form textarea {
  display: inline-block;
  font-size: 1.125rem;
  padding: 0.75rem;
  width: 100% !important;
}

form textarea {
  resize: vertical;
}

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

.input {
  padding-right: 0;
}

@media (min-width: 768px) {
  .hs-form-field:not(:last-child) .input {
    padding-right: 1.25rem;
  }
}

/* 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: 0.35rem;
}

/* Inputs - date picker */

.hs-dateinput {
  position: relative;
}

.hs-dateinput:before {
  content:'\01F4C5';
  position: absolute;
  right: 1rem;
  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;
}

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

/* Inputs - file picker */

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

/* Inputs - select */

form select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none; 
}

/* Headings and text */

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

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

/* GDPR */

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

/* Validation */

.hs-form-required {
  color: #EF6B51;
}

.hs-input.invalid.error {
  border-color: #EF6B51;
}

.hs-error-msg {
  color: #EF6B51;
  margin-top: 0.35rem;
}

/* Submit button */

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

/* Captcha */

.grecaptcha-badge {
  margin: 0 auto;
}


/* Table */

table {
  border-collapse: collapse;
  margin-bottom: 1.4rem;
  overflow-wrap: break-word;
}

/* Table cells */

td,
th {
  vertical-align: top;
}

/* Table header */

thead th {
  vertical-align: bottom;
}

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

.header {
  height: 68px; /* header height */
}

.header__inner {
  align-items: center;
  display: flex;
  min-height: 4.25rem;
  position: fixed;
  width: 100%;
  z-index: 9990;
}

/* Header DND Sections */

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

/* Header Container */

.header__container {
  display: flex;
  justify-content: space-between;
}

/* Navigation Skipper */

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

.header__skip:hover,
.header__skip:focus,
.header__skip:active {
  height: auto;
  left: 0;
  overflow: visible;
  top: 0;
  width: auto;
}

/* Logo */

.header__logo {
  align-items: center;
  display: flex;
  height: auto;
  max-width: 200px;
  overflow: hidden;
}

.header__logo a {
  display: flex;
}

@media (min-width: 993px) {
  .header__logo {
    padding-right: 1rem;
  }
}

/* Navigation */

@media (max-width: 992px) {
  .header__navigation {
    height: 0;
    left: 0;
    opacity: 0;
    overflow-y: scroll;
    padding-bottom: 5rem;
    position: absolute;
    transform: scale(1, 0.95);
    transform-origin: center top;
    transition: transform .3s ease;
    top: 100%;
    visibility: hidden;
    width: 100vw;
    z-index: -999;  
  } 
  
  .header__navigation.is-open {
    height: calc(100vh - 68px); /* header height */
    opacity: 1;
    transform: scale(1, 1);
    visibility: visible;
    z-index: 999;  
  }
}

@media (min-width: 993px) {
  .header__navigation {
    display: flex;
    flex-grow: 1;
    justify-content: flex-start;
  }  

  .header__menu {
    align-items: center;
    display: flex;
  }
}

/*** Functionality ***/

.header__functionality {
  align-items: center;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
}

@media (max-width: 992px) {
  .header__functionality {
    bottom: 0;
    left: 0;
    opacity: 0;
    padding: 0 1rem;
    position: fixed;
    visibility: hidden;
    width: 100%;
    z-index: 999;
  }

  .header__functionality.is-open {
    opacity: 1;
    visibility: visible;
  }
}

/*** Search ***/

.header__search {
  margin-right: -0.5rem;
  position: relative;
}

.header__search-toggle {
  align-items: center;
  display: inline-flex;
  height: 2rem;
  justify-content: center;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 2rem;
  z-index: 1001;
}

.header__search-toggle svg {
  height: 1rem;
  width: 1rem;
}

.header__search-toggle--open-icon {
  display: block;
}

.header__search-toggle--close-icon {
  display: none;
}

.header__search.is-open .header__search-toggle--open-icon {
  display: none;
}

.header__search.is-open .header__search-toggle--close-icon {
  display: block;
}

.header__search .hs-search-field {
  opacity: 0;
  position: absolute;
  right: 0;
  visibility: hidden;
  top: 50%;
  transform: translateY(-50%);
  transition: width 0.3s, opacity 0.3s;
  width: 2rem;
  z-index: 1000;
}

.header__search.is-open .hs-search-field {
  opacity: 1;
  visibility: visible;
  width: 200px;
}

.header__search .hs-search-field__bar {
  position: relative;
}

.header__search .hs-search-field__input {
  background-color: black;
  border-color: white;
  border-style: solid;
  border-width: 1px;
  border-radius: 0.25rem;
  font-size: 0.875rem;
  padding-left: 2.5rem;
  height: 2rem;
}

.header__search .hs-search-field__bar button {
  background: none;
  border: none;
  height: 2rem;
  left: 0;
  position: absolute;
  top: 0;
  width: 2rem;
}

.header__search .hs-search-field__bar button svg {
  fill: white;
  height: 1rem;
  width: 1rem;
}

@media (max-width: 992px) {
  .header__search .hs-search-field__suggestions {
    display: none;
  }
}

/*** Login ***/

.header__login {
  align-items: center;
  display: flex;
  padding: 0.5rem 1rem;
}

/*** Buttons ***/

.header__buttons {
  align-items: center;
  display: flex;
}

/*** Language Switcher ***/

.header__language-switcher {
  cursor: pointer;
  display: flex;
  margin-left: 1rem;
}

.header__language-switcher .lang_switcher_class {
  display: block;
  height: 100%;
  width: 100%;
}

.header__language-switcher .globe_class {
  background: none;
  border-radius:  0;
  height:  0;
  width: 0;
}

.header__language-switcher .lang_list_class {
  display: block;
  left: 0;
  opacity: 0;
  min-width: 100px;
  padding-top: 0;
  text-align: left;
  top: 100%;
  transform: none;
  transition: opacity 0.3s;
  visibility: hidden;
}

.header__language-switcher:hover .lang_list_class,
.header__language-switcher:focus .lang_list_class {
  opacity: 1;
  transition: opacity 0.3s;
  visibility: visible;
}

.header__language-switcher .lang_list_class li {
  border: none;
  font-size: 0.875rem;
  padding: 0.25rem 0.5rem;
}

.header__language-switcher .lang_list_class li:first-child {
  border-radius: 0.25rem 0.25rem 0 0;
  border-top: none;
}

.header__language-switcher .lang_list_class li:last-child {
  border-bottom: none;
  border-radius: 0 0 0.25rem 0.25rem;
}

.header__language-switcher .lang_list_class li:hover {
  transition: background-color 0.3s;
}

.header__language-switcher--label {
  display: flex;
  position: relative;
}

.header__language-switcher--label-current {
  align-items: center;
  border-radius: 0.25rem;
  border-style: solid;
  border-width: 1px;
  display: flex;
  font-size: 0.875rem;
  line-height: 1;
  padding: 0.5rem;
}

/*** Hamburger Menu ***/

.header__hamburger {
  align-items: center;
  display: flex;
  flex-grow: 1;
  justify-content: flex-end;
}

.hamburger {
  padding: 0;
  display: inline-block;
  cursor: pointer;
  height: 24px;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible; 
  width: 24px;
}

.hamburger:hover,
.hamburger:focus,
.hamburger:active {
  padding: 0;
}

.hamburger:hover {
  opacity: 0.7; 
}

.hamburger.is-open:hover {
  opacity: 0.7; 
}

.hamburger.is-open .hamburger-inner,
.hamburger.is-open .hamburger-inner::before,
.hamburger.is-open .hamburger-inner::after {
  background-color: #000; 
}

.hamburger-box {
  width: 24px;
  height: 24px;
  display: inline-block;
  position: relative; 
}

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -2px; 
}

.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
  width: 24px;
  height: 2px;
  background-color: #000;
  border-radius: 4px;
  position: absolute;
  transition-property: transform;
  transition-duration: 0.15s;
  transition-timing-function: ease; 
}

.hamburger-inner::before, .hamburger-inner::after {
  content: "";
  display: block; 
}

.hamburger-inner::before {
  top: -8px; 
}

.hamburger-inner::after {
  bottom: -8px; 
}

.hamburger--squeeze .hamburger-inner {
  transition-duration: 0.075s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); 
}

.hamburger--squeeze .hamburger-inner::before {
  transition: top 0.075s 0.12s ease, opacity 0.075s ease; 
}

.hamburger--squeeze .hamburger-inner::after {
  transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19); 
}

.hamburger--squeeze.is-open .hamburger-inner {
  transform: rotate(45deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); 
}

.hamburger--squeeze.is-open .hamburger-inner::before {
  top: 0;
  opacity: 0;
  transition: top 0.075s ease, opacity 0.075s 0.12s ease; 
}

.hamburger--squeeze.is-open .hamburger-inner::after {
  bottom: 0;
  transform: rotate(-90deg);
  transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); 
}

@media (min-width: 993px) {
  .header__hamburger {
    display: none;
    opacity: 0;
    visibility: hidden;
  }
}

@media (max-width: 992px) {
  body.nav-is-open {
    overflow-y: hidden;
  }  
}
.footer a {
  text-decoration: none;
}

.footer address {
  font-style: normal;
}
/* 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%;
}

/* Site Search Input */

.hs-search-field__suggestions {
  background-color: #ffffff;
  font-size: 0.875rem;
  padding: 0.25rem 0;
  position: absolute;
}

.hs-search-field__suggestions #results-for {
  padding: 0.25rem 0.5rem;
}

.hs-search-field__suggestions li a {
  padding: 0.25rem 0.5rem;
}


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

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

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

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

/* Hide on mobile */

@media (max-width: 767px) {
  .sm-hide {
    display: none;
    opacity: 0;
    visibility: hidden;
  }
}

/* DnD Sections - Stack Right-to-Left (Add class to section) */

@media (max-width: 767px) {
  .dnd-section.stack-rtl > .row-fluid {
    display: flex;
    flex-direction: column-reverse;
  }
}

/* Corners */

.u-rounded-corners {
  border-radius: 0.5rem;
}

/* Breadcrumb Menus */

.breadcrumbs {
  display: flex;
  flex-direction: row;
}

.breadcrumb__item:not(:last-child) {
  padding-right: 0.75rem;
  position: relative;
  margin-right: 0.75rem;  
}

.breadcrumb__item:not(:last-child):after {
  left: 100%;
  content: ">";
  position: absolute;
  transform: translateX(-50%);
}

/* Internal Info */

.internal-info {
  align-items: center;
  border-style: dashed;
  border-width: 1px;
  display: flex;
  justify-content: center;
  text-align: center;
  padding: 2rem;
  width: 100%;
}

.internal-info__content {
  max-width: 800px;
  width: 100%;
}

.internal-info__content > *:last-child {
  margin-bottom: 0;
}

/* Page Editor */

.editor-section {
  border-left: 1rem solid #F6D61E;
}

.editor-note {
  background-color: #F6D61E;
  padding: 1rem;
}