html {
	width: 100%;
	height: 100%;
	background: #444 url('/assets/img/adventures-bg.jpg') no-repeat fixed 50% 50%;
	background-size: cover;
}

body {
	display: -webkit-flex;
	display: flex;
	min-height: 100vh;
	-ms-flex-direction: column;
	-webkit-flex-direction: column;
	flex-direction: column;
}

.wrapper {
	-webkit-flex: 1 1 auto;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-flow: column nowrap;
	-ms-flex-flow: column nowrap;
	flex-flow: column nowrap;
	min-height: 100vh;
}

	main {
		-webkit-flex: 1 1 auto;
		-ms-flex: 1 1 auto;
		flex: 1 1 auto;
	}

.page {
	box-sizing: border-box;
	width: 100%;
	max-width: 62rem;
	margin: 0 auto;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

header {
	background: rgba(149, 26, 29, 1);
	padding: 1.5em 0;
	margin: 0;
	color: #fff;
	box-shadow: 0 0.25em 0.5em rgba(0, 0, 0, 0.4);
}

	header h1 {
		font-weight: 600;
		margin: 0;
		padding: 0;
		letter-spacing: -1px;
		font-size: 2em;
	}

	header img {
		width: auto;
		height: 1.25em;
		vertical-align: middle;
		display: inline-block;
		margin: -0.125em 0.3125em 0 0;
		opacity: 0.5;
	}

main {
	display: block;
	padding: 3em 0;
}

form {
	background: rgba(0, 0, 0, 0.8);
	padding: 0 1.5em 1em;
	color: #fff;
}

form {
	width: 100%;
	max-width: 23em;
	float: right;
}

	.promise {
		font-size: 0.75em;
		margin: 0;
		padding: 0;
		float: left;
		width: calc(100% - 8em);
	}

	input[type=submit] {
		float: right;
		background: #951a1d;
		color: #fff;
		-webkit-transition: background 240ms ease;
		-ms-transition: background 240ms ease;
		transition: background 240ms ease;
	}

		input[type=submit]:hover,
		input[type=submit]:focus {
			background: #c72e32;
		}

	.input.input-submit {
		margin-top: 1em;
	}

		.input.input-submit:after {
			content: '';
			display: table;
			clear: both;
		}

footer {
	width: 100%;
	background: rgba(0, 0, 0, 0.85);
	color: #999;
	font-size: 0.75rem;
	line-height: 1.35;
	text-align: center;
	padding: 0.5em 0 ;
}

	footer p {
		padding: 0.25em 0;
		margin: 0 1.5em;
		display: inline-block;
	}

	footer a {
		color: #ff5054;
	}

	footer .page {
		padding-left: 0;
		padding-right: 0;
	}

@media screen and (max-width: 31.25em) {
	html {
		font-size: 1em;
	}

	header {
		padding: 0.75rem 0;
	}

	header h1 {
		font-size: 1.5rem;
	}

	.page {
		padding-left: 1rem;
		padding-right: 1rem;
	}
}

@media screen and (max-width: 25em) {
	.promise {
		width: auto;
		float: none;
		text-align: left;
		margin-bottom: 1em;
	}
}

@media screen and (max-height: 44em) {
	main {
		padding: 1.5em 0;
	}
}
