@import url('https://fonts.googleapis.com/css?family=Raleway:100,200,300,400,500,600');
@import url('https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700');

/* Reset */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 10px;
	font: inherit;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
/* End of Reset */

/* Being Custom Styles */
:root {
	--color_button_background: #2987ee;
	--color_button_text: #ffffff;
	--color_sidebar_background: #1e2a33;
	--color_sidebar_text: #ffffff;

	--color_button_background_dark: color-mix(in oklab, var(--color_button_background) 88%, #000 12%);
	--color_button_background_light: color-mix(in oklab, var(--color_button_background) 12%, #fff 88%);
}
/* End of Custom Styles */

body, html {
	height: 100%;
	box-sizing: border-box; 
	border: 0;
	padding: 0;
	margin: 0;
	font-family: 'Open Sans', sans-serif;
	min-width: 320px;
}
a, a:visited {
	text-decoration: none;
	color: #2f8bfb;
	color: var(--color_button_background);
}
a:hover, a:active {
	text-decoration: underline;
}
input, select, textarea {
	height: 40px;
	border-collapse: collapse;
	border: 1px solid transparent;
	border-radius:4px;
	font-size: 16px;
	font-family: "Arial", "Helvetica", sans-serif;
	display: inline-block;
	margin: 0;
	left: 0;
	top: 0;
	position: relative;
	padding: 0 10px 0 10px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	resize: none;
	outline: none;
}
input[type=button], input[type=submit] {
	background-color: #2f8bfb;
	background-color: var(--color_button_background);
	cursor: pointer;
	color: #fff;
	color: var(--color_button_text);
}
	input[type=button]:hover, input[type=submit]:hover {
		background-color: var(--color_button_background_dark);
		background-image: linear-gradient(to bottom right, var(--color_button_background), var(--color_button_background_dark));
	}
input:disabled {
	cursor: default;
	opacity: 0.5;
}
input[type=text],
input[type=password],
textarea,
select {
	border: 1px solid #ccc;
}
input[type=text]:hover,
input[type=text]:focus,
input[type=password]:hover,
input[type=password]:focus,
textarea:hover,
textarea:focus,
select:hover,
select:focus {
	border: 1px solid #2f8bfb;
	border: 1px solid var(--color_button_background);
}
input.invalid, textarea.invalid, select.invalid, .invalid {
	border: 1px solid #fb2f2f !important; 
}
input.clear_text { 
	color: transparent !important;
}
.login {
	display: -webkit-box;  /* OLD - iOS 6-, Safari 3.1-6, BB7 */
	display: -ms-flexbox;  /* IE 10 */
	display: -webkit-flex; /* NEW - Safari 6.1+. iOS 7.1+, BB10 */
	display: flex;         /* NEW - Firefox, Chrome, Opera */
	flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	position: relative;
	width: 100%;
	height: 360px;
	background-color: #2a313a;
	background-color: #1e2a33;
	margin:auto;
	top: 50%;
	margin-top: -180px;
	justify-content: center;
}
	.login .logo, .login .form {
		/*align-self: center;*/
		-webkit-box-flex: 1;   /* OLD - iOS 6-, Safari 3.1-6 */
		-webkit-flex: 1;       /* Safari 6.1+. iOS 7.1+, BB10 */
		-ms-flex: 1;           /* IE 10 */
		flex: 1;
		width: 50%;
		min-width: 300px;
		margin: 0;
		height: auto;
		text-align: right;
		padding: 0;
	}
	.login .logo {
		cursor: pointer;
	}
	.login .logo img {
		position: relative;
		top: 50%;
		transform: translateY(-50%);
		max-width: 300px;
		max-height: 200px;
	}
	.login .form { 
		background-color: #2a313a;
		background-color: #1e2a33;
		height: 360px;
		text-align: left;
		font-size: 0;
	}
		.login .form a {
			position: relative;
			right: 83px;
			z-index: 99;
			color: #777;
			font-size: 14px;
			font-weight: 500;
			margin-right: -50px;
			width: 50px;
			display: inline-block;
			font-family: 'Raleway', sans-serif;
		}
		.login .form a:hover {
			text-decoration: underline;
		}
		.login .form form  {
			padding-top: 104px;
		}
		.login .form .sign_up {
			display: inline-block;
			color: #fff;
			color: #ffffff;
			text-decoration: none;
			width: 72px;
			position: relative;
			left: -20px;
			text-align: center;
			line-height: 40px;
			height: 40px;
		}
		.login .form .sign_up:hover, .login .form .sign_up:active {
			cursor: pointer;
			text-decoration: underline;
		}
	.login .sign_up {
		font-size: 16px;
	}
	.login form em, .login_input {
		width: 260px;
		margin: 0 20px 15px 20px;
	}
	.login form em {
		text-align: center;
		display: inline-block;
		color: #fff;
		color: #ffffff;
		font-style: normal;
		font-weight: normal;
		font-family: 'Raleway', sans-serif;
		font-size: 16px;
	}
	.login .forgot_message {
		padding: 0 0 15px 20px;
		display: inline-block;
		color: #f5f5f5;
		text-align: left;
		width: 270px;
		font-size: 16px;
	}
	.login .footer {
		width: 100%;
		height: 50px;
		line-height: 50px;
		position: relative;
		text-align: center;
		font-family: 'Raleway', sans-serif;
	}
	.login .loading {
		display: inline-block;
		position: absolute;
		margin-top: 12px;
		margin-left: -148px;
		text-align: center;
		z-index: 99;
		font-size: 14px;
		font-weight: 500;
		width: 70px;
		color: #fff;
		color: #ffffff;
		opacity: 0.5;
		visibility: hidden;
/*	 	
		position: relative;
		right: 220px;
		margin-right: -70px;
		top: 4px;*/
	}
		.login .loading > div {
			width: 18px;
			height: 18px;
			background-color: #fff;
			background-color: #ffffff;
			border-radius: 100%;
			display: inline-block;
			-webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;
			animation: sk-bouncedelay 1.4s infinite ease-in-out both;
		}
		.login .loading .bounce1 {
			-webkit-animation-delay: -0.32s;
			animation-delay: -0.32s;
		}
		.login .loading .bounce2 {
			-webkit-animation-delay: -0.16s;
			animation-delay: -0.16s;
		}

#sign_in_button {
	width: 188px;
}

@media screen and (max-width: 599px) {
	.login {
		margin-top: -175px;
	}
		.login .logo {
			padding: 20px 0 20px 0;
		}
		.login .logo, .login .form { 
			text-align: center;
		}
		.login .form.sign_up_form {
			height: 250px;
		}
		.login .form {
			height: 200px;
		}
			.login .form form  {
				padding-top: 0 !important;
			}
}

@-webkit-keyframes sk-bouncedelay {
	0%, 80%, 100% { -webkit-transform: scale(0) }
	40% { -webkit-transform: scale(1.0) }
}

@keyframes sk-bouncedelay {
	0%, 80%, 100% { 
		-webkit-transform: scale(0);
		transform: scale(0);
	} 40% { 
		-webkit-transform: scale(1.0);
		transform: scale(1.0);
	}
}