/* Theme base styles */

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

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

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

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

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

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

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

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

body {
  margin: 0;
}

/**
 * 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: 80%;
}

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

legend {
  padding: 0;
}

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

progress {
  vertical-align: baseline;
}

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

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

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

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

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

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

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

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

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

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

details {
  display: block;
}

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

summary {
  display: list-item;
}

/* Design Tokens
Tthe visual vocabulary of the site
*/

/* Font families and fluid font sizes
*
*  @link https://utopia.fyi/type/calculator?c=320,16,1.125,1240,18,1.275,6,2,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12 */

:root {
  /* Red */
    --red-750: #460101;
    --red-700: #5d030c;
    --red-650: #760516;
    --red-600: #8e061c; 
    --red-525: #a80a23;
    --red-475: #CE132D; /* WVIB Red */
    --red-425: #df1132;
    --red-375: #f91439;
    --red-325: #ff4551;
    --red-275: #ff7473;
    --red-200: #ff9793;
    --red-150: #ffb3af;
    --red-100: #fecfcc;
    --red-50: #fce9e8;

    /* Blue */
    --blue-750: #15105e;
    --blue-700: #161980;
    --blue-650: #1f22a0;
    --blue-600: #1232c8; /* WVIB Blue */
    --blue-525: #2f34e2;
    --blue-475: #3c4fed;
    --blue-425: #4d68f0;
    --blue-375: #607cf2;
    --blue-325: #7591f4;
    --blue-275: #8ca5f6;
    --blue-200: #a4b8f6;
    --blue-150: #bac9f7;
    --blue-100: #d2dcf7;
    --blue-50: #eaeefa;

    /* Grey */
    --grey-750: #1e2224;
    --grey-700: #2b3033;
    --grey-650: #383e42;
    --grey-600: #454b4f;
    --grey-525: #535b60;
    --grey-475: #616a70;
    --grey-425: #6b757b;
    --grey-375: #7e8a90;
    --grey-325: #8d9ba2;
    --grey-275: #9fabb3;
    --grey-200: #b3bcc2;
    --grey-150: #c4ccd0;
    --grey-100: #d9dde0;
    --grey-50: #edefef;

    /* Merino */
    --merino-750: #24211d;
    --merino-700: #322f28;
    --merino-650: #423c33;
    --merino-600: #51493c;
    --merino-525: #615848;
    --merino-475: #726854;
    --merino-425: #837763;
    --merino-375: #928671;
    --merino-325: #a29783;
    --merino-275: #b3a894;
    --merino-200: #c6b9a3;
    --merino-150: #d5c9b4;
    --merino-100: #EEEDE3;
    --merino-50: #f6f0e6; /* WVIB Light Grey */

    /* Yellow */
    --yellow-750: #242300;
    --yellow-700: #323100;
    --yellow-650: #3f4000;
    --yellow-600: #4c4e00;
    --yellow-525: #5c5e00;
    --yellow-475: #6c6f00;
    --yellow-425: #7e7e00;
    --yellow-375: #8e8e00;
    --yellow-325: #9f9f00;
    --yellow-275: #b0b100;
    --yellow-200: #c2c30a;
    --yellow-150: #d2d329;
    --yellow-100: #e4e546;
    --yellow-50: #f0f168; /* WVIB Active Yellow */

    /* Green */
    --green-750: #01291a;
    --green-700: #013925;
    --green-650: #014931;
    --green-600: #01593c;
    --green-525: #016a49;
    --green-475: #017c56;
    --green-425: #02865d;
    --green-375: #05a070;
    --green-325: #05b37e;
    --green-275: #00c78c;
    --green-200: #1ddb9c;
    --green-150: #37ecab;
    --green-100: #8af6c5;
    --green-50: #d3f9e6;
}

@supports (color: oklch(20.31% 0.0423 100.94)) {
    :root {
        /* Red */
        --red-750: oklch(25% 0.1 28.97);
        --red-700: oklch(30.5% 0.12 24.35);
        --red-650: oklch(36% 0.141 22.86);
        --red-600: oklch(41% 0.162 22.86);
        --red-525: oklch(46.5% 0.183 22.86);
        --red-475: oklch(54.26% 0.2114 23.2); /* oklch(54.1% 0.2131 22.86) */
        --red-425: oklch(57.5% 0.226 22.86);
        --red-375: oklch(62.5% 0.246 22.86);
        --red-325: oklch(68% 0.229 22.86);
        --red-275: oklch(73.5% 0.179 22.86);
        --red-200: oklch(79% 0.132 22.86);
        --red-150: oklch(84% 0.092 22.86);
        --red-100: oklch(89.5% 0.053 22.86);
        --red-50: oklch(95% 0.021 22.86);

        /* Blue */
        --blue-750: oklch(25% 0.13 274.76);
        --blue-700: oklch(30.5% 0.165 270.19);
        --blue-650: oklch(36% 0.194 270.19);
        --blue-600: oklch(42.32% 0.2293 265.48); /* oklch(40.06% 0.2159 270.19); */
        --blue-525: oklch(46.5% 0.251 270.19);
        --blue-475: oklch(52% 0.235 270.19);
        --blue-425: oklch(57.5% 0.205 270.19);
        --blue-375: oklch(62.5% 0.178 270.19);
        --blue-325: oklch(68% 0.149 270.19);
        --blue-275: oklch(73.5% 0.121 270.19);
        --blue-200: oklch(79% 0.092 270.19);
        --blue-150: oklch(84% 0.066 270.19);
        --blue-100: oklch(89.5% 0.039 270.19);
        --blue-50: oklch(95% 0.016 270.19);

        /* Grey */
        --grey-750: oklch(25% 0.007 234.03);
        --grey-700: oklch(30.5% 0.008 233.98);
        --grey-650: oklch(36% 0.01 233.96);
        --grey-600: oklch(41% 0.011 233.95);
        --grey-525: oklch(46.5% 0.013 233.95);
        --grey-475: oklch(52% 0.014 233.95);
        --grey-425: oklch(55.6% 0.0152 233.95);
        --grey-375: oklch(62.5% 0.017 233.95);
        --grey-325: oklch(68% 0.019 233.95);
        --grey-275: oklch(73.5% 0.018 233.95);
        --grey-200: oklch(79% 0.013 233.95);
        --grey-150: oklch(84% 0.01 233.95);
        --grey-100: oklch(89.5% 0.006 233.95);
        --grey-50: oklch(95% 0.002 233.95);

        /* Merino */
        --merino-750: oklch(25% 0.009 85.38);
        --merino-700: oklch(30.5% 0.013 83.03);
        --merino-650: oklch(36% 0.018 82.25);
        --merino-600: oklch(41% 0.023 82.12);
        --merino-525: oklch(46.5% 0.028 82.5);
        --merino-475: oklch(52% 0.032 82.82);
        --merino-425: oklch(57.5% 0.033 80.71);
        --merino-375: oklch(62.5% 0.034 80.71);
        --merino-325: oklch(68% 0.031 80.71);
        --merino-275: oklch(73.5% 0.03 80.71);
        --merino-200: oklch(79% 0.034 80.71);
        --merino-150: oklch(84% 0.032 80.71);
        --merino-100: oklch(89.5% 0.02 80.71);
        --merino-50: oklch(95.71% 0.0148 80.71);

        /* Yellow */
        --yellow-750: oklch(25% 0.054 107.63);
        --yellow-700: oklch(30.5% 0.067 109.7);
        --yellow-650: oklch(36% 0.08 110.91);
        --yellow-600: oklch(41% 0.091 111.44);
        --yellow-525: oklch(46.5% 0.104 111.53);
        --yellow-475: oklch(52% 0.116 111.52);
        --yellow-425: oklch(57.5% 0.127 109.95);
        --yellow-375: oklch(62.5% 0.138 109.95);
        --yellow-325: oklch(68% 0.15 109.95);
        --yellow-275: oklch(73.5% 0.162 109.95);
        --yellow-200: oklch(79% 0.171 109.95);
        --yellow-150: oklch(84% 0.174 109.95);
        --yellow-100: oklch(89.5% 0.173 109.95);
        --yellow-50: oklch(93.88% 0.1662 109.95);

        /* Green */
        --green-750: oklch(25% 0.053 163.16);
        --green-700: oklch(30.5% 0.065 163.11);
        --green-650: oklch(36% 0.077 163.09);
        --green-600: oklch(41% 0.088 163.08);
        --green-525: oklch(46.5% 0.1 163.08);
        --green-475: oklch(52% 0.112 163.08);
        --green-425: oklch(54.87% 0.118 163.08);
        --green-375: oklch(62.5% 0.134 163.08);
        --green-325: oklch(68% 0.146 163.08);
        --green-275: oklch(73.5% 0.159 163.08);
        --green-200: oklch(79% 0.166 163.08);
        --green-150: oklch(84% 0.169 163.08);
        --green-100: oklch(89.5% 0.122 163.08);
        --green-50: oklch(95% 0.047 163.08);
    }
}

:root {
    --wvib-red: var(--red-475);
    --wvib-text-black: var(--grey-750);
    --wvib-blue: var(--blue-600);
    --wvib-dark-grey: var(--grey-425);
    --wvib-medium-grey: var(--grey-200);
    --wvib-light-grey: var(--merino-50);
    --wvib-black: #000000;
    --wvib-white: #ffffff;
}

/* Gradients */

:root {
    --wvib-gradient: linear-gradient(135deg, var(--wvib-red), var(--wvib-blue));
}

@supports (background-image: linear-gradient(in oklch to right, blue, red)) {
    :root {
        --wvib-gradient: linear-gradient(135deg in oklch, var(--wvib-red), var(--wvib-blue));
    }
}
/* Font families and fluid font sizes
*
*  @link https://utopia.fyi/type/calculator?c=320,16,1.125,1240,18,1.275,6,2,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12 */

:root {
  --font-family-base: "Roboto", 'Helvetica Neue', 'Arial Nova', 'Nimbus Sans', Arial, sans-serif;
  --font-family-display: 'Raleway', Rockwell, 'Rockwell Nova', 'Roboto Slab', 'DejaVu Serif', 'Sitka Small', serif;

  --font-size--2: clamp(0.692rem, 0.8242rem + -0.1706vw, 0.7901rem);
  --font-size--1: clamp(0.8824rem, 0.8912rem + -0.0114vw, 0.8889rem);
  --font-size-0: clamp(1rem, 0.9565rem + 0.2174vw, 1.125rem);
  --font-size-1: clamp(1.125rem, 1.0174rem + 0.538vw, 1.4344rem);
  --font-size-2: clamp(1.2656rem, 1.0697rem + 0.9795vw, 1.8288rem);
  --font-size-3: clamp(1.4238rem, 1.108rem + 1.579vw, 2.3318rem);
  --font-size-4: clamp(1.6018rem, 1.1249rem + 2.3847vw, 2.973rem);
  --font-size-5: clamp(1.802rem, 1.1104rem + 3.4583vw, 3.7906rem);
  --font-size-6: clamp(2.0273rem, 1.0514rem + 4.8794vw, 4.833rem);

  --font-size-base: var(--font-size-0);
  --font-size-poster: var(--font-size-6);

  --font-size-h1: var(--font-size-6);
  --font-size-h2: var(--font-size-5);
  --font-size-h3: var(--font-size-4);
  --font-size-h4: var(--font-size-2);
  --font-size-h5: var(--font-size-1);
  --font-size-h6: var(--font-size-0);

  --font-weight-h1: 600;
  --font-weight-h2: 600;
  --font-weight-h3: 600;
  --font-weight-h4: 600;
  --font-weight-h5: 600;
  --font-weight-h6: 500;

  --line-height-h1: 1.125;
  --line-height-h2: 1.125;
  --line-height-h3: 1.125;
  --line-height-h4: 1.2;
  --line-height-h5: 1.375;
  --line-height-h6: 1.4;

  --line-height: 1.4;
  --line-height-form: 1.2;
}

/* @todo: add variable fonts */
@supports (font-variation-settings: "wdth" 115) {
  :root {
    --font-family-base: Roboto, "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
    --font-family-display: Raleway, Roboto, "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  }
}
/* @link https://utopia.fyi/space/calculator?c=320,16,1.125,1240,18,1.275,6,2,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12 */

:root {
  --space-3xs: clamp(0.25rem, 0.2283rem + 0.1087vw, 0.3125rem);
  --space-2xs: clamp(0.5rem, 0.4783rem + 0.1087vw, 0.5625rem);
  --space-xs: clamp(0.75rem, 0.7065rem + 0.2174vw, 0.875rem);
  --space-s: clamp(1rem, 0.9565rem + 0.2174vw, 1.125rem);
  --space-m: clamp(1.5rem, 1.4348rem + 0.3261vw, 1.6875rem);
  --space-l: clamp(2rem, 1.913rem + 0.4348vw, 2.25rem);
  --space-xl: clamp(3rem, 2.8696rem + 0.6522vw, 3.375rem);
  --space-2xl: clamp(4rem, 3.8261rem + 0.8696vw, 4.5rem);
  --space-3xl: clamp(6rem, 5.7391rem + 1.3043vw, 6.75rem);

  /* One-up pairs */
  --space-3xs-2xs: clamp(0.25rem, 0.1413rem + 0.5435vw, 0.5625rem);
  --space-2xs-xs: clamp(0.5rem, 0.3696rem + 0.6522vw, 0.875rem);
  --space-xs-s: clamp(0.75rem, 0.6196rem + 0.6522vw, 1.125rem);
  --space-s-m: clamp(1rem, 0.7609rem + 1.1957vw, 1.6875rem);
  --space-m-l: clamp(1.5rem, 1.2391rem + 1.3043vw, 2.25rem);
  --space-l-xl: clamp(2rem, 1.5217rem + 2.3913vw, 3.375rem);
  --space-xl-2xl: clamp(3rem, 2.4783rem + 2.6087vw, 4.5rem);
  --space-2xl-3xl: clamp(4rem, 3.0435rem + 4.7826vw, 6.75rem);

  /* Custom pairs */
  --space-s-l: clamp(1rem, 0.5652rem + 2.1739vw, 2.25rem);
}

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



/* CSS variables */

:root {
  --column-gap: var(--space-m-l, 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: 0;
  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));
    }
  
}

/* Grid Utility Classes */
.grid {
  display: grid;
  column-gap: var(--column-gap, 1.5rem);
}

.columns {
  --_columns: 1;
  grid-template-columns: repeat(var(--_columns), 1fr);
}

@media (min-width: 40em) {
  .columns {
    --_columns: var(--columns, 12);
  }
}
.body-container-wrapper {
  overflow: hidden;
}

.page-checkout .body-container-wrapper {
  overflow: visible;
}

.content-wrapper {
  margin: 0 auto;
  padding: 0 1rem;
}

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

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

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

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

.shape-background {
  background-color: var(--wvib-red, red);
  background-origin: content-box;
}

/* 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 {
  font-family: var(--font-family-base, sans-serif);
  line-height: var(--line-height, 1.4);
  color: var(--wvib-text-black, #000000);
  overflow-wrap: break-word;
  text-rendering: optimizeLegibility;
}

/* 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-family: var(--font-family-base, sans-serif);
  font-size: var(--font-size-base, 1rem);
  margin: 0 0 1rem;
}

/* Anchors */

a {
  cursor: pointer;
}

/* Headings */

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 400;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
  margin-block-start: 0.5em;
  margin-block-end: 0.5em;
  color: var(--wvib-red, #CE0E2D);
}

h1, .h1 {
    font-family: var(--font-family-display, sans-serif);
    font-size: var(--font-size-h1);
    line-height: 1.1;
}

h2, .h2 {
    font-family: var(--font-family-display, sans-serif);
    font-size: var(--font-size-h2);
    line-height: 1.2;
}

h3, .h3 {
    font-family: var(--font-family-display, sans-serif);
    font-size: var(--font-size-h3);
    line-height: 1.25;
}

h4, .h4 {
  font-family: var(--font-family-display, serif);
    font-size: var(--font-size-h4);
}

h5, .h5 {
    font-family: var(--font-family-display, serif);
    font-size: var(--font-size-h5);
}

h6, .h6 {
    font-family: var(--font-family-base, sans-serif);
    font-size: var(--font-size-h6);
}

/* Lists */

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

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

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

/* Code blocks */

pre {
  overflow: auto;
}

code {
  vertical-align: bottom;
}

/* Blockquotes */

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

/* Horizontal rules */

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

/* Image alt text */

img {
  font-size: 0.583rem;
  word-break: normal;
}

.widget-type-rich_text p {
 max-width: 48em;
}

/* Labels and flags */

:where(.event-type) {
  font-family: var(--font-family-display, sans-serif);
  font-weight: 700;
  background: linear-gradient(135deg, var(--wvib-red) 0%, var(--wvib-blue) 100%);;
  color: white;
  display: inline-block;
  padding: 2px 10px;
  border-radius: 0.75em;
   -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

@supports (background-image: linear-gradient(in oklch to right, blue, red)) {
  :where(.event-type) {
    background: linear-gradient(135deg in oklch, var(--wvib-red) 0%, var(--wvib-blue) 100%);;
  }
}
button,
.button,
.hs-button,
.hs-blog-post-listing__post-button {
  --_color: #ffffff;
  --_background: var(--wvib-red, #CE0E2D);
  --_border-color: rgba(0, 0, 0, 0);

  cursor: pointer;
  display: inline-block;
  text-align: center;
  transition: all 0.15s ease;
  white-space: normal;
  text-decoration: none;
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  white-space: nowrap;
  font-size: var(--font-size-base, 18px);
  line-height: 1.17648;
  font-weight: 700;
  letter-spacing: -.01em;
  transition: all 0.15s ease;
  font-family: var(--font-family-display, sans-serif);

  border-style: solid;
  border-width: 1.75px;
  min-width: 30px;
  padding-left: 1em;
  padding-right: 1em;
  padding-top: 0.7em;
  padding-bottom: 0.7em;
  border-radius: 980px;
  background: var(--_background, #CE0E2D);
  color: var(--_color, #ffffff);
  border-color: var(--_border-color, rgba(0, 0, 0, 0));
}

button:hover,
.button:hover,
.hs-button:hover,
.hs-blog-post-listing__post-button:hover {
  --_background: var(--blue-600);
}

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

.button--ghost {
  --_color: var(--wvib-red, #CE0E2D);
  --_border-color: var(--_color, #CE0E2D);
  --_background: rgba(0, 0, 0, 0);
}

.button--ghost:hover {
  --_color: #ffffff;
  --_background: var(--wvib-red, #CE0E2D);
  --_border-color: rgba(0, 0, 0, 0);
}

.button--icon {
  gap: 0.625em;
}

.button--white {
    --_color: var(--wvib-red,#ce0e2d);
    --_border-color: transparent;
    --_background: #fff
}

.button--white:hover {
    --_color: #fff;
    --_background: var(--wvib-blue,#ce0e2d);
    --_border-color: transparent
}

button svg, .button svg {
  display: block;
}

/* No button */

.no-button,
.no-button:hover,
.no-button:focus,
.no-button:active,
.hs-blog-post-listing__post-button:hover,
.hs-blog-post-listing__post-button:focus {
  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;
  transition: none;
}

/* Swiper Arrow Buttons */


button.swiper-button-next,
button.swiper-button-prev {
  all: unset;
  cursor: pointer;
  border-radius: 100%;
}

button.swiper-button-next:not(.swiper-button-disabled):hover,
button.swiper-button-prev:not(.swiper-button-disabled):hover {
  background-color: var(--red-50);
}

button.swiper-button-disabled {
  opacity: 0.25;
  cursor: auto;
}
.link {
  display: inline-flex;
  align-items: center;
  --_color: var(--wvib-red, #CE0E2D);
  color: var(--_color);
  font-size: var(--font-size-base, 18px);
  font-weight: 700;
  font-family: var(--font-family-display, sans-serif);
  text-decoration: none;
  transition: 150ms cubic-bezier(0.215,0.61,0.355,1);
  transition-property: color, opacity;
}

.link--icon {
  gap: 0.625em;
}

.link--icon svg {
  fill: currentColor;
  transition: transform 150ms cubic-bezier(0.215,0.61,0.355,1);
}

.link:hover {
  color: var(--blue-600);
}

.link:hover svg {
  transform: translateX(3px);
}
:root {
  accent-color: var(--wvib-red, red);
}

/* Fields */

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

/* Labels */

form label {
  display: block;
  font-size: var(--font-size-0, 1rem);
  margin-bottom: 0.35rem;
  font-weight: 700;
}

/* Form Title */
.form-title {
  margin-bottom: 0;
}

/* Help text */

form legend {
  font-size: var(--font-size-0, 1rem);
}

/* Inputs */

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: var(--font-size-0, 1rem);
  padding: 0.7rem;
  width: 100%;
  background-color: #F8F8F5;
  border: 1.5px solid var(--grey-375, #7e8a90);
  border-radius: 4px;
}

form textarea {
  resize: vertical;
}

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

/* Inputs - checkbox/radio */

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

form .inputs-list > li {
  display: block;
  margin: 0.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;
  width: 24px;
  height: 24px;
}

.hs-fieldtype-radio label.hs-form-radio-display {
  font-weight: 400;
}

/* Checkout form notices and last section */

.form-notice,
.legal-consent-container .hs-richtext:last-child {
  color: var(--wvib-red);
  background-color: #f6f0e6;
  padding: 1em;
  border-radius: var(--space-xs);
}

.legal-consent-container .hs-richtext:last-child {
  margin-top: 2rem; 
}

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

/* Inputs - date picker */

.hs-dateinput {
  position: relative;
}

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

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

.fn-date-picker td.is-selected .pika-button {
  border-radius: 0;
  box-shadow: none;
}

.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;
}

/* Headings and text */

form .hs-richtext,
form .hs-richtext p {
  font-size: var(--font-size-0, 1rem);
  margin: 0 0 1.4rem;
}

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

form .hs-richtext h2 {
  font-size: var(--font-size-h3, 2rem);
  margin-top: 1em;
}

/* 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: var(--wvib-blue, blue);
}

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

.hs-error-msg {
  color: var(--wvib-red, red);
  margin-top: 0.35rem;
}

/* Submit button */

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

/* Captcha */

.grecaptcha-badge {
  margin: 0 auto;
}


  /* Search button input field and suggestions */
  .body-container-wrapper .hs-search-field__button {
    padding: 15px;
  }

  .body-container-wrapper .hs-search-field__bar--button-inline .hs-search-field__button {
    margin-left: 6px;
    margin-bottom: 0;
  }

  .body-container-wrapper .hs-search-field__button svg {
    height: 15px;
    fill: #fff;
  }

  .body-container-wrapper .hs-search-field__bar > form > .hs-search-field__input {
    padding: 10px;
  }

  .body-container-wrapper .hs-search-field__suggestions li a {
    color: #494A52;
    padding: 0.35rem 0.7rem;
    text-decoration: none;
    transition: background-color 0.3s;
  }

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

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

.header {
  --nav-color: var(--wvib-red);
  position: relative;
  z-index: 100;
  padding: 0 0.25rem 0 1rem;
}

.header.header--inverted {
 --nav-color: #ffffff;
  background-color: var(--wvib-red);
}

.header.header--inverted #hs_cos_wrapper_site_search .hs-search-field__bar>form>.hs-search-field__input {
  background-color: transparent;
}

#hs_cos_wrapper_site_search .hs-search-field__bar>form>.hs-search-field__input {
  font-size: var(--font-size-2);
  font-family: var(--font-family-display);
}

#hs_cos_wrapper_site_search .hs-search-field__bar>form>.hs-search-field__input:focus {
  outline: none;
  border: none;
}

@media (min-width: 768px) {
  .header {
    padding: 0 1rem;
    height: 124px;
  }
}

/* Header container */

.header__container {
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 1;
}

.header__row-1,
.header__row-2 {
  align-items: center;
  display: flex;
  justify-content: flex-end;
  width: 100%;
  gap: 1rem;
}

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

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

@media (max-width: 1150px) and (min-width: 768px) {
  .header__column {
    width: 100%;
  }
}

@media (max-width: 767px) {
  .header__container {
    padding: 0;
  }

  .header__column {
    position: relative;
  }

  .header__row-1 {
    padding-top: 0;
    display: none;
  }

  .header__row-2 {
    justify-content: flex-end;
    padding: .5rem;
  }
}

/* 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;
  margin-right: auto;
  max-width: 200px;
  overflow: hidden;
}

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

.header__logo img {
  max-width: 100%;
}

.header__logo .logo-company-name {
  font-size: 1.167rem;
  margin-top: 0.7rem;
}

.header__logo--main {
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-block: 1rem;
}

@media (min-width: 768px) {
  .header__logo--main {
    padding-top: 3rem;
    padding-bottom: 1rem;
  }
}

/* Search bar */

.header__search-buttons {
  width: 48px;
  height: 48px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.header__search {
  padding: 0 1rem;
  width: auto;
}

.header__search.header--element {
  display: block;
  height: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(-20px);
  transition: all 0.1s ease;
  background: #fff;
  border-radius: 1rem;
  box-shadow: 0 0 60px rgba(0, 0, 0, .25);
  left: 0;
  margin: 1rem auto 0;
  max-width: min(100% - 2rem, 1200px);
  padding: 1rem;
  position: absolute;
  right: 0;
  width: 100%;
  z-index: 1000;
  pointer-events: none;
}

@media screen and (min-width: 48em) {
  .header__search.header--element {
    max-width: min(100% - 4rem, 1200px);
  }
}

.header__search.header--element.open {
  box-shadow: 0 10px 60px rgba(0, 0, 0, .25);
  z-index: 1000;
  display: block;
  opacity: 1;
  height: auto;
  transform: translateY(0);
  pointer-events: all;
  overflow: visible;
}

.hs-search-field__bar>form>.hs-search-field__input {
    margin-right: 48px;
}



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

  .header__search .hs-search-field__label {
    flex-basis: auto;
    clip: rect(0 0 0 0); 
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap; 
    width: 1px;
  }



#hs_cos_wrapper_site_search .hs-search-field__button {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26' viewBox='0 0 26 26'%3e %3cpath fill='rgb(206, 19, 45)' d='m25.69 23.8-6.81-6.6a10.54 10.54 0 1 0-1.6 1.62l6.76 6.55a1.14 1.14 0 0 0 1.6.04 1.15 1.15 0 0 0 .05-1.61ZM10.6 18.9a8.32 8.32 0 1 1 5.88-2.43 8.27 8.27 0 0 1-5.88 2.44Z'/%3e %3c/svg%3e");
  background-position: center;
  background-repeat: no-repeat;
  width: 45px;
  height: 45px;
}

.header__search .hs-search-field__input {
  
  height: 45px;
  padding: 0 0.7rem;
}



  .header__search .hs-search-field__button {
    padding: 0;
    fill: #000;
    background-color: transparent;
    border: none;
    padding: 10px;
    position: absolute;
    top: 0;
    right: 0;
  }

  .header__search .hs-search-field__button svg {
    height: 25px;
  }


.header__search .hs-search-field--open .hs-search-field__input {
  border-bottom: none;
  border-radius: 6px 6px 0 0;
  max-width: 100%;
}

.header__search .hs-search-field--open .hs-search-field__suggestions {
  background-color: #f6f0e6;
  border: none;
  border-radius: 1rem;
  position: absolute;
  top: 20px;
  width: calc(100% + 2rem);
  z-index: 10;
  left: -1rem;
}

.header__search .hs-search-field__suggestions li {
  font-size: var(--font-size-0, 1rem);
}

.header__search .hs-search-field__suggestions li:last-child {
  margin-bottom: 10px;
}

.header__search .hs-search-field__suggestions li a {
  color: #494A52;
  padding: 0.35rem 0.7rem;
  text-decoration: none;
  transition: background-color 0.3s;
}

.header__search .hs-search-field__suggestions #results-for {
  display: none;
}

.hs-search-field__suggestions .results-for.results-for {
  padding: 26px 26px 10px;
}

#hs_cos_wrapper_site_search .hs-search-field--open .hs-search-field__suggestions a {
  padding: 10px 26px;
}

@media (min-width: 768px) {
  .header__search form {
    align-items: center;
    display: flex;
    flex-direction: row;
  }

  .header__search label {
    margin: 0 1rem 0 0;

    /* We're hiding it visually */
    clip: rect(0 0 0 0); 
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap; 
    width: 1px;
  }

  .header__search .hs-search-field__input {
    width: auto;
  }
}

@media (max-width: 767px) {
  .header__search {
    border-top: 2px solid #CED4DB;
    order: 1;
    padding: 1.05rem;
  }
}

.hs-search-field__button svg {
  fill: var(--wvib-red);
}

/* Language switcher */

.header__language-switcher {
  cursor: pointer;
  padding-right: 1.4rem;
}

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

.header__language-switcher .lang_list_class {
  border: 2px solid;
  border-radius: 3px;
  box-shadow: 0 2px 9px 0 rgba(0, 0, 0, 0.2);
  display: block;
  left: calc(100% - 24px);
  opacity: 0;
  min-width: 100px;
  padding-top: 0;
  text-align: left;
  top: 100%;
  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:before {
  left: 70%;
  top: -25px;
}

.header__language-switcher .lang_list_class:after {
  left: 70%;
  top: -22px;
}

.header__language-switcher .lang_list_class.first-active::after {
  top: -22px;
  transition: 0.3s;
}

.header__language-switcher .lang_list_class li {
  border: none;
  font-size: 18px;
  padding: 0.35rem 0.7rem;
}

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

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

.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;
  display: flex;
  font-size: 0.75rem;
  margin-bottom: 0.175rem;
  margin-left: 0.7rem;
}

.header__language-switcher--label-current:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 6px solid #494A52;
  content: "";
  display: block;
  height: 0px;
  margin-left: 0.7rem;
  margin-top: 0.175rem;
  width: 0px;
}

@media (max-width: 767px) {
  .header__language-switcher {
    border-top: 2px solid #CED4DB;
    padding-left: 1.05rem;
    padding-right: 0;
  }

  .header__language-switcher .lang_list_class {
    border: none;
    box-shadow: unset;
    display: block;
    left: 30px;
    opacity: 1;
    padding: 0 1.05rem;
    top: 0;
    visibility: visible;
  }

  .header__language-switcher .lang_list_class li {
    background-color: inherit;
    font-size: 0.917rem;
  }

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

  .header__language-switcher .globe_class {
    background-image: none;
  }

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

  .header__language-switcher .lang_list_class:before,
  .header__language-switcher .lang_list_class:after {
    content: none;
  }
    /* V1 lang switcher updates to keep "in line" w/ v0 mobile styles */
    .header__language-switcher .hs-language-switcher__menu {
        display: block;
        box-shadow:none!important;
        background: transparent;
    }
    .header__language-switcher .hs-language-switcher__menu a {
        font-size: 20px!important;
    }
    .header__language-switcher .hs-language-switcher__button {
        display: none;
    }
  }

/* Navigation */

#nav-toggle {
  display: none;
}

/* Mobile toggles */

@media (max-width: 767px) {
  .header__search,
  .header__language-switcher {
    display: none;
    width: 100%;
  }

  .header__search.open,
  .header__navigation.open,
  .header__language-switcher.open {
    background-color: #F8FAFC;
    display: block;
    left: 0;
    position: absolute;
    right: 0;
    top: 75px;
    z-index: 2;
  }
  
  .header__navigation.open,
  .header__language-switcher.open {
    min-height: calc(100vh - 115px);
  }

  .header__navigation--toggle,
  .header__search--toggle,
  .header__language-switcher--toggle,
  .header__close--toggle {
    cursor: pointer;
    margin: 0;
    position: relative;
  }

  .header__navigation--toggle.hide,
  .header__search--toggle.hide,
  .header__language-switcher--toggle.hide {
    display: none;
  }

  .header__navigation--toggle.open,
  .header__search--toggle.open,
  .header__language-switcher--toggle.open {
    display: block;
    margin-left: 0;
    margin-right: auto;
  }

  .header__navigation--toggle:after,
  .header__search--toggle:after,
  .header__language-switcher--toggle:after {
    display: none;
    font-size: 1.083rem;
    font-weight: 600;
    position: absolute;
    left: 40px;
    text-transform: uppercase;
    top: -10px;
  }

  .header__navigation--toggle.open:after,
  .header__search--toggle.open:after,
  .header__language-switcher--toggle.open:after {
    display: block;
    word-break: normal;
  }

  .header__navigation--toggle {
    display: inline-block;
    height: 26px;
    width: 26px;
  }

  .header__navigation--toggle:after {
    content: "Menu";
  }

  .header__language-switcher--toggle {
    background-image: url(//static.hsappstatic.net/cos-LanguageSwitcher/static-1.1/img/globe.png);
    background-size: cover;
    height: 25px;
    width: 25px;
  }
  
  
}

.header__close--toggle {
    all: unset;
    color: var(--nav-color);
    cursor: pointer;
    display: none;
    height: 48px;
    width: 48px;
    align-items: center;
    justify-content: center;
    margin-right: 0;
  }

.header__search--toggle {
    all: unset;
    color: var(--nav-color);
    cursor: pointer;
    display: inline-flex;
    height: 48px;
    width: 48px;
    align-items: center;
    justify-content: center;
  }


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

.header__close--toggle.show {
    display: inline-flex;
  }
/* 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%;
}

.dnd_area-row-3-background-color {
  position: relative;
  overflow: hidden;
}

/* Module header */
.module-header {
    --_color: var(--wvib-red, #fff);
    --_background-color: transparent;

    background-color: var(--_background-color);
    margin-bottom: var(--space-xs);
}

.module-header--light {
    --_color: var(--wvib-white, #fff);
}

.module-header * {
    color: var(--_color);
}

.module-header.pretty .module-header__heading {
  text-wrap: pretty;
}

.module-header.heading-narrow .module-header__heading,
.module-header.heading-narrow .module-header__summary {
  max-width: min(100%, 48rem);
}

.module-header__summary {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--space-m-l);
    flex-wrap: wrap;
    font-size: var(--font-size-base,1rem);
}

.span4 .module-header__summary {
  justify-content: flex-start;
  gap: var(--space-s);
}

.module-header__summary a.button {
    white-space: nowrap;
}

.module-header__summary p {
    margin: 0;
    max-width: min(max(48ch,50%),100vw);
    font-size: var(--font-size-1);
}

.module-header__summary li {
 margin-bottom: 0.375em; 
}

.module-header__actions {
  margin-bottom: var(--space-s);
}

.heading > * {
    display: block;
}

.heading__caption {
    font-size: var(--font-size-2);
    padding-block: 0.5em;
    border-top: 1.5px solid var(--_color);
    border-bottom: 1.5px solid var(--_color);
    margin-bottom: 1em;
    color: var(--_color);
}

.heading__title {
    color: var(--_color);
    text-wrap: balance;
    text-wrap: pretty;
}

h1 .heading__title {
    font-size: var(--font-size-6);
}

h2 .heading__title {
    font-size: var(--font-size-6);
}

h3 .heading__title {
    font-size: var(--font-size-h3);
}

h4 .heading__title {
    font-size: var(--font-size-h4);
}

h5 .heading__title {
    font-size: var(--font-size-h4);
}

h6 .heading__title {
    font-size: var(--font-size-h4);
}

.module-header .button--ghost {
    --_color: var(--wvib-red, red);
}

.module-header .button--ghost:hover {
    --_color:var(--wvib-white, #fff);
    --_background: var(--wvib-red, red);
}

.module-header.module-header--light .button--ghost {
    --_color: var(--wvib-white, #fff);
}

.module-header.module-header--light .button--ghost:hover {
    --_color: var(--wvib-red, red);
    --_background: var(--wvib-white, #fff);
}

/* 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, .visually-hidden:not(:focus):not(:active), input.visually-hidden.visually-hidden {
  clip: rect(0 0 0 0); 
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap; 
  width: 1px;
}

.smoothed {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.flex-centered {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}