:root {
  --accent-color: #84629c;
  --secondary-color: #f7a600;
  --background-dg-color: #535353;
  --background-lg-color: #f0ecec;
  --background-btn-lg-color: #f0f0f0;
  --text-color: #000;
  --text-color-wh: #fff;
  --headline-color: #121212;
  --step--2: clamp(0.7813rem, 0.7747rem + 0.0326vw, 0.8rem);
  --step--1: clamp(0.9375rem, 0.9158rem + 0.1087vw, 1rem);
  --step-0: clamp(1.125rem, 1.0815rem + 0.2174vw, 1.25rem);
  --step-1: clamp(1.35rem, 1.2761rem + 0.3696vw, 1.5625rem);
  --step-2: clamp(1.62rem, 1.5041rem + 0.5793vw, 1.9531rem);
  --step-3: clamp(1.944rem, 1.771rem + 0.8651vw, 2.4414rem);
  --step-4: clamp(2.3328rem, 2.0827rem + 1.2504vw, 3.0518rem);
  --step-5: clamp(2.7994rem, 2.4462rem + 1.7658vw, 3.8147rem);
  --cs-theme-button-border-radius: 2;
}
/* Content-Container */
.cs_content-wrapper {
  width: 90%;
  max-width: 1536px !important;
}
.cs_content-fullwidth-wrapper {
  width: 100%;
  max-width: 1920px !important;
}
.flex_center_center {
  display: flex;
  justify-content: center;
  align-items: center;
}
.flex_center_center_h {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}
.round-border-xl {
  border-radius: 55px 55px 0 55px;
}
@media all and (max-width: 980px) {
  .round-border-xl {
    border-radius: 22px 22px 0 22px;
  }
}
.round-border-xl-r img {
  border-radius: 0 55px 0 0 !important;
}
@media all and (max-width: 980px) {
  .round-border-xl-r img {
    border-radius: 0 0 0 22px !important;
  }
}
.gradient-1 {
  background: radial-gradient(50% 50% at 50% 50%, #814aa9 0.01%, #47295d 100%);
}
/* End Content-Container */
/* Hero Bild Overlay */
.gradient-overlay {
  position: relative;
  overflow: hidden; /* nötig, damit der Overlay die Rundung übernimmt */
  border-radius: 0 55px 0 0; /* DEINE Rundungen – Beispiel: oben links + oben rechts 55px */
}
@media all and (max-width: 980px) {
  .gradient-overlay {
    border-radius: 0 0 0 22px !important;
  }
}
.gradient-overlay::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  border-radius: inherit; /* übernimmt automatisch exakt dieselben Ecken */
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.75) 0%,
    rgba(0, 0, 0, 0.55) 20%,
    rgba(0, 0, 0, 0.15) 50%,
    rgba(0, 0, 0, 0) 85%
  );
}

/* End Hero Bild Overlay */
/* Fonts */
@font-face {
  font-family: "OpenSans Light";
  src: url("../fonts/OpenSans/OpenSans-Light.ttf") format("truetype");
}
@font-face {
  font-family: "OpenSans Regular";
  src: url("../fonts/OpenSans/OpenSans-Regular.ttf") format("truetype");
}
@font-face {
  font-family: "OpenSans SemiBold";
  src: url("../fonts/OpenSans/OpenSans-SemiBold.ttf") format("truetype");
}
@font-face {
  font-family: "OpenSans Bold";
  src: url("../fonts/OpenSans/OpenSans-Bold.ttf") format("truetype");
}
@font-face {
  font-family: "OpenSans ExtraBold";
  src: url("../fonts/OpenSans/OpenSans-ExtraBold.ttf") format("truetype");
}
@font-face {
  font-family: "OpenSans Italic";
  src: url("../fonts/OpenSans/OpenSans-Italic.ttf") format("truetype");
}
@font-face {
  font-family: "OpenSans SemiBold Italic";
  src: url("../fonts/OpenSans/OpenSans-SemiBoldItalic.ttf") format("truetype");
}
@font-face {
  font-family: "FjallaOne";
  src: url("../fonts/Fjalla_One/FjallaOne-Regular.ttf") format("truetype");
}
html {
  font-size: calc(15px + 0.5vw);
  line-height: calc(20px + 0.6vw);
}
h1 {
  font-family: FjallaOne, sans-serif;
  font-size: 3.6rem;
  line-height: 2.95rem;
  color: #000;
}
h1 span {
  color: var(--accent-color);
}
@media all and (max-width: 980px) {
  h1 {
    font-size: 2.5rem;
    line-height: 2.18rem;
  }
}
h2 {
  font-family: OpenSans Bold, sans-serif;
  font-size: 1.15rem;
  color: var(--text-color);
}
h2.htwo-outside {
  font-family: FjallaOne, sans-serif;
  font-size: 1.6rem;
  line-height: 100%;
  color: #000;
}
h2.htwo-outside span {
  color: var(--accent-color);
}
h3 {
  font-family: OpenSans SemiBold, sans-serif;
  font-size: 1.05rem;
  color: var(--text-color);
}
p,
a,
li {
  font-family: OpenSans Regular, sans-serif;
  font-size: 0.9rem;
  line-height: 1.4rem;
  color: var(--text-color);
}
ul > li > span,
ol > li > span {
  font-family: OpenSans Bold, sans-serif;
  font-size: 0.9rem;
  line-height: 1.4rem;
  color: var(--text-color);
}
ol > li::marker {
  font-family: OpenSans Bold, sans-serif;
  font-size: 0.9rem;
  line-height: 1.4rem;
  color: var(--text-color);
}
p,
p.card-title {
  hyphens: auto;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  overflow-wrap: break-word;
  word-break: break-word;
}
p.hero-text {
  font-family: FjallaOne, sans-serif;
  font-size: 4.6rem;
  line-height: 3.64rem;
  color: #fff;
}
p.hero-text span {
  color: var(--secondary-color);
}
@media all and (max-width: 980px) {
  p.hero-text {
    font-size: 2.5rem;
    line-height: 2.18rem;
    color: #fff;
  }
}
p.hero-text-ini {
  font-family: FjallaOne, sans-serif;
  font-size: 2.3rem;
  line-height: 1.78rem;
  color: var(--accent-color);
  background: var(--text-color);
  border-radius: 0 22px 0 0;
  padding: 20px 80px 0 100px;
}
@media all and (max-width: 980px) {
  p.hero-text-ini {
    font-family: FjallaOne, sans-serif;
    font-size: 1.4rem;
    line-height: 1.78rem;
    color: var(--accent-color);
    background: var(--text-color);
    border-radius: 0 22px 0 0;
    padding: 20px 60px 0 80px;
  }
}
p.hero-text-lp {
  font-family: FjallaOne, sans-serif;
  font-size: 3.5rem;
  line-height: 3rem;
  color: #fff;
}
p.hero-text-lp span {
  color: var(--secondary-color);
}
@media all and (max-width: 980px) {
  p.hero-text-lp {
    font-family: FjallaOne, sans-serif;
    font-size: 2.5rem;
    line-height: 2.18rem;
    color: #fff;
    padding: 40px 0 !important;
  }
}
span.text-bd {
  font-family: OpenSans Bold, sans-serif;
}
p.claim-box-wrapper {
  font-family: FjallaOne, sans-serif;
  font-size: 3.6rem;
  line-height: 2.95rem;
  color: #fff;
}
.claim-box-wrapper {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  width: 500px;
}
.claim-box-l {
  width: 500px;
  text-align: left;
}
.claim-box-r {
  width: 500px;
  text-align: right;
}
.claim-box-c {
  width: 500px;
  text-align: center;
}
p.claim-box-wrapper-p {
  font-family: FjallaOne, sans-serif;
  font-size: 3.6rem;
  line-height: 2.95rem;
  color: var(--accent-color);
}
.claim-box-wrapper-p {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  width: 900px;
}
.claim-box-l-p {
  width: 900px;
  text-align: left;
}
.claim-box-r-p {
  width: 900px;
  text-align: right;
}
.claim-box-c-p {
  width: 900px;
  text-align: center;
}
/* End Fonts */
/* Nav */
#menu-main > li > a {
  font-family: OpenSans SemiBold, sans-serif;
  font-size: 0.8rem;
  color: var(--text-color-wh);
}
#menu-main > li.current-menu-item > a,
#menu-main > li.current-menu-ancestor > a {
  color: var(--secondary-color) !important;
}
/* End Nav */
/* Mega Menu */
p.mega-menu-title {
  font-family: FjallaOne, sans-serif;
  font-size: 3rem;
  color: #ffb51e;
  text-transform: uppercase;
}
p.mega-menu-heading {
  font-family: FjallaOne, sans-serif;
  font-size: 1.2rem;
  line-height: 1rem;
  color: #fff;
  text-transform: uppercase;
}
.mega-menu-links a {
  font-family: OpenSans Regular, sans-serif;
  font-size: 1rem;
  line-height: 1.2rem;
  color: #fff;
  display: block;
  padding-bottom: 0;
}
/* End Mega Menu */
/* Mobiles Menu */
/*changing the Divi hamburger menu to X*/
.mobile_nav.opened .mobile_menu_bar:before {
  content: "\4d";
}
/*rotating the Divi Menu icon*/

.mobile_menu_bar:before {
  transition: all 0.4s ease;
  transform: rotate(0deg);
  display: block;
}

/*rotate the Divi Menu icon on click*/

.mobile_nav.opened .mobile_menu_bar::before {
  transition: all 0.4s ease;
  transform: rotate(90deg);
  display: block;
}

/* Remove the top line in the mobile menu*/
.et_mobile_menu {
  border-top: 0;
}

/*making the Divi Menu full width*/
.et_pb_menu .et_mobile_menu {
  min-width: 105vw;
  padding-top: 5% !important;
  margin-left: -85vw;
  margin-top: 45px;
}

/*removing the line from the menu items and adding line height*/

.et_mobile_menu li a {
  padding: 10px 20px !important;
  border-bottom: 1px solid var(--secondary-color) !important;
}
/*removing padding of the social media icons*/
.et_mobile_menu li li {
  padding-left: 0% !important;
}
#mobile_menu2 > li:nth-child(odd) > a {
  background: var(--quaternary-color);
}
@media (max-width: 980px) {
  .et_pb_menu .et_mobile_menu,
  .et_pb_menu .et_mobile_menu ul {
    text-align: center;
  }
}
header .mobile_menu_bar:before {
  color: var(--secondary-color) !important;
}
/* End Mobiles Menu */
/* Buttons */
.btn-kt1 {
  background: var(--accent-color);
  padding: 14px 35px;
  border-radius: 0 11px 11px 11px;
  color: #fff;
}
.btn-kt1:hover {
  background: var(--secondary-color);
}
/* End Buttons */
/* Footer */
.footer-wrapper {
  background: radial-gradient(
    50% 50% at 50% 50%,
    var(--Farbe-2, #84629c) 0%,
    #2e2236 100%
  );
}
.footer-column-one {
  display: flex;
  justify-content: center;
}
.footer-column-one p span {
  font-family: OpenSans Bold, sans-serif;
  font-size: 0.9rem;
  line-height: 140%;
  color: #fff;
  text-transform: uppercase;
}
.footer-column-one p,
.footer-column-one a {
  font-family: OpenSans regular, sans-serif;
  font-size: 0.9rem;
  line-height: 140%;
  color: #fff;
}
.footer-column-one a:hover {
  opacity: 0.7;
}
.footer-column-two p,
.footer-column-two p span {
  font-family: OpenSans Bold, sans-serif;
  font-size: 0.9rem;
  line-height: 140%;
  text-align: center;
  color: #fff;
  text-transform: uppercase;
}
.footer-sm-icons > div {
  display: flex;
  justify-content: center;
  gap: 25px;
}
.footer-sm-icons > img {
  width: 38px;
  height: auto;
}
.footer-column-three {
  display: flex;
  justify-content: center;
}
.footer-column-three p,
.footer-column-three a {
  font-family: OpenSans regular, sans-serif;
  font-size: 0.7rem;
  line-height: 100%;
  color: #fff;
}
.partner-logo-footer {
  display: flex;
  gap: 15px;
}
/* End Footer */
/* Feature Cards */
.feature-card p {
  color: #fff !important;
}
.feature-card p.card-title {
  font-family: OpenSans SemiBold, sans-serif;
  font-size: 1rem;
  color: #fff !important;
}
.feature-card > .et_pb_text_inner {
  height: 100% !important;
}
.feature-card-wrapper {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.feature-card-content {
  margin-bottom: 18px;
}
.feature-card-more {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-top: auto;
}
.feature-card-more img {
  width: 50px;
  height: auto;
  padding-left: 15px;
  padding-bottom: 6px;
}
.feature-card-more p {
  font-weight: 700;
  display: block;
}
/* End Feature Cards */
/* Counter */
.counter-item1 span.percent-value,
.counter-item3 span.percent-value {
  font-family: FjallaOne, sans-serif;
  font-size: 5.6rem;
  color: #fff !important;
}
.counter-item2 span.percent-value {
  font-family: FjallaOne, sans-serif;
  font-size: 5.6rem;
  color: #000 !important;
}
.counter-title1 p,
.counter-title2 p,
.counter-title3 p {
  font-family: OpenSans Bold, sans-serif;
  text-align: center;
  color: #fff;
}
/* End Counter */
/* Signet Animation */
img.rotate-slow {
  width: 80px;
  height: auto;
}
.rotate-slow {
  animation: spin 20s linear infinite;
  transform-origin: center center;
}
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

/* End Signet Animation */
/* Kontakt */
.spark-telefon > span > img {
  width: 100% !important;
}
.cta-tel {
  color: #fff;
  background: var(--accent-color);
  padding: 15px;
  border-radius: 22px 22px 0 22px;
}
/* End Kontakt */
/* Formular */
.wpcf7-form > p > span > input {
  width: 100%;
  border: none;
  background: #ecf9ff;
  padding: 10px;
  border-radius: 11px 11px 11px 0;
  font-size: 18px;
  color: #000;
}
textarea.wpcf7-form-control {
  width: 100%;
  border: none;
  background: #ecf9ff;
  padding: 10px;
  border-radius: 11px 11px 11px 0;
  font-size: 18px;
  color: #000;
}
.wpcf7-submit {
  border: none;
  font-size: 0.9rem;
}
p.legaltext-form,
p.legaltext-form a {
  font-family: OpensSans Regular, sans-serif;
  font-size: 0.7rem;
  line-height: 110%;
}
/* End Formular */
