* {
    box-sizing: border-box;
}

.container {
    max-width: 760px;
    width: 100%;
}

.start {
}

.reset {
}

.board {
    width: 100%;
}

.cell {
    float: left;
    border: 6px solid #222;
    position: relative;
    overflow: hidden;
}

.cell::after {
    /* http://stackoverflow.com/questions/19068070/how-to-style-a-div-to-be-a-responsive-square#answer-28985475 */
    content: '';
    display: block;
    margin-top: 100%;
}

.mole {
    position: absolute;
    width: 100%;
    margin-bottom: 100%;
    -webkit-transition: -webkit-transform 2s;
    transition: transform 2s;
    transform: translate(0, 100%);
}

.mole::after {
    content: '';
    display: block;
    margin-top: 100%;
}

.mole.active {
    background-color: red;
    transform: translate(0, 0);
}
* {
    box-sizing: border-box;
}

.container {
    max-width: 760px;
    width: 100%;
}

.start {
}

.reset {
}

.board {
    width: 100%;
}

.cell {
    float: left;
    position: relative;
    overflow: hidden;
    background-image:url('hole-back.png');
    background-repeat:no-repeat;
    background-size:contain;
    background-position:center;
}

.cell::after {
    /* http://stackoverflow.com/questions/19068070/how-to-style-a-div-to-be-a-responsive-square#answer-28985475 */
    content: '';
    display: block;
    margin-top: 100%;
}

.hole-mask {
    width: 100%;
    z-index: 10;
    position: absolute;
    bottom: 0;
    left: 0;
}

.mole {
    position: absolute;
    width: 100%;
    margin-bottom: 100%;
    -webkit-transition: -webkit-transform 2s;
    transition: transform 2s;
    transform: translate(0, 100%);
    background-image:url('avo1.png');
    background-repeat:no-repeat;
    background-size:contain;
    background-position:center;
}

.mole::after {
    content: '';
    display: block;
    margin-top: 100%;
}

.mole.whacked {
    background-image:url('avo2.png');
}

.mole.active {
    transform: translate(0, 0);
}
Add mole and hole images
Add mole and hole images
