@charset "utf-8";
/* ----------------------------------------------------------------------- Fonts ----------------------------------------------------------------------- */
@font-face{
    font-family: 'SourceSans3-Regular';
    src: url('../fonts/SourceSans3-Regular.ttf');
    font-style: normal;
}
@font-face{
    font-family: 'SourceSans3-Medium';
    src: url('../fonts/SourceSans3-Medium.ttf');
    font-style: normal;
}
@font-face{
    font-family: 'SourceSans3-Bold';
    src: url('../fonts/SourceSans3-Bold.ttf');
    font-style: normal;
}
@font-face{
    font-family: 'InterTight-Regular';
    src: url('../fonts/InterTight-Regular.ttf');
    font-style: normal;
}
@font-face{
    font-family: 'InterTight-Light';
    src: url('../fonts/InterTight-Light.ttf');
    font-style: normal;
}
@font-face{
    font-family: 'CrimsonPro-Medium';
    src: url('../fonts/CrimsonPro-Medium.ttf');
    font-style: normal;
}
@font-face{
    font-family: 'CrimsonPro-Bold';
    src: url('../fonts/CrimsonPro-Bold.ttf');
    font-style: normal;
}
@font-face{
    font-family: 'Italianno-Regular';
    src: url('../fonts/Italianno-Regular.ttf');
    font-style: normal;
}
@font-face{
    font-family: 'RobotoMono-Regular.ttf';
    src: url('../fonts/RobotoMono-Regular.ttf.ttf');
    font-style: normal;
}
@font-face{
    font-family: 'remixicon';
    src: url('../fonts/remixicon.ttf');
    font-style: normal;
}


/* ---------------------------------------------------------------------- General ---------------------------------------------------------------------- */
html{ scroll-behavior: smooth; }
html, body{
	margin: 0px;
	padding: 0px;
	height: 100%;
	min-width: 980px;
}
body{
	display: flex;
	flex-direction: column;
	align-items: stretch;
	align-content: stretch;
	
	width: 100%;
	font-size: 0px;
	line-height: 0px;
	
	color: #3b2e06;
	background-image: url(../images/klimtSpiralBG.png);
	background-repeat: repeat;
	background-color: #fffcf3;
	background-size: 400px 400px;

	overflow: auto;
	overflow-y: scroll;
}
div, font, p, span, h1, h2, h3, h4, h5, h6{
	font-family: 'InterTight-Light', sans-serif;
	font-size: 24px;
	line-height: 34px;
	color: #3b2e06;
	margin: 0px;
	padding: 0px;
	background-color: transparent;
}
h1, h2, h3{
	display: inline-block;
	font-family: 'CrimsonPro-Bold', serif;
	color: #5b0088;
}
div, span, a{ display: inline-block; }
b{
	font-family: 'InterTight-Regular', sans-serif;
	font-size: 24px;
	line-height: 34px;
}
h1{
	font-family: 'CrimsonPro-Bold', serif;
	font-size: 50px;
	line-height: 50px;
}
h2{
	font-size: 32px;
	line-height: 40px;
}
h3{
	font-size: 26px;
	line-height: 30px;
}
a{
	display: inline-block;
	font-family: 'InterTight-Regular', sans-serif;
	font-size: 24px;
	line-height: 28px;
	color: #3b2e06;
	text-decoration: none;
	outline: none;
	transition: all 0.2s;
}
a:hover{ color: #b38d15; }
img{
	border: 0px;
	margin: 0px;
	padding: 0px;
}

/* ----------------------------------------------------------------------- Tables ---------------------------------------------------------------------- */
table{
	border: 0px;
	border-collapse: collapse;
}
table, tr, td{
	font-family: 'InterTight-Light', sans-serif;
	font-size: 24px;
	line-height: 34px;
	color: #3b2e06;

	margin: 0px;
	padding: 0px;
}
td{
	vertical-align: top;
	text-align: left;
}

/* ----------------------------------------------------------------------- Forms ----------------------------------------------------------------------- */
form, input, textarea, button, select{
	font-family: arial, verdana, sans-serif;
	font-size: 24px;
	line-height: 34px;
	color: #3b2e06;
	background-color: transparent;
	margin: 0px;
	padding: 0px;
	transition: all 0.2s;
}
form{ background-color: transparent; }
input, textarea, button, select{
	border: 1px solid #c4c3c3;
	padding: 5px;
}

input[type=checkbox]{
	width: 16px;
	height: 16px;
}
input[type=radio]{
	width: 16px;
	height: 16px;
}

/* -------------------------------------------------------------------- Navigation --------------------------------------------------------------------- */
nav{
	position: fixed;
	z-index: 5;
	width: 100%;
	min-width: 980px;
	font-size: 0px;
	line-height: 0px;
	background-repeat: repeat;
	background-size: 350px 264px;
	background-color: #fff8e6;
	background-position: center center;
	background-attachment: fixed;
	box-shadow: 0px 0px 5px #250606;
}
@media(max-width: 1024px){
    nav{ position: relative; }
}

/* ----- TopMenu ----- */
.headerInfoFlexContainer{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	width: calc(100% - 25px - 25px);
	min-width: 930px;
	padding: 10px;
	padding-left: 25px; 
	padding-right: 25px;
	background-color: #5b0088;
	background-image: url(../images/stöcklBackgroundPattern.png);
	background-repeat: repeat;
}
.headerInfoFlexContainer div{
	font-family: 'CrimsonPro-Bold', serif;
	font-size: 14px;
	line-height: 14px;
	color: #ffffff;
	white-space: nowrap;
}
.topLink{
	font-family: 'CrimsonPro-Bold', serif;
	font-size: 16px;
	line-height: 16px;
	color: #ffffff;
}
.topLink:hover{
	transform: scale(1.03);
	color: #e5b92c;
}
.menuWrapperSmall{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
	align-content: flex-start;
	gap: 25px;
	width: calc(100% - 25px - 25px);
	min-width: 930px;
	text-align: center;
	padding: 25px;
	padding-top: 15px;
	padding-bottom: 15px;
}

.menuWrapperFlex{
	width: 100%;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	flex-wrap: nowrap;
	align-items: flex-start;
	align-content: flex-start;
	gap: 10px;
}
.menuContainer{
	font-family: 'CrimsonPro-Bold', serif;
	font-size: 20px;
	line-height: 30px;
	color: #5b0088;
	white-space: nowrap;
	text-align: left;
}
.menuSubContainer{
	display: block;
	max-height: 0px;
	overflow: hidden;
	padding-left: 10px;
	padding-right: 10px;
	font-size: 18px;
	line-height: 24px;
	transition: max-height 0.5s ease-in;
	text-align: left;
	white-space: nowrap;
}
.menuWrapperSmall:hover .menuWrapperFlex .menuContainer div{ max-height: 500px; }
.menuLogo{
	display: inline-block;
	width: 174px;
	min-width: 174px;
	height: 30px;
	min-height: 30px;
	background-image: url(../images/stöckLogoSide.png);
	background-repeat: no-repeat;
	background-position: top left;
	background-size: contain;
	transition: all 0.1s;
}
.menuLogo:hover{ transform: scale(1.05); }
.menuLinkSmall{
	font-family: 'CrimsonPro-Medium', serif;
	font-size: 18px;
	line-height: 18px;
	color: #5b0088;
}
.menuLinkSmall:hover{
	transform: scale(1.05);
	color: #b38d14;
}
.menuLinkBlink{ animation: textBlinker 1s linear infinite; }
@keyframes textBlinker{
	from{ opacity: 1.0; }
	50% { opacity: 0.1; }
	to{ opacity: 1.0; }
}
.menuMainLinkCat{
	font-family: 'CrimsonPro-Bold', serif;
	font-size: 20px;
	line-height: 30px;
}
.menuEntrySmall{
	font-family: 'CrimsonPro-Medium', serif;
	font-size: 18px;
	line-height: 18px;
	color: #b38d14;
}
.menuEntrySmallMainCat{
	font-family: 'CrimsonPro-Bold', serif;
	font-size: 20px;
	line-height: 30px;
	color: #b38d14;
}
.langHighlight{ color: #e5b92c; }

/* ---------------------------------------------------------------------- Global ----------------------------------------------------------------------- */
.pageWrapper{
	position: relative;
	display: inline-block;
	width: 100%;
	min-width: 980px;
	font-size: 0px;
	line-height: 0px;
	padding-top: 90px;
}
.pageWrapperSpielplan{ padding-bottom: 100px; }
.contentWrapper{
	position: relative;
	width: calc(100% - 50px - 50px);
	min-width: 880px;
	padding: 50px;
}
.centerText{ text-align: center; }
.centerText b{
	font-size: 18px;
	line-height: 21px;
}
.wrapperWithBackgroundSpielplan{
	background-color: #cd0000;
	background-image: url(../images/stöcklBackgroundPattern.png);
	background-repeat: repeat;
	color: #ffffff;
	padding: 10px;
	padding-left: 50px;
	padding-right: 50px;
}

.contentWrapperFlex{
	position: relative;
	display: flex;
	flex-direction: row;
	width: calc(100% - 50px - 50px);
	min-width: 880px;
	padding: 50px;
	justify-content: center;
	flex-wrap: nowrap;
	align-items: stretch;
	align-content: stretch;
	gap: 25px;
}
.flexThree div{
	flex-basis: 30%;
	padding: 25px;
	background-color: #ffffff;
	box-shadow: 0px 0px 5px #250606;
	font-size: 18px;
	line-height: 21px;
}
.flexTwo div{
	flex-basis: 50%;
	padding: 25px;
	background-color: #ffffff;
	box-shadow: 0px 0px 5px #250606;
	font-size: 18px;
	line-height: 21px;
}
.contentWrapperFlex div b{
	font-size: 18px;
	line-height: 21px;
}
.infoLink{
	font-family: 'InterTight-Light', sans-serif;
	font-size: 18px;
	line-height: 21px;
}

.usrMsgWrapper{
	width: 100%;
	text-align: center;
}
.usrMsgContainer{
	padding: 50px;
	font-family: 'InterTight-Light', sans-serif;
	text-align: center;
	font-size: 24px;
	line-height: 26px;
	background-color: #fff8e6;
	border: 2px solid #cd0000;
	box-shadow: 0px 0px 5px #250606;
	margin-top: 50px;
	margin-bottom 50px;
}
.usrMsgContainer span{
	font-family: 'CrimsonPro-Bold', serif;
	font-size: 30px;
	line-height: 30px;
	color: #b38d15;
}
.contentWrapperFlexFull{
	position: relative;
	display: flex;
	flex-direction: row;
	width: calc(100% - 50px - 50px);
	min-width: 880px;
	padding: 50px;
	justify-content: space-between;
	align-items: stretch;
	gap: 50px;
}
.contentWrapperFlexSpielplan{
	position: relative;
	display: flex;
	flex-direction: column;
	width: calc(100% - 50px - 50px);
	min-width: 880px;
	padding: 10px;
	padding-left: 50px;
	padding-right: 50px;
	justify-content: center;
	flex-wrap: wrap;
	align-items: center;
}
.contentContainerSpielplan{
	position: relative;
	width: 880px;
	min-height: 200px;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	box-shadow: 0px 0px 5px #250606;
	scroll-margin-top: 300px;
	background-color: #ffffff;
}
.summerStageBannerContainer{
	position: absolute;
	top: 0px;
	right: 0px;
	min-width: 125px;
	color: #ffffff;
	background-color: #b28c14;
	border: 1px solid #c4c3c3;
	border-right: none;
	border-top: none;
	padding: 10px;
	font-family: 'SourceSans3-Medium', sans-serif;
	font-size: 18px;
	line-height: 18px;
	text-align: center;
}
.sold{
	display: block;
	font-size: 14px;
	line-height: 14px;
	color: #ff0303;
	font-weight: bold;
}
.moreInfoContainer{
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	flex-grow: 1;
	width: 880px;
	max-height: 0px;
	overflow: hidden;
	transition: max-height 0.5s ease-out;
	background-color: #ffffff;
}
.playPreviewImageContainer{
	width: 200px;
	height: 200px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.dateContainer{
	width: 200px;
	height: calc(200px - 25px - 25px);
	text-align: center;
	padding-top: 25px;
	padding-bottom: 25px;
}
.infoContainer{
	display: flex;
	flex-direction: column;
	gap: 5px;
	justify-content: center;
	width: calc(100% - 200px - 200px - 25px - 25px);
	padding: 25px;
	font-size: 0px;
	line-height: 0px;
}
.playDayContainer{
	display: inline-block;
	font-family: 'SourceSans3-Medium', sans-serif;
	color: #b38d15;
	font-size: 50px;
	line-height: 50px;
}
.playMonthContainer{
	display: inline-block;
	font-family: 'SourceSans3-Medium', sans-serif;
	color: #b38d15;
	font-size: 24px;
	line-height: 24px;
}
.playTimeContainer{
	display: inline-block;
	font-family: 'SourceSans3-Medium', sans-serif;
	color: #3b2e06;
}
.playNameContainer{
	font-family: 'SourceSans3-Medium', sans-serif;
	font-size: 35px;
	line-height: 35px;
	color: #5b0088;
}
.playInfoContainer{
	font-size: 16px;
	line-height: 16px;
	color: #3b2e06;
}
.playSmallFont{
	font-size: 16px;
	line-height: 16px;
	color: #3b2e06;
}
.playDetailsTopImgWrapper{
	position: relative;
	width: 880px;
	height: 315px;
	overflow:hidden;
	cursor: pointer;
}
.playDetailsTopImgWrapper:hover .topImg{ animation-play-state: paused; }
.playDetailsTopImgWrapperSingle{
	width: 880px;
	height: 315px;
}
.playDetailsTopImgWrapperFullWidth{
	position: relative;
	width: 100%;
	height: 600px;
	overflow:hidden;
	cursor: pointer;
}
.playDetailsTopImgWrapperFullWidth:hover .topImg{ animation-play-state: paused; }
.playDetailsTopImgWrapperFullWidthSingle{
	width: 100%;
	height: 600px;
}
@keyframes fade {
	0%   { opacity:0; }
	5%   { opacity:1; }
	25%  { opacity:1; }
	30%  { opacity:0; }
	100% { opacity:0; }
}
.topImgWrapperFullWidth{
	position: relative;
	width: 100%;
	height: 600px;
	overflow:hidden;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.topImgWrapperFullWidthDinnerTheater{ background-image: url(../images/contentImages/dinnerTheater/00.jpg); background-position: top center; }
.topImgWrapperFullWidthRestaurant{ background-image: url(../images/contentImages/restaurant/00.jpg); }
.topImgWrapperFullWidthSpielplan{ background-image: url(../images/contentImages/spielplan/00.jpg); }
.topImg{	
	position: absolute;
	inset: 0;

	width: 100%;
	height: 100%;
	object-fit: cover;

	opacity: 0;

	animation: fade calc(var(--img-count) * var(--img-duration)) linear infinite;
	animation-delay: calc(var(--i) * var(--img-duration));
}
.topImgSingle{
	width: 880px;
	height: 315px;
}
.playDetailsWrapper{
	width: 100%;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: stretch;
}
.playDetailsMediaContainer{
	width: calc(210px - 25px - 25px);
	padding: 25px;
	font-size: 0px;
	line-height: 0px;
}
.playDetailsInfoContainer{
	width: calc(930px - 210px - 25px);
	font-size: 18px;
	line-height: 21px;
	padding: 25px;
	padding-left: 0px;
}
.playDetailsInfoContainer a{
	font-size: 18px;
	line-height: 21px;
	color: #b38d15;
}
.playDetailsHeadline{
	font-family: 'SourceSans3-Medium', sans-serif;
	color: #5b0088;
	font-size: 30px;
	line-height: 30px;
}
.playDetailsFotos{
	display: inline-block;
	width: 72px; 
	height: 72px;
	margin-right: 5px;
	margin-bottom: 5px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	cursor: pointer;
}
.playDetailsFotosNoMargin{ margin-right: 0px; }
.playDetailsVideo{
	display: block;
	width: 150px; 
	height: 84px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	cursor: pointer;
	margin-bottom: 5px;
}
.playDetailsVideoBig{
	width: 900px;
	height: 504px;
}
.ticketsContainer{
	width: calc(100% - 25px - 25px);
	padding: 25px;
	padding-bottom: 50px;
}
.playDetailsTicketsHeadline{
	display: inline-block;
	position: relative;
	left: -25px;
	width: 100%;
	font-family: 'CrimsonPro-Bold', serif;
	color: #ffffff;
	font-size: 24px;
	line-height: 24px;
	padding: 25px;
	padding-top: 15px;
	padding-bottom: 15px;
	background-color: #cd0000;
	background-image: url(../images/stöcklBackgroundPattern.png);
	background-repeat: repeat;
	background-size: 350px 264px;
	background-position: center center;
	text-align: center;
	margin-bottom: 25px;
}
.diningMenuWrapper{
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: space-between;
	align-content: flex-start;
	gap: 25px;
	width: calc(100% - 25px - 25px);
	padding: 25px;
}
.regularDiningMenuContainer{
	width: calc(450px - 25px - 25px - 1px - 1px);
	border: 1px solid #dad5d5;
	padding: 25px;
	font-size: 14px;
	line-height: 18px;
	text-align: center;
}
.veganDiningMenuContainer{
	width: calc(450px - 25px - 25px - 1px - 1px);
	border: 1px solid #dad5d5;
	padding: 25px;
	font-size: 14px;
	line-height: 18px;
	text-align: center;
}
.diningMenuHeadline{
	font-family: 'CrimsonPro-Bold', serif;
	font-size: 24px;
	line-height: 24px;
	color: #b38d15;
}
.dingingMenuHeadlineReg{ color: #ca0101; }
.dingingMenuHeadlineVeg{ color: #01ca27; }
.dinnerHeadline{
	text-decoration: underline;
	margin-bottom: 25px;
	font-size: 21px;
	line-height: 30px;
}
.dinnerHighlight{
	font-family: 'Italianno-Regular', cursive;
	font-size: 26px;
	line-height: 18px;
}

.ticketForm{
	font-size: 18px;
	line-height: 21px;
	color: #000000;
}
.numberField{
	width: 118px;
	height: 25px;
	font-size: 18px;
	line-height: 18px;
	text-align: center;
	margin-bottom: 10px;
	vertical-align: top;
}
.typeOfResField{
	height: 37px;
	font-size: 18px;
	line-height: 18px;
	margin-bottom: 10px;
	vertical-align: top;
}
.dateField{
	width: 118px;
	height: 25px;
	margin-bottom: 10px;
	font-size: 18px;
	line-height: 18px;
	margin-right: 10px;
	color: #bbbbbc;
}
.dateField:valid{ color: #3b2e06; }
.timeField{
	width: 100px;
	height: 25px;
	margin-bottom: 10px;
	font-size: 18px;
	line-height: 18px;
	margin-right: 10px;
	color: #bbbbbc;
}
.timeField:valid{ color: #3b2e06; }
.sexField{
	width: 130px;
	height: 37px;
	font-size: 18px;
	line-height: 18px;
	margin-bottom: 10px;
	vertical-align: top;
}
.ticketSelect{
	width: 130px;
	height: 37px;
	font-size: 18px;
	line-height: 18px;
	margin-bottom: 10px;
	vertical-align: top;
	margin-right: 10px;
}
.ticketSelectLong{ width: 223px; }
.ticketSelectNoMargin{ margin-right: 0px; }
.titleField{
	width: 100px;
	height: 25px;
	font-size: 18px;
	line-height: 18px;
	margin-left: 10px;
	margin-bottom: 10px;
	vertical-align: top;
}
.nameField{
	width: 267px;
	height: 25px;
	font-size: 18px;
	line-height: 18px;
	margin-left: 10px;
	margin-bottom: 10px;
	vertical-align: top;
}
.nameFieldNewsletter{
	width: 200px;
	height: 25px;
	font-size: 18px;
	line-height: 18px;
	margin-left: 10px;
	margin-bottom: 10px;
	vertical-align: top;
}
.lastNameField{
	width: 267px;
	height: 25px;
	font-size: 18px;
	line-height: 18px;
	margin-left: 10px;
	margin-bottom: 10px;
	vertical-align: top;
}
.lastNameFieldNewsletter{
	width: 200px;
	height: 25px;
	font-size: 18px;
	line-height: 18px;
	margin-left: 10px;
	margin-bottom: 10px;
	vertical-align: top;
}
.telField{
	width: 240px;
	height: 25px;
	font-size: 18px;
	line-height: 18px;
	margin-bottom: 10px;
	vertical-align: top;
}
.emailField{
	width: 267px;
	height: 25px;
	font-size: 18px;
	line-height: 18px;
	margin-left: 10px;
	margin-bottom: 10px;
	vertical-align: top;
}
.emailFieldNewsletter{
	width: 200px;
	height: 25px;
	font-size: 18px;
	line-height: 18px;
	margin-left: 10px;
	margin-bottom: 10px;
	vertical-align: top;
}
.adrField{
	width: 400px;
	height: 25px;
	font-size: 18px;
	line-height: 18px;
	margin-bottom: 10px;
	vertical-align: top;
}
.plzField{
	width: 60px;
	height: 25px;
	font-size: 18px;
	line-height: 18px;
	margin-left: 10px;
	margin-bottom: 10px;
	vertical-align: top;
}
.ortField{
	width: 200px;
	height: 25px;
	font-size: 18px;
	line-height: 18px;
	margin-left: 10px;
	margin-bottom: 10px;
	vertical-align: top;
}
.landField{
	width: 90px;
	height: 25px;
	font-size: 18px;
	line-height: 18px;
	margin-left: 10px;
	margin-bottom: 10px;
	vertical-align: top;
	text-align: center;
}
.noticeTextarea{
	width: 820px;
	height: 100px;
	font-size: 18px;
	line-height: 18px;
	margin-bottom: 10px;
}
.newsletterCheckbox{
	margin-right: 10px;
	margin-bottom: 3px;
	vertical-align: middle;
}
.datenschutzCheckbox{
	margin-right: 10px;
	margin-bottom: 3px;
	vertical-align: middle;
}

.usrBTNContainer{
	width: 100%;
	text-align: center;
	font-size: 18px;
	line-height: 18px;
	margin-top: 25px;
}
.captchaText{
	border: none;
	margin-left: 15px; 
	margin-right: 25px; 
	vertical-align: middle;
}
.captchaInput{
	width: 60px;
	height: 25px;
	font-size: 18px;
	line-height: 18px;
	margin-left: 25px;
	text-align: center;
}
.submitBTN{
	width: 250px;
	margin-top: 50px;
	border: 1px solid #c4c3c3;
	padding: 10px;
	font-family: 'SourceSans3-Medium', sans-serif;
	font-size: 18px;
	line-height: 18px;
	color: #ffffff;
	background-color: #cd0000;
	text-align: center;
	transition: all 0.2s;
	cursor: pointer;
}
.submitBTN:hover{
	color: #ffffff;
	background-color: #ff0101;
}
.submitBTNMargin{ margin-left: 5px; }
.ticketDetailsRadio{
	vertical-align: middle;
	margin-right: 15px; 
}
.smallCheckboxLabels{
	font-size: 12px;
	line-height: 18px;
}

.contentWrapperFlexSpeisen{
	position: relative;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	align-content: center;
	gap: 25px;
	width: calc(100% - 50px - 50px);
	min-width: 930px;
	padding: 50px;
}
.speisenKatWrapper{
	width: 880px;
	min-width: 350px;
	box-shadow: 0px 0px 5px #250606;
	padding: 25px;
	background-color: #ffffff;
	font-size: 21px;
	line-height: 24px;
}
.speisenDetailsContainer{
	width: 100%;
	display: flex;
	flex-direction: row;
	align-items: stretch;
	align-content: flex-start;
	gap: 15px;
	margin-top: 15px;
}
.speisenDetailsContainer div:nth-child(1){ width: 85%; }
.speisenDetailsContainer div:nth-child(2){
	width: 15%;
	text-align: right;
	white-space: nowrap;
}
.contentWrapperFlexSaisonaleSpeisen{
	position: relative;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	width: calc(100% - 50px - 50px);
	min-width: 880px;
	padding: 50px;
	justify-content: center;
	align-items: flex-start;
	align-content: stretch;
	gap: 25px;
	font-size: 0px;
	line-height: 0px;
}
.contentWrapperFlexSaisonaleSpeisen div{
	box-shadow: 0px 0px 5px #250606;
	padding: 25px;
	background-color: #ffffff;
}
.speiseName{
	font-size: 24px;
	line-height: 34px;
}
.speisenInfo{ display: block; font-size: 14px; line-height: 16px; }
.speisenKat1Headline{
	display: block;
	width: 100%
	font-family: 'CrimsonPro-Bold', serif;
	font-size: 28px;
	line-height: 28px;
	color: #5b0088;
	text-align: center;
	font-weight: bold;
}
.speisenKatTrenner{
	display: block;
	width: 100%;
	margin-top: 25px;
	text-align: center;
	font-size: 16px;
	line-height: 16px;
	color: #dadcde;
}
.speisenKat2Headline{
	display: block;
	width: 100%;
	font-family: 'Italianno-Regular', cursive;
	font-size: 40px;
	line-height: 40px;
	font-weight: normal;
	margin-top: 25px;
	color: #5b0088;
	text-align: center;
}
.speisenImgsContainer{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	width: 100%;
	margin-top: 50px;
	text-align: center;
	font-size: 0px;
	line-height: 0px;
}
.katImgs{ height: 190px; }
.downloadSeasonalMenuLink{
	display: block;
	font-size: 16px;
	line-height: 16px;
	color: #e5b92c;
	transition: all 0.2s;
}
.downloadSeasonalMenuLink:hover{
	color: #3b2e06;
	transform: scale(1.1);
}
.downloadSeasonalMenuLinkCanvas{ display: block; }

.reservationsContainer{
	position: relative;
	width: 830px;
	min-height: 200px;
	box-shadow: 0px 0px 5px #250606;
	padding: 25px;
	padding-top: 0px;
	background-color: #ffffff;
}

.contentWrapperFlexFullReisen{ align-items: flex-start; }
.pdfViewerContainer{
	box-shadow: 0px 0px 5px #250606;
	padding: 25px;
	background-color: #ffffff;
}

.sideImgWrapper{
	width: 495px;
	min-width: 495px;
	font-size: 0px;
	line-height: 0px;
}
.sideImgs{
	display: inline-block;
	width: 245px; 
	height: 183px;
	margin-right: 5px;
	margin-bottom: 5px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	cursor: pointer;
}
.sideImgsNoMargin{ margin-right: 0px; }
.btnLink{
	width: 250px;
	margin-top: 50px;
	border: 1px solid #c4c3c3;
	padding: 10px;
	font-family: 'SourceSans3-Medium', sans-serif;
	font-size: 18px;
	line-height: 18px;
	color: #ffffff;
	background-color: #cd0000;
	text-align: center;
	transition: all 0.2s;
}
.btnLink:hover{
	color: #ffffff;
	background-color: #ff0101;
}

.kuenstlerWrapper{
	display: block;
	width: 495px;
	min-width: 495px;
	background-image: url(../images/contentImages/kuenstler/kuenstler.png);
	background-repeat: no-repeat;
	background-position: top center;
	background-size: contain;
}
.sommerBuehneWrapper{
	display: block;
	width: 495px;
	min-width: 495px;
	background-image: url(../images/contentImages/sommerBuehne/sommerBuhene.jpg);
	background-repeat: no-repeat;
	background-position: top center;
	background-size: contain;
}

.merchContainer{
	position: relative;
	width: 830px;
	min-height: 200px;
	box-shadow: 0px 0px 5px #250606;
	padding: 25px;
	background-color: #ffffff;
}
.merchForm{
	font-size: 18px;
	line-height: 21px;
	color: #000000;
}
.merchTable{
	width: 100%;
	margin-bottom: 50px;
}
.merchTable tr td:nth-child(1){ width: 100px; padding-right: 15px; padding-bottom: 15px; font-size: 21px; line-height: 21px; vertical-align: middle; }
.merchTable tr td:nth-child(2){ padding-bottom: 15px; font-size: 21px; line-height: 21px; vertical-align: middle; }
.merchTable tr td:nth-child(3){ width: 50px; padding-left: 15px; padding-right: 15px; padding-bottom: 15px; font-size: 21px; line-height: 21px; vertical-align: middle; }
.merchTable tr td:last-child{ width: 100px;text-align: right; padding-bottom: 15px; font-size: 21px; line-height: 21px; vertical-align: middle; }
.merchSumTrenner{ border-top: 1px solid black; padding-top: 15px; }
.merchImg{
	width: 100px;
	height: 100px;
}
.merchTextAmount{
	width: 70px;
	font-size: 21px;
	line-height: 21px;
	text-align: center;
}
.merchTextPrice{
	width: 70px;
	padding: 0px;
	font-size: 21px;
	line-height: 21px;
	text-align: right;
	border: none;
}
.merchTextPostage{
	width: 70px;
	padding: 0px;
	font-size: 21px;
	line-height: 21px;
	text-align: right;
	border: none;
}
.merchTextTotalPrice{
	width: 70px;
	font-size: 21px;
	line-height: 21px;
	text-align: right;
	padding: 0px;
	border: none;
}
.merchHeadline{
	display: inline-block;
	position: relative;
	left: -25px;
	width: 100%;
	font-family: 'CrimsonPro-Bold', serif;
	color: #ffffff;
	font-size: 24px;
	line-height: 24px;
	padding: 25px;
	padding-top: 15px;
	padding-bottom: 15px;
	background-color: #cd0000;
	background-image: url(../images/stöcklBackgroundPattern.png);
	background-repeat: repeat;
	background-size: 350px 264px;
	background-position: center center;
	text-align: center;
	margin-bottom: 25px;
}

.eventCalWrapper{
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: center;
	gap: 25px;
	margin-top: 50px;
}
.eventCalContainer{
	box-shadow: 0px 0px 5px #250606;
	padding: 25px;
	background-color: #ffffff;
}
.eventCalTable{
	width: 226px;
	margin-top: 25px;
}
.eventCalTable tr td{
	width: 30px;
	height: 30px;
	text-align: center;
	font-size: 18px;
	line-height: 30px;
	border: 2px solid transparent;
}
.calEventLink{
	width: 100%;
	height: 100%;
	background-color: #cd0000;
	font-size: 18px;
	line-height: 30px;
	color: #ffffff;
	transition: all 0.2s;
}
.calEventLink:hover{
	transform: scale(0.8);
	color: #ffffff;
}

.pdfViewer{
	text-align: center;
	font-size: 0px;
	line-height: 0px;
}
.pdfViewer canvas{
	display: block;
	width: 500px;
	height: auto;
}
.pdfViewer .pdfViewerControls span{
	font-family: 'RobotoMono-Regular', monospace;
	font-size: 14px;
	line-height: 14px;
}
.pdfViewerControls{
	margin-top: 5px;
	margin-bottom: 5px;
}
.pdfViewer button{
	width: 25px;
	height: 25px;
	font-size: 14px;
	line-height: 14px;
	padding: 0xp;
	margin: 0px;
	vertical-align: middle;
	cursor: pointer;
}
.pdfSinglePage .pdfViewerControls{ visibility: hidden; }

.newsletterWrapper{
	width: calc(100% - 25px - 25px); 
	padding: 25px;
	text-align: center;
	padding-bottom: 50px;
	padding-top: 5px;
}
.newsletterContainer{
	padding: 0px;
	background-color: #ffffff;
	box-shadow: 0px 0px 5px #250606;
	font-size: 18px;
	line-height: 21px;
	text-align: center;
}
.newsletterFieldContainer{
	padding: 25px;
	font-size: 18px;
	line-height: 21px;
	text-align: center;
}
.newsletterHeadline{
	display: block;
	width: calc(100% - 15px - 15px);
	padding: 15px;
	font-size: 18px;
	line-height: 21px;
	color: #ffffff;
	background-color: #cd0000;
	font-weight: bold;
}

.adminPageWrapper{
	position: relative;
	display: inline-block;
	width: 100%;
	height: 100%;
	min-width: 980px;
	font-size: 0px;
	line-height: 0px;
}
.adminLineContainer{
	width: calc(100% - 50px - 50px);
	font-family: 'CrimsonPro-Bold', serif;
	font-size: 50px;
	line-height: 50px;
	color: #5b0088;
	padding: 50px;
	padding-top: 70px;
	text-align: center;
}
.adminContentWrapper{
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	gap: 50px;
	align-content: center;
	width: calc(100% - 50px - 50px);
	padding: 50px;
}
.adminContentContainer{
	display: inline-block;
	width: 930px;
	text-align: left;
	background-color: #ffffff;
	box-shadow: 0px 0px 5px #250606;
	font-size: 0px;
	line-height: 0px;
}
.adminContentHeadline{
	width: calc(100% - 25px - 25px);
	padding: 25px;
	padding-top: 15px;
	padding-bottom: 15px;
	font-size: 21px;
	line-height: 21px;
	font-weight: bold;
	color: #ffffff;
	background-color: #cd0000;
	text-align: center;
}
.adminContentDataContainer{
	width: calc(100% - 25px - 25px);
	padding: 25px;
}
.adminUploadForm{
	font-size: 21px;
	line-height: 21px;
}
.fileNameField{
	width: 729px;
	height: 33px;
	border: 1px solid #c5c4c5;
	font-size: 16px;
	line-height: 16px;
	vertical-align: top;
	padding: 0px;
	padding-left: 10px;
	padding-right: 10px;
}
.fileUploadLabel{
	display: inline-block;
	width: 70px;
	height: 23px;
	font-family: 'remixicon', sans-serif;
	font-size: 21px;
	line-height: 23px;
	margin-left: 5px;
	color: #5e5d5d;
	background-color: #ffffff;
	border: 1px solid #c5c4c5;
	text-align: center;
	cursor: pointer;
	vertical-align: top;
	padding: 5px;
}
.fileUploadLabel:hover{ background-color: #dfdfe2; }
.fileUploadLabel input[type="file"]{
	display: inline-block;
	position: absolute;
	top: 0px;
	left: 0px;
	visibility: hidden;
	margin: 0px;
	padding: 0px;
}
.fileUploadBTN{
	width: 35px;
	height: 35px;
	margin-left: 5px;
	border: 1px solid #c5c4c5;
	font-family: 'remixicon', sans-serif;
	font-size: 21px;
	line-height: 23px;
	cursor: pointer;
}
.fileUploadBTN:hover{
	color: #ffffff;
	background-color: #ff0101;
}

/* --------------------------------------------------------------------- Content ----------------------------------------------------------------------- */
.introMovieWrapper{
	position: relative;
	width: 100%;
	text-align: center;
	background-color: #000000;
	font-size: 0px;
	line-height: 0px;
}
.indexVideoIFrame{ z-Index: 1; }

.indexStöcklLogo{
	display: inline-block;
	width: 300px;
}

.contentContainerTopImage{
	width: calc(100% - 25px - 25px);
	height: 25vw;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	margin-bottom: 25px;
}
.indexInfoRestaurant{ background-image: url(../images/contentImages/index/index_info_restuarant.jpg); }
.indexInfoDinnerTheater{ background-image: url(../images/contentImages/index/index_info_dinnertheater.jpg); }
.indexInfoKuenstler{ background-image: url(../images/contentImages/index/index_info_kuenstler.jpg); }
.indexInfoSpeisen{ background-image: url(../images/contentImages/feste/csm_Festtafel-Schönbrunn-im-Dinnertheater-vor-Bühne_e525b25c18.jpeg); }
.indexInfoFeier{ background-image: url(../images/contentImages/feste/csm_Festtafel-Schönbrunn-Ansuicht-unten_15a34c18f4.jpeg); }
.indexInfoFirmen{ background-image: url(../images/contentImages/firmen/03.jpg); }
.indexInfoHochzeit{ background-image: url(../images/contentImages/hochzeit/01.jpg); }

.infoDinnerTheater{ background-image: url(../images/contentImages/dinnerTheater/01.jpg); }
.infoDinnerTheaterSpielplan{ background-image: url(../images/contentImages/dinnerTheater/05.jpg); }
.infoDinnerTheaterSommberbuehne{ background-image: url(../images/contentImages/dinnerTheater/03.jpg); }
.infoDinnerTheaterFeiern{ background-image: url(../images/contentImages/dinnerTheater/04.jpg); }

.infoRestaurantSpeisekarte{ background-image: url(../images/contentImages/restaurant/01.jpg); }
.infoRestaurantFeier{ background-image: url(../images/contentImages/restaurant/02.jpg); }
.infoRestaurantFirmen{ background-image: url(../images/contentImages/restaurant/03.jpg); }
.infoRestaurantHochzeiten{ background-image: url(../images/contentImages/restaurant/04.jpg); }

.sectionSeperatorRed{
	width: calc(100% - 25px - 25px); 
	background-color: #cd0000;
	background-image: url(../images/stöcklBackgroundPattern.png);
	background-repeat: repeat;
	padding: 25px;
	color: #ffffff;
}
.newsContainer{
	font-family: 'CrimsonPro-Bold', serif;
	font-size: 21px;
	line-height: 21px;
	text-align: center;
}
.comingUpEventsWrapper{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-evenly;
	width: 100%;
	gap: 15px;
	margin-top: 25px;
}
.eventWrapper{
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	width: 300px;
	background-color: #ffffff;
	box-shadow: 0px 0px 5px #250606;
}
.eventContainerDate{
	width: 109px;
	text-align: center;
	font-size: 0px;
	line-height: 0px;
	padding-top: 15px;
	padding-bottom: 15px;
}
.eventContainerInfo{
	width: 178px;
	padding: 15px;
	padding-left: 0px;
	font-size: 18px;
	line-height: 18px;
	font-weight: bold;
	color: #5b0088;
	text-align: left;
}
.eventDayContainer{
	display: inline-block;
	font-family: 'SourceSans3-Medium', sans-serif;
	color: #b38d15;
	font-size: 30px;
	line-height: 30px;
	margin-bottom: 5px;
}
.eventMonthContainer{
	display: inline-block;
	font-family: 'SourceSans3-Medium', sans-serif;
	color: #b38d15;
	font-size: 18px;
	line-height: 18px;
	margin-bottom: 10px;
}
.eventTimeContainer{
	display: inline-block;
	font-family: 'SourceSans3-Medium', sans-serif;
	color: #3b2e06;
	font-size: 14px;
	line-height: 14px;
}
.eventContainerAdditionalInfo, .eventContainerAdditionalInfo span{
	font-weight: normal;
	font-size: 14px;
	line-height: 16px;
}
.eventContainerAdditionalInfo{ margin-top: 5px; }

.spielplanContainer{
	font-family: 'CrimsonPro-Bold', serif;
	margin-bottom: 25px;
}
.parkingSign{
	width: 50px;
	margin-top: 35px;
	margin-bottom: 15px;
}
.wrLinienLogo{
	width: 150px;
	margin-top: 35px;
	margin-bottom: 15px;
}
.pageLineContainer{
	width: calc(100% - 50px - 50px);
	font-family: 'CrimsonPro-Bold', serif;
	font-size: 50px;
	line-height: 50px;
	color: #5b0088;
	padding: 50px;
	text-align: center;
}

.contentWrapperFlexFullImprint{
	flex-wrap: wrap;
	align-items: flex-start;
}
.imprintVCContainer{
	font-size: 12px;
	line-height: 12px;
	text-align: center;
}
.imprintTable tr td{ white-space: nowrap; }
.imprintTable tr td:nth-child(1){ width: 200px; padding-right: 25px; }
.vCardLink:hover{ transform: scale(0.9); }
.qrVCF{ width: 200px; }
.contentWrapperFull{
	position: relative;
	display: inline-block;
	width: calc(100% - 50px - 50px);
	min-width: 880px;
	padding: 50px;
}
.contentWrapperFlexFullInfos div:nth-child(1){ min-width: 210px; }
#presse, #datenschutz, #partner, #copyright{ scroll-margin-top: 250px; }
#datenschutz, #datenschutz a, #datenschutz b, #datenschutz li{
	font-size: 14px;
	line-height: 16px;
}
@media(max-width: 1300px){
    .imprintVCContainer{ width: 100%; }
	#presse, #datenschutz, #partner, #copyright{ scroll-margin-top: 350px; }
}

/* ------------------------------------------------------------------ Toggle Content ------------------------------------------------------------------- */
.toggleLink{
	-webkit-appearance: checkbox;
	display: none;
}
.toggleLinkLabel{
	position: absolute;
	bottom: 0px;
	right: 0px;
	z-Index: 2;
	min-width: 125px;
	border: 1px solid #c4c3c3;
	border-right: none;
	border-bottom: none;
	cursor: pointer;
	padding: 10px;
	font-family: 'SourceSans3-Medium', sans-serif;
	font-size: 18px;
	line-height: 18px;
	color: #ffffff;
	background-color: #cd0000;
	text-align: center;
	transition: all 0.2s;
}
.toggleLinkLabel:after{ content: attr(data-toggleText1); }
.toggleLinkLabel:hover{
	color: #ffffff;
	background-color: #ff0101;
}

.toggleLink:checked + .toggleLinkLabel + .moreInfoContainer{
	max-height: 5000px;
	transition: max-height 0.5s ease-in, padding 0.5s ease-in;
	-webkit-transition: max-height 0.5s ease-in, padding 0.5s ease-in;
	-moz-transition: max-height 0.5s ease-in, padding 0.5s ease-in;
}
.toggleLink:checked + .toggleLinkLabel{
	background-color: #ff0101;
	color: #ffffff;
}
.toggleLink:checked + .toggleLinkLabel:after{ content: attr(data-toggleText2); }
.toggleLink:checked + .toggleLinkLabel:hover{
	background-color: #cd0000;
	color: #ffffff;
}

body:has(.toggleImageWrapper:checked){ overflow: hidden; }
.toggleImageWrapper{
	-webkit-appearance: checkbox;
	display: none;
}
.imgViewWrapper{
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-Index: 10;
	background-color: rgb(0 0 0 / 0.9);
}
.closeBigImgWrapper{
	position: absolute;
	top: 25px;
	right: 25px;
	font-family: 'InterTight-Light', sans-serif;
	font-size: 50px;
	line-height: 50px;
	color: #ffffff;
	cursor: pointer;
	font-family: 'remixicon', sans-serif;
}
.closeBigImgWrapper:hover{ transform: scale(0.9); }
.toggleImageWrapper:checked + div{
	display: flex;
	flex-direction: column;
    justify-content: center;
    align-items: center;
	gap: 10px;
}
.imgSliderContainer{
	display: flex;
	width: calc(80vh * 1.5);
	height: 80vh;
	overflow: hidden;
	white-space: nowrap;
	font-size: 12px;
	line-height: 12px;
	color: #ffffff;
	scroll-snap-type: x mandatory;
	scroll-behavior: unset;
}
.imgSliderContainerWide{ width: 900px; }
.singleImgContainer{
	position: relative;
	flex: 0 0 100%;
	scroll-snap-align: start;
	text-align: center;
}
.controlPrevImg{
	position: absolute;
	top: 0px;
	left: 0px;
	width: 50px;
	height: 80vh;
	font-family: 'remixicon', sans-serif;
	font-size: 25px;
	line-height: 80vh;
	color: #ffffff;
	background-color: rgb(0 0 0 / 0.3);
	text-align: center;
}
.controlPrevImg:hover{
	color: #ffffff;
	background-color: rgb(0 0 0 / 0.7);
}
.controlNextImg{
	position: absolute;
	top: 0px;
	right: 0px;
	width: 50px;
	height: 80vh;
	font-family: 'remixicon', sans-serif;
	font-size: 25px;
	line-height: 80vh;
	color: #ffffff;
	background-color: rgb(0 0 0 / 0.3);
	text-align: center;
}
.controlNextImg:hover{
	color: #ffffff;
	background-color: rgb(0 0 0 / 0.7);
}
.bigImg{ height: 80vh; }

.noWordWrap{ white-space: nowrap; }

/* ------------------------------------------------------------------ Footer Content ------------------------------------------------------------------- */
footer{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	align-content: center;
	gap: 25px;
	margin-top: auto;
	width: calc(100% - 25px - 25px);
	min-width: 930px;
	background-image: url(../images/stöcklBackgroundPattern_light.png);
	background-repeat: repeat;
	background-position: top top;
	background-color: #231919;
	padding: 10px;
	padding-left: 25px;
	padding-right: 25px;
}
.footerLeftContainer{

}
.footerMiddleContainer{
	font-family: 'InterTight-Light', sans-serif;
	font-size: 16px;
	line-height: 24px;
	color: #ffffff;
	text-align: center;
}
.footerRightContainer{
	font-family: 'InterTight-Light', sans-serif;
	font-size: 16px;
	line-height: 24px;
	color: #ffffff;
	text-align: right;
}

.footerLogo{
	width: 155px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.footerLink{
	display: inline-block;
	font-family: 'InterTight-Light', sans-serif;
	font-size: 16px;
	line-height: 24px;
	color: #ffffff;
	margin-left: 15px;
}
.footerLink:hover{
	transform: scale(1.1);
	color: #e5b92c;
}
.footerLinkNoMargin{ margin: 0px; }
.footerEntry{
	display: inline-block;
	font-family: 'InterTight-Light', sans-serif;
	font-size: 16px;
	line-height: 24px;
	color: #e5b92c;
}
.footerSocialMediaLink{
	font-family: 'remixicon', sans-serif;
	font-size: 21px;
	line-height: 21px;
	color: #ffffff;
	margin-left: 15px;
}
.footerSocialMediaLink:hover{
	transform: scale(1.2);
	color: #e5b92c;
}