/* Main */
@font-face {
	font-family: "Teko Light";
	src: url("../fonts/teko-light.ttf?v=1.0.0") format("truetype");
}

html {
	font-size: 16px;
	margin: 0;
	padding: 0;
}

body {
	background: #0f172a;
	color: #f8fafc;
	font-family: Calibri, sans-serif;
	margin: 0;
	padding: 0;
	text-align: center;
}

h1 {
	font-family: "Teko Light", sans-serif;
	font-size: 3rem;
	letter-spacing: 0.2em;
	margin-bottom: 0.5em;
}

h2 {
	font-family: "Teko Light", sans-serif;
	font-size: 2rem;
	letter-spacing: 0.15em;
	margin-bottom: 0.5em;
	padding: 1rem;
}

.landing_notice {
	color: #94a3b8;
}

#login_container {
	background-color: #111;
	border-radius: 20px;
	margin: 2rem auto;
	max-width: 30rem;
	padding: 5rem 2rem;
	text-align: center;
}

#login_error_container {
	background-color: #440000;
	border-radius: 8px;
	color: #ffdddd;
	margin: 2rem auto;
	width: 300px;
	padding: 0.25rem 2rem;
	text-align: center;
	display: none;
}

#login_error_container p:first-of-type {
	font-size: 2rem;
	margin-bottom: 0rem;
}

#login_timer {
	margin-top: 0rem;
	font-size: 2rem;
	color: #fff;
}

#login_timer span {
	position: relative;
	top: -0.3rem;
	font-size: 1.0rem;
	color: #aaa;
}

#resume_header {
	text-decoration: underline;
	text-decoration-color: red;
	font-weight: bold;
}

form {
	background-color: #fff;
	border-radius: 8px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	margin: auto;
	padding: 2rem;
	width: 300px;
}

fieldset {
	border: none;
	padding: 0;
}

legend {
	color: #333;
	font-size: 1.5rem;
	font-weight: bold;
	margin-bottom: 1.5rem;
}

label {
	color: #555;
	display: block;
	font-weight: 500;
	margin-bottom: 0.25rem;
}

input[type="text"],
input[type="password"] {
	border-radius: 4px;
	border: 1px solid #ccc;
	font-size: 1rem;
	margin-bottom: 1rem;
	padding: 0.5rem;
	text-align: center;
	width: 100%;
}

button {
	background-color: #0078d4;
	border-radius: 4px;
	border: none;
	color: white;
	cursor: pointer;
	font-size: 1rem;
	padding: 0.75rem;
	width: 100%;
}

button:hover {
	background-color: #005fa3;
}

button:disabled,
button:disabled:hover {
	background-color: #999;
}

.service_terms {
	color: #ccc;
	font-size: 1.5rem;
	line-height: 2rem;
	margin-top: 1em;
}

.service_terms li {
	margin-bottom: 1rem;
}

.service_terms ol {
	margin-top: 1rem;
}

.open_menu {
	border-radius: 20px;
	border: 4px solid white;
	box-shadow: 0px 0px 30px #000;
	filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.6));
	height: auto;
	margin-bottom: 0.5em;
	max-width: 300px;
	width: 50%;
}

.open_menu:hover {
	animation: menu_hover 1s ease-in-out infinite;
}

.open_menu.mini_menu {
	width: 140px;
}

#terms_box {
	background-color: #111;
	border-radius: 20px;
	margin: 2rem auto;
	max-width: 50rem;
	padding: 2rem 4rem 2rem 2rem;
	text-align: justify;
}

.list_header {
	list-style-type: none;
	padding: 1rem;
}

.flex_container {
	background: linear-gradient(to bottom, dodgerblue 0%, rgba(0, 0, 0, 0));
	border-radius: 20px;
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
	justify-content: center;
	margin: 2rem auto;
	max-width: 50%;
	padding: 2rem 2rem 6rem 2rem;
	position: relative;
}

.game_banner {
	background: #0f172a;
	border-bottom-right-radius: 5px;
	border-top-right-radius: 5px;
	color: white;
	font-size: 2rem;
	font-weight: bold;
	left: -10px;
	letter-spacing: 0.25rem;
	padding: 8px 15px;
	position: absolute;
	top: 38px;
	transform-origin: top left;
}

.game_icon:hover {
	filter: grayscale(70%);
}

@media only screen and (max-width: 900px) {
	.game_banner {
		display: none;
	}
}

@media only screen and (max-width: 600px) {
	#terms_box {
		margin: 2rem 0rem;
		max-width: 100%;
		padding: 1rem 3rem 1rem 1rem;
	}

	.game_icon {
		width: 128px;
	}

	.game_banner {
		display: none;
	}

	#login_container {
		background-color: #0f172a;
		border-radius: 0px;
		margin: 2rem 0rem;
		padding: 0rem;
	}

	ol * {
		padding-left: 0rem;
	}

}

@media only screen and (max-height: 800px) {

	h1 {
		font-size: 1rem;
	}

	h2 {
		font-size: 1.5rem;
	}

}

.main {
	background: #0f172a;
	float: left;
	height: 100vh;
	width: 100%;
}

section .wave {
	background-size: 1000px 100px;
	background: url(../images/wave.webp?v=1.0.0);
	bottom: 0;
	height: 100px;
	left: 0;
	position: fixed;
	width: 100%;
}

section .wave.wave1 {
	animation-delay: 0s;
	animation: wave 30s ease-in-out infinite;
	bottom: 0.6;
	opacity: 0.6;
	z-index: 1000;
}

section .wave.wave2 {
	animation-delay: -10s;
	animation: wave2 25s ease-in-out infinite;
	bottom: 10px;
	opacity: 0.4;
	z-index: 999;
}

section .wave.wave3 {
	animation-delay: -2s;
	animation: wave 20s ease-in-out infinite;
	bottom: 15px;
	opacity: 0.2;
	z-index: 998;
}

section .wave.wave4 {
	animation-delay: -5s;
	animation: wave2 15s ease-in-out infinite;
	bottom: 20px;
	opacity: 0.6;
	z-index: 997;
}

@keyframes menu_hover {
	0% {
		filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.0));
	}

	50% {
		filter: drop-shadow(0 0 10px rgba(255, 255, 255, 1.0));
	}

	100% {
		filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.0));
	}
}

@keyframes wave {
	0% {
		background-position-x: 0px;
	}

	50% {
		background-position-x: 1000px;
	}

	100% {
		background-position-x: 0px;
	}
}

@keyframes wave2 {
	0% {
		background-position-x: 0px;
	}

	50% {
		background-position-x: -1000px;
	}

	100% {
		background-position-x: 0px;
	}
}

/* Navigation Menu */
.navigation {
	background-color: #111;
	height: 100%;
	left: 0;
	overflow: hidden;
	padding-top: 10vh;
	position: fixed;
	top: 0;
	transition: 0.5s;
	width: 0;
	z-index: 800;
}

.navigation a {
	color: #818181;
	display: block;
	font-family: "Teko Light", sans-serif;
	font-size: 3rem;
	padding: 8px 0px 0px 0px;
	text-decoration: none;
	transition: 0.3s;
}

.navigation a:hover {
	color:
		#f1f1f1;
}

.navigation a:hover::after {
	content: "✵";
	font-size: 2.5rem;
	padding-left: 10px;
	vertical-align: middle;
}

.navigation a:hover::before {
	content: "✵";
	font-size: 2.5rem;
	padding-right: 10px;
	vertical-align: middle;
}

.close_menu {
	height: 100%;
	margin-top: 60px;
	overflow: hidden;
	width: 100%;
	z-index: 900;
}

#main_container {
	transition: margin-left 0.5s;
}

#load-trigger {
	height: 50px;
	background: transparent;
}