/* GENERAL */

.hidden {
	display: none;
}

#preloader {
	width: 0;
	height: 0;
	overflow: hidden;
}

.loading {
	cursor: default !important;
}

/* INFO */

#info {
	width: 256px;
	max-width: 440px;
	margin: 16px 8px;
}

@media (max-width: 992px) {
	_:-ms-fullscreen, :root #info {
		width: 100%; /* IE11 flex bug */
	}
}

#info h4.loading {
	background-repeat: no-repeat;
	background-image: url('../imgs/ajax-loader-black.gif');
	background-position: right center;
}

#info p {
	margin: 0 0 0.5em 0;
	line-height: 1.15;
}

#info .note {
	font-style: italic;
	color: #888;
}

#info div.seperator {
	margin: 1em 0 1em 0;
	border-top: 1px solid #cccccc;
	border-bottom: 1px solid #cccccc;
	border-radius: 2px;
}

#info table {
	border-spacing: 0;
	border-collapse: collapse;
	margin-bottom: 1em;
}

#info table.pairs {
	width: 100%;
}

#info table.pairs td.label {
	line-height: 2;
}

#info table.pairs td.input {
	text-align: left;
}

#info table.pairs td.input input[type=text] {
	width: 100%;
}

/* SCHEMA */

#schema {
	position: relative;
	margin: 16px 8px;
	background-color: #4f4842;
	border: 3px solid #4f4842;
	border-radius: 8px;
}

@media (max-width: 712px) {
	#schema {
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
	}
}

#touch-icon {
	top: 255px;
	left: 214px;
	width: 48px;
	height: 48px;
	background-image: url('../imgs/touch-icon.png');
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}

@media (max-width: 712px) {
	#touch-icon {
		display: unset;
	}
}

@media (min-width: 713px) {
	#touch-icon {
		display: none;
	}
}

#floor-top-left, #floor-top-center, #floor-top-right-part1, #floor-top-right-part2 {
	top: 156px;
	height: 29px;
}

#schema-inner-border {
	width: 678px;
	height: 526px;
	border: 2px solid #f5f5f5;
	border-radius: 8px;
	position: relative;
	background-color: #fafafa;
}


/* SCHEMA MESSAGES */

#schema-flash-message {
	position: absolute;
	top: 183px;
	left: 232px;
	width: 343px;
	line-height: 12pt;
	max-height: 144px;
	padding: 6px;
	border-width: 2px;
	border-style: solid;
	border-radius: 6px;
	text-align: center;
	font-size: 11pt;
	overflow: hidden;
}

#schema-flash-message, #schema-flash-message.msg-info {
	background-color: #f5f5f5;
	border-color: #a89c86;
}

#schema-flash-message.msg-error, #schema-flash-message.msg-warning {
	background-color: #d16349;
	border-color: #da9694;
	color: #ffffff;
}

#schema-flash-message.msg-error {
	cursor: pointer;
}

#schema-flash-message.loading {
	padding-bottom: 22px !important;
	background-repeat: no-repeat;
	background-position: center bottom;
	background-image: url('../imgs/ajax-loader-line.gif');
}


/* ROWS AND COLS */

.row0	{ top: 0px; }
.row1	{ top: 6px; }
.row2	{ top: 80px; }
.row2-3	{ top: 154px; }
.row3	{ top: 191px; }
.row4	{ top: 265px; }
.row4-5	{ top: 339px; }
.row5	{ top: 376px; }
.row6	{ top: 450px; }

.col0   { left: 0px; }
.col1   { left: 8px; }
.col2   { left: 66px; }
.col3   { left: 124px; }
.col4   { left: 182px; }
.col5   { left: 240px; }
.col6   { left: 298px; }
.col7   { left: 356px; }
.col8   { left: 414px; }
.col9   { left: 472px; }
.col10  { left: 530px; }
.col11  { left: 588px; }
.col12  { left: 646px; }


/* TABLES & CHAIRS */
/* INFO: Positioned by rows and cols. */

.table {
	position: absolute;
	width: 52px;
	height: 70px;
}

.desk {
	position: absolute;
	top: 0px;
	left: 15px;
	width: 22px;
	height: 70px;
	line-height: 64px;
	color: #ffffff;
	text-align: center;
	font-size: 9pt;
	font-weight: bold;
	border: 2px solid #f5f5f5;
	background-color: #555555;
}

.seat {
	display: block;
	position: absolute;
	width: 17px;
	border-top: 2px solid #f5f5f5;
	border-bottom: 2px solid #f5f5f5;
	background-repeat: no-repeat;
	background-position: 0px 0px;
}

.seat.free {
	background-color: #a5c320;
}

.seat.free.ajax:hover {
	background-color: #c9ea26;
}

.seat.free.unavailable {
	background-color: #c4d194 !important;
}

.seat.prebooked {
	background-color: #d99a97;
}
.seat.prebooked.ajax:hover {
	background-color: #d99a97;
}

.seat.prebooked-owned {
	background-color: #b13f9a;
}
.seat.prebooked-owned.ajax:hover {
	background-color: #d586c5;
}

.seat.booked {
	background-color: #e3c48a;
}
.seat.booked.ajax:hover {
	background-color: #e3c48a;
}

.seat.booked-owned {
	background-color: #00b0f0;
}
.seat.booked-owned.ajax:hover {
	background-color: #88deff;
}

.seat.sold {
	background-color: #ccd0d8;
	background-image: url('../imgs/seat-sold.png');
	cursor: default !important;
}
a.sold.ajax:hover {
	background-color: #ccd0d8;
}

/*.seat.sold-owned {
		background-color: #7cca62;
}

.seat.sold-owned.ajax:hover {
		background-color: #caeabf;
}*/

.seat.sold-owned {
	background-color: #00b0f0;
}

.seat.sold-owned.ajax:hover {
	background-color: #88deff;
}

.seat.booked-owned, .seat.prebooked-owned {
	background-image: url('../imgs/seat-book.png');
}

.seat.sold-owned {
	background-image: url('../imgs/seat-bought.png');
}

.seat.free.ajax, .seat.prebooked.ajax, .seat.prebooked-owned.ajax, .seat.booked-owned.ajax, .seat.sold-owned.ajax {
	cursor: pointer;
}

.seat.selected {
	background-color: #444444 !important;
}

.seat.loading {
	background-image: url('../imgs/ajax-loader-blue.gif') !important;
	background-position: -1px -1px !important;
	background-color: #f5f5f5 !important;
}

.chair1, .chair2, .chair3, .chair4 {
	left: 0px;
	border-left: 2px solid #f5f5f5;
	border-right: 1px solid #f5f5f5;
}

.chair5, .chair6, .chair7, .chair8 {
	right: 0px;
	border-left: 1px solid #f5f5f5;
	border-right: 2px solid #f5f5f5;
}

.chair1, .chair5 { height: 17px; top: 2px; border-bottom-width: 1px; }
.chair2, .chair6 { height: 16px; top: 19px; border-top-width: 1px; border-bottom-width: 1px; }
.chair3, .chair7 { height: 16px; top: 35px; border-top-width: 1px; border-bottom-width: 1px; }
.chair4, .chair8 { height: 17px; top: 51px; border-top-width: 1px; }


/* VARIOUS OBJECTS */

#object-bar, #object-stage,
#wall-left-top, #wall-left-middle, #wall-right-top, #wall-right-bottom,
#floor-bar,
#floor-top-left, #floor-top-center, #floor-top-right-part1, #floor-top-right-part2,
#floor-middle,
#floor-bottom-left, #floor-bottom-right,
#touch-icon
{
	position: absolute;
	text-align: center;
	font-weight: bold;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}


/* OBJECTS */
/* INFO: Positioned by rows and cols. */

#object-stage, #object-bar {
	color: #ffffff;
	font-size: 11pt;
	border: 2px solid #f5f5f5;
	background-color: #a89c86;
	overflow: hidden;
}

#object-bar {
	width: 52px;
	height: 144px;
	line-height: 144px;
}

#object-stage {
	width: 28px;
	height: 218px;
}

#object-stage-caption {
	position: absolute;
	line-height: 24px;

	/* schema-ie.css */
	/*width: 24x;
	height: 214px;
	top: 0px;
	left: 0px;
	writing-mode: tb-rl;*/

	/* schema-not-ie.css */
	/*width: 214px;
	height: 24px;
	top: 95px;
	left: -95px;
	-webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	-o-transform: rotate(90deg);*/
}


/* WALLS */
/* INFO: Positioned by rows and cols. */

#wall-left-top, #wall-left-middle, #wall-right-top, #wall-right-bottom {
	border: 2px solid #f5f5f5; /*#f5f5f5*/
	background-color: #4f4842;
}

#wall-left-top {
	width: 60px;
	height: 150px;
	border-top-width: 0px;
	border-left-width: 0px;
}

#wall-left-middle {
	width: 118px;
	height: 144px;
	border-left-width: 0px;
	border-top-right-radius: 8px;
	border-bottom-right-radius: 8px;
}

#wall-right-top {
	width: 32px;
	height: 150px;
	border-top-width: 0px;
	border-right-width: 0px;
	/*border-top-right-radius: 8px;*/
}

#wall-right-bottom {
	width: 90px;
	height: 150px;
	border-bottom-width: 0px;
	border-right-width: 0px;
	border-top-left-radius: 8px;
	/*border-bottom-right-radius: 8px;*/
}


/* FLOOR */

#floor-bar,
#floor-top-left, #floor-top-center, #floor-top-right-part1, #floor-top-right-part2,
#floor-middle,
#floor-bottom-left, #floor-bottom-right
{
	color: #a6a6a6;
	font-size: 11pt;
	font-weight: bold;
	border: 2px solid #f0f0f0;
	background-color: #e8eeee;
}

#floor-bar {
	top: 6px;
	left: 124px;
	width: 52px;
	height: 152px;
	border-bottom-width: 0px;
}

#floor-top-left, #floor-top-center, #floor-top-right-part1, #floor-top-right-part2 {
	top: 156px;
	height: 29px;
}

#floor-top-left, #floor-bottom-left {
	line-height: 25px;
	text-align: left;
	padding-left: 10px;
}

#floor-top-left {
	left: 0px;
	width: 126px;
	border-left-width: 0px;
	border-right-width: 0px;
}

#floor-top-center {
	left: 126px;
	width: 48px;
	height: 29px;
	border-top-width: 0px;
	border-left-width: 0px;
	border-right-width: 0px;
}

#floor-top-right-part1 {
	left: 174px;
	width: 10px;
	height: 29px;
	border-left-width: 0px;
	border-right-width: 0px;
}

#floor-top-right-part2 {
	left: 184px;
	width: 456px;
	height: 29px;
	border-bottom-width: 0px;
	border-left-width: 0px;
}

#floor-middle {
	top: 183px;
	left: 182px;
	width: 458px;
	height: 160px;
	line-height: 158px;
	font-size: 16pt;
	border-top-width: 0px;
	border-bottom-width: 0px;
}

#floor-bottom-left, #floor-bottom-right {
	top: 341px;
	height: 29px;
}

#floor-bottom-left {
	left: 0px;
	width: 184px;
	border-left-width: 0px;
	border-right-width: 0px;
}

#floor-bottom-right {
	left: 184px;
	width: 456px;
	height: 29px;
	border-top-width: 0px;
	border-left-width: 0px;
}