html {
	overflow-y: scroll;
}

html,body{
    margin: 0;
    padding: 0;
    height: 100%;	
	overflow: auto !important;
}

body,td,div{
	font-family:calibri,arial,verdana;
	spacing:0px;
	color:#444444;
	//background-attachment:fixed;
}

#wrapper {
    min-height: 100%;
    padding-bottom: 50px; /* Höhe des Footers berücksichtigen */
    box-sizing: border-box;
}

div.scrollable {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    overflow: auto;
}



a{
	text-decoration:none;
	font-weight:bold;
	color:#777777;
	//border-bottom:1px dashed #AAAAAA;
}

.showLink::after {
    content: " [↗]";
}

hr{
	border-bottom:1px dashed #AAAAAA;
	border-left:0px;
	border-right:0px;
	border-top:0px;
}

h1,h2,h4{
	margin:0px;
	border:0px;
	top:0px;
}

input{
	border:1px solid #AAAAAA;
}

input.orderSeatButton{
	width:18%;
	height:100px;
	margin:1%;
}
input.orderSeatButton:hover{
	background:linear-gradient(to top, #FFCC00, #FFFF00) !important;
	color:#990000 !important;
	font-weight:bold;
}

.opa50{
	opacity:0.5;
}

form{
	margin:0px;
	padding:0px;
}

/* AUSRICHTUNG */
.left{
	text-align:left !important;
}

.center{
	text-align:center !important;
}

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


/* ABGESAGT-HINWEISE */
.canceled{
	text-decoration: line-through;
	color: darkred;
}
.titleImageContainer {
  position: relative;
  display: inline-block;
  width: auto;
  height: auto;
}

.titleImageContainer img {
  display: block;
  width: 100%;
  height: auto;
}

.titleImageCanceledOverlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(175, 0, 0, 0.65); /* halbtransparentes Rot */
  z-index: 1;
}

.titleImageCanceledText {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-20deg);
  color: white;
  font-size: 6em;
  font-weight: bold;
  text-transform: uppercase;
  z-index: 2;
  text-shadow: 1px 1px 3px black;
  pointer-events: none;
}



select{
	border:1px dashed #EEEEEE;
	padding:2px;
}

.siteRight{
	float:right;
	padding:15px;
	margin:15px;
	width:175px;
	height:175px;
}

.min400{
	min-width:400px;
	box-sizing: border-box;	
}
.min450{
	min-width:450px;
	box-sizing: border-box;	
}
.min500{
	min-width:500px;
}
.min600{
	min-width:600px;
}
.min1000{
	min-width:1000px;
}
.max600{
	max-width:600px;
}

.w100{
	width:98% !important;
}

.center td{
	text-align:center;
}

small{
	font-weight:normal;
}

/* RadioButtons / Auswahl der Optionen*/

/* HIDE RADIO */
.radioButton { 
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

/* IMAGE STYLES */
.radioButton + div {
	
	float: left;
	padding:10px;
	margin-right:10px;

	width:250px;
	height:100px;
	display:table-cell;
	vertical-align:middle;
	text-align:center;

	cursor: pointer;
	background:linear-gradient(to top left, #AAAAAA, #EEEEEE) !important;
	color:#777777;
	border-radius: 10px;

	/*display: flex;
	align-items: center;	
	justify-content: center;*/
}

/* CHECKED STYLES */
.radioButton:checked + div {
	background:linear-gradient(to top, #FFCC00, #FFFF00) !important;
	color:#990000 !important;
}



/* SCHRIFTEN */

.big{
	font-size:150%;
}
.verybig{
	font-size:400%;
	font-weight:bold;
}

.bold{
	font-weight:bold;
}

.w200{
	width:200px;
}
.w600{
	width:600px;
}

.uc{
	text-transform: uppercase;
}

/* ZELLEN KLICKBAR MACHEN */
td.clickCell a {
	display:block;
}

/* FARBEN */

.tGrey{
	color:#AAAAAA;
}

.red{
	background:linear-gradient(to top left, #990000, #FF0000) !important;
	color:#FFFF00 !important;
}

.green{
	background:linear-gradient(to top left, #009900, #00FF00) !important;
	color:#CCFFCC !important;
}
.green2{
	background:linear-gradient(to top, #009900, #00FF00) !important;
	color:#CCFFCC !important;
}
.orange{
	background:linear-gradient(to top, #FFCC00, #FFFF00) !important;
	color:#990000 !important;
}
.blue{
	background:linear-gradient(to top, #5555FF, #AAAAFF) !important;
	color:#990000 !important;
}
.purple{
	background:linear-gradient(to top, #b44675, #df6196) !important;
	color:#990000 !important;
}
.dgreen{
	background:linear-gradient(to top left, #005500, #00AA00) !important;
	color:#CCFFCC !important;
}
.grey{
	background:linear-gradient(to top left, #AAAAAA, #EEEEEE) !important;
	color:#777777;
}
.hoverGreen:hover{
	background:linear-gradient(to top left, #009900, #00FF00) !important;
	color:#CCFFCC !important;
}

small.grey{
	background:none !important;
	color:#AAAAAA;
}
.hgrey{
	background:linear-gradient(to top, #CCCCCC, #EEEEEE) !important;
	color:#555555;
}
.hhgrey{
	background:linear-gradient(to top, #DDDDDD, #FFFFFF) !important;
	color:#555555;
}
.grey2{
	background:linear-gradient(to top, #AAAAAA, #EEEEEE) !important;
	color:#777777;
}
.white{
	background:linear-gradient(to top, #FAFAFA, #FFFFFF) !important;
	color:#777777;
}
.white:hover{
	background:linear-gradient(to top, #EEEEEE, #FFFFFF) !important;
}
.yellowHover:hover{
	background:linear-gradient(to top, #FFCC00, #FFFF00) !important;
	color:#990000 !important;
}
.soldout{
	background-image:url('/images/labels/ausverkauft.png');
	color:#a80000;
}
.lastcards{
	background-image:url('/images/labels/restkarten.png');
	color:#777777;
}

.noOutBorder{
	border-right:0px !important;
}

.hoverTable tr:hover{
	background:linear-gradient(to top left, #EEEEEE, #FFFFFF) !important;

}

.hoverTableTd td:hover{
	background:linear-gradient(to top left, #EEEEEE, #FFFFFF) !important;

}

.hoverTableTr tr:hover{
	background:linear-gradient(to top left, #EEEEEE, #FFFFFF) !important;

}

.hoverTd:hover{
	background:linear-gradient(to top left, #EEEEEE, #FFFFFF) !important;

}

td.std{
	border:0px solid #FFFFFF !important;
	vertical-align:bottom;
}

.head{
	font-weight:bold;
}

.top{
vertical-align:top;
}
.bodytop{
	position:absolute;
	top:0px;
}

/* BORDER */

.border-bottom, .bb
{
	border-bottom:1px dashed #AAAAAA;
}
.nbt
{
	border-top:0px !important;
}
.nbb
{
	border-bottom:0px !important;
}
.bb2
{
	border-bottom:2px solid #AAAAAA !important;
}
.bt2
{
	border-top:2px solid #AAAAAA !important;
}
.bt5
{
	border-top:5px solid #AAAAAA !important;
}
.border-right, .br
{
	border-right:1px dashed #AAAAAA;
}
.border-left, .bl
{
	border-left:1px dashed #AAAAAA;
}
.border-top, .bt
{
	border-top:1px solid #AAAAAA;
}

/* runde Links/Buttons */
a.rounded{
	border-radius: 10px;
	padding-left:10px;
	padding-right:10px;
}


/* runde Tabellen */
table.rounded {
	padding: 0px;
	border-radius: 10px;
	margin: 10px;
	border-spacing: 0;
	border-collapse: separate;
}

/*table.rounded td, table.rounded th {
	padding: 5px 5px;
	border-bottom: 1px solid #CCCCCC;
	border-right: 1px solid #CCCCCC;
}*/

table.rounded th {
	color: #777777;
}

table.rounded tr:last-child td:first-child {
	border-bottom-left-radius:10px;
}

table.rounded tr:last-child td:last-child {
	border-bottom-right-radius:10px;
}

table.rounded tr th:first-child,
table.rounded tr td:first-child {
   border-left: 1px solid #CCCCCC;
}

table.rounded tr:first-child th,
table.rounded tr:first-child td {
   border-top: 1px solid #CCCCCC;
}

table.rounded tr:first-child th:first-child,
table.rounded tr:first-child td:first-child {
	border-top-left-radius:10px
}

table.rounded tr:first-child th:last-child,
table.rounded tr:first-child td:last-child {
	border-top-right-radius:10px
}

input.rounded{
   border: 1px solid #CCCCCC;
   border-radius:10px;
}


/* ab hier nur test */

subLeft{
	position:fixed;
	left:-20px;
}

subLeft.hover{
	position:fixed;
	left:0px;
}

.btBack{
	height:50px;
}
.btNext{
	height:50px;
}
/* UNSORTIERT */

select.priceSelect{
	text-align:justify !important;
	font-family:courier new !important;
	font-size:13px;
	/*margin-left:25px;*/
}
.monoSpace{
	font-family:courier new !important;
	/*border-bottom:1px dashed #EEEEEE;*/
}

div.topbar{
	position:fixed;
	width:100%;
	background-color:#EEEEEE;
	top:0px;
	text-align:center;
}

div.content{
	width:100%;
	/*border:1px solid #FF0000;*/
	
}
div.colLeft{
	float:right;
	right:50%;
	position:relative;
	/*border:1px dashed #EEEEEE;*/
	max-width:100%;
	overflow:auto;
	box-sizing: border-box;
}
div.colRight{
	float: left;
	left:50%;
	position:relative;
	/*border:1px dashed #EEEEEE;*/
	box-sizing: border-box;
}

/* Smart-Ansicht Saalplan / Buchungsschritt 2 */
@media (max-width: 1550px) {
	div.colRight{
	  float:none !important;
	  left: auto !important;
	}
	div.colLeft{
	  float:none !important;
	  right: auto !important;
	}
}
  
  

.hide{
	display:none;
}

/*div.footbar{
	position:fixed;
	width:100%;
	background-color:#EEEEEE;
	bottom:0px;
	text-align:center;
}*/
.footbar{
	position:fixed;
	background-color:#EEEEEE;
	bottom:0px;
	right:0px;
	text-align:center;
}

.bottomright{
	position:fixed;
	bottom:5px;
	right:5px;
}
.bottomleft{
	position:fixed;
	bottom:5px;
	left:5px;
}


/* WARENKORB */

#warenkorb a span {display:none;}

#warenkorb a:hover span {
color:black;
background:#FFFFFF;
border:1px solid black;
display:block;
}

td.payment_carrier{
		width:200px;
		vertical-align:top;
		font-weight:bold;
		border-bottom:1px dashed #AAAAAA;
	}
	td.payment_desc{
		vertical-align:top;
		border-bottom:1px dashed #AAAAAA;
	}
	td.payment_price{
		width:100px;
		vertical-align:top;
		text-align:right;
		border-bottom:1px dashed #AAAAAA;
	}
	

/* ROTATION */
.rotation270{
	-webkit-transform: rotate(270deg);
	-moz-transform: rotate(270deg);
	-o-transform: rotate(270deg);
	writing-mode: rl-tb;
}


/*
iframe.ticketingBasket{
	height:25px;
	width:300px;
	overflow: hidden;
}
*/
/*
.ticketingBasket:hover{
	height:300;

}*/

input.keyboard
{
	background-color:#FFFFFF;
	width:40px;
	height:40px;
	font-weight:bold;
}

/* MAUSZEIGER */
.pointer{
	cursor:pointer;
}

.developer{
	font-size:9px;
	font-weight:bold;
	font-family:arial;
	color:#000000;
	background:linear-gradient(to top, #333333, #555555) !important;
	color:#FFFFFF !important;
	padding:2px;
	float:right;
}

/* noch ausblenden */
.hidden{
	display:none;
}

/* EIN Blinker */
.blink {
  animation: blink 1s steps(5, start) infinite;
  -webkit-animation: blink 1s steps(5, start) infinite;
}
@keyframes blink {
  to { visibility: hidden; }
}
@-webkit-keyframes blink {
  to { visibility: hidden; }
}

.mailTypoMessage{
	display:none;
	background-color:#FF9999;
	padding:3px;
	border-radius:0px 0px 10px 10px;
	width:500px;
	margin-left:5px;
	margin-bottom:10px;
}

/* Hilfsbox unten */
div.quickHelp
{
	position:fixed;

	width:100%;
	z-index:10000000000;
}


/* Positionselement für Boxen in der Anzeige */
.box{
	 padding-bottom:50px;
}
.box th{
	 padding:5px;
	 font-weight:bold;
}

/* beim Drucken */
@media print
{    
    .noprint, .noprint *
    {
        display: none !important;
    }
	
	.allwaysprint, .allwaysprint *
    {
        display: block !important;
		visibility:visible !important;
    }
	
	.topprint{
		position:absolute !important;
		/*top:5mm !important;*/
		left:5mm !important;
	}
}


#site-footer {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: yellow;
    text-align: center;
    height: 30px;
    line-height: 30px;
    z-index: 9998;
}

/* ACCESSIBILITY */
#accessibility-menu {
    position: fixed;
    top: 250px;
    right: 0;
    background: #fff;
    border-top: 2px solid #000;
    border-left: 2px solid #000;
    border-bottom: 2px solid #000;
    padding: 10px;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 5px;
    /*box-shadow: 0 0 10px rgba(0,0,0,0.5);*/
    max-width: 175px;
}

#accessibility-menu button {
    padding: 5px 10px;
    font-size: 14px;
    cursor: pointer;
    background: #eee;
    border: 1px solid #ccc;
    text-align: left;
	font-weight:bold;
}

#accessibility-menu button.active {
    background-color: yellow;
    color: black;
    font-weight: bold;
}

#accessibility-menu button.red {
    background-color: FFEEEE !important;
    color: black;
    font-weight: bold;
}

body.invert-colors {
    filter: invert(1);
    background-color: #000 !important;
	background-image:unset;
}

body.high-contrast {
    background-color: #000 !important;
    color: #fff !important;
}

body.high-contrast a {
    color: #0ff !important; /* Cyan für Links */
}

body.high-contrast button,
body.high-contrast input[type="submit"],
body.high-contrast .btn {
    background-color: #fff !important;
    color: #000 !important;
    border: 2px solid #fff !important;
}

body.high-contrast-active .white {
    background-color: #000 !important;
    color: #fff !important;
}
body.high-contrast .orderCardCount {
    background-color: #000 !important;
    color: #fff !important;
}

body.brightness-low{
    filter: brightness(0.7);
    background-color: #000 !important;
	background-image:unset;
}


body.greyscale {
    filter: grayscale(1);
}

body.bigger-cursor *,
body.bigger-cursor button,
body.bigger-cursor input,
body.bigger-cursor select,
body.bigger-cursor textarea,
body.bigger-cursor a,
body.bigger-cursor td,
body.bigger-cursor .clickCell{
  cursor: url('/images/accessibility/biggercursor.png') 64 64, auto !important;
}

 

#site-content {
    position: relative; /* Statt fixed */
    width: 100%;
    height: auto;
    overflow: visible; /* Oder overflow: auto, wenn du innerhalb scrollen willst */
    padding-bottom: 60px; /* Platz für den gelben Footer */
    box-sizing: border-box;
}

#accessibility-reopen{
	z-index:9999;
	font-size:2em;
	position:fixed;
	bottom:0px;
	right:0px;
	border-radius:5px 0px 0px 0px;
	display:none;
}

body.high-contrast-active * {
    background-color: #000 !important;
    color: #fff !important;
}

body.high-contrast-active td.hall.cat1,
body.high-contrast-active td.hall.cat2,
body.high-contrast-active td.hall.cat3,
body.high-contrast-active td.hall.cat4,
body.high-contrast-active td.hall.cat5,
body.high-contrast-active td.hall.cat6,
body.high-contrast-active td.hall.cat7,
body.high-contrast-active td.hall.cat8,
body.high-contrast-active td.hall.cat9 {
    background-color: yellow !important;
    color: black !important;
}

body.high-contrast-active td.hall.seatReservation{
    color: white !important;
	background-image:unset !important;
    background-color: orange !important;
	border:0px !important;
}
