/*-------------

GLOBAL STYLES

-------------*/

body {
	font-family: 'Open Sans', sans-serif;
	margin: 0;
	padding: 0;
	color: #151824;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6, pre {
	font-family: 'Montserrat', sans-serif;
}


a {
	color: #151824;
	text-decoration: none;
}

a:hover {
		text-decoration: underline;
	text-decoration-color: #fee12d;
}


/*----------------

	FULL HEADER

----------------*/

.header {
	width: 100vw;
	/* border-bottom: 1px solid #D3D3D3; */
}

.header-sub-container {
	margin: 0px auto;
	padding: 7px 0px 0px;
	width: 95%;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.logo {
	display: flex;
	align-items: center;
}

.logo img {
	height: 130px;
}

.logo h1 {
	margin-left: 20px;
}


.menu {
	text-align: right;
}

.menu a, .menu-mobile a {
	font-family: 'montserrat', sans-serif;
	font-weight: 500;
	padding: 0px 5px;
	/* text-decoration: underline;
	text-decoration-color: #fee12d; */
}

.menu-mobile {
	display: none;
}



/*-------------

	 BODY

-------------*/

#hero-container {
	margin: 2.5em auto 0em;
	width: 100%;
}

#hero-container h2 {
	display: block;
	position: absolute;
	left: auto;
	right: auto;
	margin: 0px 5% 10px 5%;
	text-align: center;
	font-size: 220%;
}

.body-container {
	display: block;
	margin: 12em auto;
	width: 90%;
	max-width: 800px;
}

.body-container h1 {
	margin: 20px 0 5px 0;
	text-decoration: underline;
	text-decoration-color: #fee12d;	
}

pre {
	display: inline;
}

.penguin {
	color: #ff5300;
}

.fa {
	padding: 0px 5px;
}

.fa:hover {
	color: #fee12d;
}

/*-------------

	 BODY - ABOUT

-------------*/

.about-container {
	display: flex;
	width: 100%;
	margin: 0 10px 2em 10px;
}

.about-container .bio {
	margin-top: -10px;
	width: 50%;

}

.about-container .resume {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50%;
}

.about-container .resume button {
	cursor: pointer;
	font-family: 'montserrat', sans-serif;
	background-color: #a5a5a5;
	color: #fee12d;
	font-weight: 500;
	font-size: 100%;
	padding: 10px;
	border: 3px solid #fee12d;
	border-radius: 5px;
}

.about-container .resume button:hover {
	text-decoration: underline;
}

.bio-tech-text {
	margin: 0px 0px 3px 0px;
}

.tech {
	display: inline-block;
	color: #fee12d;
	background-color: #a5a5a5;
	border: 2px solid #fee12d;
	padding: 2px 5px;
	margin: 2px 0px;
	border-radius: 5px;
}

/*-------------



/*-------------

	 BODY - PROJECTS

-------------*/

#projects-carousel {
	display: grid;
	grid-template-columns: 50% 50%;
	text-align: left;
}

.project-hero {
	position: relative;
	grid-column: 1 / 3;
	min-height: 160px;
	border: 1px solid lightgray;
	border-radius:  5px 5px 5px 5px;
	margin: 10px;
	box-shadow: 2px 2px 4px lightgray;
}

.project-hero .image, .project .image {
	width: 100%;
	height: 160px;
	border-radius:  5px 5px 0 0;
	overflow: hidden;
}

.project-hero .image img, .project .image img {
	border-radius: 5px 5px 0 0;
	height: 100%;
	min-width: 100%;
}

.project-hero .data, .project .data {
	min-height: 120px;
}

.project {
	position: relative;
	min-height: 160px;
	border: 1px solid lightgray;
	border-radius: 5px;
	margin: 10px;
	box-shadow: 2px 2px 4px lightgray;
}


.project h4, .project-hero h4 {
	margin: 10px 0px 0px 10px;
}

.project p, .project-hero p {
	font-size: 90%;
	margin: 5px 10px 0px 10px;
}

.project-links{
	position: absolute;
	bottom: 10px;
	right: 10px;
}

/*-------------

BODY - LINKS

-------------*/

.link-container {
	display: flex;
	text-align: center;
	width: 100%;
	margin: 5px 10px 0 10px;
}

.link-node{
	margin: 10px 10px 10px 0px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background-color: #a5a5a5;
	min-width: 100px;
	min-height: 100px;
	padding: 10px;
	text-align: center;
	border: 3px solid #fee12d;
	border-radius: 5px;
}

.link-node p {
	font-family: 'montserrat', sans-serif;
	font-weight: 500;
	color: #fee12d;
	margin: 10px 0 0 0;
	padding: 0;
}

.link-node p:hover {
	text-decoration: underline;
}

.link-container a:hover {
	text-decoration: none;
}

/*-------------

BODY - CONTACT

-------------*/

.contact-intro {
	margin: 10px 0px 0 10px;
}

.contact-intro a {
	text-decoration: underline;
	text-decoration-color: #fee12d;
}

.contact-form {	
	display: block;
	width: 100%;
	margin: 0px 0 0 0;
}

.contact-form .name {
	font-size: 95%;	
	font-family: 'montserrat', sans-serif;
	margin: 1% 10px;
	padding: 10px;
	width: 47%;
	outline: none;
	border: 3px solid #fee12d;
	border-radius: 5px;
		-webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.contact-form .name:focus::-webkit-input-placeholder,  
.contact-form .email:focus::-webkit-input-placeholder, 
.contact-form .text:focus::-webkit-input-placeholder{
	opacity: 0;
}

.contact-form .email {
	font-size: 95%;	
	font-family: 'montserrat', sans-serif;
	margin: 1% 10px;
	padding: 10px;
	width: 47%;
	outline: none;
	border: 3px solid #fee12d;	
	border-radius: 5px;	
		-webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.contact-form textarea {
	font-size: 95%;	
	font-family: 'montserrat', sans-serif;
	margin: 10px;
	padding: 10px;
	width: 97%;
	max-width: 100%;
	height: 200px;
	outline: none;
	resize: none;
	border: 3px solid #fee12d;	
	border-radius: 5px;	
	-webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.contact-form .submit {
	display: block;
	clear: both;
}

.contact-form .submit {
	cursor: pointer;
	font-size: 95%;
	float: right;
	margin: 0px 12px;
	border: 3px solid #fee12d;
	color: #fee12d;
	border-radius: 10px;
	padding: 15px 40px;
	background-color: #a5a5a5;
	-webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.contact-form .submit:hover {
	text-decoration: underline;
}


/*-------------

MEDIA QUERIES

-------------*/


@media screen and (max-width: 650px) {

	.header-sub-container {
		justify-content: center;
	}

	.menu {
		display: none;
	}

	.menu-mobile {
		display: block;
		padding: 20px 0px 0px 0px;
		text-align: center;
	}

	.menu-mobile a {
		font-size: 120%;
		padding: 0px 10px;
	}

	#hero-container {
		margin: 50px 0 0 0;
	}

	#hero-container h2 {
		font-size: 200%;
		margin: 0em 5%;
	}

	.about-container {
		flex-direction: column;
	}

	.about-container .bio {
		width: 100%;
	}

	.about-container .resume {
		padding: 2em 0 1em 0;
		width: 100%;
	}

}

@media screen and (max-width: 750px) {
	#projects-carousel {
		grid-template-columns: 100%;
	}

	.project-hero {
		grid-column: 1;
		margin: 10px 0;
	}

	.project {
		margin: 10px 0;
	}

	.about-container {
		margin: 0 0 2em 0;
	}

	.link-container {
		margin: 5px 0 0 0;
	}

	.body-container {
		margin: 16em auto;
	}

}

@media screen and (max-width: 1150px) {
	.body-container {
		margin: 14em auto;
	}
}

@media screen and (max-width: 770px) {
	.body-container {
		margin: 17em auto;
	}

	.contact-intro {
		margin: 10px 0 0 0;
	}

	.contact-form .name {
		margin: 10px 0px;
		width: 97%;
	}

	.contact-form .email {
		margin: 10px 0px;
		width: 97%;
	}

	.contact-form textarea {
		margin: 10px 0px;
	}

	.contact-form .submit {
		float: left;
		width: 97%;
		margin: 0;
	}
}

@media screen and (max-width: 450px) {
	.body-container {
		margin: 20em auto;
	}

	.link-container {
		display: block;
	}
}

@media screen and (max-width: 430px) {
	.body-container {
		margin: 21em auto;
	}
}
