/**
 * HTML, BODY
 */
html, body {
	margin: 0;
	padding: 0;
	font-family: "Open Sans", Calibri, sans-serif;
}

html {
	display: table;
	width: 100%;
	height: 100%;
}

body {
	display: table-cell;
	width: 100%;
	height: 100%;
	vertical-align: middle;
	text-align: center;
	color: #333;
	background: #fff;
	font-size: 15px;
}


/**
 * COMMON ELEMENTS
 */
a {
	color: #2d81d7;
	transition: color 0.1s linear;
	outline: 0;
}

a:hover {
	color: #000;
}


/**
 * SECTIONS
 */
section.login_area,
section.registration_area,
section.password_area {
	display: inline-block;
	vertical-align: middle;
	width: 80%;
	max-width: 250px;
	text-align: center;
}

section.footer {
	width: 100%;
	margin-top: 3em;
	text-align: center;
}

section.text {
	display: inline-block;
	vertical-align: middle;
	width: 95%;
	max-width: 800px;
	text-align: left;
}


/**
 * HEADING
 */
h1 {
	width: 100%;
	margin: 0 0 1em 0;
	padding: 30px 0 0 0;
	font-weight: normal;
	font-size: 1.5em;
	color: #000;
	text-align: center;
	background: url("/assets/img/fakturovac_50.png") center top no-repeat;
}

h1 span {
	display: none;
}

section.text h1 {
	margin-top: 1em;
}


/**
 * FORM
 */
form, fieldset {
	margin: 0;
	padding: 0;
	border: none;
	font-size: 1em;
}

div.spacer_row {
	height: 1em;
}

div.input_row {
	margin: 1em 0;
}

div.checkbox_row {
	margin: 1.5em 0;
	text-align: left;
}

div.submit_row {
	margin: 1em 0;
}

div.text_row {
	padding: 0;
}

input[type="email"], input[type="password"], input[type="text"] {
	width: 100%;
	margin: 0;
	padding: 0.5em 0;
	color: #666;
	background: none;
	border: #bbb solid;
	border-width: 0 0 1px 0;
	font-size: 1em;
}

input[type="email"]:focus, input[type="password"]:focus, input[type="text"]:focus {
	color: #000;
	border-color: #000;
}

form ul.radio_list {
	margin: 0;
	padding: 0 0 0 7px;
	width: 100%;
	overflow: hidden;
}

form ul.checkbox_list {
	margin: 0;
	padding: 0;
	width: 100%;
	overflow: hidden;
}

form ul.radio_list li, form ul.checkbox_list li {
	float: left;
	list-style: none;
	display: inline-block;
	height: 100%;
	margin-right: 3em;
	font-size: 1em;
}

input[type="checkbox"],
input[type="radio"]
{
	opacity: 0;
	position: absolute;
}

input[type="checkbox"],
input[type="checkbox"] + label,
input[type="radio"],
input[type="radio"] + label
{
	display: inline-block;
	vertical-align: middle;
	margin: 0;
	cursor: pointer;
}

input[type="checkbox"] + label,
input[type="radio"] + label
{
	position: relative;
	line-height: 30px;
	padding-left: 32px !important;
}

input[type="checkbox"] + label:before,
input[type="radio"] + label:before
{
	content: '';
	position: absolute;
	left: 4px;
	top: 6px;
	background: transparent;
	border: 1px solid #3684c6;
	width: 18px;
	height: 18px;
	text-align: center;
	-webkit-transition: background-color 0.2s linear;
	-moz-transition: background-color 0.2s linear;
	-o-transition: background-color 0.2s linear;
	-ms-transition: background-color 0.2s linear;
	transition: background-color 0.2s linear;
}

input[type="checkbox"] + label:hover:before {
	background: #3361a8;
	box-shadow: inset 0px 0px 0px 3px #fff;
}

input[type="checkbox"]:checked + label:before,
input[type="checkbox"]:checked + label:hover:before {
	background: #3361a8;
	box-shadow: inset 0px 0px 0px 3px #fff;
}

input[type="radio"] + label:before {
	border-radius: 50%;
}

input[type="radio"] + label:hover:before {
	background: #3361a8;
	box-shadow: inset 0px 0px 0px 4px #fff;
}

input[type="radio"]:checked + label:before,
input[type="radio"]:checked + label:hover:before {
	background: #3361a8;
	box-shadow: inset 0px 0px 0px 4px #fff;
}

input[type="checkbox"]:focus + label,
input[type="radio"]:focus + label
{
	outline: 0;
}

input[type="submit"] {
	display: inline-block;
	width: 100%;
	margin: 0 5px 0 0;
	padding: 10px 15px 8px 15px;
	border: 1px solid;
	text-decoration: none;
	text-transform: uppercase;
	font-weight: bold;
	font-size: 1em;
	cursor: pointer;
	transition: all 0.1s linear;
	color: #fff;
	background: #5e9bd8;
	border-color: #3361a8;
	border-width: 1px 1px 3px 1px;
	font-family: "Noto Sans", sans-serif;
}

input[type="submit"]:hover {
	color: #222;
}

div.text_row p {
	margin: 0;
	padding: 0.5em 0;
	text-align: center;
	font-size: 0.9em;
}


/**
 * TEXT SECTION
 */
section.text h2 {
	padding-top: 1em;
	border-top: 1px solid #ddd;
	font-size: 1.2em;
}

section.text p {
	text-align: left;
}


/**
 * FOOTER
 */
footer p {
	margin: 0;
	padding: 0 0 1em 0;
	color: #999;
	font-size: 0.8em;
}

footer p a {
	color: #999;
}

footer p a:hover {
	color: #000;
}


/**
 * RESOLUTION RELATED FIXES
 */
@media screen and (max-width: 800px) {
	footer p { font-size: 1.5vw; }
}