/* montserrat-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: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  src: url('/_fileadmin/fonts/montserrat-v29-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-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: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  src: url('/_fileadmin/fonts/montserrat-v29-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-700italic - 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: 'Montserrat';
  font-style: italic;
  font-weight: 700;
  src: url('/_fileadmin/fonts/montserrat-v29-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-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: 'Montserrat';
  font-style: normal;
  font-weight: 800;
  src: url('/_fileadmin/fonts/montserrat-v29-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-800italic - 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: 'Montserrat';
  font-style: italic;
  font-weight: 800;
  src: url('/_fileadmin/fonts/montserrat-v29-latin-800italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-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: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: url('/_fileadmin/fonts/roboto-v47-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-italic - 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: 'Roboto';
  font-style: italic;
  font-weight: 400;
  src: url('/_fileadmin/fonts/roboto-v47-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-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: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: url('/_fileadmin/fonts/roboto-v47-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-700italic - 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: 'Roboto';
  font-style: italic;
  font-weight: 700;
  src: url('/_fileadmin/fonts/roboto-v47-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* oswald-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: 'Oswald';
  font-style: normal;
  font-weight: 400;
  src: url('/_fileadmin/fonts/oswald-v53-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

body {
	position: relative;
	background:#CCE5D9
}


#wrapper {
    max-width: 1538px;
    width: 100%;
    margin: auto;
	background:#FFF
}
@media (min-width: 1340px) {
  .container, .container-sm, .container-md, .container-lg, .container-xl {
    max-width: 1340px;
  }
	}

	
	.btn{font-weight:800}

		.yellow-circle {
  width: 100px; /* 100px Radius = 200px Durchmesser */
  height: 100px;
  border-radius: 50%;
  background-color: #FFC100;
  color: black;
  text-align: center;
  padding: 20px;
  position: absolute;
  top: 33.3%;
  left: -50px; /* Position des Kreises */
  z-index: 10;
  box-shadow: 0 0 10px rgba(0,0,0,0.3);
		font: normal normal normal 16px/20px Oswald;
			  /* Animation */
  transform: scale(0.9);
  transition: all 0.3s ease;

}


.popout-wrapper {
  position: relative;
}



/* Hover-Effekt beim Überfahren des gesamten Bereichs */
.popout-wrapper:hover .yellow-circle {
  transform: scale(1.1);
  opacity: 1;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.4);
}




	
main .nav-item .nav-link {
    width: 100%;
    background: #fff;
}


.btn-produkte{
   border-radius:5px;
		 font-weight:400
}

.btn-yellow{background:#FFC100;}
.btn-yellow:hover{background:#FFC100;opacity:0.8;color:000000!important}
	
.pulikationen .custom-select {
  background-color: #E5F2EB;
  border: 1px solid #007255;
  border-radius: 5px; /* Ecken mit 5px abrunden */
    padding: 0.5rem 2rem;
  line-height: 1.5;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
	    display: inline-block;
	color:#007255;
		height:38px;
}

#mainNav{
font-family:'Monttserat', sans-serif;
}


/* Swiper-Container in Bootstrap */
.swiper-container {
	width: 100%;
	overflow: hidden; /* Verhindert das Anzeigen von überflüssigen Bereichen */
}

.swiper-slide {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 18px;
	background: #f7f7f7;
	border: 1px solid #ddd;
	box-sizing: border-box; /* Verhindert Überlauf und sorgt dafür, dass Slides innerhalb des Containers bleiben */
}









.form-select {
	display: block;
	width: 100%;
	height: calc(1.5em + 0.75rem + 2px);
	padding: 5px 0.75rem;
	font-size: 1.125rem;
	font-weight: 400;
	line-height: 1.5;
	color: #ced4da;
	background-color: #fff;
	background-clip: padding-box;
	border: 1px solid #ced4da;
	border-radius: 0;
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
	transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.no-deco{text-decoration:none!important;}







.navisubContainer {padding: 0 0 30px 0;font-weight:bold}
.navisubContainer ul{list-style-type: none;padding:0;margin:0;}
ul.subnav li span.dir {display:block;padding: 0 20px;margin: 0;color:#FD7E14;background:#fff;text-decoration: none;line-height:40px;text-align:center;font-weight:600;text-transform:uppercase}
ul.subnav ul {margin: 7px 0 0 0;}

ul.subnav li a{
	display: block;
	padding: 0px 10px 0px 10px;
	color: #333333;
	background: #F1F1F1;	
	text-decoration: none;
	line-height:40px;
	font-size:0.875rem;
	border:transparent 0;
}

ul.subnav li{
	margin-bottom:8px;
}

ul.subnav ul li a.current,ul.subnav ul li a:hover{
	text-decoration: none;
	color: #2A2A2A;
	background: #FD7E14;
	border:0px solid #FD7E14
}

ul.subnav ul li a {
	text-decoration: none;
	color: #333333;
	background: #F1F1F1;
	border:0px solid #f0f4f8;
}

ul.subnav ul {
	margin-top:0px
}


* html ul.subnavi li a{
	display:inline-block;
	height:30px;
	cursor:pointer;
}

ul.subnav li a:hover{
	text-decoration:none;color:#FFF!important;background:#FD7E14
}


ul.subnav li a.current,ul.subnav li a:hover{
	text-decoration:none;
	color:#FFF;
	background:#FD7E14;
}

.current .dir {
	text-decoration:none;color:#FFF;background:#333333;
}


.filter {
	-webkit-filter: brightness(0) invert();
	filter: brightness(0) invert();
}


.map-container{
	overflow:hidden;
	padding-bottom:56.25%;
	position:relative;
	height:0;
}
.map-container iframe{
	left:0;
	top:0;
	height:100%;
	width:100%;
	position:absolute;
}

/* --- Kartenbereich: ersetzt .googlekarte auf /kontakt/ --- */
		.osm-karte {
			width: 100%;
		}
		#map-container {
			height: 450px;
			width: 100%;
			background: #e5e3df;
			z-index: 1;
		}
		@media (max-width: 767px) {
			#map-container {
				height: 400px;
			}
		}
		.osm-karte .leaflet-popup-content-wrapper {
			border-radius: 2px;
			box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
		}
		.osm-karte .leaflet-popup-content {
			margin: 12px 14px;
			font-size: 14px;
			line-height: 1.45;
			color: #1a1a1a;
		}
		.osm-karte .leaflet-popup-content strong {
			display: block;
			margin-bottom: 4px;
		}
		.osm-karte .osm-route {
			display: inline-block;
			margin-top: 8px;
			color: #007255;
			font-weight: 600;
			text-decoration: none;
		}
		.osm-karte .osm-route:hover,
		.osm-karte .osm-route:focus {
			text-decoration: underline;
		}
		.osm-karte .leaflet-control-attribution {
			font-size: 11px;
		}


/* Leaflet-Grundlayout. Ohne diese Regeln stehen die Kacheln
		   position:static und laufen ins Formular. */
		.leaflet-pane,
		.leaflet-tile,
		.leaflet-marker-icon,
		.leaflet-marker-shadow,
		.leaflet-tile-container,
		.leaflet-pane > svg,
		.leaflet-pane > canvas,
		.leaflet-zoom-box,
		.leaflet-image-layer,
		.leaflet-layer {
			position: absolute;
			left: 0;
			top: 0;
		}
		.leaflet-container { overflow: hidden; }
		.leaflet-marker-icon,
		.leaflet-marker-shadow,
		.leaflet-tile {
			user-select: none;
			-webkit-user-drag: none;
		}
		.leaflet-marker-icon,
		.leaflet-marker-shadow { display: block; }
		.leaflet-container .leaflet-overlay-pane svg,
		.leaflet-container .leaflet-marker-pane img,
		.leaflet-container .leaflet-shadow-pane img,
		.leaflet-container .leaflet-tile-pane img,
		.leaflet-container img.leaflet-tile {
			max-width: none !important;
			max-height: none !important;
			width: auto;
			padding: 0;
			mix-blend-mode: normal;
		}
		.leaflet-tile { visibility: hidden; }
		.leaflet-tile-loaded { visibility: inherit; }
		.leaflet-pane { z-index: 400; }
		.leaflet-tile-pane { z-index: 200; }
		.leaflet-overlay-pane { z-index: 400; }
		.leaflet-shadow-pane { z-index: 500; }
		.leaflet-marker-pane { z-index: 600; }
		.leaflet-tooltip-pane { z-index: 650; }
		.leaflet-popup-pane { z-index: 700; }
		.leaflet-top,
		.leaflet-bottom {
			position: absolute;
			z-index: 1000;
			pointer-events: none;
		}
		.leaflet-top { top: 0; }
		.leaflet-bottom { bottom: 0; }
		.leaflet-left { left: 0; }
		.leaflet-right { right: 0; }
		.leaflet-control {
			position: relative;
			z-index: 800;
			pointer-events: auto;
			float: left;
			clear: both;
		}
		.leaflet-right .leaflet-control { float: right; }
		.leaflet-top .leaflet-control { margin-top: 10px; }
		.leaflet-bottom .leaflet-control { margin-bottom: 10px; }
		.leaflet-left .leaflet-control { margin-left: 10px; }
		.leaflet-right .leaflet-control { margin-right: 10px; }
		.leaflet-bar {
			box-shadow: 0 1px 5px rgba(0, 0, 0, 0.65);
			border-radius: 4px;
		}
		.leaflet-bar a {
			background-color: #fff;
			border-bottom: 1px solid #ccc;
			width: 30px;
			height: 30px;
			line-height: 30px;
			display: block;
			text-align: center;
			text-decoration: none;
			color: #000;
			font: bold 18px "Lucida Console", Monaco, monospace;
		}
		.leaflet-bar a:hover,
		.leaflet-bar a:focus { background-color: #f4f4f4; }
		.leaflet-bar a:first-child {
			border-top-left-radius: 4px;
			border-top-right-radius: 4px;
		}
		.leaflet-bar a:last-child {
			border-bottom-left-radius: 4px;
			border-bottom-right-radius: 4px;
			border-bottom: none;
		}
		.leaflet-container .leaflet-control-attribution {
			background: rgba(255, 255, 255, 0.8);
			margin: 0;
			padding: 0 5px;
			color: #333;
			line-height: 1.4;
		}
		.leaflet-control-attribution a { text-decoration: none; color: #0078a8; }
		.leaflet-control-attribution a:hover,
		.leaflet-control-attribution a:focus { text-decoration: underline; }
		.leaflet-popup {
			position: absolute;
			text-align: center;
			margin-bottom: 20px;
		}
		.leaflet-popup-content-wrapper,
		.leaflet-popup-tip {
			background: #fff;
			color: #333;
			box-shadow: 0 3px 14px rgba(0, 0, 0, 0.4);
		}
		.leaflet-popup-content-wrapper {
			padding: 1px;
			text-align: left;
			border-radius: 2px;
		}
		.leaflet-popup-tip-container {
			width: 40px;
			height: 20px;
			position: absolute;
			left: 50%;
			margin-left: -20px;
			overflow: hidden;
			pointer-events: none;
		}
		.leaflet-popup-tip {
			width: 17px;
			height: 17px;
			margin: -10px auto 0;
			transform: rotate(45deg);
		}
		.leaflet-container a.leaflet-popup-close-button {
			position: absolute;
			top: 0;
			right: 0;
			border: none;
			text-align: center;
			width: 24px;
			height: 24px;
			font: 16px/24px Tahoma, Verdana, sans-serif;
			color: #757575;
			text-decoration: none;
			background: transparent;
		}
		.leaflet-fade-anim .leaflet-popup { transition: opacity 0.2s linear; }
		.leaflet-zoom-animated { transform-origin: 0 0; }
		.leaflet-grab { cursor: grab; }
		.leaflet-dragging .leaflet-grab { cursor: grabbing; }