@charset "utf-8";


/* This is necessary for IE & Edge, otherwise the vertical scrollbar overlaps the content. */
@-ms-viewport{
	width: auto !important;
}

/* This allows words to be broken to wrap on all elements. */
*{
	word-wrap: break-word;
}




body{
	background: #404040;
	background-image: url(images/background.jpg); 
	background-size: 100%;
	background-attachment: fixed;
	background-repeat: repeat-y;
	font-family: Arial, Helvetica, sans-serif;
	margin: 0px;
	padding: 0px;
	text-align: center;
}
@media screen and (max-width: 720px){
	body{
		background-image: url(images/background-mobile.jpg);
	}
}



header img{
	max-width: 350px;
	margin: 20px auto;
	border: 1px solid #696969;
}
@media screen and (max-width: 900px){
	header img{
		max-width: 70%;
	}
}



.halfWidthDiv{
	width: 45%;
	display: inline-block;
	margin: 0px 10px;
	vertical-align: top;
	overflow: hidden;
}
@media screen and (max-width: 1000px){
	.halfWidthDiv{
		width: 95%;
		display: block;	
	}
}

.halfWidthDiv p{
	margin: 0px auto 16px auto;
}




#resume img{
	float: left;
	margin-right: 8px;
	max-width: 150px;
}
@media screen and (max-width: 1000px){
	#resumePage img{
		display: block;
		float: none;
		margin: 8px 0px;
    }
}




.lineBreak{
	margin: 50px auto 20px auto;
	width: 100%;
	height: 1px;
	background-color: #d3d3d3;
}




/* This is used for in-body function calls which open widgetPages. */
.openPageFunction{
	font-weight: bold;
	cursor: pointer;
	color: #1120d1;
}





.homeOrTop{
	margin: 20px auto 0px auto;
	text-align: right;
	color: #696969;
}

.homeOrTop span{
	cursor: pointer;
	padding: 2px 4px;
}

.homeOrTop span:hover{
	cursor: pointer;
	background-color: #f0f0f0;
}




footer {
	margin: 275px 0px 0px 0px;
	width: 100%;
	background-color: #696969;
	text-align: center;
}
@media screen and (max-width: 1100px){
	footer{
		margin-top: 125px;
		padding: 20px 0px;	
	}
}

footer a, footer a:visited {
	color: #ffff00;
}

footer a:hover {
	color: #00ffff;
}

footer div{
	display: inline-block;
	margin: 20px 25px;
	vertical-align: top;
	text-align: left;
	font-size: 12px;
	color: #ffffff;
	line-height: 1.4;
}
/*
This forces the footer columns to wrap to another line on narrow screens.
*/
@media screen and (max-width: 800px){
	footer div{
		width: 40%;
		margin: 20px 10px;
	}
}
@media screen and (max-width: 500px){
	footer div{
		width: 80%;
	}
}






/* This contains all the pages and the menu. */
.pagesContainer{
	margin: 0px auto;
	width: 70%;
	text-align: center;
	border: 1px solid #696969;
	background-color: #ffffff;
}
@media screen and (max-width: 700px){
	.pagesContainer{
		position: relative;
		width: 90%;
	}
}


/* This contains individual pages. */
.page{
	display: none;
	margin: 0px auto;
	padding: 10px 15px;
	text-align: left;
	overflow: hidden;
	animation: horizontalPageLoad 0.4s;
}
@media screen and (max-width: 700px){
	.page{
		margin-top: 20px;
	}
}
@keyframes horizontalPageLoad{
	from{
		opacity: 0;
	}
	to{
		opacity: 1;
	}
}

#home{
		display: block;
}

.page h1{
	margin: 20px auto 20px auto;
	font-family: 'Oswald', sans-serif;
	font-size: 28px;
	font-weight: normal;
	color: #696969;
	text-align: center;
}

.page h3{
	font-size: 24px;
	font-family: 'Oswald', sans-serif;
	font-weight: normal;
	color: #696969;
}

.page p{
	font-size: 16px;
}

.page a:link, .page a:visited{
	color: #1120d1;
	text-decoration: none;
	font-weight: bold;
}

.page a:hover{
	color: #e50000;
}

.page a img:hover{
	opacity: 0.7;
}

/* This contains the horizontal menu. */
.pageMenu{
	z-index: 20;
	display: block;
	margin: 5px auto 0px auto;
	text-align: center;
}
@media screen and (max-width: 700px){
	.pageMenu{
		display: none;
		max-width: 50%;
		min-width: 150px;
		border: 2px solid #696969;
		position: absolute;
		top: 0px;
		right: 0px;
		animation: animateHorizontalMenu 0.4s;
		overflow: visible;
		background-color: #ffffff;
	}
	@keyframes animateHorizontalMenu{
		from{
			top: -15px;
			opacity: 0;
		}
		to{
			opacity: 1;
		}
	}
}

/* These are the individual buttons. */
.pageButton{
	font-size: 18px;
	font-family: 'Oswald', sans-serif;
	margin: 0px auto;
	padding: 0px 4px;
	cursor: pointer;
	display: inline-block;
	color: #696969;
	line-height: 1.5;
	border-right: 1px solid #696969;
}
@media screen and (max-width: 700px){
	.pageButton{
		display: block;
		margin: 0px;
		padding: 5px;
		text-align: left;
		border: none;
	}
}

.pageButton:last-of-type{
	border-right: none;
}

/* This is the home button, which is set here to the opened styles on page load. */
#homeButton{
	text-decoration: underline;
	color: #000000;
}

.pageButton:hover, .pageButton:active{
	background: #f0f0f0;
}

.pipeContainer{
	display: inline-block;
	color: #696969;
}
@media screen and (max-width: 700px){
	.pipeContainer{
		display: none;
    }
}

/* This is the button icon which opens the drop menu on narrow screens only. */
.horizontalMenuIconContainer{
	display: none;
	padding: 4px;
	position: absolute;
	top: 0px;
	right: 0px;
	z-index: 7;
	font-size: 35px;
	color: #ffffff;
	line-height: .6;
	background-color: #696969;
	cursor: pointer;
}
@media screen and (max-width: 700px){
    .horizontalMenuIconContainer{
		display: block;
	}
}

.horizontalMenuIconContainer:hover{
	opacity: 0.7;
}

/* This is the page-wide transparent menu background. It is necessary so that clicking outside the menu, on this div, closes the drop menu.*/
#responsiveDropMenuBackground{
	z-index: 10; 
	width: 100%; 
	height: 100%; 
	position: fixed; 
	top: 0; 
	left: 0;
	overflow: scroll;
	display: none;
	background-color: rgba(48,48,48, .5);
}





.fullWidthDiv{
	width: 85%;
	margin: 8px auto;
	text-align: center;
}
@media screen and (max-width: 1000px){
	.fullWidthDiv{
		width: 95%;
    }
}

.fullWidthDiv img{
	max-width: 95%;
	max-height: 275px;
}

.fullWidthDiv img:hover{
	opacity: 0.7;
}

.fullWidthDiv div{
	display: inline-block;
	margin: 0px auto;
}

.fullWidthDiv p{
	margin: 12px auto 2px auto;
	color: #696969;
	font-size: 14px;
}

.fullWidthDiv iframe{
	max-width: 97%;
}



#web-design .fullWidthDiv img{
	width: 300px;
	margin: 5px;
	border: 1px solid #696969;
}



#photography .fullWidthDiv img, #architecture .fullWidthDiv img{
	max-height: 165px;
	margin: 5px;
	border: 1px solid #696969;
}



#drawing .fullWidthDiv img{
	max-height: 275px;
	margin: 5px;
	border: 1px solid #696969;
}






/* This is the page wide transparent gray background for image modals. */
#imageModalBackground{
	display: none;
	padding-bottom: 40px;
	z-index: 2000000;
	width: 100%; 
	height: 100%; 
	position: fixed; 
	top: 0px; 
	left: 0px;
	background-color: rgba(48,48,48, 0.8);
	overflow: scroll;
	text-align: center;
}



/* This is the image within the modal. */
#imageModalBackground img{
	margin: 0px auto;
	max-width: 95%;
	border: 2px solid #ffffff;
	background-color: #ffffff;
	animation: imageModalZoomIn .25s;
}



/* This is the close icon. */
#imageModalClose{
	margin: 8px auto;
	padding: 5px 0px;
	width: 30px;
	font-size: 18px;
	font-weight: bold;
	font-family: Arial, Helvetica, sans-serif;
	line-height: 1.0;
	color: #ffffff;
	background-color: #000000;
	border: 1px solid #ffffff;
	border-radius: 50%;
	cursor: pointer;
}

#imageModalClose:hover{
	background-color: #ffffff;
	color: #000000;
}



/* This contains optional image captions within the modal. */
#imageCaptionContainer{
	display: none;
	margin: 10px auto 0px auto;
	padding: 10px;
	background-color: #ffffff;
	max-width: 90%;
	animation: imageModalZoomIn .25s;
}



/* This applies to the images on the page which are clicked to open the modal. */
.modalImage:hover{
	cursor: pointer;
	opacity: 0.8;
}



/* For a zoom-in effect, add "animation: imageModalZoomIn .25s;" to the both "#imageModalBackground img" and "#imageCaptionContainer". */
@keyframes imageModalZoomIn{
	from{
		transform: scale(0.75);
	}
	to{
		transform: scale(1.0);
	}
}



/* For a fade-in effect, add "imageModalFadeIn .25s;" to both "#imageModalBackground img" and "#imageCaptionContainer". */
@keyframes imageModalFadeIn{
	from{
		opacity: 0;
	}
	to{
		opacity: 1;
	}
}