/*
Theme Name: OConnell
Theme URI: http://www.oconnellelectric.com
Author: Mason Digital
Author URI: http://www.masondigital.com/
Description: BlankSlate
Version: 1.0.0
License: GNU General Public License
License URI: https://www.gnu.org/licenses/gpl.html
Text Domain: blankslate
*/

/* GLOBAL
*********************************************/


body{
    overflow-x:hidden;
}

@media screen and (max-width: 782px){
#wpadminbar{
    top: -46px;
}

#subpage #wpadminbar{
    top: -146px;
}

}

a{
	color: #e2231a;
}

a:focus, a:hover {
	color: #23527c;
}

img.aligncenter{
	display: block;
	margin: 0 auto;
}

img.alignright{
	float: right;
}


@font-face { font-family: "Ionicons"; src: url("fonts/ionicons.eot?v=2.0.0"); src: url("fonts/ionicons.eot?v=2.0.0#iefix") format("embedded-opentype"), url("fonts/ionicons.ttf?v=2.0.0") format("truetype"), url("fonts/ionicons.woff?v=2.0.0") format("woff"), url("fonts/ionicons.svg?v=2.0.0#Ionicons") format("svg"); font-weight: normal; font-style: normal; }

@font-face {
    font-family: 'rawline';
    src: url('fonts/rawline/rawline-100.eot');
    src: url('fonts/rawline/rawline-100.eot?#iefix') format('embedded-opentype'),
         url('fonts/rawline/rawline-100.woff2') format('woff2'),
         url('fonts/rawline/rawline-100.woff') format('woff'),
         url('fonts/rawline/rawline-100.ttf') format('truetype'),
         url('fonts/rawline//rawline-100.svg') format('svg');
    font-weight: 100;
    font-style: normal;
}



@font-face {
    font-family: 'rawline';
    src: url('fonts/rawline/rawline-100i.eot');
    src: url('fonts/rawline/rawline-100i.eot?#iefix') format('embedded-opentype'),
         url('fonts/rawline/rawline-100i.woff2') format('woff2'),
         url('fonts/rawline/rawline-100i.woff') format('woff'),
         url('fonts/rawline/rawline-100i.ttf') format('truetype'),
         url('fonts/rawline/rawline-100i.svg') format('svg');
    font-weight: 100;
    font-style: italic;

}



@font-face {
    font-family: 'rawline';
    src: url('fonts/rawline/rawline-200.eot');
    src: url('fonts/rawline/rawline-200.eot?#iefix') format('embedded-opentype'),
         url('fonts/rawline/rawline-200.woff2') format('woff2'),
         url('fonts/rawline/rawline-200.woff') format('woff'),
         url('fonts/rawline/rawline-200.ttf') format('truetype'),
         url('fonts/rawline/rawline-200.svg') format('svg');
    font-weight: 200;
    font-style: normal;

}



@font-face {
    font-family: 'rawline';
    src: url('fonts/rawline/rawline-200i.eot');
    src: url('fonts/rawline/rawline-200i.eot?#iefix') format('embedded-opentype'),
         url('fonts/rawline/rawline-200i.woff2') format('woff2'),
         url('fonts/rawline/rawline-200i.woff') format('woff'),
         url('fonts/rawline/rawline-200i.ttf') format('truetype'),
         url('fonts/rawline/rawline-200i.svg') format('svg');
    font-weight: 200;
    font-style: italic;

}



@font-face {
    font-family: 'rawline';
    src: url('fonts/rawline/rawline-300-.eot');
    src: url('fonts/rawline/rawline-300-.eot?#iefix') format('embedded-opentype'),
         url('fonts/rawline/rawline-300.woff2') format('woff2'),
         url('fonts/rawline/rawline-300.woff') format('woff'),
         url('fonts/rawline/rawline-300.ttf') format('truetype'),
         url('fonts/rawline/rawline-300.svg') format('svg');
    font-weight: 300;
    font-style: normal;

}



@font-face {
    font-family: 'rawline';
    src: url('fonts/rawline/rawline-300i.eot');
    src: url('fonts/rawline/rawline-300i.eot?#iefix') format('embedded-opentype'),
         url('fonts/rawline/rawline-300i.woff2') format('woff2'),
         url('fonts/rawline/rawline-300i.woff') format('woff'),
         url('fonts/rawline/rawline-300i.ttf') format('truetype'),
         url('fonts/rawline/rawline-300i.svg') format('svg');
    font-weight: 300;
    font-style: italic;

}



@font-face {
    font-family: 'rawline';
    src: url('fonts/rawline/rawline-400.eot');
    src: url('fonts/rawline/rawline-400.eot?#iefix') format('embedded-opentype'),
         url('fonts/rawline/rawline-400.woff2') format('woff2'),
         url('fonts/rawline/rawline-400.woff') format('woff'),
         url('fonts/rawline/rawline-400.ttf') format('truetype'),
         url('fonts/rawline/rawline-400.svg') format('svg');
    font-weight: 400;
    font-style: normal;

}



@font-face {
    font-family: 'rawline';
    src: url('fonts/rawline/rawline-400i.eot');
    src: url('fonts/rawline/rawline-400i.eot?#iefix') format('embedded-opentype'),
         url('fonts/rawline/rawline-400i.woff2') format('woff2'),
         url('fonts/rawline/rawline-400i.woff') format('woff'),
         url('fonts/rawline/rawline-400i.ttf') format('truetype'),
         url('fonts/rawline/rawline-400i.svg') format('svg');
    font-weight: 400;
    font-style: italic;

}



@font-face {
    font-family: 'rawline';
    src: url('fonts/rawline/rawline-500.eot');
    src: url('fonts/rawline/rawline-500.eot?#iefix') format('embedded-opentype'),
         url('fonts/rawline/rawline-500.woff2') format('woff2'),
         url('fonts/rawline/rawline-500.woff') format('woff'),
         url('fonts/rawline/rawline-.ttf') format('truetype'),
         url('fonts/rawline/rawline-500.svg') format('svg');
    font-weight: 500;
    font-style: normal;

}



@font-face {
    font-family: 'rawline';
    src: url('fonts/rawline/rawline-500i.eot');
    src: url('fonts/rawline/rawline-500i.eot?#iefix') format('embedded-opentype'),
         url('fonts/rawline/rawline-500i.woff2') format('woff2'),
         url('fonts/rawline/rawline-500i.woff') format('woff'),
         url('fonts/rawline/rawline-500i.ttf') format('truetype'),
         url('fonts/rawline/rawline-500i.svg') format('svg');
    font-weight: 500;
    font-style: italic;

}



@font-face {
    font-family: 'rawline';
    src: url('fonts/rawline/rawline-600.eot');
    src: url('fonts/rawline/rawline-600.eot?#iefix') format('embedded-opentype'),
         url('fonts/rawline/rawline-600.woff2') format('woff2'),
         url('fonts/rawline/rawline-600.woff') format('woff'),
         url('fonts/rawline/rawline-600.ttf') format('truetype'),
         url('fonts/rawline/rawline-600.svg') format('svg');
    font-weight: 600;
    font-style: normal;

}



@font-face {
    font-family: 'rawline';
    src: url('fonts/rawline/rawline-600i.eot');
    src: url('fonts/rawline/rawline-600i.eot?#iefix') format('embedded-opentype'),
         url('fonts/rawline/rawline-600i.woff2') format('woff2'),
         url('fonts/rawline/rawline-600i.woff') format('woff'),
         url('fonts/rawline/rawline-600i.ttf') format('truetype'),
         url('fonts/rawline/rawline-600i.svg') format('svg');
    font-weight: 600;
    font-style: italic;

}



@font-face {
    font-family: 'rawline';
    src: url('fonts/rawline/rawline-700.eot');
    src: url('fonts/rawline/rawline-700.eot?#iefix') format('embedded-opentype'),
         url('fonts/rawline/rawline-700.woff2') format('woff2'),
         url('fonts/rawline/rawline-700.woff') format('woff'),
         url('fonts/rawline/rawline-700.ttf') format('truetype'),
         url('fonts/rawline/rawline-700.svg') format('svg');
    font-weight: 700;
    font-style: normal;

}



@font-face {
    font-family: 'rawline';
    src: url('fonts/rawline/rawline-700i.eot');
    src: url('fonts/rawline/rawline-700i.eot?#iefix') format('embedded-opentype'),
         url('fonts/rawline/rawline-700i.woff2') format('woff2'),
         url('fonts/rawline/rawline-700i.woff') format('woff'),
         url('fonts/rawline/rawline-700i.ttf') format('truetype'),
         url('fonts/rawline/rawline-700i.svg') format('svg');
    font-weight: 700;
    font-style: italic;

}

@font-face {
    font-family: 'rawline';
    src: url('fonts/rawline/rawline-800.eot');
    src: url('fonts/rawline/rawline-800.eot?#iefix') format('embedded-opentype'),
         url('fonts/rawline/rawline-800.woff2') format('woff2'),
         url('fonts/rawline/rawline-800.woff') format('woff'),
         url('fonts/rawline/rawline-800.ttf') format('truetype'),
         url('fonts/rawline/rawline-800.svg') format('svg');
    font-weight: 800;
    font-style: normal;

}



@font-face {
    font-family: 'rawline';
    src: url('fonts/rawline/rawline-800i.eot');
    src: url('fonts/rawline/rawline-800i.eot?#iefix') format('embedded-opentype'),
         url('fonts/rawline/rawline-800i.woff2') format('woff2'),
         url('fonts/rawline/rawline-800i.woff') format('woff'),
         url('fonts/rawline/rawline-800i.ttf') format('truetype'),
         url('fonts/rawline/rawline-800i.svg') format('svg');
    font-weight: 800;
    font-style: italic;

}

@font-face {
    font-family: 'rawline';
    src: url('fonts/rawline/rawline-900.eot');
    src: url('fonts/rawline/rawline-900.eot?#iefix') format('embedded-opentype'),
         url('fonts/rawline/rawline-900.woff2') format('woff2'),
         url('fonts/rawline/rawline-900.woff') format('woff'),
         url('fonts/rawline/rawline-900.ttf') format('truetype'),
         url('fonts/rawline/rawline-900.svg') format('svg');
    font-weight: 900;
    font-style: normal;

}



@font-face {
    font-family: 'rawline';
    src: url('fonts/rawline/rawline-900i.eot');
    src: url('fonts/rawline/rawline-900i.eot?#iefix') format('embedded-opentype'),
         url('fonts/rawline/rawline-900i.woff2') format('woff2'),
         url('fonts/rawline/rawline-900i.woff') format('woff'),
         url('fonts/rawline/rawline-900i.ttf') format('truetype'),
         url('fonts/rawline/rawline-900i.svg') format('svg');
    font-weight: 900;
    font-style: italic;

}




.mega-menu-item, .mega-menu-item .mega-menu-link, .mega-keyboard-navigation .mega-menu-item, .mega-keyboard-navigation .mega-menu-item .mega-menu-link{
    border: 0 !important;
}

body{
	font-family: 'rawline', sans-serif;
	font-size: 16px;
	color: #292626;
	position: relative;
}

#subpage{
    margin-top: 110px;
}

p{
	line-height: 1.75;
}

q, 
blockquote {
    quotes: "\201C" "\201D" "\2018" "\2019";
}


h1, h2, h3, h4, h5{
	
	font-family: 'Montserrat', sans-serif;
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: 2px;
}

h1{
	font-size: 42px;
}

h2{
	font-size: 32px;
}

.red{
	color: #e2231a;
}

img{
    max-width: 100%;
    height: auto;
}

.btn, input[type="button"], input[type="submit"], .wpcf7-submit, .uwpqsf_submit, .contact-form .vfbp-form .btn-input, #vfb-field-11, .wp-block-button__link{
	font-family: 'Montserrat', sans-serif;
	text-transform: uppercase;
	font-size: 14px;
	padding: 10px 30px !important;
	border-radius: 0;
	font-weight: 700;
	letter-spacing: 2px;
	border-radius: 0;
	overflow: hidden;
	
}

input[type="submit"], .usfbtn{
    background: none;
}

.btn-input{
    padding: 0 !important;
    width: auto;
    background-color: #fff !important;
}



.btn-white{
	color: #fff;
	border: 1px solid #fff;
}

.btn-red, input[type="button"], input[type="submit"], .wpcf7-submit, .vfbp-form .btn.btn-input{
	border: 1px solid #e2231a;
	color: #292626;
	position: relative;
	z-index: 2;
}

section, footer{
	padding: 50px 0;
}


.logo img{
	width: 100%;
	height: auto;
	max-width: 400px;
}

/* HEADER
*********************************************/

.homepage-header, .subpage-header{
	padding: 25px 0;
}

.homepage-header .logo img, .subpage-header .logo img{
	height: auto;
	width: 400px;
}




.homepage-header {
    /* margin-bottom: -180px; */
    padding: 25px;
    background: linear-gradient(to bottom, rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 100%); 
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a6000000', endColorstr='#00000000',GradientType=0 ); 
	
}

.subpage-header {
	background: #fff;
	}

.subpage-header #mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-item > a.mega-menu-link{
	color: #292626;
}

.subpage-header #mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-item > a.mega-menu-link:hover, .subpage-header #mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-item > a.mega-menu-link:focus{
	color: #fff;
}

.main-header .container-fluid{
	max-width: 1600px;
	position: relative;
}

.homepage-header .nav, .subpage-header .nav{
	font-size: 14px;
	font-family: 'Montserrat', sans-serif;
	//text-transform: uppercase;
	letter-spacing: 2px;
	text-align: right;
	/* position: absolute; */
	right: 0;
	width: 100%;
}

.emergency-services, .toll-phone{
	color: #e2231a;
	font-weight: bold;
	font-family: 'rawline', sans-serif;
	padding:0 10px 5px 10px;
	text-transform: none;
	font-size: 18px;
}

.emergency-services span{
    display: block;
}

.homepage-header .emergency-services, .subpage-header .emergency-services{
	text-align: right;
	}
	
	
	.mega-menu-item:after{
width: 0;
height: 0;
border-style: solid;
border-width: 0 40px 40px 0;
border-color: transparent #007bff transparent transparent;
}

#main-head{
	z-index: 10000;
	transition: all .2s ease-in-out;
	position: fixed;
	width: 100%;
	top: 0;
	/* height: 130px; */

}

/* #main-head.homepage-header .logo a div{
	background-image: url(images/oconnell-logo-reverse.png);
}

*/
#main-head .logo , #main-head.light-head .logo{
	/*background-image: url(images/oconnell-logo.png);
	background-repeat: no-repeat;
	text-indent: -99999px; */
	width: 30%;
	float: left;
	
}

.nav .top-nav{
	float: right;
    margin-top: 20px;
}

.project-details .container-fluid{
	position: relative;
}



.light-head{
	background: #fff;
	transition: all .2s ease-in-out;
}

.light-head #mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-item > a.mega-menu-link{
	color: #292626;
}

.light-head #mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-item > a.mega-menu-link:hover{
	color: #fff;
}

#mega-menu-wrap-main-menu #mega-menu-main-menu li.mega-menu-item.mega-contact a.mega-menu-link, #mega-menu-wrap-main-menu #mega-menu-main-menu li.mega-menu-item.mega-contact a.mega-menu-link:hover{
    border-bottom: 3px solid #e2231a;
}

#mega-menu-wrap-main-menu #mega-menu-main-menu li.mega-menu-item.mega-current_page_item{
    color: #fff;
}

#mega-menu-wrap-main-menu #mega-menu-main-menu li.mega-menu-item.mega-current_page_item a.mega-menu-link{
    background: rgba(226, 35, 36, 1) !important;
}

.subpage-header #mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-item.mega-current_page_item > a.mega-menu-link{
    color: #fff;
    
}

#mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-item{
    margin-left: -15px !important;
}

#main-head #mega-menu-main-menu > li.mega-menu-item > a.mega-menu-link {
    background: rgba(226, 35, 36, 0) !important;
    color: #fff;
    display: inline-block;
    font-size: 18px;
    position: relative;
    margin: 0 20px;
    cursor: pointer;
}

#main-head #mega-menu-main-menu > li.mega-menu-item > a.mega-menu-link:before {
    left: -35px;
    position: absolute !important;
    width: 0; 
	height: 0; 
	border-right: 0px solid transparent;
	border-left: 35px solid transparent;
	border-top: 40px solid rgba(226, 35, 36, 0);
    content: '';
}

	
	#mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-item > a.mega-menu-link:after
	
	{
	    position: absolute !important;
	    display: inline-block !important;
	    width: 0; 
		height: 0; 
		top: 0;
		border-left: 0px solid transparent;
		border-right: 35px solid transparent;
		border-bottom: 40px solid rgba(226, 35, 36, 0);
	    right: -35px;
	    display: inline-block;
	    content: '';
	}

#main-head #mega-menu-main-menu > li.mega-menu-item > a.mega-menu-link:hover, 
#main-head #mega-menu-main-menu  .mega-toggle-on.slant-hover a.mega-menu-link
 {
    background: rgba(226, 35, 36, 1) !important;
}

#main-head #mega-menu-main-menu > li.mega-menu-item > a.mega-menu-link:hover:after, 
#main-head #mega-menu-main-menu  .mega-toggle-on.slant-hover a.mega-menu-link:after, 
#main-head #mega-menu-main-menu li.mega-menu-item.mega-slant-hover.mega-current-menu-item a.mega-menu-link:after{
    border-bottom-color:  rgba(226, 35, 36, 1);
}

#main-head #mega-menu-main-menu > li.mega-menu-item > a.mega-menu-link:hover:before, #main-head #mega-menu-main-menu  .mega-toggle-on.slant-hover a.mega-menu-link:before {
    border-top-color:  rgba(226, 35, 36, 1);
}

#main-head #mega-menu-main-menu .mega-current_page_item.slant-hover a.mega-menu-link, 
#main-head #mega-menu-main-menu .mega-current-page-parent.slant-hover a.mega-menu-link,
#main-head #mega-menu-main-menu .mega-current-page-parent.slant-hover .mega-current-menu-parent a.mega-menu-link {
    background: rgba(226, 35, 36, 1) !important;
    color: #fff !important;
}

#main-head #mega-menu-main-menu > li.mega-menu-item.mega-current_page_item a.mega-menu-link, 
#main-head #mega-menu-main-menu > li.mega-menu-item.mega-menu-item.mega-current-page-parent a.mega-menu-link{
     background: rgba(226, 35, 36, 1);
     color: #fff;
    
}

#main-head #mega-menu-main-menu > li.mega-menu-item.mega-current_page_item > a.mega-menu-link:after,   
#main-head #mega-menu-main-menu > li.mega-menu-item.mega-current-page-parent > a.mega-menu-link:after{
    border-bottom-color:  rgba(226, 35, 36, 1);
}

#main-head #mega-menu-main-menu > li.mega-menu-item.mega-current_page_item > a.mega-menu-link:before, 
#main-head #mega-menu-main-menu > li.mega-menu-item.mega-current-page-parent > a.mega-menu-link:before {
    border-top-color:  rgba(226, 35, 36, 1);
}

#main-head #mega-menu-main-menu .mega-current_page_item.slant-hover .mega-sub-menu .mega-menu-link, 
#main-head #mega-menu-main-menu .mega-current-page-parent.slant-hover .mega-sub-menu .mega-menu-link,
#main-head #mega-menu-main-menu  .mega-toggle-on.slant-hover .mega-sub-menu .mega-menu-link,
#main-head #mega-menu-main-menu .mega-current-page-parent.slant-hover .mega-sub-menu .mega-current_page_item .mega-sub-menu .mega-menu-link,
#main-head #mega-menu-main-menu .mega-current-page-parent.slant-hover .mega-current-menu-parent .mega-sub-menu .mega-menu-link {
 background-color: #e8e7e1 !important; 
 color: #292626 !important;
}


#main-head #mega-menu-main-menu  .mega-current-page-parent.slant-hover .mega-sub-menu .mega-current-menu-item .mega-menu-link {
    background: rgba(226, 35, 36, 1) !important;
    color: #fff !important;
}

#main-head #mega-menu-main-menu  .mega-toggle-on.slant-hover .mega-sub-menu .mega-menu-link:hover,
#main-head #mega-menu-main-menu  .mega-toggle-on.slant-hover  .mega-sub-menu .mega-current_page_item .mega-sub-menu .mega-menu-link:hover
{
    background-color: #292626 !important;
    color: #fff !important;
}






/* FOOTER
*********************************************/

#contact{
	text-align: center;
}


#contact h3{
	display: inline-block;
	padding: 0px 15px;
	margin-top: 0;
}

#contact .btn{
    margin-top: -5px;
}

footer{
	background-color: #e8e7e1;
}

footer .emergency-services{
	text-align: center;
	font-size: 24px;
	

}

footer .emergency-services span:before{
	content: ' \2014 ';
	font-weight: 500;
}

footer .emergency-services span:after{
	content: ' \2014 ';
	font-weight: 500;
}

#copyright a{
	color: #ffffff;
	text-decoration: underline;
}

#copyright .col-md-6:nth-child(even){
	text-align: right;
}

#copyright{
	background-color: #e2231a;
	padding: 25px;
	color: #fff;
}

.contact-location span{
	display: block;
}

footer .locations{
	list-style: none;
	display: flex;
	flex-flow: wrap row;
	margin: 0;
	padding: 0;
	font-size: 14px;
	margin-top: 50px;
}

footer .locations li{
	list-style: none;
	width: 20%;
}

footer .logo img{
    max-width: 300px;
    padding-bottom: 25px;
}

#contact{
	border-top: 1px solid #292626;
}

.mason{
    text-align: right;
}

@media (max-width: 1199px){
	
	footer .locations{
    	margin-top: 0;

}
	footer .locations li.corporate{
		width: 100%; 
		text-align: center;
		padding-bottom: 25px;
	}
	
footer .locations li{
	list-style: none;
	width: 25%;
}
	
}

@media (max-width: 767px){
	
	footer .locations li{
	list-style: none;
	width: 50%;
	text-align: center;
}
    #copyright{
        text-align: center;
    }
    
	
	}
	
	
@media (max-width: 500px){
	
		footer .locations li{
	list-style: none;
	width: 100%;
	text-align: center;
}

}
	

/* HOMEPAGE SLIDER
*********************************************/

#homepage-slider{
	padding: 0;
}

.hero-slider{
	overflow: hidden;
}

.project-details{
	color: #fff;
    position: absolute;

    margin: 0 auto;
    bottom: -35px;
    width: 100%;
    background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 67%,rgba(0,0,0,0.65) 100%); 
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#a6000000',GradientType=0 ); 
        padding: 75px 5% 0 5%;
}

.hero-slider .slick-slide{
	position: relative;
	overflow: hidden;
	max-height: 768px;
}

.hero-slider .location{
	font-family: 'Lustria', serif;
	font-size: 24px;
	font-style: italic;
}

.project-details header{
	padding: 0px 0px 80px 0px;
    width: 45%;
    position: relative;

}

.hero-slider  .seperator{
	right: 45%;
	height: 120%;
	
}

.project-details header h1, .hero-slider .location{
}

.project-details .btn{
    position: absolute;
    bottom: 50%;
    right: 25%;
}

.hero-slider img{
    display: block;
    min-height: 100%;
    max-width: 100%;
    width: 100%;
    height: auto;
    }

.hero-slider  .slick-next, .hero-slider .slick-prev{
	    bottom: 15%;
}


.hero-slider .slick-prev{
	left: 50px;
	}

.hero-slider .slick-next{
	right: 50px;
	}









/* SECONDARY SECTIONS
*********************************************/

.secondary{
	overflow: hidden;
	background-color: #fff;
	padding: 0;
	margin: 50px 0;

}

.secondary img{
	width: 100%;
	height: auto;
	padding: 15px 0;
}

.about{
	background-color: #fff;	

	position: relative;
	z-index: 2;
	background-image: url("images/pipes.jpg");
	background-size: 50% ;
	background-position: right center;
	background-repeat: no-repeat;
}


.secondary .content{
	padding: 50px 15px;
		background-color: #fff;
	}
	
	
	.secondary .content:before{
	content: ' ';
	background-color: #fff;
	height: 300%;
	width: 100%;
	transform: rotate(-35deg);
	position: absolute;
	right: -365px;
	z-index: -1;

}



/* TERTIARY SECTIONS
*********************************************/

.tertiary{
	overflow: hidden;
	background-color: #fff;
	padding: 0;
	margin: 50px 0;

}

.tertiary img{
	width: 100%;
	height: auto;
	padding: 15px 0;
}

.safety{
	background-color: #fff;	

	position: relative;
	z-index: 2;
	background-image: url("images/pipes.jpg");
	background-size: 50% ;
	background-position: left top;
	background-repeat: no-repeat;
}


.tertiary .content{
	padding: 50px 15px;
		background-color: #fff;
	}
	
	
	.tertiary .content:before{
	content: ' ';
	background-color: #fff;
	height: 300%;
	width: 100%;
	transform: rotate(-35deg);
	position: absolute;
	right: 15%;
	top: -150%;
	z-index: -1;

}








/* SEPERATOR
*********************************************/

.seperator{
	border-left: 2px solid #e2231a;
	height: 100%;
	transform: rotate(-35deg);
	position: absolute;
	top: 0px;
}




/* SERVICES & MARKETS HP FEATURE
*********************************************/


.services-markets{
	background-color: #e8e7e1;
}


.services-markets h2{
	padding-bottom: 25px;
	color: #000;
}

.services-markets a{
	color: #676767;

}

.services-markets .seperator{
	left: 30%
}

.services-markets ul{

	margin: 0;
	padding: 0;
}

.services-markets ul li{
	list-style: none;
	padding-bottom: 15px;
}

@media (min-width: 1199px){
	
.services-markets ul{
	display: flex;
	flex-flow: row wrap;

}

.services-markets ul li{
	list-style: none;
	width: 50%;
}
	
}

@media (min-width: 992px){
	
	.services-markets .row{
	display: flex;
	flex-flow: row nowrap;
}

}



/* FEATURED PROJECTS
*********************************************/


.fp-header{
	background-color: #e2231a;
    padding: 25px 40px;
    display: inline;
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 3px;
    text-align: center;
    position: absolute;
    z-index: 50;
    top: -10px;
    left: 50%;
    transform: translate(-50%, -50%);
}

.project-teasers{
	margin: 0;
	padding: 0;
	display: flex;
	flex-flow: row wrap;
}



.project-teasers li{
	list-style: none;
	overflow: hidden;
	position: relative;
	outline: 10px solid rgba(0,0,0,.5);
    outline-offset: -10px;
    /* min-height: 270px; */
    background-color: #aeaeae;
    height: 350px;
    flex: 1;
    
}

.home .project-teasers li{
    flex: 1;
    }

.border {
    background-size: cover;
    background-position: center center; 
} 

.project-teasers li h3{
	padding: 0;
	font-size: 18px;
	color: #fff;
	margin: 0 215px 0 0;
}

.project-teasers li .btn{
	margin-right: 15px;
    position: absolute;
    right: 0;
    top: 15px;
}

.feature-projects{
	padding: 0;
	position: relative;
	margin-top: 100px;
}

.feature-projects .btn{
	margin-left: 20px;
}

.project-teasers li img{

    display: block;
    min-width: 100%;
   /* min-height: 283px; */
       min-height: 100%;
    max-width: 100%;
    width: 100%;
    height: auto; 
    }

    
.border{
    outline: 2px solid #e2231a;	
    outline-offset: -10px;
    max-height: 295px;
    max-height: 100%;
    min-height: 100%;

    }
    
.bar{
	padding: 15px;
    background: rgba(0,0,0,.85);
    position: absolute;
    bottom: 15px;
    margin: 0 5% 2% 5%;
    width: 90%;
    min-height: 70px;
}



/* HOMEPAGE NEWS FEATURE
*********************************************/


.article .title{
	padding: 0;
	margin: 0;
}

.news-teaser ul{
	margin: 0 0 25px 0;
	padding: 0;
}

.news-teaser ul .article{
	list-style: none;
	margin-bottom: 20px
}

.news-teaser h2{
	padding-bottom: 25px;
}

.article .date{
	    color: #818181;
}

.news-teaser a{
	color: #e2231a;
	font-weight: bold;
}






/* HOMEPAGE TESTIMONIALS FEATURE
*********************************************/


.testimonials{
	background-color: #292626;
	color: #fff;
	text-align: center;
	padding: 100px 0;
}

.testimonials-slider blockquote{
	border: 0;
	position: relative;
	padding: 25px 50px 25px 50px;
	margin: 0 50px;
}

.testimonials-slider .person{
	color: #6a6866;
}

.testimonials-slider blockquote p{

	line-height: 1.75;
}


.testimonials-slider .slick-arrow, .slick-arrow{
	position: absolute;
	z-index: 20;
	background: none;
	border: 0;
	font-size: 0;
}

.testimonials-slider .slick-prev{
	left: 0px;
	top: 50%;
}

.testimonials-slider .slick-prev:before, .slick-prev:before{
	content: '\f3d5';
	color: #fff;
	font-size: 24px;
	font-family: "Ionicons";
}

.testimonials-slider .slick-next:after, .slick-next:after{
	content: '\f3d6';
	color: #fff;
	font-size: 24px;
	font-family: "Ionicons";
	 
}

.testimonials-slider .slick-next{
	right: 0px;
	top: 50%;
}


.testimonials-slider blockquote:before{
	content: '\201C';
	color: #fff;
	font-size: 100px;
	position: absolute;
	left: 0px;
	top: -30px;
	font-family: 'Montserrat', sans-serif;
	}
	
	
	
.testimonials-slider blockquote:after{
	content: '\201D';
	color: #fff;
	font-size: 100px;
	position: absolute;
	right: 0px;
	top: -30px;
    font-family: 'Montserrat', sans-serif;
	}
	
	

	
	
/* HOMEPAGE SOLAR PROMO
*********************************************/	

.solar-promo{
	background-image: url('images/solar.jpg');
	background-size: cover;
	background-position: center center;
	color: #fff;
	padding: 0;
}

.overlay{
	position: relative;
	overflow: hidden;
}

.overlay:before{
    background-color: rgba(0,0,0,.80);
    position: absolute;
    height: 500%;
    width: 90%;
    transform: rotate(-35deg);
    content: ' ';
    left: -10%;
    top: -50%;
}

@media (max-width: 1199px){
	.overlay:before{
		left: -5%;
		}
		
			.seperator{
			display: none;
		}

}

@media (max-width: 991px){
	.overlay:before{
		left: 0;
		transform: rotate(0deg);
		width: 100%
		}

}

.solar-promo .copy{
	padding: 50px 15px;
}


/* SubPage Header
*********************************************/

.page-head{
	background-color: #e2231a;
    position: relative;
    z-index: 2;
    background-size: 60%;
    background-position: right center;
    background-repeat: no-repeat;
    overflow: hidden;
}

.page-head .content {
    padding: 75px 15px;
    background-color: #e2231a;
    color: #fff;
}

.page-head .content:before {
	content: ' ';
    background-color: #e2231a;
    height: 250%;
    width: 100%;
    transform: rotate(-35deg);
    position: absolute;
    right: -30%;
    z-index: -1;
    top: -20%;
}

.entry-title{
    margin: 0;
}


/* Services Tabs
*********************************************/

.services{
	position: relative;
	overflow: hidden;
	background-color: #292626;
}

.services h2{
	padding-bottom: 25px;
	color: #fff;
}

.services-bg{

	-webkit-filter: blur(3px);
	filter: blur(3px);
	position: absolute;
    z-index: -5;
    top: -5px;
    min-height: 120%;
    min-width: 110%;

}

.tab-pane{
	padding: 50px;
	background-color: #fff;
}


.nav-tabs{
	    display: flex;
    flex-flow: row nowrap;
}

.nav-tabs li a{
	background-color: #e2231a;
	color: #fff;
    text-align: center;
        font-family: 'Montserrat', sans-serif;
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 600;
    height: 100%;
}

.nav-tabs>li{
	margin-right: 10px;
	margin-bottom: 0;
	flex: 1;
	text-align: left;
	
}

.nav-tabs>li .active{
	margin-bottom: -1px;
}

.tab-content{
	margin-top: -1px;
}

.nav>li>a:focus, .nav>li>a:hover{
	background-color: #E8E7E1;
	color: #000;
}

.tab-pane .main-list{
	display: flex;
	flex-flow: row wrap;
}

.tab-pane .main-list .service-name{
	list-style: none;
	font-weight: 700;
	margin-bottom: 25px;
	width: 33.3333333%;
	padding-right: 50px;
}



.tab-pane .sub-list li{
	list-style: square;
	font-weight: 300;
	margin-bottom: 5px;
}

.service-name{
    position: relative;
}

.service-name:before{
    content: '\f0da';
    font-family: FontAwesome;
    font-style: normal;
    font-weight: normal;
    text-decoration: inherit;
    position: absolute;
    left: -15px;
    top: 0;
    color: #e2231a;
    
    
}

.main-list {
    padding: 25px 15px;
    margin: 0 15px;
}

 .panel-title a{
    text-decoration: none;
}

 .panel-title{
    padding-left: 25px;
    position: relative;
}

  .panel-title .collapsed:before{
    content: '\f055';
    
    }
    
.panel-title a:before{
    content: '\f056';
    font-family: FontAwesome;
    font-style: normal;
    font-weight: normal;
    position: absolute;
    left: 0px;
    }



@media (min-width: 768px){
    
    .main-list{
        display: flex;
        flex-flow: row wrap;
    }
    
    .service-name{
        width: calc(50% - 25px);
        margin-bottom: 15px;
        padding-right: 25px;
        
    }
    
   
}

@media (min-width: 991px){
    
    .service-name{
        width: calc(33.33333% - 25px);
        margin-bottom: 15px;
        
    }


}

@media (max-width: 991px){
	
.tab-pane .main-list .service-name{
	width: 50%
}
	
}

@media (max-width: 800px){
    
    .services-accordion{
        display: block;
    }
    
    .services-tabs{
        display: none;
    }
    
    .main-list{
        margin: 0 15px;
    }
}

@media (max-width: 767px){
	
.tab-pane .main-list .service-name{
	width: 100%
}

#site-development{
    padding: 25px;
}

.main-list{
    padding: 25px 15px;
}
	
}



/* Feature Page Images
*********************************************/

.images img{
	width: 100%;
	height: auto;
	margin-bottom: 25px;
}

/* Service & Market Landing Pages
*********************************************/

.service-pages{
	clear: both;
}

.clear{
	clear: both;
}

.landing{
	list-style: none;
	margin: 0;
	padding: 0;
	}

.landing li{
	float: left;
	width: 44%;
	overflow: hidden;
	position: relative;
	text-align: center;
	position: relative;
	margin: 2%;
	    transition: all .2s ease-in-out;
	    
}

.landing li div{
    height: 300px;
    background-size: cover;
    background-position: center center;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
}
  
  
  @media (max-width: 767px){
      .landing li{

      width: 100%;
      float: none;
      margin: 15px 0;
      }
      
      .landing li div{
        height: 200px;
}

    .landing li h2{
        font-size: 24px;
    }
  }  

.landing li:hover{
	transform: scale(1.1);
    text-decoration: none;
     transition: all .2s ease-in-out;

	}

.landing li h2{
	color: #fff;
	width: 100%;
	top: 0;
	margin: 0;
	bottom: 0;
	padding: 25px;
	background: rgba(0,0,0,.75);
}

.landing li img{
	display: block;
    min-height: 100%;
    max-width: 100%;
    width: 100%;
    height: auto;
    position: relative;
    z-index: -10;
    margin-top: -50%;
}




/* Corporate Logos
    
    **********************/
    
    .corporate-logos{
        display: flex;
        flex-flow: row wrap;
        margin: 0;
        padding: 0;
    }
    
    .corporate-logos li{
        width: 33.33333333%;
        list-style: none;
        text-align: center;
        margin-bottom: 15px;
        padding: 15px;
    }
    
    .corporate-logos li img{
        width: auto;
        max-width: 100%;
        height: 100px;
        margin-bottom: 10px;
        }
        
    .corporate-logos li p{
        font-weight: bold;
    }    


@media (max-width: 900px ){
    
     .corporate-logos li{
        width: 50%;
     
    }
    
    
}

@media (max-width: 500px ){
    
     .corporate-logos li{
        width: 100%;
     
    }
    
    
}

/* VALUES
    **************************************************************/
    
    .values{
        display: flex;
        flex-flow: row wrap;
        margin: 0 -25px;
        padding: 0;
    }
    
    .values li{
        list-style: none;
        width: 33.3333333%;
        padding: 25px;
    }
    
    .values li img{
        width: 100%;
        height: auto;
        margin-bottom: 15px;
        }    


/* Team Members Page
    
    **************************************************************/
    
    .team-members{
        margin: 0;
        padding: 0;
    }
    .team-members .person{
        list-style: none;
        padding: 15px 0;
        border-bottom: 1px solid #ccc;
        }
        
    .team-members .person:last-child{
        border-bottom: 0;
        }    
        
    .team-members .person h3{
        margin-bottom: 0;
    }    
        
    .team-members .person .title{
        font-weight: bold;
        font-size: 18px;
        }    


/* PRoJECT LANDING PAGE
    *************************************************************/
    
    
.project-info .image, .featured-image .image{
        height: 300px;
        overflow: hidden;
        background-color: #ccc;
        position: relative;
        background-image: url(/wp-content/themes/oconnell/images/no-image-available.jpg); 
        background-size: cover;
        background-position: center top;
    }
  
  .featured-image .image{
      margin: 30px 0 30px 30px;
      }  
    
.project-info .image img, .featured-image .image img{
    display: block;
    min-height: 100%;
    width: auto;
    height: auto;
    position: absolute;
    min-width: 100%;
    max-width: 100%;
    
    }
    
    
.project-landing-teasers .project-teasers{
    display: flex;
    flex-flow: row wrap;
    margin-left: -15px;
    margin-right: -15px;
}   

.project-landing-teasers .project-teasers .project-teaser{
    width: 33.33333333%;
    padding: 15px;
}   

@media (max-width: 991px){
    
    .project-landing-teasers .project-teasers .project-teaser{
        width: 50%;
        
    }
    
    .project-info .image, .featured-image .image{
    height: 200px;
}
}

@media (max-width: 600px){

    .project-landing-teasers .project-teasers .project-teaser{
        width: 100%;
        
    }
    

}


/* Project Search Box
    
    ***************/
    
    
    #uwpqsf_id {
    border: 0px solid #ccc;
    background-color: #e8e7e1;
    margin-bottom: 25px;
}

.uwpqsf_class{
    text-align: left;
}

.uwpqsf_class, .uform_title{
    width: 20%;
    margin: 0;
    padding: 30px 15px 30px 15px;
}

.uwpqsf_submit {
	margin-top: 20px;
}

.uform_title{
    text-align: right;
    font-size: 20px;
    margin-top: 10px;
}

@media (max-width: 991px){
    
    .uform_title{
       display: none;
    }
    
    .uwpqsf_class {
    width: 25%;
    }
}

@media (max-width: 767px){
.uwpqsf_class {
    width: 100%;
    padding-bottom: 0;
        }
        
    #uwpqsf_id{
        padding-bottom: 30px;
    }
    
    .project-teaser h3{
        font-size: 18px;
    }
    
    .pagination .page-numbers{
        display: none;
    }
    
    .pagination .page-numbers.prev, .pagination .page-numbers.next{
        display: inline-block;
    }

}

@media (min-width: 768px){
#uwpqsffrom_1330{
    display: flex;
    flex-flow: row wrap;
}
}

.uwpqsf_class .taxolabel-0, .uwpqsf_class .taxolabel-1, .uwpqsf_class .taxolabel-2 {
    display: none;
}


.pagination{
    display: block;
    text-align: center;
    width: 100%;
    background-color: #e8e7e1;
    padding: 30px;
    border-radius: 0;

}

.pagination .page-numbers{
    padding: 10px;
    border: 1px solid #ccc;
    background-color: #fff;
    font-weight: bold;
    color: #e2231a;
    }
    
    .pagination .page-numbers.current{
        background-color: #e2231a;
        color: #fff;
        }


.uwpqsf_class select {
    width: 100%;
    margin-left: 0;
    border-radius: 0;
    height: 45px;
    border: 0;
    outline: 1px solid #CCD;
    background-color: #fff;
    -webkit-appearance: none;
    padding: 10px;
    background-image: url("images/down.png");
    background-repeat: no-repeat;
    background-position: right center;
}

.project-attributes{
    display: flex;
    flex-flow: row nowrap;
}


.attribute{
    padding-right: 15px;
    
}

.attribute strong{
    display: block;
    text-transform: uppercase;
}

.project-teaser a{
     color: #292626;
}

.project-teaser a:hover{
    text-decoration: none;
    color: #292626;
}



/* PROJECT DETAIL PAGE
    *************************************/
    
    
    .single-projects .page-head .content:before{
        height: 900px;
        width: 500px;
    }
    
    
    .project-page-details ul{
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        flex-flow: wrap row;
    }
    
    .project-page-details ul li{
        width: 50%;
        margin-top: 25px;
        font-size: 20px;
        }
        
        
        
    .project-page-details ul li strong{
        text-transform: uppercase;
        display: block;
        padding-bottom: 5px;
        font-size: 16px;
        }
        
.project-images .slick-slide{
	position: relative;
	overflow: hidden;
}

.project-images .slick-slide .image{
    position: relative;
    height: 400px;
    overflow: hidden;
}

.project-images .slick-slide .image img{
  display: block;
    min-height: 100%;
    max-width: 100%;
    width: 100%;
    height: auto;
}

.project-images .slick-slide .image:before{
content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 900px 0 0 500px;
    border-color: transparent transparent transparent #fff;
    position: absolute;
    left: 0;
    
    }
    
    
.project-images .slick-slide .image:after{
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 300px 500px 0;
    border-color: transparent #fff transparent transparent;
    position: absolute;
    right: -60px;
    top: 0;
 }



.svg-clip {
  width: 0;
  height: 0;
}        
        
.background-image-div {
  width: 100%;
  display: block;
  height: 400px;
  background: #000000 no-repeat center center;
  background-size: cover;
  
  /* lets clip it*/
  -webkit-clip-path: url(#hero-clip);
  -moz-clip-path: url(#hero-clip);
  clip-path: url(#hero-clip);
}

.background-image-div2 {
  width: 100%;
  display: block;
  height: 400px;
  background: #000000 no-repeat center center;
  background-size: cover;
  
  /* lets clip it*/
  -webkit-clip-path: url(#Projects-Design);
  -moz-clip-path: url(#Projects-Design);
  clip-path: url(#Projects-Design);
}



.slick-dots{
    bottom: -70px;
    position: absolute;
    display: block;
    width: 100%;
    padding: 0;
    list-style: none;
    text-align: center;
}

.slick-dots li {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer;
}

.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 20px;
    height: 20px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}

.slick-dots li button:before {
    font-size: 60px;
    line-height: 20px;
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    content: '•';
    text-align: center;
    opacity: .75;
    color: black;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;

}


.slick-dots li.slick-active button:before{
	color: rgba(227, 24, 55, 1);
}


.project-images{
    position: relative;
}

.project-images .slick-next, .project-images .slick-prev{
    position: absolute;
    bottom: 0;
    top: 0;
    }

.project-images .slick-next:after, 
.project-images .slick-prev:before{
	color: #000;
	
 
}

.project-images .slick-next{
    right: 0;
    }


.project-images .slick-prev{
    left: 0;
}

.project-images .slick-slide{
    text-align: center;
    position: relative;
}

.project-images .slick-slide a span{
    
    color: rgba(255,255,255, 0);
    position: absolute;
    top:45%;
    left: 35%;
    background-color: rgba(227, 24, 55, 0);
   padding: 15px;    
    transition: all .2s ease-in-out;

    }
    
.project-images .slick-slide a:hover span{
   color: rgba(255,255,255, 1);
   background-color: rgba(227, 24, 55, 1);
   text-decoration: none;

    }

.background-image-div {
  width: 100%;
  display: block;
  height: 700px;
  background: #000000 no-repeat center center;
  background-size: cover;
  
  /* lets clip it*/
  -webkit-clip-path: url(#hero-clip);
  -moz-clip-path: url(#hero-clip);
  clip-path: url(#hero-clip);
}

/*.mask-image{
    -webkit-mask: url(images/gallery-image.svg) top left / cover;
  mask: url(images/gallery-image.svg) top left / cover;

}*/

.image-skew{
    /* transform: skewX(25.5deg); */
    overflow: hidden;
    width: 70%;
    height: 400px;
    background-size: cover;
    background-position: 50% 50%;
    margin: 0 auto;
    position: relative;
    }

.skew-right{
    /*    transform: skewX(-25.5deg); */
    background-size: cover;
    background-position: 50% 50%;
    height: 150%;
    width: 200%;
    position: absolute;
    top: 0;
    left: -50%;
}
.image-skew img{
   /* -webkit-transform: skewX(-25.5deg); */
    min-width: 100%;
    min-height: 100%;
    display: block;
    min-width: 100%;
    max-width: 100%;
    min-height: 100%;
    }

.project-gallery{
    display: flex;
    flex-flow: row wrap;
    margin: 0 0px 0 0;
    padding: 0;
}

.project-gallery li{
    width: 33.3333333%;
    padding: 0 25px 25px 0px;
    list-style: none;
}



.project-gallery li .project-image{
    width: 100%;
    height: 200px;
    background-size: cover;
    /* display: block;
    min-width: 100%;
    min-height: 100%;
    max-width: 100%;
    width: 100%;
    height: auto; */
    }

/* News
    ***************************/
    
    .news-teasers .row{
        padding: 30px 0 45px 0;
        border-bottom: 1px solid #ccc;
    }
    
    
    .news-teasers .row:first-child{
        padding-top: 0;
    }
    
    .news-teasers .row:last-child{
    border-bottom: 0;
    }
    
    #nav-below{
        margin-top: 30px;
    }
    

/* Contact
*********************************************/    
    
      .contact .corporate {
          font-size: 20px;
      }
    .corporate .phone span, .corporate .address span{
        display: block;
    }
    
 .locations{
        margin: 0;
        padding: 0;
        list-style: none;
        display: flex;
        flex-flow: wrap row;
    padding-top: 30px;
    margin-top: 30px;
    border-top: 1px solid #ccc;
    margin-left: -15px;
    margin-right: -15px;
    }
    
    .locations li{
        width: 50%;
        padding: 15px;
    }
    
    .building-photo{
        height: 250px;
        background-size: cover;
        background-position: center center;
        width: 100%;
    }
    
    
    @media (max-width: 650px){
        
        .locations li{
        width: 100%;
    }
        
    }
    
    .contact-form{
        padding: 30px;
        background-color: #e8e7e1;
    }
    
    .contact-form input[type="text"], .contact-form input[type="email"], .contact-form textarea, .contact-form label , .contact-form select   {
        width: 100%;
        }
    

/* OVERRIDES
*********************************************/


@media (min-width: 1900px){
    
  .project-teasers li{
	height: 400px;
	
	}

    
}

@media (max-width: 1670px){
    .homepage-header, .subpage-header {
    padding: 25px 0;
    }

}



@media (max-width: 1450px){
    
    .secondary .content:before{
	right: -450px;
	
	}

    
}


@media (min-width: 1651px){
    #subpage .project-teasers li.project-count-4 h3, .project-teasers-dynamic li h3 {
    width: 100%;
    }
    
    #subpage .project-teasers li.project-count-4 .btn, .project-teasers-dynamic li .btn {
        margin: 0 0 15px 0;
    position: relative;
}
    
    }


@media (max-width: 1650px){
    
  #subpage .project-teasers li{
	flex: none;
	
	}
	
	#subpage .project-teasers li.project-count-4, #subpage .project-teasers li.project-count-2, .project-teasers-dynamic li{
    	width: 50%;
	}
	
	#subpage .project-teasers li.project-count-3{
    	width: 33.33333333%;
	}
	#subpage .project-teasers li.project-count-1{
    	width: 100%;
	}

}



@media (min-width: 901px) and (max-width: 1400px){

    .project-teasers li.project-count-3  h3{
        margin: 0;
    }
    
     .project-teasers li.project-count-3  .btn {
    margin: 0 0 15px 0;
    position: relative;
}
}


@media (max-width: 1350px){
    
    #subpage {
    margin-top: 150px;
}
   
   .homepage-header .logo img, .subpage-header .logo img{
	height: auto;
	width: 350px;
} 

.nav .top-nav{
    float: none;
    margin-top: 50px;
    
}

#mega-menu-main-menu{
    display: flex !important;
    flex-flow: row nowrap;
    width: 100% !important;
}

#mega-menu-main-menu .mega-slant-hover{
    width: 20% !important;
    text-align: center !important;
}

.subpage-header #mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-item > a.mega-menu-link{
    text-align: center;
}

.emergency-services, .toll-phone{
    display: block;
}
    
}


@media (max-width: 1300px){
    
    .feature-projects .fp-header .btn {
    margin-left: 0px;
    display: block;
    margin-top: 15px;
}
	#main-head .logo a div, #main-head.light-head .logo a div{
	height: 70px;
	}


	.project-details header{
		width: 65%;
	}
	
	.project-details header h1{
		font-size: 30px;
	}
	
	.hero-slider .seperator {
    right: 30%;
    display: block;
}

.project-details .btn {
    right: 10%;
}

.page-head .content:before{
    right: -250px;
}

.page-head{
    background-size: 90%;
}

	
	
}

@media (min-width: 901px) and (max-width: 1300px){
    
   /*  .home .project-teasers li .btn{
	margin: 0;
    position: relative;
	
	}
*/	
	 .home .project-teasers li h3{
    	 margin-right: 15px;
	 }
	
	
}

@media (max-width: 1199px){
    
    .secondary .content:before{
    right: -470px;
    top: -100px;    	
	}
	
	.about {
    	background-size: 90%;
    	}
    
	
	#mega-menu-wrap-main-menu #mega-menu-main-menu{
		text-align: center;
		top: 0;
	}
	
	#main-head{
	    height: auto;
	}
	
	.project-gallery li{
    	width: 50%;
	}


}

@media (max-width: 1023px){

    #subpage .project-teasers li.project-count-3{
        width: 100%;
    }


}

@media (min-width: 851px) and (max-width: 1023px){
    
            #subpage .project-teasers li.project-count-4 h3 {
    width: 100%;
    }
    
    #subpage .project-teasers li.project-count-4 .btn {
        margin: 0 0 0px 0;
    position: relative;
}
}


@media (min-width: 850px) and (max-width: 1099px){
	
	.project-details header {
		margin-left: 5%;
	}
	
	.project-count-4	.project-teasers li h3{
	margin: 0;
}

	.project-count-4 .project-teasers li .btn{
		    margin: 0;
		    position: relative;
	}
	
	.bar {
    padding: 15px 15px 30px 15px;
    }
	
    .page-head .content:before{
    right: -50%;
}

	

	
}

@media (max-width: 991px){
    
        	.about {
        background-image: none !important;
        margin: 0;
        }
        
        .feature-projects{
            margin-top: 25px;
        }
    
    	
    footer .logo{
        text-align: center;
    }
    
    .contact-form{
        margin: 0 -25px;
    }
    
    .contact{
        padding-bottom: 0;
    }
    
 }   
 
 @media (max-width: 950px){
    .hero-slider .seperator{ display: none; }
}

 
 @media (max-width: 900px){
     
        .homepage-header .emergency-services, .subpage-header .emergency-services, .subpage-header  .toll-phone, .homepage-header  .toll-phone{
        margin-right: 85px;
        padding: 0 10px 5px 10px;
    }

    	 #subpage{
    	 margin-top: 80px;
	 }
    
  .home .project-teasers li{
	flex: none;
	width: 100%;
	
	}

    
    .emergency-services, .toll-phone{
        display: block;
    }
    
    .homepage-header, .subpage-header {
     padding: 0;
}

	
	.project-details header {
		margin-left: 0;
		margin-right: 0;
		width: 100%;
		text-align: center;
	}
	
	.project-details{
		bottom: 0;
	}

	.project-details .btn {
    left: 25%;
    right: 25%;
    bottom: 15%;
}

.project-details h1{
	width: 100%;
}

button#responsive-menu-button{
    z-index: 10000 !important;
}

}

@media (max-width: 850px){
    

	#subpage .project-teasers li.project-count-4, #subpage .project-teasers li.project-count-2, #subpage .project-teasers li.project-count-3{
    	width: 100%;
	}
	
	#subpage.project-teasers li .btn {
    margin-right: 15px;
    position: absolute;
    right: 0;
    top: 15px;
}

    #subpage .project-teasers li h3 {
    padding: 0;
    font-size: 16px;
    color: #fff;
    margin: 0 215px 0 0;
}


	
}

@media (max-width: 800px){
    
    h1 {
    font-size: 36px;
}
    
	.emergency-services, .toll-phone{
		display: none;
	}
	
	#main-head {
    height: 115px;
}

    #main-head .logo, #main-head.light-head .logo {
    width: 65%;
}

    #main-head .logo img, #main-head.light-head .logo img {
        max-height: 75px;
        width: auto;
        }
        
        #subpage {
    margin-top: 70px;
}

   

}

@media (max-width: 767px){
    
     .project-gallery li{
    	width: 100%;
    	padding: 0 0 15px 0;
	}
    
    .project-page-details ul li{
        font-size: 18px;
        width: 100%;
    }
    
    .mason {
    text-align: center;
    padding-top: 25px;
}

    .page-head .content{
            padding: 25px 15px;
    }
    
    #subpage {
    margin-top: 90px;
}
    
    .homepage-header, .subpage-header {
    padding: 15px;
}
    
    .feature-projects{
        margin-top: 50px;
    }
    
    .main-header .container-fluid{
        padding: 0;
    }
    
    #main-head .logo, #main-head.light-head .logo {
    width: 75%;
        margin-top: 7px;
}

        #main-head .logo img, #main-head.light-head .logo img {
        max-height: 75px;
        width: auto;
        }
    
    .secondary{
        margin: 25px 0;
    }
	.secondary .content{
		padding: 0 15px;
	}
	
	.project-teasers li{
		width: 100%;
	}
	
	section {
    padding: 25px 0;
}

    #contact{
        padding: 50px 0;
    }

    #contact .btn{
        margin: 0;
    }

.services-markets{
	text-align: center;
	}
    	
    	.testimonials-slider blockquote{
        	font-size: 100%;
        	padding: 0;
            margin: 0 25px;
    	}
    	
    	.testimonials{
        	padding: 50px 0px;
    	}
    	
    	.testimonials-slider blockquote:before{
        	left: -26px;
            font-size: 50px;
            top: -13px;
    	}
    	
    	.testimonials-slider blockquote:after{
        	right: -26px;
            font-size: 50px;
            top: -13px;
    	}
    	
    	.news-teaser{
        	padding-bottom: 25px;
    	}
	}

@media (max-width: 700px){
	
	.project-details header{
		text-align: center;
		margin: 0;
	}
	
	.project-details h1{
		font-size: 20px;
		width: 100%;
		}
		
	.project-details header h1, .hero-slider .location {
		font-size: 16px;
}
	
	
}

@media (max-width: 650px){
    
        .fp-header{
        width: 100%;
        position: relative;
        display: block;
        margin: 0;
        top: 0;
        left: 0;
        transform: none;
    }
    
    .feature-projects{
        margin-top: 0;
    }
	
		.project-teasers li h3{
		width: 100%;
		font-size: 24px
	}
	
		.project-teasers li .btn{
		    margin: 0;
		    position: relative;
	}
	
	.bar {
    padding: 15px 15px 30px 15px;
    }

	
}

@media (max-width: 500px){
	
	 h1 {
    font-size: 24px;
    }
    
    h2 {
    font-size: 24px;
    }
    

	
	#main-head .logo a div, #main-head.light-head .logo a div{
	height: 50px;
	width: 215px;
}

  #main-head .logo img, #main-head.light-head .logo img {
        max-height: 45px;
        width: auto;
        }

#main-head {
    height: 90px;
    
}

.project-details .btn {
    left: 0;
    right: 25%;
    bottom: 20%;
    width: 65%;
    margin: 0px 18%;
    font-size: 13px;
}

.hero-slider img {
    display: block;
    min-height: 102%;
    max-width: 168%;
    width: 169%;
    height: auto;
}

.hero-slider .slick-prev{
	left: 25px;
}

.hero-slider .slick-next {
    right: 25px;
}

.project-teasers li h3{
		font-size: 18px
	}
	
.project-teasers li .btn{
	/* display: none; */
	margin-bottom: 15px;

}	

.bar {
    padding: 15px 15px 15px 15px;
}
	
}

.container-fluid{
	max-width: 1600px;
	   padding-right: 25px;
    padding-left: 25px;
} 


@media (min-width: 1100px){
.container-fluid{
	max-width: 1600px;
	   padding-right: 50px;
    padding-left: 50px;
} 
}

@media (min-width: 901px){
    
    /* .bar h3{
        height:36px;
        overflow:hidden;
        text-overflow:ellipsis;
        display:block;
    }
    
   .bar{
        display: flex;
    justify-content: center;
    align-content: center;
    } */
}


/* IE OVERRIDES
    *********************************************/

    
    @media all and (-ms-high-contrast:none){
        
        .project-teasers li{
            outline: 5px solid #323232;	

            border: 2px solid #323232;	
        }
        
         .project-teasers li .border{
             border: 2px solid #e2231a;	
             
         }
        
         .feature-projects .project-teasers{
            border-left: 5px solid #323232;	
            border-right: 5px solid #323232;
        }
        
    }
    
    @supports (-ms-ime-align:auto) {
        
       .feature-projects .project-teasers li{
            outline: 5px solid #323232;	

            border: 2px solid #323232;	
        }
        
         .feature-projects .project-teasers li .border{
             /*border: 2px solid #e2231a;	*/
             
         }
        
        .feature-projects .project-teasers{
            border-left: 5px solid #323232;	
            border-right: 5px solid #323232;
        }
    }




/* OTHER
*********************************************/
/* YouTube Video Aspect Ratio */
.video-container { position: relative; padding-bottom: 50%; padding-top: 30px; height: 0; overflow: hidden; }
.video-container iframe,
.video-container object,
.video-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

/* Google Map Aspect Ratio */
.map-container { position: relative; padding-bottom: 33%; padding-top: 80px; height: 0; overflow: hidden; }
.map-container iframe,
.map-container object,
.map-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }




.btn, .btn-input{
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
	position: relative;
	overflow: hidden;
}


.btn span{
	z-index: 2;	
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;	
}
.btn-red::before, .btn-red::after, /*input[type="button"]::before, input[type="button"]::after, input[type="submit"]::before, input[type="submit"]::after, */ .btn-input:before, .btn-input:after{
	content: '';
	position: absolute;
	top: 50px;
	right: 40%;
	width: 0;
	height: 0;
	border-left: 100px solid transparent;
	border-right: 100px solid transparent;
	border-bottom: 190px solid rgba(226,35,26,0.25);
	z-index: 1;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
}

.btn-white::before, .btn-white::after{
	content: '';
	position: absolute;
	top: 50px;
	right: 40%;
	width: 0;
	height: 0;
	border-left: 100px solid transparent;
	border-right: 100px solid transparent;
	border-bottom: 190px solid rgba(255,255,255,0.25);
	z-index: 1;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
}

.btn::after, .btn-input:after{
	-webkit-transition-delay: 0.2s; /* Safari */
    transition-delay: 0.2s;
}
.btn:hover::before,  .btn-input:hover::before{
	opacity: 1;
	-webkit-transform: translate(0px,-190px);
	transform: translate(0px,-190px);	
}

.btn:hover::after,.btn-input:hover::after{
	opacity: 1;
	-webkit-transform: translate(0px,-150px);
	transform: translate(0px,-150px);	
}
.btn-white:hover{
	color: #fff;
}

.wp-block-image figure img{
    height: auto;
    width: auto;
}



/* SYSTEM
**************************************************/