Here, I assembled it for you:
1. You're using a bad reference. If you ran like that you'd look like a total lunatic. Also what you didn't catch is that the reference only shows half of the running cycle and you were supposed to figure out the rest of it yourself.
2. Your animation is unfinished (result of misinterpreting the reference), which results in the white leg not touching the ground.
3. Get a good program for animation where you can actually see it moving. (I'm assuming you didn't)
I think your character is way too small to apply such realistic movement. I mean it's ok, but it really consists of just a few pixels and your idle animation looks more like he was shrugging than "breathing" or whatever idle animations are trying to show. You should remember that animating a game character is not just trying to mimic sprinting athletes, but rather just making it look good. In this case making such tiny little shoulder move back and forth may result in kinda goofy animation. Another thing (which may not necessarily be of any use in this case) is that our entire bodies move slightly up and down when we run.
Let's start with this: work on this more, make his dark gray part of the body more white so it doesn't appear so detached (darker white should do, or even beige), and of course FINISH IT. Before applying any movement changes you could just copy all the frames you did already and change the colors so it seems like they're the other limbs.
And if you meant the colors of the environment I think they're actually cool.
Edit: also, what are these dark squares supposed to be?
They only appear on one frame, remember to keep frames consistent.