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

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



/* CSS variables */

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

/* Mobile layout */

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


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

/* Desktop layout */

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

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

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

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

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

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

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

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

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

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

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

/* Paragraphs */

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

/* Anchors */

a {
  cursor: pointer;
}

/* Headings */

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

/* Lists */

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

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.4rem;
  padding-left: 0.7rem;
}

/* Horizontal rules */

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

/* Image alt text */

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

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

/* No button */

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

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

/* Labels */

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

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

/* Help text */

form legend {
  font-size: 0.875rem;
}

/* 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: 0.875rem;
  padding: 0.7rem;
  width: 100%;
}

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

/* 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: 0.875rem;
  margin: 0 0 1.4rem;
}

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

/* GDPR */

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

/* Validation */

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

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

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

/* Submit button */

form input[type=submit],
form .hs-button {
  cursor: pointer;
  display: inline-block;
  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 container */

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

.header__row-1 {
  padding-top: 1rem;
}

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

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

@media (max-width: 767px) {
  .header__container {
    flex-direction: column;
    padding: 1rem 0 0;
  }

  .header__column {
    position: relative;
  }

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

  .header__row-2 {
    justify-content: center;
    padding: 1.05rem;
  }
}

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

/* Search bar */

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



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

  .header__search .hs-search-field__label {
    flex-basis: auto;
  }



.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: #FFF;
  border: 2px solid #D1D6DC;
  border-radius: 0 0 6px 6px;
  border-top-width: 1px;
  position: absolute;
  width: 100%;
  z-index: 10;
}

.header__search .hs-search-field__suggestions li {
  border-top: 1px solid #D1D6DC;
  font-size: 0.875rem;
}

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

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

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

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

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

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

/* Navigation */

#nav-toggle {
  display: none;
}

/* Mobile toggles */

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

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

  .header__navigation--toggle,
  .header__search--toggle,
  .header__language-switcher--toggle,
  .header__close--toggle {
    cursor: pointer;
    margin: 0 5vw;
    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 {
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAxOSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4gICAgICAgIDx0aXRsZT5oYW1idXJnZXI8L3RpdGxlPiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4gICAgPGcgaWQ9ImhhbWJ1cmdlciIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+ICAgICAgICA8ZyBpZD0iR3JvdXAiIHN0cm9rZT0iIzQ5NEE1MiIgc3Ryb2tlLXdpZHRoPSIzIj4gICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlIiB4PSIxLjUiIHk9IjEuNSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjUiPjwvcmVjdD4gICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLUNvcHktNCIgeD0iMS41IiB5PSI5LjUiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxIiByeD0iMC41Ij48L3JlY3Q+ICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1Db3B5LTUiIHg9IjEuNSIgeT0iMTcuNSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjUiPjwvcmVjdD4gICAgICAgIDwvZz4gICAgPC9nPjwvc3ZnPg==);
    background-size: cover;
    height: 25px;
    width: 25px;
  }

  .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__language-switcher--toggle:after {
    content: "Language";
  }

  .header__search--toggle {
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4gICAgICAgIDx0aXRsZT5TZWFyY2g8L3RpdGxlPiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4gICAgPGRlZnM+ICAgICAgICA8cGF0aCBkPSJNOS4xMzg2MTUzNCwxNS44OTI1Njg1IEM1LjQxMzk1NzQyLDE1Ljg5MjU2ODUgMi4zODM4ODUyNywxMi44NjM0NDc1IDIuMzgzODg1MjcsOS4xMzkwMDM3NiBDMi4zODM4ODUyNyw1LjQxNDU2MDA1IDUuNDEzOTU3NDIsMi4zODM4ODUyNyA5LjEzODYxNTM0LDIuMzgzODg1MjcgQzEyLjg2MzI3MzMsMi4zODM4ODUyNyAxNS44OTI1Njg1LDUuNDE0NTYwMDUgMTUuODkyNTY4NSw5LjEzOTAwMzc2IEMxNS44OTI1Njg1LDEyLjg2MzQ0NzUgMTIuODYzMjczMywxNS44OTI1Njg1IDkuMTM4NjE1MzQsMTUuODkyNTY4NSBNOS4xMzg3NTI0NSwyLjQzMzYwODg3ZS0xMyBDMTQuMTc3OTk1NSwyLjQzMzYwODg3ZS0xMyAxOC4yNzY0NTM3LDQuMTAwMzI0NzEgMTguMjc2NDUzNyw5LjEzOTI3Nzk2IEMxOC4yNzY0NTM3LDExLjIyOTgyMTEgMTcuNTcxMDE2OSwxMy4xNTg0NDM0IDE2LjM4NTYzMTMsMTQuNjk5NjY5NiBMMjMuNjUwODg4MSwyMS45NjUyMjY2IEMyNC4xMTYzNzA2LDIyLjQzMDcwOTIgMjQuMTE2MzcwNiwyMy4xODU0MDU1IDIzLjY1MDg4ODEsMjMuNjUwODg4MSBDMjMuMTg1NDA1NSwyNC4xMTYzNzA2IDIyLjQzMDcwOTIsMjQuMTE2MzcwNiAyMS45NjUyMjY2LDIzLjY1MDg4ODEgTDE0LjY5OTgxMzMsMTYuMzg1NDcxMyBDMTMuMTU4NDQwNSwxNy41NzA5NTA5IDExLjIyOTU3MzgsMTguMjc2NDUzNyA5LjEzODc1MjQ1LDE4LjI3NjQ1MzcgQzQuMDk5NTA5MzgsMTguMjc2NDUzNyAtMy43MzAzNDkzNmUtMTQsMTQuMTc4MjMxMiAtMy43MzAzNDkzNmUtMTQsOS4xMzkyNzc5NiBDLTMuNzMwMzQ5MzZlLTE0LDQuMTAwMzI0NzEgNC4wOTk1MDkzOCwyLjQzMzYwODg3ZS0xMyA5LjEzODc1MjQ1LDIuNDMzNjA4ODdlLTEzIFoiIGlkPSJwYXRoLTEiPjwvcGF0aD4gICAgPC9kZWZzPiAgICA8ZyBpZD0iU2VhcmNoIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4gICAgICAgIDxtYXNrIGlkPSJtYXNrLTIiIGZpbGw9IndoaXRlIj4gICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPiAgICAgICAgPC9tYXNrPiAgICAgICAgPHVzZSBpZD0iSWNvbnMvQWN0aW9ucy9TZWFyY2giIGZpbGw9IiM0OTRBNTIiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPiAgICA8L2c+PC9zdmc+);
    background-size: cover;
    height: 25px;
    width: 25px;
  }

  .header__search--toggle:after {
    content: "Search";
  }

  .header__close--toggle {
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjE5cHgiIHZpZXdCb3g9IjAgMCAyNCAxOSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4gICAgICAgIDx0aXRsZT5jbG9zZTwvdGl0bGU+ICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPiAgICA8ZyBpZD0iY2xvc2UiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPiAgICAgICAgPGcgaWQ9Ikdyb3VwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyLjAwMDAwMCwgLTEuMDAwMDAwKSIgc3Ryb2tlPSIjNDk0QTUyIiBzdHJva2Utd2lkdGg9IjMiPiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEwLjAwMDAwMCwgMTAuNTAwMDAwKSByb3RhdGUoLTQ1LjAwMDAwMCkgdHJhbnNsYXRlKC0xMC4wMDAwMDAsIC0xMC41MDAwMDApICIgeD0iLTAuNSIgeT0iMTAuNSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjUiPjwvcmVjdD4gICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLUNvcHktNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAuMDAwMDAwLCAxMC41MDAwMDApIHJvdGF0ZSg0NS4wMDAwMDApIHRyYW5zbGF0ZSgtMTAuMDAwMDAwLCAtMTAuNTAwMDAwKSAiIHg9Ii0wLjUiIHk9IjEwLjUiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxIiByeD0iMC41Ij48L3JlY3Q+ICAgICAgICA8L2c+ICAgIDwvZz48L3N2Zz4=);
    background-repeat: no-repeat;
    background-size: 110%;
    display: none;
    height: 25px;
    margin-right: 0;
    width: 25px;
  }

  .header__close--toggle.show {
    display: block;
  }
}
/* 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%;
}
/* CloudBilling gedeelde basis — sectie-layout, knoppen, links (tokens: zie theme-overrides.css)
   Gebruikt door de cb-*-modules; sectie-specifieke styling zit per module in module.css. */

.cb-page {
  max-width: 1360px;
  margin: 0 auto;
}

.cb-section {
  padding: 80px 24px;
}

.cb-section--white { background: #fff; }
.cb-section--light { background: var(--cb-light-grey); }

.cb-inner {
  max-width: 1280px;
  margin: 0 auto;
}

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

.cb-section-head {
  max-width: 758px;
  margin: 0 auto 40px;
  text-align: center;
}

/* Fluid sectiekoppen: 32px (mobiel, Figma) tot de theme-waarde (h2 = 52px) */
.cb-section-head h2,
.cb-section-head .h2 { font-size: clamp(32px, 6vw, 52px); }

.cb-section-head .cb-superheader { margin-bottom: 16px; }

.cb-section-head p {
  color: var(--cb-text);
  font-size: 18px;
  line-height: 28px;
  margin: 16px 0 0;
}

/* Superheader (overschrijft utility: tracking uit design-export) */
.cb-superheader {
  letter-spacing: 1.12px;
  line-height: 21px;
}

/* ---------- Knoppen ---------- */

.cb-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 16px 28px;
  border: 0;
  border-radius: 16px;
  background: linear-gradient(180deg, #FF7B54 0%, #FF5B29 100%);
  box-shadow: 0 4px 6px rgba(255, 91, 41, 0.3);
  color: #fff !important;
  font-family: var(--cb-font);
  font-size: 18px;
  font-weight: 600;
  line-height: 24px;
  text-decoration: none;
  cursor: pointer;
  transition: filter .15s ease;
}

.cb-btn:hover, .cb-btn:focus {
  filter: brightness(1.07);
  color: #fff;
  box-shadow: 0 4px 18px rgba(255, 91, 41, 0.55), 0 0 28px rgba(255, 91, 41, 0.35);
}

.cb-btn--small {
  padding: 12px 24px;
  border-radius: 12px;
  font-size: 16px;
}

.cb-btn--outline {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.35);
  box-shadow: none;
}

.cb-btn--ghost {
  background: transparent;
  border: 1px solid transparent;
  box-shadow: none;
  color: #fff !important;
  padding-left: 16px;
  padding-right: 16px;
}

/* Outline/ghost: geen gloed, wel oranje rand op hover */
.cb-btn--outline:hover, .cb-btn--outline:focus,
.cb-btn--ghost:hover, .cb-btn--ghost:focus {
  filter: none;
  box-shadow: none;
  border-color: #FF5A3A;
}

.cb-btn__arrow { width: 20px; height: 20px; }

.cb-link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #FF5A3A !important;
  font-size: 18px;
  font-weight: 600;
  text-decoration: none;
}

.cb-link-arrow img { width: 20px; height: 20px; }

.cb-link-arrow:hover { filter: brightness(1.1); }

/* ---------- Mobiel (Figma Home_Mobile, 375px) ---------- */
@media (max-width: 767px) {
  .cb-section { padding: 40px 16px; }
  .cb-section-head { margin-bottom: 32px; }
  .cb-section-head p { font-size: 16px; }
  /* Superheader mobiel 11px (desktop 14px) */
  .cb-superheader { font-size: 11px; }
}
/* CloudBilling site-chrome — nav + footer + dnd-fullbleed-resets, gedeeld door alle cb-pagina's.
   (Verplaatst uit css/templates/cb-home.css nu meerdere templates dezelfde chrome delen.) */

body { background-color: #CCC9C6; }

/* Voorkomt horizontale scroll/grijze rand door decoratieve carousels & vormen die
   buiten de viewport steken. `clip` i.p.v. `hidden`: klipt zonder een scroll-container
   te worden, zodat de sticky nav en position:sticky nergens breken. */
.body-container--cb { overflow-x: clip; }

/* DnD-secties full-bleed: theme-overrides zet 80px 1rem padding en max-width 1240px
   op .dnd-section/.row-fluid — de cb-modules regelen hun eigen spacing binnen .cb-page */
.body-container--cb .dnd-section { padding: 0; }
.body-container--cb .dnd-section > .row-fluid { max-width: none; }
.body-container--cb .dnd-section .dnd-column { padding: 0; }

/* ---------- 1. Nav ---------- */

.cb-nav {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(204, 201, 198, 0.85);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.cb-nav__inner {
  max-width: 1360px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 80px;
  padding: 0 24px;
}

.cb-nav__logo {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}

.cb-nav__logo img { display: block; }

.cb-nav__menu {
  display: flex;
  gap: 40px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.cb-nav__menu a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--cb-text-charcoal);
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
}

.cb-nav__menu a:hover { color: var(--cb-navy); }

.cb-nav__actions {
  display: flex;
  align-items: center;
  gap: 16px;
}

.cb-nav__support {
  color: var(--cb-navy);
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
}

/* Hamburger — verborgen op desktop, zichtbaar zodra het desktopmenu verdwijnt */
.cb-nav__toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.cb-nav__toggle:hover,
.cb-nav__toggle:focus,
.cb-nav__toggle:active {
  background: transparent;
  border: 0;
}

.cb-nav__toggle span {
  display: block;
  width: 24px;
  height: 2px;
  margin: 0 auto;
  border-radius: 2px;
  background: var(--cb-navy);
  transition: transform .25s ease, opacity .2s ease;
}

.cb-nav__toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.cb-nav__toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.cb-nav__toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Uitklapbaar mobiel menu */
.cb-nav__mobile {
  padding: 8px 24px 24px;
  background: rgba(204, 201, 198, 0.97);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.cb-nav__mobile[hidden] { display: none; }

.cb-nav__mobile ul {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
  display: grid;
  gap: 4px;
}

.cb-nav__mobile a {
  display: block;
  padding: 12px 0;
  color: var(--cb-text-charcoal);
  font-size: 18px;
  font-weight: 500;
  text-decoration: none;
  border-bottom: 1px solid rgba(1, 40, 79, 0.08);
}

.cb-nav__mobile .cb-btn { width: 100%; justify-content: center; }

/* ---------- 13. Footer ---------- */

.cb-footer {
  background: #CCC9C6;
  /* Zijpadding zit op __grid en __legal (zoals bij de nav), anders telt hij dubbel. */
  padding: 64px 0 32px;
}

/* Zelfde stramien als .cb-nav__inner (1360 + 24px padding): het footerlogo begint
   daardoor op dezelfde lijn als het logo in de navbalk. */
.cb-footer__grid {
  max-width: 1360px;
  margin: 0 auto 48px;
  padding: 0 24px;
  display: grid;
  grid-template-columns: minmax(240px, 1.4fr) repeat(4, 1fr);
  gap: 48px;
}

.cb-footer__brand p {
  color: var(--cb-text-footer);
  font-size: 14px;
  line-height: 21px;
  margin: 16px 0 0;
  max-width: 280px;
}

.cb-footer h5 {
  color: var(--cb-navy);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0;
  margin: 0 0 20px;
}

.cb-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }

.cb-footer ul a {
  color: var(--cb-text-footer);
  font-size: 16px;
  text-decoration: none;
}

.cb-footer ul a:hover { color: var(--cb-navy); text-decoration: none; }

.cb-footer__legal {
  max-width: 1360px;
  margin: 64px auto 0;
  padding: 0 24px;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  color: var(--cb-text-footer);
  font-size: 15px;
}

.cb-footer__legal a { color: var(--cb-text-footer); text-decoration: none; }

.cb-footer__legal a + a { margin-left: 32px; }

/* ---------- Responsive ---------- */

@media (max-width: 1100px) {
  .cb-footer__grid { grid-template-columns: 1fr 1fr; }
  .cb-nav__menu,
  .cb-nav__actions { display: none; }
  .cb-nav__toggle { display: flex; }
}

@media (max-width: 767px) {
  /* Footer-linkkolommen twee per rij; merknaam-blok over volle breedte erboven */
  .cb-footer__grid { grid-template-columns: 1fr 1fr; gap: 32px 24px; }
  .cb-footer__brand { grid-column: 1 / -1; }
  .cb-footer__legal { flex-direction: column; align-items: flex-start; }
}
/* CloudBilling mega menu — uitklappanelen onder de sticky nav (desktop) en
   accordion in het mobiele menu (≤1100px). Markup: templates/partials/cb-nav.html,
   gedrag: js/main.js. De nav-balk zelf staat in _cb-chrome.css. */

/* ---------- Trigger in de navbalk ---------- */

.cb-nav__item { display: flex; }

.cb-nav__trigger {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  font-family: inherit;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  color: var(--cb-text-charcoal);
  cursor: pointer;
}

/* Groene indicator onder het item waarvan het paneel openstaat */
.cb-nav__trigger[aria-expanded="true"]::after {
  content: "";
  position: absolute;
  left: 0;
  right: 18px;
  bottom: -6px;
  height: 2px;
  border-radius: 2px;
  background: var(--cb-green);
  box-shadow: 0 0 10px rgba(143, 253, 118, .8);
}

/* theme-overrides.css kleurt elke button:hover/:focus donker in (achtergrond én tekst),
   waardoor het menu-item onleesbaar werd. De triggers zijn tekstlinks, geen knoppen. */
.cb-nav__trigger:hover,
.cb-nav__trigger:focus,
.cb-nav__trigger:active,
.cb-nav__trigger[aria-expanded="true"] {
  background: none;
  border: 0;
  border-radius: 0;
  text-transform: none;
  color: var(--cb-navy);
}

.cb-nav__chevron { transition: transform .2s ease; }
.cb-nav__trigger[aria-expanded="true"] .cb-nav__chevron { transform: rotate(180deg); }

.cb-nav__trigger:focus-visible {
  outline: 2px solid var(--cb-navy);
  outline-offset: 3px;
  border-radius: 6px;
}

/* Binnen het donkere paneel moet de focusring licht zijn om zichtbaar te blijven */
.cb-nav .cb-mega__link:focus-visible,
.cb-nav .cb-mega__feature:focus-visible {
  outline: 2px solid var(--cb-green);
  outline-offset: 3px;
  border-radius: 12px;
}

/* Dimlaag over de pagina zolang een paneel openstaat. Zonder deze laag loopt het donkere
   paneel visueel over in de al even donkere hero die er direct onder ligt. Staat buiten
   <nav> in de DOM, want binnen de backdrop-filter van .cb-nav wordt hij niet betrouwbaar
   getekend (zelfde reden dat het paneel zelf geen glas kan zijn). */
.cb-nav__scrim {
  position: fixed;
  inset: 80px 0 0;
  z-index: 40;
  background: rgba(4, 12, 22, .55);
}

.cb-nav__scrim[hidden] { display: none; }

/* ---------- Paneel ---------- */

.cb-mega {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 60;
  /* Geen bovenmarge: de kaart sluit aan op de navbalk en valt daarmee precies over de
     bovenkant van de hero (die begint op dezelfde lijn, zelfde breedte, zelfde radius). */
  padding: 0 24px 32px;
}

/* Bewust zonder in-/uitfade. Een opacity/transform-transitie zet het paneel in een
   eigen compositing-laag en dan tekent Chrome het half doorzichtig over de pagina —
   ook nadat de transitie is afgelopen. Vastgesteld 2026-08-18 op de home-preview. */
.cb-mega[hidden] { display: none; }

.cb-mega__inner {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 40px;
  /* max-width + zijpadding gelijk aan .cb-nav__inner: de eerste kolom begint dan op
     dezelfde lijn als het logo en de featurekaart eindigt op de lijn van "Contact Us". */
  max-width: 1360px;
  margin: 0 auto;
  /* 23px + 1px rand = de 24px zijpadding van .cb-nav__inner, dus de eerste kolom
     begint exact op de logolijn en de featurekaart eindigt op de lijn van "Contact Us". */
  padding: 36px 23px 32px;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 40px;   /* gelijk aan .cb-hero (40px 40px 0 0) */
  /* Donker glas in de taal van de hero en cb-cta: navy verloop met een groene gloed
     linksboven en een warme rechtsonder. Het paneel valt over de hero en leest daardoor
     als verlengstuk daarvan in plaats van als een wit blok eroverheen. */
  background:
    radial-gradient(680px 380px at 4% -14%, rgba(143, 253, 118, .16), transparent 70%),
    radial-gradient(600px 340px at 98% 116%, rgba(255, 120, 80, .13), transparent 70%),
    linear-gradient(158deg, #1D3E5C 0%, #16304A 55%, #12283D 100%);
  /* Diepe slagschaduw + lichte binnenrand: het paneel moet zich losmaken van de hero,
     die er direct onder ligt en bijna dezelfde navy heeft. */
  box-shadow: 0 30px 70px rgba(0, 0, 0, .55),
              0 2px 10px rgba(0, 0, 0, .35),
              inset 0 1px 0 rgba(255, 255, 255, .12);
}

/* Fijn raster + een spotlight die de cursor volgt (js/main.js zet --cb-mx/--cb-my).
   Absoluut gepositioneerd, dus geen grid-item. */
.cb-mega__inner::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(420px circle at var(--cb-mx, 18%) var(--cb-my, -20%),
                    rgba(143, 253, 118, .16), transparent 66%),
    linear-gradient(rgba(255, 255, 255, .03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .03) 1px, transparent 1px);
  background-size: auto, 56px 56px, 56px 56px;
  pointer-events: none;
}

.cb-mega__inner::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, transparent 8%, rgba(143, 253, 118, .5) 50%, transparent 92%)
      top / 100% 1px no-repeat,
    radial-gradient(circle 2px at 21% 26%, rgba(143, 253, 118, .32) 50%, transparent 51%),
    radial-gradient(circle 2px at 34% 76%, rgba(184, 237, 255, .26) 50%, transparent 51%),
    radial-gradient(circle 3px at 63% 16%, rgba(143, 253, 118, .22) 50%, transparent 51%),
    radial-gradient(circle 2px at 88% 62%, rgba(255, 120, 80, .28) 50%, transparent 51%);
  pointer-events: none;
}

.cb-mega__inner > * { position: relative; z-index: 1; }

/* Alle vier panelen hebben dezelfde drie kolommen, zodat er niets verspringt bij wisselen */
.cb-mega__inner--feature { grid-template-columns: 260px minmax(0, 1fr) 320px; }

/* Rijen komen gestaffeld binnen zodra het paneel zichtbaar wordt. De animatie zit op de
   rijen, niet op het paneel zelf: dat laatste geeft het doorschijn-artefact (zie boven). */
@keyframes cb-mega-in {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: none; }
}

.cb-mega:not([hidden]) .cb-mega__lead,
.cb-mega:not([hidden]) .cb-mega__links li,
.cb-mega:not([hidden]) .cb-mega__feature {
  animation: cb-mega-in .32s cubic-bezier(.2, .7, .3, 1) both;
}

.cb-mega:not([hidden]) .cb-mega__links li:nth-child(1) { animation-delay: .04s; }
.cb-mega:not([hidden]) .cb-mega__links li:nth-child(2) { animation-delay: .08s; }
.cb-mega:not([hidden]) .cb-mega__links li:nth-child(3) { animation-delay: .12s; }
.cb-mega:not([hidden]) .cb-mega__links li:nth-child(4) { animation-delay: .16s; }
.cb-mega:not([hidden]) .cb-mega__links li:nth-child(5) { animation-delay: .20s; }
.cb-mega:not([hidden]) .cb-mega__feature { animation-delay: .10s; }

/* Lead-kolom */

.cb-mega__lead {
  position: relative;
  padding-top: 12px;
}

/* Hairline die de lead-kolom van de links scheidt; dooft naar boven en onder uit. */
.cb-mega__lead::after {
  content: "";
  position: absolute;
  top: 4px;
  bottom: 4px;
  right: -20px;
  width: 1px;
  background: linear-gradient(180deg,
    transparent, rgba(255, 255, 255, .16) 22%, rgba(255, 255, 255, .16) 78%, transparent);
}

.cb-mega__eyebrow {
  display: block;
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .96px;
  text-transform: uppercase;
  color: var(--cb-green);
}

.cb-mega__intro {
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
  color: rgba(248, 249, 250, .72);
}

/* Linklijst */

.cb-mega__links {
  display: grid;
  align-content: start;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.cb-mega__links--2col { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; }

.cb-mega__link {
  display: flex;
  gap: 14px;
  padding: 12px;
  border-radius: 12px;
  text-decoration: none;
  transition: background-color .18s ease, box-shadow .18s ease;
}

.cb-mega__link {
  border: 1px solid transparent;
}

.cb-mega__link:hover {
  background: rgba(255, 255, 255, .05);
  border-color: rgba(255, 255, 255, .09);
  box-shadow: 0 8px 24px rgba(3, 12, 22, .28);
  text-decoration: none;
}

.cb-mega__icon {
  flex: 0 0 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, .10);
  background: rgba(255, 255, 255, .06);
  color: rgba(255, 255, 255, .82);
  transition: background-color .18s ease, border-color .18s ease, color .18s ease,
              transform .22s ease, box-shadow .22s ease;
}

.cb-mega__link:hover .cb-mega__icon {
  background: rgba(143, 253, 118, .14);
  border-color: rgba(143, 253, 118, .45);
  color: var(--cb-green);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(143, 253, 118, .16),
              0 0 0 4px rgba(143, 253, 118, .07);
}

/* Het icoon zelf schaalt een fractie mee — net genoeg om levendig te zijn */
.cb-mega__glyph { transition: transform .25s ease; }
.cb-mega__link:hover .cb-mega__glyph { transform: scale(1.08); }

.cb-mega__body { display: block; }

.cb-mega__title {
  display: block;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--cb-white);
}

.cb-mega__text {
  display: block;
  margin-top: 2px;
  font-size: 14px;
  line-height: 1.5;
  color: rgba(248, 249, 250, .68);
}

/* Uitgelichte kaart rechts */

.cb-mega__feature {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  padding: 24px;
  border-radius: 16px;
  text-decoration: none;
}

.cb-mega__feature--cta {
  background:
    radial-gradient(340px 220px at 88% -10%, rgba(143, 253, 118, .20), transparent 72%),
    linear-gradient(155deg, rgba(255, 255, 255, .10) 0%, rgba(255, 255, 255, .03) 100%);
  border: 1px solid rgba(143, 253, 118, .22);
  color: var(--cb-white);
}

.cb-mega__feature--article {
  background:
    radial-gradient(340px 220px at 88% -10%, rgba(255, 120, 80, .18), transparent 72%),
    linear-gradient(155deg, rgba(255, 255, 255, .10) 0%, rgba(255, 255, 255, .03) 100%);
  border: 1px solid rgba(255, 255, 255, .12);
  color: var(--cb-white);
}

.cb-mega__feature:hover { text-decoration: none; }

.cb-mega__feature-eyebrow {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .96px;
  text-transform: uppercase;
}

.cb-mega__feature--cta .cb-mega__feature-eyebrow { color: var(--cb-green); }
.cb-mega__feature--article .cb-mega__feature-eyebrow { color: var(--cb-orange); }
.cb-mega__feature-title { color: var(--cb-white); }

.cb-mega__feature-title {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -.4px;
}



.cb-mega__feature-text {
  font-size: 14px;
  line-height: 1.55;
  color: rgba(255, 255, 255, .78);
}

.cb-mega__feature--article .cb-mega__feature-text { color: rgba(248, 249, 250, .72); }

.cb-mega__feature-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  font-size: 15px;
  font-weight: 600;
  color: var(--cb-green);
}

.cb-mega__feature--article .cb-mega__feature-cta { color: var(--cb-orange); }

.cb-mega__feature-cta svg { transition: transform .18s ease; }
.cb-mega__feature:hover .cb-mega__feature-cta svg { transform: translateX(3px); }

/* ---------- Mobiel: accordion in het hamburgermenu ---------- */

.cb-nav__acc { border-bottom: 1px solid rgba(1, 40, 79, .08); }

.cb-nav__acc summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 0;
  font-size: 18px;
  font-weight: 500;
  color: var(--cb-text-charcoal);
  list-style: none;
  cursor: pointer;
}

.cb-nav__acc summary::-webkit-details-marker { display: none; }
.cb-nav__acc summary svg { transition: transform .2s ease; }
.cb-nav__acc[open] summary svg { transform: rotate(180deg); }

.cb-nav__acc ul {
  margin: 0 0 12px;
  padding: 0 0 0 4px;
  list-style: none;
  display: grid;
  gap: 2px;
}

.cb-nav__acc ul a {
  display: block;
  padding: 9px 0;
  border-bottom: 0;
  font-size: 16px;
  color: var(--cb-text);
}

.cb-nav__acc-link {
  display: block;
  padding: 12px 0;
  border-bottom: 1px solid rgba(1, 40, 79, .08);
  font-size: 18px;
  font-weight: 500;
  color: var(--cb-text-charcoal);
  text-decoration: none;
}

.cb-nav__mobile .cb-btn { margin-top: 16px; }

@media (max-width: 1100px) {
  .cb-mega { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .cb-mega__icon,
  .cb-mega__glyph,
  .cb-nav__chevron,
  .cb-mega__feature-cta svg,
  .cb-nav__acc summary svg { transition: none; }

  .cb-mega__link:hover .cb-mega__icon,
  .cb-mega__link:hover .cb-mega__glyph { transform: none; }

  .cb-mega:not([hidden]) .cb-mega__lead,
  .cb-mega:not([hidden]) .cb-mega__links li,
  .cb-mega:not([hidden]) .cb-mega__feature { animation: none; }
}

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

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

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

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