* {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    padding: 0;
    height: 100%;
}

/* === Time of day styling === */
:root {
    --bg-gradient: linear-gradient(to bottom,
            #87ceeb 0%,
            #b0e0e6 30%,
            #d8d8d8 60%,
            #a8c686 85%,
            #6b8e23 100%);
}

body {
    background: var(--bg-gradient);
    background-attachment: fixed;
    background-size: cover;
    background-repeat: no-repeat;
    transition: background 2s ease-in-out, background-color 2s ease-in-out;
}

.layout {
    display: flex;
    flex-direction: row;
    height: 100vh;
    width: 100vw;
}

.center-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
}

@media (orientation: portrait) {
    .layout {
        flex-direction: column;
    }

    .top-row {
        display: flex;
        flex-direction: row;
        width: 100%;
        z-index: 3;
    }

    .left-section,
    .right-section {
        padding: 0.25rem;
        align-content: center;
        justify-items: center;
        width: 50%;
        height: 100%;
    }

    .center-section {
        width: 100%;
        height: 85%;
        /* height: 75%; */
        justify-content: space-around;
    }
}

@media (min-height: 300px) and (orientation: landscape) {
    .center-section {
        width: 60%;
        justify-content: center;
    }

    .top-row {
        display: contents;
    }

    .left-section,
    .right-section {
        padding: 0.25rem;
        font-size: 0.7rem;
        display: flex;
        flex-direction: column;
        width: 20%;
        z-index: 2;
    }

    .right-section {
        order: 3;
    }
}

@media (max-height: 300px) and (orientation: landscape) {
    .center-section {
        width: 60%;
    }

    .top-row {
        display: contents;
    }

    .left-section,
    .right-section {
        padding: 0.25rem;
        font-size: 0.7rem;
        display: flex;
        flex-direction: column;
        width: 20%;
        z-index: 2;
    }

    .right-section {
        order: 3;
    }
}

@media (max-width: 300px) and (orientation: portrait) {

    .left-section,
    .right-section {
        font-size: 0.7rem;
    }

    .center-section {
        width: 100%;
        height: 85%;
        /* height: 75%; */
    }
}