@font-face {
	font-family: 'Roboto';
	src: url('../res/font/Roboto/Roboto-Light.ttf');
}

@font-face {
	font-family: 'Berlin';
	src: url('../res/font/berlin.bold.ttf');
}

@font-face {
	font-family: 'RobotoMono';
	src: url('../res/font/RobotoMono-VariableFont_wght.ttf');
}

head,
body {
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
	font-family: 'Roboto';
	background-color: rgb(20, 20, 20);
}

a {
	text-decoration: none;
}

.theme-dark {
	background-color: rgb(30, 31, 28);
	color: rgb(200, 200, 200);
}

.relative {
	position: relative;
}

.center-content {
	text-align: center;
	margin: 0 auto;
}

.h-box {
	display: flex;
	align-items: center;
	justify-content: center;
}

.v-box {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-evenly;
}

.social-icon {
	width: 48px;
	height: 48px;
	margin: 1rem;
}

.social-icon:hover {
	filter: brightness(100%) hue-rotate(111deg) saturate(300%);
	transition: 0s;
}

.social-icon:not(:hover) {
	filter: sepia(0%) saturate(0%) brightness(70%) hue-rotate(0deg);
	transition: 0.3s;
}

.loader {
	z-index: 9999;
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgb(0, 0, 0);
	transition: opacity 0.75s, visibility 0.75s;
}

.loader--hidden {
	opacity: 0;
	visibility: hidden;
}

.loader::after {
	content: "";
	width: 75px;
	height: 75px;
	border: 5px solid rgb(0, 0, 0);
	border-top-color: #dddddd;
	border-radius: 50%;
	animation: loading 0.75s ease infinite;
}

@keyframes loading {
	from {
		transform: rotate(0turn);
	}

	to {
		transform: rotate(1turn);
	}
}