* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

/* Definindo estilos padroes */
ul {
	list-style: none;
}

a {
	text-decoration: none;
}

body {
	background-color: #e7dfd8;
	font-family: "Agrandir", "Helvetica", sans-serif;
}

main {
	display: flex;
	flex-direction: column;

	min-height: 100vh;
	margin: 0 auto;
}

/* header nav bar */
header {
	width: 100%;
	padding: 20px 0;
}

header nav {
	width: 100%;
}

header nav ul {
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
	gap: 10px;

	width: 100%;
}

header nav ul li {
	display: flex;
	flex-direction: column;
	justify-content: center;
	flex: 1 1 auto;
	min-width: 80px;
}

header nav ul li a {
	text-transform: uppercase;
	color: black;
	font-weight: bold;
	font-size: clamp(0.8em, 2vw, 1em);
}

header nav ul li a::after {
	display: block;
	
	content: "";

	width: 0;
	border-top: 0.15em solid black;

	transition: width 0.1s;
}

header nav ul li a:hover::after {
	width: 100%;
	transition: 0.2s;
}

/* conteudo principal */
section {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 20px;
	
	padding: 20px;
	margin: 20px;

	border: 1px solid black;
	flex: 1;
}

#main {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 100%;
}

#about-me h1 {
	font-size: clamp(2em, 5vw, 3em);
	text-align: center;
}

#about-me p {
	font-size: clamp(1em, 3vw, 1.2em);
	text-align: center;
}

section img.photo {
	width: 100%;
	max-width: 400px;
	height: auto;
	margin: 10px 0;
}

/* footer */
footer a {
	display: block;
	
	padding-left: 10px;
	margin-bottom: 20px;

	font-weight: bold;
	font-size: 1.3em;

	color: black;
}

footer nav a {
	display: block;
	margin: 10px 0;
	float: left;
}

#main footer {
	display: block;
	text-align: center;
	width: 100%;
}

/* Media Queries - Tablets e superiores */
@media (min-width: 768px) {
	section {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}

	#main {
		flex: 1;
		justify-content: flex-start;
	}

	section img.photo {
		width: 350px;
		margin-left: 20px;
		flex-shrink: 0;
	}

	#about-me h1 {
		text-align: left;
	}

	#about-me p {
		text-align: left;
	}

	header nav ul {
		justify-content: flex-start;
		gap: 30px;
	}

	header nav ul li {
		flex: 0 1 auto;
		min-width: unset;
	}
}

/* Media Queries - Telas grandes */
@media (min-width: 1024px) {
	section {
		padding: 40px;
		margin: 40px;
		gap: 40px;
	}

	#about-me h1 {
		font-size: 3em;
	}

	#about-me p {
		font-size: 1.2em;
	}

	section img.photo {
		width: 400px;
	}

	header nav ul {
		gap: 40px;
	}
}

/* Media Queries - Celulares pequenos */
@media (max-width: 480px) {
	header nav ul {
		flex-direction: column;
		align-items: center;
	}

	header nav ul li {
		width: 100%;
		text-align: center;
		padding: 10px 0;
	}

	section {
		padding: 15px;
		margin: 10px;
		border: none;
	}

	footer a {
		padding-left: 0;
		text-align: center;
	}
}