@import url('https://fonts.googleapis.com/css2?family=Rubik+Scribble&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Rubik+Scribble&family=Teko:wght@300..700&display=swap');
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.container{
    height: 100vh;
    width: 100vw;
    display: flex;
    justify-content:center;
    align-items: center;
    background-color: rgb(38, 43, 47);
}

.text{
    font-size: 5vw;
    font-family: "Rubik Scribble", system-ui;
    margin:0 5vw 0 2vw;
    color: rgb(255, 149, 0);
    font-weight: bolder;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.text span{
    padding-top: 3vh;
    font-size: 40px;
    font-family: "Teko", sans-serif;
    font-weight:lighter;
    color: aliceblue;
    text-align: center;
}

.frame{
    height: 40rem;
    width: 25rem;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 0 30px -3px rgb(202, 222, 255);
    border-radius: 40px;
    flex-direction: column;
    font-size: 10px;
    gap: 5vh;
    margin:0 2vw 0 5vw;
    background-color: rgb(50, 50, 50);
    padding-top: 1.5em;
}

.top{
    height: 30%;
    width: 90%;
    border-radius: 1rem;
    margin-top: 2rem;
    background-color: rgb(116, 127, 136);
    box-shadow: inset 0 0 30px 20px rgb(84, 92, 98);
    border: 5px solid rgb(64, 70, 75);
    font-family: "Teko", sans-serif;
    font-size: 5em;
    display: flex;
    justify-content:flex-end;
    align-items: last baseline;
    padding: 10px 10px 0 10px;
    overflow-wrap: break-word;
    overflow: scroll;
}

.bottom{
    height: 70%;
    width: 90%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    font-size: 4em;
    font-family: "Teko", sans-serif;
    gap: 5vh;
    margin-bottom: 1.5rem;
}

.mini_dis{
    margin-left: 4rem;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    height: 10%;
    width: 100%;
    gap: 1rem;
}

#display{
    margin-right: 5px;
    height: 2.5rem;
    width: 8rem;
    border: 4px solid rgb(64, 70, 75);
    border-radius: 5px ;
    background-color: rgb(116, 127, 136);
    box-shadow: inset 0 0 10px 5px rgb(84, 92, 98);
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: .7em;
    overflow: hidden;
    padding-top: 3px ;
}

.mini_dis .opitem{
    height: 4rem;
    width: 4rem;
    background-color: rgb(0, 201, 201);
    box-shadow: 1px 1px 3px 0px rgb(132, 210, 255);
}

.bottom_num{
    display: flex;
    flex-direction: row-reverse;
    gap: 10px;
}

.number{
    display: grid;
    grid-template-columns: repeat(3,4rem);
    grid-template-rows: repeat(4,4rem);
    gap: 1rem;
}

.operator{
    display: grid;
    grid-template-rows: repeat(4,4rem);
    grid-template-columns: repeat(1,4rem);
    gap: 1rem;
}

.numitem{
    background: rgb(68, 72, 76);
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    box-shadow: 1px 1px 6px 0px rgb(138, 142, 151);
    color: rgb(147, 153, 159);
}

.numitem:hover{
    cursor: pointer;
    box-shadow: inset 0px 0px 30px 2px rgb(109, 125, 136);

}

.opitem{
    background: rgb(114, 118, 130);
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    box-shadow: 1px 1px 5px 0px rgb(248, 251, 255);
    color: rgb(54, 58, 62);
}

.opitem:hover{
    cursor: pointer;
    box-shadow: 0px 0px 30px 5px rgb(68, 84, 95);
    scale: 1.02;
}

.number .opitem{
    background-color:orange;
    box-shadow: 1px 1px 1px 1px rgb(255, 182, 105);
}

.number .opitem:hover{
    box-shadow: 0px 0px 10px 0px rgb(255, 132, 31);
}

@media screen and (max-width: 920px){
    .container{
        flex-wrap: wrap;
        flex-direction: column-reverse;
    }
    .text{
        margin-top: 3vh;
        font-size: 4rem;
        transition: all 1s ease-in-out;
        font-family: "Teko", sans-serif;
    }

    .text span{
        display: none;
    }

    .frame{
        height: 34rem;
        width: 20rem;
    }

    #display{
        width:6rem;
    }

    .number{
        grid-template-columns: repeat(3,3rem);
        grid-template-rows: repeat(4,3rem);
    }
    .operator{
        grid-template-rows: repeat(4,3rem);
        grid-template-columns: repeat(1,3rem);
    }
    .mini_dis .opitem{
        height: 3rem;
        width: 3rem;
        font-size: 2.1rem;
    }
}