*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/*variables*/
:root {
    --CAL_BGCOLOR: #99ff66;
    --CALDISPLAY_BGCOLOR: #d8e4d255;
    --AC_BGCOLOR: #266009d9;
    --OPERATOR_BGCOLOR: #41a50eb9;
    --NUMBER_BGCOLOR: rgba(245, 245, 245, 0.918);
}


main{
    width: 100vw;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.cal{
    width: 45%;
    height: 85%;
    background-color: var(--CAL_BGCOLOR);
    border: none;
    border-radius: 20px;
    padding: 10px;
    box-shadow: 0 0 5px rgb(26, 66, 5);
}

.cal_display{
    width: 100%;
    height: 30%;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-end;
    background-color: var(--CALDISPLAY_BGCOLOR);
    border-radius: 20px;
    box-shadow: 0 0 3px black;
    border: none;
    padding: 5px;
}

#calculation{
    font-size: 2em;
}

#answer{
    font-size: 3.5em;
}


/*BUTTON STYLIES*/
.cal_buttons{
    width: 100%;
    height: 70%;
    display: grid;
    grid-template-rows: repeat(5, 1fr);
    gap: 10px;
    padding: 20px 0;

}

.row{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.button{
    /* height: 8vh; */
}

.zero{
    grid-column: span 2;
    /* height: 8vh; */
}

.button button, .zero button{
    font-size: 1.5em;
    width: 100%;
    height: 100%;
    transition: all 0.3s ease;
}

.zero button:hover, .button button:hover{
    box-shadow: 0 0 5px black;
}

.button button{
    border: none;
    border-radius: 20px;
}

.zero button{
    border: none;
    border-radius: 20px;
}

.ac button, .operator button{
    color: whitesmoke;
}

.ac button{
    background-color: var(--AC_BGCOLOR);
}

.ac button:active, .button button:active{
    background-color: rgb(241, 109, 26);
}

.operator button{
    background-color: var(--OPERATOR_BGCOLOR);
}

.number button{
    background-color: var(--NUMBER_BGCOLOR);
}

.number button:active{
    background-color: rgb(224, 193, 16);
}