main.board {
    margin-top: 1rem;
}

main.board h4, main.board h5 {
    font-weight: normal;
}

table.desk {
    border-collapse: collapse;
    border-style: hidden;
}

table.desk > thead > tr > td, 
table.desk > thead > tr > th, 
table.desk > tbody > tr > td, 
table.desk > tbody > tr > th {
    width: 32px;
    min-width: 32px;
    height: 32px;
    min-height: 32px;
    text-align: center;
    vertical-align: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;  
    cursor: default;
    font-size: 14px;
    font-weight: normal;
}

table.desk.black > tbody > tr > td.freecell {
    cursor: url("../images/r32b.cur"), pointer;
    cursor: url("../images/r32b.png") 16 16, pointer;
    cursor: -webkit-image-set(url("../images/r32b.png") 1x, url("../images/r64b.png") 2x) 16 16, pointer;
}

table.desk.white > tbody > tr > td.freecell {
    cursor: url("../images/r32w.cur"), pointer;
    cursor: url("../images/r32w.png") 16 16, pointer;
    cursor: -webkit-image-set(url("../images/r32w.png") 1x, url("../images/r64w.png") 2x) 16 16, pointer;
}

table.desk > tbody > tr > td {
    background-size: 96px, 96px;
    background-repeat: repeat;
    background-image: url("../images/x64.png");
    background-position: 64px 64px;
}

table.desk > tbody > tr > td[data-col="a"] {
    background-position-x: 0;
}

table.desk > tbody > tr > td[data-col="o"] {
    background-position-x: 128px;
}

table.desk > tbody > tr[data-row="15"] > td {
    background-position-y: 0;
}

table.desk > tbody > tr[data-row="1"] > td {
    background-position-y: 128px;
}

table.desk > tbody > tr[data-row="12"] > td[data-col="d"], 
table.desk > tbody > tr[data-row="12"] > td[data-col="l"], 
table.desk > tbody > tr[data-row="4"] > td[data-col="d"],
table.desk > tbody > tr[data-row="4"] > td[data-col="l"] {
    background-image: url("../images/x64p.png");
}

table.desk > tbody > tr > td.black,
table.desk > tbody > tr[data-row="12"] > td[data-col="d"].black, 
table.desk > tbody > tr[data-row="12"] > td[data-col="l"].black, 
table.desk > tbody > tr[data-row="4"] > td[data-col="d"].black,
table.desk > tbody > tr[data-row="4"] > td[data-col="l"].black {
    color: white;
    background-image: url("../images/x64b.png");
}

table.desk > tbody > tr > td.white,
table.desk > tbody > tr[data-row="12"] > td[data-col="d"].white, 
table.desk > tbody > tr[data-row="12"] > td[data-col="l"].white, 
table.desk > tbody > tr[data-row="4"] > td[data-col="d"].white,
table.desk > tbody > tr[data-row="4"] > td[data-col="l"].white {
    color: black;
    background-image: url("../images/x64w.png");
}

.info-panel {
    max-width: 544px;
}

@media (min-width: 992px) {
    .info-panel {
        float: left;
    }
}

table.info {
    margin-top: 15px;
}

table.info > thead > tr > td,
table.info > thead > tr > th,
table.info > tbody > tr > td,
table.info > tbody > tr > th {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: default;
}

table.info > tbody > tr > td[data-info] {
    text-align: center;
    vertical-align: middle;
}

table.info > tbody > tr > td.black {
    color: white;
    font-size: 14px;
    text-align: center;
    vertical-align: middle;
    background-size: 32px, 32px;
    background-repeat: no-repeat;
    background-position: center center;
    background-image: url("../images/r64b.png");
}

table.info > tbody > tr > td.white {
    color: black;
    font-size: 14px;
    text-align: center;
    vertical-align: middle;
    background-size: 32px, 32px;
    background-repeat: no-repeat;
    background-position: center center;
    background-image: url("../images/r64w.png");
}

