/**
Theme Name: Vebnet Child
Author: Buchsteiner Verena
Author URI: https://www.vebnet.at
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: vebnet-child
Template: astra
*/

@font-face{
  font-family:'Brockmann';
  src:url('fonts/BrockmannRegular.woff2') format('woff2'),
      url('fonts/BrockmannRegular.otf') format('opentype');
  font-weight:400; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'Brockmann';
  src:url('fonts/BrockmannRegularItalic.woff2') format('woff2'),
      url('fonts/BrockmannRegularItalic.otf') format('opentype');
  font-weight:400; font-style:italic; font-display:swap;
}
@font-face{
  font-family:'Brockmann';
  src:url('fonts/BrockmannMedium.woff2') format('woff2'),
      url('fonts/BrockmannMedium.otf') format('opentype');
  font-weight:500; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'Brockmann';
  src:url('fonts/BrockmannSemiBold.woff2') format('woff2'),
      url('fonts/BrockmannSemiBold.otf') format('opentype');
  font-weight:600; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'Brockmann';
  src:url('fonts/BrockmannBold.woff2') format('woff2'),
      url('fonts/BrockmannBold.otf') format('opentype');
  font-weight:700; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'Brockmann';
  src:url('fonts/BrockmannBoldItalic.woff2') format('woff2'),
      url('fonts/BrockmannBoldItalic.otf') format('opentype');
  font-weight:700; font-style:italic; font-display:swap;
}



.elementor-slideshow__footer, .elementor-slideshow__title {display:none !important;}



/* ==========================================
   HEADER
========================================== */

header .e-con:has(.logo):has(.header-tel) {
    width: 100% !important;
    max-width: none !important;

    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;

    min-height: 145px;

    padding: 0 5% !important;
    margin: 0 !important;

    background: #202526 !important;
}


/* ==========================================
   LOGO
========================================== */

.logo {
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;

    margin: 0 0 0 8% !important;
    padding: 0 !important;
}

.logo > .e-con-inner {
    width: auto !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
}

.logo img {
    display: block;

    width: 230px !important;
    max-width: 230px !important;
    height: auto !important;

    transition:
        transform .4s ease,
        opacity .4s ease;
}

.logo:hover img {
    transform: scale(1.025);
    opacity: .95;
}


/* ==========================================
   KONTAKTBEREICH RECHTS
========================================== */

header .e-con:has(.header-tel) {
    width: auto !important;
    max-width: max-content !important;

    flex: 0 0 auto !important;

    margin-left: auto !important;
    padding: 0 !important;
}

header .e-con:has(.header-tel) > .e-con-inner {
    width: auto !important;
    max-width: max-content !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* Text-Widget */
header .elementor-widget-text-editor:has(.header-tel) {
    width: auto !important;
    max-width: max-content !important;

    margin: 0 !important;
}


/* Elementor Widget Container */
header .elementor-widget-text-editor:has(.header-tel)
.elementor-widget-container {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;

    width: max-content !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* ==========================================
   BEIDE BUTTONS
========================================== */

.header-tel,
.header-mail {
    position: relative;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-height: 55px;

    margin: 0 !important;

    font-size: 18px !important;
    line-height: 1 !important;
    font-weight: 400 !important;

    letter-spacing: .12em;

    text-decoration: none !important;
    white-space: nowrap;

    box-sizing: border-box;

    transition:
        background .4s ease,
        background-position .5s ease,
        color .35s ease,
        border-color .35s ease,
        transform .35s ease,
        box-shadow .35s ease;
}


/* ==========================================
   TELEFON
========================================== */

.header-tel {
    padding: 0 30px !important;

    color: #fff !important;

    background: linear-gradient(
        110deg,
        #314142 0%,
        #478181 55%,
        #579898 100%
    ) !important;

    background-size: 200% 100% !important;
    background-position: 0% 50% !important;
}


/* Telefon Icon */
.header-tel img {
    display: block !important;

    width: 25px !important;
    height: 25px !important;

    margin: 0 17px 0 0 !important;

    object-fit: contain;

    transition: transform .35s ease;
}


/* Hover Telefon */
.header-tel:hover {
    color: #fff !important;

    background-position: 100% 50% !important;

    transform: translateY(-3px);

    box-shadow:
        0 12px 28px rgba(0,0,0,.20);
}

.header-tel:hover img {
    transform: rotate(-8deg) scale(1.08);
}


/* ==========================================
   MAIL / KONTAKT
========================================== */

.header-mail {
    padding: 0 30px !important;
    color: #6f9d9d !important;
    background: #202526 !important;
    border: 1px solid #478181 !important;
    text-transform: uppercase;
    top: -3px !important;
    margin-left: -8px !important;
    letter-spacing: .14em;
}


/* Mail Icon */
.header-mail img {
    display: block !important;

    width: 27px !important;
    height: auto !important;

    margin: 0 17px 0 0 !important;

    object-fit: contain;

    transition:
        transform .35s ease,
        filter .35s ease;
}


/* Hover Mail */
.header-mail:hover {
    color: #fff !important;

    background: #478181 !important;
    border-color: #478181 !important;

    transform: translateY(-3px);

    box-shadow:
        0 12px 28px rgba(0,0,0,.20);
}

.header-mail:hover img {
    transform: translateX(4px);
    filter: brightness(0) invert(1);
}


/* ==========================================
   TABLET
========================================== */

@media (max-width: 1024px) {

    header .e-con:has(.logo):has(.header-tel) {
        min-height: 140px;
        padding: 0 4% !important;
    }

    .logo {
        margin-left: 2% !important;
    }

    .logo img {
        width: 190px !important;
        max-width: 190px !important;
    }

    .header-tel,
    .header-mail {
        min-height: 56px;

        padding: 0 22px !important;

        font-size: 14px !important;
    }

    .header-tel img,
    .header-mail img {
        width: 22px !important;
        margin-right: 12px !important;
    }
}


/* ==========================================
   MOBILE
========================================== */

@media (max-width: 767px) {
	

	
	
	    .elementor-9 .elementor-element.elementor-element-7983da9 {
        padding-right: 4em !important;
    }
	

    header .e-con:has(.logo):has(.header-tel) {
        min-height: auto;

        padding: 25px 20px !important;

        flex-direction: column !important;
        align-items: flex-start !important;

        gap: 25px;
    }

    .logo {
        margin-left: 0 !important;
    }

    .logo img {
        width: 165px !important;
        max-width: 165px !important;
    }

    header .e-con:has(.header-tel) {
        margin-left: 0 !important;
    }

    header .elementor-widget-text-editor:has(.header-tel)
    .elementor-widget-container {
        flex-direction: row !important;
        width: auto !important;
        max-width: 100% !important;
    }

    .header-tel,
    .header-mail {
        min-height: 52px;

        padding: 0 16px !important;

        font-size: 12px !important;
        letter-spacing: .07em;
    }

    .header-tel img,
    .header-mail img {
        width: 20px !important;
        margin-right: 9px !important;
    }
}


/* sehr kleine Smartphones */
@media (max-width: 480px) {

    header .elementor-widget-text-editor:has(.header-tel)
    .elementor-widget-container {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 6px;
    }
}



.ti-widget.ti-goog .ti-review-item>.ti-inner, .ti-widget.ti-goog .ti-load-more-reviews-container .ti-load-more-reviews-button {
    background: #1f2526 !important;
    border: none !important;
}









/* ==========================================
   HAUPTBILD FULL WIDTH
========================================== */

.hauptbild {
    position: relative !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden;
}


/* Bild-Widget über volle Breite */
.hauptbild > .elementor-widget-image {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* Elementor Widget Container */
.hauptbild > .elementor-widget-image > .elementor-widget-container {
    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* Bild */
.hauptbild > .elementor-widget-image img {
    display: block !important;

    width: 100% !important;
    max-width: none !important;

    height: auto !important;

    margin: 0 !important;
}


/* ==========================================
   OPTIONAL: HERO AUF DESKTOP HÖHER
========================================== */

@media (min-width: 1025px) {

    .hauptbild > .elementor-widget-image img {
        width: 100% !important;

        height: clamp(700px, 59vw, 1050px) !important;

        object-fit: cover !important;
        object-position: center center;
    }
}


/* ==========================================
   TABLET
========================================== */

@media (max-width: 1024px) {

    .hauptbild > .elementor-widget-image img {
        width: 100% !important;
        height: 750px !important;

        object-fit: cover !important;
        object-position: center center;
    }
}


/* ==========================================
   MOBILE
========================================== */

@media (max-width: 767px) {

    .hauptbild > .elementor-widget-image img {
        width: 100% !important;
        height: 680px !important;

        object-fit: cover !important;

        /* Person bleibt besser sichtbar */
        object-position: 58% center;
    }
}






/* ==========================================
   HERO TEXTBLOCK
========================================== */

.hauptbild-text {
    position: absolute !important;

    left: 7.5% !important;
    bottom: 9% !important;

    width: auto !important;
    max-width: 850px !important;

    margin: 0 !important;
    padding: 0 !important;

    z-index: 5;
}


/* innerer Elementor Container */
.hauptbild-text > .e-con-inner {
    position: relative;

    width: auto !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
}


/* ==========================================
   KLEINE PETROL ZEILE
========================================== */

.hauptbild-text h2 {
    position: relative;

    margin: 0 0 18px 0 !important;
    padding: 0 !important;

    color: #5f8f90 !important;

    font-size: 16px !important;
    line-height: 1.3 !important;

    font-weight: 400 !important;

    letter-spacing: .22em !important;
    text-transform: uppercase;
}


/* ==========================================
   ECKE LINKS OBEN
   genau wie im Screenshot
========================================== */

.hauptbild-text h2::before {
    content: "";

    position: absolute;

    left: -50px;
    top: -38px;

    width: 48px;
    height: 3px;

    background: #478181;
}


.hauptbild-text h2::after {
    content: "";

    position: absolute;

    left: -50px;
    top: -38px;

    width: 3px;
    height: 46px;

    background: #478181;
}


/* ==========================================
   GROSSE HEADLINE
========================================== */

.hauptbild-text h3 {
    margin: 0 0 30px 0 !important;
    padding: 0 !important;

    color: #fff !important;

    font-size: clamp(58px, 5vw, 86px) !important;
    line-height: 1.02 !important;

    font-weight: 500 !important;

    letter-spacing: -.025em !important;
}


/* zweite Zeile */
.hauptbild-text h3 strong {
    color: #5f8f90 !important;

    font-weight: 500 !important;
}


/* ==========================================
   BUTTON WIDGET
========================================== */

.hauptbild-text .elementor-widget-button {
    width: auto !important;
    max-width: max-content !important;

    margin: 0 !important;

    align-self: flex-start !important;
}


/* Button */
.hauptbild-text .elementor-button {
    position: relative;

    display: inline-flex !important;
    align-items: center !important;

    width: auto !important;
    min-width: 0 !important;

    padding: 18px 28px 18px 62px !important;

    background: none !important;

    border: 1px solid #478181 !important;
    border-radius: 0 !important;

    color: #fff !important;

    overflow: hidden;

    transition:
        background .4s ease,
        border-color .4s ease,
        transform .35s ease,
        box-shadow .35s ease !important;
}


/* eigener weißer Pfeil */
.hauptbild-text .elementor-button::before {
    content: "";

    position: absolute;

    left: 22px;
    top: 50%;

    width: 17px;
    height: 17px;

    background-image:
        url("/wp-content/themes/vebnet-child/img/pfeil-weiss.svg");

    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;

    transform: translateY(-50%);

    transition:
        transform .4s cubic-bezier(.2,.7,.2,1);
}


/* Button Schrift */
.hauptbild-text .elementor-button-text {
    position: relative;
    z-index: 2;

    color: #fff !important;

    font-size: 15px !important;
    line-height: 1 !important;

    font-weight: 400 !important;

    letter-spacing: .17em !important;
    text-transform: uppercase;
}


/* ==========================================
   BUTTON HOVER
========================================== */

.hauptbild-text .elementor-button:hover {
    background: #478181 !important;

    border-color: #478181 !important;

    transform: translateY(-3px);

    box-shadow:
        0 14px 30px rgba(0, 0, 0, .22);
}


/* Pfeil fährt diagonal */
.hauptbild-text .elementor-button:hover::before {
    transform:
        translateY(-50%)
        translate(4px, -4px);
}


/* ==========================================
   TABLET
========================================== */

@media (max-width: 1024px) {

    .hauptbild-text {
        left: 7% !important;
        bottom: 8% !important;

        max-width: 650px !important;
    }

    .hauptbild-text h2 {
        font-size: 13px !important;
        margin-bottom: 15px !important;
    }

    .hauptbild-text h3 {
        font-size: clamp(48px, 6vw, 68px) !important;
        margin-bottom: 25px !important;
    }

    .hauptbild-text h2::before {
        left: -38px;
        top: -30px;

        width: 38px;
        height: 2px;
    }

    .hauptbild-text h2::after {
        left: -38px;
        top: -30px;

        width: 2px;
        height: 38px;
    }
}


/* ==========================================
   MOBILE
========================================== */

@media (max-width: 767px) {

    .hauptbild-text {
        left: 28px !important;
        right: 25px !important;
        bottom: 38px !important;

        width: auto !important;
        max-width: none !important;
    }

    .hauptbild-text h2 {
        margin-bottom: 12px !important;

        font-size: 10px !important;
        line-height: 1.4 !important;

        letter-spacing: .14em !important;
    }

    .hauptbild-text h3 {
        margin-bottom: 22px !important;

        font-size: 40px !important;
        line-height: 1.03 !important;
    }


    /* kleinere Ecke */
    .hauptbild-text h2::before {
        left: -15px;
        top: -22px;

        width: 27px;
        height: 2px;
    }

    .hauptbild-text h2::after {
        left: -15px;
        top: -22px;

        width: 2px;
        height: 27px;
    }


    /* Button */
    .hauptbild-text .elementor-button {
        padding: 15px 21px 15px 51px !important;
    }

    .hauptbild-text .elementor-button::before {
        left: 19px;

        width: 14px;
        height: 14px;
    }

    .hauptbild-text .elementor-button-text {
        font-size: 12px !important;
        letter-spacing: .13em !important;
    }
}



















#ast-scroll-top {display:none !important;}



::selection {
  background-color:var(--tuerkis);
  color: #ffffff;
}

.abstand-links-weg {margin-left:-7em !important;}

.abstand-gap .e-con-inner {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
    gap: 0 !important;
}


html,
body {
    min-height: 100%;
    margin: 0;
  font-family:'Brockmann' !important;
    background: #191b1c;
    background: -webkit-linear-gradient(left, #191a1b 0%, #1d2021 50%, #222929 100%);
    background: linear-gradient(to right, #191a1b 0%, #1d2021 50%, #222929 100%);

    background-attachment: fixed;
    background-repeat: no-repeat;
}

h1,h2,h3,h4,h5,h6, p{
	  font-family:'Brockmann' !important;
}

.elementor-widget-text-editor {
    font-family: 'Brockmann' !important;
    color: white !important;
    font-size: 30px;
	    line-height: 150%;
}

 .schrift-kleiner.elementor-widget-text-editor {
    font-size: 27px !important;
}


h1,.entry-content :where(h1), h1 strong {
    font-weight: 500 !important;
    color: white !important;
    font-size: 54px;
	letter-spacing: 1px;
}

.font-tuerkis .elementor-widget-text-editor {
      color: var(--tuerkis) !important;
	font-size:27px !important;
}

.breiter {
    padding-left: 12% !important;
    padding-right: 12% !important;
}

.breiter2 {
    padding-left: 9% !important;
    padding-right: 12% !important;	
}

.font-tuerkis .elementor-widget-text-editor p {
    text-decoration-line: underline;
    text-decoration-color: currentColor;
    text-decoration-thickness: 2px;
    text-underline-offset: 10px;
    text-decoration-skip-ink: none;
    line-height: 1.55;
}

.font-tuerkis .elementor-widget-text-editor::before {
    background: url(img/pfeil-petrol.svg) left top no-repeat;
    background-size: 50px;
    position: absolute;
    left: -81px;
    top: 5px;
    content: "";
    width: 50px;
    height: 50px;
}


h2 {
    display: flex;
    align-items: center;
    gap: 30px;
    margin: 0;
    color: var(--tuerkis) !important;
    font-size: 16px !important;
    font-weight: 300;
    line-height: 1.2;
    letter-spacing: 4px;
    text-transform: uppercase;
    font-weight: 300 !important;
}

h2::before {
    content: "";
    display: block;
    width: 85px;
    height: 1px;
    background-color: var(--tuerkis) !important;
    flex-shrink: 0;
}

h3,.entry-content :where(h3), h3 strong {
    font-weight: 500 !important;
    color: white !important;
    font-size: 75px;
	letter-spacing: 1px;
}
 h1 strong, h3 strong {
      color: var(--tuerkis) !important;
}

.zahlen p {
    color: var(--tuerkis) !important;
    font-size: 57px !important;
    display: inline !important;
    font-weight: 600 !important;
    float: left !important;
}


h5, .entry-content :where(h5) {
    color: white !important;
    font-weight: 400;
    font-size: 36px !important;
}

h4, .entry-content :where(h4), h4 strong {
    font-weight: 500 !important;
    color: white !important;
    font-size: 24px;
    letter-spacing: 4px;
    color: var(--tuerkis) !important;
    text-transform: uppercase;
}


.text-klein-t p {
    color: var(--tuerkis) !important;
    font-size: 23px !important;
    line-height: 139% !important;
    letter-spacing: 1px;
}

.leistungen-row {
    position: relative;
    z-index: 0;
    padding-top: 50px;
    padding-bottom: 20px !important;
	margin-bottom: 0 !important;
}

/* FULL-WIDTH Hover-Hintergrund */
.leistungen-row::before {
    content: "";
    position: absolute;

    top: 0;
    bottom: 0;
    left: 50%;

    width: 100vw;

    transform: translateX(-50%);

    background: rgba(255, 255, 255, 0);
    transition: background-color 0.35s ease;

    z-index: -1;
    pointer-events: none;
}

/* Hover */
.leistungen-row:hover::before {
    background: rgba(255, 255, 255, 0.04);
}

/* FULL-WIDTH Trennlinie */
.leistungen-row::after {
    content: "";
    position: absolute;

    top: 0;
    left: 50%;

    width: 100vw;
    height: 1px;

    transform: translateX(-50%);

    background: rgba(110, 150, 150, 0.35);

    pointer-events: none;
}

/* LINKER BEREICH: Nummer + Titel */
.zahlen {
    display: grid;
    grid-template-columns: 110px 1fr;
    column-gap: 40px;
    align-items: start;

    width: 100%;
}


/* RECHTER BEREICH: Beschreibung */
.text-klein-t {
    width: 100%;
}




:root {
 --tuerkis: #71989a;
	--white: #fff;
}

p a {
	color:var(--tuerkis);
}

p  {
	margin-bottom:0 !important;
}





/* =========================
   TERMIN BLOCK
========================= */

.termin {
    position: relative;

    width: calc(100% - 12em) !important;
    max-width: none !important;

    margin-left: 6em !important;
    margin-right: 6em !important;

    background: linear-gradient(
        100deg,
        #4d9091 0%,
        #426f70 45%,
        #314344 100%
    );

    clip-path: polygon(
        0 0,
        100% 0,
        100% 76%,
        95% 100%,
        0 100%
    );
}
.termin > .e-con-inner {
    width: 100%;
    max-width: 1720px !important;
    margin: 0 auto !important;
    padding: 80px 125px 80px 125px !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 80px !important;
}

/* beide inneren Spalten */
.termin > .e-con-inner > .e-con {
    padding: 0 !important;
    margin: 0 !important;
}


/* linke Spalte */
.termin .elementor-element-b70c0bf {
    width: 60% !important;
}


/* rechte Spalte */
.termin .elementor-element-0e5850a {
    width: 40% !important;

    display: flex !important;
    justify-content: center !important;
    align-items: center !important;

    text-align: center;
}


/* Elementor Widget-Abstände entfernen */
.termin .elementor-widget {
    margin: 0 !important;
}


/* =========================
   BEREIT?
========================= */

.termin h2 {
    position: relative;
    margin: 0 0 28px 103px !important;
    padding: 0 !important;
    color: #ffffff !important;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 5px;
    text-transform: uppercase;
}


/* Linie links neben "Bereit?" */
.termin h2::before {
    content: "";
    position: absolute;
    width: 70px;
    height: 1px;
    background:#fff !important;
    left: -96px;
	top: 50%;
    transform: translateY(-50%);
}


/* =========================
   TERMIN VEREINBAREN
========================= */


.termin h4 {
    margin: 0 !important;
    padding: 0 !important;
    color: #111718 !important;
    font-size: clamp(42px, 3.5vw, 41px);
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -1px;
	text-transform: none !important;
    margin-top: -20px !important;
}

/* erste Zeile weiß */
.termin h4::first-line {
    color: #ffffff !important;
	    font-size: 50px;
}


/* =========================
   KONTAKTDATEN
========================= */

.termin h5, .termin h6 {
    margin: 0 !important;
    padding: 0 !important;
    text-align: right;
}


.termin h5 {
    margin-bottom: 18px !important;
    margin-top: 30px !important;
}

.termin h5 a {
    color: #ffffff !important;
    text-decoration: none !important;
    font-size: clamp(28px, 2.5vw, 37px);
    font-weight: 400;
    letter-spacing: 3px;
    line-height: 1;
}

.termin h6 a {
    color: #ffffff !important;
    text-decoration: none !important;
    font-size: clamp(16px, 1.25vw, 23px);
    font-weight: 400;
    letter-spacing: 2px;
    line-height: 1.2;
}

/* Hover */
.termin h5 a:hover,
.termin h6 a:hover {
    opacity: 0.7;
}







/* =========================
   TEAM CARD
========================= */


.team-card:nth-child(3n + 2) {
    transform: translateY(-80px);
}

.team-card:nth-child(3n + 2):hover {
    transform: translateY(-76px);
}


.team-card {
    position: relative;
    overflow: hidden;

    min-height: 720px;
    padding: 0 !important;

    display: flex;
    flex-direction: column;
    justify-content: flex-end;

    background: transparent !important;

    transition:
        transform .4s ease,
        box-shadow .4s ease;
}


/* =========================
   BILD
   Hintergrund ist bereits
   Bestandteil des Bildes
========================= */

.team-card-image {
    position: absolute !important;

    inset: 0;

    width: 100% !important;
    height: 100% !important;

    z-index: 1;

    overflow: hidden;
}

.team-card-image .elementor-widget-container {
    width: 100%;
    height: 100%;
}

.team-card-image img {
    display: block;

    width: 100% !important;
    height: 100% !important;

    object-fit: cover;
    object-position: center top;

    transition: transform .7s cubic-bezier(.2,.7,.2,1);
}


/* =========================
   TEXTBEREICH
========================= */

.team-card-content {
    position: relative;
    z-index: 5;

    width: 100%;

    padding: 390px 45px 55px;

    /* nur leichter Verlauf für Lesbarkeit */
    background: linear-gradient(
        to bottom,
        transparent 0%,
        rgba(10, 14, 15, 0.05) 25%,
        rgba(10, 14, 15, 0.70) 60%,
        rgba(10, 14, 15, 0.94) 100%
    );
}


/* =========================
   FUNKTION
========================= */

.team-role {
    margin-bottom: 18px;

    color: #4d9293;

    font-size: 15px;
    line-height: 1.45;

    font-weight: 400;

    letter-spacing: .18em;
    text-transform: uppercase;
}


/* =========================
   NAME
========================= */

.team-name {
    margin: 0 0 30px 0 !important;

    color: #fff;

    font-size: 34px;
    line-height: 1.08;

    font-weight: 400;
    letter-spacing: -.01em;
}

.team-name span {
    display: block;

    margin-top: 6px;

    font-size: 20px;
    line-height: 1.2;

    font-weight: 300;
}


/* =========================
   TELEFON
========================= */

.team-phone {
    display: inline-flex;
    align-items: center;

    gap: 15px;

    color: #4d9293 !important;
    text-decoration: none !important;

    font-size: 16px;
    line-height: 1;

    letter-spacing: .14em;

    transition:
        transform .3s ease,
        opacity .3s ease;
}

.team-phone img {
    width: 30px;
    height: 30px;

    object-fit: contain;
}


/* =========================
   TÜRKISE ECKE MIT VERLAUF
========================= */

.team-card::after {
    content: "";

    position: absolute;
    right: 0;
    bottom: 0;

    width: 100px;
    height: 100px;

    background: linear-gradient(
        135deg,
        #315f61 0%,
        #478181 55%,
        #314142 100%
    );

    /*
     Dreieck unten rechts
    */
    clip-path: polygon(
        100% 0,
        100% 100%,
        0 100%
    );

    z-index: 10;

    pointer-events: none;

    transition:
        width .45s ease,
        height .45s ease,
        filter .45s ease;
}


/* =========================
   HOVER
========================= */

.team-card:hover {
    transform: translateY(-6px);

    box-shadow:
        0 25px 55px rgba(0, 0, 0, .25);
}


/* Bild ganz leicht zoomen */
.team-card:hover .team-card-image img {
    transform: scale(1.025);
}


/* Telefonnummer leicht nach rechts */
.team-card:hover .team-phone {
    transform: translateX(5px);
}


/* Dreieck wird etwas größer */
.team-card:hover::after {
    width: 145px;
    height: 145px;

    filter: brightness(1.1);
}









/* =====================================
   TEAM SPRUCH
===================================== */

.spruch-team {
    position: relative;
    width: 100%;
    max-width: 360px;

    margin: 0 !important;
    padding: 0 !important;
}

.spruch-team p {
    margin: 0 !important;
    padding: 0 !important;
    color: #fff;
    font-size: 38px;
    font-weight: 300;
    line-height: 1.2;
    letter-spacing: 0;
}

.spruch-team strong {
    color: #598b8d;
    font-weight: 500;
}


/* =====================================
   WINKEL LINKS OBEN
===================================== */

/* horizontale Linie */
.spruch-team::before {
    content: "";
    position: absolute;

    left: -70px;
    top: -105px;

    width: 69px;
    height: 3px;

    background: linear-gradient(
        90deg,
        #478181 0%,
        #314142 100%
    );

    z-index: 5;
}


/* vertikale Linie */
.spruch-team::after {
    content: "";
    position: absolute;

    left: -70px;
    top: -105px;

    width: 3px;
    height: 69px;

    background: linear-gradient(
        180deg,
        #478181 0%,
        #314142 100%
    );

    z-index: 5;
}









/* =========================
   LAUFSCHRIFT
========================= */

.marquee {
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    position: relative;
}

.marquee-track {
    display: flex;
    width: max-content;

    animation: marquee 30s linear infinite;
}

.marquee-track span {
    flex-shrink: 0;

    padding-right: 0.3em;

    font-size: clamp(60px, 7vw, 90px);
    font-weight: 600;
    line-height: 1;

    letter-spacing: 2px;

    color: rgba(255, 255, 255, 0.04);
}


/* Bewegung */
@keyframes marquee {

    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }

}








/* Bilder standardmäßig leicht abgedunkelt */
.elementor-widget-gallery .e-gallery-image {
    filter: brightness(0.62);
    transition: filter 0.35s ease, transform 0.45s ease;
}

/* Elementor Overlay deaktivieren */
.elementor-widget-gallery .elementor-gallery-item__overlay {
    background: transparent !important;
    opacity: 0 !important;
}

/* Hover: Bild wird vollständig hell */
.elementor-widget-gallery .e-gallery-item:hover .e-gallery-image {
    filter: brightness(1);
    transform: scale(1.02);
}

/* Auch beim Hover kein Elementor-Overlay */
.elementor-widget-gallery .e-gallery-item:hover .elementor-gallery-item__overlay {
    background: transparent !important;
    opacity: 0 !important;
}












/* =====================================
   ACCORDION TITEL
===================================== */

.elementor-widget-n-accordion .e-n-accordion-item-title {
    padding: 28px 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    gap: 30px;

    text-align: left !important;

    background: transparent !important;
    border: 0 !important;
}


/* Textbereich soll den verfügbaren Platz nutzen */
.elementor-widget-n-accordion .e-n-accordion-item-title-header {
    flex: 1 1 auto;
    text-align: left !important;
}


/* Frage */
.elementor-widget-n-accordion .e-n-accordion-item-title-text {
    display: block;

    width: 100%;

    margin: 0 !important;
    padding: 0 !important;

    text-align: left !important;

    color: #ffffff !important;

    font-size: 24px !important;
    line-height: 1.3 !important;

    font-weight: 300 !important;
    letter-spacing: 0 !important;

    transition:
        color .3s ease,
        transform .3s ease;
}


/* =====================================
   PLUS / MINUS GRÖSSER
===================================== */

.elementor-widget-n-accordion .e-n-accordion-item-title-icon {
    flex: 0 0 28px !important;

    width: 28px !important;
    height: 28px !important;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #478181 !important;
}


/* + und - */
.elementor-widget-n-accordion .e-n-accordion-item-title-icon svg {
    width: 22px !important;
    height: 22px !important;

    fill: #478181 !important;
}


/* =====================================
   HOVER
===================================== */

.elementor-widget-n-accordion
.e-n-accordion-item-title:hover
.e-n-accordion-item-title-text {
    color: #478181 !important;
    transform: translateX(5px);
}


/* Geöffnet */
.elementor-widget-n-accordion
details[open] > .e-n-accordion-item-title
.e-n-accordion-item-title-text {
    color: #478181 !important;
}


/* Linie zwischen den Accordion-Einträgen */
.elementor-widget-n-accordion .e-n-accordion-item {
    border: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.20) !important;
    margin: 0 !important;
}

/* optional: auch Linie über dem ersten Eintrag */
.elementor-widget-n-accordion .e-n-accordion-item:first-child {
    border-top: 1px solid rgba(255, 255, 255, 0.20) !important;
}



/* =====================================
   ACCORDION + / - DÜNN & GRÖSSER
===================================== */

/* originale Elementor SVGs ausblenden */
.elementor-widget-n-accordion
.e-n-accordion-item-title-icon svg {
    display: none !important;
}


/* Icon-Container */
.elementor-widget-n-accordion
.e-n-accordion-item-title-icon {
    width: 34px !important;
    height: 34px !important;
    flex: 0 0 34px !important;

    display: flex !important;
    align-items: center;
    justify-content: center;

    color: #478181 !important;
}


/* Plus */
.elementor-widget-n-accordion .e-n-accordion-item-title-icon .e-closed::before {
    content: "+";
    font-size: 42px;
    line-height: 32%;
    font-weight: 200;
    color: #478181;
}

/* Minus */
.elementor-widget-n-accordion
.e-n-accordion-item-title-icon .e-opened::before {
    content: "−";

   font-size: 42px;
      line-height: 32%;
    font-weight: 200;

    color: #478181;
}
.elementor-widget-n-accordion .e-n-accordion-item > [role="region"] {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 5px 35px 30px 67px !important;
}

.elementor-widget-n-accordion .e-n-accordion-item > [role="region"] p {
    margin: 0 !important;
    padding: 0 !important;

    font-size: 23px !important;
    line-height: 1.55 !important;
    font-weight: 300 !important;

    letter-spacing: 0.06em;

    color: rgba(255, 255, 255, 0.82) !important;
}


.elementor-widget-n-accordion .e-n-accordion-item:first-child {
    border-top: none !important;


}









/* ==========================================
   FOOTER GRUNDLAYOUT
========================================== */

footer.elementor-location-footer {
    background: #1f2526;
    color: #fff;
    overflow: hidden;
}

footer.elementor-location-footer
.elementor-element-fd8a0f6 {
    background: transparent !important;
    padding: 0 !important;
}

footer.elementor-location-footer
.elementor-element-fd8a0f6 > .e-con-inner {
    position: relative;

    width: 100% !important;
    max-width: 1700px !important;

    margin: 0 auto !important;
    padding: 110px 110px 95px 150px !important;

    display: grid !important;
    grid-template-columns: 1.15fr 0.9fr 0.9fr;
    gap: 80px !important;

    align-items: start;
}


/* ==========================================
   ALLGEMEIN
========================================== */

footer.elementor-location-footer p,
footer.elementor-location-footer a {
    color: rgba(255,255,255,.88);
}

footer.elementor-location-footer a {
    text-decoration: none;
}

footer.elementor-location-footer .elementor-widget {
    margin: 0 !important;
}


/* ==========================================
   SPALTE 1
========================================== */

.footer1 {
    position: relative;

    padding: 0 !important;
    margin: 0 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
}

.footer1  {padding-left:40px !important;}

/* Kontakt groß */
.kontakt-footer h3 {
    margin: 0 0 45px 0 !important;
    color: #648f90 !important;
    font-size: 72px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    letter-spacing: 1px;
	    margin-left: -40px !important;
}

/* Beschreibung */
.footer1 .elementor-widget-text-editor:not(.kontakt-footer):not(.copyright) p {
    max-width: 380px;

    margin: 0 0 12px 0 !important;

    font-size: 20px;
    line-height: 1.65;

    font-weight: 300;
    letter-spacing: .08em;

    color: rgba(255,255,255,.86);
}


/* ==========================================
   FOOTER BUTTON
========================================== */

/* Elementor Widget NICHT über volle Breite */
.footer1 .elementor-widget-button {
    width: auto !important;
    max-width: max-content !important;
    align-self: flex-start !important;
}


/* Button */
.footer1 .elementor-button {
    position: relative;
    display: inline-flex !important;

    width: auto !important;
    min-width: 0 !important;

    padding: 19px 30px 19px 68px !important;

    overflow: hidden;

    border: 0 !important;
    border-radius: 0 !important;

    background: linear-gradient(
        110deg,
        #314142 0%,
        #478181 50%,
        #579393 100%
    ) !important;

    background-size: 200% 100% !important;
    background-position: 0% 50% !important;

    color: #fff !important;

    transition:
        background-position .5s cubic-bezier(.2,.7,.2,1),
        transform .35s ease,
        box-shadow .35s ease !important;
}


/* eigener Pfeil */
.footer1 .elementor-button::before {
    content: "";

    position: absolute;

    left: 28px;
    top: 50%;

    width: 18px;
    height: 18px;

    background-image: url("/wp-content/themes/vebnet-child/img/pfeil-weiss.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;

    transform: translateY(-50%);

    transition: transform .4s cubic-bezier(.2,.7,.2,1);
}


/* Text */
.footer1 .elementor-button-text {
    position: relative;
    z-index: 2;

    font-size: 14px;
    line-height: 1;

    font-weight: 400;

    letter-spacing: .14em;
    text-transform: uppercase;
}


/* ==========================================
   HOVER
========================================== */

.footer1 .elementor-button:hover {
    background-position: 100% 50% !important;

    transform: translateY(-3px);

    box-shadow:
        0 12px 30px rgba(0, 0, 0, .20) !important;
}


/* Pfeil bewegt sich rechts nach oben */
.footer1 .elementor-button:hover::before {
    transform:
        translateY(-50%)
        translate(4px, -4px);
}


/* Klick */
.footer1 .elementor-button:active {
    transform: translateY(-1px);
}

/* ==========================================
   COPYRIGHT LINKS VERTIKAL
========================================== */

.copyright {
    position: absolute !important;

    left: -105px;
    bottom: -65px;

    width: auto !important;

    transform: rotate(-90deg);
    transform-origin: left center;
}

.copyright p {
    margin: 0 !important;
}

.copyright a {
    color: #648f90 !important;

    font-size: 14px !important;
    font-weight: 400;

    letter-spacing: .28em;
    text-transform: uppercase;
}


/* ==========================================
   SPALTE 2
========================================== */

.footer2 {
    padding: 140px 0 0 0 !important;
    margin: 0 !important;
}

.footer2 p {
    margin: 0 0 34px 0 !important;
    font-size: 25px;
    line-height: 1.65;
    font-weight: 300;
    letter-spacing: .09em;
}

.footer2 p:nth-child(2) a {
    display: inline-block;
    margin-bottom: 13px;
    color: #648f90 !important;
    font-size: 22px;
    letter-spacing: 2px;
    transition: transform .3s ease, color .3s ease;
}

.footer2 p:nth-child(2) a:hover {
    transform: translateX(5px);
    color: #78aaaa !important;
}

.footer2 img {
    width: 28px !important;
    height: auto !important;
    margin-right: 15px;
}

/* ==========================================
   SPALTE 3
========================================== */

.footer3 {
    position: relative;

    padding: 140px 0 0 0 !important;
    margin: 0 !important;
}


/* Siegel */
.footer3 .elementor-widget-image {
    position: absolute !important;

    top: -25px !important;
    right: 0 !important;

    width: auto !important;
}

.footer3 .elementor-widget-image img {
    width: 125px !important;
    height: auto !important;
}

.footer3 p:nth-child(2) {
    margin-top: 30px !important;
}



/* Öffnungszeiten / Links */
.footer3 p {
    margin: 0 !important;

    font-size: 25px;
    line-height: 1.45;

    font-weight: 300;
    letter-spacing: .09em;
}


/* Links unten */
.footer3 p a {
    display: inline-block;
    margin-top: 4px;
    color: rgba(255, 255, 255, .85) !important;
    font-size: 14px;
    line-height: 0;
    letter-spacing: .20em;
    text-transform: uppercase;
    text-decoration: underline;
    text-underline-offset: 4px;
    transition: color .3s ease;
}

.footer3 p a:hover {
    color: #648f90 !important;
}


/* ==========================================
   TABLET
========================================== */

@media (max-width: 1100px) {

    footer.elementor-location-footer
    .elementor-element-fd8a0f6 > .e-con-inner {

        padding: 80px 55px 70px !important;

        grid-template-columns: 1fr 1fr;
        gap: 60px !important;
    }

    .footer1 {
        grid-column: 1 / -1;
    }

    .footer2,
    .footer3 {
        padding-top: 20px !important;
    }

    .kontakt-footer h3 {
        font-size: 58px !important;
    }

    .copyright {
        position: static !important;

        margin-top: 45px !important;

        transform: none;
    }

    .footer3 .elementor-widget-image {
        top: -10px !important;
    }

}






/* ==========================================
   KRITERIEN BOX
========================================== */

.box-kriterien {
    position: relative;
    z-index: 5;

    width: calc(100% - 8em) !important;
    max-width: 980px !important;

    margin: -140px 4em 0 auto !important;
    padding: 0 !important;

    background: linear-gradient(
        90deg,
        #478181 0%,
        #3f7778 38%,
        #354f50 68%,
        #314142 100%
    ) !important;

    overflow: hidden;

    clip-path: polygon(
        0 0,
        100% 0,
        100% calc(100% - 55px),
        calc(100% - 55px) 100%,
        0 100%
    );
}


.box-kriterien > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 21px 38px 26px !important;
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    align-items: stretch !important;
}

/* ==========================================
   EINZELNE BOX
========================================== */

.box-kriterien .elementor-widget-icon-box {
    position: relative;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 34px !important;

    display: flex;
    align-items: center;
    justify-content: center;
}


/* vertikale Trennlinien */
.box-kriterien .elementor-widget-icon-box:not(:last-child)::after {
    content: "";

    position: absolute;

    top: 8px;
    right: 0;

    width: 1px;
    height: calc(100% - 16px);

    background: rgba(255, 255, 255, .55);
}


/* ==========================================
   WRAPPER
========================================== */

.box-kriterien .elementor-icon-box-wrapper {
    width: 100%;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;

    text-align: center !important;
}


/* ==========================================
   ICON
========================================== */

.box-kriterien .elementor-icon-box-icon {
    margin: 0 0 12px 0 !important;
}

.box-kriterien .elementor-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 55px !important;
    height: 55px !important;

    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
	    margin: 0 auto;
}


.box-kriterien .elementor-icon svg {
    width: 48px !important;
    height: 50px !important;
    overflow: visible;
    margin-bottom: -26px;
}

.box-kriterien .elementor-widget-icon-box:nth-child(2) .elementor-icon svg {
    width: 48px !important;
    height: 43px !important;
}

.box-kriterien .elementor-widget-icon-box:nth-child(3) .elementor-icon svg {
    width: 42px !important;
    height: 52px !important;
}

/* ==========================================
   ZAHL / TITEL
========================================== */

.box-kriterien .elementor-icon-box-title {
    margin: 0 0 3px 0 !important;

    color: #fff !important;

    font-size: 31px !important;
    line-height: 1.1 !important;

    font-weight: 400 !important;

    letter-spacing: .01em;
}


/* Qualität etwas anders */
.box-kriterien .elementor-widget-icon-box:nth-child(3)
.elementor-icon-box-title {
    font-size: 25px !important;
}


/* ==========================================
   BESCHREIBUNG
========================================== */

.box-kriterien .elementor-icon-box-description {
    margin: 0 !important;
    color: rgba(255, 255, 255, .85) !important;
    font-size: 18px !important;
    line-height: 1.3 !important;
    font-weight: 300 !important;
    letter-spacing: .13em;
}


/* ==========================================
   HOVER
========================================== */

.box-kriterien .elementor-widget-icon-box {
    transition:
        transform .35s ease,
        opacity .35s ease;
}

.box-kriterien .elementor-widget-icon-box:hover {
    transform: translateY(-4px);
}

.box-kriterien .elementor-widget-icon-box:hover .elementor-icon {
    transform: scale(1.06);
}

.box-kriterien .elementor-icon {
    transition: transform .35s ease;
}


/* ==========================================
   TABLET
========================================== */

@media (max-width: 1024px) {

    .box-kriterien {
        width: calc(100% - 4em) !important;

        margin-top: -60px !important;
    }

    .box-kriterien > .e-con-inner {
        padding: 30px 20px 27px !important;
    }

    .box-kriterien .elementor-widget-icon-box {
        padding: 0 22px !important;
    }

    .box-kriterien .elementor-icon-box-title {
        font-size: 22px !important;
    }

    .box-kriterien .elementor-icon-box-description {
        font-size: 12px !important;
    }
}


/* ==========================================
   MOBILE
========================================== */

@media (max-width: 767px) {
	
	

    .box-kriterien {
        width: calc(100% - 2em) !important;

        max-width: none !important;

        margin-top: -35px !important;

        clip-path: polygon(
            0 0,
            100% 0,
            100% calc(100% - 35px),
            calc(100% - 35px) 100%,
            0 100%
        );
    }

    .box-kriterien > .e-con-inner {
        display: flex !important;
        flex-direction: column !important;

        padding: 28px 30px 35px !important;
    }

    .box-kriterien .elementor-widget-icon-box {
        padding: 25px 0 !important;
    }


    /* Mobile horizontale Linien */
    .box-kriterien .elementor-widget-icon-box:not(:last-child)::after {
        top: auto;
        right: 10%;
        bottom: 0;

        width: 80%;
        height: 1px;
    }

    .box-kriterien .elementor-icon-box-title {
        font-size: 24px !important;
    }

    .box-kriterien .elementor-icon-box-description {
        font-size: 13px !important;
    }
}



.ti-widget.ti-goog .ti-rating-text strong.ti-rating, .ti-widget.ti-goog .ti-widget-container * {
    color: #fff !important;
}










/* ==========================================
   CAROUSEL PFEILE
========================================== */

.elementor-image-carousel-wrapper {
    position: relative;
}


/* Beide Pfeile */
.elementor-image-carousel-wrapper .elementor-swiper-button {
    position: absolute !important;

    top: 0 !important;

    width: 72px !important;
    height: 64px !important;

    margin: 0 !important;

    display: flex !important;
    align-items: center;
    justify-content: center;

    background: #202526;

    color: #fff !important;

    transform: none !important;

    transition:
        background-color .35s ease,
        color .35s ease !important;

    z-index: 10;
}


/* ==========================================
   POSITION
========================================== */

/* Links */
.elementor-image-carousel-wrapper
.elementor-swiper-button-prev {
    left: 0 !important;
    right: auto !important;
}


/* Rechts */
.elementor-image-carousel-wrapper
.elementor-swiper-button-next {
    left: 72px !important;
    right: auto !important;
}


/* Trennlinie zwischen den Pfeilen */
.elementor-image-carousel-wrapper
.elementor-swiper-button-prev::after {
    content: "";

    position: absolute;

    right: 0;
    top: 16px;

    width: 1px;
    height: 32px;

    background: rgba(255,255,255,.45);

    transition: opacity .3s ease;
}


/* ==========================================
   SVG PFEILE
========================================== */

.elementor-image-carousel-wrapper
.elementor-swiper-button svg {
    width: 25px !important;
    height: 25px !important;

    fill: #fff !important;

    transition:
        transform .35s cubic-bezier(.2,.7,.2,1),
        opacity .35s ease;
}


/* Elementor SVG Pfad */
.elementor-image-carousel-wrapper
.elementor-swiper-button svg path {
    fill: #fff !important;
}


/* ==========================================
   HOVER
========================================== */

.elementor-image-carousel-wrapper
.elementor-swiper-button:hover {
    background: #478181 !important;
}


/* Pfeil links bewegt sich */
.elementor-image-carousel-wrapper
.elementor-swiper-button-prev:hover svg {
    transform: translateX(-5px);
}


/* Pfeil rechts bewegt sich */
.elementor-image-carousel-wrapper
.elementor-swiper-button-next:hover svg {
    transform: translateX(5px);
}


/* Trennlinie beim Hover sauber ausblenden */
.elementor-image-carousel-wrapper
.elementor-swiper-button-prev:hover::after {
    opacity: 0;
}


/* ==========================================
   ACTIVE / KLICK
========================================== */

.elementor-image-carousel-wrapper
.elementor-swiper-button:active svg {
    transform: scale(.88);
}













/* =========================================================
   AUTOHAUS ESSER
   RESPONSIVE FINAL
   großzügerige Typografie / saubere Abstände
   GANZ ANS ENDE DER STYLE.CSS
========================================================= */


/* =========================================================
   ALLGEMEIN
========================================================= */

html,
body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

img {
    max-width: 100%;
    height: auto;
}


/* =========================================================
   BIS 1439PX
   LAPTOP / KLEINER DESKTOP
========================================================= */

@media (max-width: 1439px) {
	
	.copyright {
    left: -80px !important;
}
	
	
	.abstand-links-weg {
    margin-left: 0em !important;
	padding-left:20px !important;
}

    /* =========================================
       TYPOGRAFIE
    ========================================= */

    .elementor-widget-text-editor {
        font-size: 28px !important;
        line-height: 1.5 !important;
    }

    h1,
    .entry-content :where(h1),
    h1 strong {
        font-size: 52px !important;
        line-height: 1.08 !important;
    }

    h3,
    .entry-content :where(h3),
    h3 strong {
        font-size: 68px !important;
        line-height: 1.06 !important;
    }

    h5,
    .entry-content :where(h5) {
        font-size: 33px !important;
    }

    .schrift-kleiner.elementor-widget-text-editor {
        font-size: 26px !important;
    }

    .font-tuerkis .elementor-widget-text-editor {
        font-size: 26px !important;
    }


    /* =========================================
       SEITENRÄNDER
    ========================================= */

    .breiter {
        padding-left: 9% !important;
        padding-right: 9% !important;
    }

     .breiter2 {
        padding-left: 7% !important;
        padding-right: 11% !important;
    }


    /* =========================================
       KLEINE H2 LABEL
    ========================================= */

    h2 {
        gap: 24px !important;

        font-size: 15px !important;
        letter-spacing: 3.4px !important;
    }

    h2::before {
        width: 68px !important;
    }


    /* =========================================
       HEADER
    ========================================= */

    header .e-con:has(.logo):has(.header-tel) {
        min-height: 125px;

        padding-left: 5% !important;
        padding-right: 5% !important;
    }

    .logo {
        margin-left: 5% !important;
    }

    .logo img {
        width: 205px !important;
        max-width: 205px !important;
    }

    .header-tel,
    .header-mail {
        min-height: 52px;

        padding: 0 22px !important;

        font-size: 15px !important;
    }
	
	.header-mail {
    top: -5px !important;
}
	

    .header-tel img,
    .header-mail img {
        width: 22px !important;

        margin-right: 12px !important;
    }


    /* =========================================
       HERO
    ========================================= */

    .hauptbild > .elementor-widget-image img {
        height: 760px !important;

        object-fit: cover !important;
        object-position: center center !important;
    }

    .hauptbild-text {
        left: 7% !important;
        bottom: 8% !important;

        max-width: 760px !important;
    }

    .hauptbild-text h2 {
        font-size: 14px !important;
    }

    .hauptbild-text h3,
    .hauptbild-text h3 strong {
        font-size: 68px !important;
        line-height: 1.02 !important;
    }

    .hauptbild-text h3 {
        margin-bottom: 27px !important;
    }

    .hauptbild-text .elementor-button {
        padding: 17px 26px 17px 59px !important;
    }

    .hauptbild-text .elementor-button-text {
        font-size: 14px !important;
    }


    /* =========================================
       KRITERIEN BOX
    ========================================= */

    .box-kriterien {
        width: calc(100% - 6em) !important;
        max-width: 920px !important;

        margin-top: -105px !important;
        margin-right: 3em !important;
    }

    .box-kriterien > .e-con-inner {
        padding: 22px 28px 25px !important;
    }

    .box-kriterien .elementor-widget-icon-box {
        padding-left: 25px !important;
        padding-right: 25px !important;
    }

    .box-kriterien .elementor-icon-box-title {
        font-size: 28px !important;
    }

    .box-kriterien
    .elementor-widget-icon-box:nth-child(3)
    .elementor-icon-box-title {
        font-size: 24px !important;
    }

    .box-kriterien .elementor-icon-box-description {
        font-size: 15px !important;
    }


    /* =========================================
       LEISTUNGEN
    ========================================= */

    .leistungen-row {
        padding-top: 42px !important;
        padding-bottom: 20px !important;
    }

    .zahlen {
        grid-template-columns: 92px 1fr !important;
        column-gap: 32px !important;
    }

    .zahlen p {
        font-size: 51px !important;
    }

    .text-klein-t p {
        font-size: 21px !important;

        line-height: 1.45 !important;
    }


    /* =========================================
       TERMIN
    ========================================= */

    .termin {
        width: calc(100% - 8em) !important;

        margin-left: 4em !important;
        margin-right: 4em !important;
    }

    .termin > .e-con-inner {
        padding: 65px 75px !important;

        gap: 55px !important;
    }

    .termin h2 {
        margin-left: 93px !important;
        margin-bottom: 24px !important;

        font-size: 17px !important;
        letter-spacing: 4px !important;
    }

    .termin h2::before {
        width: 65px !important;
        left: -88px !important;
    }

    .termin h4 {
        font-size: 40px !important;
    }

    .termin h4::first-line {
        font-size: 46px !important;
    }

    .termin h5 a {
        font-size: 32px !important;
    }

    .termin h6 a {
        font-size: 20px !important;
    }


    /* =========================================
       TEAM
    ========================================= */

    .team-card {
        min-height: 650px !important;
    }

    .team-card:nth-child(3n + 2) {
        transform: translateY(-65px);
    }

    .team-card:nth-child(3n + 2):hover {
        transform: translateY(-71px);
    }

    .team-card-content {
        padding: 345px 36px 46px !important;
    }

    .team-role {
        font-size: 14px !important;
    }

    .team-name {
        font-size: 31px !important;
    }

    .team-name span {
        font-size: 18px !important;
    }

    .team-phone {
        font-size: 15px !important;
    }

    .spruch-team p {
        font-size: 34px !important;
    }


    /* =========================================
       MARQUEE
    ========================================= */

    .marquee-track span {
        font-size: 80px !important;
    }


    /* =========================================
       FAQ
    ========================================= */

    .elementor-widget-n-accordion
    .e-n-accordion-item-title {
        padding: 25px 0 !important;
    }

    .elementor-widget-n-accordion
    .e-n-accordion-item-title-text {
        font-size: 23px !important;
    }

    .elementor-widget-n-accordion
    .e-n-accordion-item > [role="region"] {
        padding: 5px 35px 29px 64px !important;
    }

    .elementor-widget-n-accordion
    .e-n-accordion-item > [role="region"] p {
        font-size: 19px !important;

        line-height: 1.55 !important;
        letter-spacing: .04em;
    }


    /* =========================================
       FOOTER
    ========================================= */

    footer.elementor-location-footer
    .elementor-element-fd8a0f6 > .e-con-inner {
        padding: 90px 75px 80px 110px !important;

        gap: 60px !important;
    }

    .kontakt-footer h3 {
        font-size: 64px !important;
    }

    .footer1
    .elementor-widget-text-editor:not(.kontakt-footer):not(.copyright) p {
        font-size: 18px !important;
    }

    .footer2 p,
    .footer3 p {
        font-size: 21px !important;
    }

    .footer2 p:nth-child(2) a {
        font-size: 19px !important;
    }
}



/* =========================================================
   BIS 1199PX
   TABLET LANDSCAPE / KLEINE LAPTOPS
========================================================= */

@media (max-width: 1199px) {

/* =========================================================
   COPYRIGHT – RECHTER RAND DES GESAMTEN FOOTERS
========================================================= */


/* Gesamten Footer-Innenbereich zum Bezugspunkt machen */
footer.elementor-location-footer
.elementor-element-fd8a0f6 > .e-con-inner {
    position: relative !important;
}


/* WICHTIG:
   footer1 darf NICHT mehr Positionierungsrahmen sein */
footer.elementor-location-footer .footer1 {
    position: static !important;
}


    footer.elementor-location-footer .copyright {
        position: absolute !important;
        right: -2px !important;
        left: auto !important;
        top: 63% !important;
        bottom: auto !important;
        width: max-content !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: translateY(-50%) rotate(-90deg) !important;
        transform-origin: center center !important;
        z-index: 20;
    }

/* Elementor Widget-Abstände entfernen */
footer.elementor-location-footer .copyright p {
    margin: 0 !important;
    padding: 0 !important;
}


/* Schrift */
footer.elementor-location-footer .copyright a {
    display: block;

    white-space: nowrap;

    text-decoration: none !important;
}
	
    /* =========================================
       TYPOGRAFIE
    ========================================= */

    .elementor-widget-text-editor {
        font-size: 26px !important;
        line-height: 1.5 !important;
    }

    h1,
    .entry-content :where(h1),
    h1 strong {
        font-size: 48px !important;
    }

    h3,
    .entry-content :where(h3),
    h3 strong {
        font-size: 60px !important;
    }

    h5,
    .entry-content :where(h5) {
        font-size: 30px !important;
    }

    .schrift-kleiner.elementor-widget-text-editor,
    .font-tuerkis .elementor-widget-text-editor {
        font-size: 24px !important;
    }


    /* =========================================
       SEITENRAND
    ========================================= */

    .breiter,
    .breiter2 {
        padding-left: 6% !important;
        padding-right: 6% !important;
    }


    /* =========================================
       H2
    ========================================= */

    h2 {
        gap: 20px !important;

        font-size: 14px !important;
        letter-spacing: 3px !important;
    }

    h2::before {
        width: 58px !important;
    }


    /* =========================================
       HEADER
    ========================================= */

    header .e-con:has(.logo):has(.header-tel) {
        min-height: 112px;

        padding-left: 4% !important;
        padding-right: 4% !important;
    }

    .logo {
        margin-left: 2% !important;
    }

    .logo img {
        width: 180px !important;
        max-width: 180px !important;
    }

    .header-tel,
    .header-mail {
        min-height: 49px;

        padding: 0 18px !important;

        font-size: 13px !important;
    }

	.header-mail {
    top: -6px !important;
}
	
    .header-tel img,
    .header-mail img {
        width: 20px !important;

        margin-right: 9px !important;
    }


    /* =========================================
       HERO
    ========================================= */

    .hauptbild > .elementor-widget-image img {
        height: 670px !important;

        object-position: 55% center !important;
    }

    .hauptbild-text {
        left: 6% !important;
        bottom: 7% !important;

        max-width: 650px !important;
    }

    .hauptbild-text h2 {
        font-size: 12px !important;
    }

    .hauptbild-text h3,
    .hauptbild-text h3 strong {
        font-size: 59px !important;
    }

    .hauptbild-text .elementor-button {
        padding: 15px 23px 15px 54px !important;
    }

    .hauptbild-text .elementor-button-text {
        font-size: 13px !important;
    }


    /* =========================================
       KRITERIEN
    ========================================= */

    .box-kriterien {
        width: calc(100% - 4em) !important;
        max-width: 820px !important;

        margin-top: -75px !important;
        margin-right: 2em !important;
    }

    .box-kriterien > .e-con-inner {
        padding: 20px 18px 23px !important;
    }

    .box-kriterien .elementor-widget-icon-box {
        padding: 0 18px !important;
    }

    .box-kriterien .elementor-icon-box-title {
        font-size: 25px !important;
    }

    .box-kriterien
    .elementor-widget-icon-box:nth-child(3)
    .elementor-icon-box-title {
        font-size: 22px !important;
    }

    .box-kriterien .elementor-icon-box-description {
        font-size: 14px !important;

        letter-spacing: .09em;
    }


    /* =========================================
       LEISTUNGEN
    ========================================= */

    .leistungen-row {
        padding-top: 36px !important;
        padding-bottom: 18px !important;
    }

    .zahlen {
        grid-template-columns: 82px 1fr !important;
        column-gap: 26px !important;
    }

    .zahlen p {
        font-size: 47px !important;
    }

    .text-klein-t p {
        font-size: 20px !important;
    }


    /* =========================================
       TERMIN
    ========================================= */

    .termin {
        width: calc(100% - 5em) !important;

        margin-left: 2.5em !important;
        margin-right: 2.5em !important;
    }

    .termin > .e-con-inner {
        padding: 52px 52px !important;

        gap: 42px !important;
    }

    .termin h2 {
        margin-left: 82px !important;
        margin-bottom: 21px !important;

        font-size: 15px !important;
        letter-spacing: 3.3px !important;
    }

    .termin h2::before {
        width: 55px !important;
        left: -75px !important;
    }

    .termin h4 {
        margin-top: -10px !important;

        font-size: 35px !important;
    }

    .termin h4::first-line {
        font-size: 41px !important;
    }

    .termin h5 {
        margin-top: 22px !important;
        margin-bottom: 12px !important;
    }

    .termin h5 a {
        font-size: 28px !important;
    }

    .termin h6 a {
        font-size: 18px !important;
    }


    /* =========================================
       TEAM
    ========================================= */

    .team-card {
        min-height: 575px !important;
    }

    .team-card:nth-child(3n + 2),
    .team-card:nth-child(3n + 2):hover {
        transform: none !important;
    }

    .team-card-content {
        padding: 300px 28px 38px !important;
    }

    .team-role {
        font-size: 12px !important;
    }

    .team-name {
        font-size: 28px !important;
    }

    .team-name span {
        font-size: 17px !important;
    }

    .team-phone {
        font-size: 14px !important;
    }

    .spruch-team p {
        font-size: 30px !important;
    }


    /* =========================================
       FAQ
    ========================================= */

    .elementor-widget-n-accordion
    .e-n-accordion-item-title {
        padding: 22px 0 !important;
    }

    .elementor-widget-n-accordion
    .e-n-accordion-item-title-text {
        font-size: 22px !important;
    }

    .elementor-widget-n-accordion
    .e-n-accordion-item > [role="region"] {
        padding: 4px 25px 27px 60px !important;
    }

    .elementor-widget-n-accordion
    .e-n-accordion-item > [role="region"] p {
        font-size: 18px !important;
    }


    /* =========================================
       FOOTER
    ========================================= */

    footer.elementor-location-footer
    .elementor-element-fd8a0f6 > .e-con-inner {
        padding: 72px 48px 62px !important;

        gap: 48px !important;
    }

    .footer1 {
        padding-left: 0 !important;
    }

    .kontakt-footer h3 {
        margin-left: 0 !important;

        font-size: 56px !important;
    }

    .footer1
    .elementor-widget-text-editor:not(.kontakt-footer):not(.copyright) p {
        font-size: 17px !important;
    }

    .footer2 p,
    .footer3 p {
        font-size: 19px !important;
    }

    .footer2 p:nth-child(2) a {
        font-size: 17px !important;
    }
}



/* =========================================================
   BIS 1024PX
   TABLET PORTRAIT
========================================================= */

@media (max-width: 1024px) {
	
	    footer.elementor-location-footer .copyright {
        top: 30% !important;
			        right: -30px !important;

    }
	

    /* =========================================
       TYPO
    ========================================= */

    .elementor-widget-text-editor {
        font-size: 24px !important;
    }

    h1,
    .entry-content :where(h1),
    h1 strong {
        font-size: 44px !important;
    }

    h3,
    .entry-content :where(h3),
    h3 strong {
        font-size: 54px !important;
    }
	
	    .team-name {
        font-size: 28px !important;
    }

    h5,
    .entry-content :where(h5) {
        font-size: 28px !important;
    }

    .schrift-kleiner.elementor-widget-text-editor,
    .font-tuerkis .elementor-widget-text-editor {
        font-size: 22px !important;
    }

	.team-card::after {
    width: 60px;
    height: 60px;
}
	

    /* =========================================
       ABSTÄNDE
    ========================================= */

    .breiter,
    .breiter2 {
        padding-left: 42px !important;
        padding-right: 42px !important;
    }


    /* =========================================
       HERO
    ========================================= */

    .hauptbild > .elementor-widget-image img {
        height: 620px !important;

        object-position: 57% center !important;
    }

    .hauptbild-text {
        left: 6% !important;
        bottom: 7% !important;
    }

    .hauptbild-text h2 {
        font-size: 11px !important;
    }

    .hauptbild-text h3,
    .hauptbild-text h3 strong {
        font-size: 53px !important;
    }


    /* =========================================
       KRITERIEN
    ========================================= */

    .box-kriterien {
        width: calc(100% - 60px) !important;
        max-width: none !important;

        margin-left: 30px !important;
        margin-right: 30px !important;
        margin-top: -55px !important;
    }

    .box-kriterien .elementor-icon-box-title {
        font-size: 23px !important;
    }

    .box-kriterien
    .elementor-widget-icon-box:nth-child(3)
    .elementor-icon-box-title {
        font-size: 21px !important;
    }

    .box-kriterien .elementor-icon-box-description {
        font-size: 13px !important;
    }


    /* =========================================
       LEISTUNGEN
    ========================================= */

    .zahlen p {
        font-size: 43px !important;
    }

    .text-klein-t p {
        font-size: 19px !important;
    }


    /* =========================================
       TERMIN
    ========================================= */

    .termin {
        width: calc(100% - 60px) !important;

        margin-left: 30px !important;
        margin-right: 30px !important;
    }

    .termin > .e-con-inner {
        padding: 46px 40px !important;

        gap: 34px !important;
    }

    .termin h4 {
        font-size: 33px !important;
    }

    .termin h4::first-line {
        font-size: 38px !important;
    }

    .termin h5 a {
        font-size: 26px !important;
    }


    /* =========================================
       TEAM
    ========================================= */

    .team-card {
        min-height: 535px !important;
    }

    .team-card-content {
        padding: 270px 25px 34px !important;
    }


    /* =========================================
       FAQ
    ========================================= */

    .elementor-widget-n-accordion
    .e-n-accordion-item-title-text {
        font-size: 21px !important;
    }

    .elementor-widget-n-accordion
    .e-n-accordion-item > [role="region"] p {
        font-size: 17px !important;
    }


    /* =========================================
       FOOTER 2 SPALTEN
    ========================================= */

    footer.elementor-location-footer
    .elementor-element-fd8a0f6 > .e-con-inner {
        grid-template-columns: 1fr 1fr !important;
    }

    .footer1 {
        grid-column: 1 / -1;
    }

    .footer2,
    .footer3 {
        padding-top: 15px !important;
    }
}



/* =========================================================
   BIS 767PX
   MOBILE
========================================================= */

@media (max-width: 767px) {

		.elementor-image-carousel-wrapper .elementor-swiper-button {
    top: -47px !important;
 
}
	
    /* =========================================
       TYPOGRAFIE
       bewusst noch relativ groß
    ========================================= */

    .elementor-widget-text-editor {
        font-size: 21px !important;
        line-height: 1.55 !important;
    }

    h1,
    .entry-content :where(h1),
    h1 strong {
        font-size: 38px !important;
        line-height: 1.1 !important;
    }

    h3,
    .entry-content :where(h3),
    h3 strong {
        font-size: 46px !important;
        line-height: 1.08 !important;
    }

    h5,
    .entry-content :where(h5) {
        font-size: 25px !important;
    }

    .schrift-kleiner.elementor-widget-text-editor {
        font-size: 20px !important;
    }

    .font-tuerkis .elementor-widget-text-editor {
        font-size: 20px !important;
    }


    /* =========================================
       SEITENRAND
    ========================================= */

    .breiter,
    .breiter2 {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }

    .abstand-links-weg {
        margin-left: 0 !important;
    }


    /* =========================================
       KLEINE SECTION LABEL
    ========================================= */

    h2 {
        gap: 13px !important;

        font-size: 11px !important;

        line-height: 1.4 !important;
        letter-spacing: 2px !important;
    }

    h2::before {
        width: 34px !important;
    }


    /* =========================================
       HEADER
    ========================================= */

    header .e-con:has(.logo):has(.header-tel) {
        min-height: auto;

        padding: 20px !important;

        flex-direction: row !important;
        align-items: center !important;

        gap: 15px;
    }

    .logo {
        margin: 0 !important;
    }

    .logo img {
        width: 140px !important;
        max-width: 140px !important;
    }

    header .e-con:has(.header-tel) {
        margin-left: auto !important;
    }

    .header-tel,
    .header-mail {
        min-height: 44px;

        padding: 0 12px !important;

        font-size: 10.5px !important;

        letter-spacing: .05em;
    }

    .header-tel img,
    .header-mail img {
        width: 18px !important;

        margin-right: 7px !important;
    }

    .header-mail {
        top: 0 !important;
        margin-left: 0 !important;
    }


    /* =========================================
       HERO
    ========================================= */

    .hauptbild,
    .hauptbild > .elementor-widget-image img {
        height: 585px !important;
        min-height: 585px !important;
    }

    .hauptbild > .elementor-widget-image img {
        object-fit: cover !important;
        object-position: 60% center !important;
    }

      .hauptbild-text {
        left: 45px !important;
        right: 22px !important;
        bottom: 38px !important;
        max-width: none !important;
    }

    .hauptbild-text h2 {
        max-width: 320px;

        margin-bottom: 13px !important;

        font-size: 10px !important;

        line-height: 1.4 !important;
        letter-spacing: .14em !important;
    }

    .hauptbild-text h3,
    .hauptbild-text h3 strong {
        font-size: 44px !important;
        line-height: 1.02 !important;
    }

       .hauptbild-text h3 {
        margin-bottom: 5px !important;
    }

    .hauptbild-text h2::before {
        left: -15px;
        top: -22px;

        width: 27px;
        height: 2px;
    }

    .hauptbild-text h2::after {
        left: -15px;
        top: -22px;

        width: 2px;
        height: 27px;
    }

    .hauptbild-text .elementor-button {
        padding: 14px 20px 14px 50px !important;
    }

    .hauptbild-text .elementor-button::before {
        left: 18px;

        width: 14px;
        height: 14px;
    }

    .hauptbild-text .elementor-button-text {
        font-size: 11px !important;

        letter-spacing: .11em !important;
    }


    /* =========================================
       KRITERIEN
    ========================================= */
    .box-kriterien {
        width: calc(100% - 0px) !important;
        max-width: none !important;
        margin: -22px 0 0 !important;
        clip-path: polygon(0 0, 100% 0, 100% calc(100% - 27px), calc(100% - 27px) 100%, 0 100%);
        padding: 0 !important;
    }
	
	
	    .box-kriterien .elementor-icon-box-title, .box-kriterien .elementor-widget-icon-box:nth-child(3) .elementor-icon-box-title {
        margin-top: -14px !important;
    }
	
	
	
    .box-kriterien > .e-con-inner {
        padding: 15px 25px 28px !important;

        display: flex !important;
        flex-direction: column !important;
    }

      .box-kriterien .elementor-widget-icon-box {
        padding: 0px 0 23px !important;
    }

    .box-kriterien
    .elementor-widget-icon-box:not(:last-child)::after {
        top: auto;
        right: 8%;
        bottom: 0;

        width: 84%;
        height: 1px;
    }

    .box-kriterien .elementor-icon-box-icon {
        margin-bottom: 10px !important;
    }

    .box-kriterien .elementor-icon svg {
        width: 36px !important;
        height: 36px !important;

        margin-bottom: 0 !important;
    }

    .box-kriterien .elementor-icon-box-title,
    .box-kriterien
    .elementor-widget-icon-box:nth-child(3)
    .elementor-icon-box-title {
        font-size: 23px !important;
    }

    .box-kriterien .elementor-icon-box-description {
        font-size: 13px !important;

        line-height: 1.4 !important;
        letter-spacing: .07em;
    }


    /* =========================================
       LEISTUNGEN
    ========================================= */

    .leistungen-row {
        padding-top: 27px !important;
        padding-bottom: 20px !important;
    }

    .zahlen {
        grid-template-columns: 68px 1fr !important;

        column-gap: 17px !important;
    }

    .zahlen p {
        font-size: 39px !important;
    }

    .text-klein-t p {
        font-size: 17px !important;

        line-height: 1.5 !important;
        letter-spacing: .03em;
    }
	
	  

	    h5, .entry-content :where(h5) {
        margin-bottom: 0 !important;
    }
	
	
	.zahlen {
    align-items: center !important;
		display: block !important;
}
	
	    .zahlen p {
        display: block !important;
        width: 100% !important;
    }
	
	

    /* =========================================
       TERMIN
    ========================================= */

    .termin {
        width: calc(100% - 32px) !important;

        margin-left: 16px !important;
        margin-right: 16px !important;

        clip-path: polygon(
            0 0,
            100% 0,
            100% 91%,
            92% 100%,
            0 100%
        );
    }

    .termin > .e-con-inner {
        padding: 42px 27px 48px !important;

        flex-direction: column !important;
        align-items: flex-start !important;

        gap: 30px !important;
    }

    .termin > .e-con-inner > .e-con {
        width: 100% !important;
    }

    .termin .elementor-element-b70c0bf,
    .termin .elementor-element-0e5850a {
        width: 100% !important;
    }

    .termin h2 {
        margin: 0 0 20px 52px !important;

        font-size: 11px !important;
        letter-spacing: 2.2px !important;
    }

    .termin h2::before {
        width: 37px !important;
        left: -52px !important;
    }

       .termin h4 {
        margin-top: 0 !important;
        font-size: 26px !important;
        line-height: 1.12 !important;
    }

    .termin h4::first-line {
        font-size: 29px !important;
    }

    .termin h5,
    .termin h6 {
        text-align: left !important;
    }

    .termin h5 {
        margin-top: 0 !important;
        margin-bottom: 11px !important;
    }

    .termin h5 a {
        font-size: 25px !important;
        letter-spacing: 1px !important;
    }

    .termin h6 a {
        font-size: 17px !important;
        letter-spacing: 1px !important;
    }

	.termin > .e-con-inner > .e-con {
        text-align: center !important;
    }
	
	.termin h2 {display:none !important;}

    /* =========================================
       TEAM
    ========================================= */

    .team-card {
        min-height: 520px !important;

        transform: none !important;
    }

    .team-card:nth-child(3n + 2),
    .team-card:nth-child(3n + 2):hover,
    .team-card:hover {
        transform: none !important;
    }

    .team-card-content {
        padding: 255px 24px 32px !important;
    }

    .team-role {
        margin-bottom: 11px;

        font-size: 11px !important;

        letter-spacing: .13em;
    }

    .team-name {
        margin-bottom: 21px !important;

        font-size: 27px !important;
    }

    .team-name span {
        font-size: 17px !important;
    }

    .team-phone {
        gap: 10px;

        font-size: 13px !important;

        letter-spacing: .07em;
    }

    .team-phone img {
        width: 25px;
        height: 25px;
    }

    .team-card::after {
        width: 65px;
        height: 65px;
    }


	/* Dreieck wird etwas größer */
.team-card:hover::after {
    width: 85px;
    height: 85px;

}
	
	
    /* =========================================
       TEAM SPRUCH
    ========================================= */

    .spruch-team {
        max-width: 285px;

        margin: 60px auto !important;
    }

    .spruch-team p {
        font-size: 27px !important;
    }

    .spruch-team::before {
        left: -18px;
        top: -50px;

        width: 48px;
        height: 2px;
    }

    .spruch-team::after {
        left: -18px;
        top: -50px;

        width: 2px;
        height: 48px;
    }

	.spruch-team {display:none !important;}
    /* =========================================
       MARQUEE
    ========================================= */

    .marquee-track span {
        font-size: 58px !important;

        letter-spacing: 1px;
    }


    /* =========================================
       CAROUSEL PFEILE
    ========================================= */

    .elementor-image-carousel-wrapper
    .elementor-swiper-button {
        width: 50px !important;
        height: 47px !important;
    }

    .elementor-image-carousel-wrapper
    .elementor-swiper-button-next {
        left: 50px !important;
    }

    .elementor-image-carousel-wrapper
    .elementor-swiper-button svg {
        width: 18px !important;
        height: 18px !important;
    }


    /* =========================================
       FAQ
    ========================================= */

    .elementor-widget-n-accordion
    .e-n-accordion-item-title {
        padding: 19px 0 !important;

        gap: 13px !important;
    }

    .elementor-widget-n-accordion
    .e-n-accordion-item-title-text {
        font-size: 19px !important;

        line-height: 1.4 !important;
    }

    .elementor-widget-n-accordion
    .e-n-accordion-item-title-icon {
        width: 27px !important;
        height: 27px !important;

        flex: 0 0 27px !important;
    }

    .elementor-widget-n-accordion
    .e-n-accordion-item-title-icon .e-closed::before,
    .elementor-widget-n-accordion
    .e-n-accordion-item-title-icon .e-opened::before {
        font-size: 34px !important;
    }

    .elementor-widget-n-accordion
    .e-n-accordion-item > [role="region"] {
        padding: 3px 3px 25px 40px !important;
    }

    .elementor-widget-n-accordion
    .e-n-accordion-item > [role="region"] p {
        font-size: 16px !important;

        line-height: 1.6 !important;
        letter-spacing: .015em;
    }


    /* =========================================
       FOOTER
    ========================================= */

    footer.elementor-location-footer
    .elementor-element-fd8a0f6 > .e-con-inner {
        display: flex !important;
        flex-direction: column !important;

        padding: 55px 26px 46px !important;

        gap: 43px !important;
    }

    .footer1,
    .footer2,
    .footer3 {
        width: 100% !important;

        padding: 0 !important;
        margin: 0 !important;
    }

    .kontakt-footer h3 {
        margin: 0 0 28px 0 !important;

        font-size: 48px !important;
    }

    .footer1
    .elementor-widget-text-editor:not(.kontakt-footer):not(.copyright) p {
        max-width: 100%;

        margin-bottom: 24px !important;

        font-size: 16px !important;
        line-height: 1.6 !important;
        letter-spacing: .04em;
    }

    .footer1 .elementor-button {
        padding: 15px 21px 15px 53px !important;
    }

    .footer1 .elementor-button::before {
        left: 21px;

        width: 15px;
        height: 15px;
    }

    .footer1 .elementor-button-text {
        font-size: 12px !important;
    }

    .footer2 p,
    .footer3 p {
        font-size: 17px !important;

        line-height: 1.55 !important;
    }

    .footer2 p:nth-child(2) a {
        font-size: 15px !important;
    }

    .footer3 {
        padding-top: 90px !important;
    }

    .footer3 .elementor-widget-image {
        top: 0 !important;
        left: 0 !important;
        right: auto !important;
    }

    .footer3 .elementor-widget-image img {
        width: 78px !important;
    }

    .footer3 p:nth-child(2) {
        margin-top: 22px !important;
    }

    .footer3 p a {
        font-size: 12px !important;
        line-height: 1.5 !important;
    }

    .copyright {
        position: static !important;

        margin-top: 18px !important;

        transform: none !important;
    }

    .copyright a {
        font-size: 10px !important;
    }
	
	
	    .header-tel,
    .header-mail {
        font-size: 0 !important;
        letter-spacing: 0 !important;

        width: 48px !important;
        min-width: 48px !important;
        height: 48px !important;
        min-height: 48px !important;

        padding: 0 !important;

        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .header-tel img,
    .header-mail img {
        width: 21px !important;
        height: 21px !important;

        margin: 0 !important;
        padding: 0 !important;

        object-fit: contain;
    }

    .header-mail {
        top: 0 !important;
        margin-left: 0 !important;
    }
	
	    footer.elementor-location-footer .copyright {
        top: auto !important;
        right: -30px !important;
        bottom: 108px !important;
    }
	
}







/* =========================================================
   BIS 575PX
   KLEINERE SMARTPHONES
========================================================= */

@media (max-width: 575px) {

    /* =========================================
       TYPO
    ========================================= */

    .elementor-widget-text-editor {
        font-size: 20px !important;
    }

    h1,
    .entry-content :where(h1),
    h1 strong {
        font-size: 35px !important;
    }

    h3,
    .entry-content :where(h3),
    h3 strong {
        font-size: 41px !important;
    }

    h5,
    .entry-content :where(h5) {
        font-size: 24px !important;
    }

    .schrift-kleiner.elementor-widget-text-editor,
    .font-tuerkis .elementor-widget-text-editor {
        font-size: 19px !important;
    }


    /* =========================================
       ABSTÄNDE
    ========================================= */

    .breiter,
    .breiter2 {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }


    /* =========================================
       HEADER
    ========================================= */

    header .e-con:has(.logo):has(.header-tel) {
        padding: 19px !important;

        flex-direction: column !important;
        align-items: flex-start !important;

        gap: 17px !important;
    }

    .logo img {
        width: 135px !important;
        max-width: 135px !important;
    }

    header .e-con:has(.header-tel) {
        margin-left: 0 !important;
    }

    header
    .elementor-widget-text-editor:has(.header-tel)
    .elementor-widget-container {
        display: flex !important;
        flex-direction: row !important;

        width: auto !important;
        max-width: 100% !important;
    }

    .header-tel,
    .header-mail {
        min-height: 42px;

        padding: 0 11px !important;

        font-size: 10px !important;
    }

    .header-tel img,
    .header-mail img {
        width: 16px !important;

        margin-right: 6px !important;
    }


    /* =========================================
       HERO
    ========================================= */

    .hauptbild,
    .hauptbild > .elementor-widget-image img {
        height: 550px !important;
        min-height: 550px !important;
    }

    .hauptbild > .elementor-widget-image img {
        object-position: 62% center !important;
    }

    .hauptbild-text {
        left: 22px !important;
        right: 18px !important;
        bottom: 30px !important;
    }

    .hauptbild-text h2 {
        max-width: 270px;

        font-size: 12px !important;
    }

    .hauptbild-text h3,
    .hauptbild-text h3 strong {
        font-size: 40px !important;
    }

    .hauptbild-text .elementor-button {
        padding: 13px 17px 13px 46px !important;
    }

      .hauptbild-text .elementor-button-text {
        font-size: 12px !important;
    }


    /* =========================================
       KRITERIEN
    ========================================= */

    .box-kriterien {
        width: calc(100%) !important;
        margin-left: 0px !important;
        margin-right: 0px !important;
    }

    .box-kriterien .elementor-icon-box-title,
    .box-kriterien
    .elementor-widget-icon-box:nth-child(3)
    .elementor-icon-box-title {
        font-size: 22px !important;
    }

    .box-kriterien .elementor-icon-box-description {
        font-size: 12px !important;
    }


    /* =========================================
       LEISTUNGEN
    ========================================= */

    .leistungen-row {
        padding-top: 23px !important;
        padding-bottom: 17px !important;
    }

    .zahlen {
        grid-template-columns: 60px 1fr !important;

        column-gap: 14px !important;
    }

    .zahlen p {
        font-size: 35px !important;
    }

    .text-klein-t p {
        font-size: 16px !important;
    }


    /* =========================================
       TERMIN
    ========================================= */

    .termin {
        width: calc(100% - 26px) !important;

        margin-left: 13px !important;
        margin-right: 13px !important;
    }

    .termin > .e-con-inner {
        padding: 36px 22px 43px !important;

        gap: 26px !important;
    }

    .termin h4 {
        font-size: 29px !important;
    }

    .termin h4::first-line {
        font-size: 32px !important;
    }

    .termin h5 a {
        font-size: 23px !important;
    }

    .termin h6 a {
        font-size: 16px !important;
    }


    /* =========================================
       TEAM
    ========================================= */

    .team-card {
        min-height: 480px !important;
    }

    .team-card-content {
        padding: 235px 21px 29px !important;
    }

    .team-role {
        font-size: 10px !important;
    }

    .team-name {
        font-size: 25px !important;
    }

    .team-name span {
        font-size: 16px !important;
    }

    .team-phone {
        font-size: 12px !important;
    }

    .spruch-team p {
        font-size: 25px !important;
    }


    /* =========================================
       MARQUEE
    ========================================= */

    .marquee-track span {
        font-size: 52px !important;
    }


    /* =========================================
       FAQ
    ========================================= */

    .elementor-widget-n-accordion
    .e-n-accordion-item-title-text {
        font-size: 18px !important;
    }

    .elementor-widget-n-accordion
    .e-n-accordion-item > [role="region"] p {
        font-size: 15px !important;
    }


    /* =========================================
       FOOTER
    ========================================= */
    footer.elementor-location-footer .elementor-element-fd8a0f6 > .e-con-inner {
        padding: 90px 34px 80px !important;
        gap: 38px !important;
    }

    .kontakt-footer h3 {
        font-size: 43px !important;
    }

    .footer1
    .elementor-widget-text-editor:not(.kontakt-footer):not(.copyright) p {
        font-size: 15px !important;
    }

    .footer2 p,
    .footer3 p {
        font-size: 16px !important;
    }
}



/* =========================================================
   BIS 390PX
   SEHR KLEINE SMARTPHONES
========================================================= */

@media (max-width: 390px) {

    .elementor-widget-text-editor {
        font-size: 19px !important;
    }

    h1,
    .entry-content :where(h1),
    h1 strong {
        font-size: 33px !important;
    }

    h3,
    .entry-content :where(h3),
    h3 strong {
        font-size: 38px !important;
    }

    h5,
    .entry-content :where(h5) {
        font-size: 23px !important;
    }


    .breiter,
    .breiter2 {
        padding-left: 17px !important;
        padding-right: 17px !important;
    }


    /* HERO */

    .hauptbild,
    .hauptbild > .elementor-widget-image img {
        height: 525px !important;
        min-height: 525px !important;
    }

    .hauptbild-text {
        left: 19px !important;
        right: 16px !important;
        bottom: 27px !important;
    }

    .hauptbild-text h3,
    .hauptbild-text h3 strong {
        font-size: 37px !important;
    }


    /* HEADER */

    .header-tel,
    .header-mail {
        font-size: 9px !important;

        padding-left: 9px !important;
        padding-right: 9px !important;
    }


    /* KRITERIEN */

    .box-kriterien {
        width: calc(100% - 20px) !important;

        margin-left: 10px !important;
        margin-right: 10px !important;
    }


    /* TERMIN */

    .termin {
        width: calc(100% - 20px) !important;

        margin-left: 10px !important;
        margin-right: 10px !important;
    }


    /* TEAM */

    .team-card {
        min-height: 460px !important;
    }

    .team-card-content {
        padding-top: 220px !important;
    }

    .team-name {
        font-size: 24px !important;
    }


    /* FAQ */

    .elementor-widget-n-accordion
    .e-n-accordion-item-title-text {
        font-size: 17px !important;
    }

    .elementor-widget-n-accordion
    .e-n-accordion-item > [role="region"] p {
        font-size: 15px !important;
    }
}



/* =========================================================
   TOUCH DEVICES
========================================================= */

@media (hover: none) {

    .team-card:hover,
    .team-card:nth-child(3n + 2):hover,
    .header-tel:hover,
    .header-mail:hover,
    .hauptbild-text .elementor-button:hover,
    .footer1 .elementor-button:hover {
        transform: none !important;
    }

    .team-card:hover .team-card-image img {
        transform: none !important;
    }
}



/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }

    .marquee-track {
        animation: none !important;
    }
}



/* ==========================================
   MOBILE HEADER – LOGO + ICONS IN EINER ZEILE
========================================== */

@media (max-width: 767px) {

    /* kompletter Header */
    header .e-con:has(.logo):has(.header-tel) {
        width: 100% !important;

        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;

        padding: 16px 20px !important;
        margin: 0 !important;

        gap: 15px !important;

        min-height: 80px !important;
    }


    /* Logo links */
    .logo {
        width: auto !important;
        max-width: none !important;

        flex: 0 0 auto !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    .logo > .e-con-inner {
        width: auto !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    .logo img {
        width: 135px !important;
        max-width: 135px !important;
        height: auto !important;

        display: block !important;
    }


    /* rechter Container */
    header .e-con:has(.header-tel) {
        width: auto !important;
        max-width: max-content !important;

        flex: 0 0 auto !important;

        margin: 0 0 0 auto !important;
        padding: 0 !important;
    }

    header .e-con:has(.header-tel) > .e-con-inner {
        width: auto !important;
        max-width: max-content !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    /* Widget mit beiden Links */
    header
    .elementor-widget-text-editor:has(.header-tel) {
        width: auto !important;
        max-width: max-content !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    header
    .elementor-widget-text-editor:has(.header-tel)
    .elementor-widget-container {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;

        width: auto !important;
        max-width: max-content !important;

        margin: 0 !important;
        padding: 0 !important;

        gap: 8px !important;
    }


    /* Telefonnummer + Kontakttext ausblenden */
    .header-tel,
    .header-mail {
        width: 46px !important;
        min-width: 46px !important;

        height: 46px !important;
        min-height: 46px !important;

        padding: 0 !important;
        margin: 0 !important;

        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        flex: 0 0 46px !important;

        font-size: 0 !important;
        line-height: 0 !important;
        letter-spacing: 0 !important;
    }


    /* Mail-Versatz vom Desktop entfernen */
    .header-mail {
        top: 0 !important;
        margin-left: 0 !important;
    }


    /* Icons */
    .header-tel img,
    .header-mail img {
        display: block !important;

        width: 20px !important;
        height: 20px !important;

        max-width: none !important;

        margin: 0 !important;
        padding: 0 !important;

        object-fit: contain !important;
    }
}


/* ==========================================
   KLEINE HANDYS
========================================== */

@media (max-width: 480px) {

    header .e-con:has(.logo):has(.header-tel) {
        padding: 14px 16px !important;
        gap: 10px !important;
    }

    .logo img {
        width: 120px !important;
        max-width: 120px !important;
    }

    .header-tel,
    .header-mail {
        width: 43px !important;
        min-width: 43px !important;

        height: 43px !important;
        min-height: 43px !important;

        flex-basis: 43px !important;
    }

    .header-tel img,
    .header-mail img {
        width: 19px !important;
        height: 19px !important;
    }

    header
    .elementor-widget-text-editor:has(.header-tel)
    .elementor-widget-container {
        flex-direction: row !important;
        gap: 6px !important;
    }
}



/* =========================================================
   HEADER MOBILE FINAL FIX
   Logo + Telefon + Mail IMMER in einer Zeile
========================================================= */

@media (max-width: 767px) {

	.font-tuerkis .elementor-widget-text-editor p {
    text-underline-offset: 5px;
}
	
    /* Äußerer Header: Logo links / Icons rechts */
    header .e-con:has(.logo):has(.header-tel) {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;

        align-items: center !important;
        justify-content: space-between !important;

        width: 100% !important;
        min-height: 100px !important;

        padding: 16px 18px !important;
        margin: 0 !important;

        gap: 12px !important;
    }


    /* Logo-Container */
    header .logo {
        display: flex !important;
        flex: 0 0 auto !important;

        width: auto !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 0 !important;

        align-items: center !important;
    }

    header .logo > .e-con-inner {
        display: flex !important;
        align-items: center !important;

        width: auto !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 0 !important;
    }

       header .logo img {
        display: block !important;
        width: 140px !important;
        max-width: 140px !important;
        height: auto !important;
        margin: 0 !important;
    }

    /* Rechter Container */
    header .e-con:has(.header-tel) {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;

        align-items: center !important;

        flex: 0 0 auto !important;

        width: auto !important;
        max-width: none !important;

        margin: 0 0 0 auto !important;
        padding: 0 !important;
    }

    header .e-con:has(.header-tel) > .e-con-inner {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;

        align-items: center !important;
        justify-content: flex-end !important;

        width: auto !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    /* Text-Widget */
    header .elementor-widget-text-editor:has(.header-tel) {
        width: auto !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    header
    .elementor-widget-text-editor:has(.header-tel)
    .elementor-widget-container {
        display: flex !important;

        /* wichtig: überschreibt deine alte 480px-column-Regel */
        flex-direction: row !important;
        flex-wrap: nowrap !important;

        align-items: center !important;
        justify-content: flex-end !important;

        width: auto !important;
        max-width: none !important;

        gap: 7px !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    /* Telefon + Mail */
    header .header-tel,
    header .header-mail {
        display: inline-flex !important;

        align-items: center !important;
        justify-content: center !important;

        flex: 0 0 44px !important;

        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;

        height: 44px !important;
        min-height: 44px !important;

        padding: 0 !important;
        margin: 0 !important;

        font-size: 0 !important;
        line-height: 0 !important;
        letter-spacing: 0 !important;
    }


    /* alten Mail-Versatz entfernen */
    header .header-mail {
        top: 0 !important;
        left: auto !important;
        right: auto !important;

        margin: 0 !important;
    }


    /* Icons */
    header .header-tel img,
    header .header-mail img {
        display: block !important;

        width: 20px !important;
        height: 20px !important;
        max-width: 20px !important;

        margin: 0 !important;
        padding: 0 !important;

        object-fit: contain !important;
    }
}


/* =========================================================
   480PX UND KLEINER
   Alte column-Regel nochmals explizit neutralisieren
========================================================= */

@media (max-width: 480px) {
	
	    header .logo {
        display: block;
        align-items: center !important;
        position: relative !important;
        left: 23px !important;
    }
	
	
    header .e-con:has(.header-tel) {
        display: block !important;
        padding: 0 !important;
        position: relative !important;
        right: 15px !important;
        width: 93px !important;
        float: none !important;
    }
		
		
	

    header .e-con:has(.logo):has(.header-tel) {
        flex-direction: row !important;
        flex-wrap: nowrap !important;

        align-items: center !important;
        justify-content: space-between !important;

        padding: 14px 15px !important;
    }

    header
    .elementor-widget-text-editor:has(.header-tel)
    .elementor-widget-container {
        flex-direction: row !important;
        flex-wrap: nowrap !important;

        align-items: center !important;

        gap: 6px !important;
    }

    header .logo img {
        width: 112px !important;
        max-width: 112px !important;
    }

    header .header-tel,
    header .header-mail {
        flex: 0 0 42px !important;

        width: 42px !important;
        min-width: 42px !important;
        max-width: 42px !important;

        height: 42px !important;
        min-height: 42px !important;
    }

    header .header-tel img,
    header .header-mail img {
        width: 19px !important;
        height: 19px !important;
    }
}
