.puzzle-grid{
    width:530px;
    height:530px;
    overflow:hidden;
    position:absolute;
    left:421px;
    top:2px;
    
    background-color:#fff;
    border:13px solid #fff;
    box-shadow:1px 1px 2px -1px #000;
    z-index:0;
}

/*Common Styles*/
.image-select{
    width:414px;
    position:relative;
    margin-top:400px;
}
.image-select > ul {
    font-size: 0;
    overflow: hidden;
    padding-bottom: 5px;
    padding-right: 5px;
    white-space: nowrap;
    width: 350px;
    margin-left:34px;
}
.image-select li {
    border: 5px solid #fff;
    box-shadow: 2px 2px 4px -2px #000;
    display: inline-block;
    margin-right: 23px;
}
.image-select li:last-child {
    margin-right: 4px;
}
.image-select li img{
    display:block;
    width:100%;
}

.image-select a.arrow{
    position:absolute;
    width:30px;
    height:40px;
    background:url('../img/arrows.png') no-repeat;
    text-indent:-999em;
    overflow:hidden;
    top:30px;
}
.image-select a.arrow.previous{
    background-position:top left;
    left:0;
}
.image-select a.arrow.next{
    background-position:top right;
    right:0;
}
.image-select a.arrow.previous:hover{background-position: bottom left;}
.image-select a.arrow.next:hover{background-position: bottom right;}

.puzzle-grid:after{
    content:'';
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    background: 0 0 no-repeat;
    z-index:100;
}
.puzzle-grid.grid-3x3:after{background-image:url('../img/grid-3x3.png');}
.puzzle-grid.grid-4x4:after{background-image:url('../img/grid-4x4.png');}



#game{
    margin-left:230px;
    margin-top:15px;
    
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    display:inline-block;
    width:504px;
    height:504px;
}
#game li{float:left;background-color:#fff;position:relative;}
#game li.show-target{
    background-color:#86291a;
    background-color:rgba(134,41,26,0.3);
}

.easy #game li{width:168px;height:168px;}
.hard #game li{width:126px;height:126px;}

span.puzzle-item{
    position:absolute;
    background:url('') 0 0 no-repeat;
    display:block;
    cursor:grab;
    border:4px solid #fff;
    border-radius:3px;
    box-shadow:2px 2px 4px -2px #000;
    transition:box-shadow 0.3s linear, opacity 0.3s linear;
    z-index:100;
    box-sizing: content-box;
}

.easy span.puzzle-item{    
    width:168px;
    height:168px;
}
.hard span.puzzle-item{    
    width:126px;
    height:126px;
}

.easy span.puzzle-item.item-1 {background-position:0 0;}
.easy span.puzzle-item.item-2 {background-position:-168px 0;}
.easy span.puzzle-item.item-3 {background-position:-336px 0;}

.easy span.puzzle-item.item-4 {background-position:0 -168px;}
.easy span.puzzle-item.item-5 {background-position:-168px -168px;}
.easy span.puzzle-item.item-6 {background-position:-336px -168px;}

.easy span.puzzle-item.item-7 {background-position:0 -336px;}
.easy span.puzzle-item.item-8 {background-position:-168px -336px;}
.easy span.puzzle-item.item-9 {background-position:-336px -336px;}

/*hard items*/
.hard span.puzzle-item.item-1  {background-position:0 0;}
.hard span.puzzle-item.item-2  {background-position:-126px 0;}
.hard span.puzzle-item.item-3  {background-position:-252px 0;}
.hard span.puzzle-item.item-4  {background-position:-378px 0;}

.hard span.puzzle-item.item-5  {background-position:0 -126px;}
.hard span.puzzle-item.item-6  {background-position:-126px -126px;}
.hard span.puzzle-item.item-7  {background-position:-252px -126px;}
.hard span.puzzle-item.item-8  {background-position:-378px -126px;}

.hard span.puzzle-item.item-9  {background-position:0 -252px;}
.hard span.puzzle-item.item-10 {background-position:-126px -252px;}
.hard span.puzzle-item.item-11 {background-position:-252px -252px;}
.hard span.puzzle-item.item-12 {background-position:-378px -252px;}

.hard span.puzzle-item.item-13 {background-position:0 -378px;}
.hard span.puzzle-item.item-14 {background-position:-126px -378px;}
.hard span.puzzle-item.item-15 {background-position:-252px -378px;}
.hard span.puzzle-item.item-16 {background-position:-378px -378px;}



span.puzzle-item.dropped.ui-draggable-dragging,
span.puzzle-item.ui-draggable-dragging {z-index:999;}
span.puzzle-item.dropped{
    border:0px;
    border-radius:0;
    box-shadow:0 0 0 #000;
    opacity:0.8;
    z-index:10;
}
.win span.puzzle-item.dropped{opacity:1;}