.elementor-kit-4212{--e-global-color-primary:#000000;--e-global-color-secondary:#F9F9F9;--e-global-color-text:#4B4F58;--e-global-color-accent:#FFC64C;--e-global-color-74d7d4e:#104C6A;--e-global-color-032d44f:#F2F2F2;--e-global-color-8315449:#FFF200;--e-global-color-34cc8cf:#FFFFFF;--e-global-color-332d03b:#FFFFFF00;--e-global-color-0f02601:#D5D5D5;--e-global-color-7289f21:#FFFFFFCC;--e-global-typography-primary-font-family:"Roboto Condensed";--e-global-typography-primary-font-size:2.7rem;--e-global-typography-primary-font-weight:600;--e-global-typography-primary-text-transform:uppercase;--e-global-typography-primary-font-style:normal;--e-global-typography-primary-text-decoration:none;--e-global-typography-primary-line-height:1.1em;--e-global-typography-primary-letter-spacing:0px;--e-global-typography-primary-word-spacing:0em;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-size:25px;--e-global-typography-secondary-font-weight:300;--e-global-typography-secondary-text-transform:capitalize;--e-global-typography-secondary-font-style:normal;--e-global-typography-secondary-text-decoration:none;--e-global-typography-secondary-line-height:1em;--e-global-typography-secondary-letter-spacing:0px;--e-global-typography-secondary-word-spacing:0em;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-size:15px;--e-global-typography-text-font-weight:300;--e-global-typography-text-text-transform:none;--e-global-typography-text-font-style:normal;--e-global-typography-text-text-decoration:none;--e-global-typography-text-line-height:1.5em;--e-global-typography-text-letter-spacing:0px;--e-global-typography-text-word-spacing:0em;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-size:15px;--e-global-typography-accent-font-weight:400;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-font-style:normal;--e-global-typography-accent-text-decoration:none;--e-global-typography-accent-line-height:1em;--e-global-typography-accent-letter-spacing:0px;--e-global-typography-accent-word-spacing:0em;--e-global-typography-77d74d8-font-family:"Montserrat";--e-global-typography-77d74d8-font-size:55px;--e-global-typography-77d74d8-font-weight:500;--e-global-typography-77d74d8-text-transform:uppercase;--e-global-typography-77d74d8-font-style:normal;--e-global-typography-77d74d8-text-decoration:none;--e-global-typography-77d74d8-line-height:1.1em;--e-global-typography-77d74d8-letter-spacing:0px;--e-global-typography-77d74d8-word-spacing:0em;--e-global-typography-9c513db-font-family:"Montserrat";--e-global-typography-9c513db-font-size:18px;--e-global-typography-9c513db-font-weight:400;--e-global-typography-9c513db-text-transform:capitalize;--e-global-typography-9c513db-font-style:normal;--e-global-typography-9c513db-text-decoration:none;--e-global-typography-9c513db-line-height:1.4em;--e-global-typography-9c513db-letter-spacing:0px;--e-global-typography-9c513db-word-spacing:0em;--e-global-typography-7ec37f5-font-family:"Montserrat";--e-global-typography-7ec37f5-font-size:18px;--e-global-typography-7ec37f5-font-weight:400;--e-global-typography-7ec37f5-text-transform:uppercase;--e-global-typography-7ec37f5-font-style:normal;--e-global-typography-7ec37f5-text-decoration:none;--e-global-typography-7ec37f5-line-height:1em;--e-global-typography-7ec37f5-letter-spacing:0px;--e-global-typography-7ec37f5-word-spacing:0em;--e-global-typography-cb00108-font-family:"Montserrat";--e-global-typography-cb00108-font-size:22px;--e-global-typography-cb00108-font-weight:500;--e-global-typography-cb00108-text-transform:uppercase;--e-global-typography-cb00108-font-style:normal;--e-global-typography-cb00108-text-decoration:none;--e-global-typography-cb00108-line-height:1.2em;--e-global-typography-cb00108-letter-spacing:0px;--e-global-typography-cb00108-word-spacing:0em;--e-global-typography-076386f-font-family:"Montserrat";--e-global-typography-076386f-font-size:14px;--e-global-typography-076386f-font-weight:300;--e-global-typography-076386f-text-transform:uppercase;--e-global-typography-076386f-font-style:normal;--e-global-typography-076386f-text-decoration:none;--e-global-typography-076386f-line-height:1.5em;--e-global-typography-076386f-letter-spacing:0px;--e-global-typography-076386f-word-spacing:0em;--e-global-typography-e0d3795-font-family:"Montserrat";--e-global-typography-e0d3795-font-size:15px;--e-global-typography-e0d3795-font-weight:500;--e-global-typography-e0d3795-text-transform:uppercase;--e-global-typography-e0d3795-font-style:normal;--e-global-typography-e0d3795-text-decoration:none;--e-global-typography-e0d3795-line-height:1.2em;--e-global-typography-e0d3795-letter-spacing:0px;--e-global-typography-e0d3795-word-spacing:0em;--e-global-typography-6ed0199-font-family:"Montserrat";--e-global-typography-6ed0199-font-size:20px;--e-global-typography-6ed0199-font-weight:300;--e-global-typography-6ed0199-text-transform:capitalize;--e-global-typography-6ed0199-font-style:normal;--e-global-typography-6ed0199-text-decoration:none;--e-global-typography-6ed0199-line-height:1.2em;--e-global-typography-6ed0199-letter-spacing:0px;--e-global-typography-6ed0199-word-spacing:0em;--e-global-typography-1017133-font-family:"Montserrat";--e-global-typography-1017133-font-size:35px;--e-global-typography-1017133-font-weight:500;--e-global-typography-1017133-text-transform:uppercase;--e-global-typography-1017133-font-style:normal;--e-global-typography-1017133-text-decoration:none;--e-global-typography-1017133-line-height:1.2em;--e-global-typography-1017133-letter-spacing:0px;--e-global-typography-1017133-word-spacing:0em;--e-global-typography-3edfa02-font-family:"Montserrat";--e-global-typography-3edfa02-font-size:50px;--e-global-typography-3edfa02-font-weight:500;--e-global-typography-3edfa02-text-transform:uppercase;--e-global-typography-3edfa02-font-style:normal;--e-global-typography-3edfa02-text-decoration:none;--e-global-typography-3edfa02-line-height:1em;--e-global-typography-3edfa02-letter-spacing:0px;--e-global-typography-3edfa02-word-spacing:0em;--e-global-typography-dba8883-font-family:"Montserrat";--e-global-typography-dba8883-font-size:20px;--e-global-typography-dba8883-font-weight:300;--e-global-typography-dba8883-text-transform:uppercase;--e-global-typography-dba8883-font-style:normal;--e-global-typography-dba8883-text-decoration:none;--e-global-typography-dba8883-line-height:1.2em;--e-global-typography-dba8883-letter-spacing:0px;--e-global-typography-dba8883-word-spacing:0em;--e-global-typography-0b87a87-font-family:"Montserrat";--e-global-typography-0b87a87-font-size:75px;--e-global-typography-0b87a87-font-weight:800;--e-global-typography-0b87a87-text-transform:uppercase;--e-global-typography-0b87a87-font-style:normal;--e-global-typography-0b87a87-text-decoration:none;--e-global-typography-0b87a87-line-height:1.2em;--e-global-typography-0b87a87-letter-spacing:0px;--e-global-typography-0b87a87-word-spacing:0em;--e-global-typography-938098f-font-family:"Montserrat";--e-global-typography-938098f-font-size:100px;--e-global-typography-938098f-font-weight:600;--e-global-typography-938098f-text-transform:uppercase;--e-global-typography-938098f-font-style:normal;--e-global-typography-938098f-text-decoration:none;--e-global-typography-938098f-line-height:1.2em;--e-global-typography-938098f-letter-spacing:0px;--e-global-typography-938098f-word-spacing:0em;background-color:var( --e-global-color-34cc8cf );font-family:"Roboto", Sans-serif;font-size:1.2rem;line-height:1.4em;}.elementor-kit-4212 button,.elementor-kit-4212 input[type="button"],.elementor-kit-4212 input[type="submit"],.elementor-kit-4212 .elementor-button{background-color:#F2F2F2;font-family:"Roboto Condensed", Sans-serif;font-size:1.2rem;font-weight:500;text-transform:uppercase;letter-spacing:0.5px;text-shadow:0px 0px 0px rgba(0,0,0,0.3);color:#0D3241;box-shadow:0px 0px 10px 0px rgba(0, 0, 0, 0.62);border-style:none;border-radius:50px 50px 50px 50px;padding:13px 15px 13px 15px;}.elementor-kit-4212 button:hover,.elementor-kit-4212 button:focus,.elementor-kit-4212 input[type="button"]:hover,.elementor-kit-4212 input[type="button"]:focus,.elementor-kit-4212 input[type="submit"]:hover,.elementor-kit-4212 input[type="submit"]:focus,.elementor-kit-4212 .elementor-button:hover,.elementor-kit-4212 .elementor-button:focus{background-color:#2275A0;color:#FFFFFF;box-shadow:0px 0px 10px 0px #000000;border-style:none;border-radius:50px 50px 50px 50px;}.elementor-kit-4212 e-page-transition{background-color:#FFBC7D;}.elementor-kit-4212 a{color:#104C6A;}.elementor-kit-4212 h1{color:#0D3241;font-family:"Roboto Condensed", Sans-serif;font-size:2.8rem;font-weight:700;text-transform:uppercase;line-height:1.2em;}.elementor-kit-4212 h2{color:#0D3241;font-family:"Roboto Condensed", Sans-serif;font-size:2.2rem;font-weight:600;text-transform:none;letter-spacing:1px;}.elementor-kit-4212 h3{color:#2275A0;font-family:"Roboto Condensed", Sans-serif;font-size:1.6rem;font-weight:500;text-transform:uppercase;line-height:1.2em;}.elementor-kit-4212 h4{color:#0D3241;font-size:1.6rem;font-weight:500;line-height:1.5em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1400px;}.e-con{--container-max-width:1400px;--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:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-4212{--e-global-typography-primary-font-size:35px;--e-global-typography-secondary-font-size:22px;--e-global-typography-77d74d8-font-size:45px;--e-global-typography-6ed0199-font-size:18px;--e-global-typography-1017133-font-size:25px;--e-global-typography-3edfa02-font-size:45px;--e-global-typography-0b87a87-font-size:45px;--e-global-typography-938098f-font-size:45px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-4212{--e-global-typography-primary-font-size:30px;--e-global-typography-secondary-font-size:20px;--e-global-typography-text-font-size:15px;--e-global-typography-text-line-height:1.6em;--e-global-typography-accent-font-size:15px;--e-global-typography-accent-line-height:1em;--e-global-typography-77d74d8-font-size:35px;--e-global-typography-6ed0199-font-size:20px;--e-global-typography-1017133-font-size:30px;--e-global-typography-3edfa02-font-size:30px;--e-global-typography-0b87a87-font-size:50px;--e-global-typography-938098f-font-size:35px;}.elementor-kit-4212 h1{font-size:1.8rem;line-height:1.4em;letter-spacing:0.2px;}.elementor-kit-4212 h2{font-size:1.8rem;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --hellgrau:#f2f2f2; --Rahmenfarbe:#8a8a8a; --hintergrund-hellblau:#2275a0; --hintergrund-dunkelbalu:#104c6a; --hintergrund-weiss:#ffffff; --DUP_hellgrau:#f2f2f2; --textfarbe:#222222; }
/* Start custom CSS *//* Fluid typography (rem + clamp) - generiert, ersetzt feste px/rem-Werte und die stufigen Tablet/Mobile-Breakpoints */
.elementor-kit-4212{
  font-size: clamp(1.1rem, 1.067rem + 0.13vw, 1.2rem) !important;
  --e-global-typography-primary-font-size: clamp(1.875rem, 1.6rem + 1.1vw, 2.7rem) !important;
  --e-global-typography-secondary-font-size: clamp(1.25rem, 1.146rem + 0.42vw, 1.5625rem) !important;
  --e-global-typography-text-font-size: 0.9375rem !important;
  --e-global-typography-accent-font-size: 0.9375rem !important;
  --e-global-typography-77d74d8-font-size: clamp(2.1875rem, 1.771rem + 1.67vw, 3.4375rem) !important;
  --e-global-typography-9c513db-font-size: clamp(0.9375rem, 0.875rem + 0.25vw, 1.125rem) !important;
  --e-global-typography-7ec37f5-font-size: clamp(0.9375rem, 0.875rem + 0.25vw, 1.125rem) !important;
  --e-global-typography-cb00108-font-size: clamp(1.125rem, 1.042rem + 0.33vw, 1.375rem) !important;
  --e-global-typography-076386f-font-size: clamp(0.75rem, 0.708rem + 0.17vw, 0.875rem) !important;
  --e-global-typography-e0d3795-font-size: clamp(0.8125rem, 0.771rem + 0.17vw, 0.9375rem) !important;
  --e-global-typography-6ed0199-font-size: clamp(1.125rem, 1.083rem + 0.17vw, 1.25rem) !important;
  --e-global-typography-1017133-font-size: clamp(1.5625rem, 1.354rem + 0.83vw, 2.1875rem) !important;
  --e-global-typography-3edfa02-font-size: clamp(1.875rem, 1.458rem + 1.67vw, 3.125rem) !important;
  --e-global-typography-dba8883-font-size: clamp(1.0625rem, 1rem + 0.25vw, 1.25rem) !important;
  --e-global-typography-0b87a87-font-size: clamp(2.8125rem, 2.1875rem + 2.5vw, 4.6875rem) !important;
  --e-global-typography-938098f-font-size: clamp(2.1875rem, 0.833rem + 5.42vw, 6.25rem) !important;
}
.elementor-kit-4212 h1{ font-size: clamp(1.8rem, 1.467rem + 1.33vw, 2.8rem) !important; }
.elementor-kit-4212 h2{ font-size: clamp(1.8rem, 1.667rem + 0.53vw, 2.2rem) !important; }
.elementor-kit-4212 h3{ font-size: clamp(1.35rem, 1.267rem + 0.33vw, 1.6rem) !important; }
.elementor-kit-4212 h4{ font-size: clamp(1.35rem, 1.267rem + 0.33vw, 1.6rem) !important; }
/* Buttons: kleinere Schrift, mehr Luft. Vorher 17.56px bei padding 8px/15px
   und line-height 1.0 - dadurch wirkte die Schrift gross und oben angeklebt. */
.elementor-kit-4212 button,
.elementor-kit-4212 input[type="button"],
.elementor-kit-4212 input[type="submit"],
.elementor-kit-4212 .elementor-button{
  font-size: clamp(1rem, 0.95rem + 0.2vw, 1.1rem) !important;
  line-height: 1.2 !important;
  /* Vertikal je 2px flacher als urspruenglich (0.65/0.63/0.8rem). */
  padding: clamp(0.517rem, 0.497rem + 0.2vw, 0.667rem) clamp(0.95rem, 0.96rem + 0.2vw, 1.15rem) !important;
}

/* Referenz-Detailseite: 70/30-Split (Projektbeschreibung / Sticky-CTA-Box) */
.ms-detail-col-left{ flex: 0 0 70%; max-width: 70%; }
.ms-detail-col-right{ flex: 0 0 30%; max-width: 30%; }
@media(max-width: 767px){ .ms-detail-col-left, .ms-detail-col-right{ flex: 0 0 100%; max-width: 100%; } }

/* Referenz-Detailseite Neubau: Ueberschrift 50% Breite */
.detail-heading-50{ width: 50%; }

/* Referenz-Detailseite: Astra Standard-Abstand (4em oben/unten) entfernen */
body.single-referenz #primary{ margin: 0; }

/* Referenz-Detailseite: Kit-Standardabstand (20px) fuer den Projekttitel deaktivieren, damit nur noch ein Abstandswert (Widget-Margin) zaehlt */
.elementor-element-c7900fd.elementor-widget:not(:last-child){ margin-block-end: 0 !important; }

/* Referenz-Detailseite: 3 Screenshot-Karten, breiter als der Viewport-Bereich, damit sie am Rand anschneiden (wie Referenzbild) */
.ms-screenshot-row{ width: 150vw !important; max-width: 150vw !important; margin-left: -25vw !important; flex-wrap: nowrap !important; }
.ms-screenshot-card{ flex: 0 0 33.333% !important; min-width: 0; }
.ms-screenshot-card img{ width: 100%; max-width: none; height: 480px; object-fit: cover; display: block; }
@media(max-width: 767px){ .ms-screenshot-row{ width: 234vw !important; margin-left: -67vw !important; } .ms-screenshot-card img{ height: 280px; } }

/* Referenz-Detailseite: Astra-Container-Begrenzung (1240px) aufheben, damit Elementor-Fullwidth-Container wirklich Vollbreite nutzen koennen */
body.single-referenz .ast-container{ max-width: 100% !important; padding-left: 0 !important; padding-right: 0 !important; }

/* e-con-inner-fullwidth-fix: Elementor begrenzt .e-con-inner standardmaessig auf 1140px (--content-width Fallback), auch bei content_width=full. Fuer die Screenshot-Sektion aufheben. */
.elementor-element-fc99748 > .e-con-inner,
.elementor-element-dd6b368 > .e-con-inner{ max-width: 100% !important; }/* End custom CSS */