In terms of actual learning tools to use, I can recommend TeamTreehouse's Front-end web development track. It starts with the assumption that you're a complete novice on everything HTML, CSS, and JavaScript. So keep that in mind and maybe just do the individual modules you want if you have some prior knowledge in certain areas. My only real criticism of is that sometimes they hammer home the point a little too hard. Like, they make something obvious, and then explain it even more. But there's controls to speed the video up if it starts dragging a bit. Generally I've found the teaching to be of excellent quality and the live coding environment that you run along side the videos works great. You also get quizzes and code tests throughout and at the end of the modules. If it's any sort of metric to you, I built the website in my OP after only ~2-3 weeks of doing the track. And I had no prior knowledge.