#game_area {
    width: 80%;
    min-height: 80%;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    position: relative;
}

.left_container {
    width: 40%;
    height: 80%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
}

/* Puzzle */
#part_container {
    height: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-evenly;

    background-color: #A0CAD9;
    margin: 5% 15% 5% 0px;
    border: 2px solid #D5EEF2;
    border-radius: 20px;
    overflow-y: scroll;
}

.puzzlepiece {
    height: 40%;
    width: 40%;
    margin: 2%;

    background-size: contain;
    background-origin: content-box;
    background-repeat: no-repeat;
    background-position: center;
    cursor: pointer;
}

#puzzle_area {
    width: 60%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #FFFFFFBD;
    border: 2px solid #000;
    position: relative;
    background-size: contain;
}

path {
    fill: none;
}

.empty {
    fill: #fff;
    stroke: #fff;
    stroke-width: 2px;
}

#position_grid {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    position: absolute;
    z-index: 3;
}

.grid_element {
    width: 16.66%;
    height: 16.66%;
}