@import url(https://fonts.googleapis.com/css?family=Over+the+Rainbow);
/* -- Global Styles -- */
body {
	background: #E3EBF4;
	height: 100%;
	min-height: 100%;
}

/* -- Header Styles -- */
header {
	background: #000000;
}

#header {
	width: 960px;
	margin: 0 auto;
}

#logo {
	margin: 20px 0;
	float: left;
}

#slogan {
	float: right;
	margin: 0 10px;
}

#slogan img {
	margin-top: 70px;
	padding: 0;
}

/*------------------------------------------------------------------------------------------------------------*/
/* -- Nav Styles -- */
nav {
	clear: both;
}

nav, nav > ul, nav > ul ul {
	/*clear: both;*/
	display: flex;
	flex-flow: column;
	margin: 0;
}

nav > ul {
	padding: 20px;
}

nav ul {
	background-color: #FFFFFF;
}

nav li {
	position: relative;
}

nav ul li {
	width: 192px;
	margin-bottom: 0 !important;
	text-align: center;
}

nav ul li a.current, nav ul li a:hover {
	background: #8BAFD3;
	color: #FFFFFF;
}

nav li a {
	display: block;
	text-decoration: none;
}

nav ul li a {
	padding-top: 18px;
	padding-bottom: 18px;
	font-family: Verdana, sans-serif;
	font-size: 12px;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	color: #000000;
	border-right: 1px solid #B2B2B2;
}

nav ul > li:last-child a {
	border-right: none;
}

nav ul li ul {
	display: none;
	width: 193px;
	margin-left: -1px;
	background: #33578F;
}

nav ul li ul li {
	background: url('../images/nav_pointer.gif') left center no-repeat;
	background-position-x: 20px;
	background-position-y: 3px;
	background-color: #33578F;
	height: 40px !important;
}

nav ul li ul li a:hover {
	background: #33578F;
	color: #8BAFD3;
}

nav ul li ul li a {
	font-family: Verdana, sans-serif;
	font-size: 12px;
	padding: 0 !important;
	border: none;
	text-transform: none;
	text-align: left;
	margin-left: 40px;
	color: #FFFFFF;
}

span.has-subnav {
	display: block;
	font-size: 1.5em;
	line-height: 2.2em;
	position: absolute;
	right: 0px;
	padding: 0 0.8em;
	top: 0;
}

/*------------------------------------------------------------------------------------------------------------*/
/* -- Main Container -- */
main {
	width: 960px;
	margin: 0 auto;
	min-height: 100%;
	position: relative;
}

#featuredImage, #featuredImageHome, #featuredImageMap {
	z-index: 98;
}

#featuredImageHome #images, #featuredImage #images {
	width: 100%;
}

#featuredImageHome #images.slider {
	padding-top: 41.66666666666667%;
}

#featuredImage #images.slider {
	padding-top: 25%;
}

#featuredImage #images img {
	display: none
}

#featuredImage #images .first {
	display: block;
}

#controllers {
	position: relative;
	z-index: 98;
}

#controllers .right2, #controllers .left2 {
	position: absolute;
	top: 100px;
	left: 900px;
}

#controllers .right2 {
	left: 900px;
}

#controllers .left2 {
	left: 20px;
}

#controllers .home {
	top: 170px;
}

#featuredImage .borderHack2, #featuredImageMap .borderHack2 {
	border-bottom: 50px solid #000000;
	z-index: 98 !important;
	margin-top: -20px;
}

#contentWrapper {
	float: left;
	width: 100%;
}

#middleColumn {
	margin: 0 280px 0 260px; /* Set to 0 RightColumnWidth 0 LeftColumnWidth */
	position: relative;
	margin-top: -40px;
}

#middleColumn h1, #rightColumn h1 {
	margin: 0;
	padding: 0;
	font-family: Verdana, sans-serif;
	font-weight: normal;
	font-size: 20px;
	color: #A2BFDC;
}

/*------------------------------------------------------------------------------------------------------------*/
/* -- 3 Column -- */
#threeColumn #middleColumn h1 small {
	font-size: 12px;
	color: #FFFFFF;
}

#threeColumn #leftColumn {
	float: left;
	width: 220px;
	margin-left: -940px;
	margin-top: -75px;
	position: relative;
	z-index: 88;
}

#threeColumn #leftColumn h2 {
	margin: 0;
	padding: 10px 10px;
	width: 200px;
	font-family: Verdana, sans-serif;
	font-size: 18px;
	font-weight: normal;
	background: #33568F;
	color: #FFFFFF;
}

#threeColumn #rightColumn {
	float: left;
	width: 215px;
	margin-left: -215px;
	position: relative;
	margin-top: -40px;
}

#foundationalValues {
	margin: 0;
	padding: 0;
	margin-top: 30px;
	list-style: none;
}

#foundationalValues li {
	font-family: Verdana, sans-serif;
	font-size: 12px;
	font-style: italic;
	margin-bottom: 5px;
}

#leftList {
	margin: 0;
	padding: 0;
	padding-left: 20px;
	padding-top: 10px;
	width: 200px;
	list-style: none;
}

#leftList li {
	padding-bottom: 20px;
	padding-left: 15px;
	background: url('../images/nav_pointer.gif') left center no-repeat;
	background-position-y: 6px;
}

#leftList li a {
	font-family: Verdana, sans-serif;
	font-size: 12px;
	color: #FFFFFF;
	text-decoration: none;
}

#leftList li a:hover, #leftList li a.current {
	color: #33578F !important;
}

.text, #con-form {
	font-family: Verdana, sans-serif;
	font-size: 12px;
	line-height: 20px;
}

.text img {
	margin-left: -14px;
	margin-top: 20px;
}

.container {
	margin-top: 30px;
}

.leftContainer {
	margin-top: 20px;
	padding-left: 10px;
}

.blue {
	margin: 0;
	padding: 0;
	margin-top: 10px;
	color: #335780;
}

.estimate {
	margin: 0;
	padding: 0;
	margin-bottom: 20px;
}

.estimateText {
	margin: 0;
	padding: 0;
}

/*------------------------------------------------------------------------------------------------------------*/
/* -- One Column Page -- */
#oneColumnPage {
}

#oneColumnPage h1 {
	margin: 0;
	padding: 10px 10px;
	position: relative;
	width: 200px;
	margin-top: -75px;
	z-index: 9;
	font-family: Verdana, sans-serif;
	font-size: 18px;
	font-weight: normal;
	background: #33568F;
	color: #FFFFFF;
	margin-left: 20px;
}

#oneColumnPage #pageText {
	margin-top: 50px;
}

#affiliations a {
	font-family: Verdana, sans-serif;
	font-size: 12px;
	line-height: 18px;
	color: #000000;
	width: 50%;
	float: left;
	margin-bottom: 20px;
}

#affiliations img.logo {
	padding-right: 10px;
	vertical-align: middle;
}

#awards {
	padding-top: 13px;
}

#awards p {
	font-family: Verdana, sans-serif;
	font-size: 12px;
	line-height: 18px;
	color: #000000;
	margin-bottom: 12px;
	margin-top: 0;
}

#awards img.logo {
	padding-right: 32px;
	float: left;
	clear: both;
	margin-bottom: 10px;
}

#videoList div {
	clear: both;
	padding-top: 20px;
}

#videoList img {
	margin-right: 10px;
	float: left;
}

#videoList p {
	margin-top: 0;
}

/*------------------------------------------------------------------------------------------------------------*/
/* -- 2 Column Alt -- */
.press {
	margin: 0;
	padding: 0;
	padding-right: 20px;
	margin-bottom: 10px;
	color: #FFFFFF;
	line-height: 15px;
	font-size: 10px;
}

.adobe {
	margin-left: 12px;
	margin-top: -15px;
}

#twoColumnAlt #rightColumn.news-press .container2 {
	margin-top: unset;
}

#twoColumnAlt #rightColumn.news-press .container2 {
	margin-top: unset;
}

#twoColumnAlt #rightColumn.news-press .container2 h2 {
	margin-bottom: 25px;
}

#newsList {
	/*margin: 0;*/
	padding: 0;
	list-style: none;
}

#newsList li {
	padding-bottom: 5px;
	border-bottom: 1px solid #335780;
	margin-bottom: 10px;
	font-family: Verdana, sans-serif;
	font-size: 12px;
}

#newsList li a {
	font-family: Verdana, sans-serif;
	font-size: 10px;
	font-weight: bold;
	color: #7399C6;
	text-decoration: none;
	float: right;
}

#newsList li a img {
	margin-left: 5px;
}

#twoColumnAlt {
	width: 960px;
	margin: 0 auto;
}

#twoColumnAlt #leftColumn {
	float: left;
	width: 220px;
	margin-left: 20px;
	z-index: 99;
}

#leftColumn {
	background-color: #8BAFD3;
}

#twoColumnAlt #rightColumn {
	float: right;
	width: 700px;
}

#twoColumnAlt h1 {
	margin: 0;
	padding: 10px 10px;
	position: relative;
	width: 200px;
	margin-top: -75px;
	z-index: 88;
	font-family: Verdana, sans-serif;
	font-size: 18px;
	font-weight: normal;
	background: #33568F;
	color: #FFFFFF;
	margin-left: 20px;
}

#twoColumnAlt h2 {
	margin: 0;
	padding: 0;
	margin-top: -5px;
	font-family: Verdana, sans-serif;
	font-weight: normal;
	font-size: 20px;
color: #A2BFDC;
}

#twoColumnAlt h3 {
	margin: 0;
	padding: 0;
	font-family: Verdana, sans-serif;
	font-size: 12px;
	color: #FFFFFF;
	text-transform: uppercase;
}

#twoColumnAlt #rightColumn h3 {
	margin: 0;
	padding: 0;
	font-family: Verdana, sans-serif;
	font-size: 12px;
	color: #000;
	text-transform:none;
}

.projects {
	margin: 0;
	padding: 0;
	margin-bottom: 20px;
	margin-left: 20px;
	width: 175px;
	list-style-image: url('../images/l_white_arrow.png');
}

.projects li {
	margin-bottom: 15px;
}

.projects li a {
	font-family: Verdana, sans-serif;
	font-size: 12px;
	color: #FFFFFF;
	text-decoration: none;
}

.projects li a:hover, .projects li a.current {
	color: #33578F !important;
}

#twoColumnAlt .container2 {
	margin-top: 50px;
}

#projectsCont {
	margin-left: 15px;
	padding-top: 15px;
}

.images img {
	margin-right: 5px;
}

.enlarge {
	font-family: Verdana, sans-serif;
	font-size: 11px;
	font-weight: bold;
	color: #33578F;
	display: block;
	margin-top: 4px;
}

/*------------------------------------------------------------------------------------------------------------*/
/* -- Home -- */
#introContainer {
	background: #000000;
	height: 230px;
	width: 960px;
	z-index: 1;
}

#introText {
	width: 500px;
	float: right;
}

#introText h1 {
	margin-top: 20px;
	margin-bottom: 10px;
	padding: 0;
	font-family: Verdana, sans-serif;
	font-size: 28px;
	font-weight: normal;
	color: #A2BFDC;
}

#introText p {
	margin: 0;
	padding: 0;
	line-height: 18px;
	margin-right: 10px;
	font-family: Verdana, sans-serif;
	font-size: 12px;
	color: #FFFFFF;
}

#featuredProject {
	width: 500px;
	float: right;
	margin-top: 35px;
	padding: 0 0 20px 0;
	border-left: #33568F solid 5px;
}

#featuredProject img {
	width: 50%;
	height: auto;
	float: right;
	margin: 0px 20px 0 10px;
}

#featuredProject h2 {
	margin: 0;
	padding: 10px 20px;
	font-family: Verdana, sans-serif;
	font-size: 24px;
	font-weight: normal;
}

#featuredProject p {
	margin: 0;
	padding: 0 0 0 20px;
	line-height: 18px;
	margin-right: 10px;
	font-family: Verdana, sans-serif;
	font-size: 12px;
}

#leftSideBarContainer {
	z-index: 99;
	position: relative;
	top: -270px;
	left: 20px;
}

#recentNewsContainer {
	background: #33568F;
	width: 400px;
	padding-bottom: 20px;
}

#recentNewsContainer h2 {
	margin: 0;
	padding: 10px 20px;
	font-family: Verdana, sans-serif;
	font-size: 24px;
	font-weight: normal;
	color: #FFFFFF;
}

#recentNewsContainer span {
	display: block;
	font-weight: bold;
	margin: 0;
	padding: 10px 20px;
	font-family: Verdana, sans-serif;
	font-size: 12px;
	color: #FFFFFF;
}

#recentNewsContainer p {
	margin: 0;
	padding: 10px 20px;
	font-family: Verdana, sans-serif;
	font-size: 12px;
	color: #FFFFFF;
}

#recentNewsContainer .readMore, #introText .readMore, #featuredProject .readMore {
	margin-left: 20px;
	margin-top: 10px;
	background: #8BAFD3;
	color: #33578F;
	display: block;
	width: 80px;
	padding: 10px;
	font-family: Arial, sans-serif;
	font-size: 12px;
	text-transform: uppercase;
	text-decoration: none;
}

#testimonialsContainer {
	background: #8BAFD3;
	width: 400px;
	z-index: 1;
	padding-bottom: 20px;
	float: left;
}

#testimonialsContainer h2 {
	margin: 0;
	padding: 10px 20px;
	font-family: Verdana, sans-serif;
	font-size: 24px;
	font-weight: normal;
	color: #335780;
}

#testimonialsContainer img {
	padding: 10px 5px;
}

#testimonialsContainer p {
	font-family: Verdana, sans-serif;
	font-size: 12px;
	color: #FFFFFF;
	padding: 10px 20px;
}

#testimonialsContainer #testimonialHome {
	padding: 0;
	margin: 0;
	padding-left: 20px;
	font-family: 'Over the Rainbow', cursive !important;
	font-size: 20px;
	line-height: 35px;
}

#testimonialsContainer .readMore2 {
	background: #33578F;
	color: #FFFFFF;
	display: block;
	width: 80px;
	padding: 10px;
	margin-left: 20px;
	font-family: Arial, sans-serif;
	font-size: 12px;
	text-transform: uppercase;
	text-decoration: none;
}

/*------------------------------------------------------------------------------------------------------------*/
/* -- Contact Us -- */
#contactUs label {
	display: block;
	font-family: Verdana, sans-serif;
	font-size: 12px;
	padding-bottom: 2px;
}

#contactUs input.textStyle, #contactUs textarea {
	display: block;
	margin-bottom: 10px;
	font-family: Verdana, sans-serif;
	width: 100%;
	height: 20px;
	border: 1px solid #8BAFD3;
}

#contactUs textarea {
	height: 110px;
}

#careers {
	margin: 0;
	padding: 0;
	padding-left: 10px;
	list-style-image: url('../images/l_blue_arrow.png');
}

#careers li {
	margin-bottom: 10px;
}

#careers li a {
	font-family: Verdana, sans-serif;
	font-size: 12px;
	color: #000000;
	text-decoration: none;
}

#careers li a:hover {
	text-decoration: underline;
}

#contactInfo {
	display: flex;
	flex-flow: wrap;
	font-family: Verdana, sans-serif;
	font-size: 12px;
	margin: 20px 0 10px;
}

#contactInfo div {
	width: 50%;
}

.text a {
	color: #335780;
	text-decoration: none;
}

.text a:hover {
	text-decoration: underline;
}

#con-form {
	width:100%;
	text-align:left;
}

#con-form input, #con-form textarea, #con-form select {
	padding:1px;
	margin:1px;
	width: 100%;
}

#con-form input[type=submit] {
	margin-top: 10px;
}

#con-form form:last-of-type input[type=submit] {
	margin-top: -10px;
}

#con-form legend {
	display: none;
}

#con-form fieldset {
	border: none;
}

.error {
	color:red; text-decoration:underline;
}

/*------------------------------------------------------------------------------------------------------------*/
/* -- Footer Styles -- */
footer {
	clear: both;
	background: #000000;
	position: relative;
	top: 20px;
	padding-bottom: 20px;
	text-align: center;
}

#footerLinks {
	padding: 20px;
	width: 960px;
	margin: 0 auto;
	list-style: none;
}

#footerLinks li {
	display: inline;
	background: url('../images/footer_split.png') left center no-repeat;
	margin-right: 5px;
	padding-left: 15px;
}

#footerLinks li:first-child {
	background: none;
	margin-left: 0;
	padding-left: 0;
}

#footerLinks li a {
	font-family: Verdana, sans-serif;
	font-size: 12px;
	color: #8BAFD3;
	text-decoration: none;
	white-space: nowrap;
}

#footerLinks li a:hover {
	color: #FFFFFF;
}

#copyright {
	padding: 0;
	width: 960px;
	margin: 0 auto;
	padding-bottom: 20px;
	font-family: Verdana, sans-serif;
	font-size: 10px;
	color: #FFFFFF;
}

.pdf-iframe {
	width: 100%;
	max-width: 1000px;
	height: 98vh;
	margin: 0 auto;
	display: block;
	border: none;
}

/*------------------------------------------------------------------------------------------------------------*/
/* -- Misc -- */
.bold {
	font-weight:bold;
}

.ital {
	font-style:italic;
}

#google-map {
	width: 100%;
}
/*------------------------------------------------------------------------------------------------------------*/
/* -- NOT Mobile -- */
@media all and (min-width: 1000px) {
	a.menu-link, a.menu-link-prog {
		display: none;
	}

	.js nav,  .js nav > ul ul {
		max-height: none;
		overflow: visible;
	}

	.js nav > ul li:hover > ul {
		display: flex;
	}

	nav ul {
		flex-flow: row;
		height: 50px;
		justify-content: space-between;
		margin: 0;
		padding: 0;
	}

	nav span.has-subnav {
		display: none;
	}

	nav ul ul {
		height: auto;
		overflow: hidden;
		padding-top: 20px;
		position: absolute;
		text-align: left;
		top: 50px;
		width: 150px;
		z-index: 999;
	}

	.chrome .js nav > ul ul {
		top: 43px;
	}

	nav ul ul.wide {
		width: 300px;
	}

	nav ul ul li {
		display: inline-block;
		position: relative;
	}

	nav > ul ul li:last-child {
		border-bottom: none;
	}

	nav ul ul li a {
		display: block;
		padding-left: 10px;
	}
}

/*------------------------------------------------------------------------------------------------------------*/
/* -- Mobile -- */
@media all and (max-width:999px) {
	#header {
		width: 100%;
	}

	#logo {
		margin-left: 20px;
	}

	#slogan img {
		margin-right: 10px;
	}

	a.menu-link, a.menu-link-prog {
		color: #000;
		display: block;
		text-decoration: none;
		clear: both;
		background-color: white;
		height: 2em;
		line-height: 2em;
		padding: 0 0 0 10px;
		border-bottom: 1px solid #B2B2B2;
	}

	a.menu-link.active, a.menu-link-prog.active {
		border-bottom: none;
	}

	a.menu-link span, a.menu-link-prog span {
		border-bottom: solid 3px #000;
		border-top: double 10px #000;
		display: inline-block;
		height: 4px;
		margin: 0 5px -3px 0;
		width: 30px;
	}

	a.menu-link:hover span, a.menu-link-prog:hover span {
		border-color: #999;
	}

	nav ul, #menu-prog ul {
		padding: 0;
	}

	nav ul li ul, #menu-prog ul li ul {
		display: block;
	}

	nav, nav > ul ul, #menu-prog, #menu-prog > ul ul {
		margin: 0;
		max-height: 0;
		overflow: hidden;
	}

	nav ul li a, #menu-prog ul li a {
		border-bottom: 1px solid #d8d8d8;
		display: block;
		padding-left: 15px;
		text-align: left;
	}

	#menu-prog {
		height: 200px;
		overflow-y: visible;
	}

	::-webkit-scrollbar {
		-webkit-appearance: none;
		width: 7px;
		height: 7px;
		-webkit-overflow-scrolling: auto;
	}

	::-webkit-scrollbar-thumb {
		border-radius: 4px;
		background-color: rgba(0,0,0,.5);
		-webkit-box-shadow: 0 0 1px rgba(255,255,255,.5);
	}

	#menu-prog ul li a {
		border-bottom: none;
	}

	nav li li a, #menu-prog li li a {
		padding-left: 50px;
	}

	nav ul > li:last-child a {
		border-right: 1px solid #B2B2B2;
	}

	main, #featuredProject, #featuredImage, #introContainer, #leftSideBarContainer, #introText, #recentNewsContainer, #testimonialsContainer, #footerLinks, #copyright, footer {
		width: unset;
		height: unset;
		float: unset;
		position: unset;
		overflow: hidden;
	}

	#controllers {
		display: none;
	}

	#oneColumnPage, #twoColumnAlt, #threeColumn  {
		padding: 0 20px 20px;
	}

	#oneColumnPage h1, #twoColumnAlt h1 {
		margin-top: -45px;
		margin-left: unset;
	}

	#twoColumnAlt, #twoColumnAlt #rightColumn {
		width: unset;
	}

	#twoColumnAlt #leftColumn {
		margin-left: unset;
	}

	#twoColumnAlt #rightColumn.news-press {
		width: 100%;
	}

	#twoColumnAlt #rightColumn.news-press li {
		overflow: auto;
	}

	#twoColumnAlt #projectsCont {
		padding-right: 15px;
	}

	#twoColumnAlt .container2 {
		margin-top: unset;
	}

	#twoColumnAlt #projectsCont a {
		margin-bottom: 15px;
	}

	#twoColumnAlt #rightColumn h2, #threeColumn #middleColumn h1, #threeColumn #rightColumn h1 {
		background-color: black;
		padding: 10px;
		margin-top: 10px;
		position: relative;
		top: 20px;
	}

	#threeColumn {
		display: flex;
		flex-wrap: wrap;
	}

	#threeColumn #leftColumn {
		margin: unset;
		top: -45px;
		order: 1;
	}

	#threeColumn #contentWrapper {
		order: 2;
	}

	#threeColumn #middleColumn  {
		margin: unset;
		margin-top: -50px;
	}

	#threeColumn #rightColumn {
		margin-left: unset;
		margin-top: unset;
		width: 100%;
		order: 3;
	}

	#threeColumn #rightColumn img {
		margin-left: unset;
		margin-top: -20px;
	}

	#introText {
		padding: 0 20px;
	}

	#featuredProject {
		border-left: unset;
		background-color: #8BAFD3;
	}

	#featuredProject img {
		width: 100%;
		float: unset;
		margin: unset;
	}

	#featuredProject p {
		margin: unset;
		padding: 20px;
	}

	#featuredProject .readMore {
		background: #33578F;
		color: #FFFFFF;
	}

	#featuredImageHome #images img, #featuredImage #images img{
		width: 100%;
	}

	#affiliations a {
		width: 100%;
	}

	#affiliations img.logo {
		vertical-align: bottom;
	}

	#awards p {
		clear: both;
	}

	#videoList {
		margin-top: -25px;
	}

	#videoList img {
		float: unset;
	}

	nav.active, #menu-prog.active {
		max-height: unset;
	}

	.js nav > ul ul.active, .js #menu-prog > ul ul.active {
		margin: 0;
		max-height: 55em;
		padding-top: 20px;
		width: auto;
	}

	footer {
		padding: 0 20px 20px;
	}
}

/*------------------------------------------------------------------------------------------------------------*/
@media all and (max-width: 536px) {
	#slogan {
		padding: 0 10px;
	}

	#slogan img {
		margin: 0;
		max-width: 100%;
	}

	nav ul li {
		width: unset;
	}

	nav ul li a, nav ul li:last-child a {
		border-right: none;
	}

	#twoColumnAlt #rightColumn p.images {
		text-align: center;
	}
}
