#site-header {
    display: flex;
    flex-flow: row wrap;
    align-items: center;

    >* {
        padding: .25rem;
    }

    h1 {

        margin: 0;
    }
}

#site-navigation {
    > :is(ul, ol) {
        margin: 0;
        padding: 0;

        li {
            display: inline-block;
        }
    }
}


#site-controls {
    font-size: 1.25rem;
}

#site-footer {
    nav {

        ul,
        ol {
            padding: 0;
        }

        > :is(ul, ol) {
            li {
                display: inline-block;
                /* Use only the space needed to display links */
            }
        }
    }
}

figure {
    text-align: center;

    figcaption {
        margin: auto;

        @media (orientation: landscape) {
            &::after {
                content: '...and has a hidden message when viewing in portrait mode';
            }
        }
    }
}

.glossary {
    margin: 2rem 0;
    padding: 2rem;
    font-family: sans-serif;
    background-color: #f9f9f9;
    /* light base */
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40'><path d='M0 0 L40 40 M40 0 L0 40' stroke='%23e0e0e0' stroke-width='0.5'/></svg>");
    background-repeat: repeat;
    border-radius: 0.5rem;

    &:is(:focus-within, :hover) {
        transition: box-shadow transform 0.6s ease;
        box-shadow: 0 0.5em 1em hsl(180, 29%, 49%);
        outline: solid hsl(180, 29%, 49%);
        font-weight: bolder;
    }
}


.glossary dt {
    font-weight: 700;
    /* Make terms stand out */
    margin-top: 1rem;
    /* Space before each term */
    color: #2c3e50;
    /* Dark term color */
}

.glossary dt dfn {
    font-style: italic;
    /* Emphasize defined term */
    color: #e74c3c;
    /* Optional: colored highlight */
}

.glossary dd {
    margin: 0.25rem 0 1rem 1rem;
    /* Indent and spacing for definition */
    line-height: 1.5;
    color: #34495e;
}

.glossary dd a {
    color: #2980b9;
    text-decoration: underline;
}

.glossary dd a:hover,
.glossary dd a:focus {
    color: #1c5980;
    text-decoration: none;
}