* {
	box-sizing: border-box;
}

body {
	font-family: 'Roboto', sans-serif;
	font-size: 18px;
	line-height: 1.6;
	background-color: #F1EDE6;
	color: #333;
}

a {
	color: #666;
}

a:hover {
	color: #666;
	text-decoration: none;
}

p {
	/*margin: 0;*/
	font-size: 16px;
}

.hero img {
	max-width: 100%;
}

h1 + p,
h2 + p,
h3 + p,
h4 + p {
	text-indent: 0;
}

h1, h2, h3 {
	font-family: 'Alegreya', serif;
	font-weight: 400;
}

h1, h2 {
	text-align: left;
	margin: 0;
}

h1 {
	font-size: 110%;
}

h2 {
	font-size: 310%;
}

.homepage h2 {
	font-size: 200%;
	font-family: 'Lato', sans-serif;
}

h3 {
	font-size: 180%;
	margin: .4em 0;
}

ul#menu {
	padding: 1em 0;
	margin: 1em auto;
	border-top: 1px solid #BBB;
}

ul#menu li {
	list-style-type: none;
	display: inline-block;
	margin: 0;
	padding: 0 0.5em;
}

ul#menu li:first-child {
	padding: 0 0.5em 0 0;
}

ul.timeline li {
	list-style-type: none;
}

.container {
	width: 700px;
	margin: 0 auto;
}

.hero {
	text-align: left;
}

.hero p.names {
	font-size: 380%;
	font-family: 'Alegreya', serif;
}

.hero p.names span
{
	font-style: italic;
	font-size: 145%;
	display: inline-block;
	margin-right: .1em;
	margin-top: -1em;
}

.flex {
	display: flex;
	justify-content: center;
	height: 90vh;
}

.flex.homepage {
	align-items: center;
}

.map {
	margin: 1em 0;
}

table {
	width: 100%;
}

input[type=text],
input[type=email],
input[type=number] {
	font: inherit;
	padding: 6px 14px;
	width: 100%;
}

input[type=radio],
input[type=checkbox] {
	font: inherit;
	margin-right: 1em;
}

input[type=button],
input[type=submit] {
	font: inherit;
	padding: 5px 10px;
}

label.required::after {
	content: '*';
	color: #bf0000;
	display: inline-block;
	font-size: 100%;
	margin-left: .2em;
}

textarea {
	font: inherit;
	width: 100%;
	height: 8em;
	padding: 6px 14px;
}

th {
	text-align: right;
	width: 30%;
}

td, th {
	padding: 5px 20px;
}

/*.gallery-container {
	display: flex;
	flex-flow: column wrap;
	align-content: space-between;
	height: 17400px;
}

.gallery-item {
	width: 32%;
	margin-bottom: 2%;
}

.gallery-item img {
	max-width: 100%;
}

.gallery-item:nth-child(3n+1) { order: 1; }
.gallery-item:nth-child(3n+2) { order: 2; }
.gallery-item:nth-child(3n)   { order: 3; }

.gallery-container::before,
.gallery-container::after {
	content: "";
	flex-basis: 100%;
	width: 0;
	order: 2;
}*/
