.focal-point-indicator {
    position: relative;
    background: rgba(0, 0, 0, .15);
    cursor: move;

    width: 20px;
    height: 20px;

    border: solid 2px white;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    animation: pulse 1s ease-out infinite;
    pointer-events: none;
}

.focal-point-indicator:before {
    content: "";
    position: absolute;
    background: white;
    top: 50%;
    left: 50%;
    width: 2px;
    height: 10px;
    transform: translate(-50%, -50%);
}

.focal-point-indicator:after {
    content: "";
    position: absolute;
    background: white;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 2px;
    transform: translate(-50%, -50%);
}

.panzoom {
    position: relative;
    background: rgba(0, 0, 0, .2);
    overflow: hidden;
    margin-bottom: 20px;
    font-size: 0;
}

@keyframes pulse {
    0% {
        -webkit-box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.8);
    }

    70% {
        -webkit-box-shadow: 0 0 0 10px rgba(255, 255, 255, 0);
    }

    100% {
        -webkit-box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
    }
}