#container {
    width: 425px;
    height: 650px;
    margin: auto;
    position: relative;
}

#page {
    position: absolute;
    top: 50%;
    margin-top: -300px;/*-264px;*/
    height: 600px;
    width: 425px;
}

#puzzle {
    margin: auto;
    padding-top: 5px;
    background-color: #222;
    position: relative;
    width: 425px;
    height: 527px;
    -webkit-border-radius: 5px;
       -moz-border-radius: 5px;
            border-radius: 5px;
}

#board {
    position: relative;
    width: 425px;
    height: 425px;
}

.blue {
    text-shadow: -1px -1px 1px rgba(0, 0, 0, .22);
    color: #d3d3d3;
    /*#3c48c0; #2d3371;*/
    background: #3c48dd; /* Old browsers */
    background: -moz-linear-gradient(top,  #3c48dd 0%, #3344a1 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#3c48dd), color-stop(100%,#3344a1)); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top,  #3c48dd 0%,#3344a1 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top,  #3c48dd 0%,#3344a1 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(top,  #3c48dd 0%,#3344a1 100%); /* IE10+ */
    background: linear-gradient(top,  #3c48dd 0%,#3344a1 100%); /* W3C */
    }

.grey {
    text-shadow: 1px 1px 1px rgba(255, 255, 255, .22);
    color: #444444;
 
    background: #d3d3d3; /* Old browsers */
    background: -moz-linear-gradient(top,  #d3d3d3 0%, #8a8a8a 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#d3d3d3), color-stop(100%,#8a8a8a)); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top,  #d3d3d3 0%,#8a8a8a 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top,  #d3d3d3 0%,#8a8a8a 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(top,  #d3d3d3 0%,#8a8a8a 100%); /* IE10+ */
    background: linear-gradient(top,  #d3d3d3 0%,#8a8a8a 100%); /* W3C */
}

.green {
    text-shadow: -1px -1px 1px rgba(0, 0, 0, .22);
    color: #ddd;
 
    background: #a5cd4e; /* Old browsers */
    background: -moz-linear-gradient(top,  #a5cd4e 0%, #6b8f1a 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#a5cd4e), color-stop(100%,#6b8f1a)); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top,  #a5cd4e 0%,#6b8f1a 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top,  #a5cd4e 0%,#6b8f1a 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(top,  #a5cd4e 0%,#6b8f1a 100%); /* IE10+ */
    background: linear-gradient(top,  #a5cd4e 0%,#6b8f1a 100%); /* W3C */
}

.cell {
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    
    -webkit-box-shadow: 1px 1px 1px rgba(0,0,0, .29), inset 1px 1px 10px rgba(255,255,255, .44);
       -moz-box-shadow: 1px 1px 1px rgba(0,0,0, .29), inset 1px 1px 10px rgba(255,255,255, .44);
            box-shadow: 1px 1px 1px rgba(0,0,0, .29), inset 1px 1px 10px rgba(255,255,255, .44);
    
    cursor: default;
    font-size: 27px;
    font-family: Righteous;
    text-align: center;
    position: absolute;
    width: 100px;
    height: 100px;
    padding: 0;
}

.cell p {
    padding-top: 0;
    position: absolute;
    width: 40px;
    height: 34px;
    left: 50%;
    margin-left: -20px;
    top: 50%;
    margin-top: -17px;
}

#puzzleTitle {
    position: relative;
    padding-top: 14px;
    margin: auto;
    height: 43px;
    width: 415px;
    color: #2d3361;
    font-size: 40px;
}

#shuffle-button {
    font-family: Yanone Kaffeesatz;
    font-weight: bold;
    font-size: 27px;
    color: #2d3361;
    position: relative;
    height: 34px;
    width: 135px;
    margin-left: 5px;
    float: left;
    padding-top: 6px;
}

#reset-button {
    font-family: Yanone Kaffeesatz;
    font-weight: bold;
    font-size: 27px;
    color: #2d3361;
    position: relative;
    height: 34px;
    width: 135px;
    margin-left: 5px;
    float: left;
    padding-top: 6px;
}

#solve-button {
    font-family: Yanone Kaffeesatz;
    font-weight: bold;
    font-size: 27px;
    color: #2d3361;
    position: relative;
    height: 34px;
    width: 135px;
    margin-right: 5px;
    float: right;
    padding-top: 6px;
}

#puzzleStatus {
    padding-top: 20px;
    text-align: center;
    font-family: Yanone Kaffeesatz;
    font-size: 27px;
}

#shuffle-button:hover {
    color: #3d4371;
}

#shuffle-button:active {
    color: #5c68dd;
}

#reset-button:hover {
    color: #3d4371;
}

#reset-button:active {
    color: #5c68dd;
}

#solve-button:hover {
    color: #3d4371;
}

#solve-button:active {
    color: #5c6899;
}

.button:hover {
    cursor: pointer;
    color: #fff;
    -webkit-box-shadow: 1px 1px 1px rgba(0,0,0,.29), inset 0px 0px 2px rgba(0,0,0, .5);
    -moz-box-shadow: 1px 1px 1px rgba(0,0,0,.29), inset 0px 0px 2px rgba(0,0,0, .5);
    box-shadow: 1px 1px 1px rgba(0,0,0,.29), inset 0px 0px 2px rgba(0,0,0, .5);
}


.button:active {
    -webkit-box-shadow: inset 0px 0px 4px rgba(0,0,0, .8);
    -moz-box-shadow: inset 0px 0px 4px rgba(0,0,0, .8);
    box-shadow: inset 0px 0px 4px rgba(0,0,0, .8);
}