﻿@charset "UTF-8";

@font-face {
    font-family: 'Ubuntu Sans';
    src: url('../fonts/subset-UbuntuSans-Regular.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Ubuntu Sans';
    src: url('../fonts/subset-UbuntuSans-Italic.woff2') format('woff2');
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-family: 'Ubuntu Sans';
    src: url('../fonts/subset-UbuntuSans-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: 'Ubuntu Sans';
    src: url('../fonts/subset-UbuntuSans-Bold.woff2') format('woff2');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Dosis';
    src: url('../fonts/subset-Dosis-Regular.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Dosis';
    src: url('../fonts/subset-Dosis-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: 'Dosis';
    src: url('../fonts/subset-Dosis-Bold.woff2') format('woff2');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Dosis';
    src: url('../fonts/subset-Dosis-ExtraBold.woff2') format('woff2');
    font-weight: 800;
    font-style: normal;
}

:root {
	--gradient: linear-gradient(90deg, #FBC403 0%, #FD1F4A 100%);
	--sectionPadding: 100px;
}

html {
    -webkit-text-size-adjust: none;
}

html,
body {
	background: #fff;
}

* {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

body, div {
  margin: 0;
  padding: 0;
}

body {
	font-family: 'Ubuntu Sans', Arial, sans-serif;
	font-size: 16px;
	font-weight: normal;
	text-align: center;
	color: #000;
	line-height: 1.19;
}

/* Main Wrapper */

#mainWrapper {
	position: relative;
	text-align: left;
	margin: 0 auto;
	min-width: 320px;
	font-size: 16px;
	overflow: hidden;
}

@supports (overflow: clip) {
	#mainWrapper {
		overflow: clip;
	}
}

/* Section */

.section {
	position: relative;
	max-width: 1150px;
	margin: 0 auto;
}

/* Header */
 
#header {
	position: relative;
	background: #000;
	z-index: 1000000;
}

#header .section {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	max-width: 1290px;
	height: 162px;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	font-size: 20px;
	font-weight: bold;
}

#header .logo {
	width: 180px;
	-ms-flex-negative: 0;
	    flex-shrink: 0;
}

#header .logo img {
	display: block;
	width: 100%;
}

#header .options {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-left: auto;
	padding-left: 15px;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

#header .options #navigation ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: 0;
	padding: 0;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
}

#header .options #navigation ul li {
	position: relative;
	margin: 3px 26px 3px 0;
	padding: 0;
	list-style: none;
}

#header .options #navigation ul li a {
	position: relative;
	display: inline-block;
	color: #fff;
}

#header .options #navigation>ul>li:before {
	background-color: #F8C312;
	bottom: -.3em;
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	right: 0;
	-webkit-transform: scaleX(0);
	    -ms-transform: scaleX(0);
	        transform: scaleX(0);
	-webkit-transform-origin: right;
	    -ms-transform-origin: right;
	        transform-origin: right;
	-webkit-transition: -webkit-transform .75s cubic-bezier(.19,1,.22,1);
	transition: -webkit-transform .75s cubic-bezier(.19,1,.22,1);
	-o-transition: transform .75s cubic-bezier(.19,1,.22,1);
	transition: transform .75s cubic-bezier(.19,1,.22,1);
	transition: transform .75s cubic-bezier(.19,1,.22,1), -webkit-transform .75s cubic-bezier(.19,1,.22,1);
}

#header .options #navigation>ul>li:hover:before,
#header .options #navigation>ul>li.active:before {
	-webkit-transform: scaleX(1);
	    -ms-transform: scaleX(1);
	        transform: scaleX(1);
	-webkit-transform-origin: left;
	    -ms-transform-origin: left;
	        transform-origin: left;
}


#header .options #navigation>ul>li.hasSub:hover:before {
	-webkit-transform: scaleX(0);
	    -ms-transform: scaleX(0);
	        transform: scaleX(0);
	-webkit-transform-origin: right;
	    -ms-transform-origin: right;
	        transform-origin: right;
}

#header .options #navigation ul li ul {
	margin: 0;
	text-align: left;
	position: absolute;
	left: -15px;
	padding: 10px 0 0;
	min-width: 100%;
	border-bottom: 0.2105263157894737em solid #ddab00;
	border-radius: 0.2631578947368421em;
	z-index: 1;
	display: block;
	-webkit-filter: drop-shadow(0 5px 10px rgba(0,0,0,0.5));
	        filter: drop-shadow(0 5px 10px rgba(0,0,0,0.5))
}

#header .options #navigation ul li ul li {
	float: none;
	position: static;
	display: block;
	margin: 0;
	padding: 0;
	width: 100%;
	height: auto;
	font-size: 0.95em;
	background: #f0bb00;
	color: #000;
}

#header .options #navigation ul li ul li a {
	display: block;
	padding: 0.5263157894736842em 15px;
	line-height: 1.2;
	white-space: nowrap;
	color: #000 !important;
	min-width: 100%;
	height: auto;
}

#header .options #navigation ul li ul li a:before  {
	display: none;
}

#header .options #navigation ul li ul li:hover {
	background-color: #daa800;
	color: #fff;
}

#header .options #navigation ul li ul { 
	visibility: hidden;
	opacity: 0;
	margin-left: 0;
	-webkit-transform: translateX(-2%);
	-ms-transform: translateX(-2%);
	    transform: translateX(-2%);
	-webkit-transition: all 0.3s ease-in-out 0s, visibility 0s linear 0.3s, z-index 0s linear 0.01s;
	-o-transition: all 0.3s ease-in-out 0s, visibility 0s linear 0.3s, z-index 0s linear 0.01s;
	transition: all 0.3s ease-in-out 0s, visibility 0s linear 0.3s, z-index 0s linear 0.01s;
}

#header .options #navigation ul li:hover ul {
	visibility: visible; 
	opacity: 1;
	-webkit-transform: translateX(0%);
	-ms-transform: translateX(0%);
	    transform: translateX(0%);
	-webkit-transition-delay: 0s, 0s, 0.3s;
	-o-transition-delay: 0s, 0s, 0.3s;
	   transition-delay: 0s, 0s, 0.3s;
}

#header .options #navigation ul li.hasSub ul a:after {
	display: none
}

#header .options #navigation ul li.hasSub>a {
	padding-right: 1.15em;
}

#header .options #navigation ul li.hasSub>a:before {
	content: "";
	position: absolute;
	right: 0;
	top: 0.5em;
	width: 0.6em;
	height: 0.35em;
	background: url(../images/navigation-arrow.svg) no-repeat;
	-webkit-transition: -webkit-transform 0.3s;
	transition: -webkit-transform 0.3s;
	-o-transition: transform 0.3s;
	transition: transform 0.3s;
	transition: transform 0.3s, -webkit-transform 0.3s;
	background-size: 100%;
}

#header .options #navigation ul li.hasSub:hover>a:before {
	-webkit-transform: rotate(180deg);	
	-ms-transform: rotate(180deg);	
	    transform: rotate(180deg);	
}

#header .options .contactBtn {
	padding: 12px 17px;
	margin: 0;
}

/* Banner */

#banner {
	position: relative;
	z-index: 1;
}

#banner .image {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	-o-object-position: center;
	   object-position: center;
	-o-object-fit: cover;
	   object-fit: cover;
	z-indeX: -1;
}

#banner:before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background: -webkit-gradient(linear, left top, left bottom, from(#F8C312), color-stop(66.12%, rgba(146, 115, 11, 0.00)));
	background: -o-linear-gradient(top, #F8C312 0%, rgba(146, 115, 11, 0.00) 66.12%);
	background: linear-gradient(180deg, #F8C312 0%, rgba(146, 115, 11, 0.00) 66.12%);	
}

#banner .section {
	height: 792px;
	padding-top: var(--sectionPadding);
	padding-bottom: var(--sectionPadding);
	text-align: center;
}

/* Page Banner */

#pageBanner {
	position: relative;
	margin-bottom: 70px;
	z-index: 1;
}

#pageBanner:before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -1px;
	bottom: 0;
	background: #000;
	z-index: -1;
}

#pageBanner .section {
	padding-top: 60px;
	padding-bottom: 1px;
}

#pageBanner .introText  {
	color: #fff;
}

#pageBanner h3 {
	color: #F8C312;
}

#pageBanner h3 span {
	color: #fff;
}

#pageBanner .info {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	background: #F8C312;
	margin-top: 100px;
	margin-bottom: -85px;
	padding: 36px 70px;
}

#pageBanner .info h3 {
	color: #000;
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	margin: 0;
	-ms-flex-item-align: center;
	    -ms-grid-row-align: center;
	    align-self: center;
}

#pageBanner .info h5 {
	margin-left: 80px;
	margin-bottom: 0;
}

/* Content */

.content {
	position: relative;
	z-index: 1;
}

.content .section {
	position: relative;
	padding-top: var(--sectionPadding);
	padding-bottom: var(--sectionPadding);
	z-index: 1;
}

.content .section>:last-child {
	margin-bottom: 0;
}

.content.orangeBg:after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background: #F8C312;
	z-index: -1;
}

.content.orangeBg.halfOrange .section {
	padding-top: 20px;
}

.content.orangeBg.halfOrange:after {
	top: 343px;
}

.content.orangeBg h3 span {
	color: #fff;
}

.content.creamBg {
	background: #FFF6D8;
}

.content.gradientBg {
	background: var(--gradient);
}

.content .excavatorImage {
	position: absolute;
	left: -180px;
	bottom: 0;
	z-index: -1;
	height: 100%;
	opacity: 0.41;
	pointer-events: none;
	-webkit-filter: brightness(0) invert(1);
	        filter: brightness(0) invert(1);
}

.content .excavatorImageBottom {
	position: absolute;
	left: -300px;
	bottom: 0;
	z-index: -1;
}

/* Page Intro */

.pageIntro {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.pageIntro .text {
	width: 560px;
	-ms-flex-item-align: center;
	    -ms-grid-row-align: center;
	    align-self: center;
}

.pageIntro .text h3 {
	text-align: left;
}

.pageIntro .text h3 span {
	display: block;
}

.pageIntro .text h4 {
	margin-bottom: 20px;
}

.pageIntro .text>:last-child {
	margin-bottom: 0;
}

.pageIntro .image {
	position: relative;
	margin-left: auto;
	width: 518px;
}

.pageIntro .image img {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
	-o-object-position: center top;
	   object-position: center top;
}

/* Info Box */

.infoBox {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	border: 2px solid #F8C312;
	margin: 70px 0;
}

.infoBox .image,
.infoBox .text {
	width: 50%;
}

.infoBox .text {
	padding: 45px 65px;
}

.infoBox .image {
	position: relative;
}

.infoBox .image img {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
	-o-object-position: center top;
	   object-position: center top;
}

/* Features */

.features {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	margin: 0 -8px 90px;
	padding: 0;
}

.features li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: 0 0 16px;
	padding: 0 8px;
	list-style: none;
	width: 50%;
}

.features li .image {
	position: relative;
	width: 271px;
	-ms-flex-negative: 0;
	    flex-shrink: 0;
}

.features li .image img {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
	-o-object-position: center top;
	   object-position: center top;
}

.features li .text {
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	background: #fff;
	padding: 20px 40px 25px;
}

.features li .text>:last-child {
	margin-bottom: 0;
}

/* Team */

.team {
	margin: 50px 0 60px;
	padding: 0;
}

.team li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: 0 0 22px;
	padding: 0;
	list-style: none;
	background: #FFF6D8;
}

.team li .image {
	position: relative;
	width: 418px;
	min-height: 440px;
	-ms-flex-negative: 0;
	    flex-shrink: 0;
}

.team li .image img {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	display: block;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
	-o-object-position: center top;
	   object-position: center top;
}

.team li .text {
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	-ms-flex-item-align: center;
	    -ms-grid-row-align: center;
	    align-self: center;
	padding: 50px 100px;
}

.team li .text>:last-child {
	margin-bottom: 0;
}

/* Values */

.values {
	margin: 50px 0;
	padding: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

.values li {
	margin: 0;
	padding: 0 50px;
	list-style: none;
	text-align: center;
	width: 33.33333333333333%;
}

.values li img {
	display: block;
	margin: 0 auto 28px;
}

/* Services */

#services {
	background: #000;
	color: #fff;
}

#services .section {
	padding-top: var(--sectionPadding);
	padding-bottom: var(--sectionPadding);
	text-align: center;
}

#services .section>:last-child {
	margin-bottom: 0;
}

#services h4 {
	max-width: 1010px;
	margin: 0 auto 45px;
}

#services h5 {
	max-width: 830px;
	margin-left: auto;
	margin-right: auto;
}

#services .listing {
	margin: 65px -10px;
	padding: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}

#services .listing li {
	margin: 0;
	padding: 0 10px;
	list-style: none;
	width: 25%;
}

#services .listing li a {
	position: relative;
	display: block;
	overflow: hidden;
}

#services .listing li img {
	display: block;
	width: 100%;
	-webkit-transition: -webkit-transform 1s;
	transition: -webkit-transform 1s;
	-o-transition: transform 1s;
	transition: transform 1s;
	transition: transform 1s, -webkit-transform 1s;
}

#services .listing li h5 {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0;
	padding: 4px 16px;
	text-align: left;
	background: -webkit-gradient(linear, left top, right top, color-stop(60.5%, #F8C312), to(rgba(248, 195, 18, 0.00)));
	background: -o-linear-gradient(left, #F8C312 60.5%, rgba(248, 195, 18, 0.00) 100%);
	background: linear-gradient(90deg, #F8C312 60.5%, rgba(248, 195, 18, 0.00) 100%);
	color: #000;	
}

#services .listing li a:hover img {
	-webkit-transform: scale(1.1);
	    -ms-transform: scale(1.1);
	        transform: scale(1.1);
}

/* Service Listing */

.serviceListing {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: 0 -7px 90px;
	padding: 0;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}

.serviceListing li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: 0 0 14px;
	padding: 0 7px;
	list-style: none;
	width: 33.33333333333333%;
}

.serviceListing li .inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	background: #FFF6D8;
}

.serviceListing li .image {
	overflow: hidden;
}

.serviceListing li .image img {
	display: block;
	width: 100%;
	-webkit-transition: -webkit-transform 1s;
	transition: -webkit-transform 1s;
	-o-transition: transform 1s;
	transition: transform 1s;
	transition: transform 1s, -webkit-transform 1s;
}

.serviceListing li .text {
	padding: 20px 30px;
}

.serviceListing li .text h5 {
	margin: 30px 0 10px;
}

.serviceListing li .text h5 a {
	display: inline-block;
	padding-bottom: 2px;
	border-bottom: 1px solid #151515;
}

.serviceListing li:hover .image img {
	-webkit-transform: scale(1.1);
	    -ms-transform: scale(1.1);
	        transform: scale(1.1);
}

/* Contact */

#contact {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

#contact .left,
#contact .right {
	width: 540px;
}

#contact .right {
	margin-left: auto;
}

#contact .left {
	color: #fff;
}

#contact .left .contacts {
	margin: 0 0 40px;
	padding: 0;
}

#contact .left .contacts li {
	margin: 0;
	padding: 40px 0;
	list-style: none;
	font-size: 32px;
	font-weight: bold;
	border-bottom: 2px solid rgba(255,255,255,0.2);
}

#contact .left .contacts li:first-child {
	padding-top: 0;
}

#contact .left .contacts li a {
	display: inline-block;
}

#contact .left .contacts li .ico {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	background: #fff;
	width: 60px;
	height: 60px;
	margin-bottom: 25px;
	border-radius: 100%;
}

#contact .left .contacts li .ico img {
	display: block;
	margin: 0 auto;
}

#contact .left .contacts li a span {
	display: inline-block;
	font-size: 0.625em; /* 20px */
	font-weight: bold;
	margin-top: 2.5em;
	padding-right: 1.5em;
	background: url(../images/direction-ico.svg) no-repeat right 0.3em;
	background-size: 0.7375em;
}

#contact .left .socials {
	margin: 0;
	padding: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}

#contact .left .socials li {
	margin: 0 13px 13px 0;
	padding: 0;
	list-style: none;
}

#contact .left .socials li a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	width: 40px;
	height: 40px;
	background: #fff;
	border-radius: 100%;
	-webkit-transition: background-color 0.3s;
	-o-transition: background-color 0.3s;
	transition: background-color 0.3s;
}

#contact .left .socials li a:hover {
	background-color: #000;
}

#contact .left .socials li a:hover img {
	-webkit-filter: brightness(0) invert(1);
	        filter: brightness(0) invert(1);
}

#contact .right .form {
	background: #fff;
	padding: 40px;
	-webkit-box-shadow: 0px 3px 34px 0px rgba(147, 102, 206, 0.50);
	        box-shadow: 0px 3px 34px 0px rgba(147, 102, 206, 0.50);
}

#contact .fields {
	margin-top: 20px;
}

#contact .fields .field {
	margin-bottom: 26px;
}

#contact .fields .field h5 {
	margin: 0 0 6px;
}

#contact .fields .field .textbox {
	display: block;
	margin: 0;
	padding: 16px;
	height: 54px;
	font-family: 'Ubuntu Sans', Arial, sans-serif;
	font-size: 14px;
	color: #151515;
	border: 1px solid #BABABA;
	border-radius: 4px;
	background: #fff;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	     appearance: none;
	width: 100%;
}

#contact .fields .field textarea.textbox {
	height: 135px;
	overflow: auto;
	resize: none;
}

#contact .submitBtn {
	display: block;
	width: 100%;
	border-color: transparent;
	margin: 0;
}

/* Image Text */

.imageText {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.imageText .image {
	position: relative;
	width: 564px;
	min-height: 420px;
}

.imageText .image img {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	display: block;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
	-o-object-position: center top;
	   object-position: center top;
}

.imageText .text {
	width: 417px;
	margin-left: auto;
	-ms-flex-item-align: center;
	    -ms-grid-row-align: center;
	    align-self: center;
}

.imageText .text h3 {
	text-align: left;
}

.imageText .text>:last-child {
	margin-bottom: 0;
}

.imageText.alt .text {
	-webkit-box-ordinal-group: 0;
	    -ms-flex-order: -1;
	        order: -1;
	margin-left: 0;
}

.imageText.alt .image {
	margin-left: auto;
}

/* Panels */

.panels {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	margin: 35px -10px 90px;
	padding: 0;
}

.panels li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: 0;
	padding: 0 10px;
	list-style: none;
	width: 50%;
	text-align: center;
}

.panels li .inner {
	background: #FFF6D8;
	padding: 50px;
}

.panels li .inner>:last-child {
	margin-bottom: 0;
}

.panels li h4 {
	max-width: 400px;
	margin-left: auto;
	margin-right: auto;
}

.panels li .linkBtn {
	margin-left: auto;
	margin-right: auto;
}

/* Intro Text */

.introText {
	max-width: 856px;
	margin: 0 auto 80px;
	text-align: center;
}

/* Bottom Text */

.bottomText {
	text-align: center;
}

.bottomText h4 {
	margin-bottom: 20px;
}

.bottomText h5 a {
	display: inline-block;
	border-bottom: 3px solid #000;
}

/* Footer */

#footer {
	background: #000000;
	color: #fff;
	font-size: 20px;
	font-weight: bold;
}

#footer .section {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding-top: var(--sectionPadding);
	padding-bottom: var(--sectionPadding);
}

#footer p {
	margin-bottom: 24px;
}

#footer h5 {
	color: #F8C312;
}

#footer .socials {
	width: 110px;
}

#footer .socials ul {
	margin: 0;
	padding: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}

#footer .socials li {
	margin: 0 13px 13px 0;
	padding: 0;
	list-style: none;
}

#footer .socials li a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 40px;
	height: 40px;
	background: #F8C312;
	border-radius: 100%;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-transition: background-color 0.3s;
	-o-transition: background-color 0.3s;
	transition: background-color 0.3s;
}

#footer .socials li img {
	display: block;
	margin: 0 auto;
}

#footer .socials li a:hover {
	background-color: #fff;
}

#footer .links {
	margin-left: 120px;
}

#footer .links ul {
	margin: 0;
	padding: 0;
}

#footer .links ul li {
	margin: 0;
	padding: 0;
	list-style: none;
}

#footer .contact {
	margin-left: 100px;
}

#footer .hours {
	margin-left: auto;
}

/* Hamburger */

.hamburger {
	display: none;
	position: absolute;
	right: 15px;
	top: 15px;
	overflow: visible;
	margin-top: 3px;
	margin-left: 50px;
	-webkit-transition-timing-function: linear;
	     -o-transition-timing-function: linear;
	        transition-timing-function: linear;
	-webkit-transition-duration: .15s;
	     -o-transition-duration: .15s;
	        transition-duration: .15s;
	-webkit-transition-property: opacity, -webkit-filter;
	transition-property: opacity, -webkit-filter;
	-o-transition-property: opacity, filter;
	transition-property: opacity, filter;
	transition-property: opacity, filter, -webkit-filter;
	text-transform: none;
	color: inherit;
	border: 0;
	background-color: transparent;
}

.hamburger.is-active:hover,
.hamburger:hover {
	opacity: 1
}

.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner:after,
.hamburger.is-active .hamburger-inner:before {
	background-color: #fff;
}

.hamburger-box {
	display: inline-block;
	width: 32px;
	height: 24px;
}

.hamburger-inner {
	top: 50%;
	display: block;
	margin-top: -4px
}

.hamburger-inner,
.hamburger-inner:after,
.hamburger-inner:before {
	position: absolute;
	width: 32px;
	height: 4px;
	-webkit-transition-timing-function: ease;
	     -o-transition-timing-function: ease;
	        transition-timing-function: ease;
	-webkit-transition-duration: .15s;
	     -o-transition-duration: .15s;
	        transition-duration: .15s;
	-webkit-transition-property: -webkit-transform;
	transition-property: -webkit-transform;
	-o-transition-property: transform;
	transition-property: transform;
	transition-property: transform, -webkit-transform;
	border-radius: 4px;
	background-color: #fff;
}

.hamburger-inner:after,
.hamburger-inner:before {
	display: block;
	content: ""
}

.hamburger-inner:before {
	top: -10px
}

.hamburger-inner:after {
	bottom: -10px
}

.hamburger .hamburger-inner {
	-webkit-transition-timing-function: cubic-bezier(.55, .055, .675, .19);
	     -o-transition-timing-function: cubic-bezier(.55, .055, .675, .19);
	        transition-timing-function: cubic-bezier(.55, .055, .675, .19);
	-webkit-transition-duration: .22s;
	     -o-transition-duration: .22s;
	        transition-duration: .22s
}

.hamburger .hamburger-inner:before {
	-webkit-transition: top .1s ease-in .25s, opacity .1s ease-in;
	-o-transition: top .1s ease-in .25s, opacity .1s ease-in;
	transition: top .1s ease-in .25s, opacity .1s ease-in
}

.hamburger .hamburger-inner:after {
	-webkit-transition: bottom .1s ease-in .25s, -webkit-transform .22s cubic-bezier(.55, .055, .675, .19);
	transition: bottom .1s ease-in .25s, -webkit-transform .22s cubic-bezier(.55, .055, .675, .19);
	-o-transition: bottom .1s ease-in .25s, transform .22s cubic-bezier(.55, .055, .675, .19);
	transition: bottom .1s ease-in .25s, transform .22s cubic-bezier(.55, .055, .675, .19);
	transition: bottom .1s ease-in .25s, transform .22s cubic-bezier(.55, .055, .675, .19), -webkit-transform .22s cubic-bezier(.55, .055, .675, .19)
}

.hamburger.is-active .hamburger-inner {
	-webkit-transition-delay: .12s;
	     -o-transition-delay: .12s;
	        transition-delay: .12s;
	-webkit-transition-timing-function: cubic-bezier(.215, .61, .355, 1);
	     -o-transition-timing-function: cubic-bezier(.215, .61, .355, 1);
	        transition-timing-function: cubic-bezier(.215, .61, .355, 1);
	-webkit-transform: rotate(225deg);
	    -ms-transform: rotate(225deg);
	        transform: rotate(225deg)
}

.hamburger.is-active .hamburger-inner:before {
	top: 0;
	-webkit-transition: top .1s ease-out, opacity .1s ease-out .12s;
	-o-transition: top .1s ease-out, opacity .1s ease-out .12s;
	transition: top .1s ease-out, opacity .1s ease-out .12s;
	opacity: 0
}

.hamburger.is-active .hamburger-inner:after {
	bottom: 0;
	-webkit-transition: bottom .1s ease-out, -webkit-transform .22s cubic-bezier(.215, .61, .355, 1) .12s;
	transition: bottom .1s ease-out, -webkit-transform .22s cubic-bezier(.215, .61, .355, 1) .12s;
	-o-transition: bottom .1s ease-out, transform .22s cubic-bezier(.215, .61, .355, 1) .12s;
	transition: bottom .1s ease-out, transform .22s cubic-bezier(.215, .61, .355, 1) .12s;
	transition: bottom .1s ease-out, transform .22s cubic-bezier(.215, .61, .355, 1) .12s, -webkit-transform .22s cubic-bezier(.215, .61, .355, 1) .12s;
	-webkit-transform: rotate(-90deg);
	    -ms-transform: rotate(-90deg);
	        transform: rotate(-90deg)
}

.mm-panel {
	background: #F8C312;
	text-align: left;
	font-weight: bold;
}

.mm-navbar>* {
	min-height: 40px;
	background: #000;
}

.mm-navbar__title>span {
	color: #fff;
	padding-left: 10px;
}

.mm-listitem.active, 
.mm-listitem .active {
	background-color: #daa800;
}

.mm-listitem {
	color: #000;
}

.mm-btn_next:after {
	border-color: #000;
}

.mm-navbar__title>span {
	padding-left: 0;
}



/* Miscelleneous */

p {
	margin: 0 0 15px;
}

h1,h2,h3,h4,h5,h6 {
	font-family: 'Dosis', Arial, sans-serif;
	font-weight: 600;
	margin: 0 0 15px;
	line-height: 1.27;
}

h2 {
	font-size: 96px;
	font-weight: 800;
	line-height: 0.98;
	margin-bottom: 30px;
}

h2 span {
	color: #fff;
}

h3 {
	font-size: 64px;
	margin-bottom: 29px;
	font-weight: 600;
	text-align: center;
}

h3 span {
	color: #F8C312;
}

h4 {
	font-size: 40px;
	margin-bottom: 11px;
	font-weight: normal;
}

h4 img {
	height: 1.15em;
	margin-right: 0.2em;
	vertical-align: middle;
	position: relative;
	top: -0.2em;
}

h5 {
	font-family: 'Ubuntu Sans', Arial, sans-serif;
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 23px;
}

ul,
ol {
	padding: 0 0 0 23px;
	margin-top: 0;
	margin-bottom: 15px;
}

a {
	outline: none;
	color: inherit;
	text-decoration: none;
}

a:hover {
	color: inherit;
}

.centered {
	text-align: center;
}

img {
	border: 0;
	max-width: 100%;
}

.linkBtn {
	position: relative;
	display: table;
	color: #fff !important;
	line-height: 1.3125;
	font-family: 'Ubuntu Sans', Arial, sans-serif;
	font-size: 20px;
	font-weight: 700;
	margin: 35px 0;
	background: #151515;
	padding: 14px 24px;
	border: none;
	border: 1px solid #000;
	border-radius: 0;
	cursor: pointer;
	text-align: center;
	outline: none;
	overflow: hidden;
	-webkit-appearance: none;
	-moz-appearance: none;
	     appearance: none;
	-webkit-transition: background-color 0.3s;
	-o-transition: background-color 0.3s;
	transition: background-color 0.3s;
	z-index: 1;
}

.linkBtn:hover {
	color: #fff;
	background-color: #282828;
}

.linkBtn.linkBtnOrange {
	background-color: #F8C312;
	color: #151515 !important;
}

.linkBtn.linkBtnOrange:hover {
	background-color: #ffd42d;
}

.linkBtn.linkBtnTrans {
	border-color: #fff;
	background-color: transparent;
}

.linkBtn.linkBtnTrans:hover {
	background-color: #fff;
	color: #000 !important;
}

.linkBtn.linkBtnGradient {
	border: none
}

.linkBtn.linkBtnGradient:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 100%;
	background: var(--gradient);
	z-index: -1;
	-webkit-transition: all 1s;
	-o-transition: all 1s;
	transition: all 1s;
}

.linkBtn.linkBtnGradient:hover:before {
	width: 300%;
}

.linkBtns {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	margin-top: 30px;
}

.linkBtns .linkBtn {
	margin: 8.5px;
}

.centered {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.clear {
	clear: both;
}

.clearfix:after { 
  content: "."; 
  display: block; 
  height: 0; 
  clear: both; 
  visibility: hidden; 
}

.clearfix { 
  display: inline-block;  
}

* html .clearfix{  
  height: 1%;  
}

.clearfix {  
  display: block;  
}

input::-moz-focus-inner { 
    border: 0;
    padding: 0;
}

form {
	margin: 0;
	padding: 0;
}

strong {
	font-weight: bold;
}

::-webkit-input-placeholder {
	color: inherit;
	opacity: 1;
}

:-moz-placeholder {
	color: inherit;
	opacity: 1;
}

::-moz-placeholder {
	color: inherit;
	opacity: 1;
}

:-ms-input-placeholder {  
	color: inherit;
	opacity: 1;
}

/* Media Queries */

/* Large Screens */

@media only screen and (max-width : 1315px) {
	#header .section {
		max-width: 1150px;
	}
}

/* Tablet Screens (Landscape) */

@media only screen and (max-width : 1260px) {
	.section,
	#header .section {
		max-width: 970px;
	}	

	#header .logo {
		width: 150px;
	}

	#header .options #navigation ul li {
		margin-right: 15px;
	}

	#pageBanner .info {
		padding-left: 50px;
		padding-right: 50px;
		margin-bottom: -97px;
	}

	#pageBanner .info h5 {
		margin-left: 55px;
	}

	#services .listing li h5 {
		font-size: 17px;
	}

	.infoBox {
		margin-top: 45px;
	}

	.infoBox .text {
		padding: 30px 35px;
	}

	.pageIntro .image {
		width: 380px;
	}

	.imageText .image {
		width: 508px;
	}

	.team li .text {
		padding-left: 50px;
		padding-right: 50px;
	}

	.features li .image {
		width: 230px;
	}

	.features li .text {
		padding-left: 25px;
		padding-right: 25px;
	}

	.values li {
		padding-left: 30px;
		padding-right: 30px;
	}

	#contact .left {
		width: 420px;
	}

	#contact .left .contacts li {
		font-size: 25px;
		padding-top: 30px;
		padding-bottom: 30px;
	}

	#contact .right {
		width: 510px;
	}

	#contact .right .form {
		padding: 30px;
	}

	#footer .links {
		margin-left: 43px;
	}

	#footer .contact {
		margin-left: 60px;
	}
}

/* Tablet Screens (Portrait) */

@media only screen and (max-width : 991px) {
	.section,
	#header .section {
		max-width: 750px;
		padding-left: 15px;
		padding-right: 15px;
	}

	:root {
		--sectionPadding: 70px;
	}

	#header .section {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-align: start;
		    -ms-flex-align: start;
		        align-items: flex-start;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		font-size: 18px;
	}

	#header .logo {
		width: 180px;
		margin-bottom: 20px;
	}

	#header .options #navigation ul li {
		margin-right: 0;
		margin-left: 20px;
	}
	
	#header .options .contactBtn {
		position: absolute;
		right: 15px;
		top: 30px;
	}

	#banner .section {
		height: 657px;
	}

	#banner .image {
		-o-object-position: center top;
		   object-position: center top;
	}
	
	#services h4 {
		margin-bottom: 36px;
	}

	#services .listing {
		margin-top: 45px;
		margin-bottom: 45px;
	}

	#services .listing li h5 {
		font-size: 18px;
	}

	.serviceListing {
		margin-bottom: 60px;
	}

	#contact .left {
		width: 332px;
	}

	#contact .left .contacts {
		margin-bottom: 30px;
	}

	#contact .left .contacts li {
		font-size: 20px;
	}

	#contact .left .contacts li .ico {
		width: 45px;
		height: 45px;
	}

	#contact .right {
		width: 350px;
	}

	#contact .left .contacts li .ico {
		margin-bottom: 18px;
	}

	#contact .left .contacts li .ico img {
		-webkit-transform: scale(0.8);
		    -ms-transform: scale(0.8);
		        transform: scale(0.8);
	}

	#contact .right .form {
		padding-left: 25px;
		padding-right: 25px;
	}

	.pageIntro .image {
		width: 253px;
	}

	.pageIntro .text {
		width: 436px;
	}

	.imageText .image {
		width: 351px;
	}

	.imageText .text {
		width: 328px;
	}

	.content.orangeBg.halfOrange:after {
		top: 324px;
	}

	.infoBox .text {
		padding: 30px 25px;
	}

	.panels {
		margin-bottom: 70px;
	}

	.panels li .inner {
		padding: 25px 15px;
	}

	.values li {
		padding-left: 20px;
		padding-right: 20px;
	}

	.introText {
		margin-bottom: 67px;
	}

	.serviceListing li .text {
		padding-left: 17px;
		padding-right: 17px;
	}

	.infoBox {
		margin-top: 50px;
		margin-bottom: 60px;
	}

	.features {
		margin-bottom: 70px;
	}

	.features li .image {
		width: 143px;
	}

	.team li .image {
		width: 50%;
	}

	.team li .text {
		padding: 50px 40px;
	}

	#pageBanner .section {
		padding-top: 45px;
	}

	#pageBanner .info {
		margin-top: 80px;
		padding: 23px 35px;
	}

	#footer {
		font-size: 18px;
	}

	#footer .section {
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
	}

	#footer .socials {
		width: 100%;
		-ms-flex-negative: 0;
		    flex-shrink: 0;
		text-align: center;
		margin-bottom: 30px;
	}
	
	#footer .socials ul {
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	}

	#footer .socials li {
		margin: 0 10px 10px;
	}

	#footer .links {
		margin-left: 0;
	}

	.linkBtn {
		font-size: 18px;
	}

	h2 {
		font-size: 85px;
	}

	h3 {
		font-size: 58px;
	}

	h4 {
		font-size: 35px;
	}

	h5 {
		font-size: 18px;
	}

}

/* Mobile Screens */

@media only screen and (max-width : 767px) {
	:root {
		--sectionPadding: 50px;
	}

	.hamburger {
		display: block;
	}
	
	#header .section {
		display: block;
		height: auto;
		padding-top: 30px;
		padding-bottom: 30px;
	}

	#header .logo {
		display: block;
		margin: 0 auto 10px;
		width: 225px;
	}

	#header .options #navigation {
		display: none;
	}

	#header .options .contactBtn {
		position: static;
		margin: 0 auto;
	}

	#banner .section {
		height: auto;
	}

	#services h4 {
		margin-bottom: 30px;
	}

	#services .listing {
		display: block;
		margin-top: 30px;
		margin-bottom: 0;
	}

	#services .listing li {
		width: 100%;
		max-width: 300px;
		margin: 0 auto 30px;
	}

	#services .listing li h5 {
		text-align: center;
	}

	.introText {
		margin-bottom: 50px;
	}
	
	.serviceListing {
		margin-bottom: 40px;
	}

	.serviceListing li {
		width: 100%;
		max-width: 500px;
		text-align: center;
		margin-left: auto;
		margin-right: auto;
	}

	.values {
		display: block;
	}

	.values li {
		width: 100%;
		max-width: 270px;
		padding: 0;
		margin: 0 auto 40px;
	}

	.values li:last-child {
		margin-bottom: 0;
	}

	.content .excavatorImageBottom {
		left: -119px;
	}

	.imageText {
		display: block;
	}
	
	.imageText .image {
		max-width: 562px;
		width: 100%;
		min-height: auto;
		margin: 0 auto 30px;
	}
	
	.imageText .image img {
		position: static;
	}

	.imageText .text {
		width: 100%;
		text-align: center;
	}

	.imageText .text h3 {
		text-align: center;
	}

	.infoBox {
		display: block;
		margin-top: 27px;
		margin-bottom: 40px;
	}

	.infoBox .text {
		width: 100%;
		padding-left: 15px;
		padding-right: 15px;
	}

	.infoBox .text h4 {
		text-align: center;
		margin-bottom: 20px;
	}

	.infoBox .image {
		padding-bottom: 76vw;
		width: 100%;
	}

	.features {
		display: block;
		margin-bottom: 60px;
	}

	.features li {
		display: block;
		width: 100%;
		text-align: center;
	}

	.features li .image {
		width: 100%;
		padding-bottom: 65vw;
	}

	.pageIntro {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		text-align: center;
	}

	.pageIntro .image {
		width: 100%;
		padding-bottom: 76vw;
		margin-bottom: 35px;
		-webkit-box-ordinal-group: 0;
		    -ms-flex-order: -1;
		        order: -1;
	}

	.pageIntro .text {
		width: 100%;
	}

	.pageIntro .text h3 {
		text-align: center;
	}

	.panels {
		display: block;
		margin-bottom: 50px;
	}

	.panels li {
		width: 100%;
		margin-bottom: 30px;
	}

	.team {
		margin-top: 30px;
		text-align: center;
	}

	.team li {
		display: block;
	}

	.team li .image {
		width: 100%;
	}

	.team li .text {
		padding: 30px;
	}

	.content.orangeBg.halfOrange .section {
		padding-top: 1px;
	}

	#pageBanner .section {
		padding-top: 20px;
	}

	#pageBanner .info {
		display: block;
		text-align: center;
		padding: 25px 15px;
		margin-top: 53px;
		margin-bottom: -85px;
	}

	#pageBanner .info>last-child {
		margin-bottom: 0;
	}
	
	#pageBanner .info h3 {
		margin-bottom: 20px;
	}

	#pageBanner .info h5 {
		margin: 0;
	}

	#contact {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
	}

	#contact .left {
		text-align: center;
		width: 100%;
	}

	#contact .left .contacts li {
		font-size: 18px;
	}

	#contact .left .contacts li:first-child {
		padding-top: 30px;
	}

	#contact .left .contacts li a {
		display: block;
	}

	#contact .left .contacts li .ico {
		margin-left: auto;
		margin-right: auto;
	}

	#contact .right {
		-webkit-box-ordinal-group: 0;
		    -ms-flex-order: -1;
		        order: -1;
		width: 100%;
		text-align: center;
		margin-bottom: 20px;
	}

	#contact .fields {
		text-align: left;
	}

	#contact .left .socials {
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	}

	#contact .left .socials li {
		margin: 0 6.5px 13px;
	}

	.linkBtns {
		display: block;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		max-width: 250px;
		margin: 0 auto;
	}

	.linkBtns .linkBtn {
		display: block;
		width: auto;
	}

	.linkBtn {
		margin: 25px auto;
	}

	#footer .section {
		display: block;
		text-align: center;
	}

	#footer .links {
		margin-bottom: 35px;
	}

	#footer .links ul li {
		margin-bottom: 10px;
	}

	#footer .contact {
		margin: 0 0 35px;
	}

	h2 {
		font-size: 40px;
	}

	h3 {
		font-size: 46px;
		margin-bottom: 16px;
	}

	h4 {
		font-size: 29px;
	}
	
}

@media only screen and (max-width : 479px) {

}