/**************************************************************************
                                Global Styles
                                
New Pallete Colors:

black	#363636
Green 	#2EA343
ltGrey	#979797


// Small devices (landscape phones, 576px and up)
@media (min-width: 576px) { ... }

// Medium devices (tablets, 768px and up)
@media (min-width: 768px) { ... }

// Large devices (desktops, 992px and up)
@media (min-width: 992px) { ... }

// X-Large devices (large desktops, 1200px and up)
@media (min-width: 1200px) { ... }

// XX-Large devices (larger desktops, 1400px and up)
@media (min-width: 1400px) { ... }


font-family: 'Lato', sans-serif;
font-family: 'Oswald', sans-serif;

***************************************************************************/

html {
	font-size: 62.5%;
	-webkit-font-smoothing: antialised;
	-moz-osx-font-smoothing: greyscale;
	height: -webkit-fill-available;
}
  
body {
	min-height: 100vh;
	min-height: -webkit-fill-available;
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 2rem;
	font-family: 'Lato', sans-serif;
	font-weight: 400;
	color: #363636;
	background-color: #ffffff;
}

div {
	position: relative;
}

*:focus {
	outline: none;
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type=number] {
	-moz-appearance: textfield;
	appearance: textfield;
}

a.btn-default,
button.btn-default {
	background-color: #2EA343;
	border: 1px solid #2EA343;
	color: #363636;
	text-transform: uppercase;
	text-decoration: none;
    font-size: 2.2rem;
	line-height: 2.4rem;
    padding: 10px 40px;
	max-width: 260px;
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	text-align: center;
	text-transform: uppercase;
	display: inline-block;
	transition: all .5s;
}

a.btn-default:hover,
button.btn-default:hover {
	background-color: #363636;
	border-color: #ffffff;
	color: #fff;
}

h1 {
	font-size: 2.9rem;
	line-height: 3.3rem;
	font-family: 'Oswald', sans-serif;
	font-weight: 700;
}

h2 {
	font-size: 2.7rem;
	line-height: 3.1rem;
	font-family: 'Oswald', sans-serif;
	font-weight: 700;
}

h3 {
	font-size: 2rem;
	line-height: 2.4rem;
	font-weight: 700;
}

p{
	font-size: 1.8rem;
	line-height: 2.2rem;
	margin: 0;
	padding: 0;
}
p a {
	color: #363636;
}

ul li {
	font-size: 1.6rem;
	line-height: 1.9rem;
	padding: 2px 0;
}

/* gravity forms clean up */ 

.gform_wrapper .gfield_label {
	margin-bottom: 2px;
}

.gform_wrapper .gform_body .gform_fields {
	grid-row-gap: 10px;
}

.gform_wrapper .gform_footer {
	display: flex;
	align-items: center;
	justify-content: center;
}

.gform_wrapper .gform_footer input.gform_button {
	background-color: #2EA343;
	border: 1px solid #2EA343;
	color: #363636;
	text-transform: uppercase;
	text-decoration: none;
    font-size: 2.2rem;
	line-height: 2.4rem;
    padding: 10px 40px;
	max-width: 260px;
	font-family: 'Oswald', sans-serif;
	font-weight: 600;
	text-align: center;
	text-transform: uppercase;
	display: inline-block;
	transition: all .5s;
}

.gform_wrapper .gform_footer input.gform_button:hover {
	background-color: #363636;
	border-color: #ffffff;
	color: #fff;
}


.gform_wrapper select {
	padding: 9px 5px;
}




@media (min-width: 768px) { 
	h1 {
		font-size: 3.5rem;
		line-height: 3.9rem;
	}
	h2 {
		font-size: 3.3rem;
		line-height: 3.7rem;
	}
	h3 {
		font-size: 2.5rem;
		line-height: 2.9rem;
	}

	p{
		font-size: 2rem;
		line-height: 2.4rem;
	}
	ul li {
		font-size: 2rem;
		line-height: 2.3rem;
	}
	#adc-form .gform_wrapper .gform_footer {
		justify-content: left;
	}
}

@media (min-width: 1200px) { 
	h2 {
		font-size: 3.6rem;
		line-height: 4rem;
	}
	p{
		font-size: 2.1rem;
		line-height: 2.8rem;
	}
}


/******************************************************************************
							Modules
******************************************************************************/

.image-copy-module {
	padding: 15px;
}

.image-copy-module .icm-img-cont {
	margin-bottom: 25px;
}

.image-copy-module .icm-img-cont img {
	display: block;
	box-shadow: 5px 5px 10px 0 rgba(0,0,0,0.30);
	margin: 0 auto;
}

.image-copy-module .icm-copy-cont h2 {
	margin-bottom: 10px;
}

.image-copy-module .icm-copy-cont p {
	margin-bottom: 20px;
}

@media (min-width: 992px) {
	.image-copy-module .icm-copy-cont {
		padding: 30px;
	}
}

@media (min-width: 1200px) {
	.image-copy-module .icm-copy-cont {
		padding: 50px;
	}
}


/******************************************************************************
							Main Navigation
******************************************************************************/


#menu-ham {
	z-index:1100;
	position: fixed;
	right: 20px;
	bottom: 15px;
	width: 80px;
	height: 80px;
	border-radius: 40px;
	border:2px solid #fff;
	background-color: #2EA343;
	-webkit-box-shadow: 0px 4px 10px 0px rgba(0,0,0,0.5); 
	box-shadow: 0px 4px 10px 0px rgba(0,0,0,0.5);
}


#menu-ham a {
	display: block;
	padding: 17px 15px;
}


#menu-ham a svg { 
	width: 45px;
	height: 40px;
	fill: rgba(255,255,255,1);
	transition: all .5s;
}

rect.top-rec {
	width: 75px;
	height: 10px;
	transform:translate(43px,0px);
	transition: all .5s;
}

rect.mid-rec {
	width: 95px;
	height: 10px;
	transform:translate(24px,25px);
	opacity: 1;
	transition: all .5s;
}
rect.btm-rec {
	width: 118px;
	height: 10px;
	transform:translate(0px,50px);
	transition: all .5s;
}

.menu-open body, html.menu-open { 
    overflow: hidden; 
}

.menu-open rect.mid-rec {
	opacity: 0;
}

.menu-open #menu-ham rect.top-rec,
.menu-open #menu-ham a:hover rect.top-rec  {
	width: 100px;
	transform:translate(28px,-12px)rotate(45deg);
}
.menu-open #menu-ham rect.btm-rec,
.menu-open #menu-ham a:hover rect.btm-rec  {
	width: 100px;
	transform:translate(18px,58px)rotate(-45deg);
}

.menu-open #main-nav {
	bottom: 0;
}


#main-nav {
	position: fixed;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index:1000;
	height: 100vh;
	width: 100%;
	bottom: -2000px;
	background-color: #363636;
	transition: all .25s ease-out; 
}

.menu-main-container {
	width: 100%;
}

#main-nav ul {
	padding: 0 20px;
	margin: 0;
	list-style: none;
}

#main-nav ul li {
	width: 100%;
	text-align: center;
}

#main-nav ul li a {
	display: block;
	color:#fff;
	text-decoration: none;
	font-family: 'Oswald', sans-serif;
	width: 100%;
	font-weight: 500;
	font-size: 3.2rem;
	line-height: 3.2rem;
	padding: 10px 0;
	transition: all .25s;
}

#main-nav ul li.gaq-btn a {
	background-color: #2EA343;
	border: 1px solid #2EA343;
	color: #363636;
	text-transform: uppercase;
    font-size: 3rem;
    padding: 10px 40px;
    margin: 20px 0;
	max-width: 260px;
    display: inline-block;
}


#phone-bar {
	display: none;
	background-color: rgba(255,255,255,.9);
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 40px;
	text-align: center;
	z-index: 1200;
	transition: all .25s ease-out; 
}

#phone-bar a {
	color:#363636;
	font-weight: 700;
	font-style: italic;
	font-size: 2.4rem;
	text-transform: uppercase;
	display: inline-block;
	padding: 10px 0;
	text-decoration: none;
	margin-right: 1%;
	opacity: 1;
	transition: all .5s;
}

#logo-cont {
	position: fixed;
	width: 100%;
	height: auto;
	top: 0;
	left: 0;
	z-index: 1100;
	background: rgba(46, 163, 67, 1);
	border-bottom: 2px solid rgba(0,0,0,.65);
	overflow: hidden;
	transition: all .25s ease-out; 
}
.logo a {
	display: block;
	width: 100%;
	text-align: left;
	padding: 20px 0 15px 12%;
}

.logo a img {
	height: 30px;
	filter: drop-shadow(0 0 1rem rgba(255,255,255,.65));
}

.sm-strip {
	width: 20px;
	height: 70px;
	position: absolute;
	top:0;
	transform: skew(-20deg);
	display: block;
}

.strip1 {
	background-color: #000;
	right: 92%;
}
.strip3 {
	background-color: #000;
	right: calc(92% + 25px);
}

@media (min-width: 425px) {
	#main-nav ul li a {
		font-size: 4.2rem;
		line-height: 4.2rem;
		padding: 12px 0;
	}
}

@media (min-width: 846px) {
	#main-nav ul li.mobile-phone {
		display: none;
	}
	#menu-ham {
		display: none;
	}

	#phone-bar {
		display: block;
		text-align: right;
	}

	.scrolled #phone-bar {
		top: -30px;
	}

	.scrolled #phone-bar a {
		opacity: 0;
	}

	#main-nav {
		position: fixed;
		top: 40px;
		left: 0;
		bottom: auto;
		width: 100%;
		height: 60px;
		z-index: 1000;	
	}

	.scrolled #main-nav {
		top: 10px;
	}

	.menu-main-container {
		align-self:center;
		width: 99%;
		text-align: right;
		margin-right: 1%;
	}
	
	#main-nav ul {
		padding: 0;
		margin: 0;
		list-style: none;
	}
	
	#main-nav ul li {
		width: auto;
		text-align: center;
		display: inline-block;
	}
	
	#main-nav ul li a {
		display: inline-block;
		color:#fff;
		text-decoration: none;
		font-family: 'Oswald', sans-serif;
		width:auto;
		font-weight: 500;
		font-size: 2rem;
		line-height: 2.5rem;
		padding: 0 7px;
		transition: all .25s;
	}

	#main-nav ul li a:hover {
		color: #2EA343;
	}

	#main-nav ul li a span {
		display: none;
	}

	
	#main-nav ul li.current_page_item a {
		color: #2EA343;
	}

	#main-nav ul li.gaq-btn a {
		background-color: #2EA343;
		border: 1px solid #2EA343;
		text-transform: uppercase;
		font-size: 1.8rem;
		padding: 5px 15px;
		margin: 0 0 0 10px;
		max-width: 260px;
		color: #363636;
		display: inline-block;
	}

	#main-nav ul li.gaq-btn a:hover {
		background-color: #363636;
		border-color: #fff;
		color: #fff;
	}

	#logo-cont {
		position: fixed;
		display: flex;
		width:315px;
		height: 80px;
		top: 30px;
		left: auto;
		right: 68%;
		z-index: 1300;
		background:transparent;
		border-bottom: none;
		overflow:visible;
	}

	.scrolled #logo-cont {
		top: 0;
	}

	.logo-green-strip {
		width: 250px;
		height: 80px;
		background-color: #2EA343;
		transform: skew(-20deg);
		position: absolute;
		right: 20px;
		box-shadow: 4px 4px 10px 0px rgba(0,0,0,0.5);
	}

	.logo {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		width: 100%;
	}

	.logo a {
		display: block;
		width: 192px;
		height: 52px;
		padding: 0;
		margin-right: 40px;
	}

	img.asp {
		position: relative;
		left: 22px;
	}

	img.drvco {
		position: relative;
		top: -5px;
	}

	.sm-strip {
		width: 20px;
		height: 80px;
		position: absolute;
		top:0;
		transform: skew(-20deg);
		display: block;
	}
	
	.strip1 {
		background-color: #000;
		right: 74%;
	}
	.strip3 {
		background-color: #000;
		right: calc(74% + 36px);
	}

}


@media (min-width: 1088px) {
	#main-nav {
		height: 80px;	
	}

	.menu-main-container {
		width: 97%;
		margin-right: 3%;
	}

	#phone-bar a {
		margin-right: 3.5%;
	}

	#main-nav ul li a {
		font-size: 2.6rem;
		line-height: 3.5rem;
		padding: 0 10px;
	}

	#main-nav ul li.gaq-btn a {
		font-size: 2rem;
		padding: 5px 20px;
		margin: 0 0 0 10px;
	}

	#logo-cont {
		width:400px;
		height: 100px;
		right: 70%;
	}

	.logo-green-strip {
		width: 275px;
		height: 100px;
	}


	.logo a {
		display: block;
		width: 222px;
		height: 60px;
		padding: 0;
		margin-right: 48px;
	}

	.logo a img {
		height: 35px;
	}

	.sm-strip {
		width: 20px;
		height: 100px;
		box-shadow: 4px 4px 10px 0px rgba(0,0,0,0.5);
	}
	
	.strip1 {
		right:303px;
	}

	.strip2 {
		background:#2EA343;
		right: 331px;
	}
	.strip3 {
		right: 359px;
	}


}

@media (min-width: 1314px) {

	#main-nav ul li a {
		font-size: 2.8rem;
		line-height: 3.8rem;
		padding: 0 20px;
	}

	#main-nav ul li.gaq-btn a {
		font-size: 2.5rem;
		padding: 5px 35px;
		margin: 0 0 0 10px;
	}

	#logo-cont {
		right: 73%;
	}
}

@media (min-width: 1400px) {

	.menu-main-container {
		width: 95%;
		margin-right: 5%;
	}

	#phone-bar a {
		margin-right: 5.5%;
	}

}

@media (min-width: 1640px) {
	#main-nav ul li a span {
		display: inline-block;
	}
}

@media (min-width: 1800px) {

	.menu-main-container {
		width: 90%;
		margin-right: 10%;
	}

	#phone-bar a {
		margin-right: 10.5%;
	}
}





/******************************************************************************
							Footer
******************************************************************************/
#quotes {
	background: rgb(46,163,67);
	background: linear-gradient(-2deg, rgba(46,163,67,1) 78%, rgba(255,255,255,1) calc(78% + 1px));
	padding: 140px 0 0;
	margin-bottom: -60px;
}

.quote-cont .stars {
	text-align: center;
	margin-bottom: 0;
}

.quote-cont .stars img {
	height: 40px;
}

.quote-cont .quote {
	font-weight: 700;
	font-style: italic;
	font-size: 2rem;
	line-height: 2.2rem;
	color: #fff;
	padding: 15px 15px 30px;
	text-align: center;
}

.quote-cont .author {
	display: none;
}

.quote-cont .quote::before {
	content:"“";
}
.quote-cont .quote::after {
	content:"”";
}

.cnt a {
	display: block;
	text-align: center;
	color:#fff;
	font-weight: 900;
	text-decoration: none;
	font-style: italic;
	font-size: 3rem;
	line-height: 3.5rem;
	text-shadow: 3px 3px 8px rgba(0,0,0,0.80);
}


footer {
	background: rgb(0,0,0);
	background: linear-gradient(2deg, rgba(54,54,54,1) 79%, rgba(46,163,67,1) calc(79% + 1px));
	padding: 150px 0 40px;
}

footer h2 {
	font-family: Oswald-Bold;
	font-size: 2.8rem;
	line-height: 3.2rem;
	color: #FFFFFF;
	text-align: center;
	margin-bottom: 20px;
}
footer h2 span {
	display: block;
}

footer h4 {
	font-weight: 700;
	font-size: 2rem;
	line-height: 2.5rem;
	color: #FFFFFF;
	text-align: center;
}

footer h4 span {
	padding: 0 8px;
	font-size: 12px;
	vertical-align:text-top;
}

footer address {
	margin: 20px 0;
}

footer address h5 {
	color: #fff;
	text-align: center;
	font-size: 2rem;
	line-height: 2.2rem;
}
footer address a {
	color: #fff;
	text-decoration: none;
	text-align: center;
	font-size: 2rem;
	line-height: 2.5rem;
	opacity: 1;
	display: block;
}

a.emailus {
	color: #fff;
	text-decoration: none;
	text-align: center;
	font-size: 2rem;
	line-height: 2.5rem;
	opacity: 1;
	display: block;
}

footer address a:hover,
a.emailus:hover {
	opacity: .5;
}

footer .btn-default {
	display: block;
	margin: 20px auto 0;
}

#copyright {
	background:#ffffff;
	color: #363636;
	padding: 10px 0;
}

.cppc span {
	display: block;
}

.cppc a {
	display: block;
	color: #363636;
	opacity: 1;
	text-decoration: underline;
	padding: 2px 0;
}

span.cppc-bull {
	display:none;
}


@media (min-width: 576px) {
	footer h2 span {
		display: inline-block;
	}

	.cnt a {
		font-size: 4rem;
		line-height: 4.5rem;
	}
	
}

@media (min-width: 768px) {
	footer h2 {
		font-size: 3.3rem;
		line-height: 3.5rem;
	}
	.cnt a {
		font-size: 5rem;
		line-height: 5.5rem;
	}
	.cppc {
		text-align: center;
	}
	
	.cppc a {
		display: inline-block;
		text-decoration: none;
		padding: 2px 0;
	}

	.cppc a:hover {
		text-decoration: underline;
	}

	.cppc span {
		display: block;
	}
	.cppc span.cppc-bull {
		display:inline-block;
		padding: 0 4px;
	}
	.cppc span.first-bull{
		display: none;
	}
	
}

@media (min-width: 992px) {
	.quote-cont .quote {
		font-size: 3rem;
		line-height: 3.4rem;
	}

	.cppc span {
		display: inline-block;
	}
	.cppc span.first-bull{
		display: inline-block;
	}
	#quotes {
		margin-bottom: -30px;
	}
}

@media (min-width: 1200px) {
	#quotes {
		margin-bottom: -20px;
	}
}


/******************************************************************************
							Homepage
******************************************************************************/


#hero-image-cont{
	position: relative;
}
.hero-image {
	height:80vh;
	min-height: 550px;
	width:100%;
	overflow: hidden;
	background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}
.hero-image .image-copy-cont {
	position: absolute;
	top: 48%;
	left: 5%;
	width: 80%;
}
.hero-image .image-copy-cont h2 {
	position: relative;
	color: #fff;
	font-family: 'Lato', sans-serif;
	font-size: 3.5rem;
	line-height: 3.8rem;
	font-weight: 900;
	font-style: italic;
	text-transform:uppercase;
	text-shadow: 3px 3px 8px rgba(0,0,0,0.80);
	margin: 0;
	z-index: 100;
}

.hero-image .image-copy-cont .long-bar {
	position: absolute;
	background-color: #363636;
	top: -14px;
    left: -14%;
    height: 117px;
    width: 117%;
	display: block;
	z-index: 99;
	transform: skew(-20deg);
}

.hero-image .image-copy-cont .sm-bar {
	position: absolute;
	background-color: #363636;
    height: 117px;
    width: 20px;
	display: block;
	z-index: 99;
	transform: skew(-20deg);
}

.smb1 {
	top: -14px;
    left: 105%;
}

.smb2 {
	top: -14px;
    left: calc(105% + 27px);
}

@media (min-width: 576px) {

	.hero-image .image-copy-cont {
		width: 75%;
	}

	.hero-image .image-copy-cont h2 {
		font-size: 4.6rem;
		line-height: 4.9rem;
	}

	.hero-image .image-copy-cont .long-bar {
		top: -14px;
		left: -20%;
		height: 142px;
		width: 117%;
	}

	.hero-image .image-copy-cont .sm-bar {
		height: 142px;
	}

	.smb1 {
		top: -14px;
		left: 99%;
	}
	
	.smb2 {
		top: -14px;
		left: calc(99% + 27px);
	}
	
}

@media (min-width: 745px) {
	.hero-image .image-copy-cont {
		width: 58%;
	}

	.hero-image .image-copy-cont .long-bar {
		width: 124%;
	}

	.smb1 {
		top: -14px;
		left: 106%;
	}
	
	.smb2 {
		top: -14px;
		left: calc(106% + 27px);
	}
}

@media (min-width: 992px) {


	.hero-image .image-copy-cont {
		top: 60%;
	}

	.hero-image .image-copy-cont .long-bar {
		top: -14px;
		left: -20%;
		height: 94px;
		width: 126%;
	}

	.hero-image .image-copy-cont .sm-bar {
		height: 94px;
	}

	.smb1 {
		left: 107.5%;
	}
	
	.smb2 {
		left: calc(107.5% + 27px);
	}

}

@media (min-width: 1200px) {
	.hero-image .image-copy-cont {
		left: 120px;
		width: 58%;
	}

	.hero-image .image-copy-cont h2 {
		font-size: 5rem;
		line-height: 5.3rem;
		max-width: 700px;
	}
	.hero-image .image-copy-cont .long-bar {
		height: 100px;
		max-width: 875px;
		left: -140px;
	}

	.hero-image .image-copy-cont .sm-bar {
		height: 100px;
	}

	.smb1 {
		left: 745px;
	}
	
	.smb2 {
		left: 774px;
	}
}


#services-cont {
	display: block;
	background-repeat: repeat;
	background-image: url(../img/concrete-bkg.webp);
	background-image: linear-gradient(6deg,rgba(255,255,255,1)25%,rgba(206,206,206,.5) calc(25% + 1px)),url(../img/concrete-bkg.webp);
}

#services-cont .scc {
	background-color: #fff;
	padding: 0;
	margin: 3% 6%;
	width:88%;
	box-shadow: 0px 0px 11px 0px rgba(0,0,0,0.75);
}

#services-cont .scc.asphalt {
	margin-top: -50px;
}

.scc .scc-copy {
	padding: 0 15px 15px;
	text-align: center;
}

.scc .scc-copy h2 {
	font-family: 'Oswald', sans-serif;
	font-weight: 700;
	font-size: 3.5rem;
	line-height: 3.8rem;
	margin: -25px auto 10px;
	color: #363636;
	background: transparent;
	text-shadow: 2px 2px 0 #ffffff, 2px -2px 0 #ffffff, -2px 2px 0 #ffffff, -2px -2px 0 #ffffff, 2px 0px 0 #ffffff, 0px 2px 0 #ffffff, -2px 0px 0 #ffffff, 0px -2px 0 #ffffff;
}

.scc .scc-copy p {
	font-size: 1.8rem;
	line-height: 2rem;
	margin-bottom: 20px;
}

@media (min-width: 576px) {
	.scc .scc-copy h2 {
		font-size: 4.5rem;
		line-height: 4.8rem;
		margin: -25px auto 20px;
		text-shadow: 3px 3px 0 #ffffff, 3px -3px 0 #ffffff, -3px 3px 0 #ffffff, -3px -3px 0 #ffffff, 3px 0px 0 #ffffff, 0px 3px 0 #ffffff, -3px 0px 0 #ffffff, 0px -3px 0 #ffffff;
	}
}

@media (min-width: 768px) {
	#services-cont {
		background-image: linear-gradient(6deg,rgba(255,255,255,1)45%,rgba(206,206,206,.5) calc(45% + 1px)),url(../img/concrete-bkg.webp);
	}
	
	#services-cont .scc {
		margin: -50px 2% 2%;
		width: 46%;
	}

	.scc .scc-copy h2 {
		font-size: 4rem;
		line-height: 4.3rem;
		margin: -25px auto 15px;
	}
}

@media (min-width: 1200px) {
	#services-cont {
		background-image: linear-gradient(4deg,rgba(255,255,255,1)35%,rgba(206,206,206,.5) calc(35% + 1px)),url(../img/concrete-bkg.webp);
	}

	.scc .scc-copy h2 {
		font-size: 5rem;
		line-height: 5.3rem;
		margin: -33px auto 15px;
	}

	.scc .scc-copy p {
		font-size: 2.2rem;
		line-height: 2.6rem;
		margin-bottom: 20px;
	}
}

#page-intro {
	padding: 50px 0 20px;
}

#page-intro h1 {
	text-align: center;
	margin-bottom: 10px;
}

#page-intro p {
	text-align: center;
	font-size: 2rem;
	line-height: 2.4rem;
	margin-bottom: 10px;
}

#video-cont{
	padding: 0 0 50px;
	background-image: linear-gradient(-4deg,rgba(206,206,206,.5)75%,rgba(255,255,255,1) calc(75% + 1px)),url(../img/concrete-bkg.webp);
}

#vid-cont {
	border: 1px solid #969696;
}
#vid-cont .btn-play {
	display: block;
	width: 60px;
	height: 60px;
	z-index: 100;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	opacity: 1;
	transition: all .5s;
}
#vid-cont.playing .btn-play {
	opacity: 0;
}

@media (min-width: 576px) {
	#vid-cont .btn-play {
		width: 80px;
		height: 80px;
	}
}
@media (min-width: 768px) {
	#vid-cont .btn-play {
		width: 90px;
		height: 90px;
	}
}
@media (min-width: 992px) {
	#vid-cont .btn-play {
		width: 100px;
		height: 100px;
	}
}


#about-cont {
	padding: 25px 0;
	background-image: linear-gradient(2deg,rgba(255,255,255,1)80%,rgba(206,206,206,.5) calc(80% + 1px)),url(../img/concrete-bkg.webp);
}

#financing-cont {
	padding: 25px 0;
	background-image: linear-gradient(-3deg,rgba(206,206,206,.5)82%,rgba(255,255,255,1) calc(82% + 1px)),url(../img/concrete-bkg.webp);
}

#careers-cont {
	padding: 25px 0;
	background-image: linear-gradient(2deg,rgba(255,255,255,1)75%,rgba(206,206,206,.5) calc(75% + 1px)),url(../img/concrete-bkg.webp);
}


@media (min-width: 992px) {
	#about-cont .image-copy-module .icm-copy-cont,
	#careers-cont .image-copy-module .icm-copy-cont {
		padding: 65px 0 10px 30px;
	}
	#financing-cont .image-copy-module .icm-copy-cont {
		padding: 65px 30px 10px 0;
	}
}

@media (min-width: 1200px) {
	#about-cont .image-copy-module .icm-copy-cont,
	#careers-cont .image-copy-module .icm-copy-cont {
		padding: 65px 0 10px 50px;
	}
	#financing-cont .image-copy-module .icm-copy-cont {
		padding: 65px 50px 10px 0;
	}
}

/******************************************************************************
							Contact Us 
******************************************************************************/

#contact-us {
	padding:100px 0 50px;
	background-image: linear-gradient(2deg,rgba(255,255,255,1)35%,rgba(206,206,206,.5) calc(35% + 1px)),url(../img/concrete-bkg.webp);
}

#contact-us h1 {
	margin-bottom: 10px;
}
#contact-us p {
	margin-bottom: 30px;
}


@media (min-width: 768px) {
	#contact-us {
		padding:170px 0 50px;
	}
}

@media (min-width: 1200px) {
	#contact-us {
		padding:190px 0 50px;
	}
}

/******************************************************************************
							Privacy Page 
******************************************************************************/

#privacy-page {
	padding:100px 0 50px;
	word-break: break-word;
}
#privacy-page h1 {
	margin-bottom: 20px;
}
#privacy-page h2 {
	font-size: 2.4rem;
	line-height: 2.8rem;
	font-family: 'Lato', sans-serif;
	font-weight: 700;
	margin-bottom: 10px;
}

#privacy-page p {
	margin-bottom: 10px;
}

@media (min-width: 768px) {
	#privacy-page{
		padding:170px 0 50px;
	}
}

@media (min-width: 1200px) {
	#privacy-page {
		padding:190px 0 50px;
	}
}

/******************************************************************************
							Get a Quote
******************************************************************************/

#get-quote {
	padding:100px 0 50px;
	background-image: linear-gradient(4deg,rgba(255,255,255,1)25%,rgba(206,206,206,.5) calc(25% + 1px)),url(../img/concrete-bkg.webp);
}

#get-quote p {
	margin-bottom: 20px;
}

@media (min-width: 768px) {
	#get-quote{
		padding:170px 0 50px;
		background-image: linear-gradient(3deg,rgba(255,255,255,1)28%,rgba(206,206,206,.5) calc(28% + 1px)),url(../img/concrete-bkg.webp);

	}
}

@media (min-width: 1200px) {
	#get-quote {
		padding:190px 0 50px;
	}
}

/******************************************************************************
							Services
******************************************************************************/


#services-image-cont{
	position: relative;
}
.services-image {
	height:180px;
	width:100%;
	overflow: hidden;
	background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
	background-color: #969696;
	display: flex;
	justify-content: center;
	align-items: center;
}

#services-content {
	margin-bottom: 60px;
}

.main-page-header h1 {
	font-family: 'Oswald', sans-serif;
	font-weight: 700;
	text-align: center;
	font-size: 4.5rem;
    line-height: 4.5rem;	
    margin: -35px auto 10px;
	color: #363636;
	background: transparent;
	text-shadow: 2px 2px 0 #ffffff, 2px -2px 0 #ffffff, -2px 2px 0 #ffffff, -2px -2px 0 #ffffff, 2px 0px 0 #ffffff, 0px 2px 0 #ffffff, -2px 0px 0 #ffffff, 0px -2px 0 #ffffff;
}

.main-page-content {
	padding: 30px;
	text-align: center;
}

.main-page-content h2 {
	margin-bottom: 15px;
}

.services-detail-cont {
	padding: 0 0 50px;
}
.sd-bkg-bottom-one{
    background-image: linear-gradient(-1deg,rgba(206,206,206,.5)80%,rgba(255,255,255,1) calc(80% + 1px)),url(../img/concrete-bkg.webp);
}
.sd-bkg-bottom-two{
	background-image: linear-gradient(-2deg,rgba(206,206,206,.5)80%,rgba(255,255,255,1) calc(80% + 1px)),url(../img/concrete-bkg.webp);
}
.sd-bkg-bottom-three{
	background-image: linear-gradient(-3deg,rgba(206,206,206,.5)80%,rgba(255,255,255,1) calc(80% + 1px)),url(../img/concrete-bkg.webp);
}
.sd-bkg-bottom-four{
	background-image: linear-gradient(-4deg,rgba(206,206,206,.5)80%,rgba(255,255,255,1) calc(80% + 1px)),url(../img/concrete-bkg.webp);
}
.sd-bkg-bottom-five{
	background-image: linear-gradient(-5deg,rgba(206,206,206,.5)80%,rgba(255,255,255,1) calc(80% + 1px)),url(../img/concrete-bkg.webp);
}
.sd-bkg-top-one{
	background-image: linear-gradient(1deg,rgba(255,255,255,1)80%,rgba(206,206,206,.5) calc(80% + 1px)),url(../img/concrete-bkg.webp);
}
.sd-bkg-top-two{
	background-image: linear-gradient(2deg,rgba(255,255,255,1)80%,rgba(206,206,206,.5) calc(80% + 1px)),url(../img/concrete-bkg.webp);
}
.sd-bkg-top-three{
	background-image: linear-gradient(3deg,rgba(255,255,255,1)80%,rgba(206,206,206,.5) calc(80% + 1px)),url(../img/concrete-bkg.webp);
}
.sd-bkg-top-four{
	background-image: linear-gradient(4deg,rgba(255,255,255,1)80%,rgba(206,206,206,.5) calc(80% + 1px)),url(../img/concrete-bkg.webp);
}
.sd-bkg-top-five{
	background-image: linear-gradient(5deg,rgba(255,255,255,1)80%,rgba(206,206,206,.5) calc(80% + 1px)),url(../img/concrete-bkg.webp);
}
.sd-bkg-none- {
	background-image:none;
}

.services-detail-cont .icm-copy-cont {
	max-width: 850px;
}

.services-detail-cont .icm-copy-cont h2 {
	font-size: 3.3rem;
	line-height: 3.7rem;
}


#get-a-quote-mod {
	padding: 50px 0;
	text-align:center;
}

#get-a-quote-mod h2 {
	font-size: 5.5rem;
	line-height: 5.5rem;
	margin-bottom: 15px;
}

#get-a-quote-mod p {
	max-width: 800px;
    margin: 0 auto 30px;
}


@media (min-width: 576px) {
	.main-page-header h1 {
		font-size: 6.5rem;
		line-height: 6.5rem;
		margin: -51px auto 10px;
		text-shadow: 3px 3px 0 #ffffff, 3px -3px 0 #ffffff, -3px 3px 0 #ffffff, -3px -3px 0 #ffffff, 3px 0px 0 #ffffff, 0px 3px 0 #ffffff, -3px 0px 0 #ffffff, 0px -3px 0 #ffffff;

	}
}

@media (min-width: 768px) {
	#services-content {
		margin-bottom: 100px;
	}
	.main-page-header h1 {
		font-size: 7.5rem;
		line-height: 7.5rem;
		margin: -63px auto 10px;
	}

	.services-image {
		height:250px;
	}

	.services-detail-cont .icm-copy-cont h2 {
		font-size: 4rem;
		line-height: 4.4rem;
	}
}

@media (min-width: 992px) {
	.services-detail-cont .icm-copy-cont {
		padding: 80px 30px 30px;
	}
}


@media (min-width: 1200px) {

	.main-page-header h1 {
		font-size: 9rem;
		line-height: 9rem;
		margin: -75px auto 10px;
		text-shadow: 4px 4px 0 #ffffff, 4px -4px 0 #ffffff, -4px 4px 0 #ffffff, -4px -4px 0 #ffffff, 4px 0px 0 #ffffff, 0px 4px 0 #ffffff, -4px 0px 0 #ffffff, 0px -4px 0 #ffffff
	}

	.services-image {
		height:300px;
	}

	.services-detail-cont .icm-copy-cont {
		padding: 100px 30px 30px;
	}
}


/******************************************************************************
							About Page 
******************************************************************************/

#about-main-content{
	padding: 0 25px;
}

	.hero-image-cont {
		height:300px;
		width:100%;
		margin-top: -80px;
		overflow: hidden;
		background-position: center center;
		background-size: cover;
		background-repeat: no-repeat;
		box-shadow: 0px 0px 11px 0px rgba(0,0,0,0.75);
	}

	.amc-title h1 {
		margin-bottom: 50px;
	}

	.amc-copy h2 {
		margin-bottom: 15px;
	}

	.amc-copy p {
		margin-bottom: 10px;
	}

#about-meet-team {
	padding: 50px 25px;
	background-image: linear-gradient(-4deg, rgba(206, 206, 206, .5) 50%, rgba(255, 255, 255, 1) calc(50% + 1px)), url(../img/concrete-bkg.webp);
}

	.amt-header h2 {
		margin-bottom: 15px;
	}

	.amt-team-cont {
		margin-top: 30px;
	}

		.amt-single {
			display: flex;
			flex-direction: column;
			margin:10px 0; 
			text-align: center;
		}

		.amt-single img {
			display: block;
			margin-bottom: 20px;
			box-shadow: 0px 0px 11px 0px rgba(0,0,0,0.75);

		}

		.amt-single h4 {
			font-size: 2.5rem;
			line-height: 2.8rem;
			font-weight: 700;
		}

		.amt-single p {
			font-style: italic;
			font-weight: 300;
		}

#about-ffa-cont {
	padding: 50px 25px;
	background-image: linear-gradient(2deg, rgba(255, 255, 255, 1) 80%, rgba(206, 206, 206, .5) calc(80% + 1px)), url(../img/concrete-bkg.webp);
}


	@media (min-width: 768px) {
		.hero-image-cont {
			margin-top: -100px;
			height: 450px;
		}
		.amt-single {
			padding: 0 20px;
		}

	}

	@media (min-width: 992px) {
		#about-main-content .main-page-header br {
			display: none;
		}
	}

	@media (min-width: 1200px) {
		.hero-image-cont {
			margin-top: -130px;
			height: 500px;
		}

	}




/******************************************************************************
							global flexible feature area 
******************************************************************************/
.global-ffa-cont {}
.global-ffa-cont .row {
	gap:20px;
}

	.global-ffa-cont .gffa-single {
		display: flex;
		flex-direction: column;
		padding: 0; 
		text-align: center;
		box-shadow: 0px 0px 11px 0px rgba(0,0,0,0.75);
		background-color: #fff;
		width: 100%;
		max-width: 340px;
	}

	.gffa-single .gffa-copy {
		padding: 0 10px 20px;
	}

	.gffa-single .gffa-copy h2 {
		font-family: 'Oswald', sans-serif;
		font-weight: 700;
		font-size: 3.5rem;
		line-height: 3.8rem;
		margin: -25px auto 10px;
		color: #363636;
		background: transparent;
		text-shadow: 2px 2px 0 #ffffff, 2px -2px 0 #ffffff, -2px 2px 0 #ffffff, -2px -2px 0 #ffffff, 2px 0px 0 #ffffff, 0px 2px 0 #ffffff, -2px 0px 0 #ffffff, 0px -2px 0 #ffffff;
	}

	.gffa-single .gffa-copy p {
		margin-bottom: 15px;
	}

	
	@media (min-width: 768px) {
		.global-ffa-cont .gffa-single {
			width: calc(50% - 20px);
		}
	}

	@media (min-width: 992px) {
		.global-ffa-cont .gffa-single {
			width: calc(33% - 20px);
			max-width: none;
		}
	}



/******************************************************************************
							Finanacing Page 
******************************************************************************/

#financing-main-content{}

#financing-main-content .hero-image-cont {
	background-position: center center;
}

#financing-steps {
	padding: 50px 25px;
	background-image: linear-gradient(-4deg, rgba(206, 206, 206, .5) 64%, rgba(255, 255, 255, 1) calc(36% + 1px)), url(../img/concrete-bkg.webp);
}

.steps-cont {
	display: flex;
	flex-direction: column;
	width: 100%;
	margin: 30px 0;
}

.steps-cont .step-num {
	position: absolute;
	top: 0;
	left: -43px;
}

.steps-cont .step-num span {
	display: block;
	width: 100px;
	height: 100px;
	border-radius: 50%;
	background-color: #2EA343;
	color: #fff;
	font-size: 8rem;
	font-family: 'Oswald', sans-serif;
	line-height: 93px;
	font-weight: 700;
	text-align: center;
}

.steps-cont .step-copy	{
	padding-top: 50px;
}

.steps-cont .step-copy	h2 {
	padding-left: 65px;
	margin-bottom: 15px;
}

.steps-cont .step-copy	p span {
	padding-left: 42px;
} 

@media (min-width: 768px) {
	.steps-cont {
		flex-direction:row;
	}

	.steps-cont .step-num {
		position:unset;
	}

	.steps-cont .step-copy	{
		padding: 0 25px;
	}

	.steps-cont .step-copy	h2 {
		padding-left: 0;
		margin-bottom: 15px;
	}
	
	.steps-cont .step-copy	p span {
		display: none;
	}
}

@media (min-width: 992px) { 
	.steps-cont {
		width: 80%;
		max-width: 800px;
	}
}

/******************************************************************************
							Careers Page 
******************************************************************************/
#services-content.jobs-intro {
	margin-bottom: 0;
}
#jobs-listings {
	margin-bottom: 60px;
}
	.jobs-cont{
		margin: 10px;
	}
		.job-single {
			background-color: #F0F0F0;
			border: 1px solid rgba(0,0,0,.5);
			border-radius: 30px;
			margin: 15px 0;
			padding: 20px;
			display: flex;
			flex-direction: column;
			box-shadow: 0px 0px 11px 0px rgba(0,0,0,0.5);
		}

		.job-single h2 {
			font-size: 4rem;
			line-height: 4.4rem;
			text-transform: uppercase;
			margin: 20px 0 15px;
			text-align: center;
		}

		.job-single p {
			margin-bottom: 15px;
		}

		.job-single ul {
			margin-bottom: 15px;
		}

		.job-single a {
			display: flex;
			flex-direction: row;
			align-items: center;
			background-color: #2EA343;
			border: 1px solid #2EA343;
			color: #fff;
			text-transform: uppercase;
			text-decoration: none;
			font-size: 2.2rem;
			line-height: 2.4rem;
			padding: 10px 20px;
			max-width: 260px;
			font-family: 'Oswald', sans-serif;
			font-weight: 600;
			text-align: center;
			text-transform: uppercase;
			transition: all .5s;
			margin: 15px auto;
		}
		
		a.btn-default:hover {
			background-color: #363636;
			border-color: #ffffff;
			color: #fff;
		}

		.job-single a span {
			padding-left: 5px;
		}

#why-work-for-us {
	padding: 50px 25px;
	background-image: linear-gradient(-2deg, rgba(206, 206, 206, .5) 84%, rgba(255, 255, 255, 1) calc(16% + 1px)), url(../img/concrete-bkg.webp);
}

#job-application {
	padding: 50px 25px;
	background-image: linear-gradient(6deg,rgba(255,255,255,1)45%,rgba(206,206,206,.5) calc(45% + 1px)),url(../img/concrete-bkg.webp);

}


@media (min-width: 992px) { 
	.job-single {
		width: 46%;
		margin: 2%;
	}
}
/******************************************************************************
						    Testimonials Page 
******************************************************************************/
#services-content.testimonial-intro {
	margin-bottom: 0;
}

#all-quotes {
	margin-bottom: 50px;
	padding: 0 15px;
}

#all-quotes .quote-single {
	background-color: #F0F0F0;
	border: 1px solid rgba(0,0,0,.5);
	color: #363636;
	margin: 15px 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 15px;
	border-radius: 30px;
	box-shadow: 0px 0px 11px 0px rgba(0,0,0,0.5);
	overflow: hidden;
}

#all-quotes .quote-single .stars{
	width: 225px;
	margin-bottom:20px;
}

#all-quotes .quote-single .quote {
	font-weight: 700;
    font-style: italic;
    font-size: 2rem;
    line-height: 2.5rem;
    color: #363636;
    padding: 15px 15px;
    text-align: left;
}

#all-quotes .quote-single .quote::before {
	content:"“";
}
#all-quotes .quote-single .quote::after {
	content:"”";
}

#all-quotes .quote-single .author {
    font-size: 1.8rem;
    line-height: 2.2rem;
}

#all-quotes .quote-single .author a {
    color: #363636;
}


#quotes.testimonials {
	background: linear-gradient(-1deg, rgba(46, 163, 67, 1) 78%, rgba(255, 255, 255, 1) calc(78% + 1px));
	padding: 90px 0 0;
    margin-bottom: -30px;
}


@media (min-width: 768px) { 
	#all-quotes .quote-single {
		padding: 20px;
	}

	#all-quotes .quote-single .quote {
		font-size: 2.5rem;
    	line-height: 3rem;
	}
}

@media (min-width: 1200px) { 
	#all-quotes .quote-single {
		padding: 30px;
	}
	#all-quotes .quote-single .quote {
		font-size: 3rem;
    	line-height: 3.8rem;
		
	}
}

/******************************************************************************
						    404 Page 
******************************************************************************/
#four-oh-four-page{
	width: 100%;
	height: 80vh;
	background-image: url(../img/404-background.webp);
	background-color: #363636;
	overflow: hidden;
	background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
	margin-top: 65px;
	display:flex;
	justify-content: center;
	align-items: center;
}

.four-oh-four-cont {
	margin-top:-290px;
}

.four-oh-four-copy {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.four-oh-four-copy h1 {
	text-align: center;
	color: #fff;
	font-size: 5rem;
	line-height: 5.5rem;
	text-shadow: 3px 3px 8px rgba(0,0,0,0.80);
	margin-bottom: 30px;
}


#quotes.four-oh-four {
	background: rgba(46, 163, 67, 1);
    padding: 30px 0 0;
}

@media (min-width: 575px) { 
	.four-oh-four-cont {
		margin-top:-232px;
	}
}

@media (min-width: 1200px) { 
	.four-oh-four-copy h1 {
		font-size: 7rem;
		line-height: 7.5rem;
		margin-bottom: 40px;
	}
	.four-oh-four-cont {
		margin-top:-275px;
	}
}


/******************************************************************************
							Simple Page Template / Blog Page
******************************************************************************/
#sp-main-content{
	padding: 0 25px;
	margin-bottom: 50px;
}
#sp-image-cont{
	position: relative;
}
.sp-image {
	height:180px;
	width:100%;
	overflow: hidden;
	background-image: url('../img/asphalt-bkg.webp');
	background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
	background-color: #969696;
	display: flex;
	justify-content: center;
	align-items: center;
}

.sp-copy-cont {
	margin-top: 30px;
}

.sp-copy-cont h2 {
	margin-bottom: 15px;
}
.sp-copy-cont h3 {
	margin-bottom: 10px;
}

.sp-copy-cont h4 {
	font-size: 1.9rem;
	line-height: 2.2rem;
	font-weight: 600;
	margin-bottom: 10px;
}

.sp-copy-cont p {
	margin: 15px 0;
}


@media (min-width: 768px) {
	.sp-image {
		height:250px;
	}
}



@media (min-width: 1200px) {
	.sp-image {
		height:300px;
	}
}


/******************************************************************************
							Blog Landing page
******************************************************************************/

#blog-landing-page {
	padding: 0 25px;
	margin-bottom: 50px;
}

#blog-landing-page .sp-copy-cont {
	margin-bottom: 30px;
}

#blog-landing-page .blp-card-cont {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	overflow: hidden;
}

#blog-landing-page .blp-card-cont a.blp-card {
	display: block;
	width: 100%;
	text-decoration: none;
	margin-bottom: 20px;
	text-align: center;
	border: 1px solid #969696;
	background-color: #ffffff;
	filter: drop-shadow(0 0 5px rgba(0,0,0,.5));
	transition: all .5s;
}

#blog-landing-page .blp-card-cont a.blp-card:hover {
	filter: none;
}

#blog-landing-page .blp-card-cont a.blp-card img {
	width: 100%;
	display: block;
	margin-bottom: 10px;
}

#blog-landing-page .blp-card-cont a.blp-card h2 {
	color: #000;
	padding: 0 15px;
	font-family: 'Oswald', sans-serif;
	font-weight: 700;
	text-align: center;
	font-size: 3rem;
    line-height: 3.5rem;	
    margin: -28px auto 5px;
	color: #363636;
	background: transparent;
	text-shadow: 2px 2px 0 #ffffff, 2px -2px 0 #ffffff, -2px 2px 0 #ffffff, -2px -2px 0 #ffffff, 2px 0px 0 #ffffff, 0px 2px 0 #ffffff, -2px 0px 0 #ffffff, 0px -2px 0 #ffffff;
}

#blog-landing-page .blp-card-cont a.blp-card span.btn-read {
	display: block;
	padding: 0 15px;
	margin-bottom: 15px;
	color: #000;
	font-size: 1.8rem;
	line-height: 2.5rem;
}

#blog-landing-page .blp-card-cont a.blp-card span.btn-read::after {
	content: "\2192";
	padding-left: 3px;
	transition: all .5s;
}

#blog-landing-page .blp-card-cont a.blp-card:hover span.btn-read::after {
	padding-left: 10px;
}

@media (min-width: 768px) {
	#blog-landing-page .blp-card-cont a.blp-card {
		width: 48%;
		margin: 1%;
	}
	#blog-landing-page .blp-card-cont {
		justify-content: center;
	}
	#blog-landing-page .blp-card-cont a.blp-card:hover {
		transform: scale(1.05);
	}
}

@media (min-width: 1200px) {
	#blog-landing-page .blp-card-cont a.blp-card {
		width: 30%;
		margin: 1.11%;
	}
}
