html,
body {
    height: 100vh;
    width: 100vw;
    margin: 0;
    padding: 0;
    overflow: hidden;
    font-family: Calibri, Futura, 'Helvetica Neue', Arial;
}

/* Watermark logo styling */
.logo-watermark {
    position: fixed;
    top: 10px;
    left: 50%;
    margin-left: -66px;
    z-index: 2;
    pointer-events: none;
}

/* Hide tooltips on touch devices */
@media (hover: none) {
    .leaflet-tooltip-pane {
        display: none;
    }
}

/* Flex container for layout */
.flex-container {
    display: flex;
    height: 100vh;
    width: 100vw;
    margin: 0;
    padding: 0;
}

.flex-box,
#mapid {
    flex: 1 1 0;
    height: 100vh;
    width: 100vw;
    min-height: 0;
    min-width: 0;
    background-color: #006699;
    text-align: left;
    margin: 0;
    padding: 0;
}

/* Modal close button */
.closeX {
    float: right;
    margin: -26px -18px;
    color: #f00;
    font-weight: bold;
    font-size: 26px;
    cursor: pointer;
}

/* Modal overlay */
.modal {
    display: none;
    position: fixed;
    z-index: 3;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    margin: 0;
}

/* Modal content box */
.modal-box {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #fefefe;
    margin: auto;
    overflow: auto;
    padding: 20px;
    width: 80%;
    height: 80%;
}

/* Custom marker pin for Leaflet */
.marker-pin {
    width: 30px;
    height: 30px;
    border-radius: 50% 50% 50% 0;
    background: #c30b82;
    position: absolute;
    transform: rotate(-45deg);
    left: 50%;
    top: 50%;
    margin: -15px 0 0 -15px;
}

.marker-pin::after {
    content: '';
    width: 24px;
    height: 24px;
    margin: 3px 0 0 3px;
    background: #fff;
    position: absolute;
    border-radius: 50%;
}

.custom-div-icon i {
    position: absolute;
    width: 22px;
    font-size: 22px;
    left: 0;
    right: 0;
    margin: 10px auto;
    text-align: center;
}