170 lines
No EOL
3.7 KiB
CSS
170 lines
No EOL
3.7 KiB
CSS
@import "tailwindcss/base";
|
|
@import "tailwindcss/components";
|
|
@import "tailwindcss/utilities";
|
|
|
|
/* This file is for your main application CSS */
|
|
|
|
/* Ensure full height layout for map pages */
|
|
html,
|
|
body {
|
|
height: 100%;
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
/* Main content container for map pages */
|
|
main {
|
|
height: 100vh;
|
|
overflow: hidden;
|
|
}
|
|
|
|
#map {
|
|
height: calc(100vh - 60px);
|
|
/* Adjust based on header height */
|
|
width: 100%;
|
|
}
|
|
|
|
/* Full page map for APRS home page and callsign pages */
|
|
#aprs-map {
|
|
position: fixed !important;
|
|
top: 0 !important;
|
|
left: 0 !important;
|
|
right: 0 !important;
|
|
bottom: 0 !important;
|
|
height: 100vh !important;
|
|
width: 100vw !important;
|
|
z-index: 1 !important;
|
|
}
|
|
|
|
/* Ensure the map container div has proper dimensions */
|
|
.phx-main {
|
|
position: relative;
|
|
height: 100vh;
|
|
overflow: hidden;
|
|
}
|
|
|
|
/* Fix for LiveView containers */
|
|
div[data-phx-main="true"] {
|
|
height: 100vh;
|
|
overflow: hidden;
|
|
}
|
|
|
|
/* Hide header on home page */
|
|
body.home-page header {
|
|
display: none;
|
|
}
|
|
|
|
/* Adjust main content area for full page map */
|
|
body.home-page main {
|
|
padding: 0;
|
|
max-width: none;
|
|
height: 100vh;
|
|
}
|
|
|
|
body.home-page main>div {
|
|
max-width: none;
|
|
height: 100%;
|
|
}
|
|
|
|
/* Marker cluster styles */
|
|
.marker-cluster-small {
|
|
background-color: rgba(16, 185, 129, 0.8);
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
|
|
}
|
|
|
|
.marker-cluster-small div {
|
|
background-color: rgba(16, 185, 129, 0.9);
|
|
box-shadow: inset 0 1px 2px rgba(255, 255, 255, 0.3);
|
|
}
|
|
|
|
.marker-cluster-medium {
|
|
background-color: rgba(59, 130, 246, 0.8);
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
|
|
}
|
|
|
|
.marker-cluster-medium div {
|
|
background-color: rgba(59, 130, 246, 0.9);
|
|
box-shadow: inset 0 1px 2px rgba(255, 255, 255, 0.3);
|
|
}
|
|
|
|
.marker-cluster-large {
|
|
background-color: rgba(239, 68, 68, 0.8);
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
|
|
}
|
|
|
|
.marker-cluster-large div {
|
|
background-color: rgba(239, 68, 68, 0.9);
|
|
box-shadow: inset 0 1px 2px rgba(255, 255, 255, 0.3);
|
|
}
|
|
|
|
/* Custom cluster icon styles */
|
|
.marker-cluster {
|
|
background-clip: padding-box;
|
|
border-radius: 50%;
|
|
border: 2px solid rgba(255, 255, 255, 0.8);
|
|
}
|
|
|
|
.marker-cluster div {
|
|
width: 30px;
|
|
height: 30px;
|
|
margin-left: 5px;
|
|
margin-top: 5px;
|
|
text-align: center;
|
|
border-radius: 50%;
|
|
font:
|
|
13px "Helvetica Neue",
|
|
Arial,
|
|
Helvetica,
|
|
sans-serif;
|
|
color: white;
|
|
font-weight: bold;
|
|
line-height: 30px;
|
|
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
|
|
}
|
|
|
|
.marker-cluster span {
|
|
line-height: 30px;
|
|
}
|
|
|
|
/* Cluster animations */
|
|
.leaflet-cluster-anim .leaflet-marker-icon,
|
|
.leaflet-cluster-anim .leaflet-marker-shadow {
|
|
transition:
|
|
transform 0.3s ease-out,
|
|
opacity 0.3s ease-out;
|
|
}
|
|
|
|
/* Hover effect for clusters */
|
|
.marker-cluster:hover {
|
|
transform: scale(1.1);
|
|
z-index: 1000 !important;
|
|
}
|
|
|
|
/* APRS marker styles */
|
|
.aprs-marker {
|
|
transition: transform 0.2s ease-out;
|
|
}
|
|
|
|
.aprs-marker:hover {
|
|
transform: scale(1.2);
|
|
z-index: 1000 !important;
|
|
}
|
|
|
|
/* High-DPI support for APRS symbols */
|
|
@media (-webkit-min-device-pixel-ratio: 2),
|
|
(min-resolution: 192dpi) {
|
|
.aprs-marker div[style*="aprs-symbols-24-0.png"] {
|
|
background-image: url('/aprs-symbols/aprs-symbols-24-0@2x.png') !important;
|
|
background-size: 384px 144px !important;
|
|
}
|
|
|
|
.aprs-marker div[style*="aprs-symbols-24-1.png"] {
|
|
background-image: url('/aprs-symbols/aprs-symbols-24-1@2x.png') !important;
|
|
background-size: 384px 144px !important;
|
|
}
|
|
|
|
.aprs-marker div[style*="aprs-symbols-24-2.png"] {
|
|
background-image: url('/aprs-symbols/aprs-symbols-24-2@2x.png') !important;
|
|
background-size: 384px 144px !important;
|
|
}
|
|
} |