You won’t be able to simply add a top margin to the submenus. If there’s an actual gap (not just visual) between the top level menu line item and the submenu it contains, moving your cursor over that gap is dead space and the submenu no longer has a reason to display (because the top level menu line item is no longer being hovered).
What you’ll want to do is create a fake space between the elements by adjusting background properties of a few different items. I’ll go through them step by step.
First, remove the background color from the submenu altogether.
.menu ul {
background: none;
}
With that in place, we’ll take the background color you had on the entire submenu and apply it to the submenu list items instead.
.menu li {
background: #7297A8;
}
That results in the same look as before. However, you’re now free to add a top padding to the submenu itself (which now has no background) and that will create a visual gap while leaving the structure in place. [continued from the first chunk of CSS]
.menu ul {
background: none;
padding-top: 10px;
}