/*
Theme Name: Expert Concrete
Theme URI: http://canwestconcrete.com/
Description: Expert Concrete
Author: alex@creativesuperhero.ca
Version: 1.0
*/

@import url('https://fonts.googleapis.com/css?family=Roboto:300,700');
@import url('https://fonts.googleapis.com/css?family=Montserrat:400');


@font-face {
  font-family: 'icons';
  src: url('fonts/icons.eot?5170602');
  src: url('fonts/icons.eot?5170602#iefix') format('embedded-opentype'),
       url('fonts/icons.woff2?5170602') format('woff2'),
       url('fonts/icons.woff?5170602') format('woff'),
       url('fonts/icons.ttf?5170602') format('truetype'),
       url('fonts/icons.svg?5170602#icons') format('svg');
  font-weight: normal;
  font-style: normal;
}
 [class^="icon-"]:before, [class*=" icon-"]:before {
  font-family: "icons";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: .2em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.icon-right-open:before { content: '\3e'; } 
.icon-at:before { content: '\e800'; } 
.icon-phone:before { content: '\e802'; }
.icon-search:before { content: '\e803'; } 
.icon-facebook:before { content: '\e806'; } 
.icon-twitter:before { content: '\e807'; } 
.icon-youtube-play:before { content: '\e808'; } 
.icon-menu:before { content: '\e809'; } 
.icon-cancel:before { content: '\e80a'; } 
.icon-play:before { content: '\e810'; } 
.icon-location:before { content: '\f031'; } 
.icon-linkedin:before { content: '\f0e1'; } 
.icon-instagram:before { content: '\f16d'; } 

img{
image-rendering: -webkit-optimize-contrast;
}


article,aside,details,figcaption,figure,
footer,header,hgroup,menu,main,nav,section { 
display:block;
}

.mobile,
.tablet{
display:none;	
}

html{
-webkit-text-size-adjust: 100%;
text-size-adjust: 100%;
height: 100%;
}

*{
-webkit-tap-highlight-color: rgba(0,0,0,0);
}


body{
font-family: Roboto, sans-serif;
margin:0;
padding:0;
line-height:1.5;
font-size:15px;
text-size-adjust: 100%;
height: 100%;
}

#page{
background:#444;
font-family: Roboto, sans-serif;
min-height: 100%;
}


.content-padding{
padding-left: 6%;
padding-right: 6%;
margin:auto;
position:relative;
}




.article-width .content-padding{
max-width: 1000px;
margin-left: auto;
margin-right: auto;
}



.padding-vertical{
padding-top:30px;
padding-bottom:30px;
}

.padding-top .content-padding,
.column.padding-top{
padding-top:30px;
}

.padding-bottom .content-padding,
.column.padding-bottom {
padding-bottom:30px;
}

.padding-top-angle .content-padding{
padding-top:12%;
}

.padding-bottom-angle .content-padding{
padding-bottom:12%;
}

.margin-top{
margin-top: 12%;
}

.margin-bottom{
margin-bottom: 12%;
}


nav{
}
	nav ul{
	margin: 0;
	padding: 0;
	list-style-type: none;
	}

		nav li{
		margin: 0;
		padding: 0;
		list-style-type: none;
		}
		
			nav a{
			text-decoration: none;
			}
				

#top-bar{
display: none;
}

#site-menu{
background:#444;
color:white;
width: 18%;
z-index:1000;
top:0;
left:0;
bottom:0;
position:absolute;
transition:0.6s;
line-height: 1.2;
}

	#site-menu-content{
	background: #333;
	}


	@media (min-height: 450px){	
		#site-menu{
		position:fixed;
		}
	}

#popup-menu-overlay{
position: fixed;
z-index: 990;
top:0;
bottom: 0;
left: 0;
right: 0;
background: rgba(51,51,51, 0.8);
opacity: 0;
visibility: hidden;
transition: 0.3s;
}

.popup-menu-open #popup-menu-overlay{
opacity: 1;
visibility: visible;
}

#site-menu-content{
padding-top: 30px;
padding-bottom: 20px;
position: relative;
}
	#site-menu-content:after{
	background: #333;
	}
	
	.site-menu-content-padding,
	#main-menu a{
	padding: 8px 12%;
	}

	
	#nav-logo{
	margin-bottom: 25px;
	display: block;
	}
	
	#logo{
	min-width: 190px;
	width: 100%;
	position: relative;
	display: block;
	margin: auto;
	border:0;
	}

		
		#main-menu{

		}

			#main-menu{
			font-family: Montserrat, sans-serif;
			color:white;
			font-size: 22px;
			text-transform: uppercase;
			padding-top: 8px;
			padding-bottom: 8px;
			position: relative;
			display: block;
			cursor: pointer;
			transition: 0.3s;
			margin: 0;
			}
			
			#main-menu ul{
			padding: 0;
			}
			
			#main-menu  a{
			display: block;
			}
			
			#main-menu a{
			color: white;
			}
			
			#main-menu a:hover{
			background: white;
			color:black;
			overflow-x: hidden;
			}
			

				.menu-popup{
				padding: 0;
				position: fixed;
				left: 18%;
				right:00px;
				top:0px;
				bottom:0px;
				font-size: 1.2em;
				overflow: auto;
				transition: 0.3s;
				opacity: 0;
				visibility: hidden;
				display: flex;
				flex-direction: column;
				max-width: 500px;
				}
				
				
				.menu-popup.wide{
				max-width: 800px;
				}
				
				.menu-popup.open{
				opacity: 1;
				visibility: visible;
				}
				

					.menu-popup .menu-content{
					background: white;
					padding: 40px 50px 12% 50px ;
					box-sizing: border-box;
					position: relative;
					width: 100%;
					border-top:10px solid #CD2027;
					z-index: 1;
					}
					
					.menu-popup .menu-content:after{
					border-bottom:40px solid #ccc;
					box-sizing: border-box;
					}
					
					.menu-photo{
					flex: 1;
					width: 100%;
					padding-bottom: 24%;
					position: relative;
					}
					
						.menu-photo-angle{
						position: absolute;
						top:0;
						left: 0;
						right: 0;
						bottom: 0;
						transform: skewY(-6deg);
						transform-origin:  top left;
						z-index: 1;
						overflow: hidden;
						border-bottom: 20px solid white;
						background-color: white;
						}
					
							.menu-photo-bg{
							position: absolute;
							top:0;
							left: 0;
							right: 0;
							bottom:0%;
							margin-bottom: -12%;
							transform: skewY(6deg);
							transform-origin:  top right;
							background-repeat: no-repeat;
							background-position: center center;
							background-size: cover;
							
							}
							
							#commercial-menu-popup .menu-photo-bg{
							background-image: url(/media/Homepage-banner.jpg);
							background-position: center top ;
							}

							#contact-menu-popup .menu-photo-bg{
							background-image: url(/media/Homepage-banner-2.jpg);
							background-position: 65% center;
							}
							
							#residential-menu-popup .menu-photo-bg{
							background-image: url(images/residential-menu-photo.jpg);
							}
							
							#about-menu-popup .menu-photo-bg{
							background-image: url(/media/Interior-Demolition-and-Excavation-banner.jpg);
							background-position: 75% center ;
							}
							
							#quote-menu-popup .menu-photo-bg{
							background-image: url(/media/Construction-banner.jpg);

							}						
					
						.menu-popup-close {
						position: absolute;
						color:#666;
						z-index: 1;
						font-size: 12px;
						width: 50px;
						height: 50px;
						box-sizing: border-box;
						padding: 12px;
						right: 0;
						top:0;
						text-align: right;
						cursor: pointer;
						transition: 0.3s;
						}
						
						.menu-popup-close:hover{
						color:#D81F26;
						}

						.menu-popup a{
						color:black;
						display: block;
						padding: 5px 0;
						}
						
						.menu-popup a:hover,
						.menu-popup .current-menu-item > a{
						color:#CD2027;
						}
						
						.menu-popup .current-menu-item > a:before{
						content:'';
						display: block;
						position: absolute;
						border-radius: 50%;
						background: #CD2027;
						width: 6px;
						height: 6px;
						margin-left: -14px;
						margin-top: calc(0.5em - 3px);
						}

					
					.menu-content > li{
					}

					.menu-content > ul > li > a{
					font-weight: 700;
					}
			
			#home-menu-head{
			display: none;
			}
			
			
			.menu-popup a:hover{
			color:#D81F26;
			}
			
		
		#about-menu-popup .menu-content,
		#residential-menu-popup .menu-content{
		padding-top: 170px;
		}
		
		#contact-menu-popup .menu-content{
		padding-top: 60px;
		}
	
	#main-menu-search{
	margin-top: 10px;
	}
	
		#main-menu-search #search-form{
		border:1px solid #bbb;
		border-radius: 6px;
		padding:4px 4px 4px 10px;
		position: relative;
		font-size: 20px;
		}
		
			
		#main-menu-search .icon-search{
		display: inline-block;
		vertical-align: middle;
		color:#bbb;
		width: 24px;
		}

		
			#search-field{
			background: none;
			color:white;
			font-size: 16px;
			font-family: Roboto, sans-serif;
			padding: 0px;
			border:none;
			display: inline-block;
			vertical-align: center;
			box-sizing: border-box;
			width: 140px;
			width: calc(100% - 30px);
			}
			
			#search-results{
			}
			
			.search-term{
			text-transform: none; 
			}
			
			#search-results a{
			text-decoration: none;
			color:black;
			}
			
			#search-results a:hover{
			color:#CD2027;
			}

	
	@media (min-width: 1001px){	
		#contact-menu-cities{
		column-count: 2;
		}

	}


	.contact-menu a{
	padding: 10px 0;
	-webkit-column-break-inside: avoid;
	page-break-inside: avoid;
	break-inside: avoid;
	}

	.contact-menu .contact-city{
	font-weight: bold;
	display: block;
	}

	.contact-menu .contact-number{
	display: block;
	font-size: 1.2em;
	padding-top: 4px;
	}

	#contact-menu-link{
	display: block;
	font-weight: bold;
	border-bottom:1px solid #bbb;
	padding-bottom: 0.5em;
	margin-bottom: 0.5em;
	font-size: 1.2em;
	}

	#quote-menu-popup{
	color: black;
	font-size: 1em;
	}

	@media (max-height: 450px){	
		.menu-popup.normal{
		background: white;
		}
		.menu-popup.normal .menu-photo-bg,
		.menu-popup.normal .menu-photo-angle,
		.menu-popup.normal .menu-photo{
		display: none;
		}
		.menu-popup .menu-content{
		padding-bottom: 20px;
		}
	}
	@media (min-height: 451px){	
		.menu-popup.normal {
		overflow: hidden;
		}
	}


	@media (max-height: 900px){	
		.menu-popup.wide{
		background: white;
		}
		.menu-popup.wide .menu-photo-bg,
		.menu-popup.wide .menu-photo-angle,
		.menu-popup.wide .menu-photo{
		display: none;
		}
		.menu-popup.wide .menu-content{
		padding-bottom: 20px;
		}
		#quote-menu-popup .menu-content{
		padding-top: 20px;
		}
	}
	@media (min-height: 901px){	
		.menu-popup.wide {
		overflow: hidden;
		}
	}
	
	#quote-menu-popup{
	overflow: auto;
	}
	
		#quote-menu-popup .menu-content{
		padding-bottom: 60px;
		}

		#quote-menu-popup label{
		font-weight: normal;
		}

		#quote-menu-popup li{
		margin-bottom: 0;
		}

		#quote-menu-popup h3{
		/*margin-left: 203px;*/
		}

		#quote-menu-popup li.intro{
		margin-left: 203px !important;
		}

		#quote-menu-popup .gform_wrapper{
		margin: 0;
		}
		
		#quote-menu-popup .menu-photo{
		padding-bottom: 28%;
		}
		
		
		#quote-menu-popup .menu-photo{
		background: #333;
		}
		
		#quote-menu-popup .menu-photo-angle{
		border: 0;
		}
		

	/*Long quote forms, hide menu photo*/
	@media (max-height: 920px){	
		#quote-menu-popup{
		overflow: auto;
		background: white;
		}
		
			#quote-menu-popup .menu-content{
			padding-bottom: 20px;
			}

			#quote-menu-popup .menu-photo{
			display: none;
			}
		
	}
	

	.gform_wrapper .right_label textarea{
	width: 68% !important;
	}
	
	.gform_validation_error{
	background:#ffe2de;
	}
	
	@media (max-width: 640px){	
		.gform_wrapper .right_label textarea{
		width: 100% !important;
		}
	}
	
	
	@media (min-width: 760px){	
		.gfield_checkbox {
		display: flex;
		flex-wrap: wrap;
		}

		.gfield_checkbox li{
		width: 33%;
		display: inline-block;
		white-space: nowrap;
		}
		
		.gfield_checkbox li label{
		white-space: normal;
		}
	}

	
	#quote-menu-popup li.gfield_html_formatted{
	left: 28% !important;
	}
	 
	#quote-menu-popup .gform_anchor{
	display: none;
	}

.primary{
margin-left: 18%;
padding: 0px 0 0;
margin-right: 40px;
max-width: 1600px;
overflow: hidden;
}

main{
background: white;
}




footer{
color:#bbb;
text-align:center;
font-size: 0.85em;
/*display: flex;*/
justify-content: space-between;
align-items: center;
padding-top: 10px;
}

	footer a{
	padding: 0 0.5em;
	}
	
	#footer-copyright{
	padding-right: 0.5em
	}
	
	#footer-links{
	white-space: nowrap;
	}
	
		footer a{
		color:#bbb;
		text-decoration:none;
		white-space: nowrap;
		}
		
		footer a:hover{
		color: white;
		}
	
	#footer-info{
	display: block;
	vertical-align: middle;
	text-align: center;
	margin:10px 20px;
	}
	
	footer #accreditations{
	display: block;
	vertical-align: middle;
	white-space: nowrap;
	margin:10px 20px;
	}
		footer #accreditations > img,
		footer #accreditations > a{
		display: inline-block;
		max-height: 70px;
		width: auto;
		max-width: 130px;
		margin: 0 10px;
		opacity: 0.8;
		text-align: center;
		vertical-align: middle;
		}
		
		footer  #accreditations #bbb {
		font-size: 11px;
		height: auto;
		}
		

		
		footer #bbb img{
		width: 110px;
		}

		footer #accreditations :last-child{
		margin-right: 0;
		}
	

@media (max-width: 1400px){
	
	#site-menu{
	width:250px;
	}

	.primary{
	margin-left: 250px;
	}
	
	.menu-popup{
	left: 250px;
	}
}

@media (min-width: 2000px){
	body{
	background:#222;
	}

	#site-menu{
	width:350px;
	left: auto;
	}

	.primary{
	margin-left: 350px;
	margin-right: 0;
	padding: 0;
	}
	
	
	#page{
	width: 1900px;
	margin: auto;
	}
	
	footer{
	padding-right: 40px;
	}

}


#banner{
position: relative;
padding-top: 1px;
padding-bottom: 40%;
height: 0;
background-repeat: no-repeat;
background-position: center center;
background-size: cover;
z-index: 20;
}

.section{
position: relative;
z-index: 10
}


#menu-overlay{
position:fixed;
z-index:990;
display:block;
top:0;
left:0;
right:0;
bottom:0;
background: rgba(0,0,0, 0.6);
backface-visibility:hidden;
opacity:0;
visibility:hidden;
-webkit-transition:0.8s;
transition:0.8s;
pointer-events:none;
}

.menu-open #menu-overlay,
.contact-menu-open #menu-overlay{
opacity:1;
visibility:visible;
display:block;
pointer-events:auto;
}

#menu-overlay:before{
color: black;
position: fixed;
right: 20px;
top: 13px;
font-size: 14px;
font-weight: bold;
cursor: pointer;
border-radius: 50%;
background: #fff;
width: 32px;
height: 32px;
text-align: center;
line-height: 32px;
padding: 0;
}


/*Angles */

.angle.down-bottom,
.angle.up-bottom,
.angle.down,
.angle.up,
.angle.accent-down-bottom{
position: relative;
}

.angle.down-mask-top,
.angle.down-mask-bottom,
.angle.down-mask{
position: relative;
}

.section.angle.down-bottom{
margin-bottom: 12%;
}

.section.angle.down-bottom{
margin-bottom: 12%;
}

.angle.down-bottom:after,
.angle.up-bottom:after,
.angle.down-mask-top:before,
.angle.down-mask-bottom:after,
.angle.down-mask:before,
.angle.down-mask:after,
.angle.down:before,
.angle.up-mask-bottom:before,
.angle.up:before,
.angle.accent-bottom-left:after,
.angle.accent-bottom-right:after,
.angle.accent-top-left:after{
content:'';
display: block;
background: white;
height: 0;
padding-bottom: 12%;
position: absolute;
z-index: -1;
left: 0;
right: 0px;
transform:skewY(6deg);
}

.angle:before,
.angle:after{
z-index: 10;
}

.section.angle:after,
.section.angle:before{
right: -1px;
}

.angle.down-bottom:after{
bottom:0;
transform-origin: bottom left;
}

.angle.up-bottom:after{
bottom:0;
transform-origin: top right;
transform:skewY(-6deg);
}


.angle.down-mask-top:before{
background: 444;
bottom:100%;
transform-origin: top left;
z-index: 1;
}

.angle.down-mask-top:before{
background: #444;
}

.angle.down-mask:before{
background: #444;
bottom:100%;
transform-origin: top left;
z-index: 1;
}

.angle.down-mask:after{
background: #444;
bottom:-1px;
transform-origin: bottom left;
z-index: 2;
}

.angle.down:before{
height: 100%;
height: calc(100% + 2px);
margin-top: -2px;
padding-top: 6%;
padding-bottom: 6%;
transform-origin: bottom right;
}


.angle.up:before{
height: 100%;
margin-top: -2px;
margin-bottom: -2px;
padding-top: 6%;
padding-bottom: 6%;
transform-origin: top left;
transform:skewY(-6deg);
}

.angle.up.dark:before,
.angle.down.dark:before{
background: #444;
}

.section.dark{
background: #444;
}

.angle.accent-bottom-left:after{
background: black;
z-index: -2;
transform:skewY(-6deg);
transform-origin: top right;
bottom: 0;
}

.angle.accent-bottom-right:after{
background: #CD2027;
bottom:auto;
top:100%;
transform:skewY(6deg);
transform-origin: bottom right;
z-index:-2; 
}

.angle.accent-top-left:after{
top: 0;
transform-origin: top right;
background: #CD2027;
}

.angle.accent-gray-light:after{
background: #eee !important;
}


.angle.accent-black:after{
background: black !important;
}

.angle.accent-red:after{
background: #CD2027 !important;
}

.video-angle-down-top video:before{
content: '';
position: absolute;
top:0;
left: 0; 
display: block;
background: white;
z-index: 10;
width: 100%;
padding-bottom: 12%;
transform-origin: top right;
transform: skewY(6deg);
}

.video-angle-down-top.dark video:before{
background: #444;
}

video{
display: block;
margin-left: auto;
margin-right: auto;
}

.video-align-left video{
margin-left: 0;
}


/*Galleries*/
.gallery{
background: #333;
padding-top: 1px;
padding-bottom: 1px;
color:white;
}
.gallery p,
.gallery h2,
.gallery h3{
color:white;
}

.gallery.angle:before{
background: #333;
}
.gallery.light.angle:before{
background: #fff;
}


	.section.gallery .gallery,
	.blog-article .gallery{
	display: flex;
	width: 100%;
	flex-wrap: wrap;
	justify-content: space-between;
	}

	
	.gallery-columns-2 .gallery-item,
	.last-row-placeholder .gallery-columns-2:after{
	width: 47% !important;
	}
	
	.gallery-columns-3 .gallery-item,
	.last-row-placeholder .gallery-columns-3:after{
	width: 30.5% !important;
	}
	
	.last-row-placeholder .gallery:after{
	content: '';
	display: block;
	}
	
	main .gallery-item{
	float: none !important;
	position: relative;
	}	
	
	.gallery-item + p{
	display: none;
	}
	
	@media (max-width: 1000px){	
		/*.gallery-columns-3 .gallery-item{
		width: 47% !important;
		}*/
	}
	
	@media (max-width: 760px){
		.section.gallery .gallery{
		display: block;
		}
	
		.gallery{
		display: block;
		}
	
		.gallery .gallery-item{
		width: 100% !important;
		max-width: 550px;
		margin: 6% auto;
		}
	}
	
	main .gallery dt{
	position: relative;
	height: 0;
	padding-top: 28%;
	padding-bottom: 28%;
	overflow: hidden;
	transform: skewY(-6deg);
	transform-origin: top right;
	}
	
	
	main .gallery dt{
	display: flex;
	top:0;
	right: 0;
	left: 0;
	bottom: 0;
	
	}
	
	main .gallery dt a{
	display: flex;
	justify-content: center;
	position: absolute;
	top:0;
	right: 0;
	left: 0;
	bottom: 0;
	}


	/*.gallery dt:before,
	.gallery dt:after{
	content:'';
	position: absolute;
	display: block;
	padding-bottom: 12%;
	height: 0;
	left: -1px;
	right: -1px;
	background: #333;
	transform: skewY(-6deg);
	}
	
	.gallery dt:before{
	bottom:100%;
	transform-origin: bottom right;
	}
	.gallery dt:after{
	top:100%;
	transform-origin: bottom left;
	}*/

		main .gallery img{
		border: none !important;
		display: block;
		max-width: 100%;
		margin: auto;
		transform: skewY(6deg);
		transform-origin:  top right;
		align-self:center;
		top:0;
		}
		
		main .gallery img{
		position: absolute;
		min-height: 120%;
		object-fit: cover;
		}
		
		@supports(object-fit: cover){
			main .gallery dt{
			justify-content: center;
			}
		
			main .gallery img{
			object-fit: cover;
			transform-origin: center;
			top:auto;
			}
			
			.photo-align-bottom dt img{
			position: absolute;
			bottom: 0;
			top: auto;
			transform-origin: bottom left !important;
			}
			
		}
		
	

	.gallery-angle-down .gallery dt{
	transform: skewY(6deg);
	transform-origin: center;
	}
	
	
	
	.gallery-angle-down .gallery dt img{
	transform: skewY(-6deg);
	transform-origin: bottom left;
	}
	
	.gallery.flat-top dl{
	overflow: hidden;
	position: relative;
	top:6%;
	}
	
	.gallery.flat-top.padding-bottom .content-padding{
	padding-bottom: 7.5%;
	}
	
	.gallery.flat-top dt{
	flex-direction: column;
	justify-content: flex-end;
	transform-origin: bottom left;
	}
	
	.gallery.flat-top dt img{
	transform-origin: bottom left;
	}
	

	 
	 .square .gallery dt{
	 transform: none;
	 }
	 
	 .square .gallery dt img{
	 transform: none;
	 }
	 
	 .square .gallery dd{
	 margin-top: 2%;
	 }
	 
	 .square .gallery dd:before{
	 content: none;
	 }
	

	/*.gallery-angle-down .gallery dt:after{
	transform: skewY(6deg);
	transform-origin: bottom right;
	}*/

	.gallery-columns-1 dt,
	.full-height dt{
	height: auto !important;
	padding: 0 !important;
	}
		.gallery-columns-1 dt img,
		.full-height dt img{
		position: relative !important;
		margin-bottom: -12%;
		transform-origin: bottom right;
		}
		
		
		.gallery-columns-1.gallery dd{
		/*margin-top:3%;*/
		}
		
		main .gallery .gallery-columns-1 dt a{
		position: relative;
		}


	
	main .gallery dd{
	position: relative;
	color:#ddd;
	text-align: right;
	font-family: sans-serif;
	font-style: italic;
	font-size: 0.8em;
	margin-top: 6%;
	z-index: 10;
	}
	
	main .gallery dd:before{
	content: '';
	display: block;
	height: 2px;
	float: left;
	width: 50%;
	}
	
	.gallery br{
	display: none;
	}
	

	
.gallery .content, 
.gallery .content{
padding-top: 0;
padding-bottom: 0;
}

.gallery.light,
.gallery.light .gallery{
background: #fff;
}
.gallery.light p{
color:black;
}

.gallery.light dt:before,
.gallery.light dt:after{
background: white;
}


.dark .gallery,
.dark .gallery dt:before,
.dark .gallery dt:after{
background: #444;
}

.gallery.light dd{
color: #666;
}

.gallery-angle-down dd{
text-align: left;
margin-top: 2%;
}
.gallery-angle-down dd:before{
float:right;
}



/*Light gallery*/
.lg-backdrop {
background-color: rgba(51,51,51, 0.9) !important;
}

.lg-thumb-outer{
text-align: center !important;
background: rgba(51,51,51, 0.5) !important;
}

.lg-sub-html{
background: rgba(51,51,51, 0.5) !important;
}

.lg-toolbar {
background: none !important;
}

	.lg-icon{
	background: rgba(0,0,0, 0.5) !important;
	}

.lg-thumb{
  display:inline-block !important;
}

/*Formatting */


h1,h2,h3{
margin-top:0;	
margin-bottom:0.5em;
font-family: Montserrat, sans-serif;
font-weight:400;
color:#CD2027;
text-transform: uppercase;
}

h1{
font-size:2.5em;
}

.page-heading {
position: relative;
padding-top: 3%;
padding-bottom: 60px;
z-index: 50;
}
.page-heading.large{
padding-bottom: 80px;
}

	.page-heading.angle:after{
	background: #BB1515;
	transform-origin: bottom left;
	height: 100%;
	padding: 0;
	}
	
	.page-heading h1{
	color: white;
	width: 80%;
	max-width:600px;
	margin-bottom: 0;
	}
	
	/*.page-heading h1:after{
	content: '';
	height: 1px;
	display: inline-block;
	vertical-align: middle;
	width: 30%;
	float: right;
	background: blue;
	}*/
	
	@media (max-width: 1200px){	
		.page-heading {
		
		}
		.page-heading h1{
		font-size: 2.0em;
		}
	}

	@media (max-width: 760px){	
		.page-heading{
		padding-bottom: 8%;
		width: auto;
		}
		
		.page-heading.large{
		padding-bottom: 10%;
		}
		
		.page-heading h1{
		font-size: 1.6em;
		width: auto;
		max-width: none;
		}
	}
	
	@media (max-width: 480px){
		.page-heading h1 .no-break{
		white-space: normal;
		}
	}

	#content.content-padding{
	padding-top: 40px;
	padding-bottom: 40px;
	background: white;
	}


h2{
font-size:1.7em;	
}

@media (min-width: 1600px){	
	h2{
	font-size:2em;	
	}
}


h3{
font-size:1.3em;
margin-bottom: 0.5em;
}

p+h3,
h2+h3{
margin-top: 1.5em;
}

p{
margin-top:0;	
margin-bottom:1em;	
}

em{
font-family: sans-serif;
}

.text-align-center{
text-align: center;
}

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

.dark,
.dark h2,
.dark h3{
color:white;
}

.page-heading + .feature-photo-section {
position: relative;
padding-bottom: 1px;

}
.page-heading + .feature-photo-section {
}

	.feature-photo-mask{
	transform: skewY(-6deg);
	transform-origin:  top left;
	overflow: hidden;
	margin-top: -1px;
	margin-bottom: -1px;
	}
	.feature-photo-section.angle.accent-bottom-right:after{
	background: #444;
	transform-origin:  top right;
	top:auto;
	bottom: 0;
	padding-bottom: 20%;
	}
	
		.feature-photo-section img{
		display: block;
		transform: skewY(6deg);
		transform-origin:  top right;
		margin-bottom: -12%;
		width: 100%;
		}
		
		.feature-photo-section .caption{
		position: absolute;
		width: 100%;
		right: 0;
		z-index: 2;
		color: #fff;
		opacity: 0.85;
		text-align: right;
		font-family: sans-serif;
		font-style: italic;
		font-size: 0.85em;
		bottom: 0%;
		padding-top: 11%;
		display: block;
		text-shadow:0 0 1px #444, 
					0 0 2px #444, 
					0 0 2px #444, 
					0 0 4px #444,
					0 0 4px #444,
					0 0 10px #444,
					0 0 10px #444,
					0 0 10px #444;
		}

	.angle.accent-gray-light .caption{
	text-shadow: none;
	color:#333;

	}
	
	.angle.accent-gray-light .caption-padding{
	padding-right: 20px;
	}

			.feature-photo-section .caption-padding{
			position: absolute;
			width: 100%;
			padding-right: 0;
			padding-left: 60%;
			box-sizing:border-box;
			margin: 0 auto;
			top:0;
			bottom: 0;
			display: flex;
			flex-direction: column;
			justify-content: center;
			}
			
			.accent-black .caption-padding{
			padding-right: 20px;
			}
			
			.feature-photo-section .caption-text{
			}
	
			.feature-photo-section .caption-text:before{
			content: '';
			display: block;
			float: left;
			width: 30%;
			height: 2px;
			}
		
		@media (max-width: 1300px){	
			.feature-photo-section .caption.large .caption-text{
			padding-bottom: 6%;
			}
		}
		
		@media (max-width: 1000px){	


		}
		
		@media (max-width: 760px){	
			
	
			
			.feature-photo-section .caption{
			display: block;
			position: relative;
			color:#000;
			padding-top: 0;
			margin-top: -3%;
			margin-bottom: 1em;
			padding-bottom: 0;
			text-shadow: none;
			}
						
			.feature-photo-section .caption-padding{
			position: relative;
			padding-left: 20px;
			padding-right: 20px;
			display: block;
			}
			
			.feature-photo-section .caption.large .caption-text{
			padding: 0;
			}
			
			.caption:before{
			width: 50%;
			}
			.feature-photo-section .caption-text:before{
			width: 4 0%;
			}
			
			.section + .feature-photo-section.angle.has-caption + .section:not(.margin-top){
			margin-top: 10%;
			}

			.section + .feature-photo-section.angle.has-caption:after{
			transform: skewY(-6deg);
			height: 100%;
			padding: 0;
			top:auto;	
			}
			
				.section + .feature-photo-section.angle.has-caption .caption{
				color: #fff;
				padding-bottom: 4px;
				}
			
			
			.page-heading + .feature-photo-section.angle.has-caption:after{
			content: none;
			}
			

		}
			



.lead{
font-size: 1.5em;
}


.z-index-2{z-index: 2;}
.z-index-3{z-index: 3;}
.z-index-6{z-index: 6;}
.z-index-8{z-index: 8;}
.z-index-10{z-index: 10;}
.z-index-12{z-index: 12;}
.z-index-14{z-index: 14;}
.z-index-16{z-index: 16;}
.z-index-18{z-index: 18;}


.related,
.related h2,
.related h3,
.related a{
color:white;
}

.related a:hover{
color: #E7CCCD !important;
}

.related.angle:before{
background: #9E0000;
}

.related.angle.accent-bottom-right:after{
}

/*Services icons*/

.related .Cutting		{background-image:url(images/icons/Cutting.svg)			}		
.related .Wall-Cutting   {background-image:url(images/icons/Wall-Cutting.svg)	}	
.related .Coring         {background-image:url(images/icons/Coring.svg)			}	
.related .Wire-Sawing	{background-image:url(images/icons/Wire-Sawing.svg)		}
.related .Demolition		{background-image:url(images/icons/Demolition.svg)		}
.related .Radar			{background-image:url(images/icons/Radar.svg)		}
.related .Robot			{background-image:url(images/icons/Robot.svg)		}

.Cutting		{background-image:url(images/icons/Cutting-red.svg)			}		
.Wall-Cutting   {background-image:url(images/icons/Wall-Cutting-red.svg)	}	
.Coring         {background-image:url(images/icons/Coring-red.svg)			}	
.Wire-Sawing	{background-image:url(images/icons/Wire-Sawing-red.svg)		}
.Demolition		{background-image:url(images/icons/Demolition-red.svg)		}
.Radar			{background-image:url(images/icons/Radar-red.svg)		}
.Robot			{background-image:url(images/icons/Robot-red.svg)		}

.Renovations		{background-image:url(images/icons/Renovations-red.svg)			}		
.Basement-Window-Door   {background-image:url(images/icons/Basement-Window-Door-red.svg)	}	
.Excavation         {background-image:url(images/icons/Excavation-red.svg)			}	
.Skidsteer		{background-image:url(images/icons/Skidsteer-red.svg)		}
.Snow			{background-image:url(images/icons/Snow-red.svg)		}


.background-white{
background: white;
}



@media (max-width: 760px){	
	.services.multiple{
	text-align: center;
	}
}


	.services ul,
	ul.services{
	text-align: left;
	margin: 0;
	padding: 0;
	font-size: 1.2em;
	}
	
	.services.multiple ul{
	display: inline-block;
	}

	@media (min-width: 1400px){	
		.services ul,
		ul.services{
		font-size: 1.4em;
		}
	}


	
		.services li{
		margin: 5px 0;
		padding: 0;
		list-style-type: none;
		line-height: 1.3;
		}
	
	.services ul a{
	text-decoration: none;
	padding:10px;
	padding-left: 70px;
	height: 70px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	
	background-repeat: no-repeat;
	background-position: 0px center;
	border-radius: 8px;
	padding-top: 0;
	padding-bottom: 0;
	}
	

	ul.services a:hover,
	.services ul a:hover{
	color:#FF0000;
	}

	@media (min-width: 1200px){	
		.services .content{
		display: flex;
		justify-content: space-between;
		}

	}



.column{
width:49.5%;
display:inline-block;
vertical-align:top;	
box-sizing: border-box;
}

.column-group .content-padding{
display: flex;
justify-content: space-between;
}

.column-group.vertical-align-middle .content-padding{
align-items: center;
}

.column.left{
padding-right:2.5%;
}
.column.right{
padding-left:2.5%;
}

.vertical-align-middle .column{
vertical-align: middle;
}

.column.vertical-align-middle{
vertical-align: middle;
}

.vertical-align-middle p:last-child{
margin-bottom: 0;
}


.heading-left .column.left{
width: 32%;
text-align: right;
}

.heading-left .column.right{
width: 66%;
}

.columns-3{
width:30%;
display:inline-block;
vertical-align:top;	
box-sizing: border-box;
}
.columns-3.left{
padding-right: 1%
}
.columns-3.middle{
padding-left: 0.5%;
padding-right: 0.5%;
}
.columns-3.right{
padding-left: 1%
}

.icon-list ul{
list-style-type: none; 
padding:0;
font-size: 1.3em;
}

	.icon-list li{
	position: relative;
	padding:5px 5px 10px 90px;
	min-height: 60px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	}

	.icon-list a{
	text-decoration: none;


	}
	
	.icon-list img{
	margin-right: 10px;
	width: 80px;
	vertical-align: middle;
	left: 0;
	top:0;
	position: absolute;
	}




.form-column-single .gfmc-column{
display: block !important;
width: 100% !important;
}


@media (max-width: 1000px){	
	.heading-left h2{
	font-size: 3vw;
	}
}


@media (min-width: 1000px) AND (max-width: 1400px){	
	.heading-left h2{
	font-size: 2vw;
	}
}


@media (min-width: 1200px){	
	.column-third-1.column{
	width: 32%;
	}
	.column-third-2.column{
	width: 66%;
	}
}

a{
color:#8D0006;
-webkit-transition:0.3s;
transition:0.3s;
}

a:hover{
color:#CD2027;
}

a.button{ 
color:#CD2027;
text-decoration: none;
text-transform: uppercase;
border:1px solid #CD2027;
display: inline-block;
align-self:flex-start;
padding: 2px 10px;
border-radius: 0.3em;
margin-top: 0.5em;
}

a.button:hover{
background:#CD2027;
color: white;
}

a.button.solid{
background: #CD2027;
color:white;
padding: 0.25em 0.75em;
letter-spacing: 0.07em;
}

a.button.solid:hover{
background: white;
color: #CD2027;
}


h2 a,
h3 a{
text-decoration: none;
}

.text-align-right{
text-align: right;
}

.no-break{
white-space: nowrap;
}


input[type=submit]{
font-family: Roboto, sans-serif;
background:#CD2027;	
color:white;
border:0;
cursor:pointer;
padding:8px 20px 8px 20px;
font-size:16px;
font-weight:bold;
letter-spacing: 1px;
text-transform:uppercase;
-webkit-transition:0.3s;
transition:0.3s;
border-radius: 4px;
-webkit-appearance: none;
}
input[type=submit]:hover{
background:#FF0000;
}

form label{
font-weight: normal;
box-sizing: border-box !important;
}

.dark input[type=text],
.dark textarea{
background: #666 !important;
border: 1px solid #999 !important;
}

.related .gfield_required{
color:#fff !important;
}

.angle.background-black:before{
background: black;
}

hr{
border:none;
border-bottom:1px solid #ccc;
background:none;
height:1px;
margin: 1em auto 2em auto;
padding:0;
position:relative;
display:block;	
clear:both;
}

.clear{
clear:both;
}
.clear:after{
content:'';
display:block;
clear:both;	
}

.alignright{
float:right;
margin:0 0 0 16px;
}

.alignleft{
float:left;
margin: 0 16px 0 0;	
}

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

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

a img{
border:none;
}

p + ul{
margin-top:-0.5em;	
}

.caption,
.wp-caption-text{
font-style: italic;
font-family: sans-serif;
font-size:0.85em; 
}

.wp-caption {
display: inline-block;
vertical-align: bottom;
text-align: center;
margin: 1em;
width: auto !important;
}


sup,
sub {
height: 0;
line-height: 1;
vertical-align: baseline;
_vertical-align: bottom;
position: relative;
_position:static;
font-size:0.8em;
}
sup{
bottom:0.75em;	
}
sub{
bottom:-0.5em;
}

.wp-video{
margin-bottom: 0.5em;
}

ol.columns,
ul.columns{
-moz-column-count:2;
-webkit-column-count:2;
column-count:2;	

-moz-column-gap:50px;
-webkit-column-gap:50px;
column-gap:50px;
margin-left:0;
break-inside: avoid-column;
-webkit-column-break-inside: avoid;
}



.columns li{
-webkit-column-break-inside: avoid;
page-break-inside: avoid;
break-inside: avoid;
}



expander-head{
cursor:pointer;
}
 expander-head:hover{
color:#950F00;
}

.expander-head{
cursor:pointer;	
}

.expander-head {
margin:0;
padding:8px 0;
display: flex;
align-content: center;
}

.expander-head h3{
color:black;
margin: 0 !important;
text-transform: none;
font-family: Roboto, sans-serif;
}

.expander-head:before{
padding: 0 4px 0 0;
align-self: center;
width: 10px;
transition: 0.3s;
transform-origin: center;
}

.expander-head.open:before{
transform: rotate(90deg);
}

.expander-content{
padding: 0 0 1.5em 16px;

}

.supports-js .expander-content{
display:none;
border-bottom: 1px solid #BCACA0;
}


/*Blog*/

.article-title a{
text-decoration: none;
color: #CD2027;
}
.article-title a:hover{
text-decoration: underline;
}

.blog-article video{
margin: 2em auto;
}

main .blog-article .gallery{
background: white;
margin: 2em auto !important;
}

main .blog-article .gallery dt{
transform-origin: 50%;
}

main .blog-article .gallery dd{
color: #666;
margin-top: 0;
}

.post-entry:not(.post-entry-1) .blog-banner {
margin-top: 3em;
overflow: hidden;
}




/*Pagination*/

.pagination{
text-align:center;	
}


.pagination a,
.pagination .page-numbers{
border-radius:4px;
text-decoration:none;
border:none;
padding:4px 12px;
margin: 0 2px;
color:#333;
display: inline-block;
}

.pagination a:hover{
background:#EAE6E1;	
}

.pagination .current{
background:#CD2027;
color:white;
text-align:center;
}


#blog-pagination{
padding: 20px;
}


a[name]:target {
  display: block;
  position: relative;
  top: -160px; 
  visibility: hidden;
}

#testimonials-gallery {
text-align:center;
}

#testimonials-gallery .item{
width:100%;
}
#testimonials-gallery img{
border:1px solid #D3C9C1;
}


/*::: SOHO Quote form :::*/

#crmWebToEntityForm{
width: auto !important;
max-width:  600px !important;
padding: 0 !important;
}

	#crmWebToEntityForm table{
	width: 100% !important;
	margin: auto !important;
	}
		
		#crmWebToEntityForm br{
		display: none;
		}
		
		#crmWebToEntityForm{
		margin: auto;
		max-width: 700px;
		}
		
		#crmWebToEntityForm input[type="reset"]{
		display: none;
		}
		
		#crmWebToEntityForm input[type="submit"]{
		color: white !important;
		}
		
		#crmWebToEntityForm  td{
		width:  auto !important;
		vertical-align: top !important;
		font-size: 1em !important;
		}
		
		#crmWebToEntityForm input[type="text"],
		#crmWebToEntityForm select,
		#crmWebToEntityForm textarea{
		min-width: 450px;
		font-family: Roboto, sans-serif !important;
		font-size: 1em !important;
		padding: 6px;
		box-sizing: border-box;
		border:1px solid #aaa !important;
		border-radius: 4px;
		}
		
		#crmWebToEntityForm textarea{
		min-height: 100px;
		}
		
		/*Submit button align right*/
		#crmWebToEntityForm tr:last-child td{
		text-align: left !important;
		}
		
		/*Select*/
		#crmWebToEntityForm select[multiple]{
		min-height: 150px;
		}
		
		#crmWebToEntityForm option{
		padding: 4px;
		position: relative;
		}
		
		#crmWebToEntityForm option:before{
		content: '';
		display: inline-block;
		width: 20px;
		height: 20px;
		vertical-align: middle;
		border:1px solid #999;
		border-radius: 4px;
		margin-right: 0.5em;
		background: url("images/check.svg") white;
		background-size: contain;
		box-sizing: border-box;
		}
		
		#crmWebToEntityForm option:checked{
		background: red !important;
		}
		
		#crmWebToEntityForm option:checked:before{
		background-color: #CD2027;
		border-color:transparent;
		}
		
		/*Hide form title*/
		#crmWebToEntityForm tr:first-child{
		display: none;
		}
		
		
		/*Buttons*/
		.zcwf_button{
		max-width: none !important;
		padding: 8px 20px 8px 20px !important;
		border: none !important;
		white-space: normal !important;
		}
		
		/*Fields*/
		
		.zcwf_lblTopBottom .zcwf_col_fld input[type="text"], 
		.zcwf_lblTopBottom .zcwf_col_fld textarea,
		.zcwf_lblTopBottom .zcwf_col_fld_slt{
		width: 100% !important;
		float: none !important;
		}
		
		
		.zcwf_col_help{
		width: 100% !important;
		display: block !important;
		float: none !important;
		max-width: none !important;
		}
		
		
@media (max-width: 1000px){	
	#crmWebToEntityForm input[type="text"],
	#crmWebToEntityForm select,
	#crmWebToEntityForm textarea{
	min-width: 400px;
	}
}

@media (max-width: 720px){
	#crmWebToEntityForm input[type="text"],
	#crmWebToEntityForm select,
	#crmWebToEntityForm textarea{
	min-width: 0;
	}

	#crmWebToEntityForm td{
	display: block;
	text-align: left !important;
	padding-bottom: 0;
	}
}

main table{
border-collapse:collapse;
margin-bottom:1em
}

th{
color:white;
background: #BB1515;
padding: 0.25em 0.75em;
text-align: left;
}

td{
padding: 0.25em 0.75em;
border: 1px solid #ddd;
}

td:not(:first-child){
border-left:none;
}
	
tr:nth-child(odd) td{
background: #eee;
}

.rental table{
width:100% !important;
}

.section.rental-rates{
z-index: 2;
}

main table,
main th,
main tr{
width: auto !important;
height: auto !important;
}

main td p:last-child{
margin-bottom: 0;
}

a [href^="tel:"]{
white-space:nowrap;
}

@media (max-width: 1100px){
	main table{
	display: block;
	overflow-x: auto;
	white-space: nowrap;
	}
}

.rental-inquiry .button{
margin-right:0.2em;
}

.rental-inquiry .no-break{
line-height:2.5;
}

.ntspm{
display: none;
}



/*Slides*/
.banner-slides{
padding: 0 !important;
height: 700px !important;
overflow: hidden !important;
}

html body .banner-slides.ls-overflow-visible, 
html#ls-global .banner-slides.ls-overflow-visible, 
body#ls-global .banner-slides.ls-overflow-visible, 
#ls-global .banner-slides.ls-overflow-visible{
overflow: hidden !important;
}

@media (max-width: 1200px){	
	.banner-slides{
	height: auto !important;
	aspect-ratio: 4/3;
	}
}

@media (max-width: 1000px){
	.banner-slides{
	aspect-ratio: 4/2;
	}
}


.banner-slides .slides,
.banner-slides .content-padding{
width: 100%;
height: 100%;
position: absolute !important;
z-index: 1;
top:0;
left: 0;
}

	.banner-slides .content{
	width: 100%;
	height: 100%;
	}

.banner-slides .ls-fullscreen-wrapper{
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
overflow: hidden;
}

	.banner-slides .ls-wp-container{
	margin: 0 !important;
	width: 100% !important;
	height: 100% !important;
	}

