@charset "utf-8";

/* ========================================================================
   YOUR EXACT WORKING LEAFLET STYLE INJECTION FROM BEACH MAP
   ======================================================================== */
.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden;-ms-touch-action:none;touch-action:none;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-z-index:0;z-index:0;background:#ddd;font:12px/1.5 "Helvetica Neue",Arial,Helvetica,sans-serif}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:auto;float:left;clear:both}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{margin-left:10px;margin-top:10px}.leaflet-top .leaflet-control{margin-bottom:0}.leaflet-bottom .leaflet-control{margin-top:0}.leaflet-right .leaflet-control{float:right;margin-right:10px}.leaflet-left .leaflet-control{clear:none}.leaflet-control-zoom{border-radius:4px;background:#fff;border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-control-zoom a{width:26px;height:26px;line-height:26px;text-align:center;text-decoration:none;color:#000;display:block;background:#fff}.leaflet-popup{position:absolute;text-align:center;background:#fff;border-radius:12px;box-shadow:0 3px 14px rgba(0,0,0,0.4);z-index:1000}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px;background:#fff}.leaflet-popup-content{margin:13px 19px;line-height:1.4}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;transform:rotate(45deg);background:#fff}
.leaflet-overlay-pane, .leaflet-overlay-pane svg, .leaflet-overlay-pane path { z-index: 650 !important; pointer-events: auto !important; cursor: pointer !important; }
.leaflet-map-pane svg { z-index: 650 !important; }

/* ========================================================================
   MODAL WINDOW OVERLAY CUSTOM STYLES
   ======================================================================== */
.map-trigger-btn {
    background-color: #0056b3;
    color: #ffffff !important;
    border: none;
    padding: 10px 20px;
    font-size: 14px;
    font-weight: bold;
    border-radius: 4px;
    cursor: pointer;
    margin: 15px auto;
    display: block;
    text-align: center;
    text-decoration: none;
    box-shadow: 0 2px 4px rgba(0,0,0,0.15);
}
.map-trigger-btn:hover {
    background-color: #003d82;
}

.map-modal-overlay {
    display: none; 
    position: fixed;
    z-index: 999999 !important; 
    left: 0;
    top: 0;
    width: 100% !important;
    height: 100% !important;
    background-color: rgba(0, 0, 0, 0.75); 
}

.map-modal-content {
    background-color: #ffffff !important;
    margin: 6% auto !important;
    padding: 20px !important;
    border-radius: 8px !important;
    width: 800px !important;    
    max-width: 90% !important;
    height: 480px !important;   
    position: relative !important;
    box-shadow: 0 5px 30px rgba(0,0,0,0.5) !important;
    box-sizing: content-box !important;
}

.map-modal-close {
    position: absolute !important;
    right: 15px !important;
    top: 10px !important;
    font-size: 36px !important;
    font-weight: bold !important;
    color: #888 !important;
    cursor: pointer !important;
    line-height: 1 !important;
    z-index: 1000005 !important;
}
.map-modal-close:hover {
    color: #000 !important;
}

#map { 
    width: 100% !important; 
    height: 430px !important; 
    margin-top: 25px !important;
    background-color: #e5e3df !important;
    border: 1px solid #bbbbbb !important;
    border-radius: 4px !important;
}

/* Gives Leaflet's native toggle control elements a high-visibility white box */
.leaflet-control-layers {
    background-color: #ffffff !important;
    background: #ffffff !important;
    padding: 6px 10px !important;
    border: 2px solid rgba(0,0,0,.2) !important;
    border-radius: 4px !important;
}

/* Container box to float the action button to the right */
.button-align-wrapper {
    float: right !important;
    margin: -5px 30px 15px 15px !important; /* Pulls it up line-aligned with the text */
    display: inline-block !important;
}

/* Ensure the clearing block drops correctly below floated titles */
.clear-button-flow {
    clear: both !important;
    height: 0px !important;
    line-height: 0px !important;
    font-size: 0px !important;
}

/* ========================================================================
   CRITICAL VISUAL REPAIRS FOR REVISED PAGES
   ======================================================================== */
/* Overrides old fixed heights and shrinks the bubble around your short text lines */
.leaflet-popup-content-wrapper,
.leaflet-popup-content {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
}

/* Evicts internal XHTML trailing space layout bugs pushed out from master.css */
.leaflet-popup-content,
.leaflet-popup-content div,
.leaflet-popup-content p {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Centers all text rows cleanly down the middle inside the map pin popup bubble */
.leaflet-popup-content,
.leaflet-popup-content div {
    text-align: center !important;
    display: block !important;
    margin: 0 auto !important;
    line-height: 1.25 !important; /* Tightens the gap between stacked text rows */
    padding-top: 6px !important; 
}

/* Drops any residual paragraph margin pushes on bold header text tags */
.leaflet-popup-content strong {
    text-align: center !important;
    display: inline !important; /* Changes back to inline to stop paragraph spacing block breaks */
    margin: 0 !important;
    padding: 0 !important;
}

/* Stops vector icons inside the map viewport layer from matching image limits */
#map img.custom-vector-pin,
#map .custom-vector-pin svg {
    max-width: none !important;
    max-height: none !important;
    background: none !important;
}

/* Container Anchor: Ensures absolute elements map elements relative to this content box */
#subMainContent5 {
    position: relative !important;
}

/* Floating Circle Arrow Button - Locked to Content Box Right Edge */
button.circle-scroll-btn {
    width: 60px !important;
    height: 60px !important;
    line-height: 43px !important; 
    text-align: center !important;
    border-radius: 50% !important; 
    font-size: 18px !important;
    padding: 0 !important;
    cursor: pointer !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.3) !important;
    color: #ffffff !important;

    /* FIXES MOBILE MISALIGNMENT: Locks it directly to the bottom right of your text pane */
    position: absolute !important;
    bottom: 30px !important; /* Adjust this value up or down to change the height relative to your charts */
    right: 50px !important;   /* Adjust this value left or right to change the alignment relative to your charts */
    z-index: 99999 !important; 

    /* Resets standard native browser button styles */
    border: none !important;
    outline: none !important;
}


