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

/* Centering the page */
#page-wrapper{
    width: 80vw;
    margin: 0 auto;
}

/* Header starts */
header{
    display: flex;
    flex-direction: column;
    padding: 1vh 1vw;
    background-color: #809D3C;
    color: whitesmoke;
}
/* Header ends */

/* Font for Body */
body{
    font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
}

/* Two column container starts */
#container{
    width: 100%;
    display: flex;
    flex-direction: row;
    position: relative;
    background-color: #A9C46C;
}

/* Styling Navigation Bar */
nav{
    width: 30%;
}

nav ul{
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    background-color: antiquewhite;
    font-size: calc(2px + 2vw);
    text-align: center;
    list-style: none;
    padding-left: 0;
}

nav li{
    font-size: calc(2px + 2vw);
    width: 90%;
    background-color: antiquewhite;
    padding: 2vh 0;
    margin: 5vh auto;
}

nav a{
    text-decoration: none;
}

/* Styling Main */
main{
    display: flex;
    flex-direction: column;
    width: 70%;
    background-color: #A9C46C;
}

main h2{
    justify-content: center;
    align-self: center;
    color: whitesmoke;
    margin: 1.5vh auto;
}

#main-title{
    margin: 2vw 0;
    text-align: center;
    font-size: calc(2px + 2vw);
    color: whitesmoke;
}

#main{
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background-image: url("calc-background.jpg");
    background-size: 100% 100%;
}

#inputs-group{
    align-self: center;
    width: 70%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

#inputs-group label{
    margin-top: 1vw;
    color: whitesmoke;
}

#inputs-group input{
    width: 100%;
    padding: 1vh 1vw;
    border: 1px solid #ccc;
    margin-top: 6px;
    margin-bottom: 16px;
    resize: vertical;
}

#button-group{
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    padding-left: 0;
}

.button{
    background-color: white;
    color: black;
    border: 2px solid #555555;
    border-radius: 50%;
    padding: 2vh 2vw;
    margin: 4vh 1vw;
    transition-duration: 0.4s;
    cursor: pointer;
}

.button:hover{
    background-color: #555555;
    color: white;
}

#output-group{
    display: flex;
    flex-direction: row;
    justify-content: center;
    padding: 2vh 2vw;
    margin: 1vh auto;
    width: 20%;
    background-color: white;
    border: 2px solid #555555;
}

footer{
    background-color: #809D3C;
    color: whitesmoke;
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
}

footer a{
    color: bisque;
}

/* Adjusting for smaller screen size */
@media screen and (max-width: 1000px){
    main{
        display: flex;
        flex-direction: column;
        width: 100%;
        height: 100%;
        background-color: #A9C46C;
    }
}

@media screen and (max-width: 750px){
    header{
        align-items: center;
    }

    #container{
        width: 100%;
        height: 100vh;
        flex-direction: column;
    }

    nav{
        width: 100%;
    }

    /* Changing orientation of Navigation Bar */
    nav ul{
        display: flex;
        flex-direction: row;
        justify-content: space-evenly;
        background-color: antiquewhite;
        list-style: none;
        padding-left: 0;
    }

    nav li{
        font-size: calc(2px + 1.5vw);
        background-color: antiquewhite;
        padding: 1% .5%;
        margin: 1% .5%;
    }

    main{
        display: flex;
        flex-direction: column;
        width: 100%;
        height: 100%;
        background-color: #A9C46C;
    }

    #main-title{
        text-align: center;
        color: whitesmoke;
    }
}