:root {
    --player-1-color: #16d2eb;
    --player-2-color: #ca22e7;
    --color-board: #808080;
    --color-background: #f5f5f5;
    --color-background-hover: #bebebe;
    --color-text: #202020;
    --dot-size: max(4vw, 40px);
}

[data-theme="dark"] {
    --player-1-color: #4DD0E1;
    --player-2-color: #AB47BC;
    --color-board: #505050;
    --color-background: #242424;
    --color-background-hover: #8d8d8d;
    --color-text: #FFFFFF;
    --dot-size: max(4vw, 40px);
}

.connect-4-logo{
    width: 15em; 
    height: 15em;
    padding-top: 1em;
    margin: auto;
}

.paragraph{
    margin-top: 0.8em;
    margin-bottom: 1.5em;
}

.buttons{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.game-button{
    padding: 0.6em;
}

h2 {
    margin: 0em;
    padding-top: 0.4em;
    padding-bottom: 0.5em;
}

.connect-4-header-container{
    display: contents;
}

.connect-4-header{
    display: inline-flex;
    flex-wrap: wrap;
    text-align: center;
    align-items: center;
    padding-top: 1em;
    padding-bottom: 1em;
}

@media only screen and (max-width: 740px) {
    .connect-4-header{
        justify-content: center;
    }
}

.connect-4-header:hover{
    color: var(--color-text);
}

.connect-4-header-text{
    padding: 1em;
    text-align: left;
}

@media only screen and (max-width: 470px){
    .connect-4-header-text{
        text-align: center;
    }
}

.center {
    text-align: center;
    margin-left:auto; 
    margin-right:auto;
}

.text-spacing{
    padding-top: 1em;
    padding-bottom: 1em;
}

.board-center{
    text-align: center;
    margin-left:auto; 
    margin-right:auto;
}

.board-flex{
    display: inline-flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    border: max(0.6vw, 3px);
    border-color: var(--color-board);
    border-style: solid;
    border-radius: 3%;
    background: var(--color-board);
}

.pure-g{
    display: inline-flex;
    flex-flow: nowrap;
    justify-content: center;
}

.dot-container{
    min-width: min-content;
    border: min(0.6vw, 3px) solid transparent;
}

.dot {
    width: var(--dot-size);
    height: var(--dot-size);
    background-color: var(--color-background);
    border-radius: 50%;
    margin: 0;
}

.red-dot {
    background-color: var(--player-1-color)
}

.yellow-dot {
    background-color: var(--player-2-color)
}

@media (hover :hover){
    .dot:hover{
        background-color: var(--color-background-hover);
    } 

    .red-dot:hover {
        background-color: var(--player-1-color)
    }
    
    .yellow-dot:hover {
        background-color: var(--player-2-color)
    }  
}

.pure-button{
    display: inline;
    margin-bottom: 2em;
    min-width: 10em;
}

.invis {
    visibility: hidden;
}

body {
    background-color: var(--color-background);
    color: var(--color-text);
}

a {
    color: var(--color-text);
    text-decoration: none;
}

h1 {
    margin: 0%;
}