html,
body {
	height: 100%;
}

body {
	background-color: #fafafa;
	color: #333333;
	font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 15px;
}

h2 {
	font-size: 1.5rem;
	line-height: 1.2;
	font-weight: 600;
	margin-bottom: 1.40625rem;
	text-align: center;
}

.authentication {
	display: flex;
	height: 100%;
}

.authentication-container {
	margin: auto;
	max-width: 20rem;
	padding: 1.40625rem;
	width: 100%;
}

.authentication-container input {
	box-sizing: border-box;
	display: block;
	font: inherit;
	margin-bottom: .9375rem;
}

.authentication-container input[type="text"],
.authentication-container input[type="email"],
.authentication-container input[type="password"] {
	background-color: #ffffff;
	border-radius: 0;
	border: .0625rem solid #dedede;
	font-size: .875rem;
	line-height: 1.45;
	padding: .5rem .625rem;
	width: 100%;
}

.authentication-container fieldset {
	display: flex;
	flex-direction: row;
}

.authentication-container fieldset input {
	margin-right: .9375rem;
}

.authentication-container fieldset input:last-child {
	margin-right: 0;
}

.authentication-container a.switch_context {
	font-size: .875rem;
	text-decoration: none;
	line-height: 1.3;
}

.authentication-container input[type="submit"],
.authentication-container a.button {
	border-radius: 6em;
	border: .0625rem solid transparent;
	box-sizing: border-box;
	color: #fff;
	cursor: pointer;
	font-size: 1.2rem;
	font-weight: 600;
	padding: 0.5em 0;
	text-decoration: none;
	width: 100%;
}

.authentication-container input[type="submit"],
.authentication-container a.button,
.authentication-container a.switch_context {
	display: block;
	margin-bottom: .9375rem;
	text-align: center;
}

.authentication-container input:focus {
	border: .0625rem solid #000;
	outline: 0;
	box-shadow: 0 0 0 0.0625rem #000 inset;
}

.authentication-container img {
	display: block;
	margin: 0 auto 1.875rem;
	max-width: 100%;
}

.authentication-container .error {
	background-color: #ffe5e8;
	border: .0625rem solid #dedede;
	color: #a00006;
	font-size: .875rem;
	line-height: 1.45;
	margin-bottom: .9375rem;
	padding: .625rem;
}

.authentication-container pre {
	overflow: scroll hidden;
	font-family: monospace;
}

.authentication-container> :last-child {
	margin-bottom: 0;
}