/* Fonts */
.roboto-light {
	font-family: "Roboto", sans-serif;
	font-optical-sizing: auto;
	font-weight: 300;
	font-style: normal;
	font-variation-settings:
	"wdth" 100;
}

.roboto-medium {
	font-family: "Roboto", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-variation-settings:
	"wdth" 100;
}

.lato-black {
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-style: normal;
}

.lato-bold {
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.lato-regular {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.lato-light {
  font-family: "Lato", sans-serif;
  font-weight: 300;
  font-style: normal;
}

/* Colors */
:root {
  --primary-color: rgb(32, 32, 32);
  --secondary-color: #2b2b2b;
  --accent-color: #57F2CC;
  --text-color: #BBBBBB;
}

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

body {
	background-color: var(--primary-color);
}

/* Header */
header {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin: 0;
	width: 100%;
	height: 100vh;
	background-color: var(--primary-color);
}

header .intro {
	font-size: 2rem;
	color: var(--text-color);
}

header .title {
	font-size: 4rem;
	color: var(--accent-color);
}

header .line {
	width: 50ch;
	border: 0;
	height: 0.6ch;
	background-color: var(--accent-color);
	border-radius: 500px;
	margin: 1rem auto;

	transform-origin: left;
	transform: scaleX(0);	
	animation: drawLine 1.75s 0.25s forwards ease-in-out;
}

header .occupation {
	font-size: 1.5rem;
	color: var(--text-color);
}

header .scroll {
	position: relative;
	bottom: -12.5rem;
	width: 5vw;

	opacity: 0;
	animation: showScroll 0.5s 2.5s forwards ease-out;
}

.separator {
	border: none;
	height: 0.25rem;
	background-color: var(--accent-color);
}

/* About Me Section */
#about {
	display: flex;
	flex-direction: column;
	justify-content: space-evenly;
	align-items: center;
	background-color: var(--secondary-color);
	width: 100%;
	height: 80vh;
	text-align: center;
}

#about .header {
	font-size: 3rem;
	color: var(--text-color);
}

#about .content {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10rem;
}

#about .content .introimg {
	width: 30vw;
}

#about .content .text {
	color: var(--text-color);
	text-align: left;
	font-size: 1.15rem;
	line-height: 2;
	width: 30vw;
}

/* Experience Section */
#experience {
	display: flex;
	flex-direction: column;
	justify-content: space-evenly;
	align-items: center;
	background-color: var(--primary-color);
	width: 100%;
	height: 80vh;
	text-align: center;
}

#experience .header {
	font-size: 3rem;
	color: var(--text-color);
}

#experience .description {
	margin-top: 0.5rem;
	font-size: 1.25rem;
	color: var(--text-color);
}

#experience .boxes {
	display: flex;
	flex-direction: row;
	justify-content: space-evenly;
	align-items: center;
	gap: 10rem;
	color: var(--text-color)
}

#experience .boxes .box {
	gap: 10rem;
	background-color: var(--secondary-color);
	padding: 1rem;
	border-radius: 15px;
	width: 17.5vw;
	text-align: center;
	align-self: stretch;
}

#experience .boxes .box .title {
	font-size: 1.75rem;
}

#experience .boxes .box .text {
	font-size: 1.15rem;
	line-height: 1.75;
}

/* Projects Section */
#projects {
	display: flex;
	flex-direction: column;
	justify-content: space-evenly;
	align-items: center;
	background-color: var(--secondary-color);
	width: 100%;
	height: 80vh;
	text-align: center;
}

#projects .header {
	font-size: 3rem;
	color: var(--text-color);
}

#projects .description {
	margin-top: 0.5rem;
	font-size: 1.25rem;
	color: var(--text-color);
}

#projects .boxes {
	display: flex;
	flex-direction: row;
	justify-content: space-evenly;
	align-items: center;
	gap: 5rem;
}

#projects .boxes .project {
	display: flex;
	flex-direction: column;
	justify-content: space-evenly;
	align-items: center;
	align-self: stretch;
	gap: 1rem;
	background-color: var(--primary-color);
	padding: 1.5rem;
	border-radius: 15px;
	width: 20vw;
	color: var(--text-color);
	text-align: left;
}

#projects .boxes .project .title {
	font-size: 1.75rem;
	text-align: center;
}

#projects .boxes .project .img {
	width: 6vw;
}

/* Footer */
footer {
	display: flex;
	flex-direction: column;
	justify-content: space-evenly;
	align-items: center;
	height: 30vh;
	color: var(--text-color);
	margin-bottom: 3rem;
}

footer .title {
	margin: 3rem;
	margin-bottom: 2rem;
	font-size: 3rem;
}

footer .content {
	display: flex;
	flex-direction: column;
	justify-content: space-evenly;
	align-items: center;
	gap: 1rem;
}

footer .content .link {
	font-size: 1rem;
	color: var(--text-color);
	text-decoration: none;
}

footer .content .link:hover {
	color: var(--accent-color);
}

#end {
	color: var(--text-color);
	padding: 1rem;
	text-align: right;
	background-color: var(--secondary-color);
}

/* Animation Functions */
@keyframes drawLine {
  to {
	transform: scaleX(1);
  }
}

@keyframes showScroll {
	to {
		opacity: 1;
	}
}