@charset "utf-8";

/* Minimal CSS reset. */
html { box-sizing: border-box; }
*, *:before, *:after { box-sizing: inherit; }
body, h1, h2, h3, h4, h5, h6, p, ol, ul { margin: 0; padding: 0; font-weight: normal; }

/* Page styling. */
html {
    font-family: "hoefler text", constantia, "linux libertine", "eb garamond", serif;
    line-height: 100%;
}

body {
    color: #333;
    padding: 0 2.1rem;
}

h1 {
    color: #111;
    font-size: 21px;
    margin-bottom: 0.9rem;
    text-rendering: optimizeLegibility;
}

header::before {
    border-bottom: 1px solid rgba(90, 90, 90, 0.3);
    bottom: 0;
    content: "";
    left: 0;
    line-height: 0;
    position: absolute;
    right: 0;
}

header::after {
    background: #fff;
    bottom: 0;
    content: "\10AF1";
    font-size: 21px;
    height: auto;
    left: 50%;
    line-height: 21px;
    margin-bottom: -10.5px;
    padding: 0 9px;
    position: absolute;
    transform: translate(-50%, 0);
}

header {
    margin: 9rem auto 0 auto;
    max-width: 24rem;
    min-width: max-content;
    padding-bottom: 0.9rem;
    position: relative;
}

header > nav > a {
    color: inherit;
    margin-left: 6px;
    padding: 6px 0 3px 0;
    text-decoration: none;
}

header > nav > a:first-child {
    margin-left: 0;
}

header > nav > a:hover, header > nav > a:focus {
    text-decoration: underline;
}

@media(min-width: 27rem) {
    header {
        align-items: center;
        display: flex;
    }

    h1 {
        margin-bottom: 0;
    }

    header {
        padding-bottom: 0.6em;
    }

    h1, header > nav {
        flex: auto;
        flex-basis: 0;
    }

    header > nav {
        display: flex;
        justify-content: flex-end;
    }

    header::before {
        left: 21px;
        right: 21px;
    }
}
