:root {
	--txt: #FAFAFF;
	--background: rgba(45, 49, 66, 0.9);
	--secondary: #778DA9;
	--highlight: #96E072;
	--tetiary: #F5F749;
	--shadow: #253044;

	color: var(--txt);
	font-family: Geist Mono;
	font-size: 15pt;
}

* {
	transition: 0.1s;
}

img {
	border-radius: 20px;
	width: 30%;
}

body {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	margin: 0;
	min-height: 100vh;
	background-image: url("/images/bg.webp");
}

h1 {
	font-family: Major Mono Display;
	text-align: center;
	font-size: 30pt;
}

h2 {
	text-align: left;
	font-size: 25pt;
	color: var(--tetiary);
}

a {
	text-decoration: none;
	color: var(--highlight);
}

a:hover {
	text-decoration: underline;
}

/* ================= Layout ================= */

header,
footer {
	padding: 1em;
	margin: 0 2em;
	display: flex;
	justify-content: space-around;
}

header {
	border-radius: 0 0 5vw 5vw !important;
	border-top-style: none !important;
}

footer {
	border-radius: 5vw 5vw 0 0 !important;
	border-bottom-style: none !important;
}

main {
	margin: 5vw;
	display: grid;
	flex: 1;
	grid-gap: 1em;
	grid-template-columns: 0.15fr 1fr;
	grid-template-rows: auto 1fr;
}

#friends,
#about {
	padding: 3em;
}

#socials {
	grid-column: span 2;
}

/* ================= Card ================= */

.sheet {
	border: 2px solid var(--secondary);
	border-radius: 20px;
	background-color: var(--background);
}

.sheet:hover {
	filter: drop-shadow(0 0 0.2em var(--secondary));
}

/* ================= Friend List ================= */

#friendlist {
	display: flex;
	flex-direction: column;
	justify-content: space-around;
}

#friendlist a {
	display: flex;
	flex-direction: column;
}

.friend-link img {
	margin: 0.5em 0 1em 0;
	align-self: center;
	width: 75%;
}

.friend-link:hover {
	filter: brightness(120%);
}

/* ================= Marker Effect ================= */

.fancy-link::before,
.fancy-link::after,
.legend-link::before,
.legend-link::after {
	opacity: 0;
	transition: opacity 0.2s ease;
}

.fancy-link::before,
.legend-link::before {
	content: "> ";
}

.fancy-link::after,
.legend-link::after {
	content: " <";
}

.fancy-link:hover::before,
.fancy-link:hover::after,
.friend-link:hover .legend-link::before,
.friend-link:hover .legend-link::after {
	opacity: 1;
}

.legend-link {
	text-align: center;
}

@media (max-width: 900px) {

	:root {
		font-size: 15pt;
	}

	main {
		grid-template-rows: auto 1fr auto;
		grid-template-columns: auto;
	}

	h1 {
		font-size: 25pt;
	}

	h2 {
		font-size: 20pt;
	}

	#socials {
		grid-column: span 1;
	}
	#friendlist {
		flex-direction: row;
	}
}
