#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%;
    width: 80%;
	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: grab;
	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 > div > div:not(.unavailable):hover,
#map > div > div:not(.unavailable).active
{
  /*outline: 1px solid currentColor; */
  /* outline-offset: 0.5px; */
  box-shadow: 0 0 0 0.5px white, 0 0 0 1.5px currentColor; 
  box-shadow: 0 0 0 0.5px white, 0 0 0 1.5px #0099e6 !important;
}

#map > div > div:not(.unavailable).orphan {
  box-shadow: 0 0 0 0.5px white, 0 0 0 1.5px red; 
}

#map > div > div.unavailable {
    cursor: not-allowed
}

#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;*/
    opacity: 0;
	padding:8px 8px;
	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:bottom center;
    
    transition: opacity 0.5s ease, transform 0.25s ease;
    border-radius: 10px;
    pointer-events: none;
    box-sizing: border-box;
}

#map > #seat_details > span {
    background-color: none !important;
    box-sizing: border-box;
}

#map > #seat_details > #seat_details_heading
 {
    white-space: nowrap;
    width: 100% !important;
    background-color: #365282;
    color: white;
    box-sizing: border-box;
}

#map > #seat_details >  #seat_details_heading  > #seat_details_heading_circle {
    display: inline-block;
    width: 1em;
    height: 1em;
    border-radius: 1em;
    background-color: #ccc;
    margin-right: 5px;
}


#map > #seat_details > #seat_details_info {
    display: flex;
    flex-direction:row;
    justify-content: space-between;
    width: 100% !important;
    gap: 5px;
}

#map > #seat_details > #seat_details_info div {
    display: flex;
    flex-direction: column
}

#map > #seat_details > #seat_details_info .label {
    color: #555;
}

#map > #seat_details > #seat_details_special {
    color: #555;
    font-size: 0.8em;
}


#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;
	right:20px;
	bottom:0px;
 width:-moz-fit-content;
 width:fit-content;
  margin-left:auto;
	max-width:calc(100% - 10px);
 min-width:298px;
 max-height:40px;
 margin-bottom:32px; */
    width: 100%;
	z-index:6;
	box-sizing:border-box;
    height: 100%;
    max-height: 100%; 
    display: flex;
    flex-direction: column;
    border: 1px solid #ccc;

}
/*
#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;*/
    height: 100%;
}

#selection .tabs {

    z-index: 20;
    background: white;
    display: flex;
    width: 100%;
   /* margin-top: -20px;
    margin-bottom: -12px;*/
    max-height: 12em;
}

#selection .forms {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

#selection form.toggle-form {
    display: none;
}

#selection form.toggle-form.active {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

#selection #browse_seat_table tbody td {
    cursor: pointer;
    padding: 10px;
}

#selection #browse_seat_table tbody tr.selected {
    background-color: rgb(77, 187, 233);
}

#selection #browse_seat_table tbody tr .browse-row-selected {
    display: none
}

#selection #browse_seat_table tbody tr.selected .browse-row-selected {
    display: inline-block;
}

#browseForm th {
    top: 42px;
    padding: 10px;
}

#selection .browse_filters {
    display: flex;
    flex-direction: row;
    padding: 5px 10px;
    background-color: #f6f6f6;
    
}


#selection .browse_filters label {
    text-transform: uppercase;
    color: #666;
    font-size: 0.8em;
    font-weight: bold;
}


#selection .browse_filters label.qty_filter select,
#selection .browse_filters label.qty_filter {
    padding-left: 1em;
    padding-right: 1em;
}

#selection #orphan_warning {
    background-color: #fcc;
    color: red;
    font-size: 0.8em;
    padding: 1em;
    display: none
}
#selection #orphan_warning.active {
    display: block
}


#selection #no_seats_warning {
    background-color: #f0f0f0;
    color: #666;
    font-size: 0.8em;
    padding: 1em;
    display: none
}
#selection #no_seats_warning.active {
    display: block
}

#selection h3 {
    margin: 0px;
	background-color:#ccc;
	color:#666;
	padding:10px;
	cursor:pointer;
    flex:1
}

#selection h3.active {
	background-color:#365282;
	color:#fff;
	padding:10px;
	cursor: pointer;
}

#selection table {
    width: 100%;
}

#selection .table_wrapper {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
}
/*
#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 {
    position:sticky;
    top: 0;
    background-color: #fff !important;
}

#selection th { background-color:transparent; color:#333; padding:0 10px; }

#selection th {
    z-index: 5
}


#selection #selectionForm tr:nth-child(even) { background-color:#f1f1f1; }
#selection #browseForm tr.striped { background-color:#f1f1f1; }
#selection #selectionForm th { padding:0 5px; }

#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;
}
#checkout input:disabled {
 color: #666;
 border-color: #aaa;
 background-color:white;
}
#checkout {
    margin-top: 1em;
    display: none;
    padding: 0.5em;
    text-align: right;
}
#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;
 min-height:120px;
}
#seatmap > * { flex-grow:1 }
#seatmap h2 { margin-top:0; overflow:hidden; }
#seatmap:after {
	content:"";
	height:0;
	clear:both;
	display:block;
}

#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; }


#selection #checkout_panel {
    max-height: 15em;
    z-index: 50;
    position: sticky;
    bottom: 0;
    background-color: white;
    /* box-shadow: 0px -4px 4px -1px rgba(0,0,0,0.2); */
}

/* 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; }
    #seatmap {
        flex-direction: column;
    }
	#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 .table_wrapper {
        max-height: 60vh;
    }
    
	#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;
	}
    
	#legend { padding-top:1px; }
	#legend > span { margin:5px 0; /* display:block; */ }
	#legend > span:before { float:right; margin:0 0 0 5px; }
}