body { margin: 0; padding: 0; font-family: Arial, sans-serif; } #map { position: absolute; top: 0; bottom: 0; width: 100%; } .map-overlay { position: absolute; top: 10px; left: 10px; background: rgba(255, 255, 255, 0.9); padding: 10px; border-radius: 5px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); max-width: 300px; max-height: 90vh; overflow-y: auto; } .filter-overlay { position: absolute; top: 10px; right: 10px; background: rgba(255, 255, 255, 0.9); padding: 10px; border-radius: 5px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); max-width: 300px; max-height: 90vh; overflow-y: auto; } h2, h3 { margin-top: 0; } ul { padding-left: 20px; } a { color: #0078ff; text-decoration: none; } a:hover { text-decoration: underline; } .event-popup { max-width: 300px; } .filter-list { list-style: none; padding: 0; margin: 0; } .filter-item { margin-bottom: 8px; display: flex; align-items: center; } .filter-item input { margin-right: 8px; } .filter-item label { cursor: pointer; flex-grow: 1; } .filter-count { color: #666; font-size: 0.8em; margin-left: 5px; } .color-dot { display: inline-block; width: 12px; height: 12px; border-radius: 50%; margin-right: 5px; } .nav { margin-bottom: 15px; } .nav a { margin-right: 15px; } button { background-color: #0078ff; color: white; border: none; padding: 5px 10px; border-radius: 3px; cursor: pointer; margin-right: 5px; margin-bottom: 5px; } button:hover { background-color: #0056b3; }