/* RESET 
------------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td { 
    padding: 0;  
    border: 0;  
    outline: 0;  
	margin: 0;
    background: transparent; 	
	-webkit-text-size-adjust:none;
	font-family: 'Fira Sans', sans-serif;
}

img.proj-logo

a {
	color:#8e8e8e; 
	text-decoration:none!important;
	-webkit-transition: .4s ease-in;
    -moz-transition: .2s ease-in;
    -o-transition: .2s ease-in;
    transition: .2s ease-in;
}
a:hover{color:#eb0000;}

p{
	padding:20px 0;
}



 
/* GLOBAL SITE FRAMEWORK
------------------------------------------------*/
.clear {clear: both;}
.left {text-align:left;}
.right {text-align:right;}
.none{display:none;}
.center-it{display: inline-block; text-align: center; margin: 0 auto;}

*{
	box-sizing:border-box;
}

body { 
	overflow-x: hidden;

}

.wrapper {
	width:95%;
	max-width:1300px;
	margin:0 auto;
	padding:20px;
	position:relative;
}

.no-pad-wrapper {
	width:100%;
	max-width:1300px;
	margin:0 auto;
	position:relative;
}

.sub-wrapper {
	width:95%;
	max-width:1300px;
	margin:0 auto;
	padding:50px 20px;
	position:relative;
}

.sub-wrapper h1{
	text-transform: uppercase;
	width:50%;
	font-weight: 700;
	letter-spacing: 2px;
	color:#000;
	border-bottom:10px solid #EB0000;
	padding:5px 0;
	margin:10px 0;
}

.sub-wrapper ul{
	padding-left: 50px;
}


::selection {
	color:#fff;
	background: #356088;
}
::-moz-selection {
	color:#fff;
	background: #356088;
}



/* HEADER 
----------------------------------------------*/
.header{
	width:100%;
	display:inline-block;
	text-align:right;
	margin:0 auto;
	background:#000;
	padding:0 0 10px 0;
}

.logo{
	text-align:left;
	width:20%;
	margin:0 auto;
	display:inline-block;
	vertical-align: bottom;
	padding:20px 0 0 0;
}
.logo img{
	width:250px;
	margin:0 auto;
}

.header-contact{
	width:100%;
	display: inline-block;
	margin:0 auto;
	padding:5px 20px;
	text-align: center;
	background:linear-gradient(#FF0000, #eb0000);
	color:#fff;
}
.header-contact a {
	color:#fff!important; 
	text-decoration: none;
    -webkit-transition: .4s ease-in;
    -moz-transition: .2s ease-in;
    -o-transition: .2s ease-in;
    transition: .2s ease-in;
}
.header-contact a:hover {color:#b3b3b3;}

.hc-half{
	width:49%;
	display: inline-block;
	vertical-align: middle;
	text-align: left;
	margin: 0 auto;
}
.hc-half p{padding:0; font-size: 18px;}

.hc-half:last-child{text-align: right;}

.finance-link { margin: 0 0 0 40px; }

/*search in header*/
.header-search{
	width:40%;
	display:inline-block;
	margin:0 auto;
	vertical-align:middle;
	font-size:16px;
	font-weight:700;
}

input {
	outline: none;
}
.header-search input[type="search"] {
	-webkit-appearance: textfield;
	-webkit-box-sizing: content-box;
	font-family: inherit;
	font-size: 100%;
}
input::-webkit-search-decoration,
input::-webkit-search-cancel-button {
	display: none; 
}


.header-search input[type="search"] {
	background: #eb0000 url(../siteart/search-icon.png) no-repeat!important;
	background-size:20px!important;
	background-position: left!important;
	border: none!important;
	padding: 9px 10px 9px 32px!important;
	width: auto!important;	
	-webkit-border-radius: 10em;
	-moz-border-radius: 10em;
	border-radius: 5px;
	
	-webkit-transition: all .5s;
	-moz-transition: all .5s;
	transition: all .5s;
}
.header-search input[type="search"]:focus {
	background: #fff url(../siteart/search-icon-focus.png) no-repeat!important;
	background-size:20px!important;
	background-position: left!important;
	width: auto!important;
	color:#8e8e8e;	
	border: none!important;
	-webkit-box-shadow: 0 0 5px rgba(109,207,246,.5);
	-moz-box-shadow: 0 0 5px rgba(109,207,246,.5);
	box-shadow: 0 0 5px rgba(109,207,246,.5);
}


/* Demo 2 */
#demo-2 input[type="search"] {
	width: 15px;
	padding-left: 10px;
	color: transparent;
	cursor: pointer;
}
#demo-2 input[type="search"]:hover {
	background-color: #fff;
}
#demo-2 input[type="search"]:focus {
	width: 130px;
	padding-left: 32px;
	color: #000;
	background-color: #fff;
	cursor: auto;
}
#demo-2 input:-moz-placeholder {
	color: transparent;
}
#demo-2 input::-webkit-input-placeholder {
	color: transparent;
}

/* HOME PAGE STYLES
-----------------------------------------------*/
.hero{
	width: 100%;
	position: relative;
	margin: 0 auto;
}


.slider-overlay{
	background:rgba(255, 19, 19, 0.7);
	padding:30px 60px 30px 250px;
	position: absolute;
	left:0;
	top:150px;
	text-align: left;
	color:#fff;
	width:50%;
	z-index: 10;
	box-shadow:1px 3px 3px 1px rgba(0, 0, 0, 0.40);
}

.slider-overlay h1{
	font-weight: 900;
	text-transform: uppercase;
	font-size: 3vw;
	letter-spacing: 3px;
}

.slider-overlay p{
	padding:20px 0;
	text-transform: uppercase;
	font-size: 24px;
	line-height: 1.5;
}

/*cta bar*/

.cta-bar{
	width:100%;
	display: flex;
	flex-direction: row;
	align-items: stretch;
	text-align: center;
	background:#000;
	overflow:hidden;
}

.cta{
	padding:40px 0 80px 0;
	text-align: center;
	display: flex;
	flex-direction: column;
	width:100%;
	box-shadow:inset 7px 0 4px -4px rgba(0, 0, 0, 0.3);
	transition:ease .3s;
}

.cta img{
	display: block;
	width:150px;
	padding:20px 0;
	margin: 0 auto;
	height: auto;
}

.cta h3{
	display: block;
	text-align: center;
	text-transform: uppercase;
	font-weight: 400;
	letter-spacing: 1.5px;
	font-size: 22px;
}

.cta a{color:#fff; text-decoration: none;}
.cta a:hover{color:#eaeaea; text-decoration: none;}

.red-bg{background:#EB0000;}
.gray{background:#5e5e5e;}

.black:hover{background:#282828; transition:ease .3s;}
.black:hover h3{text-shadow:2px 2px 3px #000; transition:ease .3s;}

.red-bg:hover{background:#FF3636; transition:ease .3s;}
.red-bg:hover h3{text-shadow:2px 2px 3px #9E0000; transition:ease .3s;}

.gray:hover{background:#7A7A7A; transition:ease .3s;}
.gray:hover h3{text-shadow:2px 2px 3px #404040; transition:ease .3s;}



/*mission statement*/
.mission{
	background:#fff;
	width:100%;
	padding:200px 0;
	text-align: center;
}

.mission h4{
	color:#000;
	text-transform: uppercase;
	font-weight: 500;
	font-size: 30px;
	line-height: 1.5;
}

/*about*/
.about-section{
	background:url(../siteart/about-bg.png) no-repeat;
	background-size: cover;
	background-position: center;
	padding:120px 0;
	text-align: left;
	width:100%;
}

.about-section h2{
	text-transform: uppercase;
	width:50%;
	font-weight: 700;
	letter-spacing: 2px;
	color:#000;
	border-bottom:10px solid #EB0000;
	padding:5px 0;
	margin:10px 0;
}

.about-section p{
	padding:30px 50px;font-weight: semibold;
	line-height: 22px;
}

/*Projects Pages*/
.btn-outline{
	width:30%;
	display: inline-block;
	margin: 10px;
	vertical-align: middle;
	padding:15px;
	text-align: center;
	text-decoration: none;
	border:1px solid #8e8e8e;
	color:#8e8e8e;
	text-transform: uppercase;
	font-size: 18px;
	transition:ease .3s;
}

.btn-outline:hover{background:#8e8e8e; color:#fff; transition: ease .3s;}


.project-gallery{margin-top:40px;width: 100%;}


.thumbnail{
	display:inline-block; 
	width:30%;
	margin:3px 1px;
	vertical-align:top;
	background:#000;
	transition: ease .3s;
}

.thumbnail img{width: 100%; 
	display: block; 
	opacity:.7;
	-webkit-filter: grayscale(100%);
  	filter: grayscale(100%);}

.thumbnail:hover img{
	opacity: 1; 
	transition: ease .3s;
	-webkit-filter: grayscale(0%);
	filter: grayscale(0%);
}


.black{background:#000;}

img.proj-logo {
	width: 100%;
	height: auto;
	margin: 0 auto;
	max-width: 200px;
}

/*contact page*/
.contact-info{
	width:100%;
	padding:60px 0;
	display: inline-block;
	margin: 0 auto;
	text-align: left;
	background:url(../siteart/dark-map.jpg) no-repeat;
	background-size: cover;
	background-position: center;
}

.contact-info h1{color:#fff;}

.ci-wrap{
	width:100%;
	display: inline-block;
	margin: 0 auto;
	text-align: center;
	padding:15px 0;
	background:#4c4c4c;
	color:#fff;
}

.ci-wrap p{
	width:30%;
	display: inline-block;
	vertical-align: top;
	text-align: center;
	line-height: 1.5;
}

.ci-wrap a{color:#fff; text-decoration: none;}
.ci-wrap a:hover{color:#fff; text-decoration: underline;}

.ci-wrap .fa{font-size: 22px; padding-bottom:25px;}



/* PRODUCTS PAGE */


/*  DETAILED SEARCH
------------------------------------------------*/

.prods-wrap {
	background: #fff;
	padding: 20px 0;
}

.prods-btn {
	padding:7px 25px;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	font-size: 18px;
	font-weight: normal;
	border:1px solid #000;
	color:#000;
	margin: 10px 15px 10px 0;
	transition: ease .3s;
}

.prods-btn:hover{
	color:#f1f1f1;
	background:#000;
	transition: ease .3s;
} 

.content {
	width: 100%;
	margin: 0 auto;
	padding:30px 0;
}

.detailed-form {
	margin: auto;
}
.clear {
	clear: both;
}
.detailed-row {
	margin: 10px 0 5px;
	font-size: 18px;
}
.column3 {
	width: 33.33%;
	*width: 31%: ;
	float: left;
	padding-right: 20px;
	box-sizing: border-box;
	margin-top: 5px;
}
.last {
	padding-right: 0px;
}
.prods-wrap input[type='submit'] {
	font-size: 16px;
	background: #91011A;
	width: 100%;
	margin-top: 2px;
	height: 40px;
	color: #fff;
	display: inline-block;
	border-radius: 0 !important;
	-moz-border-radius: 0 !important;
	-webkit-border-radius: 0 !important;
	outline: none;
	border: none;
	transition: all .2s ease-in-out;
	-moz-transition: all .2s ease-in-out;
	-webkit-transition: all .2s ease-in-out;
	-webkit-border-radius: 0;
	-webkit-appearance: none;
	border-radius: 0;
}
.prods-wrap input[type='submit']:hover{
	background:#fff;
	color:#91011A;
	border:1px solid #91011A;
}
.prods-wrap input[type='text'] {
	width: 100%;
	margin: 2px 0;
	padding: 0 8px;
	font-size: 15px;
	height: 40px;
	background-color: #f9f9f9;
	border: 1px solid #bebebe;
	box-sizing: border-box;
	-webkit-border-radius: 0;
	border-radius: 0;
}

.prods-wrap h3 span {
	color: #d7d7d7;
}

.prods-wrap main {
  width:100%;
  padding: 50px;
  margin: 0 auto;
}

.prods-wrap section {
  display: none;
  padding: 20px 0 0;
  border-top: 1px solid #ddd;
}

.prods-wrap label {
  display: inline-block;
  margin: 0 0 -1px;
  padding: 15px 25px;
  font-weight: 600;
  text-align: center;
  color: #bbb;
  border: 1px solid transparent;
}



.prods-wrap label:hover {
  color: #888;
  cursor: pointer;
}

.prods-wrap input:checked + label {
  color: #555;
  border: 1px solid #ddd;
  border-top: 2px solid #eb0000;
  border-bottom: 1px solid #f1f1f1;
	background: #f1f1f1;
}

#tab1:checked ~ #content1,
#tab2:checked ~ #content2,
#tab3:checked ~ #content3,
#tab4:checked ~ #content4, 
#tab5:checked ~ #content5, 
#tab6:checked ~ #content6 {
	display: block;
	padding:60px 20px;
	background:#f1f1f1;
	border-left: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	border-right: 1px solid #ddd;
}

@media screen and (max-width: 650px) {

  .prods-wrap label:before {
    margin: 0;
    font-size: 18px;
  }
}

@media screen and (max-width: 400px) {
 .prods-wrap label {
    padding: 15px;
  }
}



.proj-img{
	width: 100%;
	max-width: 600px;
	padding: 20px 0;
}



/* FOOTER
------------------------------*/
.footer{
	width:100%;
	color:#fff;
	text-align:center;
	background:#000;
	padding: 5px 0 10px 0;
}

.footer a{
	color:#fff!important;
	text-decoration:none;
}

.footer a:hover{
	color:#b3b3b3;
	text-decoration:underline;
}

.foot-contact-bar{
	background:linear-gradient(#FF0000, #eb0000);
	width:100%;
	display: inline-block;
	margin: 0 auto;
	text-align: center;
	padding:0;
}

.foot-contact-bar h4{
	text-transform: uppercase;
	font-size:20px;
	letter-spacing: 2px;
	padding:12px 40px;
	display: inline-block;
	vertical-align: middle;
	background: #000;
	font-weight: 500;
	box-sizing: border-box;
}

.foot-contact-bar p{
	display: inline-block;
	padding:12px 25px;
	vertical-align: middle;
	margin: 0 auto;
	font-size: 16px;
}

.foot-contact-bar .fa{font-size: 20px; padding-right:7px;}


.legal{
	width:100%;
	display: inline-block;
	margin: 0 auto;
	text-align: left;
	margin-top:30px;
}

.legal p{
	display: inline-block;
	width:49%;
	vertical-align: middle;
	margin: 0 auto;
	font-size: 12px;
	padding: 0;
}

.legal p:last-child{text-align: right;}



@media screen and (max-width:1780px){
	.slider-overlay{padding:30px 60px 30px 160px;}
	.slider-overlay h1{font-size:2.5vw;}
	.slider-overlay p{font-size: 20px;}
}

@media screen and (max-width:1300px){
	.slider-overlay{width:70%;}	
}

@media screen and (max-width:1270px){
	.logo{padding:15px 0; width:100%;}
	.finance-link{display:none;}
	.mission{padding:130px 30px;}
	.mission h4{font-size:20px;}
}

@media screen and (max-width:1100px){
	.slider-overlay{top:70px;}
	.slider-overlay h1{font-size: 28px;}
}

@media screen and (max-width:1000px){
	.slider-overlay{width:100%; padding:30px 60px 30px 100px;}
}

@media screen and (max-width:950px){
	.hc-half:first-child{width:70%}
	.hc-half:last-child{width:28%;}
	.header-search{width:100%;}
	
	.about-section{padding:60px 0;}
	.about-section h2{width:70%}
	
	.sub-wrapper h1{font-size: 22px !important;}
	
	.btn-outline{width:46%;}
	
	.prods-wrap label{padding:15px;font-size: 14px;}
	
	.foot-contact-bar p{padding:12px 15px;}
}

@media screen and (max-width:800px){
	.slider-overlay{display: none;}	
	
	.cta img{width:110px;}
	.cta h3{font-size: 14px;}
	
	.prods-btn{display: block; margin: 10px 0;}
	
	.foot-contact-bar h4{width: 100%;}
	.foot-contact-bar p{display: block;}
}

@media screen and (max-width:750px){
	.prods-wrap label{width:100%; background:#cacaca;color:#f7f7f7; text-align: left;}
	
}

@media screen and (max-width:670px){
	.logo{text-align: center;}
	.hc-half:first-child{width:100%; text-align: center;}
	.hc-half:last-child{width:100%;}
	.header-search{width:100%; text-align: center;}
	.header-search form{width:100%;}
	
	.cta-bar{display: block;}
	.cta{display: block; padding:40px 0;}
	.cta img{display: inline-block; vertical-align: middle;}
	.cta h3{width:60%; text-align: left; font-size: 24px; display: inline-block; vertical-align: middle; padding-left:20px;}
	
	.mission{padding:70px 30px;}
	.mission h4{letter-spacing: 0; font-size: 18px;}
	
	.about-section h2{width:90%; font-size: 20px;}
	
	.sub-wrapper h1{width:100%;}
	
	.btn-outline{margin: 5px; padding:15px 0;}
	
	.ci-wrap p{width:100%;}
	.ci-wrap .fa{padding-bottom:20px;}
}

@media screen and (max-width:500px){
	.about-section p{padding:20px 40px;}
	
	.btn-outline{width:98%;}
	
	.legal p{width:100%; text-align: center;}	
	.legal p:last-child{text-align: center;}
}

@media screen and (max-width:450px){
	.cta h3{font-size: 22px;}
	
	.mission{padding:40px 20px;}
	
	.about-section{padding:30px 0;}
	.about-section h2{width:100%;}
	.about-section p{padding:20px;}
	
	.hc-half p {font-size: 11.5px;}
}