@charset "UTF-8";
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/* comfortaa-regular - latin */
@font-face {
  font-family: "Comfortaa";
  font-style: normal;
  font-weight: 400;
  src: local(""), url("/wp-content/themes/heicom-systems-child-theme/fonts/comfortaa-v30-latin-regular.woff2") format("woff2"), url("/wp-content/themes/heicom-systems-child-theme/fonts/comfortaa-v30-latin-regular.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* comfortaa-700 - latin */
@font-face {
  font-family: "Comfortaa";
  font-style: normal;
  font-weight: 700;
  src: local(""), url("/wp-content/themes/heicom-systems-child-theme/fonts/comfortaa-v30-latin-700.woff2") format("woff2"), url("/wp-content/themes/heicom-systems-child-theme/fonts/comfortaa-v30-latin-700.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* roboto-regular - latin */
@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 400;
  src: local(""), url("/wp-content/themes/heicom-systems-child-theme/fonts/roboto-v27-latin-regular.woff2") format("woff2"), url("/wp-content/themes/heicom-systems-child-theme/fonts/roboto-v27-latin-regular.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* roboto-700 - latin */
@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 700;
  src: local(""), url("/wp-content/themes/heicom-systems-child-theme/fonts/roboto-v27-latin-700.woff2") format("woff2"), url("/wp-content/themes/heicom-systems-child-theme/fonts/roboto-v27-latin-700.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
@keyframes fade-in-links--key {
  from {
    opacity: 0;
    transform: translate3d(-50%, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fade-in-bottom--key {
  from {
    opacity: 0;
    transform: translate3d(0, 50%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fade-in-top--key {
  from {
    opacity: 0;
    transform: translate3d(0, -50%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
/* ---------------------------------------------------------- Schriftbild */
body .hcs {
  font-family: "Roboto", "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-style: normal;
}

.hcs h1, .hcs h2, .hcs h3, .hcs h4, .hcs h5, .hcs h6 {
  font-family: "Comfortaa", "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-style: normal;
}

.hcs p, .hcs li, .hcs a {
  font-size: 1rem;
}

/* ---------------------------------------------------------- Shortcodes */
.es-orange {
  color: #FF9C00;
}

.bg-grau {
  background: #222222;
}

.hcs-divider .fl-separator {
  border-top-width: 2rem;
}

.text-white h1, .text-white h2, .text-white h3, .text-white h4, .text-white p, .text-white a, .text-white li {
  color: #ffffff;
}

.bold {
  font-weight: bolder !important;
}

.thin {
  font-weight: lighter !important;
}

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

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

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

.trennung h1, .trennung h2, .trennung h3, .trennung h4, .trennung h5, .trennung h6, .trennung p {
  -epub-hyphens: auto;
  -o-hyphens: auto;
  -webkit-hyphens: auto;
  hyphens: auto;
}

.m--break {
  display: none;
}

/* ---------------------------------------------------------- Responsive */
@media all and (max-width: 1024px) {
  .m--break {
    display: block;
  }
}
.hcs .fl-row-content-wrap .fl-row-fixed-width, .hcs .fixed-width--col {
  width: 80%;
  max-width: 1800px;
}
.hcs.content-container--row .fl-row-content-wrap, .hcs .content-container--col > .fl-col-content {
  padding: 10rem 3rem;
}
.hcs.content-container-xs--row .fl-row-content-wrap, .hcs .content-container-xs--col > .fl-col-content {
  padding: 3rem;
}
.hcs.full-width-container--row .fl-row-content-wrap {
  padding: 0;
}
.hcs.split--row .content--col .fl-col-content {
  max-width: 658px;
  margin-left: auto;
  margin-right: auto;
}

.hcs .fixed-width--col {
  margin-left: auto;
  margin-right: auto;
  float: none;
}

.hcs.content-container--row.no-padding-bottom .fl-row-content-wrap, .hcs.content-container-xs--row.no-padding-bottom .fl-row-content-wrap {
  padding-bottom: 0;
}
.hcs.content-container--row.no-padding-top .fl-row-content-wrap, .hcs.content-container-xs--row.no-padding-top .fl-row-content-wrap {
  padding-top: 0;
}

/* ---------------------------------------------------------- Responsive */
@media all and (max-width: 1920px) {
  .hcs .fl-row-content-wrap .fl-row-fixed-width, .hcs .fixed-width--col {
    width: 100%;
    max-width: 80vw;
  }
  .hcs.content-container--row .fl-row-content-wrap, .hcs .content-container--col > .fl-col-content {
    padding: 10rem 3rem;
  }
  .hcs.content-container-xs--row .fl-row-content-wrap, .hcs .content-container-xs--col > .fl-col-content {
    padding: 3rem;
  }
}
@media all and (max-width: 1366px) {
  .hcs .fl-row-content-wrap .fl-row-fixed-width, .hcs .fixed-width--col {
    max-width: 85vw;
  }
  .hcs.content-container--row .fl-row-content-wrap, .hcs .content-container--col > .fl-col-content {
    padding: 8rem 3rem;
  }
  .hcs.content-container-xs--row .fl-row-content-wrap, .hcs .content-container-xs--col > .fl-col-content {
    padding: 3rem;
  }
}
@media all and (max-width: 1024px) {
  .hcs .fl-row-content-wrap .fl-row-fixed-width, .hcs .fixed-width--col {
    width: 100%;
    max-width: 100%;
  }
  .hcs.content-container--row .fl-row-content-wrap, .hcs .content-container--col > .fl-col-content {
    padding: 6rem 3rem;
  }
  .hcs.content-container-xs--row .fl-row-content-wrap, .hcs .content-container-xs--col > .fl-col-content {
    padding: 3rem;
  }
}
@media all and (max-width: 768px) {
  .hcs.content-container--row .fl-row-content-wrap, .hcs .content-container--col > .fl-col-content {
    padding: 5rem 2rem;
  }
  .hcs.content-container-xs--row .fl-row-content-wrap, .hcs .content-container-xs--col > .fl-col-content {
    padding: 2rem;
  }
}
@media all and (max-width: 500px) {
  .hcs.content-container--row .fl-row-content-wrap, .hcs .content-container--col > .fl-col-content {
    padding: 4rem 1rem;
  }
  .hcs.content-container-xs--row .fl-row-content-wrap, .hcs .content-container-xs--col > .fl-col-content {
    padding: 1rem;
  }
}
/* ---------------------------------------------------------------------- Container */
.hcs.subpage-split--row {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.hcs.subpage-split--row .content-container--col .fl-col-content {
  padding: 8em 10em;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.hcs.subpage-split--row .bg-img--col {
  position: sticky;
  top: 0;
}
.hcs.subpage-split--row .bg-img--col .fl-col-content {
  padding: 2rem;
}

.hcs.subpage-split--row .content-container--col {
  width: 40%;
}
.hcs.subpage-split--row .bg-img--col {
  width: 60%;
}

/* ---------------------------------------------------------- Responsive */
@media all and (max-width: 1920px) {
  .hcs.subpage-split--row .content-container--col .fl-col-content {
    padding: 8em;
  }
}
@media all and (max-width: 1600px) {
  .hcs.subpage-split--row .content-container--col .fl-col-content {
    padding: 6em;
  }
  .hcs.subpage-split--row .bg-img--col .fl-col-content {
    padding: 1rem;
  }
}
@media all and (max-width: 1366px) {
  .hcs.subpage-split--row .content-container--col .fl-col-content {
    padding: 4em;
  }
  .hcs.subpage-split--row .content-container--col, .hcs.subpage-split--row .bg-img--col {
    width: 45%;
  }
  .hcs.subpage-split--row .bg-img--col {
    width: 55%;
  }
}
@media all and (max-width: 1024px) {
  .hcs.subpage-split--row .content-container--col .fl-col-content {
    padding: 6em 3em;
  }
  .hcs.subpage-split--row .bg-img--col {
    position: static;
    top: 0;
  }
  .hcs.subpage-split--row .bg-img--col .fl-col-content {
    padding: 3em;
    min-height: 60vh;
  }
  .hcs.subpage-split--row .content-container--col, .hcs.subpage-split--row .bg-img--col {
    width: 100% !important;
  }
  .hcs.subpage-split--row.content-first .fl-col-group {
    display: flex;
    flex-direction: column-reverse;
  }
  .hcs.subpage-split--row.image-first .fl-col-group {
    display: flex;
    flex-direction: column;
  }
}
@media all and (max-width: 500px) {
  .hcs.subpage-split--row .content-container--col .fl-col-content {
    padding: 6em 1.5em;
  }
  .hcs.subpage-split--row .bg-img--col .fl-col-content {
    padding: 1.5em;
  }
}
.hero-landing--row .hero-heading--mdl, .hero-subpage--row .hero-heading--mdl {
  margin-top: 2rem;
}
.hero-landing--row .hero-heading--mdl h1, .hero-subpage--row .hero-heading--mdl h1 {
  font-size: 6rem;
  text-transform: lowercase;
  margin-bottom: 1rem !important;
}

.hcs .marker-heading--mdl h2 {
  color: #fff;
  font-weight: 700;
  line-height: 4.1rem;
}
.hcs .marker-heading--mdl h2 span.marker {
  background: #FF9C00;
  padding: 0.6rem;
}

.hcs.crechts .marker-heading--mdl h2 {
  text-align: right;
}

.subpage-split--row .bg-img-heading {
  position: sticky;
  top: 7rem;
}
.subpage-split--row .bg-img-heading h2 {
  line-height: 4.1rem;
}
.subpage-split--row .bg-img-heading h2 .fl-heading-text {
  display: inline-block;
  color: #fff;
  font-weight: 700;
}
.subpage-split--row .bg-img-heading h2 .fl-heading-text span.marker {
  background: #FF9C00;
  padding: 0.6rem;
}
.subpage-split--row .bg-img-heading.links h2 {
  text-align: right;
}

.subpage-split--row .content-heading--mdl, .landing-content-heading--mdl {
  margin-bottom: 1.5rem;
}
.subpage-split--row .content-heading--mdl h3, .subpage-split--row .content-heading--mdl h2, .landing-content-heading--mdl h3, .landing-content-heading--mdl h2 {
  position: relative;
}
.subpage-split--row .content-heading--mdl h3 .fl-heading-text::after, .subpage-split--row .content-heading--mdl h2 .fl-heading-text::after, .landing-content-heading--mdl h3 .fl-heading-text::after, .landing-content-heading--mdl h2 .fl-heading-text::after {
  content: "";
  display: block;
  background: #FF9C00;
  width: 5rem;
  height: 0.25rem;
  position: absolute;
  left: 0;
  bottom: -1.05em;
  transform: translateX(0%) translateY(-50%);
  border-radius: 50px;
}

/* ---------------------------------------------------------- Responsive */
@media all and (max-width: 1366px) {
  .hero-landing--row .hero-heading--mdl h1, .hero-subpage--row .hero-heading--mdl h1 {
    font-size: 5rem;
  }
}
@media all and (max-width: 1024px) {
  .hero-landing--row .hero-heading--mdl h1, .hero-subpage--row .hero-heading--mdl h1 {
    font-size: 4rem;
  }
  .subpage-split--row .bg-img-heading {
    position: sticky;
  }
  .subpage-split--row .bg-img-heading h2 {
    line-height: 3.7rem;
  }
  .subpage-split--row .bg-img-heading.links h2 {
    text-align: left;
  }
}
@media all and (max-width: 768px) {
  .hero-landing--row .hero-heading--mdl h1, .hero-subpage--row .hero-heading--mdl h1 {
    font-size: 3.5rem;
  }
  .subpage-split--row .bg-img-heading h2, .hcs .marker-heading--mdl h2 {
    line-height: 3.3rem;
    font-size: 1.6rem;
  }
}
@media all and (max-width: 500px) {
  .hero-landing--row .hero-heading--mdl h1, .hero-subpage--row .hero-heading--mdl h1 {
    font-size: 2.3rem;
  }
  .subpage-split--row .bg-img-heading h2, .hcs .marker-heading--mdl h2 {
    line-height: 2.9rem !important;
    font-size: 1.3rem !important;
  }
}
:root {
  --fluid-text--xs: clamp(0.756rem, -0.029vi + 0.765rem, 0.72rem);
  --fluid-text--s: clamp(0.87rem, 0.024vi + 0.862rem, 0.9rem);
  --fluid-text--m: clamp(1rem, 0.1vi + 0.969rem, 1.125rem);
  --fluid-text--l: clamp(1.15rem, 0.205vi + 1.086rem, 1.406rem);
  --fluid-heading--xs: clamp(1.322rem, 0.348vi + 1.214rem, 1.758rem);
  --fluid-heading--s: clamp(1.521rem, 0.541vi + 1.352rem, 2.197rem);
  --fluid-heading--m: clamp(1.749rem, 0.798vi + 1.5rem, 2.747rem);
  --fluid-heading--l: clamp(2.011rem, 1.137vi + 1.656rem, 3.433rem);
  --fluid-heading--xl: clamp(2.313rem, 1.583vi + 1.818rem, 4.292rem);
  --fluid-heading--2xl: clamp(2.66rem, 2.164vi + 1.984rem, 5.364rem);
  --fluid-heading--3xl: clamp(3.059rem, 2.917vi + 2.147rem, 6.706rem);
}

.hcs h1 {
  font-size: 3rem;
  line-height: 1.05;
}

.hcs h2 {
  font-size: 2.25rem;
  line-height: 1.125;
}

.hcs h3 {
  font-size: 1.75rem;
  line-height: 1.25;
}

.hcs h4 {
  font-size: 1.125rem;
  line-height: 1.22222222;
}

.hcs h5 {
  font-size: 1rem;
  line-height: 1.375;
}

.hcs h6 {
  font-size: 0.75rem;
  line-height: 1.203125;
}

body, caption, th, td, input, textarea, select, option, legend, fieldset, h1, h2, h3, h4, h5, h6 {
  font-size-adjust: 0.5;
}

body p, body a, body li, .hcs p, .hcs a, .hcs li, .medium--text p, .medium--text a, .medium--text li {
  font-size: 1rem;
  font-size: clamp(0.9rem, 0.8664rem + 0.1495vw, 1.1rem);
  line-height: 1.5;
}

html {
  font-size: 100% !important;
}

.hcs .hero--headline h1, .hcs .hero--headline h2 {
  font-size: 3rem;
  font-size: clamp(3rem, 2.3271rem + 2.9907vw, 7rem);
  line-height: 1.2;
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
}
.hcs .xlarge--headline h1, .hcs .xlarge--headline h2, .hcs .xlarge--headline h3 {
  font-size: 2.3rem;
  font-size: clamp(2.3rem, 1.9299rem + 1.6449vw, 4.5rem);
  line-height: 1;
}
.hcs .large--headline {
  margin-bottom: 2rem;
}
.hcs .large--headline h1, .hcs .large--headline h2, .hcs .large--headline h3 {
  font-size: 2.1rem;
  font-size: clamp(2.1rem, 1.9654rem + 0.5981vw, 2.9rem);
  line-height: 1.3;
}
.hcs .medium--headline h1, .hcs .medium--headline h2, .hcs .medium--headline h3, .hcs .medium--headline h4, .hcs .medium--headline h5, .hcs .medium--headline h6 {
  font-size: 1.8rem;
  font-size: clamp(1.6rem, 1.4822rem + 0.5234vw, 2.3rem);
  line-height: 1.3;
}
.hcs .small--headline h1, .hcs .small--headline h2, .hcs .small--headline h3, .hcs .small--headline h4, .hcs .small--headline h5, .hcs .small--headline h6 {
  font-size: 1.4rem;
  font-size: clamp(1.4rem, 1.3159rem + 0.3738vw, 1.9rem);
  line-height: 1.3;
}
.hcs .xsmall--headline h1, .hcs .xsmall--headline h2, .hcs .xsmall--headline h3, .hcs .xsmall--headline h4, .hcs .xsmall--headline h5, .hcs .xsmall--headline h6 {
  font-size: 1.2rem;
  font-size: clamp(1.2rem, 1.1495rem + 0.2243vw, 1.5rem);
  line-height: 1.3;
}
.hcs .large--text p, .hcs .large--text li, .hcs .large--text a {
  font-size: 1.2rem;
  font-size: clamp(1.2rem, 1.1832rem + 0.0748vw, 1.3rem);
  line-height: 1.5;
}
.hcs .small--text p, .hcs .small--text li, .hcs .small--text a {
  font-size: 0.8rem;
  font-size: clamp(0.8rem, 0.7832rem + 0.0748vw, 0.9rem);
  line-height: 1.5;
}
.hcs h3 .fl-callout-title-text, .hcs h3 a.fl-callout-title-text, .hcs .card--mdl h3 {
  font-size: 1.2rem;
  font-size: clamp(1.2rem, 1.1495rem + 0.2243vw, 1.5rem);
  line-height: 1.2;
}

.hcs.header--row .kontakt-spalte--col p, .hcs.header--row .desktop-nav--mdl .menu li a {
  font-size: 1rem;
  font-size: clamp(0.9rem, 0.8664rem + 0.1495vw, 1.1rem);
}

.hcs.off-cavas--row .oc-menu--mdl li a {
  font-size: 1rem;
  font-size: clamp(0.9rem, 0.8664rem + 0.1495vw, 1.1rem);
}

.hcs.hero-landing--row .fl-row-content-wrap {
  min-height: 75vh;
  overflow-x: hidden;
}
.hcs.hero-landing--row .fl-row-content-wrap::after {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.7) 10%, rgba(0, 0, 0, 0) 100%);
}
.hcs.hero-landing--row .hero-content--mdl {
  width: 750px;
  max-width: 55vw;
  margin-bottom: 2rem;
}

/* ---------------------------------------------------------- Responsive */
@media all and (max-width: 768px) {
  .hcs.hero-landing--row .fl-row-content-wrap {
    min-height: 75vh;
  }
  .hcs.hero-landing--row .fl-row-content-wrap::after {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.9) 10%, rgba(0, 0, 0, 0) 100%);
  }
  .hcs.hero-landing--row .hero-content--mdl {
    width: 100%;
    max-width: 100%;
  }
}
.hcs.hero-subpage--row .fl-row-content-wrap {
  min-height: 65vh;
  overflow-x: hidden;
}
.hcs.hero-subpage--row .fl-row-content-wrap::after {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.7) 10%, rgba(0, 0, 0, 0) 100%);
}
.hcs.hero-subpage--row.min .fl-row-content-wrap {
  min-height: 0 !important;
  padding-top: min(3rem, 6vw) !important;
  padding-bottom: min(3rem, 6vw) !important;
}
.hcs.hero-subpage--row .hero-content--mdl {
  width: 750px;
  max-width: 55vw;
}
.hcs.hero-subpage--row .hero-content--mdl p {
  font-size: 1rem;
}

.hcs.hero-subpage--row.content-container--row .fl-row-content-wrap, .hcs.hero-landing--row.content-container--row .fl-row-content-wrap {
  padding: 6em 10em;
  padding-top: 12rem;
}

/* ---------------------------------------------------------- Responsive */
@media all and (max-width: 1920px) {
  .hcs.hero-subpage--row.content-container--row .fl-row-content-wrap, .hcs.hero-landing--row.content-container--row .fl-row-content-wrap {
    padding: 6em 8em;
    padding-top: 12rem;
  }
}
@media all and (max-width: 1600px) {
  .hcs.hero-subpage--row.content-container--row .fl-row-content-wrap, .hcs.hero-landing--row.content-container--row .fl-row-content-wrap {
    padding: 4em 6em;
    padding-top: 12rem;
  }
}
@media all and (max-width: 1366px) {
  .hcs.hero-subpage--row.content-container--row .fl-row-content-wrap, .hcs.hero-landing--row.content-container--row .fl-row-content-wrap {
    padding: 4em;
    padding-top: 12rem;
  }
}
@media all and (max-width: 1024px) {
  .hcs.hero-subpage--row.content-container--row .fl-row-content-wrap, .hcs.hero-landing--row.content-container--row .fl-row-content-wrap {
    padding: 3em;
    padding-top: 12rem;
  }
}
@media all and (max-width: 768px) {
  .hcs.hero-subpage--row .fl-row-content-wrap {
    min-height: 30vh;
  }
  .hcs.hero-subpage--row .fl-row-content-wrap::after {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.9) 10%, rgba(0, 0, 0, 0) 100%);
  }
  .hcs.hero-subpage--row .hero-content--mdl {
    width: 100%;
    max-width: 100%;
  }
}
@media all and (max-width: 500px) {
  .hcs.hero-subpage--row.content-container--row .fl-row-content-wrap, .hcs.hero-landing--row.content-container--row .fl-row-content-wrap {
    padding: 1.5em;
    padding-top: 8rem;
  }
}
.leistungen-cards--row {
  margin-top: -7rem;
  position: relative;
  z-index: 10;
}

.es-overlay-card-col .fl-col-content {
  background-image: linear-gradient(to right, #232526 0%, #414345 100%);
  margin: 0.5rem;
  border-radius: 1.25rem;
  box-shadow: 5px 5px 25px -15px #353535;
}
.es-overlay-card-col .fl-col-content .card-icon, .es-overlay-card-col .fl-col-content .card-heading, .es-overlay-card-col .fl-col-content .card-text {
  margin-left: 1rem;
  margin-right: 1rem;
}
.es-overlay-card-col .fl-col-content .card-icon {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.es-overlay-card-col .fl-col-content .card-icon .fl-module-content {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  margin: 0;
}
.es-overlay-card-col .fl-col-content .card-icon i::before, .es-overlay-card-col .fl-col-content .card-icon i {
  font-size: 1.2rem;
}
.es-overlay-card-col .fl-col-content .card-icon p {
  font-family: "Comfortaa", "Roboto", Arial, sans-serif;
  font-weight: 700;
}
.es-overlay-card-col .fl-col-content .card-image .fl-module-content {
  margin: 0;
  margin-bottom: 1rem;
}
.es-overlay-card-col .fl-col-content .card-text p {
  margin-bottom: 1rem;
}

/* ---------------------------------------------------------- Responsive */
@media all and (max-width: 1366px) {
  .leistungen-cards--row .es-overlay-card-col {
    width: 50%;
  }
  .leistungen-cards--row .es-overlay-card-col .fl-col-content {
    margin: 1rem;
  }
}
.vorteile-cards--row {
  margin-top: -9vh;
}
.vorteile-cards--row .fl-col-content {
  background-image: linear-gradient(to bottom right, #232526, #414345);
  border-radius: 1.25rem;
  box-shadow: 5px 5px 25px -15px #353535;
  padding: 3rem;
  margin: 0.5rem;
}
.vorteile-cards--row .vorteile-card--mdl .fl-module-content .fl-icon-wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-content: center;
  align-items: center;
}
.vorteile-cards--row .vorteile-card--mdl .fl-module-content i, .vorteile-cards--row .vorteile-card--mdl .fl-module-content i::before {
  font-size: 2rem;
}
.vorteile-cards--row .vorteile-card--mdl .fl-module-content .fl-icon-text {
  height: auto;
  margin-top: 2em;
  padding-left: 0;
}
.vorteile-cards--row .vorteile-card--mdl .fl-module-content .fl-icon-text h4 {
  font-weight: 700;
  padding-bottom: 1em !important;
  display: block;
}
.vorteile-cards--row .vorteile-card--mdl .fl-module-content .fl-icon-text h4, .vorteile-cards--row .vorteile-card--mdl .fl-module-content .fl-icon-text p {
  color: #fff;
  text-align: center;
}

.vorteile-section--row {
  background-image: linear-gradient(to right, #232526 0%, #414345 100%);
}
.vorteile-section--row .fl-row-content-wrap {
  background-image: url(/wp-content/uploads/es-icon-dark.svg);
  background-repeat: no-repeat;
  background-position: 40vw center;
  background-size: auto 120%;
  min-height: 50vh;
  display: flex;
  justify-content: center;
  align-content: center;
  align-items: center;
}
.vorteile-section--row .liste-heading--mdl h2 {
  color: #fff;
  text-align: right;
  line-height: 1.3;
  font-weight: 700;
}
.vorteile-section--row .liste-content--mdl ul {
  margin-left: 0;
  list-style: none;
  padding-inline-start: 0px;
}
.vorteile-section--row .liste-content--mdl ul li {
  line-height: 1.2;
  padding: 0.7em 1em;
  padding-left: 2.2em;
  background: url("/wp-content/uploads/es-check.svg") no-repeat left center;
  background-size: 1.2em;
  color: #fff;
  font-weight: 400;
  font-size: 1.2rem;
  margin-left: 2em;
}

/* ---------------------------------------------------------- Responsive */
@media all and (max-width: 1600px) {
  .vorteile-cards--row .fl-col-content {
    padding: 1rem;
  }
  .vorteile-section--row .liste-heading--col, .vorteile-section--row .liste-content--col {
    width: 50%;
  }
  .vorteile-section--row .fl-row-content-wrap {
    background-position: -10vw center;
    background-size: auto 120%;
  }
  .vorteile-section--row .liste-content--mdl ul li {
    font-size: 1rem;
  }
}
@media all and (max-width: 1024px) {
  .vorteile-cards--row {
    max-width: 500px;
  }
  .vorteile-cards--row .fl-col {
    width: 100%;
    margin-bottom: 2rem;
  }
  .vorteile-cards--row .vorteile-card--mdl .fl-module-content i, .vorteile-cards--row .vorteile-card--mdl .fl-module-content i::before {
    font-size: 2rem;
  }
  .vorteile-cards--row .vorteile-card--mdl .fl-module-content .fl-icon-text {
    height: auto;
    margin-top: 2em;
    padding-left: 0;
  }
  .vorteile-cards--row .vorteile-card--mdl .fl-module-content .fl-icon-text h4 {
    text-transform: none;
    font-weight: 700;
    padding-bottom: 1em !important;
    display: block;
  }
  .vorteile-cards--row .vorteile-card--mdl .fl-module-content .fl-icon-text h4, .vorteile-cards--row .vorteile-card--mdl .fl-module-content .fl-icon-text p {
    color: #fff;
    text-align: center;
  }
  .vorteile-section--row .liste-heading--col, .vorteile-section--row .liste-content--col {
    width: 100%;
  }
  .vorteile-section--row .fl-row-content-wrap {
    background-position: -20vw 110%;
    background-size: auto 60%;
  }
  .vorteile-section--row .liste-heading--mdl h2 {
    text-align: left;
  }
  .vorteile-section--row .liste-content--mdl ul li {
    padding: 0.7em 1em;
    padding-left: 2.7rem;
    background: url("/wp-content/uploads/es-check.svg") no-repeat left center;
    background-size: 1.3em;
    margin-left: 0;
  }
}
@media all and (max-width: 768px) {
  .vorteile-cards--row .fl-col-content {
    padding: 2rem !important;
  }
}
.hcs .es-kontakt-form .frm_inline_box {
  min-width: 5rem;
}

.hcs .es-kontakt-form .with_frm_style .frm_message p, .hcs .pv-rechner-formular .with_frm_style .frm_message p {
  margin: 0;
  padding: 1rem;
  text-align: center;
}

/* ---------------------------------------------------------- Responsive */
.hcs .burger-spalte {
  width: 0;
  display: none;
}

.hcs .logo-spalte {
  width: 15%;
}

.hcs .nav-spalte {
  width: 70%;
}

.hcs .button-spalte {
  width: 15%;
}

.hcs .logo-spalte img {
  height: 2.25rem !important;
  width: auto;
  margin-left: 2em;
  transition: all 0.25s ease-in-out;
  transform: translateY(0.25rem);
}

.hcs .logo-spalte img:hover {
  opacity: 0.8;
}

.hcs.top-header .fl-row-content-wrap {
  padding: 0.5em;
  background: #222;
}
.hcs.top-header.hcs-scrolled .fl-row-content-wrap {
  background: #222;
  box-shadow: 0 3px 0px -10px #000;
  border-bottom: 0.5rem solid #fff;
}

/* ---------------------------------------------------------- Responsive */
@media all and (max-width: 1600px) {
  .hcs .logo-spalte {
    width: 65%;
  }
  .hcs .nav-spalte {
    width: 0;
    display: none;
  }
  .hcs .button-spalte {
    width: 25%;
  }
  .hcs .fl-col.burger-spalte {
    display: flex !important;
    width: 10%;
  }
}
@media all and (max-width: 1024px) {
  .hcs.top-header {
    position: fixed;
    width: 100%;
    background: #222;
    border-bottom: 0.25rem solid #fff;
  }
  .hcs.top-header .fl-row-content-wrap {
    padding: 0em;
  }
  .hcs.top-header.hcs-scrolled .fl-row-content-wrap {
    background: #222;
    box-shadow: none;
    border-bottom: none;
  }
  .hcs .burger-spalte {
    width: 25% !important;
    display: block !important;
  }
  .hcs .logo-spalte {
    width: 50% !important;
  }
  .hcs .nav-spalte {
    width: 0 !important;
    display: none;
  }
  .hcs .button-spalte {
    width: 25% !important;
  }
  .hcs .logo-spalte .fl-photo-content {
    text-align: center;
  }
  .hcs .logo-spalte .fl-photo-content img {
    margin-left: 0;
  }
}
/* ---------------------------------------------- Footer Brands */
.hcs.footer-brands--row > div {
  background-color: #eeeeee;
}
.hcs.footer-brands--row > div img {
  filter: grayscale(100%);
  opacity: 0.7;
  max-height: 80px;
  width: auto;
  transition: all 0.25s ease-in-out;
}
.hcs.footer-brands--row > div img:hover {
  filter: none;
  transform: scale(0.95);
}

/* ---------------------------------------------- Footer Content allgemein */
.hcs.footer-content--row > div {
  background-color: #222222;
}
.hcs.footer-content--row > div p, .hcs.footer-content--row > div a, .hcs.footer-content--row > div li, .hcs.footer-content--row > div td {
  font-size: 0.9rem !important;
}

.hcs.footer-content--row .footer-link-heading--mdl h6 {
  font-size: 1rem;
  color: #FF9C00;
  text-transform: lowercase;
  font-weight: 400;
  border-left: 0 solid #FF9C00;
  text-indent: 0;
  transform: translateX(0);
}

/* Layout Spalten */
.hcs.footer-std--row .fl-row-content-wrap {
  padding: 0;
}
.hcs.footer-std--row .fl-row-content-wrap .footer-std--col > div {
  padding: 5em 2em;
}
.hcs.footer-std--row .fl-row-content-wrap .footer-std--col:nth-child(3) {
  background: #333333;
}

/* Logospalte */
.hcs.footer-content--row .footer-logo--mdl img {
  filter: grayscale(0) brightness(1);
}

/* Linkspalte */
.hcs.footer-content--row .footer-menu--mdl a {
  color: #ffffff;
  font-weight: 400;
  margin-top: 6px;
}
.hcs.footer-content--row .footer-menu--mdl a:hover, .hcs.footer-content--row .footer-menu--mdl .sub-menu a:hover {
  color: #FF9C00;
}
.hcs.footer-content--row .footer-menu--mdl .sub-menu a {
  color: #AAAAAA;
  text-indent: 10px;
}

/* Tabellenspalte */
.hcs .footer-tabelle--mdl td {
  vertical-align: top;
  padding: 1em 0;
  color: #fff !important;
}
.hcs .footer-tabelle--mdl tr {
  border-bottom: 1px solid #444444;
}
.hcs .footer-tabelle--mdl tr:last-child {
  border-bottom: none;
}

/* Social Icons */
.hcs .footer-social-icons--mdl .fl-icon i:before {
  font-size: 1.5rem;
  opacity: 0.7;
  margin-right: 0.5rem;
  transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.hcs .footer-social-icons--mdl .fl-icon:hover i:before {
  color: #FF9C00;
}

/* Kontaktspalte */
.hcs .footer-kontakt--mdl .fl-module-content {
  margin-bottom: 0;
}

.hcs .footer-kontakt--mdl .fl-icon i {
  font-size: 1rem;
}
.hcs .footer-kontakt--mdl .fl-icon i::before {
  font-size: 1rem;
  color: #FF9C00;
  margin-right: 0.3rem;
  transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.hcs .footer-kontakt--mdl .fl-icon:hover i:before {
  color: #fff;
}

.hcs .footer-kontakt--mdl.telefon .fl-module-content {
  margin-top: 0;
}
.hcs .footer-kontakt--mdl.telefon.fl-node-6026aa6605875 .fl-module-content {
  margin-top: 20px;
}
.hcs .footer-kontakt--mdl.telefon .fl-icon-text {
  height: auto;
  padding-top: 0.1rem;
  padding-bottom: 0.1rem;
}
.hcs .footer-kontakt--mdl.telefon .fl-icon-text p {
  display: flex;
  align-items: center;
}
.hcs .footer-kontakt--mdl.telefon .fl-icon-text br {
  display: none;
}
.hcs .footer-kontakt--mdl.telefon .telefon__abteilung {
  font-size: 0.8rem;
  opacity: 0.8;
  margin-right: 1rem;
}

/* ---------------------------------------------- Footer Fußzeile */
.hcs.footer-imprint--row > div {
  background-color: #333333;
}
.hcs.footer-imprint--row p, .hcs.footer-imprint--row a, .hcs.footer-imprint--row li {
  font-size: 0.75rem !important;
  color: #9A9A9A;
}
.hcs.footer-imprint--row a:hover {
  color: #FF9C00;
}

/* ---------------------------------------------------------- Responsive */
@media all and (max-width: 1920px) {
  /* -------------- Footer Brands */
  .hcs.footer-brands--row > div img {
    max-width: 90%;
  }
}
@media all and (max-width: 1600px) {
  /* Layout Spalten */
  .hcs.footer-std--row .fl-row-content-wrap .footer-std--col > div {
    padding: 4em 0.5em;
  }
}
@media all and (max-width: 1366px) {
  /* Layout Spalten */
  .hcs.footer-std--row .fl-row-content-wrap .footer-std--col {
    width: 33.333%;
  }
  .hcs.footer-std--row .fl-row-content-wrap .footer-std--col > div {
    padding: 4em 1em;
  }
  .hcs.footer-std--row .fl-row-content-wrap .footer-link--col {
    display: none;
  }
  /* Footer Content Logo */
  .hcs .footer-std--col.footer-logo--col img {
    width: 250px;
  }
}
@media all and (max-width: 1024px) {
  /* -------------- Footer Kontakt Row */
  .hcs.footer-kontakt--row a, .hcs.footer-kontakt--row p {
    font-size: 0.8rem !important;
  }
  /* Layout */
  .hcs.footer-std--row .fl-row-content-wrap .footer-std--col .fl-col-content {
    padding: 3em 1em;
  }
}
@media all and (max-width: 768px) {
  /* -------------- Footer Brands */
  .hcs.footer-brands--row .fl-col-group {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
  }
  .hcs.footer-brands--row .fl-col-group img {
    max-width: 65%;
    margin: 0.5em auto;
  }
  /* -------------- Footer Kontakt Row */
  .hcs.footer-kontakt--row .fl-row-content-wrap {
    padding-top: 3em;
    padding-bottom: 3em;
  }
  .hcs.footer-kontakt--row .fl-row-content-wrap .fl-row-content {
    max-width: 300px;
  }
  .hcs.footer-kontakt--row .fl-row-content-wrap .fl-row-content .fl-module-icon {
    text-align: left;
  }
  /* Layout */
  .hcs.footer-std--row .fl-row-content-wrap .footer-std--col .fl-col-content {
    width: 100%;
    max-width: 400px;
    margin: 2em auto;
  }
  /* -------------- Footer Fußzeile */
  .hcs.footer-imprint--row P, .hcs.footer-imprint--row a, .hcs.footer-imprint--row li {
    text-align: center !important;
  }
  .hcs.footer-imprint--row .footer-imprint-text--mdl > div {
    margin-bottom: 0;
  }
}
@media all and (max-width: 500px) {
  .hcs.footer-kontakt--row .fl-row-content {
    max-width: 95%;
  }
  /* -------------- Footer Brands */
  .hcs.footer-brands--row .fl-col {
    max-width: 33%;
  }
  .hcs.footer-brands--row .fl-col img {
    max-width: 80%;
  }
  /* Layout */
  .hcs.footer-std--row .fl-row-content-wrap .footer-std--col .fl-col-content {
    max-width: 100%;
  }
  /* Footer Content Logo */
  .hcs .footer-std--col.footer-logo--col > .fl-col-content {
    display: block;
  }
  .hcs .footer-social-icons--mdl .fl-icon-group {
    text-align: center;
  }
}
/* ---------------------------------------------------------- PopUps */
.pum.pum-theme-heicom .pum-container {
  max-width: 800px !important;
  padding: 0 !important;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  background: #fff;
}

.pum.pum-theme-heicom .pum-title {
  color: #fff;
  text-align: center;
  font-family: inherit;
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 1;
  padding: 18px;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}

.pum.pum-theme-heicom .pum-content {
  color: #404040;
  font-family: inherit;
  padding: 3em;
  font-size: 1rem;
}

.pum.pum-theme-heicom .pum-content + .pum-close {
  position: absolute;
  height: auto;
  width: 100%;
  left: 50%;
  right: auto;
  bottom: 0;
  top: auto;
  padding: 1em 3em;
  color: #fff;
  font-family: inherit;
  font-weight: bold;
  font-size: 1rem;
  line-height: 1;
  border: 0 none #ffffff;
  border-radius: 0;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  box-shadow: none;
  text-shadow: none;
  transform: translateX(-50%) translateY(100%) !important;
  margin-bottom: 0;
  transition: all 0.25s ease-out;
}

.pum.pum-theme-heicom .pum-content + .pum-close, .pum.pum-theme-heicom .pum-title {
  background: #FF9C00;
  background-color: #FF9C00;
}

.pum.pum-theme-heicom button.pum-close:hover {
  opacity: 0.8;
}

/* ---------------------------------------------------------- Responsive */
@media all and (max-width: 500px) {
  .pum.pum-theme-heicom .pum-content {
    padding: 2em;
    font-size: 1rem;
  }
  .pum.pum-theme-heicom .pum-container {
    top: 5% !important;
  }
}
body .hcs .form .form-text {
  font-size: 1rem;
  color: #333;
  font-weight: 400;
}
body .hcs .form .form-text p, body .hcs .form .form-text a, body .hcs .form .form-text strong, body .hcs .form .form-text li {
  font-size: 1rem;
  color: #333;
  font-weight: 400;
}
body .hcs .form .form-text strong {
  font-weight: 700;
}

.fl-page .es-kontakt-form .frm_forms, .pv-rechner-formular .frm_forms {
  max-width: 1000px !important;
  margin-left: auto;
  margin-right: auto;
  padding: 0.3rem;
}
.fl-page .es-kontakt-form .frm_forms form, .pv-rechner-formular .frm_forms form {
  overflow: visible !important;
}
.fl-page .es-kontakt-form .frm_forms fieldset, .pv-rechner-formular .frm_forms fieldset {
  border: none;
  padding: 0;
}
.fl-page .es-kontakt-form .frm_forms .frm__js-fix, .pv-rechner-formular .frm_forms .frm__js-fix {
  margin: 0 !important;
  height: 0;
  visibility: hidden;
}
.fl-page .es-kontakt-form .frm_forms .form__intro, .pv-rechner-formular .frm_forms .form__intro {
  max-width: 500px;
  margin: 0 auto;
}
.fl-page .es-kontakt-form .frm_forms .frm_section_heading, .pv-rechner-formular .frm_forms .frm_section_heading {
  margin-bottom: 2rem !important;
  overflow: visible !important;
}
.fl-page .es-kontakt-form .frm_forms .frm_section_heading h3, .pv-rechner-formular .frm_forms .frm_section_heading h3 {
  color: #333;
  font-size: var(--fluid-text--l) !important;
  line-height: 1.5;
  position: relative;
  padding: 0;
  margin: 0;
  margin-bottom: 1rem;
  font-weight: 700;
  border-top: none !important;
  padding-top: 0.5rem !important;
}
.fl-page .es-kontakt-form .frm_forms .frm_section_heading h3::after, .pv-rechner-formular .frm_forms .frm_section_heading h3::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #eee;
  position: absolute;
  top: 0.8rem;
  margin-left: 0.5rem;
  display: none !important;
}
.fl-page .es-kontakt-form .frm_forms .frm_section_heading.border, .pv-rechner-formular .frm_forms .frm_section_heading.border {
  border: 2px dashed #ccc;
  border-radius: 0.5rem;
  padding: 1rem 2rem;
}

.es-kontakt-form .frm_forms .form__divider, .pv-rechner-formular .frm_forms .form__divider {
  height: 0;
  margin: 2rem 0;
  border-top: 2px dashed #ccc;
  display: none;
}

.frm_forms .frm_form_field .frm-summary-page-wrapper {
  margin-top: 1rem;
  margin-bottom: 1rem;
  padding: min(1.5rem, 3vw);
}
.frm_forms .frm_form_field .frm-summary-page-wrapper table tr:last-child {
  border-bottom: none !important;
}

.es-kontakt-form .frm_forms .frm_fields_container label, .es-kontakt-form .frm_forms .frm_fields_container input, .es-kontakt-form .frm_forms .frm_fields_container .frm_inline_box, .es-kontakt-form .frm_forms .frm_fields_container textarea, .es-kontakt-form .frm_forms .frm_fields_container .frm_primary_label, .es-kontakt-form .frm_forms .frm_fields_container select, .pv-rechner-formular .frm_forms .frm_fields_container label, .pv-rechner-formular .frm_forms .frm_fields_container input, .pv-rechner-formular .frm_forms .frm_fields_container .frm_inline_box, .pv-rechner-formular .frm_forms .frm_fields_container textarea, .pv-rechner-formular .frm_forms .frm_fields_container .frm_primary_label, .pv-rechner-formular .frm_forms .frm_fields_container select {
  font-family: "Roboto", "Roboto", Arial, sans-serif !important;
  letter-spacing: 0;
  line-height: 1.3 !important;
}
.es-kontakt-form .frm_forms .frm_form_field, .pv-rechner-formular .frm_forms .frm_form_field {
  margin-bottom: 1rem;
}

.es-kontakt-form .frm_forms .frm_form_field .frm_primary_label, .pv-rechner-formular .frm_forms .frm_form_field .frm_primary_label {
  font-size: 0.7rem;
  font-weight: 300;
  color: #333;
  margin-top: 0.5rem;
  margin-bottom: 0.3rem;
}
.es-kontakt-form .frm_forms .frm_form_field .frm_primary_label span.frm_required, .pv-rechner-formular .frm_forms .frm_form_field .frm_primary_label span.frm_required {
  color: #FF9C00;
}
.es-kontakt-form .frm_forms .frm_form_field .frm_inline_box, .pv-rechner-formular .frm_forms .frm_form_field .frm_inline_box {
  font-size: 0.8rem;
  padding: 0.5rem 1rem;
  background-color: #ccc;
  color: #fff !important;
  box-shadow: none;
}
.es-kontakt-form .frm_forms .frm_form_field.frm_inside_container, .pv-rechner-formular .frm_forms .frm_form_field.frm_inside_container {
  position: relative;
}
.es-kontakt-form .frm_forms .frm_form_field.frm_inside_container .frm_primary_label, .pv-rechner-formular .frm_forms .frm_form_field.frm_inside_container .frm_primary_label {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  margin: 0;
  transform: scale(1.3) translate(0.5rem, 0.7rem);
  transform-origin: top left;
  opacity: 1;
}
.es-kontakt-form .frm_forms .frm_form_field.frm_inside_container.frm_label_float_top .frm_primary_label, .pv-rechner-formular .frm_forms .frm_form_field.frm_inside_container.frm_label_float_top .frm_primary_label {
  transform: scale(1) translate(0, 0);
  opacity: 0.8;
}

.frm_forms .frm_form_field #field_231u2_label.frm_primary_label {
  font-size: 1rem;
}

.es-kontakt-form .frm_forms .frm_form_field input[type=text], .es-kontakt-form .frm_forms .frm_form_field input[type=tel], .es-kontakt-form .frm_forms .frm_form_field input[type=email], .es-kontakt-form .frm_forms .frm_form_field input[type=number], .es-kontakt-form .frm_forms .frm_form_field textarea, .es-kontakt-form .frm_forms .frm_form_field select, .pv-rechner-formular .frm_forms .frm_form_field input[type=text], .pv-rechner-formular .frm_forms .frm_form_field input[type=tel], .pv-rechner-formular .frm_forms .frm_form_field input[type=email], .pv-rechner-formular .frm_forms .frm_form_field input[type=number], .pv-rechner-formular .frm_forms .frm_form_field textarea, .pv-rechner-formular .frm_forms .frm_form_field select {
  border: 1px solid #ccc;
  background: rgb(255, 255, 255);
  border-radius: 1.5rem;
  box-shadow: none;
  font-size: var(--fluid-text--m);
  color: #333;
  font-weight: 400;
  height: auto;
  padding: 0.5rem 1rem;
}
.es-kontakt-form .frm_forms .frm_form_field input[type=text]:active, .es-kontakt-form .frm_forms .frm_form_field input[type=text]:focus, .es-kontakt-form .frm_forms .frm_form_field input[type=tel]:active, .es-kontakt-form .frm_forms .frm_form_field input[type=tel]:focus, .es-kontakt-form .frm_forms .frm_form_field input[type=email]:active, .es-kontakt-form .frm_forms .frm_form_field input[type=email]:focus, .es-kontakt-form .frm_forms .frm_form_field input[type=number]:active, .es-kontakt-form .frm_forms .frm_form_field input[type=number]:focus, .es-kontakt-form .frm_forms .frm_form_field textarea:active, .es-kontakt-form .frm_forms .frm_form_field textarea:focus, .es-kontakt-form .frm_forms .frm_form_field select:active, .es-kontakt-form .frm_forms .frm_form_field select:focus, .pv-rechner-formular .frm_forms .frm_form_field input[type=text]:active, .pv-rechner-formular .frm_forms .frm_form_field input[type=text]:focus, .pv-rechner-formular .frm_forms .frm_form_field input[type=tel]:active, .pv-rechner-formular .frm_forms .frm_form_field input[type=tel]:focus, .pv-rechner-formular .frm_forms .frm_form_field input[type=email]:active, .pv-rechner-formular .frm_forms .frm_form_field input[type=email]:focus, .pv-rechner-formular .frm_forms .frm_form_field input[type=number]:active, .pv-rechner-formular .frm_forms .frm_form_field input[type=number]:focus, .pv-rechner-formular .frm_forms .frm_form_field textarea:active, .pv-rechner-formular .frm_forms .frm_form_field textarea:focus, .pv-rechner-formular .frm_forms .frm_form_field select:active, .pv-rechner-formular .frm_forms .frm_form_field select:focus {
  border: 1px solid #FF9C00;
  background: rgb(255, 255, 255);
  color: #333;
  font-weight: 400;
  outline: none;
}
.es-kontakt-form .frm_forms .frm_form_field input[type=text]::-webkit-input-placeholder, .es-kontakt-form .frm_forms .frm_form_field input[type=tel]::-webkit-input-placeholder, .es-kontakt-form .frm_forms .frm_form_field input[type=email]::-webkit-input-placeholder, .es-kontakt-form .frm_forms .frm_form_field input[type=number]::-webkit-input-placeholder, .es-kontakt-form .frm_forms .frm_form_field textarea::-webkit-input-placeholder, .es-kontakt-form .frm_forms .frm_form_field select::-webkit-input-placeholder, .pv-rechner-formular .frm_forms .frm_form_field input[type=text]::-webkit-input-placeholder, .pv-rechner-formular .frm_forms .frm_form_field input[type=tel]::-webkit-input-placeholder, .pv-rechner-formular .frm_forms .frm_form_field input[type=email]::-webkit-input-placeholder, .pv-rechner-formular .frm_forms .frm_form_field input[type=number]::-webkit-input-placeholder, .pv-rechner-formular .frm_forms .frm_form_field textarea::-webkit-input-placeholder, .pv-rechner-formular .frm_forms .frm_form_field select::-webkit-input-placeholder {
  color: #333;
  opacity: 0.5;
}
.es-kontakt-form .frm_forms .frm_form_field input[type=text][aria-invalid=true], .es-kontakt-form .frm_forms .frm_form_field input[type=tel][aria-invalid=true], .es-kontakt-form .frm_forms .frm_form_field input[type=email][aria-invalid=true], .es-kontakt-form .frm_forms .frm_form_field input[type=number][aria-invalid=true], .es-kontakt-form .frm_forms .frm_form_field textarea[aria-invalid=true], .es-kontakt-form .frm_forms .frm_form_field select[aria-invalid=true], .pv-rechner-formular .frm_forms .frm_form_field input[type=text][aria-invalid=true], .pv-rechner-formular .frm_forms .frm_form_field input[type=tel][aria-invalid=true], .pv-rechner-formular .frm_forms .frm_form_field input[type=email][aria-invalid=true], .pv-rechner-formular .frm_forms .frm_form_field input[type=number][aria-invalid=true], .pv-rechner-formular .frm_forms .frm_form_field textarea[aria-invalid=true], .pv-rechner-formular .frm_forms .frm_form_field select[aria-invalid=true] {
  border: 2px solid #FF2323;
}

.es-kontakt-form .frm_forms .frm_form_field .frm_error, .pv-rechner-formular .frm_forms .frm_form_field .frm_error {
  font-size: 0.7rem;
  color: #333;
  padding-left: 0.8rem;
  position: relative;
}
.es-kontakt-form .frm_forms .frm_form_field .frm_error::before, .pv-rechner-formular .frm_forms .frm_form_field .frm_error::before {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  background: #FF2323;
  border-radius: 100rem;
  z-index: 1;
  left: 0;
  top: 50%;
  position: absolute;
  transform: translateY(-50%);
}

.es-kontakt-form .frm_forms .frm_form_field select, .pv-rechner-formular .frm_forms .frm_form_field select {
  height: auto;
  background: rgb(255, 255, 255);
}
.es-kontakt-form .frm_forms .frm_form_field select option, .pv-rechner-formular .frm_forms .frm_form_field select option {
  background: rgb(255, 255, 255);
  color: #333;
  box-shadow: 0 0 10px 100px #C81717 inset;
}
.es-kontakt-form .frm_forms .frm_form_field select option:hover, .pv-rechner-formular .frm_forms .frm_form_field select option:hover {
  background-color: rgb(255, 255, 255);
}
.es-kontakt-form .frm_forms .frm_form_field select option:checked, .pv-rechner-formular .frm_forms .frm_form_field select option:checked {
  background: #FF9C00;
  color: #333;
}

.es-kontakt-form .frm_forms .frm_form_field .frm_opt_container, .pv-rechner-formular .frm_forms .frm_form_field .frm_opt_container {
  max-width: 100%;
  display: flex;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  padding-top: 0.5rem;
}
.es-kontakt-form .frm_forms .frm_form_field .frm_radio, .es-kontakt-form .frm_forms .frm_form_field .frm_checkbox, .pv-rechner-formular .frm_forms .frm_form_field .frm_radio, .pv-rechner-formular .frm_forms .frm_form_field .frm_checkbox {
  padding-right: 2rem;
  margin-bottom: 0 !important;
}
.es-kontakt-form .frm_forms .frm_form_field .frm_radio:last-child, .es-kontakt-form .frm_forms .frm_form_field .frm_checkbox:last-child, .pv-rechner-formular .frm_forms .frm_form_field .frm_radio:last-child, .pv-rechner-formular .frm_forms .frm_form_field .frm_checkbox:last-child {
  border-right: none;
}
.es-kontakt-form .frm_forms .frm_form_field .frm_radio > label, .es-kontakt-form .frm_forms .frm_form_field .frm_checkbox > label, .pv-rechner-formular .frm_forms .frm_form_field .frm_radio > label, .pv-rechner-formular .frm_forms .frm_form_field .frm_checkbox > label {
  color: #333;
  transform: translateY(1px);
  font-size: var(--fluid-text--m);
  margin-bottom: 0 !important;
}
.es-kontakt-form .frm_forms .frm_form_field .frm_radio > label input, .es-kontakt-form .frm_forms .frm_form_field .frm_radio > label span, .es-kontakt-form .frm_forms .frm_form_field .frm_checkbox > label input, .es-kontakt-form .frm_forms .frm_form_field .frm_checkbox > label span, .pv-rechner-formular .frm_forms .frm_form_field .frm_radio > label input, .pv-rechner-formular .frm_forms .frm_form_field .frm_radio > label span, .pv-rechner-formular .frm_forms .frm_form_field .frm_checkbox > label input, .pv-rechner-formular .frm_forms .frm_form_field .frm_checkbox > label span {
  transform: translateY(-1px);
}

.es-kontakt-form .frm_forms .frm_form_field input:-internal-autofill-selected, .pv-rechner-formular .frm_forms .frm_form_field input:-internal-autofill-selected {
  background: transparent !important;
}
.es-kontakt-form .frm_forms .frm_form_field input:-webkit-autofill, .es-kontakt-form .frm_forms .frm_form_field input:-webkit-autofill:hover, .es-kontakt-form .frm_forms .frm_form_field input:-webkit-autofill:focus textarea:-webkit-autofill, .es-kontakt-form .frm_forms .frm_form_field textarea:-webkit-autofill:hover textarea:-webkit-autofill:focus, .es-kontakt-form .frm_forms .frm_form_field select:-webkit-autofill, .es-kontakt-form .frm_forms .frm_form_field select:-webkit-autofill:hover, .es-kontakt-form .frm_forms .frm_form_field select:-webkit-autofill:focus, .pv-rechner-formular .frm_forms .frm_form_field input:-webkit-autofill, .pv-rechner-formular .frm_forms .frm_form_field input:-webkit-autofill:hover, .pv-rechner-formular .frm_forms .frm_form_field input:-webkit-autofill:focus textarea:-webkit-autofill, .pv-rechner-formular .frm_forms .frm_form_field textarea:-webkit-autofill:hover textarea:-webkit-autofill:focus, .pv-rechner-formular .frm_forms .frm_form_field select:-webkit-autofill, .pv-rechner-formular .frm_forms .frm_form_field select:-webkit-autofill:hover, .pv-rechner-formular .frm_forms .frm_form_field select:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0px 1000px transparent inset !important;
  -webkit-text-fill-color: #333;
}
.es-kontakt-form .frm_forms .frm_form_field input:-webkit-autofill, .es-kontakt-form .frm_forms .frm_form_field input:-webkit-autofill:focus, .pv-rechner-formular .frm_forms .frm_form_field input:-webkit-autofill, .pv-rechner-formular .frm_forms .frm_form_field input:-webkit-autofill:focus {
  -webkit-transition: background-color 0s 600000s, color 0s 600000s !important;
  transition: background-color 0s 600000s, color 0s 600000s !important;
}

.es-kontakt-form .frm_forms .frm_form_field .frm_dropzone, .pv-rechner-formular .frm_forms .frm_form_field .frm_dropzone {
  background: none;
  max-width: 100% !important;
}
.es-kontakt-form .frm_forms .frm_form_field .frm_dropzone .dz-message, .pv-rechner-formular .frm_forms .frm_form_field .frm_dropzone .dz-message {
  background: none;
  margin: 0;
}
.es-kontakt-form .frm_forms .frm_form_field .frm_dropzone .dz-message .frm_icon_font.frm_upload_icon::before, .pv-rechner-formular .frm_forms .frm_form_field .frm_dropzone .dz-message .frm_icon_font.frm_upload_icon::before {
  font-size: 2rem;
}
.es-kontakt-form .frm_forms .frm_form_field .frm_dropzone .dz-message .frm_upload_text, .pv-rechner-formular .frm_forms .frm_form_field .frm_dropzone .dz-message .frm_upload_text {
  font-size: var(--fluid-text--s);
}
.es-kontakt-form .frm_forms .frm_form_field .frm_dropzone .dz-message .frm_small_text, .pv-rechner-formular .frm_forms .frm_form_field .frm_dropzone .dz-message .frm_small_text {
  display: none;
}

.es-kontakt-form .frm_forms .frm_message, .pv-rechner-formular .frm_forms .frm_message {
  border: none;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.es-kontakt-form .frm_forms .frm_message svg, .es-kontakt-form .frm_forms .frm_message img, .pv-rechner-formular .frm_forms .frm_message svg, .pv-rechner-formular .frm_forms .frm_message img {
  margin-bottom: 0;
  fill: #FF9C00;
  width: 2.5rem;
  height: auto;
}
.es-kontakt-form .frm_forms .frm_message h4, .pv-rechner-formular .frm_forms .frm_message h4 {
  font-size: var(--fluid-heading--xs);
  margin-bottom: 1rem;
  color: #333;
  text-align: center;
}
.es-kontakt-form .frm_forms .frm_message p, .pv-rechner-formular .frm_forms .frm_message p {
  font-size: var(--fluid-text--m);
  color: #333;
  text-align: center;
}

.es-kontakt-form .frm_forms .frm_submit, .pv-rechner-formular .frm_forms .frm_submit {
  margin-top: 2rem;
}

.es-kontakt-form #frm_form_3_container.frm_forms .frm_page_num_1 .frm_submit {
  justify-content: center;
  display: flex;
}

.pv-rechner-formular .frm_forms .frm_loading_form .frm_image_option_container::after, .pv-rechner-formular .frm_forms .frm_loading_prev .frm_image_option_container::after {
  content: "";
  position: absolute;
  width: 1.2rem;
  height: 1.2rem;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  border: 1px solid transparent;
  border-top-color: #fff;
  border-bottom-color: #fff;
  border-radius: 50%;
  animation: button-loading-spinner 1s ease infinite;
  display: none;
}

.pv-rechner-formular .frm_forms .frm_doing_ajax {
  opacity: 0.85;
}

.pv-rechner-formular .frm_forms .frm_loading_form .frm_image_option_container img {
  visibility: hidden;
}
.pv-rechner-formular .frm_forms .frm_loading_form .frm_image_option_container::after {
  display: flex;
}

@keyframes button-loading-spinner {
  from {
    transform: rotate(0turn);
  }
  to {
    transform: rotate(1turn);
  }
}
#wp-auth-check-wrap.hidden {
  display: none;
}

.es-kontakt-form .frm_forms .frm_form_field.datenschutz, .pv-rechner-formular .frm_forms .frm_form_field.datenschutz {
  margin-bottom: 1rem;
}
.es-kontakt-form .frm_forms .frm_form_field.datenschutz .frm_primary_label, .pv-rechner-formular .frm_forms .frm_form_field.datenschutz .frm_primary_label {
  display: none;
}
.es-kontakt-form .frm_forms .frm_form_field.datenschutz .frm_checkbox, .pv-rechner-formular .frm_forms .frm_form_field.datenschutz .frm_checkbox {
  padding-right: 0 !important;
}
.es-kontakt-form .frm_forms .frm_form_field.datenschutz label, .pv-rechner-formular .frm_forms .frm_form_field.datenschutz label {
  font-size: var(--fluid-text--s);
  color: #333;
  display: block !important;
  align-items: center;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
}
.es-kontakt-form .frm_forms .frm_form_field.datenschutz label input, .pv-rechner-formular .frm_forms .frm_form_field.datenschutz label input {
  margin-right: 0.4rem;
}
.es-kontakt-form .frm_forms .frm_form_field.datenschutz label a, .pv-rechner-formular .frm_forms .frm_form_field.datenschutz label a {
  font-size: var(--fluid-text--xs);
  color: #333;
  text-decoration: underline;
}
.hcs .pv-rechner-formular .form__ajax-call {
  max-height: 0;
  overflow: hidden;
  margin: 0 !important;
}

.frm_fields_container, .frm_forms fieldset {
  margin: 0 !important;
  padding: 0 !important;
  animation: key--fade-in 0.6s ease both;
}

.hcs .pv-rechner-formular .frm_forms .frm_rootline_group .frm_current_page .frm_rootline_title, .form .frm_forms .frm_rootline_group .frm_current_page .frm_rootline_title {
  font-weight: 700;
  color: #FF9C00;
}
.hcs .pv-rechner-formular .frm_forms .frm_rootline_group .frm_progress_line .frm_current_page.frm_rootline_single input[type=button], .form .frm_forms .frm_rootline_group .frm_progress_line .frm_current_page.frm_rootline_single input[type=button] {
  border-right-color: #fff;
}
.hcs .pv-rechner-formular .frm_forms .frm_rootline_group .frm_progress_line .frm_rootline_single input, .form .frm_forms .frm_rootline_group .frm_progress_line .frm_rootline_single input {
  line-height: 0rem;
  border-right: 2px solid #fff;
  border-left: 2px solid #fff;
  border-top: none;
  border-bottom: none;
  padding: 0.5rem;
}
.hcs .pv-rechner-formular .frm_forms .frm_rootline_group .frm_progress_line .frm_rootline_single input.frm_page_back, .form .frm_forms .frm_rootline_group .frm_progress_line .frm_rootline_single input.frm_page_back {
  background-color: #FF9C00;
}
.hcs .pv-rechner-formular .frm_forms .frm_rootline_group .frm_progress_line .frm_rootline_single:first-child input, .form .frm_forms .frm_rootline_group .frm_progress_line .frm_rootline_single:first-child input {
  border-left: none;
}
.hcs .pv-rechner-formular .frm_forms .frm_rootline_group .frm_progress_line .frm_rootline_single:last-child input, .form .frm_forms .frm_rootline_group .frm_progress_line .frm_rootline_single:last-child input {
  border-right: none;
}
.hcs .pv-rechner-formular .frm_forms .frm_rootline_group .frm_percent_complete, .hcs .pv-rechner-formular .frm_forms .frm_rootline_group .frm_pages_complete, .form .frm_forms .frm_rootline_group .frm_percent_complete, .form .frm_forms .frm_rootline_group .frm_pages_complete {
  font-weight: 400;
  color: #333;
  font-size: 0.8rem;
  margin: 0.3rem 0 !important;
  padding: 0 0 !important;
}

@media all and (max-width: 1366px) {
  .with_frm_style input[type=text], .with_frm_style input[type=password], .with_frm_style input[type=email], .with_frm_style input[type=number], .with_frm_style input[type=url], .with_frm_style input[type=tel], .with_frm_style input[type=phone], .with_frm_style input[type=search], .with_frm_style select, .with_frm_style textarea, .frm_form_fields_style, .with_frm_style .frm_scroll_box .frm_opt_container, .frm_form_fields_active_style, .frm_form_fields_error_style, .with_frm_style .frm-card-element.StripeElement, .with_frm_style .chosen-container-multi .chosen-choices, .with_frm_style .chosen-container-single .chosen-single {
    font-size: 1rem !important;
  }
}
@media all and (max-width: 1024px) {
  .es-kontakt-form .frm_forms .form__radio-cards .frm_opt_container, .pv-rechner-formular .frm_forms .form__radio-cards .frm_opt_container {
    grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
  }
}
.form.form--energiespeicher {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
  background: #fff;
  box-shadow: 0 0 1rem -0.5rem #333;
  padding: 2rem;
  border-radius: 1.5rem;
}
.form.form--energiespeicher .fl-module-content {
  background: #fff;
  border-radius: 2em;
  padding: 0;
}
.form.form--energiespeicher .fl-module-content fieldset {
  background-color: #fff;
}
.form.form--energiespeicher .with_frm_style .frm-show-form .frm_section_heading h3 {
  font-size: 1.5rem;
  font-family: "Comfortaa", "Roboto", Arial, sans-serif;
  margin-bottom: 2rem;
  margin-top: 0;
  border: none;
}
.form.form--energiespeicher .frm_primary_label {
  font-size: 1rem;
  margin-bottom: 1rem;
}
.form.form--energiespeicher .with_frm_style .vertical_radio .frm_checkbox label, .form.form--energiespeicher .with_frm_style .vertical_radio .frm_radio label {
  padding-left: 0.3rem;
  padding-right: 0.3rem;
}
.form.form--energiespeicher .frm_forms .frm_fields_container label, .form.form--energiespeicher .frm_forms .frm_fields_container input, .form.form--energiespeicher .frm_forms .frm_fields_container .frm_inline_box, .form.form--energiespeicher .frm_forms .frm_fields_container textarea {
  font-family: "Roboto", "Roboto", Arial, sans-serif !important;
}
.form.form--energiespeicher .with_frm_style .frm_description {
  font-size: 0.6rem;
  opacity: 0.8;
}
.form.form--energiespeicher .frm_html_container {
  margin-bottom: 0 !important;
}
.form.form--energiespeicher .spacer {
  margin-bottom: 2rem !important;
}
.form.form--energiespeicher .spacer hr {
  margin: 1.5rem auto !important;
}
.form.form--energiespeicher .frm_dropzone .dz-message {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
}
.form.form--energiespeicher .frm_dropzone .dz-message button {
  font-size: 0.9rem !important;
}
.form.form--energiespeicher .frm_dropzone .dz-message .frm_small_text p {
  font-size: 0.6rem !important;
}
.form.form--energiespeicher .frm_inline_box {
  min-width: 6.5rem !important;
}

.form.form--energiespeicher .frm_forms .frm_form_field.datenschutz label {
  font-size: 0.7rem;
  color: #333;
}
.form.form--energiespeicher .frm_forms .frm_form_field.datenschutz label a {
  font-size: 0.7rem;
  color: #333;
  text-decoration: underline;
}
.form.form--energiespeicher .frm_forms .frm_form_field.datenschutz .frm_primary_label {
  visibility: hidden !important;
}
.form.form--energiespeicher .frm_forms .frm_form_field.datenschutz .frm_checkbox span,
.form.form--energiespeicher .frm_forms .frm_form_field.datenschutz .frm_radio span {
  top: 0 !important;
}

.form.form--energiespeicher .frm_forms .frm_message {
  background: #fff;
  border: none;
}
.form.form--energiespeicher .frm_forms .frm_message h4 {
  font-size: 1.3rem;
  margin-bottom: 2rem;
}
.form.form--energiespeicher .frm_forms .frm_message p {
  color: #333;
  font-size: 1rem;
}

/* ---------------------------------------------------------- Responsive */
.splashscreen--row {
  height: 100%;
  width: 100%;
  z-index: 9999999;
  position: fixed;
  background: #222222;
  display: flex;
  justify-content: center;
  align-content: center;
  align-items: center;
  animation: splashscreen-fade;
  animation-duration: 0.25s;
  animation-delay: 1.75s;
  animation-fill-mode: forwards;
  animation-timing-function: ease-in;
}
.splashscreen--row .splashscreen-logo--mdl {
  width: 600px;
  display: flex;
  justify-content: center;
}
.splashscreen--row .splashscreen-logo--mdl svg {
  width: 600px;
  max-width: 90vw !important;
  will-change: auto;
  overflow: visible;
}
.splashscreen--row .splashscreen-logo--mdl svg g {
  will-change: auto;
}

@keyframes splashscreen-fade {
  0% {
    opacity: 1;
  }
  90% {
    opacity: 0;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}
/* ---------------------------------------------------------- Responsive */
.hcs .desktop-nav .menu a {
  transition: all 0.1s ease-out;
  padding: 0.9em 0.7em;
  font-size: 0.9rem !important;
  font-weight: 700;
}
.hcs .desktop-nav .menu a:hover {
  color: #FF9C00;
}

.desktop-nav .menu > li.current-menu-item > a {
  font-weight: bolder;
}

.desktop-nav .menu > li.current-menu-item > a::after, .desktop-nav .menu > li.current-menu-parent > div > a::after {
  content: "";
  display: block;
  background: #FF9C00;
  width: 20px;
  height: 100px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%) translateY(-95%);
  border-radius: 50px;
}

.desktop-nav .menu .sub-menu {
  background: #333;
  border-radius: 1em;
  padding: 1em;
}
.desktop-nav .menu .sub-menu li a {
  color: #fff;
}

/* ---------------------------------------------------------- Responsive */
/* ------------------------------------------------------------------- Menu Links */
#hcs-off-canvas-nav .oc-menu--mdl a {
  font-weight: normal;
  padding: 25px 40px 25px 40px;
  text-decoration: none;
  color: #ffffff;
  display: block;
  text-align: left;
  background: none;
  margin-bottom: 0 !important;
  transition: all 0.05s ease;
}

#hcs-off-canvas-nav .oc-menu--mdl li {
  margin-bottom: 0;
}

.oc-menu .menu.fl-menu-accordion li, .oc-menu--mdl .menu.fl-menu-horizontal li li {
  border-color: rgba(255, 255, 255, 0.15);
}

/* ------------------------------------------------------------------ Untermenü */
#hcs-off-canvas-nav .oc-menu--mdl .fl-menu .sub-menu {
  background: #FF9C00;
}
#hcs-off-canvas-nav .oc-menu--mdl .fl-menu .sub-menu li a {
  color: #fff;
}

/* ------------------------------------------------------------------ Hover Animation */
#hcs-off-canvas-nav .oc-menu--mdl li a:hover, #hcs-off-canvas-nav .oc-menu--mdl li a:focus {
  color: #FF9C00;
}
#hcs-off-canvas-nav .oc-menu--mdl .sub-menu li a:hover, #hcs-off-canvas-nav .oc-menu--mdl .sub-menu li a:focus {
  color: #222222 !important;
}

/* ---------------------------------------------------------- Responsive */
/* --------------------------------------------------------------OC Container  */
#hcs-off-canvas-nav {
  width: 300px;
  height: 100%;
  position: fixed;
  z-index: 120;
  top: 0;
  bottom: 0;
  transform: translateX(-300px);
  overflow-y: scroll;
  transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* Internet Explorer 10+ */
  -webkit-overflow-scrolling: touch;
  background: #111;
}

#hcs-off-canvas-nav::-webkit-scrollbar {
  display: none; /* Keine Scrollbar im Off-Canvas Men? */
}

.hcs-oc-nav {
  transform: none !important;
  top: 0;
}

/* overflow fix für ios */
.iosov {
  width: 700px !important;
  padding-right: 350px;
}

/* ------------------------------------------------------- Menü Container */
.mobile-nav-spalte {
  margin-top: 2em;
}

.mobile-nav-spalte .fl-col-content {
  margin: 0 !important;
}

.oc-menu--mdl .fl-module-content {
  margin: 0 !important;
}

/* ------------------------------------- sonstige Elemente über/unter Menü */
.oc-nav-logo-top img {
  margin-top: 5em;
  margin-bottom: 3em;
  width: 250px;
}

.oc-nav-zusatz {
  margin-top: 3em;
}

.oc-nav-suche .fl-module-content {
  margin: 40px;
}

.oc-nav-suche input[type=search], .oc-nav-suche input[type=search]:focus {
  width: 100%;
  padding: 6px 20px;
  color: #fff;
  background-color: #222;
  border: 0 solid #e6e6e6;
  border-radius: 50px;
}

/* ---------------------------------------------------------- Responsive */
/* -------------------------------------------------------------------- OC Overlay */
.hcs-oc-overlay {
  display: block !important;
}

#hcs-oc-overlay {
  position: fixed;
  z-index: 110;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  margin-left: 100px !important;
  transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: 0.05s;
  display: none;
}

#hcs-oc-overlay .fl-row-content-wrap {
  background-color: rgba(0, 0, 0, 0.6);
}

/* ---------------------------------------------------------- Responsive */
/* ------------------------------------------------ Heicom Menu Burger Icon  */
.hcs-burger-icon {
  cursor: pointer;
  display: block !important;
  z-index: 130;
  pointer-events: auto;
}
.hcs-burger-icon .bar1, .hcs-burger-icon .bar2, .hcs-burger-icon .bar3 {
  width: 30px;
  height: 3px;
  background-color: #ffffff;
  margin: 4px 0;
  border-radius: 100px;
  border-style: solid;
  border-color: #ffffff;
  border-width: 1px;
  transition: 0.4s;
}

#hcs-burger-icon:hover .bar1, #hcs-burger-icon:hover .bar3, #hcs-burger-icon:focus .bar1, #hcs-burger-icon:focus .bar3 {
  transform: translateX(-5px);
}
#hcs-burger-icon:hover .bar2, #hcs-burger-icon:focus .bar2 {
  transform: translateX(5px);
}

/* --------------------------------------------------------- Burger Close Only */
.burger-close-only {
  padding: 0.5em;
}

.hcs-burger-icon-close .bar1 {
  transform: rotate(-45deg) translate(-5px, 5px);
}

.hcs-burger-icon-close .bar2 {
  opacity: 0;
}

.hcs-burger-icon-close .bar3 {
  transform: rotate(45deg) translate(-5px, -5px);
}

.hcs-burger-icon-close:hover .bar1, .hcs-burger-icon-close:hover .bar3 {
  transform: translateX(-5px);
}

.hcs-burger-icon-close:hover .bar2 {
  opacity: 1;
}

/* ---------------------------------------------------------- Responsive */
/* ----------------------------------------------------------- Standard Buttons */
/* Allgemein */
.hcs .button--mdl a.fl-button {
  background-clip: border-box;
  transition: all 0.1s ease-out;
  font-size: 0.9rem;
  font-weight: 400;
  padding: 1rem 3rem;
  border-radius: 50em;
  border-width: 2px;
}

.hcs .button--mdl.positiv a.fl-button {
  background: #fff;
  border-color: #222222;
  color: #222222;
}
.hcs .button--mdl.positiv a.fl-button i {
  color: #222222;
}
.hcs .button--mdl.positiv a.fl-button .fl-button-text {
  color: #222222;
}
.hcs .button--mdl.positiv a.fl-button:hover, .hcs .button--mdl.positiv a.fl-button:focus {
  background: #FF9C00;
  border-color: #FF9C00;
  color: #fff;
  text-decoration: none;
}
.hcs .button--mdl.positiv a.fl-button:hover i, .hcs .button--mdl.positiv a.fl-button:focus i {
  color: #fff;
}
.hcs .button--mdl.positiv a.fl-button:hover .fl-button-text, .hcs .button--mdl.positiv a.fl-button:focus .fl-button-text {
  color: #fff;
}

.hcs .kontakt-btn--mdl a.fl-button {
  background-clip: border-box;
  transition: all 0.1s ease-out;
  font-size: 0.9rem;
  font-weight: 400;
  padding: 0.65rem 2rem;
  border-radius: 50em;
  border-width: 2px;
}
.hcs .kontakt-btn--mdl a.fl-button:hover, .hcs .kontakt-btn--mdl a.fl-button:focus {
  background: none !important;
  border-color: #fff !important;
  color: #fff;
  text-decoration: none;
}
.hcs .kontakt-btn--mdl a.fl-button:hover i, .hcs .kontakt-btn--mdl a.fl-button:focus i {
  color: #fff;
}
.hcs .kontakt-btn--mdl a.fl-button:hover .fl-button-text, .hcs .kontakt-btn--mdl a.fl-button:focus .fl-button-text {
  color: #fff;
}

/* ---------------------------------------------------------- Responsive */
@media all and (max-width: 1024px) {
  .hcs .kontakt-btn--mdl a.fl-button {
    font-size: 0.8rem;
    padding: 0.3rem 1rem;
  }
}
@media all and (max-width: 768px) {
  .hcs .kontakt-btn--mdl a.fl-button {
    background: none;
    border: none;
    transition: all 0.25s ease-in-out;
  }
  .hcs .kontakt-btn--mdl a.fl-button:hover, .hcs .kontakt-btn--mdl a.fl-button:focus {
    border: none;
  }
  .hcs .kontakt-btn--mdl a.fl-button:hover i.fl-button-icon, .hcs .kontakt-btn--mdl a.fl-button:focus i.fl-button-icon {
    color: #FF9C00;
    transform: scale(1.1);
  }
  .hcs .kontakt-btn--mdl a.fl-button:visited {
    border: none;
  }
  .hcs .kontakt-btn--mdl a.fl-button:visited i.fl-button-icon {
    color: #fff !important;
  }
  .hcs .kontakt-btn--mdl a.fl-button .fl-button-text {
    display: none;
  }
  .hcs .kontakt-btn--mdl a.fl-button i.fl-button-icon {
    margin-right: 0;
  }
  .hcs .kontakt-btn--mdl a.fl-button i.fl-button-icon::before {
    width: auto;
    height: auto;
    font-size: 2rem;
  }
}
/* ---------------------------------------------------------- Responsive */
/* ---------------------------------------------------------- Responsive */
.download-button_wrapper .download-button {
  border-bottom: none;
  margin-bottom: 1rem;
}
.download-button_wrapper .card__link {
  display: flex;
  flex-direction: row;
  align-items: center;
  align-content: center;
  background: linear-gradient(to bottom right, #232526, #414345);
  border-radius: 1.25rem;
  box-shadow: 5px 5px 25px -15px #353535;
  padding: 2rem;
  transition: all 0.1s ease-out;
}
.download-button_wrapper .card__link:hover, .download-button_wrapper .card__link:focus, .download-button_wrapper .card__link:active {
  transform: scale(0.98);
  text-decoration: none;
}
.download-button_wrapper img {
  margin-right: 1rem;
}
.download-button_wrapper .heading {
  color: #fff;
  font-size: clamp(1.2rem, 1.1832rem + 0.0748vw, 1.3rem);
  margin-bottom: 0;
  line-height: 1.3;
}

/* ---------------------------------------------------------- Responsive */
.team_section {
  background: #eeeeee;
}
.team_section .fl-post-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 2rem 2rem;
}
.team_section .fl-post-grid::before {
  display: none;
}
.team_section .fl-post-grid .fl-post-column {
  width: 100%;
  padding: 0;
}

.spacer--team {
  margin: 2rem auto;
}

.team-card {
  background: linear-gradient(to bottom right, #232526, #414345);
  border-radius: 1.25rem;
  box-shadow: 5px 5px 25px -15px #353535;
  height: 100%;
}
.team-card .inner_wrapper {
  padding: 2rem;
}
.team-card .card__image img {
  width: 100%;
  height: 22vw;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
}
.team-card .card__name {
  color: #fff;
  font-weight: 400;
  font-size: 1.3rem;
  margin-bottom: 0.5rem;
  line-height: 1.3;
}
.team-card .card__job {
  color: #fff;
  font-weight: 300;
  font-size: 0.8rem;
  opacity: 0.8;
  margin-bottom: 2rem;
  min-height: 2rem;
}
.team-card .card__telefon, .team-card .card__mobil, .team-card .card__mail {
  margin-top: 0.5rem;
}
.team-card .card__telefon img, .team-card .card__mobil img, .team-card .card__mail img {
  margin-right: 0.5rem;
}
.team-card .card__telefon a, .team-card .card__mobil a, .team-card .card__mail a {
  color: #fff;
  font-size: 0.95rem;
}
/* ---------------------------------------------------------- Responsive */
@media all and (max-width: 1600px) {
  .team_section .fl-post-grid {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .team-card .card__image img {
    height: 35vw;
  }
}
@media all and (max-width: 1024px) {
  .team_section .fl-post-grid {
    grid-template-columns: 1fr 1fr;
  }
  .team-card .card__image img {
    height: 50vw;
  }
}
@media all and (max-width: 768px) {
  .team_section .fl-post-grid {
    grid-template-columns: 1fr;
  }
  .team-card .card__image img {
    height: 90vw;
  }
}
/* ---------------------------------------------------------- Responsive */
/* ---------------------------------------------------------- Responsive */
/* ---------------------------------------------------------- Responsive */
.hcs.stellenangebote--row .mehr--btn, .hcs.stellenangebote--row .bewerben--btn {
  background-clip: border-box;
  text-decoration: none;
  transition: all 0.1s ease-out !important;
  line-height: 1;
  font-size: 0.9rem;
  font-weight: 400;
  padding: 0.6rem 1.5rem;
  border-radius: 200px;
  border: 2px solid #222;
  border-color: transparent;
  color: #fff;
  background: #FF9C00;
  display: inline-block;
}
.hcs.stellenangebote--row .bewerben--btn {
  font-weight: 700;
}
.hcs.stellenangebote--row .bewerben--btn:hover, .hcs.stellenangebote--row .bewerben--btn:focus, .hcs.stellenangebote--row .bewerben--btn:active {
  background: none;
  border-color: #222222;
  color: #222222;
  transform: scale(1.05);
}

.hcs .stellenanzeigen--mdl .fl-post-feed-post {
  border-bottom: none;
}

.hcs.stellenangebote--row .jobs--container .jobs--accordion {
  background: #333333;
  border-radius: 0.8rem;
  cursor: pointer;
  padding: 1rem 1.5rem;
  width: 100%;
  text-align: left;
  border: none;
  outline: none;
  transition: 0.4s;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
.hcs.stellenangebote--row .jobs--container .jobs--accordion h3.jobs--heading {
  color: #fff;
  margin-bottom: 0;
  font-size: 0.8rem;
  font-size: clamp(0.8rem, 0.6991rem + 0.4486vw, 1.4rem);
  line-height: 1.2;
  display: block;
}
.hcs.stellenangebote--row .jobs--container .jobs--accordion .mwd {
  font-size: 0.8rem;
  font-weight: 400;
  opacity: 0.7;
}
.hcs.stellenangebote--row .jobs--container .jobs--accordion .mehr--btn {
  background: #555555;
  transition: all 0.4s ease-in-out;
  margin-left: 1rem;
}
.hcs.stellenangebote--row .jobs--container .jobs--accordion .mehr--btn .text {
  white-space: nowrap;
}
.hcs.stellenangebote--row .jobs--container .jobs--accordion .mehr--btn .icon {
  display: none;
}
.hcs.stellenangebote--row .jobs--container .jobs--accordion.active .mehr--btn, .hcs.stellenangebote--row .jobs--container .jobs--accordion:hover .mehr--btn {
  background: #FF9C00;
}
.hcs.stellenangebote--row .jobs--container .jobs--accordion.active h3.jobs--heading, .hcs.stellenangebote--row .jobs--container .jobs--accordion:hover h3.jobs--heading {
  color: #FF9C00;
}
.hcs.stellenangebote--row .jobs--container .jobs--panel {
  padding: 0;
  background-color: #F6F6F6;
  border-radius: 0.8rem;
  max-height: 0;
  overflow: hidden;
  transition: all 0.4s ease-in-out;
}
.hcs.stellenangebote--row .jobs--container .jobs--panel .jobs--panel_inner {
  padding: 3rem;
  -moz-column-count: 2;
       column-count: 2;
  -moz-column-gap: 6em;
       column-gap: 6em;
  -moz-column-width: 400px;
       column-width: 400px;
  -moz-column-rule-width: 0;
       column-rule-width: 0;
}
.hcs.stellenangebote--row .jobs--container .jobs--panel .jobs--panel_inner > div {
  margin-bottom: 3rem;
}
.hcs.stellenangebote--row .jobs--container .jobs--panel .heading {
  font-weight: 700;
  font-size: 1.2rem;
  font-size: clamp(1.2rem, 1.1664rem + 0.1495vw, 1.4rem);
  display: block;
  margin-bottom: 1rem;
}

.hcs.bewerbungsformular--row .kontakt-card--col {
  box-shadow: 5px 5px 25px -15px #353535;
  border-radius: 1.25rem;
  overflow: hidden;
  float: none;
  position: relative;
  margin-left: auto;
  margin-right: auto;
}
.hcs.bewerbungsformular--row .content--col {
  background-image: linear-gradient(to bottom right, #232526 0%, #414345 100%);
  padding: 3rem;
  width: 40%;
}
.hcs.bewerbungsformular--row .content--col .fl-separator {
  margin-top: 1rem;
  margin-bottom: 2rem;
  opacity: 0.5;
}
.hcs.bewerbungsformular--row .formular--col {
  background: #fff;
  padding: 3rem;
  width: 60%;
}

.hcs.bewerbungsformular--row .kontakt--mdl .fl-module-content {
  margin-bottom: 0.3rem;
}
.hcs.bewerbungsformular--row .kontakt--mdl .fl-icon i:before, .hcs.bewerbungsformular--row .kontakt--mdl .fl-icon i {
  font-size: 1.1rem;
  color: #FF9C00;
  margin-right: 0.3rem;
  transition: all 0.4s ease-in-out;
}
.hcs.bewerbungsformular--row .kontakt--mdl .fl-icon:hover i:before {
  color: #fff;
}
.hcs.bewerbungsformular--row .kontakt--mdl .fl-icon-text, .hcs.bewerbungsformular--row .kontakt--mdl .fl-icon-text a {
  height: auto;
}
.hcs.bewerbungsformular--row .kontakt--mdl .fl-icon-text:hover, .hcs.bewerbungsformular--row .kontakt--mdl .fl-icon-text a:hover {
  text-decoration: none;
}

.hcs .bewerbungsformular--mdl hr {
  border-width: 0.5rem;
  margin-bottom: 1.5rem;
  margin-top: 1.5rem;
}
.hcs .bewerbungsformular--mdl .frm_top_container .frm_primary_label {
  color: #666666;
  font-size: 0.7rem;
  font-weight: 400;
}
.hcs .bewerbungsformular--mdl .section--label {
  margin-top: 1rem;
  font-weight: 700;
  color: #FF9C00;
  font-size: 0.9rem;
}
.hcs .bewerbungsformular--mdl .frm_html_container {
  margin-bottom: 0 !important;
}
.hcs .bewerbungsformular--mdl .frm_dropzone .dz-message {
  font-size: 1rem;
  font-size: clamp(1rem, 0.9664rem + 0.1495vw, 1.2rem);
}
.hcs .bewerbungsformular--mdl .frm_dropzone .dz-message .frm_upload_text {
  margin-top: 1rem;
  display: block;
}
.hcs .bewerbungsformular--mdl .frm_dropzone .dz-message .frm_small_text {
  font-size: 0.7rem;
}

/* ---------------------------------------------------------- Responsive */
@media all and (max-width: 1024px) {
  .hcs.bewerbungsformular--row .content--col, .hcs.bewerbungsformular--row .formular--col {
    width: 100%;
  }
}
@media all and (max-width: 768px) {
  .hcs .stellenanzeigen--mdl .fl-post-feed-post {
    margin-bottom: 0.5rem;
  }
  .hcs.stellenangebote--row .jobs--container .jobs--accordion .mwd {
    font-size: 0.7rem;
  }
  .hcs.stellenangebote--row .jobs--container .jobs--accordion .mehr--btn {
    padding: 0.4rem 0.6rem;
  }
  .hcs.stellenangebote--row .jobs--container .jobs--accordion .mehr--btn .text {
    white-space: normal;
    display: none;
  }
  .hcs.stellenangebote--row .jobs--container .jobs--accordion .mehr--btn .icon {
    display: block;
  }
  .hcs.stellenangebote--row .bewerben--btn:hover, .hcs.stellenangebote--row .bewerben--btn:focus, .hcs.stellenangebote--row .bewerben--btn:active {
    transform: scale(1);
  }
}
@media all and (max-width: 500px) {
  .hcs.stellenangebote--row .jobs--container .jobs--panel .jobs--panel_inner {
    padding: 1.5rem;
  }
  .hcs.bewerbungsformular--row .fl-row-content-wrap {
    background-image: none;
    padding: 0 !important;
  }
  .hcs.bewerbungsformular--row .kontakt-card--col {
    border-radius: 0;
  }
  .hcs.bewerbungsformular--row .content--col, .hcs.bewerbungsformular--row .formular--col {
    padding: 1.5rem;
  }
}
.pv-rechner-container {
  max-width: 100vw;
  overflow-x: hidden;
}

.pv-rechner-formular .fl-module-content {
  background: #fff;
  border-radius: 2em;
  padding: 0;
}

.hcs .pv-rechner-formular .fl-module-content fieldset {
  background-color: #fff;
}

.hcs .pv-rechner-formular .with_frm_style .frm-show-form .frm_section_heading h3 {
  font-size: 1.5rem;
  font-family: "Comfortaa", "Roboto", Arial, sans-serif;
  margin-bottom: 2rem;
  margin-top: 2rem;
  border: none;
  border-top: none !important;
}
.hcs .pv-rechner-formular .with_frm_style .frm-show-form .frm_section_heading h3::after {
  display: none;
}

.hcs .pv-rechner-formular .frm_forms .frm_form_field.frm_image_options .frm_opt_container {
  flex-direction: row !important;
  flex-wrap: wrap;
  margin: 0;
  gap: min(0.5rem, 1vw);
}
.hcs .pv-rechner-formular .frm_forms .frm_form_field.frm_image_options .frm_opt_container .frm_image_option {
  margin: 0.3rem;
  padding: 0 !important;
  flex: 1 0 200px;
}
@media all and (max-width: 1366px) {
  .hcs .pv-rechner-formular .frm_forms .frm_form_field.frm_image_options .frm_opt_container .frm_image_option {
    flex: 1 0 45%;
  }
}
@media all and (max-width: 500px) {
  .hcs .pv-rechner-formular .frm_forms .frm_form_field.frm_image_options .frm_opt_container .frm_image_option {
    flex: 1 0 100%;
  }
}
.hcs .pv-rechner-formular .frm_forms .frm_form_field.frm_image_options .frm_opt_container .frm_image_option label {
  margin-bottom: 0;
  width: 100%;
}
.hcs .pv-rechner-formular .frm_forms .frm_form_field.frm_image_options .frm_opt_container .frm_image_option input {
  visibility: hidden;
}
.hcs .pv-rechner-formular .frm_forms .frm_form_field.frm_image_options .frm_opt_container .frm_image_option img {
  max-width: 200px;
  margin-left: auto;
  margin-right: auto;
  padding: 1rem;
  -o-object-fit: contain;
     object-fit: contain;
}

.hcs .pv-rechner-formular .with_frm_style .vertical_radio .frm_checkbox label, .hcs .pv-rechner-formular .with_frm_style .vertical_radio .frm_radio label {
  padding-left: 0.3rem;
  padding-right: 0.3rem;
}

.hcs .pv-rechner-formular .frm_image_options .frm_image_option_container {
  transition: all 0.25s ease-in-out;
  border-width: 0;
  box-shadow: none;
  background: #333;
  border-radius: 1rem !important;
  overflow: hidden;
}
.hcs .pv-rechner-formular .frm_image_options .frm_image_option_container .frm_text_label_for_image {
  transition: all 0.25s ease-in-out;
  text-indent: 0 !important;
  color: #fff;
}
.hcs .pv-rechner-formular .frm_image_options .frm_image_option_container .frm_text_label_for_image .frm_text_label_for_image_inner {
  font-size: 0.8rem;
}
.hcs .pv-rechner-formular .frm_image_options .frm_image_option_container:hover {
  transform: scale(0.95);
  box-shadow: none;
  cursor: pointer;
}
.hcs .pv-rechner-formular .frm_image_options .frm_image_option_container:hover .frm_text_label_for_image {
  background: #FF9C00;
  color: #fff;
}

.hcs .pv-rechner-formular .frm_form_field .frm_radio.frm_image_option {
  margin: 0.5rem;
}

.hcs .pv-rechner-formular input[type=radio]:checked + .frm_image_option_container .frm_text_label_for_image {
  background: #FF9C00;
  color: #fff;
}

.hcs .pv-rechner-formular .frm_page_num_1 .frm_button_submit, .hcs .pv-rechner-formular .frm_page_num_2 .frm_button_submit, .hcs .pv-rechner-formular .frm_page_num_3 .frm_button_submit, .hcs .pv-rechner-formular .frm_page_num_4 .frm_button_submit, .hcs .pv-rechner-formular .frm_page_num_5 .frm_button_submit, .hcs .pv-rechner-formular .frm_page_num_6 .frm_button_submit {
  visibility: hidden;
}
.hcs .pv-rechner-formular .frm_page_num_1 .frm_button_submit.frm_final_submit, .hcs .pv-rechner-formular .frm_page_num_2 .frm_button_submit.frm_final_submit, .hcs .pv-rechner-formular .frm_page_num_3 .frm_button_submit.frm_final_submit, .hcs .pv-rechner-formular .frm_page_num_4 .frm_button_submit.frm_final_submit, .hcs .pv-rechner-formular .frm_page_num_5 .frm_button_submit.frm_final_submit, .hcs .pv-rechner-formular .frm_page_num_6 .frm_button_submit.frm_final_submit {
  visibility: visible;
}

.hcs .pv-rechner-formular .frm_final_submit {
  visibility: visible !important;
}

.hcs .pv-rechner-formular input[type=radio]:checked + .frm_image_option_container .frm_selected_checkmark, .hcs .pv-rechner-formular input[type=checkbox]:checked + .frm_image_option_container .frm_selected_checkmark {
  display: none !important;
}

.tooltip {
  position: relative;
  display: inline-block;
  border-bottom: 1px dotted black; /* If you want dots under the hoverable text */
  color: #ff9c00;
  font-size: 1rem;
  margin-left: 1em;
}

/* Tooltip text */
.hcs .tooltip .tooltiptext {
  visibility: hidden;
  width: 300px;
  max-width: 500px;
  background-color: #333333;
  color: #fff;
  text-align: center;
  padding: 10px 0;
  border-radius: 6px;
  font-size: 0.8rem;
  margin-left: 1em;
  /* Position the tooltip text - see examples below! */
  position: absolute;
  z-index: 1;
  top: -5px;
  left: 105%;
}

/* Show the tooltip text when you mouse over the tooltip container */
.tooltip:hover .tooltiptext {
  visibility: visible;
}

.hcs .pv-rechner-formular .frm_inline_box {
  min-width: 6rem;
}

.hcs .pv-rechner-formular #frm_field_107_container {
  max-width: 600px;
}

/* ---------------------------------------------------------- Responsive */
@media all and (max-width: 1600px) {
  .hcs .pv-rechner-formular .frm_checkbox.frm_image_option, .hcs .pv-rechner-formular .frm_radio.frm_image_option {
    width: 24% !important;
    margin: 0 !important;
    padding: 0.5rem;
  }
}
@media all and (max-width: 1366px) {
  .hcs .pv-rechner-formular .frm_checkbox.frm_image_option, .hcs .pv-rechner-formular .frm_radio.frm_image_option {
    width: 50% !important;
    margin: 0 !important;
  }
  .hcs .pv-rechner-formular .frm_checkbox.frm_image_option .frm_image_option_container img, .hcs .pv-rechner-formular .frm_radio.frm_image_option .frm_image_option_container img {
    -o-object-fit: contain;
       object-fit: contain;
    height: 25vw !important;
  }
}
@media all and (max-width: 500px) {
  .hcs .pv-rechner-formular .frm_checkbox.frm_image_option, .hcs .pv-rechner-formular .frm_radio.frm_image_option {
    width: 50% !important;
    margin-left: auto;
    margin-right: auto;
    margin: 0 !important;
  }
  .hcs .pv-rechner-formular .frm_checkbox.frm_image_option .frm_image_option_container img, .hcs .pv-rechner-formular .frm_radio.frm_image_option .frm_image_option_container img {
    -o-object-fit: contain;
       object-fit: contain;
    height: 15vh !important;
  }
  .hcs .pv-rechner-formular .frm_image_options .frm_image_option_container .frm_text_label_for_image .frm_text_label_for_image_inner {
    font-size: 0.7rem;
  }
  .hcs .pv-rechner-formular .frm_inline_box {
    min-width: 4.5rem;
    font-size: 60%;
    color: #fff;
  }
}
/*

/// splashscreen fix

html {
	background: $grauwert;
}
body {
	visibility: hidden; 
}

*/
/* Edge und Explorer Parallax Fix */
_:-ms-lang(x),
_:-webkit-full-screen,
.fl-row-bg-parallax .fl-row-content-wrap {
  background-attachment: scroll !important;
  background-position: center center !important;
}

_:-ms-lang(x),
.fl-row-bg-parallax .fl-row-content-wrap {
  background-attachment: scroll !important;
  background-position: center center !important;
}

/* Scrollbar ausblenden 

html {
overflow: scroll;
overflow-x: hidden;
}
::-webkit-scrollbar {
width: 0px; }

body::-webkit-scrollbar

*/
/* ---------------------------------------------------------- Responsive */
.hcs-oc-overlay {
  animation-name: fadeIn;
  animation-duration: 1s;
  animation-fill-mode: both;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.touch-effect {
  animation: pulsate-bck 0.3s cubic-bezier(0.445, 0.05, 0.55, 0.95) both;
}
@keyframes pulsate-bck {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(0.8);
  }
  100% {
    transform: scale(1);
  }
}
/*.fl-page { 
    animation: fadeInAnimation ease-in-out 3s; 
    animation-iteration-count: 1; 
    animation-fill-mode: forwards; 
} 

@keyframes fadeInAnimation { 
    0% { 
        opacity: 0; 
    } 
    100% { 
        opacity: 1; 
     } 
} 

*/
/* ---------------------------------------------------------- Responsive */
/* ---------------------------------------------------------- Responsive */
.hcs.hcs-branding--row .fl-row-content-wrap {
  background: #333;
}
.hcs.hcs-branding--row .fl-row-content-wrap .fl-col-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.hcs.hcs-branding--row .fl-row-content-wrap h3 {
  font-weight: 700 !important;
  color: #ffffff;
  opacity: 0.65;
  text-align: center;
  background: #515151;
  display: block;
  padding: 1rem 2rem !important;
  border-radius: 0.5rem;
}
.hcs.hcs-branding--row .fl-row-content-wrap .heicom-branding--img {
  margin-top: 1rem;
  margin-bottom: 5rem;
}
.hcs.hcs-branding--row .fl-row-content-wrap .heicom-branding--img img {
  width: 350px;
  max-width: 50vw;
  opacity: 0.9;
  transition: all 0.3s ease;
}
.hcs.hcs-branding--row .fl-row-content-wrap .heicom-branding--img img:hover, .hcs.hcs-branding--row .fl-row-content-wrap .heicom-branding--img img:focus {
  transform: scale(0.9);
}
.hcs.hcs-branding--row .fl-row-content-wrap .erecht-branding--img img {
  width: 200px;
}

.noscript-style {
  padding: 2em;
  max-width: 100vw;
  text-align: center;
  color: #333;
  font-weight: 700;
  border: solid;
  border-color: #333;
  border-width: 0;
  background: #ffc800;
  position: fixed;
  width: 100%;
  left: 0;
  bottom: 0;
  z-index: 9999999;
  box-sizing: border-box;
}

.erecht-container--row h1 {
  margin-bottom: 1em;
  margin-bottom: 0.5em;
}
.erecht-container--row h2 {
  margin-top: 1.5em;
  margin-bottom: 0.5em;
}
.erecht-container--row h3 {
  margin-top: 1em;
  margin-bottom: 0.5em;
}

.hcs.bildernachweis--row .fl-photo-caption {
  overflow: visible;
  text-overflow: unset;
  white-space: normal;
  font-size: 0.8rem;
}
.hcs.bildernachweis--row .fl-photo-caption a {
  font-size: 0.8rem;
}

#BorlabsCookieBox.BorlabsCookie ._brlbs-box-wrap {
  max-width: 550px;
  width: 85vw !important;
}
#BorlabsCookieBox.BorlabsCookie ._brlbs-box-wrap ._brlbs-box .container {
  scrollbar-width: thin;
}
#BorlabsCookieBox.BorlabsCookie ._brlbs-box-wrap ._brlbs-box .container::-webkit-scrollbar {
  width: 0px;
}

#CookieBoxTextHeadline {
  font-weight: 700;
  margin-top: 0.5rem;
}

.BorlabsCookie ._brlbs-content-blocker ._brlbs-caption, .BorlabsCookie ._brlbs-content-blocker ._brlbs-caption p {
  color: #fff !important;
}

@media all and (max-width: 768px) {
  #BorlabsCookieBox.BorlabsCookie ._brlbs-box-wrap p {
    font-size: 0.9em;
  }
  #CookiePrefDescription, #CookieBoxTextDescription {
    max-height: 25vh;
    box-shadow: inset 0 -10px 10px -10px gray;
    scrollbar-width: thin;
  }
}
.hcs .bildernachweis--mdl .bildernachweis--wrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
.hcs .bildernachweis--mdl .bildernachweis--wrapper .image-container {
  margin: 1rem;
  display: flex;
  flex-direction: column;
  background: #fff;
  border-right: 1px solid #ccc;
  padding: 0.5rem;
  min-width: 250px;
}
.hcs .bildernachweis--mdl .bildernachweis--wrapper .image-container img.image {
  width: 150px;
  height: 150px;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center center;
     object-position: center center;
  margin-bottom: 1rem;
}
.hcs .bildernachweis--mdl .bildernachweis--wrapper .image-container .urheber, .hcs .bildernachweis--mdl .bildernachweis--wrapper .image-container .quelle, .hcs .bildernachweis--mdl .bildernachweis--wrapper .image-container a {
  font-size: 0.8rem;
  margin-top: 2px;
}
.hcs .bildernachweis--mdl .bildernachweis--wrapper .image-container .urheber a, .hcs .bildernachweis--mdl .bildernachweis--wrapper .image-container .quelle a, .hcs .bildernachweis--mdl .bildernachweis--wrapper .image-container a a {
  text-decoration: underline;
}

/* ---------------------------------------------------------- Responsive */
.logo-slider--row {
  background: #fff;
}
.logo-slider--row .logo-slider--mdl .slick-track {
  display: flex;
  align-content: center;
  align-items: center;
}
.logo-slider--row .logo-slider--mdl .slick-track .logo-slider--element {
  margin-bottom: 0;
  border: none;
}
.logo-slider--row .logo-slider--mdl .slick-track .logo-slider--element img {
  max-width: 275px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 2.5em;
  transition: all 0.25s ease;
}
.logo-slider--row .logo-slider--mdl .slick-track .logo-slider--element img:hover {
  filter: grayscale(100%);
}

/* Slider */
.slick-loading .slick-list {
  background: #fff url("/wp-content/themes/heicom-systems-child-theme/plugins/slick/ajax-loader.gif") center center no-repeat;
}

/* Icons */
@font-face {
  font-family: "slick";
  src: url("/wp-content/themes/heicom-systems-child-theme/plugins/slick/fonts/slick.eot");
  src: url("/wp-content/themes/heicom-systems-child-theme/plugins/slick/fonts/slick.eot?#iefix") format("embedded-opentype"), url("/wp-content/themes/heicom-systems-child-theme/plugins/slick/fonts/slick.woff") format("woff"), url("/wp-content/themes/heicom-systems-child-theme/plugins/slick/fonts/slick.ttf") format("truetype"), url("/wp-content/themes/heicom-systems-child-theme/plugins/slick/fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal;
}
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
}
.slick-prev:hover, .slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  outline: none;
  background: transparent;
  color: transparent;
}
.slick-prev:hover:before, .slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}
.slick-prev:before,
.slick-next:before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  color: white;
  opacity: 0.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: -25px;
}
[dir=rtl] .slick-prev {
  left: auto;
  right: -25px;
}
.slick-prev:before {
  content: "←";
}
[dir=rtl] .slick-prev:before {
  content: "→";
}

.slick-next {
  right: -25px;
}
[dir=rtl] .slick-next {
  left: -25px;
  right: auto;
}
.slick-next:before {
  content: "→";
}
[dir=rtl] .slick-next:before {
  content: "←";
}

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%;
}
.slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}
.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 20px;
  width: 20px;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}
.slick-dots li button:hover, .slick-dots li button:focus {
  outline: none;
}
.slick-dots li button:hover:before, .slick-dots li button:focus:before {
  opacity: 1;
}
.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "•";
  width: 20px;
  height: 20px;
  font-family: "slick";
  font-size: 6px;
  line-height: 20px;
  text-align: center;
  color: black;
  opacity: 0.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before {
  color: black;
  opacity: 0.75;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}