h1.title-header {
    font-size: 36px;
    font-weight: 500;
}

p.paragraph-text, li.bullet-point {
    font: 14px 'Lato', sans-serif;
    line-height: 1.3;
}

div.richard-webb-img-col {
    display: flex;
    justify-content: center;
}

div.richard-webb-img-col img.richard-webb-image {
    height: 200px;
}

div.block-section, div.flex-section {
    margin-bottom: 10px;
}

div.section-text.pad-left {
    padding-left: 20px;
}

div.section-text.pad-right {
    padding-right: 20px;
}

div.section-image img {
    width: 100%;
    border-radius: 12px;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}

div.section-image figcaption {
    margin-top: 10px;
    font: italic 14px/1.3 'Lato';
}

div.flex-section {
    display: flex;
    flex-wrap: wrap; /* Allows columns to wrap to the next line on smaller screens */
}

div.flex-section > div.flex-section-col {
    display: flex; /* Makes the column itself a flex container */
    flex-direction: column; /* Stacks content vertically within the column */
    justify-content: center;
}

@media (min-width: 768px) {
    div.richard-webb-img-col {
        justify-content: right;
        float: right;
        margin-top: 20px;
    }

    div.section-image img {
        aspect-ratio: 4 / 3;
    }

    div.block-section, div.flex-section {
        margin-bottom: 30px;
    }
}

@media (min-width: 992px) {
    div.richard-webb-img-col img.richard-webb-image {
        height: 280px;
    }

    p.paragraph-text, h2.section-title {
        margin-bottom: 24px;
    }

    p.paragraph-text, li.bullet-point {
        font-size: 16px;
    }

    h1.title-header {
        font-size: 40px;
        margin-bottom: 24px;
    }
}