I agree with Bens points. Just keep at it, find the right tools and resources, learn to use the browsers Inspector to analyze and debug the code (yours and others).
I was your age, or even younger when I got into web development. But it was way easier back then (late 90's).
Knowing what all the elements and parameters do and "being great at making use of them" are two different things. You can make something look correct in so many ways with CSS, but there is usually only one way that is the "correct one". It just takes time to learn all the different quirks of different browsers (luckily less of those problems lately), and to find the best ways of doing things.
Also, at least for me, it's a big difference between web programmer and web designer. Having a finished design in front of me, I can program almost anything. But trying to "design" by programming is just messy and slow, at least for me. Learning to keep those things separate was good for me.
Bootstrap is great!
Using templates (Bootstrap based!) is ok as long as you are comfortable getting into someone elses code.
Working with web development professionally I know some customers just don't care about a super unique design, if a "semi unique, template based" is a lot cheaper (which it is).
Also an other thing would be to keep your self super updated on new stuff happening in the web dev world, and just get to know a little bit of everything, and dive into the things you find most interesting.
http://www.echojs.com/