.elementor-11150 .elementor-element.elementor-element-9232c4c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--overflow:hidden;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11150 .elementor-element.elementor-element-67e0d01{z-index:3;}@media(max-width:767px){.elementor-11150 .elementor-element.elementor-element-9232c4c{--width:100%;}}/* Start custom CSS for html, class: .elementor-element-67e0d01 */@media (max-width: 767px) {
        /* Make filter buttons scrollable horizontally */
        .filter-nav {
          display: flex;
          overflow-x: auto;
          width: 300px;
          height:100%;
          border:solid red;
          gap: 0.5rem;
          padding: 1rem 0.5rem;
          scroll-snap-type: x mandatory;
          -webkit-overflow-scrolling: touch;
        }

        .filter-nav::-webkit-scrollbar {
          display: none;
        }

        .filter-nav .filter-btn {
          flex: 0 0 auto;
          scroll-snap-align: start;
        }

        .carousel-image img {
          transform:translateY(-200px);
          width: 100%;
          height: 130vh !important;
          object-fit: cover;
          object-position: bottom center;
          filter: grayscale(100%) contrast(1.1) brightness(0.8);
        }

        /* Carousel item width */
        /*#carousel .carousel-item {*/
        /*  min-width: 85vw;*/
        /*}*/

        /* Smaller dots */
        .nav-dots {
          margin: 0 4px;
        }
      }

      /* ========= Tablets (768px - 1024px) ========= */
      @media (min-width: 768px) and (max-width: 1024px) {
        /* Pyramid-style button wrapping */
        .filter-nav {
          display: flex;
          flex-wrap: wrap;
          gap: 0.75rem;
          justify-content: center;
          padding: 0 1rem;
          top: 75%;
        }

        .filter-nav .filter-btn {
          flex: 1 1 calc(20.33% - 1rem);
          max-width: calc(33.33% - 1rem);
        }
      }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-67e0d01 */.carousel-container {
    background: #000;
    font-family: "Inter", sans-serif;
    position: relative;
    width: 100svw;
    height: 97svh;
    overflow: hidden;
  }

  .carousel-images {
    position: relative;
    width: 100%;
    height: 100%;
  }

  .carousel-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 6s cubic-bezier(0.4, 0, 0.2, 1);
  }
    .carousel-image::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    185deg,
    rgba(0, 0, 0, 1) 0%,
    rgba(0, 0, 0, 0.98) 15%,
    rgba(0, 0, 0, 0.1) 100%
  );
  z-index: 2;
  opacity: 0.8;
  pointer-events: none;
}
.carousel-image.active {
    opacity: 1;
    z-index: 2;
}
.okay img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform-origin: center;
  will-change: transform;
  /*animation: kenZoom 20s ease-in-out infinite;*/
}

.kenzoom-animate {
}

  .carousel-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 16 / 9;
    /*filter: grayscale(93%) contrast(0.9) brightness(0.65) hue-rotate(5deg) invert(0);*/
    /*object-position: center 35%;*/
    
    &[data-id="7"]{
        /*border: solid red 50px !important;*/
        object-position: center 70%;
    }
    &[data-id="7"]{
        /*border: solid red 50px !important;*/
        object-position: center 70%;
    }
    
    &[data-id="12"]{
        /*border: solid red 50px !important;*/
        object-position: center 20%;
    }
  }
  rgba(0, 0, 0, 1)

  .image-overlay {
    position: absolute;
    border: solid red 5px;
    z-index: 3;
    content: "";
    inset: 0;
    background: linear-gradient(
      135deg,
      rgba(0, 0, 0, 0.3) 0%,
      rgba(0, 0, 0, 1) 50%,
      rgba(0, 0, 0, 1) 100%
    );
    opacity: 1;
  }

  .filter-nav {
    position: absolute;
    display: none;
    bottom: 80px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 30;
    display: flex;
    gap: 24px;
    opacity: 0;
    transform: translateX(-50%) translateY(-50px) scale(0.9);
    transition: all 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
  .filter-nav.loaded {
    opacity: 1;
    transform: translateX(-50%) translateY(0) scale(1);
    transition-delay: 0.5s;
    display: none;
  }

  .filter-btn {
    background: rgba(255, 255, 255, 0.1);
    border: 3px solid rgba(255, 255, 255, 0.2);
    color: rgba(255, 255, 255, 0.7);
    padding: 6px 26px;
    border-radius: 20px;
    font-size: 12px;
    cursor: pointer;
    transition: all 0.3s ease;
    backdrop-filter: blur(10px);
    /*border: solid red 5px;*/
  }

  .filter-btn:hover {
    color: white;
    background: rgba(255, 255, 255, 0.15);
  }

  .filter-btn.active {
    background: rgba(255, 255, 255, 0.2);
    color: var(--e-global-color-secondary);
    border-color: var(--e-global-color-secondary);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(4px);
    transform: scale(1.1) translateY(-2px) !important;
  }

  .nav-dots-container {
    position: absolute;
    bottom: 32px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 30;
    opacity: 0;
    transform: translateX(-50%) translateY(50px) scale(0.8);
    transition: all 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }

  .nav-dots-container.loaded {
    opacity: 1;
    transform: translateX(-50%) translateY(0) scale(1);
    transition-delay: 0.8s;
  }

  .nav-dots {
    position: relative;
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 0 8px;
  }

  .connecting-line {
    position: absolute;
    top: 50%;
    left: 16px;
    right: 16px;
    height: 1px;
    background: rgba(255, 255, 255, 0.3);
    transform: translateY(-50%);
    z-index: 1;
  }

  .sliding-indicator {
    position: absolute;
    top: 50%;
    left: 8px;
    width: 16px;
    height: 16px;
    background: radial-gradient(
      circle,
      rgba(255, 255, 255, 0.8) 0%,
      rgba(255, 255, 255, 0.4) 50%,
      transparent 100%
    );
    border-radius: 50%;
    transform: translate(-0%, -50%);
    transition: left 0.8s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 3;
    pointer-events: none;
  }

  .nav-dot {
    position: relative;
    width: 16px;
    height: 16px;
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
  }

  .dot-inner {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.5);
    transition: all 1.8s cubic-bezier(0.4, 0, 0.2, 1);
  
  }

  .nav-dot:hover .dot-inner {
    background: rgba(255, 255, 255, 0.7);
    transform: scale(1.25);
  }

  .nav-dot.active .dot-inner {
    background: white;
    transform: scale(1.5);
    box-shadow: 0 0 12px rgba(255, 255, 255, 0.6);
  }

  .nav-dot.active::before {
    content: "";
    position: absolute;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: radial-gradient(
      circle,
      rgba(255, 255, 255, 0.4) 0%,
      rgba(255, 255, 255, 0.2) 50%,
      transparent 100%
    );
    animation: pulse 2s infinite;
    opacity:0 !important;
  }

  .nav-dot.active::after {
    content: "";
    position: absolute;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: radial-gradient(
      circle,
      rgba(255, 255, 255, 0.6) 0%,
      rgba(255, 255, 255, 0.3) 50%,
      transparent 100%
    );
    opacity:0 !important;
  }

  .pulse-ring,
  .pulse-core {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    opacity: 0 ;
    transform: scale(0);
    transition: all .9s ease-in-out;
/*         transition:opacity 5s ease-in; */
  }

  .pulse-ring {
    width: 32px;
    height: 32px;
    background: radial-gradient(
      circle,
      rgba(255, 255, 255, 0.4) 0%,
      rgba(255, 255, 255, 0.2) 50%,
      transparent 100%
    );
    animation: pulse 2s infinite;
    z-index: 0;
    opacity:0 !important;
  }

  .pulse-core {
    width: 24px;
    height: 24px;
    background: radial-gradient(
      circle,
      rgba(255, 255, 255, 0.6) 0%,
      rgba(255, 255, 255, 0.3) 50%,
      transparent 100%
    );
    z-index: 0;
    opacity:0;
/*         opacity:0 !important; */
    
  }

  .nav-dot.active .pulse-ring,
  .nav-dot.active .pulse-core {
    opacity: 1 !important;
    transform: scale(1);
/*       border:solid red 1px !important */
;      }

.ken-burns {
  animation: kenZoom 10s ease-in-out forwards;
  transform-origin: center center;
}

@keyframes kenZoom {
  0% {
    transform: scale(1) translate(0, 0);
  }
  100% {
    transform: scale(1.1) translate(-2%, -2%);
  }
}

  @keyframes pulse {
    0%,
    100% {
      transform: scale(1);
      opacity: 1;
    }
    50% {
      transform: scale(1.1);
      opacity: 0.5;
    }
  }
  .carousel-image.fade-transitiona {
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}

  .fade-transition {
    opacity: 0 !important;
    transition: opacity 6s cubic-bezier(0.4, 0, 0.2, 1) !important;
  }
  /* Radial gradient utility */
  .bg-gradient-radial {
    background: radial-gradient(circle, var(--tw-gradient-stops));
  }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-d9905a5 *//* ========= Phones (max-width: 767px) ========= */
@media (max-width: 767px) {
  /* Make filter buttons scrollable horizontally */
  .filter-buttons {
    display: flex;
    overflow-x: auto;
    border:solid red 1px !important;
    gap: 0.5rem;
    padding: 0 0.5rem;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }

  .filter-buttons::-webkit-scrollbar {
    display: none;
  }

  .filter-buttons button {
    flex: 0 0 auto;
    scroll-snap-align: start;
  }

  /* Carousel item width */
  #carousel .carousel-item {
    min-width: 85vw;
  }

  /* Smaller dots */
  .dots button {
    width: 8px;
    height: 8px;
    margin: 0 4px;
  }
}

/* ========= Tablets (768px - 1024px) ========= */
@media (min-width: 768px) and (max-width: 1024px) {
  /* Pyramid-style button wrapping */
  .filter-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: center;
    padding: 0 1rem;
  }

  .filter-buttons button {
    flex: 1 1 calc(33.33% - 1rem);
    max-width: calc(33.33% - 1rem);
  }

  /* Carousel item width */
  #carousel .carousel-item {
    min-width: 70vw;
  }

  /* Slightly smaller dots */
  .dots button {
    width: 10px;
    height: 10px;
    margin: 0 5px;
  }
}/* End custom CSS */