body {
  padding: 0px;
  margin: 0px;
  overflow: hidden;
}

.content {
  display: block;
  position: absolute;
  height: 100%;
  width: 100%;
  color: black;
}

.content img {
  width: 100%;
}

.curtainContainer {
  position: absolute;
  display: flex;
  top: -10%;
  width: 100%;
  height: 110%;
  margin: auto;
  transform-style: preserve-3d;
  overflow: hidden;
  transition: transform 6s ease;
}

.curtainContainer:nth-child(1) {
  transform-origin: -120% top;
  justify-content: flex-start;
  transform: translatex(-5vw);
}

.curtainContainer:nth-child(2) {
  transform-origin: 120% top;
  justify-content: flex-end;
  transform: translatex(15vw);
}

.rollLeft {
  transform: translatex(-150vw) scaleX(0);
}

.rollRight {
  transform: translatex(150vw) scaleX(0);
}

.curtainBody:hover .curtainContainer:nth-child(1) {
  transform: translatex(-150vw) scaleX(0);
}

.curtainBody:hover .curtainContainer:nth-child(2) {
  transform: translatex(150vw) scaleX(0);
}

.unCurtain {
  display: inline-block;
  width: 15vw;
  margin: 0;
  padding: 0;
  height: 120vh;
  background-size: 100% 100%;
  background: repeating-linear-gradient(to left, #FF6F15 4vw, #FF6F15 12vw, #ec8989 15vw);
  transform-origin: 0 0%;
  transform: rotate(3deg);
  transition: transform 4s ease;
  animation: swing 2s ease infinite;
}

@keyframes swing {
  50% {
    transform: rotate(-3deg);
  }
}
.unCurtain:nth-child(2) {
  margin-left: -10vw;
  animation-delay: -0.1s;
}

.unCurtain:nth-child(3) {
  margin-left: -10vw;
  animation-delay: -0.2s;
}

.unCurtain:nth-child(4) {
  margin-left: -10vw;
  animation-delay: -0.3s;
}

.unCurtain:nth-child(5) {
  margin-left: -10vw;
  animation-delay: -0.4s;
}

.unCurtain:nth-child(6) {
  margin-left: -10vw;
  animation-delay: -0.5s;
}

.unCurtain:nth-child(7) {
  margin-left: -10vw;
  animation-delay: -0.6s;
}

.unCurtain:nth-child(8) {
  margin-left: -10vw;
  animation-delay: -0.7s;
}

.unCurtain:nth-child(9) {
  margin-left: -10vw;
  animation-delay: -0.8s;
}

.unCurtain:nth-child(10) {
  margin-left: -10vw;
  animation-delay: -0.9s;
}

.unCurtain:nth-child(11) {
  margin-left: -10vw;
  animation-delay: -1s;
}

.unCurtain:nth-child(12) {
  width: 10vw;
  background: repeating-linear-gradient(to left, #FF6F15 4vw, #FF6F15 8vw, #ec8989 10vw);
  margin-left: -10vw;
  animation-delay: -1.1s;
}

.curtainBody {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
}

.overlay {
  display: block;
  position: absolute;
  color: white;
  top: 0%;
  left: 0%;
  width: 100vw;
  height: 100vh;
  background: linear-gradient(to top, rgba(2, 2, 2, 0) 0vh, black 100vh);
  transition: opacity 3s ease;
}

.curtainBody:hover .overlay {
  opacity: 0;
}



body {
	width: 100%;
	min-height: 600px;
	height: 100%;
	padding: 0;
	margin: 0;
}

#starter {
	z-index: 1;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 300px;
	height: 50px;
	margin-top: -25px;
	margin-left: -150px;
	text-align: center;
	font-family: "Roboto Condensed", sans-serif;
	font-size: 2em;
	font-weight: 600;
	cursor: pointer;
}

#scene {
	position: fixed;
	top: 50%;
	left: 50%;
	width: 1200px;
	height: 600px;
	overflow: hidden;
	margin-top: -300px;
	margin-left: -600px;
	background-color: rgb(0, 0, 0);
	box-shadow: 0 0 0 2px white inset;
}
#curtain {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: transparent;
}

#curtain .left,
#curtain .right {
	position: absolute;
	top: 0;
	width: 50%;
	height: 100%;
	filter: brightness(180%);
	background-image: url("/img/curtain.svg");
	background-size: cover;
	background-repeat: no-repeat;
}

#curtain .left {
	left: 0;
	transform-origin: top right;
}
#curtain .right {
	left: 50%;
	transform-origin: top left;
}

.ground {
	position: absolute;
	left: 50%;
	top: 133%;
	width: 10000px;
	height: 10000px;
	margin-left: -5000px;
	border-radius: 100%;
	box-shadow: 0 0 100px 100px white;
}

h1 {
	position: absolute;
	left: 35%;
	top: 50%;
	display: block;
	/*width: 500px;*/
	/*height: 150px;*/
	margin-top: -90px;
	margin-left: -250px;
	text-align: center;
	font-family: "Open Sans", sans-serif;
	font-size: 10em;
	color: white;
	transform: scale(0.75);
	opacity: 0;
}

/* **********
	opening
********** */

#scene.expand {
	width: 140%;
	left: -20%;
	margin-left: 0;
	background-color: rgb(32, 32, 32);
	box-shadow: 0 0 0 0 white inset;
	animation-fill-mode: forwards;
	animation-name: expand-scene-horizontaly, expand-scene-verticaly;
	animation-duration: 2.5s, 1.5s;
	animation-timing-function: ease-in-out, ease-in-out;
	animation-delay: 0s, 2.5s;
	animation-iteration-count: 1, 1;
	animation-direction: normal, normal;
}

#curtain.open .left,
#curtain.open .right {
	filter: brightness(100%);
}
#curtain.open .left {
	animation-fill-mode: forwards;
	animation-name: curtain-opening, left-curtain-opening;
	animation-duration: 2s, 4s;
	animation-timing-function: ease-in-out, ease-in-out;
	animation-delay: 0s, 0s;
	animation-iteration-count: 1, 1;
	animation-direction: normal, normal;
}
#curtain.open .right {
	animation-fill-mode: forwards;
	animation-name: curtain-opening, right-curtain-opening;
	animation-duration: 2s, 4s;
	animation-timing-function: ease-in-out, ease-in-out;
	animation-delay: 0s, 0s;
	animation-iteration-count: 1, 1;
	animation-direction: normal, normal;
}

#scene.expand .ground {
	animation-fill-mode: forwards;
	animation-name: ground-rising;
	animation-duration: 6s;
	animation-timing-function: ease-out;
	animation-delay: 0s;
	animation-iteration-count: 1;
	animation-direction: normal;
}

#scene.expand h1 {
	animation-fill-mode: forwards;
	animation-name: text-zoom, text-fade-in, text-glowing;
	animation-duration: 5s, 1s, 1s;
	animation-timing-function: ease-out, ease-in-out, ease-in-out;
	animation-delay: 3s, 3s, 0s;
	animation-iteration-count: 1, 1, infinite;
	animation-direction: normal, normal, alternate;
}

.fade-out {
	animation-fill-mode: forwards;
	animation-name: fade-out;
	animation-duration: 1s;
	animation-timing-function: ease-in;
	animation-delay: 0s;
	animation-iteration-count: 1;
	animation-direction: normal;
}

/* **********
	animations
********** */

@keyframes expand-scene-horizontaly {
	/* 2.5
	s */
	from {
		width: 1200px;
		left: 50%;
		margin-left: -600px;
		background-color: rgb(0, 0, 0);
		box-shadow: 0 0 0 2px white inset;
	}
	to {
		width: 140%;
		left: -20%;
		margin-left: 0;
		background-color: rgb(32, 32, 32);
		box-shadow: 0 0 0 0 white inset;
	}
}

@keyframes expand-scene-verticaly {
	/* 1.5s */
	from {
		top: 50%;
		height: 600px;
		margin-top: -300px;
	}
	to {
		top: 0;
		height: 100%;
		margin-top: 0;
	}
}

@keyframes curtain-opening {
	/* 2s */
	from {
		filter: brightness(180%);
	}
	to {
		filter: brightness(100%);
	}
}

@keyframes left-curtain-opening {
	/* 4s */
	from {
		transform: translate(0) rotate(0) scale(1, 1);
	}
	to {
		transform: translate(-100%) rotate(20deg) scale(0, 2);
	}
}

@keyframes right-curtain-opening {
	/* 4s */
	from {
		transform: translate(0) rotate(0) scale(1, 1);
	}
	to {
		transform: translate(100%) rotate(-20deg) scale(0, 2);
	}
}

@keyframes ground-rising {
	from {
		top: 133%;
	}
	to {
		top: 105%;
	}
}

@keyframes text-zoom {
	from {
		transform: scale(0.75);
	}
	to {
		transform: scale(1);
	}
}

@keyframes text-fade-in {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@keyframes text-glowing {
	from {
		text-shadow: 0 0 10px white;
	}
	to {
		text-shadow: 0 0 10px white, 0 0 20px white, 0 0 30px dodgerblue;
	}
}

@keyframes fade-out {
	from {
		color: black;
		opacity: 1;
	}
	to {
		color: white;
		opacity: 0;
	}
}
