The way the colours match the background is really good. The borders are a nice touch too. It's a good amount of simplicity without being plain, I like it.
img {
padding-left: 150px;
padding-right: 150px;
display: block;
margin: 5px auto 5px auto;
width: 100%;
}
You don't need to add padding or use width 100%, since the image will automatically centre and scale down. The way it's set here is that the padding will take up the same amount of space, while the header image gets smaller.
If don't want your header image to take up the space to the sides in a smaller window, you can leave the width unset, and set the padding to the side to percentages.
img {
padding-left: 10%;
padding-right: 10%;
display: block;
margin: 5px auto 5px auto;
}
Something like this.
Is there a reason why you went with h3 for the headers? Not that you need to change them. Just that it's the standard to use one h1 heading, then use h2 headings for sub headings for the h1 heading, and so on.