/*
Stadthalle 2023
*/

:root {
  --max-width: 1622px;
  --max-text-width: 1200px;
  --red: #D9422D;
  --darkgrey: #989898;
  --grey: #D3D3D3;
  --lightgrey: #ECECEC;
  --filter-white: invert(100%);
  --filter-darkgrey: invert(69%) sepia(0%) saturate(0%) hue-rotate(113deg) brightness(89%) contrast(83%);
  --filter-red: invert(31%) sepia(33%) saturate(4403%) hue-rotate(347deg) brightness(91%) contrast(86%);
	/*base: 18px*/	
  --10px: 0.625em;
  --12px: 0.75em;
  --14px: 0.875em;
  --16px: 1em;
  --18px: 1.125em;
  --20px: 1.25em;
  --22px: 1.375em;
  --24px: 1.5em;
  --28px: 1.75em;
  --30px: 1.875em;
  --32px: 2em;
  --40px: 2.5em;
  --48px: 3em;
  --50px: 3.125em;
  --60px: 3.75em;
}
/* woff datei nötig 
@font-face {    
	font-family: 'TTChocolatesDemiBold';    
	src: url('fonts/TTChocolates-Regular.woff2') format('woff2');
	}
@font-face {    
	font-family: 'TTNormsBold';    
	src: url('fonts/TTNorms-Bold.otf') format('otf'); 
	}
@font-face {    
	font-family: 'Times';    
	src: url('fonts/Times.ttc') format('ttc');
	}
*/
/* -------------------------------------------------------- Body-------------------------------------------*/
* { -webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-appearance:none;
	font-family:'TTChocolatesDemiBold',arial,sans-serif;
}
html, body, fieldset, form, textarea, button, select, legend, h1, h2, h3, h4, h5, h6, p, ol, ul, table, td, th {margin:0;padding:0;}
body {background:#fff;font:16px/1.6 'TTChocolatesDemiBold',arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small;-webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%;}
html { 
	overflow-y:auto;
	overflow-x: hidden;
	scroll-behavior:smooth;
}
html.on-animate body{
	position: fixed;
	width: 100vw;
	overflow-y: scroll;
}
/*::-webkit-scrollbar {
  	width: 60px;
	position: fixed;
	right: 0;
	visibility: hidden;
}*/
/* -------------------------------------------------------- Base/Styleguide-------------------------------------------*/
h1, h2{	text-transform: uppercase;}
h1{ 
	font-size: var(--32px) !important;
	line-height: 1.2em !important;
	letter-spacing: 4px;
	margin-bottom: 0.2em;
}
h1, h2, h3, h4, h5, .h3, .h4{position: relative}
h2 { 
	font-size:var(--24px);
	letter-spacing: 3px;
	line-height: 1.2;
	margin: 10px 0 15px 0;
}
h3, .h3{
	font-size: var(--24px) !important;
	letter-spacing: 0.3px;
	line-height: 1.3;
	margin: 15px 0;
}
.leftbar::before, .centerbar::before, .rightbar::before, .bottombar::before{
	content: "";
	width: 60px;
	height: 0;
	border: 3px solid;
	position: absolute;
}
.leftbar::before, .centerbar::before, .rightbar::before{ top: -0.65em}
.leftbar, .centerbar, .rightbar{margin-top: 0.6em}
.leftbar::before{left: 0;}
.bottombar::before{bottom: -0.55em;}
.bottombar{margin-bottom: 0.7em}
.centerbar::before, .bottombar.tcenter::before, .tcenter::before{
	left: 50%;
	transform: translateX(-50%);
}
.rightbar::before{right: 0;}
.nobar::before{content: none}
.redbar::before{border-color: var(--red);}
h4, .h4{
	font-size: var(--20px) !important; 
	line-height: 1.4;
}
h5{
	font-size: var(--18px);
	text-transform: uppercase;
	letter-spacing: 1px;
}
h6{font-size: var(--16px);}
.fsmall{font-size: var(--10px);}
.small-h{
	font-size: var(--12px);
	letter-spacing: 1px;
	text-transform: uppercase;
}
a{color: inherit}
a.button, button{
	padding: 10px 30px;
	background-color: black;
	color: white;
	text-decoration: none;
	border: none;
	transition: padding 0.1s ease;
	width: fit-content;
	margin: 30px 0 0;
	display: inline-block;
	cursor: pointer;
	font-weight: 600;
	
}
button{font-size: 18px}
a.button:hover, button:hover{
	background-color: var(--red);
	text-decoration: none;
}

a.button.more:hover, .more-btn:hover, .back-btn:hover{
	padding: 0 0 0 15px;
}
.more-btn, .back-btn, a.button.more{
	border-left: 3px solid;
	padding: 0px 10px;
	margin: 10px 0;
	display: inline-block;
	text-decoration: none;
	width: fit-content;
	font-weight: 600;
	transition: 0.3s ease;
}
.back-btn{margin-top: 40px}
#content p > a:not([class]),#content  strong > a:not([class]){color: var(--red);}
img { max-width:100%;height:auto; }
.filter-darkgrey{filter: var(--filter-darkgrey) !important;}
.filter-white{filter: var(--filter-white);}
.filter-red{filter: var(--filter-red) !important;}
hr{
	border: none;
	background-color: var(--grey);
	height: 1px;
	margin: 30px 0;
}
hr.darkgrey{background-color: var(--darkgrey);}
li.leftbar{margin: 15px 0}
summary{cursor: pointer}
details{transition: height 0.3s ease-out;}
p strong, p b{font-weight: 600}
p, div:empty{line-height: 1.4}
p.article-date{
	font-style: italic;
	color: var(--darkgrey);
}
.empty-p{margin: 1em 0 0 0}
.wysiwyg ul{
	list-style-type: none;
	margin: 1em;
}
.wysiwyg ul li{
	position: relative;
	padding-left: 1em;
}
.wysiwyg ul li::before{
	content: "";
	width: 0.3em;
	height: 0.3em;
	border: 2px solid;
	border-radius: 50%;
	position: absolute;
	top: 0.5em;
	left: 0;
}
.wysiwyg ol{margin-left: 2em}
table{
	border: none;
	border-collapse: collapse;
	margin: 1em 0;
}
thead{ background-color: var(--red); }
th{
	color: white;
	font-weight: normal;
	padding: 10px 20px;
	border: none;
	text-align: left;
}
td{padding: 10px 20px;}
td a{color: var(--red);}
.wysiwygtable{width: 100% !important}
tbody tr:nth-of-type(odd){background-color: rgba(236, 236, 236, 0.4)}
tbody tr:nth-of-type(even){background-color: rgba(211, 211, 211, 0.4)}
tbody td{
	border-right: 2px solid white;
	border-left: none;
	border-bottom: none;
	border-top: none;
}
tbody td:last-child{border: none}

ul.img { width:100%;list-style:none;list-style-image:none;margin:0;padding:0; }
ul.img li { margin:0;padding:0 0 10px 0;list-style:none;list-style-image:none; }
ul.img li img { display:block;width:100%;height:auto; }
.tooltip-mobile{
	background-color: black;
	padding: 10px;
	border-radius: 5px;
	font-size: 11px;
	position: fixed;
	z-index: 2;
}

/* -------------------------------------------------------- Navigation-------------------------------------------*/
#header{
	background-color: black;
	top: 0;
	width: 100%;
	margin-top: 0;
	/*transition: margin-top ease 0.5s;*/
	z-index: 7;
	-webkit-transition: .5s ease-out;
  	-moz-transition: .5s ease-out;
  	-o-transition .5s ease-out;
  	transition: .5s ease-out;
	position: sticky;
}
#header:hover{background-color: black !important}
#header.subnav-open{
	background-color: black !important;
}
#header .inner{
	justify-content: space-between;
	width: calc(100% - 50px);
	margin: 0 auto;
}
.navopen #header, .flappe-open #header{background-color: black !important}
#nav a, #nav strong{
	color: white;
	text-decoration: none;
}
#nav a.navigation_link:hover, #nav strong, #nav a.navigation_link.active{color: var(--red);}

#nav .nav__list{text-align: center}
#logo{
	max-width: 30%;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}
#logo img{
	max-height: 25px;
	width: 93px;
	filter: var(--filter-white);
}
#navanchor{
	width: 25px;
	height: 19px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	cursor: pointer;
	z-index: 1;
}
#navanchor span{
	width: 25px;
	height: 3px;
	background-color: white;
}
.navopen #navanchor span:first-of-type{
	transform: translateY(-50%) rotate(45deg);
}
.navopen #navanchor span:nth-of-type(2){visibility: hidden}
.navopen #navanchor span:last-of-type{
	transform: translateY(-50%) rotate(-45deg);
}
.navopen #navanchor span:not(:nth-of-type(2)){
	transition: 0.3s ease;
	position: absolute;
	top: 50%;
}
#nav{
	display: flex;
	align-items: center;
}

.navopen #nav{
	top: 60px;
}
#nav .nav__container > ul{
	display: flex;
	align-items: center;
}

#nav li.nav__element.active ul.nav__sub-list{display: block !important}
.nav__element_opener{
	position: absolute;
	width: 1em;
	height: 1em;
	top: 0;
	right: -25px		
}
.nav__element_opener::before, .nav__element_opener::after{
	content: "";
	position: absolute;
	width: 0.5em;
	height: 2px;
	top: 0.5em;
	left: 50%;
	background-color: white;
	transition: 0.3s ease;		
}
.nav__element_opener::after{transform:  rotate(90deg)}
.nav__element_opener.open::after{transform: rotate(0deg)}
.nav__element_opener.open::before, .nav__element_opener.open::after{ background-color:  var(--darkgrey); }
#nav .nav__sub-list a{
	text-transform: none;
	padding-left: 0 !important;
	border: none !important;
}
#nav .nav__sub-list a:hover{
	color: var(--red);
	border-bottom: none !important;
}
.nav__sub-list > li{margin-top: 10px}

.utilities > *{
	cursor: pointer;
	display: inline-flex;
	vertical-align: middle;
	height: auto;
}
.utilities li{position: relative}
.utilities .flappe-search img{ width: 17px; margin-right: 7px; margin-left: 10px}
.utilities .flappe-user img{margin-right: 5px}
.utilities .flappe-user img, .utilities .flappe-basket img{ width: 23px}

/* -------------------------------------------------------- Flappe/Sidebar-------------------------------------------*/
aside.flappe{
	height: 100vh;
	width: min(100%, 400px);
	position: fixed;
	top: 0;
	right: -400px;
	background-color: black;
	transition: right 0.3s ease-in;
	z-index: 6;
	padding: 75px 25px 0 25px;
}
aside.flappe *{color: white}
aside.flappe.active{right: 0}
aside.flappe .close{
	width: 20px;
	position: absolute;
	top: 20px;
	left: 20px;
	cursor: pointer;
}
aside.flappe h1::before, aside.flappe h2::before, aside.flappe h3::before, aside.flappe h4::before, aside.flappe h5::before, aside.flappe h6::before{border-color: white !important}
.flappe-search form{margin-top: 25px}

.flappe .searchfieldset::before{
	content: "";
	background: url("/_assets/css/icon/search.svg") center no-repeat;
	background-size: contain;
	width: 22px;
	height: 22px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	filter: var(--filter-white);
}
.flappe-search fieldset:hover::before, .flappe-search fieldset:focus::before{
	filter: var(--filter-red);
}
input.search{
	border-bottom: none;
	border-left: 2px solid !important;
	width: calc(100% - 40px);
	min-height: unset;
	padding: 0 0 0 10px;
}
.flappe input.search{color: white}
input.search + button{
	background-color: rgba(255, 255, 255, 0);
	margin: 0;
	padding: 0;
	
}

input.search::-webkit-input-placeholder {
  color: white;
  opacity: 1;
  font-style: normal;
}

input.search:-ms-input-placeholder {
  color: white;
  opacity: 1;
  font-style: normal;
}

input.search::-ms-input-placeholder {
  color: white;
  opacity: 1;
  font-style: normal;
}

input.search::placeholder {
  color: white;
  opacity: 1;
  font-style: normal;
}

.flappe input.search:hover::-webkit-input-placeholder, .flappe input.search:focus::-webkit-input-placeholder, .flappe input.search:active::-webkit-input-placeholder {
  color: var(--red);
}

.flappe input.search:hover:-ms-input-placeholder, .flappe input.search:focus:-ms-input-placeholder, .flappe input.search:active:-ms-input-placeholder {
  color: var(--red);
}

.flappe input.search:hover::-ms-input-placeholder, .flappe input.search:focus::-ms-input-placeholder, .flappe input.search:active::-ms-input-placeholder {
  color: var(--red);
}

.flappe input.search:hover::placeholder, .flappe input.search:focus::placeholder, .flappe input.search:active::placeholder {
  color: var(--red);
}
.flappe input.search:hover, .flappe input.search:focus{
	color: var(--red);
	border-color: var(--red);
}
input.search:hover, input.search:focus{
	padding-left: 15px;
}
.flappe-lang a{
	text-decoration: none !important;
	color: var(--darkgrey);
}
.flappe-lang a:hover, .flappe-lang a.active{color: var(--red);}
.flappe-lang .nav__headline{margin-bottom: 25px}
.flappe .module_allshopproxy{margin-left: 0}

/* -------------------------------------------------------- #breadcrumbNav-------------------------------------------*/
/*width manually calculated in breadcrumbNav.js*/
#breadcrumbNav{
	margin: 0 auto;
	height: 35px;
	overflow-x: auto;
	overflow-y: hidden;
	position: relative;
	top: 20px;
	width: calc(100% - 60px);
}
#breadcrumbNav a{
	font-size: var(--12px);
	color: var(--darkgrey);
	text-decoration: none;
	letter-spacing: 1px;
	text-transform: uppercase;
}
#breadcrumbNav a strong{ 
	font-size: 1em;
	color: var(--red);
	letter-spacing: 1px;
	text-transform: uppercase;
}
.breadcrumbs li{
	position: relative;
	float: left;
	margin-right: 20px;
}
.breadcrumbs ul{ 
	width: -webkit-max-content;
	width: -moz-max-content;
	width: -o-max-content;
	width: max-content;
	flex-wrap: nowrap}
.breadcrumbs li:not(:last-of-type)::after{
	content: ">";
	position: absolute;
	top: 0.3em;
	right: -15px;
	font-size: var(--12px);
	color: var(--darkgrey);
}
.module_onepage #breadcrumbNav, .module_event #breadcrumbNav{display: none}
.module_shopproxy #breadcrumbNav{
	width: min(90%, 1600px) !important;
	margin: 0 auto !important
}

/* -------------------------------------------------------- #content/#main-------------------------------------------*/
#content{
	margin-top: 30px;
	min-height: calc(100vh - 200px)
}
body:not(.module_onepage) .notop > *:first-child, #content > *:first-child {margin-top:0;}


#content .module:not(.module_onepage){
	width: min(calc(100% - 50px), 1622px); 
	margin: 0 auto;
}
img.include-logo{
	width: calc(100% - 50px);
}

/* -------------------------------------------------------- readmore-------------------------------------------*/
.readmore-txt{
	max-height: 10em;
	overflow: hidden;
	position: relative;
}
.readmore-txt.open{max-height: unset}
.readmore-txt.open .readmore-shadow{display: none}
.readmore-btn{
	font-size: var(--12px);
	font-weight: 600;
	text-decoration: none;
	letter-spacing: 1px;
	text-transform: uppercase;
	text-align: center;
	margin-top: 1em;
	cursor: pointer;
}
.readmore-shadow{
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 6em;
	background: -webkit-gradient(linear, left top, left bottom, from(RGBA(255, 255, 255, 0)), to(white));
	background: -moz-linear-gradient(linear, left top, left bottom, from(RGBA(255, 255, 255, 0)), to(white));
	background: -ms-linear-gradient(linear, left top, left bottom, from(RGBA(255, 255, 255, 0)), to(white));
	background: -o-linear-gradient(linear, left top, left bottom, from(RGBA(255, 255, 255, 0)), to(white));
	background: linear-gradient(RGBA(255, 255, 255, 0), white);
	

}

/* -------------------------------------------------------- Footer-------------------------------------------*/
#footer{
	background-color: black;
	z-index: 1;
	position: relative;
}
#footer > .inner{
	flex-direction: column;
	padding: 40px 25px;
}
#footer img, .footer-block-info .meta-list-item > *:not(:first-child){color: var(--darkgrey)}
.footer-block-info a:hover{color: var(--red);}
#footer img{font-size: var(--10px);}
#footer img.filter-darkgrey:hover{filter: var(--filter-red) !important;}
#footer a{
	text-decoration: none;
	font-size: var(--16px);
	display: inline-block;
	margin: 5px 0
}
#footer a:hover{color: var(--red);}
.footer-block-logo{
	width: 165px;
	text-align: center;
}
.footer-block-info h4, .footer-logo *{color: white}
.footer-block-info h4::before{content: none}
.meta-link *{color: white; font-size: 16px;}
.footer-block-meta > p{ color: var(--darkgrey)}
.social img{height: auto}
.social img:not(.youtube){
	width: 23px;
	margin-right: 12px
}
.social .youtube{width: 26px}
.footer-bottom{
	background-color: var(--lightgrey);
	min-height: 60px;
	justify-content: center;
	padding: 10px 0;
}
.footer-bottom img{
	max-height: 30px;
	filter: grayscale(0.9);
	min-width: 50px;
}
.footer-bottom a {margin: 0 12px !important}
.footer-bottom a:last-child{margin-right: 0 !important}
#gewista{width: 100px}


/* -------------------------------------------------------- User/Login/Profile-------------------------------------------*/
#login{padding: 0 40px}
#loginiframe{
	min-height: 600px;
	width: calc(100% + 50px);
	margin: -25px 0 0 -25px;	
}
div.user label, div.user input{color: var(--darkgrey);}
.myaccountsettings{margin-left: 1em}
.myaccountsettings *{
	margin: 5px 0;
	display: block;
}
.status-circle{
	filter: none !important;
	background-color: var(--red);
	position: absolute;
	top: -5px;
	right: -10px;
	border-radius: 50%;
	padding: 0 3px 0 4px;
	width: 16px !important;
	height: 16px;
	font-size: var(--12px);
	color: white;
}
.flappe-basket .status-circle{right: -5px !important}
.amount.status-circle { line-height:16px; }


/* -------------------------------------------------------- Onepage-------------------------------------------*/
.module_onepage #header{
	background-color: rgba(0,0,0,0.40);
	position: fixed;
}
/*.startseite #header{top: -60px}
.startseite.show-header #header{top: 0 !important}*/
.module_onepage #content{margin-top: 0px}
.module_onepage section[class*='op_']{
	position: relative;
	padding: 50px 25px;
}
.cwrap img.logo{
	position: absolute;
	left: 50%;
	transform: translateX(-50%)
}
.cwrap.showsearch{
	bottom: 8vh;
	left: 50%;
	transform: translateX(-50%)
}
.module_onepage section[class*='op_'] .cwrap{
	width: 100%;
	margin: 0 auto;
	z-index: 5;
}
.darken-overlay::before{
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: rgba(0,0,0,0.3);
	z-index: 2;
}
.module_onepage section.headersection, .module_onepage section.slide-up-img, .module_onepage section.bg-parallax{padding: 0}
.module_onepage .full-height{height: 100vh}
.module_onepage .two-col .img-container{
	width: 100%;
}
.module_onepage .two-col .img-container > *{
	width: 100%;
	height: 335px;
	background-size: cover
}
.module_onepage .op_slide-up-img{padding: 0 !important}
.manual-height{min-height: unset !important}
.module_onepage .op_slide-up-img.video{height: unset !important}
.module_onepage .article_overview .articlewrap{
	display: flex;
	align-items: center;
	margin-top: 30px
}
.module_onepage .cwrap fieldset{
	text-align: center;
}
.module_onepage .cwrap input.search{
	width: 280px;
}
.module_onepage .article_overview .swiper-container{overflow: hidden;}
.module_onepage .article_overview .swiper-slide{
	width: 100%;
	flex-shrink: 0;
	border: none;
	padding: 0;
	margin-right: 1px;
}
.module_onepage .article_overview .article-inner{
	max-width: 100%;
}
.module_onepage .article_overview .module_conf_head .centerbar{ margin-top: 10px}

.module_onepage section .searchfieldset{
	display: flex;
	align-items: center;
	width: 280px;
	margin: 0 auto;
	transform: translateX(30px);
}

.module_onepage #footer > .inner{margin-top: 0}

[class *= video]{opacity: 1 !important; animation: none !important}
.module_onepage .videoitem  { 
	position: relative;
	/*height: 100vh;*/
	padding: 0 !important;
	height: unset !important;
	min-height: unset;
}
/*.module_onepage section.videoitem.vimeo  { padding: 0 0 56.25% 0 !important; }*/
/*.module_onepage section.videoitem.yt iframe { width: 100%;height: 100vh; }*/
.module_onepage .videoitem .video-container { padding-top: 0 !important; margin: 0 !important; }
/*.module_onepage section.videoitem .cwrap { position: absolute; transform: translate(-50%,-50%); top:50%;left: 50%; width: 100%;height: auto; max-width: 1200px; z-index: 4; }*/
.module_onepage .videoitem .video-foreground.overlay { width: 100%;height: 100%;position: absolute;z-index: 3; }
.videoposter{
	color: black !important
}

.text-col-img-col .cwrap_inner.img{
	overflow-x: hidden;
	overflow-y: auto;
}
.text-col-img-col .cwrap_inner.img, .text-col-img-col .cwrap_inner img {
	width: 100%;
}

.text-col-img-col .cwrap_inner ul, .text-col-img-col .cwrap_inner li {
  height: inherit;
}

.text-col-img-col .cwrap_inner li {
  width: 100%;
}
.text-col-img-col .cwrap_inner.txt {
  padding: 50px 25px;
	margin: 0 auto;
}

.module_onepage .module_liste, .module_onepage .module_liste_conf_head{width: 100% !important}
.module_onepage .columns .listitems{margin-left: 0}
.module_onepage section .module + .cwrap{margin-top: 2em}

/* -------------------------------------------------------- Onepage Animations-------------------------------------------*/


/* ---headeranimation----*/
#animate-logo{
	z-index: 2;
	max-width: 90%;
	position: relative;
	/*width: 716px;
	height: auto;*/
}
.fullscreen{
	min-height: 100vh;
	background-size: cover;
	background-repeat: no-repeat;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	background-position: center;
}
.fullscreen .cwrap, .manual-height .cwrap{
	z-index: 2;
	animation: fadedown_centertext 1.5s ease-in-out 1 forwards;
}
.fullscreen .cwrap *:first-child{margin-bottom: 8px}
.fullscreen h2::before, .fullscreen h3::before{
	content: none;
}

/* ---slide-up-img----*/
.op_slide-up-img{
	position: relative;
}
.op_slide-up-img .fullscreen{justify-content: flex-start}
.op_slide-up-img .fullscreen .cwrap{
	margin-top: 28vh !important;
	text-align: center;
	animation: fadedowncentertext_with_slide_up_animation 1.5s ease-in-out 1;
}

.op_slide-up-img .slide-up-item{
	position: absolute;
	height: 50vh;
	width: 100%;
	margin-top: 0;
	transition: 1s ease;
	display: inline-block;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 1;
}
.op_slide-up-img .slide-up-item.slide-up{
	margin-top: -100vh;
	position: absolute;
}
.op_slide-up-img .slide-up-item.video.slide-up{margin-top: -56.25%}
.op_slide-up-img .slide-up-item.right-img{right: 0}
.op_slide-up-img .text *{margin: 0}
.op_slide-up-img .right-img.slide-up .text{
	animation: fadelefttext 1.5s ease-in-out 1 forwards;
	animation-delay: 500;
}
.op_slide-up-img .left-img .text{
	top: 50px;
	right: 25px;
}
.op_slide-up-img .left-img.slide-up .text{
	animation: faderighttext 1.5s ease-in-out 1 forwards;
	animation-delay: 500;
}
.op_slide-up-img .right-img .text{ left: 30px}
.op_slide-up-img .darken-overlay::before{height: 0; transition: 0.5s ease-in}
.darken-active .darken-overlay::before{height: 100%;}
.slide-up-item .text{
	position: absolute;
	bottom: 30px;
	opacity: 0;
	z-index: 2;
}
/* ---BG-Parallax----*/
.bg-parallax{
	min-height: 100vh;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	transition: 0.1s ease-out;
}
.bg-parallax .cwrap{
	bottom: 40px;
	animation: none !important;
	position: absolute;
	left: 50%;
	transform: translateX(-50%)
}

/* ----Parallax Text only----------------*/
[class*=fade] .cwrap, .fade-in-right-text > *{
	margin: 0 auto;
}
[class*=fade-in] .cwrap, .fade-in-right-text > *{
	opacity: 0;
}
/*[class*=fade-in].fade-out-active .cwrap, .fade-in-right-text.fade-out-active > *{
	opacity: 1;
	transition: 1s ease;
}*/

/* --for some reason animation-direction:reverse not working --> extra keyframe (fade-out) for each direction */
[class*=fade-in].fade-in-active .cwrap, .fade-right-text.fade-in-active > *{opacity: 1}

.fade-in-up-text.fade-in-active .cwrap{ animation: fadeuptext 1s ease 1;}
.fade-in-up-text.fade-in-active .cwrap.center{ animation: fadeupcentertext 1s ease 1;}
.fade-in-up-text.fade-out-active .cwrap{ animation: fadeoutdowntext 1s ease 1;}
.fade-in-up-text.fade-out-active .cwrap.center{ animation: fadeoutdowncentertext 1s ease 1;}
/*.fade-in-up-text.fade-out-active .cwrap{ animation: fadeuptext 1s ease 1 reverse;}*/

.fade-in-down-text.fade-in-active .cwrap{ animation: fadedowntext 1s ease 1;}
.fade-in-down-text.fade-in-active .cwrap.center{ animation: fadedowncentertext 1s ease 1;}
.fade-in-down-text.fade-out-active .cwrap{ animation: fadeoutuptext 1s ease 1;}
.fade-in-down-text.fade-out-active .cwrap.center{ animation: fadeoutupcentertext 1s ease 1;}

.fade-in-down-center-text.fade-in-active .cwrap{ animation: fadedowncentertext 1s ease 1;}
.fade-in-down-center-text.fade-out-active .cwrap{ animation: fadeoutupcentertext 1s ease 1;}

.fade-in-right-text.fade-in-active > *:not(.swiper-wrapper){ animation: faderighttext 1s ease 1 forwards;}
.fade-in-right-text.fade-in-active .cwrap.center{ animation: faderightcentertext 1s ease 1 forwards;}
.fade-in-right-text.fade-out-active > *:not(.swiper-wrapper){ animation: fadeoutlefttext 1s ease 1 forwards;}
.fade-in-right-text.fade-out-active .cwrap.center{ animation: fadeoutleftcentertext 1s ease 1 forwards;}
.module_liste.fade-in-right-text.fade-in-active > *{ animation: faderighttext 500ms ease 1 forwards;}
.module_liste.fade-in-right-text.fade-out-active > *{ animation: fadeoutlefttext 500ms ease 1;}

.fade-in-left-text.fade-in-active .cwrap{ animation: fadelefttext 1s ease 1 forwards;}
.fade-in-left-text.fade-in-active .cwrap.center{ animation: fadeleftcentertext 1s ease 1 forwards;}
.fade-in-left-text.fade-out-active .cwrap{ animation: fadeoutrighttext 1s ease 1;}
.fade-in-left-text.fade-out-active .cwrap.center{ animation: fadeoutrightcentertext 1s ease 1;}

/* ----sldie-up-sequenze----------------*/
.extracontent .event-item{margin-top: 50%}
.extracontent .event-grid{
	grid-column-gap: 0;
	grid-row-gap: 0;
}

/* ----Article Swiper----------------*/

.module_onepage .article_overview .module_conf_head{
	text-align: center;
	margin-bottom: 20px;
	opacity: 0;
	transition: opacity 500ms ease;
}
.module_onepage .article_overview.active .module_conf_head{
	animation: fadeuptext 1s ease 1;
	opacity: 1;
	padding-top: 10px;
}
.module_onepage .article_overview .swiper-slide:first-child img{
	transition: 1s ease-out;
	position: relative;
	left: -100%
}
.module_onepage .article_overview .swiper-slide:first-child .article-inner *{
	transition: 1s ease-out;
	position: relative;
}
.module_onepage .article_overview.content-active .swiper-slide:first-child img{
	left: 0 !important;
}
.swiper-pagination{margin-top: 30px}

/* ----Scrolleffect----------------*/
.scrolleffect .img{
	position: relative;
	height: 280px;
	overflow-x: auto;
	overflow-y: hidden;
	-ms-overflow-style: none;
	scrollbar-width: none;
}
.scrolleffect .cwrap_inner.txt{
	position: relative;
	padding: 25px;
}
.scrolleffect img{
	flex-shrink: 0;
	height: 280px;
	object-fit: cover;
	margin-bottom: -10px;
}
.scrolleffect .pos-bottom{
	bottom: 0;
	min-height: 100vh;
	position: absolute !important;
}

/* -------------------------------------------------------- Artikel-------------------------------------------*/
.article_overview img{
	max-height: 360px;
}
.article_overview article{
	border-top: 1px solid var(--grey);
	padding: 30px 0;
}
.article_overview article:last-of-type{border-bottom: 1px solid var(--grey);}
.module_article_conf_head{margin-bottom: 30px}
.module_article .img_container{margin: 20px 0}
.module_article .img_container ~ div h2, .module_article .img_container ~ div h3, .module_article .img_container ~ div h4{display: inline}
.module_article .img_container ~ div h2 + *, .module_article .img_container ~ div h3 + *, .module_article .img_container ~ div h4 + *{margin-top: 1em}
p:empty{margin: 1em 0}
.img_container ~ .back-btn{
	left: 0;
}
.module_article_detail img, .module_article_detail picture{ width: 100%}
.module_article_detail img{
	max-height: 280px;
}
.module_article #footer{margin-top: 30px}
.module_article .article-inner{margin-top: 20px}
.browse_wrap{margin-top: 30px}
.browse_wrap:empty{display: none}
.module_article .pagination{justify-content: center}
.social-share img{
	width: auto;
	margin-left: 10px
}
.social-share img.facebook, .social-share img.mail{height: 17px}
.social-share img.insta{height: 16px}

/* -------------------------------------------------------- Liste-------------------------------------------*/
.columns .module_liste_conf_head{
	width: calc(100% - 60px);
	margin: 0 auto 40px;
}
.columns .listitems{
	margin: 0 0 40px 25px;
	overflow: auto;
	flex-wrap: nowrap !important;
	align-items: flex-start;
	width: calc(100vw - 30px);
	padding: 0 30px 30px 0;
}
.columns .listitem{
	width: 204px;
	flex-shrink: 0;
}
.columns .listitem:not(:last-of-type){margin-right: 16px}
.columns .listitem .title{margin-bottom: 20px}
.listitem img{
	width: 100%;
	height: 204px;
	object-fit: cover;
}
.columns .listitem .button{
	border-left: 3px solid;
	padding: 0px 10px;
	margin: 10px 0;
	display: inline-block;
	text-decoration: none;
	width: fit-content;
	font-weight: 600;
	transition: 0.3s ease;
	background-color: rgba(255, 255, 255, 0);
	color: black;
	line-height: unset;
}
.columns .listitem .button:hover{ padding: 0 0 0 15px; }


.listitem .title{margin-bottom: 10px}

.accordion .module_conf_head{margin-bottom: 25px}
.accordion-item{
	padding: 26px 0 26px 20px;
	border-top: 1px solid var(--grey);
}
.accordion-item:last-of-type{
	border-bottom: 1px solid var(--grey);
}
.accordion-title * {display: inline-block;}

.accordion-title{
	width: 100%;
	cursor: pointer;
	padding-right: 55px;
	text-transform: uppercase;
	transition: margin 0.3s ease;
}
.accordion-title::before{content: none}
.accordion-title.active{
	margin-bottom: 20px;
	color: var(--red);
}
.accordion-title.active .accordion-marker::after, .accordion-title.active .accordion-marker::before{
	background-color: var(--red);
}
.accordion-title.active .accordion-marker::after {transform:rotate(0deg);}
.accordion-marker::after, .accordion-marker::before {
    content: "";
    height: 4px;
    width: 22px;
	background-color: black;
    position: absolute;
    top: 50%;
    left: 0;
	transition: .3s ease all;
}
.accordion-marker::after{transform:rotate(90deg); }

.accordion-marker {
    position: absolute;
    height: 20px;
    width: 20px;
    top: 50%;
	transform: translateY(-50%);
	right: 30px;
}
.accordion-content{
	display: none;
	overflow: auto
}
.accordion-content .imagelist{margin-bottom: 1em}
.listitems.grid{
	grid-template-columns: 1fr;
	grid-row-gap: 60px;
}
.module_liste #footer{margin-top: 40px}
/* -------------------------------------------------------- Events-------------------------------------------*/
body.module_event{background-color: white !important}
#no-events-found{ margin-top: 2em}
.module_event.module{
	width: min(calc(100% - 50px), 1622px); 
	margin: 0 auto;
}
.module_event .filter-wrap{
	position: fixed;
	z-index: 1;
	background-color: white;
	left: 0;
	padding: 10px 25px;
	top: 60px;
}
.module_event .filter-wrap.active {padding-bottom: 50px}
.filter-wrap h2.active{margin-bottom: 30px}
.reset-filter{
	width: 20px;
	filter: var(--filter-darkgrey);
}
.reset-filter.mobile-none{
	position: absolute;
	right: 40px;
	top: 50%;
	transform: translateY(-50%);
	cursor: pointer;
}
legend .reset-filter{
	display: inline-block;
	vertical-align: middle;
	margin-right: 10px
}
#detailsuche legend.small-h{
	position: relative;
	top: -12px;
}
#detailsuche{position: relative}
/*#detailsuche::after{
	width: 100%;
	height: 1px;
	box-shadow: 0px 3px 6px #00000029;
	position: absolute;
	bottom: -11px;
	left: 0;
}
.filter-wrap h2.active + #detailsuche::after{ content: ""}*/
.detailsearch-button{
	margin-top: 43px;
	width: 100%;
}
.detailsearch-button span::before{
	content: "";
	background: url("/_assets/css/icon/search.svg") no-repeat center;
	background-size: contain;
	top: 50%;
	transform: translateY(-50%);
	width: 1em;
	height: 1em;
	left: -25px;
	position: absolute;
	filter: var(--filter-white);
}
#detail-stichwort::-webkit-input-placeholder {
  color: black;
  opacity: 1;
  font-style: normal;
}

#detail-stichwort:-ms-input-placeholder {
  color: black;
  opacity: 1;
  font-style: normal;
}

#detail-stichwort::-ms-input-placeholder {
  color: black;
  opacity: 1;
  font-style: normal;
}

#detail-stichwort::placeholder {
  color: black;
  opacity: 1;
  font-style: normal;
}
.event-grid{
	display: grid;
	grid-column-gap: 16px;
	grid-row-gap: 16px;
	margin: 10px 0 26px 0;
}
.event-grid img:not(.svg){
	height: inherit;
	object-fit: cover;
	width: 100%;
	margin-bottom: -10px;
}

.event-item *{color: white}
.event-item-inner{
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	transition: transform 0.6s;
	transform-style: preserve-3d;
}
.event-item-inner.rotate{transform: rotateY(180deg);}
.event-item:hover .event-item-inner .back-side, .event-item-inner.rotate .back-side{z-index: 1}
.event-grid:not(.transitions) .event-item:hover .title{opacity: 0}
.event-item::before{
	content: ' ';
	display: block;
	width: 100%;
	padding-top: 100%;
	position: relative;	
}
.event-grid .front-side::before{
	content: ' ';
	display: block;
	width: 100%;
	padding-top: 100%;
	position: absolute;
	background: linear-gradient(black, rgba(255, 255, 255, 0));
	z-index: 1;
	opacity: 0.2;
}
.event-grid .front-side, .event-grid .back-side{
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	transition: transform 0.8s;
  	-webkit-backface-visibility: hidden;
  	backface-visibility: hidden;
}

.event-grid .back-side{
	transform: rotateY(180deg);
	background-color: #575656;
	padding: 20px 5% 90px 5%;
	top: 0;
	overflow-y: auto;
	
}
.event-grid .back-side p.date{margin-top: 40px}
.event-item{
	overflow: hidden;
	max-height: 420px;
}
.event-item .title{	
	top: 0;
	z-index: 1;
	opacity: 1;
	transition: opacity 0.3s ease;
	width: calc(100% - 30px);
	margin: 15px auto 1em auto;
}
.flip-btn{
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	border: 2px solid;
	border-radius: 50%;
	z-index: 10;
	width: 35px;
	height: 35px;
	bottom: 50px;
	cursor: pointer;
}

.flip-btn::before, .flip-btn::after{
	content: "";
	width: 19px;
	border: 1px solid;
	position: absolute;
	left: 50%;
	top: 50%;
	transition: 0.3s ease;
}
.flip-btn::before{transform: translate(-50%, -50%)}
.flip-btn::after{transform: translate(-50%, -50%) rotate(90deg)}

.event-item-inner.rotate .flip-btn::after{transform: translate(-50%, -50%) rotate(45deg)}
.event-item-inner.rotate .flip-btn::before{transform: translate(-50%, -50%) rotate(-45deg)}
.module_event .bg-img{height: calc(100vh - 60px)}
.module_event .img_container{
	position: relative;
	top: 0;
	left: 0;
	width: 100vw;
	height: calc(100vh - 60px);
}
.module_event .img_container .title-wrap{
	top: 40px;
	z-index: 1;
	max-width: calc(100% - 50px);
}
.module_event .img_container .date, .module_event .img_container .tickets{
	max-height: 21vh;
	bottom: 70px;
	z-index: 1;
}
.module_event .img_container .date{left: 25px}
.module_event .img_container .tickets{right: 25px}
#content .module_event_detail.module{width: 100% !important}
.module_event.detail #content{margin-top: 0 !important}
.module_event_detail .content-wrap{
	margin: 30px auto;
	align-items: flex-start;
}
.module_event_detail .subtitle{
	font-size: var(--12px);
	letter-spacing: 1px;
	margin-top: 10px;
}
.module_event_detail .content-wrap > *:not(.description):not(.stoerer){
	border-top: 6px solid;
	padding-top: 10px;
}
.module_event_detail .content-wrap h1.title { border-top: 6px solid;padding-top: 10px; }
.module_event_detail .content-wrap .title + .subtitle{margin-top: 0}

.module_event_detail .img-ad{padding-top: 0 !important}
.module_event_detail .img-ad img{width: 100%}
.module_event_detail .description{margin-bottom: 40px; max-width: 100%}
.module_event_detail .description .button.tickets{margin: 15px 0 30px}
.module_event_detail .vorteile > p{line-height: 1.4}
.module_event_detail img.include-logo{top: 50%; max-height: 23vh}
.module_event_detail h4.date span { display: inline-block; }
.module_event_detail h4.date span.divide { margin: 0 10px; }


.module_event.detail #user-status-svg {
  background-color: rgba(255, 255, 255, 0);
  border: 1px solid white;
}

.module_event.detail.flappe-open #header{background:  rgba(0, 0, 0, 1) !important}
#eventdates{
	position: absolute;
	left: 0;
	top: -3em;
}
.datetable-overflow{
	overflow: hidden;	
	max-width: 685px;
}
#datetable{
	flex-direction: column;
	max-height: 820px;
	transition: 0.3s ease;
	margin-top: 30px;
}
#datetable li{
	margin: 20px 0;
	display: block;
}
#datetable h3{margin: 0}
#datetable li h3:first-of-type{
	min-width: 205px
}
#datetable .button.disabled{
	margin: 20px 0 !important
}
#datetable-pagination{margin-top: 40px}
.pagination-btn{
	cursor: pointer;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	margin-right: 10px;
	text-align: center
}
.pagination-btn.active{
	border: 2px solid;
}
.module_event.detail .flappe-lang a:hover, .module_event.detail .flappe-lang a.active{color: white !important}
.module_event.detail .fade-down-center{
	opacity: 0;
	animation: fadedowncentertext 1500ms ease 1 forwards;
	animation-delay: 1s;
}
.module_event.detail .fade-down{
	opacity: 0;
	animation: fadedowntext 2s ease 1 forwards;
	animation-delay: 1s;
}
.module_event.detail a.button:hover, .module_event.detail button:hover{
	background-color: black;
	color: white !important
}
.module_event.detail #footer{margin-top: 50px}
.promoter{margin-top: 25px}

.module_event a.waitlist { pointer-events: none; }
.module_event_detail .button.tickets{font-size: var(--22px);}

.event-item-inner span.mark { color: #FFF;
display: block;
font-size: .75em;
font-weight: bold;
padding: 2px 20px;
position: absolute;
text-align: center;
text-transform: uppercase;
transition: .2s ease all;
z-index: 1;
	bottom: 0;
left: 50%;
right: unset;
transform: translate(-50%,0); }
.event-item-inner span.mark-postponed, .event-item-inner span.mark-cancelled { background:#E97234; }
.event-item-inner span.mark-today { background:#BEC05C; }
.event-item-inner span.mark-newdates { background:#00A687; }
.event-item-inner span.mark-zusatzshow { background:#00A8C3; }
.event-item-inner span.mark-updatefolgt { background:#00A9C3; }
.event-item-inner span.mark-einspluseins { background:#e6007e; }
.event-item-inner span.mark-advent { background:#CD1719; }

.stoerer--blue h1, .stoerer--blue h2, .stoerer--blue h3, .stoerer--blue p,.stoerer--red h1, .stoerer--red h2, .stoerer--red h3, .stoerer--red p, .stoerer--red a { color:#FFF !important; }
.stoerer--red * { color:#FFF !important;text-decoration: none !important; }
.stoerer--blue h3 { color:#E0007F;font-weight:600;text-transform:uppercase; }
.stoerer--blue .info { background-color: #393F62; }
.stoerer--red .info{background-color: #CD1719; }
.stoerer .info { border: 0 none; width: auto; display: block; margin: 0 auto 10px auto; background-image: none; padding: 30px 20px; text-align: center;  }

/* -------------------------------------------------------- Sitemap-------------------------------------------*/
.module_sitemap.module ul ul { padding: 0 0 0 40px }


/* -------------------------------------------------------- Formmail-------------------------------------------*/
.module_formmail #footer{margin-top: 50px}

/* -------------------------------------------------------- Extracontent-------------------------------------------*/
.gmap {width: 16em; height: 16em;}

.extracontent:last-of-type .accordion-item{
	border-bottom: 1px solid var(--grey);
	border-top: none;
}
.extracontent .cwrap_inner.txt{
	overflow-x: auto;
	max-width: var(--max-text-width);
}
.extracontent .gallery.grid picture img{
	cursor: pointer;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.extracontent .accordion-item:last-of-type{border-bottom: none}
.extracontent:last-of-type .accordion-item:only-child{
	border-top: 1px solid var(--grey);
	border-bottom: 1px solid var(--grey);
}
.extracontent .wysiwyg + *{margin-top: 1em !important}
.extracontent .gallery.grid{margin-bottom: 1em}
.transitions .description-wrap{
	height: 100%;
	width: 100%;
	padding-top: 20px;
	background-size: 100%;
}
.transitions .description{
	position: relative;
	z-index: 1;
	opacity: 0;
}
.transitions .front-side::before, .transitions .description, .transitions .description-wrap{ 
	-moz-transition: 0.3s ease-out;
	-ms-transition: 0.3s ease-out;
	-o-transition: 0.3s ease-out;
	-webkit-transition: 0.3s ease-out;
	transition: 0.3s ease-out;
}

.transitions .event-item:hover .front-side::before{ opacity: 0.5}
.transitions .event-item:hover .description-wrap{ 
	background-size: 110%;
}
.transitions .event-item:hover .description{ opacity: 1}


/* ----- =video ----- */
.videoblock { padding:15px 0; }
.videotitle { font-size:0.94em;margin:10px 0 0 0; }
.videodescr { font-size:0.94em;font-style:italic; }
.videowrap > .lazyYT{padding-bottom: 0 !important}
.videowrap > .lazyYT > .ytp-thumbnail{ background-repeat: no-repeat; background-size: contain; position: relative}
.videowrap .html5-info-bar{margin-top: 20px}
.ytp-large-play-button{
	transform: translate(-50%,-50%) !important;
	position: absolute;
	left: 50%;
	top: 50%;
	width: 85px;
	height: 60px;
}
.videowrap svg path{fill: #FFF0EC}
.videowrap svg polygon{fill: black}

#video-container { max-width:1000px; }
#video-container_logo { display:none;visibility:hidden; }
.video-container, .iframe-container  { 
	position: relative;
	padding-bottom: 56.25%;
	margin:15px 0 0 0;
	height: 0;
	overflow: hidden;
	width:100vw;
	z-index:1; 
}
.video-container_op { /*position: relative;padding-bottom: 50%; margin:15px 0 0 0;padding-top: 30px; height: 0; overflow: hidden;width:100%;z-index:0;*/
    /*height: 56.25vw;*/
left: 50%;min-height: 100vh;min-width: 177.77vh;position: absolute;top: 50%;transform: translate(-50%, -50%);width: 100vw;right: auto;bottom: auto;background-color: #000; }
.video-container iframe, .video-container_op iframe, .video-container object, .video-container embed, .iframe-container iframe { position: absolute;top: 0;left: 0;width: 100%;height: 100%; z-index:3; } 
.whatchadovideoblock .video-container, .whatchadovideoblock .iframe-container { padding-top: 0; }
.yt-inner {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
  width: 100%;
}
.yt-frame iframe{ position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%; 
}

/* -------------------------------------------------------- Freepage-------------------------------------------*/
.module_freepage .video-container, .module_freepage .iframe-container, .extracontent .video-container, .extracontent .iframe-container{
	width: 100% !important
}
.module_freepage #footer{margin-top: 40px}
/* -------------------------------------------------------- Gewinnspiel/Wincrm-------------------------------------------*/
.border-top{
	border-top: 1px solid var(--grey);
	padding: 50px 0
}
.border-top.info{margin: 20px 0 0 0}
#winform .choicelist li{margin: 5px 0}
/* -------------------------------------------------------- BG-Swiper-------------------------------------------*/
.bg-swiper-container .swiper-slide{
	width: 100%;
	min-height: inherit;
	height: inherit;
}
.bg-swiper-container.manual-height .swiper-slide{height: inherit}
.bg-swiper-container .swiper-wrapper{
	flex-wrap: nowrap;
	opacity: 1 !important;
	height: inherit;
}

/* -------------------------------------------------------- Jobportal-------------------------------------------*/
.module_jobportal .module{max-width: 884px}

/* -------------------------------------------------------- Invoicedata-------------------------------------------*/
.module_invoicedata.module{
	overflow: auto;
	height: calc(100vh - 200px);
	margin-bottom: 50px;
}
#invoicelist{width: 1412px}
#invoicelist th.verkauf{ width: 275px}
#invoicelist th.invoice{ width: 166px}
#invoicelist th.performance{ width: 224px}
#invoicelist th.performance-date{ width: 185px}
#invoicelist th.ticket_id{ width: 183px}
#invoicelist th.price_category_name{ width: 106px}
#invoicelist th.price{ width: 120px}
#invoicelist th.servicelink{ width: 153px}
.module_servicerequest td.storno{text-align: center}

/* -------------------------------------------------------- Prepage-------------------------------------------*/
body.prepage::before{
	content: "";
	width: 100vw;
	height: 100vh;
	position: absolute;
	top: 0;
	left: 0;
	background-color: black;
	opacity: 0.4;
}
body.prepage *{color: white}
.tohomelink{bottom: 30px}

/* -------------------------------------------------------- module_search-------------------------------------------*/
#msearch button *{
	display: inline-block;
	vertical-align: middle;
}
#msearch button img{margin-right: 1em}
#msearch button, .mainsearch-input{
	display: inline-block
}
#msearch button{width: calc(30% - 15px); margin: 0}
.mainsearch-input{
	width: 70%;
	margin-right: 10px;
}
.nr-of-results{margin: 2em 0}


.acResults{
	z-index: 1;
	background-color: var(--grey);
	padding: 10px;
	min-width: 300px !important;
}
.acResults ul{
	list-style-type: none;
}
.acResults li{cursor: pointer}

/* -------------------------------------------------------- Newsletter-------------------------------------------*/
.flappe-nlreg, .flappe-nllogin { height: 90%; }
.flappe-nlreg iframe, .flappe-nllogin iframe { height: 100%; }
.nl_footer-wrap { background-color: #fff;padding: 50px 25px;border-top:1px solid #000;margin: 50px 0 0 0; }
.nl_footer { margin: 0 auto;max-width: 1200px;text-align: center; }
.nl_footer a.button:hover { color:#fff !important; }
 
/* ----- =class ----- */
.placeholder{background-color: yellow;}
.tarn{list-style-type: none}
.bold { font-weight:bold; }
.font-normal { font-weight:normal; }
.font-italic { font-style:italic; }
.semibold{ font-weight: 600;}
.bb {border-bottom:1px solid;padding-bottom:1em;}
.bt {border-top:1px solid;padding-top:1em;}
.border-top-bottom{
	border-top: 1px solid var(--grey);
	padding: 30px 0;
}
.border-top-bottom:last-of-type{border-bottom: 1px solid var(--grey)}
.c 	{clear: both;}
.cl {clear:left;}
.cr {clear:right;}
.error {color:#f00;}
.error a, .error h1, .error h2, .error h3, .error h4, .error h5, .error h6 {color:#f00;}
.fright {float:right;}
.fleft {float:left;}
.fnone {float:none;}
.fnorm {font-size:1em !important;}
.fsmall, small {font-size:.85em !important;}
.iblock {display:inline-block;}
.m0 {margin:0 !important; }
.mb {margin-bottom:.69em !important;}
.mbh {margin-bottom:.35em !important;}
.mbd {margin-bottom:1.4em !important;}
.ml {margin-left:1em !important;}
.mr {margin-right:1em !important;}
.mt {margin-top:.69em !important;}
.mth {margin-top:.35em !important;}
.mtd {margin-top:1.4em !important;}
.mt0 {margin-top:0 !important;}
.mt1{margin-top: 1em !important}
.mt2{margin-top: 2em !important}
.mb0 {margin-bottom:0 !important;}
.mb1 {margin-bottom: 1em !important;}
.mv1{margin: 1em 0 !important}
.nu, .hun { text-decoration:none !important; }
.hun:hover, .hun:focus { text-decoration:underline !important; }
.p0 {padding:0 !important;}
.pb {padding-bottom:.69em !important;}
.pbh {padding-bottom:.35em !important;}
.pbd {padding-bottom:1.4em !important;}
.pl {padding-left:1em !important;}
.pr {padding-right:1em !important;}
.pt {padding-top:.69em !important;}
.pth {padding-top:.35em !important;}
.ptd {padding-top:1.4em !important;}
.pt0 {padding-top:0 !important;}
.pb0, .pb-0 {padding-bottom:0 !important;}
.nobottom > *:last-child {margin-bottom:0;}
.nowrap {white-space:nowrap;}
.success {color:#009900;}
.success a, .success h1, .success h2, .success h3, .success h4, .success h5, .success h6 {color:#009900;}
div.success { border: 1px solid #090;padding: 20px;background-color: rgba(0, 153, 0, 0.2); }
.tcenter {text-align:center !important;}
.tleft {text-align:left !important;}
.tright {text-align:right !important;}
.uppercase {text-transform:uppercase;}
.wauto {width:auto;}
.none { display:none !important; }
.v {visibility: hidden}
.cfix:before, .cfix:after { content: "\0020"; display: block; height: 0; overflow: hidden; }
.cfix:after { clear: both; }
.relative{position: relative}
.flex{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}
.flex.align-top{align-items: flex-start}
.flex.space-between{justify-content: space-between}
.flex.justify-start{justify-content: flex-start}
.flex.nowrap{flex-wrap: nowrap}
.contentwidth{width: min(calc(100% - 50px), var(--max-width)); margin: 0 auto}
.text-only-content-width{width: min(calc(100% - 60px), var(--max-text-width)); margin: 0 auto }
.max720{max-width: 720px; margin: 0 auto}
.absolute{position: absolute}
.font14{font-size: var(--14px);}
.bg-center-cover{
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}
.text-deco-none{text-decoration: none}
.block{display: block}
.horizontal-center{	left: 50%;transform: translateX(-50%)}
.vertical-center{top: 50%; transform: translateY(-50%)}
.center{left: 50%; top: 50%; transform: translate(-50%, -50%)}
.grid{display: grid}
.w100{width: 100% !important}
.pointer{cursor: pointer}
.darkgrey{color: var(--darkgrey) !important}
.red{color: var(--red) !important}
.block{display: block}
.text-red{color: var(--red);}
.white{color: white}
.disabled{pointer-events: none; background-color: var(--darkgrey) !important;}

/* -------------------------------------------------------- animations-------------------------------------------*/
.scroll-down{bottom: 10vh}
.skip-animation{
	cursor: pointer;
	margin-bottom: 10px;
}
.slide-up-sequence-item.active{margin-top: 0 !important}
.slide-up-sequence-item{transition: margin-top 500ms}
.fullwidth{
	width: 100% !important;
}
@keyframes fade {
  from {
	  opacity: 0;
	}
  to {
	  opacity: 1;
	}
}
@keyframes fadedown_centertext {
  from {
	  opacity: 0;
	  transform: translateX(-50%) translateY(-50px);
	}
  to {
	  opacity: 1;
	  transform: translateX(-50%) translateY(-50%);
	}
}

@keyframes fadeuptext {
  0% {
	  opacity: 0;
	  transform: translateY(100px);
	}
  100% {
	  opacity: 1;
	  transform: translateY(0);
	}
}@keyframes fadeupcentertext {
  0% {
	  opacity: 0;
	  transform: translate(-50%, calc(50% + 100px));
	}
  100% {
	  opacity: 1;
	  transform: translate(-50%, -50%);
	}
}

@keyframes fadeoutdowntext {
  from {
	  opacity: 1;
	  transform: translateY(0);
	}
  to {
	  opacity: 0;
	  transform: translateY(100px);
	}
}@keyframes fadeoutdowncentertext {
  from {
	  opacity: 1;
	  transform: translate(-50%, -50%);
	}
  to {
	  opacity: 0;
	  transform: translate(-50%, calc(-50% + 100px));
	}
}

@keyframes fadedowntext {
  from {
	  opacity: 0;
	  transform: translateY(-100px);
	}
  to {
	  opacity: 1;
	  transform: translateY(0);
	}
}
@keyframes fadedowncentertext {
  from {
	  opacity: 0;
	  transform: translate(-50%, calc(-50% - 100px));
	}
  to {
	  opacity: 1;
	  transform: translate(-50%, -50%);
	}
}

@keyframes fadeoutuptext {
  from {
	  opacity: 1;
	  transform: translateY(0);
	}
  to {
	  opacity: 0;
	  transform: translateY(-100px);
	}
}
@keyframes fadeoutupcentertext {
  from {
	  opacity: 1;
	  transform: translate(-50%, -50%);
	}
  to {
	  opacity: 0;
	  transform: translate(-50%, calc(-50% - 100px));
	}
}

@keyframes fadedowncentertext {
  from {
	  opacity: 0;
	  transform: translateY(calc(-50% - 100px)) translateX(-50%);
	}
  to {
	  opacity: 1;
	  transform: translateY(-50%) translateX(-50%);
	}
}
@keyframes fadedowncentertext_with_slide_up_animation {
  from {
	  opacity: 0;
	  transform: translateY(-100px);
	}
  to {
	  opacity: 1;
	   transform: translateY(0);
	}
}

@keyframes fadeoutupcentertext {
  from {
	  opacity: 1;
	  transform: translateY(-50%) translateX(-50%);
	}
  to {
	  opacity: 0;
	  transform: translateY(calc(-50% - 100px)) translateX(-50%);
	}
}

@keyframes faderighttext {
  from {
	  opacity: 0;
	  transform: translateX(-100px);
	}
  to {
	  opacity: 1;
	  transform: translateX(0);
	}
}@keyframes faderightcentertext {
  from {
	  opacity: 0;
	  transform: translate(calc(50% - 100px), -50%);
	}
  to {
	  opacity: 1;
	  transform: translate(-50%, -50%);
	}
}

@keyframes fadeoutlefttext {
  from {
	  opacity: 1;
	  transform: translateX(0);
	}
  to {
	  opacity: 0;
	  transform: translateX(-100px);
	}
}@keyframes fadeoutleftcentertext {
  from {
	  opacity: 1;
	  transform: translate(-50%, -50%);
	}
  to {
	  opacity: 0;
	  transform: translate(calc(-50% - 100px), -50%);
	}
}

@keyframes fadelefttext {
  from {
	  opacity: 0;
	  transform: translateX(100px);
	}
  to {
	  opacity: 1;
	  transform: translateX(0);
	}
}
@keyframes fadeleftcentertext {
  from {
	  opacity: 0;
	  transform: translate(calc(-50% + 100px), -50%);
	}
  to {
	  opacity: 1;
	  transform: translate(-50%, -50%);
	}
}

@keyframes fadeoutrighttext {
  from {
	  opacity: 1;
	  transform: translateX(0);
	}
  to {
	  opacity: 0;
	  transform: translateX(100px);
	}
}
@keyframes fadeoutrightcentertext {
  from {
	  opacity: 1;
	  transform: translate(-50%, -50%);
	}
  to {
	  opacity: 0;
	  transform: translate(calc(-50% + 100px), -50%);
	}
}

@keyframes disable_scroll {
  from {
	  overflow-y: hidden;
	}
  to {
	  overflow-y: auto;
	}
}




@media only screen and (-moz-min-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 3/2), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5 )and (-moz-min-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 2dppx) {
  ul li { background-image:url(icon-list@x2.png); }
  
}