fraud-detection-url / static /css /custom-map.css
kh03's picture
Upload 2 files
64f5f3a verified
/* Map container styles */
.map-container {
width: 100%;
height: 180px;
border-radius: 8px;
overflow: hidden;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
/* Custom IP marker styling */
.custom-ip-marker {
background: transparent;
}
.ip-marker {
display: flex;
flex-direction: column;
align-items: center;
}
.ip-marker-content {
background-color: rgba(0, 0, 0, 0.7);
border: 2px solid #3b82f6;
border-radius: 6px;
padding: 6px 12px;
box-shadow: 0 0 15px rgba(59, 130, 246, 0.6);
text-align: center;
transition: all 0.3s ease;
max-width: 240px;
}
.ip-text {
display: block;
color: #ffffff;
font-size: 14px;
font-weight: 600;
margin-bottom: 2px;
}
.location-text {
display: block;
color: #e2e8f0;
font-size: 12px;
}
/* Popup styling */
.custom-popup .leaflet-popup-content-wrapper {
background-color: rgba(15, 23, 42, 0.9);
color: #ffffff;
border-radius: 8px;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}
.custom-popup .leaflet-popup-tip {
background-color: rgba(15, 23, 42, 0.9);
}
.map-popup {
padding: 5px;
}
.popup-header {
color: #3b82f6;
font-weight: 600;
font-size: 14px;
margin-bottom: 5px;
border-bottom: 1px solid rgba(59, 130, 246, 0.4);
padding-bottom: 5px;
}
.popup-row {
margin: 5px 0;
font-size: 13px;
}
/* No location info styling */
.no-location-info {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background-color: rgba(15, 23, 42, 0.8);
color: #ffffff;
padding: 10px 15px;
border-radius: 8px;
text-align: center;
z-index: 1000;
border: 1px solid #3b82f6;
box-shadow: 0 0 20px rgba(59, 130, 246, 0.4);
}
.no-location-content {
display: flex;
align-items: center;
gap: 10px;
}
.no-location-content i {
color: #3b82f6;
font-size: 18px;
}
/* Animation for the IP marker to make it more visible */
@keyframes pulse {
0% {
transform: scale(1);
box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.7);
}
70% {
transform: scale(1.05);
box-shadow: 0 0 0 10px rgba(59, 130, 246, 0);
}
100% {
transform: scale(1);
box-shadow: 0 0 0 0 rgba(59, 130, 246, 0);
}
}
.ip-marker-content {
animation: pulse 3s infinite;
}