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

/*
  Custom Styles by Morningstar Digital (MD)
  Your custom style will be added here.
  */

.md header#main-header {
  background-image: none;
  background-color: #fff;
}

.md #main-header:before {
  content: "";
  background-color: #061238;
  position: absolute;
  right: 0;
  top: 0;
  left: auto;
  height: 100%;
  width: calc((100% - 150px) - 12%);
}

.md #main-header:after {
  content: "";
  background-image: url(/wp-content/uploads/2020/07/Nav-header-style-v2.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  right: auto;
  top: 0;
  left: 0;
  height: 100%;
  width: 200px;
  margin-left: calc(100% - ((100% - 150px) - 12%));
}

.md.et_fullwidth_nav #main-header .container {
  padding-left: calc((100% - ((100% - 150px) - 12%)) - 175px);
}

.md #top-menu li a {
  font-size: calc(10px + .85vw);
}

.md #top-menu>li>a {
  padding-bottom: 33px !important;
  -webkit-transition: all .3s ease-in-out;
  -o-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
}

.md .et-fixed-header #top-menu>li>a {
  padding-bottom: 28px !important;
}

.md .s_hero {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: 660px;
}

.md.home .s_hero {
  min-height: 700px;
}

.md .s_hero+.et_pb_section {
  z-index: 90;
}

.md .s_hero .et_pb_bottom_inside_divider {
  background-size: 100% 13vw !important;
  height: 13vw !important;
  z-index: 10 !important;
}

.md .s_hero>.et_pb_row {
  z-index: 95;
}

.md .s_hero:after {
  background-repeat: no-repeat;
  background-size: contain;
  background-position: bottom;
  height: 12vw;
  width: 20vw;
  position: absolute;
  left: 0;
  top: auto;
  bottom: 0;
  margin-left: calc(((100% - 80%) / 2) + 40px);
  -webkit-transform: translate(0, -9vw);
  -ms-transform: translate(0, -9vw);
  transform: translate(0, -9vw);
}

.md.page-quarries-concrete .s_hero:after {
  -webkit-transform: translate(0, calc(-7vw + 12px));
  -ms-transform: translate(0, calc(-7vw + 12px));
  transform: translate(0, calc(-7vw + 12px));
  background-position: left bottom;
  margin-left: 0;
  height: 23vw;
  width: 28vw;
}

.md.page-cmse .s_hero:after,
.md.page-contact-us .s_hero:after {
  background-size: 100% auto;
  margin-left: 0;
  height: 558px;
  width: 100%;
  -webkit-transform: translate(0, 30px);
  -ms-transform: translate(0, 30px);
  transform: translate(0, 30px);
  z-index: 92;
}

.md .hero_txt {
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  position: relative;
}

.md.page-cmse .hero_txt,
.md.page-contact-us .hero_txt {
  -webkit-transform: translateY(calc(-100% + -10%));
  -ms-transform: translateY(calc(-100% + -10%));
  transform: translateY(calc(-100% + -10%));
}

.md.page-about-us .hero_txt {
  -webkit-transform: translateY(calc(100% + 25%));
  -ms-transform: translateY(calc(100% + 25%));
  transform: translateY(calc(100% + 25%));
}

@media (min-width: 1441px) {
  .md #main-header:before {
    width: calc(100% - 30vw);
  }

  .md #main-header:after {
    margin-left: calc(100% - 70vw);
  }

  .md.et_fullwidth_nav #main-header .container {
    padding-left: calc((100% - 70vw) - 175px);
  }

  .md .s_hero:after {
    margin-left: calc((100% - 1200px) / 2);
  }

  .md.page-about-us .hero_txt {
    -webkit-transform: translateY(calc(100% + 50%));
    -ms-transform: translateY(calc(100% + 50%));
    transform: translateY(calc(100% + 50%));
  }
}

@media (min-width: 981px) {
  .md.et_fullwidth_nav #main-header .container {
    padding-right: 45px;
  }
}

@media (max-width: 1440px) {
  .md .s_hero {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }

  .md.page-quarries-concrete .hero_txt {
    -webkit-transform: translateY(-85%);
    -ms-transform: translateY(-85%);
    transform: translateY(-85%);
  }
}

@media (max-width: 1100px) {
  .md #main-header #top-menu li a {
    font-size: calc(10px + 0.45vw) !important;
  }

  .md #top-menu li {
    padding-right: 18px;
  }

  .md.et_fullwidth_nav #main-header .container {
    padding-right: 30px;
    padding-left: 30px;
  }

  .md #main-header:after {
    margin-left: calc(100% - ((100% - 150px) - 8%));
  }

  .md #main-header:before {
    width: calc((100% - 150px) - 8%);
  }
}

@media (max-width: 980px) {

  .md .s_hero,
  .md.home .s_hero {
    min-height: 520px;
  }

  

  .md .hero_txt {
    -webkit-transform: translateY(-50%) !important;
    -ms-transform: translateY(-50%) !important;
    transform: translateY(-50%) !important;
  }

  .md.page-cmse .s_hero:after,
  .md.page-contact-us .s_hero:after {
    height: 299px;
    -webkit-transform: translate(0, 5px);
    -ms-transform: translate(0, 5px);
    transform: translate(0, 5px);
  }

  .md.page-about-us .hero_txt {
    -webkit-transform: translateY(calc(100% + 70%)) !important;
    -ms-transform: translateY(calc(100% + 70%)) !important;
    transform: translateY(calc(100% + 70%)) !important;
  }

  .md .s_hero.about {
    background-position: left bottom !important;
  }

  .md .s_hero.front {
    background-position: left !important;
  }
}

@media (max-width: 767px) {

  .md .s_hero,
  .md.home .s_hero {
    min-height: 420px;
  }

  .md .hero_txt {
    -webkit-transform: translateY(-33%) !important;
    -ms-transform: translateY(-33%) !important;
    transform: translateY(-33%) !important;
  }
}

@media (max-width: 605px) {
  .md .s_hero:not(.front):not(.about):before {
    content: "";
    background-color: rgba(255, 255, 255, 0.3);
    background-image: -o-linear-gradient(40deg, rgba(234, 234, 234, 0.65) 35%, rgba(0, 0, 0, .0) 75%);
    background-image: linear-gradient(50deg, rgba(234, 234, 234, 0.65) 35%, rgba(0, 0, 0, .0) 75%);
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    z-index: 0;
  }

  .md .s_hero,
  .md.home .s_hero {
    min-height: 320px;
  }

  .md .s_hero.about {
    min-height: calc(200px + 20vw);
  }

  .md .s_hero:after {
    height: 20vw;
    width: 25vw;
    margin-left: calc(((100% - 80%) / 2) + 0px);
  }
}


/* from theme options */

.lg-valign-center-row .et_pb_column,
.lg-valign-center-section,
.lg-valign-center-module {
   display: flex;
   flex-direction: column;
   justify-content: center;
}
.md #top-menu li a {
    font-size: calc(10px + .65vw) !important; 
}   
#main-header .mobile_nav .mobile_menu_bar span::before{
    color:#FFF !important;
}
header#main-header {
    background: url(/wp-content/uploads/2020/07/header-bg_02.png);
    background-position: 100% 100%;
    background-repeat:no-repeat;

}
.deadlink > a {
    cursor: default !important;
    pointer-events: none !important;
}

#contact-section:before{
content: "";
    background-image: url(/wp-content/uploads/2020/07/FPM-Crame-icon.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 6vw;
    height: 30vw;
    width: 280px;
    max-height: 450px;
    transform: translate(0,14px);
}

@media (max-width: 1280px) {
    #contact-section:before {
    bottom: 0;
    transform: translate(0,-75px);
}
}

@media (max-width: 980px) {
    #contact-section:before {
    height: 40vw;
    transform: translate(0,1%);
}
}

/* Ninja Forms */
/* NF Remove Fields marked with an * are required */
.nf-form-fields-required{ display:none !important; }



/* NF Button */
.nf-form-content input[type=submit]{
  font-family: 'Kreon',Georgia,"Times New Roman",serif !important;  
  background: #dd3d01 !important;
  width:250px !important;
  font-size:20px !important;  
  margin: 0 auto;
    display:block;
}
/* NF Button Hover */
.nf-form-content input[type=submit]:hover{
  background: #061238 !important;
  color:#FFF !important;  
}





.left h1 + hr,
h3 + hr.left{
  margin-left:0 !important;
}
.short-line{
    max-width:70px;
    height:2px;
    border:none;
    background: #Dc3c02;
}
/* Button */
.btn-default{
    width:245px;
    text-align:center;
}
.btn-2{
    text-align:center;
}
.custom-btn{
  padding: 30px 0 !important;
}
#featured-projects .custom-btn{
  width:250px    
}


/* Base */
.md .sec h2{
  font-size:50px;
}
.md .sec h3{
  font-size:40px !important;
}





/*Footer*/
#main-footer{
    display:none !important;
}
#footer-section li{
  margin-bottom: 10px;
  color:#Dc3c02 
}

#footer-section a,
#footer-section p,
#footer-section h5{
  color:#FFF !important;
}
#footer-section a:hover{
  color:#dd3d01 !important;
}

.footer-horizontal-nav{
  text-align:center;
}
.footer-horizontal-nav li{
  display:inline-block;
  padding: 0 2%;
}

.address-blurbs .et_pb_blurb_content {
    display: table !important;
}


#footer-section hr{
  max-width:70px;
  height:2px;
  border:none;
  background: #Dc3c02;
  margin-bottom:30px;
}


h3 + hr,
h1 + hr{
  max-width:170px !important;
  border:none;
  background: #Dc3c02;
  height:8px;
  margin-bottom:30px;
}




/* =================
 * Media Queries 
 * =================

/*** 0 - 767 ***/
@media all and (max-width: 767px) {
  h3 + hr,
  h1 + hr{ 
    max-width:95px !important;
  }  

   .lg-page-title h1{
      font-size:40px !important;
    }
}
@media all and (min-width:768px){
    .nf-form-content input[type=submit]{ 
        margin: 0 0 0 auto;
    }   
}
.nf-form-content input[type=submit]{ 
	cursor: pointer
}

/*** 768 - 980 ***/
@media all and (min-width: 768px) and (max-width: 980px) {

  .lg-page-title h1{
    font-size:60px;
  }
 #nf-field-6-container, #nf-field-7-container {
    width: 48% !important;
    display: inline-block !important;
    box-sizing: border-box !important;
  } 
  #nf-field-7-container { margin-left: 3%; }
}

 @media all and (max-width: 980px) {
/*** wrap row in a flex box ***/
.custom-row {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    -webkit-flex-wrap: wrap; /* Safari 6.1+ */
    flex-wrap: wrap;
    display: flex;
}
/*** custom classes that will designate the order of columns in the flex box row ***/
.first-on-mobile {
    -webkit-order: 1;
    order: 1;
    margin-bottom:30px !important;
} 
.second-on-mobile {
    -webkit-order: 2;
    order: 2;
    margin-bottom:0 !important;
}
}    


/*** 981 - 1099 ***/
@media all and (min-width: 981px) and (max-width: 1099px) {
 .lg-page-title h1{
    font-size:60px !important;
  }
}

/*** 1100 or wider ***/
@media all and (min-width: 1100px) {
  .lg-page-title h1{
    font-size:70px !important;
  }
    .nav li ul{
        width: auto !important;
    }
    .nav li ul li a{
        min-width:230px !important;
    }
}

/*** 1405 or wider ***/
@media all and (min-width: 1405px) {
  #nf-field-6-container, #nf-field-7-container {
    width: 48% !important;
    display: inline-block !important;
    box-sizing: border-box !important;
  } 
  #nf-field-7-container { margin-left: 3%; }
  .lg-page-title h1{
      font-size:85px !important;
    }   
    
}



.services-block .et_pb_main_blurb_image{
  margin-bottom:0 !important;
}
.services-block .et_pb_module_header{
  margin-top:-11px;
  background:#e5e4e4;
}
.services-block .et_pb_blurb_content:hover h5:after {
    content: "";
    position: relative;
    display: block;
    text-align: center;
    background: #Dc3c02;
    margin: 0 auto;
    width: 70px;
    height: 4px;
    max-width: 70px;
    border:none;
    margin-top:10px;
    transition: all .5s ease-in-out;
} 
.services-block .et_pb_blurb_content h5:after{
    content: "";
    position: relative;
    display: block;
    text-align: center;
    background: transparent;
    margin: 0 auto;
    width: 70px;
    height: 4px;
    max-width: 70px;
    border:none;
    margin-top:10px;
}

.services-block .et_pb_blurb:hover .et_pb_main_blurb_image{
    transform: scaleX(1.05) scaleY(1.05)!important;
    transition: transform 300ms ease 0ms;
    box-shadow: 0px 2px 18px 0px rgba(0,0,0,0.3);
}