/* definition of basecolors */
:root {
	--color-black: #1a1a1a;
	--color-white: #ffffff;
	--color-yellow: #ffcd00;
	--color-green1: #00645f;
	--color-green2: #00847e;
	--color-green3: #009895;
	--color-green4: #69bfbc;
	--color-green5: #9dd1cf;
	--color-green6: #cce8e7;

  --swiper-theme-color: var(--color-green1);
  --swiper-pagination-bottom: 10px;

  --swiper-pagination-bullet-width: 15px;
  --swiper-pagination-bullet-height: 15px;
  --swiper-pagination-color:var(--color-black);
  --swiper-pagination-bullet-inactive-opacity: 1;
  --swiper-pagination-bullet-inactive-color: var(--color-white);
  --swiper-pagination-bullet-horizontal-gap: 8px;
  --swiper-pagination-bottom: -50px;

  --header-top-height: 96px;
  --header-menu-height: 96px;  
  --header-bottom-height: 0px;

  --default-padding-right: 32px;
  --default-padding-top: 32px;
}


@media (max-width:854px) {
	:root {
  --header-top-height: 81px;
  --header-menu-height: 81px;  
  --header-bottom-height: 96px;

  --default-padding-right: 16px;
  --default-padding-top: 24px;
	}
}

:root {
  --header-top-height: 0;
}

html,body  {
	scroll-padding:var(--header-top-height);
}

html {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
	font-family: 'Open Sans';
	margin:0;
	padding:0;
	border:0;
	color: var(--color-black);
	background-color: var(--color-white);
	hyphens: auto;
}

button,select {
	color:inherit;
}

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

a {
	color: inherit;
    text-decoration: none;
}


.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }


#nonmenucontent-wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}


.text-right {
	text-align: right;
}

#highlightbox a,
main a,
.fakelink,
#footer a,
.fakelink .downloadlist-content-main-downloadtitle,
.teaserhightlightelement-innercontent p a {
	position: relative;
	color:inherit;
	font-weight: 600 !important;

 	text-decoration: none;
    background-image: linear-gradient(currentColor, currentColor);
    background-position: 0% 100%;
    background-repeat: no-repeat;
    background-size: 0% 1px;
    transition: background-size .15s;	
    hyphens: none;
}




@media (hover: hover) {
	#highlightbox a:hover,
	#footer a:hover,
	main a:hover,
	.downloadlist-item:hover .fakelink,
	.fakelink:hover,
	.fakelink:hover .downloadlist-content-main-downloadtitle,
	.teaserbox:hover .fakelink,
	.singledownload-content:hover .fakelink,
	#footer main a:hover,
	.teaserhightlightelement-innercontent p a:hover,
	.tx-kesearch-pi1 .result-list-item:hover a {
		background-size: 100% 1px;
	}
}

.link-arrow::after
{
  content: "";
/*  width: 18px;
  height: 18px;*/
  width: 1.125rem;
  height: 1.125rem;
  margin-left: 4px;
  background-image: url(../Icons/arrow-link.svg);
  background-image: url(../Icons/Arrows/Desktop/Arrow_Link/ZSVR_UI_Desktop_Arrow_Link_Copy_Default.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  font-weight: 600;
}

.text-xs .link-arrow::after { background-image: url(../Icons/Arrows/Desktop/Arrow_Link/ZSVR_UI_Desktop_Arrow_Link_Caption_Default.svg); }
.text-s .link-arrow::after { background-image: url(../Icons/Arrows/Desktop/Arrow_Link/ZSVR_UI_Desktop_Arrow_Link_Copy_Default.svg); }
.text-m .link-arrow::after { background-image: url(../Icons/Arrows/Desktop/Arrow_Link/ZSVR_UI_Desktop_Arrow_Link_Copy_Default.svg); }
.text-l .link-arrow::after { background-image: url(../Icons/Arrows/Desktop/Arrow_Link/ZSVR_UI_Desktop_Arrow_Link_Copy_Default.svg); }

.teaserbox:hover .link-arrow::after,
.link-arrow:hover::after
{
  background-image: url(../Icons/arrow-link-active.svg);
  background-image: url(../Icons/Arrows/Desktop/Arrow_Link/ZSVR_UI_Desktop_Arrow_Link_Copy_Hover.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.teaserbox:hover .link-arrow::after { background-image: url(../Icons/Arrows/Desktop/Arrow_Link/ZSVR_UI_Desktop_Arrow_Link_H3_Hover.svg); }

.text-xs .link-arrow:hover::after { background-image: url(../Icons/Arrows/Desktop/Arrow_Link/ZSVR_UI_Desktop_Arrow_Link_Caption_Hover.svg); }
.text-s .link-arrow:hover::after { background-image: url(../Icons/Arrows/Desktop/Arrow_Link/ZSVR_UI_Desktop_Arrow_Link_Copy_Hover.svg); }
.text-m .link-arrow:hover::after { background-image: url(../Icons/Arrows/Desktop/Arrow_Link/ZSVR_UI_Desktop_Arrow_Link_Copy_Hover.svg); }
.text-l .link-arrow:hover::after { background-image: url(../Icons/Arrows/Desktop/Arrow_Link/ZSVR_UI_Desktop_Arrow_Link_Copy_Hover.svg); }

#highlightbox p a:not(.button):not(.breadcrumb-link)::after,
#highlightbox ul a:not(.button):not(.breadcrumb-link)::after,
main p a:not(.button):not(.breadcrumb-link)::after,
main ul a:not(.button):not(.breadcrumb-link)::after,
.teaserhightlightelement-innercontent p a::after
{
  content: "";
/*  width: 18px;
  height: 18px;*/
  width: 1.125rem;
  height: 1.125rem;
  margin-left: 4px;
  background-image: url(../Icons/arrow-link.svg);
  background-image: url(../Icons/Arrows/Desktop/Arrow_Link/ZSVR_UI_Desktop_Arrow_Link_Copy_Default.svg);  
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  font-weight: 600;
}

.text-xs #highlightbox p a:not(.button):not(.breadcrumb-link)::after,
.text-xs #highlightbox ul a:not(.button):not(.breadcrumb-link)::after,
.text-xs main p a:not(.button):not(.breadcrumb-link)::after,
.text-xs main ul a:not(.button):not(.breadcrumb-link)::after,
.text-xs .teaserhightlightelement-innercontent p a::after {
	background-image: url(../Icons/Arrows/Desktop/Arrow_Link/ZSVR_UI_Desktop_Arrow_Link_Caption_Default.svg);
}
.text-s #highlightbox p a:not(.button):not(.breadcrumb-link)::after,
.text-s #highlightbox ul a:not(.button):not(.breadcrumb-link)::after,
.text-s main p a:not(.button):not(.breadcrumb-link)::after,
.text-s main ul a:not(.button):not(.breadcrumb-link)::after,
.text-s .teaserhightlightelement-innercontent p a::after {
	background-image: url(../Icons/Arrows/Desktop/Arrow_Link/ZSVR_UI_Desktop_Arrow_Link_Copy_Default.svg);
}
.text-m #highlightbox p a:not(.button):not(.breadcrumb-link)::after,
.text-m #highlightbox ul a:not(.button):not(.breadcrumb-link)::after,
.text-m main p a:not(.button):not(.breadcrumb-link)::after,
.text-m main ul a:not(.button):not(.breadcrumb-link)::after,
.text-m .teaserhightlightelement-innercontent p a::after {
	background-image: url(../Icons/Arrows/Desktop/Arrow_Link/ZSVR_UI_Desktop_Arrow_Link_Copy_Default.svg);
}
.text-l #highlightbox p a:not(.button):not(.breadcrumb-link)::after,
.text-l #highlightbox ul a:not(.button):not(.breadcrumb-link)::after,
.text-l main p a:not(.button):not(.breadcrumb-link)::after,
.text-l main ul a:not(.button):not(.breadcrumb-link)::after,
.text-l .teaserhightlightelement-innercontent p a::after {
	background-image: url(../Icons/Arrows/Desktop/Arrow_Link/ZSVR_UI_Desktop_Arrow_Link_Copy_Default.svg);
}

.arrow-down::after {
	transform:rotate(135deg);
}

#highlightbox p a:not(.button):not(.breadcrumb-link):hover::after,
#highlightbox ul a:not(.button):not(.breadcrumb-link):hover::after,
main p a:not(.button):not(.breadcrumb-link):hover::after,
main ul a:not(.button):not(.breadcrumb-link):hover::after,
.teaserhightlightelement-innercontent p a:hover::after,
.tx-kesearch-pi1 .result-list-item:hover p a::after
{
  background-image: url(../Icons/arrow-link-active.svg);
  background-image: url(../Icons/Arrows/Desktop/Arrow_Link/ZSVR_UI_Desktop_Arrow_Link_Copy_Hover.svg);  
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.text-xs #highlightbox p a:not(.button):not(.breadcrumb-link):hover::after,
.text-xs #highlightbox ul a:not(.button):not(.breadcrumb-link):hover::after,
.text-xs main p a:not(.button):not(.breadcrumb-link):hover::after,
.text-xs main ul a:not(.button):not(.breadcrumb-link):hover::after,
.text-xs .teaserhightlightelement-innercontent p a:hover::after,
.text-xs .tx-kesearch-pi1 .result-list-item:hover p a::after
{
  background-image: url(../Icons/Arrows/Desktop/Arrow_Link/ZSVR_UI_Desktop_Arrow_Link_Caption_Hover.svg);  
}

.text-s #highlightbox p a:not(.button):not(.breadcrumb-link):hover::after,
.text-s #highlightbox ul a:not(.button):not(.breadcrumb-link):hover::after,
.text-s main p a:not(.button):not(.breadcrumb-link):hover::after,
.text-s main ul a:not(.button):not(.breadcrumb-link):hover::after,
.text-s .teaserhightlightelement-innercontent p a:hover::after,
.text-s .tx-kesearch-pi1 .result-list-item:hover p a::after
{
  background-image: url(../Icons/Arrows/Desktop/Arrow_Link/ZSVR_UI_Desktop_Arrow_Link_Copy_Hover.svg);  
}

.text-m #highlightbox p a:not(.button):not(.breadcrumb-link):hover::after,
.text-m #highlightbox ul a:not(.button):not(.breadcrumb-link):hover::after,
.text-m main p a:not(.button):not(.breadcrumb-link):hover::after,
.text-m main ul a:not(.button):not(.breadcrumb-link):hover::after,
.text-m .teaserhightlightelement-innercontent p a:hover::after,
.text-m .tx-kesearch-pi1 .result-list-item:hover p a::after
{
  background-image: url(../Icons/Arrows/Desktop/Arrow_Link/ZSVR_UI_Desktop_Arrow_Link_Copy_Hover.svg);  
}

.text-l #highlightbox p a:not(.button):not(.breadcrumb-link):hover::after,
.text-l #highlightbox ul a:not(.button):not(.breadcrumb-link):hover::after,
.text-l main p a:not(.button):not(.breadcrumb-link):hover::after,
.text-l main ul a:not(.button):not(.breadcrumb-link):hover::after,
.text-l .teaserhightlightelement-innercontent p a:hover::after,
.text-l .tx-kesearch-pi1 .result-list-item:hover p a::after
{
  background-image: url(../Icons/Arrows/Desktop/Arrow_Link/ZSVR_UI_Desktop_Arrow_Link_Copy_Hover.svg);  
}



main .bgcolor-green1 p a:not(.button):not(.breadcrumb-link)::after,
main .bgcolor-green1 ul a:not(.button):not(.breadcrumb-link)::after {
	 background-image: url(../Icons/arrow-link-white.svg);
}
main .bgcolor-green1 p a:not(.button):not(.breadcrumb-link):hover::after,
main .bgcolor-green1 ul a:not(.button):not(.breadcrumb-link):hover::after {
	 background-image: url(../Icons/arrow-link-white-active.svg);
}



.link-noarrow {
	font-weight: normal;
}

.link-noarrow::after {
	display: none !important;
	content: none !important;
}

/* 28px- 46px //BP: 360|1440px */
.headline-xxl .link-arrow::after {
	width: clamp(28px, 22px + 1.667vw, 46px);
	height: clamp(28px, 22px + 1.667vw, 46px);
	margin-left: 12px;
	margin-bottom: -1px;
}

/*24px - 41px */
.headline-xl .link-arrow::after {
	width: clamp(24px, 18.333px + 1.574vw, 41px);
	height: clamp(24px, 18.333px + 1.574vw, 41px);
	margin-left: 12px;
	margin-bottom: -1px;
}

/* 22 - 30 */
.headline-l .link-arrow::after {
	width: clamp(22px, 19.333px + 0.741vw, 30px);
	height: clamp(22px, 19.333px + 0.741vw, 30px);
	margin-left: 10px;
	margin-bottom: -1px;
}

/* 18 - 23 */
.headline-m .link-arrow::after {
	width: clamp(18px, 16.333px + 0.463vw, 23px);
	height: clamp(18px, 16.333px + 0.463vw, 23px);
	margin-left: 8px;
	margin-bottom: -1px;
}

.headline-s .link-arrow::after {
	width: 16px;
	height: 16px;
	margin-left: 7px;
	margin-bottom: -1px;
}

.headline-xs .link-arrow::after {
	width: 14px;
	height: 14px;
	margin-left: 6px;
	margin-bottom: -1px;
}

/* 20 - 28 */
.text-l .link-arrow::after {
	width: clamp(20px, 17.333px + 0.741vw, 28px);
	height: clamp(20px, 17.333px + 0.741vw, 28px);
	margin-left: 12px;
	margin-bottom: -1px;
}

/* 18 - 20*/
.text-m .link-arrow::after {
	width: clamp(18px, 17.333px + 0.185vw, 20px);
	height: clamp(18px, 17.333px + 0.185vw, 20px);
	margin-left: 8px;
	margin-bottom: -1px;
}

.text-s .link-arrow::after {
	width: 16px;
	height: 16px;
	margin-left: 8px;
	margin-bottom: -1px;
}

#highlightbox p a:not(.button):not(.breadcrumb-link)::after,
#highlightbox ul a:not(.button):not(.breadcrumb-link)::after,
.text-xs .link-arrow::after {
	width: 14px;
	height: 14px;
	margin-left: 6px;
	margin-bottom: -1px;
}


#footer a[href^="http"]::after,
#footer a[href^="https://"]::after,
.footercontent a.link-arrow::after,
.link-arrow-white::after
{
  content: "";
/*  width: 18px;
  height: 18px;*/
  width: 1.125rem;
  height: 1.125rem;
  margin-left: 4px;
  background-image: url(../Icons/arrow-link-white.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  font-weight: 600;
}


@media (hover: hover) {
	#footer a[href^="http"]:hover::after,
	#footer a[href^="https://"]:hover::after,
	.footercontent .text-s a.link-arrow:hover::after
	{
	  content: "";
	/*  width: 18px;
	  height: 18px;*/
	  width: 1.125rem;
	  height: 1.125rem;
	  margin-left: 4px;
	  background-image: url(../Icons/arrow-link-white-active.svg);
	  
	}

}

h1,h2,h3,h4,h5,p {
	margin:0 0 1rem;
	padding:0;
	word-break: break-word;
}

p,
.news-single .article ul,
.news-single .article ol,
.ce-bodytext ul,
.ce-bodytext ol {
	font-size: clamp(1.125rem, 0.185vw + 1.083rem, 1.25rem);
	line-height: clamp(1.875rem, 0.185vw + 1.833rem, 2rem);		
}

.news-single .article ul,
.news-single .article ol,
.ce-bodytext ul,
.ce-bodytext ol {
	margin-top: 0;
	padding-top: 0;
	padding-bottom: 0;
	margin-bottom: 1em;
	padding-left: 1.2em;
}
.news-single .article ul > li > ul,
.ce-bodytext ul > li > ul {
	margin-left: calc((100vw / 12) * 0.5 - 1.2em);
}

.news-single .article ol ol,
.ce-bodytext ol ol {
    list-style-type: lower-latin;
}

ol.ol-bold > li::marker {
    font-weight: 600;
}



.teaserhightlightelement-innercontent ul li::marker,
.news-single .article ul li::marker,
.teaserbox-content ul li::marker,
.ce-bodytext ul li::marker {
	content:'— ';
}


ul.ul-dots {
    list-style: none; /* Deaktiviert die Standard-Bullet Points */
    padding-left: 1em;
    margin-left: 0;
}

ul.ul-dots li::marker {
    content: "… "; /* Definiert die drei Punkte als Marker */
}


/*
.ce-bodytext ul {
	font-size: clamp(1.125rem, 0.185vw + 1.083rem, 1.25rem);
	line-height: clamp(1.875rem, 0.185vw + 1.833rem, 2rem);		
}
*/
/*
https://fluidtypography.com/#app-get-started
https://fluid.style/spacing?min=0&max=-0.17&min-bp=360&max-bp=1440&unit=%22px%22
*/

.headline-xxl {
	font-style: normal;
	font-weight: 600;

	font-size: clamp(2rem, 2.222vw + 1.5rem, 3.5rem);
	line-height: clamp(2.75rem, 2.222vw + 2.25rem, 4.25rem);
	letter-spacing: clamp(-0.56px, -0.027px + -0.037vw, -0.16px);
}

.headline-xl {
	/* Desktop/Headlines/H2 XL */
	font-style: normal;
	font-weight: 600;

	font-size: clamp(1.75rem, 1.852vw + 1.333rem, 3rem);
	line-height: clamp(2.5rem, 1.667vw + 2.125rem, 3.625rem);
	letter-spacing: clamp(-0.48px, 0.085px + -0.039vw, -0.056px)

}

.headline-l {
	/* Desktop/Headlines/H3 L */
	font-style: normal;
	font-weight: 600;

	font-size: clamp(1.5rem, 0.926vw + 1.292rem, 2.125rem);
	line-height: clamp(2.25rem, 0.923vw + 2.042rem, 2.873rem);
	letter-spacing: clamp(-0.17px, 0.057px + -0.016vw, 0px);
}

.headline-m {
	/* Desktop/Headlines/H4 M */
	font-style: normal;
	font-weight: 600;

	font-size: clamp(1.375rem, 0.37vw + 1.292rem, 1.625rem);
	line-height: clamp(2.125rem, 0.37vw + 2.042rem, 2.375rem);	
}

.headline-s {
	/* Desktop/Headlines/H5 S */
	font-style: normal;
	font-weight: 600;

	font-size: clamp(1.125rem, 0.185vw + 1.083rem, 1.25rem);
	line-height: clamp(1.875rem, 0.185vw + 1.833rem, 2rem);

}

.headline-xs {
	/* Desktop/Headlines/H6 XS */
	font-size: 16px;
	font-style: normal;
	font-weight: 600;
	line-height: 26px; /* 162.5% */
}

.text-l {
	/* Desktop/Text/Intro L */
	font-style: normal;
	font-weight: 400;

	font-size: clamp(1.5rem, 0.926vw + 1.292rem, 2.125rem);
	line-height: clamp(2.25rem, 0.926vw + 2.042rem, 2.875rem);	
	letter-spacing: clamp(-0.17px, 0.057px + -0.016vw, 0px)
}

.text-m {
	/* Desktop/Text/Anleser M */
	font-style: normal;
	font-weight: 400;

	font-size: clamp(1.375rem, 0.37vw + 1.292rem, 1.625rem);
	line-height: clamp(2.125rem, 0.37vw + 2.042rem, 2.375rem);	
}

.text-s {
	/* Desktop/Text/Copy S */
	font-style: normal;
	font-weight: 400;

	font-size: clamp(1.125rem, 0.185vw + 1.083rem, 1.25rem);
	line-height: clamp(1.875rem, 0.185vw + 1.833rem, 2rem);	
}

.text-xs {
	/* Desktop/Text/Caption XS */
	font-size: 1rem;
	font-style: normal;
	font-weight: 400;
	line-height: 26px; /* 162.5% */
	line-height: 1.625em;
}

b, strong,em {
	font-weight: 600;
}

.nomarginbottom {
	margin-bottom: 0 !important;
}

.noautohyphens,
.ce-bodytext {
	hyphens: none;
}

.withautohyphens {
	hyphens: auto;
}


.frame-space-before-space12 { margin-top: clamp(8px, 6.667px + 0.37vw, 12px); }
.frame-space-before-space16 { margin-top: clamp(12px, 10.667px + 0.37vw, 16px); }
.frame-space-before-space24 { margin-top: clamp(16px, 13.333px + 0.741vw, 24px); }
.frame-space-before-space32 { margin-top: clamp(24px, 21.333px + 0.741vw, 32px); }
.frame-space-before-space48 { margin-top: clamp(32px, 26.667px + 1.481vw, 48px); }
.frame-space-before-space64 { margin-top: clamp(48px, 42.667px + 1.481vw, 64px); }
.frame-space-before-space80 { margin-top: clamp(64px, 58.667px + 1.481vw, 80px); }
.frame-space-before-space128 { margin-top: clamp(80px, 64px + 4.444vw, 128px); }
.frame-space-before-space160 { margin-top: clamp(128px, 117.333px + 2.963vw, 160px); }
/*.frame-space-before-space160 { margin-top: clamp(80px, 53.333px + 7.407vw, 160px); }*/

.frame-space-after-space8 { margin-bottom: clamp(8px, 6.667px + 0.37vw, 12px); }
.frame-space-after-space16 { margin-bottom: clamp(12px, 10.667px + 0.37vw, 16px); }
.frame-space-after-space24 { margin-bottom: clamp(16px, 13.333px + 0.741vw, 24px); }
.frame-space-after-space32 { margin-bottom: clamp(24px, 21.333px + 0.741vw, 32px); }
.frame-space-after-space48 { margin-bottom: clamp(32px, 26.667px + 1.481vw, 48px); }
.frame-space-after-space64 { margin-bottom: clamp(48px, 42.667px + 1.481vw, 64px); }
.frame-space-after-space80 { margin-bottom: clamp(64px, 58.667px + 1.481vw, 80px); }
.frame-space-after-space128 { margin-bottom: clamp(80px, 64px + 4.444vw, 128px); }
.frame-space-after-space160 { margin-bottom: clamp(128px, 117.333px + 2.963vw, 160px); }
/* .frame-space-after-space160 { margin-bottom: clamp(80px, 53.333px + 7.407vw, 160px); } */

.container-paddingtop-padding12 { padding-top:clamp(8px, 6.667px + 0.37vw, 12px); }
.container-paddingtop-padding16 { padding-top:clamp(12px, 10.667px + 0.37vw, 16px); }
.container-paddingtop-padding24 { padding-top:clamp(16px, 13.333px + 0.741vw, 24px); }
.container-paddingtop-padding32 { padding-top:clamp(24px, 21.333px + 0.741vw, 32px); }
.container-paddingtop-padding48 { padding-top:clamp(32px, 26.667px + 1.481vw, 48px); }
.container-paddingtop-padding64 { padding-top:clamp(48px, 42.667px + 1.481vw, 64px); }
.container-paddingtop-padding80 { padding-top:clamp(64px, 58.667px + 1.481vw, 80px); }
.container-paddingtop-padding128 { padding-top: clamp(80px, 64px + 4.444vw, 128px); }
.container-paddingtop-padding160 { padding-top:clamp(128px, 117.333px + 2.963vw, 160px); }
/*.container-paddingtop-padding160 { padding-top:clamp(80px, 53.333px + 7.407vw, 160px); }*/

.container-paddingbottom-padding12 { padding-bottom:clamp(8px, 6.667px + 0.37vw, 12px); }
.container-paddingbottom-padding16 { padding-bottom:clamp(12px, 10.667px + 0.37vw, 16px); }
.container-paddingbottom-padding24 { padding-bottom:clamp(16px, 13.333px + 0.741vw, 24px); }
.container-paddingbottom-padding32 { padding-bottom:clamp(24px, 21.333px + 0.741vw, 32px); }
.container-paddingbottom-padding48 { padding-bottom:clamp(32px, 26.667px + 1.481vw, 48px); }
.container-paddingbottom-padding64 { padding-bottom:clamp(48px, 42.667px + 1.481vw, 64px); }
.container-paddingbottom-padding80 { padding-bottom:clamp(64px, 58.667px + 1.481vw, 80px); }
.container-paddingbottom-padding128 { padding-bottom: clamp(80px, 64px + 4.444vw, 128px); }
.container-paddingbottom-padding160 { padding-bottom:clamp(128px, 117.333px + 2.963vw, 160px); }
/*.container-paddingbottom-padding160 { padding-bottom:clamp(80px, 53.333px + 7.407vw, 160px); }*/

@media (max-width:768px) {
	.container-marginbottommobile-margin12 { margin-bottom:clamp(8px, 6.667px + 0.37vw, 12px); }
	.container-marginbottommobile-margin16 { margin-bottom:clamp(12px, 10.667px + 0.37vw, 16px); }
	.container-marginbottommobile-margin24 { margin-bottom:clamp(16px, 13.333px + 0.741vw, 24px); }
	.container-marginbottommobile-margin32 { margin-bottom:clamp(24px, 21.333px + 0.741vw, 32px); }
	.container-marginbottommobile-margin48 { margin-bottom:clamp(32px, 26.667px + 1.481vw, 48px); }
	.container-marginbottommobile-margin64 { margin-bottom:clamp(48px, 42.667px + 1.481vw, 64px); }
	.container-marginbottommobile-margin80 { margin-bottom:clamp(64px, 58.667px + 1.481vw, 80px); }
	.container-marginbottommobile-margin128 { margin-bottom: clamp(80px, 64px + 4.444vw, 128px); }
	.container-marginbottommobile-margin160 { margin-bottom:clamp(128px, 117.333px + 2.963vw, 160px); }
}

/*
@media (max-width:768px) {
	.frame-space-before-space12 { margin-top: 8px; }
	.frame-space-before-space16 { margin-top: 12px; }
	.frame-space-before-space24 { margin-top: 16px; }
	.frame-space-before-space32 { margin-top: 24px; }
	.frame-space-before-space48 { margin-top: 32px; }
	.frame-space-before-space64 { margin-top: 48px; }
	.frame-space-before-space80 { margin-top: 64px; }
	.frame-space-before-space160 { margin-top: 80px; }

	.frame-space-after-space8 { margin-bottom: 8px; }
	.frame-space-after-space16 { margin-bottom: 12px; }
	.frame-space-after-space24 { margin-bottom: 16px; }
	.frame-space-after-space32 { margin-bottom: 24px; }
	.frame-space-after-space48 { margin-bottom: 32px; }
	.frame-space-after-space64 { margin-bottom: 48px; }
	.frame-space-after-space80 { margin-bottom: 64px; }
	.frame-space-after-space160 { margin-bottom: 80px; }

	.container-paddingtop-padding12 { padding-top: 8px; }
	.container-paddingtop-padding16 { padding-top: 12px; }
	.container-paddingtop-padding24 { padding-top: 16px; }
	.container-paddingtop-padding32 { padding-top: 24px; }
	.container-paddingtop-padding48 { padding-top: 32px; }
	.container-paddingtop-padding64 { padding-top: 48px; }
	.container-paddingtop-padding80 { padding-top: 64px; }
	.container-paddingtop-padding160 { padding-top: 80px; }

	.container-paddingbottom-space8 { padding-bottom: 8px; }
	.container-paddingbottom-space16 { padding-bottom: 12px; }
	.container-paddingbottom-space24 { padding-bottom: 16px; }
	.container-paddingbottom-space32 { padding-bottom: 24px; }
	.container-paddingbottom-space48 { padding-bottom: 32px; }
	.container-paddingbottom-space64 { padding-bottom: 48px; }
	.container-paddingbottom-space80 { padding-bottom: 64px; }
	.container-paddingbottom-space160 { padding-bottom: 80px; }

}
*/
img {
	max-width: 100%;
	height: auto;
	display: block;
}


.bgcolor-black {	background-color:var(--color-black); }
.bgcolor-white {	background-color:var(--color-white); }
.bgcolor-yellow {	background-color:var(--color-yellow); }
.bgcolor-green1 {	background-color:var(--color-green1); color:var(--color-white); }
.bgcolor-green2 {	background-color:var(--color-green2); }
.bgcolor-green3 {	background-color:var(--color-green3); }
.bgcolor-green4 {	background-color:var(--color-green4); }
.bgcolor-green5 {	background-color:var(--color-green5); }
.bgcolor-green6 {	background-color:var(--color-green6); }


.button {
	background-color: transparent;
	color: var(--color-black) !important;
	text-align: center;

	/* Desktop/Text/Copy bold S */
	font-weight: 600;
	line-height: 32px; /* 160% */

	padding:12px 24px 14px 24px;

	border-radius: 50px;
	border: 1px solid var(--color-black);

	transition: color 0.15s ease-out,
							background-color 0.15s ease-out,
							border-color 0.15s ease-out;

	background-image:none;
	display: inline-block;

	cursor: pointer;
	pointer-events: all;
}


.button-green {
	background-color: #cce8e7;
}
.button.buttonfilter {
	margin:1px;
}

@media (hover: hover) {
	.button:not(.buttonfilter):hover {
		background-color: var(--color-black);
		color:var(--color-white) !important;
		transition: color 0.15s ease-out,
								background-color 0.15s ease-out,
								border-color 0.15s ease-out;
		outline:none;
	}


	.button.buttonfilter:hover {
		border: 2px solid var(--color-black);
		transition: color 0.15s ease-out,
								background-color 0.15s ease-out,
								border-color 0.15s ease-out;
		margin: 0;
		outline:none;
	}	
}

.button.active,
.button[aria-selected="true"] {
	background-color: var(--color-black);
	color:var(--color-white) !important;
	transition: color 0.15s ease-out,
							background-color 0.15s ease-out,
							border-color 0.15s ease-out;
}


.button span.count {
	vertical-align: super;
}

a.button + a.button {
	margin-top:1px;
	margin-right: 16px;
	margin-bottom: 16px;
}

a.button:has(+ a.button) {
	margin-top:1px;
	margin-right: 16px;
	margin-bottom: 16px;
}


@media (hover: hover) {

	a.buttonfilter + a.buttonfilter:hover {
		margin-right: 15px;
		margin-bottom: 15px;
	}

	a.buttonfilter:has(+ a.buttonfilter):hover {
		margin-right: 15px;
		margin-bottom: 15px;
	}

}


@media (max-width:768px) {
	a.button + a.button {
		margin-right: 12px;
		margin-bottom: 12px;
	}

	a.button:has(+ a.button) {
		margin-right: 12px;
		margin-bottom: 12px;
	}
}

@media (hover: hover) and (max-width:768px) {

	a.buttonfilter + a.buttonfilter:hover {
		margin-right: 11px;
		margin-bottom: 11px;
	}

	a.buttonfilter:has(+ a.buttonfilter):hover {
		margin-right: 11px;
		margin-bottom: 11px;
	}

}



a:focus-visible {
    box-shadow: 0 0 0 2px var(--color-white);
    border: 2px solid #000;
    outline: none;
    margin: 2px;
}

button:focus-visible,
.button:focus-visible {
    box-shadow: 0 0 0 2px var(--color-white) !important;
    border: 2px solid #000 !important;
    outline: none !important;	
}

.bgcolor-black .button:not(.buttonfilter):hover,
.bgcolor-black .button.active. 
.bgcolor-black .button[aria-selected="true"] { 
	color:var(--color-black); 
}

.bgcolor-white .button:not(.buttonfilter):hover,
.bgcolor-white .button.active,
.bgcolor-white .button[aria-selected="true"] { 
	color:var(--color-white); 
}

.bgcolor-yellow .button:not(.buttonfilter):hover,
.bgcolor-yellow .button.active,
.bgcolor-yellow .button[aria-selected="true"] { 
	color:var(--color-yellow); 
}

.bgcolor-green1 .button {
	color:var(--color-white) !important;
	border-color: var(--color-white);
}

.bgcolor-green1 .button:not(.buttonfilter):hover,
.bgcolor-green1 .button.active { 
	background-color: var(--color-white);
	color:var(--color-green1) !important; 
}

.bgcolor-green1 .button:focus-visible {
	border-color: var(--color-white);
	box-shadow: 0 0 0 2px var(--color-black), 
                0 0 0 2px var(--color-white);
}


.bgcolor-green2 .button:not(.buttonfilter):hover,
.bgcolor-green2 .button.active,
.bgcolor-green2 .button[aria-selected="true"] {  
	color:var(--color-green2) !important; 
}

.bgcolor-green3 .button:not(.buttonfilter):hover,
.bgcolor-green3 .button.active,
.bgcolor-green3 .button[aria-selected="true"]  { 
	color:var(--color-green3) !important; 
}

.bgcolor-green4 .button:not(.buttonfilter):hover,
.bgcolor-green4 .button.active,
.bgcolor-green4 .button[aria-selected="true"]  { 
	color:var(--color-green4) !important; 
}

.bgcolor-green5 .button:not(.buttonfilter):hover,
.bgcolor-green5 .button.active,
.bgcolor-green5 .button[aria-selected="true"]  { 
	color:var(--color-green5) !important; 
}

.bgcolor-green6 .button:not(.buttonfilter):hover,
.bgcolor-green6 .button.active,
.bgcolor-green6 .button[aria-selected="true"]  { 
	color:var(--color-green6) !important; 
}



main {
	padding-top: var(--header-top-height);
	flex: 1 1 auto;
}



.frame-ruler-after::after {
	content: '';
	display: block;
	border-bottom: 1px solid var(--color-black);
	margin-top: 0;
}

.frame-ruler-before::before {
	content: '';
	display: block;
	border-top: 1px solid var(--color-black);
	margin-bottom: 0;
}


#highlightbox {
	position: sticky;
	bottom:0;
	z-index: 8;
	padding-top: 0;
	/* margin-top: 50px; */
	margin-top: -1px;
}
#highlightbox {
    position: sticky;
    bottom: 0;
    z-index: 10;
    z-index: 9;     
    padding-top: 0;
    /* margin-top: 50px; */
    margin-top: -1px;
    max-height: 100vh;
    overflow: auto;
    border-top: 1px solid var(--color-black);
}

.grid.hasnotpagetopheadlineelement {
	margin-top: 25px;
}



.ce-bodytext a.button {
	margin-top: clamp(8px, 6.667px + 0.37vw, 12px);
}

.frame-image5050 {
	max-width: 1440px;
	box-sizing: border-box;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	float:none;
	display: flex;
}

.frame-image5050 .ce-textpic {
	display: flex;
}

.frame-image5050 .ce-gallery {
	padding:0 var(--default-padding-right);
	width: 50%;
	box-sizing: border-box;
	margin-right: 0 !important;
}

.frame-image5050 .ce-bodytext {
	padding:0 var(--default-padding-right);
	width: 50%;
	box-sizing: border-box;
}

.frame-image5050 .ce-gallery img {
	margin-bottom: 20px;
}


.accordeonelement-content .frame-image5050 .ce-gallery {
	padding-left: 0;
}

.accordeonelement-content .frame-image5050 .ce-bodytext {
	padding-right: 0;
}


@media (max-width:768px) {
	.frame-image5050 {
		flex-direction: column;
	}

	.frame-image5050 .ce-gallery {
		width: initial;
		padding-right: 0;
	}

	.frame-image5050 .ce-bodytext {
		width: initial;
		padding-left: 0;
	}

}

.frame-layout-11 {
	max-width: 960px;
	padding:0 var(--default-padding-right);
	box-sizing: border-box;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

@media (max-width:1024px) {
	.accordeonelement-content .frame-layout-11 {
		padding-left: 0;
		padding-right: 0;
	}
}












/*
** form
*/
.form-control-wrapper {
	position: relative;
}

.form-control-wrapper input[type=text],
.form-control-wrapper input[type=search] {
	width: 100%;
	box-sizing: border-box;
	padding:14px 70px 16px 16px;
	background-color: var(--color-green6);
	border:1px solid var(--color-black);
	appearance: none;

	font-style: normal;
	font-weight: 600;

	font-size: clamp(1.375rem, 0.37vw + 1.292rem, 1.625rem);
	line-height: clamp(2.125rem, 0.37vw + 2.042rem, 2.375rem);		

	margin-top:1px;
	margin-bottom: 1px;	

	text-overflow: ellipsis;
}

.form-control-wrapper input[type=text]:hover::placeholder,
.form-control-wrapper input[type=search]:hover::placeholder,
.form-control-wrapper input[type=text]::placeholder,
.form-control-wrapper input[type=search]::placeholder {
	font-style: normal;
	font-weight: 600;

	font-size: clamp(1.375rem, 0.37vw + 1.292rem, 1.625rem);
	line-height: clamp(2.125rem, 0.37vw + 2.042rem, 2.375rem);	

	color:var(--color-black);
	opacity: 1;
}

.form-control-wrapper input[type=text]:focus-visible,
.form-control-wrapper input[type=search]:focus-visible {
	border:2px solid var(--color-black);
	background-color: var(--color-white);
	margin-top:0;
	margin-bottom: 0;
}

.form-control-wrapper input[type=text]:not(:placeholder-shown),
.form-control-wrapper input[type=search]:not(:placeholder-shown) {
  background-color: var(--color-white);
}

.form-control-wrapper input[type=text]:is(:-webkit-autofill, :autofill),
.form-control-wrapper input[type=search]:is(:-webkit-autofill, :autofill) {
	background-color: red;
	font-style: normal;
	font-weight: 600;

	font-size: clamp(1.375rem, 0.37vw + 1.292rem, 1.625rem);
	line-height: clamp(2.125rem, 0.37vw + 2.042rem, 2.375rem);	

	color:var(--color-black);
}

.form-control-wrapper button {
	position: absolute;
	right: 32px;
	appearance: none;
	background-color: transparent;
	border: 0;
	top:50%;
	transform: translateY(-50%);
	padding:0;
	cursor: pointer;
}

.form-control-icon {
	display: block;
}

.form-control-icon-search {
	width: 30px;
	height: 30px;
	background: url(../Icons/icon-search.svg) center center no-repeat;
	background-size: contain;
}
.form-control-icon-search:hover {
	background: url(../Icons/icon-search-active.svg) center center no-repeat;
	background-size: contain;
}

.form-control-icon-clear {
	width: 30px;
	height: 30px;
	background: url(../Icons/icon-close.svg) center center no-repeat;
	background-size: contain;
}
.form-control-icon-clear:hover {
	background: url(../Icons/icon-close-active.svg) center center no-repeat;
	background-size: contain;
}



#SgCookieOptin .sg-cookie-optin-box .sg-cookie-optin-box-button .zsvr-button {
    background-color: var(--color-white) !important;
    color: var(--color-black)  !important;
    text-align: center  !important;
    font-weight: 600;
    line-height: 32px;
    padding: 12px 24px 14px 24px  !important;
    border-radius: 40px  !important;
    border: 1px solid var(--color-black);
    transition: color 0.15s ease-out,       background-color 0.15s ease-out,       border-color 0.15s ease-out  !important;
    background-image: none;
    display: inline-block !important;
    cursor: pointer !important;
    pointer-events: all;
    width: 100% !important;
    margin-bottom: 10px !important;
    font-weight: 600;
    font-size: 18px !important;
}

@media (hover: hover) {
	#SgCookieOptin .sg-cookie-optin-box .sg-cookie-optin-box-button .zsvr-button:hover {
		background-color: var(--color-black) !important;
		color:var(--color-white) !important;
		transition: color 0.15s ease-out,
								background-color 0.15s ease-out,
								border-color 0.15s ease-out !important;
	}
}

#SgCookieOptin .sg-cookie-optin-box .sg-cookie-optin-box-cookie-detail-sublist table th, .sg-cookie-optin-plugin-cookie-list .sg-cookie-optin-box .sg-cookie-optin-box-cookie-detail-sublist table th {
    background-color: var(--color-white) !important;
}


.ce-intext.ce-left .ce-gallery {
    margin-right: var(--default-padding-right);
}

@media (max-width:768px) {
	.ce-textpic.ce-left.ce-intext {
		display: flex;
		flex-direction: column;
	}

	.ce-intext.ce-left .ce-gallery {
	    margin-right: var(--default-padding-right);
	    margin-bottom: 20px;
	}

}



.visuallyhidden:not(:focus-visible):not(:active) {
    border: 0;
    clip: rect(0 0 0 0);
    -webkit-clip-path: inset(100%);
    clip-path: inset(100%);
    height: 1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

#skiptocontent a {
    padding: 6px;
    position: absolute;
    top: -50px;
    left: 0px;
    color: var(--color-white);
    border-right: 1px solid var(--color-white);
    border-bottom: 1px solid var(--color-white);
    border-bottom-right-radius: 8px;
    background: var(--color-green1);
    -webkit-transition: top .5s ease-out;
    transition: top .5s ease-out;
    z-index: 100;
}

#skiptocontent a:focus-visible {
    position: absolute;
    left: 0px;
    top: 0px;
    outline-color: transparent;
    -webkit-transition: top .05s ease-in;
    transition: top .05s ease-in;
}

.additional-li-margin-bottom li {
	margin-bottom: 1rem;
}