
.pointer-events {
    pointer-events: none;
}

.div-icon-fox {
    color: #f7f7f7;
}

.div-icon-fox-active::before {
    content: '';
    position: relative;
    display: block;
    width: 300%;
    height: 300%;
    box-sizing: border-box;
    margin-left: -100%;
    margin-top: -100%;
    border-radius: 45px;
    border-top-right-radius: 0;
    background-color: rgb(0, 255, 64);
    animation: pulse-ring 1.2s infinite;
    pointer-events: none;
}
.div-icon-fox-active:has(.offline)::before {
    background-color: #ff0000;
}
.div-icon-fox-active:has(.icon-main.dead)::before {
    background-color: #1e7000;
    background-color: #144b00;
}
@keyframes pulse-ring {
  0% {
    transform: scale(.33);
  }
  80%, 100% {
    opacity: 0;
  }
}
.div-icon-fox > .icon-main {
    position: absolute;
    left: 0;
    bottom: 0;
    right: 0;
    top: 0;
    margin: 3px;
    background-color: rgba(0, 255, 64, 0.8);
    border-radius: 15px;
    border: 0.5px solid #000;
    border-color: rgb(0, 77, 19);
}
.div-icon-fox > .icon-main.offline {
    background-color: rgba(255, 0, 0, 1);
    border-color: rgb(82, 0, 0);
}
.div-icon-fox > .icon-main.dead {
    background-color: #1e7000;
    background-color: #144b00;
}
.div-icon-fox > .icon-azimut {
    position: absolute;
    left: 0;
    bottom: 0;
    right: 0;
    top: 0;
    
    background-color: rgba(255, 255, 255, 0.8);
    border: 1px solid #000;
    border-radius: 15px;
    border-top-right-radius: 0;
}

.div-icon-flight>.icon-azimut {
    width: 25px;
    height: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
}

.div-icon-pid {
    color: #f7f7f7;
}
.div-icon-pid > .icon-main {
    position: absolute;
    left: 0;
    bottom: 0;
    right: 0;
    top: 0;
    margin: 2px;
    background-color: rgba(119, 119, 119, 0.8);
    border-radius: 15px;
    font-size: 10px;
    text-align: center;
}
.div-icon-pid>.icon-azimut {
    position: absolute;
    left: 0;
    bottom: 0;
    right: 0;
    top: 0;
    
    background-color: rgba(255, 255, 255, 1);
    border: 1px solid #000;
    border-radius: 15px;
    border-top-right-radius: 0;
}


.div-icon-area {
    border: 1px solid black;
    box-shadow: white 0px 0px 4px;
    background: radial-gradient(circle, black 0px 1px, white 1px 2px, transparent 2px 8px, black 8px 9px, var(--qapp-color) 9px 100%);
    width: 100%;
    height: 100%;
    border-radius: 50%;
}
.div-icon-area:hover {
    box-shadow: black 0px 0px 4px;
    border-color: white;
}


.div-icon-arrow>.icon-azimut {
    color: var(--qapp-color);
    text-shadow: 0px 0px 2px black;
}

.div-icon-akvcakv > .icon-main {
    position: absolute;
    left: 0;
    bottom: 0;
    right: 0;
    top: 0;
    border-radius: 25%;
    color: black;
    border: 1px solid black;
    background-color: var(--qapp-color);
    font-size: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
}









.div-icon-user {
    background-color: #fff;
    border-radius: 50%;
    border: 1px solid #000;

}
.div-icon-user:not(:has(.d-none)) {
    position: absolute;
    left: 2px;
    top: 2px;
    width: 12px !important;
    height: 12px !important;
    border-width: 1px;
}
.div-icon-user-body {
    position: absolute;
    left: 0;
    bottom: 0;
    right: 0;
    top: 0;
    margin: 1px;
    border-radius: 50%;
    color: #fff;
    -webkit-text-stroke: 1px #000;

}
.div-icon-user > .div-icon-user-detail {
    position: absolute;
    top: -15px;
    transform: translate( calc( 6px + -50%) , -50%) !important;

    color: #ffffff;
    background-color: #000000;
    border-radius: 10px;
    text-align: center;
    box-shadow: #fff 0px 0px 4px;

    text-wrap: nowrap;
    padding-left: 7px;
    padding-right: 7px;

}




.div-icon-bts {
    width: 100%;
    height: 100%;
    background-color: rgba(125, 125, 125, 0.5);
    border-radius: 50%;
}
.div-icon-bts-indoor {
    border-radius: 0;
}
.bts-azimut {
    pointer-events: none;
    position: fixed;
    padding-bottom: 32px;
    top: 53px;
    text-shadow: -1px -1px 0 black, 1px -1px 0 black, -1px  1px 0 black, 1px  1px 0 black;
    opacity: 0.8;
}
.div-icon-bts-tmobile {
    background-color: rgba(226, 0, 122, 0.8);
}
.div-icon-bts-o2 {
    background-color: rgba(7, 25, 109, 0.8);
}
.div-icon-bts-vodafone {
    background-color: rgba(244, 0, 0, 0.8);
}
.div-icon-bts-nt {
    background-color: rgba(0, 0, 0, 0.8);
}
.div-icon-bts div {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #dadada;
    width: 100%;
    height: 100%;
    margin-top: -59px;
}  
.div-icon-bts::before {
    content: '';
    position: relative;
    display: block;
    width: 500%;
    height: 500%;
    margin-top: calc(-250% + 10px);
    margin-left: calc(-250% + 10px);
    pointer-events: none;
}

.div-icon-bts-active::before {
    box-sizing: border-box;
    border-radius: 50%;
    background: repeating-radial-gradient(
        circle,
        transparent 0%,
        transparent 25%,
        var(--qapp-color) 25%,
        var(--qapp-color) 30%,
        transparent 30%,
        transparent 50%,
        var(--qapp-color) 50%,
        var(--qapp-color) 53%,
        transparent 53%,
        transparent 70%,
        var(--qapp-color) 70%,
        var(--qapp-color) 71%,
        transparent 71%,
        transparent 100%
    );
    animation: pulse-ring 0.8s infinite;
}



.div-icon-point {
    color: #fff;
    border-radius: 50%;
    border: 1px solid #000;

}
.div-icon-point-body {
    position: absolute;
    left: 0;
    bottom: 0;
    right: 0;
    top: 0;
    border-radius: 50%;

}
.div-icon-point > .div-icon-point-detail {
    position: absolute;
    top: -15px;
    transform: translate( calc( 6px + -50%) , -50%) !important;

    color: #ffffff;
    background-color: #000000;
    border-radius: 10px;
    text-align: center;
    box-shadow: #fff 0px 0px 4px;

    text-wrap: nowrap;
    padding-left: 7px;
    padding-right: 7px;

}


.div-icon-point > .div-icon-point-body > i {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-shadow:-1px -1px 0 black,1px -1px 0 black,-1px  1px 0 black,1px  1px 0 black;
}



.div-icon-round {
    border-radius: 50%;
    border: 2px solid #000;
}
.div-icon-round .icon-main {
    height: 100%;
    width: 100%;
    border-radius: 50%;
    border: 2px solid #fff;
}


.div-icon-break {
    border-radius: 50%;
    border: 1px solid #000;
    background-color: rgba(var(--qapp-color-rgb), 0.5);
}
.div-icon-break .icon-main {
    height: 100%;
    width: 100%;
    border-radius: 50%;
    border: 1px solid #fff;
}


.div-icon-radar .icon-main {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 1px solid red;
    box-shadow: 0 0 10px red;

    animation: pulse-radar 0.2s infinite;
}
@keyframes pulse-radar {
  0% {
    transform: scale(.33);
  }
}



.div-icon-webcam {
    position: absolute;
    width: 0;
    height: 0;
    z-index: -1;
    border-style: solid;
    border-width: 0 10px 20px 10px;
    border-color: transparent transparent #000000 transparent;
}
.div-icon-webcam:after {
    content: '';
    position: absolute;
    left: -8px;
    top: 1px;
    width: 0;
    height: 0;
    z-index: -1;
    border-style: solid;
    border-width: 0 8px 18px 8px;
    border-color: transparent transparent #b67500 transparent;
}




.marker-cluster-small {
    background-color: rgba(67, 179, 166, .5) !important;
}
.marker-cluster-small div {
    background-color: rgba(67, 179, 166, .8) !important;
}

.area {
    stroke: #3CCFC050;
    fill: var(--qapp-color);
}

.area:hover {
    stroke: var(--qapp-color);
    fill: var(--qapp-color);
}


i.cam-sector {
    position: relative;
}
i.cam-sector::after {
    pointer-events: none;



}