div o klasie header jest pusty i nie ma na sztywno ustawionych wymiarów, dlatego prawdopodobnie jego wielkość to 0x0 px. Background-image ustawia tło elementu nie zmieniając jego wielkości, jest tylko tłem. Dlatego musisz albo wpisać coś do tego diva, jakis tekst, albo nadac mu wymiary.
I nie jestem pewny co do tego :
background-image: url(img/header.jpg) bottom center;
Jakby po nadaniu rozmiarów dalej nie było zdjęcia spróbuj tego :
background-image: url(img/header.jpg);