  /* 14. hover effect */
  .hover-icons {
      position: absolute;
      width: 100%;
      top: 50%;
      left: 15px;
      text-align: center;
      opacity: 0;
      -moz-opacity: 0;
      -webkit-opacity: 0;
      filter: alpha(opacity=0);
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
      -webkit-transition: all 0.35s ease-out;
      -moz-transition: all 0.35s ease-out;
      -ms-transition: all 0.35s ease-out;
      -o-transition: all 0.35s ease-out;
      transition: all 0.35s ease-out;
      -webkit-transform: translateY(-50%);
      -moz-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      -o-transform: translateY(-50%);
      transform: translateY(-50%);
      -webkit-animation-fill-mode: forwards;
      animation-fill-mode: forwards;
      z-index: 1;
  }

  @media only screen and (min-width: 1024px) {
      .hover-icons {
          left: 10px;
      }
  }

  @media only screen and (max-width: 880px) {
      .hover-icons {
          left: 5px;
      }
  }

  @media only screen and (max-width: 640px) {
      .hover-icons {
          left: 0;
      }
  }

  .hover-icons a {
      position: relative;
      display: inline-block;
      vertical-align: middle;
      text-decoration: none;
      width: 50px;
      height: 50px;
      line-height: 50px;
      margin: 0 4px;
      font-size: 20px;
      background: #111;
      border: 1px solid #111;
      color: #fff;
      -webkit-transition: all 0.35s ease-out;
      -moz-transition: all 0.35s ease-out;
      -ms-transition: all 0.35s ease-out;
      -o-transition: all 0.35s ease-out;
      transition: all 0.35s ease-out;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%;
      -ms-border-radius: 50%;
      -o-border-radius: 50%;
      border-radius: 50%;
  }

  .hover-icons a.iw-slide-left {
      -webkit-transform: translate3d(-60px, 0, 0);
      -moz-transform: translate3d(-60px, 0, 0);
      -ms-transform: translate3d(-60px, 0, 0);
      -o-transform: translate3d(-60px, 0, 0);
      transform: translate3d(-60px, 0, 0);
  }

  .hover-icons a.iw-slide-right {
      -webkit-transform: translate3d(60px, 0, 0);
      -moz-transform: translate3d(60px, 0, 0);
      -ms-transform: translate3d(60px, 0, 0);
      -o-transform: translate3d(60px, 0, 0);
      transform: translate3d(60px, 0, 0);
  }

  .hover-effect-img:hover .hover-icons a {
      padding: 0;
      -webkit-transform: translate3d(0, 0, 0) !important;
      -moz-transform: translate3d(0, 0, 0) !important;
      -ms-transform: translate3d(0, 0, 0) !important;
      -o-transform: translate3d(0, 0, 0) !important;
      transform: translate3d(0, 0, 0) !important;
  }

  .hover-icons a:hover {
      background: #111;
      border: 1px solid #111;
      color: #fff;
  }

  .hover-icons a:hover:after {
      background: #111;
  }

  .hover-effect-img:hover .hover-icons {
      opacity: 1;
      -moz-opacity: 1;
      -webkit-opacity: 1;
      filter: alpha(opacity=100);
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  }

  .hover-icons a:before {
      position: relative;
      z-index: 1;
  }

  .hover-icons a i {
      position: relative;
      z-index: 1;
  }

  .hover-effect-img {
      position: relative;
      z-index: 5 !important;
  }

  .hover-effect {
      position: absolute;
      background: #fff;
      opacity: 0;
      -moz-opacity: 0;
      -webkit-opacity: 0;
      filter: alpha(opacity=0);
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
      -webkit-transition: all 1s ease;
      -moz-transition: all 1s ease;
      -ms-transition: all 1s ease;
      -o-transition: all 1s ease;
      transition: all 1s ease;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
      cursor: pointer;
  }

  .hover-effect {
      width: -webkit-calc(100% - 80px);
      width: -moz-calc(100% - 80px);
      width: calc(100% - 80px);
      height: -webkit-calc(100% - 80px);
      height: -moz-calc(100% - 80px);
      height: calc(100% - 80px);
      top: 40px;
      left: 40px;
      bottom: 40px;
      right: 40px;
  }

  @media only screen and (max-width: 880px) {
      .hover-effect {
          width: -webkit-calc(100% - 30px);
          width: -moz-calc(100% - 30px);
          width: calc(100% - 30px);
          height: -webkit-calc(100% - 30px);
          height: -moz-calc(100% - 30px);
          height: calc(100% - 30px);
          top: 15px;
          left: 15px;
          bottom: 15px;
          right: 15px;
      }
  }

/*  .hover-effect-img:hover .hover-effect {
      opacity: 0.85;
      -moz-opacity: 0.85;
      -webkit-opacity: 0.85;
      filter: alpha(opacity=85);
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)";
      -webkit-transition: all 1s ease;
      -moz-transition: all 1s ease;
      -ms-transition: all 1s ease;
      -o-transition: all 1s ease;
      transition: all 1s ease;
  }*/




  .legendary-gallery {
      position: relative;
      margin: -20px 20px 0 20px;
      z-index: 0;
  }

  @media only screen and (max-width: 880px) {
      .legendary-gallery {
          margin: 0 15px;
      }
  }

  .legendary-gallery figure {
      padding: 20px;
  }

  @media only screen and (max-width: 880px) {
      .legendary-gallery figure {
          padding: 0;
      }
  }

  .legendary-gallery figure:last-child {
      margin-bottom: 20px;
  }

  @media only screen and (max-width: 880px) {
      .legendary-gallery figure:last-child {
          margin-bottom: 15px;
      }
  }

  .legendary-gallery .img-caption {
      display: none;
  }

  .move-down {
      margin-bottom: 0 !important;
  }

  @media only screen and (max-width: 880px) {
      .move-down {
          margin-bottom: 15px;
      }
  }


  /* news img */
  .section-item img {
      width: 33vw;
      height: 66vh;
      object-fit: cover;
  }


  .hover-effect {
      -webkit-border-radius: 20px;
      -moz-border-radius: 20px;
      -ms-border-radius: 20px;
      -o-border-radius: 20px;
      border-radius: 20px;
  }

  .upper-page,
  .legendary-gallery,
  #google-maps-wrapper,
  .footer-credits-logo {
      z-index: 2;
  }




  /* hover effect */
  .hover-effect-img:hover .hover-icons a {
      -webkit-transform: scale(1);
      -moz-transform: scale(1);
      -ms-transform: scale(1);
      -o-transform: scale(1);
      transform: scale(1);
  }

  .hover-icons a,
  .hover-icons a:hover,
  .hover-icons a:visited,
  .hover-icons a:active,
  .hover-icons a:focus {
      -webkit-transform: scale(0.75);
      -moz-transform: scale(0.75);
      -ms-transform: scale(0.75);
      -o-transform: scale(0.75);
      transform: scale(0.75);
  }


  /* hover effect */
  .hover-effect.the-team {
      -webkit-border-radius: 100%;
      -moz-border-radius: 100%;
      -ms-border-radius: 100%;
      -o-border-radius: 100%;
      border-radius: 100%;
      cursor: grab;
  }

  .hover-effect-img hover-effect.the-team,
  .hover-effect-img:hover hover-effect.the-team {
      opacity: 0.85;
      -moz-opacity: 0.85;
      -webkit-opacity: 0.85;
      filter: alpha(opacity=85);
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)";
      -webkit-transition: all 1s ease;
      -moz-transition: all 1s ease;
      -ms-transition: all 1s ease;
      -o-transition: all 1s ease;
      transition: all 1s ease;
      -webkit-border-radius: 100%;
      -moz-border-radius: 100%;
      -ms-border-radius: 100%;
      -o-border-radius: 100%;
      border-radius: 100%;
  }




  /* hover effect */
  .legendary-gallery {
      margin: -15px 25px 0 25px;
      z-index: 2;
  }

  @media only screen and (max-width: 880px) {
      .legendary-gallery {
          margin: 5px 20px 0 20px;
      }
  }

  .legendary-gallery figure {
      padding: 25px;
  }

  @media only screen and (max-width: 880px) {
      .legendary-gallery figure {
          padding: 0;
      }
  }

  @media only screen and (max-width: 767px) {
    .legendary-gallery figure {
        padding: 10px;
    }

    .hover-effect-img.active .hover-effect {
        opacity: 0.85;
        -moz-opacity: 0.85;
        -webkit-opacity: 0.85;
        filter: alpha(opacity=85);
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)";
        -webkit-transition: all 1s ease;
        -moz-transition: all 1s ease;
        -ms-transition: all 1s ease;
        -o-transition: all 1s ease;
        transition: all 1s ease;
    }
    .hover-effect-img.active .hover-icons {
        opacity: 1;
        -moz-opacity: 1;
        -webkit-opacity: 1;
        filter: alpha(opacity=100);
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    }


}



  .legendary-gallery figure:last-child {
      margin-bottom: 25px;
  }

  @media only screen and (max-width: 880px) {
      .legendary-gallery figure:last-child {
          margin-bottom: 20px;
      }
  }

  .move-down {
      margin-bottom: 0;
  }

  @media only screen and (max-width: 880px) {
      .move-down {
          margin-bottom: 20px;
      }
  }

  .glightbox-slide img {
    width: 100vw !important; /* Scale to full screen width */
    height: 100vh !important; /* Scale to full screen height */
    object-fit: contain; /* Maintain aspect ratio without cropping */
    transition: transform 0.3s ease; /* Smooth zoom transition */
}

.glightbox-clean .gslide-image img {
    cursor: zoom-in;
}

  /* legendary gallery img FIX */
  .legendary-gallery img {
      width: 50vw;
      height: 66vh;
      object-fit: cover;
  }

  @media only screen and (max-width: 995px) {
        .legendary-gallery img {
            width: 100%;
            height: 50vh;
        }
  }





  /* hover effect team / inside */
  .hover-effect.the-team {
      width: -webkit-calc(100% - 50px);
      width: -moz-calc(100% - 50px);
      width: calc(100% - 50px);
      height: -webkit-calc(100% - 50px);
      height: -moz-calc(100% - 50px);
      height: calc(100% - 50px);
      top: 25px;
      left: 25px;
      bottom: 25px;
      right: 25px;
  }

  @media only screen and (max-width: 880px) {
      .hover-effect.the-team {
          width: -webkit-calc(100% - 40px);
          width: -moz-calc(100% - 40px);
          width: calc(100% - 40px);
          height: -webkit-calc(100% - 40px);
          height: -moz-calc(100% - 40px);
          height: calc(100% - 40px);
          top: 20px;
          left: 20px;
          bottom: 20px;
          right: 20px;
      }
  }


  /* hover effect menu */
  .hover-effect {
      width: -webkit-calc(100% - 100px);
      width: -moz-calc(100% - 100px);
      width: calc(100% - 100px);
      height: -webkit-calc(100% - 100px);
      height: -moz-calc(100% - 100px);
      height: calc(100% - 100px);
      top: 50px;
      left: 50px;
      bottom: 50px;
      right: 50px;
  }



  /* corrections */
  .hover-icons a,
  .hover-icons a:hover,
  .hover-icons a:visited,
  .hover-icons a:active,
  .hover-icons a:focus {
      color: #fff;
  }

  .hover-icons a {
      left: -10px;
  }

  @media only screen and (max-width: 880px) {
      .hover-icons a {
          left: -5px;
      }
  }

  @media only screen and (max-width: 768px) {
      .hover-icons a {
          left: 0;
      }
  }



  /* 47. image caption */
  .image-caption,
  .image-caption-reverse {
      position: absolute;
      color: #fff;
      font-weight: 600;
      font-size: 13px;
      padding: 10px 20px;
      background: rgba(0, 0, 0, .7);
      -webkit-border-radius: 0 20px 0 20px;
      -moz-border-radius: 0 20px 0 20px;
      -ms-border-radius: 0 20px 0 20px;
      -o-border-radius: 0 20px 0 20px;
      border-radius: 0 20px 0 20px;
      z-index: 5;
  }

  .image-caption {
      right: 50px;
      bottom: 50px;
  }

  @media only screen and (max-width: 768px) {
      .image-caption {
          right: 20px;
          bottom: 20px;
      }
  }

  .image-caption-reverse {
      left: 50px;
      bottom: 50px;
  }

  @media only screen and (max-width: 768px) {
      .image-caption-reverse {
          left: 20px;
          bottom: 20px;
      }
  }




  /* 50. divider */
  .divider-s,
  .divider-m,
  .divider-m-2,
  .divider-l,
  .divider-xl {
      position: relative;
      width: 100%;
      margin: 0 auto;
      background: none;
      z-index: -1;
  }



  .divider-m-2 {
      height: 40px;
  }

  @media only screen and (max-width: 880px) {
      .divider-m-2 {
          height: 15px;
      }
  }