@import url(https://weloveiconfonts.com/api/?family=entypo);

/* entypo */
[class*="entypo-"]:before {
	font-family: 'entypo', sans-serif;
}

html, body {
	width: 100%;
	min-height: 100%;
	font-family: 'Barlow', sans-serif;
	background-color: #fcfeff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cg fill-rule='evenodd'%3E%3Cg fill='%23347eb9' fill-opacity='0.2'%3E%3Cpath d='M0 38.59l2.83-2.83 1.41 1.41L1.41 40H0v-1.41zM0 1.4l2.83 2.83 1.41-1.41L1.41 0H0v1.41zM38.59 40l-2.83-2.83 1.41-1.41L40 38.59V40h-1.41zM40 1.41l-2.83 2.83-1.41-1.41L38.59 0H40v1.41zM20 18.6l2.83-2.83 1.41 1.41L21.41 20l2.83 2.83-1.41 1.41L20 21.41l-2.83 2.83-1.41-1.41L18.59 20l-2.83-2.83 1.41-1.41L20 18.59z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

* {
	box-sizing: border-box;
}

html {
	margin: 0;
	padding: 0;
	font-size: 18px;
}

body {
	margin: 0;
	padding: 5vw;
}

main {
	width: 100%;
	max-width: 1200px;
	padding: 2em;
	margin: auto;
	background-color: #fffefc;
	box-shadow: 0 0 24px 0 #16354e40;
}

#profile-pic {
	width: 50vw;
	height: 50vw;
	max-width: 180px;
	max-height: 180px;
	border-radius: 50%;
	margin: 3rem auto;
	display: block;
	animation: appear 1s ease-in-out;
	animation-fill-mode: both;
}

h1 {
	text-align: center;
	font-size: 2.5em;
	text-transform: uppercase;
	margin-bottom: 0.5rem;
}

#subtitle {
	margin-top: 0.5rem;
	text-align: center;
	font-size: 2em;
	font-weight: lighter;
}

section {
	margin: 3rem 0;
}

section h2 {
	position: relative;
	z-index: 10;
}

section h2:before {
	content: '';
	position: absolute;
	display: block;
	width: 80px;
	height: 2rem;
	z-index: -1;
	left: 2.42rem;
	top: -0.4rem;
}
section h2:after {
	content: '';
	display: block;
	width: 32px;
	height: 5px;
	z-index: -1;
}

#skills h2:before {
	background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23f38181' fill-opacity='0.3' fill-rule='evenodd'%3E%3Ccircle cx='3' cy='3' r='3'/%3E%3Ccircle cx='13' cy='13' r='3'/%3E%3C/g%3E%3C/svg%3E");
}
#skills h2:after {
	background-color: #F38181;
}

#projects h2:before {
	background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%234390a5' fill-opacity='0.3' fill-rule='evenodd'%3E%3Ccircle cx='3' cy='3' r='3'/%3E%3Ccircle cx='13' cy='13' r='3'/%3E%3C/g%3E%3C/svg%3E");
}
#projects h2:after {
	background-color: #4390A5;
}

#timeline h2:before {
	background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%2357ac77' fill-opacity='0.3' fill-rule='evenodd'%3E%3Ccircle cx='3' cy='3' r='3'/%3E%3Ccircle cx='13' cy='13' r='3'/%3E%3C/g%3E%3C/svg%3E");
}
#timeline h2:after {
	background-color: #57AC77;
}

#contact h2:before {
	background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ec682e' fill-opacity='0.3' fill-rule='evenodd'%3E%3Ccircle cx='3' cy='3' r='3'/%3E%3Ccircle cx='13' cy='13' r='3'/%3E%3C/g%3E%3C/svg%3E");
}
#contact h2:after {
	background-color: #ec682e;
}

#skills ul {
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: middle;
	justify-content: flex-start;
}

#skills ul > li {
	flex: 20% 0 0;
	padding: 8px;
	list-style: none;
	text-align: center;
	display: flex;
}

#skills ul > li img {
	margin: auto;
	width: 100%;
	max-width: 80px;
	height: auto;
}

#contact ul {
	margin-top: 4em;
	display: flex;
	align-items: center;
	justify-content: space-evenly;
}

#contact ul > li {
	list-style: none;
	font-size: 2rem;
}

#contact ul > li > a,
#contact ul > li > a:visited {
	text-decoration: none;
	color: #666;
}

#contact ul > li > a:hover {
	color: #aaa;
}

@media (min-width: 1200px) {
	main {
		padding: 2em 5em;
	}
}

/*
 * Animations
 */
 @keyframes appear {
	0%{transform:scale(1.3,1.3);opacity:0;}
	100%{transform:scale(1,1);opacity:1;}
}

@-webkit-keyframes appear {
	0%{transform:scale(1.3,1.3);opacity:0;}
	100%{transform:scale(1,1);opacity:1;}
}

@keyframes appearD {
	0%{transform:scale(1.2,1.2);opacity:0;}
	100%{transform:scale(1,1);opacity:1;}
}

@-webkit-keyframes appearD {
	0%{transform:scale(1.2,1.2);opacity:0;}
	100%{transform:scale(1,1);opacity:1;}
}

@keyframes plop {
	0%{transform:scale(0.01,0.01);opacity:0;}
	100%{transform:scale(1,1);opacity:1;}
}

@-webkit-keyframes plop {
	0%{transform:scale(0.01,0.01);opacity:0;}
	100%{transform:scale(1,1);opacity:1;}
}

@keyframes fadein {
	0%{opacity:0;}
	100%{opacity:1;}
}

@-webkit-keyframes fadein {
	0%{opacity:0;}
	100%{opacity:1;}
}
