.elementor-1938 .elementor-element.elementor-element-03da709{--display:flex;}.elementor-1938 .elementor-element.elementor-element-5bb20c0{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overlay-opacity:0.5;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1938 .elementor-element.elementor-element-5bb20c0:not(.elementor-motion-effects-element-type-background), .elementor-1938 .elementor-element.elementor-element-5bb20c0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(64deg, var( --e-global-color-primary ) 0%, #264F5D 100%);}.elementor-1938 .elementor-element.elementor-element-5bb20c0::before, .elementor-1938 .elementor-element.elementor-element-5bb20c0 > .elementor-background-video-container::before, .elementor-1938 .elementor-element.elementor-element-5bb20c0 > .e-con-inner > .elementor-background-video-container::before, .elementor-1938 .elementor-element.elementor-element-5bb20c0 > .elementor-background-slideshow::before, .elementor-1938 .elementor-element.elementor-element-5bb20c0 > .e-con-inner > .elementor-background-slideshow::before, .elementor-1938 .elementor-element.elementor-element-5bb20c0 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:transparent;--background-overlay:'';background-image:linear-gradient(176deg, var( --e-global-color-primary ) 9%, #264F5D 100%);}.elementor-1938 .elementor-element.elementor-element-2c920fe{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:100px;--margin-bottom:100px;--margin-left:10px;--margin-right:10px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-1938 .elementor-element.elementor-element-f490ffc{width:var( --container-widget-width, 86.479% );max-width:86.479%;--container-widget-width:86.479%;--container-widget-flex-grow:0;}.elementor-1938 .elementor-element.elementor-element-f490ffc.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-1938 .elementor-element.elementor-element-f490ffc .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family );font-weight:var( --e-global-typography-primary-font-weight );color:#FFFFFF;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family );font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-1938 .elementor-element.elementor-element-bea4670{width:var( --container-widget-width, 95.493% );max-width:95.493%;--container-widget-width:95.493%;--container-widget-flex-grow:0;color:#FFFFFF;}.elementor-1938 .elementor-element.elementor-element-bea4670.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-1938 .elementor-element.elementor-element-6b91530{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-1938 .elementor-element.elementor-element-6b91530.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family );font-weight:var( --e-global-typography-accent-font-weight );}.elementor-1938 .elementor-element.elementor-element-590d5f1 .elementor-button{background-color:#FFFFFF;fill:#264F5D;color:#264F5D;border-style:none;}.elementor-1938 .elementor-element.elementor-element-590d5f1 .elementor-button:hover, .elementor-1938 .elementor-element.elementor-element-590d5f1 .elementor-button:focus{background-color:#FFFFFF00;color:#FFFFFF;border-color:#FFFFFF;}.elementor-1938 .elementor-element.elementor-element-590d5f1 .elementor-button .elementor-button-content-wrapper{justify-content:center;}.elementor-1938 .elementor-element.elementor-element-590d5f1 .elementor-button:hover svg, .elementor-1938 .elementor-element.elementor-element-590d5f1 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-1938 .elementor-element.elementor-element-013a112 .elementor-button{background-color:#264F5D;fill:#FFFFFF;color:#FFFFFF;border-style:none;}.elementor-1938 .elementor-element.elementor-element-013a112 .elementor-button:hover, .elementor-1938 .elementor-element.elementor-element-013a112 .elementor-button:focus{background-color:#FFFFFF00;color:#264F5D;border-color:#FFFFFF;}.elementor-1938 .elementor-element.elementor-element-013a112 .elementor-button:hover svg, .elementor-1938 .elementor-element.elementor-element-013a112 .elementor-button:focus svg{fill:#264F5D;}.elementor-1938 .elementor-element.elementor-element-bd03e19{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family );font-weight:var( --e-global-typography-text-font-weight );}.elementor-1938 .elementor-element.elementor-element-05dc310 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-1938 .elementor-element.elementor-element-05dc310.elementor-element{--align-self:center;}.elementor-1938 .elementor-element.elementor-element-ebcb50b{--display:flex;}.elementor-1938 .elementor-element.elementor-element-ebcb50b:not(.elementor-motion-effects-element-type-background), .elementor-1938 .elementor-element.elementor-element-ebcb50b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F8F9FA;}.elementor-1938 .elementor-element.elementor-element-8d96d55 > .elementor-widget-container{margin:100px 100px 100px 100px;}.elementor-1938 .elementor-element.elementor-element-b2b5226{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(2, 1fr);--grid-auto-flow:row;}.elementor-1938 .elementor-element.elementor-element-b8eddf2.elementor-element{--align-self:center;}.elementor-1938 .elementor-element.elementor-element-7573724{--display:flex;}.elementor-1938 .elementor-element.elementor-element-a9b0076{--display:flex;--overlay-opacity:0.5;}.elementor-1938 .elementor-element.elementor-element-a9b0076::before, .elementor-1938 .elementor-element.elementor-element-a9b0076 > .elementor-background-video-container::before, .elementor-1938 .elementor-element.elementor-element-a9b0076 > .e-con-inner > .elementor-background-video-container::before, .elementor-1938 .elementor-element.elementor-element-a9b0076 > .elementor-background-slideshow::before, .elementor-1938 .elementor-element.elementor-element-a9b0076 > .e-con-inner > .elementor-background-slideshow::before, .elementor-1938 .elementor-element.elementor-element-a9b0076 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#A7D8D2;--background-overlay:'';}.elementor-1938 .elementor-element.elementor-element-77904da{--display:flex;}.elementor-1938 .elementor-element.elementor-element-08e6f5b{--display:flex;}.elementor-1938 .elementor-element.elementor-element-08e6f5b:not(.elementor-motion-effects-element-type-background), .elementor-1938 .elementor-element.elementor-element-08e6f5b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#264F5D;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-1938 .elementor-element.elementor-element-6b91530{--grid-auto-flow:row;}.elementor-1938 .elementor-element.elementor-element-b2b5226{--grid-auto-flow:row;}}@media(min-width:768px){.elementor-1938 .elementor-element.elementor-element-03da709{--width:100%;}.elementor-1938 .elementor-element.elementor-element-2c920fe{--width:53%;}.elementor-1938 .elementor-element.elementor-element-6b91530{--width:81.422%;}.elementor-1938 .elementor-element.elementor-element-bd03e19{--width:50%;}}@media(max-width:767px){.elementor-1938 .elementor-element.elementor-element-6b91530{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-1938 .elementor-element.elementor-element-b2b5226{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}}/* Start custom CSS for html, class: .elementor-element-ae97c38 *//* Header Styles mit größerem Logo */
.full-width-header {
  background-col/* Header Styles mit noch größerem Logo */
.full-width-header {
  background-color: white;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 1000;
  transition: all 0.3s ease;
}

.header-content {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 110px; /* Noch höher für das größere Logo */
}

.header-logo {
  display: flex;
  align-items: center;
}

/* Noch größeres Logo */
.logo-img {
  height: 70px !important; /* Erhöht von 50px auf 70px */
  width: auto !important;
  max-width: 280px !important; /* Erhöht von 200px auf 280px */
}

.header-nav {
  display: flex;
  align-items: center;
  position: relative;
}

/* Versteckte Checkbox für den Toggle */
.hidden-checkbox {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  visibility: hidden;
  pointer-events: none;
}

.nav-list {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav-item {
  margin-left: 30px;
}

.nav-link {
  font-weight: 500;
  position: relative;
  padding-bottom: 5px;
  color: #264F5D;
  text-decoration: none;
  transition: all 0.3s ease;
}

.nav-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  background-color: #A7D8D2;
  transition: all 0.3s ease;
}

.nav-link:hover::after,
.nav-link.active::after {
  width: 100%;
}

/* Hamburger-Button */
.hamburger {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 10px;
  z-index: 1100;
  margin-left: auto;
}

.bar {
  display: block;
  width: 25px;
  height: 3px;
  margin: 5px auto;
  transition: all 0.3s ease;
  background-color: #264F5D;
}

/* Mobile Responsive */
@media screen and (max-width: 768px) {
  .header-content {
    height: 90px; /* Auch auf mobilen Geräten höher */
  }
  
  /* Logo auf mobilen Geräten auch größer */
  .logo-img {
    height: 55px !important; /* Erhöht von 40px auf 55px */
    max-width: 220px !important; /* Erhöht von 160px auf 220px */
  }

  .hamburger {
    display: block !important;
  }
  
  .nav-list {
    position: fixed;
    left: -100%;
    top: 90px; /* Angepasst an die neue Header-Höhe */
    flex-direction: column;
    background-color: white;
    width: 100%;
    text-align: center;
    transition: 0.3s;
    box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
    padding: 20px 0;
    height: calc(100vh - 90px);
    overflow-y: auto;
    display: block;
  }
  
  #nav-toggle:checked ~ .nav-list {
    left: 0;
  }
  
  .nav-item {
    margin: 20px 0;
  }
  
  /* Hamburger Animation */
  #nav-toggle:checked ~ .hamburger .bar:nth-child(2) {
    opacity: 0;
  }
  
  #nav-toggle:checked ~ .hamburger .bar:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
  }
  
  #nav-toggle:checked ~ .hamburger .bar:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
  }
}

@media screen and (max-width: 480px) {
  .header-content {
    height: 80px;
    padding: 0 15px;
  }
  
  /* Auch auf sehr kleinen Bildschirmen größeres Logo */
  .logo-img {
    height: 45px !important; /* Erhöht von 35px auf 45px */
    max-width: 180px !important; /* Erhöht von 140px auf 180px */
  }
  
  .nav-list {
    top: 80px;
    height: calc(100vh - 80px);
  }
}
or: white;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 1000;
  transition: all 0.3s ease;
}

.header-content {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 90px; /* Erhöht von 70px auf 90px für größeres Logo */
}

.header-logo {
  display: flex;
  align-items: center;
}

/* Größeres Logo */
.logo-img {
  height: 50px !important; /* Erhöht von 25px auf 50px */
  width: auto !important;
  max-width: 200px !important; /* Erhöht von 150px auf 200px */
}

.header-nav {
  display: flex;
  align-items: center;
  position: relative;
}

/* Versteckte Checkbox für den Toggle */
.hidden-checkbox {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  visibility: hidden;
  pointer-events: none;
}

.nav-list {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav-item {
  margin-left: 30px;
}

.nav-link {
  font-weight: 500;
  position: relative;
  padding-bottom: 5px;
  color: #264F5D;
  text-decoration: none;
  transition: all 0.3s ease;
}

.nav-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  background-color: #A7D8D2;
  transition: all 0.3s ease;
}

.nav-link:hover::after,
.nav-link.active::after {
  width: 100%;
}

/* Hamburger-Button */
.hamburger {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 10px;
  z-index: 1100;
  margin-left: auto;
}

.bar {
  display: block;
  width: 25px;
  height: 3px;
  margin: 5px auto;
  transition: all 0.3s ease;
  background-color: #264F5D;
}

/* Mobile Responsive */
@media screen and (max-width: 768px) {
  .header-content {
    height: 80px; /* Etwas kleiner auf mobilen Geräten */
  }
  
  /* Logo auf mobilen Geräten */
  .logo-img {
    height: 40px !important; /* Auf mobilen Geräten etwas kleiner */
    max-width: 160px !important;
  }

  .hamburger {
    display: block !important;
  }
  
  .nav-list {
    position: fixed;
    left: -100%;
    top: 80px; /* Angepasst an die Header-Höhe */
    flex-direction: column;
    background-color: white;
    width: 100%;
    text-align: center;
    transition: 0.3s;
    box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
    padding: 20px 0;
    height: calc(100vh - 80px);
    overflow-y: auto;
    display: block;
  }
  
  #nav-toggle:checked ~ .nav-list {
    left: 0;
  }
  
  .nav-item {
    margin: 20px 0;
  }
  
  /* Hamburger Animation */
  #nav-toggle:checked ~ .hamburger .bar:nth-child(2) {
    opacity: 0;
  }
  
  #nav-toggle:checked ~ .hamburger .bar:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
  }
  
  #nav-toggle:checked ~ .hamburger .bar:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
  }
}

@media screen and (max-width: 480px) {
  .header-content {
    height: 70px;
    padding: 0 15px;
  }
  
  /* Noch kleineres Logo auf sehr kleinen Bildschirmen */
  .logo-img {
    height: 35px !important;
    max-width: 140px !important;
  }
  
  .nav-list {
    top: 70px;
    height: calc(100vh - 70px);
  }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-453ba2d */.services {
  padding: 100px 0;
  background-color: #f8f9fa;
}

.section-title {
  text-align: center;
  margin-bottom: 60px;
}

.section-title h2 {
  font-size: 2.5rem;
  color: #264F5D;
  margin-bottom: 15px;
  position: relative;
  display: inline-block;
}

.section-title h2::after {
  content: '';
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: 70px;
  height: 3px;
  background-color: #A7D8D2;
}

.section-title p {
  max-width: 700px;
  margin: 0 auto;
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
}

.service-card {
  background-color: white;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}

.service-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
}

.service-img {
  height: 200px;
  overflow: hidden;
}

.service-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.3s ease;
}

.service-card:hover .service-img img {
  transform: scale(1.1);
}

.service-content {
  padding: 25px;
}

.service-content h3 {
  font-size: 1.5rem;
  margin-bottom: 15px;
  color: #264F5D;
}

.service-content p {
  margin-bottom: 20px;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-53cf4ec */.services {
  padding: 100px 0;
  background-color: #f8f9fa;
}

.section-title {
  text-align: center;
  margin-bottom: 60px;
}

.section-title h2 {
  font-size: 2.5rem;
  color: #264F5D;
  margin-bottom: 15px;
  position: relative;
  display: inline-block;
}

.section-title h2::after {
  content: '';
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: 70px;
  height: 3px;
  background-color: #A7D8D2;
}

.section-title p {
  max-width: 700px;
  margin: 0 auto;
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
}

.service-card {
  background-color: white;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}

.service-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
}

.service-img {
  height: 200px;
  overflow: hidden;
}

.service-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.3s ease;
}

.service-card:hover .service-img img {
  transform: scale(1.1);
}

.service-content {
  padding: 25px;
}

.service-content h3 {
  font-size: 1.5rem;
  margin-bottom: 15px;
  color: #264F5D;
}

.service-content p {
  margin-bottom: 20px;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-824c457 */.services {
  padding: 100px 0;
  background-color: #f8f9fa;
}

.section-title {
  text-align: center;
  margin-bottom: 60px;
}

.section-title h2 {
  font-size: 2.5rem;
  color: #264F5D;
  margin-bottom: 15px;
  position: relative;
  display: inline-block;
}

.section-title h2::after {
  content: '';
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: 70px;
  height: 3px;
  background-color: #A7D8D2;
}

.section-title p {
  max-width: 700px;
  margin: 0 auto;
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
}

.service-card {
  background-color: white;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}

.service-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
}

.service-img {
  height: 200px;
  overflow: hidden;
}

.service-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.3s ease;
}

.service-card:hover .service-img img {
  transform: scale(1.1);
}

.service-content {
  padding: 25px;
}

.service-content h3 {
  font-size: 1.5rem;
  margin-bottom: 15px;
  color: #264F5D;
}

.service-content p {
  margin-bottom: 20px;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-72fb391 */.services {
  padding: 100px 0;
  background-color: #f8f9fa;
}

.section-title {
  text-align: center;
  margin-bottom: 60px;
}

.section-title h2 {
  font-size: 2.5rem;
  color: #264F5D;
  margin-bottom: 15px;
  position: relative;
  display: inline-block;
}

.section-title h2::after {
  content: '';
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: 70px;
  height: 3px;
  background-color: #A7D8D2;
}

.section-title p {
  max-width: 700px;
  margin: 0 auto;
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
}

.service-card {
  background-color: white;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}

.service-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
}

.service-img {
  height: 200px;
  overflow: hidden;
}

.service-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.3s ease;
}

.service-card:hover .service-img img {
  transform: scale(1.1);
}

.service-content {
  padding: 25px;
}

.service-content h3 {
  font-size: 1.5rem;
  margin-bottom: 15px;
  color: #264F5D;
}

.service-content p {
  margin-bottom: 20px;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-a52fdc7 */.about {
  padding: 100px 0;
}

.about-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  align-items: center;
}

.about-img {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.about-img img {
  width: 100%;
  height: auto;
  display: block;
}

.about-content h2 {
  font-size: 2.5rem;
  color: #264F5D;
  margin-bottom: 20px;
}

.about-content p {
  margin-bottom: 20px;
}

@media (max-width: 992px) {
  .about-container {
    grid-template-columns: 1fr;
  }
  
  .about-img {
    order: -1;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-80cceee *//* Verbessertes CSS für Funnel mit sichtbaren Radio-Buttons */
.funnel {
  padding: 100px 0;
  background-color: #A7D8D2;
  position: relative;
}

.funnel::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.05;
}

.funnel-container {
  position: relative;
  z-index: 1;
  max-width: 800px;
  margin: 0 auto;
  background-color: white;
  border-radius: 12px;
  padding: 40px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.funnel-title {
  text-align: center;
  margin-bottom: 30px;
}

.funnel-title h2 {
  font-size: 2rem;
  color: #264F5D;
  margin-bottom: 10px;
}

.funnel-title p {
  color: #6c757d;
  font-size: 1.1rem;
}

.funnel-step {
  display: none;
}

.funnel-step.active {
  display: block;
  animation: fadeIn 0.5s ease;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

.step-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
  padding-bottom: 20px;
  border-bottom: 2px solid #f8f9fa;
}

.step-number {
  display: flex;
  align-items: center;
}

.step-number span {
  display: inline-block;
  width: 40px;
  height: 40px;
  background-color: #A7D8D2;
  color: #264F5D;
  border-radius: 50%;
  text-align: center;
  line-height: 40px;
  font-weight: 700;
  font-size: 1.2rem;
  margin-right: 15px;
}

.step-title {
  font-size: 1.3rem;
  font-weight: 600;
  color: #264F5D;
}

.step-progress {
  display: flex;
  align-items: center;
}

.progress-bar {
  width: 150px;
  height: 8px;
  background-color: #e9ecef;
  border-radius: 4px;
  overflow: hidden;
  margin-right: 15px;
}

.progress-fill {
  height: 100%;
  background-color: #A7D8D2;
  transition: width 0.3s ease;
}

.step-progress span {
  font-weight: 600;
  color: #264F5D;
  font-size: 0.9rem;
}

/* Service Options mit sichtbaren Radio-Buttons */
.service-options,
.building-options,
.contact-time-options {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 15px;
  margin-bottom: 25px;
}

.service-option {
  position: relative;
  border: 2px solid #e9ecef;
  border-radius: 12px;
  padding: 20px;
  cursor: pointer;
  transition: all 0.3s ease;
  background-color: #fff;
}

.service-option:hover {
  border-color: #A7D8D2;
  box-shadow: 0 2px 8px rgba(167, 216, 210, 0.3);
}

.service-option.selected {
  border-color: #A7D8D2;
  background-color: rgba(167, 216, 210, 0.1);
}

.service-option input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.service-option input[type="radio"]:checked + label .radio-custom {
  background-color: #A7D8D2;
  border-color: #A7D8D2;
}

.service-option input[type="radio"]:checked + label .radio-custom::after {
  opacity: 1;
  transform: scale(1);
}

.service-option label {
  display: flex;
  align-items: flex-start;
  cursor: pointer;
  width: 100%;
}

.radio-custom {
  width: 20px;
  height: 20px;
  border: 2px solid #ced4da;
  border-radius: 50%;
  margin-right: 15px;
  margin-top: 2px;
  position: relative;
  transition: all 0.3s ease;
  flex-shrink: 0;
}

.radio-custom::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  width: 8px;
  height: 8px;
  background-color: white;
  border-radius: 50%;
  opacity: 0;
  transition: all 0.3s ease;
}

.service-option-content {
  flex: 1;
}

.service-option-title {
  font-weight: 600;
  margin-bottom: 5px;
  color: #264F5D;
  font-size: 1.1rem;
}

.service-option-desc {
  color: #6c757d;
  font-size: 0.9rem;
  line-height: 1.4;
}

/* Form Styles */
.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 20px;
}

.form-group {
  margin-bottom: 20px;
}

.form-group label {
  display: block;
  margin-bottom: 8px;
  font-weight: 500;
  color: #264F5D;
}

.form-group input,
.form-group textarea,
.form-group select {
  width: 100%;
  padding: 12px 15px;
  border: 2px solid #e9ecef;
  border-radius: 8px;
  font-family: inherit;
  font-size: 1rem;
  transition: all 0.3s ease;
}

.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
  border-color: #A7D8D2;
  outline: none;
  box-shadow: 0 0 0 3px rgba(167, 216, 210, 0.2);
}

.checkbox-group {
  display: flex;
  align-items: flex-start;
  margin-bottom: 20px;
}

.checkbox-group input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin-right: 12px;
  margin-top: 2px;
  accent-color: #A7D8D2;
}

.checkbox-group label {
  margin-bottom: 0;
  font-weight: normal;
  line-height: 1.5;
}

.checkbox-group a {
  color: #A7D8D2;
  text-decoration: underline;
}

/* Button Styles */
.step-buttons {
  display: flex;
  justify-content: space-between;
  margin-top: 30px;
}

.btn {
  padding: 12px 30px;
  border: 2px solid transparent;
  border-radius: 8px;
  font-weight: 600;
  font-size: 1rem;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
  display: inline-block;
  text-align: center;
  background: none;
}

.btn-primary {
  background-color: #A7D8D2;
  color: #264F5D;
  border-color: #A7D8D2;
}

.btn-primary:hover {
  background-color: #264F5D;
  color: white;
  border-color: #264F5D;
}

.btn-prev {
  background-color: #e9ecef;
  color: #495057;
  border-color: #e9ecef;
}

.btn-prev:hover {
  background-color: #dde2e6;
  color: #212529;
  border-color: #dde2e6;
}

/* Responsive Design */
@media (max-width: 768px) {
  .funnel-container {
    padding: 30px 20px;
  }
  
  .step-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
  }
  
  .step-progress {
    width: 100%;
  }
  
  .progress-bar {
    flex: 1;
    margin-right: 15px;
  }
  
  .form-row {
    grid-template-columns: 1fr;
  }
  
  .service-options,
  .building-options,
  .contact-time-options {
    grid-template-columns: 1fr;
  }
  
  .step-buttons {
    flex-direction: column;
    gap: 15px;
  }
  
  .btn {
    width: 100%;
  }
}

@media (max-width: 576px) {
  .funnel {
    padding: 50px 0;
  }
  
  .funnel-title h2 {
    font-size: 1.5rem;
  }
  
  .step-title {
    font-size: 1.1rem;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-744362d */.contact {
  padding: 100px 0;
  background-color: #f8f9fa;
}

.contact-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
}

.contact-info {
  background-color: white;
  border-radius: 12px;
  padding: 40px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.contact-info h3 {
  font-size: 1.8rem;
  color: #264F5D;
  margin-bottom: 20px;
}

.contact-details {
  margin-bottom: 30px;
}

.contact-item {
  display: flex;
  align-items: flex-start;
  margin-bottom: 15px;
}

.contact-icon {
  width: 40px;
  height: 40px;
  background-color: #A7D8D2;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 15px;
  color: #264F5D;
}

.contact-text h4 {
  font-size: 1.1rem;
  margin-bottom: 5px;
  color: #264F5D;
}

.contact-form {
  background-color: white;
  border-radius: 12px;
  padding: 40px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.contact-form h3 {
  font-size: 1.8rem;
  color: #264F5D;
  margin-bottom: 20px;
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.form-group {
  margin-bottom: 20px;
}

.form-group label {
  display: block;
  margin-bottom: 8px;
  font-weight: 500;
}

.form-control {
  width: 100%;
  padding: 12px 15px;
  border: 1px solid #ced4da;
  border-radius: 12px;
  font-size: 1rem;
  transition: all 0.3s ease;
}

.form-control:focus {
  border-color: #A7D8D2;
  outline: none;
  box-shadow: 0 0 0 3px rgba(167, 216, 210, 0.25);
}

textarea.form-control {
  resize: vertical;
  min-height: 150px;
}

@media (max-width: 992px) {
  .contact-container {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .form-row {
    grid-template-columns: 1fr;
  }
  
  .contact-info,
  .contact-form {
    padding: 30px 20px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-7cc3f9f */footer {
  background-color: #264F5D;
  color: white;
  padding: 70px 0 20px;
}

.footer-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 40px;
  margin-bottom: 50px;
}

.footer-col h4 {
  font-size: 1.2rem;
  margin-bottom: 20px;
  position: relative;
  padding-bottom: 10px;
}

.footer-col h4::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 50px;
  height: 2px;
  background-color: #A7D8D2;
}

.footer-links {
  list-style: none;
}

.footer-links li {
  margin-bottom: 10px;
}

.footer-links a {
  color: rgba(255, 255, 255, 0.8);
  transition: all 0.3s ease;
  text-decoration: none;
}

.footer-links a:hover {
  color: #A7D8D2;
  padding-left: 5px;
}

.footer-bottom {
  text-align: center;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-bottom p {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.7);
}/* End custom CSS */