After messing around, I've finally solved it! I was trying to use calc() in the gsap because I wanted it to be added to -50%. Turms out I Just needed to add -50 to xPercent and yPercent and then use x, y, z as usual. That means I can finally set the spinning animation with gsap too, yay! Just one last issue, sometimes when I move my mouse over the screen the spinning animations flickers back and forth. I'm not really sure why this is happening, could someone maybe direct me as to why?
Here is the updated codepen https://codepen.io/honiism/pen/abQJLNL