Spaces:
Sleeping
Sleeping
| /* Loading Screen */ | |
| .loading-screen { | |
| display: none; | |
| position: fixed; | |
| top: 0; | |
| left: 0; | |
| width: 100%; | |
| height: 100%; | |
| background: rgba(0, 0, 0, 0.7); | |
| z-index: 1000; | |
| justify-content: center; | |
| align-items: center; | |
| } | |
| .loading-content { | |
| background: white; | |
| padding: 20px 30px; | |
| border-radius: 8px; | |
| text-align: center; | |
| box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); | |
| } | |
| .loading-content i { | |
| color: #17a2b8; | |
| margin-bottom: 15px; | |
| } | |
| .loading-content p { | |
| margin: 0; | |
| font-size: 1.1rem; | |
| color: #333; | |
| } | |
| /* Error Message */ | |
| .error-message { | |
| background: #f8d7da; | |
| color: #721c24; | |
| padding: 15px; | |
| border-radius: 5px; | |
| border: 1px solid #f5c6cb; | |
| transition: opacity 1s; | |
| opacity: 1; | |
| text-align: center; | |
| margin: 10px 0; | |
| } | |
| /* General Container */ | |
| .coordinates-container { | |
| margin: 20px 0; | |
| max-width: 1200px; | |
| margin-left: auto; | |
| margin-right: auto; | |
| } | |
| /* Coordinate Card */ | |
| .coordinate-card { | |
| background: white; | |
| border-radius: 8px; | |
| box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1); | |
| margin-bottom: 15px; | |
| padding: 15px; | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| transition: transform 0.2s ease; | |
| } | |
| .coordinate-card:hover { | |
| transform: translateY(-2px); | |
| } | |
| .coord-info { | |
| display: grid; | |
| grid-template-columns: auto 1fr; | |
| gap: 8px 15px; | |
| align-items: center; | |
| } | |
| .coord-label { | |
| font-size: 0.9rem; | |
| color: #666; | |
| } | |
| .coord-value { | |
| font-weight: 500; | |
| color: #333; | |
| } | |
| .coord-actions { | |
| display: flex; | |
| gap: 12px; | |
| align-items: center; | |
| } | |
| /* Button Styles */ | |
| .predict-btn, .delete-btn, .scan-btn { | |
| padding: 8px 16px; | |
| font-size: 0.9rem; | |
| border: none; | |
| border-radius: 6px; | |
| cursor: pointer; | |
| color: white; | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 8px; | |
| transition: all 0.3s ease; | |
| box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); | |
| } | |
| .predict-btn { | |
| background: #17a2b8; | |
| } | |
| .predict-btn:hover { | |
| background: #138496; | |
| transform: translateY(-1px); | |
| box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15); | |
| } | |
| .scan-btn { | |
| background: #5adbb5; | |
| } | |
| .scan-btn:hover { | |
| background: #4bb897; | |
| transform: translateY(-1px); | |
| box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15); | |
| } | |
| .predict-btn:active { | |
| transform: translateY(0); | |
| box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); | |
| } | |
| .delete-btn { | |
| background: #dc3545; | |
| } | |
| .delete-btn:hover { | |
| background: #c82333; | |
| transform: translateY(-1px); | |
| box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15); | |
| } | |
| .delete-btn:active { | |
| transform: translateY(0); | |
| box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); | |
| } | |
| .predict-btn i, .delete-btn i { | |
| font-size: 1rem; | |
| } | |
| /* Predict All Button */ | |
| .predict-all-container { | |
| margin: 20px 0; | |
| text-align: center; | |
| } | |
| .predict-all-btn { | |
| background: #28a745; | |
| color: white; | |
| padding: 12px 25px; | |
| border: none; | |
| border-radius: 6px; | |
| font-size: 1rem; | |
| cursor: pointer; | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 8px; | |
| transition: all 0.3s ease; | |
| box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); | |
| } | |
| .predict-all-btn:hover { | |
| background: #218838; | |
| transform: translateY(-2px); | |
| box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15); | |
| } | |
| .predict-all-btn:active { | |
| transform: translateY(0); | |
| box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); | |
| } | |
| .predict-all-btn i { | |
| font-size: 1rem; | |
| } | |
| /* No Coordinates Message */ | |
| .no-coordinates { | |
| text-align: center; | |
| color: #6c757d; | |
| padding: 20px; | |
| background: #f8f9fa; | |
| border-radius: 8px; | |
| margin: 20px 0; | |
| font-size: 1rem; | |
| } | |
| /* Flash Messages */ | |
| .flash-container { | |
| margin: 15px 0; | |
| min-height: 50px; | |
| } | |
| .success-message { | |
| background: #d4edda; | |
| color: #155724; | |
| padding: 15px; | |
| border-radius: 5px; | |
| border: 1px solid #c3e6cb; | |
| transition: opacity 1s; | |
| opacity: 1; | |
| text-align: center; | |
| } | |
| /* Temporary Marker */ | |
| .temp-marker { | |
| background: white; | |
| padding: 4px 8px; | |
| border-radius: 4px; | |
| border: 2px solid #0078A8; | |
| box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3); | |
| font-weight: bold; | |
| text-align: center; | |
| color: #0078A8; | |
| } | |
| /* Responsive Design */ | |
| @media (max-width: 768px) { | |
| .coordinate-card { | |
| flex-direction: column; | |
| align-items: flex-start; | |
| padding: 12px; | |
| } | |
| .coord-actions { | |
| margin-top: 12px; | |
| width: 100%; | |
| justify-content: space-between; | |
| } | |
| .predict-btn, .delete-btn { | |
| width: 48%; | |
| padding: 10px; | |
| font-size: 0.85rem; | |
| } | |
| .predict-all-btn { | |
| width: 100%; | |
| padding: 12px; | |
| } | |
| .no-coordinates { | |
| margin: 15px 0; | |
| padding: 15px; | |
| } | |
| .loading-content { | |
| padding: 15px 20px; | |
| } | |
| .loading-content p { | |
| font-size: 1rem; | |
| } | |
| } | |
| #map { | |
| height: 500px; | |
| width: 100%; | |
| border-radius: 12px; | |
| box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15); | |
| border: 1px solid rgba(0, 0, 0, 0.1); | |
| margin-bottom: 2rem; | |
| transition: all 0.3s ease; | |
| } | |
| #map:hover { | |
| box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2); | |
| } | |
| .leaflet-control-zoom { | |
| border: none ; | |
| box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2) ; | |
| border-radius: 8px ; | |
| overflow: hidden; | |
| } | |
| .leaflet-control-zoom a { | |
| background-color: white ; | |
| color: #333 ; | |
| border-bottom: 1px solid #eee ; | |
| width: 36px ; | |
| height: 36px ; | |
| line-height: 36px ; | |
| font-size: 18px ; | |
| } | |
| .leaflet-control-zoom a:hover { | |
| background-color: #f8f9fa ; | |
| } | |
| .leaflet-control-geocoder { | |
| border-radius: 8px ; | |
| box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2) ; | |
| font-family: inherit; | |
| } | |
| .leaflet-control-geocoder a { | |
| border-radius: 8px ; | |
| } | |
| .leaflet-control-geocoder-form input { | |
| padding: 8px 12px ; | |
| font-size: 14px ; | |
| } | |
| .leaflet-control-fullscreen { | |
| border-radius: 8px ; | |
| box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2) ; | |
| } | |
| .leaflet-popup-content { | |
| font-family: inherit; | |
| font-size: 14px; | |
| padding: 10px; | |
| } | |
| .leaflet-popup-content-wrapper { | |
| border-radius: 8px ; | |
| box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2) ; | |
| } | |
| .temp-marker { | |
| background-color: rgba(255, 255, 255, 0.9); | |
| padding: 4px 8px; | |
| border-radius: 16px; | |
| border: 2px solid #4CAF50; | |
| box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); | |
| font-weight: bold; | |
| color: #333; | |
| text-align: center; | |
| white-space: nowrap; | |
| transform: translate(-50%, -50%); | |
| } | |
| .marker-cluster-small { | |
| background-color: rgba(181, 226, 140, 0.6) ; | |
| } | |
| .marker-cluster-small div { | |
| background-color: rgba(110, 204, 57, 0.6) ; | |
| } | |
| .marker-cluster-medium { | |
| background-color: rgba(241, 211, 87, 0.6) ; | |
| } | |
| .marker-cluster-medium div { | |
| background-color: rgba(240, 194, 12, 0.6) ; | |
| } | |
| .marker-cluster-large { | |
| background-color: rgba(253, 156, 115, 0.6) ; | |
| } | |
| .marker-cluster-large div { | |
| background-color: rgba(241, 128, 23, 0.6) ; | |
| } |