:root {

    --color-white: #ffffff;
    --color-beige: #f9dfbc;
    --color-green: #309f6a;
    --color-red: #e3292e;
    --color-black: #000000;
}

body {
    background: var(--color-beige);
    color: var(--color-black);
    margin: 0;
    padding: 0;
    font-family: sans-serif;
}

button {
    border: 0;
    background-color: #27ae60;
    color: var(--color-white);
    padding: 6px;
    border-radius: 4px;
    font-weight: bold;
    cursor: pointer;
    font-size: 14px;
    margin-top: 2px;
    margin-bottom: 2px;
    width: 90%;
    margin-left: 5%;
    margin-right: 5%;
    outline: 0;
}

input, .dartScore,#gameWrapper select {

    /*border:1 px solid  var(--color-black);*/
    outline: 0;
    border: 0;
    border-bottom: 2px solid var(--color-black);
    padding: 6px;
    margin: 5px;
}

label {

    width: 90%;
    margin-left: 5%;
    margin-right: 5%;
    margin-bottom: 0;
    font-size: 12px
}

input:focus, .dartScore.current {

    border-bottom: 2px solid var(--color-red);
}

.nextPlayer {
    font-size: 30px;
    font-weight: bold;
    text-align: center;
}

button:hover {
    background-color: #2ecc71;

}

#app {

    display: grid;
    grid-template-areas:
      "header"
      "game-wrapper"
      "score-board-wrapper";
    width: 100%;
}

#headerWrapper {
    width: 100%;
    display: inline-grid;
    grid-area: header;
    background: var(--color-white);
    border-bottom: 2px solid var(--color-black);
    grid-template-columns: repeat(3, 1fr);
    padding: 5px;
    min-height: 23px;
}

#headerWrapper .headerItem {
    font-size: min(max(20px, 2vw), 40px);
    min-height: 29px;
}

#headerWrapper .headerItem.playerName {
    font-weight: bold;
}

#headerWrapper .headerItem.leftAligned {
    text-align: left;
}

#headerWrapper .headerItem.rightAligned {
    text-align: right;
    padding-right: 20px; /* Don't know why this was needed, I won't loose sleep over it*/
}

#headerWrapper .headerItem.centerAligned {
    text-align: center;
}

#gameWrapper {
    margin-top: 15px;
    padding: 5px;
    margin-left: auto;
    margin-right: auto;
    width: 80%;
    border-radius: 4px;
    background: var(--color-white);
    grid-area: game-wrapper;
    display: grid;

}

#gameWrapper input, #gameWrapper select {

    width: 90%;
    margin-left: 5%;
    margin-right: 5%;
    margin-top: 0;
}

#gameWrapper button {

}

#scoreBoardWrapper {
    grid-area: score-board-wrapper;
    margin-top: 5px;
    padding: 5px;
    margin-left: auto;
    margin-right: auto;
    width: 80%;
    border-radius: 4px;
    background: var(--color-white);

}

.dartScore {
    text-align: center;
    height: min(max(6vw, 20px), 70px);
    font-size: min(max(6vw, 20px), 70px);
}

.dartScore.D, .roundScore.D {
    color: var(--color-green);
}

.dartScore.T, .roundScore.T {
    color: var(--color-red);
}

.roundScore,.roundNumber,.roundStats {
    text-align: left;
    font-size: min(max(20px, 2vw), 40px);
    grid-column: span 2;
}

.roundStats {
    font-size: min(max(12px, 2vw), 40px);
    line-height: min(max(20px, 2vw), 40px);
}
#scoreBoardWrapper h1 {
    margin-top: 0;
    margin-bottom: 0;
    font-size: min(max(20px, 2vw), 40px);
    border-bottom: 2px solid black;
}

#scoreBoardWrapper h2 {
    margin-top: 0;
    font-size: min(max(20px, 2vw), 40px);
    font-weight: normal;
}


#modal {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 1; /* Sit on top */
    padding-top: 100px; /* Location of the box */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
    background-color: rgb(0, 0, 0); /* Fallback color */
    background-color: rgba(0, 0, 0, 0.4); /* Black w/ opacity */
}

#modalContent {
    background-color: #fefefe;
    margin: auto;
    padding: 20px;
    border: 1px solid #888;

    width: 80%;
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.75);
    -webkit-box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.75);
    -moz-box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.75);
}

.round {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
}


.keyboard {
    display: grid;
    margin-top: 5px;
    grid-gap: 3px;
    grid-template-columns: repeat(12, 1fr);
    max-width: 800px;
    margin-right: auto;
    margin-left: auto;
}

.keyRow {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(1em, 1fr));
    grid-gap: 3px;
    justify-items: center;
}

.key {
    border-radius: 4px;
    background-color: #27ae60;
    color: var(--color-white);
    border: 0;
    text-align: center;
    font-size: 4vh;
    font-family: sans-serif;
    text-transform: uppercase;
    cursor: pointer;
    padding: 4px;
}
.key.small{
    grid-column: span 2;
}
.key.regular{
    grid-column: span 4;
}
.key.wide {
    grid-column: span 6;
}
.canvasWrapper{
    text-align: center;
}