Сложности вызвали отступы подменю. Пришлось использовать псевдоклассы для первого и последнего элементов списка, чтобы сделать отступ сверху и снизу. Без этого можно было бы обойтись или это нормальное решение?
.main-menu {
margin: 0;
padding: 0;
width: 200px;
list-style: none;
}
.main-menu > li { border-bottom: 2px solid #2c3e50; }
.main-menu a {
display: block;
background: #2980b9;
color: #ffffff;
text-decoration: none;
padding: 10px 15px;
}
.main-menu > .active > a {
background: #1abc9c;
border-bottom: 2px solid #2c3e50;
}
.main-menu ul {
list-style: none;
padding: 0;
}
.main-menu li li a {
background: #ffffff;
color: #2980b9;
text-decoration: underline;
padding: 5px 15px;
}
.main-menu li li:first-child a { padding-top: 15px; }
.main-menu li li:last-child a { padding-bottom: 15px; }