/******************************/
/*******general styles*********/
/******************************/

/*micro clearfix*/
.cf:before, .cf:after {
	content: " "; /* 1 */
	display: table; /* 2 */
}
.cf:after {
	clear: both;
}
/**
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */
.cf {
 *zoom: 1;
}
/*end-micro clearfix*/

/*natural box layout model*/
*, *:before, *:after {
  -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
 }
/*end natural box layout model*/

body, html {
	margin: 0;
	padding: 0;
	font-family: Helvetica, Arial, sans-serif;
	background:#242426;
}

a img {
	border:none;	
}

#siteContainer {
	margin:0;
}

#siteContent {
	background:#fff;	
}

.wrap {
	margin: 0 auto 0 auto;
	padding: 0;
	max-width: 1024px;
	overflow:auto;
}

img:not(.noRespond) {
	width:100%;	
}

/******************************/
/**********head styles*********/
/******************************/

header {
	overflow:auto;
}
#siteLogo {
	float:left;
/*	margin:1em 0;*/
	margin:0;
}
#mainNav {
	margin-top:0;
	margin-bottom:0;
}
#navBtn {
	background: #0f2b54;
	color: #fff;
	border-radius: 6px;
	margin:0.5em;
	float:right;
	line-height:1;
	padding:0.5em;
	font-size:1.10em;
	border:solid #f1d538 2px;
}

/******************************/
/********heading styles********/
/******************************/

h1 {
	font-size:2em;
	margin:0.5em 0;	
}

h2 {
	font-size:1.5em;
	margin:0.75em 0;
}

h3 {
	font-size:1.25em;
	margin:0.8em 0;
}

h4, h5, h6 {
	font-size:1em;
	margin:1em 0;
}

h1, h2, h3, h4, h5, h6 {
	font-weight:bold;
} 
.grid h1 {
	margin-top:0;	
}
.mainText h2 {
	color:#2d84b6;	
}
/******************************/
/**********link styles*********/
/******************************/
a:link {
	color:#081b45;
}
a:visited {
	color:#081b45;
}
a:hover {
	color:#f1d433;
}
a:active {
	color:#081b45;
}

a.btn {
	display: inline-block; 
	text-align: center; 
	line-height: 1.2em;   
	font-size:1.5em; 
	font-weight:bold; 
	background: #081b45;
	color:#fff;
	padding:0.25em 0.5em; 
	text-decoration: none; 
	border-radius: 0.25em;	
}
a.btn:hover {
	background:#f1d433;
	text-shadow:1px 1px 2px rgba(0,0,0,.75);	
}

.returnLink {
	font-size:1.25em;
	font-weight:bold;	
	text-align:center;
	border-top: 3px dotted #999;
	padding-top:2em;
	margin-bottom:2em;	
}

/******************************/
/**********list styles*********/
/******************************/
ul, ol {
	margin:1em 0;
	padding:0;
}
ul li {
	margin:0.5em 0 0.5em 1em;
	padding:0;
}
ol li {
	margin:0.5em 0 0.5em 1.5em;
	padding:0;	
}
/******************************/
/*********color styles*********/
/******************************/
.black {color:#000;}
.blackBG {background-color:#000;}
.grey {color:#ccc;}
.greyBG {background-color:#ccc;}
.white {color:#fff;}
.whiteBG {background-color:#fff;}
.tBYellow {color:#f0d32c;}
.tBYellowBG {background-color:#f0d32c;}
.tBBlue {color:#0f2b54;}
.tBBlueBG {background-color:#0f2b54;}
.tBLightBlue {color:#2d84b6;}
.gradient
{
	background: -webkit-linear-gradient(#000,#555,#000); /* For Safari 5.1 to 6.0 */
	background: -o-linear-gradient(#000,#555,#000); /* For Opera 11.1 to 12.0 */
	background: linear-gradient(#000,#555,#000); /* Standard syntax */
} 


/******************************/
/***********box styles*********/
/******************************/

.padded {
	padding:1.5em;	
}

.padded > :first-child {
	margin-top:0;
}

.padded > :last-child {
	margin-bottom:0;	
}

.bordered {
	border:1px solid #000;	
}

.shadowed {
	box-shadow:0px 0px 0.25em #777;
	margin:0.25em;	
}

/******************************/
/*******paragraph styles*******/
/******************************/

p {
	line-height:1.4;	
}

p:first-child {
	margin-top:0;	
}
/******************************/
/*******separator styles*******/
/******************************/

hr.separator {
	border-width:1px 0 0 0;
	border-style:solid;
	border-color:#ccc;
	margin:2em 0;
}

/******************************/
/*********align styles*********/
/******************************/

.center {
	text-align: center;
}
.right {
	text-align: right;	
}
.left {
	text-align: left;	
}
.justify {
	text-align:justify;	
}

/******************************/
/*********float styles*********/
/******************************/

.floatLeft {
	float:left !important;	
}
.floatRight {
	float:right !important;	
}
.top {
	margin-top:0 !important;	
}
.bottom {
	margin-bottom:0 !important;	
}

/******************************/
/********figure styles*********/
/******************************/

figure {
	padding:0;
	margin:1em 0;
}

figure img {
	display:block;
}

figure.frame {
	padding:0.35em !important;
	border:solid #aaa 1px;
	background:#f9f9f9;
}

figcaption {
	text-align:center;
	font-size:0.75em;
	padding:0.25em;
	display:block;	
}

figure.frame figcaption {
	padding-top:0.6em;	
}

/******************************/
/********Gallery styles********/
/******************************/

.imageGallery {
	overflow: auto;
	margin:1em 0;
}
.imageThumb {
	width: 16.25%;
	margin: 0 0 0.5% 0.5%;
	float: left;
}
.imageThumb img {
	display: block;
}
.imageThumb a {
	border: 1px solid #ccc;
	padding: 2px;
	display: block;
}

/******************************/
/*********table styles*********/
/******************************/

table {
	width:100%;
	border-collapse:collapse;
}

tr:nth-of-type(even) {
	background:#eee;
}

th {
	background:#eee;
}
td,th {
	padding:0.5em;
	border:1px solid #ccc;
}

/******************************/
/********Splash styles*********/
/******************************/

.engineeringDivision, .manufacturingDivision {
	width:48.25%;
	float:left;
	margin: 3.5% 0 3.5% 3.5%;	
}
.engineeringDivision {
	margin-left:0 !important;
}
figure.splash figcaption {
	font-weight:bold;
	font-size:1.5em;
	background:#fff;	
}
figure.splash figcaption a {
	text-decoration:none !important;	
}

figure.splash {
	background:#081b45;	
}

figure.splash a img {
	-webkit-transition: all 0.35s ease;
	-moz-transition: all 0.35s ease;
	-o-transition: all 0.35s ease;
	-ms-transition: all 0.35s ease;
	transition: all 0.35s ease;
	padding:0;
}
figure.splash a:hover img {
	padding:0.5em;
	opacity: 0.85;
	filter: alpha(opacity=85); /* For IE8 and earlier */
}




/******************************/
/*********Home styles**********/
/******************************/

.mainSlider figure {
	margin:0 !important;	
	width:100%;
}

.mainSlider .slide {
	position:relative;
	width:100%;	
}

.mainSlider .overlayHeading {
	font-weight:bold;	
	background-color:rgb(0,0,0);
	background-color:rgba(0,0,0,0.5);
	color:#fff;
	padding:0.5em 1em;
	display:inline-block;
}

.mainSlider p.overlayHeading, .mainSlider p.overlayText {
	margin:0;	
}

.mainSlider .slideText {
	background-color:rgb(0,0,0);
	background-color:rgba(0,0,0,0.5);
	color:#fff;
	padding:0.5em 1em;
	display:inline-block;
	margin:1em 0 0 0;
}

.slideContent {
	position:absolute;
	top:50%;
	transform: translateY(-50%);	
	width:100%;	
}

.slide {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.slide a {
	display:block;	
}

#newsSidebar .newsBlock {
	margin:2em 0 2em;
	font-size:0.85em;
	line-height:1.4;
}

#newsSidebar div:first-of-type {
	margin-top:0;
}

#newsSidebar div:last-of-type {
	margin-bottom:0;
}

#newsSidebar h2 {
	margin:0 0 1em 0;	
}
.homeIntroText {
      background:#f5f5f5;
}
.sliderWrap {
	margin: 2em 0;
	padding: 0 2em;
	width: 100%;
	
}
.slick-slide {
	padding:0 0.75%;		
}
.serviceIcon figcaption a {
	text-decoration:none;	
}
.serviceIcon figcaption {
	padding-bottom:0 !important;	
}

.serviceIcon a img {
	-webkit-transition: all 0.35s ease;
	-moz-transition: all 0.35s ease;
	-o-transition: all 0.35s ease;
	-ms-transition: all 0.35s ease;
	transition: all 0.35s ease;
	padding:0.25em;
}
.serviceIcon a:hover img {
	padding:0;
}
.serviceIcon figcaption h3 {
	margin-bottom:0 !important;	
}
.anniversaryText {
      padding:1em 1em;
}
.anniversaryText p {
      font-weight:bold;
      font-size:1.75em;
      text-align: center;
      margin:0;
      text-shadow:1px 1px 2px rgba(0,0,0,.75);	
}
/******************************/
/********clients styles********/
/******************************/

.clients .grid:nth-of-type(3n+1) {
	margin-left:0 !important;	
}

/******************************/
/*******services styles********/
/******************************/

h2.serviceHeading a {
	text-decoration:none;	
	color:inherit;
}

/******************************/
/**********news styles*********/
/******************************/

h2.news a {
	color:#2d84b6;
	text-decoration:none;	
}
/******************************/
/********contact styles********/
/******************************/

.contactEmails.manufacturingContacts .grid:nth-of-type(2n+1) {
	margin-left:0 !important;
}
.contactEmails.engineeringContacts .grid:nth-of-type(3n+1) {
	margin-left:0 !important;
}

/******************************/
/********footer styles*********/
/******************************/

#footerContent {
	margin:0 auto;
	text-align:center;
	font-size:0.75em;
	padding:0.5em 0;	
}

/******************************/
/*********Grid styles**********/
/******************************/

.gridContainer {
	width: 100%;
	overflow: auto;
}
.grid {
	float: left;
	overflow: auto;
	margin: 3.5% 0 3.5% 3.5%;
}
.gridContainer + .gridContainer > .grid {
	margin-top:0 !important;	
}
/*
[class*="grid"]:first-child {
	margin-left: 0 !important;
	clear: left;
}
*/
.grid:nth-of-type(1) {
	margin-left: 0 !important;
	clear: left;
}
.grid.first {
	/*Use this option if browsers that don't support nth-of-type pseudo class are important*/
	margin-left: 0 !important;
	clear: left;
}
.grid.one {
	width: 5.125%;
}
.grid.two {
	width: 13.75%;
}
.grid.three {
	width: 22.375%;
}
.grid.four {
	width: 31%;
}
.grid.five {
	width: 39.625%;
}
.grid.six {
	width: 48.25%;
}
.grid.seven {
	width: 56.875%;
}
.grid.eight {
	width: 65.5%;
}
.grid.nine {
	width: 74.125%;
}
.grid.ten {
	width: 82.75%;
}
.grid.eleven {
	width: 91.375%;
}
.grid.twelve {
	width: 100%;
}
.grid figure {
	margin: 0;
	padding: 0;
}

/******************************/
/********Media queries*********/
/******************************/
@media (min-width: 1025px) {
.slide, .slide a {
	height: 440px;
}
.sliderHeading {
	font-size: 2em;
}
}
@media (min-width: 769px) {
#logo img {
	display:block;
}

header {
	border-color:#081b45;
	border-width:0 0 6px 0;
	border-style:solid;	
	overflow: visible;
	position: fixed;
	top: 0;
	z-index: 1000;
	width:100%;
}

.jsEnabled #nav {
	display: block;
}
#navBtn {
	display: none;
}

/*single-level drop-down styles*/
#mainNav {
	margin:1em 0 0 0;
	float:right;	
}
.navWrap {
	margin: 0 auto;
	max-width: 1024px;
}
#nav, #nav ul {
	padding: 0;
	margin: 0;
	list-style: none;
	line-height: 1.5em;
}
#nav ul li {
	margin:0 !important;
	padding:0 !important;
}
#nav a {
	display: block;
	/*	width: 7.5em;*/
	text-align: center;
	color: #565656;
	text-decoration: none;
	padding: 0 1.5em;
	border-width: 0 0 0 0;
	border-style: solid;
	border-color: #2b8004 #2b8004 #2b8004 #2b8004;
	padding: 0.25em 1.25em;
	text-decoration: none;
	text-transform:uppercase;
}
#nav a:hover {
	color:#f1d433;	
}
#nav > li > ul {
	font-size:0.75em;	
}
#nav ul a {
	width: 18em;
	background: #333;
	padding: 0.5em;
	border-color: #ccc;
	border-width: 0 0 0.0625em 0;
	border-style: solid;
	color:#fff;
}
#nav ul li:last-of-type a {
	border-width:0;
}
#nav ul a:hover {
	background: #2c8204;
}
#nav a.top_parent {
	position: relative;
}
#nav a.top_parent:after {
	position: absolute;
	right: 0.5em;
	font-family: 'FontAwesome';
	content: "\f0d7";
}
#nav a.parent {
	position: relative;
}
#nav a.parent:after {
	position: absolute;
	right: 0.5em;
	font-family: 'FontAwesome';
	content: '\f0da';
}
#nav li {
	float: left;
}
#nav li ul {
	position: absolute;
	width: 18em;
	left: -999em;
	padding-top: 0.5em;
}
#nav li:hover ul {
	left: inherit;
}
/*multi-level drop-down styles*/

#nav li ul ul {
	/*margin-top must equal line-height set for #nav, #nav ul*/
	margin: -3.0625em 0 0 18em;
	padding-left: 0.5em;
}
#nav li ul ul a {
	background: #000;
}
#nav li:hover ul ul {
	left: -999em;
}
#nav li li:hover ul {
	left: auto;
}

.imageThumb:nth-child(6n+1) {
	margin-left: 0!important;
}
}
@media (min-width: 897px) and (max-width:1024px) {
#nav a {
	padding:0.25em 0.5em;	
}
}
@media (min-width: 769px) and (max-width:896px) {
#nav a {
	padding:0.25em 0;	
}
}
@media (min-width: 769px) and (max-width:1024px) {
/*Tablet styles*/
#siteContainer {
	margin-top: 0em;
	margin-bottom: 0em;	
}
.wrap {
	margin-left: 1em;
	margin-right: 1em;
}
.slide, .slide a {
	min-height: 400px;
}
.sliderHeading {
	font-size: 1.75em;
}
}
@media only screen and (max-width:768px) {
.jsEnabled #nav {
	display: none;
}
header, #siteContent, footer {
	padding:0 1em;	
}
header {
	border-color:#081b45;
	border-width:0 0 6px 0;
	border-style:solid;	
}
#navBtn i {
	font-size:1.3125em !important;
}
#mainNav {
	width: 100%;
	clear: both;
	
}
#nav {
	padding: 0;
	margin: 0;
	list-style: none;
	line-height: 1.5em;
	background:#081b45;
}
ul#nav li {
	border-top: #ccc 1px solid;
	margin: 0;
}
ul#nav li a {
	display:block;
	color:#fff;
	font-weight:bold;
	text-decoration:none;
	padding:1em;
}
table, thead, tbody, th, td, tr {
	display:block;
}
thead tr {
	position:absolute;
	top:-99999em;
	left:-99999em;
}
tr {
	border-width:1px 1px 0px 1px;
	border-color:#333;
	border-style:solid;
}
tr:last-of-type {
	border-width:1px;
}
td {
	border-width:0px 0px 1px 0px;
	position:relative;
	padding-left:30%;	
}
td:before {
	position:absolute;
	top:0.5em;
	left:3.5%;
	width:25%;
	padding-right:1.5%;
	white-space:nowrap;	
	font-weight:bold;
}
table.upcomingEvents td,th {
	width:100%;
}
.slideContent {
	padding-left:1em;
	padding-right:1em;	
}
#newsSidebar {
	margin-bottom:2em;	
}
.homeIntroText {
      padding:0 1em;
}
}
@media only screen and (min-width:481px) and (max-width:768px) {
/*Tablet styles*/
.grid + .grid:not(.noExpand) {
	margin-top:0 !important;	
}
.grid:not(.noExpand) {
	/*Add the noExpand class to grid elements that shouldn't expand to 100%. This is primarily for nested grids.*/
	width: 100% !important;
	margin-left: 0 !important;
}
.grid p {
	text-align:justify;	
}
.imageThumb {
	width: 24.25%;
	margin: 0 0 1% 1%;
	float: left;
}
.imageThumb:nth-child(4n+1) {
	margin-left: 0!important;
}
.slide, .slide a {
	min-height: 300px;
}
.sliderHeading {
	font-size: 1.5em;
}
}
@media only screen and (max-width:480px) {
/*phone styles*/
.grid + .grid {
	margin-top:0 !important;	
}
.grid {
	width: 100% !important;
	margin-left: 0 !important;
}
.imageThumb {
	width: 32.5%;
	margin: 0 0 1.25% 1.25%;
	float: left;
}
.imageThumb:nth-child(3n+1) {
	margin-left: 0!important;
}
.slide, .slide a {
	min-height: 240px;
}
.slideText p {
	font-size:0.85em;	
}
.slick-slide {
	padding:0 2.5%;		
}
.engineeringDivision, .manufacturingDivision {
	width:100%;
	margin: 3.5% 0;	
}
}


