*, *::after, *::before {
    box-sizing: border-box;
}

:root {
    font: 1.2em/1.4 Arial, Helvetica, sans-serif;
}

.container {
    max-width: 80rem;
    padding: 1em;
    margin: 0 auto;
}

body {
    padding: 0 0 1em;
}

header {
    background-color: #333;
    color: #fff;
    border: 5px solid #000;

}

header ul {
    list-style: none;
    margin: 0;
    padding: 0;


}

header a {
    color: #fff;
    text-decoration: none;
    display: block;
    padding: 0.5em 1em;

}

header .title {
    font-size: 150%;
    font-style: italic;
    font-weight: bold;
    padding: 1em;
}

main {
    padding: 0 1em;


}

.cards {
    list-style: none;
    margin: 0;
    padding: 0;

}

.cards li {
    border: 5px solid #000;
}

.cards h2 {
    background-color: #333;
    color: #fff;
    margin: 0;
    padding: 0.5em 1em;
}

.cards .inner {
    padding: 0.5em 1em;
    display: flex;

}


.sidebar {
    background-color: #333;
    border: 5px solid #000;

}

@media (min-width: 40em ) {
    header {
        display: flex;
        align-items: center;
        justify-content: space-between;

        ul {
            display: flex;
            align-items: center;
            justify-content: flex-end;
        }

    }

    main {
        margin-top: 1rem;
        display: flex;
        gap: 1rem;

    }

    .cards {
        list-style: none;
        margin: 0;
        padding: 0;

        display: flex;
        justify-content: flex-start;

        flex-wrap: wrap;
        gap: 1rem;

        li {
            flex: 0 1 31.9%;
        }

    }

    .sidebar {
        background-color: #333;
        border: 5px solid #000;
        padding: 1em;
        flex: 0 1 25%;
        color: #fff;
    }

    article {
        margin: 0;
        flex: 1;
    }
}

