
html, body {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden; /* hanya jika benar-benar diperlukan */
}
#map {
    height: 100vh;
    width: 100vw;
}


#loader {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: #111;
    color: white;
    z-index: 9999;
}

.spinner {
    width: 60px;
    height: 60px;
    border: 6px solid #444;
    border-top-color: #00ffcc;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-bottom: 12px;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

#loading-text {
    font-size: 1.2em;
}

#map {
    height: 100vh;
    width: 100vw;
}

.zoom-slider {
    width: 80vw;
    height: 5px; /* Menentukan tinggi slider */
    margin: 0;
    padding: 0;
    cursor: pointer;
    position: absolute;
    top: 50%;
    right: -30%; /* Tempatkan di sisi kanan peta */
    transform: translateY(-50%); /* Menempatkan di tengah vertikal */
    z-index: 9999;
}


#toggle-filter-btn {
    position: absolute;
    top: 20px;
    left: 10px;
    background: none;
    border: none;
    cursor: pointer;
    z-index: 1100; /* Lebih tinggi dari filter-container */
}

#toggle-filter-btn img {
    width: 60px;
    height: auto;
}

#home-map-btn {
    position: absolute;
    top: 90px;
    left: 10px;
    background: none;
    border: none;
    cursor: pointer;
    z-index: 1100; /* Lebih tinggi dari filter-container */

}

#home-map-btn img {
    width: 60px;
    height: auto;
}


#filter-container {
    position: absolute;
    top: 20px;
    left: 80px;
    background-color: rgba(19, 39, 96, 0.8); /* Latar belakang lebih gelap dari container */
    padding: 15px; /* Padding di sekitar kontainer */
    border-radius: 8px; /* Border radius untuk sudut yang melengkung */
    z-index: 1000; /* Z-index untuk penempatan di atas elemen lain */
    font-size: 14px;
    border: 2px solid #889dcb;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25); /* Bayangan untuk efek depth */
    transition: all 0.3s ease;
    display: flex;
    flex-wrap: wrap; /* Membuat gambar berpindah ke baris baru jika perlu */
    justify-content: flex-start; /* Mengatur item ke kiri */
    gap: 10px; /* Memberikan jarak antar elemen */
    max-width: 400px; /* Membatasi lebar container */
}

#filter-container label {
    display: flex;
    align-items: center;
    background-color: rgb(10, 18, 44); /* Latar belakang label yang lebih gelap */
    padding: 5px 10px; /* Padding di sekitar label */
    border-radius: 5px; /* Border radius untuk label */
    width: 180px; /* Lebar yang sama untuk setiap label */
    box-sizing: border-box; /* Menjamin padding tidak mempengaruhi lebar */
    justify-content: flex-start; /* Menyusun gambar dan teks ke kiri */
}


#filter-container input[type="checkbox"] {
    margin-right: 10px; /* Memberikan jarak antara checkbox dan gambar */
}

#filter-container img {
    width: 20px; /* Mengatur ukuran gambar menjadi 20px */
    height: 20px; /* Mengatur ukuran gambar menjadi 20px */
    object-fit: contain; /* Memastikan gambar tetap proporsional */
    margin-right: 5px; /* Memberikan jarak antara gambar dan teks */
}

#filter-container .filter-text {
    font-size: 14px; /* Ukuran font untuk teks */
    color: white; /* Warna teks */
}
h4 {
    font-family: 'Lato', sans-serif;
    font-weight: bold;
    color: orange;
    font-size: 20px
    }
    
    @media (max-width: 768px) {
  #ad-container {
    padding: 0;
  }

  #ad-container > div {
    padding: 6px 10px 6px 10px;
  }

  #ad-container ins.adsbygoogle {
    height: 60px !important;
  }

  #ad-container button {
    font-size: 18px;
    top: 2px;
    right: 2px;
  }
}
.teleport-wrapper {
    position: relative;
    width: 40px;
    height: 50px;
}

.teleport-icon {
    width: 32px;
    height: 32px;
    display: block;
    margin: 0 auto;
    animation: glow 1.5s infinite alternate;
}

.teleport-arrow {
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 12px solid white; /* Segitiga putih */
    position: absolute;
    top: -8%;
    left: 50%;
    transform: translateX(-50%);
    animation: bounce 1s infinite, glow 1.5s infinite alternate;
    filter: drop-shadow(0 0 8px white); /* efek glow putih */
}

/* Animasi panah naik-turun */
@keyframes bounce {
    0%, 100% { transform: translateX(-50%) translateY(0); }
    50% { transform: translateX(-50%) translateY(-6px); }
}

/* Animasi glowing putih berkedip */
@keyframes glow {
    0% { filter: drop-shadow(0 0 4px white); }
    50% { filter: drop-shadow(0 0 12px white); }
    100% { filter: drop-shadow(0 0 4px white); }
}