Hey @PointC thanks for the reply,
I did try this, I guess somewhere my delay is causing the issue as yours seems to be seemless, I will give this another go adjusting the delay
var tl = new TimelineMax({ repeat: -1 })
tl.to(this.box, 0.5, { css: { backgroundColor:"#F19939" } }, )
.to(this.box2, 0.5, { css: { backgroundColor:"#F19939" } }, "-=0.5")
.to(this.box3, 0.5, { css: { backgroundColor: "#F19939" } }, "-=0.5")
.to(this.box, 1, { css: { backgroundColor: "#FF00ff" } })
.to(this.box2, 1, { css: { backgroundColor: "#FF00ff" } }, "-=1")
.to(this.box3, 1, { css: { backgroundColor:"#Ff00ff" } }, "-=1")
.to(this.box, 1, { css: { backgroundColor:"#Fff" } }, )
.to(this.box2, 1, { css: { backgroundColor:"#FFf" } }, "-=1")
.to(this.box3, 1, { css: { backgroundColor:"#Fff" } }, "-=1")
.to(this.box, 0.5, { css: { backgroundColor:"#F19939" } }, )
.to(this.box2, 0.5, { css: { backgroundColor:"#F19939" } }, "-=0.5")
.to(this.box3, 0.5, { css: { backgroundColor: "#F19939" } }, "-=0.5")