#nav_row { position:static; }
.content {
	margin:0;
	border:none;
}
.content > .bcTrail {
	margin: -20px -20px 20px;
	width: calc(100% + 40px);
	padding: 8px 20px;
	position: relative;
}

#map_wrap {
	margin:20px auto 0;
	width:100%;
	height:calc(100vh - 120px);
	/* max-width:1920px; */
	overflow:auto;
	overflow-y:hidden;
}
#map {
	transform-origin:top left;
	position:relative;
	width:fit-content;
	margin:auto;
	cursor:zoom-in;
	background-size:contain;
	background-repeat:no-repeat;
	box-sizing:border-box;
}
#map:active { cursor:grabbing !important; }
#map > div {
	position:relative;
}
#map > div > div {
	border-radius:50%;
	background-color:#8c0;
	position:absolute;
 z-index:1;
}
#map *.open { cursor:pointer; }

#map div.special10 { background-color:#B5F; background-image:url(img/star.png); background-position:center; background-repeat:no-repeat; background-size:contain; } /* VIP */
#map div.ada, #map div.special1, #map div.special2 { background-color:#00537b; background-image:url(img/ada.png); background-position:center; background-repeat:no-repeat; background-size:contain; }
#map div.unavailable { background-color:#d9d9d9; background-image:none; }
#map div.is-selected { background-color:#0099e6 !important; opacity: 1 !important}

/*span.special10 { display:none !important; }*/

#map > svg {
 position:absolute;
 background-image:none !important;
 left:0;
 top:0;
 z-index:-1;
}
#map > svg > * { fill:#8c0; opacity:0.5; }
#map > svg > *.unavailable { fill:#d9d9d9; }
#map > svg > *.is-selected { fill:#4dbbe9 !important; }
#map > svg > *:hover { opacity:0.75; }

#map > #seat_details {
	position:absolute;
	display:none;
	padding:8px 10px;
	border:1px solid #ccc;
	background-color:#fff;
	font-family:sans-serif;
	font-size:12px;
	box-shadow:2px 2px 4px rgba(0,0,0,0.15);
	z-index:2;
	width:fit-content;
	transform-origin:top center;
}
#map > #seat_details > span, #seat_table td:first-child span {
 display:inline-block;
 background-color:#ffc;
 padding:2px 5px;
 margin:0 -5px;
 width:100%;
 font-size:11px;
}

#seat_table td:first-child span {
 margin:0;
 width: calc(100% - 10px);
 display:block;
}
#selection {
	position:sticky;
	z-index:6;
	right:20px;
	bottom:0px;
 width:-moz-fit-content;
 width:fit-content;
 margin-left:auto;
	box-sizing:border-box;
	max-width:calc(100% - 10px);
 min-width:298px;
 max-height:40px;
 margin-bottom:32px;
}
#selection:focus { max-height:calc(100vh - 20px) !important; outline:none; margin-bottom:-35px !important; }
#selection:focus-within {	max-height:calc(100vh - 20px) !important; outline:none; margin-bottom:-35px !important; }
#selection > form {
	border:1px solid #999;
	background-color:#fff;
	padding:10px 10px 42px;
}
#selection h3 {
	background-color:#365282;
	color:#fff;
	margin:-10px -10px 10px;
	padding:10px;
	cursor:pointer;
}
#selection h3:after {
	content:">";
	transform:rotate(-90deg);
	transition:all 1s;
	float:left;
 margin-right:10px;
}
#selection:focus h3, #selection.has-seats h3 { cursor:default; }
#selection:focus-within h3 { cursor:default; }
#selection:focus h3:after, #selection.has-seats h3:after {	transform:rotate(90deg);	}
#selection:focus-within h3:after {	transform:rotate(90deg);	}
#selection.has-seats {
	max-height:100vh;
} 
#selection th { background-color:transparent; color:#333; padding:0 5px; }
#selection tr:nth-child(even) { background-color:#f1f1f1; }
#selection td { padding:5px; }
#selection select { padding: 3px 22px 2px 5px; max-width:180px; }
#selection input[type=text] {
	width: calc(100% - 100px);
	min-width: 120px;
	margin: 4px 0 0;
}
#selection > div {
	max-height:calc(100vh - 80px);
	overflow:auto;
	padding-bottom:10px;
}
#selection_fields {
	display:inline-block;
	vertical-align:bottom;
	margin:10px 5px 0 0;
}
#selection + #checkout {
	position: sticky;
	bottom: 0;
	z-index: 6;
	float: right;
 padding:5px 10px;
 margin:1px;
}
#selection + #checkout input {
 background-color:#C30101;
 padding:5px 10px;
}
#selection .fees { text-align:right; font-size:11px; }
#selection .fees:before { content:"("; }
#selection .fees:after { content:")"; }

#seatmap {
	clear:both;
	border-bottom:2px solid #ccc;
	padding-top:16px;
 width:100%;
 display:flex;
}
#seatmap > * { flex-grow:1 }
#seatmap h2 { margin-top:0; overflow:hidden; }
#seatmap:after {
	content:"";
	height:0;
	clear:both;
	display:block;
}
#zoom {
	float:left;
	width:33%;
	padding-top:10px;
 align-self:flex-end;
}
#zoom a { text-decoration:underline; }
#zoom a.is-current { cursor:default; text-decoration:none; color:#333; }
#zoom span {
	display:inline-block;
	background-color:#ccc;
	height:2px;
	width:40px;
	margin:0 5px;
	padding:0 2px;
	text-align:right;
	vertical-align:middle;
}
#zoom a.is-current + span { text-align:left; }
#zoom span:before {
	content:"";
	display:inline-block;
	width:14px;
	height:14px;
	margin-top:-6px;
	border-radius:50%;
	background-color:#0071bd;
	vertical-align:top;
}

#legend {
	float:right;
	width:33%;
	padding-top:6px;
	font-size:11px;
	text-align:right;
 order:3;
}
#legend > span {
	margin:6px 0 6px 15px;
 display:inline-block;
	/* color:#ccc; */
}
#legend > span:before {
	content:"";
	display:inline-block;
	width:14px;
	height:14px;
	border-radius:50%;
	vertical-align:bottom;
	margin-right:5px;
	background-color:#d9d9d9;
}

/* your selection */
#legend > span:last-child { color:#4dbbe9; }
#legend > span:last-child:before { background-color:#4dbbe9; }


/* NEW */

.keyboard-key {
    display: inline-block;
    border: 1px solid #ccc;
    border-radius:4px;
    min-width:1em;
    background-color: #f6f6f6;
    box-shadow: 1px 1px 1px #ddd;
    padding: 0 0.2em 0 0.2em;
    font-size:0.9em;
    font-family: monospace;
    color: #333;
}

.seat-highlighted-section, .seat-highlighted-row {
    transition: all 0.2s;
}

.seat-highlighted {
    background-color:#0099e6 !important;
    opacity: 0.5;
}

div .is-selected {
    transition: all 0.2s;
}

.no-transition div .is-selected {
    transition: none;
}

div[data-section_id] {
    cursor: pointer;
}

#seat_details {
    user-select: none;
}

#map div[data-ispivot='true'] {
    box-sizing: border-box;
    border: 2px solid rgba(0,0,0,0.3);
}


@media (max-width:959px) {
	.only-desktop { display:none; }
 #seatmap > * { width:auto; }
	#zoom > span#toggle { display:none; }
	#zoom > a { margin-left:5px; }

	#seatmap h2:after {
		content: "Tap map to toggle zoom level";
		display: block;
		width: 100%;
		order: 4;
		text-align: center;
		text-transform: none;
		font-weight: normal;
		font-size: 12px;
		color: #999;
	}
 a#zoom_full:after { content: " (-)"; }
 a#zoom_sec:after { content: " (+)"; }
}

@media (max-width:759px) {
	.not-mobile { display:none; }
	#map_wrap {
		margin:20px -10px 0;
		width:calc(100% + 20px);
	}
	#selection_fields {
		margin-right:0;
		margin-bottom:5px;
	}
	#selection {
		right:10px;
		width:100%;
		max-height:76px;
	}
	#selection:focus { margin-bottom: -5px !important; }
	#selection:focus-within { margin-bottom: -5px !important; }
	#selection + #checkout {
		background-color:#fff;
		width: calc(100% - 12px);
		margin-left:11px;
		margin-top:-40px;
	}
	#selection + #checkout input {
		padding: 8px 10px 6px;
		width: 100%;
		border-radius: 5px;
		text-transform: uppercase;
	}
	#zoom { padding-top:2px; }
	#zoom > * { display:block; margin:2px 0 !important; }
	#legend { padding-top:1px; }
	#legend > span { margin:5px 0; display:block; }
	#legend > span:before { float:right; margin:0 0 0 5px; }
}