.hnm-osm-map {
    background: #efefef;
    min-height: 280px;
    position: relative;
    width: 100%;
    z-index: 1;
}

.hnm-osm-map .leaflet-tile,
.hnm-osm-map .leaflet-layer,
.hnm-osm-map .leaflet-map-pane {
    filter: none !important;
    opacity: 1 !important;
}

.hnm-osm-map .leaflet-popup-content-wrapper,
.hnm-osm-map .leaflet-popup-tip {
    background: #fff !important;
    color: #111 !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.35) !important;
}

.hnm-osm-map .leaflet-popup-content-wrapper {
    border-radius: 8px !important;
    overflow: hidden !important;
}

.hnm-osm-map .leaflet-popup-content {
    background: #fff !important;
    color: #111 !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    margin: 16px 18px !important;
    max-width: calc(100vw - 80px) !important;
    text-align: left !important;
    width: 260px !important;
}

.hnm-osm-map .leaflet-popup-close-button {
    background: transparent !important;
    color: #555 !important;
}

.hnm-osm-popup,
.hnm-osm-popup h3,
.hnm-osm-popup p {
    background: #fff !important;
    color: #111 !important;
}

.hnm-osm-popup h3 {
    font-size: 17px;
    line-height: 1.25;
    margin: 0 0 8px;
}

.hnm-osm-popup p {
    font-size: 14px;
    line-height: 1.45;
    margin: 0 0 12px;
}

.hnm-osm-popup-button {
    background: #f3f5f7;
    border-radius: 6px;
    color: #0066cc !important;
    display: block;
    font-weight: 700;
    padding: 9px 10px;
    text-align: center;
    text-decoration: underline;
}

.hnm-osm-popup-button:hover,
.hnm-osm-popup-button:focus {
    background: #e9edf2;
    color: #004f9e !important;
}

.hnm-osm-map .hnm-osm-popup-closing {
    animation: hnm-osm-popup-squeeze 0.3s ease-in forwards;
    margin: 0 !important;
    pointer-events: none;
    position: absolute !important;
    transform-origin: center bottom;
    z-index: 1000;
}

.leaflet-marker-icon.hnm-marker-bounce {
    animation: hnmMarkerBounce 0.9s ease-in-out 2;
    transform-origin: center bottom;
}

@keyframes hnmMarkerBounce {

    0% {
        width: 60px;
        height: 60px;
        margin-left: -30px;
        margin-top: -60px;
    }

    20% {
        width: 66px;
        height: 66px;
        margin-left: -33px;
        margin-top: -98px;
    }

    40% {
        width: 60px;
        height: 60px;
        margin-left: -30px;
        margin-top: -60px;
    }

    60% {
        width: 64px;
        height: 64px;
        margin-left: -32px;
        margin-top: -84px;
    }

    80% {
        width: 60px;
        height: 60px;
        margin-left: -30px;
        margin-top: -60px;
    }

    100% {
        width: 60px;
        height: 60px;
        margin-left: -30px;
        margin-top: -60px;
    }

}