/* 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,
  .row-fluid .span13,
  .row-fluid .span14,
  .row-fluid .span15,
  .row-fluid .span16{
  min-height: 1px;
  width: 100%;
}

/* Desktop layout */

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

  
    .row-fluid .span1 {
      width: 100%;
    }
  
    .row-fluid .span2 {
      width: 100%;
    }
  
    .row-fluid .span3 {
      width: 100%;
    }
  
    .row-fluid .span4 {
      width: 100%;
    }
  
    .row-fluid .span5 {
      width: 100%;
    }
  
    .row-fluid .span6 {
      width: 100%;
    }
  
    .row-fluid .span7 {
      width: 100%;
    }
  
    .row-fluid .span8 {
      width: 100%;
    }
  
    .row-fluid .span9 {
      width: 100%;
    }
  
    .row-fluid .span10 {
      width: 100%;
    }
  
    .row-fluid .span11 {
      width: 100%;
    }
  
    .row-fluid .span12 {
      width: 100%;
    }
  
    .row-fluid .span13 {
      width: 100%;
    }
  
    .row-fluid .span14 {
      width: 100%;
    }
  
    .row-fluid .span15 {
      width: 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;
}

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

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



@font-face {
    font-family: 'GT italic';
    src: url('https://144323340.fs1.hubspotusercontent-eu1.net/hubfs/144323340/ambition/Fonts/gt-super-display-medium-italic-webfont.woff2') format('woff2'),
         url('https://144323340.fs1.hubspotusercontent-eu1.net/hubfs/144323340/ambition/Fonts/gt-super-display-medium-italic-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'Gilroy';
    src: url('https://144323340.fs1.hubspotusercontent-eu1.net/hubfs/144323340/ambition/Fonts/gilroy-regular.woff2') format('woff2'),
         url('https://144323340.fs1.hubspotusercontent-eu1.net/hubfs/144323340/ambition/Fonts/gilroy-regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Gilroy';
    src: url('https://144323340.fs1.hubspotusercontent-eu1.net/hubfs/144323340/ambition/Fonts/gilroy-bold.woff2') format('woff2'),
         url('https://144323340.fs1.hubspotusercontent-eu1.net/hubfs/144323340/ambition/Fonts/gilroy-bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
}

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

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

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

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

/* Paragraphs */

p {
  margin: 0 0 1.4rem;
}

p:last-child {
  margin: 0;
}

li em,
p em,
h1 em,
h2 em,
h3 em {
  position: relative;
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  text-transform: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  padding: 3px 3px;
  background-position: left bottom;
  background-size: 0 100%;
  background-image: linear-gradient(90deg, #CEFF00, #CEFF00);
  color: inherit;
  white-space: wrap;
  transition: background-size 1s ease;
  box-decoration-break: clone;
  display: initial;
  background-repeat: no-repeat;
  -webkit-box-decoration-break: clone;
}

h1 em {
  padding: 3px 15px;
}

em.active {
  background-size: 100% 100%; /* Highlight-Größe beim Aktivieren */
}

p.p2 {
  font-size: 18px;
}

/* Anchors */

a {
  cursor: pointer;
}

/* Headings */

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  line-height: 1.2;
}

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

h1.small,
h2.small,
h3.small,
h4.small,
h5.small,
h6.small,
p.small{
  text-transform: uppercase;
  font-size: var(--p1);
  font-weight: normal;
  margin-bottom: 0;
}

.headline-super h1,
.headline-super h2,
.headline-super h3,
.headline-super p {
  font-family: var(--GTitalic);
  font-size: var(--h1-super);
  text-align: center;
  line-height: 1.2;
}

.headline-super h2,
.headline-super p {
  font-size: var(--h2-super);
}
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: var(--p1);
  font-weight: 700;
  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 */

.hs-form-booleancheckbox-display > span {
  display: block;
  margin-left: 36px !important;
}

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

/* Validation */

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

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

form input[type="checkbox"] {
    appearance: none;
    background-color: transparent;
    margin: 0;
    font-family: var(--body-font);
    color: #ffffff;
    width: 20px;
    height: 20px;
    border: 1px solid #000000;
    border-radius: 0;
    transform: translateY(-0.075em);
    display: grid;
    place-content: center;
    position: relative;
    top: 7px;
    float: left;
    min-width: 20px;
}

form input[type="checkbox"]::before {
    content: "";
    width: 14px;
    height: 14px;
    transform: scale(0);
    transition: 120ms transform ease-in-out;
    box-shadow: inset 1em 1em #000000;
    transform-origin: bottom left;
    background-color: #ffffff;
    clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}

form input[type="checkbox"]:checked::before {
  transform: scale(1);
}

form a {
  color: #000000;
}

/* Captcha */


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



.loesungen {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  align-items: center;
  background-color: #fff;
  border: 1px solid #000000;
}

@media (max-width: 767px) {
  .loesungen dotlottie-player {
    width: 100% !important;
    height: 100% !important;
  }
}

@media (min-width: 768px) {
  .loesungen {
    grid-template-columns: repeat(12, 1fr);
  }
}

.loesungen .media {
  background-color: #CEFF00;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  border-bottom: 1px solid #000000;
}

@media (min-width: 768px) {
  .loesungen .media {
    grid-column: 1 / 6;
    border-right: 1px solid #000000;
    border-bottom: 0;
  }
}

.loesungen .text-content {
  padding: 40px 20px;
  height: 100%;
}

@media (min-width: 768px) {
  .loesungen .text-content {
    padding: 80px 0;
  }
}

@media (min-width: 768px) {
  .loesungen .text-content {
    grid-column: 7 / 12;
  }
}

.loesungen .text-content h2 {
  font-family: var(--GTitalic);
  font-size: var(--h2-super);
  line-height: 1.2;
  margin-bottom: 24px;
}

.loesungen .text-content div.text div {
  font-size: 18px;
}

.loesungen .button-wrapper {
  margin-top: 60px;
}

.loesungen .button-wrapper a {
  width: 100%;
  background-color: #ffffff;
  padding: 17px 20px;
}

.loesungen .button-wrapper a:hover {
  background-color: #000000;
}
.kl-testimonials .pagination {
  position: relative;
  max-width: 140px;
  margin-left: auto;
  height: 60px;
  top: -60px;
}

.kl-testimonials .pagination .swiper-button-next {
    right: 0;
    width: 60px;
}

.kl-testimonials .pagination .swiper-button-prev {
    left: 0;
    width: 60px;
}

.kl-testimonials .pagination .swiper-button-prev:after {
  content: '';
  background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='59' height='59' rx='29.5' fill='white' stroke='black'/%3E%3Cpath d='M21.3678 29.3678L32.1034 18.6322L32.7356 18L34 19.2644L33.3678 19.8966L23.2644 30L33.3678 40.1034L34 40.7356L32.7356 42L32.1034 41.3678L21.3678 30.6322L20.7356 30L21.3678 29.3678Z' fill='black'/%3E%3C/svg%3E%0A");
  display: block;
  width: 60px; 
  height: 60px;
  background-size: cover;
  background-repeat: no-repeat;
  min-width: 60px;
}

.kl-testimonials .pagination .swiper-button-prev:hover:after {
  background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='59' height='59' rx='29.5' fill='black' stroke='white'/%3E%3Cpath d='M21.3678 29.3678L32.1034 18.6322L32.7356 18L34 19.2644L33.3678 19.8966L23.2644 30L33.3678 40.1034L34 40.7356L32.7356 42L32.1034 41.3678L21.3678 30.6322L20.7356 30L21.3678 29.3678Z' fill='white'/%3E%3C/svg%3E%0A");
}

.kl-testimonials .pagination .swiper-button-next:after {
  content: '';
  background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='59' height='59' rx='29.5' fill='white' stroke='black'/%3E%3Cpath d='M37.6322 30.6322L26.8966 41.3678L26.2644 42L25 40.7356L25.6322 40.1034L35.7356 30L25.6322 19.8966L25 19.2644L26.2644 18L26.8966 18.6322L37.6322 29.3678L38.2644 30L37.6322 30.6322Z' fill='black'/%3E%3C/svg%3E%0A");
  display: block;
  width: 60px; 
  height: 60px;
  background-size: cover;
  background-repeat: no-repeat;
  min-width: 60px;
}

.kl-testimonials .pagination .swiper-button-next:hover:after {
  background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='59' height='59' rx='29.5' fill='black' stroke='white'/%3E%3Cpath d='M37.6322 30.6322L26.8966 41.3678L26.2644 42L25 40.7356L25.6322 40.1034L35.7356 30L25.6322 19.8966L25 19.2644L26.2644 18L26.8966 18.6322L37.6322 29.3678L38.2644 30L37.6322 30.6322Z' fill='white'/%3E%3C/svg%3E%0A");
}

.kl-testimonials .kl-testimonial__content {
  font-family: var(--GTitalic);
  font-size: var(--testimonial);
  line-height: 1.5;
  margin-bottom: 24px;
}

@media(min-width: 1024px) {
  .kl-testimonials .kl-testimonial__content {
    margin-bottom: 60px;
  }
}

.kl-testimonials .kl-testimonial__footer {
  display: flex;
  gap: 40px;
  align-items: center;
}

.kl-testimonials .kl-testimonial__footer img {
  width: 180px;
  height: auto;
}

.kl-testimonials .kl-testimonial__author {
  text-transform: uppercase;
  font-size: 16px;
}

.kl-testimonials .kl-testimonial__author span {
  display: block;
}
.kundenlogos {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px 30px;
}

@media (min-width: 768px) {
  .kundenlogos {
    grid-template-columns: repeat(4, 1fr);
    gap: 30px 40px;
  }
}

@media (min-width: 1000px) {
  .kundenlogos {
    grid-template-columns: repeat(6, 1fr);
    gap: 50px 60px;
  }
}
header .menu .menu__link {
  font-weight: bold;
  letter-spacing: 1.5px;
  font-size: var(--nav);
  letter-spacing: 2px;
  padding: 20px 20px;
}

@media (min-width: 1180px) {
  header .menu .menu__link {
    font-weight: bold;
    letter-spacing: 1.5px;
    font-size: var(--nav);
    background-color: #ffffff;
    border-radius: 40px;
    letter-spacing: 2px;
    padding: 17px 10px;
  }

  header .menu .menu__link.menu__link--active-link {
    background-color: #000000;
    color: #ffffff;
  }

  header .menu .menu__link:hover {
    background-color: #000000;
    color: #ffffff;
  }

  header .menu .menu__link + .menu__child-toggle {
    display: none;
  }
}

@media (min-width: 1520px) {
  header .menu .menu__link {
    padding: 17px 34px;
  }
}

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

/* Header DND sections */

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

header {
    border-bottom: 1px solid #000;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 99;
}

header #search-element {
  position: relative;
}

header #search-popup {
  background: #fff;
  border-radius: 0;
  display: none;
  position: absolute;
  right: 70px;
  top: 103px;
  box-shadow: 3px 4px 0px rgba(0, 0, 0, 1);
}

header .close-icon, 
header .search-icon {
    align-items: center;
    cursor: pointer;
    display: flex;
    justify-content: center;
    height: 81px;
    width: 89px;
}

header .search-icon {
  border-left: 1px solid #000000;
  border-right: 1px solid #000000;
}

header .close-icon {
  background: #000;
  display: none;
}

#main-content {
    margin-top: 83px;
}

.button-contact .button {
  padding: 17px 34px;
  background-color: #ffffff;
  margin-left: 30px;
}

.button-contact .button:hover {
  background-color: #000000;
}

/* Header container */

.header__container {
  display: flex;
  justify-content: space-between;
  max-width: 100% !important;
  padding: 0 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: 1179px) {
  .header__container {
    flex-direction: row;
    padding: 24px 0;
  }

  .header__column {
    display: none;
  }

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

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

.header--navigation {
  display: flex;
  align-items: center;
}

/* 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 {
  display: flex;
  align-items: center;
  height: auto;
  width: 100%;
  max-width: 188px;
  overflow: hidden;
  position: relative;
}

@media (min-width: 1180px) {
  .header__logo {
    max-width: 220px;
  }
  
  .header__logo:after {
    content: '';
    width: 1px;
    height: 100%;
    display: block;
    background-color: #000000;
    position: absolute;
    right: 0;
  }
}

#hs_cos_wrapper_site_logo {
  height: 33px;
}

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

@media (min-width: 1180px) {
  .menu .menu__submenu {
    border: 1px solid #000000;
    background-color: #ffffff;
  }
}

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

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

/* Search bar */

.header__search {
  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 {
    fill: #000;
    background-color: #ffffff;
    border: 1px solid #000000;
    padding: 24px;
    border-radius: 0;
    position: relative;
    top: 0;
    right: 0;
    align-self: stretch;
    border-left: 0;
  }

  .header__search .hs-search-field__button:hover {
    background-color: var(--primary-color);
  }

  #hs_cos_wrapper_site_search_ {
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='19' viewBox='0 0 24 19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_833_2316)'%3E%3Cpath d='M22.52 0.74V0H24V12.59H2.83L7.49 17.25L8.01 17.77L6.96 18.82L6.44 18.3L0.52 12.37L0 11.85L0.52 11.33L6.44 5.41L6.96 4.89L8.01 5.94L7.49 6.46L2.83 11.12H22.52V0.74Z' fill='black'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_833_2316'%3E%3Crect width='24' height='18.82' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
    width: 24px;
    height: 19px;
    display: block;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }

  #site_search-input {
    font-size: 14px;
    min-width: 300px;
    height: auto;
    align-self: stretch;
    color: #000000;
    min-width: 320px;
    padding-left: 58px;
  }

  .header__search .hs-search-field__button svg {
    display: none;
  }


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

.header__search .hs-search-field--open .hs-search-field__suggestions {
  background-color: #FFF;
  border: 1px solid #000000;
  border-radius: 0;
  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: 1180px) {
  .header__search form {
    align-items: center;
    display: flex;
    flex-direction: row;
  }
  
  .header__search form:before {
    content: '';
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.1371 17.2102C14.4321 18.6745 12.2056 19.557 9.77852 19.557C4.37275 19.557 0 15.1843 0 9.77852C0 4.37275 4.37275 0 9.77852 0C15.1843 0 19.557 4.37275 19.557 9.77852C19.557 12.2056 18.6745 14.4321 17.2102 16.1371L24 22.9369L22.9369 24L16.1371 17.2102ZM18.0527 9.77852C18.0527 6.81989 16.4781 4.09193 13.9206 2.61763C11.3631 1.14333 8.20393 1.14333 5.64647 2.61763C3.08901 4.09193 1.51442 6.82992 1.51442 9.77852C1.51442 12.7271 3.08901 15.4651 5.64647 16.9394C8.20393 18.4137 11.3631 18.4137 13.9206 16.9394C16.4781 15.4651 18.0527 12.7271 18.0527 9.77852Z' fill='black'/%3E%3C/svg%3E%0A");
    width: 24px;
    height: 24px;
    display: block;
    background-size: cover;
    min-width: 24px;
    background-repeat: no-repeat;
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
  }

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

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

@media (max-width: 1179px) {
  .header__search {
    border-top: 1px 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: 1179px) {
  .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: 1179px) {
  .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 !important;
  }

  .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,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='24' height='18.857' viewBox='0 0 24 18.857'%3E%3Cdefs%3E%3CclipPath id='clip-path'%3E%3Crect id='Rechteck_3' data-name='Rechteck 3' width='24' height='18.857' transform='translate(4 7)' fill='%23fff'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg id='Gruppe_5' data-name='Gruppe 5' transform='translate(-4 -7)' clip-path='url(%23clip-path)'%3E%3Cpath id='Pfad_12' data-name='Pfad 12' d='M4,7H28V8.714H4Zm0,8.571H28v1.714H4Zm24,8.572v1.714H4V24.143Z'/%3E%3C/g%3E%3C/svg%3E%0A");
    background-size: cover;
    height: 19px;
    width: 24px;
    min-width: 24px;
  }

  .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 {
    display: none;
  }

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

  .header__close--toggle {
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.7133 12L23.14 21.4267L23.9934 22.2801L22.2735 24L21.4201 23.1466L11.9934 13.7199L2.56671 23.1466L1.71332 24L-0.0065918 22.2801L0.8468 21.4267L10.2735 12L0.859929 2.5733L0.00653731 1.71991L1.72645 0L2.57984 0.853392L12.0065 10.2801L21.4332 0.853392L22.2866 0L24.0065 1.71991L23.1531 2.5733L13.7264 12H13.7133Z' fill='black'/%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
    background-size: 100%;
    display: none;
    height: 24px;
    margin-right: 20px;
    width: 24px;
    min-width: 24px;
  }

  .header__close--toggle.show {
    display: block;
  }

  body .menu__item--depth-1 {
    border-top: 1px solid #000;
  }
  
  body .menu__child-toggle {
    background-size: 14px 24px;
    display: block !important;
    padding: 23px 0;
  }
  
  body .menu__child-toggle-icon {
    background-image: url("data:image/svg+xml,%3Csvg width='14' height='24' viewBox='0 0 14 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.6322 12.6322L1.89662 23.3678L1.26441 24L-5.52693e-08 22.7356L0.632207 22.1034L10.7356 12L0.632206 1.89662L-9.93804e-07 1.26442L1.26441 1.85208e-06L1.89662 0.632208L12.6322 11.3678L13.2644 12L12.6322 12.6322Z' fill='black'/%3E%3C/svg%3E%0A");
    height: 24px;
    width: 14px;
  }
  
  body header .menu .menu__link+.menu__child-toggle:hover {
    padding: 30px 0;
  }
  
  body .menu__item--open > .menu__child-toggle .menu__child-toggle-icon {
      transform: rotate(-90deg);
  }
  
  body .menu__item--has-submenu.menu__item--open {
    background-color: #000000;
  }
  
  body .menu__item--has-submenu.menu__item--open .menu__link {
    color: #ffffff;
  }
  
  body .menu__item--has-submenu.menu__item--open .menu__child-toggle-icon {
    background-image: url("data:image/svg+xml,%3Csvg width='14' height='24' viewBox='0 0 14 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.6322 12.6322L1.89662 23.3678L1.26441 24L-5.52693e-08 22.7356L0.632207 22.1034L10.7356 12L0.632206 1.89662L-9.93804e-07 1.26442L1.26441 9.79752e-07L1.89662 0.632208L12.6322 11.3678L13.2644 12L12.6322 12.6322Z' fill='white'/%3E%3C/svg%3E%0A");
  }
  
  body .menu__item--has-submenu.menu__item--open .menu__submenu .menu__item {
    border-top: unset;
  }
  
  body .menu__item--has-submenu.menu__item--open .menu__submenu .menu__link, 
  body .menu__item--has-submenu.menu__item--open .menu__submenu .menu__link:focus, 
  body .menu__item--has-submenu.menu__item--open .menu__submenu .menu__link:hover {
    background-color: #000;
  }
  
  body header .menu__submenu--level-2 .menu__link {
    border-radius: 0;
    padding: 15px 20px 25px;
    font-size: 16px;
    text-transform: uppercase;
  }
  
  body header .menu__submenu--level-2 {
    border-top: 1px solid #ffffff;
  }
	
  #mobile-search-form input {
	  border: 0 !important;
	  background-color: transparent;
	  min-width: unset;
	  width: 100%;
	  padding-left: 23px;
	  font-size: 20px;
	  font-weight: 700;
	}
	
	#mobile-search-form ::placeholder {
		color: #000000;
		font-weight: 700;
		text-transform: uppercase;
	}
	
	form#mobile-search-form {
		background-color: transparent;
		padding: 0 20px;
		margin-top: 30px;
		align-items: center;
	}
	
	
    #mobile-search-form button.hs-search-field__button {
		padding: 0;
		background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.1371 17.2102C14.4321 18.6745 12.2056 19.557 9.77852 19.557C4.37275 19.557 0 15.1843 0 9.77852C0 4.37275 4.37275 0 9.77852 0C15.1843 0 19.557 4.37275 19.557 9.77852C19.557 12.2056 18.6745 14.4321 17.2102 16.1371L24 22.9369L22.9369 24L16.1371 17.2102ZM18.0527 9.77852C18.0527 6.81989 16.4781 4.09193 13.9206 2.61763C11.3631 1.14333 8.20393 1.14333 5.64647 2.61763C3.08901 4.09193 1.51442 6.82992 1.51442 9.77852C1.51442 12.7271 3.08901 15.4651 5.64647 16.9394C8.20393 18.4137 11.3631 18.4137 13.9206 16.9394C16.4781 15.4651 18.0527 12.7271 18.0527 9.77852Z' fill='black'/%3E%3C/svg%3E%0A");
		background-size: 24px 24px;
		display: block;
		background-repeat: no-repeat;
		background-position: center;
		width: 24px;
        height: 24px;
        border: 0;
        background-color: transparent;
        border-radius: 0;
	}
}
/* 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%;
}

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

:root {
  /* Colors */
  --primary-color:    #CEFF00;
  --silver:           #C8C8C8;
  
  /* Family*/
  --GTitalic:         'GT italic', sans-serif;
  --font:             'Gilroy', sans-serif;
  
  /* Fonts */
  --h1:               48px;
  --h1-super:         48px;
  --h2-super:         36px;
  --h2:               36px;
  --p1:               16px;
  --h3:               24px;
  --h4:               24px;
  --event:            20px;
  --nav:              18px;
  --testimonial:      24px;
  --h4-super:         24px;
  --accordion:        16px;
  --case:             24px;
  --kontakt:          18px;
  --button:           16px;
  --start:            74px;
  
  @media (min-width: 768px) {
    --case:           18px;
  }
	
  @media (min-width: 1180px) {
	  --nav:          14px;
  }
	
  
  @media (min-width: 1024px) {
    --h1:               96px;
    --h1-super:         96px;
    --h2-super:         48px;
    --h2:               48px;
    --h3:               36px;
    --testimonial:      48px;
    --h4-super:         24px;
    --accordion:        22px;
    --case:             24px;
    --kontakt:          18px;
    --p1:               18px;
    --button:           16px;
    --start:            120px;
    --event:            24px;
  }
	
  @media (min-width: 1181px) {
	  --nav:            16px;
  }
}

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