/* Aligned to physical lenses, clipped to the actual rendered photograph. */
.network-indicator-layer{position:absolute;pointer-events:none;overflow:hidden;z-index:4}
.voip-photo-stage .voip-signal-overlay .voip-port{display:none!important}
.network-indicator{position:absolute;display:block;transform:translate(-50%,-50%);border-radius:50%;opacity:.94}
.network-indicator--link{background:#62f39b;box-shadow:0 0 2px #72f5a8;animation:network-link-idle var(--led-duration,2.8s) ease-in-out var(--led-delay,0s) infinite}
.network-indicator--activity{background:#ffc85a;box-shadow:0 0 2px #ffc85a;animation:network-port-activity var(--led-duration,2.8s) steps(1,end) var(--led-delay,0s) infinite}
.network-indicator--status{background:#8bea9d;box-shadow:0 0 2px #84ec99;animation:network-status-activity var(--led-duration,2.8s) steps(1,end) var(--led-delay,0s) infinite}
@keyframes network-link-idle{0%,100%{opacity:.98}50%{opacity:.72}}
@keyframes network-port-activity{0%,19%,37%,68%,100%{opacity:.92}10%,29%,53%,84%{opacity:.14}}
@keyframes network-status-activity{0%,24%,42%,71%,100%{opacity:.9}12%,33%,56%,86%{opacity:.2}}
.motion-paused .network-indicator{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.network-indicator{animation:none;box-shadow:none}.network-indicator--link{opacity:.9}.network-indicator--activity{opacity:.68}.network-indicator--status{opacity:.72}}
/* Six devices, not the old five-label spacing. Width follows the photograph,
 * avoiding a viewport-sized label over the neighbouring device label. */
@media(min-width:651px){
 .integration-voip-route .voip-photo-labels span{box-sizing:border-box;width:12%;max-width:140px;padding:7px 3px;overflow-wrap:anywhere}
 .integration-voip-route .voip-photo-labels [data-device="ont"]{left:8%}
 .integration-voip-route .voip-photo-labels [data-device="router"]{left:23%}
 .integration-voip-route .voip-photo-labels [data-device="switch"]{left:43%}
 .integration-voip-route .voip-photo-labels [data-device="phone"]{left:64%}
 .integration-voip-route .voip-photo-labels [data-device="computer"]{left:79%}
 .integration-voip-route .voip-photo-labels [data-device="monitor"]{left:93%}
}
@media(max-width:650px){
 /* Keep the monitor's call demonstration clear; this label previously covered it. */
 .integration-voip-route .voip-photo-labels [data-device="computer"]{top:43%;right:4%;left:auto}
}
