*, *:before, *:after {
	box-sizing: inherit;
}

* {
	font-family: 'BerninaSansWeb', Arial, Helvetica, sans-serif;
	font-size: inherit;
	color: inherit;
}

html, body {
	/* http://stackoverflow.com/questions/6654958/make-body-have-100-of-the-browser-height */
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	background-color: #191919;
	font-size: 14px;
	box-sizing: border-box;
}

:focus {
	outline: none;
}

/* NOTE: ":focus" must be placed before "box-shadow: none" to ensure proper behavior */
/* NOTE: "box-shadow" is the only way to fulfill the specs, "outline" doesn't support rounded corners, "border" cuts into the element */
.focusable:focus {
	box-shadow: 0px 0px 0px 2px #4fd5e0;
}

input, label {
	/* http://stackoverflow.com/questions/5449412/styling-input-buttons-for-ipad-and-iphone */
	/* http://css-tricks.com/almanac/properties/a/appearance/ */
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.container {
	width: 100%;
	position: absolute;
	top: 50%;
	margin-top: -168px;
}

.center {
	margin: 0 auto;
}

.content {
	position: relative;
	width: 340px;
}

.logo {
	/* fix for mystical bottom margin on images when vertically aligned in the middle */
	vertical-align: middle;
	text-align: center;
	margin-bottom: 56px;
}

.fieldlabel {
	font-size: 12px;
	color: #ffffff;
	text-align: left;
	margin-bottom: 8px;
}

.field {
	display: block;
	color: #454646;
	width: 100%;
	height: 32px;
	padding: 0 12px;
	margin-bottom: 16px;
	border: 1px solid #ccc;
	box-sizing: border-box;
	border-radius: 3px;
}

.fieldlast {
	margin-bottom: 28px;
}

.button {
	color: #ffffff;
	background-color: #00a1b2;
	border: 1px solid #ffffff;
	border-radius: 3px;
	height: 32px;
	padding: 0 16px;
	cursor: pointer;
}

.button:hover {
	background-color: #00848e;
}

.button:active {
	background-color: #006f77;
}

.button, .button:hover, .button:active {
	box-shadow: none;
}

.hint {
	color: #454546;
	background-color: #e6e6e6;
	padding: 8px 12px;
	margin: 12px 0;
	display: flex;
	align-items: center;
	border-radius: 3px;
}

.hintimg, .hintimg svg, .errorImg, .errorImg svg {
	width: 20px;
	height: 20px;
}

.errorImg svg {
	fill: #dc172a;
}

.hintimg svg {
	fill: #e6be00;
}

.hinttext {
	padding-left: 10px;
}

.rememberSigninSection {
	text-align: right;
	position: relative;
}

.rememberSection {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
}

.rememberTable {
	display: table;
	height: 100%;
}

.rememberCell {
	display: table-cell;
	vertical-align: middle;
	cursor: pointer;
	color: #ffffff;
}

.rememberMeLabel {
	padding-top: 1px;
}

.rememberCheckbox {
	position: relative;
	width: 20px;
	height: 20px;
	margin-right: 8px;
}

.rememberCheckbox label {
	cursor: pointer;
	position: absolute;
	top: 0;
	left: 0;
	width: 20px;
	height: 20px;
	background: white;
	box-sizing: border-box;
	border: 2px solid #00b9cc;
}

.rememberCheckbox label:after {
	opacity: 0;
	content: '';
	position: absolute;
	width: 10px;
	height: 7px;
	top: 3px;
	left: 3px;
	background: transparent;
	border: 3px solid #00b9cc;
	border-top: none;
	border-right: none;
	transform: rotate(-45deg);
}

.rememberCheckbox input[type=checkbox]:checked+label:after {
	opacity: 1;
}

.footer {
	position: absolute;
	bottom: 10px;
	width: 100%;
	text-align: center;
	font-size: 12px;
	color: #b7b7b7;
}

.version {
	font-size: 16px;
	line-height: 26px;
	color: #fff;
}

label {
	 -moz-user-select: none;
	 -webkit-user-select: none;
	 -ms-user-select: none;
	 user-select: none;
 }
