Took me a few times to get through, but managed it in the end :)
Very impressive that this was all done in CSS, good job!