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

/* ==================================*/
/* universal styling */
/* all devices follow these rules */

#container {
    margin: 4px;
    min-height: 100vh;
}

header {
    height: 80px;
    background-color: #3772FF;
    padding: 8px;
}

#banner {
    width: 300px; height: 64px;
    background-color: rgba(255,255,255,.3);
}

main {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

main aside {
    background-color: #FF871F;
    min-height: 300px;
    flex: 0 0 200px;
    padding-bottom: 16px;
}


aside nav a {
    display: inline-block;
    width: 90%; height: 50px;
    background-color: #FFBE85;
    margin: 5% 5% 0 5%;
    
}

main article {
    background-color: white;
    min-height: 300px;
    flex: 1 0 0;
}

article .pretend_image {
    background-color: goldenrod;
    width: 250px; height: 250px;
    margin: 8px; 
    float: left;
}

article p {
    font-family: 'Open Sans', sans-serif;
    margin: 8px;
    font-size: 15pt;
    line-height: 1.5;
    margin
}


article header {
    background-color: green;
}

/* ==================================*/
/* responsive styling */
/* tablet and phone styling */

@media screen and (max-width: 800px) {

    main {
        flex-direction: column;
    }
    
    main aside {
        background-color: #FF871F;
        min-height: 80px; max-height: 80px;
        flex: 1 0 auto;
    }
    aside nav {
        display: flex;
    }
    aside nav a {
        background-color: #FFBE85;
        margin: 8px;
        height: 60px;
    }

    aside nav a:nth-child(4)
    aside nav a:nth-child(5) {
        display: none;
    }
    
    main article {
        min-height: 600px;
}

    article header {
        margin-top: 8px;
    }

    article .pretend_image {
        width: 100%; height: 250px;
        margin: 8px 0px 16px 0px;
        float: left;
    }

}

/* end of phone styling */