/* Rostov–Moscow: Melitopol–Rostov motion reference, 2026-09-18. */
.route-motion.route-motion-20260918{--rmm-duration:36s;--rmm-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-motion-20260918::before{display:none}
.route-motion-20260918 .rmm-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-motion-20260918 .rmm-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-motion-20260918 .rmm-toggle[hidden]{display:none}
.route-motion-20260918 .rmm-toggle:hover{background:#eaf3ff}
.route-motion-20260918 .rmm-toggle:focus-visible{outline:3px solid #1769e077;outline-offset:3px}
.route-motion-20260918 .rmm-track{position:relative;height:8px;margin:79px 0 105px;border-radius:999px;background:#c9d2df;box-shadow:inset 0 1px 2px #0b1f3a22}
.route-motion-20260918 .rmm-track::after{content:"";position:absolute;inset:3px 7px;height:2px;background:repeating-linear-gradient(90deg,#fff 0,#fff 12px,transparent 12px,transparent 22px)}
.route-motion-20260918 .rmm-stops{position:absolute;inset:0;margin:0;padding:0;list-style:none}
.route-motion-20260918 .rmm-stop{position:absolute;top:50%;left:var(--stop);z-index:2;margin:0;padding:0;transform:translate(-50%,-50%)}
.route-motion-20260918 .rmm-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-motion-20260918 .rmm-stop--terminal .rmm-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-motion-20260918 .rmm-marker img{display:block;max-width:36px;max-height:36px;object-fit:contain}
.route-motion-20260918 .rmm-label{position:absolute;left:50%;width:max-content;max-width:128px;text-align:center;transform:translateX(-50%)}
.route-motion-20260918 .rmm-stop--above .rmm-label{bottom:28px}
.route-motion-20260918 .rmm-stop--below .rmm-label{top:29px}
.route-motion-20260918 .rmm-stop--terminal .rmm-label{top:51px}
.route-motion-20260918 .rmm-label strong,.route-motion-20260918 .rmm-label small{display:block}
.route-motion-20260918 .rmm-label strong{color:#687a92;font-size:.75rem;font-weight:600;line-height:1.35;white-space:nowrap}
.route-motion-20260918 .rmm-stop--terminal strong{color:var(--heading,#0f1729);font-size:.82rem;font-weight:750}
.route-motion-20260918 .rmm-label small{margin-top:3px;color:var(--muted,#607089);font-size:.66rem;line-height:1.3}
.route-motion-20260918 .rmm-stop:first-child .rmm-label{left:0;text-align:left;transform:none}
.route-motion-20260918 .rmm-stop:last-child .rmm-label{right:0;left:auto;text-align:right;transform:none}
.route-motion-20260918 .rmm-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:rmm-shuttle var(--rmm-duration) linear infinite;will-change:left,transform}
.route-motion-20260918 .rmm-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-motion-20260918 .rmm-passengers{position:absolute;inset:4px 3px auto;display:flex;justify-content:space-around;gap:2px;height:7px}
.route-motion-20260918 .rmm-passengers i{display:block;flex:0 0 4px;height:4px;border-radius:50%;background:var(--rmm-yellow);box-shadow:0 3px 0 #fff}
.route-motion-20260918 .rmm-stop:nth-child(2) .rmm-marker{animation:rmm-stop-one var(--rmm-duration) linear infinite}
.route-motion-20260918 .rmm-stop:nth-child(3) .rmm-marker{animation:rmm-stop-two var(--rmm-duration) linear infinite}

.route-motion-20260918 .rmm-passengers i:nth-child(1){animation:rmm-passenger-one var(--rmm-duration) linear infinite}
.route-motion-20260918 .rmm-passengers i:nth-child(2){animation:rmm-passenger-two var(--rmm-duration) linear infinite}
.route-motion-20260918 .rmm-passengers i:nth-child(3){animation:rmm-passenger-three var(--rmm-duration) linear infinite}
.route-motion.route-motion-20260918 figcaption{position:relative;margin:0;color:var(--muted,#607089);font-size:.72rem;line-height:1.5}
.route-motion-20260918[data-paused="true"] .rmm-bus,.route-motion-20260918[data-paused="true"] .rmm-marker,.route-motion-20260918[data-paused="true"] .rmm-passengers i{animation-play-state:paused!important}







@media(max-width:560px){.route-motion.route-motion-20260918{padding:20px 24px;min-height:310px}.route-motion-20260918 .rmm-track{margin-top:69px;margin-bottom:98px}.route-motion-20260918 .rmm-label strong{font-size:.7rem}.route-motion-20260918 .rmm-stop--terminal strong{font-size:.77rem}}
@media(prefers-reduced-motion:reduce){.route-motion-20260918 .rmm-bus,.route-motion-20260918 .rmm-marker,.route-motion-20260918 .rmm-passengers i{animation:none!important}.route-motion-20260918 .rmm-bus{left:50%;transform:translate(-50%,-50%)}.route-motion-20260918 .rmm-toggle{display:none}}

@keyframes rmm-shuttle{0%,5%{left:0;transform:translate(-50%,-50%) scaleX(1)}30%,33%{left:53%;transform:translate(-50%,-50%) scaleX(1)}43%,46%{left:80.2%;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:80.2%;transform:translate(-50%,-50%) scaleX(-1)}80%,83%{left:53%;transform:translate(-50%,-50%) scaleX(-1)}100%{left:0;transform:translate(-50%,-50%) scaleX(-1)}}
@keyframes rmm-stop-one{0%,32.5%{background:#fff;box-shadow:0 0 0 3px #1769e055,0 5px 12px #0b1f3a26}32.51%,82.5%{background:var(--rmm-yellow);box-shadow:0 0 0 3px #1769e033,0 5px 12px #0b1f3a26}82.51%,100%{background:#fff;box-shadow:0 0 0 3px #1769e055,0 5px 12px #0b1f3a26}}
@keyframes rmm-stop-two{0%,45.5%{background:#fff;box-shadow:0 0 0 3px #1769e055,0 5px 12px #0b1f3a26}45.51%,71.5%{background:var(--rmm-yellow);box-shadow:0 0 0 3px #1769e033,0 5px 12px #0b1f3a26}71.51%,100%{background:#fff;box-shadow:0 0 0 3px #1769e055,0 5px 12px #0b1f3a26}}
@keyframes rmm-passenger-one{0%,31.5%{opacity:1}31.51%,82.5%{opacity:0}82.51%,100%{opacity:1}}
@keyframes rmm-passenger-two{0%,44.5%{opacity:1}44.51%,71.5%{opacity:0}71.51%,100%{opacity:1}}
@keyframes rmm-passenger-three{0%,55%{opacity:1}55.01%,100%{opacity:0}}
.route-motion-20260918 .rmm-stop:first-child .rmm-label strong{max-width:128px;white-space:normal}
