@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; } }