* { box-sizing: border-box; } $duration: 20s; @-webkit-keyframes ticker { 0% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); visibility: visible; } 100% { -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); } } @keyframes infobanner { 0% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); visibility: visible; } 100% { -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); } } .infobanner-wrap { position: fixed; bottom: 0; width: 100%; overflow: hidden; height: 3rem; background-color: rgba(#000, 0.9); padding-left: 100%; box-sizing: content-box; .infobanner { display: inline-block; height: 3rem; line-height: 3rem; white-space: nowrap; padding-right: 100%; box-sizing: content-box; -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; -webkit-animation-timing-function: linear; animation-timing-function: linear; -webkit-animation-name: ticker; animation-name: ticker; -webkit-animation-duration: $duration; animation-duration: $duration; &__item { display: inline-block; padding: 0 2rem; font-size: 2rem; color: white; } } } :root{ --offset: 20vw; --move-initial: calc(-25% + var(--offset)); --move-final: calc(-50% + var(--offset)); } .marquee { background: black; color: white; transition: all 0.5s; font: { family: sans-serif; size: 5vw; line-height: 60%; weight: bold; } text-transform: uppercase; overflow: hidden; &.running .marquee-inner{ animation-play-state: running }