:root {
    --primary-color:  rgb(54, 129, 214);
    --secondary-color:  rgb(255, 255, 255);
    --third-color: rgb(11, 75, 148);
}

body {
    text-align: center;
    font-family: Arial, Helvetica, sans-serif;
    background-color: var(--primary-color);
    color: var(--secondary-color);
}

.start {
    width: 100%;
    height: 100%;
    display: block;
}

.choose-mode {
    display: inline-block;
}

.choose-difficulty {
    display: none;
    width: 400px;
}

button, .submit-form {
    padding: 10px;
    background-color: var(--secondary-color);
    border-radius: 3px;
    border: none;
    width: 100px;
    margin: 10px;
    box-sizing: border-box;
    cursor: pointer;
    box-shadow: 5px 5px rgba(0, 61, 117, 0.5);
}

.button-wrapper {
    height: 70px;
    width: 150px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: auto;
}

.menu {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
}

button:active, .submit-form:active {
    margin-left: 15px;
    margin-top: 15px;
    box-shadow: none;
}

.form {
    width: 200px;
    display: none;
}

form * {
    padding: 10px;
    margin: 10px auto;
    text-align: center;
}

.game {
    display: none;
    text-align: center;
}

.scoreboard div {
    display: inline-block;
    padding: 20px;
}

#gameboard {
    display: grid;
    grid-template-columns: repeat(3, minmax(100px, 200px));
    grid-template-rows: repeat(3, minmax(100px, auto));
    justify-content: center;
    max-width: 600px;
    margin: auto;
}

.square {
    font-size: 75px;
    display: flex;
    justify-content: center;

    height: 0;
    padding-bottom: 100%;
    padding-right: 33.33%;
    padding-left: 33.33%;

    background-image: none;
    background-size: 90%;
    background-repeat: no-repeat;
    background-position: center;
}

.top, .middle {
    border-bottom: 10px dashed var(--secondary-color);
}

.center {
    border-left: 10px dashed var(--secondary-color);
    border-right: 10px dashed var(--secondary-color);
}

.modal {
    display: none;
    position: fixed;
    left: 25%;
    top: 25%;
    z-index: 1;
    background-color: var(--secondary-color);
    border-radius: 3px;
    padding: 20px;
    width: 50%;
    margin: auto;
    color: var(--primary-color);
}

.open-modal {
    display: block;
}

#close-modal {
    background-color: var(--primary-color);
    color: var(--secondary-color);
    box-shadow: none;
}

#close-modal:active {
    margin: 10px;
}