﻿
@font-face {
  font-family: 'Interstate';
  font-style: normal;
  src: url(InterstateRegular.ttf);
}

@font-face {
  font-family: 'Interstate';
  font-weight: bold;
  src: url(InterstateBold.ttf);
}

@font-face {
  font-family: 'InterstateLight';
  font-style: normal;
  src: url(InterstateLight.ttf);
}


  * {
	-webkit-user-select: none;
    user-select: none; /* Disabilita la selezione del testo */
}

  html, body {
    height: 100%;
    overflow: hidden;
    position: fixed;
    width: 100%;
    margin: 0;
    padding: 0;
}

body
{
	-webkit-touch-callout: none; /* Disabilita il menu contestuale */
    -webkit-tap-highlight-color: transparent; /* Rimuove il flash di evidenziazione */
    touch-action: manipulation;
    background-color: #000000;
    font-family: 'Interstate', sans-serif;
    font-size: 26px;
	color:#ffffff;
    line-height:26px;	
}


input:focus,
select:focus,
textarea:focus,
button:focus {
    outline: none;
}

/* Custom transparent checkbox with white border */
input[type="checkbox"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 22px;
	height: 22px;
	border: 2px solid #ffffff; /* white border */
	background-color: transparent; /* transparent inside */
	border-radius: 4px;
	cursor: pointer;
	display: inline-block;
	vertical-align: middle;
	box-sizing: border-box;
}

/* Checked state: keep transparent background but show a white checkmark */
input[type="checkbox"]:checked {
	background-color: transparent;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6L9 17l-5-5'/></svg>");
	background-position: center;
	background-repeat: no-repeat;
}

input[type="checkbox"]:focus {
	outline: none;
	box-shadow: 0 0 0 4px rgba(255,255,255,0.08);
}

input[type="checkbox"]:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

input::-webkit-input-placeholder {
	color: #aaaaaa !important;
	}

textarea::-webkit-input-placeholder {
	color: #aaaaaa !important;
	}

button {
	padding:9px 10px;
	font-size:19px;
	line-height:19px;
	font-weight: bold;
	width: 90%;
	height:45px;
	text-transform: uppercase;
	background-color:white;
	color:#f3372f;
	border:0;
	margin:0 auto;
	font-family: 'Interstate';
}

button:active {
    background-color: #cdcdcd; /* Cambia colore quando il pulsante è premuto */
}

a
{
border:none;
text-decoration:none;
color:inherit;
}

h2 {
	font-weight:bold;
}

a:hover
{
text-decoration:underline;
}


img
{
	border:none;
}

hr {
	height:1px;
	border: none;
    height: 1px;
    color: #858483; /* old IE */
    background-color: #858483; /* Modern Browsers */
	margin-bottom:40px;
	margin-top:10px;
}

.desktopBreak {
	display:block;
}

.mobileBreak {
	display:inline-block;
}

.topLogo {
	width:50%!important;
	padding:20px 0;
	margin:0 auto;
}

h1 {
	text-align:center;
	font-size:22px;
	line-height:32px;
	font-weight:bold;
	padding-top:10px;
	padding-bottom:20px;
}

.h1Small {
	font-size:27px!important;
}

.pageContainer {
	width:100%;
}

.pageHeader {
	width:100%;
	display:block;
	margin:0 auto;
}

.container {
	xmax-width:500px;
	margin:0 auto;
	xborder:solid 1px #ffffff;
}

.footer img {
	width:100%;
	display:block;
}

.page {
	height: var(--app-height);
	overflow-x:hidden;
	position:relative;	
	text-align:center;
	font-size:20px;
	line-height:20px;
	background-color:#68d0ec;
	color:black;
}

.topBar {
	text-align: center;
}

.topBar img {
	width:80px;
	padding:20px 0 0 0;
}

.currentGame {
	font-size:45px;
	line-height:45px;
	color:#ff0f64;
	padding:40px 0 10px 0;
	font-family: 'LousVuitton';
	text-transform: uppercase;
	width:95%;
	margin:0 auto;
}

.pageTop {
	flex: 0 0 auto;
	padding-top:100px;
	font-size:16px;
	line-height:20px;
}


.pageCenter {
	text-align:center;
	color:white;
	width:90%;
	margin:50px auto 0 auto;
	letter-spacing: 2px;
	font-size:20px;
	line-height:24px;
	max-width:800px;
}

.pageBottom {
	flex: 0 0 auto;
	padding-top:20px;
	padding-bottom:50px;
}

.pageBottom img{
	width:60px;
}

.header_backgroundGradient {
	/*background: #fff5f5 url(../img/generic-header-bg.bb2684d6.svg) no-repeat;
    background-size: 100% 150%; */
	/*
	background-image: url(../img/gnd.png);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	*/
}

.tabbed-header_wrapper h1 {
	font-size:40px;
	line-height:40px;
	font-family: 'Interstate';
	padding:20px 0 15px 0;
	margin:0;
}

.tabbed-header_wrapper h1 span {
	font-family:Interstate;
	font-size:40px;
	line-height:40px;
	font-weight: normal;
}

.tabbed-header_description {
	font-size:15px;
	line-height:18px;
	padding-bottom:20px;
	width:90%;
	margin:0 auto;
}

.backBar {
	text-align:left;
	width:90%;
	margin:10px auto;
	font-size:14px;
	line-height:14px;
}

/****PAGE CANCEL */
.pageCancel {
	display: flex;
	justify-content: center; /* Centers horizontally */
	align-items: flex-start; /* Centers vertically */
}

/****PAGE HOME */
.pageHome {
	display: flex;
	justify-content: center; /* Centers horizontally */
	align-items: flex-start; /* Align items at the bottom */
	height: var(--app-height);
}

/****PAGE SELECT */
.pageSelect {
	display: flex;
	justify-content: center; /* Centers horizontally */
	align-items: flex-start; /* Align items at the bottom */
	height: var(--app-height);
}

.buttonSelect {
	font-weight: normal;
	text-transform: uppercase;
	border:solid 1px white;
	width:90%;
	margin:0 auto;
	padding:20px 0;
	cursor: pointer;
}

.buttonSelectSelected {
	border:solid 1px #f3372f;
	background-color:#f3372f;
}

.buttonSelectLine1 {
	font-weight:bold;
	font-size:20px;
	line-height:26px;
}

.buttonSelectLine2 {
	font-family: InterstateLight;
	font-size:14px;
	line-height:16px;
}

.buttonSelectDisabled {
	opacity:0.2;
	text-decoration: line-through;
}

/****PAGE COVER */
.pageCover {
	display: flex;
	justify-content: center; /* Centers horizontally */
	align-items: flex-end; /* Align items at the bottom */
	height: var(--app-height);
	background-image: url(../img/cover.jpg?);
	background-size: cover;
	background-position: center;
}

.pageCover button {
	margin-bottom:70px;
	max-width:800px;
}

/****PAGE MOVIES */
.pageMovies {
	display: flex;
	justify-content: center; /* Centers horizontally */
	align-items: flex-start; /* Centers vertically */
}

.movieDisabled {
	opacity:0.2;
}

.movie {
	text-transform: uppercase;
	display: flex; /* use flex layout so columns can stretch equally */
	align-items: stretch;
	width:100%;
	margin:0 auto 10px auto;
	border:solid 2px white;
}

.moviePhoto {
	flex: 0 0 30%;
	width: 30%;
}

.moviePhoto img{
	width:100%;
	height: auto; /* let image determine the row height */
	display:block;
	object-fit: cover;
}

.movieInfo {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	width: 70%;
	text-align: left;
	padding-left:15px;
	padding-right:10px;
	min-height: 0; /* allow children to shrink/scroll inside */
}

.movieTitle {
	font-size:14px;
	line-height:20px;
	font-weight: bold;
}

.movieDescription {
	font-size:8px;
	line-height:8px;
}

.movieTime {
	font-size:14px;
	line-height:14px;
	font-weight: bold;
}

.movieRightBlock {
	display:flex;
	flex-direction: column;
	height: 100%; /* fill the height of the parent/container */
	flex: 1 1 auto; /* allow the block to grow/shrink as needed */
	min-height: 0; /* allow children to shrink inside flex containers */
	box-sizing: border-box;
}

.movieRightBlockTop {
	flex: 0 0 auto; /* do not grow; size to content */
}

.movieRightBlockBottom {
	flex: 1 1 auto; /* take remaining space */
	min-height: 0; /* allow to shrink within flex container */
	display: flex;
	flex-direction: column;
	justify-content: flex-end; /* align inner content to bottom */
	overflow: hidden;
	padding-bottom:5px;
}

.movieSelected {
	border:solid 2px #f3372f;
	background-color:#f3372f;
}

/****PAGE SERVICES */
.pageServices {
	display: flex;
	justify-content: center; /* Centers horizontally */
	align-items: flex-start; /* Centers vertically */
}

.servicesTable {
	width:90%;
	display:table;
	margin:30px auto;
}

.servicesCol {
	color:#41484a;
	background-color: #ffffff;
	display:table-cell;
	width:45%;
	border-radius:10px;
	margin:0 10px;
	text-align:left;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.servicesCol img {
	width:100%;
	border-radius:10px;
}

.servicesSeparator {
	display:table-cell;
	width:3%;
}

.serviceTitle {
	padding:15px 10px;
	font-size:17px;
	line-height:19px;
}

.serviceInfo {
	padding:10px 10px;
	font-size:14px;
	line-height:16px;
}

.serviceButton {
	padding:9px 10px;
	font-size:12px;
	line-height:12px;
	font-weight: bold;
	width: fit-content;
	margin-top: 20px;
	margin-left:9px;
	border-radius:10px;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
	color:white;
	background-color:black;
}

#selectMogo {
	font-size:17px;
}

/****PAGE SHOPS */
.pageShops {
	display: flex;
	justify-content: center; /* Centers horizontally */
	align-items: flex-start; /* Centers vertically */
}

.shopItem {
	border-radius:10px;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
	width:90%;
	margin:10px auto;
	padding:10px;
	font-size:15px;
	line-height:15px;
	background-color: #ffffff;
}

.shopItem h2 {
	padding:0;
	margin:10px 0;
	font-size:20px;
	line-height:20px;
}

.shopButton {
	background-color:black;
	color:white;
	text-align:center;
	border-radius:10px;
	width:fit-content;
	padding:10px 15px;
	margin:0 auto;
}

/****PAGE CALENDAR */
.pageCalendar {
	display: flex;
	justify-content: center; /* Centers horizontally */
	align-items: flex-start; /* Centers vertically */
}


.calendarTable {
	width:90%;
	margin:0 auto;
	border:solid 1px white;
	table-layout: fixed; /* Ensure equal column widths */
	border-collapse: collapse;
}

.calendarTable td {
	width: calc(100% / 7); /* Seven equal columns */
	box-sizing: border-box;
	padding:2px 0;
}

.calendarMonth td {
	border:solid 1px white;
	padding:2px 0;
}

.calendarDays td {
	font-size:14px;
	line-height:14px;
	border:solid 1px white;
}

.calendarDates td {
	font-size:20px;
	line-height:20px;
	border:solid 1px white;
	text-align:right;
	vertical-align: top;
	padding-top:10px;
	padding-right:2px;
	height:70px;
	letter-spacing: 2px; /* Match spacing used in .pageCenter */
}

.dateDisabled {
	opacity:0.2;
}

/****PAGE FORM */
.pageForm {
	display: flex;
	justify-content: center; /* Centers horizontally */
	align-items: flex-start; /* Centers vertically */
}

.form {
	width:90%;
	margin:15px auto;
	font-size:18px;
	line-height:18px;
	font-family: 'InterstateLight';
}

.formData {
	text-align:center;
	font-weight:bold;
	font-size:16px;
	line-height:20px;
	margin:10px auto;
}

.formItem {
	padding-bottom:20px;
}

.formItem2 {
	display: flex;
 	align-items: flex-start;
 	gap: 12px;
 	padding-bottom: 16px;
}

.formItem2 input[type="checkbox"] {
    margin-top: 4px; /* align checkbox with first line of text */
    flex: 0 0 auto;
}

.checkboxText {
    display: block;
    flex: 1 1 auto;
    text-align: left;
}

.formItem input[type="text"],
.formItem input[type="email"] {
	width:100%;
	margin-top:5px;
	border:solid 2px #ffffff;
	background:transparent;
	height:35px;
	font-size:22px;
	line-height:25px;
	padding:0 10px;
	box-sizing: border-box;
	color:white;
	text-align:center;
}

.formItem2 {
	padding-bottom:20px;
	text-align:left;
	font-size:12px;
	line-height:14px;
	letter-spacing: 0px;
}

.formItem2 a {
	color:blue;
	text-decoration: underline;
}

#formErrorMessage {
	padding-top:10px;
	color:red;
	font-weight: bold;
	text-align:center;
	font-size:14px;
	line-height:16px;
}

/****PAGE CONFIRM */
.pageConfirm {
	display: flex;
	justify-content: center; /* Centers horizontally */
	align-items: flex-start; /* Centers vertically */
}

.confirmationMessage {
	font-size:14px;
	line-height:16px;
	text-align:center;
	width:90%;
	margin:15px auto;
	border-radius:10px;
}

.confirmQr {
	width:200px;
}

.qrContainer {
	display:inline-block;
	padding:10px;
	background-color:white;
	border-radius:20px;
}

.checkInInfo {
	font-size:14px;
	line-height:18px;
	text-align: center;
}

.hidemobile {
	display:block;
}
.hidedesktop {
	display:none;
}


@media screen and (max-width: 1100px) {
	.hidemobile {
		display:none;
	}
	.hidedesktop {
		display:block;
	}
}
