body {
    display: grid;
    grid-template-columns: .05fr 1fr .05fr;
    grid-template-rows: 5% 90% 5%;
    width: 100%;
    height: 100%;
    font-family: Verdana, Geneva, Tahoma, sans-serif;
    margin: 0;
}

header {
    grid-column-start: 1;
    grid-column-end: 4;
    grid-row-start: 1;
    text-align: center;
    margin: auto;
    color: hsl(330, 3%,   24%);
    font-size: 1rem;
}

#calc {
    display: grid;
    grid-column-start: 2;
    grid-row-start: 2;
    grid-template-rows: 20% 80%;
    grid-template-columns: 65% 35%;
    background: hsl(207, 74%, 85%);
    border-radius: 1.1rem;
    margin: auto;
    --calc-width: 100%;
    width: var(--calc-width);
    height: calc(var(--calc-width) / 1.2);
    max-width: 600px;
    z-index: 5;
}

#screen {
    background: hsl(330, 5%, 57%);
    grid-area: 1 / 1 / 1 / 3;
    color: white;
    padding-right: 10%;
    border-radius: 1.1rem 1.1rem 0 0;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    font-size: 3rem;
}

input {
    -webkit-appearance: none;
    -moz-appearance: none;
    text-decoration: none;
    margin: 0;
    font-family: inherit;
    font-size: 1rem;
    text-align: center;
}

/* left side of calculater */

#calc-left {
    grid-row-start: 2;
    display: grid;
    grid-template-columns: 5% 1fr 1fr 1fr 5%;
    grid-template-rows: 5% 1fr 1fr 1fr 1fr 1fr 5%;
    background: hsl(330, 84%, 81%);
    border-radius: 0 0 0 1.1rem;
}

#clear-buttons {
    grid-row-start: 2;
    grid-column-start: 2;
    grid-column-end: 6;    
    display: grid;
    grid-template-columns: 5% 1fr 1fr 1fr 5%;
    grid-template-rows: 1fr 5%;
}

#backspace {
    grid-column-start: 2;

}

#clear {
    grid-column-start: 3;

}

#all-clear {
    grid-column-start: 4;

}

#numbers {
    grid-row-start: 3;
    grid-row-end: 7;
    grid-column-start: 2;
    grid-column-end: 6;
    display: grid;
    grid-template-columns: 5% 90% 5%;
    grid-template-rows: 5% 1fr 1fr 1fr 1fr 5%;
}

#num-first-row {
    grid-row-start: 2;
    grid-column-start: 2;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
}

#num-second-row {
    grid-row-start: 3;
    grid-column-start: 2;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
}

#num-third-row {
    grid-row-start: 4;
    grid-column-start: 2;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
}

#num-fourth-row {
    grid-row-start: 5;
    grid-column-start: 2;
    display: grid;
    grid-template-columns: 2fr 1fr;
}

.num-button, .decimal-button {
    height: 95%;
    width: 95%;
    margin: auto;
    background: hsl(207, 61%, 64%);
    color: white;
    border-radius: 8%;
    cursor: pointer;
    box-shadow: 0 0.2rem gray;
    font-size: .8rem;
}

.num-button:active, .decimal-button:active {
    background: hsl(207, 34%, 44%);
    box-shadow: 0 0.05rem darkgray;
}

.num-button:focus, .decimal-button:focus {
    outline: 0;
}

/* right side of calculator */

#calc-right {
    grid-row-start: 2;
    grid-column-start: 2;
    display: grid;
    grid-template-columns: 5% 1fr 1fr 1fr 5%;
    grid-template-rows: 5% 1fr 1fr 1fr 1fr 1fr 5%;
    background: hsl(330, 84%, 81%);
    border-radius: 0 0 0 1.1rem;
    background: hsl(207, 74%, 85%);
    border-radius: 0 0 1.1rem 0;
}

.launch-button {
    font-size: .8rem;
    grid-row-start: 2;
    grid-column-start: 2;
    grid-column-end: 5;  
    width: 95%; 
    height: 95%; 
    margin: auto;
    background: white;
    color: hsl(341, 90%, 40%);
    border-radius: 8%;
    cursor: pointer;
    box-shadow: 0 0.2rem gray;
}

.launch-button:active {
    background: hsl(341, 90%, 40%);
    box-shadow: 0 0.05rem darkgray;
    color: white;
}

.launch-button:focus {
    outline: 0;
}

#operators {
    grid-row-start: 3;
    grid-row-end: 7;
    grid-column-start: 2;
    grid-column-end: 5;
    display: grid;
    grid-template-rows: 5% 1fr 1fr 1fr 1fr 5%;
}



#op-first-row {
    grid-row-start: 2;
    grid-row-end: 3;
    grid-column-start: 1;
    grid-column-end: 5;
    display: grid;
    grid-template-columns: 1fr 1fr;
}

#op-second-row {
    grid-row-start: 3;
    grid-column-start: 1;
    grid-column-end: 5;
    display: grid;
    grid-template-columns: 1fr 1fr;
}

#op-third-row {
    grid-row-start: 4;
    grid-column-start: 1;
    grid-column-end: 5;
    display: grid;
    grid-template-columns: 1fr 1fr;
}

#op-fourth-row {
    grid-row-start: 5;
    grid-column-start: 1;
    grid-column-end: 5;
    display: grid;
    grid-template-columns: 1fr;
}

.op-button {
    height: 95%;
    width: 95%;
    margin: auto;
    background: hsl(330, 60%, 65%);
    color: white;
    border-radius: 8%;
    cursor: pointer;
    box-shadow: 0 0.2rem gray;
    font-size: .6rem;
}



.op-button:active {
    background: hsl(330, 45%, 40%);
    box-shadow: 0 0.05rem darkgray;
}

.op-button:focus {
    outline: 0;
}

.clear-button {
    height: 95%;
    width: 95%;
    margin: auto;
    background: hsl(341, 90%, 40%);
    color: white;
    border-radius: 8%;
    cursor: pointer;
    box-shadow: 0 0.2rem gray;
    font-size: .6rem;
}

.clear-button:active {
    background: hsl(341, 91%, 22%);
    box-shadow: 0 0.05rem darkgray;
}

.clear-button:focus {
    outline: 0;
}

#equals {
    background: hsl(147, 64%, 42%);
}

#equals:active {
    background: hsl(147, 54%, 32%);
}

#background {
    grid-column-start: 1;
    grid-column-end: 4;
    grid-row-start: 1;
    grid-row-end: 4;
    height: 100%;
    width: 100%;
    margin: 0;
}

#earth {
    background: hsl(191, 77%, 97%);
    height: 100%;
    width: 100%;
    /* animation: earth-out 10s; */
    animation-fill-mode: forwards; 
    margin: 0;
}

#grass {
    position: absolute;
    bottom: 0px;
    height: 40%;
    width: 100%;
    background: hsl(130, 50%, 70%);
}

/* 

.bush {
    width: 5rem;
    height: 4rem;
    background: hsl(130, 30%, 50%);
    position: relative;
    top: 10%;
    left: 10%;
    border-radius: 100% 0 0 100%;
}

.bush:after {
    content: "";
    position: absolute;
    width: 5rem;
    height: 5rem;
    background:hsl(130, 30%, 50%);
    border-radius: 100% 0 0 100%;
    transform: rotate(90deg) translate(-30%, -30%);
}

.bush:before {
    content: "";
    position: absolute;
    width: 5rem;
    height: 4rem;
    background:hsl(130, 30%, 50%);
    border-radius: 100% 0 0 100%;
    transform: rotate(180deg) translateX(-55%);
}

#foreground-left {
    top: 40%;
    left: 3%;
    transform: scale(1.4,1.2);
}

#background-right-small {
    top: -55%;
    left: 85%;
    transform: scale(0.6,0.5);
}

#background-right {
    top: -10%;
    left: 75%;
    transform: scale(1, 1.2);
}


.grass-lines {
    width: 1.5rem;
    height: 1.5rem;
    position: relative;
    bottom: 50%;
    left: 15%;
    border-radius: 60% 0 0 0;
    box-shadow: -0.2rem 0rem hsl(130, 50%, 50%);
}

.grass-lines:before {
    content: "";
    width: 1.5rem;
    height: 1.5rem;
    position: absolute;
    border-radius: 0 60% 0 0;
    box-shadow: 0.2rem 0rem hsl(130, 50%, 50%);
    left: -118%;
}

.grass-lines:after {
    content: "";
    width: 1.5rem;
    height: 2rem;
    position: absolute;
    border-radius: 25% 0 0 0;
    box-shadow: -0.2rem 0rem hsl(130, 50%, 50%);
    top: -50%;
    left: -4%;
}

#grass-back-right {
    bottom: 35%;
    left: 75%;
    transform: scale(0.8, 1);
}

#grass-fore-right {
    bottom: 50%;
    left: 90%;
    transform: scale(1.2, 1.2);
}

#grass-back-left {
    top: -45%;
    left: 25%;
    transform: scale(0.6, 0.8);
}

#grass-fore-left {
    bottom: 20%;
    left: 20%;
    transform: scale(0.9, 1.2);
}

*/

#sun {
    content: "";
    width: 5rem;
    height: 5rem;
    position: absolute;
    right: 15%;
    top: 5%;
    background: yellow;
    border-radius: 100%;
}

.clouds {
    width: 2.5rem;
    height: 2.5rem;
    position: absolute;
    left: 15%;
    top: 25%;
    background: white;
    border-radius: 100%;
    animation: floating 15s linear infinite;
}

.clouds:before {
    content: "";
    width: 2rem;
    height: 2rem;
    position: absolute;
    top: 25%;
    right: 55%;
    background: white;
    border-radius: 100%;
}

.clouds:after {
    content: "";
    width: 2rem;
    height: 2rem;
    position: absolute;
    top: 15%;
    left: 50%;
    background: white;
    border-radius: 100%;
}

#big-cloud {
    transform: scale(1.3, 1.3);
    top: 5%;
    left: 5%;
}

#big-cloud:before {
    top: 10%;
    right: 40%;
}

#small-cloud {
    transform: scale(0.8, 0.8);
    left: 85%;
    top: 10%;
}


#space {
    position: absolute;
    background: linear-gradient(
        hsl(330, 3%, 5%) 50%, 
        hsl(191, 77%, 97%) 
    );
    /* animation: space-in 10s;    */
    height: 200%;
    width: 100%;
    top: -200%;
    
}

.star {
    width:.1rem;
    height:.1rem;
    border-radius: 100%;
    background: white repeat top center;
    position: absolute;
    top: 5%;
    left: 5%;
    box-shadow: 0 0 .2rem .2rem white;
}


@keyframes floating {
    0% {
        transform: translate(-150vh,0);
    }
    100% {
        transform: translate(200vh,0);
    }
}

@keyframes twinkle {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes earth-out {
    0% {
        transform: translate(0,0);
    }
    100% {
        transform: translate(0, 199%);
    }
}

@keyframes space-in {
    0% {
        transform: translate(0,0);
    }
    100% {
        transform: translate(0, 100%);
    }
}

@keyframes earth-in {
    0% {
        transform: translate(0,199%);
    }
    100% {
        transform: translate(0, 0%);
    }
}

@keyframes space-out {
    0% {
        transform: translate(0,100%);
    }
    100% {
        transform: translate(0,0);
    }
}