 /* 
Theme Name: Breu-Technik
Version: v.1.0
Description: Custom Theme für breu-technik.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';



/* ------------------------------------------------------------ *\
	Variables
\* ------------------------------------------------------------ */
:root {
    
--fz-html: 62.5%;
--fw-base: 400;
--ff-base: 'Exo 2', Arial, sans-serif;

--c-breu-gruen: #A7DA36;
--c-breu-dunkelgruen: #205313;
--c-weiss: #FFFFFF;
--c-schwarz: #2B2A29;
--c-anthrazit: #353432;
--c-grau-dunkel: #6f6f6f;
--c-grau-mittel: #c9c7c4;
--c-grau-hell: #f5f4f2;
    
/* https://css-clamp-generator.com/ 
    min 475 / max 1440 / Root 12px
*/
/* Font sizes. */
--fontsize-xxxl: clamp(4rem, 2.487vw + 3.0155rem, 6rem);
--fontsize-xxl: clamp(3.4rem, 1.2435vw + 2.9078rem, 4.4rem);
--fontsize-xl: clamp(3rem, 1.2435vw + 2.5078rem, 4rem);
--fontsize-lg: clamp(2.6rem, .9948vw + 2.2062rem, 3.4rem); 
--fontsize-md: clamp(2.2rem, .3731vw + 2.0523rem, 2.5rem);
--fontsize-sm: clamp(1.8rem, .3731vw + 1.6523rem, 2.1rem);
--fontsize-xs: 1.8rem;

/* Line heights. */
--line-height-sm: 1;
--line-height-md: 1.4;
--line-height-lg: 1.6;
}




/* ------------------------------------------------------------ *\
	Fonts
\* ------------------------------------------------------------ */
/* exo-2-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Exo 2';
  font-style: normal;
  font-weight: 300;
  src: url('fonts/exo-2-v26-latin-300.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('fonts/exo-2-v26-latin-300.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* exo-2-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Exo 2';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/exo-2-v26-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('fonts/exo-2-v26-latin-regular.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* exo-2-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Exo 2';
  font-style: normal;
  font-weight: 500;
  src: url('fonts/exo-2-v26-latin-500.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('fonts/exo-2-v26-latin-500.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* exo-2-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Exo 2';
  font-style: normal;
  font-weight: 600;
  src: url('fonts/exo-2-v26-latin-600.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('fonts/exo-2-v26-latin-600.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* exo-2-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Exo 2';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/exo-2-v26-latin-700.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('fonts/exo-2-v26-latin-700.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* exo-2-800 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Exo 2';
  font-style: normal;
  font-weight: 800;
  src: url('fonts/exo-2-v26-latin-800.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('fonts/exo-2-v26-latin-800.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}








/* ------------------------------------------------------------ *\
	Base
\* ------------------------------------------------------------ */
html {font-size: var(--fz-html);}
body { 
min-width: 320px; 
background: var(--c-weiss); 
font-family: var(--ff-base); 
font-weight: var(--fw-base);
font-size: var(--fontsize-sm); 
line-height: var(--line-height-md); 
color: var(--c-schwarz); 
}

a { color: inherit; text-decoration: none; transition: color .3s; }
a:hover,
a[href^="tel"] { text-decoration: none; }
p,ul,ol,dl,hr,table,blockquote { margin-bottom: 1.5em; }







/* ------------------------------------------------------------ *\
	Wrapper
\* ------------------------------------------------------------ */
.wrapper {display: flex;flex-direction: column;min-height: 100vh; }
.main {z-index: 88888 !important; }

@media (max-width: 767px) {
.main {padding-top: 0px; }
}
@media (max-width: 575px) {
.main {padding-top: 0px; }
}





.container { 
--container-max-width: 144rem;
--container-gutter: 2.5rem;
max-width: calc(var(--container-max-width) + var(--container-gutter) * 2); 
padding-inline: var(--container-gutter); 
margin-inline: auto;  
width: 100%;
}
@media (max-width: 991px) {
.container { 
--container-gutter: 2rem;
}
}

.container--fluid { max-width: none;}



.container a {color: var(--c-breu-gruen); }
.container a:hover {color: var(--c-schwarz);}





.text-center {text-align: center;}
.textright { text-align: right; }
.relative {position: relative; }

small {font-size: 0.8em; line-height: 0.7em;}
strong { font-weight:700;}

.section {display: block; clear: both; position: relative; width: 100%; }
.section p:last-of-type { }

.section:first-of-type {margin-top: 100px }
.section.section-headslider  {margin-top: 0 !important }
.section:last-of-type {}




/* ------------------------------------------------------------ *\
	Margins
\* ------------------------------------------------------------ */
.abstand-kein { margin-bottom: 0px;}
.abstand-klein { margin-bottom: 30px;}
.abstand-mittel { margin-bottom: 60px;}
.abstand-gross { margin-bottom: 120px;}
@media (max-width: 991px) {
.abstand-kein { margin-bottom: 0px;}
.abstand-klein { margin-bottom: 30px;}
.abstand-mittel { margin-bottom: 60px;}
.abstand-gross { margin-bottom: 80px;}
}



/* ------------------------------------------------------------ *\
	Paddings
\* ------------------------------------------------------------ */
.padding-top-klein { padding-top: 30px;}
.padding-top-mittel { padding-top: 60px;}
.padding-top-gross { padding-top: 100px;}
.padding-top-max { padding-top: 140px;}

.padding-bottom-kein { padding-bottom: 0px;}
.padding-bottom-klein { padding-bottom: 30px;}
.padding-bottom-mittel { padding-bottom: 60px;}
.padding-bottom-gross { padding-bottom: 100px;}
.padding-bottom-max { padding-bottom: 140px;}

@media (max-width: 991px) {
.padding-top-kein { padding-top: 30px;}
.padding-top-mittel { padding-top: 60px;}
.padding-top-gross { padding-top: 80px;}
.padding-top-max { padding-top: 100px;}
.padding-bottom-kein { padding-bottom: 30px;}
.padding-bottom-mittel { padding-bottom: 60px;}
.padding-bottom-gross { padding-bottom: 80px;}
.padding-bottom-max { padding-bottom: 100px;}
}


/* ------------------------------------------------------------ *\
	Hintergundfarben
\* ------------------------------------------------------------ */
.bg-c-breu-gruen {background: var(--c-breu-gruen)}
.bg-c-breu-dunkelgruen {background: var(--c-breu-dunkelgruen)}
.bg-c-weiss {background: var(--c-weiss)}
.bg-c-schwarz {background: var(--c-schwarz)}
.bg-c-anthrazit {background: var(--c-anthrazit)}
.bg-c-grau-dunkel {background: var(--c-grau-dunkel)}
.bg-c-grau-mittel {background: var(--c-grau-mittel)}
.bg-c-grau-hell {background: var(--c-grau-hell)}




/* ------------------------------------------------------------ *\
	Headings
\* ------------------------------------------------------------ */
h1, h2, h3, h4, h5, h6 {  -webkit-transition: all .2s; -moz-transition: all .2s; -o-transition: all .2s; -ms-transition: all .2s; transition: all .2s; }
h1 { font-weight:400; color: var(--c-schwarz); font-size: var(--fontsize-xxl); line-height: var(--line-height-md); margin-bottom: 30px; }
h2 { font-weight:600; color: var(--c-schwarz); font-size: var(--fontsize-lg); line-height: var(--line-height-md); margin-bottom: 25px; }
h2.big { font-weight:400; color: var(--c-schwarz); font-size: var(--fontsize-xxl); line-height: var(--line-height-md); margin-bottom: 30px; }
h3 { font-weight:600; color: var(--c-schwarz); font-size: var(--fontsize-md); line-height: var(--line-height-md); margin-bottom: 25px; }
h4 { font-weight:600; color: var(--c-schwarz); font-size: var(--fontsize-md); line-height: var(--line-height-md); margin-bottom: 25px; }
h5 { font-weight:600; color: var(--c-schwarz); font-size: var(--fontsize-sm); line-height: var(--line-height-md); margin-bottom: 25px; }



.schrift-gruen h1 { color: var(--c-breu-gruen); }
.schrift-gross h1 { font-size: var(--fontsize-xxxl); }



/* ------------------------------------------------------------ *\
	Listen
\* ------------------------------------------------------------ */
/*
.section-text ul{ list-style: none; padding:0;  margin:0 0 25px 0;  }
.section-text ul li{ padding-left: 1.3em; text-indent: -1em; padding-bottom: 15px   }
.section-text ul li:before { content: "\2013"; padding-right:0.5em; }
*/

.section-text ul{ list-style: none; padding:0;  margin:0 0 30px 0;  }
.section-text ul li{  padding-bottom: 10px; border-bottom: 1px solid var(--c-grau-mittel) }
.section-text ul li + li{  padding-top: 10px;  }

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




/* ------------------------------------------------------------ *\
	Header
\* ------------------------------------------------------------ */
.header{ 
border-top: 10px solid var(--c-breu-gruen); 
background: var(--c-weiss); height: 160px; width: 100%; position: relative;box-sizing: border-box; transition: all .4s ease-in-out; z-index: 99990}

.logo { background-image: url(images/logo.svg); background-size: 100%; background-repeat: no-repeat; width: 316px; height: 70px; display: inline-block; vertical-align: middle; font-size: 0px; position: absolute; top: 45px; transition: all .4s; z-index: 100002;}


body.menu-open .logo {
  background-image: url(images/logo-light2.svg);
}
@media (max-width: 991px) {
.header {position: fixed; position: sticky;  top: 0; left: 0;height: 100px;}
.logo { width: 200px; height: 69px; top: 15px;}
}





/* ------------------------------------------------------------ *\
	Nav Lang
\* ------------------------------------------------------------ */
.topheadmenu { position: absolute;right: var(--container-gutter);top: 30px;transition: all .5s ease-in-out;}
.topheadmenu ul { display: flex; align-items: flex-start; justify-content: flex-start;  gap: 3.6rem; }
.topheadmenu a {font-size: var(--fontsize-xs); line-height: var(--line-height-md);text-decoration: none; color: var(--c-schwarz);}
.topheadmenu a:hover { color: var(--c-breu-gruen-light); text-decoration: none;}
.topheadmenu li.current_page_item a {color: var(--c-breu-gruen-light);text-decoration: none;}

.menu .js-cloned {display: none}
@media (max-width: 991px) {
.topheadmenu {display: none}
.menu .js-cloned {display: block}
}




/* ****************************************************************************************************
			    		MENU
**************************************************************************************************** */

  /* NAV CONTAINER - FULL SCREEN OVERLAY */
  nav#hauptnavigation {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    background: var(--c-breu-gruen);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.25s ease, visibility 0.25s ease;
    overflow-y: auto;
    z-index: 100000;
    padding-top: 200px;
  }

  nav#hauptnavigation.nav-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }



  /* -----------------------------
     MENU ITEMS
  ----------------------------- */
  .menu,
  .menu > li,
  .menu ul li {
    float: none;
    display: block;
    margin: 0;
    white-space: normal;
    border-bottom: 1px solid var(--c-weiss);
  }
.menu ul { min-width: unset;background: unset;}


  /* -----------------------------
     LINKS (Flex Layout für +)
  ----------------------------- */
  .menu li a {
    display: flex;                  /* Flex für Link + Toggle */
    align-items: center;            /* vertikal zentriert */
    justify-content: space-between; /* Link links, Toggle rechts */
    padding: 15px 0;
    font-size: var(--fontsize-xl);
    line-height: 1.4;
    transition: color 0.2s ease, transform 0.2s ease;
    position: relative; 
    color: var(--c-weiss)
  }

.menu li a:hover { color: var(--c-breu-dunkelgruen) !important;}

/*  SUBMENU  */
.menu ul { position: static; padding: 0 10px 15px 30px; margin: 0;}
.menu ul li { border-bottom: none;}
.menu ul li a { padding: 8px 0; font-size: var(--fontsize-lg); opacity: 1;}

 











/* ****************************************************************************************************
			    		BURGER
**************************************************************************************************** */
.nav-trigger { display: block; width: 60px; height: 24px; position: absolute; right: 20px; top: 95px; cursor: pointer;z-index: 100002;transition: all .4s ease-in-out;}
.nav-trigger span { position: absolute; width: 100%; height: 3px; background: var(--c-schwarz); left: 0; transition: transform 0.3s ease, top 0.3s ease; transform-origin: center;}
.nav-trigger span:nth-child(1) {top: 6px;}
.nav-trigger span:nth-child(2) {top: 18px;}

/* AKTIV → X */
.nav-trigger.open span { background: var(--c-weiss);}
.nav-trigger.open span:nth-child(1) { top: 12px;transform: rotate(45deg);}
.nav-trigger.open span:nth-child(2) {top: 12px;transform: rotate(-45deg);}




/* ****************************************************************************************************
			    		HEADER STICKY
**************************************************************************************************** */

.header.sticky { position: sticky; top: 0;left: 0;height: 100px; border-top: 4px solid var(--c-breu-gruen)}
.header.sticky .logo { width: 240px; height: 53px; top: 20px;}
.header.sticky .topheadmenu { top: -40px;}
.header.sticky .nav-trigger {top: 30px}


/* Mobile: anzeigen */
@media (max-width: 991px) {
.header.sticky {height: 70px; }
.header.sticky .logo { width: 200px; height: 51px; top: 10px;}
.header.sticky .nav-trigger {top: 30px}
}



/* Optional: Scroll Lock */
body.body-fixed {
  overflow: hidden;
}














/* ------------------------------------------------------------ *\
	M O D U L E - Alle Inhaltsmodule
\* ------------------------------------------------------------ */



/* ------------------------------------------------------------ *\
	Section Titel mit Lead
\* ------------------------------------------------------------ */
.section-titel-mit-lead { font-size: var(--fontsize-lg); line-height: var(--line-height-md); font-weight: 300}

.section-titel-mit-lead p:last-of-type {margin-bottom: 0;}
.section-titel-mit-lead .row.justify-content-center {text-align: center; }
.section-titel-mit-lead  a.btn {margin-top: 40px;}

.section-titel-mit-lead .newsdatum { font-size: var(--fontsize-xs); margin-bottom: 15px;}

@media (max-width: 991px) {
.section-titel-mit-lead  a.btn {margin-top: 30px;}
}
@media (max-width: 767px) {
}




/* ------------------------------------------------------------ *\
	Section Text-Module (100, 50, 75-25)
\* ------------------------------------------------------------ */
.section-text {}
@media (max-width: 767px) {
}




/*
Icons Verwendung im Template
<svg class="ico ico-<?php echo esc_attr($ext ?: 'other'); ?>"><use href="#ico-file-<?php echo esc_attr($ext ?: 'other'); ?>"></use></svg>

<svg class="ico ico-download"><use href="#ico-download"></use></svg>
<svg class="ico ico-web"><use href="#ico-web"></use></svg>
*/

/* ------------------------------------------------------------ *\
   Dokumenten-Icons (linkes Icon)
\* ------------------------------------------------------------ */
.ico-zip,
.ico-doc,
.ico-img,
.ico-other,
.ico-pdf,
.ico-xls{
  width: 19px;
  height: 23px;
  display: inline-block;
  vertical-align: middle;
}


/* Aktion-Icons (rechtes Icon) */
.ico-download {
  width: 19px;
  height: 23px;
  display: inline-block;
  vertical-align: middle;
}

.ico-web {
  width: 23px;
  height: 19px;
  display: inline-block;
  vertical-align: middle;
}

/* Web-Link-Icon */
.ico-link {
  width: 20px;
  height: 20px;
  display: inline-block;
  vertical-align: middle;
}

/* optional: alle Icons mit currentColor färben */
.ico svg {
  stroke: currentColor;
  fill: none;
}



/* ------------------------------------------------------------ *\
    Dokument Download-Liste
\* ------------------------------------------------------------ */
.dokument-download { list-style: none; margin: 0; padding: 0;}
.dokument-download li { border-bottom: 1px solid var(--c-grau-mittel);}
.dokument-download a { display: flex; align-items: center; gap: 10px; padding: 15px 0; text-decoration: none; color: var(--c-schwarz);}
.dokument-download a:hover {color: var(--c-grau-dunkel);}


.icon { margin-right: 5px;}
.action-icon { margin-left: auto;}




/* ------------------------------------------------------------ *\
	Section Meilensteine
\* ------------------------------------------------------------ */
.section-meilensteine {}
.row.meilensetein { border-bottom: 1px solid var(--c-grau-mittel); padding: 40px 0; }
.row.meilensetein:first-of-type { border-top: 1px solid var(--c-grau-mittel);}
.row.meilensetein:last-of-type { }

.meilenstein-jahr { font-size: var(--fontsize-xxxl); color: var(--c-breu-gruen); line-height: var(--line-height-sm);}
.meilenstein-text { font-size: var(--fontsize-md); color: var(--c-schwarz); }

@media (max-width: 575px) {
.row.meilensetein { padding: 30px 0; }
}






/* ------------------------------------------------------------ *\
    Section Video
\* ------------------------------------------------------------ */
.video-container { 
    position: relative; 
    padding-bottom: 56.25%; /* 16:9 Verhältnis */
    overflow: hidden;
    max-width: 100%;
    height: 0; /* wichtig: height auf 0 */
} 

.video-container iframe,
.video-container object,
.video-container embed,
.video-container video { 
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}




/* ------------------------------------------------------------ *\
	Section Accordion
\* ------------------------------------------------------------ */
.accordion { border-bottom: 1px solid var(--c-grau-mittel); }

.accordion-trigger {
color: var(--c-schwarz);  padding: 20px 0; border-top: 1px solid var(--c-grau-mittel);
display: table !important; table-layout: fixed !important; cursor: pointer; display: block; width: 100%; clear: both; position: relative; 
-webkit-transition: all .3s; -moz-transition: all .3s; -o-transition: all .3s; -ms-transition: all .3s; transition: all .3s;}
.accordion-trigger:first-of-type { border-top: none;}

.accordion-trigger:hover { color: var(--c-breu-gruen);}
.accordion-trigger-active { border-bottom: none; color: var(--c-breu-gruen);}


.accordion-trigger-open:before, .accordion-trigger-open:after {border-top: 2px solid var(--c-grau-dunkel)}
.accordion-trigger-open:before {content: "";position: absolute;display: block;right: 0px; top: 50%; width: 20px; height: 0;transform: rotate(0deg);transform-origin: center;-webkit-transition: all .5s ease;transition: all .5s ease;}
.accordion-trigger-open:after {content: "";position: absolute;display: block;margin: auto; right: 0px; top: 2px; bottom: 0;width: 20px; height: 0; transform: rotate(90deg);transform-origin: center;transition: all .5s ease;}

.accordion-trigger:hover .accordion-trigger-open:before {border-top: 2px solid var(--c-schwarz); }
.accordion-trigger:hover .accordion-trigger-open:after {border-top: 2px solid var(--c-schwarz); }

.accordion-trigger-active .accordion-trigger-open:before {border-top: 2px solid var(--c-schwarz);transform: rotate(45deg);}
.accordion-trigger-active .accordion-trigger-open:after {border-top: 2px solid var(--c-schwarz);transform: rotate(-45deg); }

.accordion-content {padding: 0 0 40px 0; -webkit-animation:fadeOut .8s ease-out;animation:fadeOut .8s ease-out;  }
.accordion-content.open {-webkit-animation:fadeIn .8s ease-out;animation:fadeIn .8s ease-out}






/* ------------------------------------------------------------ *\
	Section Tabelle
\* ------------------------------------------------------------ */
.section-tabelle table{width: 100% !important; border-spacing:0px !important; margin: 0; table-layout:fixed}
.section-tabelle table td{border-spacing:0px !important; vertical-align:top; padding: 10px 10px 10px 0; border-bottom: 1px solid var(--c-grau-mittel);}
.section-tabelle table th{padding: 0px 10px 10px 0; text-align: left; border-bottom: 2px solid var(--c-grau-mittel);}




@media (max-width: 767px) {
.table-container{width: 100%;overflow-y: auto;_overflow: auto;margin: 0 0 1em;}
.table-container::-webkit-scrollbar{-webkit-appearance: none;width: 14px;height: 14px;}
.table-container::-webkit-scrollbar-thumb{border-radius: 8px;border: 3px solid #fff;background-color: rgba(0, 0, 0, .3);}
}





/* ------------------------------------------------------------ *\
	Section Preisliste
\* ------------------------------------------------------------ */
.preislistenprodukt {padding: 10px 0; border-bottom: 1px solid var(--c-schwarz); width: 100%;overflow: hidden;position: relative;
display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-orient: horizontal;-webkit-box-direction: normal;-ms-flex-direction: row;flex-direction: row;}
.preislistenprodukt:first-of-type {padding-top: 0;}
.preislistenprodukt .produktename {-webkit-box-flex: 4;-ms-flex: 4;flex: 4;}
.preislistenprodukt .zusatz {-webkit-box-flex: 1;-ms-flex: 1;flex: 1;}
.preislistenprodukt .preis {-webkit-box-flex: 1;-ms-flex: 1;flex: 1; text-align: right;}


/* Mit Varianten */
.preislistenprodukt-mit-variante {padding: 10px 0; border-bottom: 1px solid var(--c-schwarz);width: 100%;overflow: hidden;position: relative;}
.preislistenprodukt-mit-variante:first-of-type {padding-top: 0;}
.preislistenprodukt-mit-variante .produktename {}
.varianten { font-weight: 300;padding: 10px 0 0 0; width: 100%;overflow: hidden;position: relative;
display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-orient: horizontal;-webkit-box-direction: normal;-ms-flex-direction: row;flex-direction: row;}
.varianten .variantenname { -webkit-box-flex: 4;-ms-flex: 4;flex: 4;}
.varianten .zusatz { -webkit-box-flex: 1;-ms-flex: 1;flex: 1;}
.varianten .preis { -webkit-box-flex: 1;-ms-flex: 1;flex: 1;text-align: right;}






/* ------------------------------------------------------------ *\
	Section Call to Action
\* ------------------------------------------------------------ */
.section-call_to_action  {background: var(--c-breu-gruen); font-size: var(--fontsize-lg); line-height: var(--line-height-md);  padding: 80px 0;}
.section-call_to_action  h3 { }
.section-call_to_action  a.btn { margin-top: 40px; }







/* -------------------------------
   Counter Section
--------------------------------*/
.section-counter {}
.section-counter-inner {background: var(--c-grau-hell); padding: 80px 0 80px 0;}
.counter-row { display: flex; flex-wrap: wrap; row-gap: 7.5rem;}
.counter-item { display: flex;}

.counter-item-inner {font-size: var(--fontsize-md);color: var(--c-schwarz);display: flex;flex-direction: column;justify-content: space-between;height: 100%;width: 100%;position: relative;}
.counter-item-inner h3 {color: var(--c-schwarz);font-size: var(--fontsize-xxxl); font-weight: 400;  margin: 0 0 15px 0 ;letter-spacing: 0.015em}









/* ------------------------------------------------------------ *\
	Section Bildslider
\* ------------------------------------------------------------ */
.slider-images, .slider-head { overflow: hidden; position:relative }
.slider-images .slider__slide, .slider-head .slider__slide { position: relative; height: 100%; }
.slider-images .slider__slide img, 
.slider-head .slider__slide img { width: 100%; }

.captioncontainer { position: absolute; bottom: 55px; left: 0; right: 0; z-index: 3; font-size: var(--fontsize-xxxl); font-weight: 300;  line-height: var(--line-height-md);}
.captioninner {color: var(--c-weiss); }
.caption {}


.gradientoverlay {z-index: 3;
position: absolute; bottom: 0px; width: 100%; height: 50%; display:block;
background: -moz-linear-gradient(0deg, rgba(0,0,0,0.25) 0%, rgba(0,0,0,0) 100%);
background: -webkit-linear-gradient(0deg, rgba(0,0,0,0.25) 0%, rgba(0,0,0,0) 100%);
background: linear-gradient(0deg, rgba(0,0,0,0.25) 0%, rgba(0,0,0,0) 100%);
}


/* --- Bild Zoom nur im Header Slider --- */
.slider-head .slider__slide img { transform: scale(1); transition: transform 6s ease;}
.slider-head .slick-active .slider__slide img { transform: scale(1.05);}

/* --- Caption Container --- */
.slider-head .captioninner { opacity: 0; transform: translateY(40px); transition: all 0.8s ease;}
.slider-head .slick-active .captioninner { opacity: 1; transform: translateY(0);}

/* --- Titel --- */
.slider-head .caption { opacity: 0;  transform: translateY(20px); transition: all 0.6s ease;}

/* --- Button --- */
.slider-head .captioninner .btn { opacity: 0; transform: translateY(20px); transition: all 0.6s ease;  transition-delay: 0.3s;}

/* --- Aktiv --- */
.slider-head .slick-active .caption,
.slider-head .slick-active .captioninner .btn { opacity: 1; transform: translateY(0);}

/* --- Overlay --- */
.slider-head .gradientoverlay { opacity: 0; transition: opacity 1s ease;}

.slider-head .slick-active .gradientoverlay { opacity: 1;}


@media (max-width: 991px) {
.slider-head .slider__slide { min-height: 400px; margin-bottom: -10px; }
.slider-head .slider__slide img {display: block;width: 100%;height: 100%;object-fit: cover;position: absolute;}
.captioncontainer { bottom: 30px; }
}




/* ------------------------------------------------------------ *\
	Slick Slider Navigations
\* ------------------------------------------------------------ */

/* DOTS */
.slick-dots { list-style-type: none;  margin: 15px auto 0 auto; 
display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack:center;-ms-flex-pack:center;justify-content:center; width: 100%;}
.slick-dots li { display: inline-block; width: 18px; height: 18px; border-radius:50%;-moz-border-radius:50%; -webkit-border-radius:50%; 
background: var(--c-weiss); 
border: 2px solid var(--c-breu-gruen); padding: 0; }
.slick-dots li:hover { border: 2px solid var(--c-breu-gruen)}
.slick-dots li + li { margin-left: 15px; }
.slick-dots button { background: transparent; border: 0; font-size: 0; }
.slick-dots .slick-active {  background: var(--c-breu-gruen); }

/* 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) {
.slick-dots{margin-top:10px}
.slick-dots li{width:12px;height:12px;}
.slick-dots li + li{margin-left:12px}
}



/* ARROW BASIS */
.slider__arrow { background: rgba(167, 218, 54, 0.5); position: absolute; top: 50%; left: 2.5rem; transform: translateY(-50%); width: 50px; height: 50px; border-radius: 50%; cursor: pointer; transition: all .3s ease; display: flex; align-items: center; justify-content: center; box-shadow: 0 5px 15px rgba(0,0,0,0.15);  }
.slider__arrow:hover { background: var(--c-breu-gruen);  }
.slider__arrow::before { content: ""; width: 16px; height: 16px; border-right: 2px solid var(--c-schwarz); border-bottom: 2px solid var(--c-schwarz); transform: rotate(135deg); transition: all .3s ease;  }
.slider__arrow:hover::before { border-color: var(--c-schwarz);  }

.slider__next { left: auto; right: 2.5rem;  }
.slider__next::before { transform: rotate(-45deg); margin-left: -5px;  }
.slider__prev::before { margin-right: -5px;  }

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



/* Dot Navigation Head-Slider */
.slider-head .slick-dots { max-width: 1340px; bottom: 50px; left: 0; right: 0; margin: 0 auto;  padding-right:25px; padding-left:25px;
list-style-type: none; position: absolute; display: -webkit-box; display: -ms-flexbox; display: flex; 
-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important  }

.slider-head .slick-dots li { display: inline-block; width: 16px; height: 16px; border-radius:50%;-moz-border-radius:50%; -webkit-border-radius:50%; background: transparent; border: 2px solid var(--c-weiss); }
.slider-head .slick-dots li + li { margin-left: 15px; }
.slider-head .slick-dots .slick-active { background: var(--c-weiss); }






/* ------------------------------------------------------------ *\
	Section Head Image
\* ------------------------------------------------------------ */
.section-head-image {}

.section-head-image .headimage { height: 100%; aspect-ratio: 2200/650;}
.section-head-image .headimage img { width: 100%; height: 100%; object-fit: cover; }

@media (max-width: 575px) {
.section-foto .container100 .einzelfoto-foto { aspect-ratio: 3/4; }

}



/*------------------------------------------------------------ *\
	Section Bild/Text rechts/links
\* ------------------------------------------------------------ */
.section-anreisser_rechtslinks .features { overflow: hidden; }
.section-anreisser_rechtslinks .features li {
background: var(--c-grau-hell);
padding-bottom: 0px !important;margin-bottom: 0px !important;border-bottom: none !important;}

.section-anreisser_rechtslinks .features .feature + .feature { margin-top: 60px; }

.section-anreisser_rechtslinks .featureinner {  position: relative;   display: flex;  justify-content: center;  align-items: stretch;  flex-flow: row wrap; }

.section-anreisser_rechtslinks .featureinner .featuretext {color: var(--c-schwarz); font-size: var(--fontsize-sm); line-height: var(--line-height-md);
-webkit-box-flex:0;-ms-flex:0 0 41.6666666667%;flex:0 0 41.6666666667%;max-width:41.6666666667%}

.section-anreisser_rechtslinks .featureinner .featuretext .btn{margin-top:40px}

.section-anreisser_rechtslinks .features .feature .featuretext { padding: 50px }

.section-anreisser_rechtslinks .features .feature:nth-child(even) .featurebild {  order: 2; }
.section-anreisser_rechtslinks .features .feature:nth-child(even) .featuretext { order: 1; }
.section-anreisser_rechtslinks .features .featuretext p:last-of-type{margin-bottom: 0;}
.section-anreisser_rechtslinks .features .featuretext { align-self: center;}

.section-anreisser_rechtslinks .featureinner .featurebild {   position: relative; overflow: hidden;-webkit-box-flex:0;-ms-flex:0 0 58.3333333333%;flex:0 0 58.3333333333%;max-width:58.3333333333%}

.featurebild img { width: 100%; height: 100%; object-fit: cover; display: block;}


@media (max-width: 991px) {
.section-anreisser_rechtslinks .features .feature .featuretext { padding: 35px }
.section-anreisser_rechtslinks .featureinner .featuretext .btn{margin-top:30px}
}

@media (max-width: 767px) {
.section-anreisser_rechtslinks .features .feature:nth-child(even) .featurebild {  order: 1;}
.section-anreisser_rechtslinks .features .feature:nth-child(even) .featuretext { order: 2; }

.section-anreisser_rechtslinks .feature .featuretext {-webkit-box-flex: 0; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%;}
.section-anreisser_rechtslinks .feature .featurebild {-webkit-box-flex: 0; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%;}

.section-anreisser_rechtslinks .features .feature:nth-child(even) .featuretext { padding: 20px 0 0 0 }
.section-anreisser_rechtslinks .features .feature:nth-child(odd) .featuretext {padding: 20px 0 0 0 }
}





/*------------------------------------------------------------ *\
	Section Anreisser 3-spaltig
\* ------------------------------------------------------------ */
.section-anreisser_3-spaltig {}
.section-anreisser_3-spaltig .anreisser {margin-bottom: 30px}
.section-anreisser_3-spaltig .content-inner{} 
.section-anreisser_3-spaltig .content-text {padding: 30px 0;}
.section-anreisser_3-spaltig .content-text a {margin-top: 30px; display: inline-block;}
@media (max-width: 767px) {
}




/*------------------------------------------------------------ *\
	Section News Vorschau
\* ------------------------------------------------------------ */
/* News-Blocks */

.anreisser .newsdatum {margin-bottom: 10px}

.row.news-ubersicht {--bs-gutter-y: 4rem;}

.section-news_vorschau_3-spaltig h2 {margin-bottom: 40px}




/* ------------------------------------------------------------ *\
    Card
\* ------------------------------------------------------------ */
.card { background-color: var(--c-weiss); text-decoration: none; display: flex; flex-direction: column; width: 100%; height: 100%; transition: transform .3s ease, box-shadow .3s ease;}
.card-img-wrapper { overflow: hidden; }
.card-img-wrapper img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.2s; }
.card:hover .card-img-wrapper img { transform: scale(1.03); }

.card-content { padding: 3rem 4rem 5rem 4rem; flex: 1; display: flex; flex-direction: column;}
.card .card-content-inner { }
.card .card-subtitle { color: var(--c-grau-mittel); font-size: var(--fontsize-sm); font-weight: 600; margin-bottom: 1.2rem; }
.card .card-text { margin-bottom: 3rem; }

.card-link { margin-top: auto; }

.card:hover { transform: translateY(-6px); box-shadow: 0 12px 30px rgba(0,0,0,0.25);}

@media (max-width: 991px) {
.card .card-content { padding: 2rem 3rem 3rem 3rem; }
.card .card-text { margin-bottom: 2rem; }
}

@media (max-width: 767px) {
.card .card-text { margin-bottom: 3rem; }
}

@media (max-width: 575px) {

}





/* ------------------------------------------------------------ *\
	Section Team
\* ------------------------------------------------------------ */
.section-team  .team {margin-bottom: 90px;}
.section-team .teamcontent {padding: 30px 0 0 0}
.section-team  .teamname {}
.section-team  .teamname h3 {margin-bottom: 10px;}
.section-team  .teamfunktion{}
.section-team  .teamtelefon{}
.section-team  .teamemail{}





/* ------------------------------------------------------------ *\
	People module
\* ------------------------------------------------------------ */
.section-team {}

.section-team  {}
.section-team  .team__inner {background-color: var(--c-grau-hell); padding: 6rem 8rem;}
.section-team  .team__inner.col-xl-9 {}
.section-team  .team__image {max-width: 26rem; border-radius: 50%; overflow: hidden; flex-shrink: 0; aspect-ratio: 1/1;}
.section-team  .team__image img {width: 100%; height: 100%; object-fit: cover; display: block}
.section-team  .team__title {color: var(--dunkelblau); margin-bottom: 5rem;}
.section-team  .team__item {display: flex; align-items: center; gap: 5rem;}
.section-team  .team__content {font-size: var(--paragraph-22); flex: 1;}
.section-team  .team__content h3 {font-weight: 500; margin-bottom: 0;}
.section-team  .team__contact {margin-top: 3rem; display: flex; flex-direction: column;}
.section-team  .team__contact a {text-decoration: underline; text-decoration-color: transparent; transition: text-decoration-color .3s; text-underline-offset: 3px;}
.section-team  .team__contact a[href^='mailto:'] {color: var(--saredi--blau);}
.section-team  .team__contact a:hover {text-decoration-color: currentColor;}

.section-team .team__inner--alt {padding: 0; background-color: transparent;}
.section-team .team__item--alt {display: flex; flex-direction: column; gap: 4rem;}

.section-team .team__item--alt { --bs-gutter-y: 10rem;}


@media (max-width: 991px) {
.section-team  .team__inner {padding: 4rem 4rem;}
}

@media (max-width: 767px) {
.section-team .team__content {flex: 1;}
.section-team .team__title {text-align: center; margin-bottom: 3rem;}
.section-team .team__item {display: block; text-align: center;}
.section-team .team__image {margin-inline: auto; margin-bottom: 2rem;}

.section-team .team__item--alt { --bs-gutter-y: 5rem;}
}
@media (max-width: 575px) {
.section-team .team__inner {padding: 4rem 2rem;}
.section-team .team__inner--alt {padding: 0; }
.section-team .team__item--alt { --bs-gutter-y: 5rem;}
}








/* ------------------------------------------------------------ *\  
  Section Foto    
\* ------------------------------------------------------------ */
.section-foto img {width: 100%}
.section-foto .einzelfoto-foto { height: 100%; }
.section-foto .einzelfoto-foto img { width: 100%; height: 100%; object-fit: cover; }

/*
@media (max-width: 575px) {
.section-foto .container100 .einzelfoto-foto { aspect-ratio: 3/4; }
.section-foto .browser100 .einzelfoto-foto { aspect-ratio: 3/4; }
.section-foto .fotocontent .einzelfoto-foto { aspect-ratio: 1/1; }
}
*/


/* ------------------------------------------------------------ *\
	Section Foto Text
\* ------------------------------------------------------------ */
.section-foto_text {}
.section-foto_text .first-col {}
@media (max-width: 767px) {
.section-foto_text .first-col {margin-bottom: 40px}
}






/* ------------------------------------------------------------ *\
	Section Bildergalerie
\* ------------------------------------------------------------ */

.section-bildergalerie {}

.gallery {list-style: none; margin: 0; padding: 0;}
.gallery .row { --bs-gutter-x: 1rem; --bs-gutter-y: 1rem;}

/* GALLERY ITEM */
.gallery li {  position: relative;}
.gallery li a { display: block; position: relative; overflow: hidden;}
.gallery li img { width: 100%;height: auto; display: block;}

/* HOVER OVERLAY */
.gallery li a::before { content: ''; position: absolute; inset: 0; background: rgba(167, 218, 54, 0.8); opacity: 0; visibility: hidden; transition: opacity 0.4s ease, visibility 0.4s ease; z-index: 10;}
.gallery li a:hover::before {opacity: 1; visibility: visible;}

/* ICON (+) */
.gallery-icon { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 40px; height: 40px; z-index: 20; opacity: 0; visibility: hidden; transition: opacity 0.4s ease, visibility 0.4s ease;  }
.gallery li a:hover .gallery-icon { opacity: 1; visibility: visible;  }
.gallery-icon::before, .gallery-icon::after { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); background: var(--c-weiss);  }
.gallery-icon::before { width: 40px; height: 2px;  }
.gallery-icon::after { width: 2px; height: 40px;  }

@media (max-width: 767px) {
.gallery-icon { width: 24px; height: 24px;  }
.gallery-icon::before { width: 24px; height: 1px;  }
.gallery-icon::after { width: 1px; height: 24px;  }
}





/* ------------------------------------------------------------ *\
	Section Quicklinks
\* ------------------------------------------------------------ */
.section-quicklinks {}
ul.quicklinks { list-style-type: none; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;}
ul.quicklinks li { margin: 0 1.5% 1.5% 0;  border-bottom: 0px !important; padding: 0;}
ul.quicklinks li a { }







/* ------------------------------------------------------------ *\
    Produkte (Alternative Variante)
\* ------------------------------------------------------------ */

.section-produkte-vorschau {}
.row.produkte-vorschau {--bs-gutter-y: 4rem;}


.produkt {
  position: relative;
  z-index: 0;
  display: flex;
  align-items: flex-end;
  padding: 2.5rem;
  color: var(--c-weiss);
  text-decoration: none;
  overflow: hidden;
  aspect-ratio: 480/700;
  transition: transform .3s ease, box-shadow .3s ease;
}

/* Hover Lift */
.produkt:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 30px rgba(0,0,0,0.25);
}

/* Image Wrapper */
.produkt .produkt__image {
  position: absolute;
  inset: 0;
}

/* Overlay */
.produkt .produkt__image:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(190deg, rgba(255,255,255,0) 25%, rgba(0,0,0,0.6) 100%);
  z-index: 1;
  transition: background .4s ease, opacity .3s ease;
  opacity: 0.8;
}

/* Overlay Hover
.produkt:hover .produkt__image:before {
  background: linear-gradient(190deg, rgba(0,0,0,0.2) 10%, rgba(0,0,0,1) 100%);
  opacity: 1;
}
 */
.produkt:hover .produkt__image:before {
  opacity: 0;
}
/* Image */
.produkt .produkt__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.05) translateY(0);
  transition: transform .5s ease;
}

/* Image Hover */
.produkt:hover .produkt__image img {
  transform: scale(1.08) translateY(-15px);
}

/* Content */
.produkt .produkt__content {
  position: relative;
  z-index: 2;
  color: var(--c-weiss);
  transform: translateY(8px);
  transition: transform .3s ease;
}

/* Content Hover (nach oben) */
.produkt:hover .produkt__content {
  transform: translateY(-2px);
}

/* Underline Animation */
.produkt .produkt__content:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 0;
  height: 2px;
  background: currentColor;
  transition: width .3s ease;
}

.produkt:hover .produkt__content:after {
  width: 100%;
}

/* Responsive Fine-Tuning */
@media (max-width: 1399px) {
  .produkt {
    padding: 1.5rem;
  }
}





.section-weitere-produkte {padding: 10rem 0 14rem; background: var(--c-breu-gruen)}
.section-weitere-produkte-head { text-align: center; margin-bottom: 10rem;}
.section-weitere-produkte-head h3 { }




/* ------------------------------------------------------------ *\
	Section News
\* ------------------------------------------------------------ */
.section-news {}
.singlenews {}
.singlenews .newsdatum {margin-bottom: 20px}
.singlenews .lead { font-size: var(--fontsize-md); line-height: var(--line-height-md); margin-bottom: 30px}





/* ========================================
   SINGLE PAGINATION
======================================== */
.single-pagination-content {border-top: 2px solid var(--c-schwarz); border-bottom: 2px solid var(--c-schwarz); margin: 40px 0 120px}
.single-pagination { margin: 0 auto; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 40px 0  }
.single-pagination > div { display: flex; align-items: center;  }

.previous_post_link { justify-self: start;  }
.post_overview { justify-self: center;  }
.next_post_link { justify-self: end;  }

.single-nav-link { display: flex; align-items: center; gap: 14px; text-decoration: none; color: inherit; line-height: 1; transition: 0.2s ease;  }
.single-nav-title { font-size: var(--fontsize-xs); line-height: 1.2; max-width: 220px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;  }

.single-nav-arrow { display: inline-block; width: 14px; height: 14px; border-top: 2px solid var(--c-schwarz); border-right: 2px solid var(--c-schwarz); transition: 0.2s ease;  }
.prev .single-nav-arrow { transform: rotate(-135deg);  }
.next .single-nav-arrow { transform: rotate(45deg);  }
.single-nav-link:hover .single-nav-arrow { border-color: var(--c-grau-mittel);  }
.single-nav-link:hover {  color: var(--c-grau-mittel) }

.single-overview-link { display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; color: var(--c-schwarz); transition: 0.2s ease;  }
.single-overview-icon { width: 20px; height: 20px;  }
.single-overview-link:hover { color: var(--c-grau-mittel);  }


@media (max-width: 767px) {
.single-pagination { margin: 20px 0 60px}
.single-pagination { width: 100%; grid-template-columns: 1fr 1fr 1fr; gap: 25px; text-align: center; padding: 20px 0}

  .previous_post_link,
  .post_overview,
  .next_post_link {
    justify-self: center;
  }

  .single-nav-title {
    display: none;
  }

  /* Chevrons mittig halten */
  .single-nav-link {
    justify-content: center;
  }
}





/* ------------------------------------------------------------ *\
	Buttons
\* ------------------------------------------------------------ */
a.btn {
font-size: var(--fontsize-sm); 
line-height: var(--line-height-md); 
color: var(--c-schwarz); 
border: 1px solid var(--c-schwarz);   
padding: 1.2rem 2.4rem; 
margin-top: 2rem;
border-radius:  999rem;
display: inline-block; vertical-align: middle; text-align: center; cursor: pointer; text-decoration: none; -webkit-appearance: none; -moz-appearance: none; appearance: none;  background: transparent;
transition: all .4s ease; 
}
a.btn:hover {color: var(--c-schwarz); background: var(--c-grau-hell); border: 1px solid var(--c-schwarz);   }

.btn-big {padding: 1.5rem 4rem; }
.btn-small {  font-size: var(--fontsize-xs);}
.btn.white {color: var(--c-weiss); border: 1px solid var(--c-weiss); }




/* ------------------------------------------------------------ *\
	Footer
\* ------------------------------------------------------------ */
.footer { background: var(--c-anthrazit); color: var(--c-weiss); position: relative; width: 100%;margin: auto auto 0 auto; padding: 60px 0 100px 0; font-size: var(--fontsize-sm); line-height: var(--line-height-md);  }
.footer h3{ font-size: var(--fontsize-sm);line-height: var(--line-height-md); margin: 0 0 7px; color:  var(--c-sweiss) }
.footer a{ color: var(--c-weiss) }
.footer a:hover{ color: var(--c-breu-gruen)  }

.footer-logo {margin-bottom: 25px;}
.footer-logo img {max-width: 150px;}



.top-cols { display: flex; gap: 1rem; }

.top-cols .col,
.top-cols .col-md-6 {
  flex: 1; /* verteilt beide gleichmäßig */
}

.bottom-col {
  margin-top: 1rem; /* optional */
}


.footer .footer-nav ul {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start; 
  gap: 0.5rem; 
}

.footer .footer-nav li { list-style: none; /* entfernt die Standard-Bullets */}
.footer .footer-nav a {font-size: var(--fontsize-sm);line-height: var(--line-height-md);text-decoration: none; color: var(--c-weiss);}
.footer .footer-nav a:hover { color: var(--c-grau-hell); text-decoration: none;}
.footer .footer-nav li.current_page_item a {color: var(--c-grau-hell);text-decoration: none;}


.footer .footer-nav-alt ul {display: flex;align-items: flex-start; justify-content: flex-start;  gap: 2.5rem; }
.footer .footer-nav-alt li { list-style: none; /* entfernt die Standard-Bullets */}
.footer .footer-nav-alt a {font-size: var(--fontsize-sm);line-height: var(--line-height-md);text-decoration: none; color: var(--c-weiss);}
.footer .footer-nav-alt a:hover { color: var(--c-grau-hell); text-decoration: none;}
.footer .footer-nav-alt li.current_page_item a {color: var(--c-grau-hell) !important; text-decoration: none;}


@media (max-width: 767px) {
.footer .row div{ margin-bottom: 25px;}
.footer .row div:last-of-type{ margin-bottom: 0px;}

.footer .footer-nav ul { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; }
.footer .footer-nav li { margin-left: 0px; margin-right: 25px; }
}

@media (max-width: 575px) {
.footer .footer-nav ul {   display: flex;
  display: -webkit-flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  align-content: flex-start; }
.footer .footer-nav li {max-width: 100%; margin-left: 0px;}
}











/* ------------------------------------------------------------ *\
	Modul Google Maps
\* ------------------------------------------------------------ */
.acf-map {width: 100%;height: 600px;}
.acf-map img { max-width: inherit !important;}

.markerinfo {font-size: 14px; line-height: 20px; color: var(--c-schwarz); padding-top: 10px;}
.markerinfo p{margin: 0px  !important; padding: 0px 0px 15px 0px !important;}
.markerinfo p:last-child{padding: 0px !important;}






/* ------------------------------------------------------------ *\
	List
\* ------------------------------------------------------------ */
[class^="list-"] { list-style: none outside none; }








/* **************************************************
			    		CONTACT
************************************************** */
div.wpcf7 {margin: 0;padding: 0; width: 100%;}
span.wpcf7-form-control-wrap { position: relative; }

.wpcf7 form input, .wpcf7 form textarea { background: var(--c-grau-hell);  border: 1px solid var(--c-grau-mittel); color:var(--c-schwarz); padding: 15px 20px; width:100%; box-sizing: border-box; margin: 0 0 25px 0; transition: all 0.4s ease;}
.wpcf7 form input:hover, form textarea:hover {outline:none; border: 1px solid var(--c-grau-dunkel);}
.wpcf7 form input:focus, form textarea:focus {outline:none; border: 1px solid var(--c-grau-dunkel);}

.wpcf7 form textarea {height: 240px;}

.wpcf7 form input::-webkit-input-placeholder,
.wpcf7 form input::-moz-placeholder,
.wpcf7 form input:-ms-input-placeholder,
.wpcf7 form input:-moz-placeholder,
.wpcf7 form input[placeholder],
.wpcf7 form textarea::-webkit-input-placeholder,
.wpcf7 form textarea::-moz-placeholder,
.wpcf7 form textarea:-ms-input-placeholder,
.wpcf7 form textarea:-moz-placeholder,
.wpcf7 form textarea[placeholder] {color: var(--c-schwarz) !important; opacity: 1; }

.wpcf7 form input:focus::-webkit-input-placeholder,
.wpcf7 form input:focus:-moz-placeholder,
.wpcf7 form input:focus::-moz-placeholder,
.wpcf7 form input:focus:-ms-input-placeholder,
.wpcf7 form textarea:focus::-webkit-input-placeholder,
.wpcf7 form textarea:focus:-moz-placeholder,
.wpcf7 form textarea:focus::-moz-placeholder,
.wpcf7 form textarea:focus:-ms-input-placeholder { color:transparent !important;}


/* SUBMIT BUTTON */
.wpcf7 form input[type=submit] { 
font-size: var(--fontsize-sm); 
line-height: var(--line-height-md); 
color: var(--c-schwarz); 
border: 2px solid var(--c-breu-gruen); 
background: var(--c-breu-gruen);
padding: 12px 30px; 
margin-top: 20px;
width: auto; display: inline-block; vertical-align: middle; text-align: center; cursor: pointer; text-decoration: none; transition: all .4s ease;
}
.wpcf7 form input[type=submit]:hover {color: var(--c-weiss); background: var(--c-grau-dunkel); border: 2px solid var(--c-grau-dunkel); }



.screen-reader-response { display: none;}
div.wpcf7-response-output { color: var(--c-schwarz);font-size: var(--fontsize-md);line-height: var(--line-height-md); margin: 20px 0 20px 0 !important;	padding: 0; font-weight: 700; border: none !important; padding: 0 !important;}

div.wpcf7-mail-sent-ok,
div.wpcf7-mail-sent-ng,
div.wpcf7-spam-blocked,
div.wpcf7-validation-errors,
div.screen-reader-response {border: 0px !important; padding: 0px !important; margin: 0 0 25px 0 !important; font-size: 12px; line-height: 18px; color: var(--c-schwarz); font-weight: 700;}


span.wpcf7-not-valid-tip {color: var(--c-schwarz) !important; font-size: 12px !important; display: block; margin: -23px 0 10px 0!important ;}
input.wpcf7-not-valid {border:1px solid red !important}

.use-floating-validation-tip span.wpcf7-not-valid-tip { 
position: absolute;	top: 20%; left: 20%; z-index: 100;	border: 1px solid var(--c-schwarz);	background: var(--c-weiss);	padding: .2em .8em;}

div.wpcf7 .placeheld {color: var(--c-schwarz);}
div.wpcf7 img.ajax-loader { border: none;vertical-align: middle;margin-left: 4px;display: none;}
div.wpcf7 div.ajax-error { display: none;}
.wpcf7-display-none { display: none; }


/* SELECT*/
.wpcf7-form  .select-wrapper { position: relative; width: 100%; margin: 0 0 20px 0;}
.wpcf7-form  .select-wrapper:after { pointer-events: none; position: absolute; display: block; content: '';  width: 14px; height: 14px; top: 50%; right: 20px; margin-top: -3px; border-bottom: 1px solid var(--c-grau-hell); border-right: 1px solid var(--c-grau-hell); transform: rotate(45deg) translateY(-50%); transition: all .4s ease-in-out; transform-origin: 50% 0; }

.wpcf7-form select{width:100%; background: var(--c-grau-hell);  border: 1px solid var(--c-grau-hell); color:var(--c-grau-hell); padding: 15px 20px;  border-radius:0;outline:0; -webkit-appearance:none; -moz-appearance:none; appearance:none; font-family: inherit; cursor: pointer;}
.wpcf7-form select:hover, .wpcf7-form select:focus {border: 1px solid var(--c-grau-hell);}
.wpcf7-form select::-ms-expand{display:none;}
.wpcf7-form select:focus::-ms-value { background-color: transparent;}


/* RADIO BUTTONS */
.wpcf7-list-item {display: block; margin: 0 30px 10px 0!important;}

.wpcf7-form .wpcf7-radio {}
.wpcf7-form .wpcf7-radio .wpcf7-list-item-label { display: inline-flex;;}
.wpcf7-form .wpcf7-radio label { position: relative; cursor: pointer;}
.wpcf7-form .wpcf7-radio input[type=radio] {position: relative; visibility: hidden; display: none}

.wpcf7-form .wpcf7-radio input[type=radio] + span:before { content: ''; border-radius: 100%; height: 20px; width: 20px; border: 2px solid var(--c-grau-dunkel); margin-right: 15px;}
.wpcf7-form .wpcf7-radio input[type=radio] + span:after { display: block; position: absolute; content: '';  border-radius: 100%; height: 12px; width: 12px; top: 2px; left: 4px; visibility: hidden;}

.wpcf7-form .wpcf7-radio input[type=radio]:checked + span:before { background: transparent;}
.wpcf7-form .wpcf7-radio input[type=radio]:checked + span:after { background: var(--c-grau-dunkel); visibility: visible;}


/* CHECKBOXES */
.wpcf7-form .wpcf7-checkbox {}
.wpcf7-form .wpcf7-checkbox .wpcf7-list-item-label { display: inline-flex;;}
.wpcf7-form .wpcf7-checkbox label { position: relative; cursor: pointer;}
.wpcf7-form .wpcf7-checkbox input[type=checkbox] {position: relative; visibility: hidden; display: none}

.wpcf7-form .wpcf7-checkbox input[type=checkbox] + span:before { content: ''; height: 20px; width: 20px; border: 2px solid var(--c-grau-dunkel); margin-right: 15px;}
.wpcf7-form .wpcf7-checkbox input[type=checkbox] + span:after { display: block; position: absolute; content: '';   height: 12px; width: 12px; top: 2px; left: 4px; visibility: hidden;}

.wpcf7-form .wpcf7-checkbox input[type=checkbox]:checked + span:before { background: transparent;}
.wpcf7-form .wpcf7-checkbox input[type=checkbox]:checked + span:after { background: var(---c-grau-dunkel); visibility: visible;}


/* ACCEPTANCE */
.wpcf7-acceptance .wpcf7-list-item-label {margin-left: 35px; display: flex;}
.wpcf7-form .wpcf7-acceptance label { margin-left: 0;display: inline-block;position: relative; padding-left: 0px;}
.wpcf7-form .wpcf7-acceptance input[type=checkbox] {position: relative; visibility: hidden; display: none;}

.wpcf7-form .wpcf7-acceptance input[type=checkbox] + span:before { display: block; position: absolute; content: ''; border-radius: 0; height: 24px; width: 24px; top: 2px; border: 2px solid var(--c-grau-dunkel); left: 0;}
.wpcf7-form .wpcf7-acceptance input[type=checkbox] + span:after { display: block; position: absolute; content: ''; border-radius: 0%; height: 16px; width: 16px; top: 6px; left: 4px; visibility: hidden;}

.wpcf7-form .wpcf7-acceptance input[type=checkbox]:checked + span:before {  background: transparent;}
.wpcf7-form .wpcf7-acceptance input[type=checkbox]:checked + span:after { background: var(--c-grau-dunkel); visibility: visible;}