/* Theme base styles */

/* Custom Fonts
*/





@font-face {
  font-family: 'Source Sans Pro';
  src: url('https://25303044.fs1.hubspotusercontent-eu1.net/hubfs/25303044/fonts/sourcesanspro/SourceSansPro-Bold.woff2') format('woff2'),
       url('https://25303044.fs1.hubspotusercontent-eu1.net/hubfs/25303044/fonts/sourcesanspro/SourceSansPro-Bold.woff') format('woff');
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}









@font-face {
  font-family: 'Source Sans Pro';
  src: url('https://25303044.fs1.hubspotusercontent-eu1.net/hubfs/25303044/fonts/sourcesanspro/SourceSansPro-BoldItalic.woff2') format('woff2'),
       url('https://25303044.fs1.hubspotusercontent-eu1.net/hubfs/25303044/fonts/sourcesanspro/SourceSansPro-BoldItalic.woff') format('woff');
  font-weight: bold;
  font-style: italic;
  font-display: swap;
}





@font-face {
  font-family: 'Source Sans Pro';
  src: url('https://25303044.fs1.hubspotusercontent-eu1.net/hubfs/25303044/fonts/sourcesanspro/SourceSansPro-Regular.woff2') format('woff2'),
       url('https://25303044.fs1.hubspotusercontent-eu1.net/hubfs/25303044/fonts/sourcesanspro/SourceSansPro-Regular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Source Sans Pro';
  src: url('https://25303044.fs1.hubspotusercontent-eu1.net/hubfs/25303044/fonts/sourcesanspro/SourceSansPro-Italic.woff2') format('woff2'),
       url('https://25303044.fs1.hubspotusercontent-eu1.net/hubfs/25303044/fonts/sourcesanspro/SourceSansPro-Italic.woff') format('woff');
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}

/* 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.
 * 3. Smooth scroll
 */

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

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

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

body {
  margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

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

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

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

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

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

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

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

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

b,
strong {
  font-weight: bolder;
}

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

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

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

small {
  font-size: 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 {
  --gap: 2.127659574%;
}

/* Mobile Layout */

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

.row-fluid [class*='span'] {
  min-height: 1px;
  width: 100%;
}

/* Desktop Layout */

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

  .row-fluid .span11 {
    width: calc(91.66% - var(--gap));
  }

  .row-fluid .span10 {
    width: calc(83.33% - var(--gap));
  }

  .row-fluid .span9 {
    width: calc(75% - var(--gap));
  }

  .row-fluid .span8 {
    width: calc(66.66% - var(--gap));
  }

  .row-fluid .span7 {
    width: calc(58.33% - var(--gap));
  }

  .row-fluid .span6 {
    width: calc(50% - var(--gap));
  }

  .row-fluid .span5 {
    width: calc(41.66% - var(--gap));
  }

  .row-fluid .span4 {
    width: calc(33.33% - var(--gap));
  }

  .row-fluid .span3 {
    width: calc(25% - var(--gap));
  }

  .row-fluid .span2 {
    width: calc(16.66% - var(--gap));
  }

  .row-fluid .span1 {
    width: calc(8.33% - var(--gap));
  }
}
.content-wrapper {
  margin: 0 auto;
  padding: 0 1rem;
  width: 100%;
}

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

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

.dnd-row {
  border-radius: 2rem;
}

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

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

body {
  letter-spacing: -0.5px;
  line-height: 1.16;
  overflow-wrap: break-word;
}

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

/* Anchors */

a {
  cursor: pointer;
}

/* Headings */

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

h1,
.h1 {
  letter-spacing: -1.78px;
  line-height: 1.045;
}

h2,
.h2 {
  letter-spacing: -1.78px;
  line-height: 1.045;
}

h3,
.h3 {
  letter-spacing: -1.19px;
}

h4,
.h4 {
  letter-spacing: -0.89px;
  line-height: 1.33;
}

h5,
.h5 {
  letter-spacing: -0.59px;
}

h6,
.h6 {
  letter-spacing: 3.33px;
  line-height: 1.16;
}

/* Lists */

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

ul > li > ul,
ol > li > ul,
ul > li > ol,
ol > li > 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,
blockquote *,
blockquote p,
blockquote a {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.41;
}

/* 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 {
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  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;
}

.mce-toolbar button {
  box-shadow: none; /* Prevents box shadow from appearing in rich text toolbar */
}

/* Button with Icon */

.button--with-icon {
  position: relative;
}

.button--icon {
  align-items: center;
  border-radius: 50%;
  display: flex;
  height: 100%;
  justify-content: center;
  left: 0;
  position: absolute;
  top: 0;
}

.button--icon svg {
  fill: #ffffff;
  height: 1rem;
  width: auto;
}

/* Button Slider */

.button--slider-list {
  align-items: center;
  display: flex;
  flex-direction: row;
  height: 100%;
  opacity: 0;
  overflow: hidden;
  padding-left: 1rem;
  position: absolute;
  top: 0;
  transition: opacity 0.4s ease-in-out 0.4s, width 0.4s ease-in-out;
  width: 0;
}

.button--slider--left .button--slider-list {
  right: calc(100% - 1rem);
}

.button--slider--right .button--slider-list {
  left: calc(100% - 1rem);
}

.button--slider:hover .button--slider-list,
.button--slider:focus .button--slider-list {
  opacity: 1;
  transition: width 0.4s ease-in-out;
  width: 100%; /* Add exact width to button for slide in effect */
}

.button--slider-list li {
  white-space: nowrap;
}

.button--slider-list li,
.button--slider-list li a {
  align-items: center;
  display: flex;
  justify-content: center;
}

.button--slider-list li a {
  font-size: 0.75rem;
  opacity: 0.5;
}

.button--slider-list li a:hover,
.button--slider-list li a:focus,
.button--slider-list li a:active {
  opacity: 1;
  text-decoration: underline;
}

.button--slider-list svg {
  display: block;
  height: 1rem;
  width: auto;
}

@media (min-width: 993px) {
  .button--slider-list li:first-child {
    margin-left: 1rem;
  }

  .button--slider-list li:last-child {
    margin-right: 1rem;
  }
}

/* Button - No link */

.button--no-link:hover {
  cursor: default;
}

/* No Button */

.no-button {
  background: none;
  border: none;
  border-radius: 0;
  box-shadow: none;
  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;
}

/* Cookies Button */

button#hs_show_banner_button {
  background-color: #e55f3f !important;
  border-color: #e55f3f !important;
  border-radius: 0 !important;
  bottom: 0;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  left: 0;
  padding: 0.25rem !important;
  position: fixed;
  z-index: 10001;
}

@media (max-width: 992px) {
  button#hs_show_banner_button {
    border-radius: 50% !important;
    color: transparent !important;
    height: 2rem;
    left: 1rem;
    overflow: hidden;
    bottom: 0.5rem;
    width: 2rem;
  }

  button#hs_show_banner_button:after {
    content: url("data:image/svg+xml,%3Csvg enable-background='new 0 0 512 512' height='20' viewBox='0 0 512 512' width='20' fill='%23ffffff' xmlns='http://www.w3.org/2000/svg'%3E%3Cg%3E%3Cg%3E%3Cpath d='m506.259 220.045c-2.296-1.649-5.184-2.249-7.945-1.653-11.407 2.463-23.432.75-33.552-4.67-3.146-1.685-6.949-1.566-9.982.312-16.55 10.241-37.289 10.565-54.12.848-12.497-7.215-21.298-18.919-24.78-32.956-.88-3.543-3.62-6.326-7.15-7.26-21.099-5.578-38.479-20.104-47.682-39.853-9.107-19.541-9.138-42-.084-61.62 1.389-3.01 1.196-6.513-.516-9.353s-4.719-4.646-8.029-4.823c-26.03-1.393-46.419-22.924-46.419-49.017 0-5.523-4.478-10-10-10-29.452 0-58.331 4.962-85.834 14.747-26.58 9.458-51.298 23.199-73.467 40.843-4.321 3.439-5.036 9.73-1.597 14.052 3.438 4.32 9.729 5.036 14.052 1.597 39.701-31.597 87.096-49.153 137.591-51.063 4.08 27.636 24.54 50.079 51.428 56.832-6.585 21.803-5.002 45.34 4.745 66.255 10.906 23.401 30.822 41.041 55.178 49.099 5.613 16.858 17.015 30.865 32.563 39.841 21.591 12.465 47.831 12.956 69.754 1.611 9.704 4.202 20.356 6.152 31 5.606.39 5.554.587 11.101.587 16.58 0 63.038-24.548 122.303-69.123 166.877-44.574 44.575-103.839 69.123-166.877 69.123s-122.303-24.548-166.877-69.123c-44.575-44.574-69.123-103.839-69.123-166.877 0-42.271 11.304-83.737 32.69-119.914 2.811-4.754 1.234-10.887-3.52-13.697s-10.887-1.234-13.697 3.52c-23.206 39.257-35.473 84.242-35.473 130.091 0 68.38 26.629 132.667 74.98 181.02 48.353 48.352 112.64 74.98 181.02 74.98s132.667-26.628 181.02-74.98c48.351-48.353 74.98-112.64 74.98-181.02 0-9.557-.552-19.298-1.639-28.953-.316-2.809-1.807-5.353-4.102-7.002z'%3E%3C/path%3E%3Cpath d='m408.342 139.807c-4.721 11.174-1.892 24.245 7.04 32.525 5.691 5.277 12.11 9.901 19.078 13.745 4.271 2.356 9.021 3.52 13.771 3.52 5.923 0 11.846-1.809 16.841-5.369 10.289-7.336 18.912-17.109 24.936-28.262 5.401-9.997 4.435-22.254-2.462-31.225-5.001-6.505-11.194-12.083-18.408-16.581 0 0 0 0-.001 0-7.427-4.629-16.729-5.601-24.888-2.602h.001c-.041.015-.079.029-.103.038-16.078 5.943-29.128 18.411-35.805 34.211zm42.746-15.454c.021-.007.042-.015.063-.023 2.409-.885 5.178-.585 7.407.803h-.001c5.177 3.227 9.595 7.195 13.132 11.797 2.095 2.725 2.378 6.465.722 9.53-4.581 8.481-11.134 15.91-18.949 21.482-2.776 1.978-6.439 2.223-9.342.623-5.546-3.06-10.64-6.727-15.141-10.899-2.781-2.579-3.671-6.627-2.215-10.075 4.591-10.863 13.196-19.101 24.324-23.238z'%3E%3C/path%3E%3Cpath d='m162.597 206.511c24.402 0 44.255-19.853 44.255-44.255s-19.853-44.256-44.255-44.256-44.256 19.853-44.256 44.255 19.853 44.256 44.256 44.256zm0-68.511c13.374 0 24.255 10.881 24.255 24.255s-10.881 24.255-24.255 24.255c-13.375 0-24.256-10.881-24.256-24.255s10.881-24.255 24.256-24.255z'%3E%3C/path%3E%3Cpath d='m163.667 407.548c33.925 0 61.525-27.6 61.525-61.525s-27.601-61.525-61.525-61.525-61.525 27.6-61.525 61.525 27.6 61.525 61.525 61.525zm0-103.051c22.897 0 41.525 18.628 41.525 41.525s-18.628 41.525-41.525 41.525-41.525-18.628-41.525-41.525 18.628-41.525 41.525-41.525z'%3E%3C/path%3E%3Cpath d='m378.095 349.642c23.491 0 42.603-19.112 42.603-42.604s-19.111-42.604-42.603-42.604-42.604 19.112-42.604 42.604 19.113 42.604 42.604 42.604zm0-65.207c12.463 0 22.603 10.14 22.603 22.604s-10.14 22.604-22.603 22.604c-12.464 0-22.604-10.14-22.604-22.604s10.14-22.604 22.604-22.604z'%3E%3C/path%3E%3Cpath d='m256.127 207.1c-16.741 0-30.361 13.62-30.361 30.361s13.62 30.361 30.361 30.361 30.361-13.62 30.361-30.361-13.62-30.361-30.361-30.361zm0 40.723c-5.713 0-10.361-4.648-10.361-10.361s4.648-10.361 10.361-10.361 10.361 4.648 10.361 10.361-4.648 10.361-10.361 10.361z'%3E%3C/path%3E%3Cpath d='m284.731 400.079c0 16.741 13.62 30.361 30.361 30.361s30.361-13.62 30.361-30.361-13.62-30.361-30.361-30.361-30.361 13.619-30.361 30.361zm40.723 0c0 5.713-4.648 10.361-10.361 10.361s-10.361-4.648-10.361-10.361 4.648-10.361 10.361-10.361 10.361 4.647 10.361 10.361z'%3E%3C/path%3E%3Cpath d='m371.234 81.166h25.531c9.266 0 17.766-4.253 23.321-11.668s7.249-16.768 4.645-25.661l-4.603-15.72c-3.612-12.336-15.112-20.951-27.966-20.951h-16.326c-12.854 0-24.354 8.615-27.966 20.952l-4.603 15.719c-2.604 8.892-.912 18.245 4.644 25.66 5.557 7.415 14.058 11.669 23.323 11.669zm-8.772-31.709 4.603-15.719c1.134-3.87 4.74-6.572 8.772-6.572h16.326c4.032 0 7.639 2.703 8.772 6.572l4.603 15.719c.816 2.789.285 5.723-1.457 8.049-1.743 2.326-4.409 3.66-7.315 3.66h-25.531c-2.906 0-5.573-1.334-7.315-3.661-1.744-2.326-2.274-5.259-1.458-8.048z'%3E%3C/path%3E%3Cpath d='m480.472 77.816c17.385 0 31.528-14.144 31.528-31.528s-14.144-31.528-31.528-31.528-31.528 14.144-31.528 31.528 14.143 31.528 31.528 31.528zm0-43.057c6.356 0 11.528 5.171 11.528 11.528s-5.172 11.528-11.528 11.528-11.528-5.171-11.528-11.528 5.171-11.528 11.528-11.528z'%3E%3C/path%3E%3Ccircle cx='70.38' cy='94.482' r='10'%3E%3C/circle%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    left: calc(50% - 1px);
    position: absolute;
    top: calc(50% + 2px);
    transform: translate(-50%, -50%);
  }
}

@media (min-width: 993px) {
  button#hs_show_banner_button {
    font-size: 0.5rem !important;
    width: 15%;
  }
}
/* Fields */

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

/* Labels */

form label {
  display: block;
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
}

/* Help text */

form legend {
  font-size: 0.875rem;
  margin-bottom: 0.5rem;
}

/* Inputs */

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

form textarea {
  resize: vertical;
}

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

form fieldset.form-columns-1 .hs-input {
  width: 100% !important;
}

/* Inputs - checkbox/radio */

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

form .inputs-list > li {
  display: block;
  margin: 0.5rem 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.25rem;
}

/* Inputs - Checkboxes / Radio Select */

ul.inputs-list:not(.hs-error-msgs) li {
  padding: 0.5rem 1rem;
}

/* Inputs - Custom Checkbox and Radio Buttons */

li.hs-form-checkbox label,
li.hs-form-booleancheckbox label,
li.hs-form-radio label {
  position: relative;
}

li.hs-form-checkbox label span:not(.hs-form-required),
li.hs-form-booleancheckbox label span:not(.hs-form-required),
li.hs-form-radio label span:not(.hs-form-required),
.legal-consent-container li.hs-form-booleancheckbox label > span:not(.hs-form-required) {
  display: inline-block;
  margin-left: 1.75rem !important;
}

/* Inputs - Custom Checkbox: Hide the original checkbox */
li.hs-form-checkbox label input,
li.hs-form-booleancheckbox label input,
li.hs-form-radio label input {
  height: calc(1rem + 8px);
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  width: calc(1rem + 8px);
}

/* Inputs - Custom Checkbox: Add new checkbox */
li.hs-form-checkbox label span:not(.hs-form-required):before,
li.hs-form-booleancheckbox label span:not(.hs-form-required):before,
li.hs-form-radio label span:not(.hs-form-required):before {
  border-color: #ffffff;
  border-style: solid;
  border-width: 2px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  content: "";
  height: calc(1rem + 8px);
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: calc(1rem + 8px);
  border-radius: 4px;
}

li.hs-form-checkbox label span:not(.hs-form-required):before,
li.hs-form-booleancheckbox label span:not(.hs-form-required):before {
  border-radius: 4px;
}

li.hs-form-radio label span:not(.hs-form-required):before {
  border-radius: 50%;
}

/* Inputs - Custom Checkbox: Style new checked item */
li.hs-form-checkbox label span:not(.hs-form-required):after,
li.hs-form-booleancheckbox label span:not(.hs-form-required):after,
li.hs-form-radio label span:not(.hs-form-required):after {
  content: "";
  height: 1rem;
  left: 4px;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: opacity 0.3s ease-in-out;
  width: 1rem;
}

li.hs-form-checkbox label span:not(.hs-form-required):after,
li.hs-form-booleancheckbox label span:not(.hs-form-required):after {
  border-radius: 4px;
}

li.hs-form-radio label span:not(.hs-form-required):after {
  border-radius: 50%;
}

/* Inputs - Custom Checkbox: Show when checked */
li.hs-form-checkbox label input:checked + span:after,
li.hs-form-booleancheckbox label input:checked + span:after,
li.hs-form-radio label input:checked + span:after {
  opacity: 1;
}

/* Inputs - Custom Checkbox: Style when focused */
li.hs-form-checkbox label input:focus + span:after,
li.hs-form-booleancheckbox label input:focus + span:after,
li.hs-form-radio label input:focus + span:after {
  outline: 3px solid transparent; /* For Windows high contrast mode. */
}

/* Inputs - date picker */

.hs-dateinput {
  position: relative;
}

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

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

.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: #ffffff;
}

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

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

/* GDPR */

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

/* Validation */

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

.hs-form-required:before {
  content: '(erforderlich)';
  font-size: 0.875rem;
  font-weight: 400;
  margin-left: 0.25rem;
}

.hs-input.invalid.error {
}

.hs-error-msg {
  margin-top: 0.25rem;
}

/* Submit button */

form input[type=submit],
form .hs-button {
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  cursor: pointer;
  display: inline-block;
  text-align: center;
  transition: all 0.15s linear;
  white-space: normal;
}

/* Captcha */

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

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

/* Table cells */

td,
th {
  vertical-align: top;
}

/* Table header */

thead th {
  vertical-align: bottom;
}

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

/* Body Layout */

.body-wrapper {
  display: flex;
  flex-direction: column;
}

.body-wrapper__sidebar {
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  justify-content: stretch;
  position: sticky;
  top: 0;
  width: 100%;
  z-index: 10000;
}

.body-wrapper__main {
  overflow-x: hidden; /* Prevents overflow */
  position: relative; /* Prevents overflow */  
}

@media (min-width: 993px) {

  .body-wrapper {
    flex-direction: row;
  }

  .body-wrapper__sidebar {
    align-items: stretch;
    height: 100vh;
    position: sticky;
    top: 0;
    width: 15%;
  }

  .body-wrapper__main {
    width: 85%;
  }

}
/* Header DND Sections */

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

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

/* Body Wrapper when navigation is open */

@media (max-width: 992px) {
  .body-wrapper__main.nav-open {
    -webkit-filter: blur(5px);
            filter: blur(5px);
    height: calc(100vh - 63px); /* Header Height */
    overflow: hidden;
  }
}

/* Header Container */

.header__container {
  align-items: center;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  padding: 0.5rem 1rem;
}

.header__container--no-navigation {
  padding: 0.5rem 1rem;
}

@media (min-width: 993px) {

  .header__container {
    flex-direction: column;
    height: 100vh;
    padding: 2rem 1rem;
  }

}

/* Header Logo */

.header__logo {
  display: flex;
}

.header__logo--desktop a {
  display: flex;
  align-items: center;
  justify-content: center;
}

.header__logo--desktop img {
  height: auto;
  margin: 0 auto;
  max-width: 90%;
}

.header__logo--mobile {
  display: block;
}

.header__logo--mobile a {
  display: flex;
  align-items: center;
  justify-content: center;
}

.header__logo--mobile img {
  max-height: 1.75rem;
  width: auto;
}

.header__logo--desktop {
  display: none;
}

@media (max-width: 992px) {

  .header__logo {
    order: 2;
  }

}

@media (min-width: 993px) {

  .header__logo {
    justify-content: center;
  }

  .header__logo--mobile {
    display: none;
  }

  .header__logo--desktop {
    display: block;
  }

}

/* Header Navigation */

.header__navigation {
  background-color: rgba(37, 82, 115, 0.75); /* Fields */
  -webkit-backdrop-filter: blur(30px);
          backdrop-filter: blur(30px);
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  display: flex;
  flex-direction: column;
  height: 100%;
  left: 0;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  top: 60px; /* Header Height */
  transform: scaleY(.98);
  transform-origin: center top;
  visibility: hidden;
  width: 0;
  z-index: -1000;
}

.header__navigation.is-open {
  opacity: 1;
  pointer-events: auto;
  transform: scale(1);
  transition: transform .3s ease,-webkit-transform .3s ease;
  visibility: visible;
  width: 100%;
  z-index: 10000;
}

.header__menu {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  z-index: 10000;
}

.header__menu-left-col {
  width: 100%;
}

.header__menu-right-col {
  width: 100%;
}

@media (max-width: 992px) {
  .header__menu {
    padding: 2rem;
  }
}

@media (min-width: 993px) {
  .header__navigation {
    left: 15%; /* Header Width */
    padding: 2rem;
    top: 0;
    transform: scaleX(.98);
    transform-origin: left center;
  }

  .header__navigation.is-open {
    opacity: 1;
    pointer-events: auto;
    transform: scale(1);
    transition: transform .3s ease;
    visibility: visible;
    width: calc(100vw - 15vw); /* Header Width */
  }

  .header__menu {
    flex-grow: 1;
  }

  .header__menu-left-col {
    padding-right: 1rem;
    width: 50%;
  }

  .header__menu-right-col {
    padding-left: 1rem;
    width: 50%;
  }
}

@media (min-width: 993px) {
  .header__navigation.is-open {
    width: 50vw;
  }
}

/* Header Form */

.header__form-title {
  color: #ffffff;
  font-size: 1.25rem;
  margin-bottom: 0.5rem;
}

.header__form .form-title {
  color: #ffffff;;
}

.header__form form label {
  font-size: 0.875rem;
  color: #ffffff;
}

.header__form form .hs-form-required,
.header__form form .hs-form-required:before {
  color: #ffffff;
}

.header__form form .legal-consent-container .hs-form-booleancheckbox-display > span,
.header__form form .legal-consent-container .hs-form-booleancheckbox-display > span p {
  color: #ffffff;
}

.header__form form legend {
  color: #ffffff;
}

.header__form form input[type=text],
.header__form form input[type=email],
.header__form form input[type=password],
.header__form form input[type=tel],
.header__form form input[type=number],
.header__form form input[type=file],
.header__form form select,
.header__form form textarea {
  color: #ffffff;
}

.header__form ::-webkit-input-placeholder {
  color: #ffffff;
}

.header__form ::-moz-placeholder {
  color: #ffffff;
}

.header__form :-ms-input-placeholder {
  color: #ffffff;
}

.header__form ::placeholder {
  color: #ffffff;
}

.header__form form .hs-button {
  color: #ffffff;
  box-shadow: none;
}

.header__form form .hs-button:hover,
.header__form form .hs-button:focus,
.header__form form .hs-button:active {
  background-color: #ffffff;
}

.header__form form .legal-consent-container .hs-form-booleancheckbox-display > span,
.header__form form .legal-consent-container .hs-form-booleancheckbox-display > span p,
.header__form form .legal-consent-container .hs-form-required,
.header__form form .legal-consent-container .hs-form-required:before {
  font-size: 0.75rem;
}


@media (max-width: 992px) {
  .header__form {
    padding: 2rem;
  }

  .header__form form .hs-button {
    background-color: #ffffff;
  }

  .header__form form .hs-button:hover,
  .header__form form .hs-button:focus,
  .header__form form .hs-button:active {
    color: #ffffff;
  }
}

/* Hamburger Menu */

.hamburger--open {
  display: block;
}

.header__hamburger.is-open .hamburger--open {
  display: none;
}

.hamburger--close {
  display: none;
}

.header__hamburger.is-open .hamburger--close {
  display: block;
}

@media (max-width: 992px) {

  .header__hamburger {
    order: 3;
  }

}

/* Header Contact */

@media (max-width: 992px) {

  .header__contact {
    order: 1;
  }

}

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

.hs-menu-wrapper.hs-menu-flow-horizontal ul li a {
  display: block;
  font-size: 0.75rem;
}

@media (max-width: 992px) {
  .hs-menu-wrapper.hs-menu-flow-horizontal ul {
    flex-direction: column;
  }
}

/* Horizontal Menu - In Footer (Copyright Section) */

.footer .hs-menu-wrapper.hs-menu-flow-horizontal ul {
  align-items: center;
  justify-content: space-between;
  margin-left: -0.25rem;
  margin-right: -0.25rem;
}

.footer .hs-menu-wrapper.hs-menu-flow-horizontal ul li a {
  padding: 0.5rem 0.25rem;
  text-align: center;
}

.footer .hs-menu-wrapper.hs-menu-flow-horizontal ul li a[href="javascript:void(0);"] {
  cursor: default;
}

/* Vertical Menu */

.hs-menu-wrapper.hs-menu-flow-vertical ul {
  flex-direction: column;
}

.hs-menu-wrapper.hs-menu-flow-vertical ul li a {
  display: block;
  font-size: 0.75rem;
  margin-bottom: 0.5rem;
}

/* Flyouts */

.hs-menu-wrapper.hs-menu-flow-vertical.flyouts ul {
  display: inline-flex;
}

@media (max-width: 992px) {
  .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: 992px) {
  .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%;
}
/* Posts */

.posts {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin-left: -0.25rem;
  margin-right: -0.25rem;
}

.post {
  display: flex;
  flex-direction: column;
  padding: 2rem 0.25rem;
  width: 100%;
}

.post__image {
  border-radius: 2rem;
  margin-bottom: 2rem;
  padding-top: 66%;
  position: relative;
}

.post__butterfly {
  height: 2rem;
  position: absolute;
  right: 20%;
  top: -1rem;
  width: auto;
  z-index: 1;
}

.post__image img {
  border-radius: 2rem;
  height: 100%;
  left: 50%;
  object-fit: cover;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}

.post__content {
  flex-grow: 1;
}

a.post__tag-link {
  font-size: 0.75rem;
  font-weight: 500;
}

.post__title,
.post__title a,
.post__title a:hover,
.post__title a:focus,
.post__title a:active {
  font-weight: 900;
}

.post__meta {
  align-items: center;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin-left: -0.5rem;
  margin-right: -0.5rem;
}

.post__meta > div {
  margin: 0.5rem;
}

@media (min-width: 993px) {
  .post {
    width: 50%;
  }
}
/* Hero Banner */
.hero-banner {
  overflow: hidden;
}

.hero-banner > .row-fluid {}

.hero-banner div[data-hs-cos-type="module"] > div,
.hero-banner div[data-hs-cos-type="module"] > section {
  position: relative;
  z-index: 1;
}

/* Hero Banner - Basic */

/* Hero Banner - Produktübersicht */

.hero-banner--produktubersicht {
  overflow: hidden;
}

@media (max-width: 992px) {
  .hero-banner--produktubersicht .custom-image img {
    margin-bottom: -60px; /* Align to bottom */
    margin-right: -1rem; /* Align to right */
  }
}

@media (min-width: 993px) {
  .hero-banner--produktubersicht {
    position: relative;
  }

  

  .hero-banner--produktubersicht .custom-image {
    bottom: 0;
    max-width: 40vw !important;
    position: absolute !important;
    right: 0;
  }
}

/* Hero Banner - Produktdetail */



/* Hero Banner - Vergleich */

@media (max-width: 992px) {
  .hero-banner--vergleich .custom-image img {
    margin-right: -1rem; /* Align to right */
  }
}

@media (min-width: 993px) {
  .hero-banner--vergleich {
    position: relative;
  }

  

  .hero-banner--vergleich .custom-image {
    max-width: 55vw !important;
    position: absolute !important;
    top: 0;
    right: 0;
  }
}

/* Hero Banner - FAQ */

@media (max-width: 992px) {
  .hero-banner--faq .hero-semicircle {
    top: -10vw;
  }

  .dnd-section.hero-banner--faq {
    background-size: contain !important;
    position: relative;
  }

  .hero-banner--faq:after {
    content: '';
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
  }
}



/* Hero Banner - Start */

.hero-banner--start {
  overflow: hidden;
}

@media (max-width: 992px) {
  .hero-banner--start .custom-image img {
    margin-bottom: -60px; /* Align to bottom */
    margin-right: -2rem; /* Align to right */
  }

  .hero-banner--start .custom-image {
    width: 125%;
    margin-left: -25%;
  }
}

@media (min-width: 993px) {
  .hero-banner--start {
    position: relative;
  }

  .hero-banner--start > .row-fluid {
    min-height: calc(100vh - 360px); /* Height of the dnd-section vertical spacing */
  }

  .hero-banner--start .custom-image {
    bottom: 0;
    max-width: 45vw !important;
    position: absolute !important;
    right: 0;
  }
}

/* Headline with Arrow */

.dnd-with-arrow--neutral {
  position: relative;
}

.dnd-with-arrow--neutral > .row-fluid:after {
  bottom: -1rem;
  content: '';
  height: 2rem;
  position: absolute;
  transform: rotate(45deg);
  width: 2rem;
}

/* Stack Right to Left */

@media (max-width: 992px) {
  .dnd-section.stack-rtl > .row-fluid {
    flex-direction: column-reverse;
  }
}

/* Newsletter Signup */

.dnd-section.newsletter-signup .dnd-column {
  border-radius: 2rem;
}

#newsletter-signup__content {
  margin: 0 auto;
  max-width: 700px;
}

/* Slider and Text Right */

@media (max-width: 992px) {
  .slider-and-text-right > .row-fluid {
    flex-direction: column-reverse !important;
  }
}

/* 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: 992px) {
  .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;
  }
}

/* Change font-weight of "Libify" text */

.libify-text {
  font-weight: 400;
}

/* AOS.js Custom Animations */

/* Roll In */

[data-aos="roll-in"] {
  opacity: 0;
  transform: translate(300px,-300px) rotate(45deg);
  transition-property: transform, opacity;
}

[data-aos="roll-in"].aos-animate {
  opacity: 1;
  transform: translate(0,0) rotate(0deg);
}

/* Rotate Top Wing */

[data-aos="rotate-top-wing"] {
  opacity: 0;
  transform: rotate(45deg);
  transition-property: transform, opacity;
}

[data-aos="rotate-top-wing"].aos-animate {
  opacity: 1;
  transform: rotate(0deg);
}

section.sticky-product-nav ul.sticky-product-nav__links li a.sticky-product-nav__link.sticky-product-nav__link--is-active {
    background-color: #dae8f3 !important;
}