.elementor-kit-10{--e-global-color-primary:#133361;--e-global-color-secondary:#4A87E8;--e-global-color-text:#133361;--e-global-color-accent:#F4EEDC;--e-global-color-24cf97f:#212427;--e-global-color-d45d835:#FFFFFF;--e-global-color-09b5426:#FFFFFF00;--e-global-color-4d5c2c9:#25D366;--e-global-color-184bba3:#365FB7;--e-global-typography-primary-font-family:"Verdana";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Verdana";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"AO Open Sans";--e-global-typography-text-font-size:1.125rem;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.5rem;--e-global-typography-accent-font-family:"Verdana";--e-global-typography-accent-font-weight:500;--e-global-typography-9f4520d-font-family:"AO Montserrat";--e-global-typography-9f4520d-font-size:40px;--e-global-typography-9f4520d-font-weight:800;--e-global-typography-9f4520d-line-height:48px;--e-global-typography-c477740-font-size:1.875rem;--e-global-typography-c477740-line-height:2.25rem;--e-global-typography-4846c7c-font-family:"AO Montserrat";--e-global-typography-4846c7c-font-size:30px;--e-global-typography-4846c7c-font-weight:300;--e-global-typography-4846c7c-line-height:36px;--e-global-typography-080c64a-font-family:"AO Montserrat";--e-global-typography-080c64a-font-size:25px;--e-global-typography-080c64a-font-weight:800;--e-global-typography-080c64a-line-height:30px;--e-global-typography-d08b8a3-font-family:"AO Montserrat";--e-global-typography-d08b8a3-font-size:20px;--e-global-typography-d08b8a3-font-weight:700;--e-global-typography-d08b8a3-line-height:26px;--e-global-typography-bfb328c-font-family:"AO Open Sans";--e-global-typography-bfb328c-font-size:18px;--e-global-typography-bfb328c-line-height:24px;--e-global-typography-84d1b7d-font-size:0.883rem;--e-global-typography-84d1b7d-line-height:1.6em;--e-global-typography-476b9ba-font-family:"AO Open Sans";--e-global-typography-476b9ba-font-size:1.125rem;--e-global-typography-476b9ba-font-weight:600;--e-global-typography-2d01519-font-family:"AO Montserrat";--e-global-typography-2d01519-font-size:18px;--e-global-typography-2d01519-font-weight:900;--e-global-typography-db165ec-font-family:"AO Montserrat";--e-global-typography-db165ec-font-size:1.375rem;--e-global-typography-db165ec-font-weight:700;--e-global-typography-db165ec-line-height:1.625rem;color:var( --e-global-color-primary );font-family:"AO Open Sans", Sans-serif;font-size:1.125rem;font-weight:600;line-height:1.5rem;}.elementor-kit-10 button,.elementor-kit-10 input[type="button"],.elementor-kit-10 input[type="submit"],.elementor-kit-10 .elementor-button{background-color:var( --e-global-color-primary );color:var( --e-global-color-d45d835 );border-radius:10px 10px 10px 10px;padding:10px 20px 10px 20px;}.elementor-kit-10 button:hover,.elementor-kit-10 button:focus,.elementor-kit-10 input[type="button"]:hover,.elementor-kit-10 input[type="button"]:focus,.elementor-kit-10 input[type="submit"]:hover,.elementor-kit-10 input[type="submit"]:focus,.elementor-kit-10 .elementor-button:hover,.elementor-kit-10 .elementor-button:focus{background-color:var( --e-global-color-secondary );}.elementor-kit-10 e-page-transition{background-color:#FFBC7D;}.elementor-kit-10 h3{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-4846c7c-font-family ), Sans-serif;font-size:var( --e-global-typography-4846c7c-font-size );font-weight:var( --e-global-typography-4846c7c-font-weight );line-height:var( --e-global-typography-4846c7c-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1920px;}.e-con{--container-max-width:1920px;--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);}.site-header{padding-inline-end:0px;padding-inline-start:0px;}@media(max-width:1024px){.elementor-kit-10{--e-global-typography-9f4520d-font-size:32px;--e-global-typography-9f4520d-line-height:40px;--e-global-typography-4846c7c-font-size:28px;--e-global-typography-4846c7c-line-height:34px;--e-global-typography-080c64a-font-size:22px;--e-global-typography-080c64a-line-height:28px;--e-global-typography-d08b8a3-font-size:20px;--e-global-typography-d08b8a3-line-height:24px;}.elementor-kit-10 h3{font-size:var( --e-global-typography-4846c7c-font-size );line-height:var( --e-global-typography-4846c7c-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-10{--e-global-typography-9f4520d-font-size:30px;--e-global-typography-9f4520d-line-height:32px;--e-global-typography-c477740-font-size:2rem;--e-global-typography-4846c7c-font-size:26px;--e-global-typography-4846c7c-line-height:30px;--e-global-typography-080c64a-font-size:22px;--e-global-typography-080c64a-line-height:26px;--e-global-typography-d08b8a3-font-size:20px;--e-global-typography-d08b8a3-line-height:22px;--e-global-typography-bfb328c-font-size:1.25rem;--e-global-typography-db165ec-font-size:20px;--e-global-typography-db165ec-line-height:24px;}.elementor-kit-10 h3{font-size:var( --e-global-typography-4846c7c-font-size );line-height:var( --e-global-typography-4846c7c-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* =========================================================
   BASE.CSS – Global Reset + Layout-System + Elementor Fixes
   Autor: Marcello Insolera
   Projekt: marcelloinsolera.xyz
   ========================================================= */

/* =========================================================
   RESET
   ========================================================= */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html, body {
  height: 100%;
  scroll-behavior: smooth;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body {
  line-height: 1.5;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  color: #222;
  background: #fff;
}

/* =========================================================
   TYPOGRAPHIE
   ========================================================= */
h1, h2, h3, h4, h5, h6 {
  font-weight: 600;
  line-height: 1.2;
}

p {
  line-height: 1.6;
}

/* Worttrennung & Zeilenumbruch */
p, h1, h2, h3 {
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto;
}

/* =========================================================
   MEDIEN
   ========================================================= */
img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
  height: auto;
}

/* =========================================================
   FORM ELEMENTE
   ========================================================= */
input, button, textarea, select {
  font: inherit;
  color: inherit;
  background: none;
  border: none;
  outline: none;
}

/* =========================================================
   LINKS
   ========================================================= */
a {
  color: inherit;
  text-decoration: none;
}

/* =========================================================
   LISTEN & TABELLEN
   ========================================================= */
ul, ol {
  list-style: none;
}

table {
  border-collapse: collapse;
  width: 100%;
}

/* =========================================================
   TYPO MARGIN CONTROL
   ========================================================= */
:where(h1, h2, h3, h4, h5, h6, p) + :where(p) {
  margin-top: 1em;
}

/* =========================================================
   GLOBAL VARIABLES
   ========================================================= */
:root {
  /* --- Breiten --- */
  --max-width: 1920px;
  --container-width: 1440px;

  /* --- Fluid Spacing mit clamp() --- */
  --page-padding: clamp(16px, 5vw, 60px);
  --section-gap: clamp(20px, 10vw, 60px);

  /* --- Farben (optional erweiterbar) --- */
  --color-bg: #fff;
  --color-fg: #222;
}

/* =========================================================
   LAYOUT SYSTEM
   ========================================================= */

/* --- Seitenrahmen --- */
.site-wrapper {
  max-width: var(--max-width);
  margin-inline: auto;
  overflow-x: hidden;
}

/* --- Standard Section --- */
.section {
  padding-block: var(--section-gap);
  background: var(--color-bg);
  color: var(--color-fg);
}

.section.highlight {
    --section-gap: clamp(40px, 10vw, 80px);
}

/* --- Innerer Container --- */
.container-inner {
  max-width: var(--container-width);
  margin-inline: auto;
  padding-inline: var(--page-padding);
  display: flex;
  flex-direction: column;
}

.container-inner.fullwidth {
    padding-inline: 0;
}

/* --- Fullwidth Section (z. B. Hero) --- */
.section.fullwidth {
  width: 100vw;
  margin-inline: calc(50% - 50vw);
  background: var(--color-bg);
}

/* --- Zentrierte Inhalte auch bei Fullwidth --- */
.section.fullwidth .container-inner {
  max-width: var(--content-width);
  margin-inline: auto;
  padding-inline: var(--page-padding);
}

/* =========================================================
   UTILITIES
   ========================================================= */

/* Engere oder weitere Sections */
.section--tight {
  --section-gap: clamp(40px, 6vw, 100px);
}

.section--wide {
  --section-gap: clamp(100px, 12vw, 240px);
}

/* Zentrierung */
.text-center {
  text-align: center;
}

/* Responsive Hide */
.hide-mobile {
  display: none;
}

@media (min-width: 768px) {
  .hide-mobile {
    display: initial;
  }
}

/* =========================================================
   ELEMENTOR EXTENSIONS / FIXES
   ========================================================= */

/* Entfernt unteren Absatz-Abstand im Texteditor */
.elementor-widget-text-editor p:last-child {
  margin-bottom: 0;
}

/* Styling von Links im Texteditor */
.elementor-widget-text-editor a {
  text-decoration: underline;
  text-decoration-skip-ink: auto;
  text-underline-offset: 0.2em;
}

/* Lightlink-Variante für helle Bereiche */
.elementor-widget-text-editor a.lightlink {
  color: #fff;
  text-decoration: underline;
  text-decoration-color: #fff;
}

.elementor-widget-text-editor a.lightlink:hover {
  color: #039dd8;
  text-decoration-color: #039dd8;
}

/* Telefonlinks ohne Unterstreichung auf mobilen Geräten */
a[href^="tel"] {
  color: inherit;
  text-decoration: none;
}

/* Google reCAPTCHA Badge ausblenden (visuell) */
.grecaptcha-badge {
  visibility: hidden;
}

.elementor-button {
    height: 43px;
    align-content: center;
}

/* hover state für icons in Buttons  */
.elementor-button .elementor-button-icon {
    font-size: 22px;
  transition: transform 0.25s ease;
}

.elementor-button:hover .elementor-button-icon {
  transform: translateX(4px);
}

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

.elementor-icon-list-icon { flex-shrink:0;}


.elementor-icon-wrapper {
    display: flex;
}

.image-ring {
    position: absolute;;
    top: 0:
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}


.image-ring svg, .image-ring img {
    width: 100%;
    height: 100%;
}
/* =========================================================
   ENDE
   ========================================================= */


@media (max-width: 1024px) {
    .snap-slider {
        display: flex;
        overflow-y: auto;
        overflow-x: hidden;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }
    /* Grid-Einträge */
    body .snap-slider > * {
        width: 80%;
        flex-shrink: 0 !important;
        scroll-snap-align: start;
        scroll-snap-stop: always;
        box-sizing: border-box;
    }
}

.debug * {
    outline: red 1px solid;
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'AO Open Sans';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://ao-ingenieurbuero.de/wp-content/uploads/2025/11/open-sans-latin-300-normal.ttf') format('truetype');
}
@font-face {
	font-family: 'AO Open Sans';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://ao-ingenieurbuero.de/wp-content/uploads/2025/11/open-sans-latin-600-normal.ttf') format('truetype');
}
@font-face {
	font-family: 'AO Open Sans';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://ao-ingenieurbuero.de/wp-content/uploads/2025/11/open-sans-latin-700-normal.ttf') format('truetype');
}
@font-face {
	font-family: 'AO Open Sans';
	font-style: normal;
	font-weight: 800;
	font-display: auto;
	src: url('https://ao-ingenieurbuero.de/wp-content/uploads/2025/11/open-sans-latin-800-normal.ttf') format('truetype');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'AO Montserrat';
	font-style: normal;
	font-weight: 300;
	font-display: auto;
	src: url('https://ao-ingenieurbuero.de/wp-content/uploads/2025/11/montserrat-latin-300-normal.ttf') format('truetype');
}
@font-face {
	font-family: 'AO Montserrat';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://ao-ingenieurbuero.de/wp-content/uploads/2025/11/montserrat-latin-400-normal.ttf') format('truetype');
}
@font-face {
	font-family: 'AO Montserrat';
	font-style: normal;
	font-weight: 800;
	font-display: auto;
	src: url('https://ao-ingenieurbuero.de/wp-content/uploads/2025/11/montserrat-latin-800-normal.ttf') format('truetype');
}
/* End Custom Fonts CSS */