/* Decorative coverage routes; the native node controls and theme typography remain in charge. */
#global .bo-map-routes,
#global .bo-map-routes * {
  pointer-events: none;
}

#global .bo-map-route-line,
#global .bo-map-route-glint {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

#global .bo-map-route-line {
  stroke: #54a3ed;
  stroke-width: 1;
  opacity: .26;
}

#global .bo-map-route-glint {
  stroke: #3297f3;
  stroke-width: 2;
  stroke-dasharray: 2 98;
  stroke-dashoffset: 0;
  opacity: .78;
  animation: bo-map-route-flow 5s linear infinite;
}

#global.bo-map-motion-paused .bo-map-route-glint,
#global.bo-map-motion-paused .map-node .pulse,
#global.bo-map-motion-paused .map-node .pulse-2 {
  animation-play-state: paused !important;
}

#global.bo-map-motion-reduced .bo-map-route-glint {
  display: none;
}

#global.bo-map-motion-reduced .map-node .pulse,
#global.bo-map-motion-reduced .map-node .pulse-2 {
  animation: none !important;
}

@keyframes bo-map-route-flow {
  from { stroke-dashoffset: 0; }
  to { stroke-dashoffset: -100; }
}

@media (max-width: 767px) {
  #global .bo-map-route-line { opacity: .22; }
  #global .bo-map-route-glint { stroke-width: 1.7; opacity: .68; }
}

@media (prefers-reduced-motion: reduce) {
  #global .bo-map-route-glint { display: none; }
  #global.bo-map-motion .map-node .pulse,
  #global.bo-map-motion .map-node .pulse-2 { animation: none !important; }
}
