@import url(https://fonts.googleapis.com/css?family=Open+Sans);
.btn { display: inline-block; *display: inline; *zoom: 1; padding: 4px 10px 4px; margin-bottom: 0; font-size: 13px; line-height: 18px; color: #333333; text-align: center;text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); vertical-align: middle; background-color: #f5f5f5; background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); background-image: -ms-linear-gradient(top, #ffffff, #e6e6e6); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); background-image: linear-gradient(top, #ffffff, #e6e6e6); background-repeat: repeat-x; filter: progid:dximagetransform.microsoft.gradient(startColorstr=#ffffff, endColorstr=#e6e6e6, GradientType=0); border-color: #e6e6e6 #e6e6e6 #e6e6e6; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); border: 1px solid #e6e6e6; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); cursor: pointer; *margin-left: .3em; }
.btn:hover, .btn:active, .btn.active, .btn.disabled, .btn[disabled] { background-color: #e6e6e6; }
.btn-large { padding: 9px 14px; font-size: 15px; line-height: normal; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; }
.btn:hover { color: #333333; text-decoration: none; background-color: #e6e6e6; background-position: 0 -15px; -webkit-transition: background-position 0.1s linear; -moz-transition: background-position 0.1s linear; -ms-transition: background-position 0.1s linear; -o-transition: background-position 0.1s linear; transition: background-position 0.1s linear; }
.btn-primary, .btn-primary:hover { text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); color: #ffffff; }
.btn-primary.active { color: rgba(255, 255, 255, 0.75); }
.btn-primary { background-color: #4a77d4; background-image: -moz-linear-gradient(top, #6eb6de, #4a77d4); background-image: -ms-linear-gradient(top, #6eb6de, #4a77d4); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#6eb6de), to(#4a77d4)); background-image: -webkit-linear-gradient(top, #6eb6de, #4a77d4); background-image: -o-linear-gradient(top, #6eb6de, #4a77d4); background-image: linear-gradient(top, #6eb6de, #4a77d4); background-repeat: repeat-x; filter: progid:dximagetransform.microsoft.gradient(startColorstr=#6eb6de, endColorstr=#4a77d4, GradientType=0);  border: 1px solid #3762bc; text-shadow: 1px 1px 1px rgba(0,0,0,0.4); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.5); }
.btn-primary:hover, .btn-primary:active, .btn-primary.active, .btn-primary.disabled, .btn-primary[disabled] { filter: none; background-color: #4a77d4; }
.btn-block { width: 100%; display:block; margin-bottom:20px; }

* { -webkit-box-sizing:border-box; -moz-box-sizing:border-box; -ms-box-sizing:border-box; -o-box-sizing:border-box; box-sizing:border-box; }

html { width: 100%; height:100%; overflow-x:hidden; }

body { 
	width: 100%;
	height:100%;
	font-family: 'Open Sans', sans-serif;
	background: #092756;
	background: -moz-radial-gradient(0% 100%, ellipse cover, rgba(104,128,138,.4) 10%,rgba(138,114,76,0) 40%),-moz-linear-gradient(top,  rgba(57,173,219,.25) 0%, rgba(42,60,87,.4) 100%), -moz-linear-gradient(-45deg,  #670d10 0%, #092756 100%);
	background: -webkit-radial-gradient(0% 100%, ellipse cover, rgba(104,128,138,.4) 10%,rgba(138,114,76,0) 40%), -webkit-linear-gradient(top,  rgba(57,173,219,.25) 0%,rgba(42,60,87,.4) 100%), -webkit-linear-gradient(-45deg,  #670d10 0%,#092756 100%);
	background: -o-radial-gradient(0% 100%, ellipse cover, rgba(104,128,138,.4) 10%,rgba(138,114,76,0) 40%), -o-linear-gradient(top,  rgba(57,173,219,.25) 0%,rgba(42,60,87,.4) 100%), -o-linear-gradient(-45deg,  #670d10 0%,#092756 100%);
	background: -ms-radial-gradient(0% 100%, ellipse cover, rgba(104,128,138,.4) 10%,rgba(138,114,76,0) 40%), -ms-linear-gradient(top,  rgba(57,173,219,.25) 0%,rgba(42,60,87,.4) 100%), -ms-linear-gradient(-45deg,  #670d10 0%,#092756 100%);
	background: -webkit-radial-gradient(0% 100%, ellipse cover, rgba(104,128,138,.4) 10%,rgba(138,114,76,0) 40%), linear-gradient(to bottom,  rgba(57,173,219,.25) 0%,rgba(42,60,87,.4) 100%), linear-gradient(135deg,  #670d10 0%,#092756 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3E1D6D', endColorstr='#092756',GradientType=1 );
}

body.login-page {
	background:
		linear-gradient(135deg, rgba(10, 20, 40, 0.85), rgba(30, 60, 120, 0.75)),
		radial-gradient(circle at 18% 20%, rgba(163, 51, 74, 0.22) 0%, rgba(163, 51, 74, 0) 34%),
		url("/static/images/login_bg_image.png") center center / 100% no-repeat,
		#092756;
}

a {
    text-decoration: none;
    text-align: center;
}
p {
    color: #ee6f57;
    text-align: center;
}

.box { 
	position: absolute;
	top: 50%;
	left: 50%;
	margin: 0;
	width: 360px;
	max-width: calc(100vw - 40px);
	min-height: 300px;
	height: auto;
	transform: translate(-50%, -50%);
}
.login-container {
	background: rgba(255,255,255,0.05);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border-radius: 18px;
	border: 1px solid rgba(255,255,255,0.1);
	box-shadow: 0 18px 45px rgba(4, 11, 28, 0.35);
	padding: 28px 24px 20px;
}
.box h1 { color: #fff; text-shadow: 0 0 10px rgba(0,0,0,0.3); letter-spacing:1px; text-align:center; }
.login-logo {
	width: 165px;
	max-width: 100%;
}
.container {
    margin-top: 10rem;
	text-align: center;
}

.box p { color: #fff; text-shadow: 0 0 10px rgba(0,0,0,0.3); letter-spacing:1px; text-align:center; }
.auth-messages {
	margin: 0 0 18px;
}

.auth-message {
	margin: 0 0 12px;
	padding: 12px 14px;
	border-radius: 10px;
	background: rgba(8, 14, 37, 0.38);
	border: 1px solid rgba(255, 255, 255, 0.12);
	color: #f5f7fb;
	line-height: 1.45;
}

.auth-message--link {
	background: rgba(16, 25, 58, 0.5);
	border-color: rgba(110, 182, 222, 0.3);
}

.auth-message__label {
	display: block;
	margin-bottom: 6px;
	font-weight: 600;
}

.auth-message__link {
	display: block;
	color: #73c4ff;
	overflow-wrap: anywhere;
	word-break: break-word;
	text-shadow: none;
}

.auth-message__link:hover {
	color: #9fd7ff;
}
.container {
    margin-top: 10rem;
	text-align: center;
}


.container h1 { color: #fff; text-shadow: 0 0 10px rgba(0,0,0,0.3); letter-spacing:1px; text-align:center; }
input { 
	width: 100%; 
	margin-bottom: 10px; 
	background: rgba(0,0,0,0.3);
	border: none;
	outline: none;
	padding: 10px;
	font-size: 13px;
	color: #fff;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
	border: 1px solid rgba(0,0,0,0.3);
	border-radius: 4px;
	box-shadow: inset 0 -5px 45px rgba(100,100,100,0.2), 0 1px 1px rgba(255,255,255,0.2);
	-webkit-transition: box-shadow .5s ease;
	-moz-transition: box-shadow .5s ease;
	-o-transition: box-shadow .5s ease;
	-ms-transition: box-shadow .5s ease;
	transition: box-shadow .5s ease;
}
input:focus { box-shadow: inset 0 -5px 45px rgba(100,100,100,0.4), 0 1px 1px rgba(255,255,255,0.2); }

.login-container .btn-primary {
	background: linear-gradient(90deg, #3b82f6, #60a5fa);
	box-shadow: 0 4px 15px rgba(59,130,246,0.4);
	border-radius: 8px;
	border: 1px solid rgba(96, 165, 250, 0.65);
}

.login-container .btn-primary:hover,
.login-container .btn-primary:active,
.login-container .btn-primary.active,
.login-container .btn-primary.disabled,
.login-container .btn-primary[disabled] {
	background: linear-gradient(90deg, #4f90f8, #76b4fb);
}

.navbar-right {
  margin-left: auto;
}

@media (max-width: 768px) {
	body.login-page {
		background:
			linear-gradient(135deg, rgba(10, 20, 40, 0.88), rgba(30, 60, 120, 0.78)),
			radial-gradient(circle at 14% 18%, rgba(163, 51, 74, 0.18) 0%, rgba(163, 51, 74, 0) 30%),
			url("/static/images/login_bg_image.png") 70% center / 120% no-repeat,
			#092756;
	}

	.box {
		position: relative;
		top: auto;
		left: auto;
		transform: none;
		width: min(360px, calc(100vw - 32px));
		margin: 28px auto 40px;
		padding-bottom: 24px;
	}

	.login-container {
		padding: 20px 16px 18px;
		border-radius: 16px;
	}

	.login-logo {
		width: 112px;
	}
}
