body {
    /* system serif */
    font-family: Georgia, 'Times New Roman', Times, serif;
}

/* make h1 slightly faded */
h1 {
    color: #222222;
    font-size: 32px;
}

h2 {
    color: #333333;
    font-size: 22px;
}

/* make p slightly faded */
p {
    color: #444444;
    font-size: 18px;
}

/* lazy loading styles */
img.lazyload {
    opacity: 0;
    transition: opacity 150ms;
}
img.lazyloaded {
    opacity: 1;
}

/* image styles */
a.a-fancybox-link {
    display: inline-block;
}

a.a-fancybox-link img {
    /* limit width/height */
    max-height: min(450px, calc(100vh - 60px) );
    max-width: 100%;

    /* maintain aspect ratio */
    height: auto;
    width: auto;

    margin-bottom: 10px;
    display: block;
}
.f-caption {
    font-family: Georgia, 'Times New Roman', Times, serif;
}

/* section styling */
section {
    margin-bottom: 50px;
}

section h2 {
    /* stick to top as scrolled by */
    position: sticky;
    top: 0;
    background-color: white;
    padding-top: 10px;
    padding-bottom: 10px;
    border-bottom: 2px solid #cccccc;
    margin-top: 40px;
    margin-bottom: 20px;
}

section p.description {
    margin-bottom: 30px;
}

/* div.pair side by side */
div.pair {
    display: flex;
    gap: 10px;
}

section p {
    margin-top:0px;
    margin-bottom:20px;
}

div.photo p {
    margin-top: 0;
}

/* dark mode */
@media (prefers-color-scheme: dark) {
    body {
        background-color: #121212;
        color: #e0e0e0;
    }
    h1 {
        color: #dddddd;
    }
    h2 {
        color: #cccccc;
    }
    p {
        color: #bbbbbb;
    }
    section h2 {
        background-color: #121212;
        border-bottom: 2px solid #444444;
    }
}