﻿/* ---------- GENERAL FORMATTING ---------- */

* {
	margin:0px;
	padding:0px;
	outline: none;
}

p {
	margin: 0 0 20px 0;	
}

a {
	color: #428bca;
	text-decoration: none;
	outline: none;
}

h1 {
	font-size: 43px; 
	line-height: 43px;
	font-weight: 400; 
	color: #1F51AE; 
	text-transform: uppercase; 
	font-family: 'Roboto Condensed', sans-serif; 
	letter-spacing: -1px; 
	word-spacing: 4px;
	margin: 0px 0 20px 0;
}

h2 {
	font-size: 28px; 
	line-height: 28px;
	font-weight: 400; 
	color: #1F51AE; 
	text-transform: uppercase; 
	font-family: 'Roboto Condensed', sans-serif; 
	letter-spacing: -1px; 
	word-spacing: 4px;
	margin: 0 0 10px 0;
}

.menu h2 {
	font-size: 22px; 
	line-height: 22px;
	font-weight: 400; 
	color: #1F51AE; 
	text-transform: uppercase; 
	font-family: 'Roboto Condensed', sans-serif; 
	letter-spacing: -1px; 
	word-spacing: 4px;
	margin: 0 0 10px 0;
	max-width: 250px;
}

.secondHeading h2 {
	font-size: 43px; 
	line-height: 43px;
	font-weight: 400; 
	color: #1F51AE; 
	text-transform: uppercase; 
	font-family: 'Roboto Condensed', sans-serif; 
	letter-spacing: -1px; 
	word-spacing: 4px;
	margin: 0 0 10px 0;
}

.thirdheading h2 {
	float: left;
	font-size: 36px; 
	line-height: 40px;
	font-weight: 400; 
	color: #1F51AE; 
	text-transform: uppercase; 
	font-family: 'Roboto Condensed', sans-serif; 
	letter-spacing: -1px; 
	word-spacing: 4px;
	margin: -8px 20px 0 0;
	padding: 5px 30px 5px 30px;
	text-align: center;
	background-color: #e1e7f0; 
	border-radius: 15px;
}

h3 {
	font-family: sans-serif, arial;
	font-size: 20px;
	line-height: 20px;
	margin: 0 0 10px 0;
}

.socialMedia h3 {
	float: left;
	margin: 13px 10px 0 0;
	padding: 0;
	font-family: sans-serif, arial; 
	letter-spacing: 0px; 
	word-spacing: 1px;
	font-size: 25px;
	line-height: 20px;
	font-weight: 700;
	color: #047fbe;
}

.listBox h3 {
	font-family: sans-serif, arial;
	font-size: 18px;
	line-height: 18px;
	margin: 2px 0 10px 0;
	color: #ffffff;
	text-align: center;
}

.listBoxWide h3 {
	font-family: sans-serif, arial;
	font-size: 18px;
	line-height: 18px;
	margin: 2px 0 10px 20px;
	color: #ffffff;
	text-align: left;
}

.listBoxBlue h3 {

}


h4 {
	font-size: 20px;
	font-family: sans-serif;
	font-weight: normal;
	color: #1F51AE;
	letter-spacing: 1px;
	display: inline;
}

h5 {
	font-size: 24px; 
	line-height: 24px;
	font-weight: 400; 
	color: black; 
	text-transform: none; 
	font-family: 'Roboto Condensed', sans-serif; 
	letter-spacing: -1px; 
	word-spacing: 4px;
	margin: 0 0 10px 0;
}

ul {
	padding: 0;
	margin: 0;
}

li {
	padding: 0;
	margin: 0;
}

body {
	font-family: sans-serif, arial;
 	font-size: 18px;
 	background-image: url("../images/bg.png");
}

.clear {
	clear: both;
}

/* ---------- BANNER/HEADER COMPONENTS ---------- */

.bannerBG	{
	width: 100%;
	height: 90px;
	background-color: #f5f5f5;
	border-bottom: 2px solid #1F51AE;
}

.bannerRightBG {
	width: 50%;
	float: right;
	height: 90px;
	background-image: url("../images/banner_right.png");
	background-position: 0 bottom;
}

.banner {
	width: 1050px;
	height: 88px;
	background-color: #f5f5f5;
	background-image: url("../images/banner.png");
	background-repeat: no-repeat;
	background-position: 270px bottom;
	position: absolute;
	top: -90px;
	z-index: 10;
}

.placer	{
	width: 1050px;
	height: 0px;
	margin-left: auto;
	margin-right: auto;
	position: relative;	
}

.logo {
	float: left;
	margin: 18px 0 0 0;
}

/* Top Navigation Box */
.topNav {
	position: absolute;
	top: -86px;
	right: 0px;
	z-index: 11;
}

.topNav a {
    float: left;
    display: block;
    color: #1F51AE;
    font-family: Helvetica, arial;
    letter-spacing: 2px;
    font-size: 16px;
    font-weight: bold;
    margin: 0px 5px 0 5px;
    padding: 0 8px 0 8px;
    text-transform: uppercase;
}

.search {
	width: 300px;
	float: right;
	margin: -2px 0 0 7px;
}


/* Main Navigation Box */

.mainNav {
	position: absolute;
	top: -43px;
	left: 375px;
	z-index: 12;
}

.mainNav a:hover {
	color: #cdcdcd;
}

.mainNavButton {
	float: left;
	display: block;
	color: #ffffff;
	font-family: Helvetica, arial;
	letter-spacing: 2px; 
	font-weight: normal;
	font-size: 15px;
	line-height: 18px;
	margin: 0 25px 0 0;
	padding: 0 10px 0 10px;
	text-transform: uppercase;
}

/* Google Search Box */

.gsc-control-cse{ 
	padding:0 !important;
	background-color: transparent !important;
	 }
	 
.cse .gsc-control-cse, .gsc-control-cse {
	border: 0 !important;
}

input.gsc-input, .gsc-input-box, .gsc-input-box-hover, .gsc-input-box-focus {
    border-color: #1F51AE !important;
}

/* ---------- MAIN CONTENT COMPONENTS ---------- */

.mainWrap {
	width: 100%;
	margin: 0 0 0 0;
	padding: 0 0 0 0;
	background-color: white;
	background-image: url("../images/watermark2a.png");
 	background-position: center 42px;
 	background-repeat: repeat-y;
}

.mainWrap p {
	font-style: sans-serif, arial;
	font-size: 18px;
	line-height: 22px;
	letter-spacing: 1px;
}

.mainContent {
	width: 1050px;
	margin: 0 auto 0 auto;
	padding: 55px 0 40px 0;
}

.grayWrap {
	background-color: #f5f5f5; 
	border-bottom: 1px solid #5b5b5e; 
	border-top: 1px solid #5b5b5e; 
	padding: 0 0 0 0;
}

.CADBanner {
	width: 100%;
	padding: 0px 0 0px 0;
	margin: 0 0 0 0;
	background-color: #5b5b5e;
	background-image: url("../images/cad_header_white.png");
	background-position: 750px 440px;
	height: 60px;
}

.secondHeading {
	float: left;
	margin: 0 0 20px 0;
}

.right {
	float: right;
}

.left {
	float: left;
}

.rightSep {
	float: right;
	border-left: 3px solid #1F51AE;
	padding: 0 0 0 40px;
}


.services {
	margin: 20px 0 40px 0;
}

.caseMainImg {
	border-radius: 0px;
	border: 1px solid #58595b;
	float: right; 
	margin: 0px 0px 30px 30px;
}

.photoStrip img {
	border: 1px solid #58595b;
	float: left; 
	margin: 0 30px 30px 0;
}

.contactUs {
    font-family: Helvetica, arial;
    text-transform: uppercase;
    letter-spacing: 1px;
    word-spacing: 1px;
    font-size: 16px;
    line-height: 24px;
    text-align: center;
	float: right;
	background-color: #e79613;
	color: white;
	width: 150px;
	margin: 5px 0 0 0px;
	padding: 10px 10px 10px 10px;
	border-radius: 15px;
}

.firstLine {
	font-style: italic;
}
/* Social Media Box */

.socialMedia {
	float: left;
	margin: 0 0 0 0;
}

.socialMedia a {
	float: right;
	display: block;
	padding: 5px 5px 5px 5px;
	margin: 0 0 0 8px;
}



/* container for photo slider */
.indexSlider {
	width: 600px;
	float: left;
}

.faSlider {
	width: 600px;
	float: right;
}

.sSlider {
	width: 600px;
	float: right;
}



/* Icon Banner Components */

.iconBox {
	float: left;
	width: 200px;
	margin: 0px 65px 0px 5px;
	text-align: center;
}

.iconBox a {
	display: block;
	margin: 0 0 10px 0;
}

/* List Box Components */
.listBox {
	float: left;
	width: 300px;
	margin: 0px 45px 0px 5px;
	border: 1px solid #58595b;
	border-radius: 10px;
	padding: 5px 5px 10px 5px;
	background-color: #f5f5f5;
	background-image: url("../images/listBoxBG4.png");
	background-repeat: repeat-x;
	background-position: 0 -8px;
 }


.listBox ul {
	margin: 0 0 0 30px;
}

.listBox li {
	font-style: sans-serif, arial;
	font-size: 16px;
	padding: 5px 0 0 0;
}

.simpleList{
	float: left;
	margin: 0px 0px 0px 5px;
	padding: 5px 0 10px 0;
 }


.simpleList ul {
	margin: 0 0 0 50px;
}

.simpleList li {
	font-style: sans-serif, arial;
	padding: 5px 0 0 0;
}

.listBoxBlue {
	float: right;
	width: 270px;
	margin: 0px 0 15px 20px;
	color:  #1F51AE; 
	border-radius: 15px;
	padding: 5px 35px 10px 5px;
	background-color: #e1e7f0; 
	background-image: url("../images/listBoxServicesBGL.png"), url("../images/listBoxServicesBGR.png");
	background-repeat: no-repeat, no-repeat;
	background-position: top left, top right;
 }


.listBoxBlue ul {
	margin: 0 0 0 45px;
}

.listBoxBlue li {
	font-style: sans-serif, arial;
	font-size: 16px;
	padding: 5px 0 5px 0;
}


.listBoxWide {
	width: 100%;
	margin: 0px auto 30px auto;
	border: 1px solid #58595b;
	border-radius: 10px;
	padding: 5px 5px 10px 5px;
	background-color: #f5f5f5;
	background-image: url("../images/listBoxBG4.png");
	background-repeat: repeat-x;
	background-position: 0 -8px;
 }


.listBoxWide ul.leftUl {
	float: left;
	width: 300px;
	margin: 5px 0 0 30px;
}

.listBoxWide ul.rightUl {
	float: right;
	width: 300px;
	margin: 5px 30px 0 0;
}

.listBoxWide li {
	font-style: sans-serif, arial;
	font-size: 16px;
	padding: 5px 0 5px 0;
}

.badge {
	float: left;
	margin: 5px 20px 10px 15px;
}

.logoStripe {
	width: 1050px;
	margin: 20px auto 20px auto;
}

.logoBox1 {
	width: 100%;
	margin: 0 0 20px 0;
}

.logoBox1 img {
	float: left;
	margin: 0 100px 40px 0;
}

.logoBox2 {
	width: 100%;
	margin: 0 0 20px 0;
	padding: 0 0 0 100px;
}

.logoBox2 img {
	float: left;
	margin: 0 100px 40px 0;
}


/* ---------- VARIOUS MENU COMPONENTS ---------- */

.menu a {
	width: 100%;
	padding: 5px 0 5px 7px;
	margin: 3px 0 3px -3px;
	font-weight: bold;
	line-height: 19px;
	text-align: left;
	letter-spacing: 0px;
	text-decoration: none;
	text-transform: none;
	color: #428bca;		
	display: block;
	font-size: 17px;
	border-left: 3px solid transparent;
}

.menu a:hover {
		border-left: 3px solid #848484;
}

.anchor:before { 
  display: block; 
  content: " "; 
  margin-top: -100px; 
  height: 100px; 
  visibility: hidden; 
}

/* ---------- EMAIL DISPLAY COMPONENTS ---------- */

.emailDisplayBox {
	float: right;
	border: 1px solid #5b5b5e; 
	background-color: #f5f5f5; 
	padding: 40px;
	text-align: center;
	width: 300px;
	margin: 0;
}

input[type=submit] {
	outline: none;
	background-color: white;
	border: 1px solid #5b5b5e;
	color: #5b5b5e; 	
	width: 200px;
	margin: 1em 0 .5em 0;
	padding: 12px;
	font-size: 15px;
	font-weight: 400;
	cursor: pointer;
	letter-spacing: 1px;
}

input[type=submit]:hover {
	background-color: #5b5b5e; 	
	color: white;  		
	transition: 2s all;
	-webkit-transition: 2s all;
	-moz-transition: 2s all;
	-o-transition: 2s all;
}

.g-recaptcha { 
	width: 100%;
	margin: 1em 0 .5em .8em;
}

.reCaptchaMessage {
	height: 80px;
	font-size: 18px;
	line-height: 30px;
}


/* ---------- FOOTER COMPONENTS ---------- */


.footerWrap {
	width: 100%;
	height: 150px;
    margin: 20px 0 0 10px;
}

.footer {
	width: 1050px;
	margin: 0 auto 0 auto;
}

.footerLeft {
	float: left;
	text-align: left;
	color: white;
	font-size: 15px;
	letter-spacing: 1px;
}

.footerLeft a {
	float: left;
	margin: 0 0 0 15px;
	padding: 5px 5px 5px 5px;
}

.copyright {
	margin: 10px auto 15px auto;
	color: white;
	font-size: 12px;
	text-align: center;
}

/* ---------- CASE STUDY ICON COMPONENTS ---------- */

.csIcon {
	float: left;
	margin: 0 0 50px 32px;
}

.ih-item {
  position: relative;
  -webkit-transition: all 0.35s ease-in-out;
  -moz-transition: all 0.35s ease-in-out;
  transition: all 0.35s ease-in-out;
}
.ih-item,
.ih-item * {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.ih-item a {
  color: #333;
}
.ih-item a:hover {
  text-decoration: none;
}
.ih-item img {
  width: 100%;
  height: 100%;
  border: 1px solid #58595b;  /* mine */
}

.ih-item.square {
  position: relative;
  width: 308px;   /* once 316px */
  height: 216px;
  border: 0px solid #f2f2f2;  /* once 8px solid #fff */
  box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.3); /* once 1px 1px 3px */
}
.ih-item.square .info {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  text-align: center;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.ih-item.square.effect3 {
  overflow: hidden;
}
.ih-item.square.effect3.colored .info {
  background: #1a4a72;
}
.ih-item.square.effect3 .img {
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  -o-transform: translateY(0);
  transform: translateY(0);
  -webkit-transition: all 0.35s ease-in-out;
  -moz-transition: all 0.35s ease-in-out;
  transition: all 0.35s ease-in-out;
}
.ih-item.square.effect3 .info {
  height: 65px;
  background: #333333;
  opacity: 0;
  -webkit-transition: all 0.35s ease-in-out;
  -moz-transition: all 0.35s ease-in-out;
  transition: all 0.35s ease-in-out;
}
.ih-item.square.effect3 .info h3 {
  text-transform: uppercase;
  color: #fff;
  text-align: center;
  font-size: 17px;
  line-height: 17px;
  padding: 10px 10px 0 4px;
  margin: 4px 0 0 0;
}
.ih-item.square.effect3 .info p {
  font-style: normal;  /* was italic */
  font-size: 16px;    /* was 12px */
  position: relative;
  color: #bbb;
  padding: 5px;
  text-align: center;
}
.ih-item.square.effect3 a:hover .info {
  visibility: visible;
  opacity: 1;
}

.ih-item.square.effect3.bottom_to_top .info {
  top: auto;
  -webkit-transform: translateY(100%);
  -moz-transform: translateY(100%);
  -ms-transform: translateY(100%);
  -o-transform: translateY(100%);
  transform: translateY(100%);
}

/* There were once all -50px */
.ih-item.square.effect3.bottom_to_top a:hover .img {
  -webkit-transform: translateY(0px);
  -moz-transform: translateY(0px);
  -ms-transform: translateY(0px);
  -o-transform: translateY(0px);
  transform: translateY(0px);
}

.ih-item.square.effect3.bottom_to_top a:hover .info {
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  -o-transform: translateY(0);
  transform: translateY(0);
}

.ih-item.square.effect3.top_to_bottom .info {
  bottom: auto;
  -webkit-transform: translateY(-100%);
  -moz-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  -o-transform: translateY(-100%);
  transform: translateY(-100%);
}
.ih-item.square.effect3.top_to_bottom a:hover .img {
  -webkit-transform: translateY(50px);
  -moz-transform: translateY(50px);
  -ms-transform: translateY(50px);
  -o-transform: translateY(50px);
  transform: translateY(50px);
}
.ih-item.square.effect3.top_to_bottom a:hover .info {
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  -o-transform: translateY(0);
  transform: translateY(0);
}

