:root {
  --zoom: 1;
}

@media (width > 767px) and (-webkit-device-pixel-ratio: 1.25) {
  :root {
    --zoom: 0.875;
  }
}
@media (width > 767px) and (-webkit-device-pixel-ratio: 1.5) {
  :root {
    --zoom: 0.75;
  }
}

body {
  zoom: calc(1 * var(--zoom));
}

#mm-0 {
	min-height: 100vh;
	min-height: 100dvh;	
	display: flex;
	flex-direction:column;
}

/* HEADER META */

header {
	position:relative;
	top:0;
	left:0;
	width:100%;
	z-index:2;
}

#meta_header {
	 background: var(--colorBlue);
   color: var(--colorYellow);
	 position:absolute;
	 top:0;
	 left:0;
	 width:100%;
	 z-index:200;
}

#meta_header .fluid-grid {
  padding: 5px 0; 
  grid-template-columns: [full-width-start] 30px [content-start] min(100% - 60px, 100% - 60px) [content-end] 30px [full-width-end];
}

#meta_header .fluid-grid > div {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
}

ul.meta-nav {
  margin: 0;
  padding: 0;
  /*font-size: 18px;*/
  /*line-height: 18px;*/
  /*font-weight:500;*/
  font-size: 16px;
  line-height: 16px;
  font-weight:300;
  white-space: nowrap;
  position: relative;	
  display: inline-block;
}
ul.meta-nav li {
	float: left;
  display: inline-block;
  list-style: none;
  line-height: 20px;
  position: relative;
  padding: 3px 0 3px 50px;
  /*border-radius: 15px;*/
}

#meta_header ul.meta-nav li {
  padding: 3px 50px 3px 0;
}

/* ul.meta-nav li:hover {
	background: rgba(255,255,255,0.25);
} */
#meta_header ul.meta-nav li.active a,
#meta_header ul.meta-nav li.current a {
	/* background: rgba(255,255,255,1); */
  text-decoration:underline
}

#meta_header ul.meta-nav li a {
	color: var(--colorYellow);
	letter-spacing: 0.25px;
}

#meta_header  ul.meta-nav li.active a,
#meta_header ul.meta-nav li.current a {
	color: var(--colorLightYellow);
	/*text-shadow: 0 0 1px #192a34, 0 0 1px #192a34, 0 0 1px #192a34;*/
}

#meta_header ul.meta-nav li a:hover {
	color: var(--colorLightYellow);
	/*text-shadow: 0 0 1px #192a34, 0 0 1px #192a34, 0 0 1px #192a34;*/
}


ul.meta-nav li i.icon {
  color: currentColor;
  margin: 7px -20px 5px 25px;
  font-size:140%;
  line-height:1;
}

.meta-control {
  align-items: center;
  display: flex;
}

.meta-control form { 
	display: inline-flex; 
	border-radius: 7px;
	margin: 1px 0;
	background: #e6e7e8;
	align-items: center;
}
.meta-control .form-group { float: left; }
.meta-control button {
	float: left;
  height: 30px;
  width: 30px;
  background: none;
  border: none;
  margin-right: 4px;
  color: #000000;
}
.meta-control button i {
	/*transform-origin: center center;*/
 /* transform: scale(0.9);*/
  display: block;
  font-weight: normal;
  font-size:24px;
}

.meta-control .form-control {
  display: block;
  width: 150px;
  padding: 6px 5px 6px 15px;
  font-size: 18px;
  line-height: 140px
  font-weight: 600;
  letter-spacing: 0.25px;
  color: #000000;
  background-color: transparent;
  background-clip: padding-box;
  border: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  transition: none;
}

.meta-control .form-control::placeholder {
  color: rgba(0,0,0,0.6);
  opacity: 1;
}

.meta-control .form-control:focus {
  box-shadow: none;
}


@media(max-width: 991px){
	ul.meta-nav li {
		float: none;
	}
	
	ul.meta-nav {
		white-space: normal;
		text-align: center;
	}

  #meta_header ul.meta-nav li,
  ul.meta-nav li {
    padding: 3px 15px 3px 15px;
  }

}


/* Fullscreen Menu */

body.openmenu #menu {
  opacity: 1;
  top: 0;
  right: 0;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  width: 100vw;
  border-radius: 0 0 0 0;
  transition: all 400ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;
}
#menu {
  display: block;
  opacity: 0;
  width: 60px;
  top: 0px;
  right: 0px;
  height: 60px;
  position: fixed;
  background-color: #1D2F3BEE;
  border-radius: 10000px 0 10000px 10000px;
  transition: all 400ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;
  overflow: hidden;
  z-index: 97;
}

#menu .burgermenu {
  position: absolute;
  bottom: 3vh;
  left: 50%;
  transform: translateX(-50%);
  display: block;
}

#menu a.logo  {
    position:relative;
    left:50%;
    transform: translateX(-50%);
    margin: 5vh 0 5vh;
    display: block;
}  

#menu a.logo  {
  width: 24vw;
  height: auto;
  padding: 25px 0;
  max-width: 240px;
  min-width: 160px;
  }  
  
  #menu a.logo svg {
    width: 100%;
    height: auto;
  }

/* MAIN NAV + DROPDOWN */

ul.nav-main {
  margin: 0 auto;
  padding: 0;
  font-weight:700;
  white-space: nowrap;
  position: relative;	
  font-size: 18px;
  line-height: 18px;
  display: flex;
  height: auto;
  min-height: 100px;
  justify-content: center;
}
ul.nav-main > li {
	/*float: left;*/
 /* display: inline-block;*/
  list-style: none;
  /*margin: 0 3vw 0 0;*/
    /*margin: 0 5vw 0 0;*/
  /*padding: 5px 0;*/
  line-height: 16px;
  position: relative;
  display: block;
  height:100%;
  text-align: center;
  flex: 1 1 0;
  max-width: 25%;
}

ul.nav-main > li:last-child {
  margin: 0 0 0 0;
}
ul.nav-main > li > a {
  height: 100%;
  display: flex;
  margin: 0 0 30px 0;
  align-items: center;
  justify-content: center;
}
ul.nav-main li a {
	color: #ffffff;
}
ul.nav-main > li a:hover {
	text-decoration: none;
}
ul.nav-main > li.active > a {
	text-decoration: none;
  font-weight:700;	
  letter-spacing: -0.5px;
}

ul.nav-main .submenu-menu {
	position:relative;
	padding:0;
}

ul.nav-main .submenu-menu > li,
ul.nav-main .submenu-menu ul li {
	position:relative;
	margin:0;
	padding: 10px 30px;
	display: block;
}

#main_header ul.nav-main .submenu-menu > li a {
	color:#ffffff;
	line-height:20px;
	font-size:17px;
	text-decoration: none !important;
}

#main_header ul.nav-main .submenu-menu  li.active > a,
#main_header ul.nav-main .submenu-menu  li.current > a,
#main_header ul.nav-main .submenu-menu  li:hover >a {
	color: #ffffff;
}



/* HEADER MAIN */

#main_header a.burgermenu {
  display: block;
  position: absolute;
  z-index: 2;
  top: calc(44px + 3vh);
  right: 30px;
}

#main_header a.burgermenu svg {
  height: 40px;
  width: auto;
}

#main_header  {
  background-color: #ffffff;
  /*border-bottom: 1px solid rgba(0,0,0,0.3);*/
  transform: all  0.5s ease-in-out;
  position: relative;
	/*height:100vh;*/
}

#main_header video{
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

#main_header .overlay{
  position: absolute;
  height: auto;
  display: block;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
}


a.logo.logo-desktop {
	position:relative;
	display: block;
}
a.logo.logo-desktop svg {
	width:24vw;
	height: auto;
	padding: 25px 0;
	max-width:240px;
	min-width: 160px;
}

.scrolldown {
  position:absolute;
  display: block;
  bottom: 3vh;
  left:50%;
  transform:translateX(-50%);
  font-size: 50px;
  cursor: pointer;
}

.scroll-down:hover {
   animation: bounce 2s infinite;
}

@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateX(-50%) translateY(0);
  }
  33% {
    transform: translateX(-50%) translateY(-10px);
  }
  66% {
    transform: translateX(-50%) translateY(-10px);
  }
}


/* HERO NAV Buttons */

ul.nav-hero {
  margin: 0;
  padding: 0;
  font-weight:500;
  white-space: nowrap;
  position: relative;	
  font-size: 18px;
  line-height: 18px;
  display: flex;
  height: auto;
  min-height: 100px;
  align-items: center;
}
ul.nav-hero > li {
  list-style: none;
  margin: 0 5vw 0 0;
  line-height: 16px;
  position: relative;
  display: block;
}

ul.nav-hero > li:last-child {
  margin: 0 0 0 0;
}
ul.nav-hero > li > a {
  height: 100%;
  display: flex;
  margin: auto 0;
  align-items: center;
  background: #fff;
  color: #232323 !important;
  border-radius: 25px;
  border: 2px solid #eee;
  padding: 10px 20px;
  box-shadow: 0 0 4px 1px rgba(0,0,0,0.25);
  min-width: 220px;
  justify-content: center;
}

ul.nav-hero > li > a:hover,
ul.nav-hero > li.current > a,
ul.nav-hero > li.active > a {
  background: #192a34;
  color: #ffffff !important;;
  border: 2px solid #ffffff;
}

@media (max-width: 767px){

  ul.nav-hero {
    display: flex;
    flex-direction: column;
  }

  ul.nav-hero > li {
    margin: 0 0 20px 0;
  }


}


/* HEADER MOBILE */

#mobile_header {
	position: fixed;
  top: 0;
  width:100%;
	padding: 0 15px;
	background: #ffffff;
	color: #0c6db4;
	z-index:199;
}

#mobile_header::after {
  content: "";
  height: 1px;
  background: rgba(0,0,0,0.3);
  width: 100%;
  position: absolute;
  left: 0;
  box-shadow: 0 1px 1px 1px rgba(0,0,0,0.1);
}

#mobile_header > div {
  display: flex;
  /*width: 100%;*/
  align-items: center;
  justify-content: flex-end;
  height:50px;
  margin-left: calc(2.5vw + 30 * ((100vw - 1200px) / 720));
  margin-right: calc(2.5vw + 30 * ((100vw - 1200px) / 720));
}

@media(max-width: 991px){
  #mobile_header a.logo img {
    width: auto;
    height: 40px;
  }
}

a.logo.logo-mobile {
	position:relative;
	display: inline-block;
}
a.logo.logo-mobile svg {
	height:30px;
	width: auto;
}

#mobile_header a.burgermenu {
	display: block;
	position:relative;
}

#mobile_header a.burgermenu svg {
	height:30px;
	width:auto;
}

#mobile_header .left{
  flex-grow: 1;
  padding: 0 15px;
}

#mobile_header .middle,
#mobile_header .right{
  display: flex;
  padding: 0 15px;
}

#mobile_header .middle{
  gap: 30px;
  align-items: center;
}

@media(max-width: 1199px){
  #mobile_header .middle{
    display: none; 
  }
}

#mobile_header .meta-nav .item{
  display: flex;
  border-bottom: 2px solid;
  /*border-width: 2px;*/
  padding: 0;
  /*border-radius: 7px;*/
  /*background-color: var(--colorYellow);*/
  border-color: transparent;
  color: var(--colorBlue);
}

#mobile_header .meta-nav .item:hover::after, #mobile_header .meta-nav .item.active::after{
  content: "";
  position: absolute;
  bottom: 0;
  left: 10%; /* zentriert: (100% - 90%) / 2 = 5% */
  width: 80%;
  border-bottom: 2px solid;
  border-color: var(--colorBlue);
}

#mobile_header .meta-nav .item a{
  font-size: 18px;
  line-height: 20px;
  font-weight: 600;
  color: var(--colorBody);
  padding: 8px 25px;
}

#mobile_header .meta-nav .item:hover a{
  color: var(--colorBody);
}


@media(max-width: 991px){
  #tx_indexedsearch{
    display: none;
  }
  
  #mobile_header .left {
    flex-grow: 1;
  }
  
}

@media(max-width: 576px){
  
  #mobile_header .left {
    flex-grow: 0;
  }
  
  #mobile_header > div{
    justify-content: space-between;
  }
  
}

/* STICKY */
@media(min-width: 992px){
  
  #meta_header { position: relative; }

  #meta_header > div {

    margin-left: calc(2.5vw + 30 * ((100vw - 1200px) / 720));
    margin-right: calc(2.5vw + 30 * ((100vw - 1200px) / 720));
  }
  
  #mobile_header {
    display: block !important;
    position:absolute;
    top:auto;
  } 
  
  .visible #mobile_header{
    position: relative;
  }
  
  .sticky #sticky_header {
    position:sticky;
    top:0;
    z-index:198;
  }
  
  #mobile_header > div {
    height:76px;
    margin-left: calc(2.5vw + 30 * ((100vw - 1200px) / 720));
    margin-right: calc(2.5vw + 30 * ((100vw - 1200px) / 720));
  }  
  
  a.logo.logo-mobile svg {
  	height:56px;
  }

  #mobile_header a.burgermenu svg {
  	height:40px;
  }
  
    
  #meta_header.visible {
  	 display: block !important;
  }
  
}


/* Fullsreen Menu override */
@media(min-width: 992px){
  
  .openmenu.sticky #mobile_header {
    display: none !important;
  }
  .openmenu.sticky #meta_header {
    display: block !important;
  }
  
}


/* Link Arrow right */

#main a.arrow_right{
	position: relative;
	color: var(--colorTurquoise);
	font-weight: 700;
	margin-right: 25px;
}

#main a.arrow_right:hover{
	text-decoration: underline;
}

a.arrow_right::after{
	color: var(--colorTurquoise);
	font-family: 'icomoon';
	content: "\44";
	position: absolute;
	top: 4px;
	right: -25px;
	font-weight: 700;
	font-size: 26px;
	line-height: 18px;
	/*transition: right .5s ease;*/
}

/*a.arrow_right:hover::after{*/
/*	right: -35px;*/
/*	transition: right .5s ease;*/
/*}*/


/* Link Arrow left */

#main a.arrow_left{
	position: relative;
	color: var(--colorTurquoise);
	font-weight: 700;
	margin-left: 25px;
}

#main a.arrow_left:hover{
	text-decoration: underline;
}

a.arrow_left::before{
	color: var(--colorTurquoise);
	font-family: 'icomoon';
	content: "\44";
	position: absolute;
	top: 4px;
	left: -25px;
	font-weight: 700;
	font-size: 26px;
	line-height: 18px;
	/*transition: left .5s ease;*/
}

/*a.arrow_left:hover::before{*/
/*	left: -35px;*/
/*	transition: left .5s ease;*/
/*}*/

/*img.image-embed-item {*/
/*  border-radius: 10px; */
/*}*/



/*FOOTER */
/* -----------------------------*/


footer { 
	margin: auto 0 0;
	background: var(--colorBlue);
	color: #ffffff;
	margin-bottom: -1px;
	z-index:3;
}

footer a {
	color: #ffffff;
}

footer a.logo {
	display: block;
	margin-bottom: 5px;
}

footer a:hover {
	color: #ffffff;
	text-decoration: underline;
}


.footer_bottom { 
  border-top: 1px solid rgba(255,255,255,0.25);
}

/* --------  top   -------- */

.footer_top h5{
  font-size: 22;
  text-transform: uppercase;
  font-weight: 900;
}

.footer_top .fluid-grid > div {
  
  display: flex;
  width: 100%;
  align-items: start;
  justify-content: space-between;
  
  padding-top: 6vh;
  padding-top: 6svh;
  padding-bottom: 6vh;
  padding-bottom: 6svh;
}

.footer_top .left,
.footer_top .right {
	min-width: 301px;
}

@media(max-width: 1399px){
  .footer_top .left,
  .footer_top .right {
  	min-width: auto;
  }
}

/*.footer_top .middle {*/
/*	width:100%; */
/*}*/

footer ul.footer-center-nav {
  font-size: 16px;
  line-height: 16px;
  font-weight: 300;
  display: flex;
  padding: 0;
  margin: 0;
  width: 100%;
  gap: 30px;
}

footer ul.footer-center-nav li {
  margin: 0 0 0 0;
  list-style: none;
  /*width: 100%;*/
  flex-grow: 1;
}

footer ul.footer-center-nav > li > a {
   font-weight:700;
   margin-bottom: .5vw;
   font-size: 18px;
   line-height:24px;
   display: block;
}

footer ul.footer-center-nav li ul {
  display: block;
  padding:0;
  margin: 0;
}


footer ul.footer-center-nav li ul li {
  margin: 0 0 0 0;
  list-style: none;
}

footer ul.footer-center-nav > li > ul > li > a {
   margin-bottom: .5vw;
   font-size: 18px;
   line-height:24px;
   display: block;
}


@media(max-width: 991px){
  footer ul.footer-center-nav {
    flex-wrap: wrap;
    gap: 0;
  }
  
  footer ul.footer-center-nav > li.item{
    width: 33%;
    max-width: 33.333%;
    margin-bottom: 30px;
    text-align: left;
  }
}

@media(max-width: 767px){
  footer ul.footer-center-nav > li.item{
    width: 100%;
    max-width: 100%;
    margin-bottom: 30px;
    text-align: center;
  }
}

footer ul.footer-right-nav {
  font-size: 16px;
  line-height: 16px;
  font-weight: 300;
  padding:0;
  position:relative;
  display: inline-block;
}

footer ul.footer-right-nav li {
  margin: 0 0 0 0;
  list-style: none;
}

footer ul.footer-right-nav > li > a {
   font-weight:700;
   font-size: 18px;
   line-height:24px;
   display: block;
}


/* -------- bottom -------- */

.footer_bottom .fluid-grid {
  padding-top: 1.5vh;
  padding-top: 1.5svh;
  padding-bottom: 1.5vh;
  padding-bottom: 1.5svh;
}
.footer_bottom .fluid-grid > div {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: flex-end;
}

.footer_bottom .left{
  flex-grow: 1;
}

.footer_bottom .left,
.footer_bottom .middle,
.footer_bottom .right{
  display: flex;
}

.footer_bottom .middle{
  padding: 0 15px;
}

.footer_bottom .left,
.footer_bottom .right {
	min-width: 400px;
}

.footer_bottom .middle a {
 	display: inline-block;
  padding: 0 20px; 
}

.footer_bottom .middle a svg {
 	width: 28px;
 	height:auto;
 	position:relative;
}

.footer_bottom .middle a:first-of-type {
  padding-left: 0 ; 
}
.footer_bottom .middle a:last-of-type {
  padding-right: 0 ; 
}

footer .copyright {
	font-size: 16px;
  line-height: 16px;
  font-weight:400;
}

footer ul.meta-nav {
  font-size: 16px;
  line-height: 16px;
  font-weight:400;
}

@media (max-width: 991px){
	
	.footer_top .fluid-grid > div {
	  flex-wrap: wrap;	
	  justify-content: center;
	}
	
	.footer_bottom .fluid-grid > div {
	  flex-direction: column-reverse ;
	  /*align-items: start;*/
	  justify-content: center;
	}
	
	.footer_bottom .left, .footer_bottom .right {
    min-width: auto;
  }
  	
	a.logo.logo-footer {
		margin: 30px 30px 50px;
	}
	a.logo.logo-footer svg {
		width:70vw;
		max-width: 160px;
	}
	footer svg {
		width:70vw;
		max-width: 320px;
		margin: 30px 30px 50px;
	}
	
	.footer_top .frame-type-text {
		text-align: center;
		width:100%;
	}
	
	.footer_bottom .fluid-grid {
	  margin-top: 15px;
	  padding-top: 0;
	  padding-bottom: 2vh;
	  padding-bottom: 2svh;
	}
	
	footer ul.meta-nav {
		padding-bottom: 4vh;
	  padding-bottom: 4svh;
	}
	
	footer ul.meta-nav {
	  font-size: 18px;
	  line-height: 18px;
	  margin: 0 auto;
	}
	footer .copyright {
		opacity: 50%;
		margin: 0 auto;
	}
}

@media (max-width: 767px){
	
	.footer_top .fluid-grid > div {
		flex-direction: column;
	  flex-wrap: wrap;	
	  justify-content: center;
	}
	
	
	footer svg {
		width:70vw;
		max-width: 240px;
		margin: 20px auto 20px;
	}
	
		footer svg:last-of-type {
		margin: 20px auto 60px;
	}
	
	footer .copyright {
	 text-align: center; 
	}
	
}

.hide { display: none; opacity:0; }
section { display: flex; }
section > .frame { display: block; width: 100%; }


@media (min-width: 992px){

	
	.fullwidth-margin-left {
		width:auto;
		margin-left: calc(5vw + 90 * ((100vw - 1200px) / 720));
	}
	.fullwidth-margin-right {
		margin-right: calc(5vw + 90 * ((100vw - 1200px) / 720));
		width:auto;
	}
	
	.fullwidth-halfmargin-left {
		width:auto;
		margin-left: calc(2.5vw + 20 * ((100vw - 1200px) / 720));
	}
	.fullwidth-halfmargin-right {
		margin-right: calc(2.5vw + 20 * ((100vw - 1200px) / 720));
		width:auto;
	}
	
	.fullwidth-nomargins {
		margin-right:-15px;
		margin-left: -15px;
	}
	
	.fullwidth-nomargins-left {
		margin-left: -15px;
	}
	.fullwidth-nomargins-right {
		margin-right:-15px;
	}
	
}

/* Text Styles */
.text-handwriting, .handwriting {
  font-family: 'Blendstera';
  font-weight: 400;
  position: relative;
  transform: scale(1.2);
  display: inline-block;
  padding: 0 1.4%;
}

.text-right {
    text-align: right!important;
}

.topline{
  font-size: 26px;
  text-transform: uppercase;
  font-weight: 700;
}

@media(max-width: 991px){
  .topline{
    font-size: 18px;
    margin-bottom: 0;
  }
}

h1, h2, h3, h4 , h5 {
 	margin-bottom: 1.5rem;
}

h1 {
 	font-size: clamp(30px, 4vw, 38px);
 	line-height: clamp(40px, 4vw, 48px);
 	text-transform: uppercase;
	font-weight: 800;
	margin-bottom: 1rem;
}
h2 {
	font-size: clamp(24px, 4vw, 32px);
 	line-height: clamp(34px, 4vw, 42px);
 	/*text-transform: uppercase;*/
	font-weight: 800;
	margin-bottom: 0.8rem;
}
h3 {
 	font-size: clamp(21px, 4vw, 28px);
 	line-height: clamp(30px, 4vw, 38px);
 	font-weight: 700;
	margin-bottom: 0.5rem;
}
h4 {
 	font-size: 20px;
 	line-height: 28px;
 	text-transform: uppercase;
 	color:inherit;
 	margin-bottom: 0;
}
h5 {
 	font-size: 19px;
 	line-height: 28px;
 	color:inherit;
 	margin-bottom: 0; 	
}

h1.hero{
  font-size: clamp(54px, 4vw, 74px);
  line-height: clamp(64px, 4vw, 84px);
  font-weight: 900;
}

h2.hero{
  font-size: clamp(54px, 4vw, 74px);
  line-height: clamp(64px, 4vw, 84px);
  font-weight: 900;
}

h3.hero{
  font-size: clamp(54px, 4vw, 74px);
  line-height: clamp(64px, 4vw, 84px);
  font-weight: 900;
}


@media (max-width: 767px){
  h1.hero{
    font-size: clamp(34px, 4vw, 54px);
    line-height: clamp(44px, 4vw, 64px);
    font-weight: 900;
  }
  
  h2.hero{
    font-size: clamp(34px, 4vw, 54px);
    line-height: clamp(44px, 4vw, 64px);
    font-weight: 900;
  }
  
  h3.hero{
    font-size: clamp(34px, 4vw, 54px);
    line-height: clamp(44px, 4vw, 64px);
    font-weight: 900;
  }
}



.underline{position: relative; margin-bottom: 2rem;}
.underline::after{
  position: absolute;
  left: 0;
  bottom: -20px;
  display: block;
  content:"";
  height: 7px;
  width: 100px;
  background-color: var(--colorNeonGreen);
}
.text-center.underline::after{
  left: 50%;
  transform: translateX(-50%);
}

.text-lg{
	font-size:26px;
	line-height: 34px;
}

@media(max-width: 991px){
  .text-lg {
    font-size: 24px;
    line-height: 32px;
  }
}


.text-xxl{
  font-size: clamp(34px, 4vw, 54px);
  line-height: clamp(44px, 4vw, 64px);
  color: inherit;
  font-weight: 900;
  margin-bottom: 3vw;
}


.text-xl{
  font-size: clamp(34px, 4vw, 54px);
  line-height: clamp(44px, 4vw, 64px);
}

input[type=submit].btn,
a.btn {
		position: relative;
	  font-weight: 600;
	  font-size: 20px;
	  line-height: 20px;
	  padding: 10px 45px 8px 45px;
		border-radius: 22px;
		z-index: 15;
		border-width: 2px;
		/*text-transform: uppercase;*/
}

@media(max-width: 767px){
  
  input[type=submit].btn,
  a.btn{
  	  font-size: 17px;
  	  line-height: 17px;
  	  padding: 7px 32px 5px 32px;
  		border-radius: 22px;
  		border-width: 2px;
  }

}

	.frame-type-text {
		font-size: 19px;
		line-height: 28px;
	}

 .frame-type-text ul {
  padding: 0;
  font-size: inherit;
	line-height: inherit;
	/* margin-left: 40px; */
 }
 .frame-type-text ul li {
  position:relative;
  /*margin-left: 26px;*/
  margin-bottom: .25rem;
  font-size: inherit;
	line-height: inherit;
 }
 .frame-type-text ul li::marker {
  color: var(--colorTurquoise);
  font-size: 30px;
  position:relative;
  top:2px;
 }
 
 
 .frame-type-text ul.icons li::before {
  content: "_";
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  display: inline-block;
  font-size: 15px;
  color: #0c6db4;
  position: absolute;
  top: 7px;
  left: 2px;
  width: auto;
  height: auto;
  background: none;
}
.frame-type-text ul.icons li::after {
  content: "_";
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  display: inline-block;
  font-size: 15px;
  color: #eeeeee;
  position: absolute;
  top: 7px;
  left: 9px;
  width: auto;
  height: auto;
  background: none;
}

 .frame-type-text ul.icons2 li:before {
  content: "-";
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  display: inline-block;
  font-size: 9px;
  color: #0c6db4;
  position: absolute;
  top: 11px;
  left: 2px;
  width: auto;
  height: auto;
  background: none;
}


 .frame-type-text ol {
  padding-left: 0;
  list-style: none;
  counter-reset: li;
}
.frame-type-text li {counter-increment: li}
.frame-type-text ol li::before {
	content: counter(li); 
  color: #0c6db4;
  display: inline-block; 
  width: 1.5em;
  font-weight: 700;
  margin-left: -1em; 
  margin-right: 0.5em; 
  text-align: right; 
  direction: rtl
}



/* Index Search */

.tx-indexedsearch-form label,
#tx_indexedsearch legend { display: none; } 

#tx_indexedsearch fieldset { display: flex; flex-direction:row; margin-bottom:30px;}

#tx_indexedsearch .tx-indexedsearch-search-submit input {
	background-color: var(--colorYellow);
  border-color: var(--colorYellow);
	color: #var(--colorBody);
	border-radius: 0;
	padding: 10px 16px 10px 16px;
	border-style: none;
	border:none;
	margin-left:10px;
	border-radius:7px;
}

#tx_indexedsearch .tx-indexedsearch-search-submit input:hover {
	background-color: var(--colorBlue);
  border-color: var(--colorBlue);
  color: #ffffff;
}

#tx_indexedsearch .tx-indexedsearch-form input {
	display: block;
  width: 100%;
  padding: .375rem .75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  background-clip: padding-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
  border: 1px solid rgba(0,0,0,0);
  background: #f2f2f2;
  min-width: 270px;
  border-radius:7px;
}


 ul.tx-indexedsearch-browsebox {
   zoom: 1;
   border-bottom: 1px solid #ccc;
   border-top: 1px solid #aaaa;
   padding: 16px 0 8px;
   margin-bottom: 30px;
   overflow: auto;
}
 ul.tx-indexedsearch-browsebox.clearfix::after {
  content: "";
  clear: both;
  display: table;
}

ul.tx-indexedsearch-browsebox li {
  float: left;
  padding: 0;
  display: inline-block;
  margin-right: 20px;
}

ul.tx-indexedsearch-browsebox li::before {
  display: none;
}



/* Brevo Message */

/* Brevo Forms */

 .sib-form #sib-form-container input::placeholder {
  color: #ffffff99;
}

 .sib-form, #sib-form-container {background: transparent !important; line-height:14px;}
 #sib-form-container input[type="text"] {
    background: none;
    border: none;
    border-bottom: 1px solid #ffffff;
    color: #ffffff;
 }

 .sib-form #sib-form-container .entry__field {
    background: none;
    border: none;
    border-bottom: 1px solid #ffffff;  
 }
 
 .sib-form #sib-form-container .entry__field:focus-within {
    box-shadow: none;
 }

 .sib-form #sib-form-container .entry__label::after {
  color: #fff040;
  font-size: 1.5em;
 }

 .sib-form #sib-form-container .sib-divider-form-block {
  display: none;
 }

 .sib-form__declaration .declaration-block-icon [class^="svgIcon"] {
  filter: brightness(0) invert(1);
 }
 
 
 /* Blog */

.news .list-group-item {
  padding: 0;
  border: 0;
  background-color: transparent;
  overflow: hidden;
}

.news .image img {
  width: 100%;
  height: auto;
  border-radius: 10px 10px 0 0;
}

.news .content {
  position: relative;
  padding: 30px;
  background-color: #fff;
  border-radius: 0 0 10px 10px;
}

.news h2, .news h3 {
  font-size: 26px;
  line-height: 30px;
}

.news h2 a, .news h3 a{
  color: var(--colorPurple);
}

.news .content p{
  color: var(--colorDarkGreen);
  font-size: 20px;
  line-height: 28px;
}

.news .content .more{
  color: var(--colorPurple);
}

.news .slice{
  text-align: center;
  width: 50px;
  position: absolute;
  top: -50px;
  right: 15px;
  /*display: block;*/
  display: none;
  color: var(--colorPurple);
  z-index: 2;
  line-height: 24px;
  font-weight: 700;
}

.news .slice::after {
  position: absolute;
  content: "";
  display: block;
  width: 120px;
  height: 120px;
  background: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8"%3F><svg id="Ebene_2" data-name="Ebene 2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 21.07 19.67"><defs><style> .cls-1 { fill: %2394F256; stroke-width: 0px; } </style></defs><g id="Ebene_1-2" data-name="Ebene 1"><path class="cls-1" d="M.12,18.26L10.11.49c.28-.49.92-.64,1.39-.31,4.35,3.03,7.76,7.43,9.52,12.8.17.52-.12,1.07-.64,1.22L1.21,19.63c-.82.23-1.5-.63-1.09-1.37Z"/></g></svg>');
    background-repeat: repeat;
  background-repeat: no-repeat;
  z-index: -1;
  top: -32px;
  right: -30px;
}

.news .swiper-slide{
  display: flex;
  height: auto;
}

.news .list-group-item,
.news .news-list-item{
  height: 100%;
  
}

.news .news-list-item{
  display: flex;
  flex-direction: column;
}

.news .content {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.news .lead {
  flex-grow: 1;
}

 
  .news-list-view .swiper-pagination-bullets {
			bottom: 0;
	    display: flex;
	    flex-direction: row;
	    width: 80%;
	    max-width: 960px;
	    margin: 0 auto;
	    right: 0;
	 }
	 
  .news-list-view  .swiper-pagination-bullet {
	  border: none;
	  width: auto;
	  height: 3px;
	  border-radius: 2px;
	  opacity: 1;
	  background: #000000;
	  flex-grow: 1;
	  position: relative;
	}
	
  .news-list-view  .swiper-pagination-bullet-active {
	  background: #94f256;
	}
	
  .news-list-view  .swiper-pagination-bullet:before {
	  content: "";
	  display: block;
	  position: absolute;
	  left:0;
	  top: -6px;
	  height:6px;
	  width: 100%;
	}
  .news-list-view  .swiper-pagination-bullet:after {
	  content: "";
	  display: block;
	  position: absolute;
	  bottom: -6px;
	  left:0;
	  height:6px;
	  width: 100%;
	}	
	
	.news-single .thumbnail img {
	  border-radius:10px;
	}

@media(max-width: 991px){
  .news .content p{
    font-size: 20px;
    line-height: 30px;
  }
}

@media(max-width: 767px){
  
  .news .content {
    padding: 30px 15px 15px;
  }
  
  .news .content p{
    font-size: 15px;
    line-height: 23px;
    margin-bottom: 12px;
  }
  
  .news h2, .news h3 {
    font-size: 19px;
    line-height: 25px;
  }

  
}



/* BG ELEMENTS*/

.bg-elements {
  position: absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  z-index:2;
  display: block;
  pointer-events: none;
  overflow-x: clip;
}
.bg-elements * {
  pointer-events: none;
}

/* Background-Elements Home->Slider */

.bg-set1 .el-1 {
  display: block;
  position: absolute;
  top:100%;
  left: calc(100vw * (1 / var(--zoom)));
  width: calc(25vw * (1 / var(--zoom)));
  height:auto;
  transform: translate3d(-100%,-90%,0);
}

.bg-set1 .el-1 * {
  /*width: 100%;*/
  stroke:#FFF040;
  stroke-miterlimit:10; 
  stroke-width:3px;
  fill:none;
}

/***********************************/

.bg-set2{
  position: relative;
}

.bg-set2 .el-2 svg {
  display: block;
  position: absolute;
  top:100%;
  left:0;
  width:25vw;
  height:auto;
  transform: translate3d(-30%,-70%,0);
}
.bg-set2 .el-2 svg * {
  stroke: var(--colorNeonGreen);
  stroke-miterlimit:10; 
  stroke-width:3px;
  fill:none;
}

.bg-set2 .el-2 .svg-p3{
  stroke: var(--colorBlue);
}

/*************************************/

.bg-set3{
  position: relative;
}

.bg-set3 .el-3 svg {
  display: block;
  position: absolute;
  top:100%;
  left:0;
  width:25vw;
  height:auto;
  transform: translate3d(-30%,-70%,0);
}
.bg-set3 .el-3 svg * {
  stroke: var(--colorNeonGreen);
  stroke-miterlimit:10; 
  stroke-width:3px;
  fill:none;
}

/************************************/

.bg-set4{
  position: relative;
  z-index: 1;
}

.bg-set4 .bg-elements{
  z-index: -1; 
}

.bg-set4 .el-4 svg {
  display: block;
  position: absolute;
  top:0;
  left:100vw;
  width:25vw;
  height:auto;
  transform: translate3d(-95%,-20%,0);
}
.bg-set4 .el-4 svg * {
  stroke: var(--colorNeonGreen);
  stroke-miterlimit:10; 
  stroke-width:3px;
  fill:none;
}

.bg-set4 .el-4 .svg-p1{
  stroke: var(--colorBlue);
}

.bg-set4 .el-4 .svg-p2{
  fill: var(--colorNeonGreen);
}

/************************************/

.bg-set5{
  position: relative;
  z-index: 1;
}

.bg-set5 .bg-elements{
  z-index: -1; 
}

.bg-set5 .el-5 svg {
  display: block;
  position: absolute;
  top:100%;
  left:100vw;
  width:25vw;
  height:auto;
  transform: translate3d(-85%,-70%,0);
}
.bg-set5 .el-5 svg * {
  stroke: var(--colorNeonGreen);
  stroke-miterlimit:10; 
  stroke-width:3px;
  fill:none;
}

.bg-set5 .el-5 .svg-p1{
  stroke: var(--colorBlue);
}

.bg-set5 .el-5 .svg-p2{
  fill: var(--colorNeonGreen);
}



/*<!--halv-outline-lime:-->*/
/*<!--fill="none" stroke="#fff040" stroke-miterlimit="10" stroke-width="3"-->*/

/*<!--three-outline-segemnt:-->*/
/*<!--path1: fill="none" stroke="#94f256" stroke-width="3"-->*/
/*<!--path2: fill="none" stroke="#94f256" stroke-miterlimit="10" stroke-width="3"-->*/
/*<!--path3: fill="none" stroke="#73c6f0" stroke-miterlimit="10" stroke-width="3"-->*/

/*<!--full-outline-lime:-->*/
/*<!--fill="none" stroke="#fff040" stroke-width="3"-->*/

/*<!--full-lime-segment:-->*/
/*<!--fill: #94f256; stroke-width: 0px;-->*/
/*<!--stroke: #94f256; stroke-miterlimit: 4; stroke-width: 3px;-->*/




.accordion-item{
	background-color: transparent;
	border: none;
	margin-bottom: 8px;
	border-bottom: 1px solid var(--accordion-color);
}

.accordion-item:first-child{
	border-top: 1px solid var(--accordion-color);
}

.accordion-item:last-of-type .accordion-button.collapsed

.accordion-item, .accordion-item:first-of-type, .accordion-item:first-of-type .accordion-button, .accordion-item:last-of-type, .accordion-item:last-of-type .accordion-button, .accordion-item:last-of-type .accordion-button.collapsed, .accordion-button.collapsed, .accordion-button{
	border-top-left-radius: 0px;
	border-top-right-radius: 0px;
	border-bottom-left-radius: 0px;
	border-bottom-right-radius: 0px;
}

.accordion-button, .accordion-button:not(.collapsed){
	background-color: transparent;
	color: var(--accordion-color);
	border: none;
	box-shadow: none;
}

.accordion-header, .accordion-button{
	font-size: 22px;
	line-height: 1;
	font-weight: 700;
	/*text-transform: uppercase;*/
}

.accordion-header p{
  margin: 0;
}

.accordion-button {
	padding: 15px 60px 15px 1.25rem;
}

.accordion-button:focus {
  outline: 0 !important;
  box-shadow: none !important;
}

.accordion-button::after, .accordion-button:not(.collapsed)::after{
	width: auto;
	height: auto;
	background-image: none;
	font-family: 'icomoon' !important;
  content: "\e93b";
  font-size: 30px;
  line-height: 1;
  font-weight: 700;
  transform-origin:center center;
  position: absolute;
  right: 15px;
}

.accordion-button:not(.collapsed)::after{
	content: "\e93b";
}

.accordion-body{
  padding: 0rem 60px 1rem 1.25rem;
}

.accordion-body ul{
	padding: 0;	
}

.accordion-body li{
	list-style: none;
	margin-bottom: 10px;
}

.accordion-body li::before {
  position: relative;
  display: inline-block;
  width: 13px;
  height: 13px;
  margin-right: 15px;
  content: "";
  border-radius: 100%;
  background-color: currentColor;
}

.ce-accordion-body p {
  font-weight: 400;
}

@media(max-width: 991px){
  .accordion-button {
  	padding: 32px 86px 32px 60px;
  }
  
  .accordion-button::after, .accordion-button:not(.collapsed)::after {
    right: 30px;
  }
  
  .accordion-header, .accordion-button p{
    font-size: 24px;
    line-height: 28px;
  }
}

@media(max-width: 576px){

  .accordion-button {
    padding: 16px 80px 16px 0;
  }
  
  .accordion-header, .accordion-button p{
    font-size: 20px;
    line-height: 26px;
  }
  
  .accordion-body .text-lg {
    font-size: 19px;
    line-height: 28px;
  }
  
}


/* -> Complementary Style */
.pp-accordion-complementary {
  border-top: 1px solid currentColor;
}

.pp-accordion-complementary .accordion-button{
  padding: 32px 90px 32px 0;
}

.pp-accordion-complementary .accordion-body{
  padding: 1rem 0;
}

.pp-accordion-complementary .accordion-item {
   background: transparent;
   border-bottom: 1px solid currentColor;
   border-radius: 0;
}

.pp-accordion-complementary .accordion-button:not(.collapsed)::after{
  content: "\e933";
  transform: rotate(360deg);
}

.pp-accordion-complementary .accordion-button.collapsed::after {
  content: "\e936";
}

@media(max-width: 576px){

  .pp-accordion-complementary .accordion-button {
    padding: 16px 80px 16px 0;
  }
}

/* -> Custom Style */

.pp-accordion-custom .accordion-header{
  width: 100vw;
  width: calc(100vw * (1 / var(--zoom)));
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  margin-left: calc(-50vw * (1 / var(--zoom)));
  margin-right: calc(-50vw * (1 / var(--zoom)));
  background: #7c6db0;
background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIxJSIgc3RvcC1jb2xvcj0iIzdjNmRiMCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM3M2M2ZjAiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
background: -moz-linear-gradient(left, #7c6db0 1%, #73c6f0 100%);
background: -webkit-gradient(linear, left top, right top, color-stop(1%,#7c6db0), color-stop(100%,#73c6f0));
background: -webkit-linear-gradient(left, #7c6db0 1%,#73c6f0 100%);
background: -o-linear-gradient(left, #7c6db0 1%,#73c6f0 100%);
background: -ms-linear-gradient(left, #7c6db0 1%,#73c6f0 100%);
background: linear-gradient(to right, #7c6db0 1%,#73c6f0 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#7c6db0', endColorstr='#73c6f0',GradientType=1 );
  color: var(--colorWhite);
}

.pp-accordion-custom .accordion-body{
  padding: 1rem 0;
}

/*.pp-accordion-custom {*/
/*  display: grid;*/
/*  grid-template-columns: [full-width-start] 100% [full-width-end];*/
/*}*/

/*.pp-accordion-custom .accordion-item{*/
/*  grid-column-start: full-width 1;*/
/*}*/


/*.pp-accordion-custom .accordion-header, .pp-accordion-custom .accordion-button{*/
/*	font-size: 20px;*/
/*	line-height: 1;*/
/*	font-weight: 700;*/
/*	text-transform: none;*/
/*}*/
/*.pp-accordion-custom .accordion-button {*/
/*	padding: 5px 0 2px 10px;*/
/*}*/

/*.pp-accordion-custom .accordion-button, .pp-accordion-custom .accordion-button:not(.collapsed){*/
/*	background-color: transparent;*/
/*	color: var(--textcolor);*/
/*	border: none;*/
/*	box-shadow: none;*/
/*}*/



/* YouTube Extension */

.sk-video-supercontainer{
  margin-bottom: 30px;
}

.sk-video-playbutton{
	background-size: 80px !important;
	opacity: 0.5;
	background-color: rgba(0,0,0,0.3) !important;
}

.sk-video-supercontainer .sk-video-titlecontainer {
  width: auto;
  padding: 5px 10px;
}

.sk-video-modal {
  font-size: 20px;
  line-height: 26px;
}

.sk-video-modal input{
  position: relative;
  top: -2px;
}

.sk-video-modal .disclaimer {
  max-height: fit-content !important;
}

.sk-video-modal > div {
  border-radius: 10px; 
}
.sk-video-container {
  border-radius: 10px;
  box-shadow: 4px 11px 9px -3px rgba(0,0,0,0.3);
  -webkit-box-shadow: 4px 11px 9px -3px rgba(0,0,0,0.3);
  -moz-box-shadow: 4px 11px 9px -3px rgba(0,0,0,0.3);
}

.sk-video-modal button{
  position: relative;
  font-weight: 600;
  font-size: 20px;
  line-height: 20px;
  padding: 10px 45px 8px 45px;
	border-radius: 7px;
	z-index: 15;
	border-width: 2px;
	text-transform: uppercase;
}

.sk-video-modal button.cancel {
  background-color: var(--colorWhite);
  color: var(--colorPurple);
  border-color: var(--colorPurple);
  margin-bottom: 30px;
}

.sk-video-modal button.continue {
  background-color: var(--colorPurple);
  color: var(--colorWhite);
  border-color: var(--colorPurple);
}


.textbox a[aria-expanded="true"] {
	display: none;	
}

@media(min-width: 992px){
	.textbox .body {
		display: block !important;	
	}
}

@media (max-width: 991px) {
  .textbox a[aria-expanded="true"] {
    display: none;
  }
}


/* Bereichs-Tabs */

.pp-tabs-custom .tab-navigation {
  position: absolute;
  width:100%;
}

.pp-tabs-custom .tab-navigation > .nav-tabs {
  max-width:1100px;
  margin:0 auto;
  position:relative;
  transform: translateY(-100%);
  z-index:3;  
  background:#08AAAF99;
}

.pp-tabs-custom .tab-navigation button {
  display: flex;
  flex-direction:column;
  width:25%;
  align-items: center;
  color:#EDFC15;
  border-radius: 0 !important;
}

.pp-tabs-custom .tab-navigation button span {
  font-weight:500;
  font-size: 22px;
}

.pp-tabs-custom .tab-navigation .tabs-icon svg {
  width:auto;
  height:60px;
  margin: 0.75rem 0 0.25rem;
}

.pp-tabs-custom .tab-navigation button.nav-link.active {
  color: #08AAAF;
}

.pp-tabs-custom .tab-navigation button.nav-link:hover {
  border-color: transparent;
  background-color: #ffffff99;
  color: #08AAAF;
}

@media (max-width: 991px) {
  .pp-tabs-custom .tab-navigation {
    position: relative;
  }
  .pp-tabs-custom .tab-navigation > .nav-tabs {
    transform: none;
  }    
  .pp-tabs-custom .tab-navigation button span {
    font-size: 20px;
  }
  .pp-tabs-custom .tab-navigation .tabs-icon svg {
    height:50px;
    margin: 0.5rem 0 0.1rem;
  }
  
}

@media (max-width: 767px) {
  .pp-tabs-custom .tab-navigation button span {
    font-size: 18px;
  }
  .pp-tabs-custom .tab-navigation .tabs-icon svg {
    height:40px;
    margin: 0.25rem 0 0;
  }  
}

@media (max-width: 576px) {
  .pp-tabs-custom .tab-navigation button span {
    font-size: 12px;
  }
}

@media (max-width: 459px) {
  .pp-tabs-custom .tab-navigation button span:not(.tabs-icon) {
    display: none;
  }
  .pp-tabs-custom .tab-navigation .tabs-icon svg {
    height:30px;
    margin: 0;
  }   
  
}