* {
    margin: 0; padding: 0; border: 0; box-sizing: border-box;
}

body {
    background-color: burlywood;
}

#container {
    width: 968px; height: 648px; border: 4px solid #456;
    border-radius: 4px;
    margin: 20px auto;
    background-image: url(../images/phoneframes.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    position: relative;
}

#mainbutton {
    position: absolute; top: 0px; left: -105px;
    width: 100px; height: 100px;
    cursor: pointer;
    border: 2px solid #222;
    text-align: center;
    padding: .5em;
}

#phoneframe1, #phoneframe2, #phoneframe3 {
    border: 2px solid red;
    position: absolute;
    overflow: hidden;
}

header {
    background-color: #456;
    height: 60px;
    position: relative;
    z-index: 10;
}

header button {
    position: absolute; top: 4px; right: 16px;
    width: 50px; height: 50px;
    border: 4px outset #222;
}

nav.mobilemenu li {
    border: 1px solid gray;
    list-style-type: none;
    height: 56px;
}

nav.mobilemenu a {
    display: block; height: 100%;
    font-size: 35px;
    text-decoration: none;
    line-height: 54px;
    text-indent: .5em;
}

/* unique styles for phone frame #1 */

#phoneframe1 { /* red frame within phone */
    top: 63px; left: 20px;
    width: 279px; height: 562px;
    border-radius: 6px 6px 36px 36px;
}

#phoneframe1 nav.mobilemenu { /* mobilemenu is the child to the phoneframe1 div */
    background-color: hsla(90, 100%, 50%, 70%);
    position: relative;
    width: 100%;
    transition: left 1s ease-in-out;
}

#phoneframe1 nav.mmclosed {
    position: absolute; top: 60px; left: -600px;
}

#phoneframe1 nav.mmopen {
    position: absolute; top: 60px; left: 0px;
}

#button1 {
    background-image: url(../images/menuicon.png);
    background-size: 180px;
    background-position: -30px -2px;
}

/* unique styles for phone frame #2 */

#phoneframe2 { /* red frame within phone */
    top: 76px; left: 421px;
    width: 233px; height: 405px;
    border-radius: 3px 3px 3px 3px;
}

#phoneframe2 .mobilemenu {
    background-color: pink;
    transition: top .8s ease-in-out;
}

#phoneframe2 .mmopen {
    position: absolute; top: 60px; left: 0px;
    width: 100%;
}

#phoneframe2 .mmclosed {
    position: absolute; top: -600px; left: 0px;
    width: 100%;
}

#phoneframe2 nav a span {
    display: none;
}

/* unique styles for phone frame #3 */

#phoneframe3 { /* red frame within phone */
    top: 76px; left: 773px;
    width: 168px; height: 288px;
    border-radius: 2px 2px 2px 2px;
}

#phoneframe3 .mobilemenu {
    background-color: skyblue;
    transition: top .7s ease-in-out;
}

#phoneframe3 .mmopen {
    position: absolute; top: 60px; left: 0px;
    width: 100%;
}

#phoneframe3 li {
    transition: .7s ease-in-out .7s; /* last .7s is .7 seconds of a delay */
}

#phoneframe3 .mmopen li {
    transform: translateX(0px);
}

#phoneframe3 .mmclosed {
    position: absolute; top: -600px; left: 0px;
    width: 100%;
}

#phoneframe3 .mmclosed li {
    transform: translateX(-500px);
}

#phoneframe3 nav a span {
    display: none;
}