html, body {
    margin: 0;
    padding: 0;
}
body { 
    overflow: hidden; 
    font-family: Verdana;
    font-size: 0.9em;
}
.page { 
    margin: 0;
    padding: 0;
    width: 100%;
    overflow: hidden;
}
.notes { 
    background-color: #111;
    position: fixed;
    box-sizing:border-box;
    -webkit-box-sizing:border-box;
    -moz-box-sizing:border-box;
    width: 48%;
    height: 100%;
    opacity: 0.9;
    color: #fff;
    padding: 0;
    margin: 0;
    top: 0;
    left: 100%;
    -webkit-transition: left 0.4s;
    transition: left 0.4s;
}
    .notes .control {
        position: absolute;
        width: 2em;
        height: 2em;
        color: #333;
        background-color: #777;
        opacity: 0.8;
        font-size: 1em;
        font-weight: bold;
        cursor: pointer;
        text-align: center;
        vertical-align: bottom;
        line-height: 2em;
        border-radius: 1em;
    }

    .notes .control.open {
        display: block;
        top: 0.5em;
        left: -2.5em;
    }
    .notes .control.close {
        position: fixed;
        display: none;
        top: 0.5em;
        right: 0.5em;
    }
    .notes .control.pin {
        position: fixed;
        display: none;
        top: 0.5em;
        right: 2.8em;
    }
    .notes .content {
        margin: 2.5em 0 0 0;
        padding: 0.5em;
        box-sizing:border-box;
        -webkit-box-sizing:border-box;
        -moz-box-sizing:border-box;
        overflow: auto;
        width: 100%;
        height: 100%;
    }
.notes.visible {
    left: 52%;
    -webkit-transition: left 0.4s;
    transition: left 0.4s;
}
    .notes.visible .control.open {
        display: none;
    }
    .notes.visible .control.close {
        display: block;
    }
    .notes.visible .control.pin {
        display: block;
    }

@media screen and (max-width: 600px) {
    .notes.visible {
        width: 50%;
        left: 50%;
    }
}
@media screen and (max-width: 480px) {
    .notes.visible {
        width: 100%;
        left: 0
    }
}

