* {
    margin: 0;
    padding: 0;
}

p {
    margin: 1em 0; /* Restore default-like spacing between paragraphs */
}

img {
    max-width: 100%;
    height: auto;
    width: auto\9; /* ie8 */
}

body {
    box-sizing: border-box;
    font-family: 'Crimson Text', serif;
    padding: calc(0.5em + 1.5625vw);
    padding-bottom: 6em;
    display: flex; /* Make body a flex container */
    flex-direction: column; /* Stack children vertically */
    min-height: 100vh; /* Ensure body spans at least viewport height */
}

ul {
	list-style-position: inside;
	list-style: none;
	margin: 1.25em;
}	

li:not(:last-child) {	
	padding-bottom: 1.25em;
}

.h4 {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    font-size: 1.1em;
}

.h5 {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    font-size: 1em;
}

.heading {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    margin-top: 1em;
    margin-bottom: 1em;
}

.main {
    margin-left: auto;
    margin-right: auto;
    max-width: 700px;
    margin-bottom: 2em;
    flex-grow: 1; /* Takes available space, pushing footnote down */
}

.imgblock {
    width: 85%;
    max-width: 850px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.quote {
    color: darkgray;
    font-style: italic;
    margin-left: auto;
    margin-right: auto;
    width: 85%;
    max-width: 650px;
}

.footnote {
    margin-top: 1em;
    margin-bottom: 1em;
    max-width: 700px; /* Match .main for alignment */
    margin-left: auto;
    margin-right: auto;
    color: darkgray;
    font-style: italic;
}

.bottomheader {
    margin-top: 1em;
    margin-bottom: 1em;
    min-height: 76px;
    padding-bottom: 48px;
    overflow: hidden;
}

html {
    padding-bottom: 2.5em;
}