@import '_vars.less';

body.bookingPage {
	#entrance {
		display: none;
	}
	#page {
		height: 100%;
		padding-left: 0;
		padding-right: 0;
		@media @m {
			padding-top: 100px !important;
		}
		@media @m12 {
			padding-bottom: 0 !important;
		}
	}
}


.zoomist-container,
.zoomist-image {
	height: 100%;
}
.zoomist-image {
	// transition: transform 0.3s ease;
	@media @m {
		padding: 0 0 60px;
	}
	@media @td {
		padding: 15px 30px 55px;
	}
}
.zoomist-wrapper {
	background: none !important;
}
.zoomist-image {
	pointer-events: inherit !important;
}
.zoomist-zoomer {
	right: 40px !important;
	top: 40px !important;
	border-radius: 0 !important;
	.zoomist-zoomer-icon {
		fill: #3c3c3b !important;
	}
	.zoomist-zoomer-button.zoomist-zoomer-disabled {
		opacity: 0.5 !important;
	}
	button {
		cursor: pointer !important;
		width: 40px;
		height: 40px;
		background-color: #bbb !important;
		&:hover {
			background-color: #ddd !important;
		}
		&:active {
			background-color: #bbb !important;
		}
	}
	@media @m {
		right: 20px !important;
		top: 20px !important;
		display: flex;
		button {
			width: 30px;
			height: 30px;
		}
	}
}

#booking {
	display: inline;
	form {
		display: inline;
	}

	.button {
		position: fixed;
		width: 120px;
		text-align: center;
		z-index: 4;
		@media @m {
			bottom: 20px;
			&.back { left: 20px; }
			&.next { right: 20px; }
		}
		@media @td {
			bottom: 40px;
			&.back { left: 40px; }
			&.next { right: 40px; }
		}
	}
	form:invalid .submit,
	.button.inactive {
		background-color: #777;
		color: @grey;
		cursor: default;
	}

	#room {
		width: 100%;
		height: 100%;
		overflow-x: auto;
		#plan {
			display: block;
			width: 100%;
			height: 100%;
		}
		@media screen and (min-width: 601px) and (max-width: 700px) {
			padding-top: 0;
		}
	}

	.personalInfo,
	.alert {
		display: none;
	}

	#legend {
		position: fixed;
		font-size: 12px;
		opacity: 0.45;
		@media @m {
			bottom: 20px;
			left: 18px;
		}
		@media @td {
			bottom: 40px;
			left: 40px;
		}
		div {
			float: left;
			padding-left: 27px;
			margin-right: 20px;
			background: no-repeat center left;
			height: 20px;
			line-height: 20px;
			&.iconEntrance {
				background-image: url('/booking/icon-entrance.svg');
			}
			&.iconTaken {
				background-image: url('/booking/icon-taken.svg');
			}
		}
	}

	#timer {
		position: fixed;
		@media @m { padding: 20px; }
		@media @td { padding: 40px; }
		line-height: 37px;
		left: 0;
		text-align: center;
		bottom: 0;
		width: 100%;
		font-size: 150%;
		letter-spacing: 1px;
		pointer-events: none;
		background: rgba(60,60,59,0);
		background: -moz-linear-gradient(top, rgba(60,60,59,0) 0%, rgba(60,60,59,0.9) 50%, rgba(60,60,59,0.9) 100%);
		background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(60,60,59,0)), color-stop(50%, rgba(60,60,59,0.9)), color-stop(100%, rgba(60,60,59,0.9)));
		background: -webkit-linear-gradient(top, rgba(60,60,59,0) 0%, rgba(60,60,59,0.9) 50%, rgba(60,60,59,0.9) 100%);
		background: -o-linear-gradient(top, rgba(60,60,59,0) 0%, rgba(60,60,59,0.9) 50%, rgba(60,60,59,0.9) 100%);
		background: -ms-linear-gradient(top, rgba(60,60,59,0) 0%, rgba(60,60,59,0.9) 50%, rgba(60,60,59,0.9) 100%);
		background: linear-gradient(to bottom, rgba(60,60,59,0) 0%, rgba(60,60,59,0.9) 50%, rgba(60,60,59,0.9) 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3c3c3b', endColorstr='#3c3c3b', GradientType=0 );
	}


	.chooseSeats {
		height: 100%;
		position: relative;
		overflow: hidden;
	}


	.personalInfo {
		.form {
			width: 100%;
			max-width: 380px;
			margin: 0 auto;
		}
		@media @m { padding: 40px 20px 120px; }
		@media @td { padding: 60px 40px 150px; }
		.selectedPlaces {
			margin-bottom: 40px;
		}
		label {
			display: block;
			cursor: pointer;
		}
		label + label {
			margin-top: 30px;
		}
		input {
			-webkit-appearance: none;
			appearance: none;
			border-radius: 0;
		}
		input[type="text"],
		input[type="email"],
		input[type="tel"] {
			border: 0;
			background-color: rgba(0, 0, 0, 0.15);
			color: #fff;
			padding: 10px;
			margin-top: 10px;
			width: 100%;
		}

		label.checkbox {
			input {
				display: inline-block;
				vertical-align: middle;
				border: 1px solid #fff;
				height: 16px;
				width: 16px;
				box-shadow: 0 0 0 3px @grey inset;
				margin-right: 10px;
				&:checked {
					background-color: #fff;
				}
			}
			span {
				display: inline-block;
				vertical-align: middle;
			}
			a {
				text-decoration: underline;
			}
		}

	}

	.alert {
		position: absolute;
		top: 50%;
		left: 50%;
		width: 100%;
		max-width: 500px;
		padding: 40px;
		text-align: center;
		line-height: 1.3em;
		transform: translate(-50%,-50%);
		h2 {
			line-height: 1.3em;
			margin-bottom: 20px;
		}
		&.error {
			h2 {
				color: @redongrey;
			}
		}
		.email {
			.bold;
		}
		.button {
			position: static;
			margin-top: 40px;
		}
	}

}


text.description,
text.label,
.seat text {
	fill: #fff;
	font-size: 0.5px;
	transform: translate(0.5px, 0.66px);
	text-anchor: middle;
}
text.label {
	opacity: 0.5;
	font-size: 0.3px;
}
text.description {
}
line {
	stroke: #fff;
	stroke-width: 0.04px;
}
.exit {
	opacity: 0.3;
}
.seat {
	cursor: pointer;
	rect {
		width: 1px;
		height: 1px;
		stroke: #fff;
		fill: rgba(0, 0, 0, 0);
		stroke-width: 0.02px;
		transition: fill 0.1s ease;
	}

	&:hover rect {
		fill: #933;
	}
	&.selected rect {
		fill: #f00;
	}
	&.selected text {
		/*fill: #000;*/
	}
	&.selected:hover rect {
		fill: #e00;
	}
	&.locked rect,
	&.locked:hover rect,
	&.taken rect,
	&.taken:hover rect {
		fill: #888;
	}
	&:focus {
		outline: none !important;
	}
	&:focus-visible {
		outline: none !important;
		rect {
			fill: #933;
		}
	}
	&.selected:focus-visible {
		rect {
			fill: #f66;
		}
	}
	// &.locked rect,
	// &.locked:hover rect {
	// 	fill: #444;
	// }
	// &.locked text,
	// &.locked:hover text {
	// 	fill: #888;
	// }
}

.room-skip-links {
	position: absolute;
	top: -30px;
	left: 0;
	width: 100%;
	text-align: center;
	padding: 5px 10px 0;
	z-index: 10;
	transition: top 0.2s ease;
	&:focus-within {
		top: 0;
	}
	a {
		display: inline-block;
		margin: 0 2px;
	}
}