body {
    margin: auto;
    font-family: sans-serif;
    color: #1a4e6e;
    max-width: 70em; /* https://www.w3.org/WAI/tutorials/page-structure/styling/#line-length */
}

a, a:visited {
    color: #1a4e6e;
}

.hero-image {
    display: flex;
    flex-wrap: wrap;
}

.hero-image > article {
    flex: 1 1 35em;
}

.hero-image > p {
    flex: 0 1 35em;
    margin: 0;
}

.hero-image > div.logo {
    flex: 1;
    margin: 0;
}

.hero-image > article > h1 {
    text-align: center;
    margin: 0;
}

.hero-image > article > h1 > img {
    max-width: 350px;
}

.hero-image > article > div.subtitle {
    font-size: 1.8rem;
    font-weight: bold;
    margin: 0;
    text-align: center;
}

.hero-image > article > div.subtitle > p {
    margin: 0;
}

.hero-image > p img {
    width: 100%;
    vertical-align: bottom;
}

.hero-image > div.logo > p {
    text-align: right;
}

.hero-image > div.logo img {
    max-width: 200px;
}

main > div {
    display: flex;
    justify-content: space-around;
}

article.highlight {
    background-color: #005455;
    color: #ffffff;
}

article {
    padding: 1em;
    box-sizing: border-box;
}

article.highlight > p {
    text-align: center;
}

article.filled-block {
    background-color: #0d5772;
    color: #ffffff;
    padding: 1em;
}

article.filled-block a, div.filled-block a:visited {
    color: #ffffff;
}

dt {
  font-weight: bold;
}

dd, li {
  margin-bottom: 0.8em;
}

h2 {
    margin-top: 0;
}
