Déjà, pourquoi rajouter un id à ton header ? Tu peux mettre les propriétés liées au bg dans .header.
Secondo, pourquoi ton header est en position absolute ? Et tu lui définis une hauteur de 50%, mais cette valeur est relative à son parents. Donc sois tu attribus une taille de 100% à ton document comme ceci :
Au quel cas ton header prendra bien la moitier de la hauteur de la page.
Sois, solution plus logique, tu le positionne en relatif (valeur initiale) et tu lui définis une valeur en pixel .
voilà le code final :