@font-face {
    font-family: 'SfProDisplay';
    src: url('../fonts/cufonfonts/SFPRODISPLAYREGULAR.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'SfProDisplayLight';
    src: url('../fonts/cufonfonts/SFPRODISPLAYLIGHTITALIC.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'CarosSoft';
    src: url('../fonts/caros-soft/CarosSoft.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'CarosSoftThin';
    src: url('../fonts/caros-soft/CarosSoftThin.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'Articulate';
    src: url('../fonts/articulate-cf-db/articulate-cf-db.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}
/* =======================================================
*
* 	Template Style 
*	Edit this section
*
* ======================================================= */
body {
  font-family: "SfProDisplayLight", Arial, sans-serif;
  font-weight: 300;
  font-size: 18px;
  line-height: 1.5;
  color: #777;
  background: #FFFFFF;
  height: 100%;
  position: relative;
  margin: 0 12px;
}

a {
  color: #FFFFFF;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
  text-decoration: none;
}
a:hover {
  color: #FFFFFF;
  outline: none;
}

p {
  font-family: "CarosSoftThin", Arial, sans-serif;
  font-size: 16px;
  margin-bottom: 1.5em;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 400;
  text-align:left;
}

h2 { 
  color:#1D6EB5;
  font-family: "CarosSoft", Arial, sans-serif;
  font-size:1.6em;
  letter-spacing: 3px
}

h3 { 
  font-family: "CarosSoftThin", Arial, sans-serif;
  font-size:1.3em; 
  letter-spacing: 3px
}

::-webkit-selection {
  color: #fff;
  background: #88BC21;
}

::-moz-selection {
  color: #fff;
  background: #88BC21;
}

::selection {
  color: #fff;
  background: #88BC21;
}

.navbar-collapse {
  border: none !important;
}

#eco25-first, #eco25-second, #eco25-third, #eco25-fourth, #eco25-fifth, #eco25-sixth, #eco25-about, #eco25-services, #eco25-customize {
  text-align: justify;
}

#eco25-first { background-color: #132035; height: 100vh; margin-left:-15px; position:relative }

#eco25-second { margin-top:60px }

/* Cookie Policy */

  #cookie, #privacy {
    text-align:justify;
  }

    .header-cookie {
      color: #2872BA;
      font-size: 16px;
      font-weight: 700;
      margin-bottom: 10px;
    }

    .cookie-overlay {
      position: fixed;
      bottom: 1rem;
      left: 1rem;
      background: #FFFFFF;
      color: #000;
      font-weight: 300;
      text-align: justify;
      z-index: 2051;
      line-height: 20px;
      font-size: 14px;
      border-radius: 15px;
      box-shadow: 0px 0px 10px rgba(0, 0, 0);
      padding: 1.5rem !important;
      margin-right: 15px;
      max-width: 950px;
    }

    .cookie-overlay > div:first-child {
      width: auto;
    }

    #cookie a, .cookie-a {
      color: #1D6EB5;
    }

    .refuse-cookies {
      background-color: #E9862B !important;
      border-color: #894200;
    }

    button {
      border-radius: 4px;
      border: 0;
      line-height: 3em;
      padding: 0 1.5em;
    }

/* Nav */

  #nav {
    margin-top: 1.2em;
    width: 100%;
    cursor: default;
  }

    #nav > ul > li {
      display: inline-block;
    }

      #nav > ul > li:last-child {
        padding-right: 0;
      }

      #nav > ul > li > a {
        border: 0;
        text-decoration: none;
        text-transform: uppercase;
        font-weight: 400;
        color: #AAA;
        outline: 0;
        display: block;
      }

        #nav > ul > li > a:before {
          display: inline-block;
          background: #878787;
          color: #e4e4e4;
          width: 2.25em;
          font-size: 0.8em;
          height: 2.25em;
          border-radius: 2.25em;
          line-height: 2.1em;
          text-align: center;
          box-shadow: 0.125em 0.175em 0 0 rgba(0, 0, 0, 0.125);
          margin-right: 0.75em;
          -moz-transition: color 0.25s ease-in-out, background 0.25s ease-in-out;
          -webkit-transition: color 0.25s ease-in-out, background 0.25s ease-in-out;
          -o-transition: color 0.25s ease-in-out, background 0.25s ease-in-out;
          -ms-transition: color 0.25s ease-in-out, background 0.25s ease-in-out;
          transition: color 0.25s ease-in-out, background 0.25s ease-in-out;
        }

        #nav > ul > li > a > span {
          -moz-transition: color 0.25s ease-in-out;
          -webkit-transition: color 0.25s ease-in-out;
          -o-transition: color 0.25s ease-in-out;
          -ms-transition: color 0.25s ease-in-out;
          transition: color 0.25s ease-in-out;
          font-size: 0.85em;
          letter-spacing: 3px;
        }

        #nav > ul > li.selected, #nav > ul > li > div.selected {
          background-image: url("../images/icons/segnaposto.png");
          background-repeat: no-repeat;
          background-position: bottom;
          height: 35px;
        }

      #nav > ul > li > ul {
        display: none;
      }

      #nav > ul > li.selected > a:before,
      #nav > ul > li:hover > a:before {
        background: #ED786A;
        color: #fff;
      }

      #nav > ul > li.selected > a > span,
      #nav > ul > li:hover > a > span {
        color: #ED786A;
      }

  .dropotron {
    text-align: left;
    border: solid 1px #e5e5e5;
    border-radius: 4px;
    background: #fff;
    background: #14223A;
    box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.1);
    padding: 0.5em 0 0 0;
    min-width: 9em;
    margin-top: calc(-0.5em + 1px);
    margin-left: -2px;
    list-style: none;
  }

    .dropotron.level-0 {
      margin-top: 1.3em;
      margin-left: 2em;
    }

      .dropotron.level-0:after {
        display: block;
        position: absolute;
        left: 1.25em;
        top: calc(-0.75em + 1px);
      }

      .dropotron.level-0:before {
        display: block;
        position: absolute;
        left: 1.25em;
        top: -0.75em;
      }

    .dropotron span, .dropotron a {
      display: block;
      padding: 0.3em 1em 0.3em 1em;
      border: 0;
      outline: 0;
      color: #FFF !important;
    }

    .dropotron li {
      padding-left: 0;
      margin: 0;
    }

      .dropotron li:first-child > span, .dropotron li:first-child > a {
        border-top: 0;
        padding-top: 0;
      }

      .dropotron li:hover > span, .dropotron li:hover > a {
        -moz-transition: color 0.25s ease-in-out, border-bottom-color 0.25s ease-in-out;
        -webkit-transition: color 0.25s ease-in-out, border-bottom-color 0.25s ease-in-out;
        -ms-transition: color 0.25s ease-in-out, border-bottom-color 0.25s ease-in-out;
        transition: color 0.25s ease-in-out, border-bottom-color 0.25s ease-in-out;
        color: #ed786a;
      }

    .menu-li { width:230px }

    #navPanel, #titleBar { display: none }

    .subtext { line-height: 1.4; padding: 13px }

    /* Header */
  
  #header { 
    background-color: #132035; 
    border-bottom:3px solid #41b93d;
    color: #CCCCCC;
    font-size: 16px;
    font-style: italic;
    height:85px;
    position: fixed; 
    width:100%; 
    z-index:100 
  }

  #header-top { border-bottom:2px solid #FFF; margin-top: 15px }

  #div_logo { height:60px; padding-top: 5px; text-align:center }

  #logo { height:50px }

/* Home */

  #logo_body { height:100px }

  #logo_footer { height:170px }

  #powered_logo { width:160px }

  #box_logo_project { position:absolute; bottom:35px }

  #box_logo_powered { position:absolute; bottom:20px }

  .img-home { z-index:1; max-height:auto }

  .img-project { width:100% }

  #carousel { position:absolute; max-height:auto }

  .banner { color:#FFF; font-size: 25px; line-height: 1; margin-top: -40px; z-index:2 }

  #top-title { font-size:35px; height: 150px; padding:30px 50px; position:absolute; z-index:2 }

  #eco25-counter-section { background-color:#e7781d; color:#FFFFFF; z-index: 2; min-height: 150px}

  .eco25-counter-label { bottom: 0; font-size: 20px; left: 21px; position: absolute; width: 194px}

  .box-gear { border: 2px solid; border-left: none; position:relative; height: 61px}

  .box-gear img { left:-35px; position:absolute }

  .box-text { padding:50px 200px 0 200px }

  .manutention { align-content: center; background-color:#e7781d; color:#FFFFFF; font-family: "CarosSoftThin", Arial, sans-serif; font-size: 18px; font-style: italic; height: 70px; padding: 10px 20px }

  .manutention-text { border: 1px solid #e7781d; color: #777 !important; font-family: "SfProDisplay", Arial, sans-serif; font-style: italic; height: 230px; padding: 10px; text-align:left }

  @-webkit-keyframes rotating /* Safari and Chrome */ {
    from {
      -webkit-transform: rotate(0deg);
      -o-transform: rotate(0deg);
      transform: rotate(0deg);
    }
    to {
      -webkit-transform: rotate(360deg);
      -o-transform: rotate(360deg);
      transform: rotate(360deg);
    }
  }
  @keyframes rotating {
    from {
      -ms-transform: rotate(0deg);
      -moz-transform: rotate(0deg);
      -webkit-transform: rotate(0deg);
      -o-transform: rotate(0deg);
      transform: rotate(0deg);
    }
    to {
      -ms-transform: rotate(360deg);
      -moz-transform: rotate(360deg);
      -webkit-transform: rotate(360deg);
      -o-transform: rotate(360deg);
      transform: rotate(360deg);
    }
  }
  .rotating {
    -webkit-animation: rotating 15s linear infinite;
    -moz-animation: rotating 15s linear infinite;
    -ms-animation: rotating 15s linear infinite;
    -o-animation: rotating 15s linear infinite;
    animation: rotating 15s linear infinite;
  }

  .eco25-counter { color: #132035; font-family: "Articulate", Arial, sans-serif; font-size: 60px; font-weight: 700; left: 55px; position: absolute; top: -45px }

  .to-animate, .to-animate-2, .to-animate-3, .to-animate-4 { opacity: 0 }

  #footer_logo { display:none; }

  #footer_logo.animated { background-color: #000000; bottom:0; display:block; position:fixed }

  .arrow-img { width:100% }

  .title-arrow { font-size:20px }


/* Testimonianze */

  .p-slider {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

  .testimonianza-box {
    border-radius: 10px;
    border: 1px solid #EDEDED;
    display: inline-flex;
    flex-direction: column;
    margin: 0px 10px;
    padding: 15px;
    width: 300px;
  }

  .testimonianza-container {
    width: 100%;
    height: 100%;
    display: flex;
    overflow: hidden;
  }

  .text-testimonianza {
    animation: fade 0.6s;
    display: flex;
    font-family: "SfProDisplayLight", Arial, sans-serif;
    min-height: 160px;
    width: 100%;
  }

  .testimonianza-box-text {
    align-content: end;
    border-top: 1px solid #EDEDED;
    min-height: 60px;
    margin-top: 5px;
    width: 100%;
  }

  .title-testimonianza {
    text-align: center;
  }

  .title-testimonianza span {
    color: #e7781d;
    font-size: 0.9rem;
    margin: 5px 0;
  }



/* Contacts */

  #contacts { padding-top: 7%}

  #title-contacts { font-size:20px }

  .box-contact { 
    border-radius: 40px;
    background-color: #132035;
    padding: 15px;
  } 

  .google-maps {
    height: 100%;
    min-height: 500px;
    overflow-y: hidden;
    overflow-x: visible;
    width: 100%;
  }

  .eco25-footer-text {
    border-top: 1px solid #FFF;
    padding: 10px;
    margin: 0;
    display: inline-block;
    position: relative;
    width: 100%;
  }
  .eco25-footer-text li {
    display: inline-block;
    font-size: 16px;
    list-style: none;
    padding: 10px;
    text-align: center;
  }

  #contacts .contact-info {
    margin: 50px 0;
    padding: 0;
  }
  #contacts .contact-info li {
    font-size: 16px;
    list-style: none;
    margin: 30px 0;
    position: relative;
  }
  #contacts .contact-info li i {
    position: absolute;
    top: 0;
    left: 50px;
    font-size: 18px;
  }
  #contacts .contact-info li a {
    color: #777;
  }

  #send_message { border:1px solid #FFF }

  .call-anchor {
    position: fixed;
    right:10px;
    top:40%;
    z-index: 1000;
  }

  .btn-call { border-radius:30px; color:#FFF; background-color:#3CAA36; border:1px solid #3CAA36; }

  .btn-call:hover {color: #FFF}

/* Extra Large */

  @media screen and (max-width: 1320px) {

    #eco25-first { height:auto }

    .menu-li { width:197px }

    #contacts { padding-top: 7%}

    #eco25-second { margin-top:0 }

    .box-text { padding:50px 150px 0 150px }

    .manutention { font-size:16px }

    .manutention-text { height:280px }
  }

/* Large */

  @media screen and (max-width: 1140px) {

    body { font-size: 14px }

    .menu-li { width:165px }

    #top-title { font-size: 30px; padding: 15px }

    #box_logo_powered { bottom:10px; text-align:center }

  }

/* Medium */

  @media screen and (max-width: 992px) {

    /* Header */

      #header > .container {
        padding: 10em 0 7em 0;
      }

    /* Nav */

      #nav {
        display: none;
      }

    /* Nav */

      #wrapper { padding: 0 15px }

      #titleBar {
        -moz-backface-visibility: hidden;
        -webkit-backface-visibility: hidden;
        -ms-backface-visibility: hidden;
        backface-visibility: hidden;
        -moz-transition: -moz-transform 0.5s ease;
        -webkit-transition: -webkit-transform 0.5s ease;
        -ms-transition: -ms-transform 0.5s ease;
        transition: transform 0.5s ease;
        display: block;
        height: 44px;
        position: fixed;
        top: 7px;
        width: 100%;
        z-index: 10001;
      }

        #titleBar .toggle {
          text-decoration: none;
          position: absolute;
          right: 0;
          top: 33px;
          width: 70px;
          height: 60px;
          border: 0;
        }

          #titleBar .icon-menu {
            font-size: 20px;
            padding: 20px;
          }

      #navPanel {
        font-family: "SfProDisplay", Arial, sans-serif;
        -moz-backface-visibility: hidden;
        -webkit-backface-visibility: hidden;
        -ms-backface-visibility: hidden;
        backface-visibility: hidden;
        -moz-transform: translateX(100%);
        -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
        transform: translateX(100%);
        -moz-transition: -moz-transform 0.5s ease;
        -webkit-transition: -webkit-transform 0.5s ease;
        -ms-transition: -ms-transform 0.5s ease;
        transition: transform 0.5s ease;
        display: block;
        right: 0;
        overflow-y: auto;
        position: fixed;
        top: 85px;
        width: 100%;
        z-index: 10002;
        background: #000000;
        border-right: solid 2px #3c3c3c;
        font-weight: 400;
        text-transform: uppercase;
        color: #777;
        letter-spacing: 1px;
        font-size: 0.8em;
      }

        #navPanel .link {
          display: block;
          color: #ddd;
          text-decoration: none;
          height: 40px;
          border: 0;
          border-top: solid 1px #3c3c3c;
          padding: 1em 2em;
        }

          #navPanel .link:first-child {
            border-top: 0;
          }

          #navPanel .link.depth-0 {
            font-weight: 600;
            color: #fff;
          }

        #navPanel .indent-1 {
          display: inline-block;
          width: 1em;
        }

        #navPanel .indent-2 {
          display: inline-block;
          width: 2em;
        }

        #navPanel .indent-3 {
          display: inline-block;
          width: 3em;
        }

        #navPanel .indent-4 {
          display: inline-block;
          width: 4em;
        }

        #navPanel .indent-5 {
          display: inline-block;
          width: 5em;
        }

        #navPanel .depth-0 {
          color: #fff;
        }
/*
      body.navPanel-visible #titleBar {
        -moz-transform: translateX(-275px);
        -webkit-transform: translateX(-275px);
        -ms-transform: translateX(-275px);
        transform: translateX(-275px);
      }
*/
      body.navPanel-visible #navPanel {
        -moz-transform: translateX(0);
        -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
        transform: translateX(0);
      }

      .menu-li { width:170px }

      #div_logo > a { position:relative; z-index:100000 }

      #contacts { padding-top: 10%}

      .banner { font-size: 23px; margin-top: -30px }

      #top-title { font-size: 22px }

      #logo_body { height: 70px }

      .eco25-counter { font-size: 48px; left: 50px; top: -36px }

      .eco25-counter-label { font-size:16px; left:5px }

      .box-text { padding:50px 100px 0 100px }

      .push-bottom-xs { margin-bottom:15px; }

      .manutention { font-size:15px }

      .manutention-text { height:200px }

      .testimonianza-box-text { height:100px }

      .testimonianza-container { height:220px }

      #powered_logo { width:130px }
  }

/* Small */

  @media screen and (max-width: 768px) {
  
    .h2-services { margin-top: 90px !important; width:30% }

    .h2-size-xs { font-size:1.2em }

    .box-no-border { margin-top:-10px !important}

    .bg-bm-wh-footer { width:100% }

    .box-history, .box-services { margin-top: 14% }

    .bg-bm-wh-15 { width:40% }

    #contacts { padding-top: 15%}

    .box-gear { margin-top:20px }

    .eco25-counter { text-align: left; top:0 }

    .eco25-counter-label { bottom:10px; font-size: 20px; left:170px }

    #eco25-counter-section { padding-bottom:30px }

    .banner { line-height: 1.5; margin-top:-50px }

    .manutention-text { height:225px }

    .testimonianza-box-text { height:60px }

    .testimonianza-container { height:150px }

    #logo_footer { height:80px }

    .content-bottom { text-align:right }

    .content-center { align-content:center }

    .bottom-content { align-content:unset }

    #footer { 
      background-color: #132035; 
      border-top:3px solid #41b93d;
      color: #CCCCCC;
      font-size: 16px;
      height:85px;
    }

    #div_footer_xs { height:85px }

  }

/* Extra Small */

  @media screen and (max-width: 480px) {
  
    .content-bottom, .content-image { text-align:center !important }

    .box-text { padding:50px 50px 0 50px }

    #contacts { padding-top: 25%}

    .eco25-counter { font-size:40px; left:35px; top:5px }
    
    .eco25-counter-label { font-size: 18px; left:110px }

    #logo_footer { height:60px }

    #box_logo_project { bottom:5px; left:60px }

    .manutention-text { height:150px }

    .call-anchor { top:60% }

  }



/* Custom */
  
  .text-center { text-align: center }

  .text-right { text-align: right }

  .no-margin { margin:0 }

  .btn-phone { font-style: italic; font-size: 20px; margin-left: 15px; margin-right:20px  }

  .btn-primary { border-radius: 30px }

  .push-top { margin-top:10px }

  .push-top-5p { margin-top: 5% }

  .push-top-10p { margin-top: 10% }

  .push-top-20p { margin-top: 20% }

  .push-top-30 { margin-top: 30px }

  .push-top-60 { margin-top: 60px }

  .push-top-85 { margin-top: 85px }

  .push-bottom { margin-bottom: 10px }

  .push-bottom-20p { margin-bottom: 20% }

  .push-left { margin-left:10px }

  .padd-0 { padding: 0 }

  .padd-15 { padding: 15px }

  .padd-top-10 { padding-top: 10px }

  .padd-top-30 { padding-top: 30px }

  .padd-top-60 { padding-top: 60px }

  .padd-left-50 { padding-left: 50px }

  .vert-border-left { border-left:1px solid #FFFFFF }

  .vert-border-right { border-right:1px solid #FFFFFF }

  .border-top { border-top:1px solid #FFFFFF }

  .content-bottom { align-content:center; z-index:2 }

  .content-image { text-align:right; }

  .bold { font-weight:700 }

  .hide { display:none }

  .msg-response { border-radius: 10px; font-size: 16px; padding:10px }

  .bg-blue { background-color:#132035; border-color: #132035 }

  .orange-text { color:#e7781d }

  .blue-text { color:#1D6EB5 }

  .italic { font-style:italic }

  .bottom-content { align-content:end }

  .img-shadow { box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); }
