Hey @vinitrai don't worry - we are all learning here. Good on you for giving this one a go! I just finished it too and really struggled with those pesky background images too. I always save them until last to deal with, but I'm thinking that might be a mistake...
Once thing that has really helped me move towards DRYer code is the use of 'utility classes' in my CSS. This is not at all scary and is really just a class that you can then add to every element you want it to have the same effect on.
A really useful one for example is the container or wrapper. You just create a .container
declaration with padding-left and padding-right and then add it to every element you want a little padding around.
If you combine this with slightly more complex things like .flow > * + *
(maybe google that one) you'll find yourself writing much less code, being able to fiddle with spacing much easier and be able to enjoy seeing HTML and CSS play nicely together!
Keep up the good work.... Cheers!