*,
**,
::before, 
::after {
    box-sizing: border-box;
}

body {
    margin: 0; 
    padding: 0; 
}

.viewport {
    display: flex; 
    justify-content: center;
    align-items: center;
    height: 100vh; 
    background-color: rgb(188, 224, 224);
}

.main-container {
    display: flex; 
    flex-direction: column;
    justify-content: space-between; 
    background-color: rgb(50, 49, 49);
    border: 1px solid black; 
    border-radius: 18px;
    height: 530px; 
    width: 330px; 
    color: white; 
    font-family: "SF Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 30px; 
    font-weight: 100; 
}

.header {
    display: flex; 
    justify-content: space-between;
    width: 60px; 
    margin-top: 20px; 
    margin-left: 27px; 
}

.header-button {
    height: 14px; 
    width: 14px; 
    border-radius: 50%;
    background-color: rgb(86, 83, 83);;
}

.red-header-button {
    background-color: rgb(255, 92, 92);
}

.display-container {
    height: 100px; 
    margin-top: 35px; 
    margin-bottom: 10px; 
    margin-left: 15px; 
    margin-right: 15px; 
    padding: 10px; 
    font-size: 50px; 
    text-align: right;
    position: relative;
}

.display-text {
    width: 280px; 
    position: absolute; 
    right: 10px; 
    bottom: 5px; 
}

.keyboard-container {
    display: flex; 
    flex-direction: column;
    row-gap: 10px; 
    margin: 10px; 
    padding: 10px; 
}

.keyboard-row {
    display: flex; 
    justify-content: space-around;
}

.primary-button {
    display: flex; 
    height: 60px;
    justify-content: center;
    align-items: center;
    background-color: rgb(86, 83, 83); 
}

.primary-button:active {
    background-color: rgb(164, 164, 164);
}

.button {
    width: 60px; 
    border-radius: 50%;
}

.button:active {
    transform: scale(.95);  
}

.zero-button {
    justify-content: flex-start;
    width: 110px; 
    padding-left: 20px; 
    border-radius: 40px; 
}

.upper-button {
    background-color: grey;
    font-size: 22px; 
}

.upper-button:active {
    background-color: rgb(175, 175, 175);
}

.plus-fraction {
    margin-top: -10px; 
    margin-right: 2px;  
    font-size: 15px; 
}

.minus-fraction {
    margin-bottom: -5px; 
    margin-left: 2px; 
    font-size: 15px; 
}

.slash {
    border-left: 1px solid white; 
    transform: rotate(35deg);
    height: 22px;
}

.division-button {
    font-size: 34px; 
}

.operator-button {
    background-color: orange;
}

.operator-button:active {
    background-color: rgb(251, 210, 134);
}