/* use <div id="shortpagefix"> outer container */
#shortpagefix {
	display: grid;
	grid-template-rows: auto 1fr auto;
	grid-template-columns: 100%;
	min-height: 100vh; /* fallback height - tried calc(90vh - 54px)*/
}

.bg-message {
	background-color:#fffedf; /*sand*/
}

.ticketposter {
	height: 400px;
}

.ticketpostermd {
	height: 250px;
}

.ticketpostersm {
	height: 180px;
}

@media screen and (max-width:420px) {
	.ticketposter {
		height: 300px;
	}
}

.theatre {
	max-width: 700px;
	margin:0 auto;
	/*stage*/
	border-style: solid;
	border-width: 30px 10px 10px 10px;
	border-top-color: #950f0f;
	border-right-color: #ffffff00;
	border-bottom-color: #ffffff00;
	border-left-color: #ffffff00;
}
.stage {
	width: 100%;
	height: 30px;
	background: #c7c7c7;
	border-radius: 0 0 3px 3px;
	padding: 4px;
	text-align: center;
	margin-bottom: 20px;
}

.stagelabel {
	color: white;
	font-family: "Martel", cursive;
	letter-spacing:20px;
	font-weight: bold;
}

.stageinfobox {
	width: 100%;
	border: solid 2px #c7c7c7;
	border-radius: 0 0 3px 3px;
	padding: 4px;
	text-align: center;
	margin-bottom: 8px;
}

.noFrontRow {
	margin-bottom: -16px !important;
}
/* SEATS LAYOUT */
#seating {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(17, 1fr); /* 17=16+aisle */
	grid-template-rows: repeat(14, 1fr) repeat(1, 2fr);  
	grid-gap: 10px 3px;
	justify-items: center;
	align-items: center;
	border-bottom: 4px solid #c7c7c7;

}

#seating:nth-child(3) {
	margin-left: -50px;
}
	
/* SEAT & "COLOR CODE" */
.seat,
.sold,
.resv,
.new {
	color: #fff;
	font-size: 13px;
	text-align: center;
	padding-top: 3px;
	border-radius: 50%;
	width: 26px;
	height: 26px;
	-webkit-user-select: none; /* Safari */
	-ms-user-select: none; /* IE 10 and IE 11 */
	user-select: none; /* Standard syntax */
}

.seat,
.new {
	cursor: pointer;
}

/*@media (hover: hover), (pointer: fine) { /* ignore on touch otherwise sticks */
/*@media (hover: hover), (-moz-touch-enabled: 0), (pointer:fine) { /* show only on non-touch devices 
	.seat:hover,
	.new:hover {
		border: solid 4px #f3f3f3; /*light grey
    	width: 18px;
    	height: 18px;
    	color: #ffffff03; /*hide text
	}
}*/

.seat-key,
.sold-key,
.resv-key,
.new-key {
	display: inline-block;
	border-radius: 50%; /*TL, TR, BR BL */
	width: 16px;
	height: 16px;
	margin-right: 20px;
	margin-bottom: -2px; 
}

@media screen and (max-width:540px) {
	.seat,
	.sold,
	.resv,
	.new {
		/*font-size: 11px;
		padding-top: 4px;*/
		width: 18px;
		border-radius: 40%;
	}
	/* hide row letter */
	.seat::first-letter ,
	.sold::first-letter ,
	.resv::first-letter ,
	.new::first-letter  {
		font-size: 0;
	}
}

.seat,
.seat-key {
	background: #c7c7c7; /* light grey */
}

.sold,
.sold-key {
	background: #fdd1d1; /* pink */
	text-decoration: line-through;
	text-decoration-thickness: 0.2rem;
}

.resv,
.resv-key {
	background: #fdd1d1; /* pink */
	text-decoration: line-through;
	text-decoration-thickness: 0.2rem;
}

.new,
.new-key {
	background: #17a2b8; /*S1 blue*/
}

.aisle {
	-webkit-user-select: none; /* Safari */
	-ms-user-select: none; /* IE 10 and IE 11 */
	user-select: none; /* Standard syntax */
}

.errorbox {
	padding-left: 1rem;
	padding-right: 1rem;
	display: inline-block;
	line-height: 2rem;
}

.checkbox-large {
    transform: scale(2);
    -webkit-transform: scale(2);
}

.my-tab {
	width: 85px;
	text-align: center;
}

a.my-tab {
	font-weight: bold;
}

@media screen and (max-width:386px) {
	.my-tab {
		width: 25%;
	}
}

.tab-now {
	background-color: #f8f9fa;
}

a.nav-link {
	color: #666666 !important;
}

a.disabled {
	color: #a1a1a1 !important;
}