You have to minor layout problems.
Here is how to fix the first one.
<div id="logo"> <img class="logo_img" src="../../images/logo.png"></img> <div class="logo_text"> … </div> </div> .logo_img { height: 100px; margin: 10px 20px 10px 0px; vertical-align: middle; } .logo_text { font-family: Arial,Helvetica,sans-serif; font-weight: 600; font-size: 133.33%; display: inline-block; line-height: 1.5em; vertical-align: middle; }
In the part related to #logo, do not float the img, keep it as an inline or inline-block element and set vertical-align: middle.
For .logo-text, add display: inline-block and vertical-align: middle.
This will position the image and text block in the vertical middle of the header block.
For problem two related to .quote,
<div id="banner"> <div class="quote"> … </div> </div> .quote { font-family: "Times New Roman",Times,serif; color: white; text-align: center; font-weight: bold; font-style: italic; font-size: 200%; line-height: 120px; vertical-align: middle; }
In this case set the line-height: 120px to match the height of the image which controls the height of the header block.
However, if the quote were to wrap onto a second line, this would not work well and a table-cell approach be better.
Here is the result using Firefox's code inspector:

line-height:120pxas this is the height of your banner div.line-heightor negativemarginapproach.. it's too specific. there is a better way to vertically center elements.. I'll post it shortly in the answers.vertical-align:middle;work properly is to use it withdisplay:table-cell