
/* Force Media Carousel overlay caption to always show */
.elementor-widget-media-carousel .elementor-carousel-image-overlay {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Disable hover-based hiding */
.elementor-widget-media-carousel .swiper-slide:hover 
.elementor-carousel-image-overlay {
  opacity: 1 !important;
}
/* 1. Limit image height to 300px */
.elementor-widget-media-carousel .elementor-carousel-image img {
  height: 350px;
  width: 300px;
  object-fit: cover;
  display: block;
}

/* 2. Make caption use remaining 50px */
.elementor-widget-media-carousel .elementor-carousel-image-overlay {
  top: auto !important;
  bottom: 0 !important;

  height: 70px;
  line-height: 18px;
}

.swiper-wrapper{
  -webkit-transition-timing-function: linear !important;
  transition-timing-function: linear !important; 
}

.swiper-wrapper-image-stretch .swiper-wrapper-slide .swiper-wrapper-slide-image {
    width: 100%;
    height: 425px;
    object-fit: cover;
    object-position: center center;
}

/* ---------- DESKTOP & TABLET (unchanged layout + spacing fix) ---------- */
#column1 {
    width: 50%;
    height: 600px;
    max-height: 600px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 8px; /* added spacing between vertically stacked images */
    -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), black 20%, black 80%, rgba(0, 0, 0, 0));
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), black 20%, black 80%, rgba(0, 0, 0, 0));
}

.image1 {
    width: 100%;
    border-radius: 0px;
    animation: looping-vertical 30s infinite linear;
}

@keyframes looping-vertical {
    0% {
        transform: translateY(0);
    }
    100% {
        transform: translateY(-400%);
    }
}

/* ---------- MOBILE (≤767px): Horizontal Layout & Loop ---------- */
@media (max-width: 767px) {
    #column1 {
        width: 100%;
        height: auto;
        max-height: none;
        overflow: hidden;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 8px; /* horizontal spacing */
        -webkit-mask-image: linear-gradient(to right, rgba(0, 0, 0, 0), black 20%, black 80%, rgba(0, 0, 0, 0));
        mask-image: linear-gradient(to right, rgba(0, 0, 0, 0), black 20%, black 80%, rgba(0, 0, 0, 0));
    }

    .image1 {
        width: 75%; /* smaller size for better visibility */
        height: auto;
        flex-shrink: 0;
        border-radius: 0px;
        animation: looping-horizontal 30s infinite linear;
    }

    @keyframes looping-horizontal {
        0% {
            transform: translateX(0);
        }
        100% {
            transform: translateX(-400%);
        }
    }
}

header {
  position: sticky;
  top: 0;
  z-index: 999;
	box-shadow: 0 4px 20px rgba(18, 62, 116, 0.15);
}

.table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #d1d5db; /* outer border */
  padding: 20px;
  overflow: hidden;
}

/* Equal width columns */
.table th,
.table td {
  width: auto;
  text-align: center;
  padding: 12px;
  border: 1px solid #dedede;
  word-break: keep-all;
}

/* Header styling (with your brand color) */
.table thead th {
  background-color: #123e74;
  color: #ffffff;
  border: 1px solid #0E2E56; /* slightly darker tone for separation */
}

/* Include merged header cells too */
.table thead tr th[colspan],
.table thead tr th[rowspan] {
  border: 1px solid #0E2E56;
}

/* Table body */
.table tbody td {
  background-color: #ffffff;
  color: #333;
}