html,
body {
	font-family: sans-serif;
	background: whitesmoke;
	color: black;
}

.pure-menu-horizontal {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.pure-menu-horizontal .pure-menu-item {
	height: auto;
}

.pure-menu-item form {
	display: inline;
}

.site-main {
	max-width: 48em;
	margin: 1.5em auto 3em;
	padding: 0 1em;
}

.narrow {
	max-width: 24em;
}

.banner {
	padding: 0.65em 0.75em;
	margin: 0 0 1em;
}

.banner.error {
	background: mistyrose;
	}

.banner.success {
	background: honeydew;
}

.form-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em;
	margin-top: 0.5em;
}

.output-calendar {
	margin: 1.25em 0 0;
	padding: 1em;
	border: 1px solid #ccc;
	background: #fff;
}

.output-calendar-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75em;
	margin-bottom: 0.75em;
}

.output-calendar-bar h3 {
	margin: 0;
	font-size: 1.1em;
}

.pure-form-stacked .subscribe-url {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 0.5em;
	margin: 0.25em 0;
}

.pure-form-stacked .subscribe-url input[type='url'] {
	display: block;
	box-sizing: border-box;
	flex: 1 1 0%;
	min-width: 0;
	width: 0;
	margin: 0;
}

.pure-form-stacked .subscribe-url .pure-button {
	flex: 0 0 auto;
	width: auto;
	margin: 0;
	align-self: stretch;
}

.table-wrap {
	overflow-x: auto;
}
