/* solo per TEST */
#room-selection {
		position: fixed;
		right:0rem;
		z-index: 1001;
		top:0rem;
	}


svg {
	transform-origin: center center;
	transform-box: fill-box;
	transition: transform .2s linear;
}

/* loader */
.loader {
    border: 16px solid #d6d6d6; /* Light grey */
    border-top: 16px solid #3498db; /* Blue */
    border-radius: 50%;
    width: 12rem;
    height: 12rem;
    animation: spin 2s linear infinite;
		top: 50%;
		left: 50%;
		position: absolute;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* ELEMENTI PRINCIPALI*/
	#map-container {
		position:relative;
	}
	
	.map-container {
		max-height: 720px;	
	}

	.map {
		position: relative;
		top: 0rem;
		bottom: 0rem;
		max-width: 1000px;
		max-height: 750px;
		min-height: 240px;
		min-width: 320px;
		display: block;
		background-color: #FFF;
		/*z-index: 1;*/
		border: 1px solid #b5b5b5;		
	}
	
	.navigator {
		position: absolute;	
		display: block;		
		z-index: 9;
	}
	
	.legend { 
		display:none;
	}
	
	.seat-info {
		display: block;
		position: relative;
	  background-color: #e8e8e8;	
	  max-width: 1000px;
	  /*z-index:3;*/
	}
	
	.shopping {
		display: block;
		position: relative;
		overflow-y: auto;
		overflow-x: none;
		border: 1px solid #b5b5b5;
		background-color: #ffffff;
		max-width: 1000px;
		max-height: 200px;
	}	
	
html.is-mobile  .shopping {
    max-height: 300px;
  } 
	
	.seat-layer {
		position: absolute;
		display:block;
		z-index: 3;
		border:2px solid #C0C0C0;
	}
	
	#legend-container>div {
		padding-top: 1rem;
		font-size: 12px;
	}

	.map-alert {
		position:absolute; 
		width:100%; 
		height:100%; 
		opacity:0.66; 
		background-color: #000; 
		color:#FFF; 
		left:0px; 
		top:0px;  
		display:none; 
		text-align:center;
		font-size:1.6rem; 
		padding-top:30%;
		padding-left:15%;
		padding-right:15%;
	}
		
	/* pulsanti di zoom */	
	.btn-zoom {
		background-color: #000;
		border-color: #000!important;
		color: #FFF;
		margin: 1px;
	}

	.btn-zoom:hover {
		background-color: #444!important;
		border-color: #444!important;		
		color: #FFF!important;
	}
	

	#btn-zoom-reset {
		border-top-left-radius: 0px!important;
		border-top-right-radius: 0px!important;
		border-bottom-left-radius: 0px!important;
		border-bottom-right-radius: 0px!important;
	}
	
	.btn-zoom.btn-xs {
    padding: 3px 5px 1px !important;
    font-size: 10px !important;
    min-width: auto;
    min-height: auto;
  }
	
/* info */
.legend-item {
	text-overflow:ellipsis;
	overflow:hidden;
	max-width:40%;
	white-space:nowrap;
	margin-right: 0.4rem;
	align-items:self-start;	
}
.seat-legend {
	width:100%;
	height:3rem;
	display:flex;
	flex-direction:row;
	align-items:center;
	padding:0 1rem;
}
.legend-zone {
	font-weight:bold;
}

.legend-price {
	float:right;
	display:inline;
	position:absolute;
	right:0.4rem;
}
.legend-reduction {
	display:inline;
	float:right;
	margin-right:2rem;
	margin-left:2rem;
	position:absolute;
	right:5rem;
	text-transform: uppercase;
}

/* elementi carrello */
	.shopping-container {
		overflow-y: auto;
		max-height: 260px;
	}
	
	.shopping-card {
		border-bottom: 1px solid lightgrey;
		background-color: whitesmoke;
		position: relative;
	}
		
	div.hilited {
		background-color: #dbecec;
	}

	.shopping-cart-price {
		font-weight: normal;
	}

	button.fa.btn-primary { 
		border: 1px solid transparent;
	}
	
	select.shopping-cart-label {
		background-color: #FFF;
	}
	
	.shopping-cart-item {
		position: absolute;
		display: block;
		right: 13rem;
		top: 0.4rem;
		min-width: 2.4rem;
		min-height: 2.4rem;
	}
	
	.extra-seat-info {		
		position:absolute;
	}
	
	.extra-seat-info span {
		font-size: 0.8rem;
	}
	
  .items-disclaimer {
    margin-left: 1.8rem;
  }
	
	#items-disclaimer.blinking, .items-disclaimer.blinking {		
		font-size: 1.6rem;
		color: #E00;
	}
	
	#items-confirm {
		position: absolute;
		bottom: 2rem;
		right: 3rem;
	}
	
	/* minimap */
	.mini-container {
		position:absolute; 
		bottom:1rem; 
		left:1rem;
		width:162px;
		height:122px; 
		max-width: 162px;
		max-height: 122px;
		opacity:0.75;
		background-color:#FFF;
		display:none;
		border:1px solid #A0A0A0;
	}
	
	.mini-content {
		max-width:160px; 
		max-height:120px;
	}
	
	.mini-map {
		position:absolute; 
		top:0px; 
		left:0px;
	}
	
	.mini-layer {
		opacity:0.5; 
		background-color:#404040;
	}
	
/* gestione responsive */ 
@media only screen and (min-width:768px) {
	.seat-info {
    left: 0rem;
    height: 3rem;
	}

	.shopping {
		height: 20rem;
	}
	
	.navigator {
		top: 1rem;
		left: 1rem;
		height: 6rem;
		width: 2rem;
	}
	
	.map {		
		top: 0rem;
		bottom: 0rem;
		/*left: 14px;*/		
	}
		
	.loader {
			margin-left: -6rem;
			margin-top: -6rem;
	}
	
	.hide-wide {
		display:none;
	}
	
	/** elementi della toolbar di zoom */
	.btn-zoom {
		min-width:2rem;
		padding: 0.25rem!important;
		font-size: 1.2rem!important;
	}
	
	/* elementi del carrello */
	.shopping-container {
		height: 16rem;
	}
	
	.shopping-card {
		padding: 1rem 0.4rem;		
		height: 3.2rem;
	}
	
	.shopping-card div{
		padding-top: 0.2rem;
	}
	
	.shopping-card-with-info {
		height: 4.2rem!important;
	}
	
	.shopping-cart-price {
		float: right;
		position: absolute;
    top: 0.6rem;
    right: 4.4rem;
	}

	.shopping-cart-trash {
		position: absolute;
		top: 0.4rem;
		right: 0.4rem;
		min-width: 2rem;
		min-height: 2rem;
	}
	
	#total-row {
		padding:0rem 1rem;		
		font-size: 1.2rem;
		position: absolute;
		bottom: 0rem;
		width: 100%;
	}
	
	.shopping-cart-total {
		float: right;		
		font-weight: bold;
		margin-right: 3.6rem;
	}
	
	.shopping-cart-target {
		position: absolute;
		top: 0.4rem;
		left: 0.4rem;
		min-width: 2rem;
		min-height: 2rem;		
	}	
	
	div.shopping-cart-label {
		position: absolute;
		top: 0.6rem;
		left: 4.4rem;
	}
	
	select.shopping-cart-label {
		position: 	absolute;
		right: 14rem;
		min-width: 100px;
		max-width: 300px;
		top: 0.6rem;
		padding: 0.2rem 0.4rem;		
	}
	
	.extra-seat-info {		
		left: 4rem;
		bottom: 0rem;
	}
	
	#cart-submit {
		padding: 0rem 0.25rem;
		position: absolute;
		bottom: 1rem;
		width: 100%;
		display:none;
	}
	
	.float-right {
		float:right;
	}
	
	.cart-btn {
		font-size: 1.25rem!important;
	}
	
	#cart-clear {
		position: absolute;
		right: 0.4rem;
		bottom: 0.2rem;
		top:auto;
	}
	
	.extra-seat-info span {
		margin-left: 1.1rem;
	}
	
}

@media only screen and (max-width:768px) {
	
	.seat-info {
    left: 0rem;
    height: 3rem;
    
	}

	.shopping {
		/*top: 60rem;*/
		left: 0rem;
		/*width: 100%;*/
		height: 48rem;
	}
	
	.navigator {
		top: -3.2rem;
		left: 1rem;
		height: 1.2rem;
		width: 3rem;
		display: flex;
	}
	
	.map {
		top: 0rem;
		bottom: 0rem;
		max-width: 768px;
		max-height: 576px;
		min-width: 160px;
		min-height: 120px;
	}
	
	.loader {
			margin-left: -6rem;
			margin-top: -6rem;
	}
	
	/** elementi della toolbar di zoom */
	.btn-zoom {		
		min-width: 3rem;
		min-height: 3rem;
		font-size: 1.5rem!important;
		padding: 0.25rem 0.5rem!important;
		opacity: 0.8;
	}
	
	.legend-item {
		max-width: 48%;
	}
	
		/* elementi del carrello */
	.shopping-container {
		height: 36rem;
	}
	
	.extra-seat-info {		
		left: 0.25rem;
		top: 2rem;
	}
	
	#total-row {
		padding:0.25rem 1rem;		
		font-size: 1.3rem;
		position: absolute;
		bottom: 0rem;
		width: 100%;
	}
	
	#cart-submit {
		padding: 0rem 0.25rem;
		position: absolute;
		bottom: 3rem;
		width: 100%;
	}
	
	.cart-btn, .shopping-cart-label {
		display:inline;
		margin-left: 0.25rem;
	}
	
	.shopping-cart-label {
		text-overflow: ellipsis;
		max-width: 70%;
		white-space: nowrap;
		overflow: hidden;
		display: inline-block;
	}
	
	select.shopping-cart-label {
		right: 6rem;
		bottom: 0.2rem;
		position: absolute;
		max-width: 50%;
		padding: 0.2rem 0.4rem;
	}
	
	.shopping-card {
		line-height: 2rem;
		height: 4rem;
	}
	
	.shopping-card-with-info {
		height: 6.4rem!important;
	}
	
	.shopping-cart-target, .shopping-cart-trash, .shopping-cart-info {
		font-size: 1.5rem!important;
		position: absolute;
		padding: 0.25rem 0.5rem;
		min-width: 2rem;
		bottom: 0.1rem;
		line-height: 0.75em!important;
		height: 2rem;
	}
	
  .shopping-cart-info {
    bottom: 0.1rem;
  }
	
	.shopping-cart-target {
		left: 0.25rem;
	}
	
	.shopping-cart-trash {
		right: 0.4rem;
	}
	
	.shopping-cart-total {
		margin-right: 6rem;
		float: right;
	}
	
	#cart-clear {
		position:absolute;
		right: 0.25rem;
	}
	
	.shopping-cart-price {
		float: right;
		margin-right: 0.4rem;
	}
	
	.seat-legend {
		height:2rem;
	}
	.extra-seat-info span {
		margin-left: 5rem;
	}
	
	.legend-reduction {
		right: 0rem;
		bottom: 0rem;
	}
	
	.legend-price {
		bottom: 0rem;
	}
}

html.is-mobile #items-confirm {
  position: initial;
}