@import url('https://fonts.googleapis.com/css?family=Montserrat:400,400italic,500,500italic,600,600italic,700,700italic,800,800italic,900,900italic');
@import url('https://fonts.googleapis.com/css?family=Lato:100,100italic,300,300italic,400,400italic,700,700italic,900,900italic');
@import url('https://fonts.googleapis.com/css2?family=Alegreya:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500;1,600;1,700;1,800;1,900');
@import url('https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@0,200;0,300;0,400;0,600;0,700;0,900;1,200;1,300;1,400;1,600;1,700;1,900');
/*@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900');*/
@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700');

* {
	box-sizing: border-box;
}

html, body {
	margin: 0;
	min-height: 100%;
	background-color: white;
}


header.header-main {
	background-color: white;
	height:150px;
	padding: 50px 0px 0px 0px;
}

	div.header-container {
		display: grid;
		width: 1200px;
		grid-template-columns: 100px auto;
		grid-template-rows: 100px;
		grid-gap: 0px;
		background-color: white;
		padding: 0px;
		align-items: center;
		position: relative;
		margin: 0px auto;
	}

	nav.page_nav {
		height: 100%;
	}

	div.topnav {
		margin: 0px;
		padding: 0px;
		overflow: hidden;
		text-align: right;
	}

	div.topnav a {
		text-align: center;
		padding: 14px 16px;
		text-decoration: none;
		font-size: 20px;
		font-family: Source Sans Pro, Montserrat, Arial, Helvetica, sans-serif;
		font-weight: 500;
		letter-spacing: 1px;
		vertical-align: middle;
	}

	div.topnav a.icon {
		display: none;
	}

	div.header-bar {
		height: 1px;
		background-color: #aaacb1;
		min-width: 350px;
	}

	div.topnav a, a.footer-contact:link, a.footer-contact:visited {
		color: #545863;
	}

	div.topnav a:hover, a.footer-contact:hover, a.footer-contact:active {
		color: #aaacb1;
	}

footer.footer-main {
	background-color: #fdf7ed;
	height: 150px;
}

	div.footer {
		width: 1200px;
		padding: 40px 0px 5px;
		line-height: 3pt;
		align-items: center;
		position: relative;
		margin: 0 auto;
		text-align: center;
		height: 100%;
	}

	a.footer-contact {
		padding: 0px 3px;
	}


div.main {
	background-color: white;
	min-height: calc(100vh - 320px);
}

	div.grid-container {
		display: grid;
		grid-template-rows: auto;
		grid-gap: 0px;
		padding: 0px;
		align-items: center;
		width:1200px;
		margin: auto;
	}

	div.grid-item {
		background-color:;
		text-align: center;
		padding: 0;
	}


	div.portfolio-grid-container {
		grid-template-columns: 48% 48%;
		justify-content: space-between;
		padding: 30px 80px;
		grid-row-gap: 30px;
		align-items: start;
	}

	div.portfolio-grid-item {
		padding: 100px;
		background-color: #eeeeef;
		aspect-ratio: 1;
		border-radius: 10px;
		position: relative;
		height: 100%;
		width: 100%;
	}

	img.portfolio-grid-image {
		height: 100%;
		width: 100%;
		object-fit: cover;
		display: block;
		border-radius: 5px;
		opacity: 1;
		filter: drop-shadow(0px 0px 15px #bbbcc1);
	}

	div.portfolio-grid-item:hover {
		opacity: 1;
		text-decoration: none;
		background: #30566e;
	}

	div.portfolio-grid-item:hover img {
		opacity: 0.3;
		filter: unset;
	}

	div.portfolio-grid-item:hover p.portfolio-grid-caption{
		color: white;
	}

	div.portfolio-item-grid-container {
		grid-template-columns: 100%;
		padding: 0px 0px 30px;
	}


	div.topnav a, div.portfolio-grid-item, div.portfolio-grid-item img, div.portfolio-grid-item p, div.footer a, a.text, a.text-contact, a.portfolio-card-text {
		transition: 0.3s;
		transition-timing-function: ease-in-out;
	}

	div.skills-grid-container {
		grid-template-columns: 25% 25% 25% 25%;
		padding: 30px;
		align-items: unset;
	}

	div.skills-grid-item {
		padding: 30px;
	}


div.home-main {
	background-repeat: no-repeat;
	height: calc(100vh - 150px);
	min-height: 750px;
	background-size: cover;
	background-position: center center;
}

	#main-welcome {
		background-repeat: no-repeat;
		background-position: center center;
		grid-template-columns: 60%;
		height: calc(100vh - 150px);
		min-height: 750px;
		padding: 0px 16px;
		overflow: hidden;
		text-align: center;
		line-height: 8pt;
	}

	div.banner-image {
		/*width: 1200px;
		margin: auto;*/
		background-size: 800px;
		background-position: calc(50% + 200px) center;
		background-repeat: no-repeat;
	}

	img.logo { 
		width: 75px;
		height: 75px;
		padding-left: 16px;
		/* float:left; */
	}

div.highlight-box{
	/*background-color: #4cb8c4;*/
	border-radius: 25px;
}

	#about-headshot {
		grid-template-columns: 40% 60%;
		padding: 30px;
	}

	div.headshot-container {
		width: 300px;
		height: 300px;
		position: relative;
		overflow: hidden;
		margin: auto;
		border: 10px solid white;
	}

	img.headshot {
		display: inline;
		margin: 0 auto;
		margin-left: -10px; //centers the image
		height: 100%;
		width: auto;
	}

	img.headshot { 
		width: 300px;
		height: 300px; 
	}

	div.highlight-box-background {
		background-color: rgba(143,106,47,0.8);
		padding: 50px 0px;
	}
	
	div.portfolio-card {
		grid-template-columns: 50% 50%;
		padding: 0px 100px;
		align-items: flex-start;
	}

div.main-error{
	background-color: #f8e0b9;
}

	div.error-grid-container {
		padding: 30px 80px;
		grid-template-columns: auto;
		height: calc(100vh - 150px);
		min-height: 900px;
	}

div.notice-content{
		margin: auto;
		width: 1200px;
		padding: 50px 80px;
}

	div.flex-notice {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}

	div.notice-text {
		text-align: left;
	}


div.content {
	padding: 15px 80px;
	overflow: auto;
	text-align: left;
}

	h1, h2 {
		color: white;
	}

	h1, h2, h3, h4, h5 {
		text-align: left;
		font-family: Alegreya, Montserrat, Lato, Arial, Helvetica, sans-serif;
	}

	h1 {
		font-size: 100px;
		font-weight: 500;
		line-height: 0.75;
		letter-spacing: 1px;
		text-indent: 1px;
	}

	h2 {
		font-size: 50px;
		line-height: 1;
		font-weight: 100;
		letter-spacing: 0px;
		text-indent: 5px;
	}

	h3 {
		color: #2a2c32;
		letter-spacing: 1px;
		font-weight: 500;
		font-size: 75px;
		margin: 30px 0px;
	}

	h4 {
		font-size: 45px;
		line-height: 1.1;
		font-weight: 100;
		letter-spacing: 0px;
		color: #2a2c32;
		margin: 20px 0px;
	}

	h5 {
		color: #2a2c32;
		font-weight: 300;
		font-size: 30px;
		text-align: left;
		margin: 15px 0 5px;
	}

	p.text, p.portfolio-card-text, p.portfolio-card-description, p.portfolio-grid-caption, p.footer, ul.bullet-text, td.resume-table {
		font-family: Source Sans Pro, Lato, Arial, Helvetica, sans-serif;
	}

	p.portfolio-card-title, p.portfolio-subheader-text {
		font-family: Alegreya, Montserrat, Lato, Arial, Helvetica, sans-serif;
	}

	p.text, p.portfolio-card-text, ul.bullet-text, td.resume-table {
		font-weight: 300;
		font-size: 20px;
		text-align: left;
		line-height: 1.5;
	}

	p.text, ul.bullet-text, td.resume-table, p.footer {
		color: #545863;
	}

	p.portfolio-card-text {
		color: white;
		margin: 0px 0px 20px 0px;
	}

	p.portfolio-card-title {
		font-size: 14px;
		text-transform: uppercase;
		text-align: left;
		color: white;
		margin: 20px 0px 0px 0px;
	}

	p.portfolio-card-description {
		font-size: 30px;
		text-align: left;
		color: white;
		font-weight: 300;
		margin: 0px;
	}

	p.portfolio-grid-caption {
		font-weight: 500;
		color: #2a2c32;
		font-size: 25px;
		text-align: left;
		position: absolute;
		margin-left: auto;
		margin-right: auto;
		left: 30px;
		right: 30px;
		text-align: right;
		top: 0px;
	}

	p.portfolio-subheader-text {
		font-size: 30px;
		line-height: 1.1;
		font-weight: 100;
		letter-spacing: 0px;
		color: black;
		margin: 0px;
		padding: 30px 0px 0px 0px;
		text-transform: uppercase;
	}

	p.footer {
		font-size: 13px;
		font-weight: 300;;
	}

	a.portfolio-subheader:link, a.portfolio-subheader:visited, a.portfolio-subheader:hover, a.portfolio-subheader:active, hr.portfolio-hr {
		text-decoration: none;
		color: #2a2c32;
	}

	a.portfolio-card-text:link, a.portfolio-card-text:visited {
		text-decoration: none;
		color:white;
	}

	a.text:link, a.text:visited, a.text-contact:link, a.text-contact:visited {
		text-decoration: none;
		color: #457B9D;
	}

	a.text:hover, a.text:active, a.text-contact:hover, a.text-contact:active, a.portfolio-card-text:hover, a.portfolio-card-text:active {
		text-decoration: none;
		color: #eeb14f;
	}

	td.resume-table {
		vertical-align: top;
	}



a.button {
	text-decoration: none;
}

button.button {
	background-color: #457b9d;
	border: none;
	color: white;
	padding: 15px 32px;
	margin: 4px 20px;
	text-align: center;
	display: inline-block;
	font-size: 16px;
	transition-duration: 0.2s;
	cursor: pointer;
	border-radius: 4px;
	width: 200px;
	font-family: Source Sans Pro, Lato, Arial, Helvetica, sans-serif;
}

	button.button:hover {
		background-color: #eeb14f;
		text-decoration: none;
	}

	button.button span {
		cursor: pointer;
		display: inline-block;
		position: relative;
		transition: 0.2s;
	}

	button.button span:after {
		content: '\00bb';
		position: absolute;
		opacity: 0;
		top: 0;
		right: -20px;
		transition: 0.5s;
	}

	button.button:hover span {
		padding-right: 15px;
	}

	button.button:hover span:after {
		opacity: 1;
		right: 0;
	}

/*
.bar-photo2 {
  background-color: ;
  background-image: url("../resources/GeneralPhotos/IMG_1536.jpg");
  background-repeat: no-repeat;
  background-position: 50% 34%;
  background-size: 100%;
  height: 200px;
  width: 100%;
  padding: 80px;
  overflow: hidden;
  text-align: left;
  line-height: 8pt;
  font-family: Montserrat, Arial, Helvetica, sans-serif;
}

img.bar-photo {
  height: 200px;
  width: 100%;
  object-fit: cover;
}
*/

input.form-field, textarea.form-text-box, label.error {
	font-family: Source Sans Pro, Lato, Arial, Helvetica, sans-serif;
	font-size: 14px;
	padding: 5px;
	margin-right: 5px;
}

	input.form-field {
		width:30%;
	}

	textarea.form-text-box {
		width: 98%;
		max-width: 98%;
		resize: vertical;
    	min-height: 100px;
    	max-height: 1000px;
	}

	label.error {
		color: #FF738A;
		font-weight: 700;
	}

/*img.about {
	width: 25%;
	float:left;
	margin: 10px 30px 5px 5px;
}*/

img.portfolio {
	width: 100%;
	padding: 30px 0px;
	margin-left:auto;
	margin-right: auto;
	display: block;
}

/*.image-caption-columns{
	grid-template-columns: 60% 35%;
	padding: 15px 80px 50px;
	align-items: center;
	justify-content: space-between;
}*/

img.portfolio-float {
	width: 50%;
	float:left;
	padding: 0 30px 0px 0;
}

	iframe.storymap, iframe.video {
		width: 100%;
		height: 700px;
		min-width: 350px;
	}


@media all and (max-width: 1200px) {

	header.header-main {
		height: 100%;
		width: 100%;
		height: 120px;
		padding: 20px 0px 0px 0px;
	}

		div.header-container {
			width: 100%;
		}

		div.header-grid {
			width: 100%;
		}

		div.topnav a {
			padding: 10px;
		}

		img.logo {
			padding-left: 10px;
		}

	footer.footer-main {
		width: 100%;
	}

		div.footer {
			width: 100%;
		}

	div.grid-container {
		width: 100%;
	}

		div.home-main {
			height: auto;
			width: 100%;
		}

		/*.image-caption-columns,*/ div.portfolio-grid-container{
			grid-template-columns: auto;
			padding: 15px 80px;
		}

		div.highlight-box {
			border-radius: 0px;
		}


		div.headshot-container {
			width: 200px;
			height: 200px;
		}

		img.headshot { 
			width: 200px;
			height: 200px;
		}

		div.skills-grid-container {
			grid-template-columns: 50% 50%;
		}

		div.skills-grid-container img {
			width: 50%;
		}

		/*
		.welcome-buttons button.button{
			display:block;
			margin:30px auto 0 auto;
		}

		.welcome-buttons button:not(:last-child) {
			border-bottom: none; Prevent double borders
		}*/

	div.notice-content {
		width: 100%;
		min-width: 350px;
	}

		input.form-field {
			width: 100%;
		}

		textarea.form-text-box {
			width: 100%;
			max-width: 100%;
		}

	div.error-grid-container {
		padding: 30px 30px;
	}

		div.error-content-text {
			margin-left: 0px;
		}

	h1, h2 {
		text-align: left;
	}

		h1 {
			font-size: 60px;
			text-indent: 0px;
			margin-left: 0px;
			line-height: 1;
		}

		h2 {
			font-size: 30px;
			text-indent: 0px;
			margin-left: 0px;
			line-height: 1.3;
		}


		p.portfolio-grid-caption {
			text-align: center;
		}

}


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

	header.header-main {
		margin: auto;
		height: auto;
		min-width: 350px;
	}

		div.header-container {
			grid-template-columns: auto;
			margin: auto;
		}

		img.logo {
			padding-left: 0px;
		}

		div.header-grid {
			align-content: center;
			justify-content: center;
			text-align: center;
		}

		div.topnav {
			max-height: 100px;
		}

		div.topnav.responsive {
			max-height: 300px;
			transition: 0.8s;
			transition-timing-function: ease-in;
		}

		div.topnav.responsive {
			position: relative;
		}
		
		div.topnav.responsive a.icon {
			position: absolute;
			right: 0;
			top: 0;
		}
		
		div.topnav.responsive a {
			float: none;
			display: block;
		}

		div.topnav a {
			display: none;
		}

		div.topnav a.icon {
			float: right;
			display: block;
		}

		div.topnav a.icon span {
			transition: 0.3s;
		}

		div.topnav a.icon:hover span:after {
			transition: 0.3s;
		}

		div.topnav a {
			display: ;
			border-top: 1px solid rgba(255,255,255,0.3); 
			border-bottom: 1px solid rgba(0,0,0,0.1); 
		}

		/*.navigation li:last-of-type a {
			border-bottom: none;
		}*/

	footer.footer-main {
		margin: auto;
		width: 100%;
		min-width: 350px;
	}

	div.main{
		min-width: 350px;
	}

		div.grid-container {
			min-width: 350px;
		}

		div.home-main {
			min-width: 350px;
			min-height: 600px;
			height: 100%;
		}

		#main-welcome {
			grid-template-columns: none;
			min-height: 550px;
			height: 100%;
			padding: 80px 16px;
		}

		#about-headshot, div.portfolio-card {
			grid-template-columns: none;
		}

		div.portfolio-card {
			padding: 0px 30px;
		}

		/*.image-caption-columns,*/ div.portfolio-grid-container {
			grid-template-columns: none;
			padding: 15px 30px;
			min-width: 350px;
		}

		div.portfolio-grid-item {
			padding: 0px;
		}

		img.portfolio-grid-image {
			border-radius: 10px;
			filter: unset;
		}

		div.skills-grid-container {
			grid-template-columns: auto;
			padding: 0px;
		}

		div.skills-grid-item {
			padding: 30px 0px;
		}

	button.button {
		align-items: center;
		display: flex;
		justify-content: center;
		margin: 10px auto;
	}

	/*button.in-text{
		margin: 0 auto;
	}

		.welcome-buttons{
			grid-column: 1;
		}

		.welcome-buttons button.button {
			margin:50px auto 0 auto;
		}*/

	div.content {
		text-align: none;
		padding: 15px 30px;
	}

		h1, h2, h3, p.portfolio-subheader-text {
			text-align: center;
		}

		h1 {
			font-size: 50px;
			line-height: 1.1;
		}

		h2 {
			font-size: 30px;
			letter-spacing: 0px;
			text-indent: 0px;
			margin-left: 0px;
		}

		h3 {
			font-size: 40px;
		}

		h6 {
			text-align: center;
		}

	div.notice-content {
		padding: 20px 30px;
	}

		div.flex-notice {
			justify-content: center; 
		}

		div.notice-text {
			text-align: center;
		}

	img.portfolio-float {
		width: 100%;
		float: none;
		padding: 0px 0px 15px 0px;
	}

		iframe.storymap, iframe.video {
			width: 100%;
			min-width: 300px;
			max-width: 700px;
		}

}