* {
    -moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-tap-highlight-color: transparent;
}

html, body {
	margin: 0;
	padding: 0;
}

html {
	min-height: 100%;
}

body {
	width: 100%;
	height: 100%;
	font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
	font-size: 10px;
	background-color: #f6f5f5;
	color: black;
}

body > header {
	position: relative;
	height: 5em;
	background-color: #e8e8e8;
}

strong {
	font-weight: bold;
}

.x {
	/* cancel button */
	border-radius: 50%;
	display: block;
	position: absolute;
	top: 50%;
	-ms-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	right: 0em;
	margin-right: 1.375rem;
	background-color: #e50c75;
	color: #e8e8e8;
	font-size: 2.6em;
	font-weight: 700;
	text-align: center;
	width: 1em;
	height: 1em;
	text-decoration: none;
	line-height: 1.1em;
	-moz-transition: color 0.2s;
	-webkit-transition: color 0.2s;
    -o-transition: color 0.2s;
	transition: color 0.2s;
}

	.x:hover {
		color: white;
		text-decoration: none;
	}

	.x > span {
		display: block;
		width: 100%;
		height: 1em;
		line-height: 0px;
		transform: translateY(50%);
		-webkit-transform: translateY(50%);
		-moz-transform: translateY(50%);
		font-weight: bold;
	}
	
	/* firefox mobile */
	@media screen and (max-device-width: 800px) {
	@-moz-document url-prefix() {
		.x > span {
			transform: translateY(42%);
		}
	}
	}

body > section {
	max-width: 80em;
	margin: 0 auto;
}

body > section > article {
	padding: 0 2.2em;
}

body footer.legal {
	background-color: #d5d5d5;
	padding: 0 2.2em;
	font-size: 1em;
}
	body footer.legal p {
		font-size: 1em;
		max-width: 75.6em;
		margin: 0 auto;
		padding: 4em 0;
	}
	
	body footer.legal p small {
		font-size: 1em;
	}

/* prevent selection */
.noselect {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

/* remove iOS styles */
input {
	-webkit-appearance: none;
	-webkit-border-radius:0; 
	border-radius:0;
}

a {
	color: #e50c75;
	text-decoration: none;
}
	a:hover {
		text-decoration: underline;
	}
	
hr {
	border: 0;
	margin: 0;
	padding: 0;
	border-bottom: 2px solid #d5d5d5;
}
	
h1 {
	font-size: 3.2em;
	font-weight: 700;
	margin: 1em 0;
	padding: 0;
}

h2 {
	font-size: 1.8em;
	font-weight: 700;
	color: #6a6a6a;
	margin: 1em 0;
	padding: 0;
}

p, label {
	font-size: 1.8em;
	color: #6a6a6a;
}
	p.legal {
		font-size: 1.4em;
	}

p > label {
	font-size: inherit;
}

.table {
	display: table;
	width: 100%;
}
.table-cell {
	display: table-cell;
	vertical-align: middle;
}

.width-90 {
	width: 9em;
}
	
label {
	cursor: pointer;
}

#termsagree {
	display: none;
}

#termsagree + label {
	line-height: 1.5em;
}

	#termsagree + label:before {
		display: inline-block;
		width: 1em;
		height: 1em;
		background-color: white;
		content: "\2713";
		text-align: center;
		color: white;
		border: 2px solid #d5d5d5;
		line-height: 1em;
		margin-right: 0.4em;
		border-radius: 0.2em;
	}
		#termsagree:checked + label:before {
			color: #e50c75;
		}
		
input[type="text"], input[type="password"] {
	border: 2px solid #d5d5d5;
	border-radius: 0.4em;
	width: 100%;
	font-size: 1.6em;
	margin: 0.25em 0 1em;
	padding: 0.4em 0.6em;
	color: #666;
	font-weight: 700;
	font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
	-moz-transition: border-color 0.2s;
	-webkit-transition: border-color 0.2s;
    -o-transition: border-color 0.2s, background-color 0.2s;
	transition: border-color 0.2s, background-color 0.2s;
}

	input[type="text"]:focus, input[type="password"]:focus {
		outline: none;
		border-color: #e50c75;
	}
	
	input[type="text"]:disabled, input[type="password"]:disabled {
		background-color: rgba(255,255,255,0.2);
		color: rgba(0,0,0,0.2);
	}

input[type="submit"], input[type="button"] {
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	
	display: inline-block;
	
	cursor: pointer;
	opacity: 1;
	
	margin: 1.2em 0;
	color: white;
	background-color: #e50c75;
	padding: 0.8em 0;
	font-size: 1.8em;
	font-weight: 700;
	text-transform: uppercase;
	border: 0;
	border-radius: 0.4em;
	-moz-transition: opacity 0.2s;
	-webkit-transition: opacity 0.2s;
    -o-transition: opacity 0.2s;
	transition: opacity 0.2s;
	-webkit-flex: 2;
	flex: 2;
	margin: 2em 0.5em;
}
	input[type="submit"]:disabled, input[type="button"]:disabled {
		opacity: 0.25;
	}
	
input[type="button"] {
	background-color: white;
	color: #e50c75;
	-webkit-box-shadow:inset 0 0 0 2px #d5d5d5;
	box-shadow:inset 0 0 0 2px #d5d5d5
	-webkit-flex: 1;
	flex: 1;
	min-width: 40%;
}

div.buttons {
	display: -webkit-flex;
	display: flex;
	
	margin-left: -0.5rem;
	margin-right: -0.5rem;
}

@media screen and (max-device-width: 400px) {
	input[type="submit"], input[type="button"] {
		-webkit-flex: 1;
		flex: 1;
	}
}