I have a horizontal nav menu I've created using <ul> and <li> inside a <div>

The problem is I can't get it to vertically center. I tried using padding and/or margin and it didn't work for all browsers.

Here is the html:
Code:
<div class="top_nav">
<ul>
<li><a href='/'>HOME</a></li>
<li><a href='menu'>MENU</a></li>
<li><a href='catering'>CATERING</a></li><li>DETAILS</li>
<li><a href='photos'>PHOTOS</a></li>
</ul>
</div>
and the CSS:
Code:
.top_nav {
	margin: 0 auto 15px auto;
    height: 25px;
    padding: 10px;
	clear: both;
}

.top_nav ul {
	list-style: none;
    text-align: center;
}

.top_nav li {
    padding: 0 25px;
    font-family: "Palatino Linotype", "Times New Roman", Times, serif;
    font-size: 16px;
    font-weight: bold;
    display: inline;
    letter-spacing: 2px;
}

.top_nav li a {
    color: #FFF;
    text-decoration: none;
}
.top_nav li a:hover {
 	text-decoration: underline;
    border-bottom: 3px solid #660000;
}
It stays vertically positioned at the top