/**
 * @module static/style.css
 * @description Cascading Style Sheet for the overall site.
 */

:root {
    color-scheme: light dark;
    --color-cornflower-blue: #7493e3ff;
    --color-sky-blue: #9bd4ebff;
    --color-cambridge-blue: #6e8387ff;
    --color-almond: #f2e4d8ff;
    --color-azure: #1979eeff;

    color: black;
    background-color: color-mix(in srgb, var(--color-sky-blue), white);
    font-family: system-ui, 'Verdana', sans-serif;
    text-rendering: optimizeLegibility;
}

body {
    margin: 0;
    display: flex;
    flex-direction: column;
    min-width: 320px;
    min-height: 100vh;
}

a {
    color: var(--color-cambridge-blue);

    &:hover {
        filter: brightness(90%);
    }
}

header, main, footer {
    margin: 0;
    padding: 1.0rem;
}

header, footer {
    background: var(--color-sky-blue);
}

header p.home-nav {
    color: color-mix(in srgb, var(--color-azure), blue);
    margin: 0;
    font-family: 'Garamond', 'Times New Roman', serif;
    font-weight: bold;
    font-size: 1.5rem;
}

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

header nav ul li {
    display: inline;
    margin: 0 0.5rem 0 0;
    padding: 0;
}

main {
    flex-grow: 1;
    max-width: 50.0rem;
    background: color-mix(in srgb, var(--color-sky-blue), white);
}

section.services summary {
    list-style: none;
    text-decoration: underline;
    padding: 0.25rem;
    margin: 0.25rem;
    border-radius: 1.0rem;
    background: color-mix(in srgb, var(--color-azure), white);
    cursor: pointer;
}

footer {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    font-size: 0.8rem;
}
