https://gyazo.com/566f54f171cc026a674c98fec87deeaa I'm talking about the smoke effect. The problem is that I created a repeater and it doesn't want to do everything smoothly. function repeatSmoke() { const smoke = gsap.timeline({ repeat: - 1 }) smoke.to('.js-smoke', { xPercent: -25, duration: 4 }, '-=25%' ) smoke.to('.js-smoke', { opacity: 0, duration: 4, }, '-=25%') smoke.to('.js-smoke', { x: 0 }) smoke.to('.js-smoke', { opacity: .3