.main-container {
    max-width: 1200px;
    margin: 0 auto;
}

body { 
    background: #FFFFFF; 
    padding: 0;
    margin: 0;
}

section {
    background-color: #000;
    padding: 20px;
    margin-bottom: 2em;
}

section:last-child {
    margin: 0;
}

header {
    background-color: #2c4059;
    margin-bottom: 1em;
    display: flex;
    justify-content: space-evenly;
    padding: 10px;
}

.logo {
    background-color: #ea5455;
    font-size: 20px;
    margin-top: 2%;
    margin-right: 1%;
    margin-left: 1%;
    margin-bottom: 2%;
    flex: 1; 
    padding: 10px; 
}

.logo:hover {
    transform: scale(1.20); /* changes the size and color of the element when hovering */
    background-color: magenta;
}

.nav {
    background-color: #ea5455;
    font-size: 20px;
    margin-top: 2%;
    margin-right: 1%;
    margin-left: 1%;
    margin-bottom: 2%;
    flex: 3;
    padding: 10px
}

.social {
    background-color: #ea5455;
    font-size: 20px;
    margin-top: 2%;
    margin-right: 1%;
    margin-left: 1%;
    margin-bottom: 2%;
    flex: 1;
    padding: 10px;
}

.banner {
    background-color: #fed700;
    font-size: 30px;
    font-weight: bold;
    padding: 10px;
    border: 20px solid #ff8b00;
}

.container {
    display: flex;
}

content {
    padding: 20px;
    background: #4e4e6a;
    flex-grow: 2;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    gap: 1em 1em;
}

content article {
    font-size: 20px;
    padding: 20px;
    margin-bottom: 1em;
    margin-left: 10px;
    background: #1f6cb0;
    flex-grow: 1;
    flex-basis: calc(50% - 5em);  
}

content nav {
    font-size: 20px;
    padding: 20px;
    flex-grow: 2;
    background: #617f8d;
}

aside {
    margin-left: 1em;
    font-size: 20px;
    padding: 30px;
    background: #f63f51;
}

aside .ad {
    font-size: 20px;
    padding: 20px;
    background: #ffd602;
    margin-bottom: 20px;
}

footer {
    font-size: 20px;
    background-color: #f0e78c;
    padding: 20px;
}

/* tablet screen responsive */

@media only screen and (min-width: 600px) and (max-width: 1024px) {

    body {
        background-color: red; /*changes screen color when on a tablet or medium size screens*/
    }

    header {
        flex-direction: column;
        align-items: stretch;
    }

    .logo, .nav, .social {
        margin: 0;
        margin-bottom: 10px;
        flex: none;
    }

    .banner {
        width: auto;
    }

    .container {
        flex-direction: column;
    }

    content nav {
        order: 1;
    }

    aside {
        margin-left: 0;
        margin-top: 1em;
        order: 2;
        width: auto;
    }

}

/* smartphone screen responsive */

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

    body {
        background-color: purple; /*changes screen color when on a smartphone or small screens*/
    }

    header {
        flex-direction: column;
        align-items: stretch;
    }

    .logo, .nav, .social {
        flex: none;
    }

    .banner {
        width: auto;
    }

    .container {
        flex-direction: column;
    }

    content article {
        flex-basis: 100% /* only one row per item for smaller screens */
    }

    aside {
        margin-left: 0;
        margin-top: 1em;
        order: 2;
        width: auto;
    }
}
