*{box-sizing: border-box;}
html{width:100%; height:100%; padding:0px; margin:0px;}
body{width:100%; min-height: 100%; overflow-x: hidden; padding:0px; margin:0px; font-family: 'Open Sans', sans-serif; font-size: 16px; background-color:#FFF;}
.no-wrap{white-space: nowrap;}
.content-wrap{width:100%; max-width: 1350px; margin:0px auto; position: relative;}
.content-wrap.narrow{max-width:1024px;}
.content-wrap:after{content:''; display: block; clear: both;}
header{ width:100%; background-color:rgba(0,0,0,0.9); position: static; top:0px; left: 0px; height:75px; z-index: 999; transition: all 0.5s;position: fixed; top:0px; left: 0px;}
header.offtop{background-color:rgba(0,0,0,0.8);}
header .logo{width:250px; height:59px; margin:8px 0px; position: absolute; top:0px;left: 0px; background-image:url(../images/AES-Logo-REVISEDLIGHT.png); background-size: contain; background-position: center; background-repeat: no-repeat;}
nav{}
nav ul{ list-style: none; float: right; text-align: right; margin:0px; padding:0px; }
nav li { display: inline-block; padding:0px; line-height: 43px;}
nav a {display: inline-block; padding:16px 32px; color:rgba(255,255,255,0.8); text-decoration: none; transition:all 0.3s;}

nav li.no-link{position: relative;}
ul.subnav{height:0px; width:293px;background-color:rgba(0,0,0,0.8); overflow: hidden; position: absolute;top:100%; left:-34px; padding:0px; transition:all 0.5s; text-align: left; z-index: 999;}
ul.subnav li{display:block; padding:0px; border-bottom:1px solid rgba(255,255,255,0.5);}
ul.subnav li:last-child{border-bottom:none;}
ul.subnav a{display: block; width:100%; padding:8px 32px;}
nav li.no-link > span{display: block; width:100%; height: 100%; padding:16px 32px;  color:rgba(255,255,255,0.8); transition:all 0.3s;}
nav li.no-link:hover ul.subnav,
nav li.no-link.on ul.subnav{height:192px;}
nav li.no-link span:hover,
nav a:hover{background-color:rgba(247,148,30,1); color:#333;}

.home .hero{width:100%; height:475px; background-color:#333;  background-size: cover; background-position: center; background-repeat: no-repeat; padding-top:75px; position: relative;}

.home .hero h1{color:rgba(255,255,255,0.95); font-weight: 500; font-size: 56px;  margin-bottom:12px; margin-top:96px;}
.home .hero h2{color:rgba(255,255,255,0.95); font-weight: 500; font-size: 27px; margin:0px auto; max-width: 565px;}

.aside-right{float:right; }
.home .aside-right h2{font-size:60px; font-weight: 500;  font-family: 'Roboto';  margin:0px; color:#8cc63f; line-height: 1em; width:338px; margin-left:50px;}
.home .aside-right h2 span{display: block; font-size:38px; color:#333; text-transform: none; font-weight: 900; color:#f7941e; line-height: 1.1em;}


.soilservice figure{margin:0px 0px 0px 140px; padding-left:111px; position: relative;}
.soilservice figcaption{font-weight: bold; text-align: center; margin-right: 84px;}
.soilservice figure ul.terms{list-style: none; position: absolute; top:107px; left:0px; margin:0px; padding: 0px; font-size: 12px; width: 120px; font-weight: bold;}
.soilservice figure ul.terms li span{font-weight: normal; font-size: 10px;}
.soilservice figure ul.terms li{position: relative; margin-bottom:12px; cursor: pointer;}
.soilservice figure ul.terms li:nth-child(2){top:4px;}
.soilservice figure ul.terms li:nth-child(3){top:9px;}
.soilservice figure ul.terms li:nth-child(4){top:15px;}
.soilservice figure ul.terms li:nth-child(5){top:15px;}
.soilservice figure ul.terms li:nth-child(6){top:15px;}
.soilservice figure img.overlay{position: absolute; top:21px; right:0px; transition: all 0.3s; opacity: 0;}
.soilservice figure img.overlay.on{opacity: 1;}
.soilservice .spacer{height: 47px;}

.interior .hero{width:100%; height:auto; padding-top:74px; margin-top:75px; padding-bottom: 1px; background-size:cover; background-position: center; background-repeat: no-repeat; background-color:#333;}
.wetlands .hero{background-image:url(../images/wetlands.jpg);}
.soilservice .hero{background-image: url(../images/service-additional.jpg);}
.contact .hero{background-image: url(../images/home-hero.jpg);}
.about .hero{background-image:url(../images/service-soilservice.jpg);}
.diligence .hero{background-image: url(../images/due-diligence-banner.jpg);}
.interior .hero h1{font-size:48px; color:rgba(0,0,0,0.8); margin:24px 0px; line-height: 1em; }

.home h3{font-weight: 500; margin:84px 24px; padding-top:25px;}
.services{margin-bottom:75px;}

.services .service{display: block; width:48%; height:auto; position: relative; transition:all 0.3s ease;box-shadow: rgba(0,0,0,0.0) 0px 0px 0px 0px; cursor: pointer; color:rgba(255,255,255,0.95); font-size: 18px; float:left; margin-right:4%; border:1px solid #999; border-radius: 2px; text-decoration: none;}
.services .service:nth-child(2n){margin-right:0px;}


.services .service h2{display: block; width:auto; margin:0px; color:rgba(255,255,255,0.95); font-weight: 900; font-size:48px; line-height: 64px; position: relative; transition:all 0.3s ease; padding:24px 36px; background-size:cover; background-repeat: no-repeat; text-shadow: rgba(0,0,0,0.5) 0px 0px 1px; border-bottom:12px solid #7f7f7f;}

.services .service .image-wrap{background-color:rgba(0,0,0,0.6); width:auto; height:350px; padding:36px 48px; }
.services .service:hover{z-index: 1; box-shadow: rgba(0,0,0,0.3) 0px 0px 2px 2px;}
.services .service:hover h2{color:rgba(255,255,255,0.9); }


.service.soilservice{background-image:url(../images/service-soilservice.jpg);}
.service.wetlands{background-image:url(../images/service-wetlands.jpg);}
.service.buffer .image-wrap{background-image:url(../images/service-buffer.jpg);}
.service.permitting .image-wrap{background-image: url(../images/service-permitting.jpg);}
.service.additional .image-wrap{background-image:url(../images/service-additional.jpg);}

footer{background-color:#212121; color:#fff; padding:24px 0px 24px 0px; margin-top:64px;}
footer .logo{width:100%; float:none;  text-align: center; margin-bottom:0px; border-bottom:1px solid #999; padding-bottom:24px;}
footer .logo img{display: inline-block; width:180px; height: auto;}
footer .address{width:50%; float:left; text-align: right; padding-right:48px; border-right:1px solid #999; padding-top:24px;}
footer div.phone{width:50%; float:right; padding-left:48px; padding-top:24px;}

.slideshow{width:100%; height:100%; position: absolute; margin:0px; padding:0px; top:0px; left:0px;}
.slideshow li{opacity: 0; position: absolute; top:0px; left: 0px; width:100%; height:100%; transition: all 2s;  overflow: hidden; background-size: cover; background-position:top center;}
.slideshow li.on{opacity: 1;}
.slideshow .slide1{background-image: url(../images/slide1.jpg);}
.slideshow .slide2{background-image: url(../images/slide2.jpg);}
.slideshow .slide3{background-image: url(../images/slide3.jpg);}
.slideshow .slide4{background-image: url(../images/slide4.jpg);}
.slideshow .slide5{background-image: url(../images/slide5.jpg);}
.slideshow .slide6{background-image: url(../images/slide6.jpg);}
.slideshow .slide7{background-image: url(../images/slide7.jpg);}
.slideshow .slide8{background-image: url(../images/slide8.jpg);}
.slideshow .slide9{background-image: url(../images/slide9.jpg);}
.slideshow .slide10{background-image: url(../images/slide10.jpg);}

.interior header{z-index: 999;}
.interior footer{margin-top:0px;}
.interior h1{margin:0px; font-size:24px; font-weight: 300; font-family: 'Roboto'; background-color:#f7941e; color:#fff; padding:8px 0px;}
.interior.soilservice h1{background-color:#6b9730;}
.interior #Main{padding-top:48px;}
.interior .aside h2{font-size:60px; font-weight: 500;  font-family: 'Roboto';  margin:0px; color:#8cc63f; line-height: 1em;}
.interior .aside h2 span{display: block; font-size:38px; color:#333; text-transform: none; font-weight: 900; color:#f7941e; line-height: 1.1em;}

.larger{font-size:18px;line-height: 1.5em;}
.extended{line-height: 1.8em;}

.aside{float:left; width:350px; margin:0px 36px 48px 0px;}
.aside.right{margin:0px 0px 48px 36px; float:right;}
.content.right{float:right; width:40%; padding-left:48px;}
.content.left{float:left; width:60%; padding-right: 48px; border-right:1px solid #999;}

.clear{clear:both;}
.spotlight{padding:24px 0px; width:auto; background-color:#dfdfdf; background-size: cover; background-position: center; background-repeat: no-repeat;  background-attachment: fixed; margin-top:23px;}
.wetlands .spotlight{background-image: url(../images/wetlands-background.jpg);}
.soilservice .spotlight{background-image:url(../images/476911021.jpg);}
.diligence .spotlight{background-image:url(../images/due-diligence.jpg);}
.spotlight h2{color:rgba(0,0,0,0.9); font-size: 38px; font-family: 'Roboto';}
.interior .service-list{padding-left:0px;}
.interior .service-list > li{ list-style: none; width:100%;  margin-bottom:2%; padding:18px 18px 18px 0px;  height: auto; border-bottom:3px solid rgba(0,0,0,0.3); }
.interior .service-list > li:after{content:''; display: block; clear: both;}
.interior .service-list > li ul{font-size: 14px; margin-top:16px;  padding-left:16px; float: right; width:60%;}
.interior .service-list > li ul li{ margin-bottom:8px; line-height: 1.1em;}
.interior .service-list > li h3{margin-top:0px; margin-bottom: 8px; font-weight: normal; color:#555;}
.interior .service-list > li .description{}

.interior .service-list > li img{float:left; width:300px; height: 225px; margin-right: 32px;}

.interior .experience-list{padding:64px 0px; display: none;}
.interior .experience{margin-bottom:48px;}
.interior .experience-list h2{font-size: 48px; color:#666; font-family: 'Roboto';}

.contact label{ display: inline-block; background-color:#FFF; margin-top:-22px; padding:4px 8px;}
.contact input[type="text"],
.contact input[type="number"],
.contact input[type="phone"]{display: block; width:100%; font-size:18px; padding:8px 12px; border:1px solid #999; border-radius: 3px; margin:4px 0px 12px 0px; }
.contact input.invalid{border-color:#a00000; background-color:rgba(160,0,0,0.3);}
.contact textarea{display: block; width:100%; height:250px; font-size:18px; padding:8px 12px; border:1px solid #999; border-radius: 3px; margin:4px 0px 12px 0px;}
.contact .radio label{display: inline-block; margin-right:12px;}
.contact input[type="radio"]{margin-right:12px;}
.contact fieldset{border:1px solid #666; margin:32px 0px;}
.contact input[type="submit"]{padding:8px 56px 8px 12px; font-size: 18px; background-color:#FFF; border:1px solid #999; border-radius: 3px;  cursor: pointer; transition:all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55); position: relative;}
.contact .submit-wrap:hover:after{animation: submit-hover 0.3s linear infinite;}
.contact .submit-wrap{display: inline-block; position: relative;}
.contact .submit-wrap:after{z-index: 1; content:''; display: block; background-image:url(../images/plane.svg); background-size:contain; background-position: center; background-repeat: no-repeat; width:30px; height: 30px; position: absolute; top:3px; right:6px;}
.contact.send .submit-wrap:after{animation: submit-send 1s linear;}
.contact.success .submit-wrap:after{background-image:url(../images/check.svg);}

.contact input.half{width:48%; display: inline-block; vertical-align: top;}

.select{position: relative; margin:4px 0px; width:49%; margin-right: 3%; display: inline-block; vertical-align: top;}
.select label{display: none;}
.select select{ visibility:hidden; padding-right:10px; display:none;  }
.select .styledSelect{ color:#999; background-color:#fff; padding:8px; text-align:left; white-space:pre; overflow:hidden; text-overflow:ellipsis; position:relative;  border:1px solid #999; border-radius: 3px; font-weight: 500}
.select .styledSelect:after{font-size:24px; line-height:14px;content:'\025BE'; display:inline-block; width:1em; height:1em; position:absolute; right:0px;}
.select.on .styledSelect:after{content:'\025B4';}
.select .options{ display:none; position:absolute; width:100%; top:100%; right:0px; z-index:999; margin:0px; padding:0px; list-style:none; border:1px solid #ccc; background-color:#fff; box-shadow:rgba(0, 0, 0, 0.2) 0px 1px 2px;  }
.select.on .options{ display:block; max-height:350px; overflow-y: auto;}
.select .options li{ margin:0px; padding:4px 10px; line-height:12px;  }
.select .options li:hover{ background-color:#39f; color:#fff;  }


@keyframes submit-hover {
    0%,100% {right: 6px; top:3px;}    
    
    50% { right:8px; top:3px; }
    
}

@keyframes submit-send{
    0%{right:6px; top:3px; height: 30px; width:30px; }
    20%{right:44px; top:1px; height: 50px; width:50px; }
    50%{right:30px; top:3px; height: 24px; width:24px;}
    70%{right:15px; top:10px; height: 15px; width:15px;}
    100%{right:6px; top:15px; height: 0px; width:0px;}
}
a{color:#319096; text-decoration: none;}
a.email{ display: block; background-image:url(../images/envelope2.svg); background-size:1.5em auto; background-position: center left; background-repeat: no-repeat; padding-left:2em; line-height: 2em; color:#319096}
a.phone{display: block; background-image:url(../images/phone-call-3.svg); background-size:1.5em auto; background-position: center left; background-repeat: no-repeat; padding-left:2em; line-height: 2em;color:#319096}
.fax{display: block; background-image:url(../images/print.svg); background-size:1.5em auto; background-position: center left; background-repeat: no-repeat; padding-left:2em; line-height: 2em; color:#319096}

footer a.email{background-image:url(../images/envelope.svg); color:#fff; display: inline-block;}
footer a.phone{background-image:url(../images/phone-call-4.svg);color:#fff; display:  inline-block; margin-right:24px;}

.team{padding:0px 64px 0px 0px; margin:0px; list-style: none;}
.team li{clear:both; margin-bottom:24px; text-align: right;}
.team li:after{display: block; clear:both; content:'';}
.team li img{float:right; width:150px; height: 150px; margin-left:24px;}
.team li h5{margin:0px;}
.team-photo{width:auto; height: auto; max-width: 100%; margin-bottom:24px;}


@media only screen and (max-width:1450px){
    .content-wrap{width:auto; margin:0px 50px;}
}


@media screen and (max-width:1079px){
    header .content-wrap{margin:0px;}
    header nav{position: absolute; top:0px; right:-560px; width:90%; max-width: 500px; height:100vh; padding-top:75px; transition: all 0.3s ease-in;}
    header nav ul{list-style: none;background-color:rgba(69, 69, 69,0.95); width:100%; margin:0px; padding:48px 0px 75px; height:100%; box-shadow: rgba(0,0,0,0.0) 0px 7px 0px 0px;transition: all 0.3s ease-in; float: none; text-align: left;}
    header nav a{font-size:18px; display: block; padding:24px 64px; color:#FFF; text-decoration: none; font-weight: 700; border-bottom:1px solid #fff; transition: all 0.3s ease-in;}
    header nav a:hover{background-color:rgba(247,148,30,1);}
    header:before{content:'MENU'; display: block; width: 53px; text-align: center; color:rgba(255,255,255,0.9); cursor: pointer; position: absolute; top:15px; right:35px; font-size: 18px; border-bottom:2px solid rgba(255,255,255,0.9); padding-bottom: 4px; opacity: 1; transition:all 0.3s ease;}
    header:after{content:''; display: block; width:53px; border-bottom:2px solid rgba(255,255,255,0.9); position: absolute; top:37px; right:35px; cursor: pointer;transition:all 0.3s ease;}
    header .content-wrap:after{content:''; display: block; width:53px; border-bottom:2px solid rgba(255,255,255,0.9); position: absolute; top:49px; right:35px; cursor: pointer; transition:all 0.3s ease;}
    header.on nav{right:0px;}
    header.on:before{opacity: 0;}
    header.on:after{transform:rotate(45deg); width:30px; right:45px;}
    header.on .content-wrap:after{transform:rotate(-45deg); width:30px; right:45px; top:38px;}
    header.on nav ul{ box-shadow: rgba(0,0,0,0.5) 0px 7px 8px 1px;}
    nav li{display: block; line-height: normal;}
    nav li.no-link > span{height: auto; border-bottom:1px solid #fff; font-size:18px; display: block; padding:24px 64px; color:#FFF; text-decoration: none; font-weight: 700;}
    header.on ul.subnav,
    ul.subnav{height: auto; position: static; padding: 0px; box-shadow:none; background-color:transparent; width:100%;}
    ul.subnav li{border-bottom: none;}
    ul.subnav li a{padding:24px 48px 24px 84px; font-weight: 500;}
    nav li.no-link:hover ul.subnav,
    nav li.no-link.on ul.subnav{height: auto;}
    
    .home .hero h1{font-size: 42px;}
    
    .home figure{display: none;}
    .services .service{width:auto; margin:0px 0px 48px 0px;}
}

@media screen and (max-width:970px){
    .interior .service-list > li img{width:200px; height: auto;}
    
    .soilservice figure{float:none; margin:0px;}
    .soilservice figure img.overlay{right:auto; left:111px;}
    
}
@media screen and (max-width:740px){
    .content-wrap{margin:0px 32px;}
    .content.right{float:none; width:auto; padding-left:0px;}
    .content.left{float:none; width:auto; padding-right: 0px; border-right: none;}
    
    .contact .content.right{max-width:370px; margin:0px auto 32px; padding:0px 24px; border:1px solid #333;}
    
    .home .hero{padding:0px; height: 95vh; display: table; vertical-align: middle;}
    .home .hero .content-wrap{display: table-cell; vertical-align: middle; padding:0px 32px;}
    .home .hero h1{margin-top:75px;}
    
    .aside-right{float:none;}
    .home .aside-right h2{width:auto; margin:24px auto; text-align: center;}
    .home h3{margin:24px auto;}
    
    .soilservice figure{display: none;}
    .soilservice .spacer{height: 0px;}
}

@media screen and (max-width:550px){
    footer .logo{width:auto; margin-left:-32px; margin-right: -32px;}
    footer .address{float:none; width:auto; border-right: 0px; text-align: center; border-bottom: 1px solid #999; padding-right:0px; margin-left:-32px; margin-right: -32px; padding-bottom: 24px;}
    footer div.phone{float:none; width:auto; text-align: center;padding-left:0px;}
    
    .interior .service-list > li img{width:auto; float:none; margin:0px auto 16px; max-width: 100%;}
    .interior .service-list > li ul{float:none; width: auto; }
    
}