:root {
	--body-bg-color: #fbf1c7;
	--body-color: #282828;
	--card-bg-color: #E9D8A6;
	--emphasis-color: #BB3E03;
	--secondary: #98971a;
	--grey: #7c6f64;
}

* {
	margin: 0;
}

body {
	font-family: "Open Sans", Tahoma sans-serif;
	font-size: 25px;
	font-weight: 500;
	background-color: var(--body-bg-color);
	color: var(--body-color);
}

header {
	font-size: 2vw;
	background-color: var(--card-bg-color);
}

header::after {
	content: " ";
	height: 1px;
	width: 100%;
	background-color: var(--body-color);
	display: block;
}

img {
	margin: 1rem 0;
	border-radius: 50%;
}

h2 {
	font-weight: 300;
	color: var(--secondary);
	margin-bottom: 0.4rem;
}

span {
	width: fit-content;
}

textarea {
	width: 100%;
	height: 250px;
	border-radius: 7px;
	border: 0;
	resize: none;
	padding: 0.7rem;
	font-family: "Open Sans";
	font-size: 20px;
}

button {
	padding: 0.5rem 1rem;
	border: 0;
	font-size: 25px;
	margin-top: 0.5rem;
	color: var(--card-bg-color);
	background-color: var(--secondary);
	border-radius: 10px;
	cursor: pointer;
}

button:disabled {
	background-color: var(--grey);
	cursor: auto;
}

.card {
	margin: 3rem;
	background-color: var(--card-bg-color);
	padding: 1rem 3rem;
	border-radius: 10px;
}

.card>p {
	font-weight: 300;
}

.card>*:not(:first-child) {
	margin-left: 2rem;
}

.title {
	font-size: 90px;
	font-weight: 300;
}

.subtitle {
	font-size: 35px;
	font-weight: 500;
	color: var(--secondary);
}

.message {
	display: inline;
	margin-left: 1rem;
	font-size: 20px;
	font-weight: 300;
}

.success {
	color: var(--secondary);
}

.failure {
	color: var(--emphasis-color);
}

.emphasis {
	color: var(--emphasis-color);
	font-weight: 500;
}

.v-center {
	display: flex;
	align-items: center;
	flex-direction: column;
}

.t-light {
	font-weight: 300;
}

.hide {
	display: none;
}


/* ANIMATIONS */

p,
h1,
h2,
img,
span {
	animation: fadein 1s;
}

@keyframes fadein {
	from {
		opacity: 0;
		transform: translateY(20%);
	}

	to {
		opacity: 1;
		transform: translateY(0%);
	}
}
