
#gim-map{
    width:100%;
    height:820px;
    border-radius:14px;
    overflow:hidden;
}

.pulse-red{
    width:18px;
    height:18px;
    border-radius:50%;
    background:#ff0000;
    animation:pulse 1s infinite;
    box-shadow:0 0 25px rgba(255,0,0,0.9);
}

.pulse-purple{
    width:12px;
    height:12px;
    border-radius:50%;
    background:#7a00ff;
    animation:purplepulse 1.6s infinite;
    box-shadow:0 0 18px rgba(122,0,255,0.9);
}

.event-alert{
    width:18px;
    height:18px;
    border-radius:50%;
    background:#ffae00;
    animation:eventpulse 1s infinite;
}

.flash-local{
    color:#ff2d2d;
    font-weight:bold;
    animation:flashtext 1s infinite;
}

@keyframes pulse{
    0%{transform:scale(0.8);}
    50%{transform:scale(2);}
    100%{transform:scale(0.8);}
}

@keyframes purplepulse{
    0%{opacity:1;}
    50%{opacity:0.3;}
    100%{opacity:1;}
}

@keyframes eventpulse{
    0%{transform:scale(0.8);}
    50%{transform:scale(1.8);}
    100%{transform:scale(0.8);}
}

@keyframes flashtext{
    0%{opacity:1;}
    50%{opacity:0.5;}
    100%{opacity:1;}
}

@media(max-width:768px){
    #gim-map{
        height:420px;
    }
}
