
/* === GLOBAL === */
body {
  font-family: 'Segoe UI', sans-serif;
  scroll-behavior: smooth;
  padding-top: 70px; /* for fixed navbar spacing */
}

    #map {
      width: 100%;
      height: 600px;
    }

    @media (max-width: 767px) {
  #map {
    height: 300px; /* or 250px depending on how compact you want it */
  }
}

.background-video {
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

/* === HERO SECTION === */
#hero .hero-content {
  z-index: 2;
}




/* === SERVICES SECTION === */
.card {
  cursor: pointer;
  transition: transform 0.2s ease;
}

.card:hover {
  transform: scale(1.02);
}

/* === MODAL === */
.modal {
  display: none;
  position: fixed;
  z-index: 1050;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.5);
}

.modal-content {
  background-color: #fff;
  margin: 10% auto;
  padding: 1.5rem;
  border: 1px solid #888;
  border-radius: 0.5rem;
  width: 90%;
  max-width: 500px;
}

.close {
  float: end;
  font-size: 1.5rem;
  font-weight: bold;
  cursor: pointer;
}


.partner-logo {
  transition: transform 0.3s ease-in-out;
}

.partner-logo:hover {
  transform: scale(1.2);
}

/* === FOOTER === */
footer a:hover {
  text-decoration: underline;
}


     @keyframes pulse-stroke {
        0% { stroke-width: 0.5; stroke-opacity: 0.4; }
        50% { stroke-width: 1; stroke-opacity: 0.8; }
        100% { stroke-width: 0.5; stroke-opacity: 0.4; }
      }

      .jvm-region.pulsing {
        animation: pulse 2s infinite;
        fill-opacity: 1 !important;
      }

      @keyframes pulse {
        0% { stroke-width: 1; stroke: rgba(220, 53, 69, 0.6); }
        50% { stroke-width: 2.5; stroke: rgba(220, 53, 69, 1); }
        100% { stroke-width: 1; stroke: rgba(220, 53, 69, 0.6); }
      }

      .jvm-region.hover-pulse:hover {
        animation: pulse-stroke 1.5s infinite;
        stroke: #003366;
        stroke-linejoin: round;
      }


#service_map{
      background-color: #6a757d;
}

