.frame {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 400px;
    height: 400px;
    margin-top: -200px;
    margin-left: -200px;
    border-radius: 2px;
    box-shadow: 1px 2px 10px 0px rgba(0, 0, 0, 0.3);
    overflow: hidden;
    background: #363847;
    color: #fff;
    font-family: 'Open Sans', Helvetica, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.eye {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
    transform: translate(-50%, -50%) rotate(45deg);
    width: 160px;
    height: 160px;
    border-radius: 160px 0;
    background: #D8D8D8;
    overflow: hidden;
    -webkit-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
}
.eye .ball {
    position: absolute;
    width: 110px;
    height: 110px;
    border-radius: 50%;
    background: #fff;
    top: 25px;
    left: 25px;
    -webkit-animation: ball 5s ease-in-out infinite;
    animation: ball 5s ease-in-out infinite;
}
.eye .ball .iris {
    position: absolute;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #617983;
    top: 37px;
    left: 37px;
}

.lid {
    fill: #363847;
    stroke: none;
}

.lid-top {
    position: absolute;
    z-index: 2;
    width: 240px;
    height: 106px;
    top: 125px;
    left: 80px;
    -webkit-transform: translateY(-60px);
    transform: translateY(-60px);
    -webkit-animation: lid-top 5s ease-in-out infinite;
    animation: lid-top 5s ease-in-out infinite;
}

.lid-bottom {
    position: absolute;
    z-index: 2;
    width: 240px;
    height: 106px;
    bottom: 125px;
    left: 80px;
    -webkit-transform: rotate(180deg) translateY(-60px);
    transform: rotate(180deg) translateY(-60px);
    -webkit-animation: lid-bottom 5s ease-in-out infinite;
    animation: lid-bottom 5s ease-in-out infinite;
}

.frame:hover .lid-top {
    -webkit-transform: translateY(0);
    transform: translateY(0);
}
.frame:hover .lid-bottom {
    -webkit-transform: rotate(180deg) translateY(0);
    transform: rotate(180deg) translateY(0);
}

@-webkit-keyframes lid-top {
    0%,10%,18%, 26%,34%, 48%,56%, 76%, 84% {
        -webkit-transform: translateY(-60px);
        transform: translateY(-60px);
    }
    14%, 30%, 52%, 80% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

@keyframes lid-top {
    0%,10%,18%, 26%,34%, 48%,56%, 76%, 84% {
        -webkit-transform: translateY(-60px);
        transform: translateY(-60px);
    }
    14%, 30%, 52%, 80% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}
@-webkit-keyframes lid-bottom {
    0%,10%,18%, 26%,34%, 48%,56%, 76%, 84% {
        -webkit-transform: rotate(180deg) translateY(-60px);
        transform: rotate(180deg) translateY(-60px);
    }
    14%, 30%, 52%, 80% {
        -webkit-transform: rotate(180deg) translateY(0);
        transform: rotate(180deg) translateY(0);
    }
}
@keyframes lid-bottom {
    0%,10%,18%, 26%,34%, 48%,56%, 76%, 84% {
        -webkit-transform: rotate(180deg) translateY(-60px);
        transform: rotate(180deg) translateY(-60px);
    }
    14%, 30%, 52%, 80% {
        -webkit-transform: rotate(180deg) translateY(0);
        transform: rotate(180deg) translateY(0);
    }
}
@-webkit-keyframes ball {
    0%,14%, 56% {
        -webkit-transform: rotate(-45deg) translateX(0);
        transform: rotate(-45deg) translateX(0);
    }
    18%, 30% {
        -webkit-transform: rotate(-45deg) translate(-25px, 5px) scale(0.9);
        transform: rotate(-45deg) translate(-25px, 5px) scale(0.9);
    }
    34%, 52% {
        -webkit-transform: rotate(-45deg) translate(25px, 10px) scale(0.9);
        transform: rotate(-45deg) translate(25px, 10px) scale(0.9);
    }
}
@keyframes ball {
    0%,14%, 56% {
        -webkit-transform: rotate(-45deg) translateX(0);
        transform: rotate(-45deg) translateX(0);
    }
    18%, 30% {
        -webkit-transform: rotate(-45deg) translate(-25px, 5px) scale(0.9);
        transform: rotate(-45deg) translate(-25px, 5px) scale(0.9);
    }
    34%, 52% {
        -webkit-transform: rotate(-45deg) translate(25px, 10px) scale(0.9);
        transform: rotate(-45deg) translate(25px, 10px) scale(0.9);
    }
}
