This is amazing.
What program(s) did you use?
Do you make your own elements?