I am trying to design menu like the one show in figure below

This is a responsive menu and should look like the one when on smaller screens.
I am facing few issue right now.
- I have to add a border between two menus as show in figure below and keep the submenu about 40px down from the base line of main menu. When I add bottom margin to ul li the sub menu show but disappears when I try to take pointer over it.
I want sub menu to show in center of parent menu even if wifth of sub menu is more the width of parent menu, I tried this but failed to make it perfect.
Responsive version

/*Menu*/
.nav-center
{
text-align:center;
}
.menu-link {
display: none;
float: right;
text-decoration: none;
padding: 19px 10px;
}
.menu {
max-width: 60em;
-webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
-o-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}
.menu ul {
padding: 0px;
margin: 0px;
list-style: none;
position: relative;
display: inline-table;
}
.menu > li > ul.sub-menu {
min-width: 10em;
padding: 4px 0;
background-color: #f4f4f4;
border: 1px solid #CCC;
border: 1px solid rgba(0, 0, 0, 0.2);
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-webkit-background-clip: padding-box;
-moz-background-clip: padding;
background-clip: padding-box;
}
.menu ul:after {
content: ""; clear: both; display: block;
}
.menu ul li {
padding: 0px;
border-right:1px solid #053A7D;
}
.menu > ul > li {
display: inline-block;
}
.menu ul li a {
display: block;
text-decoration: none;
color: #053A7D;
font-size: .9em;
}
.menu ul li > a {
padding: 5px 20px;
}
.menu ul ul {
display: none;
position: absolute;
top:100%;
min-width: 160px;
border-top: 2px solid #053A7D;
/*background-color: #f4f4f4;
border: 1px solid rgba(0, 0, 0, 0.2);
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
*/
}
.menu ul li:hover > ul {
display: block;
}
.menu ul ul > li {
position: relative;
}
.menu ul ul > li a {
padding: 5px 2px 5px 2px;
height: auto;
background-color: #fff;
-webkit-transition: background-color 0.2s ease-out;
-moz-transition: background-color 0.2s ease-out;
-ms-transition: background-color 0.2s ease-out;
-o-transition: background-color 0.2s ease-out;
transition: background-color 0.2s ease-out;
}
.menu ul ul > li a:hover {
/*background-color: #AE5C10;
background-color: rgba(174, 92,16, 0.9);
color: #fff;
*/
}
.menu ul ul ul {
position: absolute;
left: 100%;
top:0;
}
@media screen and (max-width: 768px) {
a.menu-link {
display: block;
color: #fff;
background-color: #AE5C10;
background-color: rgba(174, 92,16, 0.9);
}
.menu {
clear: both;
min-width: inherit;
float: none;
}
.menu, .menu > ul ul {
overflow: hidden;
max-height: 0;
background-color: #f1f1f1;
}
.menu > li > ul.sub-menu {
padding: 0px;
border: none;
-webkit-border-radius: 0px;
-moz-border-radius: 0px;
border-radius: 0px;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
-webkit-background-clip: padding-box;
-moz-background-clip: padding;
background-clip: padding-box;
}
.menu.active, .menu > ul ul.active {
max-height: 55em;
}
.menu ul {
display: inline;
}
.menu > ul {
border-top: 1px solid #808080;
}
.menu li, .menu > ul > li {
display: block;
}
.menu li a {
color: #000;
display: block;
padding: 0.8em;
border-bottom: 1px solid #808080;
position: relative;
}
.menu li.has-submenu > a:after {
content: '+';
position: absolute;
top: 0;
right: 0;
display: block;
font-size: 1.5em;
padding: 0.55em 0.5em;
}
.menu li.has-submenu > a.active:after {
content: "-";
}
.menu ul ul > li a {
background-color: #e4e4e4;
height:58px;
padding: 19px 18px 19px 30px;
}
.menu ul ul, .menu ul ul ul {
display: inherit;
position: relative;
left: auto; top:auto;
box-shadow: none;
border:none;
}
}
/*Menu End*/
I have set up fiddle example, I would appreciate help in this regard.
UPDATE: To avoid confusion I am uploading another image which show guideline in red for the sub menu position
