.elementor-kit-7{--e-global-color-primary:#0967B1;--e-global-color-secondary:#021E47;--e-global-color-text:#0967B1;--e-global-color-accent:#59C6F2;--e-global-color-c583714:#FFFFFF;--e-global-color-8f72d14:#000000;--e-global-color-f21cec3:#022F63;--e-global-color-8e3a28e:#E1EAF5;--e-global-color-5b8cce9:#E1EAF566;--e-global-color-461877f:#E1EAF533;--e-global-color-53eb48e:#0967B100;--e-global-typography-primary-font-family:"Safiro";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Safiro";--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-font-style:italic;--e-global-typography-secondary-line-height:1.2em;--e-global-typography-text-font-family:"Safiro";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Safiro";--e-global-typography-accent-font-weight:500;--e-global-typography-926245c-font-family:"Safiro";--e-global-typography-926245c-font-size:14px;font-size:17px;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{background-color:var( --e-global-color-53eb48e );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );color:var( --e-global-color-primary );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-primary );border-radius:0px 0px 0px 0px;}.elementor-kit-7 button:hover,.elementor-kit-7 button:focus,.elementor-kit-7 input[type="button"]:hover,.elementor-kit-7 input[type="button"]:focus,.elementor-kit-7 input[type="submit"]:hover,.elementor-kit-7 input[type="submit"]:focus,.elementor-kit-7 .elementor-button:hover,.elementor-kit-7 .elementor-button:focus{background-color:var( --e-global-color-53eb48e );color:var( --e-global-color-c583714 );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-primary );}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 p{margin-block-end:17px;}.elementor-kit-7 a{color:var( --e-global-color-primary );}.elementor-kit-7 a:hover{color:var( --e-global-color-accent );}.elementor-kit-7 h1{font-size:72px;line-height:1em;}.elementor-kit-7 h2{font-size:48px;line-height:1em;}.elementor-kit-7 h6{font-size:14px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1220px;}.e-con{--container-max-width:1220px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:60px;}.elementor-element{--widgets-spacing:60px 60px;--widgets-spacing-row:60px;--widgets-spacing-column:60px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-7{--e-global-typography-926245c-font-size:13px;font-size:16px;}.elementor-kit-7 h1{font-size:40px;}.elementor-kit-7 h2{font-size:27px;}.elementor-kit-7 h6{font-size:13px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */.elementor-widget-text-editor p {
    margin-block-end: 10px;
}
.elementor-widget-text-editor p:last-of-type {
    margin-block-end: 0px;
}

a {
    transition: all 0.3s;
}

.elementor-widget-theme-post-content ul,
.elementor-widget-text-editor ul {
    padding-left: 1em;
}

blockquote {
    margin: 0px !important;
    background: transparent !important;
}

blockquote:before,
blockquote:after {
    color: var(--e-global-color-8e3a28e) !important;
}

.elementor-button-icon .zwiicon- {
    font-size: 24px;
    margin-top: -6px;
    margin-bottom: -5px;
    margin-left: -6px;
}

/* Alle Paddings global steuern */
@media (max-width: 1024px) {
.cta-hero {
    --padding-bottom: 30px !important;
}
}


/* Link unterstreichen Ani */
@keyframes v-link-animate-underline {
    0% {
        background-size: 100% 95%;
        background-position-x: right
    }

    38% {
        background-size: 0 95%;
        background-position-x: right
    }

    39% {
        background-size: 0 95%;
        background-position-x: left
    }

    100% {
        background-size: 100% 95%;
        background-position-x: left
    }
}
.v-span,
.v-link p a {
    width: 100%;
    background-repeat: no-repeat;
    background-image: linear-gradient(transparent calc(100% - 0.07em),currentColor .07em);
    background-size: 100% 95%
}

.v-span:hover,
.v-link p a:hover {
    animation: v-link-animate-underline 1.1s cubic-bezier(.32,.32,.15,1.17) forwards;
}

/* Link unterstreichen Menü */
@keyframes v-menu-animate-underline {
    0% {
        background-size: 0 85%;
        background-position-x: left
    }

    100% {
        background-size: 100% 85%;
        background-position-x: left
    }
}
.v-link li a {
    width: 100%;
    background-repeat: no-repeat;
    background-image: linear-gradient(transparent calc(100% - 0.05em),currentColor .05em);
    background-size: 0% 85%
}
.v-link li a:hover {
    animation: v-menu-animate-underline 0.5s cubic-bezier(.32,.32,.15,1.17) forwards;
}


/* button slide animation */
.btn-slide a:hover,
.btn-slide a:focus,
.btn-slide input[type="submit"]:hover,
.btn-slide input[type="submit"]:focus {
    background-position: -100% 0;
}
.btn-slide a, .btn-slide input[type="submit"] {
    background-size: 200% 100%;
    background-image: linear-gradient(to right, var(--e-global-color-53eb48e) 50%, var(--e-global-color-primary) 50%);
    transition: background-position 0.3s;
}
.btn-slide-full a:hover,
.btn-slide-full a:focus {
    background-position: -100% 0;
}
.btn-slide-full a {
    background-size: 200% 100%;
    background-image: linear-gradient(to right, var(--e-global-color-primary) 50%, var(--e-global-color-53eb48e) 50%);
    transition: background-position 0.3s;
}
.e-n-menu-title:hover,
.e-n-menu-title:focus {
    background-position: -100% 0;
}
.e-n-menu-title {
    background-size: 200% 100%;
    background-image: linear-gradient(to right, var(--e-global-color-53eb48e) 50%, var(--e-global-color-primary) 50%);
    transition: background-position 0.3s;
}

/* Kontaktformular */
.contact-form {
    font-family: var(--e-global-typography-text-font-family), Sans-serif;
    font-weight: var(--e-global-typography-text-font-weight);
    color: var( --e-global-color-text);
}
.contact-form input {
    margin-bottom: 10px;
    border-radius: 0;
}
.contact-form input[type=checkbox] {
    margin-bottom: 0px;
}
.contact-form div.form-acc > label {
    font-size: 13px;
}
.contact-form textarea {
    margin-bottom: 0px;
    border-radius: 0;
    border: 0;
}
.contact-form .wpcf7-select {
    margin-bottom: 10px;
}

.contact-form .wpcf7-text {
    border: 0;
}
.contact-form .flex-row {
    display: flex;
    gap: 10px 10px;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
}
.contact-form .flex-col {
    display: flex;
    flex-direction: column;
    flex-basis: 100%;
    flex: 1;
}

.contact-form input[type="submit"] {
    width: 50%;
    margin-top: 20px;
}

.contact-form input:focus, .contact-form textarea:focus {
    outline:none;
}
.contact-form a {
    color: var( --e-global-color-primary );
    transition: color 0.3s ease;
}
.contact-form a:hover {
    color: var( --e-global-color-accent );
    transition: color 0.3s ease-out;
}

.contact-form .ds-txt {
    font-size: 14px;
}

.contact-form .wpcf7-list-item {
    margin-left: 0px;
}

/* Dropdown weiß & modern machen */
.wpcf7 .wpcf7-select,
.wpcf7 select {
    background-color: #ffffff !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 8px 12px !important;
    height: 40px !important;
    font-size: 16px !important;
    appearance: none !important;               /* System-Pfeil weg */
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 9l4-4H2z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    background-size: 12px !important;
    cursor: pointer !important;
}

/* Hover & Focus Zustand */
.wpcf7 .wpcf7-select:hover,
.wpcf7 select:hover,
.wpcf7 .wpcf7-select:focus,
.wpcf7 select:focus {
    outline: none !important;
}

/* Optional: Dropdown-Optionen etwas hübscher (funktioniert nicht überall) */
.wpcf7 select option {
    background: #ffffff;
    color: #111827;
    padding: 8px 12px;
}


@media only screen and (max-width: 768px) {
.contact-form input[type="submit"] {
    width: 100%;
    margin-top: 20px;
}
.contact-form .flex-row {
    flex-direction: column;
    gap: 0px 0px;
    width: 100%;
}
}
/* Kontaktformular */

/* Luftwechselrechner */

.cta-rechner {
    font-family: var(--e-global-typography-text-font-family), Sans-serif;
    font-weight: var(--e-global-typography-text-font-weight);
    max-width: 900px;
    
}

.inputs-row {
  display: flex;
  flex-wrap: nowrap;          /* Kein Umbruch – immer nebeneinander */
  gap: 10px;                 /* Abstand zwischen den Feldern */
  margin-bottom: 20px;
}

.input-group {
  flex: 1 1 33.333%;         /* Jede Box genau 33,33% Breite */
  min-width: 0;              /* Verhindert, dass sie zu groß werden */
}

.input-group label {
  display: block;
  margin-bottom: 8px;
  font-weight: var(--e-global-typography-accent-font-weight);
  color: var(--e-global-color-text);;
}

.input-group input {
  width: 100%;
  padding: 8px 10px;
  font-size: 18px;
  border: 1px solid #ddd;
  border-radius: 0;
  box-sizing: border-box;
  transition: border-color 0.3s;
}

.input-group input:focus {
  outline: none;
  border-color: #0073aa;
}

.ergebnis-box {
  padding: 20px;
  background: var(--e-global-color-8e3a28e);
  font-size: 17px;
  text-align: left;
  color: #005177;
}

.ergebnis-box strong {
  color: #333;
}
.info-box {
    margin-top: 20px;
}

::placeholder {
  color: var(--e-global-color-primary);
  opacity: 1; /* Firefox */
}

/* Auf sehr schmalen Bildschirmen (unter 480px) etwas kleiner machen */
@media (max-width: 480px) {
  .inputs-row {
    gap: 12px;
  }
  
  .input-group {
    flex: 1 1 33.333%;
  }
  
  .input-group input {
    padding: 8px 10px;
    font-size: 17px;
  }
}

/* Luftwechselrechner */

/* Gallery styling*/
.gallerie-4-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);          /* Immer 2 Spalten als Basis */
    gap: 1.25rem;                                   /* Abstand ca. 20px */
    max-width: 1200px;
    margin: 0 auto;
    padding: 1rem 0;
}

.gallerie-item {
    transition: all 0.3s ease;
}

.gallerie-item img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    aspect-ratio: 4 / 3;                            /* Dein gewünschtes Format – ändere zu 1/1 für square */
    transition: transform 0.35s ease;
}

.gallerie-item:hover img {
    transform: scale(1.06);
}

.gallerie-caption {
    text-align: center;
    font-size: 0.875rem;
    margin-top: 0.75rem;
    color: #4b5563;
    padding: 0 0.5rem;
}

/* Ab Tablet (≥768px) → 3 Spalten */
@media (min-width: 768px) {
    .gallerie-4-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 1.5rem;                                /* Größerer Abstand ab Tablet */
    }
}

/* Optional: Noch mehr Spalten ab Desktop (≥1024px) */
@media (min-width: 1024px) {
    .gallerie-4-grid {
        grid-template-columns: repeat(3, 1fr);      /* Bleibt bei 3, oder ändere zu repeat(4, 1fr) */
    }
}
/* Gallery styling*//* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Safiro';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://cta.virtuosen.at/wp-content/uploads/2025/12/safiro-semibold-webfont.eot');
	src: url('https://cta.virtuosen.at/wp-content/uploads/2025/12/safiro-semibold-webfont.eot?#iefix') format('embedded-opentype'),
		url('https://cta.virtuosen.at/wp-content/uploads/2025/12/safiro-semibold-webfont.woff2') format('woff2'),
		url('https://cta.virtuosen.at/wp-content/uploads/2025/12/safiro-semibold-webfont.woff') format('woff'),
		url('https://cta.virtuosen.at/wp-content/uploads/2025/12/safiro-semibold-webfont.ttf') format('truetype');
}
@font-face {
	font-family: 'Safiro';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://cta.virtuosen.at/wp-content/uploads/2025/12/safiro-regular-webfont.eot');
	src: url('https://cta.virtuosen.at/wp-content/uploads/2025/12/safiro-regular-webfont.eot?#iefix') format('embedded-opentype'),
		url('https://cta.virtuosen.at/wp-content/uploads/2025/12/safiro-regular-webfont.woff2') format('woff2'),
		url('https://cta.virtuosen.at/wp-content/uploads/2025/12/safiro-regular-webfont.woff') format('woff'),
		url('https://cta.virtuosen.at/wp-content/uploads/2025/12/safiro-regular-webfont.ttf') format('truetype');
}
@font-face {
	font-family: 'Safiro';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://cta.virtuosen.at/wp-content/uploads/2025/12/safiro-semibold-webfont.eot');
	src: url('https://cta.virtuosen.at/wp-content/uploads/2025/12/safiro-semibold-webfont.eot?#iefix') format('embedded-opentype'),
		url('https://cta.virtuosen.at/wp-content/uploads/2025/12/safiro-semibold-webfont.woff2') format('woff2'),
		url('https://cta.virtuosen.at/wp-content/uploads/2025/12/safiro-semibold-webfont.woff') format('woff'),
		url('https://cta.virtuosen.at/wp-content/uploads/2025/12/safiro-semibold-webfont.ttf') format('truetype');
}
@font-face {
	font-family: 'Safiro';
	font-style: italic;
	font-weight: normal;
	font-display: auto;
	src: url('https://cta.virtuosen.at/wp-content/uploads/2025/12/safiro-regularitalic-webfont.eot');
	src: url('https://cta.virtuosen.at/wp-content/uploads/2025/12/safiro-regularitalic-webfont.eot?#iefix') format('embedded-opentype'),
		url('https://cta.virtuosen.at/wp-content/uploads/2025/12/safiro-regularitalic-webfont.woff2') format('woff2'),
		url('https://cta.virtuosen.at/wp-content/uploads/2025/12/safiro-regularitalic-webfont.woff') format('woff'),
		url('https://cta.virtuosen.at/wp-content/uploads/2025/12/safiro-regularitalic-webfont.ttf') format('truetype');
}
@font-face {
	font-family: 'Safiro';
	font-style: italic;
	font-weight: 600;
	font-display: auto;
	src: url('https://cta.virtuosen.at/wp-content/uploads/2025/12/safiro-semibolditalic-webfont.eot');
	src: url('https://cta.virtuosen.at/wp-content/uploads/2025/12/safiro-semibolditalic-webfont.eot?#iefix') format('embedded-opentype'),
		url('https://cta.virtuosen.at/wp-content/uploads/2025/12/safiro-semibolditalic-webfont.woff2') format('woff2'),
		url('https://cta.virtuosen.at/wp-content/uploads/2025/12/safiro-semibolditalic-webfont.woff') format('woff'),
		url('https://cta.virtuosen.at/wp-content/uploads/2025/12/safiro-semibolditalic-webfont.ttf') format('truetype');
}
/* End Custom Fonts CSS */