* {
    box-sizing: border-box;
}

.menu {
    float: left;
    width: 20%;
}

.menuitem {
    padding: 8px;
    margin-top: 7px;
    border-bottom: 1px solid #f1f1f1;
}

.main {
    float: left;
    width: 60%;
    padding: 0 20px;
    overflow: hidden;
}

.right {
    background-color: lightblue;
    float: left;
    width: 20%;
    padding: 10px 15px;
    margin-top: 7px;
}

@media only screen and (max-width:800px) {
    /* For tablets: */
    .main {
        width: 80%;
        padding: 0;
    }
    .right {
        width: 100%;
    }
}

@media only screen and (max-width:500px) {
    /* For mobile phones: */
    .menu, .main, .right {
        width: 100%;
    }
}