@font-face {
  font-family: lexend-regular;
  src: url("../Fonts/Lexend-Regular.ttf");
}
@font-face {
  font-family: legend-bold;
  src: url("../Fonts/Lexend-Bold.ttf");
}
@font-face {
  font-family: legend-thin;
  src: url("../Fonts/Lexend-Thin.ttf");
}
@font-face {
  font-family: poppins-bold;
  src: url("../Fonts/Poppins-Bold.ttf");
}
@font-face {
  font-family: poppins-medium;
  src: url("../Fonts/Poppins-Medium.ttf");
}
@font-face {
  font-family: poppins-regular;
  src: url("../Fonts/Poppins-Regular.ttf");
}
.font-pink {
  color: #e50069;
}
.font-pink::selection {
  background: #00a19a;
  /* Hintergrundfarbe der Markierung */
  color: black;
  /* Textfarbe in der Markierung */
}
.frame-type-text a {
  color: #e50069;
}
.font-gray {
  color: #3c3c3b;
}
.font-gray::selection {
  background: #e50069;
  /* Hintergrundfarbe der Markierung */
  color: black;
  /* Textfarbe in der Markierung */
}
.font-white {
  color: #fff;
}
.font-white a {
  color: #fff;
}
html body {
  font-family: poppins-regular;
}
.frame-type-text h3 {
  font-family: poppins-regular;
}
.navigation {
  padding-top: 20px;
}
.navigation ul {
  list-style: none;
  display: flex;
  gap: 60px;
  justify-content: center;
}
.navigation ul li {
  position: relative;
}
.navigation ul li.active a {
  color: #e50069;
}
.navigation ul li:hover a {
  color: #e50069;
}
.navigation ul li .sub {
  padding-top: 28px;
  display: block;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s ease;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 99;
  min-width: 250px;
  pointer-events: none;
}
.navigation ul li .sub a {
  color: #000;
}
.navigation ul li ul {
  display: block;
  background-color: #fff;
  border-top: 4px solid #e50069;
  z-index: 99;
  padding: 20px 20px 20px 20px;
  text-align: left;
}
.navigation ul li ul li {
  line-height: 30px;
}
.navigation ul li ul li a {
  color: #000;
}
.navigation ul li ul li:hover a {
  color: #e50069;
}
.navigation ul li:hover .sub,
.navigation ul li .sub:hover {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
.navigation ul li ul::before {
  content: "";
  position: absolute;
  top: 18px;
  left: 20px;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-bottom: 10px solid #e50069;
}
.navigation ul li a {
  color: #000;
  text-decoration: none;
  font-family: poppins-bold;
}
.mobile-toggle {
  display: none;
}
@media screen and (max-width: 1024px) {
  .navigation-row {
    display: none;
  }
  .navigation ul {
    display: block;
    gap: 0;
    text-align: left;
    padding-left: 0;
  }
  .navigation ul li {
    line-height: 40px;
  }
  .mobile-toggle-li {
    display: flex;
    justify-content: space-between;
  }
  .mobile-toggle {
    display: block;
  }
  .mobile-toggle.open-mobile-toggle .icon-arrow-outline-right::before {
    content: "\e923";
  }
  .navigation ul li ul::before {
    top: 33px;
    left: 10px;
  }
  .navigation ul li .sub {
    visibility: hidden;
    opacity: 0;
    display: none;
  }
  .navigation ul li .sub.show-sub {
    position: initial;
    visibility: visible;
    opacity: 1;
    padding-top: 0;
    display: block;
  }
  .navigation ul li .sub.show-sub ul {
    padding: 10px;
  }
}
.button-area {
  background-color: #ededed;
  padding: 20px;
  border-radius: 15px;
}
.button-area a {
  text-decoration: none;
}
.button-area .row {
  align-items: center;
}
.button-area span {
  display: block;
}
.button-area span:first-child {
  color: #3c3c3b;
  font-size: 16px;
  font-family: "poppins-bold";
}
.button-area span:last-child {
  color: #000;
  font-size: 19px;
  font-family: "poppins-bold";
}
.button-area .icon-col {
  padding-right: 10px;
}
#rwd {
  display: none;
}
.logo-row {
  border-bottom: 2px solid #00a19a;
  padding-bottom: 30px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  html body #rwd {
    height: 40px;
  }
  .logo-row {
    justify-content: space-between;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  html body #rwd {
    height: 40px;
  }
}
@media screen and (max-width: 1024px) {
  #rwd {
    display: block;
    width: 40px;
    height: 33px;
    background-color: #e50069;
    border-radius: 50%;
    position: relative;
  }
  #rwd span {
    color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
  }
}
.social-media-col {
  align-self: center;
}
.social-media-row {
  display: flex;
  gap: 10px;
  justify-content: end;
}
.social-media-row a {
  text-decoration: none;
  transition: background-color 0.2s;
}
.social-media-row a:hover {
  background-color: #e50069;
  transition: background-color 0.2s;
}
.social-media-row .social {
  background-color: #000;
  width: 40px;
  height: 40px;
  position: relative;
  border-radius: 50%;
}
.social-media-row .social span {
  color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  html body .social-media-row .social {
    height: 40px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  html body .social-media-row .social {
    height: 40px;
  }
}
@media screen and (max-width: 1024px) {
  .social-media-row .social {
    height: 33px;
  }
  .social-media-row {
    gap: 5px;
  }
}
.parallax-container {
  position: relative;
  height: 100vh;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.parallax-container h1 {
  font-size: 4rem;
}
.parallax-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
  will-change: transform;
}
.parallax-text {
  position: relative;
  color: white;
  padding: 1rem 2rem;
  border-radius: 10px;
  will-change: transform;
  z-index: 9;
}
@media screen and (min-width: 1024px) and (max-width: 1366px) and (orientation: landscape) {
  .parallax-text h1 {
    margin-bottom: 130px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .parallax-text h1 {
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  .parallax-text h1 {
    font-size: 2rem;
    text-align: center;
  }
  .parallax-container {
    height: 50vh;
  }
  .parallax-bg {
    height: 140%;
  }
}
.kachel {
  border-radius: 15px;
  height: 100%;
}
.kachel.mid-gray {
  background-color: #d0d0d0;
}
.kachel.background-pink {
  background-color: #e50069;
}
.kachel.background-pink .kachel-heading {
  color: #fff;
}
.kachel.background-pink .kachel-text {
  color: #fff;
}
.kachel .kachel-heading {
  padding-top: 20px;
  padding-bottom: 20px;
}
.kachel .icon {
  text-align: center;
  padding-bottom: 20px;
}
.kachel .icon img {
  max-width: 100px;
}
.kachel .kachel-text {
  padding-left: 40px;
  padding-right: 40px;
  font-size: 1rem;
}
.kachel .button {
  background-color: #ededed;
  display: flex;
  gap: 20px;
  width: fit-content;
  align-items: center;
  justify-self: center;
  padding: 5px 20px;
}
.kachel .button-row {
  text-align: center;
  padding-bottom: 40px;
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .kachel h3 {
    font-size: 1.5rem;
  }
}
.heading .main-heading {
  font-family: poppins-bold;
}
.heading .align-right {
  text-align: right;
}
.heading .align-mit {
  text-align: center;
}
#c322 {
  color: #fff;
  padding-left: 25px;
  padding-right: 25px;
}
.banner {
  position: relative;
}
.banner img {
  width: 100%;
  height: auto;
}
.banner .banner-content {
  position: absolute;
  bottom: 150px;
  left: 100px;
}
.banner h4 {
  color: #fff;
  font-family: poppins-bold;
  font-size: 2rem;
}
.banner .banner-heading {
  color: #e50069;
  font-family: poppins-bold;
  font-size: 5rem;
}
.banner .button {
  background-color: #ededed;
  font-family: poppins-bold;
  padding: 10px 30px;
  display: flex;
  align-items: center;
  width: fit-content;
  gap: 30px;
  border-radius: 10px;
}
.banner .mobile-heading {
  display: none;
}
@media screen and (max-width: 1024px) {
  .banner {
    height: 400px;
  }
  .banner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .banner .banner-content {
    left: 17px;
    bottom: 60px;
  }
  .banner h1.banner-heading {
    font-size: 2.5rem;
  }
  .banner .mobile-heading {
    display: block;
    margin-bottom: 30px;
  }
  .banner h4 {
    margin-bottom: 10px;
    font-size: 1.5rem;
  }
  .banner .desktop-heading {
    display: none;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1366px) and (orientation: landscape) {
  .banner .banner-content {
    bottom: 10px;
  }
}
.button {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 30px;
  gap: 30px;
}
.button.background-pink {
  background-color: #e50069;
}
.button.font-white {
  color: #fff;
}
.button.background-white {
  background-color: #fff;
}
html body .news-list-view {
  display: flex;
  gap: 80px;
}
html body .news-list-view .article {
  flex: 0 0 50%;
  width: 50%;
  background-color: #d0d0d0;
  border-radius: 15px;
  margin-bottom: 0;
  position: relative;
}
html body .news-list-view .article .news-content {
  padding: 30px;
  display: flex;
  flex-direction: column;
}
html body .news-list-view .article .button {
  width: fit-content;
}
html body .news-list-view .read-more-link {
  display: flex;
  justify-content: flex-end;
}
html body .news-list-view .main-heading {
  margin-bottom: 30px;
}
html body .news-list-view .main-heading a {
  text-decoration: none;
  color: #3c3c3b;
  margin-bottom: 30px;
}
html body .news-single .news-backlink-wrap {
  margin-top: 50px;
  width: fit-content;
}
@media screen and (max-width: 1024px) {
  html body .news-list-view {
    gap: 20px;
    flex-direction: column;
  }
  html body .news-list-view .article {
    flex: 0 0 100%;
    width: 100%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1366px) and (orientation: landscape) {
  html body .news-list-view {
    gap: 16px;
  }
}
.ansprechpartner {
  border-radius: 20px;
}
.ansprechpartner h3 {
  font-size: 1.5rem;
  padding-top: 20px;
  font-family: poppins-medium;
  margin-bottom: 10px;
}
.ansprechpartner.background-green {
  background-color: #00a19a;
}
.ansprechpartner.background-pink {
  background-color: #e50069;
}
.ansprechpartner.light-gray {
  background-color: #ededed;
}
.ansprechpartner.light-gray .ansprechpartner-name {
  background-color: #3c3c3b;
  color: #fff;
}
.ansprechpartner.light-gray .icon-envelop {
  color: #fff;
}
.ansprechpartner.light-gray h3 {
  color: #3c3c3b;
}
.ansprechpartner.mid-gray {
  background-color: #d0d0d0;
}
.ansprechpartner.gray {
  background-color: #3c3c3b;
}
.ansprechpartner.blue-gray {
  background-color: #383e42;
}
.ansprechpartner.black {
  background-color: #000;
}
.ansprechpartner.white {
  background-color: #fff;
}
.ansprechpartner.white h3 {
  color: #000;
}
.ansprechpartner img {
  margin-bottom: 30px;
}
.ansprechpartner .ansprechpartner-row {
  margin-left: 10px;
  margin-right: 15px;
  padding-bottom: 30px;
  line-height: 40px;
}
.ansprechpartner .ansprechpartner-name {
  background-color: #ededed;
  border-radius: 10px;
  text-align: center;
  font-size: 0.9rem;
}
.ansprechpartner .ansprechpartner-name a {
  color: #e50069;
  text-decoration: none;
  font-size: 1.2rem;
}
@media screen and (min-width: 768px) and (max-width: 1366px) and (orientation: landscape) {
  .ansprechpartner-row .col-lg-3 {
    padding-left: 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1366px) and (orientation: portrait) {
  .ansprechpartner h3 {
    font-size: 1rem;
  }
  .ansprechpartner .ansprechpartner-name {
    font-size: 0.7rem;
  }
  .ansprechpartner-row {
    gap: 10px;
  }
}
@media screen and (max-width: 1024px) {
  .einviertel-1.gap-50 .col-9 {
    padding-right: 0;
  }
  .ansprechpartner-row {
    gap: 10px;
  }
  .ansprechpartner-row .col-9 {
    padding-right: 0;
  }
  .ansprechpartner {
    margin-bottom: 30px;
  }
}
.auswahl {
  padding-bottom: 300px;
}
.auswahl .nav-tabs {
  justify-content: center;
}
.auswahl .nav-tabs button {
  background-color: #00a19a;
  font-family: poppins-medium;
}
.auswahl .content {
  position: relative;
}
.auswahl .content .tab-pane {
  display: none;
  position: absolute;
  left: 0;
  min-width: 200%;
  width: 100%;
  padding-top: 30px;
}
.auswahl .content .tab-pane.open-auswahl {
  display: block;
}
.mobile-auswahl {
  display: none;
}
.nav-tabs {
  border-bottom: none;
  display: flex;
}
.nav-tabs .nav-link {
  position: relative;
  background-color: #009999;
  /* Türkis-Farbton wie im Bild */
  color: white;
  padding: 8px 80px 8px 80px;
  border: none;
  clip-path: polygon(0 0, calc(100% - 15px) 0, 100% 50%, calc(100% - 15px) 100%, 0 100%, 15px 50%);
  transition: background-color 0.3s ease;
  font-size: 1.5rem;
}
.nav-tabs .nav-link:hover,
.nav-tabs .nav-link:focus {
  background-color: #007777;
  /* dunklerer Türkis beim Hover */
  outline: none;
}
.nav-tabs .nav-link.active {
  background-color: #e50069;
  /* aktive Farbe */
  color: #fff;
}
.mobile-auswahl .accordion-button {
  background-color: #00a19a;
  color: #fff;
}
.mobile-auswahl .accordion-button:not(.collapsed) {
  background-color: #e50069;
  color: #fff;
}
@media screen and (max-width: 1366px) {
  .mobile-auswahl {
    display: block;
  }
  .desktop-auswahl {
    display: none;
  }
}
.accordion-button:after {
  background-image: none !important;
}
.accordion-item {
  margin-bottom: 10px;
  border-radius: 10px;
  border: 0;
}
.accordion-button {
  display: flex;
  justify-content: center;
  background-color: #ededed;
  border-radius: 5px;
  color: #e50069;
}
.accordion-button span:first-child {
  display: flex;
  flex: 0 0 90%;
  padding-left: 20px;
  font-size: 1.2rem;
}
.accordion-button span:last-child {
  display: flex;
  flex: 0 0 10%;
  justify-content: end;
  color: #000;
}
.accordion-button:not(.collapsed) {
  background-color: #ededed;
  color: #e50069;
}
.accordion-button:not(.collapsed) .icon-arrow-outline-right::before {
  content: "\e923";
}
.accordion-button:focus {
  border-color: none;
}
.owl-carousel {
  position: relative;
}
.owl-carousel .owl-nav {
  position: absolute;
  top: 50%;
  margin-top: 0;
  width: 100%;
}
.owl-carousel .owl-nav .owl-prev,
.owl-carousel .owl-nav .owl-next {
  position: absolute;
}
.owl-carousel .owl-nav .owl-prev:hover,
.owl-carousel .owl-nav .owl-next:hover {
  background-color: transparent;
}
.owl-carousel .owl-nav .owl-prev {
  left: 10px;
}
.owl-carousel .owl-nav .owl-next {
  right: 10px;
}
.owl-carousel .owl-nav button:hover {
  background-color: transparent;
}
.slider-icon {
  color: #fff;
  font-size: 2rem;
}
.owl-theme .owl-nav [class*="owl-"]:hover {
  background-color: transparent !important;
}
.owl-theme .owl-nav [class*="owl-"]:hover .slider-icon {
  color: #e50069;
}
html body .owl-carousel.default-content-slider.owl-theme .owl-nav {
  margin-top: -15px;
}
.owl-carousel.default-content-slider .owl-item {
  display: flex;
  overflow: hidden;
  align-items: flex-start;
  height: auto;
}
.owl-carousel.default-content-slider .owl-item figure {
  margin: 0;
}
.owl-carousel .owl-item {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 600px;
  /* feste Höhe */
  overflow: hidden;
}
.owl-carousel .owl-item figure {
  margin: 0;
}
.owl-carousel .owl-item img {
  height: 100%;
  /* passt sich der Höhe des Containers an */
  width: auto;
  /* bleibt proportional */
  object-fit: cover;
  /* optional: füllt Container */
}
html body .owl-theme .owl-nav {
  margin-top: 0;
}
.team {
  border-radius: 15px;
}
.team.background-green {
  background-color: #00a19a;
}
.team p,
.team h4 {
  color: #fff;
}
.team.background-pink {
  background-color: #e50069;
}
.team.light-gray {
  background-color: #ededed;
}
.team.light-gray p,
.team.light-gray h4 {
  color: #3c3c3b;
}
.team.light-gray .team-link {
  background-color: #d0d0d0;
}
.team.mid-gray {
  background-color: #d0d0d0;
}
.team.mid-gray p,
.team.mid-gray h4 {
  color: #3c3c3b;
}
.team.blue-gray {
  background-color: #383e42;
}
.team.black {
  background-color: #000;
}
.team.white {
  background-color: #fff;
}
.team.white p,
.team.white h4 {
  color: #000;
}
.team img {
  border-top-right-radius: 15px;
  border-top-left-radius: 15px;
}
.team .font-white p,
.team .font-white h4 {
  color: #fff;
}
.team .team-row {
  padding-left: 20px;
  padding-top: 10px;
  position: relative;
}
.team .team-link {
  background-color: #ededed;
  position: absolute;
  right: 40px;
  top: -30px;
  width: 80px;
  height: 80px;
  border-radius: 50%;
}
.team .team-link .icon-envelop {
  font-size: 2rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  color: #3c3c3b;
}
.team .team-link:hover {
  background-color: #d0d0d0;
  cursor: pointer;
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .team {
    height: 100%;
  }
  .team .team-link {
    width: 60px;
    height: 60px;
    right: 30px;
  }
}
@media screen and (max-width: 1024px) and (orientation: landscape) {
  .team {
    height: 100%;
  }
  .team .team-link {
    width: 60px;
    height: 60px;
    right: 30px;
  }
}
#bewertungen-slider .owl-nav .owl-prev {
  left: -60px !important;
}
#bewertungen-slider .owl-nav .owl-next {
  right: -60px !important;
}
#bewertungen-slider .owl-nav .slider-icon {
  color: #e50069;
}
#bewertungen-slider .owl-dots .owl-dot.active span,
#bewertungen-slider .owl-theme .owl-dots .owl-dot:hover span {
  background: #e50069;
}
#bewertungen-slider .owl-dots .owl-dot.active span,
#bewertungen-slider .owl-theme .owl-dots .owl-dot:hover span {
  background: #e50069;
}
#bewertungen-slider.owl-carousel .owl-item {
  align-items: flex-start;
}
.bewertungen p {
  margin-bottom: 0;
}
.bewertungen .bewertung-icon {
  width: 40px;
  height: 40px;
  background-color: darkgreen;
  border-radius: 50%;
  position: relative;
}
.bewertungen .bewertung-icon span {
  font-size: 2rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  color: #fff;
}
.bewertungen h5 {
  font-weight: bold;
  margin-bottom: 0;
}
.bewertungen .five-stars {
  display: flex;
}
.bewertungen .five-stars img {
  max-width: 20px;
  width: 100%;
  height: auto;
}
.bewertungen .bewertung-name {
  align-items: center;
  margin-bottom: 20px;
  margin-top: 20px;
}
.bewertungen .bewertung-item {
  margin-bottom: 20px;
  margin-top: 20px;
}
.light-gray-box {
  background-color: #f2f2f2;
  border-radius: 12px;
  padding: 16px;
}
@media screen and (max-width: 1024px) and (orientation: landscape) {
  .owl-carousel .owl-item {
    height: 500px;
  }
}
@media screen and (max-width: 768px) and (orientation: portrait) {
  .owl-carousel .owl-item {
    height: 900px;
  }
}
@media screen and (max-width: 1024px) {
  .bewertung-name {
    gap: 30px;
  }
  #bewertungen-slider .owl-nav .owl-prev {
    left: -30px !important;
  }
  #bewertungen-slider .owl-nav .owl-next {
    right: -30px !important;
  }
  #bewertungen-slider .owl-nav .slider-icon {
    font-size: 1.4rem;
  }
  html body .owl-carousel .owl-item {
    align-items: flex-start;
  }
  html body .bewertungen,
  html body .bewertung-item,
  html body .light-gray,
  html body .light-gray-box {
    height: 100%;
    border-bottom-left-radius: 12px;
    border-bottom-right-radius: 12px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1366px) and (orientation: landscape) {
  #bewertungen-slider .owl-nav .owl-prev {
    left: -8px !important;
  }
  #bewertungen-slider .owl-nav .owl-next {
    right: -8px !important;
  }
  #bewertungen-slider .owl-nav {
    top: 89% !important;
    left: 50%;
    transform: translateX(-50%);
  }
}
#footer .form-element {
  margin-top: -100px;
}
.form-wrapper {
  outline: 2px solid #e50069;
  /* die Linie */
  outline-offset: 12px;
  /* Nur innerhalb dieses Blocks */
  /* Fokus sichtbar lassen (A11y) */
  /* Checked-Zustand (blau + Häkchen) */
  /* Häkchen als SVG (Data-URI) */
  /* Disabled (optional) */
  /* Kleines Label-Tuning (nur hier) */
}
.form-wrapper #waermepumpenAbfrage-311-radiobutton-1,
.form-wrapper #bewerbungsformular-330-radiobutton-1,
.form-wrapper #waermepumpenAbfrage-334-radiobutton-1,
.form-wrapper .inputs-list {
  margin-top: 30px;
  padding-left: 25px;
}
.form-wrapper #waermepumpenAbfrage-311-radiobutton-1 .form-group,
.form-wrapper #bewerbungsformular-330-radiobutton-1 .form-group,
.form-wrapper #waermepumpenAbfrage-334-radiobutton-1 .form-group,
.form-wrapper .inputs-list .form-group {
  display: flex;
  gap: 40px;
}
.form-wrapper #waermepumpenAbfrage-311-radiobutton-1 .form-check-input[type="radio"],
.form-wrapper #bewerbungsformular-330-radiobutton-1 .form-check-input[type="radio"],
.form-wrapper #waermepumpenAbfrage-334-radiobutton-1 .form-check-input[type="radio"],
.form-wrapper .inputs-list .form-check-input[type="radio"] {
  /* Standard-Radio ausblenden und eigenes Rendering */
  appearance: none;
  -webkit-appearance: none;
  width: 1.1rem;
  height: 1.1rem;
  border: 1px solid #6c757d;
  /* an dein Theme/Bootstrap anpassen */
  border-radius: 0.25rem;
  /* eckig -> Checkbox-Optik */
  background-color: #fff;
  display: inline-block;
  vertical-align: middle;
  position: relative;
  margin-top: 0.2rem;
  cursor: pointer;
}
.form-wrapper #waermepumpenAbfrage-311-radiobutton-1 .form-check-input[type="radio"]:focus,
.form-wrapper #bewerbungsformular-330-radiobutton-1 .form-check-input[type="radio"]:focus,
.form-wrapper #waermepumpenAbfrage-334-radiobutton-1 .form-check-input[type="radio"]:focus,
.form-wrapper .inputs-list .form-check-input[type="radio"]:focus {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
  border-color: #e50069;
}
.form-wrapper #waermepumpenAbfrage-311-radiobutton-1 .form-check-input[type="radio"]:checked,
.form-wrapper #bewerbungsformular-330-radiobutton-1 .form-check-input[type="radio"]:checked,
.form-wrapper #waermepumpenAbfrage-334-radiobutton-1 .form-check-input[type="radio"]:checked,
.form-wrapper .inputs-list .form-check-input[type="radio"]:checked {
  background-color: #e50069;
  border-color: #e50069;
}
.form-wrapper #waermepumpenAbfrage-311-radiobutton-1 .form-check-input[type="radio"]:checked::after,
.form-wrapper #bewerbungsformular-330-radiobutton-1 .form-check-input[type="radio"]:checked::after,
.form-wrapper #waermepumpenAbfrage-334-radiobutton-1 .form-check-input[type="radio"]:checked::after,
.form-wrapper .inputs-list .form-check-input[type="radio"]:checked::after {
  content: "";
  position: absolute;
  inset: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 70% 70%;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23fff' d='M6.173 12.252 2.4 8.48l1.414-1.414 2.36 2.36 6.01-6.01 1.414 1.415z'/%3E%3C/svg%3E");
}
.form-wrapper #waermepumpenAbfrage-311-radiobutton-1 .form-check-input[type="radio"]:disabled,
.form-wrapper #bewerbungsformular-330-radiobutton-1 .form-check-input[type="radio"]:disabled,
.form-wrapper #waermepumpenAbfrage-334-radiobutton-1 .form-check-input[type="radio"]:disabled,
.form-wrapper .inputs-list .form-check-input[type="radio"]:disabled {
  background-color: #e9ecef;
  border-color: #ced4da;
  cursor: not-allowed;
  box-shadow: none;
}
.form-wrapper #waermepumpenAbfrage-311-radiobutton-1 .form-check-label,
.form-wrapper #bewerbungsformular-330-radiobutton-1 .form-check label,
.form-wrapper #waermepumpenAbfrage-334-radiobutton-1 .form-check label,
.form-wrapper .inputs-list .form-check label {
  margin-left: 0.25rem;
  cursor: pointer;
}
.form-wrapper #bewerbungsformular-330-fileupload-1 {
  border-radius: 0;
  background-color: white;
}
.form-element {
  background-color: #ededed;
  padding: 30px;
  border-radius: 20px;
}
.form-element form label {
  display: none;
}
.form-element form label.form-check-label {
  display: flex;
}
.form-element .form-check input[type="checkbox"] {
  width: 45px;
}
.form-element h4.subline {
  font-size: 1rem;
}
.form-element .form-group {
  margin-bottom: 10px;
}
input,
textarea {
  border-radius: 10px;
  margin-bottom: 10px;
  border: none;
}
input {
  line-height: 40px;
}
textarea {
  height: 150px;
}
form label {
  display: none;
}
form .form-check {
  padding-left: 0;
}
form .form-check label {
  display: block;
}
.submit button {
  background-color: #e50069;
  border-color: #e50069;
}
.submit button::before {
  content: "\e922";
  font-family: 'icomoon';
  /* oder der Name aus deiner CSS-Datei */
}
.submit button:hover {
  background-color: #d0d0d0;
  color: #000;
  border-color: #d0d0d0;
}
.btn-toolbar {
  justify-content: flex-end;
}
/* Grundlayout */
.form-group {
  margin-bottom: 1.5rem;
  font-family: Arial, sans-serif;
  font-size: 1rem;
}
/* Checkbox umgestalten */
.form-check {
  display: flex;
  align-items: flex-start;
}
html body .form-check-label {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  cursor: pointer;
}
/* Verstecktes Standard-Checkboxfeld */
.form-check input[type="checkbox"] {
  appearance: none;
  width: 30px;
  height: 30px;
  border: 2px solid #e50069;
  border-radius: 4px;
  position: relative;
  margin-top: 0;
  margin-bottom: 0;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
/* Checkbox aktiv */
.form-check input[type="checkbox"]:checked {
  background-color: #e50069;
  border-color: #e50069;
}
/* Haken einfügen */
.form-check input[type="checkbox"]:checked::after {
  content: '✔';
  color: white;
  font-size: 25px;
  position: absolute;
  top: -8px;
  left: 4px;
}
/* Text-Stil */
.form-check span {
  line-height: 1.5;
}
/* Link-Stil */
.form-check a {
  color: #e50069;
  text-decoration: underline;
  transition: color 0.2s;
}
.form-check a:hover {
  color: #c40059;
}
@media screen and (max-width: 1024px) {
  #row-316 .col-md-8 .container,
  #row-332 .col-md-8 .container {
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 20px;
  }
  .form-element {
    padding: 10px;
  }
  .form-element .form-control {
    font-size: 0.9rem;
  }
  .form-element form label.form-check-label {
    align-items: flex-start;
  }
  .form-check span {
    font-size: 0.9rem;
  }
}
@media screen and (max-width: 1024px) {
  .col-lg-6 .container-fluid {
    padding-left: 0;
    padding-right: 0;
  }
}
#footer {
  background-color: #383e42;
  margin-top: 100px;
  padding-bottom: 30px;
  font-family: poppins-regular;
}
#footer a {
  text-decoration: none;
  transition: color 0.2s;
}
#footer a:hover {
  color: #00a19a;
  transition: color 0.2s;
}
.footer-logo {
  margin-bottom: 30px;
}
.footer-logo img {
  max-width: 200px;
  width: 100%;
  height: auto;
}
.footer-navigation {
  margin-top: 40px;
}
.footer-navigation ul {
  list-style: none;
  padding-left: 0;
}
.footer-navigation li {
  line-height: 30px;
}
.footer-navigation li ul {
  display: none;
}
.footer-navigation li a {
  color: #fff;
  font-family: poppins-bold, sans-serif;
  font-size: 1.2rem;
}
.footer-navigation li:first-child a {
  font-size: 2rem;
}
.footer-navigation li.active a {
  color: #e50069;
}
.copyright {
  border-top: 1px solid #fff;
  padding-top: 20px;
  color: #fff;
}
.copyright-menu ul {
  list-style-type: none;
  display: flex;
  gap: 30px;
  align-items: center;
  justify-content: end;
}
.copyright-menu ul a {
  color: #fff;
}
@media screen and (max-width: 1024px) {
  .copyright {
    align-items: center;
  }
  .copyright-menu {
    margin-top: 0;
  }
  #footer {
    padding-top: 40px;
  }
  .footer-form .form-element {
    margin-top: 0;
  }
  .copyright {
    font-size: 20px;
  }
  .copyright-menu {
    margin-top: 20px;
  }
  .copyright-menu ul {
    padding-left: 0;
    justify-content: flex-start;
  }
  .footer-form {
    margin-top: 40px;
    padding-bottom: 40px;
  }
  html body #footer .form-element {
    margin-top: 0;
  }
}
html body {
  font-size: 1rem;
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  html {
    overflow-x: hidden;
  }
  html body {
    overflow-x: hidden;
  }
  .btn-group {
    width: 100%;
    display: block;
  }
  #c322 {
    padding-left: 0;
    padding-right: 0;
  }
  #row-316 .main-heading {
    font-size: 1.3rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1366px) and (orientation: portrait) {
  #row-316 .col-md-4 #background-col {
    margin-top: 10px !important;
  }
}
@media screen and (max-width: 1024px) and (orientation: landscape) {
  .btn-group {
    width: 100%;
    display: block;
  }
  #c322 {
    padding-left: 0;
    padding-right: 0;
  }
}
@media screen and (max-width: 1024px) {
  html {
    overflow-x: hidden;
  }
  html body {
    overflow-x: hidden;
  }
  .hidden-col {
    display: none;
  }
  .copyright {
    padding-top: 40px;
  }
  .copyright .col-md-6:first-child {
    font-size: 14px;
  }
  .col-md-4 .ce-image {
    text-align: center;
  }
  #row-5 .col-md-8 {
    margin-bottom: 40px;
  }
}
