/*
 * Static export fallbacks.
 *
 * The deployed Next app relies on runtime animation hooks to reveal content.
 * When these exported HTML pages are served as plain static files, those hooks
 * can fail or run late, leaving headings and sections invisible.
 */
.title-anim,
.wow,
.fadeInUp,
.fadeInDown,
.fadeInLeft,
.fadeInRight,
.tj-fadeInUp {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

.title-anim [style*="opacity"],
.wow [style*="opacity"] {
  opacity: 1 !important;
  visibility: visible !important;
}

img {
  max-width: 100%;
}

body.tj-offcanvas-open {
  overflow: hidden;
}

nav li.static-home-link > .sub-menu,
nav li.static-home-link > .mean-expand,
nav li.static-plain-link > .sub-menu,
nav li.static-plain-link > .mean-expand {
  display: none !important;
}

.tj-client-section .client-content .client-text {
  margin-left: 0.35em;
}

.tj-client-section .client-slider.static-client-carousel {
  overflow: hidden !important;
}

.tj-client-section .client-slider.static-client-carousel .swiper-wrapper {
  animation: static-client-marquee 24s linear infinite;
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
  transition: none !important;
  width: max-content;
  will-change: transform;
}

.tj-client-section .client-slider.static-client-carousel:hover .swiper-wrapper {
  animation-play-state: paused;
}

.tj-client-section .client-slider.static-client-carousel .swiper-slide {
  flex: 0 0 calc(100vw / var(--static-client-visible, 6)) !important;
  width: calc(100vw / var(--static-client-visible, 6)) !important;
  margin-right: 0 !important;
}

@keyframes static-client-marquee {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    transform: translate3d(-50%, 0, 0);
  }
}

.tj-service-section .service-slider.static-service-carousel {
  overflow: hidden !important;
}

.tj-service-section .service-slider.static-service-carousel .swiper-wrapper {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
  transition: transform 0.45s ease !important;
  will-change: transform;
}

.tj-service-section .service-slider.static-service-carousel .swiper-slide {
  flex: 0 0 calc(100% / var(--static-service-visible, 4)) !important;
  width: calc(100% / var(--static-service-visible, 4)) !important;
  height: auto !important;
  padding-right: 24px;
  margin-right: 0 !important;
}

.tj-service-section .service-slider.static-service-carousel .service-item.style-1 {
  height: 100%;
}

.tj-service-section .service-slider.static-service-carousel .swiper-pagination-area {
  align-items: center;
  display: flex;
  gap: 8px;
  justify-content: center;
}

.tj-service-section .service-slider.static-service-carousel .static-service-bullet {
  background: rgba(255, 255, 255, 0.4);
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  height: 4px;
  padding: 0;
  transition: all 0.25s ease;
  width: 22px;
}

.tj-service-section .service-slider.static-service-carousel .static-service-bullet.active {
  background: var(--tj-color-common-white, #fff);
  width: 46px;
}

.tj-testimonial-section .testimonial-slider.static-testimonial-carousel {
  overflow: hidden !important;
}

.tj-testimonial-section .testimonial-slider.static-testimonial-carousel .swiper-wrapper {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
  transition: transform 0.45s ease !important;
  will-change: transform;
}

.tj-testimonial-section .testimonial-slider.static-testimonial-carousel .swiper-slide {
  flex: 0 0 calc(100% / var(--static-testimonial-visible, 3)) !important;
  width: calc(100% / var(--static-testimonial-visible, 3)) !important;
  height: auto !important;
  padding-right: 24px;
  margin-right: 0 !important;
}

.tj-testimonial-section .testimonial-slider.static-testimonial-carousel .testimonial-item {
  height: 100%;
}

.tj-testimonial-section .testimonial-slider.static-testimonial-carousel .swiper-pagination-area {
  align-items: center;
  display: flex;
  gap: 8px;
  justify-content: center;
}

.tj-testimonial-section .testimonial-slider.static-testimonial-carousel .static-testimonial-bullet {
  background: rgba(12, 30, 33, 0.22);
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  height: 4px;
  padding: 0;
  transition: all 0.25s ease;
  width: 22px;
}

.tj-testimonial-section .testimonial-slider.static-testimonial-carousel .static-testimonial-bullet.active {
  background: var(--tj-color-theme-primary, #1f9a9a);
  width: 46px;
}

.tj-testimonial-section .slider-navigation button {
  cursor: pointer;
}

.site_logo,
.site_logo .logo {
  width: clamp(190px, 15vw, 245px) !important;
  max-width: clamp(190px, 15vw, 245px) !important;
}

.site_logo img,
.footer-logo img,
.hamburger_logo img {
  width: 100% !important;
  max-height: 68px !important;
  object-fit: contain;
}

.footer-logo img {
  width: clamp(200px, 18vw, 260px);
  max-height: 74px;
}

.hamburger_logo img {
  width: 205px;
  max-height: 60px;
}

@media (max-width: 575px) {
  .site_logo,
  .site_logo .logo {
    width: 185px !important;
    max-width: 185px !important;
  }

  .site_logo img,
  .hamburger_logo img {
    width: 100% !important;
    max-height: 54px !important;
  }

  .tj-service-section .service-slider.static-service-carousel .swiper-slide {
    flex-basis: 100% !important;
    width: 100% !important;
    padding-right: 0;
  }

  .tj-testimonial-section .testimonial-slider.static-testimonial-carousel .swiper-slide {
    flex-basis: 100% !important;
    width: 100% !important;
    padding-right: 0;
  }

  .tj-client-section .client-slider.static-client-carousel .swiper-slide {
    flex-basis: 50vw !important;
    width: 50vw !important;
  }
}

@media (min-width: 576px) and (max-width: 991px) {
  .tj-service-section .service-slider.static-service-carousel .swiper-slide {
    flex-basis: 50% !important;
    width: 50% !important;
  }

  .tj-testimonial-section .testimonial-slider.static-testimonial-carousel .swiper-slide {
    flex-basis: 50% !important;
    width: 50% !important;
  }

  .tj-client-section .client-slider.static-client-carousel .swiper-slide {
    flex-basis: calc(100vw / 3) !important;
    width: calc(100vw / 3) !important;
  }
}
