
.sidebar {
    position: fixed;
    left: 0;
    top: 15px;
    width: 290px;
    min-width: 290px;
    max-width: 290px;
    background-color: #ffffff;
    border-top-right-radius: 12px;
    border-bottom-right-radius: 12px;
    box-shadow: 0 1px 3px rgba(0,0,0,.3);
    transition: all 0.5s ease;
    overflow: hidden;
    z-index: 1040;
}
.sidebarBack {
    position: fixed;
    top: 0; left: 0;
    background-color: rgba(0, 0, 0, 0.5);
    width: 100%;
    height: 100%;
    z-index: 1039;
    visibility: hidden;
}
.sidebarBack.active {
    visibility: visible;
}
div[data-role=contents] {
    padding-left: 300px;
    transition: all 0.5s ease;
}
@media screen and (max-width: 768px) {
    .sidebar {
        width: 250px;
        min-width: 250px;
        max-width: 250px;
    }
    .sidebar:not(.active) { left: -300px; }
    .sidebar.active { left: 0; }
    div[data-role=contents] { padding-left: 0; }
}
@media screen and (min-width: 1200px) {
    
}