/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/


html{
	font-size: 24px;
}

html, body{
    overflow-x: hidden;
}

/* =========================================================
   CONTACT FORM 7 — DARK & LIGHT (mit Hairline-Unterlinie)
   ========================================================= */

/* ========== DARK (schwarzer Hintergrund) — .wpcf7-dark-bg ========== */

/* Basisfarbe, Placeholder, Texte */
.wpcf7-dark-bg .wpcf7-form,
.wpcf7-dark-bg .wpcf7-form * { color:#fff !important; }
.wpcf7-dark-bg .wpcf7 input::placeholder,
.wpcf7-dark-bg .wpcf7 textarea::placeholder { color:#fff !important; opacity:1; }

/* Felder: nur Unterlinie als Hairline (0.5px) */
.wpcf7-dark-bg .wpcf7 .wpcf7-form-control-wrap > input[type="text"],
.wpcf7-dark-bg .wpcf7 .wpcf7-form-control-wrap > input[type="email"],
.wpcf7-dark-bg .wpcf7 .wpcf7-form-control-wrap > input[type="tel"],
.wpcf7-dark-bg .wpcf7 .wpcf7-form-control-wrap > input[type="url"],
.wpcf7-dark-bg .wpcf7 .wpcf7-form-control-wrap > input[type="number"],
.wpcf7-dark-bg .wpcf7 .wpcf7-form-control-wrap > input[type="date"],
.wpcf7-dark-bg .wpcf7 .wpcf7-form-control-wrap > input[type="search"],
.wpcf7-dark-bg .wpcf7 .wpcf7-form-control-wrap > select,
.wpcf7-dark-bg .wpcf7 .wpcf7-form-control-wrap > textarea {
  background:transparent !important;
  border:none !important;
  box-shadow: inset 0 -0.5px 0 0 #fff !important; /* Hairline */
  border-radius:0 !important;
  padding:8px 4px !important;
  color:#fff !important;
}
/* Fokuslinie ebenfalls halb so dick (1px) in Akzentfarbe */
.wpcf7-dark-bg .wpcf7 .wpcf7-form-control-wrap > input:focus,
.wpcf7-dark-bg .wpcf7 .wpcf7-form-control-wrap > textarea:focus,
.wpcf7-dark-bg .wpcf7 .wpcf7-form-control-wrap > select:focus {
  outline:none !important;
  box-shadow: inset 0 -1px 0 0 #4570aa !important;
}

/* Datenschutztext kleiner */
.wpcf7-dark-bg .wpcf7 .wpcf7-list-item-label,
.wpcf7-dark-bg .wpcf7 .wpcf7-list-item-label span { font-size:14px; line-height:1.4; }
.wpcf7-dark-bg .mandatory { font-size:14px; line-height:1.4; color:#fff !important; }

/* Button-Text weiß, Rest vom Theme */
.wpcf7-dark-bg .wpcf7 input[type="submit"],
.wpcf7-dark-bg .wpcf7 input[type="submit"]:hover,
.wpcf7-dark-bg .wpcf7 input[type="submit"]:disabled { color:#fff !important; }

/* ========== LIGHT (heller Hintergrund) — Instanz-ID 1652 ========== */

[id^="wpcf7-f1652-"].wpcf7 .wpcf7-form,
[id^="wpcf7-f1652-"].wpcf7 .wpcf7-form * { color:#111 !important; }

/* Felder: Hairline-Unterlinie (0.5px) */
[id^="wpcf7-f1652-"].wpcf7 .wpcf7-form .wpcf7-form-control-wrap > input[type="text"],
[id^="wpcf7-f1652-"].wpcf7 .wpcf7-form .wpcf7-form-control-wrap > input[type="email"],
[id^="wpcf7-f1652-"].wpcf7 .wpcf7-form .wpcf7-form-control-wrap > input[type="tel"],
[id^="wpcf7-f1652-"].wpcf7 .wpcf7-form .wpcf7-form-control-wrap > input[type="url"],
[id^="wpcf7-f1652-"].wpcf7 .wpcf7-form .wpcf7-form-control-wrap > input[type="number"],
[id^="wpcf7-f1652-"].wpcf7 .wpcf7-form .wpcf7-form-control-wrap > input[type="date"],
[id^="wpcf7-f1652-"].wpcf7 .wpcf7-form .wpcf7-form-control-wrap > input[type="search"],
[id^="wpcf7-f1652-"].wpcf7 .wpcf7-form .wpcf7-form-control-wrap > select,
[id^="wpcf7-f1652-"].wpcf7 .wpcf7-form .wpcf7-form-control-wrap > textarea {
  background:transparent !important;
  border:none !important;
  box-shadow: inset 0 -0.5px 0 0 #111 !important; /* Hairline */
  border-radius:0 !important;
  padding:8px 4px !important;
  color:#111 !important;
}
/* Fokuslinie halb so dick (1px) in Akzentfarbe */
[id^="wpcf7-f1652-"].wpcf7 .wpcf7-form .wpcf7-form-control-wrap > input:focus,
[id^="wpcf7-f1652-"].wpcf7 .wpcf7-form .wpcf7-form-control-wrap > textarea:focus,
[id^="wpcf7-f1652-"].wpcf7 .wpcf7-form .wpcf7-form-control-wrap > select:focus {
  outline:none !important;
  box-shadow: inset 0 -1px 0 0 #4570aa !important;
}

/* Textarea nicht mehr „komisch groß“ */
[id^="wpcf7-f1652-"].wpcf7 .wpcf7-form .wpcf7-form-control-wrap > textarea {
  height: 120px !important;     /* fixe Höhe */
  min-height: 120px !important;
  resize: vertical;              /* bei Bedarf aufziehbar */
}

/* Placeholder dunkel */
[id^="wpcf7-f1652-"].wpcf7 .wpcf7-form input::placeholder,
[id^="wpcf7-f1652-"].wpcf7 .wpcf7-form textarea::placeholder { color:#111 !important; opacity:1 !important; }

/* Datenschutztext kleiner */
[id^="wpcf7-f1652-"].wpcf7 .wpcf7 .wpcf7-list-item-label,
[id^="wpcf7-f1652-"].wpcf7 .wpcf7 .wpcf7-list-item-label span,
[id^="wpcf7-f1652-"].wpcf7 .wpcf7-form .wpcf7-list-item-label,
[id^="wpcf7-f1652-"].wpcf7 .wpcf7-form .wpcf7-list-item-label span {
  font-size:14px; line-height:1.4;
}
[id^="wpcf7-f1652-"].wpcf7 .mandatory { font-size:14px; line-height:1.4; color:#111 !important; }

/* Button-Text weiß */
[id^="wpcf7-f1652-"].wpcf7 input[type="submit"],
[id^="wpcf7-f1652-"].wpcf7 input[type="submit"]:hover,
[id^="wpcf7-f1652-"].wpcf7 input[type="submit"]:disabled { color:#fff !important; }


/* Button: roten Rahmen/Outline überall killen (hell & dunkel) */
.wpcf7-dark-bg .wpcf7 input[type="submit"],
[id^="wpcf7-f1652-"].wpcf7 input[type="submit"],
.wpcf7-dark-bg .wpcf7 input[type="submit"]:hover,
[id^="wpcf7-f1652-"].wpcf7 input[type="submit"]:hover,
.wpcf7-dark-bg .wpcf7 input[type="submit"]:focus,
[id^="wpcf7-f1652-"].wpcf7 input[type="submit"]:focus,
.wpcf7-dark-bg .wpcf7 input[type="submit"]:focus-visible,
[id^="wpcf7-f1652-"].wpcf7 input[type="submit"]:focus-visible,
.wpcf7-dark-bg .wpcf7 input[type="submit"]:active,
[id^="wpcf7-f1652-"].wpcf7 input[type="submit"]:active,
.wpcf7-dark-bg .wpcf7 form.wpcf7-form.invalid input[type="submit"],
[id^="wpcf7-f1652-"].wpcf7 form.wpcf7-form.invalid input[type="submit"] {
  border: none !important;
  border-color: transparent !important;
  outline: none !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
  color: #fff !important; /* dein Wunsch: Schrift bleibt weiß */
}

/* DARK: gleiche Breite wie die anderen Felder + angenehme Höhe */
.wpcf7-dark-bg .wpcf7 .wpcf7-form-control-wrap > input[type="text"],
.wpcf7-dark-bg .wpcf7 .wpcf7-form-control-wrap > input[type="email"],
.wpcf7-dark-bg .wpcf7 .wpcf7-form-control-wrap > input[type="tel"],
.wpcf7-dark-bg .wpcf7 .wpcf7-form-control-wrap > input[type="url"],
.wpcf7-dark-bg .wpcf7 .wpcf7-form-control-wrap > input[type="number"],
.wpcf7-dark-bg .wpcf7 .wpcf7-form-control-wrap > input[type="date"],
.wpcf7-dark-bg .wpcf7 .wpcf7-form-control-wrap > input[type="search"],
.wpcf7-dark-bg .wpcf7 .wpcf7-form-control-wrap > select,
.wpcf7-dark-bg .wpcf7 .wpcf7-form-control-wrap > textarea {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

/* Textarea im Dark-Form: gleiche „angenehme“ Höhe wie im hellen */
.wpcf7-dark-bg .wpcf7 .wpcf7-form-control-wrap > textarea {
  height: 120px !important;
  min-height: 120px !important;
  resize: vertical;
}

/* =========================================
   Contact Form 7 – Acceptance als TOGGLE
   (für Dark & Light, barrierearm)
   ========================================= */

/* Checkbox visuell verstecken, aber fokusierbar lassen */
.wpcf7 .wpcf7-acceptance input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  width: 1px; height: 1px;
  margin: 0; padding: 0;
  pointer-events: none;           /* Klick läuft über das Label */
}

/* Container: Toggle oben, Text darunter (wie bei dir) */
.wpcf7 .wpcf7-list-item {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 30px 0 20px;
}

/* Label trägt den Track + Knopf + Text */
.wpcf7 .wpcf7-list-item-label {
  position: relative;
  display: flex;
  flex-direction: column;         /* Toggle oben, Text darunter */
  cursor: pointer;
  gap: 10px;
}

/* Track (Grundzustand) */
.wpcf7 .wpcf7-list-item-label::before {
  content: '';
  width: 31px;
  height: 14px;
  border-radius: 38px;
  background: #e0e0e0;           /* neutral grau für hell & dunkel */
  position: relative;
  transition: background-color .3s ease;
  flex-shrink: 0;
}

/* Knopf */
.wpcf7 .wpcf7-list-item-label::after {
  content: '';
  width: 12px; height: 12px;
  background: #4570aa;           /* Markenblau */
  border-radius: 50%;
  position: absolute;
  left: 1px; top: 1px;
  transition: transform .3s ease, background-color .3s ease;
}

/* Checked: Track blau, Knopf rechts + weiß */
.wpcf7 .wpcf7-acceptance input[type="checkbox"]:checked + .wpcf7-list-item-label::before {
  background: #4570aa;
}
.wpcf7 .wpcf7-acceptance input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
  transform: translateX(17px);
  background: #fff;
}

/* Hover-Feedback des Tracks */
.wpcf7 .wpcf7-list-item-label:hover::before { background: #d0d0d0; }
.wpcf7 .wpcf7-acceptance input[type="checkbox"]:checked + .wpcf7-list-item-label:hover::before {
  background: #3a5f95;
}

/* Tastaturfokus: dezenter Fokusring am Track */
.wpcf7 .wpcf7-acceptance input[type="checkbox"]:focus-visible + .wpcf7-list-item-label::before {
  box-shadow: 0 0 0 2px rgba(69,112,170,.5);
}

/* === CF7: Inline-Fehlermeldungen komplett aus === */
[id^="wpcf7-f1652-"].wpcf7 .wpcf7-not-valid-tip,
.wpcf7-dark-bg .wpcf7 .wpcf7-not-valid-tip {
  display: none !important;
}

/* === Keine roten Linien bei ungültigen Feldern (Light) === */
[id^="wpcf7-f1652-"].wpcf7 .wpcf7-form .wpcf7-form-control-wrap > input.wpcf7-not-valid,
[id^="wpcf7-f1652-"].wpcf7 .wpcf7-form .wpcf7-form-control-wrap > textarea.wpcf7-not-valid,
[id^="wpcf7-f1652-"].wpcf7 .wpcf7-form .wpcf7-form-control-wrap > select.wpcf7-not-valid,
[id^="wpcf7-f1652-"].wpcf7 .wpcf7-form [aria-invalid="true"] {
  border: none !important;
  box-shadow: inset 0 -0.5px 0 0 #111 !important;  /* neutrale Hairline */
}

/* === Keine roten Linien bei ungültigen Feldern (Dark) === */
.wpcf7-dark-bg .wpcf7 .wpcf7-form-control-wrap > input.wpcf7-not-valid,
.wpcf7-dark-bg .wpcf7 .wpcf7-form-control-wrap > textarea.wpcf7-not-valid,
.wpcf7-dark-bg .wpcf7 .wpcf7-form-control-wrap > select.wpcf7-not-valid,
.wpcf7-dark-bg .wpcf7 [aria-invalid="true"] {
  border: none !important;
  box-shadow: inset 0 -0.5px 0 0 #fff !important;  /* neutrale Hairline */
}

.team-navi a.active {
    color: #4570aa!important;
	border: 1px solid #4570aa!important;
}

.content-block {
    display: none;
}

.content-block.active {
    display: block;
}

#x35, #x31, #x32, #x33, #x34 {
    pointer-events: all !important;
    cursor: pointer;
}

#x35 path, #x31 path, #x32 path, #x33 path, #x34 path {
    pointer-events: all !important;
    cursor: pointer;
}

/*
#_x31_ path:hover, 
#_x32_ path:hover, 
#_x33_ path:hover, 
#_x34_ path:hover, 
#_x35_ path:hover {
  fill: red;
}
*/

path#x31 , 
path#x32, 
path#x33, 
path#x34, 
path#x35 {
  fill: #f2f2f2;
}


svg path {
  pointer-events: all;
  cursor: pointer;
}

@media (min-width: 1259px){
.team-navi .elementor-nav-menu li:nth-child(3){
   /* padding-right: 230px; */
}

.team-navi .elementor-nav-menu{
  display: flex;
  flex-wrap: wrap;
  gap: 0px;
  justify-content: flex-start;
}

.team-navi .elementor-nav-menu li {
  flex: 0 0 auto; 
}

.team-navi .elementor-nav-menu li:nth-child(3)::after {
  content: "";
  flex-basis: 100%;
  width: 0;
  height: 0;
}
}


@media (min-width: 1100px) and (max-width: 1436px) {
        
	
body div[data-elementor-type="header"] .elementor-element.main-menu .elementor-nav-menu .elementor-item {
    font-size: 0.75em;	
}
}

@media (max-width: 1024px) {
	
	
.wpcf7 input[type="text"],  
.wpcf7 input[type="text"]:active, 
.wpcf7 input[type="text"]:focus, 
.wpcf7 input[type="email"], 
.wpcf7 input[type="email"]:active, 
.wpcf7 input[type="email"]:focus, 
.wpcf7 textarea, 
.wpcf7 textarea:active, 
.wpcf7 textarea:focus{
	font-size: 0.83333em;
}
	
.elementor-nav-menu--dropdown.elementor-nav-menu__container {
    margin-top: 35px;
}

.elementor-nav-menu a {
    display: flex;
    justify-content: center; 
    text-align: center;
    width: 100%;
}
	
	.copyright .elementor-icon-list-items{
    display: flex;
    flex-direction: column-reverse;
}
	
body div[data-elementor-type="footer"] .elementor-element.copyright .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item {
        padding-top: 5px;
        padding-bottom: 5px;
    }

.elementor-element.copyright .elementor-icon-list-text{
width: 100%;
}	
}

@media (min-width: 768px) and (max-width: 1024px) {
   body .elementor-section.hero-part {
        height: 66vh;
        min-height: 600px;
    }
}


@media (max-width: 991px) {
body .elementor .elementor-element.counter-column > .elementor-element-populated {
    transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
    padding: 0px 50px 0px 50px;
}
}

@media (max-width: 767px) {
body .elementor .elementor-element.counter-column > .elementor-element-populated {
    transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
    padding: 0px 130px 0px 130px;
}
}

@media (max-width: 655px) {
body .elementor .elementor-element.counter-column > .elementor-element-populated {
    transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
    padding: 0px 50px 0px 250px;
}
}

@media (max-width: 420px) {
body .elementor .elementor-element.counter-column > .elementor-element-populated {
    transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
    padding: 0px 0px 0px 0px;
}
}


@media (max-width: 1330px) {
body .elementor  .elementor-element.spin img {
    width: 721px;
    height: auto;
	max-width: none;
}

body:not(.rtl) .elementor .elementor-element.spin {
    left: -200px;
}

body .elementor .elementor-element.spin {
    width: var(--container-widget-width, 100%);
    max-width: 100%;
    --container-widget-width: 100%;
    --container-widget-flex-grow: 0;
    top: -30px;
}
}

@media (max-width: 1200px) {

body .elementor .elementor-element.spin {
    width: 460px;
    height: auto;
	max-width: none;
}

body:not(.rtl) .elementor .elementor-element.spin {
    left: auto;
    right: 0;
}

body:not(.rtl) .elementor .elementor-element.spin {
    left: auto;
    right: 60px;
}

}


@media (max-width: 1024px) {
	
.relative-class{
		position: relative;
	}
	
body .elementor .elementor-element.spin img {
    width: 320px;
    height: auto;
	max-width: none;
}
	
	body:not(.rtl) .elementor .elementor-element.spin {
    left: auto;
    right: 120px;
}
	}



@media (max-width: 767px) {
    body:not(.rtl) .elementor .elementor-element.spin {

        position: static;
   
    }

.spin.elementor-widget-image {
    text-align: left;
}

body .elementor .elementor-element.spin img {
        width: auto;
            height: 221px;
        max-width: 230px;
        margin-bottom: 30px;

    }
	
body .elementor .elementor-element.spin{
width: var(--container-widget-width, 230px);
max-width: 230px;
 --container-widget-width: 230px;
--container-widget-flex-grow: 0;

    }
}



.accordeon-buttons .elementor-button {
    text-align: left;
}

.value{
    position: relative;
    z-index: 101;
}

.active-butt{
                color: #4570aa!important;
}

.active-butt-box .elementor-widget-container{
                background: #4570aa!important;
}

.replaced-svg{
                width: 100%;
  height: auto;
  display: block;
  max-width: 100%;
}
.content-block {
    display: none;
}

.content-block.active {
    display: block;
}


svg .active circle,
svg .active path {
/*   stroke: #4570aa !important; */
    fill: #4570aa !important;
}

svg circle.active,
svg path.active {
/*   stroke: #4570aa !important; */
    fill: #4570aa !important;
}

/*
svg .active {
     transform-origin: center center; 
    animation: spin 20s linear infinite; 
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
*/
/*
g.active {
  transform-origin: center;
  animation: rotateOnPlace 2s linear infinite;
}
*/

/*
g.active {
    transform-origin: center center;
    animation: spin 10s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
*/


/*
g.active {
  transform-box: fill-box;
  transform-origin: center;
  animation: rotateOnPlace 2s linear infinite;
}

@keyframes rotateOnPlace {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

*/


g.active {
  transform-box: fill-box;
  transform-origin: center;
  animation: orbitAroundCenter 4s linear infinite;
}

@keyframes orbitAroundCenter {
  0%   { transform: translate(10px, 0px); }
  25%  { transform: translate(0px, 10px); }
  50%  { transform: translate(-10px, 0px); }
  75%  { transform: translate(0px, -10px); }
  100% { transform: translate(10px, 0px); }
}



@media (max-width: 650px) {
	.counter .elementor-counter-number-wrapper {
		font-size: 2.1em !important;
	}
	.counter .elementor-counter-title {
    	font-size: 1.1em !important;
	}
}

