






@layer setup, layout, elements, theme-overrides, utilities, components, templates, helpers;











@layer setup {
    :root {
        font-size: 16px;

        
        --color-megablack: 0, 0, 0;
        --color-brand-blue: 4, 85, 148; /* 045594 */
        --color-brand-blue-300: 72, 107, 164; /* 486ba4 */
        --color-brand-blue-200: 114, 134, 182; /* 7286b6 */
        --color-brand-blue-100: 155, 166, 203; /* 9ba6cb */
        --color-digital-blue: 4, 121, 210; /* 0479d2 */
        --color-slate: 51, 69, 78; /* 33454e */
        --color-slate-300: 82, 92, 101; /* 525c65 */
        --color-slate-200: 115, 121, 129; /* 737981 */
        --color-slate-100: 153, 156, 162; /* 999ca2 */
        --color-white: 255, 255, 255;
        --color-sunshine-yellow: 255, 203, 5;
        --color-coral: 243, 113, 92;
        --color-teal: 0, 146, 148;

        
        --font-primary: 'Poppins', sans-serif;
        --text-sm: 1rem;
        --text-base: 1.25rem;
        --text-lg: 1.5rem;
        --text-xl: 2rem;
        --text-xl-2: 2.25rem;
        --text-2xl: 2.625rem;
        --text-3xl: 3.25rem;
        --text-4xl: 4.5rem;
        --leading-none: 1;
        --leading-tight: 1.2;
        --leading-normal: 1.5;
        --leading-relaxed: 1.75;
        --leading-loose: 2;
        
        
        --breakpoint-sm: 640px;
        --breakpoint-md: 768px;
        --breakpoint-lg: 1024px;
        --breakpoint-xl: 1200px;
        --breakpoint-2xl: 1440px;

        
        --section-padding-y: 5rem;
        --section-padding-y-small: 2.5rem;
        --section-padding-y-large: 8rem;

        --rounded: 1.25rem;
        --rounded-inner: 0.5rem;
        --rounded-full: 9999px;

        
        --container-width: 100%;
        --container-padding: 1rem;

        
        --aspect-square: 1/1;
        --aspect-video: 16/9;
        --aspect-landscape: 16/10;
        --aspect-crt: 4/3;

        @media screen and (min-width: 640px) {
            --container-width: var(--breakpoint-sm);
            --cb-container-width: calc(var(--breakpoint-sm) / 2);
        }
        
        @media screen and (min-width: 768px) {
            --container-width: var(--breakpoint-md);
            --cb-container-width: calc(var(--breakpoint-md) / 2);
        }

        @media screen and (min-width: 1024px) {
            --container-width: var(--breakpoint-lg);
            --cb-container-width: calc(var(--breakpoint-lg) / 2);
        }

        @media screen and (min-width: 1200px) {
            --container-width: var(--breakpoint-xl);
            --cb-container-width: calc(var(--breakpoint-xl) / 2);
        }

        @media screen and (min-width: 1440px) {
            --container-width: var(--breakpoint-xl);
            --cb-container-width: calc(var(--breakpoint-xl) / 2);
        }
    }
}

@layer utilities {
    .bg-horizon-dark {
        background-image: radial-gradient(
            ellipse 300% 100% at bottom,
            rgb(var(--color-megablack)) 0,
            rgb(var(--color-megablack)) 45%,
            rgb(var(--color-brand-blue)) 65%,
            rgb(var(--color-megablack)) 85%,
            rgb(var(--color-megablack)) 100%
          );
    }

    .text-white {
        color: rgb(var(--color-white)) !important;
    }

    .font-regular {
        font-weight: 400 !important;
    }

    .grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-rows: auto;
        gap: 1rem;

        > * {
            grid-column: span 2 / span 2
        }
    }

    .grid-2 {
        display: grid;
        grid-template-columns: repeat(1, minmax(0, 1fr));
        grid-auto-rows: auto;
        gap: 2rem;
    }

    @media (min-width: 768px) {
        .grid {
            grid-template-columns: repeat(4, minmax(0, 1fr));

            > * {
                grid-column: span 4 / span 4
            }
        }
    }

    @media (min-width: 1024px) {
        .bg-horizon {
            background-image: radial-gradient(
                ellipse 300% 100% at bottom,
                rgb(var(--color-white)) 0,
                rgb(var(--color-white)) 45%,
                rgb(var(--color-brand-blue)) 55%,
                rgb(var(--color-megablack)) 60%,
                rgb(var(--color-megablack)) 70%,
                rgb(var(--color-white)) 85%,
                rgb(var(--color-white)) 100%
              );
            padding-top: 30rem;
            margin-top: -30rem;
        }

        .grid {
            grid-template-columns: repeat(12, minmax(0, 1fr));

            > * {
                grid-column: span attr(cols type(<number>), 1) / span attr(cols type(<number>), 1)
            }

            > .grid-col-1 {
                grid-column: span 1 / span 1;
            }

            > .grid-col-2 {
                grid-column: span 2 / span 2;
            }

            > .grid-col-3 {
                grid-column: span 3 / span 3;
            }

            > .grid-col-4 {
                grid-column: span 4 / span 4;
            }

            > .grid-col-5 {
                grid-column: span 5 / span 5;
            }

            > .grid-col-6 {
                grid-column: span 6 / span 6;
            }

            > .grid-col-7 {
                grid-column: span 7 / span 7;
            }

            > .grid-col-8 {
                grid-column: span 8 / span 8;
            }

            > .grid-col-9 {
                grid-column: span 9 / span 9;
            }

            > .grid-col-10 {
                grid-column: span 10 / span 10;
            }

            > .grid-col-11 {
                grid-column: span 11 / span 11;
            }

            > .grid-col-12 {
                grid-column: span 12 / span 12;
            }
        }

        .grid-2 {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
    }

    .flex {
        display: flex;
    }

    .gap-4 {
        gap: 1rem;
    }

    .gap-8 {
        gap: 2rem;
    }

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

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

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

    .sr-only {
        
    border: 0 !important;
    clip-path: inset(50%) !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    width: 1px !important;
    white-space: nowrap !important;

    }

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

    .list-shield ul {
        
    display: flex;
    flex-direction: column;
    margin: 0;
    list-style-type: none;
    padding-left: 2rem;
    gap: 2rem;
    
    > li {
        position: relative;
        margin: 0;
        line-height: var(--leading-tight);

        &:before {
            font: var(--fa-font-solid);
            -webkit-font-smoothing: antialiased;
            margin-right: 1rem;
            margin-top: 0.125rem;
            position: absolute;
            left: -2rem;
        }
    }

    + * {
        margin-top: 1.5rem;
    }

        > li:before {
            content: "\f2f7";
            color: rgb(var(--color-digital-blue));
        }
    }

    .list-download ul {
        
    display: flex;
    flex-direction: column;
    margin: 0;
    list-style-type: none;
    padding-left: 2rem;
    gap: 2rem;
    
    > li {
        position: relative;
        margin: 0;
        line-height: var(--leading-tight);

        &:before {
            font: var(--fa-font-solid);
            -webkit-font-smoothing: antialiased;
            margin-right: 1rem;
            margin-top: 0.125rem;
            position: absolute;
            left: -2rem;
        }
    }

    + * {
        margin-top: 1.5rem;
    }

        > li:before {
            content: "\f56d";
            color: rgb(var(--color-white));
        }
    }

    .cms-section--primary {
        .list-shield {
            li:before {
                color: rgb(var(--color-white));
            }
        }
    }

    .breakout {
        height: auto;
    }

    @media (min-width: 1024px) {
        img.breakout {
            max-width: none;
        }

        .cms-reversed {
            img.breakout {
                margin-left: auto;
            }
        }
    }
}

@layer layout {
    .container {
        width: 100%;
        max-width: var(--container-width);
        margin: 0 auto;
        padding: 0 var(--container-padding);
        position: relative;

        &.container--space-between {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        img {
            display: block;
            max-width: 100%;
        }
    }

    .container-lg {
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        padding: 0 var(--container-padding);
        position: relative;

        @media (min-width: 1440px) {
            max-width: 1440px;
        }
    }

    .container-sm {
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        padding: 0 var(--container-padding);
        position: relative;

        @media (min-width: 1024px) {
            max-width: 1024px;
        }
    }

    .cb-container {
        width: 100%;
        max-width: var(--cb-container-width);
        margin: 0 auto;
        padding: 0 var(--container-padding);
        position: relative;
    }

    .cb-container-lg {
        width: 100%;
        max-width: calc(var(--breakpoint-2xl) / 2);
        margin: 0 auto;
        padding: 0 var(--container-padding);
        position: relative;

        @media (min-width: 1440px) {
            max-width: calc(var(--breakpoint-2xl) / 2);
        }
    }
}
@layer helpers {
  span:has(img:first-child:last-child),
  a:has(img:first-child:last-child) {
    display: block;
  }

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

    &:has(.container, .container-lg) {
      max-width: none;
    }
  }
}

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



/* Responsive Grid */

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

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

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

    .visible-desktop {
        display: none !important ;
    }
}
/* .dnd-section {
  padding: var(--section-padding-y) var(--container-padding);
} */

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

.dnd-section .widget-type-cell {
  padding-left: var(--container-padding);
  padding-right: var(--container-padding);

  .widget-type-cell {
    padding-left: 0;
    padding-right: 0;
  }
}

.row-fluid:has(.container) .widget-type-cell {
  padding-left: 0;
  padding-right: 0;
}




@layer elements {
  html {
    font-size: 16px;
  }

  body {
    color: #00326d;
    font-family: var(--font-primary);
    line-height: 1.5;
    word-break: break-word;
  }

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

  /* Paragraphs */

  p {
    font-size: var(--text-base);
    line-height: 1.5;
    margin: 0 0 1.5rem;
  }

  strong {
    font-weight: 800;
  }

  /* Links */

  a {
    color: #00c6ab;
    cursor: pointer;
    text-decoration: none;
  }

  a:hover,
  a:focus {
    color: #00a18b;
    text-decoration: underline;
  }

  a:active {
    color: #28eed3;
    text-decoration: underline;
  }

  /* Headings */

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    color: rgb(var(--color-brand-blue));
    font-family: var(--font-primary);
    line-height: var(--leading-tight);
    margin: 0 0 1.5rem;
  }

  h1 {
    font-size: var(--text-3xl);
    font-weight: 800;
  }

  h2 {
    font-size: var(--text-2xl);
    font-weight: 800;
  }

  h3 {
    font-size: var(--text-xl);
    font-weight: 800;
  }

  h4 {
    font-size: var(--text-base);
    font-weight: 400;
    letter-spacing: 1.18px;
  }

  h5 {
    font-size: var(--text-base);
    font-weight: 800;
    letter-spacing: 1.18px;
  }

  h6 {
    font-size: var(--text-sm);
    font-weight: 800;
    letter-spacing: 1.06px;
  }

  /* Lists */

  ul,
  ol {
    margin: 1.5rem 0;
  }

  ul li,
  ol li {
    font-size: var(--text-base);
    line-height: 2;
  }

  ul ul,
  ol ul,
  ul ol,
  ol ol {
    margin: 0;
    padding-left: 2.8rem;
  }

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

  /* Code Blocks */

  code {
    vertical-align: bottom;
  }

  /* Blockquotes */

  blockquote {
    border-left: 1rem solid #ffe890;
    font-size: 1.4rem;
    font-weight: 400;
    letter-spacing: 0;
    margin: 0;
    padding: 1.5rem 2.8rem;
  }

  /* Horizontal Rules */

  hr {
    border: 0 none;
    border-bottom-style: solid;
    border-bottom-width: 2px;
  }

  /* Subscripts and Superscripts */

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

  sup {
    top: -0.5em;
  }

  sub {
    bottom: -0.25em;
  }

  /* Focus State */

  :focus {
    outline: auto;
  }

  .disable-focus-styles :focus {
    outline: none;
  }
}
@layer elements {
    /*! 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;
}
    /* Primary Button */

button,
.button {
  align-items: center;
  background-color: #00c6ab;
  border: 1px solid #00c6ab;
  border-radius: 80px;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  fill: #fff;
  font-size: var(--text-base);
  font-weight: 600;
  letter-spacing: 0;
  margin: 0 0 1.5rem;
  padding: 0.7rem 2.8rem;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: all 0.15s linear;
}

button:disabled,
.button:disabled,
.button.button--secondary:disabled,
.button.button--simple:disabled {
  border: 1px solid #d0d0d0;
  color: #e6e6e6;
  pointer-events: none;
}

button:disabled,
.button:disabled {
  background-color: #d0d0d0;
}

.button.button--secondary:disabled {
  background-color: inherit;
}

.button.button--simple:disabled {
  background-color: inherit;
  border: inherit;
}

button:hover,
button:focus,
.button:hover,
.button:focus {
  background-color: #009e83;
  border-color: #009e83;
  color: #fff;
  text-decoration: none;
}

button:active,
.button:active {
  background-color: #50eed3;
  border-color: #50eed3;
  color: #fff;
  text-decoration: none;
}

/* Secondary Button */

.button.button--secondary {
  background-color: transparent;
  border: 1px solid #00c6ab;
  color: #00c6ab;
  fill: #00c6ab;
}

.button.button--secondary:hover,
.button.button--secondary:focus {
  background-color: transparent;
  border-color: #009e83;
  color: #009e83;
  fill: #009e83;
}

.button.button--secondary:active {
  background-color: transparent;
  border-color: #50eed3;
  color: #50eed3;
  fill: #50eed3;
}

/* Simple Button */

.button.button--simple {
  background-color: transparent;
  border: none;
  border-radius: 0;
  color: #00c6ab;
  fill: #00c6ab;
  font-size: 1rem;
  font-style: normal;
  padding: 0 !important;
  position: relative;
  text-decoration: none;
}

.button.button--simple:after {
  background-color: #00c6ab;
  content: none;
  left: 0;
  position: absolute;
  width: 100%;
}

.button.button--simple:hover,
.button.button--simple:focus {
  background-color: transparent;
  border: none;
  color: #009e83;
}

.button.button--simple:active {
  background-color: transparent;
  border: none;
  color: #50eed3;
}

/* Button Sizing */

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

.button.button--large {
  font-size: 1.125rem;
}

/* Button Icons */

.button .button__icon svg {
  display: block;
  fill: inherit;
  height: 1.25rem;
  margin-right: 1rem;
}

.button.button--icon-right .button__icon {
  order: 1;
}

.button.button--icon-right .button__icon svg {
  margin-left: 1rem;
  margin-right: 0;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .button .button__icon svg {
    width: 1.25rem;
  }
}
    /* Base */

form {
  background-color: #00326d;
  border: none;
  border-radius: 18px;
  padding: 2.8rem;
}

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

/* Form Title */

.form-title {
  background-color: #00326d;
  border-radius: 18px 18px 0 0;
  color: #fff;
  margin: 0;
  padding: 2.8rem;
  text-align: center;
}

.form-title ~ div > form {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

/* Labels */

.hs-form-field > label {
  color: #fff;
  display: block;
  margin-bottom: 0.35rem;
  padding: 6px 0;
  text-align: left;
  width: auto;
}

/* Help Text - Legends */

.hs-form-field legend {
  color: #fff;
  font-size: 0.875rem;
}

/* Inputs */

.input {
  position: relative;
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
input[type="file"],
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #fff;
  border: 1px solid #d2e9fc;
  border-radius: 4px;
  color: #1e2b33;
  display: inline-block;
  padding: 0.75rem;
  width: 100% !important;
}

select::-ms-expand {
  display: none;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
input[type="file"]:focus,
select:focus,
textarea:focus {
  outline-color: #c168c2;
}

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

::-moz-placeholder {
  color: #d0d0d0;
}

:-ms-input-placeholder {
  color: #d0d0d0;
}

::placeholder {
  color: #d0d0d0;
}

/* Inputs - Checkbox/Radio */

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

form .inputs-list:not(.no-list) label {
  color: #fff;
}

.inputs-list > li {
  display: block;
  margin: 0.7rem 0 0.7rem 0.7rem;
  padding: 0;
  width: 100%;
}

input[type="checkbox"],
input[type="radio"] {
  border: none;
  cursor: pointer;
  height: auto;
  line-height: normal;
  margin-right: 0.35rem;
  padding: 0;
  width: auto;
}

/* Inputs - Select */

.hs-fieldtype-select .input:after {
  content: "\25BE";
  pointer-events: none;
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
}

/* Inputs - Datepicker */

.hs-fieldtype-date .input .hs-dateinput:before {
  color: #1e2b33;
  content: "\01F4C5";
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
}

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

.fn-date-picker td.is-today .pika-button {
  color: #00326d;
}

.fn-date-picker td.is-selected .pika-button {
  background: #fff9e3;
  border-radius: 0;
  box-shadow: none;
  color: #00326d;
}

.fn-date-picker td .pika-button:hover {
  background-color: #00c6ab !important;
  border-radius: 0 !important;
}

/* Headings and Text */

form .hs-richtext,
form .hs-richtext *,
form .hs-richtext p,
form .hs-richtext h1,
form .hs-richtext h2,
form .hs-richtext h3,
form .hs-richtext h4,
form .hs-richtext h5,
form .hs-richtext h6 {
  color: #fff;
}

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

form .header {
  background-color: transparent;
  border: none;
}

/* GDPR */

.legal-consent-container .hs-form-booleancheckbox-display > span,
.legal-consent-container .hs-form-booleancheckbox-display > span p {
  font-size: var(--text-base);
  line-height: var(--leading-tight);
}

/* Validation */

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

.hs-error-msg,
.hs-error-msgs {
  color: #ef6b51;
  margin-top: 0.35rem;
}

/* Submit */

form input[type="submit"],
form .hs-button {
  background-color: #00c6ab;
  border: 1px solid #00c6ab;
  border-radius: 80px;
  color: #fff;
  cursor: pointer;
  display: block;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0;
  margin: 0 0 1.5rem;
  padding: 0.7rem 2.8rem;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: all 0.15s linear;
  white-space: normal;
  width: 100%;
}

form input[type="submit"]:hover,
form input[type="submit"]:focus,
form .hs-button:hover,
form .hs-button:focus {
  background-color: #009e83;
  border-color: #009e83;
}

form input[type="submit"]:active,
form .hs-button:active {
  background-color: #50eed3;
  border-color: #50eed3;
}

/* Captcha */

.grecaptcha-badge {
  margin: 0 auto;
}

/* Inline Thank You Message */

.submitted-message {
  background-color: #00326d;
  border-color: transparent;
  color: #fff;
  padding: 2.8rem;
}
    /* Tables */

table {
  background-color: #fff;
  border: 1px solid #d2e9fc;
  border-spacing: 0;
  margin-bottom: 1rem;
}

th,
td {
  border: 1px solid #d2e9fc;
  padding: 15px;
  vertical-align: top;
}

tr:nth-child(odd) {
  background-color: #eff7ff;
}

thead th,
thead td {
  background-color: #00326d;
  border: none;
  border-bottom-width: 2px;
  color: #fff;
}

thead th {
  border-bottom: none;
  vertical-align: bottom;
}

tbody + tbody {
  border-top: none;
}

/* Table Footer */

tfoot td {
  background-color: #fff;
  color: #00326d;
}
}



/* Header Container */

@layer components {
  div:has(> .header) {
    position: relative;
    z-index: 10;
  }

  div:has(> .header--scrolled) {
    position: sticky;
  }

  .header {
    background-color: rgba(var(--color-white), 0);
    backdrop-filter: blur(1rem);
    transition: 0.2s all;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10;

    .scaffplan-logo-image {
      transform: scale(0.75);
      transform-origin: left;
    }

    .navigation-primary {
      .level-1 a {
        color: rgb(var(--color-white));

        &:hover,
        &:focus {
          color: rgba(var(--color-white), 0.8);
        }

        &:active {
          color: rgb(var(--color-brand-blue-200));
        }
      }
      .level-2 a {
        color: rgb(var(--color-megablack));

        &:hover,
        &:focus {
          color: rgb(var(--color-brand-blue));
        }
      }
    }

    & .header__logo {
      width: 40%;

      > div {
        display: flex;
      }
    }

    > .header__content {
      position: relative;
      padding: 0.75rem 0;
      transition: 0.2s all;

      .header__menu {
        position: absolute;
        top: 100%;
        width: 100vw;
        left: 0;

        .menu-arrow {
          display: none;
        }
      }

      .header__navigation-toggle {
        position: absolute;
        top: auto;
        bottom: calc(100% + .25rem);
        right: 1rem;
      }
    }

    > .header__dnd--top {
      height: 69px;
      transition: 0.2s all;
      overflow: hidden;
    }

    &.header--scrolled {
      background-color: rgba(var(--color-white), 0.9);

      > .header__content {
        padding: 0.25rem 0;
      }

      > .header__dnd--top {
        height: 0;
      }

      .navigation-primary {
        .level-1 a {
          color: rgb(var(--color-megablack));
        }
      }
    }
  }

  body:has(.hero--dark) {
    .header .scaffplan-logo-image {
      .logo-text,
      .logo-mark path {
        fill: rgb(var(--color-white));
      }
    }

    .header--scrolled .scaffplan-logo-image {
      .logo-text {
        fill: rgb(var(--color-megablack));
      }

      .logo-mark path {
        fill: rgb(var(--color-brand-blue));
      }
    }
  }

  body:has(.hero--light),
  body:has(.hero--small) {
    .header .scaffplan-logo-image {
      .logo-text {
        fill: rgb(var(--color-megablack));
      }

      .logo-mark path {
        fill: rgb(var(--color-brand-blue));
      }
    }

    .navigation-primary {
      .level-1 a {
        color: rgb(var(--color-megablack));
      }
    }
  }

  body:has(.hero--dark-header) {
    .header {
      background-color: rgb(var(--color-megablack));

      .scaffplan-logo-image {
        .logo-text,
        .logo-mark path {
          fill: rgb(var(--color-white));
        }
      }
      
      .header__navigation {
        background-color: rgb(var(--color-megablack)) !important;
      }

      .cms-top-banner__link {
        color: rgb(var(--color-white));

        &:hover,
        &:focus {
          color: rgba(var(--color-white), 0.8);
        }
      }

      .navigation-primary .level-1 a {
        color: rgb(var(--color-white));

        &:hover,
        &:focus {
          color: rgba(var(--color-white), 0.8);
        }
      }

      .navigation-primary .submenu.level-2 {
        border: none !important;
      }

      .navigation-primary .level-2 a {
        background-color: rgb(var(--color-megablack));
        color: rgb(var(--color-white));

        &:hover,
        &:focus {
          background-color: rgb(var(--color-megablack)) !important;
          color: rgba(var(--color-white), 0.8);
        }
      }
    }
  }

  @media (min-width: 768px) {
    .header {
      > .header__content {
        padding: 2rem 0;

        .header__menu {
          position: static;
          width: auto;
          left: auto;
        }
      }
    }
  }

  @media (min-width: 1024px) {
    .header {
      .scaffplan-logo-image {
        transform: scale(1);
        transition: 0.2s all;
      }

      .header__logo {
        width: auto;
      }
    }
  }

  @media (min-width: 1200px) {
    .header {
      &.header--scrolled {
        .scaffplan-logo-image {
          transform: scale(0.75);
          transform-origin: left;
        }
      }
    }
  }

  body:has(.hero--small) {
    .header {
      position: sticky;
      top: 0;
  }

  .header--landing-page .header__container {
    justify-content: center;
  }

  /* Logo */
  .header__menu {
    margin-left: auto;
  }

  @media screen and (max-width: 767px) {
    .header__navigation {
      background-color: #fff;
      box-shadow: 0 23px 50px -14px rgba(0, 0, 0, 0.21);
      display: none;
      margin: 10px 10px 0;
      position: absolute;
      right: 0;
      top: 100%;
      width: calc(100% - 20px);
      z-index: 99;
    }

    .header__menu {
      margin-left: 0;
      min-height: 0;
      order: 3;
    }
  }

  /* Language Switcher */

  .header__language-switcher {
    cursor: pointer;
    margin-left: 50px;
  }

  .header__language-switcher .lang_switcher_class {
    position: static;
  }

  .header__language-switcher .lang_switcher_class .globe_class {
    background-color: #fff;
    border: 1px solid #fff;
    border-radius: 50%;
    margin-top: 5px;
  }

  .header__language-switcher .lang_list_class {
    border: 1px solid #eff7ff;
    border-radius: 0 0 18px 18px;
    box-shadow: 0 23px 50px -14px rgba(0, 0, 0, 0.21);
    display: block;
    left: auto;
    min-width: 100%;
    opacity: 0;
    overflow: hidden;
    padding-top: 0;
    right: 0;
    text-align: left;
    top: 100%;
    transform: none;
    visibility: hidden;
  }

  .header__language-switcher:hover .lang_list_class {
    opacity: 1;
    visibility: visible;
  }

  .header__language-switcher .lang_list_class:after,
  .header__language-switcher .lang_list_class:before {
    content: none;
  }

  .header__language-switcher .lang_list_class li {
    background-color: transparent;
    border: none;
    line-height: 2;
    margin: 0;
    padding: 10px;
  }

  .header__language-switcher .lang_list_class li:first-child {
    border-top: none;
    padding-top: 10px;
  }

  .header__language-switcher .lang_list_class li:last-child {
    border-bottom: none;
  }

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

  .header__language-switcher-label-current,
  .header__language-switcher .lang_list_class li a {
    color: #00326d;
    font-family: var(--font-primary);
    font-size: 1rem;
    font-weight: 800;
    text-decoration: none;
  }

  .header__language-switcher-label-current:hover,
  .header__language-switcher-label-current:focus,
  .header__language-switcher .lang_list_class li:hover a,
  .header__language-switcher .lang_list_class li a:focus {
    color: #000a45;
  }

  .header__language-switcher-label-current:active,
  .header__language-switcher .lang_list_class li a:active {
    color: #285a95;
  }

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

  .header__language-switcher-label-current {
    align-items: center;
    display: flex;
    line-height: 2;
    margin-left: 10px;
  }

  .header__language-switcher-label-current:after {
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 6px solid #00326d;
    content: "";
    display: block;
    height: 0;
    margin: 0 0 0 10px;
    width: 0;
  }

  @media (max-width: 767px) {
    .header__language-switcher {
      margin-left: auto;
      margin-right: 20px;
      order: 2;
    }

    .header__language-switcher .lang_switcher_class .globe_class {
      height: 24px;
      margin-top: 0;
      width: 24px;
    }

    .header__language-switcher .lang_list_class {
      background-color: #fff;
      border: 0;
      border-radius: 0 0 18px 18px;
    }

    .header__language-switcher:hover .lang_list_class {
      opacity: 0;
      visibility: hidden;
    }

    .header__language-switcher .lang_list_class li {
      padding: 10px 30px;
    }

    .header__language-switcher .lang_list_class li:hover {
      background-color: #eff7ff;
    }

    .header__language-switcher-label {
      position: static;
    }

    .header__language-switcher-label-current {
      display: none;
    }

    .header__language-switcher.open .lang_list_class {
      opacity: 1;
      visibility: visible;
    }
  }
}
/* Footer Container */

.footer {
  padding: 3rem 0 2rem;

  .scaffplan-logo-image {
    max-width: 100%;

    .logo-text path,
    .logo-mark path {
      fill: rgb(var(--color-white));
    }

    &:hover {
      .logo-mark path {
        fill: rgb(var(--color-brand-blue));
      }
    }
  }

  h4 {
    text-transform: uppercase;
    font-weight: 800;
    margin-bottom: 0.5rem;
  }

  .footer__top {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    margin-bottom: 1rem;
  }

  .footer__body {
    line-height: 2;
    margin-bottom: 4rem;
  }

  .footer__bottom p {
    font-size: var(--text-sm);
  }

  .footer__partners {
    margin: 2.5rem 0;

    img {
      height: 2rem;
      width: auto;
    }

    .footer__partners-logos {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      grid-auto-rows: auto;
      gap: 2rem;
    }
  }

  .footer__navigation {
    ul[role="menu"] {
      display: flex;
      flex-direction: column;
      gap: 0.5rem;
      margin: 0;

      li {
        margin: 0;
      }
    }
  }
}

@media (min-width: 1024px) {
  .footer {
    .footer__partners {
      .footer__partners-logos {
        display: flex;
        flex-direction: row;
        align-items: center;
      }
    }
  }
}

.footer .dnd-section,
.footer .dnd-section .dnd-column {
  padding: 0 20px;
}

/* Footer Typography */

.footer h1,
.footer h2,
.footer h3,
.footer h4,
.footer h5,
.footer h6,
.footer p,
.footer a,
.footer div,
.footer span {
  color: #fff;
}

/* Footer Rows */

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

.footer .hs-menu-wrapper ul {
  list-style: none;
  padding-left: 0;
}

@media (max-width: 767px) {
  .footer__row {
    flex-wrap: wrap;
  }
}

/* Footer Form */
.footer__form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 3rem;

  h3 {
    font-size: var(--text-base);
    line-height: var(--leading-loose);
    margin-bottom: 0;
  }
}

.footer .widget-type-form {
  display: flex;
  align-items: center;

  > span {
    width: 100%;
  }
}

.footer__form form,
.footer .widget-type-form form {
  padding: 0;

  .hsfc-NavigationRow,
  .hsfc-NavigationRow__Alerts {
    margin-top: 0;
    margin-bottom: 0;
  }

  .hsfc-Step__Content {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 0 !important;

    .hsfc-Row {
      margin-bottom: 0 !important;

      input {
        border-radius: 9999px;
        margin-bottom: 0 !important;
        height: 100%;
      }
    }

    .hsfc-Button {
      width: 100% !important;
      border: 1px solid rgb(var(--color-digital-blue)) !important;

      &:hover {
        background-color: rgb(var(--color-white)) !important;
        color: rgb(var(--color-digital-blue)) !important;
      }
    }

    label {
      border: 0 !important;
      clip-path: inset(50%) !important;
      height: 1px !important;
      margin: -1px !important;
      overflow: hidden !important;
      padding: 0 !important;
      width: 1px !important;
      white-space: nowrap !important;
    }

    .hsfc-NavigationRow {
      margin-top: 0 !important;
      flex-shrink: 0;
      height: 100%;

      .hsfc-NavigationRow__Alerts {
        display: none !important;
      }
    }
  }
}

/* Landing Page Footer */

.footer.footer__landing-page {
  background-color: #fff;
  border-top: 2px solid #eff7ff;
}

.footer.footer__landing-page .footer__container {
  margin: 0 auto;
  max-width: 1300px;
  padding: 2.8rem 0 1.5rem;
}

.footer.footer__landing-page h1,
.footer.footer__landing-page h2,
.footer.footer__landing-page h3,
.footer.footer__landing-page h4,
.footer.footer__landing-page h5,
.footer.footer__landing-page h6,
.footer.footer__landing-page p,
.footer.footer__landing-page div,
.footer.footer__landing-page a,
.footer.footer__landing-page span {
  color: #00326d;
}

/* Footer Form */

.footer .footer__form form {
  background-color: transparent;
  border: none;
  padding: 0;
}

.footer .footer__form label {
  color: #fff;
}

.footer__form .form-title {
  background-color: transparent;
  color: #fff;
  font-size: 1rem;
  padding: 0 0 1rem;
  text-align: left;
}

@media (min-width: 768px) {
  .footer .widget-type-form form {
    .hsfc-Step__Content {
      flex-direction: row;

      button {
        width: auto !important;
      }
    }
  }
}

@media (min-width: 1024px) {
  .footer__form {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }

  .footer .widget-type-form {
    > span {
      width: auto;
    }
  }
}
@layer components {
  .statistic {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    color: rgb(var(--color-brand-blue));
    font-weight: 500;

    .statistic__number {
      font-size: var(--text-2xl);
      font-weight: 700;
      line-height: 1;
    }

    .statistic__title {
      font-size: var(--text-base);
    }
  }

  @media (min-width: 1024px) {
    .statistic {
      .statistic__number {
        font-size: var(--text-4xl);
      }

      .statistic__title {
        font-size: var(--text-lg);
      }
    }
  }
}
.tablet-media {
  margin: 0 -2rem 2.5rem;
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  width: 100%;
  overflow: hidden;

  &:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url("//9282502.fs1.hubspotusercontent-na1.net/hubfs/9282502/raw_assets/public/ScaffPlan%20Theme%20-%20Dev/images/modules/product-select/tablet-white.png");
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 1;
  }

  .hs-video-widget,
  img {
    width: calc(100% - 1rem);
    margin: 0.5rem;
    height: auto;
    position: relative;
    border-radius: var(--rounded-inner);
    overflow: hidden;
    z-index: 0;
  }
}

@media (min-width: 1024px) {
  .tablet-media.breakout {
    overflow: visible;

    .hs-video-widget {
      width: 200%;
      overflow: visible;
    }

    &:before {
      width: 200%;
    }
  }
}

div[cols] {
  .tablet-media {
    margin: 0;
  }
}
.cta-container {
  display: flex;
  flex-direction: column;
  gap: 1rem;

  &.cta-container--video {
    margin-top: var(--section-padding-y-small);
  }
}

.cta-button-primary,
.cta-button-secondary {
  text-align: center;
  font-family: "Poppins", sans-serif;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 9999px;
  padding: 1.25rem 2.5rem !important;
  text-decoration: none;
  font-weight: 500;
  font-size: 20px;
  line-height: 1;
  width: 100%;
  margin-bottom: 0;
}

.cta-button-primary {
  --bg-color: #0479d2;
  --bg-hover-color: #fff;
  --text-color: #fff;
  --text-hover-color: #0479d2;

  background-color: var(--bg-color);
  border-color: var(--bg-color);
  color: var(--text-color);

  &:hover {
    background-color: var(--bg-hover-color);
    color: var(--text-hover-color);
  }
}

.cta-button-secondary {
  --bg-color: #000000;
  --bg-hover-color: #ffffff;
  --text-color: #ffffff;
  --text-hover-color: #0479d2;

  background-color: var(--bg-color);
  border-color: var(--bg-color);
  color: var(--text-color);

  &:hover {
    background-color: var(--bg-hover-color);
    color: var(--text-hover-color);
  }
}

@media (min-width: 768px) {
  .cta-button-primary,
  .cta-button-secondary {
    width: auto;
  }
}

@media (min-width: 768px) {
  .cta-button {
    width: auto;
  }

  .cta-container {
    flex-direction: row;
    justify-content: center;
  }
}
.trust-signal {
  display: flex;
  gap: 1rem;

  img {
    aspect-ratio: var(--aspect-square);
    object-fit: contain;
  }

  span {
    font-size: var(--text-base);
    font-weight: 700;
  }

  .trust-signal__icon {
    height: auto;
    width: 2.5rem;
    min-width: 2.5rem;
    max-height: 2.5rem;
    aspect-ratio: var(--aspect-square);
    fill: rgb(var(--color-white));

    svg {
      width: 100%;
      height: auto;
      max-height: 2.5rem;
    }
  }

  .trust-signal-text {
    display: block;
    margin-top: 0.5rem;
    font-size: var(--text-sm);
    font-weight: 400;
  }
}

.trust-signals {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

@media (min-width: 1024px) {
  .trust-signals {
    flex-direction: row;
    justify-content: space-between;

    &.trust-signals--expanded {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      grid-auto-rows: auto;
      align-items: start;
      gap: 2rem;

      &.trust-signals--four-columns {
        grid-template-columns: repeat(4, minmax(0, 1fr));
      }

      .trust-signal {
        flex-direction: column;
        align-items: center;
        gap: 0.5rem;

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

  .trust-signal {
    align-items: center;

    img {
      aspect-ratio: auto;
    }

    .trust-signal__icon {
      width: 100%;
    }
  }
}
.hsfc-Step__Content {
  padding: 0 !important;
}

@media (min-width: 1024px) {
  .hsfc-Step__Banner + .hsfc-Step__Content {
    padding: 2.5rem !important;
  }
}
.simple-faqs {
  margin: 4rem 1rem !important;

  .simple-faqs-item-answer {
    a {
      color: rgb(var(--color-brand-blue)) !important;
    }
  }
}



/* Blog Container */

.content-wrapper {
  margin: 0 auto;
  max-width: 1300px;
  padding: 0 20px;
}

.content-wrapper--narrow {
  max-width: 890px;
}

/* Blog Header */

.blog-header {
  color: rgb(var(--color-white));
  margin: 0 0 var(--section-padding-y) 0;
  padding: calc(var(--section-padding-y) * 2) 0;
  position: relative;
  z-index: 1;

  &::before {
    content: "";
    background-color: rgba(var(--color-megablack), 0.8);
    inset: 0;
    position: absolute;
    inset: 0;
  }

  h1,
  h2 {
    color: inherit;
    margin-top: 0;
    text-align: center;
  }
}

.blog-header__title {
  text-align: left;
  font-weight: bold;
}

.blog-header__navigation {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}

.blog-header__tag-filter,
.blog-header__search {
  width: 100%;
}

.blog-header__search {
  background-color: rgb(var(--color-white));
  border: none;
  margin-left: auto;
  padding: 1rem 2rem;
  border-radius: var(--rounded-full);
  display: flex;
  align-items: center;
  gap: 1rem;
  div {
    width: 100%;
  }
}

.blog-header__search form {
  background-color: transparent;
  border: 0;
  padding: 0;

  input {
    border: 0;
    padding: 0;
    width: 100%;
  }

  button {
    margin-bottom: 0;
  }
}

@media (max-width: 767px) {
  .blog-header__navigation {
    flex-wrap: wrap;
  }
  .blog-header__tag-filter,
  .blog-header__search {
    width: 100%;
  }
  .blog-tag-filter,
  .blog-header__search {
    margin: 0 auto 1.5rem;
  }
}

/* Blog Author/Tag Content */
.blog-subheader {
  margin: 3rem 0;
}

.blog-subheader__author-links {
  margin-bottom: 1rem;
  margin-top: 1rem;
}

.blog-subheader__author-links a {
  background-color: #00c6ab;
  border-radius: 50%;
  display: inline-block;
  height: 40px;
  margin: 0 10px;
  position: relative;
  width: 40px;
}

.blog-subheader__author-links a:first-of-type {
  margin-left: 0;
}

.blog-subheader__author-links a:hover {
  background-color: #00a18b;
}

.blog-subheader__author-links a svg {
  fill: #fff;
  height: 15px;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: auto;
}

/* Blog Listing */

.blog-card {
  display: flex;
  align-items: start;
  width: 100%;

  + .blog-card {
    margin-top: var(--section-padding-y);
  }
}

@media (max-width: 767px) {
  .blog-card {
    padding: 0 0 1.5rem;
  }
}

.blog-card__image-wrapper,
.blog-card__content {
  width: 50%;
}

@media (max-width: 767px) {
  .blog-card__content {
    padding: 1.5rem 1.5rem 0;
  }
}

.blog-card__content--full-width {
  width: 100%;
}

.blog-card__image-wrapper {
  align-items: center;
  display: flex;
  max-height: 100%;
  overflow: hidden;
  position: sticky;
  top: var(--section-padding-y-small);
}

@media (max-width: 767px) {
  .blog-card__image-wrapper {
    margin: 0;
    width: 100%;
  }
}

.blog-card__image {
  aspect-ratio: var(--aspect-landscape);
  object-fit: cover;
  border-radius: var(--rounded);
  border: 1px solid rgba(var(--color-slate-100), 0.5);
}

@media (max-width: 767px) {
  .blog-card__image {
    position: static;
  }
}

.blog-card__content {
  margin: 0 30px;
}

.blog-card__title a {
  color: #00326d;
  font-weight: inherit;
}

.blog-card__title a:hover,
.blog-card__title a:focus {
  color: #000a45;
  font-weight: inherit;
  text-decoration: none;
}

.blog-card__title a:active {
  color: #00326d;
}

.blog-card__tags {
  margin-bottom: 1rem;
}

.blog-card__tag-link,
.blog-card__tag-link:hover {
  font-weight: 300;
}

@media (max-width: 767px) {
  .blog-card {
    flex-wrap: wrap;
  }

  .blog-card__content {
    margin-left: 0;
    width: 100%;
  }
}

.blog-card__author-image,
.blog-post__author-image {
  background-size: cover;
  border-radius: 50%;
  height: 45px;
  margin-right: 10px;
  width: 45px;
}

.blog-card__author-image,
.blog-post__author-name {
  display: inline-block;
  vertical-align: middle;
}

.blog-post__author-name,
.blog-post__author-links {
  margin-bottom: 1rem;
}

.blog-post__author-links a:not(:last-of-type) {
  margin-right: 0.5rem;
}

.blog-post__author-links a:hover {
  text-decoration: none;
}

.blog-post__author-links svg {
  fill: #00326d;
}

.blog-post__author-links a:hover svg {
  fill: #00c6ab;
}

.blog-card__author {
  display: block;
  margin-bottom: 1.5rem;
}

/* Blog Pagination */

.blog-pagination {
  align-items: center;
  display: flex;
  justify-content: center;
  margin-bottom: 2.8rem;
  text-align: center;
}

.blog-pagination__link {
  color: rgb(var(--color-slate));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 0.5rem;
  padding: 0.5rem;
  text-decoration: none;
  width: 2.5rem;
  height: 2.5rem;
}

.blog-pagination__link--active {
  border-radius: var(--rounded-full);
  color: #fff;
}

.blog-pagination__link:hover,
.blog-pagination__link:focus {
  color: #00326d;
  text-decoration: none;
}

.blog-pagination__link--active:hover,
.blog-pagination__link--active:focus {
  color: #fff;
}

.blog-pagination__prev-link,
.blog-pagination__next-link {
  align-items: center;
  display: inline-flex;
}

.blog-pagination__prev-link {
  margin-right: 0.25rem;
  text-align: right;
}
.blog-pagination__next-link {
  margin-left: 0.25rem;
  text-align: left;
}

.blog-pagination__prev-link--disabled,
.blog-pagination__next-link--disabled {
  color: #d0d0d0;
  cursor: default;
  pointer-events: none;
}

.blog-pagination__prev-link svg,
.blog-pagination__next-link svg {
  fill: #00326d;
  margin: 0 5px;
}

.blog-pagination__link:hover svg,
.blog-pagination__link:focus svg {
  fill: #00326d;
}

.blog-pagination__prev-link--disabled svg,
.blog-pagination__next-link--disabled svg {
  fill: #d0d0d0;
}

/* Blog Post */

.blog-post {
  margin-top: 60px;
  position: relative;
}

.blog-post__header {
  margin-bottom: 1.5rem;
}

.blog-post__tags {
  margin-bottom: 0.7rem;
}

.blog-post__tag-link {
  display: inline-block;
  margin-right: 30px;
}

.blog-post__tag-link:hover,
.blog-post__tag-link:focus,
.blog-post__tag-link:active {
  text-decoration: none;
}

.blog-post__meta {
  margin-bottom: 1.5rem;
}

.blog-post__date {
  border-right: 2px solid;
  display: inline-block;
  margin-right: 10px;
  padding-right: 10px;
}

.blog-post__author-name:hover,
.blog-post__author-name:focus,
.blog-post__author-name:active {
  text-decoration: none;
}

.blog-post__image {
  border-radius: 18px;
  height: 200px;
  margin: 3rem 0;
  position: relative;
  width: 100%;
}

@media screen and (min-width: 786px) {
  .blog-post__image {
    height: 420px;
  }
}

.blog-post__comments-listing {
  margin-bottom: 5.6rem;
}

.comment {
  padding-top: 2em;
}

#comments-listing .comment-reply-to:hover,
#comments-listing .comment-reply-to:focus,
#comments-listing .comment-reply-to:active {
  background-color: transparent;
  border: none;
}

@media screen and (min-width: 1300px) {
  .blog-post__social-sharing .social-links {
    display: inline-flex;
    flex-direction: column;
  }
  .blog-post__social-sharing {
    left: -7rem;
    margin-bottom: 0;
    position: absolute;
    text-align: left;
    top: 9rem;
  }
}

.blog-post__author {
  display: flex;
  margin: 75px 0;
}

@media screen and (max-width: 1000px) {
  .blog-post__author {
    flex-direction: column;
    margin: 3rem 0;
  }
}

.blog-post__author-image {
  border-radius: 50%;
  flex: 0 0 auto;
  height: 150px;
  overflow: hidden;
  width: 150px;
}

.blog-post__author-image img {
  height: 100%;
  width: auto;
}

.blog-post__author-image ~ .blog-post__author-about {
  margin-left: 35px;
}

@media screen and (max-width: 1000px) {
  .blog-post__author-image ~ .blog-post__author-about {
    margin-left: 0;
    margin-top: 1.5rem;
  }
}

@media (min-width: 1024px) {
  .blog-header__navigation {
    gap: 5rem;
  }
}
/* Error Pages */

.error-page {
  padding: 10rem 0;
  position: relative;
  text-align: center;
}

.error-page:before {
  color: #f3f6f9;
  content: attr(data-error);
  font-size: 40vw;
  font-weight: bold;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  z-index: -1;
}

@media screen and (min-width: 1100px) {
  .error-page:before {
    font-size: 20rem;
  }
}

/* System Pages */

.systems-page {
  margin: 0 auto;
  max-width: 600px;
  padding: 3rem 20px;
}

.systems-page--search-results {
  max-width: 100%;
}

.systems-page .success {
  background-color: #cde3cc;
  border: 1.5px solid #4f7d24;
  border-radius: 6px;
  color: #4f7d24;
  display: inline-block;
  margin: 2rem 0;
  min-width: 650px;
  padding: 0.1rem 0.75rem;
}

.systems-page form input {
  max-width: 100%;
}

form#email-prefs-form {
  max-width: none;
}

form#email-prefs-form .header {
  background-color: transparent;
}

form#email-prefs-form .item.disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

form#email-prefs-form .item.disabled input:disabled {
  cursor: not-allowed;
}

form#email-prefs-form input#submitbutton {
  line-height: var(--leading-tight);
  max-width: 400px;
  white-space: unset;
}

/* Search Pages */

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

.hs-search-field__suggestions {
  background-color: #fff;
  max-width: 360px;
  position: absolute;
  right: 0;
  top: 100%;
  width: 100%;
}

.hs-search-results {
  margin-top: 2rem;
}

.hs-search-results__listing li {
  margin-bottom: 2rem;
}

.hs-search-results__pagination a {
  color: #00326d;
}

.hs-search-results__title {
  color: #00326d;
  font-family: var(--font-primary);
  font-size: var(--text-base);
  margin-bottom: 0.25rem;
  text-decoration: underline;
}

.hs-search-results__title:hover {
  text-decoration: none;
}

.hs-search-results__description {
  padding-top: 0.5rem;
}

.hs-search-highlight {
  font-weight: bold;
}

/* Password Prompt */

.password-prompt input[type="password"] {
  height: auto !important;
  margin-bottom: 1.55rem;
}

/* Backup Unsubscribe */

.backup-unsubscribe #email-prefs-form div {
  padding-bottom: 0 !important;
}

.backup-unsubscribe input[type="email"] {
  margin-bottom: 1.55rem;
  padding: 15px 12px !important;
}

#email-prefs-form,
#email-prefs-form h1,
#email-prefs-form h2 {
  color: #fff;
}

/* Membership Pages */

#hs-membership-password-requirements ul {
  margin-bottom: 20px;
  padding-left: 0;
}

#hs-membership-password-requirements ul li {
  margin: 0;
  line-height: 1.5;
}

.systems-page .hs-login-widget-show-password,
.systems-page .hs-register-widget-show-password,
.systems-page .hs-reset-widget-show-password {
  display: block;
  margin-bottom: 0.5rem;
}

.systems-page #hs-login-widget-remember,
.systems-page #hs-login-widget-remember ~ label {
  display: inline-block;
  margin-bottom: 3px;
}

.systems-page #hs_login_reset {
  display: block;
  margin-bottom: 0.625rem;
}

