Each layer was animated independently in Premiere Pro using keyframes. Depending on the layer, I adjusted either size, position, or rotation. Beziers helped with the smooth movements on some.
To get a GIF files, I imported the .MOV file into Photoshop to create a sequence. I exported to WEB/GIF using a special config to keep the file size low.