/* Schnellkontakt */
#schnellkontakt{
	position: fixed;
	top: 40%;
	right: -2px;
	transform: translateY(-50%);
	opacity: 0;
	transition: all .4s;
}
#schnellkontakt:hover{
	right: 0px;
}
.sticky #schnellkontakt{
	opacity: 1;
}
#schnellkontakt a{
	display: inline-block;
	width: 55px;
	height: 45px;
	background: url(../images/icon-kontakt.svg) no-repeat center var(--braun);
	background-size: 35px auto;
	text-indent: -10000px;
	border-top-left-radius: 4px;
	border-bottom-left-radius: 4px;
}

/* Download */
.content-download,
.content-downloads{
	font-weight:400;
	font-size:var(--h4-size);
	line-height: var(--h4-line-height);
	letter-spacing: .05em;
}
.download-element{
	margin-top: 10px;
	margin-bottom: 16px;
}
.download-element a{
	background-size: auto 90%;
	padding: 3px 6px 3px 46px;
	box-sizing:border-box;
}
.download-element a:hover{
	color: var(--magenta);
	text-shadow: 1px 1px var(--dunkelgrau);
}

/* Job-Postings */
.module-plenta-jobs-basic-offer-list h2,
.module-plenta-jobs-basic-offer-list h2 a{
	color: var(--orange);
	margin-top:10px;
}
.module-plenta-jobs-basic-offer-list h2 a:hover{
	color: var(--weiss);
}
.module-plenta-jobs-basic-offer-reader h1,
.module-plenta-jobs-basic-offer-reader h2{
	color: var(--orange);
	margin-top:10px;
}

/* Rocksolid AntiSpam */
.widget-antispam-nodisplay{ display:none !important; }
/* Bootstrap Grid */
.ce_bs_gridStart.box{
	padding: 40px 40px 40px 40px;
	box-sizing: border-box;
	border-radius: var(--border-radius-tiny);
	overflow: hidden;
}
.ce_bs_gridStart.box.border-radius{
	border-radius: var(--border-radius);
	overflow: hidden;
}
.ce_bs_gridSeparator.bg-hellgelb{
	border-left:10px solid var(--dunkelblau);
	border-right:10px solid var(--dunkelblau);
}
@media (max-width: 1400px) {

}
@media (max-width: 1200px) {

}
@media (max-width: 992px) {
	.ce_bs_gridStart.box{
		padding: 20px 10px 10px 10px;
	}
}
@media (max-width: 768px) {

}
@media (max-width: 576px) {

}

/* Cookiebar */
.contao-cookiebar .cc-close{ display:none !important; }

/* Colorbox */
#cboxCurrent{ display:none !important; }

/* Parallax Bild */
.mod_article.panoramabild .inn{
	min-height:80vh;
}

/* Video */
.content-player video{
	width:100%;
	height:100%;
}

/* Galerie --------------------------------------------------------------------------------- */
.ce_gallery>ul li, 
.content-gallery>ul li{
	width:16.66%;
	box-sizing:border-box;
}
.ce_gallery>ul li img, .content-gallery>ul li img{
	overflow: hidden;
}

.mod_article.bilderstreifen .content-gallery>ul li{
	width:33.33%;
}
.mod_article.bilderstreifen .content-gallery>ul li img{
	filter: grayscale(1);
}

@media (max-width: 1400px) {

}
@media (max-width: 1200px) {

}
@media (max-width: 992px) {

}
@media (max-width: 768px) {
	.ce_gallery>ul li, 
	.content-gallery>ul li{
		width:33.33%;
		padding:5px;
		box-sizing:border-box;
		text-align:center;
		padding-bottom:10px;
	}

}
@media (max-width: 576px) {
	.ce_gallery>ul li, 
	.content-gallery>ul li{
		width:50%;
		padding:5px;
		box-sizing:border-box;
		text-align:center;
		padding-bottom:10px;
	}
}
/* Top-Button --------------------------------------------------------------------------------- */
#topBtn {
  position: fixed;
  width:60px;
  height:60px;
  bottom: 40px;
  right: 40px;
  z-index: 99;
  border: 1px solid var(--dunkelgrau);
  outline: none;
  background:url(../images/back-to-top_normal.svg) no-repeat center rgba(255,255,255,.8);
  color: white; 
  cursor: pointer;
  padding: 0px; 
  border-radius: 30px;
  font-size: 18px;
  text-indent:-10000px;
  opacity:0;
  transition: var(--standard-transition);
}
#topBtn:hover{
  background:url(../images/back-to-top_normal.svg) no-repeat center rgba(255,255,255,1);
  border: 1px solid var(--dunkelgrau);
}
/* Extra-Klein: Handys */
@media (max-width: 576px) {
	#topBtn {
	  width:40px;
	  height:40px;
	  bottom: 20px;
	  right: 20px;
	  background:url(../images/back-to-top_normal.svg) no-repeat center rgba(255,255,255,1);
	  background-size: auto 50%;
	}
	#topBtn:hover{
	  background:url(../images/back-to-top_normal.svg) no-repeat center rgba(255,255,255,1);
	  background-size: auto 50%;
	}
}

/* Dialog --------------------------------------------------------------------------------- */

.ui-widget.ui-widget-content{
	border:0;
	border-radius:0;
}
.ui-dialog,
.ui-widget.ui-widget-content.ui-dialog-content,
.ui-widget-content.ui-dialog-content{
	border:0 !important;
	background:var(--dunkelgrau) !important;
	color:var(--hellgrau) !important;
}
.ui-dialog .ui-dialog-content{
	padding: 0 40px 20px 40px !important;
}
.ui-dialog .ui-dialog-titlebar-close,
.ui-dialog .ui-dialog-titlebar-close:hover,
.ui-dialog .ui-dialog-titlebar-close:focus,
.ui-dialog .ui-dialog-titlebar-close:focus-visible{
	top:30px !important;
	right:20px !important;
	width:14px !important;
	height:14px !important;
	border:0;
	border-radius:0;
	background:url(../images/close.svg) no-repeat center transparent !important;
	background-size: 100% auto !important;
}
.ui-icon-closethick{
	background:transparent !important;
}
.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus, .ui-button:hover, .ui-button:focus{
	background:transparent !important;
}
.ui-dialog .ui-dialog-titlebar{
	border:0;
	border-radius:0;
	background:transparent;
}
@media (max-width: 576px) {
	.ui-dialog .ui-dialog-content{
		padding: 0 20px 20px 20px !important;
	}
}
/* Logo Marquee */
.marquee {
  width: 100%;
  overflow: hidden;
  margin-top:20px;
}
.marquee .image_container{
	border-radius: var(--border-radius-mini);
	overflow: hidden;
}
.marquee__inner-wrap {
  height: 100%;
  width: 100%;
}
.marquee__img {
	width:220px;
	margin: 0 10px 0 10px;
	text-align:center;
}
@media (max-width:1024px)
{
	.marquee__img {
		width:180px;
	}
}
@media (max-width:500px)
{
	.marquee__img {
		width:160px;
	}
}
.ce_gallery .marquee__inner {
  height: 100%;
  width: fit-content;
  align-items: center;
  display: flex;
  position: relative;
  will-change: transform;
  /* animation: marquee calc(<?php echo $this->perRow ?>*20s) linear infinite; */
}
.ce_gallery.active .marquee__inner {
  height: 100%;
  width: fit-content;
  align-items: center;
  display: flex;
  position: relative;
  will-change: transform;
  animation: marquee 20s linear infinite;
}

@keyframes marquee {
  to {
    transform: translateX(-50%);
  }
}
/* Accordion --------------------------------------------------------------------------------- */



/* Glossary --------------------------------------------------------------------------------- */
.mod_glossary{
	padding-left:2px;
	margin: 60px 0 60px 0;
}
.mod_glossary .letter{
	font-size: var(--h2-size);
	line-height:var(--h2-line-height);
	color:var(--gelb);
	font-weight:600;
}
.mod_glossary .group{
	margin-bottom:80px;
}
.mod_glossary .item{
	font-size: var(--text-modules-1-size);
	line-height: var(--text-modules-1-line-height);
	font-weight:400;
	color:var(--hellgrau);
	padding:20px 0 20px 0;
	border-bottom: 1px solid var(--liniengrau);
	padding-left:2px;
}
.mod_glossary .item a{
	color:var(--hellgrau);
	box-sizing:border-box;
}
.mod_glossary .item a:hover{
	color:var(--gelb);
}

.mod_glossary .grouplist{
	font-size:var(--text-2-size);
	line-height:var(--text-2-line-height);
	text-transform:uppercase;
	color:var(--hellgrau);
	letter-spacing: .05em;
	font-weight:500;
	margin-bottom:30px;
}
.mod_glossary .grouplist li{
	display:inline-block;
	padding: 0 10px 0 0px;
}
.mod_glossary .grouplist li.selected a{
	color:var(--gelb);
}
.mod_glossary .grouplist li.inactive{
	opacity:.3;
}
/*
.mod_glossaryreader h1{
	font-size:var(--h2-size);
	line-height: var(--h2-line-height);
	font-weight:500;
}
*/
.mod_glossaryreader .layout_full{ max-width:100%; }
/* Extra-Groß: Tablet Querformat */
@media (max-width: 1400px) {

}
/* Groß: Tablet Querformat */
@media (max-width: 1200px) {
	.mod_glossaryreader .layout_full{ max-width:100%; }
	.mod_glossaryreader{
		margin-top: var(--standard-margin-top);
	}
}
/* Mittel: Tablet Hochformat */
@media (max-width: 992px) {

}
/* Klein: Handys */
@media (max-width: 768px) {
	.mod_glossaryreader .layout_full{ max-width:100%; }
}
/* Extra-Klein: Handys */
@media (max-width: 576px) {
	.mod_glossary .grouplist{
		display:none !important;
	}
}
/* Subnavigation --------------------------------------------------------------------------------- */
.mod_customnav{ 
	font-weight:500; 
	padding:3px; 
	box-sizing:border-box; 
}
.mod_customnav strong{ color:var(--gelb); }
/* Extra-Klein: Handys */
@media (max-width: 576px) {
	.mod_customnav{ 
		padding:0px; 
	}
}
/* Counter --------------------------------------------------------------------------------- */
.content-plenta-countup{
	position:relative;
	font-size: 4.5rem;
	line-height: 1.2em;
	font-weight:500;
	clear:both;
	border-bottom: 1px solid var(--liniengrau);
	max-width:60%;
	margin-bottom:10px;
}
.content-plenta-countup.first{
	padding-top:30px;
}
.content-plenta-countup .countup-suffix{
	color: var(--gelb);
}
/* Extra-Groß: Tablet Querformat */
@media (max-width: 1400px) {
	.content-plenta-countup{
		max-width:80%;
	}
}
/* Groß: Tablet Querformat */
@media (max-width: 1200px) {
	.content-plenta-countup{
		max-width:100%;
	}
}
/* Mittel: Tablet Hochformat */
@media (max-width: 992px) {
	.content-plenta-countup{
		font-size: 3.5rem;
		line-height: 1.03em;
	}
}
/* Klein: Handys */
@media (max-width: 768px) {

}
/* Extra-Klein: Handys */
@media (max-width: 576px) {
	.content-plenta-countup{
		font-size: 2.5rem;
		line-height: 1.03em;
	}
}
/* News --------------------------------------------------------------------------------- */
.mod_newslist{

}
.mod_newslist .layout_latest{
	margin-bottom:30px;
	padding: 20px;
	box-sizing: border-box;
	background: rgba(121,55,221,.6);
	border-radius: var(--border-radius);
	overflow: hidden;
	height:100%;
}
.mod_newslist .layout_latest.featured::before{
	content:"!";
	display:inline-block;
	width:40px;
	height:40px;
	border-radius:50%;
	position:absolute;
	top:25px;
	right:35px;
	background:#ffcc01;
	text-align:center;
	font-size:24px;
	font-weight:500;
	color:#212a26;
	box-sizing:border-box;
	padding-top:4px;
	z-index:100;
	border: 2px solid #fff;
}
.mod_newslist .image_container,
.mod_newslist .video_container{
	position:relative;
	border-radius: var(--border-radius);
	overflow: hidden;
	margin-bottom:20px;
}
.mod_newslist .layout_latest .image_container img{
	transition: 2s all;;
}
.mod_newslist .layout_latest:hover .image_container img{
	transform: scale(1.1);
}
.mod_newslist .layout_latest .info,
.mod_newsreader .layout_full .info{
	margin-bottom:6px;
	font-size: 1rem;
	line-height: 1em;
	font-weight:600;
	margin-bottom:12px;
}
.mod_newslist p.more{
	text-transform:uppercase;
	margin-bottom:6px;
	font-size: 1rem;
	line-height: 1em;
	font-weight:600;
	margin-bottom:0px;
}
.mod_newslist p.more a:hover{
	color: var(--hellgrau);
	text-shadow: 1px 1px var(--schwarz);
}
.mod_newslist .row div{
	padding-bottom:20px;
}

.mod_newslist .layout_latest h2,
.mod_newslist .layout_latest h3,
.mod_newslist .layout_latest h2 a,
.mod_newslist .layout_latest h3 a{
	text-transform:none !important;
}
.mod_newslist .layout_latest:hover h2,
.mod_newslist .layout_latest:hover h3{
	color:var(--gelb);
}
.mod_newslist .layout_latest video{
	aspect-ratio: 3/2;
	object-fit:cover;
}
.mod_newsreader .content-text,
.mod_newsreader .content-image,
.mod_newsreader  .content-gallery,
.mod_newsreader .ce_gallery,
.mod_newsreader .content-download,
.mod_newsreader .content-downloads{
	margin-top: 20px;
	margin-bottom: 20px;
}
.mod_newsreader .ce_bs_gridStart{
	align-items: flex-start !important;
}
/* Extra-Groß: Tablet Querformat */
@media (max-width: 1400px) {

}
/* Groß: Tablet Querformat */
@media (max-width: 1200px) {
	.home .row .noDisplay-1200{
		display:none;
	}
}
/* Mittel: Tablet Hochformat */
@media (max-width: 992px) {
	.home .row .noDisplay-992{
		display:none;
	}
}
/* Klein: Handys */
@media (max-width: 768px) {

}
/* Extra-Klein: Handys */
@media (max-width: 576px) {
	.mod_newslist{
		margin-top:60px;
		margin-bottom:30px;
	}
	.home .mod_newslist{
		margin-bottom:0px;
	}
	.mod_newslist .row.newslist{
		display:block !important;
	}
}
.mod_newslist.cases{

}
.mod_newslist.cases .layout_latest{

}
.mod_newslist.cases .layout_latest a{

}
.mod_newslist.cases .image_container{

}


.pagination{
	margin-top:60px;
	color:var(--dunkelgrau);
}
.pagination p{
	float:left;
	font-size:var(--text-2-size);
	line-height:var(--text-2-line-height);
	text-transform:uppercase;
	color:var(--dunkelgrau);
	letter-spacing: .05em;
	font-weight:500;
	padding-top:3px;
	padding-right:30px;
}
.pagination ul{
	display:inline-block;
}
.pagination ul li{
	display:inline-block;
}
.pagination ul li.first,
.pagination ul li.last,
.pagination ul li.previous{
	display:none;
}
.pagination ul li a,
.pagination ul li strong{
	font-size:var(--text-2-size);
	line-height:var(--text-2-line-height);
	text-transform:uppercase;
	color:var(--dunkelgrau);
	font-weight:500;
	padding: 0 5px 0 5px;
	box-sizing:border-box;
}
.pagination ul li strong{
	color:var(--gelb);
}
.pagination ul li a:hover{
	color:var(--gelb);
}

.pagination ul li.next a{
	margin-top:0px !important;
	margin-left:30px;
}

.layout_full .info{
	margin-bottom:20px;
}
.mod_newsreader h1{
	font-weight:500;
}
/*
.mod_newsreader p.back a{
	font-size:var(--text-2-size);
	line-height:var(--text-2-line-height);
	text-transform:uppercase;
	color:var(--gelb);
	position:relative;
	display:inline-block;
	font-weight:500;
	padding-left:34px;
	padding-right:0px;
	margin-top:14px;
	letter-spacing: .05em;
}

.mod_newsreader p.back a:after{
	position:absolute;
	top:1px;
	left:6px;
	right:auto;
	display:inline-block;
	content:"";
	width:18px;
	height:18px;
	background:url(../images/arrow_rollover_back.svg) no-repeat left center transparent;
	background-size: auto 80%;
	transition: var(--standard-transition);
}
*/
.mod_newsreader p.back a:hover:after,
.mod_glossaryreader a.link-arrow.back:hover:after{
	left:0px;
}
/*
.mod_newsreader .layout_full video{
	aspect-ratio:3/2;
	object-fit:cover;
}
*/
.mod_newsreader p.back{
	margin-top:40px;
}
.mod_glossaryreader a.link-arrow.back{
	font-size:var(--text-2-size);
	line-height:var(--text-2-line-height);
	text-transform:uppercase;
	color:var(--gelb);
	position:relative;
	display:inline-block;
	font-weight:500;
	padding-left:34px;
	padding-right:0px;
	margin-top:36px;
	letter-spacing: .05em;
}
.mod_glossaryreader a.link-arrow.back:after{
	position:absolute;
	top:1px;
	left:6px;
	right:auto;
	display:inline-block;
	content:"";
	width:18px;
	height:18px;
	background:url(../images/arrow_rollover_back.svg) no-repeat left center transparent;
	background-size: auto 80%;
	transition: var(--standard-transition);
}

/* Events */
.mod_eventlist .layout_teaser{
	padding: 20px;
	box-sizing: border-box;
	background: #fff;
	border-radius: var(--border-radius);
	overflow: hidden;
	height:100%;
}
.mod_eventlist .layout_teaser.featured::before{
	content:"!";
	display:inline-block;
	width:40px;
	height:40px;
	border-radius:50%;
	position:absolute;
	top:25px;
	right:35px;
	background: var(--magenta);
	text-align:center;
	font-size:24px;
	font-weight:500;
	color: #fff;
	box-sizing:border-box;
	padding-top:2px;
	z-index:100;
	border: 2px solid #fff;
}
.mod_eventlist .image_container{
	border-radius: var(--border-radius);
	overflow: hidden;
	margin-bottom:20px;
}
.mod_eventlist .layout_teaser .image_container img{
	transition: 2s all;;
}
.mod_eventlist .layout_teaser:hover .image_container img{
	transform: scale(1.1);
}
.mod_eventlist .empty{
	padding-left: 20px;
}
.mod_eventlist p.time,
.mod_eventreader .info,
.mod_eventreader .location{
	margin-bottom:6px;
	font-size: 1rem;
	line-height: 1em;
	font-weight:600;
	margin-bottom:12px;
}
.mod_eventlist p.more{
	text-transform:uppercase;
	margin-bottom:6px;
	font-size: 1rem;
	line-height: 1em;
	font-weight:600;
	margin-bottom:0px;
}
.mod_eventlist p.more a:hover{
	color: var(--magenta);
}
.mod_eventlist h2 a:hover,
.mod_eventlist h4 a:hover{
	color: var(--magenta);
}
.mod_eventlist .row div{
	padding-bottom:20px;
}
.mod_eventreader .content-text,
.mod_eventreader .content-image,
.mod_eventreader  .content-gallery,
.mod_eventreader .ce_gallery,
.mod_eventreader .content-download,
.mod_eventreader .content-downloads{
	margin-top:20px;
	margin-bottom:20px;
} 

.mod_calendar_event_booking_event_booking_module{
	padding: 40px;
	border-radius: var(--border-radius-tiny);
	overflow: hidden;
	background: var(--hellblau);
	margin-top: 40px;
}

.mod_eventreader .ce_bs_gridStart{
	align-items: flex-start !important;
}
.mod_mae_event_filter li{
	display:inline-block;
	font-weight:600;
	padding-right:10px;
}
.mod_mae_event_filter li.active a{
	color: var(--magenta);
}

table {
    width: 100%;
    border-collapse: collapse;
	font-size: 1rem;
}

table caption {
    font-size: .875rem;
    line-height: 1.5;
    width: 100%;
    margin-bottom: .5rem;
    text-align: left
}

th,td {
    padding: 1rem 1.25rem;
    text-align: left;
    vertical-align: top;
    border: .0625rem solid #dde1e4
}

th {
    border-bottom-color: #6c7c89;
    background: #f4f5f6;
    font-weight: 600;
    color: #25455f
}

@media only screen and (max-width: 39.999rem) {
    th {
        display:none
    }
}

td {
    background: #fff
}

@media only screen and (max-width: 39.999rem) {
    td {
        display:grid
    }
}

@media only screen and (min-width: 30rem) {
    td {
        grid-template-columns:12ch auto
    }
}

@media only screen and (max-width: 39.999rem) {
    td:not(:first-child) {
        border-top:none
    }
}

@media only screen and (max-width: 39.999rem) {
    td:first-child {
        padding-block-start:2rem
    }
}

@media only screen and (max-width: 39.999rem) {
    td:last-child {
        padding-block-end:2rem
    }
}

@media only screen and (max-width: 39.999rem) {
    td::before {
        font-weight:600;
        content: attr(data-cellheadline) ": "
    }
}

tr:nth-child(even):not([class*=week_]) td {
    background: #f9fafb
}

/* Sharebuttons --------------------------------------------------------------------------------- */
.sharebuttons{	
	margin-top:40px;
	margin-bottom:40px;
}
.sharebuttons > ul.boxxed > li > a{
	background-image: url('../images/sprites-32.png');
}
/* Swiper --------------------------------------------------------------------------------- */
.swiper-wrapper{
	padding-bottom:40px;
}
.swiper-scrollbar{
	border-radius:0px;
	background:var(--mittelgrau);
}
.swiper-container-horizontal>.swiper-scrollbar{
	left:0px;
	bottom:auto;
	top:0px;
	height:4px;
	width:100px;
}
.swiper-scrollbar-drag{
	background:var(--gelb);
	border-radius:0px;
	width:50px !important;
}
.swiper-button-next, .swiper-button-prev{
	position:absolute;
	top:50%;
	color:var(--hellgrau);
}
.swiper-button-next:after, .swiper-button-prev:after{
	font-size:22px;
}
.swiper-button-prev{
	left:10px !important;
}
.swiper-button-next{
	right:10px !important;
}
.swiper-button-next, .swiper-button-prev{
	width:34px !important;
	border:0;
}
.swiper-button-next{
	background:url(../images/arrow-slider-right.svg) no-repeat center transparent;
	background-size: 100% auto;
}
.swiper-button-next:hover{
	background:url(../images/arrow-slider-right_rollover.svg) no-repeat center transparent;
	background-size: 100% auto;
}
.swiper-button-prev{
	background:url(../images/arrow-slider-left.svg) no-repeat center transparent;
	background-size: 100% auto;
}
.swiper-button-prev:hover{
	background:url(../images/arrow-slider-left_rollover.svg) no-repeat center transparent;
	background-size: 100% auto;
}
.swiper-button-next:after, .swiper-button-prev:after{
	display:none;
}
.swiper-pagination-bullet{
	background:var(--mittelgrau);
	opacity:1;
}
.swiper-pagination-bullet-active{
	background:var(--gelb);
}