/* Basis-Styles Leopold-Theme — Werte 1:1 aus dem Original extrahiert (universal.css) */

/* Global box-sizing wie im Original (oxygen.css) */
html {
  box-sizing: border-box;
}
*,
::after,
::before {
  box-sizing: inherit;
}

/* Wie im Original (computed): Body schneidet horizontalen Überstand ab (Mega-Menü u.a.) */
body {
  overflow-x: hidden;
}

/* Wie Original-Wrapper div_block-7346-12: schneidet Blur-Ausläufer der Sektionen ab */
main#main-content {
  overflow: hidden;
}

.section>.section-inner {
  display:flex;
flex-direction:column;
align-items:flex-start;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  body * {
    min-height: 1px;
  }
}

.section-inner {
  max-width: 1920px;
}

body {
  font-family: 'Open Sans';
}

body {
  line-height: 1.6;font-size: 18px;font-weight: ;color: #2f2f2f;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Open Sans';
}

a {
  color: #0074db;text-decoration: none;
}

.section-inner {
  padding-top: 85px;
padding-right: 20px;
padding-bottom: 85px;
padding-left: 20px;
}

.headline-xl {
  line-height:1.2;
 font-size:54px;
 margin-bottom:22px;
}

@media (max-width: 1920px) {
  .headline-xl {
    font-size:50px;
  }
}

@media (max-width: 1399px) {
  .headline-xl {
    font-size:44px;
  }
}

@media (max-width: 767px) {
  .headline-xl {
    font-size:44px;
  }
}

@media (max-width: 479px) {
  .headline-xl {
    font-size:30px;
  }
}

.headline-s {
  margin-bottom:14px;
}

.headline-xs {
  color:#fdfeff;
}

.body-l {
  color:#fdfeff;
 font-weight:300;
}

.italic {
  margin-bottom:0px;
}

.btn-xl-primary {
  margin-top:22px;
}

@media (max-width: 767px) {
  .btn-xl-primary {
    width:100%;
  }
}

.has-blured-end:after {
  content:"";
}

.has-blured-end {
  position:relative;
}

.has-blured-end .section-inner {
  padding-top: 42px;
padding-bottom: 68px;
}

.border-radius-global {
  overflow:hidden;
}

.white-text {
  color:#ffffff;
}

.btn-outline {
  border-top-color:#32b4a2;
 border-right-color:#32b4a2;
 border-bottom-color:#32b4a2;
 border-left-color:#32b4a2;
}

.margin-bottom-l {
  margin-bottom:80px;
 font-weight:300;
}

.btn-outline-green {
  border-top-color:#32b4a2;
 border-right-color:#32b4a2;
 border-bottom-color:#32b4a2;
 border-left-color:#32b4a2;
 border-top-width:1px;
 border-right-width:1px;
 border-bottom-width:1px;
 border-left-width:1px;
 border-top-style:solid;
 border-right-style:solid;
 border-bottom-style:solid;
 border-left-style:solid;
}

.cocco-narrow {
  font-style:normal;
}

.btn-xl-secondary {
  background-color :#223a4f;
border: 1px solid #223a4f;
}

:root {
  --primary-1000: #223a4f;
      --primary-900: #3E596F;
      --primary-800: #536B7F;
      --primary-700: #697E8F;
      --primary-600: #7E909F;
      --primary-500: #93A2AF;
      --primary-400: #A9B5BF;
      --primary-300: #BEC7CF;
      --primary-200: #D4DADF;
      --primary-100: #E9ECEF;
    
      
      --secondary-1000: #32B4A2;
      --secondary-900: #47BBAB;
      --secondary-800: #5BC3B5;
      --secondary-700: #70CBBE;
      --secondary-600: #84D2C7;
      --secondary-500: #98D9D1; 
      --secondary-400: #ADE1DA;
      --secondary-300: #C1E8E3;
      --secondary-200: #D6F0EC;
      --secondary-100: #EAF7F6;
    
      
      --tertiary-1000: #004270;
      --tertiary-900: #1A557E;
      --tertiary-800: #33688D;
      --tertiary-700: #4D7B9B;
      --tertiary-600: #668EA9;
      --tertiary-500: #80A0B7;
      --tertiary-400: #99B3C6;
      --tertiary-300: #B2C6D4;
      --tertiary-200: #CCD9E2;
      --tertiary-100: #E5ECF1;
    
      
      --dark-primary: #2F2F2F;
      --dark-secondary: #525252;
      --dark-disable: #8A8A8A;
    
      
      --light-primary: #FDFEFF;
      --light-secondary: #BBBBBB;
      --light-disable: #8E8E8E;
    
      
      --semantic-error: #F34D47;
      --semantic-success: #6FD366;
      --semantic-warning: #F5982B;
      --semantic-info: #74C0DD;

  
  
  --dropshadow-001: 0 4px 20px 0 rgba(0,0,0,.25);
  --dropshadow-002: 0 4px 50px 0 rgba(0,0,0,.25);
  --dropshadow-003: 0 20px 50px 0 rgba(0,0,0,.25);
  --dropshadow-004: 0 50px 50px 0 rgba(0,0,0,.25);
  --dropshadow-005: 40px 80px 50px 0 rgba(0,0,0,.25);
  
  
  
  --border-radius-global: 15px;
  --border-radius-minimal: 5px;
  

  
      
      --extended-5xl-size: 6.192rem;
      --extended-4xl-size: 5.160rem;
      --extended-3xl-size: 4.3rem;
      --extended-2xl-size: 3.583rem;
      --extended-xl-size: 2.986rem;
      --extended-l-size: 2.488rem;
      --extended-m-size: 2.074rem;
      --extended-s-size: 1.728rem;
      --extended-xs-size: 1.440rem;

      
      --headline-5xl-size: 6.192rem;
      --headline-4xl-size: 5.160rem;
      --headline-3xl-size: 4.3rem;
      --headline-2xl-size: 3.583rem;
      --headline-xl-size: 2.986rem;
      --headline-l-size: 2.488rem;
      --headline-m-size: 2.074rem;
      --headline-s-size: 1.728rem;
      --headline-xs-size: 1.440rem;
      --headline-xxs-size: 1.222rem;

      
      --body-xl-size: 1.44rem;
      --body-l-size: 1.2rem;
      --body-m-size: 1rem;
      --body-s-size: .833rem;
      --body-xs-size: .694rem;

      
      --preheading-size: 1.2rem;
      --subheading-size: 1.44rem;

      
      --link-primary-size: 1rem;

  
      
      --extended-5xl-lineheight: 120%;
      --extended-4xl-lineheight: 120%;
      --extended-3xl-lineheight: 120%;
      --extended-2xl-lineheight: 120%;
      --extended-xl-lineheight: 120%;
      --extended-l-lineheight: 120%;
      --extended-m-lineheight: 120%;
      --extended-s-lineheight: 120%;
      --extended-xs-lineheight: 120%;
      
      
      --headline-5xl-lineheight: 120%;
      --headline-4xl-lineheight: 120%;
      --headline-3xl-lineheight: 120%;
      --headline-2xl-lineheight: 120%;
      --headline-xl-lineheight: 120%;
      --headline-l-lineheight: 120%;
      --headline-m-lineheight: 120%;
      --headline-s-lineheight: 120%;
      --headline-xs-lineheight: 120%;
      --headline-xxs-lineheight: 120%;

      
      --preheading-lineheight: 120%;
      --subheading-lineheight: 120%;

      
      --link-primary-lineheight: 120%;

   
      
      --extended-5xl-letterspacing: -5.12%;
      --extended-4xl-letterspacing: -5.12%;
      --extended-3xl-letterspacing: -5.12%;
      --extended-2xl-letterspacing: -5.12%;
      --extended-xl-letterspacing: -5.12%;
      --extended-l-letterspacing: -5.12%;
      --extended-m-letterspacing: -5.12%;
      --extended-s-letterspacing: -5.12%;
      --extended-xs-letterspacing: -5.12%;
      
      
      --headline-5xl-letterspacing: -5.12%;
      --headline-4xl-letterspacing: -5.12%;
      --headline-3xl-letterspacing: -5.12%;
      --headline-2xl-letterspacing: -5.12%;
      --headline-xl-letterspacing: -5.12%;
      --headline-l-letterspacing: -5.12%;
      --headline-m-letterspacing: -5.12%;
      --headline-s-letterspacing: -5.12%;
      --headline-xs-letterspacing: -5.12%;
      --headline-xxs-letterspacing: -5.12%;

      
      --preheading-letterspacing: -5.12%;
      --subheading-letterspacing: -5.12%;

      
      --link-primary-letterspacing: 0.48%;

  
  --global-transition: .15s;

  
  --btn-arrow-image: url("/wp-content/uploads/2024/02/Icon.png");
  --btn-phone-image: url("/wp-content/uploads/2024/04/phone-arrow-up-right.png");
  --btn-mail-image: url("/wp-content/uploads/2024/04/envelope.png");
  --btn-mail-image-invert: url("/wp-content/uploads/2024/05/envelope_white.webp");
}

@media only screen and (max-width: 1400px) {
  :root {
    --headline-5xl-size: 5.5rem;
  }
}

@media only screen and (max-width: 1024px) {
  :root {
    --extended-5xl-size: 4.375rem;
          --extended-4xl-size: 3.625rem;
          --extended-3xl-size: 3.062rem;
          --extended-2xl-size: 2.562rem;
          --extended-xl-size: 2.125rem;
          --extended-l-size: 1.4375rem;
          --extended-m-size: 1.25rem;
          --extended-s-size: 1rem;
          --extended-xs-size: .875rem;
    
          
          --headline-5xl-size: 4.375rem;
          --headline-4xl-size: 3.625rem;
          --headline-3xl-size: 3.062rem;
          --headline-2xl-size: 2.562rem;
          --headline-xl-size: 2.125rem;
          --headline-l-size: 1.4375rem;
          --headline-m-size: 1.25rem;
          --headline-s-size: 1rem;
          --headline-xs-size: .875rem;
          --headline-xxs-size: .625rem;
    
          
          --body-xl-size: 1.44rem;
          --body-l-size: 1.2rem;
          --body-m-size: 1rem;
          --body-s-size: .833rem;
          --body-xs-size: .694rem;
    
          
          --preheading-size: 1.125rem;
          --subheading-size: 1.375rem;
  }
}

@media only screen and (max-width: 480px) {
  :root {
    --extended-5xl-size: 2.5rem;
          --extended-4xl-size: 2.071rem;
          --extended-3xl-size: 1.712rem;
          --extended-2xl-size: 1.428rem;
          --extended-xl-size: 1.214rem;
          --extended-l-size: 1rem;
          --extended-m-size: .857rem;
          --extended-s-size: .714rem;
          --extended-xs-size: .571rem;
    
          
          --headline-5xl-size: 2.5rem;
          --headline-4xl-size: 2.071rem;
          --headline-3xl-size: 1.712rem;
          --headline-2xl-size: 1.428rem;
          --headline-xl-size: 1.214rem;
          --headline-l-size: 1rem;
          --headline-m-size: .875rem;
          --headline-s-size: .714rem;
          --headline-xs-size: .571rem;
          --headline-xxs-size: .5rem;
    
          
          --body-xl-size: 1.266rem;
          --body-l-size: 1.125rem;
          --body-m-size: 1rem;
          --body-s-size: .889rem;
          --body-xs-size: .790rem;
    
          
          --preheading-size: 1.142rem;
          --subheading-size: 1.285rem;
  }
}

.headline-5xl {
  font-size: var(--headline-5xl-size);
  font-weight: normal;
  line-height: var(--headline-5xl-lineheight);
  letter-spacing: var(--headline-5xl-letterspacing);
}

.headline-4xl {
  font-size: var(--headline-4xl-size);
  font-weight: normal;
  line-height: var(--headline-4xl-lineheight);
  letter-spacing: var(--headline-4xl-letterspacing);
}

.headline-3xl {
  font-size: var(--headline-3xl-size);
  font-weight: normal;
  line-height: var(--headline-3xl-lineheight);
  letter-spacing: var(--headline-3xl-letterspacing);
}

.headline-2xl {
  font-size: var(--headline-2xl-size);
  font-weight: normal;
  line-height: var(--headline-2xl-lineheight);
  letter-spacing: var(--headline-2xl-letterspacing);
}

.headline-xl {
  font-size: var(--headline-xl-size);
  font-weight: normal;
  line-height: var(--headline-xl-lineheight);
  letter-spacing: var(--headline-xl-letterspacing);
}

.headline-l {
  font-size: var(--headline-l-size);
  font-weight: normal;
  line-height: var(--headline-l-lineheight);
  letter-spacing: var(--headline-l-letterspacing);
}

.headline-m {
  font-size: var(--headline-m-size);
  font-weight: normal;
  line-height: var(--headline-m-lineheight);
  letter-spacing: var(--headline-m-letterspacing);
}

.headline-s {
  font-size: var(--headline-s-size);
  font-weight: normal;
  line-height: var(--headline-s-lineheight);
  letter-spacing: var(--headline-s-letterspacing);
}

.headline-xs {
  font-size: var(--headline-xs-size);
  font-weight: normal;
  line-height: var(--headline-xs-lineheight);
  letter-spacing: var(--headline-xs-letterspacing);
}

.headline-xxs {
  font-size: var(--headline-xxs-size);
  font-weight: normal;
  line-height: var(--headline-xxs-lineheight);
  letter-spacing: var(--headline-xxs-letterspacing);
}

.extended-5xl {
  font-size: var(--extended-5xl-size);
	font-weight: normal;
	line-height: var(--extended-5xl-lineheight);
	letter-spacing: var(--extended-5xl-letterspacing);
}

.extended-4xl {
  font-size: var(--extended-4xl-size);
	font-weight: normal;
	line-height: var(--extended-4xl-lineheight);
	letter-spacing: var(--extended-4xl-letterspacing);
}

.extended-3xl {
  font-size: var(--extended-3xl-size);
	font-weight: normal;
	line-height: var(--extended-3xl-lineheight);
	letter-spacing: var(--extended-3xl-letterspacing);
}

.extended-2xl {
  font-size: var(--extended-2xl-size);
	font-weight: normal;
	line-height: var(--extended-2xl-lineheight);
	letter-spacing: var(--extended-2xl-letterspacing);
}

.extended-xl {
  font-size: var(--extended-xl-size);
	font-weight: normal;
	line-height: var(--extended-xl-lineheight);
	letter-spacing: var(--extended-xl-letterspacing);
}

.extended-l {
  font-size: var(--extended-l-size);
	font-weight: normal;
	line-height: var(--extended-l-lineheight);
	letter-spacing: var(--extended-l-letterspacing);
}

.extended-m {
  font-size: var(--extended-m-size);
	font-weight: normal;
	line-height: var(--extended-m-lineheight);
	letter-spacing: var(--extended-m-letterspacing);
}

.extended-s {
  font-size: var(--extended-s-size);
	font-weight: normal;
	line-height: var(--extended-s-lineheight);
	letter-spacing: var(--extended-s-letterspacing);
}

.extended-xs {
  font-size: var(--extended-xs-size);
	font-weight: normal;
	line-height: var(--extended-xs-lineheight);
	letter-spacing: var(--extended-xs-letterspacing);
}

.extended-xxs {
  font-size: var(--extended-xxs-size);
	font-weight: normal;
	line-height: var(--extended-xxs-lineheight);
	letter-spacing: var(--extended-xxs-letterspacing);
}

.body-xl {
  font-size: var(--body-xl-size);
	font-weight: normal;
	line-height: var(--body-xl-lineheight);
	letter-spacing: var(--body-xl-letterspacing);
}

.body-l {
  font-size: var(--body-l-size);
	font-weight: normal;
	line-height: var(--body-l-lineheight);
	letter-spacing: var(--body-l-letterspacing);
}

.body-m {
  font-size: var(--body-m-size);
	font-weight: normal;
	line-height: var(--body-m-lineheight);
	letter-spacing: var(--body-m-letterspacing);
}

.body-s {
  font-size: var(--body-s-size);
	font-weight: normal;
	line-height: var(--body-s-lineheight);
	letter-spacing: var(--body-s-letterspacing);
}

.body-xs {
  font-size: var(--body-xs-size);
	font-weight: normal;
	line-height: var(--body-xs-lineheight);
	letter-spacing: var(--body-xs-letterspacing);
}

.italic {
  font-style: italic;
}

.btn-xl-primary {
  background: var(--secondary-1000);
  border-radius: var(--border-radius-global);
  border: 1px solid var(--secondary-1000);
  transition: var(--global-transition);
  text-transform: uppercase;
  line-height: 100%;
  padding: 15px 24px;
  position: relative;
  font-size: 1.111rem;
  line-height: 100%;
  letter-spacing: 0;
}

.btn-xl-primary:hover {
  background: var(--secondary-700);
  border: 1px solid var(--secondary-700);
  color: var(--light-primary) !important;
}

.btn-el-left {
  padding-left: 48px;
}

.phone-btn {
  padding-left: 45px;
}

.phone-btn:before {
  content:"";
  background: var(--btn-phone-image);
  background-size: contain;
  width: 20px;
  height: 20px;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
  position: absolute;
  transition: var(--global-transition);
}

.btn-el-right {
  padding-right: 48px;
}

.btn-el-both {
  padding: 15px 48px;
}

.btn-outline {
  background: transparent;
  border-color: var(--light-primary);
  color: var(--light-primary);
  font-weight: normal;
}

.btn-outline-green {
  background: transparent;
  border-color: var(--secondary-1000);
  color: var(--secondary-1000);
  font-weight: normal;
}

.linear-gradient {
  background: rgba(0,66,112,1);
  background: linear-gradient(273deg, #32B4A2 14.05%, #004270 99.79%);
}

.border-radius-global {
  border-radius: var(--border-radius-global);
}

html {
  scroll-behavior: smooth;
}

body {
  background: var(--secondary-1000);
  transition: background .5s;
  hyphens: auto;
}

.footer-divider {
  width: 5px;
  height: 3px;
  border-radius: 3px;
  background: var(--dark-primary);
  display: flex;
}

/* Statischer Gradient-Ersatz für das Original (1000px-Rechteck #32B4A2 mit
   filter: blur(150px)) — iOS-Safari hängt bei Laufzeit-Blur auf großen Flächen.
   Box = Rechteck + 2×3σ Falloff (1000 + 900 = 1900px), Alpha-Stops folgen der
   Gauß-CDF (erf) mit σ = 150px. Footprint/Position identisch zum Blur. */
.has-blured-end:after {
  content: "";
  width: 150%;
  height: 1900px;
  bottom: 0;
  left: -50%;
  transform: translateY(50%);
  position: absolute;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to bottom,
    rgba(50,180,162,0) 0%,
    rgba(50,180,162,0.006) 3.95%,
    rgba(50,180,162,0.023) 7.89%,
    rgba(50,180,162,0.067) 11.84%,
    rgba(50,180,162,0.159) 15.79%,
    rgba(50,180,162,0.309) 19.74%,
    rgba(50,180,162,0.5) 23.68%,
    rgba(50,180,162,0.691) 27.63%,
    rgba(50,180,162,0.841) 31.58%,
    rgba(50,180,162,0.933) 35.53%,
    rgba(50,180,162,0.977) 39.47%,
    rgba(50,180,162,0.994) 43.42%,
    rgba(50,180,162,1) 47.37%,
    rgba(50,180,162,1) 52.63%,
    rgba(50,180,162,0.994) 56.58%,
    rgba(50,180,162,0.977) 60.53%,
    rgba(50,180,162,0.933) 64.47%,
    rgba(50,180,162,0.841) 68.42%,
    rgba(50,180,162,0.691) 72.37%,
    rgba(50,180,162,0.5) 76.32%,
    rgba(50,180,162,0.309) 80.26%,
    rgba(50,180,162,0.159) 84.21%,
    rgba(50,180,162,0.067) 88.16%,
    rgba(50,180,162,0.023) 92.11%,
    rgba(50,180,162,0.006) 96.05%,
    rgba(50,180,162,0) 100%);
}

.has-blured-background {
  position: relative;
}

@media only screen and (max-width: 768px) {
  /* Original: 700px-Rechteck, blur(50px) → Box 700 + 2×150 = 1000px, σ = 50px */
  .has-blured-end:after {
    height: 1000px;
    background: linear-gradient(to bottom,
      rgba(50,180,162,0) 0%,
      rgba(50,180,162,0.006) 2.5%,
      rgba(50,180,162,0.023) 5%,
      rgba(50,180,162,0.067) 7.5%,
      rgba(50,180,162,0.159) 10%,
      rgba(50,180,162,0.309) 12.5%,
      rgba(50,180,162,0.5) 15%,
      rgba(50,180,162,0.691) 17.5%,
      rgba(50,180,162,0.841) 20%,
      rgba(50,180,162,0.933) 22.5%,
      rgba(50,180,162,0.977) 25%,
      rgba(50,180,162,0.994) 27.5%,
      rgba(50,180,162,1) 30%,
      rgba(50,180,162,1) 70%,
      rgba(50,180,162,0.994) 72.5%,
      rgba(50,180,162,0.977) 75%,
      rgba(50,180,162,0.933) 77.5%,
      rgba(50,180,162,0.841) 80%,
      rgba(50,180,162,0.691) 82.5%,
      rgba(50,180,162,0.5) 85%,
      rgba(50,180,162,0.309) 87.5%,
      rgba(50,180,162,0.159) 90%,
      rgba(50,180,162,0.067) 92.5%,
      rgba(50,180,162,0.023) 95%,
      rgba(50,180,162,0.006) 97.5%,
      rgba(50,180,162,0) 100%);
  }
}

@font-face {
  font-family: 'CocogoosePro';
    src: url('/wp-content/uploads/fonts/CocogoosePro-Light.woff2') format('woff2'),
        url('/wp-content/uploads/fonts/CocogoosePro-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
  font-family: 'CocogoosePro Semilight';
    src: url('/wp-content/uploads/fonts/CocogoosePro-SemilightItalic.woff2') format('woff2'),
        url('/wp-content/uploads/fonts/CocogoosePro-SemilightItalic.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
  font-family: 'CocogooseProNarrow';
    src: url('/wp-content/uploads/fonts/CocogooseProNarrow-LightItalic.woff2') format('woff2'),
        url('/wp-content/uploads/fonts/CocogooseProNarrow-LightItalic.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
  font-family: 'CocogooseProNarrow';
    src: url('/wp-content/uploads/fonts/CocogooseProNarrow-Light.woff2') format('woff2'),
        url('/wp-content/uploads/fonts/CocogooseProNarrow-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
  font-family: 'CocogooseProNarrow Semilight';
    src: url('/wp-content/uploads/fonts/CocogooseProNarrow-Semilight.woff2') format('woff2'),
        url('/wp-content/uploads/fonts/CocogooseProNarrow-Semilight.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
  font-family: 'CocogoosePro';
    src: url('/wp-content/uploads/fonts/CocogoosePro-Regular.woff2') format('woff2'),
        url('/wp-content/uploads/fonts/CocogoosePro-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

body, h1,h2,h3,h4,h5,h6 {
  font-family:"CocogoosePro", sans-serif;
}

.cocco-narrow,
.cocco-narrow p {
  font-family: "CocogooseProNarrow",sans-serif !important;
}

.cocco-narrow-semi,
.cocco-narrow-semi {
  font-family: "CocogooseProNarrow Semilight", sans-serif !important;
}

.cocco-narrow-light,
.cocco-narrow-light {
  font-family: "CocogooseProNarrow Light", sans-serif !important;
}
