* {
	box-sizing: border-box;
	padding: 0;
	margin: 0;
}
html {
	font-size: 18px;
}
body {
	font-family: Arial, sans-serif;
	font-size: 1rem;
	line-height: 1.6;
	color: var(--text-color);
}
.max {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
}
h1, h2, h3 {
	color: var(--primary-color);
}
h1 {
	font-size: 2rem;
	margin: 0.5rem 0;
}
h2 {
	border-bottom: 2px solid var(--primary-color);
	padding-bottom: 0.25rem;
	margin: 2rem 0 0.5rem;
}
h3 {
	margin: 2rem 0 0.5rem;
}
ul, ol {
	margin: 0.5rem 0 0.5rem 1rem;
}
li {
	margin: 0.25rem 0;
}
a, a:visited {
	color: var(--primary-color);
	text-decoration: none;
}
a:hover {
	color: var(--hover-color);
	text-decoration: none;
}

header {
	background: var(--primary-color);
	color: #fff;
	height: 7.5rem;
	box-shadow: 0 0 1rem 0 #00000080;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: stretch;
}
header .top {
	height: 5rem;
	display: flex;
	align-items: flex-end;
}
header .top .max {
	padding: 0 1rem;
}
header .bottom {
	height: 2.5rem;
	background: var(--menu-color);
}

header .bottom .menu {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	height: 2.5rem;
	color: #fff;
}


header h1 {
	color: #fff;
	margin: 0;
}


header a, header a:visited {
	color: #fff;
	text-decoration: none;
}
header a:hover {
	color: #fff;
	text-decoration: none;
	opacity: 0.7;
}

.menu a, .menu a:visited {
	display: flex;
	align-items: center;
	color: #fff;
	padding: 0.3rem 1rem;
	text-decoration: none;
}
.menu a:hover {
	background: #fff;
	color: var(--menu-color);
	text-decoration: none;
	opacity: 1;
}

main {
	max-width: 800px;
	margin: 0 auto;
	padding: 2rem 1rem;
	min-height: calc(100svh - 13.5rem);
}
.image img {
	width: 100%;
	box-shadow: 0 0 0.3rem #00000080;
}
section {
	margin-bottom: 1.5rem;
}
p {
	margin: 0.5rem 0;
}
.text-center {
	text-align: center;
}

.projects {
	display: flex;
	gap: 2rem;
	flex-wrap: wrap;
	justify-content: center;
}
.project {
	width: 8rem;
	display: flex;
}
.project .img {
	aspect-ratio: 1;
	display: flex;
	justify-content: center;
	align-items: center;
}
.project .img img {
	max-width: 100%;
	max-height: 100%;
}
.project .title {
	text-align: center;
	padding: 0.5rem 0;
	text-transform: uppercase;
}
.links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	margin: 2rem 0;
}
.link img {
	height: 3rem;
}

footer {
	background: var(--primary-color);
	color: #fff;
	padding: 1rem 1rem;
	height: 6rem;
	border-top: 0.5rem solid var(--menu-color);
	box-shadow: 0 0 1rem 0 #00000080;
}

