alt menuye absolute özelliği vermişsiniz.Üst menu ye relative vermeyince dolaylı olarak ekrana göre pozisyon oluşturur.Ekrana göre sola 0 yukarıya sıfır uzaklık gibi.Kodlarınız biraz karışık olduğundan bir iki yeri düzenledim bakabilirsiniz.








.menu {
margin-left: 160px;
}

.top-menu {
margin: 0;
padding: 0;
position: relative;
}
.top-menu:after {
content: "";
display: table;
clear: both;
}

.top-menu li {
float: left;
}



.menu ul li a {
margin-left: 10px;
font-family: 'Arimo', sans-serif;
font-size: 16px;
letter-spacing: 1px;
display: block;
height: 45px;
position: relative;
width: 120px;
list-style-type: none;
padding-top: 20px;
float: left;
background-color: #f7090e;
color: #FFF;
font-weight: bold;
text-decoration: none;
text-align: center;
line-height: 30px;
margin-right: 2px;
}

.menu ul li a:hover {
display: block;
height: 45px;
width: 120px;
padding-top: 20px;
float: left;
background-color: #900;
color: #FFF;
font-weight: bold;
text-decoration: none;
text-align: center;
line-height: 30px;
margin-right: 2px;
}

.top-menu ul {
display: none;
position: absolute;
top: 100%;
margin: 0;
padding: 0;
}
.top-menu ul li {
float: none;

}

.top-menu li:hover > ul {
display: block;
}