/* 
Theme Name: KESSLER ∙ LANDOLT ∙ GIACOMINI & PARTNER
Version: v.1.0
Description: Custom Theme for klgp.ch
Author: Roman Hospenthal, RHOdesign
Author URI: http://www.rhodesign.ch/
*/

@import 'css/reset.css';
@import 'css/grid.css';
@import 'css/plugins.css';
@import 'css/helpers.css';


.uspIcon > svg {
  width: 60px;
  height: 60px;
  transition: var(--transition);
}
[data-aos="icon-draw"] > svg {
  --animation-delay: 1s;
  --animation-duration: 10s;
}


/* ------------------------------------------------------------ *\
	Farben
\* ------------------------------------------------------------ */
:root {
--fz-html: 62.5%;
--fw-base: 400;
--ff-base: "Messina Sans", sans-serif;
--ff-base-book: "Messina Sans Book", sans-serif;
    
--c-dunkel-braun: #32281E;
--c-mittel-braun: #96785A;
--c-hell-braun: #C8BEB4;
--c-licht-braun: #F5F0EB;
--c-hellblau: #0078FF;
--c-blau: #0A50A0;
--c-dunkelblau: #0F2850;
--c-weiss: #FFFFFF;
--c-schwarz: #000000;
    
/* Line heights */
  --line-height-xs: 1.1;
  --line-height-sm: 1.3;
  --line-height-md: 1.4;
  --line-height-lg: 1.5;
  --line-height-xl: 1.6;
}




:root {
  --logo: clamp(25px, calc(0.744vw + 20.7px), 35px);
  --logo-footer: clamp(25px, calc(0.521vw + 22.0px), 32px);
    
  --ht_100: clamp(35px, calc(4.896vw + 7.9px), 100px);
  --ht_60:  clamp(30px, calc(2.233vw + 16.2px), 60px);
  --ht_45:  clamp(32px, calc(0.967vw + 26.4px), 45px);
  --ut_32:  clamp(20px, calc(0.893vw + 14.9px), 30px);
  --gs_21:  clamp(16px, calc(0.372vw + 13.9px), 21px);
  --gs_18: 18px;
  --gs_16: clamp(14px, calc(0.149vw + 13.1px), 16px);
  --gs_14: 14px;

}
/*
 --logo: 3.5rem; 
--logo-footer: 3.2rem;
--ht_100: 10rem;
--ht_60: 6rem;
--ht_45: 4.5rem;
--ut_32: 3.2rem;
--gs_21: 2.1rem;
--gs_18: 1.8rem;
--gs_16: 1.6rem;
--gs_14: 1.4rem; 
}

@media (max-width: 1599px) {
:root {
--ht_100: 8.8rem;
--ht_60: 6rem;
--ht_45: 4.5rem;
--ut_32: 3.2rem;
--gs_21: 2.1rem;
--gs_18: 1.8rem;
--gs_16: 1.6rem;
--gs_14: 1.4rem;
}
}
@media (max-width: 1399px) {
:root {
--logo: 2.5rem; 
--ht_100: 7.4rem;
--ht_60: 5.2rem;
--ht_45: 4.2rem;
--ut_32: 3rem;
}
}
@media (max-width: 1199px) {
:root {
--ht_100: 6rem;
--ht_60: 4.8rem;
--ht_45: 3.8rem;
--ut_32: 2.6rem;
--gs_21: 1.8rem;
}
}
@media (max-width: 991px) {
:root {
--ht_100: 4.6rem;
--ht_60: 4.4rem;
--ht_45: 3.4rem;
--ut_32: 2.3rem;
}
}
@media (max-width: 767px) {
:root {
--logo-footer: 2.5rem;
--ht_100: 4rem;
--ht_60: 4rem;
--ht_45: 3.2rem;
--ut_32: 2.1rem;
}
}
@media (max-width: 575px) {
:root {
--ht_100: 3.5rem;
--ht_60: 3rem;
--ut_32: 2rem;
--gs_21: 1.6rem;
--gs_16: 1.4rem;
}
}
*/







/* ------------------------------------------------------------ *\
	Hintergrundfarben
\* ------------------------------------------------------------ */
.bg-weiss { background-color: var(--c-weiss);}
.bg-licht-braun { background-color: var(--c-licht-braun);}
.bg-dunkel-braun { background-color: var(--c-dunkel-braun);}
.bg-dunkelblau { background-color: var(--c-dunkelblau);}




 
/* ------------------------------------------------------------ *\
	Margins
\* ------------------------------------------------------------ */
.mb-none { margin-bottom: 0px; }
.mb-xs { margin-bottom: 30px; }
.mb-sm { margin-bottom: 80px; }
.mb-md { margin-bottom: 120px; }
.mb-lg { margin-bottom: 160px; }
.mb-xl { margin-bottom: 200px; }
.mb-xxl { margin-bottom: 220px; }

.mb-60 { margin-bottom: 60px; }

.pt-none {padding-top: 0}
.pt-sm  {padding-top: 80px}
.pt-md  {padding-top: 130px}

.pb-none {padding-bottom: 0}
.pb-xs  {padding-bottom: 50px}
.pb-sm  {padding-bottom: 100px}
.pb-md  {padding-bottom: 130px }

@media (max-width: 991px) {
.mb-sm { margin-bottom: 60px; }
.mb-md { margin-bottom: 100px; }
.mb-lg { margin-bottom: 120px; }
.mb-xl { margin-bottom: 140px; }
.mb-xxl { margin-bottom: 160px; }   
    
.pt-sm  {padding-top: 60px}
.pt-md  {padding-top: 100px}
    
.pb-xs  {padding-bottom: 40px}
.pb-sm  {padding-bottom: 80px}
.pb-md  {padding-bottom: 100px }
}

@media (max-width: 767px) {
.mb-sm { margin-bottom: 50px; }
.mb-md { margin-bottom: 80px; }
.mb-lg { margin-bottom: 100px; }
.mb-xl { margin-bottom: 130px; }
.mb-xxl { margin-bottom: 150px; }   
    
.mb-60 { margin-bottom: 50px; }
    
.pt-sm  {padding-top: 40px}
.pt-md  {padding-top: 80px}
    
.pb-xs  {padding-bottom: 30px}
.pb-sm  {padding-bottom: 60px}
.pb-md  {padding-bottom: 80px }
}

@media (max-width: 575px) {
.mb-sm { margin-bottom: 40px; }
.mb-md { margin-bottom: 70px; }
.mb-lg { margin-bottom: 90px; }
.mb-xl { margin-bottom: 110px; }
.mb-xxl { margin-bottom: 130px; }   
    
.mb-60 { margin-bottom: 40px; }
}




/* ------------------------------------------------------------ *\
    Fonts
\* ------------------------------------------------------------ */
@font-face {
  font-family: "Messina Sans Book";
  src: url("fonts/MessinaSans-Book.woff2") format("woff2"), url("fonts/MessinaSans-Book.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Messina Sans";
  src: url("fonts/MessinaSans-Bold.woff2") format("woff2"), url("fonts/MessinaSans-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Messina Sans";
  src: url("fonts/MessinaSans-Regular.woff2") format("woff2"), url("fonts/MessinaSans-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Messina Sans";
  src: url("fonts/MessinaSans-SemiBold.woff2") format("woff2"), url("fonts/MessinaSans-SemiBold.woff") format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}





html {
  font-size: var(--fz-html);
}

body {
  min-width: 320px;
  font-family: var(--ff-base);
  font-weight: var(--fw-base);
  font-size: var(--gs_21);
  line-height: var(--line-height-lg);
  color: var(--c-dunkel-braun);
}

body.has-menu-open {
  overflow: hidden;
}

a { color: inherit; text-decoration: underline;}
@media (hover: hover) {
a:where(:hover, :focus-visible) {  text-decoration: none;}
}
a[href^=tel] { text-decoration: none;}




.section-text a { text-decoration: none; color: var(--c-blau); border-bottom: 1px dotted}
.section-text a:hover  { color: var(--c-hellblau); border-bottom: none}

.section-text.iconlink { display: inline-block;}
.section-text .iconlink a { display: inline-flex; align-items: center; gap: 0.8rem; border-bottom: none}




p,
ul,
ol,
dl,
hr,
table,
blockquote {
  margin-bottom: calc(var(--line-height-lg) * 0.5em);
}

h1[class],
h2[class],
h3[class],
h4[class],
h5[class],
h6[class],
h1:last-child,
h2:last-child,
h3:last-child,
h4:last-child,
h5:last-child,
h6:last-child,
p:last-child,
ul:last-child,
ol:last-child,
dl:last-child,
table:last-child,
blockquote:last-child {
  margin-bottom: 0;
}

strong {font-weight: 600; font-family: var(--ff-base);}




body.bg-dunkel-braun .header .logo {color: var(--c-licht-braun);}
body.bg-dunkel-braun .header .header__links ul a,
body.bg-dunkel-braun  .header .header__bar-link a{ color: var(--c-hell-braun);}


.wrapper { position: relative; min-height: 100svh;}
.main {}
.main.main-no-top-padding {}
.main.main-top-padding {padding-top: 110px}

@media (max-width: 991px) {
.main.main-top-padding {padding-top: 70px}
}
@media (max-width: 767px) {
.main.main-top-padding {padding-top: 50px}
}
@media (max-width: 575px) {
.main.main-top-padding {padding-top: 30px}
}


/* ------------------------------------------------------------ *\
	Container
\* ------------------------------------------------------------ */
/*
.container {
  --container-gutter: 4rem;
  width: 100%;
  max-width: 162rem; 
  padding-inline: var(--container-gutter);
  margin-inline: auto;
}

@media (min-width: 1920px) {
  .container {
    max-width: calc(162rem * (100vw / 1920px));
  }
}
*/

.container {
/*--container-max-width: 84.5vw;*/
--container-max-width: 162rem;
  --container-gutter: 4rem;
  max-width: calc(var(--container-max-width) + var(--container-gutter) * 2);
  padding-inline: var(--container-gutter);
  margin-inline: auto;
  width: 100%;
}

.container--medium {--container-max-width: 134.2rem;}
.container--small { --container-max-width: 106.4rem;}
.container--fluid { max-width: none;}

@media (max-width: 991px) {
.container {--container-gutter: 3rem;}
}
@media (max-width: 767px) {
.container {--container-gutter: 2rem;}
}
@media (max-width: 575px) {
.container {--container-gutter: 1.6rem;}
}



/* ------------------------------------------------------------ *\
	Headings
\* ------------------------------------------------------------ */
h1, h2, h3, h4, h5, h6 { margin-bottom: calc(var(--line-height-lg) * 0.5em); font-family: var(--ff-base-book); font-weight: 400;}
h1 {font-size: var(--ht_100); line-height: var(--line-height-xs);}
h2 {font-size: var(--ht_60); line-height: var(--line-height-xs);}
h3 {font-size: var(--ht_45); line-height: var(--line-height-md);}
h4 {font-size: var(--ut_32);line-height: var(--line-height-md);}
h5 {font-size: var(--gs_21);line-height: var(--line-height-md); font-weight: 600; font-family: var(--ff-base);}




/* ------------------------------------------------------------ *\
	Header
\* ------------------------------------------------------------ */
.header {padding: 3rem 0 6rem;}

.header .header__bar { margin-bottom: 3.5rem; display: flex; align-items: center; justify-content: flex-end; gap: 7.6rem; padding-right: 11rem; font-size:var(--gs_16); line-height: 1.1;}
.header .header__bar-link a { cursor: pointer; display: flex; align-items: center; gap: 0.9rem; transition: opacity 0.3s ease-in-out;}

/*.header .header__container { padding-left: 11rem; display: flex; align-items: center; justify-content: space-between;}*/
.header .header__container { padding-left: calc((100vw - var(--container-max-width)) / 2 - var(--container-gutter));; display: flex; align-items: center; justify-content: space-between;}


.header .header__logo {}

.header .header__menu-container {
  position: fixed; top: 0; right: 0; width: 100%; height: 100dvh; background: var(--c-dunkel-braun); color: var(--c-hell-braun); padding: 3rem 15rem 12.8rem; z-index: 20; overflow: auto; -ms-overflow-style: none; scrollbar-width: none; opacity: 0; visibility: hidden; transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}
.header .header__menu-container::-webkit-scrollbar {display: none;}
.header .header__menu-container.is-active {opacity: 1; visibility: visible;}

.header .header__lang { width: fit-content; margin-left: auto; }

.header .header__nav { width: fit-content; margin-left: auto; margin-top: 5rem}

.header .header__nav-main { margin-bottom: 5rem;}

.header .header__nav-links ul { list-style-type: none; display: flex; align-items: center; justify-content: space-between;  padding-left: 0;}
.header .header__nav-links ul a { text-decoration: none; transition: opacity 0.3s ease-in-out;}
.header .header__nav-links ul li.current_page_item a {opacity: 0.5;}

.header .header__wrapper { padding-top: 0.5rem; display: flex; align-items: center; gap: 6rem;}

.header .header__links {}
.header .header__links ul { display: flex; align-items: center; gap: 5.6rem; list-style-type: none; }
.header .header__links ul a { text-decoration: none; transition: opacity 0.3s ease-in-out;}

.header .header__links ul li.current_page_item a { opacity: 0.5;}

.header .header__menu-toggle { position: relative; z-index: 51; min-width: 5rem;}

/* Hover Only */
@media (hover: hover) and (pointer: fine) {
.header .header__bar-link a:hover,
.header .header__nav-links ul a:hover,
.header .header__links ul a:hover { opacity: 0.5;}
}
@media (max-width: 1599px) {
  .header .header__bar {padding-right: 0;}
  .header .header__container {padding-left: 0;}
  .header .header__wrapper {gap: 4rem; padding-top: 0;}
  .header .header__links ul {gap: 4rem;}
}

@media (max-width: 1399px) {
  .header .header__bar {margin-bottom: 2.5rem;}
}

@media (max-width: 991px) {
  .header .header__bar {gap: 4rem;}
  .header .header__menu-container {padding: 3rem 10rem 12.8rem;}
  .header .header__nav {width: 100%;}
  .header .header__links {display: none;}
}

@media (max-width: 767px) {
.header {padding: 3rem 0 3rem;}
.header .header__bar {display: none}
.header .header__lang { margin-left: 14vw; }
.header .header__container {align-items: flex-start;}
.header .header__menu-container {padding: 3rem 2rem 10rem;}
.header .header__nav { margin-top: 3.5rem}
.header .header__nav-main {margin-bottom: 4rem;}
.header .header__nav-links {width: 80vw; margin-left: auto; min-width: unset; }
.header .header__nav-links ul {flex-wrap: wrap; gap: 1.2rem; width: 100%;}
.header .header__nav-links ul li {width: calc(50% - 0.6rem);}
}

@media (max-width: 575px) {
.header {padding: 2.8rem 0 2.8rem;}
.header .header__bar {display: none}
.header .header__lang { margin-left: 0; }
.header .header__nav-main {margin-bottom: 3rem;}
.header .header__nav-links {width: 100vw;}
}




.logo {text-indent: -1; display: inline-block; text-decoration: none; 
font-size: var(--logo); 
line-height: 1.2; 
font-family: var(--ff-base-book); 
letter-spacing: 0.02em; 
text-transform: uppercase;
}

@media (max-width: 1399px) {
  .logo {line-height: 1.3;}
}
@media (max-width: 767px) {
  .logo {max-width: 16.5rem; letter-spacing: 0;}
}
@media (min-width: 767.02px) { 
.logo .hidden-xxs {display: inline;}
}





/* ------------------------------------------------------------ *\
	Menu Toggle
\* ------------------------------------------------------------ */
.menu-toggle {border: 1px solid var(--c-blau); border-radius: 0.4rem; width: 5rem; height: 4rem; display: flex; gap: 0.6rem; flex-direction: column; align-items: center; justify-content: center; padding: 1rem; background: transparent; outline: none; transition: border-color 0.3s ease-in-out, gap 0.2s ease-in-out;}
.menu-toggle span {display: block; width: 2.8rem; height: 0.2rem; background: var(--c-blau); transition: background 0.3s ease-in-out, transform 0.3s ease-in-out;}
.menu-toggle.is-active {border-color: var(--c-hell-braun);}
.menu-toggle.is-active span {background: var(--c-hell-braun); transform: translateY(0.4rem) rotate(45deg);}
.menu-toggle.is-active span + span {transform: translateY(-0.4rem) rotate(-45deg);}

body.bg-dunkel-braun .menu-toggle {border: 1px solid var(--c-hellblau);}
body.bg-dunkel-braun .menu-toggle span {background: var(--c-hellblau);}

@media (hover: hover) and (pointer: fine) {
  .menu-toggle:hover {gap: 1rem;}
  .menu-toggle.is-active:hover span {transform: translateY(0) rotate(0);}
  .menu-toggle.is-active:hover span + span {transform: translateY(0) rotate(-180deg);}
}

@media (max-width: 767px) {
/*.menu-toggle {position: static !important;}*/
}



/* ------------------------------------------------------------ *\
	Nav Hauptnavigation
\* ------------------------------------------------------------ */
.nav {min-width: 64.5rem; font-size:var(--ht_45); line-height: var(--line-height-md); font-family: var(--ff-base-book);}
.nav ul {width: 100%; padding-left: 0;}
.nav li {border-bottom: 0.1rem solid var(--c-mittel-braun);}
.nav a {text-decoration: none; padding: 1.95rem 0; display: block; transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;}
.nav li.current_page_item a {opacity: 0.5; transform: translateX(2rem);}
.nav li:first-child a {padding-top: 0;}

@media (hover: hover) and (pointer: fine) {
.nav a:hover {opacity: 0.5; transform: translateX(2rem);}
}
@media (max-width: 991px) {
.nav a {padding: 1.6rem 0; }
}
@media (max-width: 767px) {
.nav {width: 80vw; margin-left: auto; min-width: unset; }
.nav a {padding: 1.3rem 0; }
}
@media (max-width: 575px) {
.nav {width: 100vw;  }
.nav a {padding: 1rem 0; }
}

.single-team li.team a {opacity: 0.5; transform: translateX(2rem);}
.single-magazin li.magazin a {opacity: 0.5; transform: translateX(2rem);}
.single-fachbereiche.bereich-rechtsberatung li.rechtsberatung  a {opacity: 0.5; transform: translateX(2rem);}
.single-fachbereiche.bereich-notariat li.notariat  a {opacity: 0.5; transform: translateX(2rem);}




/* ------------------------------------------------------------ *\
	Nav Lang
\* ------------------------------------------------------------ */
.nav-lang {color: var(--c-hell-braun); text-transform: uppercase; font-size: var(--gs_16); line-height: 1.1;}
.nav-lang ul {display: flex; gap: 1rem; align-items: center; padding-left: 0;}
.nav-lang li.wpml-ls-current-language a {font-weight: 600; color: var(--c-blau); font-family: var(--ff-base);}
.nav-lang li + li {display: flex; gap: 1rem; align-items: center;}
.nav-lang li + li:before {content: ""; display: block; width: 0.1rem; height: 1.4rem; background: var(--c-hell-braun);}
.nav-lang a {display: block; text-decoration: none; transition: color 0.3s ease-in-out;}

body.bg-dunkel-braun .nav-lang li.wpml-ls-current-language a {color: var(--c-hellblau);}

@media (hover: hover) and (pointer: fine) {
  .nav-lang a:hover {color: var(--c-blau);}
}








/* ------------------------------------------------------------ *\
	
\* ------------------------------------------------------------ */
.hero { position: relative;}
.hero .hero__container {position: relative;}
.hero .hero__decoration {position: absolute; bottom: -8.5rem; right: 0; width: 100%; max-width: 82.8%; background: var(--c-hell-braun); aspect-ratio: 1340/285;}
.hero .hero__image {position: relative; z-index: 2; aspect-ratio: 1340/660; width: 100%; max-width: 83%;}
.hero .hero__image img {position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover;}

.hero.fotorechts .hero__decoration {left: 0; right: unset; }
.hero.fotorechts .hero__image {margin-left: auto;}

@media (max-width: 1199px) {
.hero .hero__image {max-width: 86%; aspect-ratio: 1340/660;}
}
@media (max-width: 991px) {
.hero .hero__decoration {bottom: -5rem;}
.hero .hero__image {aspect-ratio: 1344/760;}
}
@media (max-width: 767px) {
.hero .hero__decoration {right: -2rem; max-width: 86%; aspect-ratio: 300/150;}
.hero .hero__image {margin-left: -2rem; aspect-ratio: 300/220; max-width: 91.5%;} 
.hero.fotorechts .hero__decoration {left: -2rem; right: unset; }
.hero.fotorechts .hero__image {margin-left: auto; margin-right: -2rem;}

}
@media (max-width: 575px) {
  .hero .hero__image {}
}




/* ------------------------------------------------------------ *\
	Home Hero
\* ------------------------------------------------------------ */
.home-hero {padding: 0; overflow: hidden;}
.home-hero .home-hero__wrapper {position: relative; margin: 0; margin-bottom: 8.7rem;}
.home-hero .home-hero__container {margin-right: 0; padding: 0;}


.home-hero .home-hero__image {position: relative; overflow: hidden; width: calc(98% - (-50vw + 81rem)); margin-left: calc(-50vw + 81rem); aspect-ratio: 1340/990;}
.home-hero .home-hero__image img, .home-hero .home-hero__image-alt img {position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover;}
.home-hero .home-hero__content {padding: 6rem 0 6rem 5rem ; }


.home-hero .home-hero__content h1 {margin-bottom: 4rem;}
.home-hero .home-hero__decoration {position: absolute; top: 55%; right: calc(-50vw + 81rem); width: calc(83% - (-50vw + 81rem)); aspect-ratio: 1492/819; background: var(--c-hell-braun); z-index: -1;}
.home-hero .home-hero__image-alt {position: relative; aspect-ratio: 960/570; overflow: hidden; width: 100%; max-width: 57%; margin-left: auto;}

@media only screen and (max-width: 1700px) {
  .home-hero .home-hero__image {width: calc(98% + 4rem); margin-left: -4rem;}
  .home-hero .home-hero__decoration {right: -4rem; width: calc(83% + 4rem);}
}
@media (max-width: 1599px) {
  .home-hero .home-hero__content {padding: 3.4rem 0 3.4rem 2rem;}
  .home-hero .home-hero__content h1 {margin-bottom: 2.4rem;}
}
@media (max-width: 1399px) {
  .home-hero .home-hero__decoration {top: 50%;}
}
@media (max-width: 991px) {
  .home-hero .home-hero__wrapper {margin-bottom: 5.4rem;}
  .home-hero .home-hero__image {width: calc(100% + 3rem); margin-left: -3rem;}
  .home-hero .home-hero__content {padding: 0 0 0 2rem;}
  .home-hero .home-hero__decoration {right: -3rem; width: calc(83% + 3rem);}
  .home-hero .home-hero__image-alt {max-width: 66%;}
}
@media (max-width: 767px) {
  .home-hero .home-hero__image {width: calc(100% + 2rem); margin-left: -2rem; margin-bottom: 3.5rem;}
  .home-hero .home-hero__content {max-width: 100%; padding: 0 3.2rem;}
  .home-hero .home-hero__content h1 br {display: none;}
  .home-hero .home-hero__decoration {right: -2rem; width: calc(100% + 2rem); max-width: calc(100% + 2rem); aspect-ratio: 382/280;}
  .home-hero .home-hero__image-alt {aspect-ratio: 298/222; max-width: 75%;}
}
@media (max-width: 575px) {
  .home-hero {}
  .home-hero .home-hero__decoration {aspect-ratio: 382/464; top: 23%;}
  .home-hero .home-hero__image-alt {max-width: 82.5%;}
}
@media (max-width: 374px) {
  .home-hero .home-hero__decoration {aspect-ratio: 382/550; }
}




.home-hero-v2 {}
.home-hero-v2 .home-hero__image {position: relative; overflow: hidden; width: 100%; margin-left:unset ; aspect-ratio: 960/710;}

.home-hero-v2 .home-hero__decoration { position: absolute; top: 48.5%; left: calc((100% - 81rem) / 2); /* linker Rand bleibt fix */right: 0; aspect-ratio: 1492/819; background: var(--c-hell-braun); z-index: -1;}



@media only screen and (max-width: 1700px) {
  .home-hero-v2 .home-hero__decoration {right: -4rem; left: unset; width: calc(83% + 4rem);}
}

@media (max-width: 1399px) {
  .home-hero-v2 .home-hero__decoration {top: 50%;}
}
@media (max-width: 991px) {
  .home-hero-v2 .home-hero__image {width: calc(100% + 3rem); margin-left: -3rem;}
  .home-hero-v2 .home-hero__decoration {right: -3rem; width: calc(83% + 3rem); top: 30%; aspect-ratio: 1000/650;}
}
@media (max-width: 767px) {
  .home-hero-v2 .home-hero__image {width: calc(100% + 2rem); margin-left: -2rem; margin-bottom: 3.5rem;}
  .home-hero-v2 .home-hero__decoration {right: -2rem; width: calc(100% + 2rem); max-width: calc(100% + 2rem); aspect-ratio: 380/280; top: 50%;}
}
@media (max-width: 575px) {
.home-hero-v2 .home-hero__decoration {aspect-ratio: 382/464; top: 23%;}
}
@media (max-width: 374px) {
.home-hero-v2 .home-hero__decoration {aspect-ratio: 382/550; }
}


/* ------------------------------------------------------------ *\
	Testimonial
\* ------------------------------------------------------------ */
.testimonial {}
.testimonial .testimonial__author {}
.testimonial .testimonial__content {font-size: var(--ht_45); line-height: var(--line-height-md); font-family: var(--ff-base-book); }
.testimonial .testimonial__content blockquote {margin-bottom: 2.5rem; display: block;}

@media (max-width: 767px) {
.testimonial .testimonial__content {margin-top: 5rem;}
}



/* ------------------------------------------------------------ *\
	Listen
\* ------------------------------------------------------------ */
.section-text ul{ list-style: none; padding:0;  margin:0 0 25px 0;  }
.section-text ul li{ padding-left: 1.1em; text-indent: -1em; padding-bottom: 8px   }
/*.section-text ul li:before { content: "•";  margin-right: 14px; color: #005AA0;  }*/
.section-text ul li:before { content: ""; display: inline-block; width: 6px; height: 6px; border-radius: 50%; margin: 0 15px 4px 0; background: var(--c-dunkel-braun);  }


/*.section-text ol { list-style: none; counter-reset: my-awesome-counter; margin:0 0 25px 0;}
.section-text ol li { counter-increment: my-awesome-counter; padding-bottom: 8px; }
.section-text ol li::before { content: counter(my-awesome-counter) ". "; }
 */

.section-text ol {
  list-style: none;
  counter-reset: my-awesome-counter;
  margin: 0 0 25px 0;
  padding: 0;
}

.section-text ol li {
  counter-increment: my-awesome-counter;
  padding-bottom: 8px;

  position: relative;      /* wichtig für absolutes Positionieren */
  padding-left: 2em;       /* Platz für die Zahl schaffen */
}

.section-text ol li::before {
  content: counter(my-awesome-counter) ".";
  position: absolute;
  left: 0;                 /* Zahl ganz links innerhalb des li */
  width: 2em;              /* Breite des Nummernblocks */
  text-align: left;       /* Zahlen rechtsbündig, damit 1 und 10 sauber stehen */
}



/* ------------------------------------------------------------ *\
	Author
\* ------------------------------------------------------------ */
.author {font-size:var(--gs_16); line-height: var(--line-height-md);}
.author .author__image {margin-bottom: 3.5rem; border-radius: 50%; overflow: hidden; position: relative; aspect-ratio: 1/1; width: 100%; max-width: 18.5rem}
.author .author__image img {position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover;}
.author .author__content span {display: block; margin-bottom: 1.2rem; font-weight: 600; font-family: var(--ff-base); font-size: 1.6rem;}
.author .author__content h6 {font-weight: 600; font-family: var(--ff-base); font-size:var(--gs_16); line-height: var(--line-height-md); margin-bottom: 0;}
.author .author__content a {color: var(--c-hellblau); display: flex; align-items: center; gap: 0.8rem; width: fit-content; text-decoration: none; transition: color 0.3s;}

@media (hover: hover) and (pointer: fine) {
.author .author__content a:hover {color: var(--c-weiss);}
.section-magazin-author .author .author__content a:hover {color: unset;}
}

@media (max-width: 991px) {
  .author .author__image {margin-bottom: 3rem;}
}

@media (max-width: 767px) {
  .author .author__image {max-width: 16rem;}
}
@media (max-width: 991px) {
  .author .author__image {margin-bottom: 2.5rem;}
}

@media (max-width: 575px) {
.author .author__image {max-width: 13rem; margin-bottom: 2rem;}
.author .author__content span {margin-bottom: 0.8rem;}
}


/* Author Alt */
.author--alt .author__content {font-size:var(--gs_21); max-width:32rem }
.author--alt .author__content h6 {font-size:var(--gs_21);}
.author--alt .author__content p {margin-bottom: 0.5rem;}










/* ------------------------------------------------------------ *\
	Block Image
\* ------------------------------------------------------------ */
.block-image {width: 100%;position: relative; overflow: hidden;}
.block-image img {width: 100%;}
@media (max-width: 575px) { 
.block-image {  aspect-ratio: 400/250;}
.block-image img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover;}      
}








/* ------------------------------------------------------------ *\
	Block Title
\* ------------------------------------------------------------ */
.block-title {font-size: var(--ut_32); line-height: var(--line-height-md); font-family: var(--ff-base-book); }
.block-title h3 {margin-bottom: 6rem; }

@media (max-width: 1199px) {.block-title h3 {margin-bottom: 4rem;}}
@media (max-width: 991px) {.block-title h3 {margin-bottom: 3rem;}}






.btn {display: inline-flex; vertical-align: middle; align-items: center; justify-content: center; cursor: pointer; text-decoration: none; appearance: none; border: 0.1rem solid var(--c-blau); color: var(--c-blau); font-size: var(--gs_16); line-height: 1; text-align: center; padding: 1.2rem 2rem; border-radius: 0.4rem; transition: color 0.3s ease-in-out, background 0.3s ease-in-out, border-color 0.4s ease-in-out;}

.btn--outline-brown {border-color: var(--c-mittel-braun); color: var(--c-weiss);}
.btn--outline-blue {color: var(--c-weiss); border-color: var(--c-hellblau);}
.btn--block {display: block; padding-inline: 0;}

.btn-arrow-down svg {margin-right: 8px}

@media (max-width: 767px) {
.btn {padding: 0.9rem 1.7rem;}
}

@media (hover: hover) and (pointer: fine) {
.btn:hover {background: var(--c-blau); color: var(--c-weiss);}
.btn--outline-brown:hover {background: var(--c-mittel-braun);}
.btn--outline-blue:hover {background: var(--c-hellblau);}
}












/* ------------------------------------------------------------ *\
	Card Swiper
\* ------------------------------------------------------------ */
.card-magazin {height: 100%; background: transparent; border: 0; border-radius: 0; position: relative; z-index: 5;}
.card-magazin a {padding: 2.4rem; display: flex; flex-direction: column; text-decoration: none; height: 100%; position: relative;}
.card-magazin a:after {content: ""; display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: var(--c-weiss); z-index: -1; transition: transform 0.3s ease-in-out;}
.card-magazin .card__content {padding: 1.6rem 1.6rem 0; margin-bottom: 6rem; flex-grow: 1; font-size: var(--gs_16); font-weight: 600; font-family: var(--ff-base);}
.card-magazin .card__content h4 {margin-bottom: 4rem;}
.card-magazin .card__image {position: relative; aspect-ratio: 480/385; overflow: hidden; transition: transform 0.3s ease-in-out;}
.card-magazin .card__image img {position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease-in-out;}

@media (max-width: 1399px) {
.card-magazin a {padding: 2.4rem 1.6rem;}
}
@media (max-width: 767px) {
.card-magazin a {padding: 2.4rem 1.2rem 1.2rem;}
}
@media (max-width: 1599px) {
.card-magazin .card__content {margin-bottom: 3.5rem;}
}
@media (max-width: 1199px) {
  .card-magazin .card__content {padding: 1.5rem 0 0; margin-bottom: 2.5rem;}
  .card-magazin .card__content h4 {margin-bottom: 2.2rem;}
}
@media (max-width: 575px) {
.card-magazin a {padding: 2.2rem 1rem 1rem;}
  .card-magazin .card__content {padding: 0 0.8rem 0; margin-bottom: 2rem;}
  .card-magazin .card__image {}
}
@media (hover: hover) and (pointer: fine) {
  .card-magazin a:hover:after {transform: scale(0.95);}
  .card-magazin a:hover .card__image {transform: scale(0.95);}
  .card-magazin a:hover .card__image img {transform: scale(1.1);}
}








/* ------------------------------------------------------------ *\
	Card
\* ------------------------------------------------------------ */
.card {height: 100%; position: relative; background: transparent; border-radius: 0; border: 0;}
.card a {
  height: 100%;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  padding: 4rem 4rem 2.9rem;
}
.card a:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border: 1px solid var(--c-hell-braun);
  z-index: -1;
  transition: background 0.3s ease-in-out, transform 0.3s ease-in-out, border-color 0.3s ease-in-out;
}

.card h4 {margin-bottom: 6rem; }


.card-action {display: flex; justify-content: space-between; width: 100%; align-items: flex-end;}
/*
.card-icon {
  height: 90px;
  display: flex;
  align-items: center;  
  justify-content: center; 
}
*/
.card-icon img {
  max-height: 90px;
  width: auto;      /* verhindert Verzerrung */
  height: auto;     /* passt sich proportional an */
  display: block;   /* entfernt kleine Lücken unter dem Bild */
}

@media (max-width: 1419px) {
.card-icon img { max-height: 70px;}
}
@media (max-width: 1199px) {
.card a {padding: 3rem;}
.card-icon img { max-height: 55px;}
}
@media (max-width: 991px) {
.card h4 {margin-bottom: 4.5rem; }
.card a {padding: 2rem;}
.card-icon img { max-height: 50px;}
}
@media (max-width: 767px) {
.card h4 {margin-bottom: 3.5rem; }
}
@media (max-width: 575px) {
.card h4 {margin-bottom: 2.5rem; }
}
@media (hover: hover) and (pointer: fine) {
.card a:hover:after {transform: scale(0.95); background: var(--c-licht-braun); border-color: var(--c-licht-braun);}
.card a:hover span.btn {background: var(--c-blau); color: var(--c-weiss);}
}







/* ------------------------------------------------------------ *\
	Cards Swiper
\* ------------------------------------------------------------ */
.cards-swiper {margin: -2.5rem;}
.cards-swiper .cards__item {padding: 2.5rem;}

@media (max-width: 1199px) {
  .cards-swiper {margin: -1.9rem;}
  .cards-swiper .cards__item {padding: 1.9rem;}
}
@media (max-width: 767px) {
  .cards-swiper {margin: -1rem;}
  .cards-swiper .cards__item {padding: 1rem;}
}




/* ------------------------------------------------------------ *\
	Cards
\* ------------------------------------------------------------ */
.cards {margin: -2.5rem;}
.cards .cards__item {padding: 2.5rem;}

@media (max-width: 1199px) {
  .cards {margin: -1.9rem;}
  .cards .cards__item {padding: 1.9rem;}
}
@media (max-width: 767px) {
  .cards {margin: -1rem;}
  .cards .cards__item {padding: 1rem;}
}






/* ------------------------------------------------------------ *\
	Section Foto/Text
\* ------------------------------------------------------------ */
.section-foto_text {}
.section-foto_text  .section-inner {max-width: 74%;}
.section-foto_text  .section-inner-alt {max-width: unset;}
.section-foto_text .row.first-col {}

.section-foto_text-schmal {font-size: var(--gs_16); font-weight: 600; font-family: var(--ff-base);}
.section-foto_text-schmal h4 {font-size: var(--gs_21);line-height: var(--line-height-md); font-weight: 600;font-family: var(--ff-base);}

.section-foto_text img,
.section-foto_text-schmal img{width: 100%; height: auto}

@media (max-width: 1199px) {
.section-foto_text .section-inner {max-width: 80%;}
}
@media (max-width: 991px) {
.section-foto_text .section-inner {max-width: 90%;}
}
@media (max-width: 767px) {
.section-foto_text  .section-inner {max-width: 100%;}
.section-foto_text .row div:first-of-type,
.section-foto_text-schmal .row div:first-of-type {margin-bottom: 30px}
}




/* ----------------------------------------------------------- *\
	Section Icon-Block
\* ------------------------------------------------------------ */
.section-icon-block {}


.threeinrow.iconblock .content-inner { padding: 0 14%;}
.fourinrow.iconblock .content-inner { padding: 0 0;}

.iconblock .image-container {margin-bottom: 40px}
.iconblock .image-container img {max-width: 65%; margin: 0 auto; display: block;}
.iconblock {margin-bottom: 100px}
.iconblock h5 {margin-bottom: 0; font-weight: 600; font-family: var(--ff-base) }

@media (max-width: 991px) {
.iconblock .image-container img {max-width: 200px; }
}
@media (max-width: 767px) {
.threeinrow.iconblock .content-inner { padding: 0 5%;}
.fourinrow.iconblock .content-inner { padding: 0 0;}
.iconblock .image-container {margin-bottom: 30px}
}
@media (max-width: 575px) {
}



/* ------------------------------------------------------------ *\
	Footer
\* ------------------------------------------------------------ */
.footer {padding: 12rem 0 13rem;}
.footer .footer__menu {display: flex; justify-content: flex-end;}
.footer .footer__info {display: flex; gap: 13.4rem; margin-top: 5.5rem;}
.footer .footer__address p {margin-bottom: 0;}
.footer .footer__address address {margin-bottom: 0;}
.footer .footer__address a {cursor: pointer; display: block; width: fit-content; text-decoration: none; transition: color 0.3s ease-in-out;}
.footer .footer__address a[href^=mailto], .footer .footer__socials a {color: var(--c-blau); transition: color 0.3s ease-in-out;}
.footer .footer__socials {padding-bottom: 0.6rem; margin-top: 5.5rem; display: flex; align-items: flex-end; justify-content: flex-end;}

@media (max-width: 1399px) {
  .footer {padding: 9rem 0;}
}
@media (max-width: 1199px) {
  .footer {padding: 8rem 0;}
  .footer .footer__info {gap: 7rem;}
}
@media (max-width: 991px) {
  .footer .footer__info {gap: 7rem;}
}
@media (max-width: 767px) {
  .footer .footer__menu {display: block;}
  .footer .footer__info {gap: 4rem; margin-top: 4rem;}
  .footer .footer__socials {margin-top: 4rem;}
}
@media (max-width: 575px) {
.footer .footer__menu {margin-top: 8rem;}
.footer .footer__info {gap: 3rem; margin-top: 5rem;}

.footer .footer__socials {margin-top: 8rem;}
.footer .footer__socials svg {width: 4.4rem; height: 4.4rem;}
}
@media (max-width: 374px) {
.footer .footer__menu {margin-top: 5rem;}
.footer .footer__info {gap: 3rem;flex-direction: column; }
}
@media (hover: hover) and (pointer: fine) {
  .footer .footer__address a:hover,
  .footer .footer__address a[href^=mailto]:hover,
  .footer .footer__socials a:hover {color: var(--c-hellblau);}
}



/* ------------------------------------------------------------ *\
	Logo Footer
\* ------------------------------------------------------------ */
.logo--footer { 
font-size: var(--logo-footer); 
line-height: 1.4; }
@media (max-width: 767px) {
.logo--footer { line-height: 1.3;}
}


/* ------------------------------------------------------------ *\
	Nav Footer
\* ------------------------------------------------------------ */
.nav-footer {display: flex; gap: 7.3rem; color: var(--c-blau); line-height: 1.8;}
.nav-footer a {text-decoration: none; transition: color 0.3s ease-in-out;}
.nav-footer li.current_page_item a {color: var(--c-hellblau);}

@media (max-width: 991px) {
  .nav-footer {gap: 5rem;}
  .nav-footer ul {padding-left: 0; margin-bottom: 0;}
}
@media (max-width: 575px) {

}
@media (hover: hover) and (pointer: fine) {
  .nav-footer a:hover {color: var(--c-hellblau);}
}






.grid-flex {
  --grid-gutter: 2rem;
  display: flex;
  flex-flow: row wrap;
  margin-inline: calc(var(--grid-gutter) / 2 * -1);
}
.grid-flex .grid__col {
  --grid-cols: 1;
  padding-inline: calc(var(--grid-gutter) / 2);
  max-width: calc(100% / var(--grid-cols));
  flex: 0 0 calc(100% / var(--grid-cols));
}
.grid-flex .grid__col--1of2 {
  --grid-cols: 2;
}
.grid-flex .grid__col--1of3 {
  --grid-cols: 3;
}
.grid-flex .grid__col--1of4 {
  --grid-cols: 4;
}
.grid-flex .grid__col--1of5 {
  --grid-cols: 5;
}
.grid-flex .grid__col--1of6 {
  --grid-cols: 6;
}

.grid {
  --grid-cols: 1;
  --grid-gutter: 2rem;
  display: grid;
  grid-template-columns: repeat(var(--grid-cols), 1fr);
  gap: var(--grid-gutter);
}

.grid--size-1of2 {
  --grid-cols: 2;
}

.grid--size-1of3 {
  --grid-cols: 3;
}

.grid--size-1of4 {
  --grid-cols: 4;
}

.grid--size-1of5 {
  --grid-cols: 5;
}

.grid--size-1of6 {
  --grid-cols: 6;
}























/* ------------------------------------------------------------ *\
	Icons
\* ------------------------------------------------------------ */
.sprite { display: none;}

.ico-phone { width: 1.6rem;height: 1.6rem;}
.ico-linkedin { width: 5rem; height: 5rem;}
.ico-linkedin-small { width: 1.9rem; height: 1.9rem;}
.ico-ticket { width: 1.2rem;height: 1.2rem;}
.ico-user { width: 1rem; height: 1rem;}
.ico-arrow-right { width: 5.1rem; height: 3.7rem;}
.ico-arrow-down { width: .9rem; height: 1.4rem;}
.ico-mail { width: 1.9rem; height: 1.9rem;}
.ico-vcard { width: 2rem; height: 1.4rem;}
.ico-date { width: 1.2rem;height: 1.2rem;}
.ico-map { width: 1.9rem;height: 1.9rem;}








/* ------------------------------------------------------------ *\
	Section Calltoaction
\* ------------------------------------------------------------ */
.section-calltoaction { color: var(--c-weiss); padding: 13.3rem 0; margin-top: -1px;}
.section-calltoaction .section__info {}
.section-calltoaction .section__content {margin-left: auto; padding-top: 2.2rem;}
.section-calltoaction .section__content h2 {margin-bottom: 4rem;}



@media (max-width: 1199px) {
.section-calltoaction {padding: 8rem 0;}
}

@media (max-width: 991px) {
.section-calltoaction .section__content {}
}

@media (max-width: 767px) {
.section-calltoaction {padding: 6rem 0;}
.section-calltoaction .section__content {}
.section-calltoaction .section__content h2 {margin-bottom: 3rem;}
}

@media (max-width: 575px) {
.section-calltoaction .section__info {}
.section-calltoaction .section__content {max-width: 100%;}
.section-calltoaction .section__content h2 {margin-bottom: 2rem;}
}




/* ------------------------------------------------------------ *\
	Section Cards
\* ------------------------------------------------------------ */
.section-cards {overflow: hidden;}

.section-cards .section__title--offset {margin-bottom: 8.7rem;}
.section-cards .section__wrapper:not(:last-child) {margin-bottom: 12rem;}
.section-cards .section__actions a {display: block; width: fit-content; margin-inline: auto;}

@media (max-width: 1599px) {
.section-cards .section__title {margin-bottom: 7rem;}
.section-cards .section__title--offset {margin-bottom: 6rem;}
.section-cards .section__wrapper:not(:last-child) {margin-bottom: 8rem;}
}

@media (max-width: 1199px) {
.section-cards .section__title {margin-bottom: 5.9rem;}
.section-cards .section__title--offset {margin-bottom: 4rem;}
.section-cards .section__wrapper:not(:last-child) {margin-bottom: 6rem;}
}




/* ------------------------------------------------------------ *\
	Section more
\* ------------------------------------------------------------ */
.section-more {color: var(--c-weiss);}
.section-more .section__title {margin-bottom: 5rem;}

@media (max-width: 1399px) {.section-more .section__title {margin-bottom: 4rem;}}
@media (max-width: 1199px) {.section-more .section__title {margin-bottom: 2.7rem;}}



/* ------------------------------------------------------------ *\
	Nav Secondary
\* ------------------------------------------------------------ */
.nav-secondary {color: var(--c-hellblau); font-size: 6rem; font-family: var(--ff-base-book); line-height: 1.1;}
.nav-secondary ul {list-style-type: none; padding-left: 0;}
.nav-secondary li {position: relative;}
.nav-secondary a {display: block; padding: 3.5rem 0; text-decoration: none; position: relative; border-bottom: 1px solid rgba(0, 120, 255, 0.6); transition: all 0.3s ease-in-out;}
.nav-secondary .nav__icon {display: flex; position: absolute; top: 55%; transform: translateY(-50%); left: 0;}
.nav-secondary .nav__icon svg {transform: translateX(-3rem); opacity: 0; transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;}
.nav-secondary .nav__title {transition: color 0.3s ease-in-out;}

.nav-secondary .nav__image {position: absolute; top: 50%; right: 7rem; transform: translateY(1rem) translateY(-50%); overflow: hidden; aspect-ratio: 270/270; border-radius: 13.5rem; width: 26%; max-width: 27.7rem; opacity: 0; transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;}
.nav-secondary .nav__image img {position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover;}

@media (max-width: 1399px) {
.nav-secondary {font-size: 5.2rem;}
}
@media (max-width: 1199px) {
.nav-secondary {font-size: 4.4rem;} 
.nav-secondary a {padding: 3rem 0;}
}
@media (max-width: 991px) {
.nav-secondary {font-size: 3.8rem;} 
.nav-secondary a {padding: 2.2rem 0;}
.nav-secondary .nav__image {right: 4rem;}
}
@media (max-width: 767px) {
.nav-secondary {font-size: 3.2rem; line-height: 1.4; } 
.nav-secondary a {padding: 1.3rem 0;} 
.nav-secondary .nav__icon svg {width: 4rem; height: 2.4rem;} 
.nav-secondary .nav__image {right: 3rem;}
}
@media (max-width: 575px) {
.nav-secondary .nav__image {display: none;}
}

@media (hover: hover) and (pointer: fine) {
  .nav-secondary a:hover {padding-left: 8.5rem; }
  .nav-secondary a:hover .nav__icon svg {transform: translateX(0); opacity: 1;}
  .nav-secondary a:hover .nav__title {color: var(--c-weiss);}
  .nav-secondary a:hover .nav__image {opacity: 1; transform: translateY(-50%);}
}
@media (hover: hover) and (pointer: fine) and (max-width: 767px) {
.nav-secondary a:hover {padding-left: 5rem;}
}





/* ------------------------------------------------------------ *\
	Section Numbes
\* ------------------------------------------------------------ */
.section-numbers { background: var(--c-dunkel-braun); color: var(--c-hell-braun);}

.section-numbers .section__counters {max-width: 136.4rem; margin-inline: auto; display: flex; flex-wrap: wrap; gap: 7.4rem 33rem;}
.section-numbers .section__counter {width: calc(50% - 16.5rem);}
.section-numbers .section__counter:nth-child(2) {margin-top: 14.5rem; margin-bottom: -14.5rem;}
.section-numbers .section__counter:nth-child(4), 
.section-numbers .section__counter:nth-child(6),
.section-numbers .section__counter:nth-child(8),
.section-numbers .section__counter:nth-child(10) {margin-top: 16.5rem; margin-bottom: -16.5rem;}
.section-numbers .section__counter:last-child {margin-bottom: 0 !important;}
.section-numbers .section__counter-wrapper {max-width: 37.9rem; }
.section-numbers .section__counter-wrapper .section__content {color: var(--c-mittel-braun);}

.section-numbers .section__counter:nth-child(1) .section__counter-wrapper, 
.section-numbers .section__counter:nth-child(5) .section__counter-wrapper, 
.section-numbers .section__counter:nth-child(9) .section__counter-wrapper, 
.section-numbers .section__counter:nth-child(even) .section__counter-wrapper {margin-left: auto;}
.section-numbers .section__counter:nth-child(4) .section__counter-wrapper,
.section-numbers .section__counter:nth-child(8) .section__counter-wrapper {margin-left: 0;}

.section-numbers .section__counter:nth-child(odd) {text-align: right;}
.section-numbers .section__counter span {font-size: 16rem; line-height: 1.1; font-family: var(--ff-base-book); display: block; margin-bottom: 0; color: var(--c-hell-braun); }


@media (max-width: 1399px) {
.section-numbers {padding-top: 18rem;} 
.section-numbers .section__counters {gap: 7.4rem 20rem;} 
.section-numbers .section__counter {width: calc(50% - 10rem);} 
.section-numbers .section__counter span {font-size: 14rem;}
}

@media (max-width: 1199px) {
.section-numbers {padding-top: 12rem;} 
.section-numbers .section__counters {gap: 6rem 14rem;} 
.section-numbers .section__counter {width: calc(50% - 7rem);} 
.section-numbers .section__counter-wrapper {max-width: 32rem;} 
.section-numbers .section__counter span {font-size: 12rem;}
}

@media (max-width: 991px) {
.section-numbers {padding: 8rem 0;} 
.section-numbers .section__counters {gap: 6rem 10rem;} 
.section-numbers .section__counter {width: calc(50% - 5rem); font-size: 1.8rem;} 
.section-numbers .section__counter:nth-child(2) {margin-top: 8rem; margin-bottom: -8rem;} 
.section-numbers .section__counter:nth-child(4), 
.section-numbers .section__counter:nth-child(6),
.section-numbers .section__counter:nth-child(8),
.section-numbers .section__counter:nth-child(10) {margin-top: 10rem; margin-bottom: 0;}
}

@media (max-width: 767px) {
.section-numbers .section__counters {display: block; padding: 0 2rem;} 
.section-numbers .section__counter {width: 100%;} 
.section-numbers .section__counter:nth-child(2) {margin-top: 0; margin-bottom: 0;} 
.section-numbers .section__counter:nth-child(4), 
.section-numbers .section__counter:nth-child(6) {margin-top: 0; margin-bottom: 0;} 
.section-numbers .section__counter + .section__counter {margin-top: 5rem;} 
.section-numbers .section__counter-wrapper {max-width: 87%;} 
.section-numbers .section__counter:nth-child(1) .section__counter-wrapper, 
.section-numbers .section__counter:nth-child(5) .section__counter-wrapper,
.section-numbers .section__counter:nth-child(9) .section__counter-wrapper {margin-left: 0;} 
.section-numbers .section__counter:nth-child(4) .section__counter-wrapper,
.section-numbers .section__counter:nth-child(8) .section__counter-wrapper {margin-left: auto;}
}

@media (max-width: 575px) {
.section-numbers .section__counter {font-size: 1.6rem; line-height: 1.4;}
}

@media (max-width: 374px) {
.section-numbers .section__counter span {font-size: 10rem;}
}






/* ------------------------------------------------------------ *\
	Section Team
\* ------------------------------------------------------------ */
.section-team {  color: var(--c-hell-braun);}
.section-team .section__title {}
.section-team .section__wrapper {}
.section-team .section__actions a {display: block; width: fit-content; margin-inline: auto;}






/* ------------------------------------------------------------ *\
	Slider
\* ------------------------------------------------------------ */
.slider .slider__clip {overflow: visible;}
.slider .slider__slides {margin-bottom: 10.6rem;}
.slider .slider__slide {height: unset;}
.slider .slider__clip .slider__scrollbar {position: static; width: calc(100% - 27.8rem); margin-inline: auto; height: 0.4rem; background: var(--c-hell-braun);}
.slider .slider__clip .slider__scrollbar .swiper-scrollbar-drag {background: var(--c-dunkel-braun);}

@media (max-width: 1599px) {
.slider .slider__slides {margin-bottom: 7.8rem;}
}
@media (max-width: 767px) {
.slider .slider__clip .slider__scrollbar {width: calc(100% - 12rem);}
}




/* ------------------------------------------------------------ *\
	Tile Team
\* ------------------------------------------------------------ */
.tile-team {color: var(--c-weiss);}
.tile-team a {overflow: hidden; position: relative; text-decoration: none; aspect-ratio: 1; display: flex; align-items: flex-end; width: 100%; height: 100%;}
.tile-team .tile__image, .tile-team .tile__image img {position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; overflow: hidden; transition: transform 0.3s ease-in-out;}
.tile-team .tile__image:after {content: ""; display: block; width: 100%; height: 50.5%; background: linear-gradient(180deg, #ffffff 0%, #505050 100%); mix-blend-mode: multiply; position: absolute; bottom: 0; left: 0; z-index: 1;}
.tile-team .tile__content {position: relative; z-index: 2; padding: 2.4rem 2.5rem; }
.tile-team .tile__content h4 {margin-bottom: 0; line-height: 1.3;}

@media (max-width: 1199px) {
.tile-team {font-size: 1.8rem;} 
.tile-team .tile__content {padding: 1.6rem;}
}
@media (max-width: 767px) {
.tile-team {font-size: 1.6rem;}
}
@media (hover: hover) and (pointer: fine) {
.tile-team a:hover .tile__image {transform: scale(0.95);} 
.tile-team a:hover .tile__image img {transform: scale(1.05);}
}




/* ------------------------------------------------------------ *\
	Tiles Team
\* ------------------------------------------------------------ */
.tiles-team {margin: -2.5rem;}
.tiles-team .tiles__item {padding: 2.5rem;}

@media (max-width: 1199px) {
.tiles-team {margin: -1.9rem;} 
.tiles-team .tiles__item {padding: 1.9rem;}
}
@media (max-width: 767px) {
.tiles-team {margin: -1rem;} 
.tiles-team .tiles__item {padding: 1rem;}
}





/* ------------------------------------------------------------ *\
	Section slider
\* ------------------------------------------------------------ */
.section-slider {}
@media (max-width: 767px), screen and (max-width: 812px) and (orientation: landscape) {
.section-slider { }
}







/* ------------------------------------------------------------ *\
	Slider images
\* ------------------------------------------------------------ */
.slider-images{position:relative}
.slider-images .slider__slide{position:relative}
/*.slider-images .slider__slide:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgba(118,118,118,0.25)}*/


.slider-images .slick-dots{margin-top:2.5rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;list-style-type:none}
.slider-images .slick-dots li{width:1.5rem;height:1.5rem;cursor:pointer;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s}
.slider-images .slick-dots li:hover{}
.slider-images .slick-dots li + li{margin-left:2.5rem}
.slider-images .slick-dots span{display:block;width:100%;height:100%;border:  none; border-radius:50%;transition:background-color 0.3s; background-color: var(--c-hell-braun);    }
.slider-images .slick-dots li:hover span{border-color:#50A0F0}

.slider-images .slick-dots li.slick-active span{background-color: var(--c-blau);}
.slider-images .slick-dots li.slick-active:hover span{background-color: var(--c-blau);}

/* Hide dot when only one slide*/
.slick-dots li:only-child { display: none; }


.slider-images .slider__arrow{cursor:pointer;position:absolute; max-width:6rem; top:47%;left:2.5rem;
-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);-webkit-transition:opacity .3s;-o-transition:opacity .3s;transition:opacity .3s}

.slider-images .slider__arrow:hover{opacity:.8}
.slider-images .slider__next{left:auto;right:2.5rem;-webkit-transform:translateY(-50%) rotate(180deg);-ms-transform:translateY(-50%) rotate(180deg);transform:translateY(-50%) rotate(180deg)}

@media (max-width: 767px),screen and (max-width: 812px) and (orientation: landscape) {
.slider-images .slick-dots{margin-top:1.5rem}
.slider-images .slick-dots li{width:1rem;height:1rem;}
.slider-images .slick-dots li + li{margin-left:1.2rem}
.slider-images .slider__arrow{max-width:4rem;left:1.5rem; top:45%}
.slider-images .slider__next{right:1.6rem; left: auto;}
}

@media (max-width: 575px) {
.slider-images .slider__arrow{display: none !important}
}



/* ------------------------------------------------------------ *\
	Slider Icons
\* ------------------------------------------------------------ */
.slider-icons {position:relative}
.slider-icons .slider__slide{position:relative}
/*.slider-images .slider__slide:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgba(118,118,118,0.25)}*/

.slider-icons .slick-dots{margin-top:2.5rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;list-style-type:none}
.slider-icons .slick-dots li{width:1.5rem;height:1.5rem;cursor:pointer;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s}
.slider-icons .slick-dots li:hover{}
.slider-icons .slick-dots li + li{margin-left:2.5rem}
.slider-icons .slick-dots span{display:block;width:100%;height:100%;border:  none; border-radius:50%;transition:background-color 0.3s; background-color: var(--c-hell-braun);    }
.slider-icons .slick-dots li:hover span{border-color:#50A0F0}
.slider-icons .slick-dots li.slick-active span{background-color: var(--c-blau);}
.slider-icons .slick-dots li.slick-active:hover span{background-color: var(--c-blau);}

/* Hide dot when only one slide*/
.slick-dots li:only-child { display: none; }

@media (max-width: 767px),screen and (max-width: 812px) and (orientation: landscape) {
.slider-icons .slick-dots{margin-top:1.5rem}
.slider-icons .slick-dots li{width:1rem;height:1rem;}
.slider-icons  .slick-dots li + li{margin-left:1.2rem}
}



/* ALT, KANN ALLENFALLS GELÖSCHT WERDEN*/
.icon-slider-inner {display: flex; align-items: center; padding: 0 0 3rem;}
.icon-slider-image {}
.icon-slider-content {margin: 0 0 0 10vw}
.icon-slider-image { position: relative; aspect-ratio: 1; overflow: hidden; width: 100%; max-width: 40%;  margin-left: auto;}
.icon-slider-image img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover;}
.section-action { margin-top: 3rem;}



.slider-icons .slider__slide .row {padding-bottom: 40px} 

.iconslider-image {}
.iconslider-image img {}

.iconslider-image { display: flex; justify-content: center; align-items: center; height: 100%;}
.iconslider-image img { position: relative; max-width: 300px; aspect-ratio: 1; object-fit: contain;}
.iconslider-content {}
.iconslider-content .section-action { margin-top: 6rem;}

@media (max-width: 991px) {
.iconslider-image img {max-width: 240px;}
.iconslider-content .section-action { margin-top: 4rem;}
}
@media (max-width: 575px) {
.iconslider-image img {max-width: 180px;}
.iconslider-content .section-action { margin-top: 3rem;}
}




/* ------------------------------------------------------------ *\
	Team Isotope Filtered
\* ------------------------------------------------------------ */
/* Isotope Basics */
.isotope-item {z-index: 2;}
.isotope-hidden.isotope-item {pointer-events: none;z-index: 1;}
.isotope,.isotope .isotope-item {transition-duration: 0.7s;}
.isotope {transition-property: height, width;}
.isotope .isotope-item {transition-property: transform, opacity;}



/* 3-Spalten-Layout - Magazin */
.grid-magazin .grid-sizer,.grid-magazin .grid-item { width: 33.33333%; }

/* 4-Spalten-Layout -Team */
.grid-team .grid-sizer,.grid-team .grid-item { width: 25%;}

.grid-magazin .grid-item,
.grid-team .grid-item { margin-bottom: 50px }

@media (max-width: 1199px) {
.grid-magazin .grid-item,
.grid-team .grid-item { margin-bottom: 40px }
.grid-team .grid-sizer,.grid-team .grid-item { width: 33.33333%;}
}
@media (max-width: 991px) {
.grid-magazin .grid-item,
.grid-team .grid-item { margin-bottom: 30px }
.grid-magazin .grid-sizer,.grid-magazin .grid-item { width: 50%;}
.grid-team .grid-sizer,.grid-team .grid-item { width: 50%;}
}
@media (max-width: 767px) {
.grid-magazin .grid-item,
.grid-team .grid-item { margin-bottom: 25px }

}
@media (max-width: 575px) {
.grid-magazin .grid-sizer,.grid-magazin .grid-item { width: 100%;}
.grid-magazin .grid-item, .grid-team .grid-item { width: 100%; margin-bottom: 20px }
}




.filterselects {display: flex; justify-content: center;flex-wrap: wrap; flex-direction: row; gap: 50px;}

.form-select select::-ms-expand { display: none; }

.form-select .select {
  display: inline-flex;
  align-items: center;
  position: relative;
  max-width: 280px;
}

.form-select .select i {
  position: absolute;
  top: 22px;
  right: 15px;
  pointer-events: none;
}
.form-select .select.selected i {
  pointer-events: initial;
}

.form-select .select.selected .field {
  background-color: var(--c-licht-braun);
  color: var(--c-dunkel-braun);
  border: 1px solid var(--c-licht-braun);
}

.form-select .select .field {
  width: 100%;
  max-width: 100%;
  height: 53px;
  padding: 10px 30px 15px 25px;
  margin-bottom: 0;
  border: 1px solid var(--c-mittel-braun);
  border-radius: 6px;
  background-color: transparent;
  color: var(--c-mittel-braun);
  font-size: var(--gs_21);
  line-height: var(--line-height-md);
  text-align: left;
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  transition: all 0.3s;
}

/* Pointer-events für use verhindern, damit klick auf svg funktioniert */
.select svg use {
  pointer-events: none;
}

/* Beide Icons an gleicher Position */
.select svg.ico-chevron-down,
.select svg.ico-x {
  position: absolute;
  right: 0;
  top: 6px;
  width: 1.4rem;
  height: 1.4rem;
  cursor: pointer;
  padding: 1.5rem; /* Klickfläche */
  box-sizing: content-box;
  color: var(--c-mittel-braun);
  user-select: none;
}

/* Im selected Zustand */
.select.selected svg.ico-chevron-down {
  display: none;
}

.select.selected svg.ico-x {
  display: inline-block;
  color: var(--c-dunkel-braun);
}

/* Default Verstecken vom X-Icon */
.select svg.ico-x {
  display: none;
}

/* Button Styles */
.section-team button.btn-filter {
  border: 1px solid var(--c-mittel-braun);
  color: var(--c-mittel-braun);
}

.section-team button.btn-filter:hover {
  background-color: var(--c-licht-braun);
  color: var(--c-dunkel-braun);
  border: 1px solid var(--c-licht-braun);
}

.section-team button.btn-filter.active {
  background-color: var(--c-licht-braun);
  color: var(--c-dunkel-braun);
  border: 1px solid var(--c-licht-braun);
}

.no-results {
  display: none;
}

@media (max-width: 991px) {
.filterselects { gap: 35px;}
}

@media (max-width: 767px) {
.filterselects { gap: 20px; }
.form-select .select .field { height: 38px; padding: 8px 35px 10px 16px; font-size: var(--gs_16); max-width: 240px; width: 240px}

.select svg.ico-chevron-down,
.select svg.ico-x {
  top: 0px;
  padding: 1.4rem;
}
}

@media (max-width: 575px) {
.filterselects { flex-direction: column;  align-items: center; gap: 10px;}
}





/* ------------------------------------------------------------ *\
	Filter Magazin
\* ------------------------------------------------------------ */
.filterbuttons {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  flex-direction: row; /* Standard: horizontal */
  gap: 50px; /* statt margin-left */
}

button.btn-filter  {
color: var(--c-blau); border: 1px solid var(--c-blau);background: transparent; border-radius: 6px; margin-top: 0px; margin-bottom: 0; padding: 15px 30px; 
font-size: var(--gs_21);
display: inline-block; vertical-align: middle; text-align: center; cursor: pointer; text-decoration: none; 
-webkit-appearance: none; -moz-appearance: none; appearance: none; 
transition: all .3s;
}

button.btn-filter:hover { background: var(--c-blau); color: var(--c-weiss)}
button.btn-filter.active {background: var(--c-blau); color: var(--c-weiss)}

@media (max-width: 991px) {
.filterbuttons { gap: 35px; }
}
@media (max-width: 767px) {
.filterbuttons { gap: 20px; }
button.btn-filter  {padding: 1rem 1.8rem;; font-size: var(--gs_16);}
}

@media (max-width: 575px) {
.filterbuttons { flex-direction: column; align-items: center; gap: 10px; }
button.btn-filter  {padding: 1rem 1.8rem;; font-size: var(--gs_14);}
}



/* ------------------------------------------------------------ *\
	Dokument Download-Liste
\* ------------------------------------------------------------ */
.section-dokument-download-liste {}

ul.dokument-download {list-style: none;margin-bottom: 0;padding: 0;}
ul.dokument-download li { border-bottom: 1px solid var(--c-hell-braun); padding: 20px 0;}

ul.dokument-download li a {
  display: flex;                /* Flex-Container */
  align-items: center;          /* Vertikal zentrieren */
  gap: 1em;                   /* Abstand zwischen Icon und Text */
  text-decoration: none;
  color: var(--c-blau);
}

ul.dokument-download li a:hover { color: var(--c-hellblau);}

ul.dokument-download li a.file[href$=".pdf"]::before { content: ""; flex: 0 0 23px; height: 31px; background-image: url(images/icon_pdf.png); background-size: contain; background-repeat: no-repeat;
}

@media (max-width: 767px) {
 ul.dokument-download li a.file[href$=".pdf"]::before { flex: 0 0 18px; height: 25px; }
}

@media (max-width: 575px) {
ul.dokument-download li { padding: 10px 0;}
}






/* ------------------------------------------------------------ *\
	Single Team
\* ------------------------------------------------------------ */
.section-person-header {}
.section-person-header h3 {margin-bottom: 10px}
.section-person-header .personimg {}

/*.person-funktion {font-size: var(--ut_32);line-height: var(--line-height-md);} */


.section_action { display: flex; gap: 0;  margin-top: 50px}
.section_action .links-col-1 { flex: 0 0 auto;  min-width: 300px; display: flex; flex-direction: column;  gap: 0.7rem;}
.section_action .links-col-2 { flex: 1; display: flex; flex-direction: column; gap: 0.7rem;}
.section_action a { display: flex; align-items: center; gap: 0.8rem; text-decoration: none; color: var(--c-blau);}
.section_action a:hover  { color: var(--c-hellblau);}
@media (max-width: 768px) {
.section_action { flex-direction: column; margin-top: 40px }
.section_action .links-col-2 { margin-top: 8px;}
.section-person-header .personimg {margin-bottom: 30px}
}



.section-person-werdegang {}
.werdegang-table { display: flex; flex-direction: column; width: 100%; }
.werdegang-row {  display: flex; border-bottom: 1px solid var(--c-hell-braun);padding: 15px 0;}
.werdegang-left{ width: 35%; flex-shrink: 0; font-weight: 600; font-family: var(--ff-base); padding-right: 0;}
.werdegang-right{ flex: 1; }

@media (max-width: 767px) {
.werdegang-row { flex-direction: column;}
.werdegang-left,
.werdegang-right { width: 100%; }
.werdegang-left { margin-bottom: 10px;  }
}


.section-listenblock {}
ul.listenblock-liste {list-style: none;}
ul.listenblock-liste li {border-bottom: 1px solid var(--c-hell-braun);padding: 15px 0;}



.section-person-spezialisierung { z-index: 1; position: relative;}




/* ------------------------------------------------------------ *\
	Single Magazin
\* ------------------------------------------------------------ */
.magazin-header {display: flex; margin-bottom: 50px; font-size: var(--gs_16);font-weight: 600; font-family: var(--ff-base);}
.magazin-header div + div {margin-left:50px}
.magazin-header a {text-decoration: none}

.section-magazin-vorschaubild-single img{width: 100%; height: auto;}

.section-magazin-action {}

.magazindatum {
 white-space: nowrap;
}

.btn-container {display: flex; flex-wrap: wrap; flex-direction: row;  gap: 50px;}
@media (max-width: 991px) {
.btn-container { gap: 35px;}
}
@media (max-width: 767px) {
.magazin-header div + div {margin-left:35px}
.btn-container { flex-direction: column; /* untereinander */ align-items: flex-start; gap: 20px;}
}

.section__autor {}
.section__autor .author .author__image { max-width: 185px}
