body {
	background: #FFF;
	margin: 0;
	padding: 0;
	font-family: 'Montserrat', Arial, sans-serif;
	-webkit-text-size-adjust: 100%;
}
.clear:after {
	content: "."; 
	display: block; 
	height: 0; 
	clear: both; 
	visibility: hidden;
}
.clear {
	clear: both;
	visibility: hidden; 
	height: 0;
}
.divider {
	padding: 20px 0;	
}
.small {
	font-size: 11px;
}
a {
	color: #e4011c		
}
a:hover {
	color: #333		
}
.nopad { padding: 0; margin: 0; }

.red { background-color: #df1a2e; }
.blue { background-color: #055d9a }
.orange { background-color: #ed730a }
.lightblue { background-color: #1d8acb }
.darkblue { background-color: #02407a }


/*  HEADER  ----------------------------------------------------------------------------------------------- */
#header {
	padding: 20px 0;
	overflow: hidden;
	color: #df1a2e;
	font-size: 1.5em;
}
#header .slogan {
	padding-top: 110px;
}
#header .logo {
    padding-top: 20px;
    margin: 0 auto;
}
#header .social {
    text-align: right
}
#header .contactnumber {
    text-align: right;
    padding-top: 66px
}
/*  MENU  ----------------------------------------------------------------------------------------------- */
.menucontainer {
	background-color: #df1a2e;
	overflow: hidden;
}
.quote { float: right; padding: 10px 0; text-transform: uppercase; color: #FFF; text-align: right; font-size: 1.8em; font-weight: bold }
.menu {
	float: left;
}
.menucontainer .col-sm-9 { margin: 0; padding: 0 }
.menu ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}
.menu ul li {
	float: left;
	margin: 0;
	font-size: 1.2em;
}
.menu ul li.last {
	margin: 0;
}
.menu ul li a:link, .menu ul li a:active, .menu ul li a:visited {
	text-decoration: none;
	color: #FFF;
	display: block;
	padding: 16px 37px;
	font-weight: 300;
}
.menu ul li a:hover {
	background: #055d9a;
}

body.home .menu ul li a.home,
body.servicescontent .menu ul li a.servicescontent,
body.projects .menu ul li a.projects,
body.contact .menu ul li a.contact { background: #055d9a; color: #FFF; }

/*  FEATURE  ----------------------------------------------------------------------------------------------- */
.hero {
  color:#fff;
  text-align:center;
  background:#657d8e url('../images/boilerhome.jpg');
  background-size:cover;
  background-position:center;
  padding-top:50px;
  padding-bottom:0;
}
.hero .container {
  position: relative;
  padding:0;
}
.hero-title {
  padding-bottom: 40px;
  font-weight:bold;
  font-size: 4em;
  width: 50%;
  text-align: left;
  border-bottom: 5px solid #FFF
}
.hero-subtitle{
  padding:30px 0 80px 0;
  font-weight:bold;
  text-align: left;
  font-size: 2.6em;
  color: #FFF
}
.hero-subtitle a {
  color:#fff;
}
.herocontainer {
  height: auto;
}
.herocontainer .btn {
  color:#fff;
  text-align:center;
  background: #ed730a;
  position: absolute;
  bottom: 0;
  left: 0;
  border: 0;
  border-radius: 0;
}


/*  CONTAINER  ----------------------------------------------------------------------------------------------- */
.content {
  background: url('../images/contenttop.jpg') top center no-repeat;
  padding-top: 17px
}
.homeslogan {
  	margin: 0 0 55px 0;
	padding-top: 60px;
	padding-bottom: 60px;
	overflow: hidden;
	background-color: #055d9a;
}
.homeslogan h2 {
	text-align: center;
	font-size: 2.5em;
	line-height: 1.3em;
	color: #FFF;
}

h3 {
	color: #df1a2e;
	display: block;
	padding-bottom: 10px;
	border-bottom: 3px solid #df1a2e;
	font-size: 2em;
	line-height: 1.8em;
	margin-bottom: 30px
}
.noborder h3 {
	color: #df1a2e;
	display: block;
	padding-bottom: 0;
	border-bottom: none;
	font-size: 2em;
	line-height: 1.8em;
	margin-bottom: 0
}
p {
	color: #6d6e71;
	font-size: 1.2em;
	line-height: 2em;
	padding-bottom: 16px;
	margin-bottom: 0px;
	font-weight: 300;
}

.services {
	padding-bottom: 40px
}
.services .box {
	display: block;
	text-align: center;
	font-size: 1.7em;
	color: #FFF;
	padding: 20px 46px
}
.services .box .btn {
	border-radius: 0;
	border: 1px solid #FFF;
	background: none;
	text-align: center;
	color: #FFF;
	font-weight: 300;
	font-size: .5em;
	font-family: 'Montserrat';
	padding: 10px;
	margin-top: 15px 
}
.services .box .btn:hover {
	border: 1px solid #FFF;
	background: #FFF;
	color: #222
}

.servicesother { margin-top: 20px }

#servicesaccordian
{
    margin-bottom: 4px;
    background: #ededed;
    padding: 10px;
}
.panel-heading
{
    border: none !important;
    border-radius: 0 !important;
    background: #02407a !important;
    padding: 18px !important;
	font-size: 1.3em !important;
	overflow: hidden !important;
	color: #FFF
}
.panel-heading:hover
{
    background: #ed730a !important;
}
.panel { border: none; }
.panel-body { background-color: #efefef; padding: 18px; font-size: .9em; border-top: none !important; }
.panel-heading a 
{
	color: #FFF;
	text-decoration: none;
}
.panel-heading a:after {
    font-family: 'fontawesome';
    content: "\f07d";
    float: right;
    color: #FFF;
}
.panel-heading {
    cursor: pointer;
    cursor: hand;
}

a:focus
{
    outline:none;
}

.filter-button
{
    font-size: 1em;
    border: 1px solid #02407a;
    border-radius: 0;
    text-align: center;
    color: #02407a !important;
    margin-bottom: 20px;
    text-shadow: none;
    background-color: #FFF
}
.filter-button:hover
{
    border: 1px solid #02407a;
    border-radius: 0;
    text-align: center;
    color: #ffffff;
    background: #02407a;
    overflow: hidden;
}
.btn-default:active .filter-button:active
{
    border: 1px solid #02407a;
    border-radius: 0;
    text-align: center;
    color: #ffffff;
    background: #02407a;
    overflow: hidden;
}
.btn-default
{
    background: white !important;
}
.port-image
{
    width: 100%;
}

.gallery_product
{
    margin-bottom: 30px;
}


.subfooter {
	background-color: #df1a2e;
	padding-top: 60px;
	padding-bottom: 60px;
	color: #FFF;
	position: relative;
}
.subfooter h4 {
	color: #FFF;
	padding-bottom: 10px;
	font-size: 2em;
	line-height: 1.8em;
	font-weight: bold
}
.subfooter p {
	color: #FFF;
	padding-bottom: 10px;
	font-size: 1.5em;
	line-height: 1.8em;
	font-weight: 300	
}
.subfooter p span {
	color: #FFF;
	padding-bottom: 10px;
	font-size: 1.5em;
	line-height: 1.8em;
	font-weight: bold	
}
.subfooter a {
	color: #FFF;
	text-decoration: underline;
	z-index: 9999;
}
.subfooter .key {
	position: absolute;
	top: -20px;
	right: 0;
}


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

.footer {
	padding-top: 58px;
	padding-bottom: 38px;
	overflow: hidden;
	font-size: .9em;
	line-height: 1.8em;
	color: #6d6e71;
}
.footer .contact {
	padding-top: 14px;
}
.footer span {
	color: #df1a2e;
}
.footer .alignleft {
	float: left;
	padding: 0;
	margin: 0;
}
.footer .alignright {
	float: right;
	text-align: right;
}
.footer a:link, .footer a:active, .footer a:visited {
	color: #df1a2e;
	text-decoration: none;
}
.footer a:hover {
	color: #000;
	text-decoration: underline;
}

.footer .right {
	text-align: center
}
.footer .left {
	text-align: center
}


/* Custom, iPhone Retina */ 
@media only screen and (max-width : 320px) {
	.services {
		overflow: hidden;
	}
}
/* Custom, iPhone Retina */ 
@media only screen and (max-width : 321px) {
	.services .box h4 {
		font-size: .7em !important;
	}
	.menu ul li a:link, .menu ul li a:active, .menu ul li a:visited { font-size: .8em !important ; padding-left: 10px !important ; padding-right: 10px !important ; }
	.hero-subtitle {
	  font-size: 2.1em !important;
	  line-height: 1.2em;
	}
}

/* Extra Small Devices, Phones */ 
@media only screen and (max-width : 480px) {

	.services {
		display: block;
		overflow: hidden;
	}
	.services .box h4 {
		font-size: .9em;
	}



}

/* Small Devices, Tablets */
@media only screen and (max-width : 768px) {
	#header .contactnumber {
	    text-align: center;
	    padding-top: 28px;
	}
	.social { display: none }
	p { font-size: 1em }

	h3. .noborder h3 { font-size: 1em }

}

/* Medium Devices, Desktops */
@media only screen and (max-width : 992px) {

	.menu { float: none; margin: 0 auto; display: inline-block; text-align: center; padding-top: 0; padding-bottom: 0;  }
	.menu ul { display: inline-block; margin: 0 auto; float: none }


	.menu ul li a:link, .menu ul li a:active, .menu ul li a:visited { font-size: .9em; padding-left: 15px; padding-right: 15px; }

	.quote { text-align: center; }

	.hero { background-image: none }
	
	.hero-title {
	  padding-bottom: 40px;
	  font-weight:bold;
	  font-size: 2em;
	  width: 95%;
	  text-align: center;
	  border-bottom: 5px solid #FFF;
	  margin: 0 auto
	}
	.hero-subtitle {
	  padding:20px 0 20px 0;
	  font-weight:bold;
	  text-align: center;
	  font-size: 2.7em;
	  line-height: 1.2em;
	  color: #FFF;
	  width: 90%;
	  margin: 0 auto
	}
	.herocontainer .btn  {
	  position: relative;
	}

	.homeslogan {
		padding-top: 40px;
		padding-bottom: 40px;
		margin-bottom: 20px;
	}
	.homeslogan h2 {
		font-size: 1.7em;
	}

	.services {
		padding-bottom: 40px;
		margin-top: 20px
	}
	.services .box {
		display: block;
		text-align: center;
		font-size: 1.1em;
		color: #FFF;
		padding: 20px 24px
	}
	.services .box .btn {
		border-radius: 0;
		border: 1px solid #FFF;
		background: none;
		text-align: center;
		color: #FFF;
		font-weight: 300;
		font-size: .5em;
		font-family: 'Montserrat';
		padding: 10px;
		margin-top: 15px 
	}
	.services .box .btn:hover {
		border: 1px solid #FFF;
		background: #FFF;
		color: #222
	}
	
	h3, .noborder h3 { font-size: 1.5em }



	.subfooter {
		padding-top: 20px;
		padding-bottom: 20px;
		text-align: center;
	}
	.subfooter h4 {
		padding-bottom: 10px;
		font-size: 1.4em;
	}
	.subfooter p {
		font-size: 1.1em;
		line-height: 1.8em;	
	}
	.subfooter p span {
		padding-bottom: 10px;
		font-size: 1.4em;
	}
	.footer {
		padding-top: 28px;
		padding-bottom: 28px;
		font-size: .8em;
		text-align: center;
	}
	.footer .contact {
		padding-top: 14px;
	}
	.footer span {
		color: #df1a2e;
	}
	.footer .alignleft {
		float: left;
		padding: 0;
		margin: 0;
	}
	.footer .alignright {
		float: right;
		text-align: right;
	}
	.footer a:link, .footer a:active, .footer a:visited {
		color: #df1a2e;
		text-decoration: none;
	}
	.footer a:hover {
		color: #000;
		text-decoration: underline;
	}

	.footer .right {
		text-align: center
	}
	.footer .left {
		text-align: center
	}



}

/* Large Devices, Wide Screens */
@media only screen and (min-width : 992px) and (max-width : 1200px) {

	h3, .noborder h3 { font-size: 1.5em }
	.services {
		padding-bottom: 40px
	}
	.services .box {
		display: block;
		text-align: center;
		font-size: 1.4em;
		color: #FFF;
		padding: 20px 30px
	}
	.services .box .btn {
		border-radius: 0;
		border: 1px solid #FFF;
		background: none;
		text-align: center;
		color: #FFF;
		font-weight: 300;
		font-size: .5em;
		font-family: 'Montserrat';
		padding: 10px;
		margin-top: 15px 
	}
	.services .box .btn:hover {
		border: 1px solid #FFF;
		background: #FFF;
		color: #222
	}
    
}