.elementor-kit-5{--e-global-color-primary:#0069B4;--e-global-color-secondary:#96A2AF;--e-global-color-text:#4E5F6D;--e-global-color-accent:#0069B4;--e-global-color-eec1de2:#FFFFFF;--e-global-color-cf58ee7:#96A2AF85;--e-global-color-e1a640f:#C5D0DE99;--e-global-color-52ca1e8:#D4DCE699;--e-global-color-4d986ed:#E3E9F1;--e-global-color-5f0b479:#075B9A;--e-global-color-6578222:#C5D0DE;--e-global-color-c47fa16:#434950;--e-global-color-892d1bb:#1390E9;--e-global-typography-primary-font-family:"Exo";--e-global-typography-primary-font-weight:500;--e-global-typography-primary-text-transform:uppercase;--e-global-typography-primary-line-height:1.3em;--e-global-typography-primary-letter-spacing:1.2px;--e-global-typography-secondary-font-family:"Exo";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Exo";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.7em;--e-global-typography-accent-font-family:"Exo";--e-global-typography-accent-font-weight:500;}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{background-color:var( --e-global-color-primary );font-family:"eurostile", Sans-serif;font-weight:600;text-transform:uppercase;color:var( --e-global-color-eec1de2 );}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 h1{font-family:"Exo", Sans-serif;}.elementor-kit-5 h2{font-family:"Exo", Sans-serif;}.elementor-kit-5 h3{font-family:"Exo", Sans-serif;}.elementor-kit-5 h4{font-family:"Exo", Sans-serif;}.elementor-kit-5 h5{font-family:"Exo", Sans-serif;}.elementor-kit-5 h6{font-family:"Exo", Sans-serif;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1400px;}.e-con{--container-max-width:1400px;}.elementor-widget:not(:last-child){margin-block-end:15px;}.elementor-element{--widgets-spacing:15px 15px;--widgets-spacing-row:15px;--widgets-spacing-column:15px;}{}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-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* Nur Unterseiten: inaktive/gespiegelte Header-Navs nie interaktiv machen */
body:not(.home) .elementor-location-header .elementor-sticky--effects:not(.elementor-sticky--active) nav,
body:not(.home) .elementor-location-header .elementor-sticky__spacer nav {
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Allgemeiner Fokus-Stil */
:focus-visible {
  outline: 3px solid #0069B4!important;          /* Corporate Blau */
  outline-offset: 3px;                 /* Abstand zur Box */
  border-radius: 4px;                  /* leichte Rundung */
  box-shadow: 
    0 0 0 4px #ffffff,                 /* weißer Glow – sichtbar auf dunklen Flächen */
    0 0 6px rgba(0,105,180,0.6)!important;       /* blauer Schimmer – wirkt modern */
  transition: box-shadow 0.2s ease;    /* sanfte Animation */
}
.hero-fixed:focus-visible {
  outline: 0!important;
}

/* Buttons */
button:focus-visible,
a.elementor-button:focus-visible {
  outline: none;                       /* Standard-Rand entfernen */
  box-shadow: 
    0 0 0 4px #ffffff, 
    0 0 0 6px #0069B4;                 /* doppelter Rahmen-Effekt */
  border-radius: 6px;
}

/* Eingabefelder */
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 2px solid #0069B4;
  outline-offset: 2px;
  box-shadow: 
    0 0 0 3px #ffffff, 
    0 0 4px rgba(0,105,180,0.5);
}
/* Elementor: Inaktive Sticky-Kopie vollständig aus dem Tab-Flow nehmen */
#show-hide-header .elementor-sticky--effects:not(.elementor-sticky--active) {
  visibility: hidden !important;     /* bleibt messbar für Layout/Spacer */
  pointer-events: none !important;   /* keine Maus-/Touch-Events */
}


/* Bonus: „Spacers“ sind nur Leerboxen – sicherheitshalber nicht fokussierbar */
#show-hide-header .elementor-sticky__spacer * { display: none !important; }
/* Nur Unterseiten: Header-Stacking sauber ordnen */
body:not(.home) .elementor-location-header { isolation: isolate; }

/* Baseline: jede Sticky-Sektion im Header hat einen niedrigen z-index */
body:not(.home) .elementor-location-header .elementor-sticky--effects {
  position: relative;           /* eigene Stacking-Context-Sicherheit */
  z-index: 1 !important;        /* unter "aktiv" – aber über Content */
}

/* Nur die AKTIVE Sticky-Kopie darf ganz nach oben */
body:not(.home) .elementor-location-header .elementor-sticky--effects.elementor-sticky--active {
  z-index: 1002 !important;
}

/* Spacer fängt niemals Interaktionen ab und bleibt unten */
body:not(.home) .elementor-location-header .elementor-sticky__spacer {
  pointer-events: none !important;
  z-index: 0 !important;
}

/* Skip-Link (falls vorhanden) sicher über dem Header */
body:not(.home) .skip-link { position: absolute; z-index: 1100; }


.elementor-widget-text-editor ul li {
    margin-top: 15px
}
.menu-text {
    letter-spacing: 1.5px
}
.main-navigation {
    margin-top: 30px
}
p:last-of-type {
    margin-bottom: 0;
}
b, strong {
    font-weight: 600
}
.nmb {
    margin-bottom: 0;
}
h2 {
    line-height: 0;
}
.white a{
    color:#ffffff!important;
}
.elementor-widget-text-editor p a {
    color: #575757;
    text-decoration: underline;
}
.link-weiss a {
    color: #fff!important;
}
.hyphen {
       -moz-hyphens: auto;
   -o-hyphens: auto;
   -webkit-hyphens: auto;
   -ms-hyphens: auto;
   hyphens: auto; 
}
html { font-size: 100%; } /* Default is always 16px */
.xlarge :is(h1, h2, h3, h4, h5, h6, p, span) {font-size: clamp(1.5rem, 1.34426rem + 0.65574vw, 2rem);
    font-family: "Exo", Sans-serif;
    font-weight: 500;
}
.large :is(h1, h2, h3, h4, h5, h6, p, span) {font-size: clamp(1.3rem, 1.14426rem + 0.65574vw, 1.8rem);
    line-height: 1em;
    font-family: "Exo", Sans-serif;
    font-weight: 500;
}
.medium :is(h1, h2, h3, h4, h5, h6, p, span) {font-size: clamp(1.1rem, 0.97541rem + 0.52459vw, 1.5rem);
    font-family: "Exo", Sans-serif;
    font-weight: 500;
    line-height: 1.3em;
}
.small :is(h1, h2, h3, h4, h5, h6, p, span, li) {font-size: clamp(0.86rem, 0.81016rem + 0.20984vw, 1.02rem);
    line-height: 1.7em;
}
.normal :is(h1, h2, h3, h4, h5, h6, p, span, li, ol, td, th) {font-size: clamp(0.9rem, 0.80656rem + 0.39344vw, 1.2rem);
    font-family: "Exo", Sans-serif;
    font-weight: 400;
    line-height: 1.7em;
}
.xsmall :is(h1, h2, h3, h4, h5, h6, p, td, th) {font-size: clamp(0.82rem, 0.76439rem + 0.23415vw, 0.94rem);
}
 /* Improved Animations Stylesheet from https://element.how/elementor-improve-entrance-animations/ , works for the 'fade' animations */

@keyframes fadeDown {
    from {
        opacity: 0;
        transform: translate3d(0,-30px,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInDown {
    animation-name: fadeDown
}

@keyframes fadeLeft {
    from {
        opacity: 0;
        transform: translate3d(-30px,0,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInLeft {
    animation-name: fadeLeft
}

@keyframes fadeRight {
    from {
        opacity: 0;
        transform: translate3d(30px,0,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInRight {
    animation-name: fadeRight
}

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translate3d(0,30px,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInUp {
    animation-name: fadeUp
}
@media all and (max-width:767px) {
    ul {
        margin-left: 15px!important;
    }
}
@media all and (min-width: 767px) {
    .center-grid-items .elementor-grid { 
    display: flex; 
    justify-content: center; 
    gap: 20px; /* Adjust spacing as needed */ 
    flex-wrap: wrap; 
} 
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Exo';
	font-style: normal;
	font-weight: 300;
	font-display: auto;
	src: url('https://dev.rib-roeser.de/wp-content/uploads/2025/08/exo-v24-latin-300.eot');
	src: url('https://dev.rib-roeser.de/wp-content/uploads/2025/08/exo-v24-latin-300.eot?#iefix') format('embedded-opentype'),
		url('https://dev.rib-roeser.de/wp-content/uploads/2025/08/exo-v24-latin-300.woff2') format('woff2'),
		url('https://dev.rib-roeser.de/wp-content/uploads/2025/08/exo-v24-latin-300.woff') format('woff'),
		url('https://dev.rib-roeser.de/wp-content/uploads/2025/08/exo-v24-latin-300.ttf') format('truetype'),
		url('https://dev.rib-roeser.de/wp-content/uploads/2025/08/exo-v24-latin-300.svg#Exo') format('svg');
}
@font-face {
	font-family: 'Exo';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://dev.rib-roeser.de/wp-content/uploads/2025/08/exo-v24-latin-regular.eot');
	src: url('https://dev.rib-roeser.de/wp-content/uploads/2025/08/exo-v24-latin-regular.eot?#iefix') format('embedded-opentype'),
		url('https://dev.rib-roeser.de/wp-content/uploads/2025/08/exo-v24-latin-regular.woff2') format('woff2'),
		url('https://dev.rib-roeser.de/wp-content/uploads/2025/08/exo-v24-latin-regular.woff') format('woff'),
		url('https://dev.rib-roeser.de/wp-content/uploads/2025/08/exo-v24-latin-regular.ttf') format('truetype'),
		url('https://dev.rib-roeser.de/wp-content/uploads/2025/08/exo-v24-latin-regular.svg#Exo') format('svg');
}
@font-face {
	font-family: 'Exo';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://dev.rib-roeser.de/wp-content/uploads/2025/08/exo-v24-latin-500.eot');
	src: url('https://dev.rib-roeser.de/wp-content/uploads/2025/08/exo-v24-latin-500.eot?#iefix') format('embedded-opentype'),
		url('https://dev.rib-roeser.de/wp-content/uploads/2025/08/exo-v24-latin-500.woff2') format('woff2'),
		url('https://dev.rib-roeser.de/wp-content/uploads/2025/08/exo-v24-latin-500.woff') format('woff'),
		url('https://dev.rib-roeser.de/wp-content/uploads/2025/08/exo-v24-latin-500.ttf') format('truetype'),
		url('https://dev.rib-roeser.de/wp-content/uploads/2025/08/exo-v24-latin-500.svg#Exo') format('svg');
}
@font-face {
	font-family: 'Exo';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://dev.rib-roeser.de/wp-content/uploads/2025/08/exo-v24-latin-600.eot');
	src: url('https://dev.rib-roeser.de/wp-content/uploads/2025/08/exo-v24-latin-600.eot?#iefix') format('embedded-opentype'),
		url('https://dev.rib-roeser.de/wp-content/uploads/2025/08/exo-v24-latin-600.woff2') format('woff2'),
		url('https://dev.rib-roeser.de/wp-content/uploads/2025/08/exo-v24-latin-600.woff') format('woff'),
		url('https://dev.rib-roeser.de/wp-content/uploads/2025/08/exo-v24-latin-600.ttf') format('truetype'),
		url('https://dev.rib-roeser.de/wp-content/uploads/2025/08/exo-v24-latin-600.svg#Exo') format('svg');
}
/* End Custom Fonts CSS */