Ciekawostka dla początkujących frontendowców - propozycje customowych checkboxów stworzonych tylko przy pomocy CSS:
https://jsfiddle.net/y7os7b8r/
Jeśli kogoś dotychczas nie zadowalały checkboxy, to wykorzystując zjawisko, że kliknięcie label zaznacza checkboxa, do którego jest przypisany, może napisać udawanego checkboxa.
Więc checkboxa można ukryć, podpiąć pod niego label, a następnie operować na :before/:after dla label, bo kliknięcie na pseudoelement label też zaznacza checkbox.