* {
	font-family: 'Maven Pro', sans-serif;
	font-weight: lighter;
	color: #555;
	--highlight-color: #1f9ac1;
	--error-red: #e01818;
}

a { text-decoration: none; }

html {
	height: 100%;
	overflow: hidden;
}

body {
	margin: 0;
	background: url("/CountTheHours/monterey.jpeg");
	background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab);
	/*background: radial-gradient(circle, rgba(238,119,82,1) 0%, rgba(231,60,126,1) 15%, rgba(35,166,213,1) 30%, rgba(35,213,171,1) 50%, rgba(35,166,213,1) 70%, rgba(231,60,126,1) 85%, rgba(238,119,82,1) 100%);*/
	background-size: 400% 400%;
	animation: gradient 40s ease infinite;
	height: 100vh;
}

@keyframes gradient {
	0% {
		background-position: 0% 0%;
	}
	50% {
		background-position: 100% 0%;
	}
	
	100% {
		background-position: 0% 0%;
	}
}

.loginbox .message {
	display: none;
	background: var(--error-red);
	color: #fff !important;
}

.loginbox.error .message {
	display: block;
	padding: 10px;
}

.wrapper {
	height: 100vh;
	width: 100vw;
	display: flex;
	align-items: center;
}

.loginbox {
	position: relative;
	box-sizing: border-box;
	width: 300px;
	margin: auto;
	padding: 20px;
	background: #fff;
	box-shadow: 0px 0px 15px rgba(12,12,128,0.5);
	border-radius: 10px;
}

.loginbox table {
	border-collapse: collapse;
}

.loginbox .spacer {
	margin: 0;
	border: none;
	height: 10px;
}

.loginbox .big.spacer {
	height: 20px;
}

.loginbox .logo {
	font-family: 'satisfy', cursive !important;
	font-size: 40px;
	text-align: center;
	color: #3a3e3f;
	user-select: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-o-user-select: none;
	cursor: default;
	
}

.loginbox table input {
	padding: 10px;
	font-size: 24px;
	width: 100%;
	box-sizing: border-box;
	border: 1px solid #e3e5e8;
}

.loginbox .remember {
	line-height: 40px;
}

.loginbox .iforgot {
	font-size: .9rem;
	color: var(--highlight-color);
}

.loginbox .controls {
	display: flex;
	justify-content: space-between;
}

.loginbox .controls input {
	display: none;
}
/*
.loginbox label.checkbox {
	position: relative;
	display: inline-block;
	height: 15px;
	width: 15px;
	border: 1px solid var(--highlight-color);
	border-radius: 3px;
	box-sizing: border-box;
}

label.checkbox:after  {
	content: "✓";
	display: block;
	position: absolute;
	bottom:0;
	left: 0;
	height:0px;
	width: 0px;
	line-height: 15px;
	transition: width .5s;
	overflow: hidden;
}

.loginbox .controls input:checked ~ label.checkbox:after {
	height: 15px;
	width: 15px;
}
*/

.loginbox .controls .checkbox {
	display: inline-flex;
	font-size: 15px;
	height: 20px;
	line-height: 20px;
	padding-left: 24px;
	cursor: pointer;
	user-select: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	-o-user-select: none;
}

.loginbox .controls .checkbox:before {
	content: " ";
	display: inline-block;
	position: absolute;
	height: 20px;
	width: 20px;
	margin-left: -24px;
	border: 1.5px solid;
	border-color: var(--highlight-color);;
	border-radius: 3px;
	box-sizing: border-box;
}

.loginbox .controls .checkbox:after {
	content: "✓";
	display: inline-block;
	position: absolute;
	box-sizing: border-box;
	height: 0px;
	width:0px;
	margin-left: -24px;
	padding-top: 1px;
	padding-left: 5px;
	line-height: 20px;
	font-size: 15px;
	transition: width .4s;
	overflow: hidden;
}

.loginbox .controls input:checked ~ .checkbox:after {
	content: "✓";
	height: 20px;
	width: 20px;
}

.loginbox .controls button {
	height: 40px;
	padding: 0px 25px;
	border:none;
	border-radius: 3px;
	font-size: 15px;
	font-weight: 600;
	color: #fff;
	background: var(--highlight-color);
	cursor: pointer;
}

.loginbox .controls button:hover {
	background:#52a4cc;
}

.loginbox.error {
	animation: shake .5s linear;
}

.loginbox.error table input {
	border-color: var(--error-red);
	border-width: 2px;
}

#loginbtn[disabled] {
	background: #aaa;
	cursor: not-allowed;
}

#loginbtn[disabled]:hover {
	background: #aaa;
}

@keyframes shake {
	8%, 41% { transform: translateX(-10px); }
	25%, 58% { transform: translateX(10px); }
	75% { transform: translateX(-5px); }
	92% { transform: translateX(5px); }
	0%, 100% { transform: translateX(0); }
}

@-webkit-keyframes shake {
	8%, 41% { -webkit-transform: translateX(-10px); }
	25%, 58% { -webkit-transform: translateX(10px); }
	75% { -webkit-transform: translateX(-5px); }
	92% { -webkit-transform: translateX(5px); }
	0%, 100% { -webkit-transform: translateX(0); }
}

@-moz-keyframes shake {
	8%, 41% { -moz-transform: translateX(-10px); }
	25%, 58% { -moz-transform: translateX(10px); }
	75% { -moz-transform: translateX(-5px); }
	92% { -moz-transform: translateX(5px); }
	0%, 100% { -moz-transform: translateX(0); }
}

@-ms-keyframes shake {
	8%, 41% { -ms-transform: translateX(-10px); }
	25%, 58% { -ms-transform: translateX(10px); }
	75% { -ms-transform: translateX(-5px); }
	92% { -ms-transform: translateX(5px); }
	0%, 100% { -ms-transform: translateX(0); }
}

@-o-keyframes shake {
	8%, 41% { -o-transform: translateX(-10px); }
	25%, 58% { -o-transform: translateX(10px); }
	75% { -o-transform: translateX(-5px); }
	92% { -o-transform: translateX(5px); }
	0%, 100% { -o-transform: translateX(0); }
}


@media only screen and (max-height: 500px) {
	html { overflow: scroll; }
	
	.wrapper { height: auto !important; }
	
	.loginbox {border-radius: 0 !important; }
	
}