[28/28] почему border вылезает?

html,
body {
margin: 0;
padding: 0;
}

body {
width: 380px;
min-height: 280px;
padding: 10px;
font-family: “Arial”, sans-serif;
font-size: 14px;
line-height: 1.4;
background: #ecf0f1;
}

.main-menu {
padding: 0;
margin: 0;
list-style: none;
background: #2980b9;
width: 200px;
}

.main-menu a {
text-decoration: none;
padding: 10px 15px;
display: block;
border-bottom: 2px solid #2c3e50;
width: 180px;
color: #ffffff;
}

.main-menu .opened {
background: #1abc9c;
}

.main-menu > li {
position: relative;
}

.main-menu .sub-menu {
list-style: none;
padding: 0;
margin: 0;
position: absolute;
top: 0px;
left: 180px;
z-index: 1;
border-bottom: #2ecc71;
background: #1abc9c;
width: 200px;
}

.main-menu .sub-menu a {
border-bottom: 2px solid #2ecc71;
}

Ширину неправильно подобрали. Лучше не пишите совсем. У вас уже есть ширина для списка ul, этого достаточно.

Хорошо