* {
    color: #ffffff;
    font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande',
    'Lucida Sans', Arial, sans-serif;
}

body {
    background-color: #121213;
}

.container {
    height: 90vh;
    width: 330px;
    margin: 0 auto;
}

.title {
    text-align: center;
    border-bottom: solid 1px #3a3a3c;
    margin-bottom: 0.5rem;
}

.title h1{
    margin: 0.8rem 0;
}

.tiles {
    margin-bottom: 1.5rem;
}

.keyboard {
    width: 25rem;
    display: flex;
    flex-wrap: wrap;
    position: fixed;
    bottom: 0;
    margin-left: 1rem;
    margin-bottom: 1.5rem;
    left: 50%;
    transform: translateX(-50%);
}

.keyboard button {
    width: 2rem;
    height: 2.8rem;
    border-radius: 0.3rem;
    border: none;
    background-color: #818384;
    margin: 0.2rem 0.15rem;
    font-size: 1rem;
}

.keyboard button:active,
.keyboard button.active{
    opacity: 0.8;
}

.keyboard button:nth-child(11) {
    margin-left: 1.3rem;
}

.keyboard button:nth-child(20),
.keyboard button:nth-child(28) {
    width: 3.2rem;
    font-size: 0.8rem
}

.tiles div {
    display: flex;
}

.tiles .tile {
    width: 60px;
    height: 60px;
    border: 2px solid#3a3a3c;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0.2rem;
    font-size: 2.7rem;
    font-weight: 500;
}

.message {
    margin-bottom: 0.5rem;
    height: 2rem;
}

.message p {
    background-color: #818384;
    border-radius: 0.8rem;
    padding: 0.6rem;
    margin: 0;
    text-align: center;
}

.tile.pulse {
    animation: 0.5s linear pulse;
}

.tile.flip {
    animation: 0.5s linear flipping;
}

.tile.bounce{
    animation: 0.8s linear bounce;
}

div.shake{
    animation: 0.3s linear shaking;
}

@keyframes pulse {
    0% {
        transform: scale(1,1);
    }
    50% {
        transform: scale(1.15,1.15);
    }
    100% {
        transform: scale(1,1);
    }
}

@keyframes flipping {
    0% {
        transform: rotateX(0deg);
    }
    50% {
        transform: rotateX(90deg);
    }
    100% {
        transform: rotateX(0deg);
    }
}

@keyframes bounce {
    0% {
        transform: translateY(0%);
    }
    25% {
        transform: translateY(-15%);
    }
    50% {
        transform: translateY(-30%);
    }
    75% {
        transform: translateY(-15%);
    }
    100% {
        transform: translateY(0%);
    }
}

@keyframes shaking {
    0% {
        transform: translateX(-2%);
    }
    20% {
        transform: translateX(0%);
    }
    40% {
        transform: translateX(2%);
    }
    60% {
        transform: translateX(0%);
    }
    80% {
        transform: translateX(-2%);
    }
    100% {
        transform: translateX(0%);
    }
}



.grey-bg {
    background-color: #3a3a3c !important;
    border:none !important;
}
.yellow-bg {
    background-color: #b59f3a !important;
    border:none !important;
}

.green-bg {
    background-color: #538d4e !important;
    border:none !important;
}