I am also going to say CSS first. Doesn't even matter what you're learning, you need to understand the fundamentals.
I get really frustrated when so many tutorials for complete beginners throw a framework behemoth like bootstrap into the mix. I understand why they do it, but i would suggest that you actually stay away from frameworks untill you can basically achieve what you want with just pure css. This doesn't only apply to CSS, nor even just programming/design.
Then if you feel you need to speed things up you can either reach for a framework, or better yet, while getting a firm grasp on the fundamentals, you end up with kind of a 'framework' of your own.
Mev-Rael
Executive Product Leader & Mentor for High-End Influencers and Brands @ mevrael.com
There is a single answer to all similar questions, you didn't started math at school from graph theory, isn't it?
Fundament first, rest second.
You can't be a Web developer without the knowledge of such core technology of the Web as CSS (Others are HTML and JS). And today I will tell you more, not just CSS3, but CSS4 (Future CSS, CSS Next, CSS Modules Level 4). Moreover without CSS, grid layout and CSS architecture you won't be able to understand and to use Bootstrap.
Bootstrap is a framework and you have to "deep learn" first:
To keep in touch with the latest CSS features I recommend http://cssnext.io/ which is a Post-CSS all-in-one plugin covering all the newest features and upcoming ones.