Боковой виджет

by Andrey Dobrovoi

HTML

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
<input type="checkbox" id="main-toggle">
<label for="main-toggle" class="main-toggle m-fa" onclick></label>
<div class="main">
  <div class="main-wrap">
    <div class="m-header">
      <a class="m-header-btn m-back-btn"><i class="m-fa m-fa-chevron-left"></i></a>
      
      <div class="m-head-title">
          <span data-bind="text: title">Заголовок</span>
       </div>
    </div>
    <div class="m-body">
    <div class="m-content">
      Содержание панелей.........
    </div>
  </div>
  </div>
    <div class="m-power-by"><a rel="nofollow" target="_blank" href="http://dbmast.ru">Разработка dbmast</a>
</div>
</div>

CSS

* {
    box-sizing: border-box;
}

.main * {
    font-family: RobotoDraft,"Helvetica Neue",Helvetica,Arial,sans-serif;
}
.main {
    height: 100%;
    right: -400px;
    box-shadow: -2px 0 7px 0 rgba(0,0,0,.2);
    height: 100%;
    padding: 0!important;
    width: 400px;
    overflow-y: auto;
    overflow-x: hidden;
    z-index: 15000000;
    position: fixed;
    top: 0;
    transition: all .4s ease-in-out;
    transition-timing-function: cubic-bezier(.55,0,.1,1);
    background: #f7f7f7;
    box-sizing: border-box;
    margin: auto 0;
    color: #455864;
    font-size: 14px;
    line-height: 16.8px;
}
 .main a {
    transition: color .2s;
}
.main-wrap {
      margin-top: 50px;
}
.m-header {
    padding: 0 17px;
    height: 48px;
    position: absolute;
    top: 0;
    width: 100%;
    max-width: 400px;
    background: #FFF;
    box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
    z-index: 15000100;
}
.m-header a {
  cursor: pointer;
}
.m-header-btn {
    z-index: 15100000!important;
    position: relative;
    font-size: 14px;
    line-height: 48px;
    height: 48px;
    float: right;
    padding-left: 12px;
    color: #455a64;
    opacity: .6;
    transition: opacity .2s;
}
.m-header-btn.m-back-btn{
    float: left;
    padding-left: 0;
    padding-right: 12px;
}
.m-header-btn i {
    display: inline-block;
}
.m-fa {
    font-family: FontAwesome!important;
    font-style: normal;
}
.m-fa-chevron-left:before {
    content: "\f053";
}

*, :after, :before {
    box-sizing: border-box;
}
.m-fa-close:before {
    content: '\00D7'!important;
    font-size: 20px;
    line-height: 44px;
}
[id='main-toggle']:checked ~ label {
    z-index: 15100000!important;
    font-size: 14px;
    font-weight: bold;
    float: right;
    padding-left: 12px;
    color: #455a64;
    opacity: .6;
    transition: opacity .2s;
}
[id='main-toggle']:checked ~ label:before {
    content: '\00D7'!important;
    font-size: 20px;
    line-height: 32px;
}
.m-head-title {
    position: absolute;
    top:...