/*1b4dca medium blue
f2ebd5 light yellow
222358 dark blue
f7bfbf light pink*/

@import url('https://fonts.googleapis.com/css?family=Martel+Sans|Merriweather+Sans|Tangerine:700');

/*
 =======================================================================
|                                                                       |
|                               Desktop                                 |
|                                                                       |
 =======================================================================
*/

/*======================= Standard =======================*/

html, body {
	width: 100%;
	height: auto;
	font-family: "Merriweather Sans", Helvetica, sans-serif;
	font-size: 16px;
	margin: 0;
	padding: 0;
}

main {
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	grid-template-rows: repeat(3, auto);
	grid-row-gap: 2vmin;
}

img {
	width: 100%;
	height: auto;
}

h1 {
	font-size: 6em;
	font-family: "Martel Sans", Arial, sans-serif;
	font-weight: bold;
}

h2 {
	font-size: 4em;
	font-family: "Martel Sans", Arial, sans-serif;
	font-weight: lighter;
}

h3 {
	font-size: 2em;
	font-family: "Martel Sans", Arial, sans-serif;
	/*font-weight: bold;*/
}

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

a:hover {
	cursor: pointer;
}

button {
	width: 100%;
	background: none;
	border: none;
	font-size: 1em;
	font-family: "Merriweather Sans", Helvetica, sans-serif;
}

button:hover {
	cursor: pointer;
}

button:active {
	border: none;
	background: none;
}

/*======================= Header =======================*/

header {
	grid-column: 1/6;
	grid-row: 1/2;
	height: 100%;
	margin: 0;
	padding: 0;
	background-repeat: no-repeat;
	background-position: left center;
	
}

#background { 
	grid-column: 1/4;
	grid-row: 1/3;
	width: 100%;
	height: 100%;
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	grid-template-rows: 60% 40%;
	/*padding: 1vh 1vw 0 1vw;*/
	text-shadow: 1px 2px 3px grey;
}

#background svg {
	grid-column: 1/13;
	grid-row: 1/3;
	width: 100%;
	height: 100%;
	stroke: #000;
	fill: none;
	margin: 0;
	padding: 0;
	stroke-width: .1em;
	stroke-dasharray: 3641.8056640625px;
	stroke-dashoffset: 3641.8056640625px;
	-webkit-animation-name: drawbackground;
	animation-name: drawbackground;
	-webkit-animation-duration: 3s;
	animation-duration: 3s;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
	-webkit-animation-iteration-count: 1;
	animation-iteration-count: 1;
	-webkit-animation-timing-function: ease-in;
	animation-timing-function: ease-in;
}

@keyframes drawbackground {
	to {
		stroke-dashoffset: 0;
		fill: #000;
	}
}

#logo {
	grid-column: 1/4;
	grid-row: 1/3;
	background-repeat: no-repeat;
	position: bottom right;
	height: 100%;
	width: 20vw;
}

#logo img {
	height: auto;
	width: 20vw;
	margin: 0;
	padding: 0;
	position: absolute;
	-webkit-animation-name: growlogo;
	animation-name: growlogo;
	-webkit-animation-duration: 5s;
	animation-duration: 5s;
	-webkit-transform-origin: 50% 50%;
	-moz-transform-origin: 50% 50%;
	-ms-transform-origin: 50% 50%;
	-o-transform-origin: 50% 50%;
	transform-origin: 50% 50%;
	
}

@keyframes growlogo {
		0%{
			-moz-transform: translateX(-1000px) translateY(0px);
			-webkit-transform: translateX(-1000px) translateY(0px);
			-o-transform: translateX(-1000px) translateY(0px);
			-ms-transform: translateX(-1000px) translateY(0px);
			transform: translateX(-1000px) translateY(0px);
		}
		100% {
			-moz-transform: translateX(0px) translateY(0px);
			-webkit-transform: translateX(0px) translateY(0px);
			-o-transform: translateX(0px) translateY(0px);
			-ms-transform: translateX(0px) translateY(0px);
			transform: translateX(0px) translateY(0px);
		}
}

.pg-title {
	grid-column: 4/11;
	grid-row: 1/2;
	font-family: Tangerine, cursive;
	font-size: 8vw;
	text-align: center;
	margin: 10% 0 20% 0;
	color: #f7bfbf;
	-webkit-animation: title 2s linear;
	animation: title 2s linear;
}

@keyframes title {
	0% 
	{
		opacity: 0;
		color: #fff;
		text-shadow: 0px 0px 0px grey;
	}
	40%
	{
		opacity: .4;
	}
	100%
	{
		opacity: 1;
		color: #f5bdbd;
		text-shadow: 1px 2px 3px grey;
	}
}



.pg-subtitle {
	grid-column: 4/11;
	grid-row: 2/3;
	grid-row-gap: 0;
	font-family: "Merriweather Sans", Helvetica, sans-serif;
	font-style: oblique;
	font-size: 2vw;
	text-align: center;
	color: #f5bdbd;
	text-shadow: 1px 2px 3px grey;
	margin: 0;
	-webkit-animation: subtitle 6s linear;
	animation: subtitle 4s linear;

}

@keyframes subtitle
{
	0%
	{
		opacity: 0;
	}
	50%
	{
		opacity: 0;
	}
	100%
	{
		opacity: 1;
		transform: scale(1);
	}
}

/*======================= Navigation =======================*/

.topnav {
	z-index: 500;
}

.topnav ul {
	display: inline-flex;
	position: fixed;
	top: 0;
	right: 1vw;
}

.topnav ul li {
	list-style-type: none;
	opacity: .5;
	margin-right: 1vw;
}


.topnav ul li:hover {
	opacity: 1;
}

.topnav ul li li {
	opacity: .5;
	padding-bottom: .5em;
}

.drop-menu {
	position: relative;
}

.topnav ul li li:hover {
	position: relative;
	cursor: pointer;
	opacity: 1;
}

.topnav img {
	width: 35px;
	height: 30px;
}

#lvl1 {
	display: none;
	overflow: hidden;
	position: absolute;
	flex-direction: column;
	top: 30px;
	width: 275px;
	height: auto;
	background-color: #f5bdbd;
	text-align: left;
	font-weight: bolder;
	box-shadow: 2px 3px 5px #000;
	z-index: 501;
}

#lvl2 {
	display: none;
	overflow: hidden;
	position: relative;
	box-shadow: 0px 0px;

}



/*======================= Content =======================*/

.about {
	position: fixed;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,.5);
	display: none;
	z-index: 500;
}

.about-body {
	position: fixed;
	width: 70%;
	height: auto;
	background-color: #fff;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	display: grid;
	grid-template-columns: repeat(12,1fr);
}

.close-about {
	grid-column: 10/13;
	grid-row: 2/3;
	font-size: 1.5em;
	text-align: center;
	color: #f7bfbf;
	text-shadow: 1px 2px 3px grey;
	padding-bottom: 1em;		
}

.close-about:hover {
	cursor: pointer;
	color: #222358;
}

.about-text {
	grid-column: 2/12;
}

.about-text h2 {
	font-family: "Merriweather Sans", Helvetica, sans-serif;
	font-style: oblique;
	font-size: 2em;
	color: #f5bdbd;
	text-shadow: 1px 2px 3px grey;	
}

.about-img {
	float: left;
	width: 30vmin;
	height: 22vmin;
	background-image: url(img/glow_head.svg);
	background-repeat: no-repeat;
	position: cover;
}

.about-img:hover {
	background-image: url(img/wink_head.svg);
}

.about-body p {
	width: 100%;
	letter-spacing: .03em;
}

#lists {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
}

#skills {
	grid-column: 1/2;
}

#proficiencies {
	grid-column: 2/3;
}

#familiar {
	grid-column: 3/4;
}

.about-body p::first-letter {
	font-family: Tangerine, cursive;
	font-size: 3em;
	line-height: .5em;
	color: #f7bfbf;
}

.works {
	grid-column: 1/6;
	grid-row-start: 2;
	width: 100%;
	height: 100%;
	display: grid;
	grid-template-columns: repeat(10, 1fr);
	grid-gap: 1vmin;
	margin: 0;
	padding: 0;
}

.proj-head {
	grid-column: 1/11;
	width: 100%;
	height: 100%;
	display: grid;
	grid-template-columns: 30% 40% 30%;
	grid-template-rows: 80% 20%;
}

.proj-head img {
	grid-column: 2/3;
	grid-row: 1/3;
	width: 100%;
	min-height: 50px;
	min-width: 50px;
}

.proj-head-overlay {
	grid-column: 2/3;
	grid-row: 1/3;
	overflow: hidden;
	position: relative;
	margin: 0;
	padding: 0;
	opacity: 0;
	-webkit-transition: opacity 1.5s;
	transition: opacity 1.5s;
	z-index: 20;
}

.proj-name {
	width: 100%;
	position: absolute;
	bottom: 0;
	font-size: 1.75em;
	color: #fff;
	text-align: center;
	text-shadow: 1px 2px 7px #f2ebd5;
	z-index: 21;
}

.proj-head-overlay:hover {
	opacity: 1;
	background-color: rgba(0,0,0,.6);
	height: 100%;
}

.proj {
	grid-column: 2/10;
	width: 100%;
	background-color: #fff;
	margin: 1em;
	position: relative;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto;
	grid-row-gap: 1vh;
}

.close-proj {
	position: absolute;
	width: 3vw;
	top: 0;
	right: 0;
	font-size: 2em;
	text-align: center;
	color: #f7bfbf;
}

.close-proj:hover {
	cursor: pointer;
	color: #222358;
}

.close-proj-bottom {
	position: absolute;
	width: 3vw;
	top: bottom;
	right: 0;
	font-size: 1.5em;
	text-align: center;
	color: #f7bfbf;
}

.close-proj-bottom:hover {
	cursor: pointer;
	color: #222358;
}

#proj1 {
	display: none;
}

#proj2 {
	display: none;
}

#proj3 {
	display: none;
}

#proj4 {
	display: none;
}

#proj5 {
	display: none;
}

#proj6 {
	display: none;
}

.proj p {
	grid-column: 1/3;
	padding: 4em 2em;
	align-self: center;
	font-family: "Martel Sans", Arial, sans-serif;
	font-size: 1.5em;
	padding: 3em 0;
}

.proj-select {
	width: 75%;
	margin: 0 10%;
	display: inline-flex;
}

.proj-select ul {
	margin: 0;
	padding: 0;
}

.proj-select li{
	margin: 0;
	padding: 0;
	list-style-type: none;
	width: 100%;
	font-family: "Martel Sans", Arial, sans-serif;
	font-size: 1.5em;
	text-shadow: -1px -1px 2px #000;
	text-align: center;
	font-weight: bolder;
	color: #f7bfbf;
	opacity: .4;
}

.proj-select li:hover {
	opacity: 1;
	cursor: pointer;
}

.proj-select li:active {
	color: #1b4dca;
}

.proj-img {
	grid-column: 1/3;
	width: 100%;
	height: 80vmin;
	display: grid;
	grid-template-columns: repeat(9, 1fr);
	grid-template-rows: repeat(9, 1fr);
}

.img1 {
	grid-column: 1/5;
	grid-row: 1/5;
	height: 100%;
	width: auto;

}

.img2 {
	grid-column: 3/7;
	grid-row: 3/7;
	height: 100%;
	width: auto;
}

.img3 {
	grid-column: 6/10;
	grid-row: 1/4;
	height: 100%;
	width: auto;
}

.img4 {
	grid-column: 6/10;
	grid-row: 6/10;
	height: 100%;
	width: auto;
}

.img5 {
	grid-column: 1/5;
	grid-row: 6/9;
	height: 100%;
	width: auto;
}

.img6 {
	grid-column: 4/7;
	grid-row: 6/9;
	height: 100%;
	width: auto;
}

.img7 {
	grid-column: 1/5;
	grid-row: 1/5;
	height: 100%;
	width: auto;
}

.img8 {
	grid-column: 3/8;
	grid-row: 3/8;
	height: 100%;
	width: auto;
}

.img9 {
	grid-column: 6/10;
	grid-row: 6/10;
	height: 100%;
	width: auto;
}

.img10 {
	grid-column: 4/7;
	grid-row: 3/8;
	height: 100%;
	width: auto;
}

.img11 {
	grid-column: 3/7;
	grid-row: 2/7;
	height: 100%;
	width: auto;
}

.img12 {
	grid-column: 1/4;
	grid-row: 1/4;
	height: 100%;
	width: auto;
}

.img13 {
	grid-column: 7/10;
	grid-row: 1/4;
	height: 100%;
	width: auto;	
}

.img14 {
	grid-column: 5/6;
	grid-row: 1/6;	
	height: 100%;
	width: auto;
}

.img15 {
	grid-column: 1/4;
	grid-row: 4/9;	
	height: 100%;
	width: auto;
}

.img16 {
	grid-column: 7/10;
	grid-row: 5/10;	
	height: 100%;
	width: auto;
}

.img1:hover {
	cursor: pointer;
	width: 101%;
	height: auto;
	z-index: 500;
}

.img2:hover {
	cursor: pointer;
	width: 101%;
	height: auto;
	z-index: 500;
}

.img3:hover {
	cursor: pointer;
	width: 101%;
	height: auto;
	z-index: 500;
}

.img4:hover {
	cursor: pointer;
	width: 101%;
	height: auto;
	z-index: 500;
}

.img5:hover {
	cursor: pointer;
	width: 101%;
	height: auto;
	z-index: 500;
}

.img6:hover {
	cursor: pointer;
	width: 101%;
	height: auto;
	z-index: 500;
}

.img7:hover {
	cursor: pointer;
	width: 101%;
	height: auto;
	z-index: 500;
}

.img8:hover {
	cursor: pointer;
	width: 101%;
	height: auto;
	z-index: 500;
}

.img9:hover {
	cursor: pointer;
	width: 101%;
	height: auto;
	z-index: 500;
}

.img10:hover {
	cursor: pointer;
	width: 101%;
	height: auto;
	z-index: 500;
}

.img11:hover {
	cursor: pointer;
	width: 101%;
	height: auto;
	z-index: 500;
}

.img12:hover {
	cursor: pointer;
	width: 101%;
	height: auto;
	z-index: 500;
}

.img13:hover {
	cursor: pointer;
	width: 101%;
	height: auto;
	z-index: 500;
}

.img14:hover {
	cursor: pointer;
	width: 101%;
	height: auto;
	z-index: 500;
}

.img15:hover {
	cursor: pointer;
	width: 101%;
	height: auto;
	z-index: 500;
}

.img16:hover {
	cursor: pointer;
	width: 101%;
	height: auto;
	z-index: 500;
}

.modal {
	position: fixed;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,.5);
	display: none;
	z-index: 500;
}

.modal-content {
	position: fixed;
	width: 70%;
	height: auto;
	background-color: #fff;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	border-radius: 5px;
}

.close-modal {
	position: fixed;
	font-size: 1.5em;
	text-align: center;
	color: #f5bdbd;
	text-shadow: 1px 2px 3px grey;
	padding-bottom: 1em;		
}

.close-modal:hover {
	cursor: pointer;
	color: #222358;
}

.top {
	top: .5em;
	right: 1em;
	font-size: 2em;
}

.bottom {
	bottom: 2em;
	right: 1.5em;
}

.modal h2 {
	font-family: "Merriweather Sans", Helvetica, sans-serif;
	font-style: oblique;
	font-size: 5em;
	color: #f5bdbd;
	text-shadow: -1px -1px 2px grey;	
	padding-left: 2em;
}

.modal h2, h4 {
	font-family: "Merriweather Sans", Helvetica, sans-serif;
	font-style: oblique;
	font-size: 1.25em;
	color: #222358;
	text-shadow: -1px -1px 2px grey;	
}

.contact {
	width: 70%;
	margin: auto;
}

#my-email {
	width: 30%;
	margin-top: 0;
	background-color: #f5bdbd;
	border-radius: 5px 0 50px 0;
	padding: 1em 0 1em 2em;
}


input[type=text] {
	width: 90%;
	padding: 1vh;
	border: ridge 2px #f5bdbd;
	border-radius: 5px;
}

input[type=text]:focus {
	background-color: #f2ebd5;
	border-color: #222358;
}

textarea {
	width: 90%;
	padding: 2vw;
	resize: vertical;
	border: ridge 2px #f5bdbd;
	border-radius: 5px;
}

textarea:focus {
	background-color: #f2ebd5;
	border-color: #222358;
}

#fname #lname {
	height: 1vh;
}

#service {
	height: 2em;
	font-size: 1em;	
	border-color: #222358;
	border-radius: 3px;
}

input[type=submit] {
	background-color: #f5bdbd;
	border-radius: 25px;
	border: solid 1px #f2ebd5;
	height: auto;
	font-family: "Merriweather Sans", Helvetica, sans-serif;
	font-size: 2vh;
	line-height: 1.5em;
	color: #222358;
	text-shadow: 1px 1px 1px #000;
}

input[type=submit]:hover {
	box-shadow: 2px 2px 5px grey; 

}

input[type=reset] {
	background-color: #f5bdbd;
	border-radius: 25px;
	border: solid 1px #f2ebd5;
	height: auto;
	font-family: "Merriweather Sans", Helvetica, sans-serif;
	font-size: 2vh;
	line-height: 1.5em;
	color: #222358;
	text-shadow: 1px 1px 1px #000;
}

input[type=reset]:hover { 
	box-shadow: 2px 2px 5px grey; 

}

.modal-foot {
	float: right;
	width: 30%;
	background-color: #f5bdbd;
	border-radius: 50px 0 5px 0;
}

.modal-foot p {
	width: 80%;
	margin: 0 0 0 8%;
	font-size: .75em;
	padding: 2em 0;
}

footer {
	grid-column: 1 / 6;
	width: 100%;
	background-color: #f5bdbd;
	color: #000;	
	text-align: center;
	line-height: 2em;
}

/*================== Image Galleries =======================*/

.gallery {
	position: fixed;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0,0,0,.5);
	z-index: 550;
	display: none;
	overflow: hidden;
}

.gallery li {
	list-style-type: none;
}

.img-container {
	position: fixed;
	margin: auto;
	width: auto;
	height: 90vh;
}

.img-container img {
	position: fixed;
	max-width: 90%;
	width: auto;
	max-height: 90%;
	height: auto;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index: 551;
	display: none;
}

.img-close {
	position: fixed;
	width: 3vw;
	top: 10%;
	right: 0;
	font-size: 3em;
	text-align: center;
	color: #f7bfbf;
	z-index: 600;
}

.img-close:hover {
	cursor: pointer;
	color: #222358;
}

.prev {
	position: fixed;
	line-height: 6vh;
	width: 4vw;
	top: 50%;
	left: 0;
	font-size: 2.5em;
	text-align: center;
	color: #f7bfbf;
	z-index: 600;
}

.prev:hover {
	cursor: pointer;
	color: #222358;
}

.next {
	position: fixed;
	line-height: 6vh;
	width: 4vw;
	top: 50%;
	right: 0;
	font-size: 2.5em;
	text-align: center;
	color: #f7bfbf;
	z-index: 600;
}

.next:hover {
	cursor: pointer;
	color: #222358;
}










/*======================= Footer =======================*/


footer {
	grid-column: 1/11;
	background-color: #f7bfbf;
	text-align: center;
}






/*
 =======================================================================
|                                                                       |
|                                Mobile                                 |
|                                                                       |
 =======================================================================
*/

/*======================= Standard =======================*/

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

html, body {
	width: 100vmin;
	height: auto;
	font-family: "Prompt", Helvetica, sans-serif;
	font-size: 16px;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 0;
}

img {
	width: 100%;
	height: auto;
}

h1 {
	font-size: 4.5em;
	font-family: Neuton, Georgia, serif;
	font-weight: bold;
}

h2 {
	font-size: 3em;
	font-family: Neuton, Georgia, serif;
	font-weight: bold;
}

h3 {
	font-size: 1.5em;
	font-family: Neuton, Georgia, serif;
	font-weight: bold;
}

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

button {
	width: 100%;
	background: none;
	border: none;
}

/*======================= Header =======================*/

header {
	grid-column: 1/6;
	grid-row: 1/2;
	height: 100%;
	margin: 0;
	padding: 0;
	background-repeat: no-repeat;
	background-position: left center;
	
}

#background { 
	display: none;
}

#background svg {
	display: none;
}

#logo {
	grid-column: 1/4;
	grid-row: 1/3;
	background-repeat: no-repeat;
	position: bottom right;
	height: 100%;
	width: 20vw;
}

#logo img {
	height: auto;
	width: 20vw;
	margin: 0;
	padding: 0;
	position: absolute;
	-webkit-animation-name: growlogo;
	animation-name: growlogo;
	-webkit-animation-duration: 5s;
	animation-duration: 5s;
	-webkit-transform-origin: 50% 50%;
	-moz-transform-origin: 50% 50%;
	-ms-transform-origin: 50% 50%;
	-o-transform-origin: 50% 50%;
	transform-origin: 50% 50%;
	
}

@keyframes growlogo {
		0%{
			-moz-transform: translateX(-1000px) translateY(0px);
			-webkit-transform: translateX(-1000px) translateY(0px);
			-o-transform: translateX(-1000px) translateY(0px);
			-ms-transform: translateX(-1000px) translateY(0px);
			transform: translateX(-1000px) translateY(0px);
		}
		100% {
			-moz-transform: translateX(0px) translateY(0px);
			-webkit-transform: translateX(0px) translateY(0px);
			-o-transform: translateX(0px) translateY(0px);
			-ms-transform: translateX(0px) translateY(0px);
			transform: translateX(0px) translateY(0px);
		}
}

.pg-title {
	grid-column: 4/11;
	grid-row: 1/2;
	font-family: Tangerine, cursive;
	font-size: 8vw;
	text-align: center;
	margin: 10% 0 20% 0;
	color: #f7bfbf;
	-webkit-animation: title 2s linear;
	animation: title 2s linear;
}

@keyframes title {
	0% 
	{
		opacity: 0;
		color: #fff;
		text-shadow: 0px 0px 0px grey;
	}
	40%
	{
		opacity: .4;
	}
	100%
	{
		opacity: 1;
		color: #f5bdbd;
		text-shadow: 1px 2px 3px grey;
	}
}



.pg-subtitle {
	display: none;

}



}

/*1b4dca medium blue
f2ebd5 light yellow
222358 dark blue
f7bfbf light pink