/* Tbilisi–Vladikavkaz: reference shuttle timing, three intermediate places.
   Isolated from the inherited route-motion-v8 overrides. No distances implied. */
.route-motion.route-animation-20260917{--vtt-duration:36s;--vtt-yellow:#ffcf70;display:block;min-width:0;min-height:320px;max-width:100%;margin:0;padding:24px 28px;overflow:visible;isolation:isolate}
.route-motion.route-animation-20260917::before{display:none}
.route-animation-20260917 .vtt-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:30px;color:var(--heading,#0f1729);font-size:.75rem;font-weight:750}
.route-animation-20260917 .vtt-toggle{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:0;width:auto;min-height:30px;margin:0;padding:4px 8px;border:1px solid #d5e2f2;border-radius:7px;background:#f5f9ff;color:#405775;font:inherit;font-size:.7rem;line-height:1.2;letter-spacing:normal;text-transform:none;box-shadow:none;cursor:pointer}
.route-animation-20260917 .vtt-toggle[hidden]{display:none}
.route-animation-20260917 .vtt-toggle:hover{background:#eaf3ff}
.route-animation-20260917 .vtt-toggle:focus-visible{outline:3px solid #1769e077;outline-offset:3px}
.route-animation-20260917 .vtt-track{position:relative;height:8px;margin:79px 0 105px;border-radius:999px;background:#c9d2df;box-shadow:inset 0 1px 2px #0b1f3a22}
.route-animation-20260917 .vtt-track::after{content:"";position:absolute;inset:3px 7px;height:2px;background:repeating-linear-gradient(90deg,#fff 0,#fff 12px,transparent 12px,transparent 22px)}
.route-animation-20260917 .vtt-stops{position:absolute;inset:0;margin:0;padding:0;list-style:none}
.route-animation-20260917 .vtt-stop{position:absolute;top:50%;left:var(--stop);z-index:2;margin:0;padding:0;transform:translate(-50%,-50%)}
.route-animation-20260917 .vtt-marker{display:block;box-sizing:border-box;width:14px;height:14px;border:3px solid #fff;border-radius:50%;background:#fff;box-shadow:0 0 0 3px #1769e055,0 5px 12px #0b1f3a26}
.route-animation-20260917 .vtt-stop--terminal .vtt-marker{display:grid;width:44px;height:44px;place-items:center;border:1px solid #d5e2f2;border-radius:13px;background:#fff;box-shadow:0 7px 18px #0b1f3a20}
.route-animation-20260917 .vtt-marker img{display:block;max-width:36px;max-height:36px;object-fit:contain}
.route-animation-20260917 .vtt-label{position:absolute;left:50%;width:max-content;max-width:128px;text-align:center;transform:translateX(-50%)}
.route-animation-20260917 .vtt-stop--above .vtt-label{bottom:28px}
.route-animation-20260917 .vtt-stop--below .vtt-label{top:29px}
.route-animation-20260917 .vtt-stop--terminal .vtt-label{top:51px}
.route-animation-20260917 .vtt-label strong,.route-animation-20260917 .vtt-label small{display:block}
.route-animation-20260917 .vtt-label strong{color:#687a92;font-size:.75rem;font-weight:600;line-height:1.35;white-space:nowrap}
.route-animation-20260917 .vtt-stop--terminal strong{color:var(--heading,#0f1729);font-size:.82rem;font-weight:750}
.route-animation-20260917 .vtt-label small{margin-top:3px;color:var(--muted,#607089);font-size:.66rem;line-height:1.3}
.route-animation-20260917 .vtt-stop:first-child .vtt-label{left:0;text-align:left;transform:none}
.route-animation-20260917 .vtt-stop:last-child .vtt-label{right:0;left:auto;text-align:right;transform:none}
.route-animation-20260917 .vtt-bus{position:absolute;top:50%;left:0;z-index:5;box-sizing:border-box;width:30px;height:21px;border:2px solid #fff;border-radius:6px 6px 4px 4px;background:linear-gradient(180deg,#1769e0 0 62%,#0d51b8 62% 100%);box-shadow:0 5px 10px #16345c33;transform:translate(-50%,-50%);animation:vtt-shuttle var(--vtt-duration) linear infinite;will-change:left,transform}
.route-animation-20260917 .vtt-bus::after{content:"";position:absolute;bottom:-5px;left:3px;width:5px;height:5px;border:2px solid #fff;border-radius:50%;background:#0b1f3a;box-shadow:15px 0 0 -2px #0b1f3a,15px 0 0 0 #fff}
.route-animation-20260917 .vtt-passengers{position:absolute;inset:4px 3px auto;display:flex;justify-content:space-around;gap:2px;height:7px}
.route-animation-20260917 .vtt-passengers i{display:block;flex:0 0 4px;height:4px;border-radius:50%;background:var(--vtt-yellow);box-shadow:0 3px 0 #fff}
.route-animation-20260917 .vtt-stop:nth-child(2) .vtt-marker{animation:vtt-stop-one var(--vtt-duration) linear infinite}
.route-animation-20260917 .vtt-stop:nth-child(3) .vtt-marker{animation:vtt-stop-two var(--vtt-duration) linear infinite}
.route-animation-20260917 .vtt-stop:nth-child(4) .vtt-marker{animation:vtt-stop-three var(--vtt-duration) linear infinite}
.route-animation-20260917 .vtt-passengers i:nth-child(1){animation:vtt-passenger-one var(--vtt-duration) linear infinite}
.route-animation-20260917 .vtt-passengers i:nth-child(2){animation:vtt-passenger-two var(--vtt-duration) linear infinite}
.route-animation-20260917 .vtt-passengers i:nth-child(3){animation:vtt-passenger-three var(--vtt-duration) linear infinite}
.route-motion.route-animation-20260917 figcaption{position:relative;margin:0;color:var(--muted,#607089);font-size:.72rem;line-height:1.5}
.route-animation-20260917[data-paused="true"] .vtt-bus,.route-animation-20260917[data-paused="true"] .vtt-marker,.route-animation-20260917[data-paused="true"] .vtt-passengers i{animation-play-state:paused}
@keyframes vtt-shuttle{0%,5%{left:0;transform:translate(-50%,-50%) scaleX(1)}18%,21%{left:25%;transform:translate(-50%,-50%) scaleX(1)}30%,33%{left:50%;transform:translate(-50%,-50%) scaleX(1)}43%,46%{left:75%;transform:translate(-50%,-50%) scaleX(1)}55%{left:100%;transform:translate(-50%,-50%) scaleX(1)}60%{left:100%;transform:translate(-50%,-50%) scaleX(-1)}69%,72%{left:75%;transform:translate(-50%,-50%) scaleX(-1)}80%,83%{left:50%;transform:translate(-50%,-50%) scaleX(-1)}91%,94%{left:25%;transform:translate(-50%,-50%) scaleX(-1)}100%{left:0;transform:translate(-50%,-50%) scaleX(-1)}}
@keyframes vtt-stop-one{0%,20.5%{background:#fff}20.51%,93.5%{background:var(--vtt-yellow)}93.51%,100%{background:#fff}}
@keyframes vtt-stop-two{0%,32.5%{background:#fff}32.51%,82.5%{background:var(--vtt-yellow)}82.51%,100%{background:#fff}}
@keyframes vtt-stop-three{0%,45.5%{background:#fff}45.51%,71.5%{background:var(--vtt-yellow)}71.51%,100%{background:#fff}}
@keyframes vtt-passenger-one{0%,20.5%{opacity:1}20.51%,93.5%{opacity:0}93.51%,100%{opacity:1}}
@keyframes vtt-passenger-two{0%,32.5%{opacity:1}32.51%,82.5%{opacity:0}82.51%,100%{opacity:1}}
@keyframes vtt-passenger-three{0%,45.5%{opacity:1}45.51%,71.5%{opacity:0}71.51%,100%{opacity:1}}
@media(max-width:560px){.route-motion.route-animation-20260917{padding:20px 24px;min-height:310px}.route-animation-20260917 .vtt-track{margin-top:69px;margin-bottom:98px}.route-animation-20260917 .vtt-label strong{font-size:.7rem}.route-animation-20260917 .vtt-stop--terminal strong{font-size:.77rem}}
@media(prefers-reduced-motion:reduce){.route-animation-20260917 .vtt-bus,.route-animation-20260917 .vtt-marker,.route-animation-20260917 .vtt-passengers i{animation:none!important}.route-animation-20260917 .vtt-bus{left:50%;transform:translate(-50%,-50%)}.route-animation-20260917 .vtt-toggle{display:none}}
