.elementor-kit-7{--e-global-color-primary:#363636;--e-global-color-secondary:#53534D;--e-global-color-text:#232522;--e-global-color-accent:#FCC107;--e-global-color-6da955d:#FFFFFF;--e-global-typography-primary-font-family:"Maven";--e-global-typography-secondary-font-family:"Maven";--e-global-typography-text-font-family:"Maven";--e-global-typography-accent-font-family:"Maven";font-family:"Maven", Sans-serif;--e-page-transition-entrance-animation:e-page-transition-fade-out;--e-page-transition-animation-duration:1500ms;--e-preloader-animation-duration:1500ms;--e-preloader-delay:0ms;--e-preloader-color:#FFF;--e-preloader-size:45px;}.elementor-kit-7 e-page-transition{background-color:var( --e-global-color-accent );}.elementor-kit-7 p{margin-block-end:0px;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{color:var( --e-global-color-primary );border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;--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){margin-block-end:var(--r-gap);}.elementor-element{--widgets-spacing:var(--r-gap) var(--c-gap);--widgets-spacing-row:var(--r-gap);--widgets-spacing-column:var(--c-gap);}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@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-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* SIZE VARS */

    :root {
    --small: clamp(16px, 13px + 0.2vw, 18px);
    --medium-small: calc(var(--small) * 1.5);
    --medium: calc(var(--small) * 2);
    --medium-large: calc(var(--small) * 2.25);
    --large: calc(var(--small) * 4);
    --xlarge: calc(var(--small) * 5);
    
    --line-height-small: 125%;
    --line-height-large: 150%;

    --mp: max(30px, 8.6vw);

    --triple-mp: calc(var(--mp) * 3);
    --double-mp: calc(var(--mp) * 2);

    --half-mp: calc(var(--mp) / 2);
    --quarter-mp: calc(var(--mp) / 4);
    --eighth-mp: calc(var(--mp) / 8);


    --c-gap: var(--eighth-mp);
    --r-gap: var(--eighth-mp);
    }
    
    /* Tablet */
    @media (max-width: 1024px) {
        :root {
            --c-gap: var(--quarter-mp);
            --r-gap: var(--quarter-mp);
        }
    }
    
    /* Smartphone */
    @media (max-width: 767px) {
        :root {
            --medium-small: calc(var(--small) * 1.25);
            --medium: calc(var(--small) * 1.5);
            --medium-large: calc(var(--small) * 1.75);
            --large: calc(var(--small) * 2.5);
            --c-gap: var(--half-mp);
            --r-gap: var(--half-mp);
        }
    }
    
    body {
        font-family: var(--e-global-typography-primary-font-family), Sans-serif !important;
        font-feature-settings: "salt" 1;

    }


/* FONT-SIZES */

    .large *{
        --font-size: var(--large);
        font-size: var(--font-size);
        line-height: var(--line-height-small)!important;
        text-underline-offset: calc(var(--font-size)*0.3);
    }
    
    .medium-large *{
        --font-size: var(--medium-large);
        font-size: var(--font-size);
        line-height: var(--line-height-small)!important;
        text-underline-offset: calc(var(--font-size)*0.3)
    }
    
    .medium *{
        --font-size: var(--medium);
        font-size: var(--font-size);
        line-height: var(--line-height-small)!important;
        text-underline-offset: calc(var(--font-size)*0.3)
    }
    
    .medium-small *{
        --font-size: var(--medium-small);
        font-size: var(--font-size);
        line-height: var(--line-height-small);
        text-underline-offset: calc(var(--font-size)*0.3)
    }
    
    .small *,
    p{
        --font-size: var(--small);
        font-size: var(--font-size);
        font-family: var( --e-global-typography-primary-font-family ), Sans-serif!important;
        line-height: var(--line-height-large)!important;
        text-underline-offset: calc(var(--font-size)*0.25);
        hyphens: auto;
    }
    
    .paragraph-offset p {
        margin: 0;
    }

    .paragraph-offset p + p {
        margin-top: calc(var(--font-size) / 2);
    }
    
    .hyphenate {
        word-wrap: break-word;
        overflow-wrap: break-word;
        -webkit-hyphens: auto;
        -moz-hyphens: auto;
        hyphens: auto;
    }
    
    @media (max-width: 1024px) {
    
        .mobile-hyphens{
            word-wrap: break-word;
            overflow-wrap: break-word;
            -webkit-hyphens: auto;
            -moz-hyphens: auto;
            hyphens: auto;
        }
        
    }
    

/*LINKS UND BUTTONS*/

    p a {
        font-weight: 700;
        color: inherit;
    }
    
    .elementor-widget-text-editor a{
        color: #363636!important;
        text-decoration: underline;
    }

    .btn-small,
    .elementor-field-type-submit .elementor-button,
    .btn-small-passive
    {
        --font-size: var(--small)!important;
        font-size: var(--font-size);
        margin-bottom: var(--font-size);
        transition: transform 0.2s ease-in-out;
    }
    
    .btn-small a,
    .elementor-field-type-submit .elementor-button{
        background-color: #FCC107!important;
        color: #363636;
        font-family: var( --e-global-typography-primary-font-family ), Sans-serif!important;
        border-radius: var(--font-size)!important;
        font-weight: bold;
        padding: calc(var(--font-size)*1) calc(var(--font-size)*2)!important;
    }
    
    .btn-small-passive a{
        background-color: #363636!important;
        color: #ffffff!important;
        font-family: var( --e-global-typography-primary-font-family ), Sans-serif!important;
        border-radius: var(--font-size)!important;
        font-weight: bold;
        padding: calc(var(--font-size)*1) calc(var(--font-size)*2)!important;
        
    }
    
    .elementor-field-type-submit .elementor-button{
        margin-top: var(--font-size);
    }
    
    .btn-small:hover,
    .btn-small-passive:hover {
        transform: scale(1.05);
    }
    
    .nav-menu a{
        color: #ffffff!important;
    }
    
    .nav-menu a:hover{
        color: #FCC107!important;
    }
    
        
    .btn-textlink-icon-back,
    .btn-textlink-icon-next {
      display: inline-flex;
      align-items: center;
      gap: 0.4em;
      font-family: "Segoe UI", system-ui, -apple-system, sans-serif;
      font-weight: 700;
      font-size: 1rem;
      color: #333;
      text-decoration: none;
      background: none;
      border: none;
      padding: 0.25em 0;
      cursor: pointer;
      transition: color 0.15s ease;
    }
    
    .btn-textlink-icon-back a,
    .btn-textlink-icon-next a{
      background: #ffffff00!important;  
    }
    
    .btn-textlink-icon-back:hover,
    .btn-textlink-icon-next:hover {
      color: #000;
    }
    
    .btn-textlink-icon-back:focus-visible,
    .btn-textlink-icon-next:focus-visible {
      outline: 2px solid #333;
      outline-offset: 3px;
      border-radius: 2px;
    }
    
    .btn-textlink-icon-back::before,
    .btn-textlink-icon-next::after {
      font-size: 1.3em;
      line-height: 1;
      transform: translateY(-0.05em);
      transition: transform 0.15s ease;
    }

    .btn-textlink-icon-back::before {
      content: "‹";
    }
    .btn-textlink-icon-back:hover::before {
      transform: translate(-3px, -0.05em);
    }
    
    .btn-textlink-icon-next::after {
      content: "›";
    }
    .btn-textlink-icon-next:hover::after {
      transform: translate(3px, -0.05em);
    }
    
/* ASPECT RATIOS */

    .ar-3-2,
    .ar-3-2 img{
        aspect-ratio: 3/2;
    }
    
    .ar-16-9,
    .ar-16-9 img{
        aspect-ratio: 16/9;
    }
    
/* KONTAKTBOX */

    #contact-box {
        width: 60px;
        position: fixed;
        right: 0;
        top: 50%;
        transform: translateY(-50%); /* echt vertikal zentriert */
        z-index: 999;
        transition: opacity 0.3s ease, visibility 0.3s ease;
    }
    
    #contact-box.is-hidden {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
    }
    
    /* Tablet */
    @media (max-width: 1024px) {
        #contact-box {
            width: 50px;
        }
    }
    
    /* Mobil */
    @media (max-width: 767px) {
        #contact-box {
            width: 100px;
            top: auto;
            bottom: 0px;
            transform: none;
        }
    }
    
/* PROJECT-DETAILS */

@media (min-width: 768px) {
  .listing-project-details .jet-listing-grid__items {
    align-items: flex-end;
  }

  .listing-project-details .jet-listing-grid__item img {
    display: block;
    width: 100%;
    height: auto;
  }

  /* Zeile 1: 45 / 55 */
  .listing-project-details .jet-listing-grid__item:nth-child(6n+1) {
    flex: 0 0 45%;
    max-width: 45%;
  }
  .listing-project-details .jet-listing-grid__item:nth-child(6n+2) {
    flex: 0 0 55%;
    max-width: 55%;
  }

  /* Zeile 2: groß, rechtsbündig */
  .listing-project-details .jet-listing-grid__item:nth-child(6n+3) {
    flex: 0 0 min(80vw, 100%);
    max-width: min(80vw, 100%);
    margin-left: auto;
  }

    /* Zeile 3: 60 / 40, rechts mit Abstand */
  .listing-project-details .jet-listing-grid__item:nth-child(6n+4) {
    flex: 0 0 60%;
    max-width: 60%;
  }
  .listing-project-details .jet-listing-grid__item:nth-child(6n+5) {
    flex: 0 0 calc(40% - var(--mp));
    max-width: calc(40% - var(--mp));
    margin-right: var(--mp);
  }

  /* Zeile 4: groß, linksbündig */
  .listing-project-details .jet-listing-grid__item:nth-child(6n) {
    flex: 0 0 min(80vw, 100%);
    max-width: min(80vw, 100%);
    margin-right: auto;
    margin-left: calc(var(--mp)*-1);

  }
}

/* HEADER-LISTING REFERENZ-ÜBERISCHT */

    /* Listing liegt deckungsgleich über dem äußeren Container */
    .ref-header-listing {
      position: absolute !important;
      inset: 0;
      width: 100% !important;
      max-width: none !important;
      margin: 0 !important;
    }
    
    /* Alle Wrapper inkl. Slider übernehmen die volle Höhe */
    .ref-header-listing > .elementor-widget-container,
    .ref-header-listing .jet-listing-grid,
    .ref-header-listing .jet-listing-grid__slider,
    .ref-header-listing .jet-listing-grid__items,
    .ref-header-listing .slick-list,
    .ref-header-listing .jet-listing-grid__item,
    .ref-header-listing .jet-listing-grid__item > .elementor {
      height: 100%;
    }
    
    .ref-header-listing .slick-track {
      display: flex;
      height: 100%;
    }
    
    /* Container um Bild + Teaser, Teaser füllt ihn aus */
    .ref-header-listing .jet-listing-grid__item > .elementor > .e-con {
      display: flex;
      flex-direction: column;
      height: 100%;
    }
    
    .ref-header-listing .ref-header-teaser {
      flex: 1 1 auto;
    }
    
    /* Dots ins Bild legen statt darunter */
    .ref-header-listing .jet-slick-dots {
      position: absolute;
      left: 0;
      right: 0;
      bottom: var(--quarter-mp);
      margin: 0;
    }
    
    .ref-header-listing .jet-listing-grid__item {
      padding: 0 !important;
    }
    
    .ref-header-listing .jet-listing-grid__items {
      margin: 0 !important;
    }
    
    .ref-header-listing .ref-header-img {
      inset: 0 !important;
      width: 100% !important;
      height: 100% !important;
    }
    
    .ref-header-listing .ref-header-img > .elementor-widget-container {
      height: 100% !important;
    }
    
    .ref-header-listing .ref-header-img img {
      display: block;
      width: 100% !important;
      height: 100% !important;
      max-width: none !important;
      object-fit: cover !important;
    }
    

/* STEPS LISTING 3 COLUMNS */

    .steps-listing-3-col {
      --steps-divider-color: #999;
      --steps-divider-inset: calc(var(--half-mp) / 2);
    }
    
    .steps-listing-3-col .jet-listing-grid__item {
      position: relative;
    }
    
    .steps-listing-3-col .jet-listing-grid__item::before {
      content: none;
      position: absolute;
      left: 0;
      top: var(--steps-divider-inset);
      bottom: var(--steps-divider-inset);
      margin-left: -7px;
      width: 14px;
      background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='20' viewBox='0 0 14 20'%3E%3Cpath d='M.5 0l12 10L.5 20' fill='none' stroke='%23999' stroke-width='1'/%3E%3C/svg%3E") left center / 14px 20px no-repeat,
        linear-gradient(var(--steps-divider-color), var(--steps-divider-color)) left top / 1px calc(50% - 10px) no-repeat,
        linear-gradient(var(--steps-divider-color), var(--steps-divider-color)) left bottom / 1px calc(50% - 10px) no-repeat;
      pointer-events: none;
    }
    
    @media (min-width: 1025px) {
      .steps-listing-3-col .jet-listing-grid__item:not(:nth-child(3n+1))::before {
        content: "";
      }
    }
    
    @media (min-width: 768px) and (max-width: 1024px) {
      .steps-listing-3-col .jet-listing-grid__item:nth-child(even)::before {
        content: "";
      }
    }


/* STEPS LISTING 4 COLUMNS */

    .steps-listing-4-col {
      --steps-divider-color: #999;
      --steps-divider-inset: calc(var(--half-mp) / 2);
      --steps-row-gap: 0px; /* an den row-gap des Grids anpassen */
    }
    
    .steps-listing-4-col .jet-listing-grid__item {
      position: relative;
    }
    
    .steps-listing-4-col .jet-listing-grid__item::before {
      content: none;
      position: absolute;
      left: 0;
      top: var(--steps-divider-inset);
      bottom: var(--steps-divider-inset);
      margin-left: -7px;
      width: 14px;
      background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='20' viewBox='0 0 14 20'%3E%3Cpath d='M.5 0l12 10L.5 20' fill='none' stroke='%23999' stroke-width='1'/%3E%3C/svg%3E") left center / 14px 20px no-repeat,
        linear-gradient(var(--steps-divider-color), var(--steps-divider-color)) left top / 1px calc(50% - 10px) no-repeat,
        linear-gradient(var(--steps-divider-color), var(--steps-divider-color)) left bottom / 1px calc(50% - 10px) no-repeat;
      pointer-events: none;
    }
    
    /* Desktop: 4 Spalten */
    @media (min-width: 1025px) {
      /* vertikale Trennstriche nur innerhalb einer Zeile */
      .steps-listing-4-col .jet-listing-grid__item:not(:nth-child(4n+1))::before {
        content: "";
      }
    
      /* horizontale Linie zwischen den Zeilen (ab dem 5. Element) */
      .steps-listing-4-col .jet-listing-grid__item:nth-child(4n+1):nth-child(n+5)::after {
        content: "";
        position: absolute;
        left: var(--steps-divider-inset);
        right: var(--steps-divider-inset);
        top: calc(var(--steps-row-gap) / -2);
        height: 1px;
        background: var(--steps-divider-color);
        pointer-events: none;
      }
    }
    
    /* Tablet: 2 Spalten */
    @media (min-width: 768px) and (max-width: 1024px) {
      .steps-listing-4-col .jet-listing-grid__item:nth-child(even)::before {
        content: "";
      }
    }
    
/* TEXT-BILD-KOMBINATIONEN IMAGES */

    /* Widget + Container geben die Höhe weiter */
    .tbk-img,
    .tbk-img > .elementor-widget-container {
      height: 100%;
      width: 100%;
    }
    
    /* das div selbst */
    .tbk-img .jet-listing-dynamic-image {
      display: flex;
      width: 100%;
      height: 100%;
    }
    
    /* Link (falls vorhanden) und Bild füllen das div */
    .tbk-img .jet-listing-dynamic-image__link {
      display: flex;
      width: 100%;
      height: 100%;
    }
    
    .tbk-img .jet-listing-dynamic-image__img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    
/* HEADER */

    .header-teaser {
        background-size: cover !important;
        background-position: center;
        background-repeat: no-repeat;
    }
    
    /* Header */
    .mm-header {
      transition: padding .3s ease, box-shadow .3s ease !important;
    }
    
    /* Logo normal */
    .mm-header .mm-logo img {
      transition: width .3s ease, max-width .3s ease !important;
    }
    
    /* Header geschrumpft – Desktop */
    .mm-header.elementor-sticky--effects {
      padding-top: calc(var(--eighth-mp) / 1.25) !important;
      padding-bottom: calc(var(--eighth-mp) / 1.25) !important;
      box-shadow: 0 2px 12px rgba(0,0,0,.25);
    }
    
    /* Header geschrumpft – Tablet */
    @media (max-width: 1024px) {
      .mm-header.elementor-sticky--effects {
        padding-top: var(--half-mp) !important;
        padding-bottom: var(--half-mp) !important;
      }
    }
    
    /* Logo geschrumpft */
    .mm-header.elementor-sticky--effects .mm-logo img {
        width: 75%;
        max-width: 150px!important;
    }
    
    /* Barrierefreiheit: keine Animation, wenn der Nutzer reduzierte Bewegung eingestellt hat */
    @media (prefers-reduced-motion: reduce) {
      .mm-header, .mm-header * { transition: none !important; }
    }/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Maven';
	font-display: auto;
	src: url('https://www.moebelmeier.at/wp-content/uploads/2026/10/MavenPro-VariableFont_wght.ttf') format('truetype');
}
/* End Custom Fonts CSS */