body {
    background-image: url('img/wood1.jpg');
    box-sizing: border-box;
    font-family: Arial, sans;
    margin: 8px;
}

h3 {
    margin: 0 0 0.5em 0;
}

.id-input {
    font-family: monospace;
}

.table-area {
    background-color: rgba(255, 255, 255, 0.5);
    padding: 8px;
    margin: 4px 0;
}

.loading {
    width: 100%;
    height: 80vh;
    display: flex;
    justify-content: center;
    align-items: center;
}

.loading .table-area {
    position: inline-block;
}

.cancel {
    width: 18px;
    height: 18px;
    background-image: url('img/cancel-24px.svg');
    background-size: 18px 18px;
    cursor: pointer;
}

.spacer {
    position: relative;
    top: -1px;
    margin: 0 0.5em;
    font-size: 1.3em;
}

.spacer:before {
    content: "|";
}

#options {
    display: flex;
    align-items: center;
}

#volume-button {
    width: 24px;
    height: 24px;
    background-image: url('img/volume_up-24px.svg');
    cursor: pointer;
    margin-left: 12px;
}

#volume-button.muted {
    background-image: url('img/volume_off-24px.svg');
}

#exit-button {
    padding: 0;
    font-size: 75%;
}

#popup-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    background-color: rgba(1, 1, 1, 0.375);
}

#popup {
    background-color: white;
    border: 1px solid black;
    padding: 1em;
    text-align: center;
}

.popup-button {
    border: 1px solid black;
    border-radius: 2px;
    font-size: 0.9em;
    margin: 1em 1em 0;
    padding: 0.4em;
}

.popup-accept-button {
    background-color: #6090e8;
    color: white;
}

.popup-accept-button:hover {
    background-color: #5080d8;
}

.popup-reject-button:hover {
    background-color: #ffb0c0;
}

.popup-close-button:hover {
    background-color: #d0d0d0;
}

.inactive {
    color: gray;
}

.card {
    display: inline-block;
    width: calc((100vw - 44px - 6 * 4px) / 7);
    max-width: 71px;
    height: 96px;
    border-radius: 2px;
}

.ornamental .card {
    border-radius: 10px;
}

.tango .card {
    border-radius: 8px;
}

.dragged {
    filter: contrast(70%);
}

.hovered {
    filter: contrast(70%);
}

.blank.hovered {
    background-color: rgba(1, 1, 1, 0.1);
}

.card.selected {
    box-shadow: 0px 0px 2px 3px yellow;
}

.pile-wrapper {
    display: inline-block;
    position: relative;
}

.table-pile-wrapper {
    margin-left: 2px;
    margin-right: 2px;
}

.foundation-pile-wrapper {
    margin-left: 2px;
    margin-right: 6px;
}

.pile-card {
    position: absolute;
}

.table-pile-card {
    position: relative;
}

.table-sub-pile {
    height: 96px;
    position: relative;
}

.pile-space {
    width: calc((100vw - 44px - 6 * 4px) / 7);
    max-width: 71px;
    height: 96px;
}

.back {
    background-image: url('img/back-bellot.png');
}

.ornamental .back {
    background-image: url('img/back-ornamental-blue.png');
}

.paris .back {
    background-image: url('img/back-paris.png');
}

.tango .back {
    background-image: url('img/back-ornamental-blue.png');
}

.front {
    background-image: url('img/cards-gnomangelo.png');
}

.ornamental .front {
    background-image: url('img/cards-ornamental.png');
}

.paris .front {
    background-image: url('img/cards-paris.png');
}

.tango .front {
    background-image: url('img/cards-tango.png');
}

.blank {
    border: 1px solid black;
    border-radius: 2px;
    position: absolute;
    left: 0;
    top: 0;
}

.bubble {
    background-color: white;
    border: 1px solid black;
    border-radius: 8px;
    top: 100%;
    box-shadow: 1px 1px 2px;
    font-size: 0.9em;
    padding: 0.5em;
    pointer-events: none;
    position: absolute;
    z-index: 1;
}

.bubble:before {
    top: -9px;
    left: 42%;
    width: 16px;
    height: 16px;
    transform: rotate(45deg);
    background-color: white;
    border-left: 1px solid black;
    border-top: 1px solid black;
    content: '';
    display: block;
    position: absolute;
}

#lobby-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#game-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#game-header #exit-button {
    position: relative;
    top: 2px;
}

#game-id {
    font-weight: bold;
}

#player-tables {
    display: flex;
    justify-content: space-around;
}

.player-table {
    width: 120px;
    cursor: pointer;
    position: relative;
    text-align: center;
}

.player-table-name {
    font-weight: bold;
    overflow-wrap: break-word;
}

.player-card-count {
    font-size: 2em;
}

#foundations {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding-bottom: 0;
}

#foundations .pile-wrapper {
    padding-bottom: 8px;
}

.table-wrapper {
    display: flex;
    justify-content: center;
}

#deck-wrapper {
    display: flex;
    justify-content: center;
}

#deck {
    margin-left: 2px;
    margin-right: 6px;
}

#hand .card {
    margin-left: 2px;
    margin-right: 2px;
}

#other-table {
    display: flex;
    flex-direction: column;
}

#other-table-header {
    display: flex;
    justify-content: space-between;
    width: 100%;
    font-weight: bold;
}

.hidden {
    display: none !important;
}
