* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	font-family: Arial, Helvetica, sans-serif;
}

html,
body {
	height: 100%;
	width: 100%;
	font-size: 1.2vw;
}

main {
	height: 100%;
	width: 100%;
	display: grid;
	grid-template-columns: 25% 25% 50%;
	grid-template-rows: 30% 55% 15%;
	background-color: #dadada;
}

#left-top-left {
	padding: 2.5rem;
}

#square {
	height: 1.5rem;
	width: 1.5rem;
	background-color: black;
	rotate: 45deg;
}

#menu {
	display: none;
}

#left-top-right {
	justify-self: end;
	text-align: right;
	padding: 2.5rem;
}

#left-top-right h4 {
	font-size: 1.2rem;
	margin-bottom: 2.5rem;
	font-weight: 400;
}

#left-top-right h5 {
	font-size: 0.8rem;
}

#left-center {
	padding: 2.5rem;
	grid-column: 1/3;
}

#left-center h1 {
	font-size: 4.5rem;
	font-weight: 500;
	line-height: 4.2rem;
}

#left-center h1:nth-child(2) {
	margin-left: 6rem;
}

#left-center h1:last-child {
	margin-left: 12rem;
}

#left-bottom {
	align-self: center;
	grid-column: 1/3;
	width: 50%;
	padding: 0 2.5rem;
}

#center {
	background-color: orangered;
	height: 4rem;
	width: 4rem;
	position: absolute;
	right: 50%;
	top: 50%;
	transform: translate(50%, -50%);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

#center i {
	font-size: 2rem;
	color: white;
	font-weight: 100;
}

#right {
	grid-column: 3;
	grid-row: 1/4;
	grid-template-rows: 100%;
	padding: 2rem 0;
	display: flex;
	align-items: start;
}

video {
	width: 80%;
	height: 100%;
	object-fit: cover;
	object-position: top;
	border-radius: 0.5rem;
}

#right i {
	align-self: self-start;
	justify-self: end;
	font-size: 1rem;

	font-weight: 100;
	padding: 0 2rem;
	transform: scaleX(-1);
}

@media screen and (max-width: 600px) {
	main {
		grid-template-columns: 50% 50%;
		grid-template-rows: 10% 35% 10% 45%;
		padding: 4rem;
	}

	#menu {
		display: block;
		justify-self: end;
		text-align: right;
	}

	#menu i {
		font-size: 2.5rem;
	}

	#left-top-right {
		display: none;
	}

	#left-center {
		padding: 4rem;
		grid-column: 1/3;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}

	#left-center h1 {
		font-size: 10rem;
		line-height: 9.5rem;
	}

	#left-center h1:nth-child(2) {
		margin-left: 12rem;
	}

	#left-center h1:last-child {
		margin-left: 26rem;
	}

	#left-bottom {
		align-self: self-start;
		grid-column: 1/3;
		width: 100%;
		text-align: start;
		padding: 0 4rem;
	}

	#left-bottom h6 {
		font-size: 2.5rem;
		letter-spacing: 0.4px;
	}

	#center {
		height: 8rem;
		width: 8rem;
		top: 55%;
		margin-top: 2rem;
	}

	#center i {
		font-size: 3rem;
		rotate: 90deg;
	}

	#right {
		grid-column: 1/3;
		grid-row: 4;
	}

	video {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: top;
		border-radius: 1rem;
	}

	#right i {
		display: none;
	}
}

#loader {
	z-index: 1;
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	overflow: hidden;
}

#loadWhite,
#loadRed,
#loadBlack {
	position: absolute;
	width: 100%;
	height: 0;
	bottom: 0;
}

#loadWhite {
	background-color: white;
	animation: slideUpWhite 2s ease-in-out forwards;
}

#loadRed {
	background-color: red;
	animation: slideUpRed 2s ease-in-out forwards;
	animation-delay: 1.92s;
}

#loadBlack {
	background-color: black;
	animation: slideUpBlack 2s ease-in-out forwards;
	animation-delay: 3.84s;
}

main {
	opacity: 0;
	animation: fadeInContent 0.5s forwards;
	animation-delay: 6.2s;
	z-index: 3;
}

@keyframes slideUpWhite {
	0% {
		height: 100%;
	}
	100% {
		height: 0;
	}
}

@keyframes slideUpRed {
	0% {
		height: 100%;
	}
	100% {
		height: 0;
	}
}

@keyframes slideUpBlack {
	0% {
		height: 100%;
	}
	99% {
		height: 0;
	}
	100% {
		display: none;
	}
}

@keyframes fadeInContent {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
