/* Reset some basic styles */ * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; background: #f4f4f4; display: flex; flex-direction: column; min-height: 100vh; } /* Header styles */ header { background-color: #2c3e50; padding: 20px; text-align: center; color: white; } h1 { margin-bottom: 10px; } .search-bar { margin-top: 10px; } .search-bar input { padding: 10px; width: 250px; border: none; border-radius: 5px; margin-right: 8px; } .search-bar button { padding: 10px 15px; border: none; border-radius: 5px; background-color: #3498db; color: white; cursor: pointer; font-weight: bold; } .suggestions { background: #363251; border: 1px solid #ccc; position: absolute; top: 110%; /* Just below the input */ left: 48%; transform: translateX(-50%); max-width: fit-content; min-width: 200px; /* Optional: minimum size */ max-height: 200px; overflow-y: auto; z-index: 1000; box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1); border-radius: 8px; transition: all 0.2s ease-in-out; } .suggestions div { padding: 10px; cursor: pointer; } .suggestions div:hover { background-color: #95a1a8; } .custom-logo { background: rgba(255, 255, 255, 0.9); padding: 6px 10px; border-radius: 8px; box-shadow: 0 0 8px rgba(0, 0, 0, 0.1); display: flex; align-items: center; font-family: sans-serif; } /* Map container */ #map { flex-grow: 1; height: 80vh; width: 100%; } /* Main container */ main { flex: 1; display: flex; flex-direction: column; } /* Modal styles */ .modal { display: none; position: fixed; z-index: 2000; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); } .modal-content { background-color: #fefefe; margin: 5% auto; padding: 30px; border-radius: 10px; width: 90%; max-width: 500px; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); } .modal-content h2 { margin-bottom: 20px; color: #2c3e50; } .close { color: #aaa; float: right; font-size: 28px; font-weight: bold; line-height: 20px; cursor: pointer; } .close:hover, .close:focus { color: #000; } .form-group { margin-bottom: 15px; } .form-group label { display: block; margin-bottom: 5px; font-weight: bold; color: #2c3e50; } .form-group input { width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 5px; font-size: 14px; } .form-group input:focus { outline: none; border-color: #3498db; } .form-actions { display: flex; gap: 10px; margin-top: 20px; } .form-actions button { flex: 1; padding: 10px; border: none; border-radius: 5px; cursor: pointer; font-weight: bold; } .btn-submit { background-color: #27ae60; color: white; } .btn-submit:hover { background-color: #229954; } .btn-cancel { background-color: #95a5a6; color: white; } .btn-cancel:hover { background-color: #7f8c8d; } .form-message { padding: 10px; border-radius: 5px; margin-bottom: 15px; text-align: center; font-weight: bold; } .form-message.success { background-color: #d4edda; color: #155724; border: 1px solid #c3e6cb; } .form-message.error { background-color: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; } .form-message.info { background-color: #d1ecf1; color: #0c5460; border: 1px solid #bee5eb; } /* Add Family button */ .btn-add-family { padding: 10px 15px; border: none; border-radius: 5px; background-color: #27ae60; color: white; cursor: pointer; font-weight: bold; margin-left: 8px; } .btn-add-family:hover { background-color: #229954; }