html {
	height: 100%;
}
body {
	margin: 0px;
	height: 100%;
	font-family: monospace;
	background-color: #F2F2F2;
}
#div_form {
	display: flex;
	align-items: center;
	justify-content: center;

	height: 100%;
}
#div_form .loginWrap {
	padding: 10px;
	width: 280px;
	text-align: center;
	background-color: #FFFFFF;
	box-shadow: 5px 5px 8px rgba(0, 0, 0, 0.07);
	border-radius: 3px;
	box-sizing: border-box;
}
#div_form .div_time {
	display: inline-block;
}
#div_form .version {
	padding-right: 34px;
	text-align: right;
    color: #828282;
}
#div_form small {
	display: inline-block:
}
#div_form .inputWrap {
	position: relative;
	display: block;
	margin: 20px 0px;
	padding-top: 2px;
	padding-bottom: 2px;
	background-color: #FFFFFF;
	box-shadow: 1px 1px 0px rgba(0,0,0,0.2);
	transition: 0.45s;
}
#div_form .inputWrap.isActive {
	transform: scale(1.2);
}
#div_form .inputWrap label {
	position: absolute;
	display: block;
	padding: 2px 3px;
	bottom: 6px;
	left: 3px;
	font-size: 12px;
	color: #152d50;
	background-color: #96da58;
	z-index: 1;
}
#div_form #user_title {
	content: "user";
}
#div_form #pwd_title {
	content: "password";
}
#div_form input {
	display: block;
	margin-left: 40px;
	padding: 14px 8px 6px 14px;
	width: 220px;
	font-family: monospace;
	color: #839ec7;
	background-color: #fbfbfb;
	box-sizing: border-box;
	border-left: 2px solid #5d9eff;
	border-top: 2px solid #FFFFFF;
	border-right: 2px solid #FFFFFF;
	border-bottom: 1px solid #FFFFFF;
}
#div_form input::placeholder {
	color: #c2c2c2;
}
button {
	display: inline-block;
	padding: 6px 10px;
	font-size: 18px;
	border: none;
	color: #FFFFFF;
	background-color: #839ec7;
	cursor: pointer;
}

.modal_background_dark {
    position: fixed;
    z-index: 100000;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: rgba( 0, 0, 0, .4 );
    vertical-align: top;
}

.white_box {
    border-radius: 3px;
    border: 1px solid #FFFFFF;
    background-color: #FFFFFF;
    position: fixed;
    font-size: 12px;
}

.div_alert_text {
	text-align: center;
	margin-top: 20px;
	width: 80%;
	margin-left: auto;
	margin-right: auto;
}

.div_alert_buttons {
	width: 100%;
	text-align: center;
	bottom: 0px;
	margin-top: 10px;
	margin-bottom: 10px;
}

body.loading .div_loading {
    display: block;
}

.div_loading {
  display: none;
  position: absolute;
  z-index: 100005;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: rgba(252, 253, 253, 0.6) url(../images/omnidb_loading.svg) 50% 50% no-repeat
}

/* MODAL State controls */
.isModal {
  display: none;
}
.isModal.isActive {
  display: block;
}



/** ANIMATIONS **/
#div_form {
	opacity: 0;

	animation: fadeIn 0.3s linear forwards 0s;
}

#div_form .loginWrap-body {
	height: 0px;
	overflow: hidden;

	animation:	growInFromTop 0.4s linear forwards 1.4s;
}

#div_form .version,
#div_form .inputWrap,
#div_form button {
	opacity: 0;

	animation:	fadeIn 0.6s linear forwards 1.8s;
}

#div_form .inputWrap {
	overflow: hidden;
}
#div_form .inputWrap label {
	transform: translateX(260px);

}
#user_title {
	animation: slideInFromRight 0.45s ease forwards 2s;
}
#pwd_title {
	animation: slideInFromRight 0.45s ease forwards 2.1s;
}

/* Animated Logo Omnidb styles */
#div_time .logo svg {
	width: 220px;
}

.logo_omnidb path,
.logo_omnidb rect {
	fill: transparent;
	stroke: #818181;
	stroke-width: 1px;

	stroke-dasharray: 100;
	stroke-dashoffset: 100;
}

.logo_omnidb_to-blue path,
.logo_omnidb_to-blue rect {
	animation:  svgDrawStrokes 1s linear forwards 0.3s,
				svgToBlue 0.6s linear forwards 1.3s,
				svgFadeStrokes 0.6s linear forwards 1.3s;
}

.logo_omnidb_to-darkblue path,
.logo_omnidb_to-darkblue rect {
	animation:  svgDrawStrokes 1s linear forwards 0.3s,
				svgToDarkblue 0.6s linear forwards 1.3s,
				svgFadeStrokes 0.6s linear forwards 1.3s;
}

@keyframes  svgDrawStrokes {
	to {
		stroke-dashoffset: 0;
	}
}
@keyframes svgFadeStrokes {
	to {
		stroke: transparent;
	}
}
@keyframes svgToBlue {
	to {
		fill: #878FC6;
	}
}
@keyframes svgToDarkblue {
	to {
		fill: #515579;
	}
}
@keyframes fadeIn {
	to {
		opacity: 1;
	}
}
@keyframes slideInFromRight {
	to {
		transform: translateX(0);
	}
}
@keyframes growInFromTop {
	to {
		height: 187px;
	}
}
