/* Transport P29: ONE marquee look and clipping boundary across Home / detail / legacy.
   Load after site-level CSS so older ticker rules cannot create a scroll area.
   The single P29 driver sets animation/play-state inline with !important, including on
   machines where prefers-reduced-motion CSS from earlier patches disabled movement.
   Only touch elements with the explicit shared data attribute. */

html body nav.xg-p06-route-marquee[data-xg-p06-marquee] {
  position:relative!important;
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  height:43px!important;
  min-height:43px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:#347fbd!important;
  color:#fff!important;
  overflow:clip!important;
  overflow-x:clip!important;
  overflow-y:clip!important;
  scrollbar-width:none!important;
  isolation:isolate;
}
html body nav.xg-p06-route-marquee[data-xg-p06-marquee] .xg-p06-marquee-window {
  display:block!important;
  position:relative!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  height:100%!important;
  min-height:0!important;
  overflow:clip!important;
  overflow-x:clip!important;
  overflow-y:clip!important;
  overscroll-behavior:none;
  scrollbar-width:none!important;
}
html body nav.xg-p06-route-marquee[data-xg-p06-marquee]::-webkit-scrollbar,
html body nav.xg-p06-route-marquee[data-xg-p06-marquee] .xg-p06-marquee-window::-webkit-scrollbar {
  display:none!important;
  width:0!important;
  height:0!important;
}
html body nav.xg-p06-route-marquee[data-xg-p06-marquee] .xg-p07-marquee-belt {
  position:absolute!important;
  top:0!important;
  left:0!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:0!important;
  width:max-content!important;
  min-width:max-content!important;
  max-width:none!important;
  height:100%!important;
  white-space:nowrap!important;
  overflow:visible!important;
  will-change:transform;
  animation:tm29Marquee 55s linear infinite!important;
  animation-play-state:running!important;
}
html body nav.xg-p06-route-marquee[data-xg-p06-marquee] .xg-p06-marquee-unit {
  display:flex!important;
  flex:0 0 auto!important;
  width:max-content!important;
  align-items:center!important;
  gap:0!important;
  height:100%!important;
  white-space:nowrap!important;
}
html body nav.xg-p06-route-marquee[data-xg-p06-marquee] .xg-p06-marquee-unit a {
  display:inline-flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  justify-content:center;
  box-sizing:border-box!important;
  height:100%!important;
  padding:0 24px!important;
  font-size:15px!important;
  font-weight:700!important;
  line-height:1.3!important;
  color:#fff!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
html body nav.xg-p06-route-marquee[data-xg-p06-marquee] .xg-p06-marquee-unit a:is(:hover,:focus-visible) {
  text-decoration:underline!important;
  text-underline-offset:3px;
}
/* Works without JavaScript too. With JavaScript, the inline pause state wins. */
html body nav.xg-p06-route-marquee[data-xg-p06-marquee]:is(:hover,:focus-within) .xg-p07-marquee-belt {
  animation-play-state:paused!important;
}
@keyframes tm29Marquee {
  from {transform:translate3d(0,0,0)}
  to {transform:translate3d(-50%,0,0)}
}
@media(max-width:767px){
  html body nav.xg-p06-route-marquee[data-xg-p06-marquee]{height:38px!important;min-height:38px!important}
  html body nav.xg-p06-route-marquee[data-xg-p06-marquee] .xg-p06-marquee-unit a{padding:0 16px!important;font-size:13px!important}
}
