/*
Theme Name: LeFort Renting
Author: Wietse De Ridder
Author URI: https://wietsederidder.be/
Description: Theme for LeFort Renting.
Version: 1.0
*/
* {
  margin: 0;
  padding: 0;
  border: 0; }

body {
  font-family: 'Lato', sans-serif;
  font-size: 16px;
  color: #000000;
  background-color: #FFFFFF;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

/* GENERAL IDS & CLASSES */
h1 {
  font-size: 42px;
  text-transform: uppercase;
  font-weight: 900;
  margin: 0;
  line-height: 1em; }

h2 {
  color: #373e44;
  text-transform: uppercase;
  font-size: 35px;
  line-height: 1.1em;
  font-weight: 900;
  text-align: center;
  margin: 0; }
  @media screen and (max-width: 768px) {
    h2 {
      font-size: 32px; } }

p {
  color: #646c72; }

a {
  color: #646c72;
  text-decoration: underline; }
  a:hover {
    text-decoration: none; }
  a:hover, a:visited {
    color: #646c72; }

a.btnBasic, .btnBasic {
  display: inline-block;
  color: #ffffff;
  background: #d97604 url(img/btnBg.jpg) right center no-repeat;
  background-size: auto 100%;
  font-size: 18px;
  font-weight: 700;
  padding: 15px 68px 17px 25px;
  text-decoration: none; }

.group:before,
.group:after {
  content: "";
  display: table; }

.group:after {
  clear: both; }

.group {
  zoom: 1;
  /* For IE 6/7 (trigger hasLayout) */ }

.spacer120 {
  height: 120px; }

.spacer200 {
  height: 200px; }
  @media screen and (max-width: 768px) {
    .spacer200 {
      height: 150px; } }

#topline {
  width: 100%;
  height: 2px;
  background-color: #d97604; }

#headerWrapper {
  position: fixed;
  width: 100%;
  height: 79px;
  z-index: 100;
  background-color: rgba(255, 255, 255, 0.92);
  box-shadow: 0px 1px 10px 0px rgba(0, 0, 0, 0.1); }

.spacerHeader {
  height: 79px; }

#header {
  position: relative;
  height: 100%; }
  #header .logo {
    position: absolute;
    top: 0;
    left: 0;
    width: 150px;
    height: 150px;
    padding-top: 20px;
    background-color: #ffffff;
    box-shadow: 0px 1px 35px 0px rgba(0, 0, 0, 0.25);
    text-align: center;
    transition: all 100ms ease-out; }
    #header .logo img {
      width: 70px; }
    #header .logo.smaller {
      -ms-transform: scale(1);
          transform: scale(1);
      padding-top: 8px;
      box-shadow: 0px 1px 35px 0px transparent;
      background-color: transparent; }
      #header .logo.smaller img {
        width: 40px; }
  @media screen and (max-width: 768px) {
    #header .logo {
      left: 15px; } }

#menu {
  position: absolute;
  top: 14px;
  right: 0;
  list-style-type: none; }
  #menu li {
    position: relative;
    float: left;
    text-align: right;
    font-size: 15px;
    padding-top: 13px;
    transition: color 200ms ease-in-out; }
    #menu li.lang {
      padding: 4px 7px 4px 8px;
      border: 1px solid #bebebe;
      font-size: 13px;
      margin-top: 10px;
      margin-left: 17px;
      transition: background-color 100ms ease-out, color 100ms ease-out; }
      #menu li.lang:hover {
        background-color: #bebebe;
        color: #ffffff; }
    #menu li.bookNow {
      padding: 11px 25px 12px 25px;
      background-color: #d97604;
      border: 2px solid #d97604;
      font-weight: 900;
      color: #ffffff;
      margin-left: 26px;
      transition: background-color 150ms ease-out, color 150ms ease-out; }
      #menu li.bookNow:hover {
        background-color: #ffffff;
        color: #d97604; }
    #menu li.page:before {
      content: "";
      position: absolute;
      left: 0;
      bottom: -3px;
      right: 0;
      margin: 0 auto;
      width: 0;
      height: 1px;
      background-color: #d97604;
      transition: width 200ms ease-in-out; }
    #menu li.page.active {
      font-weight: bold; }
    #menu li.page.active, #menu li.page:hover {
      color: #d97604; }
      #menu li.page.active:before, #menu li.page:hover:before {
        width: 12px; }
  #menu .menuDivider {
    float: left;
    width: 1px;
    height: 50px;
    background-color: #cccccc;
    margin: 0 25px; }
  #menu a {
    text-decoration: none; }
  @media screen and (max-width: 768px) {
    #menu {
      display: none; } }

#btnMobileMenu {
  display: none;
  position: absolute;
  top: 11px;
  right: 15px;
  z-index: 10000;
  cursor: pointer;
  outline: 0; }
  @media screen and (max-width: 768px) {
    #btnMobileMenu {
      display: block; } }

#hero {
  position: relative;
  height: 570px;
  min-height: 570px;
  margin-bottom: 20px;
  background-size: cover; }
  #hero .titleBox {
    position: absolute;
    bottom: -50px;
    width: 450px;
    background-color: #373e44;
    padding: 40px; }
    #hero .titleBox h1 {
      margin-bottom: 16px; }
    #hero .titleBox h1, #hero .titleBox p {
      color: #ffffff; }
    #hero .titleBox p {
      font-size: 20px;
      font-weight: 300; }
      #hero .titleBox p span {
        font-weight: 400; }
    #hero .titleBox .alignRight {
      text-align: right;
      margin-top: 30px; }
  @media screen and (max-width: 768px) {
    #hero {
      height: 650px; }
      #hero .titleBox {
        width: 100%;
        left: 0;
        right: 0; } }

.content {
  margin-top: 110px; }
  .content .titleLine {
    width: 32px;
    height: 4px;
    margin: 8px auto 25px auto;
    background-color: #373e44; }
  .content .subtitle p {
    text-align: center;
    font-size: 15px;
    line-height: 1.8em; }

#moreInfo {
  background: center no-repeat;
  background-size: cover;
  padding-top: 80px;
  padding-bottom: 80px; }
  #moreInfo p {
    font-size: 24px;
    font-weight: 300;
    color: #ffffff; }
  #moreInfo input[type="text"], #moreInfo input[type="tel"] {
    float: left;
    width: 50%;
    margin-left: 15%;
    font-size: 23px;
    font-weight: 300;
    padding: 11px 20px 14px 20px;
    max-width: 70%;
    outline: none;
    color: #373e44; }
  #moreInfo a.btnBasic {
    float: left;
    width: 35%; }
  #moreInfo .wpcf7 .screen-reader-response {
    display: none; }
  #moreInfo .wpcf7 .wpcf7-not-valid-tip {
    display: none; }
  #moreInfo .wpcf7 .screen-reader-response {
    color: #ffffff;
    margin-bottom: 12px; }
    #moreInfo .wpcf7 .screen-reader-response li {
      color: #ffffff;
      margin-left: 25px; }
      #moreInfo .wpcf7 .screen-reader-response li a {
        color: #ffffff; }
  #moreInfo .wpcf7 .wpcf7-response-output {
    color: #ffffff;
    margin-top: 12px;
    margin-bottom: -10px; }
  @media screen and (max-width: 1200px) {
    #moreInfo input[type="text"], #moreInfo input[type="tel"] {
      width: 60%;
      margin-left: 5%; } }
  @media screen and (max-width: 992px) {
    #moreInfo p {
      text-align: center; }
    #moreInfo form {
      width: 100%;
      margin-top: 30px; }
      #moreInfo form .group {
        float: none; } }
  @media screen and (max-width: 768px) {
    #moreInfo input[type="text"], #moreInfo input[type="tel"] {
      width: 100%;
      float: none; }
    #moreInfo a.btnBasic {
      width: 100%;
      float: none; } }

#lefortMap {
  height: 650px;
  margin-top: 30px;
  background-color: #e8e8e8; }
  @media screen and (max-width: 768px) {
    #lefortMap {
      height: 450px; } }

/* PARTIALS */
#rangeProducts {
  margin: 70px 0 120px 0; }
  @media screen and (max-width: 992px) {
    #rangeProducts {
      margin: 50px 0 20px 0; } }

.rangeProduct {
  text-align: center; }
  .rangeProduct .imgWrapper {
    height: 350px;
    background: center no-repeat;
    background-size: cover;
    margin-bottom: 20px; }
  .rangeProduct h4 {
    color: #373e44;
    font-size: 24px;
    line-height: 1.1em;
    margin-bottom: 5px; }
  .rangeProduct p {
    font-size: 15px;
    line-height: 1.8em; }
  .rangeProduct a.btnBasic {
    margin-top: 25px; }
  @media screen and (max-width: 992px) {
    .rangeProduct {
      margin-bottom: 80px; } }

.slick-slide {
  outline: none; }

.slick-prev {
  margin-top: -65px; }
  .slick-prev:before {
    font-size: 26px;
    color: #373e44; }

.slick-next {
  margin-top: -65px; }
  .slick-next:before {
    font-size: 26px;
    color: #373e44; }

#pageHero {
  position: relative;
  height: 400px;
  background: center no-repeat;
  background-size: cover; }
  #pageHero .pageTitleWrapper {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -52px;
    text-align: center;
    overflow: hidden; }
  #pageHero h2 {
    display: inline-block;
    font-size: 42px;
    text-transform: uppercase;
    font-weight: 900;
    color: #ffffff;
    text-align: center;
    background-color: #373e44;
    padding: 25px 50px; }
  @media screen and (max-width: 768px) {
    #pageHero {
      font-size: 35px; } }

#pros {
  margin-top: 40px; }
  #pros li {
    font-size: 21px;
    font-weight: 300;
    min-height: 22px;
    line-height: 1em;
    margin-bottom: 20px;
    color: #373e44;
    list-style-type: none;
    background: left top no-repeat url(img/check.png);
    background-size: 22px 22px;
    padding-left: 35px; }
  #pros .icon {
    height: 35px;
    font-size: 21px;
    font-weight: 300;
    line-height: 1.3em;
    color: #373e44;
    background: left top no-repeat;
    background-size: auto 100%;
    padding-left: 58px;
    margin-bottom: 20px; }
    #pros .icon.iconClock {
      background-image: url(img/iconClock.png);
      background-size: auto 96%; }
    #pros .icon.iconTruck {
      background-image: url(img/iconTruck.png);
      background-size: auto 80%;
      background-position: left 1px; }
    #pros .icon.iconMaintenance {
      background-image: url(img/iconMaintenance.png);
      background-size: auto 96%; }
    #pros .icon.iconCosts {
      background-image: url(img/iconCosts.png);
      background-position: 8px top; }

#timeline {
  text-align: center; }
  #timeline img {
    width: 100%; }

.rangeCategories {
  margin: 50px 0 50px 0; }
  .rangeCategories ul {
    list-style-type: none;
    text-align: center; }
    .rangeCategories ul li {
      display: inline-block;
      color: #373e44;
      padding: 9px 14px 10px 14px;
      margin: 0 5px 10px 5px;
      border: 1px solid #373e44;
      border-radius: 5px;
      transition: border 100ms ease-out, color 100ms ease-out;
      cursor: pointer; }
      .rangeCategories ul li.active {
        font-weight: 600; }
      .rangeCategories ul li.active, .rangeCategories ul li:hover {
        border: 1px solid #d97604;
        color: #d97604; }

.dividerLine {
  width: 100%;
  height: 1px;
  background-color: rgba(55, 62, 68, 0.25);
  margin: 70px 0 65px 0; }
  @media screen and (max-width: 768px) {
    .dividerLine {
      margin: 60px 0; } }

.rangeDetail h4 {
  font-size: 35px;
  line-height: 1.1em;
  color: #373e44;
  margin-bottom: 30px;
  text-transform: uppercase; }

.rangeDetail .gallery .wrap {
  padding-left: 15px;
  padding-right: 15px;
  cursor: pointer; }

.rangeDetail .gallery .main {
  height: 375px;
  padding: 0;
  background: center no-repeat;
  background-size: cover; }
  .rangeDetail .gallery .main iframe {
    width: 100%;
    height: 100%; }

.rangeDetail .gallery .extras {
  position: relative;
  height: 250px;
  margin-top: 8px;
  /*.overlay {
                position: absolute;
                top: 0;
                left: 0;
                right: 0;
                bottom: 0;
                background-color: rgba(0,0,0,0.3);
                color: #ffffff;
                text-align: center;
                font-size: 30px;
                font-weight: 500;
                opacity: 0;
                transition: opacity 250ms ease-out;
                cursor: pointer;
            }
            
            &:hover {
                .overlay {
                    opacity: 1;
                }
            }*/ }
  .rangeDetail .gallery .extras .row {
    height: 100%; }

.rangeDetail .gallery .extra1 {
  height: 100%;
  background: center no-repeat;
  background-size: cover;
  border-right: 4px solid #ffffff; }

.rangeDetail .gallery .extra2 {
  height: 100%;
  background: center no-repeat;
  background-size: cover;
  border-left: 4px solid #ffffff; }

.rangeDetail .info {
  padding-top: 15px;
  padding-left: 35px; }
  .rangeDetail .info h5 {
    font-size: 28px;
    font-weight: 300;
    color: #525252;
    margin-bottom: 10px; }
    .rangeDetail .info h5.specsTitle {
      margin-top: 30px;
      margin-bottom: 10px; }
  .rangeDetail .info p {
    font-size: 16px;
    color: #73777b;
    line-height: 1.6em;
    font-weight: 400;
    letter-spacing: 0.025em; }
  .rangeDetail .info .specs p {
    line-height: 2.2em; }
    .rangeDetail .info .specs p strong {
      width: 50%;
      color: #373e44; }

.rangeDetail .specTitles, .rangeDetail .specDetail {
  float: left;
  width: 50%;
  list-style-type: none;
  line-height: 2.6em; }

.rangeDetail .specDetail {
  font-weight: 600; }

.rangeDetail a.btnBasic {
  margin-top: 30px; }

@media screen and (max-width: 768px) {
  .rangeDetail h4 {
    font-size: 30px; }
  .rangeDetail .gallery .main {
    height: 250px; } }

@media screen and (max-width: 992px) {
  .rangeDetail .gallery .extra2 {
    display: none; } }

#contactLinks {
  text-align: center;
  margin-top: 40px; }
  #contactLinks a {
    text-decoration: none; }
  #contactLinks .icon {
    display: inline-block;
    height: 35px;
    font-size: 21px;
    font-weight: 300;
    line-height: 1.3em;
    color: #373e44;
    background: left top no-repeat;
    background-size: auto 85%;
    padding-left: 38px;
    margin: 0 17px; }
    #contactLinks .icon.iconMail {
      background-image: url(img/iconMail.png);
      background-size: auto 65%;
      padding-left: 48px;
      background-position: left 4px; }
    #contactLinks .icon.iconPhone {
      background-image: url(img/iconPhone.png); }

.wpcf7 .wpcf7-form-control-wrap {
  display: block;
  margin-bottom: 20px; }

.wpcf7 .wpcf7-not-valid-tip {
  color: #c40000;
  font-size: 14px;
  padding-top: 5px; }

.wpcf7 div.wpcf7-response-output {
  padding: 15px; }

.wpcf7 div.wpcf7-validation-errors {
  border: 2px solid #c40000;
  color: #c40000;
  text-align: center;
  font-weight: 600; }

#contactForm {
  background-color: #ececec;
  margin-top: 70px;
  padding: 35px 0; }
  #contactForm h5 {
    font-size: 22px;
    text-transform: uppercase;
    color: #373e44;
    font-weight: 900;
    margin-bottom: 40px;
    margin-top: 20px; }
  #contactForm label {
    display: block;
    margin-bottom: 5px;
    color: #373e44; }
  #contactForm input[type="text"], #contactForm input[type="email"], #contactForm input[type="tel"], #contactForm input[type="date"], #contactForm textarea, #contactForm select {
    width: 100%;
    border: 1px solid #b7b7b7;
    background-color: #ffffff;
    font-size: 21px;
    padding: 15px 20px;
    font-weight: 300;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    outline: 0; }
  #contactForm textarea {
    height: 200px; }
  #contactForm .btnBasic {
    float: right;
    margin-top: 10px;
    margin-bottom: 20px; }
  #contactForm select {
    background: #ffffff url(img/dropdown.png) right center no-repeat;
    background-size: auto 38px; }

#footer {
  position: relative;
  background-color: #191d20;
  overflow: hidden; }
  #footer .inner {
    padding: 50px 0; }
    #footer .inner h4 {
      font-size: 20px;
      font-weight: 900;
      text-transform: uppercase;
      color: #ffffff;
      margin-bottom: 15px; }
    #footer .inner ul {
      list-style-type: none; }
      #footer .inner ul li {
        font-size: 15px;
        color: #ffffff;
        line-height: 2.5em; }
        #footer .inner ul li.address {
          padding-top: 8px;
          line-height: 1.5em; }
    #footer .inner a {
      text-decoration: none; }
    #footer .inner .socialLefort h4 {
      font-size: 21px; }
    #footer .inner .socialLefort h4, #footer .inner .socialLefort p, #footer .inner .socialLefort li, #footer .inner .socialLefort a {
      color: #373e44; }
    #footer .inner .socialLefort .social {
      float: left;
      width: 80%; }
      #footer .inner .socialLefort .social p {
        margin-bottom: 15px;
        padding-right: 40px; }
        #footer .inner .socialLefort .social p.tiny {
          font-size: 13px;
          font-style: italic;
          margin-top: 20px;
          margin-bottom: -20px; }
      #footer .inner .socialLefort .social a {
        display: inline-block;
        width: 50px;
        height: 50px;
        margin-right: 5px; }
      #footer .inner .socialLefort .social .iconFacebook {
        background: url(img/iconFacebook.png) no-repeat;
        background-size: contain; }
      #footer .inner .socialLefort .social .iconTwitter {
        background: url(img/iconTwitter.png) no-repeat;
        background-size: contain; }
      #footer .inner .socialLefort .social .iconInstagram {
        background: url(img/iconInstagram.png) no-repeat;
        background-size: contain; }
      #footer .inner .socialLefort .social .iconLinked {
        background: url(img/iconLinked.png) no-repeat;
        background-size: contain; }
      #footer .inner .socialLefort .social .iconYoutube {
        background: url(img/iconYoutube.png) no-repeat;
        background-size: contain; }
    #footer .inner .socialLefort .logo {
      float: right;
      width: 19%; }
      #footer .inner .socialLefort .logo img {
        width: 100%; }
  #footer .bgWhite {
    position: absolute;
    top: 0;
    bottom: 0;
    right: -80px;
    width: 50%;
    background-color: #e7eaec; }
    #footer .bgWhite .corner {
      position: absolute;
      left: -112px;
      top: 0;
      bottom: 0;
      width: 112px;
      height: 100%;
      background: url(img/footerCorner.png) left center no-repeat;
      background-size: cover; }
  @media screen and (max-width: 992px) {
    #footer {
      text-align: center; }
      #footer .bgWhite {
        display: none; }
      #footer .inner {
        padding-bottom: 0; }
        #footer .inner .contact {
          margin-top: 30px; }
        #footer .inner .socialLefort {
          margin-top: 50px;
          padding: 50px 0 60px 0;
          background-color: #c0c9cf; }
          #footer .inner .socialLefort .social {
            float: none;
            width: 100%;
            text-align: center; }
            #footer .inner .socialLefort .social p {
              padding: 0 35px; }
          #footer .inner .socialLefort .logo {
            float: none;
            margin: 30px auto 0 auto; } }

#menuMobile {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  background-color: rgba(255, 255, 255, 0.95); }
  #menuMobile ul {
    list-style-type: none;
    text-align: center;
    padding-top: 160px; }
    #menuMobile ul a {
      text-decoration: none; }
    #menuMobile ul li {
      display: block;
      line-height: 3.5em;
      color: #373e44;
      font-size: 24px;
      text-transform: uppercase;
      font-weight: 800; }
