

* 
{
	box-sizing:border-box;
}

body
{
	margin:0;
	
	font-family: helvetica neue, Arial, sans-serif;
	font-size: 18.0px;
	line-height: 1.45;
	overflow-x:hidden;
}



h1
{
	font-size:2em;
	text-transform:uppercase;
	font-weight:lighter;
}

.hide
{
	display:none !important;
}

/*///////////////////////////////////////////////////////////////////////////////////
//							HEADER SECTION										  //
///////////////////////////////////////////////////////////////////////////////////*/


.header
{
	color:white;
	height:100px;
	width:100%;
	background-color:black;
	display:flex;
	align-items:center;
	justify-content:space-between;
}

.header > *
{
	margin:10px 100px;
	font-size: 1.8em;
}

.header__social-media > a
{
	display:inline-block;
	margin:10px;
	color:white;
}

@media only screen and (max-width: 800px)
{
	.header > * 
	{
		margin:10px;
	}
}

/*///////////////////////////////////////////////////////////////////////////////////
//							HERO SECTION										  //
///////////////////////////////////////////////////////////////////////////////////*/

.hero
{
	min-height:650px;
	display:flex;
	justify-content:center;
	align-items:center;
}


.hero__text
{
	max-width:500px;
	margin:0 20px;
}


.hero::after
{
	content:'';
	width:600px;
	height:600px;
	background-image:url("/media/profile_a.png");
	background-size:contain;
	background-repeat:no-repeat;
	margin-left:200px;
	margin-right:-200px;
	align-self:flex-end;
}

.hero__text__intro
{
	text-transform:uppercase;
	font-size:1.1em;
}

.hero__text__name
{
	color:#2076bd;
	text-transform:uppercase;
	font-size:2.1em;
}

.hero__text__tagline
{
	margin-top:60px;
	font-size:1.1em;
}

.hero__text__description
{
	margin-top:10px;
	font-size:0.8em;
}

.hero__text__resume:visited,
.hero__text__resume
{
	color:inherit;
	text-decoration:none;
	margin-top:40px;
	display:block;
	border:solid;
	width:200px;
	text-align:center;
	padding:10px;
	border-radius:5px;
	border-width:1px;
	cursor:pointer;
	transition:background-color 1s;
}




.hero__text__resume:hover
{
	background-color:#b4c5d2;
}

@media only screen and (max-width: 1200px)
{
	.hero
	{
		flex-direction:column;
	}
	
	.hero__text
	{
		margin-top:50px;
	}
	
	.hero__text__resume
	{
		margin: 40px auto 20px;
	}
	
	.hero::after
	{
		margin-left:auto;
		margin-right:auto;
	}
}

/*///////////////////////////////////////////////////////////////////////////////////
//							INTRO SECTION										  //
///////////////////////////////////////////////////////////////////////////////////*/

.intro
{
	background-color:black;
	color:white;
	padding:100px;
	
}

.intro__title
{
	text-align:center;
	text-transform:uppercase;
	color:#88abc8;
}

.intro__text
{
	max-width:800px;
	margin:20px auto 0;
	text-align:justify;
	color:#88abc8;
}


/*///////////////////////////////////////////////////////////////////////////////////
//							SKILLS SECTION										  //
///////////////////////////////////////////////////////////////////////////////////*/

.skills
{
	padding:100px;
}

.skills__title
{
	text-align:center;
}

.skills__text
{
	max-width:1000px;
	margin:50px auto;
	text-align:justify;
}

.skills__categories
{
	text-align:center;
}

.skills__categories > input
{
	display:none;
}

.skills__categories > label
{
	border:solid;
	border-radius: 5px;
	border-width:1px;
	padding:10px;
	width:200px;
	display:inline-block;
	text-align:center;
	margin:0 50px;
	transition:background-color 1s;
	cursor:pointer;
	
	-webkit-user-select: none; /* Safari */        
	-moz-user-select: none; /* Firefox */
	-ms-user-select: none; /* IE10+/Edge */
	user-select: none; /* Standard */
}

.skills__header
{
	font-size: 1.2em;
	font-weight: lighter;
	font-style: italic;
	text-align: center;
	margin-top: 80px;
}

.skills__categories > label:hover
{
	background-color:#b4c5d2;
}


/*.skills__categories > input[type="radio"]:checked {*/
.skills__categories > input:checked+label
{
	background-color:grey;
}

.skills__root
{
	max-width:1000px;
	margin:auto;
}

.skills__container
{
	display:flex;
	max-width:1124px;
	margin:0 auto;
	justify-content:center;
	/*max-height:0;*/
	/*overflow:hidden;*/
	/*transition:max-height 0.5s 0s;*/
}



.skills__container.visible
{
	/*max-height: 600px;*/
	/*transition:max-height 0.5s 0.5s;*/
}

.skills__container > .column
{
	flex-basis:100px;
	flex-grow:1;
	margin:0 30px;
}

.skills__container .skill
{
	margin-top:50px;
}

.skills__container .skill-title
{
	font-size:1.2em;
	font-weight:bold;
	border-bottom: solid;
}

.skill-description
{
	font-size: 0.8em;
	margin-top: 12px;
	text-align: justify;
}


@media only screen and (min-width: 800px)
{
	.skills__container > .column:first-child
	{
		margin-left:0;
	}

	.skills__container > .column:last-child
	{
		margin-right:0;
	}
}

@media only screen and (max-width: 800px)
{
	.skills__container
	{
		flex-direction:column;
	}
	
	.skills__container > .column
	{
		margin:0 !important;
	}
	
	.skills
	{
		padding:50px;
	}
}


/*///////////////////////////////////////////////////////////////////////////////////
//							TIMELINE SECTION										  //
///////////////////////////////////////////////////////////////////////////////////*/



.timeline
{
	
	color:white;
	padding:100px;
	background-color:#111;
	background-image:url('/media/neurons-bg-dark.jpg');
	background-size:100%;
}


.timeline__title
{
	text-align:center;
}

.timeline__text
{
	width:1024px;
	margin: 0 auto;
}

/*///////////////////////////////////////////////////////////////////////////////////
//							PROJECTS SECTION										  //
///////////////////////////////////////////////////////////////////////////////////*/

.projects
{
	padding:100px;
	display:flex;
	align-items:center;
	justify-content:center;
	background-color:#111;
	flex-direction:column;
	color:white;
	min-height:90vh;
}



.projects__list
{
	margin-top:50px;
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
}

.projects__title
{
	text-align:center;
}

.projects__text
{
	max-width:800px;
	text-align:justify;
}

.projects__viewer
{
	position:fixed;
	z-index:10;
	opacity:0;
	overflow:hidden;
	display:none;
	justify-content:center;
	align-items:center;
	top:0;
	left:0;
	right:0;
	height:100vh;
	max-height:0px;
	background-color:rgba(0,0,0,0.9);
	
}

.projects__viewer__container
{
	position:relative;
}

.projects__viewer__close
{
	position: absolute;
	width: 30px;
	height: 30px;
	top: -15px;
	right: -15px;
	border: solid;
	text-align: center;
	border-radius: 50%;
	cursor:pointer;
}

.projects__viewer iframe
{
	height:55vh;
	width:100vh;
	max-width:90vw;
}

.projects__viewer.show
{
	max-height:2000px;
	opacity:1;
	display:flex;
}

.project
{
	cursor:pointer;
	position:relative;
	max-width:370px;
	overflow:hidden;
	margin:30px;
	background-color:white;
	position:relative;
	border-radius:5px;
	color:black;
}

.project--orange
{
	background-color: #e8d5b1;
}

.project--blue
{
	background-color: #cee2e6;
}

.project__thumbnail
{
	display:block;
	width:100%;
	height:320px;
	object-fit:cover;
}



.project::after
{
	font-family: "Font Awesome 5 Pro";
	content:'\f144';
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	color:white;
	text-align: center;
	padding-top: 60px;
	font-size: 138px;
	background-color:rgba(0,0,0,0.2);
}

.project__title
{
	margin:10px 20px 10px;
	width:100%;
	text-align:left;
	font-size:1.2em;
	
}

.project__contribution::before
{
	content:'Contribution: ';
	display:inline;
}

.project__contribution
{
	font-size:0.7em;
	margin: 0 20px 20px;
	font-style:italic;
}

.project__description
{
	font-size:0.9em;
	margin:0 20px 20px;
}

@media only screen and (max-width: 800px)
{
	.projects
	{
		padding:30px;
		padding-top:100px;
	}
	
	.project
	{
		margin: 30px 0;
		
	}
}



/*///////////////////////////////////////////////////////////////////////////////////
//							CONCLUSION SECTION										  //
///////////////////////////////////////////////////////////////////////////////////*/

.conclusion
{
	background-color:white;
	display:flex;
	justify-content:center;
	align-items:center;
	min-height:500px;
	position:relative;
}


.conclusion::before
{
	content:'';
	width:100%;
	background-color:black;
	height: 30px;
	position: absolute;
	top: -30px;
}

.conclusion__content
{
	max-width:550px;
	margin:100px 0;
}


.conclusion::after
{
	content: '';
	width: 549px;
	background-image: url("/media/machines.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position-y: 0;
	margin-left: 150px;
	margin-right: -100px;
	margin-bottom: 0px;
	align-self: stretch;
}

.conclusion__title
{
	text-transform:uppercase;
	font-size:1.5em;
	color:#2076bd;
}


.conclusion__text
{
	margin-top:20px;
}

.conclusion__button
{
	margin-top:20px;
	display:block;
	border:solid;
	width:200px;
	text-align:center;
	padding:10px;
	border-radius:5px;
	border-width:1px;
	cursor:pointer;
	transition:background-color 1s;
}



.conclusion.show-email .conclusion__button
{
	display:none;
}


.conclusion__contact
{
	margin-top:20px;
	display:none;
}

.conclusion.show-email .conclusion__contact
{
	display:block;
}

.conclusion__button:hover
{
	background-color:grey;
}

@media only screen and (max-width: 1200px)
{
	.conclusion
	{
		flex-direction:column;
	}
	
	.conclusion__content
	{
		text-align:center;
		margin: 100px 20px;
	}
	
	.conclusion__button
	{
		margin: 20px auto;
	}
	
	.conclusion__contact
	{
		margin: 20px auto;
	}
}

/*///////////////////////////////////////////////////////////////////////////////////
//							FOOTER SECTION										  //
///////////////////////////////////////////////////////////////////////////////////*/
.footer
{
	background-color:black;
	padding:30px 0;
	color:white;
}

.footer__copyright
{
	text-align:center;
	font-size:14px;
}