/*
 *  Scss page style
 */
body {
  font-family: 'Imprima', cursive, serif;
  font-size: 18px;
  margin: 0 5px; }
  body > .container {
    display: block;
    margin: 0 auto;
    max-width: 1600px; }
    @media screen and (max-width: 800px) {
      body > .container {
        margin: 2.5%; } }

#menumobile {
  display: none; }
  @media screen and (max-width: 800px) {
    #menumobile {
      position: fixed;
      height: 100%;
      width: 250px;
      background: #ffffff;
      top: 0;
      left: 0;
      transform: translateX(-252px);
      display: block;
      background: #f3f3f3;
      z-index: 9;
      transition: all .3s;
      border-right: 2px solid #115000;
      padding-top: 30px; }
      #menumobile.move {
        transform: translateX(0px); }
      #menumobile a {
        text-decoration: none; }
        #menumobile a div {
          height: 50px;
          line-height: 50px;
          text-align: center;
          color: black;
          font-size: 24px; } }

.container-body {
  transition: all .3s; }
  @media screen and (max-width: 800px) {
    .container-body.move {
      transform: translateX(252px); }
      .container-body.move #header {
        background: url(../img/close.png); } }
  .container-body #header {
    box-shadow: 0px 2px 5px 1px grey; }
    @media screen and (max-width: 800px) {
      .container-body #header {
        background: url(../img/hamburger.png);
        width: 50px;
        height: 50px;
        margin: 15px 0 0 15px; } }
    .container-body #header .logo {
      display: inline-block; }
    .container-body #header .menu {
      display: block;
      margin: 0 auto;
      max-width: 1600px;
      text-align: center; }
      .container-body #header .menu div {
        color: #000;
        display: inline-block;
        width: 11%;
        margin: 2%;
        cursor: pointer;
        border-bottom: 3px solid transparent;
        transition: border-color 0.5s; }
        .container-body #header .menu div:hover {
          border-bottom: 3px solid #115000; }
      @media screen and (max-width: 800px) {
        .container-body #header .menu {
          display: none; } }
  .container-body section.titolo .testo {
    font-size: 45px;
    text-align: center;
    color: #115000;
    margin: 30px 0 50px; }
    @media screen and (max-width: 800px) {
      .container-body section.titolo .testo > span {
        display: block; } }
  @media screen and (max-width: 800px) {
    .container-body .masonry {
      display: none; } }
  .container-body .masonry .grid {
    position: relative;
    height: 700px; }
    .container-body .masonry .grid .gutter-sizer {
      width: 2%; }
    .container-body .masonry .grid .grid-item,
    .container-body .masonry .grid .grid-sizer {
      width: 32%; }
      .container-body .masonry .grid .grid-item img,
      .container-body .masonry .grid .grid-sizer img {
        display: block;
        width: 100%;
        margin-bottom: 2%;
        opacity: 1;
        transition: opacity 0.5s; }
        .container-body .masonry .grid .grid-item img.hidden,
        .container-body .masonry .grid .grid-sizer img.hidden {
          display: none; }
        .container-body .masonry .grid .grid-item img.opaque,
        .container-body .masonry .grid .grid-sizer img.opaque {
          opacity: 0; }
        .container-body .masonry .grid .grid-item img.blur,
        .container-body .masonry .grid .grid-sizer img.blur {
          filter: blur(3px); }
  .container-body .masonry #load-more {
    display: inline-block;
    padding: 10px 20px;
    background-color: #115000;
    color: #ffffff;
    border-radius: 5px;
    cursor: pointer;
    box-shadow: 3px 3px 5px 0px grey;
    margin-top: 10px;
    text-align: center;
    display: block;
    width: 140px;
    margin: 15px auto 50px; }
    .container-body .masonry #load-more:hover {
      opacity: .85;
      box-shadow: 1px 1px 2px grey; }
  .container-body .swiper-container {
    width: 100%; }
    .container-body .swiper-container .swiper-slide img {
      width: 100%;
      max-height: 500px; }
    .container-body .swiper-container .testo {
      color: #115000;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      z-index: 99;
      font-size: 50px;
      text-align: center;
      line-height: 55px;
      padding: 30px;
      background-color: rgba(255, 255, 255, 0.6);
      border-radius: 15px; }
      .container-body .swiper-container .testo span {
        font-size: 60px;
        line-height: 60px; }
  .container-body .section-title {
    font-size: 30px;
    text-align: center;
    padding: 2.5% 0;
    font-weight: 700; }
    @media screen and (max-width: 800px) {
      .container-body .section-title {
        padding-top: 10%; } }
  .container-body .section-subtitle {
    font-size: 25px;
    text-align: center;
    padding: 0 0 2.5%; }
  .container-body .location-block {
    text-align: center;
    margin: 2.5% 0; }
    .container-body .location-block::after {
      content: "";
      display: table;
      clear: both; }
    .container-body .location-block .block {
      float: left;
      display: inline-block;
      width: 50%;
      position: relative;
      height: 400px; }
      @media screen and (max-width: 800px) {
        .container-body .location-block .block {
          display: block;
          position: relative;
          float: none;
          width: 100%;
          height: auto; }
          .container-body .location-block .block:nth-child(2) {
            margin: 2.5%;
            width: 95%; } }
      .container-body .location-block .block .container {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%); }
        @media screen and (max-width: 800px) {
          .container-body .location-block .block .container {
            position: relative;
            top: 0;
            left: 0;
            transform: none; } }
        .container-body .location-block .block .container .title {
          position: relative;
          left: -50%;
          opacity: 0;
          transition: all 1s; }
          .container-body .location-block .block .container .title.appear-left {
            opacity: 1;
            left: 0;
            transform: translateX(0); }
          .container-body .location-block .block .container .title .titolo {
            font-size: 25px;
            color: #115000;
            margin: 20px auto 10px;
            font-weight: 700; }
    .container-body .location-block #map1,
    .container-body .location-block #map2 {
      height: 400px; }
  .container-body .travel-block {
    margin: 2.5% 0; }
    .container-body .travel-block .step {
      position: relative;
      margin: 2.5% 0; }
      @media screen and (max-width: 800px) {
        .container-body .travel-block .step {
          text-align: center;
          margin-bottom: 5%; } }
      .container-body .travel-block .step .image, .container-body .travel-block .step .description {
        display: inline-block;
        float: left;
        width: 50%; }
        @media screen and (max-width: 800px) {
          .container-body .travel-block .step .image, .container-body .travel-block .step .description {
            width: 100%; } }
        .container-body .travel-block .step .image .iban, .container-body .travel-block .step .description .iban {
          font-family: arial; }
      .container-body .travel-block .step .image img {
        display: block;
        margin: 0 auto;
        width: 300px;
        opacity: 0;
        transition: opacity 1s; }
      @media screen and (max-width: 800px) {
        .container-body .travel-block .step .image {
          float: none; } }
      .container-body .travel-block .step .description {
        max-width: 400px;
        padding: 0 5% 00;
        opacity: 0;
        transform: translateX(50%);
        transition: all 1s; }
        .container-body .travel-block .step .description.appear-right {
          opacity: 1;
          left: 0;
          transform: translateX(0); }
        @media screen and (max-width: 800px) {
          .container-body .travel-block .step .description {
            width: 100%;
            padding: 0;
            max-width: none; } }
        .container-body .travel-block .step .description .title {
          display: block;
          font-weight: 700;
          margin-bottom: 10px; }
        .container-body .travel-block .step .description .button {
          display: inline-block;
          padding: 10px 20px;
          background-color: #115000;
          color: #ffffff;
          border-radius: 5px;
          cursor: pointer;
          box-shadow: 3px 3px 5px 0px grey;
          margin-top: 10px; }
          .container-body .travel-block .step .description .button:hover {
            opacity: .85;
            box-shadow: 1px 1px 2px grey; }
        .container-body .travel-block .step .description .bonifico {
          font-weight: 700;
          color: #115000; }
      .container-body .travel-block .step::after {
        content: "";
        display: table;
        clear: both; }
  .container-body .alloggio-block .container .alloggio-wrapper {
    opacity: 0;
    transition: opacity 1s;
    float: left;
    width: 33%;
    display: inline-block;
    text-align: center;
    margin: 5% 0; }
    @media screen and (max-width: 800px) {
      .container-body .alloggio-block .container .alloggio-wrapper {
        width: 100%; } }
    .container-body .alloggio-block .container .alloggio-wrapper .title {
      font-weight: 700;
      margin: 10px 0; }
    .container-body .alloggio-block .container .alloggio-wrapper .subtitle {
      margin: 10px 0 20px; }
    .container-body .alloggio-block .container .alloggio-wrapper .button {
      display: inline-block;
      padding: 10px 20px;
      background-color: #115000;
      color: #ffffff;
      border-radius: 5px;
      cursor: pointer;
      box-shadow: 3px 3px 5px 0px grey;
      margin-top: 10px; }
      .container-body .alloggio-block .container .alloggio-wrapper .button:hover {
        opacity: .85;
        box-shadow: 1px 1px 2px grey; }
    .container-body .alloggio-block .container .alloggio-wrapper.appear-right {
      opacity: 1; }
  .container-body .alloggio-block::after {
    content: "";
    display: table;
    clear: both; }
  .container-body .contattaci-block input, .container-body .contattaci-block textarea {
    width: 700px;
    display: block;
    margin: 10px auto;
    border: 2px solid grey;
    line-height: 30px;
    padding: 5px;
    font-size: 18px;
    color: black;
    resize: none; }
    .container-body .contattaci-block input[type="checkbox"], .container-body .contattaci-block textarea[type="checkbox"] {
      display: inline;
      width: auto;
      line-height: normal;
      cursor: pointer; }
    @media screen and (max-width: 800px) {
      .container-body .contattaci-block input, .container-body .contattaci-block textarea {
        width: 90%; } }
  .container-body .contattaci-block .error, .container-body .contattaci-block .inviato {
    text-align: center;
    font-weight: 700; }
  .container-body .contattaci-block .error {
    color: red; }
  .container-body .contattaci-block .inviato {
    color: green; }
  .container-body .contattaci-block .checkwrapper {
    display: block;
    margin: 10px auto 15px;
    width: 700px; }
    @media screen and (max-width: 800px) {
      .container-body .contattaci-block .checkwrapper {
        width: 90%; } }
  .container-body .contattaci-block .button {
    display: inline-block;
    padding: 10px 20px;
    background-color: #115000;
    color: #ffffff;
    border-radius: 5px;
    cursor: pointer;
    box-shadow: 3px 3px 5px 0px grey;
    margin-top: 10px;
    max-width: 300px;
    text-align: center;
    display: block;
    border-color: #115000; }
    .container-body .contattaci-block .button:hover {
      opacity: .85;
      box-shadow: 1px 1px 2px grey; }
  .container-body .contattaci-block::after {
    content: "";
    display: table;
    clear: both; }
  .container-body .footer-block {
    height: 100px;
    margin-top: 5%;
    background-color: #115000; }
  .container-body .goup {
    display: inline-block;
    position: fixed;
    bottom: 25px;
    right: 25px;
    width: 55px;
    height: 55px;
    line-height: 65px;
    text-align: center;
    font-size: 40px;
    background: rgba(80, 80, 80, 0.2);
    border-radius: 5px;
    cursor: pointer;
    color: green;
    display: none; }
    .container-body .goup.visible {
      display: block; }
    @media screen and (max-width: 800px) {
      .container-body .goup.visible {
        display: none; } }
    .container-body .goup:hover {
      background: rgba(80, 80, 80, 0.6); }
