@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;700;900&display=swap');

*{ font-family: 'Inter', sans-serif; margin: 0; padding: 0;}


body{
	height:  calc(100vh - 40px);
	background:  white;
	display: grid;
	grid-template-columns:  1fr 1fr 1fr;
	text-align: center;
	align-items:  center;
	justify-content: center;
	padding: 20px;
}

@media (max-width: 1100px) {

	body{
		display:  block;
	}

}

header{
	top: 20px;
	left: 20px;
	width: 315px;
	margin:  0 auto 25px auto;
	text-align:  left;
}

h1{
	font-size: 70px;
	line-height: 70px;
	font-weight: 900;
	margin-bottom: 10px;
}
p.lg{
	font-size: 22px;
	line-height: 28px;	
}

article{
	width: 315px;
	margin: 0 auto;	
	background: #F9F9F9;
	border: 3px solid #000000;
	border-radius: 14px;
}

article section{
	height: 245px;
	padding: 0 45px;
	display: flex;
	text-align: center;
	justify-content: center;
	align-items: center;
	flex-flow: row wrap;
	border-bottom: 2px dashed #000000;
}

article section p{
	margin-bottom: 10px;
	font-size: 16px;
	line-height: 24px;
	font-weight: 400;
}

article section select{
	border: 4px solid #000;
	padding: 17px 25px 14px 25px;
	border-radius: 14px;
	font-weight: 700;
	font-size: 26px;
	line-height: 26px;
	text-align: center;
	color: #fff;
	background-color: #000;
	-webkit-appearance:  none;
	-moz-appearance:  none;
	transition: all .2s ease;
}

article section select:hover{
	color: #000;
	background-color: #fff;
}

article section:last-child{
	border: none;
}

.totalWrap{
	min-width:  80px;
	margin: 20px auto;	
	text-align: left;
	display: none;
}

.totalWrap.show{
	display: flex;
	justify-content: center;
	align-items:  center;
	flex-flow:  column wrap;
}

.totalWrap p{
	width:  100%;
	max-width: 230px;
	margin-bottom: 10px;
	font-size: 18px;
	line-height: 20px;
	padding-right: 20px;
	text-align: center;
}

#total{
	display: inline-block;
	font-size: 69px;
	padding: 0;
	text-align: center;
	border-radius: 14px;
	color: #fff;
	background-color: #000;
}
#total span.number{
	font-weight: 700;
	display:  inline-block;
	padding: 10px 10px 0 10px;
}
#total span.days{
	border-top: 2px solid #fff;
	text-align: center;
	display: block;
	font-size: 20px;
	letter-spacing: 4px;
	padding: 10px;
	font-weight: 900;

}

.credit{
	position:  fixed;
	font-size: 12px;
	bottom:  20px;
	left:  0;
	right:  0;
	text-align: center;
}

@media (max-width: 1100px) {

	.credit{
		top: 20px;
		left: 0;
		right: 0;
		margin-bottom: 40px;
		position:  relative;
	}

}

.credit a{
	color: #000;
}
.credit a:hover{
	text-decoration: none;
}

.credit strong{
	font-size: 24px;
	position:  relative;
	top: 3px;
}


.bg-video-wrap {
  position: fixed;
  overflow: hidden;
  width: 100vw;
  height: 100vh;
  right:  -7vw;
  z-index: -1;
}

@media (max-width: 1100px) {

	.bg-video-wrap{
		display:  none;
	}

}

.overlay{
  width: 100vw;
  height: 100vh;
  position:  absolute;
  background:  rgba(255, 255, 255, 0);	
  transition: all ease .3s;
}

.overlay.show{
  background:  rgba(255, 255, 255, .95);	
}


video {
  min-width: 100vw;
  height: 100vh;
}