@import url('https://fonts.googleapis.com/css?family=Open+Sans:400,700');

@import url('https://fonts.googleapis.com/css?family=Roboto:400,700');





body 	{

	background-color: #FFFFFF;

	margin: 0px;

	padding: 0px;

	border: #000000 0px solid;

	}

/* ^^^ SEE CLASS "outer-background" BELOW */









/* DEFAULTS - MARGINS SPACING */



div		{ margin: 0; padding: 0; border: 0; }



table, tr, td	{ border-collapse: collapse; border-spacing: 0; margin: 0; padding: 0; border: 0; }









/* DEFAULTS - ALIGNMENT */



.td-right 	{ text-align: right; }



.td-left 	{ text-align: left; }



.td-center	{ text-align: center; }



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



.td-middle	{ vertical-align: middle; }



.td-bottom	{ vertical-align: bottom; }



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



.center-div	{ margin-left: auto; margin-right: auto; }



.right-div	{ margin-left: auto; margin-right: 0; }



.left-div	{ margin-left: 0; margin-right: auto; }









/* DEFAULTS - MISC */



.fullwidth	{ width: 100%; }



.halfwidth	{ width: 50%; }



.nobreak	{ white-space: nowrap; }



.just 		{ text-align: justify; }



img 		{ border: 0; }



.blockimage	{ display: block; }



.formmargin	{ margin: 0px; }



.hidemobile	{ display: block; }



.showmobile	{ display: none; }



/* NON-MENU LINK COLORS */



a:link, 

a:visited, 

a:active 	{ color: #0066CC; text-decoration: none; }



a:hover 	{ color: #0099FF; text-decoration: none; }









/* THE NEXT LINE CONTROLS THE FONT SIZE ON ALL PAGES */



body, div, table {

		color: #000000;

		font-family: "Open Sans", arial, sans-serif;

		font-size: 16px;

		font-weight: 400;

		line-height: 170%;

		}

.title 		{ color: #122544; font: 22px "Roboto", arial, sans-serif; font-weight: 400; letter-spacing: 0px; line-height: 115%; }



.subtitle 	{ color: #000000; font: 18px "Roboto", arial, sans-serif; font-weight: 400; line-height: normal; }



.colortitle	{ color: #122544; font: 16px "Roboto", arial, sans-serif; font-weight: 700; line-height: 155%; }



.smalltitle	{ font-size: 16px; font-weight: 700; }



.smalltext	{ font-size: 14px; }



.bold	{ font-weight: bold; }



.italic	{ font-style: italic; }



.hilite		{ color: #315175; }



/* REMOVES MARGINS ON HEADING TAGS (FOR SEO) */



h1, h2, h3, h4	{ margin: 0px 0px 1px 0px; }

.content-max {
	max-width: 1500px;
	margin: 0 auto;
}

.flex-container{
	display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
	-webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;	
}
.vert-align-center {
    -ms-flex-align: center;
    -webkit-align-items: center;
    -webkit-box-align: center;
    align-items: center;
}
.large-50 {
	width: 50%;
}
a.button {
	background: #40597E;
	color: #fff;
	font-weight: bold;
	padding: 12px 25px;
	display: inline-block;
}

/* HOME PAGE IMAGE OVERLAY TEXT */
#hero-intro {
	margin-top:60px;
	padding: 30px;
	background-color: #ddd;
}
#hero-intro img {
	max-width:600px;
	width:100%;
	height:auto;
	margin: 0 auto;
}
#hero-intro h2 {
	font-size: 44px;
    line-height: 1.1em;
}
.home-overlay-1	{

		font-family: "Open Sans", arial, sans-serif;

		font-size: 48px;

		font-weight: 700;

		z-index: 5;

		white-space: nowrap;

		line-height: 60px;

		color: #FFFFFF;

		letter-spacing: 1px;

		border: 0px solid #000000;

	/* CORNER ROUNDING */

		-moz-border-radius: 6px;

		-webkit-border-radius: 6px;

		-khtml-border-radius: 6px;

		border-radius: 6px;

		}



.home-overlay-2	{

		font-family: "Open Sans", arial, sans-serif;

		font-size: 36px;

		font-weight: 400;

		z-index: 6;

		white-space: nowrap;

		line-height: 48px;

		color: #FFFFFF;

		letter-spacing: 0px;

		background-color: rgba(0,0,0,0.5);

		border: 0px solid #000000;

	/* CORNER ROUNDING */

		-moz-border-radius: 6px;

		-webkit-border-radius: 6px;

		-khtml-border-radius: 6px;

		border-radius: 6px;

		}





.home-overlay-3	{

		font-family: "Open Sans", arial, sans-serif;

		font-size: 15px;

		font-weight: 700;

		text-transform: uppercase;

		z-index: 7;

		white-space: nowrap;

		line-height: 18px;

		color: #FFFFFF;

		letter-spacing: 0px;

		background-color: rgba(185,204,230,0.6);

		border: 0px solid #B9CCE6;

	/* CORNER ROUNDING */

		-moz-border-radius: 6px;

		-webkit-border-radius: 6px;

		-khtml-border-radius: 6px;

		border-radius: 6px;

		cursor:pointer;

		}







.rev_slider_wrapper {

    left: 0 !important;

}



.tp-simpleresponsive .tp-caption {

    left: 0px !important;

}













/* HOME BOX COLUMNS */



.introbox-text	{

		color: #000000;

		font-size: 16px;

		padding: 5px 0px 10px 0px;

		text-align: left;

		}



.intro 	{

		color: #122544;

		font: 22px "Roboto", arial, sans-serif;

		font-weight: 400;

		letter-spacing: 0px; 

		line-height: 115%;

		text-align: left;

		padding: 0px 0px 5px 0px;

		margin: 0px 0px 8px 0px;

		border: solid #828F9C;

		border-width: 0px 0px 2px 0px;

		}





.introbox-outer	{ width: auto; margin: 0 auto; }



.introbox2	{

		float: left;

		width: 49%;  /* DIVIDED BY 2 */

		}





.introbox3	{

		float: left;

		width: 33.3%;  /* DIVIDED BY 2 */

		}







.introbox-inner	{

		background-color: transparent;

		padding: 0px 10px 10px 10px;

		margin: 40px 0px 50px 0px;

	/* CORNER ROUNDING */

		-moz-border-radius: 8px;

		-webkit-border-radius: 8px;

		-khtml-border-radius: 8px;

		border-radius: 8px;

		}



.introbox-left	  { display: block; margin-left: 10px; margin-right: 10px; }



.introbox-center  { display: block; margin-left: 10px; margin-right: 10px; }



.introbox-right	  { display: block; margin-left: 10px; margin-right: 10px; }



.boxes2		{

		text-align: left;

		color: #C0C0C0;

		background-color: transparent;

		border: solid #C0C0C0;

		border-width: 1px 0px 1px 0px;

		padding: 6px 2px 6px 2px;

		}



/* HOME IMAGES WITH ZOOM */



.imagesbox	{

		height: auto;

		overflow: hidden;

		cursor:pointer;

		margin: 0 auto;

		border: 0px solid #000000; 

	/* CORNER ROUNDING */

		-moz-border-radius: 2px;

		-webkit-border-radius: 2px;

		-khtml-border-radius: 2px;

		border-radius: 2px;

		}



.introimages img {

		width: 100%;

		height: auto;

		display: block;

	/* IMAGE ZOOM */

		position: relative;

		-webkit-transition: all 400ms ease-in;

		-webkit-transform: scale(1);

		-ms-transition: all 400ms ease-in;

		-ms-transform: scale(1);

		-moz-transition: all 400ms ease-in;

		-moz-transform: scale(1);

		transition: all 400ms ease-in;

		transform: scale(1);

		}



.introimages img:hover	{

	/* IMAGE ZOOM */

		-webkit-transition: all 400ms ease-in;

		-webkit-transform: scale(1.3);

		-ms-transition: all 400ms ease-in;

		-ms-transform: scale(1.3);   

		-moz-transition: all 400ms ease-in;

		-moz-transform: scale(1.3);

		transition: all 400ms ease-in;

		transform: scale(1.3);

		}











/* SUBPAGE BANNERS */



#banner	{ position: relative; text-align: center; background-color: rgba(0,0,0,1.0); }





.centered {

    position: absolute;

    top: 65%;

    left: 50%;

    transform: translate(-50%, -65%);

	}



.banner	{

	height: auto;

	width: 100%;

	/*max-width: 1600px;*/

	min-width: 250px;

	display: block;

	opacity: 0.40;

	filter: alpha(opacity=40); /* For IE8 and earlier */

	}









/* PAGE & CONTENT HEIGHTS AND WIDTHS & PADDING */



/* NOTE: IF YOU CHANGE THE PAGE WIDTHS EDIT & TEST THE MEDIA QUERIES IN THE media-queries.css */



.pageheight	{ min-height: 675px; }



.pageheight-portfolio { min-height: 800px; }



.pagewrapper	{

		width: 100%;

		min-width: 315px;

		min-height: 100%;

		height: auto !important;

		height: 100%;

		margin: 0 auto -125px; /* -125 MARGIN FOR FOOTER */

		padding: 0px 0px 0px 0px;

		text-align: center;

		}



.pagebox	{

		padding: 0px 0px 0px 0px;

		margin: 0 auto;

		}



#contentbox	{

		max-width: 1500px;

		margin: 0 auto;

		padding: 30px 12px 10px 12px;

		}



.content-pad 	{ padding: 0px 35px 10px 15px; }



#left-content 	{

		float: left;

		width: 100%;

		max-width: 555px;

		padding: 0px;

		}



/* HOME PAGE WIDTHS */



#contentbox-home  {

		  max-width: 1500px;

		  margin: 0 auto;

		  padding: 35px 12px 35px 12px;

		  }



.content-pad-home { padding: 15px 15px 15px 15px; }









.divclear 	{ height: 1px; clear: both; font-size: 1px; line-height: 1px; padding: 0px; margin: 0px; }





.float-item	{ float: left; margin-right: 15px; margin-bottom: 2px; width: 50%; min-width: 200px; }











/* INNER AND OUTER BACKGROUNDS */



.inner-background	{

			background-color: transparent;

			border: #999999 0px solid;

			}





.outer-background	{

			background-color: #FFFFFF;

			border: #999999 0px solid;

			}







/* PAGE COLUMN TEXT CONTENT */



.content-outer {

		max-width: 100%;

		margin: 0 auto;

		padding: 20px;

		}



.content	{

		max-width: 1800px;  /* DIVIDED BY 2 MINUS PADDING BELOW */

		margin: 0px auto 0px auto;

		}



.content-left	{ float: left; padding: 20px 18px 20px 0px; width: 50%; min-width: 200px; }



.content-right	{ float: left; padding: 20px 0px 20px 8px; width: 48%; min-width: 200px; }







/* GRAPHIC HEADER CODE */





#header		{

		width: 100%;

		position: relative;

		}



#logo		{ max-width: 355px; min-width: 250px; float: left; }


#menu #rwdmenu {
	text-align: center;
}

.logo-respond	{

		height: auto;

		width: 100%;

		max-width: 230px;

		min-width: 150px;

		display: block;

		}



#header-fix-space { height: 1px; }



#fixed-header	{
		/*background-color: transparent;*/
		/*background-color: #FFFFFF; 
		
		color: #000000;
	
		width: 100%;

		position: fixed;

		top: 0px;

		left: 0px;

		z-index: 1500;*/

		}





.header		{
	
		background-color: #FFFFFF; 
		
		color: #000000;
	
		width: 100%;

		position: relative;

		

		}
#header {
	padding: 5px 15px 5px 30px;
	
	position: fixed;
	
	top: 0px;

	left: 0px;

	z-index: 1500;
	
	box-sizing: border-box;
}
#header::after {
	content: "";
	  clear: both;
	  display: table;
}

.header.active,#fixed-header.active	{ background-color: #FFFFFF; color: #000000; }











/* LISTS */



.list		{

		font-size: 16px;

		color: #006666;

		line-height: 175%;

		text-align: left;

		margin-top: 0px;

		margin-bottom: 0px;

		}



.floatlist	{ float: left; margin-right: 25px; width: 50%; min-width: 200px; }



.floatlist2	{ float: left; margin-left: 25px; width: 50%; min-width: 200px; }



.list li	{ text-indent: 1px; }









/* PAGE LINES & BORDERS */



.page-splits 	{

		line-height: 1px;

		font-size: 1px;

		height: 2px;

		background-color: transparent;

		margin-top: 10px;

		margin-bottom: 10px;

		padding: 0px;

		border-top: #76A3D0 1px solid;

		}



.splits-xtramargin { margin-top: 30px; margin-bottom: 30px; }









/* PROJECTS LIST */



.project-subtitle { color: #3F638F; font: 22px "Open Sans", arial, serif; font-weight: normal; line-height: normal; }



.project-outer	{ width: 100%; margin: 0 auto; }





.project-list		{

		font-size: 16px;

		color: #84919E;

		line-height: 150%;

		text-align: left;

		margin-top: 6px;

		margin-bottom: 0px;

		}



.project-list li { text-indent: -30px; padding-bottom: 12px; list-style-type: none; }



.float-project	{ float: left; width: 50%; min-width: 250px; padding: 0px 15px 0px 15px; }



.project-name	{ color: #122544; font-weight: normal; }



.project-image	{ width: 100%; height: auto; display: block;}













/* PORTFOLIO PAGE */





.textcentered {

    position: absolute;

    width: 100%; 

    top: 65%;

    left: 50%;

    transform: translate(-50%, -65%);

	}





.portfolio-overlay-text	{

		font-family: "Roboto", arial, sans-serif;

		font-size: 54px;

		font-weight: 400;

		z-index: 5;

		white-space: nowrap;

		line-height: 60px;

		color: #FFFFFF;

		letter-spacing: 1px;

		}



.portfolio-overlay-1	{

		font-family: "Roboto", arial, sans-serif;

		font-size: 18px;

		font-weight: 700;

		z-index: 5;

		white-space: normal;

		line-height: 24px;

		color: #000000;

		z-index: 5;

		width: 100%;
		max-width: 230px;

		}







.portfolio-overlay-2	{

		font-family: "Roboto", arial, sans-serif;

		font-size: 16px;

		font-weight: 400;

		font-style: italic;

		z-index: 5;

		white-space: nowrap;

		line-height: 18px;

		color: #000000;

		z-index: 5;

		width: 90%;

		}





.portfolio-overlay-3





.portfolio-overlay-1 a:link, 

.portfolio-overlay-1 a:visited, 

.portfolio-overlay-1 a:active 	{ color: #FFFFFF; text-decoration: none; }



.portfolio-overlay-1 a:hover 	{ color: #1F1785; text-decoration: none; }









.galrow		{

		width: 99%;

		max-width: 99%;

		padding: 0px 0px 0px 0px;

		margin: 0 auto;

		}



.galrow-box	{

		float: left;

		width: 24.9%;

		min-width: 300px;

		}



.galthumb-box	{

		padding: 4px;

		margin: 0px auto 0px auto;

		max-width: 300px;

		border: 1px solid #DEDEDE;

		}







.galthumb	{

		max-width: 300px;

		height: auto;

		display: block;

		margin: 0px auto 0px auto;

	opacity: 0.40;

	filter: alpha(opacity=40); /* For IE8 and earlier */

		}











/* PROJECT PAGES */







#descriptionwrapper	{

		width: 80%;

		max-width: 1400px;

		min-width: 280px;

		margin: 0px auto 20px auto;

		padding: 0px 0px 0px 0px;

		position: absolute;

		top: 70%;

		}





.projecttext {

    position: absolute;

    width: 90%; 

    top: 30%;

    left: 50%;

    transform: translate(-50%, -30%);

	}



.project-overlay-1	{

		font-family: "Roboto", arial, sans-serif;

		font-size: 24px;

		font-weight: 700;

		line-height: 30px;

		color: #E1E1E1;

		z-index: 5;

		text-align: center;

		margin-bottom: 12px;

		}







.project-overlay-2	{

		font-family: "Open Sans", arial, sans-serif;

		font-size: 22px;

		font-weight: 400;

		line-height: 125%;

		color: #E1E1E1;

		z-index: 5;

		text-align: center;

		margin-bottom: 12px;

		}



.project-overlay-3	{

		font-family: "Open Sans", arial, sans-serif;

		font-size: 20px;

		font-weight: 400;

		font-style: italic;

		line-height: 100%;

		color: #E1E1E1;

		z-index: 5;

		text-align: center;

		padding-top: 6px;

		margin-bottom: 24px;

		}







/* SOCIAL ICONS */



#social-links	{

		text-align: center;

		font-size: 0px;

		background-color: transparent;

		padding: 6px 0px 6px 0px;

		margin: 0px auto 0px auto;

		border: solid #000000;

		border-width: 0px 0px 0px 0px;
		    margin-top: 50px;

		}



.socialicon	{

		background-color: transparent;

		border: #FFFFFF 1px solid;

		padding: 2px;

		margin: 0px;

		vertical-align: top;

	/* CORNER ROUNDING */

		-moz-border-radius: 3px;

		-webkit-border-radius: 3px;

		border-radius: 3px;

		}



.socialicon:hover {

		background-color: transparent;

		border: #000000 1px solid;

		}





/* FOOTER */



.footer-copyright {

		  color: #000000;

		  font: 13px "Open Sans", arial, sans-serif;

		  font-weight: 400;

		  line-height: normal;

		  padding: 20px 0px 25px 0px;

		  margin: 0px 0px 0px 0px;

		  background-color: #FFFFFF;

		  border: solid #000000;

		  border-width: 0px 0px 0px 0px;

		  /* NOTE: BORDERs ABOVE ARE | top | right | bottom | left */

		  }



/* COPYRIGHT LINK COLORS */



div.footer-copyright a:link, 

div.footer-copyright a:visited, 

div.footer-copyright a:active 	{ color: #0066CC; text-decoration: none; }



div.footer-copyright a:hover 	{ color: #0099FF; text-decoration: underline; }







/* HIDE ITEMS FOR PRINTING */

@media screen and (max-width: 967px) {
	.small-100 {
		width: 100%;
	}
}

@media print {

.printhide 	{ display:none; }

.pageheight 	{ min-height: 50px; }

}

@media screen{

.printonly 	{ display:none; }

}

