body {
    margin-top: 0;
}

#container {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    padding: 0;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start; /* main axis */
    align-items: flex-start; /* cross axis */
}

header {
    width: 90%;
    margin: 0;
    padding: 0 5%;
    flex: initial; /* flex: 0 1 auto */
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between; /* main axis */
    align-items: flex-start; /* cross axis */
}

.date {
    width: 65%;
    margin: 0;
    padding: 0;
    flex: initial; /* flex: 0 1 auto */
}

.time {
    width: 35%;
    margin: 0;
    padding: 0;
    text-align: right;
    flex: initial; /* flex: 0 1 auto */
}

nav {
    width: 90%;
    margin: 0;
    padding: 0.5em 5%;
    flex: initial; /* flex: 0 1 auto */
    display: flex;
    flex-flow: row wrap;
    justify-content: space-evenly; /* main axis */
    align-items: stretch; /* cross axis */
}

button {
    width: 120px;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 15px;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    line-height: 2.5;
    font-weight: 600;
}

@media (min-width: 300px) and (max-width: 399px) {
    button {
        font-size: 0.875em; /* 14px */
    }
}

@media (min-width: 400px) and (max-width: 499px) {
    button {
        font-size: 0.9375em; /* 15px */
    }
}

@media (min-width: 500px) and (max-width: 599px) {
    button {
        font-size: 1em; /* 16px */
    }
}

@media (min-width: 600px) {
    button {
        font-size: 1.0625em; /* 17px */
    }
}

button:hover {
    cursor: pointer;
}

main {
    width: 100%;
    margin: 0;
    padding: 0;
    flex: initial; /* flex: 0 1 auto */
    display: flex;
    flex-flow: row wrap;
    justify-content: center; /* main axis */
    align-items: stretch; /* cross axis */
}

section {
    width: 80%;
    margin: 1em 0;
    padding: 0 5%;
    flex: initial; /* flex: 0 1 auto */
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start; /* main axis */
    align-items: flex-start; /* cross axis */
    background: #e9f1ff;
    border-radius: 15px;
}

section:last-child {
    margin-bottom: 2em;
}

/* Fonts */
p {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    line-height: 1.5;
    font-weight: 500;
    color: #1a1c1e;
}

dt {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    line-height: 1.5;
    font-weight: 500;
    color: #001d35;
}

dd {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    line-height: 1.8;
    font-weight: 400;
    color: #001d35;
    margin: 0;
}

@media (min-width: 300px) and (max-width: 399px) {
    p, dt, dd {
        font-size: 0.875em; /* 14px */
    }
}

@media (min-width: 400px) and (max-width: 499px) {
    p, dt, dd {
        font-size: 0.9375em; /* 15px */
    }
}

@media (min-width: 500px) and (max-width: 599px) {
    p, dt, dd {
        font-size: 1em; /* 16px */
    }
}

@media (min-width: 600px) {
    p, dt, dd {
        font-size: 1.0625em; /* 17px */
    }
}