:root {
	--off-black: #3A3A3A;
	--off-white: #FEFEFE;
	--background: var(--off-black);
	--primary: #77CC88;
}

@font-face {
	font-family: Poppins;
	src: url("Poppins.ttf");
}

/* Animations */
@keyframes entry-animation {
	from {
		height: 200vh;
	}
	to {
		height: 100vh;
	}
}

@keyframes header-shrink{
	from {
		flex: 3;
	}
	to {
		flex: 1;
	}
}

/* Main layout elements */
body {
	margin: 0px;
	padding: 0px;

	display: flex;
	flex-direction: column;
	height: 200vh;

	background-color: var(--background);
	color: var(--off-white);
	font-family: Poppins, sans;
	
	animation: 1s ease-in-out 0.3s forwards "entry-animation";
}

header {
	flex: 3;
	align-items: center;
	justify-content: center;
	
	animation: 1s ease-in-out 0.3s forwards "header-shrink";
}

main {
	flex: 2;

	padding: 0 5px;
	
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

footer {
	padding: 5px;
	flex: 1;
	font-size: 0.5em;
	text-align: center;
	justify-content: center;
}

/* Form styling */
input, button, select {
	appearance: textfield;
	text-align: center;
	box-sizing: content-box;
	border: none;
	background-color: var(--primary);
	min-width: 50px;
	field-sizing: content;
	height: 35px;
}

button:hover {
	cursor: pointer;
	background-color: rgb(from var(--primary) r g b / 0.6);
}

/* Links styling */
a {
	color: var(--primary);
	text-decoration: none;
}

a:hover {
	color: rgb(from var(--primary) r g b / 0.6);
}

/* Table styling */
table, th, td {
	padding: 0px 15px;
	border: solid 1px;
	border-collapse: collapse;
}

/* Custom */
span {
	font-weight: 900;
}

h2 {
	font-weight: 500;
	font-size: 1.25em;
	text-align: center;
}

section, header, footer {
	display: flex;
	flex-direction: column;
	align-items: center;
}

