*
{
	font-family: 'Varela Round', sans-serif;
}

body
{
	margin: 0;
	min-height: 100vh;
	background: linear-gradient(to right, #C0E3FC, #D2CDF7);
}

.app
{
	text-align: center;
	height: 100%;
}
	.app > img
	{
		position: absolute;
		width: 300px;
		top: calc(50% - 20px);
		left: 50%;
		transform: translate(-50%, -50%);
	}
	.app > footer
	{
		position: fixed;
		bottom: 0;
		width: 100vw;
		background: #f1f1f1;
		padding: 12px;
	}
		.app > footer > a
		{
			color: #4186f3;
		}

section > .container
{
	width: 1600px;
	height: 100%;
	margin-left: calc(50vw - 800px);
	position: relative;
}

section.landing
{
	width: 100%;
	height: 100vh;
	overflow: hidden;
	position: relative;
	max-height: 1080px;
	background: #0c753f;
}
	section.landing > img
	{
		position: absolute;
	}
	section.landing img.full
	{
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		max-width: 100%;
	}
	section.landing img.text
	{
		top: 90%;
		left: 50%;
		transform: translate(-50%, -50%);
		max-width: 93.75%;
		animation: textSlideUp 2s forwards;
	}
	@keyframes textSlideUp 
	{
		0% { top: 90%; opacity: 0; }
		80% { opacity: 1; }
		100% { top: 23%; }
	}
	section.landing div.character
	{
		position: absolute;
		top: 70%;
		left: 50%;
		width: 100%;
		transform: translate(-50%, -50%);
		animation: characterSlideUp 1s forwards;
	}
	@keyframes characterSlideUp 
	{
		0% { top: 70%; }
		100% { top: 60%; }
	}
		section.landing div.character img.body
		{
			position: absolute;
			max-width: 52.083%;
			transform: translate(-50%, -50%);
		}
		section.landing div.character div.transform_container
		{
			position: absolute;
			width: 100%;
			height: 100vh;
			transform: translate(11%, -7%);
		}
		@media only screen and (min-width: 1920px)
		{
			section.landing div.character div.transform_container
			{
				width: 1920px;
				height: 1080px;
				left: calc(50% - 960px);
			}
		}
		section.landing div.character div.rotate_container
		{
			position: absolute;
			width: 100%;
			animation: characterHandWave 1s forwards infinite;
			
		}
		section.landing div.character img.hand
		{
			position: absolute;
			max-width: 26.0416%;
			transform: translate(-45%, -69%);
		}
		@keyframes characterHandWave 
		{
			0% { transform: rotate(-20deg); }
			50% { transform: rotate(20deg); }
			100% { transform: rotate(-20deg); }
		}
	section.landing .button
	{
		opacity: 0;
		position: absolute;
		top: 90%;
		left: 50%;
		padding: 20px 80px;
		transform: translate(-50%, -50%);
		background: #754c24;
		border: 10px solid #42210b;
		color: white;
		border-radius: 15px;
		box-shadow: 0 10px 20px #00000088;
		cursor: pointer;
		font-size: 40px;
		font-weight: bold;
		transition: all 0.3s;
		animation: buttonSlideUp 0.3s 1s forwards;
	}
		@keyframes buttonSlideUp 
		{
			0% { top: 90%; opacity: 0; }
			80% { opacity: 1; }
			100% { top: 85%; opacity: 1; }
		}
		section.landing .button:hover
		{
			box-shadow: 0 10px 30px #000000bb;
		}

@media (max-aspect-ratio: 160/92)
{
	section.landing
	{
		width: 100%;
		height: 100vh;
		max-height: 100vh;
	}
	section.landing img.full
	{
		height: 100vh;
		width: 177vh;
		max-width: 177vh;
	}
	section.landing img.text
	{
		width: 120%;
		max-width: 120%;
	}
	section.landing div.character img.body
	{
		width: 92.59vh;
		max-width: 92.59vh;
	}
	section.landing div.character div.transform_container
	{
		position: absolute;
		width: 100%;
		height: 100vh;
		transform: translate(17vh, -9vh);
		left: auto;
	}
	section.landing div.character img.hand
	{
		width: 46.29vh;
		max-width: 46.29vh;
		transform: translate(-45%, -69%);
	}
	@keyframes textSlideUp 
	{
		0% { top: 90%; opacity: 0; }
		80% { opacity: 1; }
		100% { top: 18%; }
	}
	section.landing .button
	{
		top: 90%;
		font-size: 30px;
	}
	@keyframes buttonSlideUp 
	{
		0% { top: 90%; opacity: 0; }
		80% { opacity: 1; }
		100% { top: 80%; opacity: 1; }
	}
}

section.desktop,
section.mobile,
section.discord
{
	height: 1080px;
	display: block;
	position: relative;
	overflow: hidden;
}
	section.desktop img
	{
		position: absolute;
		top: 50%;
		right: -200px;
		transform: translate(0, -50%);
		height: 800px;
	}
	section.mobile img
	{
		position: absolute;
		top: 50%;
		left: -300px;
		transform: translate(0, -50%);
		height: 800px;
	}
	section.discord img
	{
		position: absolute;
		top: 50%;
		right: 350px;
		transform: translate(0, -50%);
		border-radius: 13px;
		box-shadow: 0 10px 20px #0002;
		cursor: pointer;
		transition: box-shadow 0.2s;
	}
		section.discord img:hover
		{
			box-shadow: 0 10px 20px #0004;
		}
	section.desktop .info
	{
		width: 1000px;
		height: 1000px;
		position: absolute;
		top: 100px;
		left: 50px;
		text-align: left;
	}
	section.mobile .info
	{
		width: 1000px;
		height: 1000px;
		position: absolute;
		top: 100px;
		left: 700px;
		text-align: left;
	}
	section.discord .info
	{
		width: 600px;
		height: 1000px;
		position: absolute;
		top: 100px;
		left: 250px;
		text-align: left;
	}
		section .info h2
		{
			font-size: 40px;
			color: #111;
		}
		section .info section
		{
			width: 280px;
			height: 560px;
			background: white;
			border-radius: 13px;
			box-shadow: 0 10px 20px #0002;
			display: inline-block;
			margin-right: 64px;
			margin-top: 80px;
			vertical-align: top;
			font-size: 18px;
			transition: box-shadow 0.2s;
		}
			section.discord .info section
			{
				width: 600px;
			}
			section .info section:hover
			{
				box-shadow: 0 10px 20px #0004;
			}
			section .info section i
			{
				width: 100%;
				display: inline-block;
				padding: 50px 0;
				text-align: center;
				font-size: 66px;
				color: #8BA7E0;
				background: #DFE8FA;
				border-radius: 13px 13px 0 0;
			}
			section .info section h2
			{
				font-size: 25px;
				padding: 20px 40px 0px 40px;
				font-weight: normal;
			}
			section .info section p
			{
				padding: 0 40px;
			}

@media only screen and (max-width: 1550px)
{
	section > .container
	{
		width: 1100px;
		margin-left: calc(50vw - 550px);
	}
	section.desktop .info,
	section.discord .info
	{
		width: 1000px;
		height: 1000px;
		position: absolute;
		top: 100px;
		left: 50px;
		text-align: left;
	}
	section.mobile .info
	{
		left: 420px;
	}
	section.discord img
	{
		right: 50px;
	}
}

@media only screen and (max-width: 1100px)
{
	section > .container
	{
		width: 100%;
		margin-left: 0;
	}
	section.mobile,
	section.desktop,
	section.discord
	{
		height: 1300px;
	}
	section.mobile .info,
	section.desktop .info,
	section.discord .info
	{
		width: 100%;
		position: absolute;
		top: 100px;
		left: 0;
		text-align: center;
	}
	section .info section
	{
		margin-top: 500px;
		text-align: left;
	}
	section .info section:nth-of-type(2)
	{
		margin-right: 0;
	}
	section.mobile img,
	section.desktop img
	{
		top: 550px;
		left: 50%;
		transform: translate(-50%, -50%);
		height: 600px;
	}
	section.discord img
	{
		top: 450px;
		left: 50%;
		transform: translate(-50%, -50%);
	}
	section.discord .info section
	{
		margin-right: 0;
	}
}

@media only screen and (max-width: 660px)
{
	section.mobile,
	section.desktop
	{
		height: 2000px;
	}
	section.discord
	{
		height: 1500px;
	}
	section > .container
	{
		width: 280px;
		margin-left: calc(50% - 140px);
	}
	section.discord .info section
	{
		margin-top: 400px;
		width: 280px;
		height: 700px;
	}
	section .info section:nth-of-type(2)
	{
		margin-top: 60px;
	}
	section.discord img
	{
		top: 480px;
	}
}