* {
	box-sizing: border-box;
	padding: 0;
	margin: 0;
}

body {
	background-image: linear-gradient(
			168deg,
			rgba(236, 239, 241, 0.7) -5.12%,
			rgba(43, 65, 65, 0.7) 83.73%
		),
		url('../img/tristan-pineda-LFGGCsj41Bc-unsplash.jpg');

	background-position: center;
	background-size: cover;
	background-attachment: fixed;
	height: 100dvh;
	width: 100dvw;
	display: flex;
	flex-direction: column;
	padding: 2rem;
	justify-content: space-around;
}

header {
	width: 100%;
	align-items: center;
	display: flex;
	flex-direction: column;
}

img#logo {
	width: 400px;
	margin: 0 auto;
	position: relative;
	animation: fadeInDown 1.8s ease-in-out forwards;
	top: -120px;
	opacity: 0;
}

.container.slogan {
	border-bottom: 4px #884544 solid;
	width: fit-content;
	margin: 0 auto;
	border-radius: 8px;
	background-color: rgba(236, 239, 241, 0.5);
	animation: growUp 1s ease-in-out 1.5s forwards;
	transform-origin: bottom;
	height: 0px;
	opacity: 0;
}

p#slogan {
	text-align: center;
	font-size: 20px;
	padding: 0.2rem 1rem;
	animation: fadeIn 1s 2s ease-in-out forwards;
	opacity: 0;
}

button#compass-btn {
	width: 124px;
	border-radius: 100%;
	aspect-ratio: 1/1;
	border: none;
	animation: fadeIn 1s ease-in forwards 3.6s;
	opacity: 0;
	margin: 0 auto;
	background: none;
	position: relative;
}

button#compass-btn:hover {
	cursor: pointer;
}

button#compass-btn img.compass {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	animation: spin 15s infinite ease-in-out both;
	transform-origin: center center;
}

div.fade-container {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0.2;
	scale: 0.8;
	background: rgba(43, 65, 65, 0.7);
	border: #884544;
	border-radius: 100%;

	animation: pulse 2.5s infinite forwards ease-in-out;
}

/* animations */
@keyframes fadeInDown {
	0% {
		opacity: 0;
		top: -120px;
	}

	to {
		opacity: 1;
		top: 0;
	}
}

@keyframes growUp {
	to {
		height: 36px;
		opacity: 1;
	}
}
@keyframes fadeIn {
	to {
		opacity: 1;
	}
}

@keyframes spin {
	0% {
		rotate: 60deg;
	}
	10% {
		rotate: 80deg;
	}
	50% {
		rotate: -30deg;
	}
	70% {
		rotate: 0deg;
	}
	90% {
		rotate: -90deg;
	}
	100% {
		rotate: 60deg;
	}
}
@keyframes pulse {
	50% {
		scale: 1;
		opacity: 0.8;
	}
	100% {
		scale: 0.8;
		opacity: 0.2;
	}
}

/* FONTS */

.noto-sans {
	font-family: 'Noto Sans', sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-variation-settings: 'wdth' 100;
}

.noto-sans-light-it {
	font-family: 'Noto Sans', sans-serif;
	font-optical-sizing: auto;
	font-weight: 300;
	font-style: italic;
	font-variation-settings: 'wdth' 100;
}
