charset "utf-8";

/* Border-Box */
*, *:before, *:after{
	box-sizing: border-box;
}

/* Clearfix */
.clearfix::after{
	content: "";
	display: table;
	clear: both;
}

/*General*/
nav{
	position: relative;
	width: 100%;
	background-color: #e6e6e6;
}

body:not(#home) nav{
	margin-top: 3em;
}

body:not(#home) nav ul{
	margin-left: 20%;
	width: 80%;
}

nav ul{
	display: -webkit-box;      /* OLD - iOS 6-, Safari 3.1-6 */
	display: -ms-flexbox;      /* TWEENER - IE 10 */
	display: -webkit-flex;     /* OLD - Chrome */
	display: flex;

	-ms-flex-direction: row;
	-ms-flex-wrap: wrap;
	-ms-justify-content: flex-start; /*Justifies content*/
	-ms-align-content: flex-start; /* Does not distribute space between lines */
	-ms-align-items: stretch;

	-webkit-flex-direction: row;
	-webkit-flex-wrap: wrap;
	-webkit-justify-content: flex-start; /*Justifies content*/
	-webkit-align-content: flex-start; /* Does not distribute space between lines */
	-webkit-align-items: stretch;

	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start; /*Justifies content*/
	align-content: flex-start; /* Does not distribute space between lines */
	align-items: stretch;

	padding-left: 10%;
}

#home nav ul{
	-ms-justify-content: center; /*Justifies content*/
	-webkit-justify-content: center; /*Justifies content*/
	justify-content: center; /*Justifies content*/

	padding-left: 0;
}

nav li{
	color: #57858C;
	position: relative;
	display: inline-block;
	min-width: 7.5em;
	height: 3em;
	text-align: center;
	padding: 0 1em;
}

nav li a{
	display: inline-block;
	min-width: 7.5em;
	line-height: 3em;
	text-align: center;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
}

nav a:hover{
	background-color: #f2f2f2;
}

nav a:active{
	color: #242D2E;
}

nav img{
	position: absolute;
	top: -1.5em;
	left: 1em;
	width: 20%;
	max-width: 250px;
	z-index: 100;
}

body{
	font-size: 16px;
	font-family: 'Lato', sans-serif;
	text-align: left;
	background: #fafafa;
	color: #3F4647;
	min-width: 300px;
}

#wrap{
	margin: auto;
	min-height: calc(100vh - 15em);
;
}

header{
	background: url(images/am-bg.png) center top no-repeat;
	background-size: contain;
	width: 100%;
	margin: auto;
	max-width: 1024px;
	height: 4em;
}

a:hover{
	cursor: pointer;
}

.hero{
	height: 66.67vh;
}

main{
	position: relative;
	width: 98%;
	margin: 2em auto;
}

article{
	position: relative;
	width: 90%;
	margin: auto;
	margin-bottom: 1em;
	padding: 1em;
	border: 1px solid #e6e6e6;
}


article img{
	max-width: 300px;
}

audio{
	display: block;
	width: 60%;
}

img{
	width: 100%;
	height: auto;
	margin-bottom: .5em;
}

footer{
	height: 15em;
	text-align: center;
	line-height: 3em;
	font-size: .9em;
	color: #666;
	background-color: #eee;
}

.socialicons{
	fill: #999;
	width: 5em;
	max-width: 20%;
	margin: 0 2.5%;
	z-index: 101;
}

.socialicons:hover{
	fill: #57858C;
}


.inline{
	display: inline;
	vertical-align: text-bottom;
}

.left{
	float: left;
}

.right{
	float: right;
}

.center{
	margin: auto;
}

.block{
	display: block;
}

.quarter{
	width: 24%;
}

.thirty{
	width: 30%;
}

.fourtynine{
	width: 49%;
}

.sixty{
	width: 60%;
}

.bordered{
	border: 1px solid #3F4647;
	height: 300px;
}

.onepointfivemargleft{
	margin-left: 1.5%;
}

.highlimit{
	max-width: 2160px;
}

.video{
	display: none;
}

.video:target{
	display: block;
}

.moved{
	position: absolute;
	left: -5000px;
}

/* Web Projects Page */

ul.showcase{
	list-style: none;
	margin-top: 2em;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex; /* Enables flex context for all children */
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row; /* horizontal direcction */
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center; /* places items next to each other with no space between them */
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap; /* allows content to flow into next line if necessary */
}


.view{
	display: block;
	position: relative;
	width: 300px;
	height: 550px;
	background-color: #086572;
}

.window:hover{
	height: 550px;
	cursor: pointer;
	margin-top: 0px;
}

.window{
	display: block;
	opacity: 0; /* Hides before animation begins */
	position: relative;
	width: 300px;
	height: 510px;
	overflow: hidden;
	-webkit-transition: all .8s ease;
	transition: all .8s ease;
	margin-bottom: 40px;
	margin-top: 40px;
	border-right: 1px solid #fafafa;

	-webkit-animation: bounceIn .9s ease .0s 1 normal forwards;
	animation: bounceIn .9s ease .0s 1 normal forwards;
}

#p2{
	-webkit-animation-delay: .2s;
	animation-delay: .2s;
}

#p3{
	-webkit-animation-delay: .4s;
	animation-delay: .4s;
}

#p4{
	-webkit-animation-delay: .6s;
	animation-delay: .6s;
}

#p5{
	-webkit-animation-delay: .8s;
	animation-delay: .8s;
}

#p6{
	-webkit-animation-delay: 1s;
	animation-delay: 1s;
}

#p7{
	-webkit-animation-delay: 1.2s;
	animation-delay: 1.2s;
}

#p8{
	-webkit-animation-delay: 1.4s;
	animation-delay: 1.4s;
}

.description{
	border-top: #414042;
	border-bottom: #999;
	padding: .5em;
	color: #fafafa;
}

.tag{
	line-height: 40px;
	color: #3F4647;
	background-color: #57858C;
	position: absolute;
	bottom: 0;
	width: 100%;
	text-align: center;
}

/* Contact Form */

#contact main{
	max-width: 960px;
}

form{
	display: block;
	padding: 2em 0;
	width: 30em;
}

form input[type="text"], form input[type="email"], form textarea{
	width: 20em;
	border: 1px solid #e6e6e6;
	padding: .5em;
}

form input[type="text"]:hover, form input[type="email"]:hover, form textarea:hover{
	border: 1px solid #3f4647;
}

form textarea{
	height: 10em;
	resize: none;		/* gets rid of corner grabber to change size of area */
}

tr td:first-of-type{	/* targets labels of form */
	width: 10em;
	vertical-align: middle;
}

form input[type="submit"]{
	width: 100%;
	font-size: 1.5em;
	text-align: center;
	line-height: 2em;
	background-color: #00ECEC;
	padding: 0 1em;
}

form input[type="submit"]:hover{
	background-color: #00FBFB;
	cursor: pointer;
}

@-webkit-keyframes bounceIn{	/* Does not validate but IS necessary for some browsers */
  0%{
    -webkit-transform: scale(0.67);
            transform: scale(0.67);
    opacity: 0;
  }
  60%{
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
    opacity: 1;
  }
  100%{
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}

@keyframes bounceIn{
  0%{
    -webkit-transform: scale(0.67);
            transform: scale(0.67);
    opacity: 0;
  }
  60%{
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
    opacity: 1;
  }
  100%{
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}


/*Text*/
h1{
	color: #242D2E;
	font-size: 4em;
	font-weight: 300;
	text-align: center;
	margin: .5em 0 0 0;
}

h2{
	font-size: 2.67em;
	font-weight: 200;
	margin-bottom: 1em;
}

h3{
	font-size: 1.8em;
	font-weight: 200;
	margin-bottom: .5em;
}

h4{
	font-weight: bold;
	padding: 0 1em;
}

p{
	line-height: 2em;
	padding-bottom: 1em;
}

#web p{
	line-height: 1em;
}

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

a:hover{
	color: #57858C;
}

.centered{
	text-align: center;
}

@media only screen and (max-width: 37.5em){
	body{
		font-size: 14px;
	}

	header{
		height: 200px;
		margin-top: 80px;
		margin-bottom: -50px;
	}

	.hero{
		height: 25vh;
		margin-top: 3em;
		margin-bottom: -7em;
		background-color: rgba(230, 230, 230, 0.4);
	}

	nav, body:not(#home) nav{		/* not pseudo class included for specificity */
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		margin-top: 0;
		background-color: rgba(230,230,230,0.4);
	}

	nav img{
		top: .5em;
	}

	nav li a, nav li{
		min-width: 5em;
	}

	#home main{
		margin-top: 9em;
	}

	main{
		margin-top: 6em;
	}

	.thirty, body:not(#video) .fourtynine, .sixty{
		width: 100%;
	}

	/* web portfolio thumbnails */

	.view{
	height: 330px;
	}

	.window:hover{
		height: 330px;
	}

	.window{
		height: 310px;
		margin-bottom: 20px;
		margin-top: 20px;
	}

	.description{
		background-color: rgba(255,255,255,0.8);
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		color: #231f20;
	}

	.tag{
		line-height: 20px;
	}
}
