*{
	box-sizing:border-box;
}
body,html{
    font-family: 'Titillium';
	font-weight:700;
	border:0;
	margin:0;
	padding:0;
	background-color:#3d261c;
	font-size:16px;
}

#root{
	margin:0 auto;
	width:100%;
	max-width:600px;
	position:relative;
	background-image:url('bg.jpg');
	background-size:100%;
	background-repeat:no-repeat;
	box-shadow:0 0 10px rgba(0,0,0,0.5);
}

#top img{
	width:100%;
	height:auto;
}
#bottom{
	line-height:0;
}
#bottom img{
	width:100%;
	height:auto;
	line-height:0;
}
#title{
	width:100%;
	height:auto;
	display:none;
}
.title-content{
	background-image:url('title.png');
	background-size:contain;
	background-repeat:no-repeat;
	background-position:center;
	text-align:center;
	padding:40px;
	max-width:80vw;
	margin:0 auto;
}
.title-text{
	font-weight:900;
	font-size:2.5rem;
	line-height:1;
	color:#3d261c;
}
.title-subtext{
	font-weight:700;
	font-size:1.6rem;
	line-height:1;
	color:#795f52;
}
#ticket{
	padding:30px;
	background-color:rgba(46,37,34,0.4);
	margin:30px 30px;
	margin-top:200px;
	margin-bottom:0;
	width:calc(100% - 60px);
	text-align:center;
	border-radius:12px;
	margin-bottom:40px;
	display:none;
	min-height:55vh;
}
.ticket-prompt{
	color:#e4c4a3;
	font-size:1.5rem;
}
.ticket-content{
	background-image:url('ticket.png');
	background-size:100%;
	background-repeat:no-repeat;
	background-position:center;
	padding:20px;
	padding-right:40px;
	width:80%;
	aspect-ratio:2;
	margin: 0 auto;
	text-align:center;
	display:flex;
    /* align-content: center; */
    justify-content: flex-start;
    align-items: center;
}
.ticket-input{
	-webkit-appearance: none;
	background:#833141;
	border:0;
	color:#ecdbc7;
	/* margin-top:40px; */
	font-size:1.8rem;
	padding:10px;
	width:100%;
	max-width:260px;
	text-transform:uppercase;
}
.start-button, .back-button, .go-button, .lang-button{
	color:#443d3b;
	background-image:url('button.png');
	background-size:contain;
	background-position:center;
	background-repeat:no-repeat;
	text-align:center;
	padding:20px;
	font-size:2.0rem;
	margin-bottom:20px;
}
.lang-button{
	display:none;
}
.go-button{
	position:relative;
	margin-bottom:-30px;
	z-index:10;
	filter:grayscale(100%) brightness(80%);
	opacity:0.9;
}
.go-button._active{
	filter:none;
	opacity:1;
}
.back-button{
	display:none;
}

.return-button{
	position:absolute;
	top:10px;
	left:10px;
}
.return-button img{
	width:40px;
	height:auto;
}
.loading{
	width:25px;
	height:25px;
	display:inline-block;
	vertical-align:middle;
	opacity:0;
}
.loading img{
	width:100%;
	height:auto;
}
#message{
	display:none;
	padding:30px;
	background-color:rgba(46,37,34,0.4);
	margin:30px 30px;
	margin-top:200px;
	margin-bottom:0;
	width:calc(100% - 60px);
	text-align:center;
	border-radius:12px;
	margin-bottom:40px;
	
	color:#e4c4a3;
	font-size:1.5rem;
}
#prestart{
	display:none;
}
.prestart-box{
	width:calc(100% - 40px);
	margin:0 auto;
	background-image:url('settings-bg.png');
	background-size:100% 100%;
	background-position:center;
	background-repeat:no-repeat;
	padding:30px 20px 50px;
}
.prestart-item{
	width:calc(100% - 35px);
	margin:0 auto;
	background-image:url('setting-off.png');
	background-size:100% 100%;
	background-position:center;
	background-repeat:no-repeat;
	padding:15px 20px;
	text-align:center;
	font-size:1.8rem;
	color:#e4c4a3;
	margin-bottom:15px;
	margin-right:23px;
	position:relative;
}
.prestart-container{
	display:flex;
	flex-flow:row nowrap;
	justify-content:space-between;
	align-items:center;
	width:calc(100% - 35px);
	margin:0 auto;
	gap:10px;
}
/*.prestart-item._gps{
	width:calc(100% - 100px);
	margin-right:8px;
}*/
.prestart-check{
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	background-image:url('check_off.png');
	background-size:32px 32px;
	background-position:5% 50%;
	background-repeat:no-repeat;
	pointer-events:none;
}

.prestart-switch{
	width:100px;
	padding:10px 5px;
	background-image:url('gps_bg.png');
	background-size:100% 100%;
	background-position:center;
	background-repeat:no-repeat;
	display:flex;
	flex-flow:row nowrap;
	gap:3px;
	text-align:center;
	margin-bottom: 15px;
}
.prestart-switch-off,.prestart-switch-on{
	width:40px;
	background-size:100% 100%;
	background-position:center;
	background-repeat:no-repeat;
	color:#443d3b;
	text-align:center;
	font-size:1.6rem;
	padding:4px;
}
.prestart-switch-on._active{
	background-image:url('gps_on.png');
	color:#e4c4a3;
}
.prestart-switch-off._active{
	background-image:url('gps_off.png');
	color:#e4c4a3;
}
.prestart-gps{
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	background-image:url('gps.png');
	background-size:32px 32px;
	background-position:95% 50%;
	background-repeat:no-repeat;
	pointer-events:none;
	display:none;
}
.prestart-item._active .prestart-check{
	background-image:url('check_on.png');
}
.gps-error, .camera-error{
	display:none;
	color:#aa0000;
	font-size:1.3rem;
	margin:0 30px;
	position:relative;
	top:-10px;
}
.gps-info{
	width: 3rem;
    height: 3rem;
	float:right;
	position:absolute;
	right:10px;
	/* filter:sepia(100%) brightness(0.5) hue-rotate(329deg); */
}
.gps-popup{
	display:none;
	position:fixed;
	top:10px;
	bottom:10px;
	left:10px;
	right:10px;
	background-image:url('bg2.png');
	background-size:100% 100%;
	border-radius:20px;
	box-shadow:0 0 12px rgba(0,0,0,0.5);
	color:#3d261c;
	color:#e4c4a3;
	font-size:1.5rem;
	z-index:20;
	padding:30px;
}
.gps-popupcontent{
	height:100%;
	overflow-y:auto;
}
.gps-close{
	float:right;
	width:50px;
	height:50px;
}
.gps-ios, .gps-android{
	display:none;
}
.gps-popup b{
	font-size:1.6rem;
	color:#ffffff;
}
#help{
	display:none;
	position:absolute;
	top:0;
	left:0;
	right:0;
	min-height:100vh;
	background-color:rgba(61,38,28,0.85);
	padding:20px;
	padding-top:40px;
	padding-bottom:40px;
	z-index:1000;
}
.help-box{
	display:flex;
	flex-flow:row nowrap;
	justify-content:space-between;
	align-items:center;
	margin-top:20px;
}
.platform-box{
	background-image:url('plattform_bg.png');
	background-size:100% 100%;
	background-position:center;
	background-repeat:no-repeat;
	padding:5px;
	width:100px;
	display:flex;
	flex-flow:row nowrap;
	justify-content: center;
	gap:5px;
}
.browser-box{
	background-image:url('browser_bg.png');
	background-size:100% 100%;
	background-position:center;
	background-repeat:no-repeat;
	padding:5px;
	width:200px;
	display:flex;
	flex-flow:row nowrap;
	justify-content: center;
	align-items: center;
	gap:5px;
}
.help-box img{
	filter:grayscale(100%);
	width:32px;
	height:auto;
}
.help-box img._active{
	filter:grayscale(0%);
}
.help-box img.line{
	width:3px;
	height:40px;
	flex-grow:0;
	flex-shrink:0;
}
.help-text{
	background-color: #ead2b4;
	padding:20px;
	border-radius:12px;
	position:relative;
	font-size:1.5rem;
}

.help-text::after{
	content: '';
	display: block;
	top:5px;
	left:5px;
	right:5px;
	bottom:5px;
	position:absolute;
	border: 2px solid #ad8e77;
	border-radius:8px;
}
.help-video{
	background-color:#3d261c;
	padding:5px;
	border-radius:12px;
}
.help-video video{
	width:100%;
	height:auto;
}
.video-box{
	position:relative;
}
.video-play{
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	background-color:rgba(0,0,0,0.2);
	background-image:url('video-play.png');
	background-position:center;
	background-size:97px 97px;
	background-repeat:no-repeat;
}
.start-save{
	width:calc(100% - 40px);
	margin:0 auto;
	background-color:rgba(0,0,0,0.5);
	padding:20px;
	padding-left:70px;
	background-image:url('save.png');
	background-size:50px 50px;
	background-repeat:no-repeat;
	background-position: 15px 50%;
	color:#e4c4a3;
	text-align:left;
}
.start-save-title{
	font-size:1.4rem;
	font-weight:700;
}
.start-save-subtitle{
	font-size:1.2rem;
	font-weight:400;
}



#landscape{
	display:none;
	justify-content:center;
	align-items:center;
	width:100%;
	height:100%;
	position:fixed;
	top:0;
	left:0;
	background-color:#57392d;
	color:#c9a783;
	font-size:1.8rem;
	padding:40px;
	background-image:url('bg.jpg');
	z-index:1001;
}
#landscape2{
	display:none;
	justify-content:center;
	align-items:center;
	width:100%;
	height:100%;
	position:fixed;
	top:0;
	left:0;
	background-color:#57392d;
	color:#c9a783;
	font-size:1.8rem;
	padding:40px;
	background-image:url('../images/desktop-bg.jpg');
	background-size:100% 100%;
	z-index:1002;
}
.land-left{
	width:35%;
	background-image:url('../images/desktop-text-bg.png');
	background-size:contain;
	background-repeat:no-repeat;
	background-position:center;
	aspect-ratio:2;
	text-align:center;
	color:#3d261c;
	padding:2.6% 0;
	position:relative;
}
.land-lefttitle1{
	font-size:3.0vw;
	color:#3d261c;
	line-height:1;
	margin-right:20%;
	font-weight:900;
}
.land-lefttitle2{
	font-size:1.6vw;
	color:#795f52;
	line-height:1;
	margin-right:20%;
}
.land-lefttitle3{
	font-size:1.2vw;
	color:#f5928f;
	line-height:1;
	position:absolute;
	bottom: 23%;
    right: 16%;
	text-align:center;
	width:20%;
}
.land-mid{
	width:30%;
	height:100%;
	background-image:url('../images/desktop-phone.png');
	background-size:contain;
	background-repeat:no-repeat;
	background-position:center;
}
.land-right{
	width:35%;
	background-image:url('../images/desktop-info-bg.png');
	background-size:contain;
	background-repeat:no-repeat;
	background-position:center;
	aspect-ratio:1.3;
	padding:5.6% 6%;
	font-size:1.5vw;
	color:#3d261c;
}

#lang{
	margin-top:50px;
}
.lang{
	width:300px;
	margin:0 auto;
	margin-bottom:20px;
	position:relative;
	opacity:0.7;
	color:#ffffff;
	font-size:1.8rem;
	text-align:center;
}
.lang.active{
	top:-3px;
	left:-3px;
	opacity:1;
}
.lang img{
	width:90px;
	margin-right:10px;
	height:auto;
	border-radius:20px;
	box-shadow:6px 6px 12px rgba(0,0,0,0.0);
	border:3px solid transparent;
	vertical-align:middle;
}
.lang.active img{
	box-shadow:4px 4px 4px rgba(0,0,0,0.8);
	border:3px solid rgba(255,255,255,0.8);
}
.lang-name{
	display:inline-block;
	vertical-align:middle;
}
#lang2 #title{
	margin-top:-100px;
}
#lang2{
	display:flex;
	flex-flow:row wrap;
	max-width:80%;
	margin:0 auto;
}
.lang2{
	max-width:40%;
	margin:0 auto;
	margin-bottom:20px;
	position:relative;
	color:#ecdbc7;
	font-size:1.8rem;
	text-align:center;
	background-image:url('../images/lang2_btn_off.png');
	background-position:bottom;
	background-size:contain;
	background-repeat:no-repeat;
}
.lang2.active{
	background-image:url('../images/lang2_btn_on.png');
	color:#cfffd1;
}
.lang2 img{
	width:70%;
	height:auto;
	margin-bottom:10px;
}
.lang2.active img{
}
.lang2-name{
	display:inline-block;
	vertical-align:middle;
}


@media(max-width:600px){
	body,html{
		font-size:2.5vw;
	}
	#ticket,#message{
		margin-top:10vw;
		padding:10px;
	}
	.ticket-input{
		/* margin-top:6vw; */
	}
}
@media(min-width:600px){
	.ticket-input{
		font-size:1.6rem;
	}
}

@font-face {
    font-family: 'Titillium';
    src: url('TitilliumWeb-Black.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
}
@font-face {
    font-family: 'Titillium';
    src: url('TitilliumWeb-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
}