html {
	height:100%;
}

body {
	padding:0;
	position:relative;
	height:100%;
}

main {
	min-height:88%;
	display:block;
}

footer {
	min-height:12%;
}

main, footer {
	float:right;
	width:75%;
	padding:2em;
	margin:0;
}

body.museum-passes.popup main, body.museum-passes.popup footer {
	min-width: calc(95% - 6.25em); /* 95% is 100% - 5% padding */
}

.event-day, .event-time {
	display:inline-block;
	padding-right:1em;
	margin-bottom:1em;
	text-transform:uppercase;
}

.event > h2, .event > h3, .event > h4, .event-location, .event-description, .event-detail-link, .event-register-link, .event-fee {
	display:block;
	line-height:1.5;
	margin-bottom:1em;
}

.event > h2 {
	margin-bottom:0;
}

.event-description {
	position:relative;
}

.event-description img {
	width:auto;
}

.event-description img[align="left"] {
	margin:0 1em 1em 0;
}

.event-description img[align="right"] {
	margin:0 0 1em 1em;
}

.event-featured-image {
	position:absolute;
	left:2.5%;
	top:2em;
	width:20%;
	margin:0;
}

body.museum-passes.popup .event-featured-image {
	max-width:6.25em;
}

.event-detail-link {
	font-size:0.875em;
}

.event-registration-information {
	padding:1em 0;
}

.event-registration-information h3, .event-registration-information p {
	margin-bottom:1em;
}

/*.event-registration-information p:last-child {
	margin-bottom:0;
}*/

.event-registration-information .alert {
	margin-bottom:1em;
}

@media all and (max-width: 31.25em) { /* 500px @ 100% */

	main, footer {
		float:none;
		width:100%;
	}

	.event-featured-image {
		position:relative;
		left:auto;
		top:auto;

		float:right;
		width:auto;
		max-width:150px;
		margin:0 0 1em 1em;
	}

}

@media all and (max-width: 25em) { /* 400px @ 100% */

	.event-featured-image, .event-description img {
		float:none;
		width:100%;
		max-width:100%;
		margin:1em 0;
	}

	.event > h2 {
		margin-bottom:1em;
	}

	.event-day, .event-time, .event-location {
		display:block;
	}

}