
/* 
	braun: b08f70 rgb(176 143 112)
	rosa: BF9CA6  rgb(191 156 166)
*/

:root {
	--cnvs-link-hover-color: var(--cnvs-link-color);
	--cnvs-mfp-iframe-ratio: 1/1;
	
	
	/* gruen primär */
	--color-gruen: #468433;
	--color-gruen-rgb: 70, 132, 51;

	/* gruen hell */
	--color-gruen-hell: #6AA85A;
	--color-gruen-hell-rgb: 106, 168, 90;

	/* gruen sehr hell */
	--color-gruen-sehr-hell: #A8D5A2;
	--color-gruen-sehr-hell-rgb: 168, 213, 162;

	/* gruen dunkel */
	--color-gruen-dunkel: #2F5C23;
	--color-gruen-dunkel-rgb: 47, 92, 35;

	/* gruen sehr dunkel */
	--color-gruen-sehr-dunkel: #1E3D17;
	--color-gruen-sehr-dunkel-rgb: 30, 61, 23;

	/* hintergrund */
	--color-bg: #eff0ef;
	--color-bg-rgb: 239, 240, 239;
	
	--bs-body-bg: #fff !important;
	
	
	/* text */
	--color-text: #2B2B2B;
	--color-text-rgb: 43, 43, 43;

	/* border */
	--color-border: #E0E0E0;
	--color-border-rgb: 224, 224, 224;


	/* gruen */
	--cnvs-themecolor: var(--color-gruen);
	--cnvs-themecolor-rgb: var(--color-gruen-rgb);
	
	--cnvs-primary-menu-active-color: #fff !important;
	
	/* 124  + 64 = 188 */
	
	
	--cnvs-header-height:			60px;
	--cnvs-header-height-sm:		60px;
	--cnvs-header-height-md:		100px;
	--cnvs-header-height-lg:		120px;
	--cnvs-header-height-shrink:	65px;
	
	--cnvs-page-submenu-sticky-offset: 100px
}


#footer .text-white-50 {
  --bs-text-opacity: 1;
  color: rgba(255, 255, 255, 0.8) !important;
}


/* MD (<= 992px) → 90% */
@media (max-width: 992px) {
	--cnvs-header-height-shrink:	100px;
}

.custom-scroll-top {
	scroll-margin-top: 120px;
}

#header {
	--cnvs-header-floating-top-offset: 100px;
	--cnvs-page-submenu-sticky-offset: 100px;
}

.menu-link {
	padding: 10px 15px !important;
}


/*
#wrapper
#top-bar,
#header {
	z-index:3;
}
*/

#header,
#header.sticky-header {
    z-index: 599 !important;
}

#header #primary-menu {
    z-index: 600;
}

#header-wrap {
  border-bottom: 3px solid var(--color-gruen) !important;
}


.grid-filter li.disabled {
	 display: block;
  position: relative;
  padding: var(--cnvs-grid-filter-item-padding-y) var(--cnvs-grid-filter-item-padding-x);
  font-size: var(--cnvs-grid-filter-item-font-size);
  color: var(--cnvs-contrast-600);
  text-align: center;
  border-radius: 2px;
}



/* =========================================
   CUSTOM COLOR SYSTEM
========================================= */

:root {

  /* === BASIS FARBEN === */

  /* gruen primär */
  --color-gruen: #468433;
  --color-gruen-rgb: 70, 132, 51;

  /* gruen hell */
  --color-gruen-hell: #6AA85A;
  --color-gruen-hell-rgb: 106, 168, 90;

  /* gruen sehr hell */
  --color-gruen-sehr-hell: #A8D5A2;
  --color-gruen-sehr-hell-rgb: 168, 213, 162;

  /* gruen dunkel */
  --color-gruen-dunkel: #2F5C23;
  --color-gruen-dunkel-rgb: 47, 92, 35;

  /* gruen sehr dunkel */
  --color-gruen-sehr-dunkel: #1E3D17;
  --color-gruen-sehr-dunkel-rgb: 30, 61, 23;

  /* neutral */
  --color-bg: #eff0ef;
  --color-bg-rgb: 239, 240, 239;

  --color-text: #2B2B2B;
  --color-text-rgb: 43, 43, 43;

  --color-border: #E0E0E0;
  --color-border-rgb: 224, 224, 224;


  /* =========================================
     CANVAS THEME OVERRIDE
  ========================================= */

  /* Hauptfarbe */
  --cnvs-themecolor: var(--color-gruen);
  --cnvs-themecolor-rgb: var(--color-gruen-rgb);

  /* Links */
  --bs-link-color: var(--color-gruen);
  --bs-link-color-rgb: var(--color-gruen-rgb);
  --bs-link-hover-color: var(--color-gruen-dunkel);

  /* Header / Footer */
  --cnvs-header-bg: var(--color-gruen-sehr-hell);
  --cnvs-header-bg: var(--color-bg);
  --cnvs-header-sticky-bg: var(--color-gruen-sehr-hell);
  --cnvs-header-sticky-bg: var(--color-bg);
  --cnvs-topbar-bg: var(--color-gruen-sehr-hell);

  --cnvs-footer-bg: var(--color-gruen-sehr-hell);

  /* Text */
  --cnvs-heading-color: var(--color-text);
  --bs-body-color: var(--color-text);
  --bs-body-color-rgb: var(--color-text-rgb);

  /* Background */
  --bs-body-bg: var(--color-bg);
  --bs-body-bg-rgb: var(--color-bg-rgb);

  /* Borders */
  --bs-border-color: var(--color-border);


  /* =========================================
     BOOTSTRAP COLOR OVERRIDE
  ========================================= */

  --bs-primary: var(--color-gruen);
  --bs-primary-rgb: var(--color-gruen-rgb);

  --bs-success: var(--color-gruen-hell);
  --bs-success-rgb: var(--color-gruen-hell-rgb);

  --bs-secondary: #6c757d;
  --bs-secondary-rgb: 108, 117, 125;

  --bs-light: var(--color-bg);
  --bs-light-rgb: var(--color-bg-rgb);

  --bs-dark: var(--color-gruen-sehr-dunkel);
  --bs-dark-rgb: var(--color-gruen-sehr-dunkel-rgb);


  /* =========================================
     FEINABSTIMMUNG (OPTIONAL)
  ========================================= */

  /* Buttons */
  --bs-btn-bg: var(--color-gruen);
  --bs-btn-border-color: var(--color-gruen);
  --bs-btn-hover-bg: var(--color-gruen-dunkel);
  --bs-btn-hover-border-color: var(--color-gruen-dunkel);

  /* Fokus */
  --bs-focus-ring-color: rgba(var(--color-gruen-rgb), 0.25);

}



.radio-style:checked + .radio-style-2-label:before {
    background: var(--color-gruen) !important;
}

#slider,
.rev_slider_wrapper {
    position: relative;
    z-index: 2;
}

.primary-menu {
	z--index: 201 !important;
}


.revo-slider-caps-text {
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 3px;
	font-family: 'Poppins', sans-serif;
}
.revo-slider-emphasis-text {
	font-size: 64px;
	font-weight: 700;
	letter-spacing: -1px;
	font-family: 'Poppins', sans-serif;
	padding: 15px 20px;
	border-top: 2px solid #FFF;
	border-bottom: 2px solid #FFF;
	z-index: 3;
	line-height:1.25;
}

.revo-slider-desc-text {
	font-size: 20px;
	font-family: 'Lato', sans-serif;
	width: 650px;
	text-align: center;
	line-height: 1.5;
}

.tp-video-play-button { display: none !important; }
.tp-caption { white-space: nowrap; }



/* MD (<= 992px) → 90% */
@media (max-width: 992px) {
	.revo-slider-caps-text {
		font-size: 18px; /* 16 * 0.9 */
	}

	.revo-slider-emphasis-text {
		font-size: 58px; /* 64 * 0.9 */
	}

	.revo-slider-desc-text {
		font-size: 18px; /* 20 * 0.9 */
		width: 100%;
	}
}

/* XS (<= 576px) → 70% */
@media (max-width: 576px) {
	.revo-slider-caps-text {
		font-size: 14px; /* 16 * 0.7 */
		width:100%;
	}

	.revo-slider-emphasis-text {
		font-size: 28px; /* 64 * 0.7 */
		width:100%;
	}

	.revo-slider-desc-text {
		font-size: 16px; /* 20 * 0.7 */
		width: 100%;
	}
	
	.hades .tp-arr-allwrapper,
	.hades.tparrows {
		width: 50px !important;
		height: 50px !important;
	}
	
	.hades.tparrows {
		top: 10% !important;
	}
	
	
	.hades.tparrows:before {
		line-height: 50px !important; 
	}
	
	.tp-arr-allwrapper {
		display:none;
	}
	
	.floating-btn-wrap {
		z-index:0 !important;
	}
	
	BODY.floating-btn-open .floating-btn-wrap {
		z-index:5 !important;
	}
}




.image-wrapper {
    position: relative;
}

.fbox-media {
    position: relative;
    overflow: hidden; /* wichtig für saubere Kanten */
}

.overlay-box {
    position: absolute;
    bottom: 10px;
    left: -5px;

    background: rgba(0,0,0,0.85);
    color: var(--color-gruen-hell);

    padding: 8px 30px;
	padding-left: 40px;
    font-weight: 600;
	
	font-size: calc(1.1rem + 0.4vw);
	
    transform: rotate(-5deg);
    transform-origin: left bottom;
	
	text-transform: uppercase;
	
    white-space: nowrap;
    z-index: 2;
}

/* XL (<= 992px)  */
@media (max-width: 1400px) {
	.overlay-box {
		font-size: calc(1.0rem + 0.4vw);
	}
}
/* MD (<= 992px)  */
@media (max-width: 1292px) {
	.overlay-box {
		font-size: calc(1.0rem + 0.4vw);
		padding-left: 25px;
		padding-right: 15px;
	}
}
/* XS (<= 576px)  */
@media (max-width: 576px) {
	.overlay-box {
		font-size: calc(1.0rem + 0.1vw);
		padding-left: 20px;
		padding-right: 10px;
	}
}



li.dark div.tp-caption {
	background: rgba(0,0,0,0.4);
}


.overlay-box-slider {
    display: inline-block;
	position: relative;
    
	left:-10px;
	
	background: rgba(0,0,0,0.9) !important;
    color: var(--color-gruen-hell);
	
    padding: 10px 30px 10px 40px;
    font-weight: 600;
    text-transform: uppercase;

    white-space: nowrap;

    z-index: 50;

    transform-origin: left bottom;
}




/* flip card */

.flip-card-inner {
  padding: 10px;
}

.flip-card-front, .flip-card-back {
	height: 200px;
}


/* custom animation */

.animate-pulse {
  animation: pulse 1.5s infinite;
}

@keyframes pulse {
  0%   { transform: scale(1); opacity: 1; }
  50%  { transform: scale(1.2); opacity: 0.6; }
  100% { transform: scale(1); opacity: 1; }
}




.heading-block::after {
	border-image: linear-gradient(to right, var(--color-gruen), var(--color-gruen-sehr-hell)) 1;
}


#header #logo-mobile img {
	transform: scale(1);
	max-height:64px;
}

#header.sticky-header #logo-mobile img {
	height:64px;
	
}


.heading-block {
    --cnvs-heading-block-font-transform: uppercase;
}

#top-bar,
.is-expanded-menu .sticky-header #header-wrap {
	box-shadow: #46843345 0px 10px 20px;
}
/* -------------- Tiny MCE -------- */

.tox-editor-header {
	z-index: 500 !important;
	left: 100px !important;
}

.tox .tox-editor-header {
	z-index: 500 !important;
}
/* -------------------------------- */

#footer {
	z-index:0;
}



#content {
	box-shadow: 0px 20px 20px var(--cnvs-themecolor);
}

.nowrap {
	white-space: nowrap;
}


@media (max-width: 768px) {
	.shape-divider svg {
		height:30px !important;
	}
}


.btn-link {
	text-decoration: none;
	cursor: pointer;
}

.btn-link:hover,
.btn-link:active {
    color: var(--cnvs-link-color);
}

a:hover {
	text-decoration:underline;
}

.btn-link {
	position: relative;
	text-decoration: none !important;
}

.btn-link::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 100%;
	height: 1px;
	background-color: var(--cnvs-link-color);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.3s ease;
}

.btn-link:hover::after,
.btn-link:focus::after {
	transform: scaleX(1);
}


.rotate-reset {
    transform: none !important;
}

.noborder {
	border: 0 !important;
}


.iconlist-checkmark li:before {
	content: '\e658';
	font-family: "font-icons";
	margin-right: 12px;
}


.iconlist-plus li:before {
	content: '\eb1f';
	font-family: "font-icons";
	margin-right: 12px;
}

ul.ticked {
    list-style: none;
    padding-left: 0;
    margin-left: 0;
}

ul.ticked li {
    position: relative;
    padding-left: 28px;
    margin-bottom: 8px;
}

ul.ticked li::before {
    content: "\e9c3"; /* Unicode für uil-check */
    font-family: "unicons-line";
    position: absolute;
    left: 0;
    top: 2px;
    font-size: 18px;
	font-weight:600;
    color: #C06C6C; /* warmes altrosa */
}



.menu-type-secondary > .menu-item > .menu-link {
	color: #777;
}

.menu-type-secondary > .menu-item:hover > .menu-link,
.menu-type-secondary > .menu-item.current > .menu-link {
	color: var(--cnvs-themecolor);
	
}

@media (min-width: 1000px) {
	
.primary-menu > ul > li > .menu-link > div {
	border--radius: 10px;
    padding: 10px 15px;
	border: 1px solid var(--cnvs-header-bg);
}


.primary-menu > ul >  li > .menu-link > div:hover {
	background-color: #fff;
	border: 1px solid #ddd;
}

.primary-menu > ul > .current > .menu-link > div,
.primary-menu > ul > .current > .menu-link > div:hover {
	border: 1px solid var(--cnvs-themecolor);
	background: #fff !important;
}


}



.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--cnvs-themecolor);
    --bs-btn-border-color: var(--cnvs-themecolor);
}



#header {
	--cnvs-header-border-color: #ccc;
	--cnvs-primary-menu-submenu-border: 1px solid var(--cnvs-contrast-200);
	--cnvs-primary-menu-submenu-hover-bg: transparent;
	--cnvs-primary-menu-submenu-padding-y: 10px;
}

.is-expanded-menu .sub-menu-container,
.is-expanded-menu .mega-menu-content {
	border-top: var(--cnvs-primary-menu-submenu-border);
	border-top-color: var(--cnvs-themecolor);
	border-top-width: 2px;
	box-shadow: 0 0 10px 5px rgba(0,0,0,.04);
	border--radius: 10px;
	padding: 10px;
}

.is-expanded-menu .mega-menu-column .sub-menu-container {
	padding: 0;
}

.is-expanded-menu .sub-menu-container .menu-item > .menu-link,
.is-expanded-menu .sub-menu-container .menu-item:hover > .menu-link {
	border--radius: 4px;
}

.is-expanded-menu .mega-menu-content .sub-menu-container + .sub-menu-container {
	border-top-left--radius: 0px;
	border-bottom-left--radius: 0px;
}
		
		
		
		/*
		#wrapper::after {
			content: "";
			opacity: 0;
			position: absolute;
			width: 100%;
			height: 100%;
			top: 0;
			left: 0;
			background-color: transparent;
			transition: opacity 0.3s, background-color 0.2s ease;
		}
		*/
		
		
		.floating-btn-open #wrapper::after {
			opacity: 1;
			background-color: rgba(0, 0, 0, 0.75);
		}

		.floating-btn-wrap {
			--cnvs-floating-btn-size: 4rem;
			--cnvs-floating-btn-pos-right: var(--cnvs-floating-btn-size);
			--cnvs-floating-btn-pos-bottom: var(--cnvs-floating-btn-size);
			--cnvs-floating-btn-transition: .3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
			--cnvs-floating-btn-bg-color: var(--cnvs-themecolor);
			--cnvs-floating-btn-icon-color: #FFF;
			--cnvs-floating-btn-bg-active-color: var(--bs-dark);
			--cnvs-floating-btn-box-width: 25rem;
			--cnvs-floating-btn-box-padding: 2rem;
			--cnvs-floating-btn-box-radius: .3rem;
			--cnvs-floating-btn-box-bg: #FFF;
			--cnvs-floating-btn-box-shadow: 0px 0px 13px 3px rgba(0,0,0,0.07);
			
			position: fixed;
			right: var(--cnvs-floating-btn-pos-right);
			bottom: var(--cnvs-floating-btn-pos-bottom);
			z-index: 199;
		}

		.floating-btn-wrap .floating-btn {
			position: absolute;
			left: 0;
			top: 0;
			width: var(--cnvs-floating-btn-size);
			height: var(--cnvs-floating-btn-size);
			border-radius: var(--cnvs-floating-btn-size);
			background-color: var(--cnvs-floating-btn-bg-color);
			color: var(--cnvs-floating-btn-icon-color);
			cursor: pointer;
			z-index: 3;
			transform: translate(-50%, -50%);
			transition: transform .3s ease;
		}

		.floating-btn-wrap .floating-btn:hover,
		.floating-btn-open .floating-btn-wrap .floating-btn {
			transform: translate(-50%, -50%) scale(1.1);
			background-color: var(--cnvs-floating-btn-bg-active-color);
		}

		.floating-btn-wrap .floating-btn .floating-btn-icon {
			position: absolute;
			top: 50%;
			left: 50%;
			font-size: calc(var(--cnvs-floating-btn-size) * .5);
			-webkit-transition: var(--cnvs-floating-btn-transition);
			transition: var(--cnvs-floating-btn-transition);
			-webkit-transition-property: opacity, -webkit-transform;
			transition-property: opacity, transform;
			-webkit-transform: translate(-50%, -50%);
			transform: translate(-50%, -50%);
			-webkit-backface-visibility: hidden;
		}

		.floating-btn-wrap .floating-btn .floating-btn-icon.btn-active,
		.floating-btn-open .floating-btn-wrap .floating-btn .floating-btn-icon {
			opacity: 0;
			-webkit-transform: translate(-50%, -50%);
			transform: translate(-50%, -50%);
		}

		.floating-btn-open .floating-btn-wrap .floating-btn .floating-btn-icon.btn-active {
			opacity: 1;
			-webkit-transform: translate(-50%, -50%) rotate(-45deg);
			transform: translate(-50%, -50%) rotate(-45deg);
		}

		.floating-btn-wrap .floating-btn-box {
			opacity: 0;
			position: absolute;
			right: 0;
			bottom: 0;
			width: var(--cnvs-floating-btn-box-width);
			background-color: var(--cnvs-floating-btn-box-bg);
			border-radius: var(--cnvs-floating-btn-box-radius);
			z-index: 1;
			padding: var(--cnvs-floating-btn-box-padding);
			-webkit-transform-origin: right bottom;
			transform-origin: right bottom;
			box-shadow: var(--cnvs-floating-btn-box-shadow);
			-webkit-transform: scale(.01);
			transform: scale(.01);
			-webkit-transition: all var(--cnvs-floating-btn-transition);
			transition: all var(--cnvs-floating-btn-transition);
			-webkit-backface-visibility: hidden;
		}

		.floating-btn-open .floating-btn-wrap .floating-btn-box {
			opacity: 1;
			-webkit-transform: scale(1);
			transform: scale(1);
		}

		.floating-btn-wrap + #gotoTop {
			left: 40px;
			right: auto;
		}
		
	
		
	
	
	/* SKW: farbige UL */
	
	UL.custom {
	  list-style: none;
	  padding-left: 1.5em;
	}

	UL.custom li {
	  position: relative;
	  margin-bottom: 0.5em;
	}

	UL.custom li::before {
	  content: "";
	  position: absolute;
	  left: -1.3em;
	  top: 0.5em;
	  width: 0.5em;
	  height: 0.5em;
	  background: #ccc;
	  border-radius: 55% 45% 60% 40%;
	  border-radius: 0% !important;
	}

	/* 10 Grün–Braun Pastelltöne mit Kontrast */
.custom li:nth-child(10n+1)::before,
.custom li:nth-child(10n+10)::before {
  background: #468433; /* Primärgrün */
  border-radius: 60% 40% 55% 45%;
}

.custom li:nth-child(10n+2)::before,
.custom li:nth-child(10n+9)::before {
  background: #5E8F4A; /* weiches Waldgrün */
  border-radius: 45% 55% 40% 60%;
}

.custom li:nth-child(10n+3)::before,
.custom li:nth-child(10n+8)::before {
  background: #7FA36A; /* salbeigrün */
  border-radius: 65% 35% 50% 50%;
}

.custom li:nth-child(10n+4)::before,
.custom li:nth-child(10n+7)::before {
  background: #9BB87F; /* helles Olivgrün */
  border-radius: 40% 60% 45% 55%;
}

.custom li:nth-child(10n+5)::before,
.custom li:nth-child(10n+6)::before {
  background: #B7C99A; /* sehr helles Grünbeige */
  border-radius: 55% 45% 65% 35%;
}



/* Textfarben passend dazu */
.custom-colored li:nth-child(10n+1),
.custom-colored li:nth-child(10n+6) {
  color: #468433;
}

.custom-colored li:nth-child(10n+2),
.custom-colored li:nth-child(10n+7) {
  color: #5E8F4A;
}

.custom-colored li:nth-child(10n+3),
.custom-colored li:nth-child(10n+8) {
  color: #7FA36A;
}

.custom-colored li:nth-child(10n+4),
.custom-colored li:nth-child(10n+9) {
  color: #9BB87F;
}

.custom-colored li:nth-child(10n+5),
.custom-colored li:nth-child(10n+10) {
  color: #B7C99A;
}




.nav-pills .nav-link {
    position: relative;
}

.nav-pills .nav-link.active::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -8px;
    transform: translateX(-50%);

    width: 0;
    height: 0;

    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 8px solid var(--cnvs-contrast-200);
}


.nav-pills .nav-link:hover::after {
    border-top-color: var(--color-gruen);
}

.nav-pills .nav-link:not(.active):hover {
    background-color: var(--color-gruen-hell);
	color: var(--bs-nav-pills-link-active-color);
}

.nav-pills .nav-link:not(.active):hover::after {
    border-top-color: var(--color-gruen-hell);
}

.nav-pills .nav-link.active::after {
    border-top-color: var(--color-gruen);
}	




.thickborder td {
    border: 10px solid #fff;
}

.thickborder p {
    margin-bottom: 0;
}

.gehalt td {
    border: 5px solid #fff !important;
}

	
	/* Link mit Animation */
	
	.d-grid-item {
		display: flex;
	}

	/* Links */
	.link {
		position: relative;
		cursor: pointer;
		white-space: nowrap;
		color: var(--cnvs-themecolor);
	}

	.link::before,
	.link::after {
		position: absolute;
		width: 100%;
		height: 1px;
		background: var(--cnvs-themecolor);
		top: 100%;
		left: 0;
		pointer-events: none;
	}

	.link::before {
		content: '';
		/* show by default */
	}
	
	/* Link 12 */
	.link-12 {
		overflow: hidden;
		padding: 7px 0;
	}

	.link__graphic {
		position: absolute;
		top: 0;
		left: 0;
		pointer-events: none;
		fill: none;
		stroke: var(--cnvs-themecolor);
		stroke-width: 1px;
	}

	.link__graphic--slide {
		top: -3px;
		stroke-width: 2px;
		transition: transform 0.7s;
		transition-timing-function: cubic-bezier(0, 0.25, 0.5, 1);
	}

	.link:hover .link__graphic--slide {
		transform: translate3d(-66.6%, 0, 0);
	}