*{
    margin: 0;
    padding: 0;
    font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
    color: #776e65;
}

html{
    scroll-behavior: smooth;
}

body{
    background-color: antiquewhite;
}

.container{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.head{
    width: 25rem;
    height: 9.375rem;
    margin-top: 2rem;
}

.new-game{
    text-decoration: none;
}

.score{
    color: white;
    background-color: #776e65;
    height: 1.875rem;
    width: 5.625rem;
    border-radius: 0.2rem;
    float: right;
    display: flex;
    justify-content: center;
    align-items: center;
}

.title{
    font-size: 3.75rem;
    font-weight: bold;
}

.new-game:hover{
    cursor: pointer;
}

.board{
    height: 25rem;
    width: 25rem;
    background: #cdc1b5;
    border: 0.3125rem solid  #bbada0;
    border-radius: 0.3125rem;
    display: flex;
    flex-wrap: wrap;
}

.tile{
    height: 5.625rem;
    width: 5.625rem;
    border: 0.3125rem solid #bbada0;
    font-size: 3.125rem;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 500ms all linear;
}


.b2 {
    background-color: #eee4da;
    color: #727371;
}

.b4 {
    background-color: #ece0ca;
    color: #727371;
}

.b8 {
    background-color: #f4b17a;
    color: white;
}

.b16{
    background-color: #f59575;
    color: white;
}

.b32{
    background-color: #f57c5f;
    color: white;
}

.b64{
    background-color: #f65d3b;
    color: white;
}

.b128{
    background-color: #edce71;
    color: white;
}

.b256{
    background-color: #edcc63;
    color: white;
}

.b512{
    background-color: #edc651;
    color: white;
}

.b1024{
    background-color: #eec744;
    color: white;
}

.b2048{
    background-color: #ecc230;
    color: white;
}

.b4096 {
    background-color: #fe3d3d;
    color: white;
}

.b8192 {
    background-color: #ff2020;
    color: white;
}

.footer{
    width: 25rem;
    height: 12.5rem;
    margin-top: 5rem;    
}

p{
    font-size: 1.1rem;
}

.arrow-keys, .key{
    display: none;
}

.key{
    height: 5rem;
    width: 5rem;
    border-radius: 0.5rem;
    align-items: center;
    justify-content: center;
    background-color: #bbada0;
    margin: 0.5rem;
}

.key img{
    width: 4.5rem;
}

#keyup{
    align-items: center;
    justify-content: center;
}

@media only screen and (max-width: 500px) {
    :root {
        font-size: 12px;
    }
    .tile{
        height: 5.75rem;
        width: 5.75rem;
    }
    .arrow-keys, .key{
        display: flex;
    }
    .footer{
        margin-top: 2rem;
    }  
}

@media only screen and (max-width: 400px) {
    :root {
        font-size: 10px;
    }
    .arrow-keys, .key{
        display: flex;
    }
    .tile{
        height: 5.65rem;
        width: 5.65rem;
    }
    .footer{
        margin-top: 2rem;
    }  
}