body {
	background-color: black;
	background: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url("/assets/background.png") no-repeat fixed center;
	background-size: cover;
	color: white;
	font-family: Arial, sans-serif;
	display: grid;
	gap: 6vh;
	padding: 0;
	margin: 0;
	font-family: "Noto Sans", sans-serif;
}

h1 {
	text-decoration: underline;
}

h2 {
	font-weight: bold;
}

h3, h4, h5, h6 {
	font-weight: 400;
}

p, hr {
	color: lightgray;
}

a {
	color: gray;
}

@keyframes navbar {
	from {
		padding-inline: 0;
	}
}

#navbar {
    width: auto;
    max-width: 80vw;
    display: flex;
    align-items: center;
    background-color: rgba(0, 0, 0, 0.8);
    border: 2px solid white;
    border-radius: 10px;
    padding-block: 0.2em;
    padding-inline: 0.8em;
    margin-top: 0.8vw;
    margin-inline: auto;
    position: sticky;
    top: 0;
    z-index: 1;
    text-align: center;
}

#navbar .logo {
	width: 1.5em;
	height: 1.5em;
	padding-left: .5em;
}

#navbar nav {
	align-self: center;
	margin-inline-start: 1vw;
}

#navbar nav a {
	color: lightgray;
	padding-inline: 0.5vw;
	text-decoration: none;
	animation-name: navbar;
	animation-duration: 1s;
}

#navbar nav a:hover {
	color: gray;
	text-decoration: underline;
}

#navbar nav a.active {
	color: gray;
}

#navbar nav a.active:hover {
	color: lightgray;
}

@keyframes banner {
	from {
		object-position: 0 100%;
		filter: blur(4px);
	}
}

#banner {
	width: 80vw;
	height: 23vh;
	border: 1px solid white;
	border-radius: 10px;
	object-fit: cover;
	margin-inline: auto;
	animation-name: banner;
	animation-duration: 1s;
}

#page {
	background-color: rgba(0, 0, 0, 0.5);
	border: 2px solid white;
	border-radius: 10px;
	margin-inline: 2vw;
	padding: 1vw;
}

@keyframes img {
	from {
		filter: blur(4px);
	}
}

#page img {
	width: 80%;
	animation-name: img;
	animation-duration: 1s;
}

#intro {
	display: flex;
	align-items: start;
}

#intro img {
	width: 14rem;
	height: 14rem;
	border: 4px solid lightgray;
	border-radius: 12px;
}

#intro h1 {
	text-decoration: none;
}

#intro h1,
#intro p,
#intro a {
	flex: 1;
	align-self: start;
	margin-inline: 2vw;
}

#intro nav a {
	padding-inline: 1vw;
	text-decoration: none;
	color: white;
}

#intro nav a:hover {
	color: grey;
	text-decoration: underline;
}

#projects {
	display: grid;
	text-align: center;
}

#projects h2 {
	grid-area: 1/2/2/3;
}

#projects .this_website {
	grid-area: 2/1/3/2;
	margin-top: 1vw;
}

#projects .this_website img:hover {
	width: 86%;
}

#projects .skil {
	grid-area: 2/2/3/3;
}

#projects .skil img {
	width: 90%;
}

#projects .skil img:hover {
	width: 96%;
}

#projects .dbt_utils {
	grid-area: 2/3/3/4;
	margin-top: 1vw;
}

#projects .dbt_utils img:hover {
	width: 86%;
}

#etc {
	display: grid;
	text-align: center;
}

#etc h2 {
	grid-area: 1/1/2/3;
}

#etc .contact_me {
	grid-area: 2/1/3/2;
}

#etc .my_blog {
	grid-area: 2/2/3/3;
}

#specs {
	display: grid;
	text-align: center;
}

#specs table {
	margin-left: 4.5vw;
	width: 86vw;
	margin-bottom: 2vw;
	line-height: 4vh;
}

footer {
	width: 100%;
	text-align: center;
	background-color: rgba(0, 0, 0, 0.8);
	border-top: 1px solid white;
	padding-block: 0.2em
}

footer p {
	margin: 0;
	padding: 0;
}

@media only screen and (max-width: 600px) {
	#navbar {
		background-color: rgba(0, 0, 0, 0.8);
		border: 2px solid white;
		border-radius: 10px;
		padding-block: 0.2em;
		padding-inline: 0.8em;
		margin-top: 0.8vw;
		margin-inline: auto;
		position: sticky;
		top: 0;
		z-index: 1;
		text-align: center;
	}

	#navbar nav a {
		color: lightgray;
		padding-inline: 0.5vw;
		text-decoration: none;
	}

	#page img {
		width: 80%;
	}

	#banner {
		width: 98vw;
	}

	#page {
		background-color: rgba(0, 0, 0, 0.5);
		border: 2px solid white;
		border-radius: 10px;
		margin-inline: 2vw;
		padding: 1vw;
	}

	#intro {
		display: block;
		text-align: center;
	}

	#projects {
		display: block;
	}

	#etc {
		display: block;
	}

	footer {
		background-color: rgba(0, 0, 0, 0.8);
		border-top: 1px solid white;
		padding-block: 0.2em;
	}
}
