/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device orientation change,
 *    without disabling user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}
/**
 * Remove default margin.
 */
body {
  margin: 0;
}
/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}
/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}
/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}
/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}
/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent;
}
/**
 * Improve readability of focused elements when they are also in an
 * active/hover state.
 */
a:active,
a:hover {
  outline: 0;
}
/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}
/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold;
}
/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic;
}
/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}
/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}
/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0;
}
/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden;
}
/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px;
}
/**
 * Address differences between Firefox and other browsers.
 */
hr {
  box-sizing: content-box;
  height: 0;
}
/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto;
}
/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */
}
/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible;
}
/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none;
}
/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 * 4. CUSTOM FOR WEBFLOW: Removed the input[type="submit"] selector to reduce
 *    specificity and defer to the .w-button selector
 */
button,
html input[type="button"],
input[type="reset"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}
/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}
/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal;
}
/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type='checkbox'],
input[type='radio'] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}
/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button {
  height: auto;
}
/**
 * 1. CUSTOM FOR WEBFLOW: changed from `textfield` to `none` to normalize iOS rounded input
 * 2. CUSTOM FOR WEBFLOW: box-sizing: content-box rule removed
 *    (similar to normalize.css >=4.0.0)
 */
input[type='search'] {
  -webkit-appearance: none;
  /* 1 */
}
/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type='search']::-webkit-search-cancel-button,
input[type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
}
/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}
/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}
/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto;
}
/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold;
}
/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,
th {
  padding: 0;
}

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  height: 100%;
}
body {
  margin: 0;
  min-height: 100%;
  background-color: #fff;
  font-family: Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: #333;
}
img {
  max-width: 100%;
  vertical-align: middle;
  display: inline-block;
}
.w-inline-block {
  max-width: 100%;
  display: inline-block;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold;
  margin-bottom: 10px;
}
h1 {
  font-size: 38px;
  line-height: 44px;
  margin-top: 20px;
}
h2 {
  font-size: 32px;
  line-height: 36px;
  margin-top: 20px;
}
h3 {
  font-size: 24px;
  line-height: 30px;
  margin-top: 20px;
}
h4 {
  font-size: 18px;
  line-height: 24px;
  margin-top: 10px;
}
h5 {
  font-size: 14px;
  line-height: 20px;
  margin-top: 10px;
}
h6 {
  font-size: 12px;
  line-height: 18px;
  margin-top: 10px;
}
p {
  margin-top: 0;
  margin-bottom: 10px;
}
blockquote {
  margin: 0 0 10px 0;
  padding: 10px 20px;
  border-left: 5px solid #E2E2E2;
  font-size: 18px;
  line-height: 22px;
}
figure {
  margin: 0;
  margin-bottom: 10px;
}
figcaption {
  margin-top: 5px;
  text-align: center;
}
ul,
ol {
  margin-top: 0px;
  margin-bottom: 10px;
  padding-left: 40px;
}
@font-face {
  font-family: Avenir Next Pro;
  src: url('../fonts/AvenirNextLTPro-Heavy.woff2') format("woff2");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: FuturaLT;
  src: url('../fonts/FuturaLT.woff2') format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: FuturaLT;
  src: url('../fonts/FuturaLT-Bold.woff2') format("woff2");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: FuturaLT;
  src: url('../fonts/FuturaLT-Heavy.woff2') format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Pekacon;
  src: url('../fonts/pekacon.woff2') format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  --text-50: #242424;
  --primary-50: #6b1fad;
  --white: white;
  --secondary-50: #0885a8;
  --accent-50: #67adba;
  --primary-90: #f0e8f7;
  --primary-30: #523967;
}

body {
  color: var(--text-50);
  font-family: FuturaLT, Arial, sans-serif;
  font-size: 18px;
  line-height: 150%;
}

p {
  margin-bottom: 1em;
}

a {
  color: var(--primary-50);
  text-decoration: none;
}

.header {
  z-index: 99;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background-color: #fffc;
  padding-left: 40px;
  padding-right: 40px;
  position: absolute;
  inset: 0% 0% auto;
}

.section-inner {
  width: 100%;
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}

.header-inner {
  grid-column-gap: 30px;
  justify-content: space-between;
  align-items: center;
  padding-top: 20px;
  padding-bottom: 20px;
  display: flex;
  position: relative;
}

.header-social {
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  margin-top: 0px;
  margin-bottom: -50px;
  display: flex;
}

.header-social-item {
  background-color: var(--white);
  border-radius: 8px;
  padding: 10px;
  font-size: 44px;
  line-height: 100%;
}

.hero {
  background-color: var(--secondary-50);
  color: var(--white);
  flex-flow: row;
  justify-content: center;
  height: auto;
  min-height: 100svh;
  max-height: 1000px;
  padding: 160px 40px 0;
  display: flex;
  position: relative;
}

.hero-inner {
  grid-column-gap: 30px;
  justify-content: space-between;
  align-items: center;
  height: 100%;
  min-height: 0;
  max-height: 100%;
  display: flex;
  position: relative;
}

.hero-title {
  text-transform: uppercase;
  font-family: Avenir Next Pro, Impact, sans-serif;
  font-size: 52px;
  line-height: 90%;
  margin: 0;
}

.hero-subtitle {
  font-size: 24px;
  font-weight: 700;
  line-height: 120%;
}

.hero-text {
  max-width: 440px;
  margin-top: 30px;
  margin-bottom: 30px;
  margin-left: 20px;
}

.btn {
  background-color: var(--secondary-50);
  color: var(--white);
  text-align: center;
  border-radius: 6px;
  padding: 15px 24px;
  font-size: 16px;
  font-weight: 700;
  line-height: 130%;
  transition: 0.3s;
}

.btn.purple {
  background-color: var(--primary-50);
}

.btn.white {
  background-color: var(--white);
  color: var(--text-50);
}

.hero-content {
  z-index: 1;
  min-width: 530px;
  padding-bottom: 70px;
  position: relative;
}

.hero-img {
  height: auto;
  min-height: 0;
  max-height: 100%;
}

.section {
  padding-left: 40px;
  padding-right: 40px;
  position: relative;
}

.section.section-frage {
  background-image: linear-gradient(180deg, var(--white), #fff0);
  overflow:hidden;
}

.section.section-rezension {
  background-color: var(--accent-50);
}

.section.purple-bg {
  background-color: var(--primary-50);
  color: var(--white);
}

.section.seo {
  padding-bottom: 100px;
}

.section.pfau-bg {
  background-position: 100%;
  background-repeat: no-repeat;
  background-size: contain;
  overflow:hidden;
}

.section.overflow {
  overflow: hidden;
}

.frage-inner {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  padding-top: 100px;
  padding-bottom: 100px;
  display: flex;
}

.frage-column {
  flex-flow: column;
  width: 50%;
  display: flex;
}

.section-title {
  color: var(--primary-50);
  text-transform: uppercase;
  -webkit-hyphens: auto;
  hyphens: auto;
  margin-top: 0;
  font-family: FuturaLT, Arial, sans-serif;
  font-size: 38px;
  font-weight: 400;
  line-height: 110%;
}

.section-title.margin {
  margin-bottom: 30px;
}

.section-title.secondary {
  color: var(--secondary-50);
}

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

.frage-wrap {
  grid-row-gap: 20px;
  flex-flow: column;
  max-width: 480px;
  margin-bottom: 35px;
  display: flex;
}

.frage-item {
  border: 1px solid var(--primary-50);
  background-color: var(--white);
  text-align: left;
  border-radius: 18px;
  width: 80%;
  min-width: 340px;
  padding: 25px 25px 10px;
  box-shadow: 0 8px 10px -2px #0003;
}

.section-title-back {
  opacity: .4;
  color: var(--primary-50);
  text-transform: uppercase;
  margin-bottom: -15px;
  font-family: Avenir Next Pro, Impact, sans-serif;
  font-size: 38px;
  font-weight: 900;
  line-height: 100%;
}

.section-title-back.secondary {
  color: var(--secondary-50);
  -webkit-hyphens: auto;
  hyphens: auto;
}

.section-title-back.align-right {
  text-align: right;
}

.content-box {
  border: 1px solid var(--accent-50);
  background-color: var(--white);
  border-radius: 18px;
  position: relative;
  box-shadow: 0 8px 15px -2px #0003;
}

.content-box-head {
  background-color: var(--accent-50);
  color: var(--white);
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
  padding: 25px 30px;
}

.content-box-content {
  padding: 25px 30px;
}

.section-3-left {
  width: 50%;
}

.section-3-right {
  justify-content: flex-end;
  align-items: flex-end;
  width: 50%;
  display: flex;
}

.content-box-title {
  text-transform: uppercase;
}

.section-4-left {
  width: 45%;
  justify-content: flex-end;
	display: flex;
  align-items: flex-end;
}

.section-4-right {
  width: 55%;
}

.section-4-right .overflow-box-wrap{
	margin-top: 40px;
}

.content-box-list {
  flex-flow: column;
  display: flex;
}

.content-box-list-item {
  grid-column-gap: 6px;
  display: flex;
}

.content-box-list-icon {
  color: var(--accent-50);
  font-size: 24px;
  line-height: 100%;
}

.overflow-box-wrap {
  z-index: 1;
  border: 1px solid var(--primary-50);
  background-color: var(--primary-90);
  color: var(--primary-50);
  border-radius: 12px;
  position: relative;
}

.overflow-box-inner {
  padding: 30px;
}

.overflow-box-title {
  margin-bottom: 10px;
  font-weight: 900;
}

.rezension-wrap {
  justify-content: space-between;
  padding-top: 80px;
  padding-bottom: 80px;
  display: flex;
}

.rezension-item {
  background-color: #0000;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  padding: 20px;
  display: flex;
  border: none;
}

.rezension-name {
  color: var(--white);
  text-align: center;
  margin-top: 10px;
  font-weight: 700;
}

.rezension-img-wrap {
  position: relative;
}

.section-inner-full {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: flex;
}

.section-full {
  position: relative;
}

.section-full.blue-bg {
  background-color: var(--secondary-50);
  color: var(--white);
}

.seo-wrap {
  text-align: center;
  max-height: 80px;
  overflow: hidden;
}

.footer {
  background-color: var(--primary-90);
  color: var(--primary-30);
  padding-left: 40px;
  padding-right: 40px;
  overflow: hidden;
}

.footer-top {
  grid-column-gap: 40px;
  grid-row-gap: 30px;
  justify-content: space-between;
  padding-top: 60px;
  padding-bottom: 60px;
  display: flex;
}

.footer-bottom {
  border-top: 1px solid #c8b6d8;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  padding-top: 10px;
  padding-bottom: 10px;
  display: flex;
}

.footer-seo {
  font-size: 14px;
}

.hero-title-bigger {
  font-size: 1.24em;
}

.primary-text {
  color: var(--primary-50);
}

.section-3-inner {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  padding-top: 100px;
  padding-bottom: 100px;
  display: flex;
}

.section-4-inner {
  z-index: 1;
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  padding-top: 100px;
  padding-bottom: 100px;
  display: flex;
  position: relative;
}

.section-5-inner {
  padding-top: 100px;
  padding-bottom: 100px;
}

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

.box-wrap {
  grid-column-gap: 40px;
  grid-row-gap: 30px;
  justify-content: center;
  margin-top: 50px;
  margin-bottom: 70px;
  display: flex;
}

.section-5-bottom {
  grid-column-gap: 40px;
  grid-row-gap: 30px;
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.purple-inner {
  z-index: 1;
  max-width: 640px;
  padding-top: 100px;
  padding-bottom: 100px;
  position: relative;
}

.schritt-inner {
  grid-row-gap: 40px;
  flex-flow: column;
  padding-top: 100px;
  padding-bottom: 100px;
  display: flex;
}

.schritt-top {
  text-align: right;
  flex-flow: column;
  justify-content: center;
  align-items: flex-end;
  width: 60%;
  margin-left: auto;
  display: flex;
}

.schritt-wrap {
  grid-column-gap: 70px;
  justify-content: flex-end;
  align-items: flex-start;
  display: flex;
  position: relative;
}

.lamp-inner {
  padding-top: 100px;
  padding-bottom: 100px;
}

.lamp-content {
  grid-column-gap: 40px;
  grid-row-gap: 30px;
  margin-top: 50px;
  display: flex;
}

.lamp-info {
  color: var(--primary-50);
  text-transform: uppercase;
  font-family: Avenir Next Pro, Impact, sans-serif;
  font-size: 26px;
}

.lamp-right {
  padding-top: 60px;
}

.section-6-bottom {
  grid-column-gap: 40px;
  grid-row-gap: 30px;
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.section-6-inner {
  z-index: 1;
  padding-top: 100px;
  padding-bottom: 100px;
  position: relative;
}

.inner-full-wrap {
  flex-flow: column;
  justify-content: space-between;
  align-items: flex-start;
  width: 60%;
  padding: 140px 60px 140px 40px;
  display: flex;
}

.inner-full-content {
  max-width: 580px;
}

.inner-img-wrap {
  width: 40%;
}

.last-inner {
  padding-top: 100px;
  padding-bottom: 100px;
}

.last-bottom {
  grid-column-gap: 40px;
  grid-row-gap: 30px;
  justify-content: center;
  align-items: center;
  margin-top: 50px;
  display: flex;
}

.footer-left {
  max-width: 380px;
}

.footer-link {
  grid-row-gap: 10px;
  text-align: right;
  flex-flow: column;
  margin-bottom: 30px;
  display: flex;
}

.footer-social {
  grid-column-gap: 10px;
  justify-content: flex-end;
  align-items: center;
  display: flex;
}

.footer-social-item {
  background-color: var(--primary-50);
  color: var(--white);
  border-radius: 8px;
  padding: 10px;
  font-size: 18px;
  line-height: 100%;
}

.hero-bg {
  opacity: .25;
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
}

.image {
  object-fit: contain;
  object-position: 50% 100%;
  max-height: 100%;
  display: block;
  position: absolute;
  inset: auto 0% 0% auto;
}

.rezension-img {
  filter: grayscale();
  border-radius: 100px;
  transition: all .3s;
  position: relative;
}

.purple-bottom {
  grid-column-gap: 40px;
  margin-bottom: 35px;
  display: flex;
}

.purple-bottom-content {
  text-align: right;
  padding-top: 64px;
}

.purple-bottom-img {
  min-width: 100px;
}

.img-2 {
  margin-top: -30px;
}

.div {
  justify-content: flex-end;
  align-items: center;
  display: flex;
}

.image-2 {
  object-fit: cover;
  width: 40%;
  height: 100%;
  position: absolute;
  inset: 0% 0% auto auto;
}

.rezension-popup {
  z-index: 999;
  opacity: 1;
  cursor: pointer;
  visibility: visible;
  background-color: #00000080;
  justify-content: center;
  align-items: center;
  transition-property: opacity;
  transition-duration: .3s;
  transition-timing-function: ease;
  display: flex;
  position: fixed;
  inset: 0%;
}

.rezension-popup-inner {
  background-color: var(--white);
  cursor: auto;
  border-radius: 16px;
  width: 90vw;
  max-width: 600px;
  max-height: 90svh;
  position: relative;
  overflow: auto;
}

.rezension-popup-container {
  padding: 30px 30px 50px;
}

.rezension-popup-close {
  background-color: var(--primary-50);
  color: var(--white);
  border-radius: 8px;
  padding: 7px;
  font-size: 23px;
  line-height: 100%;
  position: sticky;
  top: 20px;
  bottom: auto;
  left: calc(100% - 55px);
  border: none;
}

.rezension-popup-name {
  padding-bottom: 10px;
  font-size: 18px;
  font-weight: 700;
}

.image-3 {
  opacity: .6;
  object-fit: contain;
  object-position: 50% 100%;
  width: 700px;
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -5%;
}

.image-4 {
  opacity: .7;
  object-fit: contain;
  object-position: 0% 100%;
  width: 40%;
  max-height: 100%;
  position: absolute;
  inset: auto auto 0% 0%;
}

.image-5 {
  z-index: 1;
  opacity: .4;
  position: absolute;
  inset: 0% 0% auto auto;
}

.image-6 {
  z-index: 0;
  position: absolute;
  top: 20%;
  left: 0;
}

.footer-logo {
  margin-bottom: 30px;
}

.subhero {
  background-color: var(--secondary-50);
  color: var(--white);
  flex-flow: row;
  justify-content: center;
  min-height: 520px;
  max-height: 1000px;
  padding: 120px 40px 100px;
  display: flex;
  -webkit-mask-image: radial-gradient(55% 5vw at bottom, #0000 0 99%, #000 calc(99% + 3px), #000);
  mask-image: radial-gradient(55% 5vw at bottom, #0000 0 99%, #000 calc(99% + 3px), #000);
}

.subhero-content {
  z-index: 1;
  position: relative;
}

.contact-wrap {
  grid-column-gap: 50px;
  grid-row-gap: 50px;
  padding-top: 40px;
  padding-bottom: 100px;
  display: flex;
}

.contact-info, .contact-form {
  width: 50%;
}

.content-wrap {
  padding-top: 40px;
  padding-bottom: 100px;
}

.zertifikat-wrap {
  z-index: 1;
  grid-column-gap: 12px;
  display: flex;
  position: absolute;
  inset: auto 0% 0% auto;
}

.zertifikat-wrap .zertifikat-item:first-child{
	background-color: var(--accent-50);
  color: var(--white);
}

.zertifikat-item {
  background-color: var(--white);
  color: var(--text-50);
  border-radius: 12px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  min-width: 180px;
  padding: 8px 20px;
  transition: all .3s;
  display: flex;
  box-shadow: 0 8px 14px -5px #0003;
}

.zertifikat-item:hover {
  background-color: var(--accent-50);
  color: var(--white);
  transform: scale(1.05);
}

.zertifkat-text {
  text-align: center;
  font-size: 12px;
  line-height: 120%;
}

.hero-trenner {
  background-color: var(--white);
  -webkit-clip-path: ellipse(50% 100% at 50% 100%);
  clip-path: ellipse(50% 100% at 50% 100%);
  height: 3vw;
  position: absolute;
  inset: auto 0% 0%;
}

.subhero-inner {
  grid-column-gap: 30px;
  justify-content: space-between;
  align-items: center;
  height: 100%;
  min-height: 0;
  max-height: 100%;
  display: flex;
  position: relative;
}


@font-face {
  font-family: 'Avenir Next Pro';
  src: url('../fonts/AvenirNextLTPro-Heavy.woff2') format('woff2');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'FuturaLT';
  src: url('../fonts/FuturaLT.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'FuturaLT';
  src: url('../fonts/FuturaLT-Bold.woff2') format('woff2');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'FuturaLT';
  src: url('../fonts/FuturaLT-Heavy.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Pekacon';
  src: url('../fonts/pekacon.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

html{
overflow-x: hidden;
}
[class^="pp-i-"]:before, [class*=" pp-i-"]:before {
  font-family: "pekacon";
  font-style: normal;
  font-weight: normal;
  speak: never;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.pp-i-arrow-down:before { content: '\e800'; } /* '' */
.pp-i-arrow-right:before { content: '\e801'; } /* '' */
.pp-i-check:before { content: '\e802'; } /* '' */
.pp-i-mark:before { content: '\e803'; } /* '' */
.pp-i-phone:before { content: '\e804'; } /* '' */
.pp-i-instagram:before { content: '\e805'; } /* '' */
.pp-i-whatsapp:before { content: '\e806'; } /* '' */
.frage-item:nth-child(even){
	align-self:flex-end;
}
.overflow-box-wrap.right{
	border-width: 1px 0 1px 1px;
	border-radius: 12px 0 0 12px;
}
.overflow-box-wrap.right::after {
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  bottom: -1px;
  width: 100vw;
  background: var(--primary-90);
  z-index: -1;
	border-radius: 12px 0 0 12px;
	border: solid 1px
}
.overflow-box-wrap.left{
	border-width: 1px 1px 1px 0px;
	border-radius: 0 12px 12px 0;
}
.overflow-box-wrap.left::after {
  content: "";
  position: absolute;
  top: -1px;
  right: -1px;
  bottom: -1px;
  width: 100vw;
  background: var(--primary-90);
  z-index: -1;
	border-radius: 0 12px 12px 0;
	border: solid 1px
}
.section-3-right .content-box{
	max-width: 310px;
}
.section-4-left .content-box{
	max-width: 420px;
}
.rezension-img-wrap:before{
	content:'';
	height: 100%;
	width: 100%;
	position: absolute;
	border-radius: 100px;
	outline: solid 1px var(--secondary-50);
	left:-5px;
	bottom:-5px;
  transition:0.3s;
}
.rezension-img-wrap:after{
	content:'';
	height: 100%;
	width: 100%;
	position: absolute;
	border-radius: 100px;
	outline: solid 1px var(--secondary-50);
	left:5px;
	bottom:2px;
  transition:0.3s;
}
.section-5-inner .box-wrap .content-box{
	width:50%;
}
.section-5-inner .box-wrap .content-box:first-child{
	border-color: var(--secondary-50);
}
.section-5-inner .box-wrap .content-box:first-child .content-box-head{
	background-color: var(--secondary-50);
}
.section-5-bottom .overflow-box-wrap{
	max-width: 800px;
}
.section.purple-bg .section-title-back,
.section.purple-bg .section-title{
	color:var(--white);
}
.section.purple-bg .overflow-box-wrap{
	background-color: var(--primary-50);
	color:var(--white);
	border-color: var(--white);
}
.section.purple-bg .overflow-box-wrap.left::after{
	background-color: var(--primary-50);
	border-color: var(--white);
}
.schritt-wrap .content-box{
	max-width: 300px;
}
.lamp-right .overflow-box-wrap{
	margin-bottom: 30px;
}
.section-6-inner .box-wrap .content-box{
	width: 33%;
}
.section-6-bottom .overflow-box-wrap{
	max-width: 800px;
}
.section-full.blue-bg .section-title-back{
	color: var(--white);
}
.section-full.blue-bg .section-title{
	color: var(--white);
}
.inner-img-wrap img{
	mask-image:linear-gradient(90deg, rgba(0,0,0,0.5) 9.9px, black 10px);
}
.rezension-popup[hidden]{
  visibility: hidden;
  opacity: 0;
}
.rezension-img-wrap:hover img{
	transform: scale(1.03);
	filter:none;
}
.rezension-img-wrap:hover:before{
	bottom: 5px;
}
.rezension-img-wrap:hover:after{
	bottom: -5px;
}
.image-4{
	mask-image:radial-gradient(at left bottom,black 50%, transparent 65%);
}
.schritt-wrap .content-box:nth-child(1) .schritt-arrow{
	position: absolute;
	transform: rotate(20deg);
	top: calc(100% + 40px);
}
.schritt-wrap .content-box:nth-child(2) .schritt-arrow{
	position: absolute;
	bottom: calc(100% + 0px);
	right:-20px;
	transform: rotate(200deg) scale(-1, 1);
}
.schritt-wrap .content-box:nth-child(3) .schritt-arrow{
	position: absolute;
	top: calc(100% + 10px);
	right:-30px;
}
.schritt-wrap .content-box:nth-child(1){
	position: absolute;
	top: -100px;
	left:0;
}
.schritt-wrap .content-box:nth-child(2){
	margin-top: 200px;
	margin-bottom: 50px
}
.schritt-wrap .content-box:nth-child(4){
	margin-top:auto;
}
.frage-column:nth-child(2) .section-title,
.frage-column:nth-child(2) .title-1{
	text-align: right!important;
}
.lamp-inner .section-center{
	position: relative;
	z-index: 1;
}
.footer a:not(.footer-social-item){
	color:var(--primary-30);
}

.faq-wrap{
	padding: 100px 0;
	display: flex;
	gap:50px;
}
.faq-content{
	width: 50%;
}
.faq-img{
	width: 50%;
}

.accordion-item.accordion-open .accordion-icon i{
	transform: rotate(-180deg)
}
.accordion-icon i{
	display: block;
	transition: 0.2s;
}
.accordion-wrap {
  grid-row-gap: 10px;
  flex-flow: column;
  margin-top: 30px;
  display: flex;
}

.accordion-item {
  border: 1px solid var(--secondary-50);
  background-color: var(--white);
  color: var(--text);
  border-radius: 12px;
}

.accordion-head {
  cursor: pointer;
  justify-content: space-between;
  padding: 16px 24px;
  font-weight: 700;
  line-height: 110%;
  display: flex;
	color:var(--secondary-50);
}

.accordion-content {
  padding-left: 24px;
  padding-right: 24px;
  transition: height .2s;
  overflow: hidden;
}

.accordion-inner {
  border-top: 1px solid var(--secondary-50);
  padding-top: 20px;
  padding-bottom: 20px;
}

.accordion-icon {
  font-size: 24px;
}
.blog-grid {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  margin-top: 40px;
  display: grid;
}

.blog-item {
  background-color: var(--white);
  text-align: left;
  border-radius: 12px;
  flex-flow: column;
  justify-content: space-between;
  padding: 20px 25px 25px;
  display: flex;
  box-shadow: 0 2px 3px #0000001a, 0 5px 16px #0003;
}

.blog-img {
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: 6px;
  width: 100%;
}

.blog-title {
  color: black;
  margin-top: 12px;
  font-weight: 700;
}

.blog-item-top {
  position: relative;
}

.blog-item-bottom {
  justify-content: space-between;
  margin-top: 5px;
  display: flex;
}

.blog-link {
  font-weight: 700;
  transition: all .2s;
	color: var(--secondary-50);
}

.blog-link:hover {
  color: var(--accent-50);
  transform: translate(10px);
}

.blog-standort-wrap {
  grid-column-gap: 5px;
  grid-row-gap: 5px;
  display: flex;
  position: absolute;
  inset: 10px auto auto 10px;
}

.blog-standort {
  background-color: var(--primary-50);
  color: var(--white);
  border-radius: 4px;
  padding: 3px 5px;
}
.blog-date {
  color: grey;
	font-size: 14px;
}
.blog-wrap{
	padding: 20px 0 100px;
}
.hamburger {
  border-radius: 8px;
  width: 52px;
  height: 52px;
  display: none;
  position: relative;
	background-color: var(--secondary-50)
}
.hamburger span:first-child {
    transform: translate(-50%,calc(-50% + -12px));
}
.hamburger span {
    background-color: var(--white);
    width: 33px;
    height: 2px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    transition: all 0.3s ease-in-out;
}
.hamburger span:last-child {
    transform: translate(-50%,calc(-50% + 12px));
}
.hamburger.hamburger-open span:first-child {
    transform: translate(-50%,-50%) rotate(-45deg);
    width: 38px;
}
.hamburger.hamburger-open span {
    width: 0;
}
.hamburger.hamburger-open span:last-child {
    transform: translate(-50%,-50%) rotate(45deg);
    width: 38px;
}
.header-menu-wrap {
    grid-column-gap: 40px;
    grid-row-gap: 10px;
    display: flex
}

.header-menu {
    grid-column-gap: 28px;
    grid-row-gap: 28px;
    justify-content: flex-end;
    align-items: center;
    display: flex
}

.menu-link {
    color: var(--text-50);
	font-size: 18px;
  text-transform: uppercase;
	font-weight: 400;
  padding: 5px 0;
}
.menu-link:hover {
    color: var(--primary-50)
}
.bloghero .subhero-inner{
	max-width: 800px;
	margin: auto;
	text-align: center;
	width: 100%;
}
.bloghero .subhero-content{
	width:100%;
}
.bloghero .hero-bg{
	filter:blur(5px);
}
.blog-eintrag-wrap{
	max-width: 800px;
	margin: -140px auto 0;
	padding-bottom: 100px
}
.blog-eintrag-img{
	border-radius: 12px;
	margin-bottom: 30px
}
.btn.purple:hover{
	background-color:  var(--primary-30) 
}
.btn.white:hover{
	background-color: transparent;
	outline: 2px solid white;
	outline-offset: -2px;
	color:white;
}
.footer-social-item:hover{
	background-color:  var(--primary-30) 
}
@media screen and (min-width:851px){
	.header-menu{
		margin-bottom: -40px
	}
}
@media screen and (max-width:1270px){
	.hero-img .image{
		position: absolute;
		right:0;
	}
	.schritt-wrap{
		grid-column-gap: 40px;
	}
}
@media screen and (max-width:1170px){
	.schritt-wrap{
		flex-wrap: wrap;
	}
	.schritt-wrap .content-box{
		min-width: calc(50% - 20px);
	}
	.schritt-wrap .content-box:nth-child(1){
		position: relative;
		top: 0px;
	}
	.schritt-wrap .content-box:nth-child(1) .schritt-arrow{
		top:0px;
		left:calc(100% + 20px);
		transform: rotate(-100deg) scale(-1, 1);
	}
	.schritt-wrap .content-box:nth-child(2){
		margin-top: 140px;
		margin-bottom: -30px;
	}
	.schritt-wrap .content-box:nth-child(2) .schritt-arrow{
		bottom: 30px;
		right: calc(100% + 20px);
		transform: rotate(120deg)
	}
	.schritt-wrap .content-box:nth-child(3) .schritt-arrow{
		top:40px;
		left:calc(100% + 40px);
		transform: rotate(-120deg) scale(-1, 1);
	}
	.schritt-wrap .content-box:nth-child(4){
		margin-top: 170px;
	}
	.schritt-top{
		margin-left: 0;
		align-items: flex-start;
	}
	.schritt-inner .section-title,
	.schritt-top{
		text-align: left;
	}
}
@media screen and (max-width:1040px){
	.hero-img .image{
		right: -140px;
	}
	.image-3{
		opacity: 0.4;
	}
	.image-5{
		z-index: 0;
	}/*
  .hero{
    overflow:hidden;
  }*/
  .blog-grid{
		grid-template-columns: 1fr 1fr;
	}
}
@media screen and (max-width:900px){
	.section,
	.hero,
	.footer,
	.header{
		padding-left: 20px;
		padding-right: 20px;
	}
}
@media screen and (max-width:850px){
  .contact-wrap{
    flex-direction: column;
  }
  .contact-info{
    width:100%;
  }
  .contact-form{
    width:100%;
  }
	.hero-img .image{
		position: relative;
		right: 0;
	}/*
  .hero{
    overflow:visible;
  }*/
	.hero-img{
		height: 100%;
		position: relative;
	}
	.hero-inner{
		flex-direction: column;
		bottom:0;
		height: 100%;
	}
	.hero .section-inner{
		height: auto;
	}
	.frage-inner{
		flex-direction: column;
	}
	.frage-column{
		width: 100%;
	}
	.frage-wrap{
		align-self: center;
	}
	.frage-item{
		min-width: auto;
	}
	.section-3-inner{
		flex-direction: column;
	}
	.section-3-left{
		width: 100%;
	}
	.section-3-right{
		width: 100%;
	}
	.section-3-right .content-box{
		max-width: 100%;
	}
	.section-4-inner{
		flex-direction: column-reverse;
	}
	.section-4-left{
		width: 100%;
	}
	.section-4-left .content-box{
		max-width: 100%;
	}
	.section-4-right{
		width: 100%;
	}
	.section-4-right .section-title-back.align-right,
	.section-4-right .section-title.align-right{
		text-align: left;
	}
	.image-4{
		display: none;
	}
	.rezension-wrap{
		flex-wrap: wrap;
		justify-content: center;
	}
	.section-5-inner .box-wrap{
		flex-direction: column;
	}
	.section-5-inner .box-wrap .content-box{
		width:100%;
	}
	.section-5-bottom{
		flex-direction: column;
	}
	.section-5-bottom .btn{
		width: 100%;
	}
	.section-6-inner .box-wrap{
		flex-direction: column;
	}
	.section-6-inner .box-wrap .content-box{
		width: 100%;
	}
	.section-6-bottom{
		flex-direction: column;
	}
	.section-6-bottom .btn{
		width:100%;
	}
	.section-full.blue-bg .section-inner-full{
		flex-direction: column;
	}
	.inner-img-wrap{
		width: 100%;
	}
	.inner-img-wrap img{
		position: relative;
		width: 100%;
		inset:0 0 0 0;
		mask-image: linear-gradient(180deg, rgba(0,0,0,0.5) 9.9px, black 10px);
	}
	.inner-full-wrap{
		width:100%;
		padding-left: 20px;
		padding-right: 20px;
		padding-bottom: 20px;
	}
	.inner-full-content{
		max-width: 100%;
	}
  .faq-wrap{
	flex-direction: column-reverse;
}
.faq-content{
	width: 100%;
}
.faq-img{
	width: 100%;
}
.hamburger{
	display: flex;
}
.header-menu-wrap{
	position: absolute;
	top: calc(100% + 20px);
	width: 100%;
	background-color: var(--white);
	display: flex;
	flex-direction: column;
	border-radius: 12px;
	height: 0px;
	transition: 0.3s;
	overflow: hidden;
}
.header-social{
	margin: 0 0 10px 0;
	justify-content: center;
}
.header-menu{
	flex-direction: column;
	justify-content: center;
	gap:5px;
	margin-top: 10px
}
.menu-link{
	width: 100%;
	text-align: center;
	padding: 10px
}
}
@media screen and (max-width:720px){
	.schritt-wrap .content-box{
		min-width: calc(100% - 110px);
		max-width: calc(100% - 110px);
	}
	.schritt-wrap .content-box:last-child{
		min-width: 100%;
	}
	.schritt-wrap .content-box:nth-child(1){
		position: relative;
		top: 0px;
	}
	.schritt-wrap .content-box:nth-child(1) .schritt-arrow{
		top:auto;
		bottom:-30px;
		left:calc(100% + 10px);
		transform: rotate(-90deg) scale(-1, 1);
	}
	.schritt-wrap .content-box:nth-child(2){
		margin-top: 0px;
		margin-bottom: 0px;
	}
	.schritt-wrap .content-box:nth-child(2) .schritt-arrow{
		bottom: -30px;
		right: calc(100% + 10px);
		transform: rotate(90deg)
	}
	.schritt-wrap .content-box:nth-child(3) .schritt-arrow{
		top:auto;
		bottom:-30px;
		left:calc(100% + 10px);
		transform: rotate(-90deg) scale(-1, 1);
	}
	.schritt-wrap .content-box:nth-child(4){
		margin-top: 0px;
	}
	.schritt-wrap{
		gap: 40px;
		justify-content: flex-start;
	}
	.schritt-wrap .content-box:nth-child(even){
		margin-left: auto;
	}
	.lamp-content{
		flex-direction: column;
	}
	.lamp-left .div{
		justify-content:flex-start
	}
	.img-2{
		margin-top: 20px;
		width: 90px;
	}
	.lamp-content{
		gap:0px;
	}
	.lamp-right{
		padding-top: 0px;
		margin-top: -70px;
	}
	.lamp-right .overflow-box-wrap{
		width: calc(100% - 110px);
		margin-left: auto;
	}
	.lamp-inner .lamp-content{
		position: relative;
		z-index: 1;
	}
	.footer-top{
		flex-direction: column;
	}
	.footer-link{
		text-align: left
	}
	.footer-social{
		justify-content: flex-start;
	}
  .blog-grid{
		grid-template-columns: 1fr;
	}
}
@media screen and (max-width:700px){
  .footer-bottom{
    padding-bottom: 60px;
  }
}
@media screen and (max-width:605px){
	.hero-title{
		font-size: 8.5vw
	}
	.hero-content{
		min-width: auto;
	}
	.hero-text{
		margin-left: 0;
	}
  .hero-subtitle,
.hero-title{
	text-align: center;
}
.subhero-content{
	width: 100%;
}
.hero-text{
	text-align: center;
	min-width:100%;
}
.hero-content{
	align-items: center;
	justify-content: center;
	display: flex;
	flex-direction: column;
}
}
@media screen and (max-width:495px){
	.header-social-item{
		font-size: 28px;
		padding: 8px;
	}
	.header-social{
		margin-bottom: 0px;
		grid-column-gap: 6px;
	}
	.frage-item{
		width: 100%;
	}
	.purple-bottom-img{
		min-width:80px;
	}
	.purple-bottom{
		grid-column-gap:20px;
	}
	.last-bottom{
		flex-direction: column;
	}
  .zertifikat-item{
    min-width: auto;
    width: 50%;
  }
  .subhero{
    min-height:340px;
    padding:130px 20px 50px;
  }
  .hero{
    min-height:auto;
  }
}
/* Fullscreen background layer */
#blurred-bg-circles {
  position: fixed;
  inset: 0;
  overflow: hidden;
  z-index: -1;           /* behind all content */
  pointer-events: none;  /* clicks go through */
}

/* Single circle */
.blurred-circle {
  position: absolute;
  border-radius: 50%;
  background: rgba(8, 133, 168, 0.1);
  filter: blur(40px);
  will-change: transform, opacity;
  animation: floatCircle linear infinite alternate;
}

/* Keyframes: gentle floating + scaling */
@keyframes floatCircle {
  0% {
    transform: translate3d(0, 0, 0) scale(1);
    opacity: 0.6;
  }
  100% {
    transform: translate3d(40px, -60px, 0) scale(1.25);
    opacity: 1;
  }
}

/* Formular Anfang */
:root{
--f-border: #c4c4c4;
--f-bg: #F4F4F4;
--f-font: #5C5C5B;
--f-color: var(--secondary-50);
--f-border-radius: 6px;
--f-border-radius-btn: 6px;
}
.captcha {
	margin-bottom: 0;
}
#kontaktformular h2{
	display: none;
}
form .captcha img {
	left: -2px;
	position: relative;
	border-left: 1px solid var(--f-border);
	border-radius: var(--f-border-radius) 0 0 var(--f-border-radius);
	display: inline-block;
}
form .captcha {
	display: inline-block;
	margin-right: 0; /* Entferne den Abstand */
	border-right: none; /* Entferne den rechten Rand */
	border-radius: var(--f-border-radius) 0 0 var(--f-border-radius); /* Nur die linke Seite abrunden */
}
form .captcha + input {
	display: inline-block;
	width: calc(100% - 90.5px); /* Berechne die Breite passend zum Captcha */
	margin-left: -4px; /* Entferne den Abstand durch negative Margin */
	border-left: none; /* Entferne den linken Rand */
	border-radius: 0 var(--f-border-radius) var(--f-border-radius) 0; /* Nur die rechte Seite abrunden */
	top: 6px;
	left: -2px;
	position: relative;
}
/* Gleicher Rahmen und Hintergrund für beide Elemente */
form .captcha,
form .captcha + input {
	border: 1px solid var(--f-border);
	background-color: var(--f-bg);
	height: 45px; /* Gleiche Höhe für beide Felder */
	vertical-align: middle;
	box-sizing: border-box; /* Um sicherzustellen, dass padding und border berücksichtigt werden */
}
.form-label {
	display: none;
}
form h2 {
	color: var(--f-color);
	text-transform: uppercase;
  -webkit-hyphens: auto;
  hyphens: auto;
  margin-top: 0;
  font-family: FuturaLT, Arial, sans-serif;
  font-size: 38px;
  font-weight: 400;
  line-height: 110%;
}
@media screen and (max-width: 910px) {
	form h2 {
		font-size: 32px;
	}
}
input.form-control,
select.form-control,
textarea.form-control {
	appearance: none;
	background: var(--f-bg);
	border: 1px solid var(--f-border);
	border-radius: var(--f-border-radius);
	margin: 0 0 12px 0;
	padding: 12px 16px;
	height: auto;
	transition: all 0.2s ease;
	position: relative;
	flex-grow: 1;
}
::placeholder {
	color: rgba(140, 140, 140);
}
.form-control,
.form-control {
	color: var(--text);
	vertical-align: middle;
	background-color: var(--f-bg);
	border: 1px solid #E9E9E9;
	width: 100%;
	height: 38px;
	margin-bottom: 10px;
	padding: 8px 12px;
	font-size: 14px;
	line-height: 1.42857;
	display: block;
}
textarea.form-control {
	resize: vertical;
}
input.form-control:focus,
select.form-control:focus,
textarea.form-control:focus {
	border-color: var(--f-color);
	box-shadow: 0 0 12px -5px var(--f-color);
}
button,
html input[type='button'],
input[type='reset'] {
	appearance: none;
	border: 0;
}
input {
	color: var(--f-font);
	border: 0;
	line-height: inherit;
	text-decoration: none;
	cursor: unset;
	width: auto;
	max-width: 100%;
}
input:focus,
select:focus,
textarea:focus {
	outline: 0;
}
input {
	-webkit-appearance: button;
}
form {
	width: 100%;
}
select.form-control {
	background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20392%20448%22%3E%3Cpath%20fill%3D%22%23373737%22%20d%3D%22m192%20284%20186-162q15-17%202-30-17-17-30-2L192%20228%2036%2090Q23%2075%206%2092q-14%2014%203%2030z%22%2F%3E%3C%2Fsvg%3E);
	background-size: 16px;
	background-repeat: no-repeat;
	background-position: calc(100% - 16px) calc(50% + 3px);
}
.checkbox-wrap {
	display: flex;
	margin: 15px 0 15px 0;
	font-size: 16px;
	line-height: 1.1em;
}
.checkbox-wrap:hover input {
	border-color: var(--f-border);
}
.clearfix{
  margin: 10px 0 -10px 0;
}
.clearfix .form-label {
	display: inline-block;
	font-weight: 400;
}
.clearfix .form-label a {
	color: var(--f-color);
}
.clearfix .form-label a:hover {
	color: var(--f-color) !important;
}
.clearfix input {
	height: 21px;
	width: 21px;
	min-height: 21px;
	min-width: 21px;
	border: 1px solid var(--f-border);
	-webkit-appearance: none;
	appearance: none;
	background: var(--f-bg);
	border-radius: var(--f-border-radius);
	margin: 0 12px 0 0px;
	transition: all 0.2s ease;
	position: relative;
}
.clearfix input:checked {
	background: var(--f-color);
	border-color: var(--f-color);
	position: relative;
}
.clearfix input:after {
	content: '';
	position: absolute;
	height: 100%;
	width: 100%;
	background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m173.898%20439.404-166.4-166.4c-9.997-9.997-9.997-26.206%200-36.204l36.203-36.204c9.997-9.998%2026.207-9.998%2036.204%200L192%20312.69%20432.095%2072.596c9.997-9.997%2026.207-9.997%2036.204%200l36.203%2036.204c9.997%209.997%209.997%2026.206%200%2036.204l-294.4%20294.401c-9.998%209.997-26.207%209.997-36.204-.001%22%2F%3E%3C%2Fsvg%3E);
	background-size: 0;
	background-position: center;
	background-repeat: no-repeat;
	transition: all 0.5s cubic-bezier(0.4, 2, 0.5, 0.4);
}
.clearfix input:checked:after {
	content: '';
	position: absolute;
	height: 100%;
	width: 100%;
	background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m173.898%20439.404-166.4-166.4c-9.997-9.997-9.997-26.206%200-36.204l36.203-36.204c9.997-9.998%2026.207-9.998%2036.204%200L192%20312.69%20432.095%2072.596c9.997-9.997%2026.207-9.997%2036.204%200l36.203%2036.204c9.997%209.997%209.997%2026.206%200%2036.204l-294.4%20294.401c-9.998%209.997-26.207%209.997-36.204-.001%22%2F%3E%3C%2Fsvg%3E);
	background-size: 14px;
	background-position: center;
	background-repeat: no-repeat;
}
.form-check {
	margin: 5px 0;
}
.form-check .form-label {
	line-height: 1.4em;
	cursor: pointer;
}
button[type='submit'] {
	background-color: var(--f-color);
	padding: 12px;
	border-radius: var(--f-border-radius-btn);
	color:var(--f-bg);
	width: 100%;
	margin-top: 15px;
}
[class*='col-'] {
	padding-right: 0px !important;
	padding-left: 0px !important;
}
.row {
	margin: 0 !important;
	column-gap: 10px;
}
.row [class*='col-'] {
	max-width: calc(50% - 5px) !important;
	flex: unset !important;
}
@media (min-width: 768px) and (max-width: 1200px) {
}
/* Bootstramp */
/* Row */
.row {
	display: flex;
	flex-wrap: wrap;
	margin-right: -15px;
	margin-left: -15px;
}
/* Column */
[class*='col-'] {
	position: relative;
	width: 100%;
	padding-right: 15px;
	padding-left: 15px;
}
/* Columns for all screen sizes */
.col {
	flex-basis: 0;
	flex-grow: 1;
	max-width: 100%;
}
.col-auto {
	flex: 0 0 auto;
	width: auto;
	max-width: none;
}
.col-1 {
	flex: 0 0 8.333333%;
	max-width: 8.333333%;
}
.col-2 {
	flex: 0 0 16.666667%;
	max-width: 16.666667%;
}
.col-3 {
	flex: 0 0 25%;
	max-width: 25%;
}
.col-4 {
	flex: 0 0 33.333333%;
	max-width: 33.333333%;
}
.col-5 {
	flex: 0 0 41.666667%;
	max-width: 41.666667%;
}
.col-6 {
	flex: 0 0 50%;
	max-width: 50%;
}
.col-7 {
	flex: 0 0 58.333333%;
	max-width: 58.333333%;
}
.col-8 {
	flex: 0 0 66.666667%;
	max-width: 66.666667%;
}
.col-9 {
	flex: 0 0 75%;
	max-width: 75%;
}
.col-10 {
	flex: 0 0 83.333333%;
	max-width: 83.333333%;
}
.col-11 {
	flex: 0 0 91.666667%;
	max-width: 91.666667%;
}
.col-12 {
	flex: 0 0 100%;
	max-width: 100%;
}
/* Responsive Media Queries for different screen sizes */
/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
	.col-sm-1 {
		flex: 0 0 8.333333%;
		max-width: 8.333333%;
	}
	.col-sm-2 {
		flex: 0 0 16.666667%;
		max-width: 16.666667%;
	}
	.col-sm-3 {
		flex: 0 0 25%;
		max-width: 25%;
	}
	.col-sm-4 {
		flex: 0 0 33.333333%;
		max-width: 33.333333%;
	}
	.col-sm-5 {
		flex: 0 0 41.666667%;
		max-width: 41.666667%;
	}
	.col-sm-6 {
		flex: 0 0 50%;
		max-width: 50%;
	}
	.col-sm-7 {
		flex: 0 0 58.333333%;
		max-width: 58.333333%;
	}
	.col-sm-8 {
		flex: 0 0 66.666667%;
		max-width: 66.666667%;
	}
	.col-sm-9 {
		flex: 0 0 75%;
		max-width: 75%;
	}
	.col-sm-10 {
		flex: 0 0 83.333333%;
		max-width: 83.333333%;
	}
	.col-sm-11 {
		flex: 0 0 91.666667%;
		max-width: 91.666667%;
	}
	.col-sm-12 {
		flex: 0 0 100%;
		max-width: 100%;
	}
}
/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
	.col-md-1 {
		flex: 0 0 8.333333%;
		max-width: 8.333333%;
	}
	.col-md-2 {
		flex: 0 0 16.666667%;
		max-width: 16.666667%;
	}
	.col-md-3 {
		flex: 0 0 25%;
		max-width: 25%;
	}
	.col-md-4 {
		flex: 0 0 33.333333%;
		max-width: 33.333333%;
	}
	.col-md-5 {
		flex: 0 0 41.666667%;
		max-width: 41.666667%;
	}
	.col-md-6 {
		flex: 0 0 50%;
		max-width: 50%;
	}
	.col-md-7 {
		flex: 0 0 58.333333%;
		max-width: 58.333333%;
	}
	.col-md-8 {
		flex: 0 0 66.666667%;
		max-width: 66.666667%;
	}
	.col-md-9 {
		flex: 0 0 75%;
		max-width: 75%;
	}
	.col-md-10 {
		flex: 0 0 83.333333%;
		max-width: 83.333333%;
	}
	.col-md-11 {
		flex: 0 0 91.666667%;
		max-width: 91.666667%;
	}
	.col-md-12 {
		flex: 0 0 100%;
		max-width: 100%;
	}
}
/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
	.col-lg-1 {
		flex: 0 0 8.333333%;
		max-width: 8.333333%;
	}
	.col-lg-2 {
		flex: 0 0 16.666667%;
		max-width: 16.666667%;
	}
	.col-lg-3 {
		flex: 0 0 25%;
		max-width: 25%;
	}
	.col-lg-4 {
		flex: 0 0 33.333333%;
		max-width: 33.333333%;
	}
	.col-lg-5 {
		flex: 0 0 41.666667%;
		max-width: 41.666667%;
	}
	.col-lg-6 {
		flex: 0 0 50%;
		max-width: 50%;
	}
	.col-lg-7 {
		flex: 0 0 58.333333%;
		max-width: 58.333333%;
	}
	.col-lg-8 {
		flex: 0 0 66.666667%;
		max-width: 66.666667%;
	}
	.col-lg-9 {
		flex: 0 0 75%;
		max-width: 75%;
	}
	.col-lg-10 {
		flex: 0 0 83.333333%;
		max-width: 83.333333%;
	}
	.col-lg-11 {
		flex: 0 0 91.666667%;
		max-width: 91.666667%;
	}
	.col-lg-12 {
		flex: 0 0 100%;
		max-width: 100%;
	}
}
/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
	.col-xl-1 {
		flex: 0 0 8.333333%;
		max-width: 8.333333%;
	}
	.col-xl-2 {
		flex: 0 0 16.666667%;
		max-width: 16.666667%;
	}
	.col-xl-3 {
		flex: 0 0 25%;
		max-width: 25%;
	}
	.col-xl-4 {
		flex: 0 0 33.333333%;
		max-width: 33.333333%;
	}
	.col-xl-5 {
		flex: 0 0 41.666667%;
		max-width: 41.666667%;
	}
	.col-xl-6 {
		flex: 0 0 50%;
		max-width: 50%;
	}
	.col-xl-7 {
		flex: 0 0 58.333333%;
		max-width: 58.333333%;
	}
	.col-xl-8 {
		flex: 0 0 66.666667%;
		max-width: 66.666667%;
	}
	.col-xl-9 {
		flex: 0 0 75%;
		max-width: 75%;
	}
	.col-xl-10 {
		flex: 0 0 83.333333%;
		max-width: 83.333333%;
	}
	.col-xl-11 {
		flex: 0 0 91.666667%;
		max-width: 91.666667%;
	}
	.col-xl-12 {
		flex: 0 0 100%;
		max-width: 100%;
	}
}
/* Beide Felder ohne Abstand nebeneinander anzeigen */
form .captcha {
	display: inline-block;
	margin-right: 0; /* Entferne den Abstand */
	border-right: none; /* Entferne den rechten Rand */
	border-radius: var(--f-border-radius) 0 0 var(--f-border-radius); /* Nur die linke Seite abrunden */
}
form .captcha + input {
	display: inline-block;
	width: calc(100% - 94px); /* Berechne die Breite passend zum Captcha */
	margin-left: -4px; /* Entferne den Abstand durch negative Margin */
	border-left: none; /* Entferne den linken Rand */
	border-radius: 0 var(--f-border-radius) var(--f-border-radius) 0; /* Nur die rechte Seite abrunden */
	top: 6px;
	left: -2px;
	position: relative;
}
/* Gleicher Rahmen und Hintergrund für beide Elemente */
form .captcha,
form .captcha + input {
	border: 1px solid var(--f-border);
	border-left: none;
	background-color: var(--f-bg);
	height: 45px; /* Gleiche Höhe für beide Felder */
	vertical-align: middle;
	box-sizing: border-box; /* Um sicherzustellen, dass padding und border berücksichtigt werden */
}
/* Formular Ende */
.text-center{
	text-align: center;
}

.animation.fade-down{
	opacity: 0;
	transform: translate(0, -40px);
	transition: 0.6s;
}
.animation.fade-down.animated{
	opacity: 1;
	transform: translate(0, 0)
}
.animation.fade-up{
	opacity: 0;
	transform: translate(0, 40px);
	transition: 0.6s;
}
.animation.fade-up.animated{
	opacity: 1;
	transform: translate(0, 0)
}
.animation.fade-right{
	opacity: 0;
	transform: translate(-40px, 0);
	transition: 0.6s;
}
.animation.fade-right.animated{
	opacity: 1;
	transform: translate(0, 0)
}
.animation.fade-left{
	opacity: 0;
	transform: translate(40px, 0);
	transition: 0.6s;
}
.animation.fade-left.animated{
	opacity: 1;
	transform: translate(0, 0)
}
.animation.fade-opacity{
	opacity: 0;
	transition: 0.6s;
}
.animation.fade-opacity.animated{
	opacity: 1;
}