:root {
	--navy: #0f1727;
	--green: #007666;
	--yellow: #efcb1b;
	--white: #fff;
	--black: #000;
	--ltgrey: #e6e7e8;
	--dknavy: #070f1f;
	--primary-color: var(--green);
	--secondary-color: var(--navy);
	--headline-font: 'Droid Serif', serif;
	--body-font: 'Montserrat', sans-serif;
}

* {
	box-sizing: border-box;
}

body {
	font-family: var(--body-font);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	margin: 0;
	padding: 0;
}

.container {
	margin: 0 auto;
	max-width: 73.125rem;
	padding: 0 .9375rem;
	width: 100%;
}

::selection {
	background: var(--yellow);
}

header {
	align-items: center;
	display: flex;
	left: 0;
	padding: 2.5rem;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 10;
}

header nav {
	align-items: center;
	display: flex;
	margin-left: auto;
}

header nav ul {
	font-size: 0;
	list-style-type: none;
	margin: 0;
	padding: 0;
}

header nav ul li {
	display: inline-block;
}

header nav ul li a {
	color: var(--white);
	display: block;
	font-size: 1.125rem;
	font-weight: bold;
	line-height: 1;
	padding: 0 1.5625rem;
	text-decoration: none;
	text-transform: uppercase;
}

header nav ul li a:hover {
	color: var(--primary-color);
}

.name-icon {
	background: var(--primary-color);
	display: inline-block;
	height: 3.75rem;
	width: 3.75rem;
}

.name-icon span {
	color: var(--white);
	display: block;
	font-size: 1.125rem;
	font-weight: bold;
	letter-spacing: -0.05em;
	line-height: 3.75rem;
	text-align: center;
}

.name-wordmark {
	display: inline-block;
	padding: 0 1.25rem;
}

.name-wordmark span {
	color: var(--white);
	display: block;
	font-size: 1.125rem;
	font-weight: bold;
	letter-spacing: -0.05em;
	text-transform: uppercase;
}

.intro {
	background: var(--secondary-color) url('../images/background.svg') no-repeat bottom right;
	background-size: auto 80vh;
	border-bottom: .625rem solid var(--primary-color);
	height: 100vh;
	position: relative;
}

.intro-content {
	margin-left: 7.8125%;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.intro .erichilse {
	color: var(--dknavy);
	font-family: var(--headline-font);
	font-size: 6.25rem;
	font-weight: bold;
	line-height: 1;
	margin: 0;
}

.intro h1 {
	border-left: .3125rem solid var(--primary-color);
	color: var(--primary-color);
	font-family: var(--headline-font);
	font-size: 2.25rem;
	font-weight: bold;
	line-height: 1.5;
	margin: 0;
	margin-top: -3.125rem;
	max-width: 38.125rem;
	padding-left: 1.5625rem;
}

.about {
	padding: 5.3125rem 0;
	position: relative;
}

.profile-pic {
	border: .3125rem solid var(--white);
	border-radius: 50%;
	overflow: hidden;
	position: absolute;
	right: 7.8125%;
	top: -5rem;
}

.profile-pic img {
	border: .625rem solid var(--secondary-color);
	border-radius: 50%;
	height: 9.375rem;
	width: 9.375rem;
}

.about {
	text-align: center;
}

.about h2 {
	color: var(--primary-color);
	font-family: var(--headline-font);
	font-size: 2.25rem;
	font-weight: bold;
	line-height: 1;
	margin: 0;
	padding-bottom: .9375rem;
	position: relative;
}

.about h2:after {
	background: var(--secondary-color);
	bottom: 0;
	content: '';
	display: block;
	height: .125rem;
	left: 0;
	position: absolute;
	width: 2.625rem;
}

.about p {
	color: var(--secondary-color);
	font-family: var(--headline-font);
	font-size: 1.0625rem;
	line-height: 1.5;
	padding: .9375rem 5rem;
}

.skill-list {
	margin: 1.25rem 0;
	text-align: center;
}

.about h3 {
	color: var(--primary-color);
	font-family: var(--headline-font);
	font-size: 1.4375rem;
	font-weight: normal;
	line-height: 1;
	margin: 0;
	position: relative;
}

.skill-list ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

.skill-list ul li {
	color: var(--secondary-color);
	font-size: 1rem;
	line-height: 1.5;
}

.portfolio {
	background: var(--ltgrey);
	padding: 3.75rem 0;
}

.portfolio-item img {
	width: 100%;
}

.portfolio-item--container {
	line-height: 0;
	overflow: hidden;
	position: relative;
}

.portfolio-item--container a {
	text-transform: none;
}

.portfolio-item--container a:hover .portfolio-item--overlay {
	background: rgba(0, 0, 0, 0.6);
	opacity: 1;
	transform: scale(1);
}

.portfolio-item--overlay {
	height: 100%;
	left: 0;
	opacity: 0;
	position: absolute;
	top: 0;
	transform: scale(1.5);
	transition: all 0.5s;
	width: 100%;
}

.portfolio-item--overlay span {
	background: var(--primary-color);
	color: var(--white);
	display: inline-block;
	font-size: 1rem;
	left: 50%;
	line-height: 1;
	padding: .625rem 1.25rem;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
}

.portfolio-item--description p {
	color: var(--secondary-color);
	font-size: 0.75rem;
	font-weight: normal;
	line-height: 1;
}

.contact {
	background: var(--secondary-color);
	padding: 2.5rem 0;
	text-align: center;
}

.contact h4 {
	color: var(--white);
	font-family: var(--headline-font);
	font-size: 2.375rem;
	font-weight: normal;
	line-height: 1;
	margin: 0;
	text-transform: uppercase;
}

.contact p {
	color: var(--white);
	font-size: 1rem;
	font-weight: normal;
	line-height: 1.5;
}

.contact a {
	color: var(--white);
	font-size: 1rem;
	font-weight: normal;
	line-height: 1.5;
	text-decoration: none;
}

.button {
	background: var(--primary-color);
	color: var(--white);
	display: inline-block;
	font-size: 1rem;
	font-weight: normal;
	line-height: 1.5;
	padding: .625rem .9375rem;
}

@media screen and (max-width: 48rem) {
	header nav,
	.erichilse {
		display: none;
	}

	.intro-content {
		margin-left: 0;
	}

	.intro h1 {
		font-size: 1.625rem;
	}

	.about h2 {
		text-align: center;
	}

	.about h2:after {
		display: none;
	}

	.about p {
		padding: 0;
	}

	.intro {
		background: var(--secondary-color);
	}

	.profile-pic {
		right: 50%;
		transform: translateX(50%);
		top: -12.5rem;
	}

	.contact p {
		line-height: 3;
	}
}

@media screen and (min-width: 48rem) {
	.grid {
		display: grid;
		grid-auto-rows: auto;
		grid-gap: 1.875rem;
		grid-template-columns: repeat(3, 1fr);
	}

	.about {
		text-align: left;
	}

	.about-content {
		margin: 0 auto;
		max-width: 59rem;
		width: 100%;
	}

	.skillset {
		display: flex;
	}

	.skill-list {
		flex-basis: 0;
		flex-grow: 1;
	}
}