@import url(https://fonts.googleapis.com/css?family=PT+Sans:400,700);
html {
	min-height: 100%;
}

body {
	background: url('../img/pdf.png') no-repeat;
	background-size: cover;
	position: absolute;
	width: 100%;
	height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    overflow: hidden;
	font-family: 'PT Sans', sans-serif;
}

.login {
	padding: 10px;
}

.files {
	padding: 10px;
	background: #02723b;
	margin: 200px auto;
	width: 90%;
	max-width: 450px;
	text-align: center;
	color: #fff;
}

form {
  max-width: 450px;
	margin: 0 auto;
}
form > div {
  position: relative;
  background: white;
  border-bottom: 1px solid #ccc;
  color: #000;
}
form > div > label {
  opacity: 0.3;
  font-weight: bold;
  position: absolute;
  top: 22px;
  left: 20px;
}
form > div > input[type="text"],
form > div > input[type="email"],
form > div > input[type="password"] {
  width: 100%;
  border: 0;
  padding: 20px 20px 20px 50px;
  background: #fff;
}
form > div > input[type="text"]:focus,
form > div > input[type="email"]:focus,
form > div > input[type="password"]:focus {
  outline: 0;
  background: white;
}
form > div > input[type="text"]:focus + label,
form > div > input[type="email"]:focus + label,
form > div > input[type="password"]:focus + label {
  opacity: 0;
}
form > div > input[type="text"]:valid,
form > div > input[type="email"]:valid,
form > div > input[type="password"]:valid {
  background: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/3/check.svg);
  background-size: 20px;
  background-repeat: no-repeat;
  background-position: 20px 20px;
}
form > div > input[type="text"]:valid + label,
form > div > input[type="email"]:valid + label,
form > div > input[type="password"]:valid + label {
  opacity: 0;
}
form > div > input[type="text"]:invalid:not(:focus):not(:placeholder-shown),
form > div > input[type="email"]:invalid:not(:focus):not(:placeholder-shown),
form > div > input[type="password"]:invalid:not(:focus):not(:placeholder-shown) {
  background: pink;
}
form > div > input[type="text"]:invalid:not(:focus):not(:placeholder-shown) + label,
form > div > input[type="email"]:invalid:not(:focus):not(:placeholder-shown) + label,
form > div > input[type="password"]:invalid:not(:focus):not(:placeholder-shown) + label {
  opacity: 0;
}
form > div > input[type="text"]:invalid:focus:not(:placeholder-shown) ~ .requirements,
form > div > input[type="email"]:invalid:focus:not(:placeholder-shown) ~ .requirements,
form > div > input[type="password"]:invalid:focus:not(:placeholder-shown) ~ .requirements {
  max-height: 200px;
  padding: 0 30px 20px 50px;
}
form > div .requirements {
  padding: 0 30px 0 50px;
  color: #999;
  max-height: 0;
  transition: 0.28s;
  overflow: hidden;
  color: red;
  font-style: italic;
}
form input[type="submit"] {
  display: block;
  width: 100%;
  margin: 20px 0;
  background: #25402b;
  color: white;
  border: 0;
  padding: 20px;
  font-size: 1.2rem;
}

form input[type="submit"]:hover {
	box-shadow: 1px 1px 1px #ddd;
}

* {
  box-sizing: border-box;
}

.invalid {
	background: #000;
	color: #000;
}

.loading {
	margin: 0;
	color: #fff;
	text-shadow: 1px 1px 1px #000;
}

.loader {
	margin: 10px auto;
	text-align: center;
	border: 16px solid #f3f3f3;
	border-radius: 50%;
	border-top: 16px solid green;
	width: 120px;
	height: 120px;
	-webkit-animation: spin 2s linear infinite; /* Safari */
	animation: spin 2s linear infinite;
}

/* Safari */
@-webkit-keyframes spin {
  0% { -webkit-transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); }
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
