aside.main-navigation-container{
    overflow: hidden;
    background-color: #f6f6f6;
    z-index: 9;
    display: table;
    height: calc(100vh - 68px);
    position: fixed;
    top: 68px;
    bottom: 0;
    left: 0;
    width: 300px;
    box-shadow: 0 0 2px #00000054;
}
label[for="main-menu"]{
    width: 68px;
    text-align: center;
    line-height: 68px;
    font-size: 2em;
    margin: 0;
}
aside.main-navigation-container .sub-menu-section + .sub-menu-section > ul{
    padding-top: 0;
}
aside.main-navigation-container .sub-menu-section ul.sub-menu > li > b {
    display: block;
    margin-bottom: 10px;
}
input.controller, input.controller:not(:checked) + aside.main-navigation-container {
    display: none !important;
}
aside.main-navigation-container a:hover,
aside.main-navigation-container > nav,
aside.main-navigation-container a {
    color: #222 !important;
}
aside.main-navigation-container a{
    display: block;
}
aside.main-navigation-container > nav {
    height: 100%;
    overflow: hidden;
    position: relative;
}
aside.main-navigation-container > footer,
aside.main-navigation-container > nav {
    display: table-row;
}
aside.main-navigation-container > footer {
    color: #fff;
    background-color: #037cbb;
}
aside.main-navigation-container > footer a{
    color:#fff !important;
}
aside.main-navigation-container > footer ul {
    margin: 15px 0 0 0;
    list-style: none;
    padding: 0;
    line-height: 30px;
}
aside.main-navigation-container > footer > div {
    padding: 30px;
}
aside.main-navigation-container > footer > div,
aside.main-navigation-container > nav > div {
    display: table-cell;
}
aside.main-navigation-container > nav > div {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 0, 0, 0.3) #f6f6f6;
}
aside.main-navigation-container > nav ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
aside.main-navigation-container ul,
aside.main-navigation-container ol {
    line-height: 20px;
}
aside.main-navigation-container > nav > div > ul > li {
    display: block;
}
aside.main-navigation-container > nav > div > ul > li + li {
    border-top: 3px solid #fff;
}
aside.main-navigation-container > nav > div > ul > li > a {
    padding: 20px 30px;
    font-weight: bold;
}
aside.main-navigation-container li.parent .controller {
    height: 0;
    width: 0;
}
aside.main-navigation-container input.controller,
aside.main-navigation-container input.controller:not(:checked) + aside {
    display: none;
}
aside.main-navigation-container input[type="radio"],
aside.main-navigation-container input[type="checkbox"] {
    box-sizing: border-box;
    padding: 0;
}
aside.main-navigation-container label.controller-label {
    color: #222;
    position: relative;
    margin-bottom: 0;
    padding: 20px 30px;
}
aside.main-navigation-container label {
    margin-bottom: 10px;
    display: block;
    font-size: 1em;
    cursor: pointer;
    font-weight: 400;
    color: #666666;
}
aside.main-navigation-container label.controller-label > span {
    display: block;
    color: #ffffffab;
}
aside.main-navigation-container input[type=checkbox]:not(:checked) + .controller-label:after {
    background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNzUycHQiIGhlaWdodD0iNzUycHQiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDc1MiA3NTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiA8cGF0aCBkPSJtMzc2IDI0OS4zNCAyMDUuNDkgMjA1LjUtMjcuOTAyIDI3LjkwMi0xNzcuNTktMTc3LjU5LTE3Ny41OSAxNzcuNTktMjcuOTAyLTI3LjkwMnoiIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPgo8L3N2Zz4K');
}
aside.main-navigation-container .controller-label:after {
    content: ' ';
    background-size: 100% 100%;
    position: absolute;
    top: 20px;
    right: 20px;
    height: 20px;
    width: 20px;
    background-color: #ababab;
    border-radius: 50%;
}
aside.main-navigation-container > footer{
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
}
aside.main-navigation-container input[type=checkbox]:checked + .controller-label:after {
    background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNzUycHQiIGhlaWdodD0iNzUycHQiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDc1MiA3NTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiA8cGF0aCBkPSJtMzc2IDUwMi42Ni0yMDUuNDktMjA1LjUgMjcuOTAyLTI3LjkwMiAxNzcuNTkgMTc3LjU5IDE3Ny41OS0xNzcuNTkgMjcuOTAyIDI3LjkwMnoiIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPgo8L3N2Zz4K');
}
aside.main-navigation-container input[type=checkbox]:checked + .controller-label + .sub-menu-container {
    display: block;
}
aside.main-navigation-container .sub-menu-container {
    display: none;
}
aside.main-navigation-container ul.sub-menu {
    padding: 20px 0 20px 30px;
    position: relative;
    background-color: #fdfdfd;
}
aside.main-navigation-container ul.sub-menu:before {
    content: '';
    border-left: 1px dotted #ffffff2b;
    position: absolute;
    left: 0;
    bottom: 0;
    top: 0;
}