.kjs-controls {
    position: absolute;
    top: 10px;
    right: 10px;
    pointer-events: auto;
    font-family : Courier New, monospace;
}

.kjs-controls .kjs-zoom-in {
    display: block;
    margin-bottom: 5px;
    padding: 5px 10px;
    cursor: grab;
}

.kjs-controls .kjs-zoom-out {
    display: block;
    padding: 5px 10px;
    cursor: grab;
}

.kjs-current-latlng {
    position: absolute;
    bottom: 0px;
    left: 10px;
    pointer-events: auto;
    display: block;
    background-color: rgba(255, 255, 255, 0.7);
    padding: 2px 5px;
    font-size: 10px;
    color: #333;
}

.kjs-copyrighths {
    position: absolute;
    bottom: 0px;
    right: 10px;
    pointer-events: auto;
    display: block;
    background-color: rgba(255, 255, 255, 0.7);
    padding: 2px 5px;
    font-size: 10px;
    color: #333;
}
.kjs-copyrighths a {
    text-decoration: none;
    color: #333;
}
.kjs-copyrighths a:visited {
    color: #333;
}
.kjs-copyrighths a:hover {
    text-decoration: underline;
}

/*  TILES   */
.kjs-tiles-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.kjs-tiles-container .tile {
    position: absolute;
    image-rendering: pixelated;
}
/*  //TILES   */

/*  MARKERS */
.kjs-markers-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.kjs-markers-container .marker {
    position: absolute;
    cursor: grab;
    pointer-events: auto;
}

.kjs-markers-container .marker.simple {
    width: 20px;
    height: 20px;
    border: 2px solid white;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

.kjs-markers-container .marker .popup{
    transform: translate(-30px, 8px);
    width: 400px;
    background-color: white;
    padding: 10px;
    border-top: solid 3px;
    overflow: auto;

    max-width: 90vw;
    max-height: 80vh;
}

/*  //MARKERS */

/* POPUP */
.kjs-popup-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(3,3,3, 0.5);
    display: none;
    place-items: center;
    pointer-events: auto;
}

.kjs-popup-container .popup{
    margin: auto;
    top: 0;
    left: 0;
    width: 450px;
    height: 300px;
    background-color: #fff;
    border: 2px solid #ddd;
    pointer-events: auto;
    overflow: auto;
    padding: 5px;
}
/* //POPUP */
.kjs-overlay-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.kjs-overlay-container .kjs-cluster {
    transform: translate(-50%, -50%);
    pointer-events: auto;
    position: absolute;
    width: 40px;
    height: 40px;
    background-color: #FFF;
    border-radius: 50%;
    display: grid;
    align-items: center;
    justify-content: center;
    color: #333;
    font-weight: bold;
    font-size: 14px;
    border: 3px solid #38F;
    box-shadow: 0 2px 6px rgba(0,0,0,0.3);
    text-align: center;
    vertical-align: middle;
    cursor: grab;
}

.kjs-cluster:hover {
    transform: translate(-50%, -50%) scale(1.05);
    transition: transform 0.2s;
}
