Just an observation: The way you wrote your selectors rule is incorrect. In other words, if you want to change the background color of an element, this will suffice:
background: COLOR;
Writing extra values to the property like you did is just overkill, and they contradict themselves. Don't get me wrong, I'm not bashing you, I'm just giving you some input so that you code your rules in a more appropriate manner.
Now, regarding your issue:
Take all these selectors:
#nav {
background:none repeat-x scroll 0 0 #153E7E;
}
#subnav {
background:none repeat-x scroll 0 0 #810541;
}
#nav ul li ul li a {
background:none repeat-x scroll 0 0 #153E7E;
}
#subnav ul li ul li a {
background:none repeat-x scroll 0 0 #810541;
}
#nav ul li ul li a:hover {
background:none repeat-x scroll 0 0 #808080;
}
#subnav ul li ul li a:hover {
background:none repeat-x scroll 0 0 #808080;
}
.nav li:hover > a {
background:none repeat-x scroll 0 0 #808080;
}
.nav ul li a:hover {
background:none rep eat-x scroll 0 0 #808080;
}
and replace them with these:
#nav {
background:#153E7E;
}
#subnav {
background: #810541;
}
#nav ul li ul li a {
background: #153E7E;
}
#subnav ul li ul li a {
background: #810541;
}
#subnav ul li ul li a:hover {
background: #810541;
}
.nav ul li a:hover {
background: none;
}
If I understood you well, the code above should do what you want.