body {
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    background-color: lightslategray;
    display: flex;
    justify-content: center;
    align-items: center;
    
}
#container {
    width: 24em;
    height: 80%;
    border: 1px black solid;
    padding: 15px;
    background-color: rgb(22, 22, 22);
    border-radius: 15px;
    box-shadow: 0px 0px 16px 2px rgba(0,0,0,0.32);
}
#keys {
    width: 24em;
    height: 80.3%;
    
}

#flexContainer {
    display: flex;
    height: 100%;
}

#display {
    width: 100%;
    height: 20%;
    background-color: rgb(37, 37, 37);
    color: white;
    display: flex;
    flex-direction: column;
    border-radius: 5px 5px 0 0;
    box-shadow: inset 0px 0px 31px 10px rgb(22, 22, 22);
}
#display h1 {
    font-size: 4em;
    margin-right: 10px;
    display: flex;
    justify-content: end;
    align-items: flex-end;
    overflow: hidden;
}
span {
    display: flex;
    justify-content: end;
    margin: 10px 50px 0 0;
    color: rgb(180, 180, 180);
    font-size: 19px;
}

header {
    width: 100%;
    height: 21%;
    display: flex;
    background-color: rgb(156, 156, 156);
}
header button {
    height: 100%;
    width: 96.4px;
    border: 1px rgb(185, 185, 185) solid;
}
#grid-container {
    display: grid;
    grid-template-columns: 96px 96px 96px;
    height: 79%;
}
#grid-container button {
    border: 1px rgb(185, 185, 185) solid;
    
}

.radius-left {
    border-radius: 0 0 0 5px;
}
.radius-right {
    border-radius: 0 0 5px 0;
}


aside button {
    position: relative;
    height: 79%;
    border: none;
    border-left: 1px rgb(185, 185, 185) solid;
    border-top: 1px rgb(185, 185, 185) solid;
    background-color: #3bc03b;
    width: 96px;
}
aside button:hover {
    background-color: #27b327;
}
button:hover:not(aside button) {
    background-color: rgb(206, 206, 206);
}
button {
    font-size: 2em;
}

.disable {
    pointer-events: none;
    background-color: rgb(248, 66, 66);
}

@media (max-height: 600px) {
    #container {
        height: 90%;
    }
    #keys {
        height: 75%;
    }
    #display h1 {
        height: 100%;
        font-size: 40px;
    }
    span {
        margin-top: 0;
    }
}

@media (min-height: 490px) {
    #display h1 {
        font-size: 60px;
    }
}

@media (max-height: 310px) { 
 #container {
    height: 70%;
    width: 80%;
 }
 #grid-container {
    grid-template-columns: 67px 67px 67px 67px;
 }
 header {
    height: auto;
    width: 70%;
 }
 header button {
    width: 67px;
 }
 #display {
    flex-direction: row;
    justify-content: end;
 }
 #display h1 {
    font-size: 35px;
 }
 aside button {
    top: -41px;
    width: 103px;
    height: 105%;
 }
}
