/*** Body Definitions ***/
*{
	margin:0; 
	padding:0; 
}

a { color: #0071BB;}

a:active, a:visited {
  color: #0071BB;  /*#0071BB*/
}

a:hover, a:focus {
  color: #999;   /*2B92D5*/
}


a img{
	border:0;
}

body{
	font-family: Lato, Arial, Helvetica, sans-serif;
	line-height: 1.4em;
	font-size: 16px;
	background: url(../images/bg.png);
	background-repeat: repeat-x;
	background-color: #FFFFFF;
	margin-top: 20px;
	margin-bottom: 50px;
}


/*** Website Heading ***/

#header{
/*	float:left;*/
	width:100%;
	/*max-height:151px;*/
/*	margin:0px;*/
	margin-bottom: 1rem;
/*	padding:0;*/
}

.header-right {
	/*float: right;*/
	height: auto;
	/*width: 40%;*/
	text-align:right;
	padding-top: 4%;
}
.head-phone {
	font-size: 2.151rem;
	text-transform: uppercase;
	font-weight: bold;
	line-height: 1.6rem;
}
.head-byline {
	font-size: 2.28rem;  /* 1.58 */
	line-height: 2.5rem;
	/*text-transform: uppercase;*/
}


#featureimage {
	max-height: 300px;
	width: 100%;
	overflow: hidden;
}

#featureimage ul {
	list-style: none;
 }
#featureimage li { 
	list-style: none;
	text-indent: -1em;
	margin: 0;
	padding: 0;
	/*position:absolute;*/
 }

.top-bar {
	background: #1e5799;
	border-bottom: 4px solid #DDD;
	margin-bottom: 0.2rem;
	height: 70px;
	transition: border-bottom .45s ease-in-out;
    -moz-transition: border-bottom .45s ease-in-out;
    -webkit-transition: border-bottom .45s ease-in-out;
}
.top-bar-section ul li > a {
}
.top-bar-section ul.menu li {
	background: none;
	/*width: 20%;*/
}
.top-bar-section li:not(.has-form) a:not(.button) {
	background: none;
	font-size: 1.2rem;
	font-weight: 400;
	font-family: Lato, Arial, Helvetica, sans-serif;
	text-transform: uppercase;
	/*text-align: center;*/
	padding: 0.65rem 1.5rem;
	transition: background-color .45s ease-in-out;
    -moz-transition: background-color .45s ease-in-out;
    -webkit-transition: background-color .45s ease-in-out;
}
.top-bar-section li:not(.has-form).first a:not(.button) { 
	padding-left: 1.59rem;
}
.top-bar-section li:not(.has-form):not(.first) a:not(.button) { 
	border-left: 1px solid #2090CF; 
	/*text-align: center;*/
}
.top-bar-section li:not(.has-form):not(.first) a:not(.button):hover {
	border-left: 1px solid transparent;
}
.top-bar-section li:not(.has-form) a:not(.button):hover {
	background-color: #2090CF; /*#FcFcFc*/
	color: #FFF;
	border-bottom: 4px solid #BBB;
	overflow: hidden;
	/*text-align: center;*/
}


.menurow .top-bar-section ul li, .menurow .top-bar-section ul li a, .menurow .top-bar-section ul, .menurow .top-bar-section ul li p, { font-family: Lato, Arial, Helvetica, sans-serif; }
.menurow a { }

.menurow ul li a {
	float:left;
	color:#FFFFFF;
	display: block;
	text-decoration:none;
	border-right:1px solid #94b0cb;
	border:0;
	padding-left:20px;
	padding-right:20px;
}

.menurow ul li a:hover {
	float: left;
	background-color: #004B7A;
}



/******************* Slick Banner Slider *********************/
.slick-carousel {
	/*height: 291px;*/
	overflow: hidden;
}
.slick-arrow { 
	border:none; 
}
.slick-carousel .orbit-prev > span, .slick-carousel .orbit-next > span {
	border-left-color: transparent;
	border-right-color: transparent;
}
.slick-slide { text-align: center; display: block; margin: auto; }
.slick-slide img { max-width: 100%; display: block; margin: auto; }

.orbit-bullets-container { display:none; }

/*.slick-carousel .orbit-slide-number { visibility: hidden; }*/
/*.slick-carousel .orbit-timer .orbit-progress { background-color:  rgba(255, 255, 255, 0.0); }*/


/*********************  Main Content *************************/

#content {
	/*margin-top: 2rem;*/
	margin-bottom: 2rem;
	background: #ffffff;

}
#content ul { margin-top: 2rem; color: #444; }
#content li { 
	list-style: none;
	list-style-type: square;
	/*list-style-position: inside;*/
	line-height: 1.4rem;
	margin: 1rem 0;
}
#content .projects-menu li { list-style: none; list-style-type: none; }

#content form ol, #content form li { 
	list-style: none; 
	/*list-style-position:inside;*/
	/*text-indent: 0;*/
	margin: 0;
}

input[type=submit] {
   padding: 0.4rem 1.3rem 0.4rem 1.3rem;
   color: white;
   font-weight: 500;
   text-transform: uppercase;
   font-size: 1.2rem;
   background-color: #1e5799;
   /*border: 4px solid #2090CF 4px solid #2090CF 4px solid #2090CF 4px solid #2090CF;*/ /*transparent*/
   /*border-width: 4px;*/
   border: 4px solid transparent;
   border-radius: 13px;
}
input[type=submit]:hover {
	background-color: #2090CF;
}

.row-images .columns img { margin-top: 0.8rem; margin-bottom: 0.8rem; }

.btn-totop { float: right; /*text-align: right;*/ }

.row.contact-nugget { /*margin-top: 1rem;*/ }

.contact-col1 { margin-left: 1em; float: left; display:inline; margin-bottom: 1em; }  
.contact-col2 { margin-left: 1em; float: left; display:inline; margin-bottom: 1em; } 
/* min-width: 100px; display: inline-block; min-height: 20px; line-height: 2em; */
.contact-col1 p { }  /* text-align: right; */ /* padding-right: 1em; */
.contact-col2 p { } /* padding-left: 1em; */

.contact-page p { padding-top: 0; padding-bottom: 0; margin-top: 0; margin-bottom: 0; }

.contact-img-bounds { width: 100%; text-align: center; }
.contact-pg-img { margin: auto 0; } /*max-width: 200px;*/

.g-recaptcha { float: left; margin-bottom: 1rem; margin-right: 1rem; }

.submit-btn { float: left; margin-bottom: 1rem; margin-right: 1rem; }

p.extra-pad { padding: 5rem 0rem; }

/*.row-images .columns { 
	height: 179px;
	margin-bottom: 3rem;
	overflow: hidden;
}*/

.caption-box {
  display: block;
  position: absolute;
  width: 91%; /* 304px*/
  height: 180px;
  top: 9px;
  margin: 4px 0;
  opacity: 1;
}
.caption-box:hover .caption { 
	/*background-color: transparent; 
	color: transparent;*/
	opacity: 0;
	transition: opacity .45s ease-in-out;
   -moz-transition: opacity .45s ease-in-out;
   -webkit-transition: opacity .45s ease-in-out;
}
.caption-box:hover .caption-edge { 
	/*border-color: transparent;*/
	opacity: 0;
	transition: opacity .45s ease-in-out;
   -moz-transition: opacity .45s ease-in-out;
   -webkit-transition: opacity .45s ease-in-out;
}

.caption { 
	float: left;
	display: inline-block; 
	position: relative;
	/*bottom: 4rem; */
	top: 7.2rem;
	padding: 0.5rem 0.3rem 0.75rem 0.7rem;
	font-size: 0.67rem;
	font-weight: 400;
	color: #EEE;
	background-color: #004B7A;
	z-index: 2;
	line-height: 0.97rem;
	max-width: 284px;
	opacity: 1;
	transition: opacity .75s ease-in-out;
   -moz-transition: opacity .75s ease-in-out;
   -webkit-transition: opacity .75s ease-in-out;
}
.caption-edge {
	float: left;
	display:inline-block;
	position: relative;
	/*bottom: 4rem; */
	top: 7.2rem;
    border-top: 2.3rem solid #004B7A;
	border-right: 0.7rem solid transparent;
	width: 0.5rem;
	z-index: 1;
	opacity: 1;
	transition: opacity .75s ease-in-out;
   -moz-transition: opacity .75s ease-in-out;
   -webkit-transition: opacity .75s ease-in-out;
}


hr {
	margin-top: 3rem;
	margin-bottom: 2rem;
}



/******************** Heading Styles *************************/

h1 {
	color: #444;
	margin-top: 1.2rem;
}


h2 {
  font-size: 1.8rem;
  color: #555;
  margin-top: -0.2em;
}



/********************* Paragraph Styles **********************/

p, textarea {

	color: #444;

}


/********************* Website Footer *********************/

.footer {
	font-size: 0.75rem;
	color: #666;
	/*line-height: normal;*/
	height: auto;
	margin-bottom: 1rem;
}
.footer-background {
	background-color: #DDD;
	/*padding: 1.3rem 0;*/
	padding: 1.4rem 1.8rem 0 1.8rem;
	border-bottom: 4px solid #BBB;
	margin: 0 0.8rem;
	height: 4rem;
}
.footer-right {
	padding: 0;
}
.footer-left {
	padding: 0;
}

#footer a{
	color: #000;
	text-decoration:none;
}
#footer a:hover{
	color: #333;
	text-decoration:underline;
}





/*********************** Media Queries ***********************/


@media screen and (max-width:400px) {
	.top-bar {
		background: #115799;
	}
	.top-bar.expanded .title-area { 
		background: #115799;
		border-bottom: 1px solid white;
	}
	
	.top-bar.expanded .toggle-topbar a {  /*menu-burger text*/
  		color: #EEE;
	}
	.top-bar.expanded .toggle-topbar a:hover {  /*menu-burger text clicked hover*/
  		color: #EEE;
	}
	.top-bar.expanded .toggle-topbar a span::after { /*menu-burger icon*/
  		box-shadow: 0 0 0 1px #EEE, 0 7px 0 1px #EEE, 0 14px 0 1px #EEE;
	}
	.top-bar .toggle-topbar.menu-icon a span:hover:after { /*menu-burger icon hover*/
		box-shadow: 0 0 0 1px #EEE, 0 7px 0 1px #EEE, 0 14px 0 1px #EEE;
	}

	.top-bar.expanded { background: #115799 }
	.menurow ul li a:hover { background: none; }

	.head-phone {   font-size: 1.1rem;
		float: left; 
	}
	.head-byline {
		float: left;
		text-align: left;
	}

	.top-bar-section li:not(.has-form) a:not(.button):hover {
  		margin-bottom: -4px;
	}
	.top-bar .name {
  		height: 4.1125rem; 
	}

	.footer-background { 
		height: 7rem;
	}

	.contact-nugget .columns { 
		padding-bottom: 1rem;
	}

	.contact-pg-img { margin: auto 0; } /*max-width: 200px;*/

	h2 { font-size: 1.4em; }

	/*.contact-col1 { padding-right: 0.2rem;}
	.contact-col2 { padding-left: 0.2rem;}*/

	.contact-col1 p, .contact-col2 p { font-size: 0.7rem; }
	.contact-col1 p { font-size: 0.5em; line-height: 2.24em; }
	.contact-col2 p { -webkit-margin-before: 0em; }

	.row-images .columns {
		height: 70vw;
	}

	.caption-box .caption { 
		margin-right: 0.75rem;
		top: 27vw;
	 }
	.caption-box .caption-edge { display: none; }
}


@media screen and (min-width:400px) {
/*	.top-bar {
  		background: #115799;
  	}*/
  	.head-byline {
  		font-size: 1.58rem;
  		line-height: 0.8rem;
	}
  	.top-bar.expanded { background: #115799 }
  	.top-bar.expanded .title-area { 
		background: #115799;
		border-bottom: 1px solid white;
	}
	
	.top-bar.expanded .toggle-topbar a {  /*menu-burger text*/
  		color: #EEE;
	}
	.top-bar.expanded .toggle-topbar a:hover {  /*menu-burger text clicked hover*/
  		color: #EEE;
	}
	.top-bar.expanded .toggle-topbar a span::after { /*menu-burger icon*/
  		box-shadow: 0 0 0 1px #EEE, 0 7px 0 1px #EEE, 0 14px 0 1px #EEE;
	}
	.top-bar .toggle-topbar.menu-icon a span:hover:after { /*menu-burger icon hover*/
		box-shadow: 0 0 0 1px #EEE, 0 7px 0 1px #EEE, 0 14px 0 1px #EEE;
	}

	.top-bar.expanded { background: #115799 }
	.menurow ul li a:hover { background: none; }


  	.top-bar-section li:not(.has-form) a:not(.button):hover {
  		margin-bottom: -4px;
	}
	.top-bar .name {
  		height: 4.1125rem; 
	}

	.contact-nugget .columns { 
		padding-bottom: 1rem;
	}

	/*.contact-col1 { padding-right: 0.2rem;}*/
	/*.contact-col2 { padding-left: 0.2rem;}*/

	.footer-background { 
		height: 5.6rem;
	}

	.row-images .columns {
  		height: 306px;  /*crops images to this height*/
  		height: 50vw;
  		margin-bottom: 2rem;
		overflow: hidden;
	}
	.caption-box .caption { 
		top: 7.9rem;  /*11.4*/
		top: 30vw;
	}
	.caption-box .caption-edge { 
		top: 7.9rem;  /*11.4*/
		top: 30vw;
	}
	.slick-slide img { max-width: 150%; }
}

@media screen and (min-width:642px) {  /* tablet and above */
/*	.top-bar {
  		background: #515799;
  	}*/
  	.head-byline {
  		font-size: 1.98rem;
  		line-height: 2rem;
	}
	.top-bar-section ul.menu li {
		width: 20%;
	}
	.top-bar-section li:not(.has-form) a:not(.button) {
		padding: 0.65rem 0.008rem;
		text-align: center;
	}
	.row-images .columns {  /* crop image heights */
		height: 179px;
		margin-bottom: 3rem;
		overflow: hidden;
	}
	.caption-box .caption { 
		top: 3.5rem;
		max-width: 86%;
	}
	.caption-box .caption-edge { 
		top: 3.5rem;
	}
	.contact-pg-img { margin: auto 0; max-width: 470px; }
	.contact-col1 p { font-size: 0.8em; }
	.contact-col2 p { font-size: 0.8em; }
	.slick-slide img { max-width: 500%; }
}

@media screen and (min-width:850px) {
/*	.top-bar {
  		background: #915799;
  	}*/
  	.head-byline {
  		font-size: 2.28rem;
  		line-height: 2rem;
	}
  	.caption-box .caption { 
		top: 7.1rem;
		max-width: 236px;
		padding-right: 0.3rem;
	}
	.caption-box .caption-edge { 
		top: 7.1rem;
	}
	.contact-col1 p { font-size: 1em; }
	.contact-col2 p { font-size: 1em; }
	
}

@media screen and (min-width:1016px) {
/*	.top-bar {
  		background: #d15799;
  	}*/

	.top-bar-section li:not(.has-form) a:not(.button) {
		padding: 0.65rem 0.00214rem;
	}
	.caption-box .caption { 
		max-width: 291px;
		padding-right: 0.3rem;
	}
	.caption-box .caption-edge { 
	}

	
}