body { background-color: #121212; color: #ffffff; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; margin: 0; padding: 0; line-height: 1.6; min-height: 100vh; display: flex; flex-direction: column; } h1 { font-size: 50px; margin: 0; padding: 0; } h2 { margin-top: 0; color: #4dabf7; } .header { background-color: #111; padding: 2rem 0; text-align: center; border-bottom: 3px solid #4dabf7; } .tagline { color: #adb5bd; font-size: 1.2rem; margin-top: 0.5rem; } .container { max-width: 800px; margin: 2rem auto; padding: 0 1rem; } .card { background-color: #111; border-radius: 8px; padding: 1.5rem; margin-bottom: 2rem; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); overflow: visible; } .form-group { margin-bottom: 1.5rem; } label { display: block; margin-bottom: 0.5rem; } input, textarea { width: 100%; padding: 0.75rem; background-color: #222; border: 1px solid #444; border-radius: 4px; color: #fff; font-size: 1rem; box-sizing: border-box; } input:focus, textarea:focus { outline: none; border-color: #4dabf7; box-shadow: 0 0 0 2px rgba(77, 171, 247, 0.25); } textarea { min-height: 100px; resize: vertical; } button { background-color: #4dabf7; color: #000; border: none; padding: 0.75rem 1.5rem; font-size: 1rem; font-weight: bold; cursor: pointer; border-radius: 4px; transition: all 0.2s ease-in-out; } button:hover { background-color: #74c0fc; transform: translateY(-2px); box-shadow: 0 4px 8px rgba(77, 171, 247, 0.3); } button:disabled { background-color: #495057; cursor: not-allowed; } .location-item { border-bottom: 1px solid #333; padding: 1rem 0; transition: transform 0.2s ease; } .location-item:hover { transform: translateX(5px); } .location-item:last-child { border-bottom: none; } .location-item h3 { margin: 0 0 0.5rem 0; color: #4dabf7; } .date { color: #adb5bd; font-size: 0.9rem; margin-top: 0.5rem; } .loading { text-align: center; color: #adb5bd; } .centre { margin-top: 10%; text-align: center; } a { color: #4dabf7; text-decoration: none; } a:hover { text-decoration: underline; } /* Rating display styling */ .rating { display: flex; align-items: center; margin-top: 0.5rem; } .rating::before { content: "★ "; color: #ffd700; margin-right: 5px; } /* Footer styling */ .footer { background-color: #111; text-align: center; padding: 1.5rem 0; margin-top: auto; border-top: 2px solid #4dabf7; } .footer-content { max-width: 800px; margin: 0 auto; } .footer a { color: #4dabf7; transition: color 0.2s; } .footer a:hover { color: #74c0fc; text-decoration: none; } /* Enhanced form styling */ .rating-container { margin-top: 10px; } #rating { height: 8px; accent-color: #4dabf7; } /* Notification enhancements */ .notification { padding: 12px 18px; border-radius: 6px; margin-bottom: 20px; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); animation: fadeIn 0.3s ease-in-out; } @keyframes fadeIn { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } } /* Responsive adjustments */ @media (max-width: 600px) { h1 { font-size: 36px; } .container { padding: 0 0.5rem; } .card { padding: 1rem; } } .rating-container { display: flex; align-items: center; } #rating { flex: 1; margin-right: 10px; } #rating-value { font-weight: bold; width: 20px; text-align: center; } /* Notification styling */ .notification { padding: 10px 15px; border-radius: 4px; margin-bottom: 15px; transition: opacity 0.3s ease; } .notification.success { background-color: #d4edda; color: #155724; border: 1px solid #c3e6cb; } .notification.error { background-color: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; } .notification.hidden { display: none; } .footer { background-color: #000000; padding: 10px 0; text-align: center; position: relative; bottom: 0; width: 100%; } .footer-content { max-width: 800px; margin: 0 auto; padding: 0 15px; } .footer a { color: #007bff; text-decoration: none; } .footer a:hover { text-decoration: underline; } /* Map styling */ #map-container { height: 500px; /* Increased height for better resolution */ width: 100%; margin-bottom: 20px; border-radius: 8px; border: 1px solid #333; z-index: 1; /* Improved rendering for high-DPI displays */ image-rendering: -webkit-optimize-contrast; image-rendering: crisp-edges; backface-visibility: hidden; } /* Fix for Leaflet tiles to render at higher resolution */ .leaflet-container { image-rendering: high-quality; } .leaflet-retina .leaflet-tile { box-shadow: none !important; } /* Custom marker styling */ .custom-marker { text-align: center; } .marker-pin { width: 20px; height: 20px; border-radius: 50%; background-color: #ff0000; border: 2px solid #fff; box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); cursor: pointer; } /* Coordinates input styling */ .location-controls { display: flex; flex-direction: column; gap: 10px; } .coordinates-group { display: flex; gap: 10px; } .coordinates-group input { flex: 1; } #get-location-btn { background-color: #333; color: #fff; border: 1px solid #444; padding: 8px; cursor: pointer; } #get-location-btn:hover { background-color: #444; } /* Popup styling */ .leaflet-popup-content-wrapper { background-color: #222; color: #fff; border-radius: 5px; } .leaflet-popup-content { margin: 10px; } .leaflet-popup-tip { background-color: #222; } .popup-content { padding: 5px; } .popup-content .rating { font-weight: bold; display: flex; align-items: center; margin-top: 0; color: #ffd700; } .popup-content .date { font-size: 0.8em; color: #aaa; margin-bottom: 0; } /* Modifications to existing styles to accommodate map */ .card { /* ...existing code... */ overflow: visible; } @media (max-width: 600px) { /* ...existing code... */ .coordinates-group { flex-direction: column; } #map-container { height: 300px; } } /* Hide the coordinate inputs */ .hidden { display: none !important; } /* Input map styling */ #input-map-container { height: 300px; width: 100%; margin-bottom: 10px; border-radius: 8px; border: 1px solid #333; z-index: 1; } .location-help { margin: 10px 0; font-size: 0.9rem; color: #adb5bd; text-align: center; }