@font-face {
    font-family: 'sportrop-webfont';
    src: url('../fonts/sportrop-webfont.woff2') format('woff2'),
         url('../fonts/sportrop-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'aileron-regular-webfont';
    src: url('../fonts/aileron-regular-webfont.woff2') format('woff2'),
         url('../fonts/aileron-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'aileron-bold-webfont';
    src: url('../fonts/aileron-bold-webfont.woff2') format('woff2'),
         url('../fonts/aileron-bold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

body {
	font-family: 'aileron-regular-webfont';
	overflow: hidden;
}
section {
	height: 100vh;
	position: relative;
}
a {
	text-decoration: none;
	color: inherit;
	cursor: pointer;
}

/* Beginning Warning */
.beginning-door {
	height: 100vh;
	width: 100%;
	position: absolute;
	background-color: #262626;
	display: none;
	z-index: 999;
}
.beginning-text {
	text-align: center;
	width: 600px;
	height: 300px;
	position: absolute;
	top: 50% !important;
	left: 50% !important;
	margin: -150px 0 0 -300px;
	display: none;
}
.beginning-text h1 {
	font-family: 'sportrop-webfont';
	font-size: 60px;
	text-transform: uppercase;
	margin-bottom: 50px;
	color: #fff;
	display: none;
}
.beginning-text p {
	text-transform: uppercase;
	font-size: 15px;
	color: #d2d2d2;
	line-height: 20px;
	margin-bottom: 20px;
	display: none;
}
.beginning-text p:last-of-type {
	margin-bottom: 60px;
}
.btn {
	text-transform: uppercase;
	padding: 10px 50px;
	transition: box-shadow .5s;
	font-family: 'aileron-bold-webfont';
	display: none;
}
.beginning-btn {
	color: #d2d2d2;
	border: 2px solid #fe4292;
}
.beginning-btn:hover {
	border: 2px solid #ff63a5;
	box-shadow: 1px 1px 14px #fe4292 inset, 1px 1px 17px #fe4292;
}
.spacer {
	margin-bottom: 60px;
}

.flicker {
	animation: flicker 2s forwards 1.7s;
}
.white-glow {
	text-shadow: 1px 1px 20px #fff, 1px 1px 7px #ccc;
}

/* Party Scene */
.party-main {
	height: 100vh;
	width: 100%;
	position: absolute;
	animation: partyBackground .5s infinite;
	display: none;
}
.light-group-1,
.light-group-2,
.light-group-3,
.light-group-4,
.light {
	width: 100%;
	height: 100%;
	position: absolute;
}
.light-group-1 div,
.light-group-2 div,
.light-group-3 div,
.light-group-4 div {
	height: 100px;
	width: 100px;
	display: block;
	border-radius: 50%;
}
.light-group-1 div:nth-child(1n+0),
.light-group-2 div:nth-child(1n+0),
.light-group-3 div:nth-child(1n+0),
.light-group-4 div:nth-child(1n+0) {
	background: radial-gradient(#fe272d 50%, transparent 70%);
}
.light-group-1 div:nth-child(2n+0),
.light-group-2 div:nth-child(2n+0),
.light-group-3 div:nth-child(2n+0),
.light-group-4 div:nth-child(2n+0) {
	background: radial-gradient(#0bff27 50%, transparent 70%);
}
.light-group-1 div:nth-child(3n+0),
.light-group-2 div:nth-child(3n+0),
.light-group-3 div:nth-child(3n+0),
.light-group-4 div:nth-child(3n+0) {
	background: radial-gradient(#374dfc 50%, transparent 70%);
}
.light-group-1 div:nth-child(4n+0),
.light-group-2 div:nth-child(4n+0),
.light-group-3 div:nth-child(4n+0),
.light-group-4 div:nth-child(4n+0){
	background: radial-gradient(#fe4292 50%, transparent 70%);
}

.video-overlay {
	width: 100%;
	height: 100%;
	display: none;
	position: absolute;
	z-index: 999;
}
.video-1,
.video-2,
.video-3,
.video-4 {
	position: absolute;
	height: 100%;
	width: 100%;
}
.video-1-star,
.video-2-star,
.video-3-star,
.video-4-star {
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
	position: relative;
	height: 40px;
	width: 40px;
	animation: starSpin 2s infinite;
	z-index: 99;
}
.video-1-star {
	background-image: url(../images/spike-1.png);
	top: 10%;
	left: 40%;
}
.video-2-star {
	background-image: url(../images/spike-2.png);
	top: 55%;
	left: 10%;
}
.video-3-star {
	background-image: url(../images/spike-3.png);
	top: 85%;
	left: 60%;
}
.video-4-star {
	background-image: url(../images/spike-4.png);
	top: 30%;
	left: 90%;
}
.video-1-star:hover,
.video-2-star:hover,
.video-3-star:hover,
.video-4-star:hover {
	animation: none;
	cursor: pointer;
	transform: rotate(0deg);
	filter: drop-shadow(-3px -3px 3px #fff) drop-shadow(2px 3px 3px #fff);
	transition: filter .5s, transform .5s;
}
.video-1 .video-container {
	top: 10%;
	left: 40%;
}
.video-2 .video-container {
	top: 55%;
	left: 10%;
}
.video-3 .video-container {
	top: 85%;
	left: 60%;
}
.video-4 .video-container {
	top: 30%;
	left: 90%;
}
.video-container {
	width: 40px;
	height: 40px;
	margin: -40px 0 0 0;
	position: relative;
	/*border-radius: 100%;
	-webkit-mask-image: -webkit-radial-gradient(circle, white 100%, black 100%);
	-webkit-transform: rotate(0.000001deg); 
	-webkit-border-radius: 100%; 
	-moz-border-radius: 100%;*/
	display: none;
}
.video-container video {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	object-fit: cover;
}

.end-btn {
	z-index: 9;
	position: relative;
	top: 90%;
	left: 85%;
}
.end-btn {
	color: #fff;
	border: 2px solid #fff;
}
.end-btn:hover {
	border: 2px solid #fff;
	box-shadow: 1px 1px 14px #fff inset, 1px 1px 17px #fff;
}

.ending-text {
	text-align: center;
	width: 600px;
	height: 340px;
	position: absolute;
	top: 50% !important;
	left: 50% !important;
	margin: -170px 0 0 -300px;
	display: none;
} 
.ending-text h1 {
	font-family: 'sportrop-webfont';
	font-size: 60px;
	text-transform: uppercase;
	margin-bottom: 50px;
	color: #fff;
	text-shadow: 1px 1px 20px #fff, 1px 1px 7px #ccc;
	display: none;
}
.ending-text p {
	text-transform: uppercase;
	font-size: 15px;
	color: #d2d2d2;
	line-height: 20px;
	margin-bottom: 20px;
	display: none;
}
.ending-text p:last-of-type {
	margin-bottom: 60px;
}
.repeat-btn {
	color: #d2d2d2;
	border: 2px solid #fe4292;
}
.repeat-btn:hover {
	border: 2px solid #ff63a5;
	box-shadow: 1px 1px 14px #fe4292 inset, 1px 1px 17px #fe4292;
}

@keyframes flicker {
  0% {
  	text-shadow: 1px 1px 20px #fff, 1px 1px 7px #ccc;
  }
  35% {
  	text-shadow: none;
  }
  55% {
  	text-shadow: 1px 1px 20px #fff, 1px 1px 7px #ccc;
  }
  70% {
  	text-shadow: none;
  }
  100% {
  	text-shadow: 1px 1px 20px #fff, 1px 1px 7px #ccc;
  }
}

@keyframes partyBackground {
  0% {
  	background-color: #151515;
  }
  50% {
  	background-color: #999;
  }
  100% {
  	background-color: #151515;
  }
}


@keyframes starSpin {
  0% {
  	transform: rotate(0deg);
  	height: 40px;
  	width: 50px;
  }
  25% {
  	transform: rotate(20deg);
  	height: 30px;
  	width: 40px;
  }
  50% {
  	transform: rotate(-20deg);
  	height: 50px;
  	width: 35px;
  }
  100% {
  	transform: rotate(0deg);
  	height: 40px;
  	width: 50px;
  }
}






