﻿#login {
	width: 100%;
	box-sizing: border-box;
}

body {
	background-color: #fff !important;
}

.login-container {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	overflow: hidden;
}

	.login-container .logo {
		position: relative;
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		padding-top: 3em;
		padding-bottom: 3em;
		background-color: var(--brandPrimaryColor);
		border-radius: 0 0 0 0;
	}

	/* Header Animation - Looks grat in Safari, Chrome is like "No thanks" though, which is very disappointing.*/
	/*
	.login-container .logo {
		background: linear-gradient(135deg, var(--brandPrimaryColor), var(--brandSecondaryColor));
		background-size: 200% 200%;
		-webkit-animation: GradientAnimation 15s ease infinite;
		-moz-animation: GradientAnimation 15s ease infinite;
		animation: GradientAnimation 15s ease infinite;
	}

		@-webkit-keyframes GradientAnimation {
			0% {
				background-position: 4% 0%
			}

			50% {
				background-position: 97% 100%
			}

			100% {
				background-position: 4% 0%
			}
		}

		@-moz-keyframes GradientAnimation {
			0% {
				background-position: 4% 0%
			}

			50% {
				background-position: 97% 100%
			}

			100% {
				background-position: 4% 0%
			}
		}

		@keyframes GradientAnimation {
			0% {
				background-position: 4% 0%
			}

			50% {
				background-position: 97% 100%
			}

			100% {
				background-position: 4% 0%
			}
		}
	*/

		.login-container .logo img {
			display: inline-block;
			width: 150px;
			height: 150px;
		}

		.login-container .logo h1 {
			display: inline-block;
			font-weight: normal;
			color: var(--lightOnDarkTextColor);
			margin: 0em 0.25em 0em 0.25em;
		}

	.login-container .login-box {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: space-between;
		flex-direction: column;
		width: 100%;
		box-sizing: border-box;
		padding: 2em;
		background-color: white;
		border-radius: 0 0 0 0;
	}

		.login-container .login-box h1 {
			font-family: var(--headingFont);
			padding: 0;
			margin: 0;
			font-weight: bold;
			font-size: 1.5em;
			color: #000;
			letter-spacing: 0.25px;
			align-self: flex-start;
		}

		.login-container .login-box h2 {
			font-family: var(--headingFont);
			font-size: 0.75em;
			align-self: flex-start;
		}

		.login-container .login-box p {
			font-size: 1em;
			font-family: var(--bodyFont);
			font-weight: 300;
			color: rgb(94, 101, 93);
			text-align: center;
		}

		.login-container .login-box form {
			display: flex;
			flex-direction: column;
			align-self: flex-start;
			width: 100%;
			font-size: 1em;
			margin-top: 1em;
		}

			.login-container .login-box form input {
				align-self: flex-start;
				font-size: 1em;
				width: 100%;
				border: 1px solid var(--brandPrimaryColor);
				border-radius: 25px;
				outline: none;
				height: 50px;
				padding: 0 25px;
				box-sizing: border-box;
				margin: 10px 0 0 0;
			}

				.login-container .login-box form input::placeholder {
					font-size: 1em;
					font-style: italic;
					color: var(--greyTextColor);
				}

		.login-container .login-box button.btn {
			width: 100%;
			-webkit-box-shadow: 5px 10px 17px 0 rgba(0,0,0,0.1);
			box-shadow: 5px 10px 17px 0 rgba(0,0,0,0.1);
		}

		.login-container .login-box a.password-reset {
			color: rgb(71, 71, 71);
			font-size: 0.75em;
			letter-spacing: 1px;
			cursor: pointer;
			text-decoration: none;
			margin-top: 4em;
			letter-spacing: -0.5px;
		}

	.login-container .login-error {
		font-size: 0.75em;
		color: red;
		font-weight: bold;
		margin: 0;
	}

	.login-container .field-validation-error {
		font-size: 0.75em;
		color: red;
		font-weight: bold;
		margin: 0.5em 0em;
		color: white;
		padding: 0.5em 1em;
		border-radius: 2em;
		background-color: var(--brandPrimaryColor);
		display: flex;
		align-content: center;
		line-height: 1.4em;
	}

		.login-container .field-validation-error::before {
			font-family: "Material Icons";
			font-weight: 900;
			content: "error_outline";
			font-size: 1.3em;
			margin-right: 0.25em;
		}

.background-color {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: -100;
}

	.background-color.white {
		background-color: white;
	}

	.background-color.primary-color {
		background-color: var(--brandPrimaryColor);
	}

/* Buttons */

button {
	display: block;
	border-radius: 2em;
	background-color: var(--brandPrimaryColor);
	text-decoration: none;
	color: var(--lightOnDarkTextColor);
	font-size: 1em;
	font-weight: bold;
	padding: 1em 2em 1em 2em;
	box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1);
	cursor: pointer;
	height: 50px;
	margin-top: 1em;
	border: 1px solid var(--brandPrimaryColor);
}

/* Responsive Breakpoints */
/* ###################### */

@media screen and (min-width: 640px) {
	#login {
		width: 500px;
	}

	body {
		background-color: #eee !important;
	}

	.login-container {
		box-shadow: 0 0 1em rgba(0, 0, 0, 0.2);
		margin-top: 4em;
		border-radius: 1.5em;
	}

		.login-container .logo {
			padding-top: 5em;
			padding-bottom: 5em;
		}

		.login-container .login-box {
			padding: 5em;
		}
}

@media screen and (min-width: 1024px) {
	#login {
		width: 500px;
	}
}

@media screen and (min-width: 1200px) {
	#login {
		width: 500px;
	}
}
