@font-face{
  font-family: 'AvenirOblique';
  src: url('/a/fonts/Avenir-Oblique.ttf');
}
@font-face{
  font-family:'AvenirBlack';
  src:url('/a/fonts/Avenir-Black.ttf');
}
@font-face{
  font-family:'AvenirBook';
  src:url('/a/fonts/Avenir-Book.ttf');
}
@font-face{
  font-family:'AvenirRoman';
  src:url('/a/fonts/Avenir-Roman.ttf');
}

body{
  font-family: 'AvenirBook', sans-serif;
  font-size:14px;
  color:#666563;
}

hr{border-color:#666563;}

.container{
  width:1170px;
  max-width: 100%;
}

.row.tight-cells{margin-left:-2px;margin-right:-2px;}
.row.tight-cells > div[class^="col-"]{
  padding-left:2px;
  padding-right:2px;
}

.relative{position: relative;}

a:hover{color:#FFE153;}
a[href^=tel]{
  text-decoration: inherit;
  color:inherit;
}

.spacer{height:20px;clear:both;}
.no-gutter > [class*='col-']{
  padding-right:0;
  padding-left:0;
}
.responsive-center{margin:auto;}

.bold{font-weight: bold;}

.avenir-oblique{font-family: 'AvenirOblique'}
.avenir-black{font-family: 'AvenirBlack'}
.avenir-roman{font-family: 'AvenirRoman'}

.info-cell{
  background:#ECECEC;
  padding:15px;
  border-top:5px solid #FFE153;
  -webkit-transition:0.3s ease-in;
  -o-transition:0.3s ease-in;
  transition:0.3s ease-in;
  margin-bottom:30px;
}

.form-control{
  border-radius: 0;
  border:1px solid #BBBDBF;
  -webkit-box-shadow: none;
          box-shadow: none;
}

img.pull-right{
  margin:auto auto 15px 15px;
}


.btn-custom{
  display:inline-block;
  font-family:'AvenirBlack';
  color:#666563;
  padding:15px 25px;
  font-size:14px;
  line-height: 1em;
  position: relative;
  z-index:100;
  -webkit-transition:all 0.3s ease-in;
  -o-transition:all 0.3s ease-in;
  transition:all 0.3s ease-in;
  border:none;
  cursor: pointer;
}
.btn-custom input[type="checkbox"]{
  display: none;
}

.btn-custom:hover{text-decoration:none;}

.btn-custom:after,
.btn-custom:before{
  content:'';
  position: absolute;
  width:100%;
  height:5px;
  left:0;
  right:0;
  bottom:0;
  -webkit-transition:all 0.3s ease-in;
  -o-transition:all 0.3s ease-in;
  transition:all 0.3s ease-in;
  z-index:-1;
}

.btn-custom:before{height:100%;}

.yellow{color:#FFE153 !important;}
.bg-yellow{background:#FFE153;}
.bg-white{background:#FFF;}
.bg-grey{background:#ECECEC;}
.bg-pattern{background-image:url('/a/img/bg-pattern.jpg');}
.bg-dark-pattern{position:relative;background-image:url('/a/img/bg-ftr-pattern.jpg');}
.bg-logo{
  background:url('/a/img/footer-logo-bg.png');
  background-repeat: no-repeat;
  background-size: auto 100%;
  position: absolute;
  z-index:100;
  left:0;
  top:0;
  height:100%;
  width:100%;
}

.btn-yellow:before{background:#FFE153;}
.btn-yellow:after{background:#D6AD38;}
.btn-yellow:hover,
.btn-yellow.selected{color:#FFF;}
.btn-yellow:hover:after,
.btn-yellow.selected:after{height:100%;}

.social a [class^="fa"]:first-child{color:#FFE153;}
.social a [class^="fa"]:nth-child(2){color:#666563;-webkit-transition: 0.1s ease-in;-o-transition: 0.1s ease-in;transition: 0.1s ease-in;}
.social a:hover{text-decoration: none;}
.social a:hover [class^="fa"]:nth-child(2){color:#FFF;}

.overline{
  width:225px;
  height:5px;
  background:#FFE153;
  display: inline-block;
  margin:20px 0;
}

.small-heading{
  font-size:22px;
  font-family: 'AvenirRoman';
}
.small-title{
  font-size:22px;
  font-family: 'AvenirBlack';
  margin:0 0 10px;
}

a.small-title{
  display: inline-block;
  color:inherit;
}

.content{
  padding: 30px 0;
}

/* START HEADER */
header{position: relative;}
#top-header{
  background:#666563;
  padding: 10px 0;
  color:#FFF;
}
#header{
  background:rgba(255,255,255,0.8);
  border-bottom:1px solid #FFF;
  position: absolute;
  z-index:500;
  width:100%;
  height:100px; /* static height to help with vertical alignment offset */
}
#header.static{
  position: static;
  background:#fff;
  border-top:1px solid #d9d9d9;
}

#logo{
  max-width:170px;
  margin:25px 0;
}

#logo-50{
  max-width: 275px;
  width:calc(100% - 80px);
  margin:15px 0;
}

#acchione-logo{
  max-width:260px;
  margin:20px 0;
}

#oville-sand-gravel-logo{
  max-width:170px;
  margin:5px 0;
}

.toggle-nav{
  display: none;
  float:right;
  font-size:48px;
  background:none;
  border:none;
  color:#666563;
  padding:15px 10px;
}
.toggle-nav.open{color:#fff;}

#nav{float:right;}
#nav a:not(.btn-custom){
  display: inline-block;
  padding: 40px 15px;
  font-family:'AvenirBlack';
  color:#666563;
}
#nav a:not(.btn-custom):hover{
  color:#000;
  text-decoration: none;
}
#nav a.active{color:#000;}

#page-banner.banner-image{
  height:550px;
  background-image:url('/a/img/page-banner.jpg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
#page-banner:not(.banner-image){
  background:#FFE153;
  padding:15px 0;
}

#page-banner .banner-title{
  font:normal 48px 'AvenirBlack';
  text-align: center;
}

#page-banner.banner-image .banner-title{
  color:#FFF;
  margin:0;
  position: relative;
  top:calc((100% - 100px) * 0.5 + 100px); /* Verticaly align while accounting for 100px header */
  -webkit-transform:translateY(-50%);
      -ms-transform:translateY(-50%);
          transform:translateY(-50%);
  text-shadow: -2px 2px 10px #3c3c3c;
}

#page-banner.banner-image .banner-title h1{
  font-size:inherit;
  margin:inherit;
}

#page-banner .banner-link{
  font-family: 'AvenirBlack';
  position: absolute;
  right:0;
  top:50%;
  -webkit-transform:translateY(-50%);
      -ms-transform:translateY(-50%);
          transform:translateY(-50%);
}
#page-banner .banner-link a{color:#666563;}
/*END HEADER */



/* START HOMEPAGE */
#homepage-slider .item{
  height:700px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;;
}

#homepage-slider .carousel-control .fa{
  position: absolute;
  top:50%;
  left:50%;
  -webkit-transform:translate(-50%,-50%);
      -ms-transform:translate(-50%,-50%);
          transform:translate(-50%,-50%);
  font-size:75px;
}

#homepage-slider .carousel-indicators li{
  border:none;
  background:#FFF;
  width:15px;
  height:15px;
}
#homepage-slider .carousel-indicators .active{background-color:#FFE153;margin:1px;}

#homepage-slider .caption{
  position: absolute;
  width:80%;
  left:50%;
  top:calc((100% - 100px) * 0.5 + 100px);
  -webkit-transform:translate(-50%,-50%);
      -ms-transform:translate(-50%,-50%);
          transform:translate(-50%,-50%);
  text-align:center;
  font-family: 'AvenirRoman';
  font-size:22px;
  color:#FFF;
}
#homepage-slider .caption-title{
  font-family:'AvenirBlack';
  font-size:48px;
}

/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v7.0.29,
* Autoprefixer: v9.7.6
* Browsers: last 4 version
*/

#markets-we-serve{
  text-align: center;
  overflow: hidden;
  border-bottom:1px solid #e9ebec;
}

#markets-we-serve [class*='col-']{
  padding-left:5px;
  padding-right:5px;
}

.market-cell{
  display: block;
  position: relative;
  background:#e9ebec;
  padding:50px 20%;
  color:inherit;
  overflow: hidden;
}

.market-cell img{
  max-width: 105px; 
  margin-bottom:20px;
}

.market-cell .title{
  font-family: 'AvenirBlack';
  font-size:22px;
}

.market-cell .hover-bg{
  position: absolute;
  z-index:10;
  width:100%;
  height:100%;
  background:#FFE153;
  top:0;
  left:0;
  -webkit-transform:translateY(calc(100% + 5px));
      -ms-transform:translateY(calc(100% + 5px));
          transform:translateY(calc(100% + 5px));
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.36, 0, 0.66, -0.56);
  transition: -webkit-transform 0.3s cubic-bezier(0.36, 0, 0.66, -0.56);
  -o-transition: transform 0.3s cubic-bezier(0.36, 0, 0.66, -0.56);
  transition: transform 0.3s cubic-bezier(0.36, 0, 0.66, -0.56);
  transition: transform 0.3s cubic-bezier(0.36, 0, 0.66, -0.56), -webkit-transform 0.3s cubic-bezier(0.36, 0, 0.66, -0.56);
}

.market-cell .hover-border{
  position: absolute;
  z-index:25;
  width: 100%;
  height:5px;
  background:#d6ad38;
  bottom:0;
  left:0;
  -webkit-transform:translateY(calc(100% + 5px));
      -ms-transform:translateY(calc(100% + 5px));
          transform:translateY(calc(100% + 5px));
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.market-cell:hover{
  color:inherit;
  text-decoration: none;
}

.market-cell:hover .hover-border{
  -webkit-transform:none;
      -ms-transform:none;
          transform:none;
}

.market-cell:hover .hover-bg{
  -webkit-animation-name:undefined-easeOutBounce;
          animation-name:undefined-easeOutBounce;
  -webkit-animation-fill-mode:forwards;
          animation-fill-mode:forwards;
  -webkit-animation-duration:0.5s;
          animation-duration:0.5s;
}

@-webkit-keyframes undefined-easeOutBounce {
  0% {
    -webkit-transform: translateY(calc(100% + 5px));
            transform: translateY(calc(100% + 5px));
  }

  12% {
    -webkit-transform: translateY(89.11%);
            transform: translateY(89.11%);
  }

  24% {
    -webkit-transform: translateY(56.44%);
            transform: translateY(56.44%);
  }

  36% {
    -webkit-transform: translateY(1.99%);
            transform: translateY(1.99%);
  }

  54% {
    -webkit-transform: translateY(24.98%);
            transform: translateY(24.98%);
  }

  74% {
    -webkit-transform: translateY(1.63%);
            transform: translateY(1.63%);
  }

  82% {
    -webkit-transform: translateY(6.25%);
            transform: translateY(6.25%);
  }

  92% {
    -webkit-transform: translateY(0.66%);
            transform: translateY(0.66%);
  }

  96% {
    -webkit-transform: translateY(1.54%);
            transform: translateY(1.54%);
  }

  100% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}

@keyframes undefined-easeOutBounce {
  0% {
    -webkit-transform: translateY(calc(100% + 5px));
            transform: translateY(calc(100% + 5px));
  }

  12% {
    -webkit-transform: translateY(89.11%);
            transform: translateY(89.11%);
  }

  24% {
    -webkit-transform: translateY(56.44%);
            transform: translateY(56.44%);
  }

  36% {
    -webkit-transform: translateY(1.99%);
            transform: translateY(1.99%);
  }

  54% {
    -webkit-transform: translateY(24.98%);
            transform: translateY(24.98%);
  }

  74% {
    -webkit-transform: translateY(1.63%);
            transform: translateY(1.63%);
  }

  82% {
    -webkit-transform: translateY(6.25%);
            transform: translateY(6.25%);
  }

  92% {
    -webkit-transform: translateY(0.66%);
            transform: translateY(0.66%);
  }

  96% {
    -webkit-transform: translateY(1.54%);
            transform: translateY(1.54%);
  }

  100% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}


#who-we-are{position: relative;overflow: hidden;}
#who-we-are .content{
  background:#FFF;
  position:relative;
  z-index:500;
  text-align: center;
  padding:30px 0 50px;
}

#who-we-are .angle-effect{
  position:absolute;
  width:100%;
  height:100%;
  top:0;
  left:0;
}

#who-we-are .angle-effect:before,
#who-we-are .angle-effect:after{
  content:'';
  position:absolute;
  top:0;
  left:0;
  height:100%;
  width:100%;
  -webkit-transform-origin:0 bottom;
      -ms-transform-origin:0 bottom;
          transform-origin:0 bottom;
}

#who-we-are .angle-effect:before{background:#DADADA;}
#who-we-are .angle-effect.left:before{-webkit-transform:skewX(30deg);-ms-transform:skewX(30deg);transform:skewX(30deg);}
#who-we-are .angle-effect.right:before{-webkit-transform:skewX(-30deg);-ms-transform:skewX(-30deg);transform:skewX(-30deg);}

#who-we-are .angle-effect:after{background:#FFF;}
#who-we-are .angle-effect.left:after{-webkit-transform:skewX(25deg);-ms-transform:skewX(25deg);transform:skewX(25deg);}
#who-we-are .angle-effect.right:after{-webkit-transform:skewX(-25deg);-ms-transform:skewX(-25deg);transform:skewX(-25deg);}

#markets-we-serve .content-title,
#who-we-are .content-title{
  font-family: 'AvenirBlack';
  font-size:48px;
}

.services-callout{
  padding:40px 0;
  text-align: center;
  font-size:28px;
  line-height: 1.3;
}

.service-cell{
  height:250px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: relative;
  border:1px solid #666563;
}

.service-cell .overlay{
  position: absolute;
  top:0;
  left:0;
  height:100%;
  width:100%;
  background:rgba(102,101,99,0.75);
  opacity:0;
  -webkit-transition: 0.3s ease-in;
  -o-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
  text-decoration: none;
}

.service-cell .overlay:hover{opacity: 1;}
.service-cell .overlay .content{
  color:#FFF;
  font-size:22px;
  text-align: center;
  position: relative;
  top:50%;
  -webkit-transform:translateY(-50%);
      -ms-transform:translateY(-50%);
          transform:translateY(-50%);
}



/* START PROJECTS */
#project-filters .btn-custom{
	padding:15px 15px;
}

#project-cells .thumbnail-image{
  width:100%;
  height:100px !important;
  background-size: cover;
}



/* END PROJECTS */



.date{
  font-family: 'AvenirBook';
  font-size:15px;
  font-style: italic;
}

#quality{
  background: transparent;
  text-align: center;
  color:#FFF;
  font-size:22px;
  padding:100px 0;
  text-shadow:0 0 8px #000;
}

@media(max-width:767px){
	.parallax-mirror{
		display: none;
	}

	#quality{
		padding:50px 0;
		background-image:url('/a/img/home-bg-quality-v3.jpg');
		background-size:cover;
		background-position: center;
	}
}

#quality .content-title{
  font-family: 'AvenirBlack';
  font-size:48px;
}

#contact{
  text-align: center;
  font-size:22px;
  font-family: 'AvenirBlack';
}

#contact [class*='col-']{
  height:200px;
  margin-top:25px;
  margin-bottom:25px;
}

#contact [class*='col-']:first-child{border-right:2px solid #666563;}
#contact [class*='col-'] > div{
  position: relative;
  top:50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}


.area-list{
  padding-left:0;
  margin-bottom:0;
  text-align: left;
}

.area-list li{
  list-style-type:none;
  list-style:none;
  font-size:16px;
}

.area-list li:before{
  font-family: 'Font Awesome 5 Free';
  content:"\f3c5";
  font-weight:900;
  padding-right:8px;
}

/* END HOMEPAGE */

.terms-list{padding-left:15px;}
.terms-list li{margin-bottom:15px;}

.thumbnail-image{
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

#left-nav{
  background:#ECECEC;
}

#left-nav a{
  display: block;
  padding: 2px 10px;
  color:#666563;
}

#left-nav a:hover,
#left-nav a.active{
  text-decoration: none;
  font-weight: bold;
}

#left-nav .nav-heading{
  padding: 8px 5px;
  line-height: 14px;
  font-family: 'AvenirBlack';
  background:#FFE153;
}

/* START ADMIN */
#admin-nav-bar{
  background:#666563;
  color:#FFF;
  font-size:22px;
  padding: 15px 0;
}

.open-admin-nav,
.close-admin-nav{
  cursor: pointer;
}

#admin-nav{
  position: fixed;
  -webkit-transform:translateX(-100%);
      -ms-transform:translateX(-100%);
          transform:translateX(-100%);
  top:0;
  left:0;
  height:100vh;
  background:#404040;
  color:#FFF;
  min-width:20vw;
  z-index:1000;
  -webkit-transition: 0.3s ease-in;
  -o-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
}

#admin-nav.open{
  -webkit-transform:none;
      -ms-transform:none;
          transform:none;
}

#admin-nav .nav-head{
  margin-bottom:25px;
  padding:20px 30px;
  border-bottom:1px solid #272626;
}

#admin-nav .nav-body{
  padding: 20px 0;
}

#admin-nav a{
  display: block;
  color:#FFF;
  font-size:22px;
  padding:10px 30px;
  border-bottom:1px solid #272626;
  -webkit-transition: 0.3s ease-in;
  -o-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
}

#admin-nav a:hover{
  text-decoration: none;
  background:#FFF;
  color:#404040;
}

#admin-nav a > div{
  padding: 0 35px;
  position: relative;
}

#admin-nav a > div:before,
#admin-nav a > div:after{
  font-family: 'Font Awesome 5 Free';
  font-weight:600;
  position: absolute;
}

#admin-nav a > div:before{left:0;}
#admin-nav .blog:before{content: '\f5ac';}
#admin-nav .careers:before{content: '\f27e';font-family:'Font Awesome 5 Brands';}
#admin-nav .fleet:before{content: '\f0d1';}
#admin-nav .slides:before{content: '\f03e';}
#admin-nav .services:before{content: '\f0b1';}
#admin-nav .users:before{content: '\f0c0';}
#admin-nav .logout:before{content: '\f060';}

#admin-nav a > div:not(.logout):after{
  content: '\f105';
  right:0;
}

#admin-nav a:hover > div:before{
  -webkit-animation: tada 2s linear infinite;
  animation: tada 2s linear infinite;
}

#admin-nav a:hover > div:after,
#admin-nav a:hover > div.logout:before{
  -webkit-animation: horizontal 2s ease infinite;
  animation: horizontal 2s ease infinite;
}

.no-sort,
.sorting_disabled{
  width: 1% !important;
  white-space: nowrap;
}

#notification{
  -webkit-transition: 0.3s ease-in;
  -o-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
}


#grid{
  position: relative;
}

.grid-item,
.grid-item-placeholder{
  width:25%;
  height:150px;
  float:left;
  background-size: cover;
  background-position: center;
  position: relative;
}
.grid-item.remove{
  -webkit-box-shadow: inset 0 0 0 5px #a94442;
          box-shadow: inset 0 0 0 5px #a94442;
}
.grid-item-placeholder{
  border:2px dashed #000
}
.remove-image{
  position: absolute;
  top:0;
  right:0;
  height:35px;
  width:35px;
  font-size:22px;
  background:#a94442;
  color:#FFF;
  border:none;
}

.selectize-input{
  border-radius:0 !important;
}

.selectize-dropdown .create{
  padding-left:5px;
  padding-right:5px;
}

/* END ADMIN */

/* START FOOTER */
footer{
  padding-top:50px;
  padding-bottom:15px;
  color:#666563;
  font-family: 'AvenirRoman', Arial, sans-serif;
  position: relative;
}

footer a{
  color:#666563;
}

footer hr{
  height:1px;
  background:rgba(102,101,99,0.3);
  border:none;
  border-bottom:1px solid #000;
}

#ftr-logo{
  max-width:250px;
  margin:30px auto;
}

#ftr-logo-50{
  max-width: 350px;
  margin:20px auto;
}

#copyright{
  font-family:'AvenirRoman', Arial, sans-serif;
  text-align: center;
}

/* END FOOTER */

@media (max-width:991px){
  #top-header .text-right{text-align: center;}

  .service-cell .overlay{opacity: 1;}

  #ftr-logo-bg{background:none;}
  footer{
    text-align: center;
    padding:30px 15px;
  }
  footer .img-responsive{margin:auto;}
  footer hr{
    margin-top:30px;
    margin-bottom:30px;
  }

  #header{
    border-top:2px solid #FFF;
    background:#FFF;
  }

  .toggle-nav{display: block;}

  #nav{
    float:none;
    display: none;
    padding:30px 15px;
    background:#fff;
    border-top:2px solid #FFF;
    margin-left:-15px;
    margin-right:-15px;
    position: relative;
    z-index:5000;
  }

  #nav > a:not(.btn-custom),
  #nav a.btn-custom{
    display: block;
    padding:15px;
    text-align: center;
  }

  #contact{
    padding:15px;
    text-align: center;
  }
  #contact hr{border-top:1px solid #666563;}

  #contact [class*='col-']:first-child{
    border-right:none;
  }
  #contact [class*='col-']{
    height:auto;
    margin:0;
  }

  #contact [class*='col-'] > div{
    -webkit-transform:none;
        -ms-transform:none;
            transform:none;
  }

  #who-we-are{background:#FFF;}

  #page-banner .banner-link{
    position: static;
    text-align: center;
  }

  .bg-logo{background:none;}
}

@media (max-width: 767px){
  .content{padding:15px 0;}
  .overline{margin:10px 0;}

  #header{
    position: static;
  }

  #acchione-logo{
    max-width:190px;
    margin:28px 0;
  }

  #homepage-slider .carousel-inner,
  #page-banner{
    border-bottom:1px solid #FFF;
  }

  #homepage-slider .item{
    background-image: none !important;
    height:auto;
  }
  #homepage-slider .caption{
    position: static;
    width:100%;
    transform:none;
    background:#666563;
    font-size:16px;
    padding:20px 0;
  }
  #homepage-slider .caption-title{
    font-size:32px;
  }

  #page-banner.banner-image{
    height:150px;
  }
  #page-banner .banner-title{
    font-size:26px;
  }
  #page-banner.banner-image .banner-title{
    top:calc(100% * 0.5);
  }
}