body {
    font-family: sans-serif;
}

.bold {
    font-weight: bold;
}

.primary {
    color: #5555ff;
}

.secondary {
    color: #ff7000;
}

h1, h2 {
    text-align: center;
}

main {
    display: flex;
    flex-flow: column wrap;
}

p {
    margin-top: .5em;
    margin-bottom: .5em;
}

aside {
    flex: 1;
    order: 1;
    border-width: 4px 0 0 0;
    border-color: #5555ff;
    border-style: solid;
    margin-inline: .25em;
    padding-inline: .5em;
    text-align: start;
}

article {
    flex: 2;
    border-width: 4px 0 0 0;
    border-color: #5555ff;
    border-style: solid;
    margin-inline: .25em;
    padding-inline: .5em;
}

hr {
    color: #5555ff;
}

aside h3 {
    color: #eeaa00;
    margin-top: 2em;
    margin-bottom: .75em;
}

aside h3:first-child {
    margin-top: 1em;
}

aside ul {
    list-style: none;
}

article h3 {
    color: #ff7000;
}

.time-range {
    font-style: italic;
}

.margin-y-1 {
    margin-top: 1em;
    margin-bottom: 1em;
}

footer {
    text-align: end;
    font-size: 0.9em;
    margin-top: 4em;
    margin-inline-end: 1em;
    padding-bottom: 1em;
}

@media (min-width: 700px) {
    main {
        display: flex;
        flex-flow: row nowrap;
    }

    aside {
        order: 0;
        border-width: 4px 2px 0 0;
        margin-inline-start: 1em;
        margin-inline-end: 0;
        padding-inline-start: 0;
        padding-inline-end: 1em;
        text-align: end;
    }

    article {
        border-width: 4px 0 0 2px;
        margin-inline-start: 0;
        margin-inline-end: 1em;
        padding-inline-start: 1em;
        padding-inline-end: 0;
    }
}

@media (min-width: 1200px) {
    article {
        flex: 3;
    }
}

@media (min-width: 1600px) {
    article {
        flex: 4;
    }
}

@media (min-width: 2000px) {
    article {
        flex: 5;
    }
}
