*
{
    font-family: Space Mono;
    font-weight: bold;
}

body
{
    background-color: rgb(201, 237, 247);
}

#app-name-container
{
    padding-bottom: 50px;
}

.app-name
{
    display: flex;
    justify-content: center;
    padding-top: 50px;
    font-size: 24px;
    color: hsl(183, 100%, 15%);
}

.container
{
    border-radius: 15px;
    background-color: hsl(0, 0%, 100%);
    display: flex;
    width: 820px;
    margin: auto;
    left: 0;
    right: 0;
    padding: 20px 0px;
}

div.left
{
    padding: 0px 40px;
    padding-bottom: 20px;
}

#input-and-error
{
    display: flex;
    justify-content: space-between;
}

#bill-error, #tip-error, #pp-error
{
    color: red;
}

.input
{
    font-size: 25px;
    color: hsl(183, 100%, 15%);
    font-weight: bold;
    background-color: hsl(0, 0%, 95%);
    border-radius: 5px;
    border: 0;
    text-align: right;
}

#tips
{
    display: grid;
    grid-template-rows: 35px 35px;
    grid-template-columns: 90px 90px 90px;
    grid-row-gap:    10px;
    grid-column-gap: 22px;
}

#tips .grid-item, #custom-input
{
    font-size: 20px;
    text-align: center;
    border-radius: 5px;
    border: 0px;
    color: white;
    background-color: hsl(183, 100%, 15%);
}

#tips #custom-input
{
    background-color: hsl(185, 41%, 84%);
    color: hsl(183, 100%, 15%);
}

div.right
{
    background-color: hsl(183, 100%, 15%);
    width: 40%;
    border-radius: 20px;
    padding: 40px;
}

div .tip-total
{
    display: flex;
    justify-content: space-between;
    overflow: hidden;
}

div #amount
{
    color: white;
}

 div #amount .per-person
{
    color: hsl(0, 0%, 81%);
    opacity: 0.5;
}

div .amount-num
{
    text-align: right;
    color: hsl(172, 67%, 45%);
} 

.button-container
{
    position: relative;
    top: 20px;
    padding-bottom: 20px;

}

.button
{
    font-size: 20px;
    background-color: hsl(172, 67%, 45%);
    width: 100%;
    border-radius: 5px;
    border: 0px;
    color: hsl(183, 100%, 15%);
    padding: 8px 0px;
}

#calculate:hover, .grid-item:hover, #reset:hover, #custom-input:hover
{
    opacity: 0.7;
}

.attribution 
{ 
    font-size: 11px; text-align: center; 
}

.attribution a 
{ 
    color: hsl(228, 45%, 44%); 
}
 
@media (max-width: 450px) 
{
    .container
    {
        flex-direction: column;
        width: 100%;
    }

    .input
    {
        width: 98%;
    }
    
    #tips
    {
        grid-template-rows: 40% 40% 40%;
        grid-template-columns: 47% 47%;
        grid-row-gap:    5%;
        grid-column-gap: 6%;
        padding-bottom: 10%;
    }
    
    #tips .grid-item, #custom-input
    {
        height: auto;
        width: auto;
    }

    div.right
    {
        width: 75%;    
        margin: 5%;
        padding: 8%;
    }
}