/*
 ======================================================================================================
 
    @VERSION			: 1.0.0
    @CREATED			: 20 AUG 2019
    @MODIFIED			: 20 AUG 2019
    @DESIGNER			: Daniel C. K. Tan
    
    @FILE				: ~/css/login.css
	@TYPE				: Style Sheet
	@DESCRIPTION		: Styles for Login Page
	   
 ======================================================================================================
*/

/* Document Styles
/* ----------------------------------------------------------------------------------------------------*/
* { margin: 0; padding: 0; box-sizing: border-box; }

body, html, .container { height: 100%; }

html { font-size: 1em; line-height: 1.4; scroll-behavior: smooth; }

body {    
	background: #666;
	color: #333;
	font-family: var(--brand-doc-font-family);

	text-rendering: optimizelegibility; 
    -webkit-tap-highlight-color: rgba(255,255,255,.2);	
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
	    -ms-text-size-adjust: 100%; 
		
	-webkit-transition: font-size .8s ease-in-out;
	   -moz-transition: font-size .8s ease-in-out;
	     -o-transition: font-size .8s ease-in-out;
            transition: font-size .8s ease-in-out;		
}


/* Link Styles
/* ----------------------------------------------------------------------------------------------------*/
a { color: #666; -webkit-transition: all 0.4s; -moz-transition: all 0.4s; -o-transition: all 0.4s; transition: all 0.4s; }
a:focus { outline: none !important; }
a:hover { text-decoration: none; color: #669900; }


/* Login Form Styles
/* ----------------------------------------------------------------------------------------------------*/
input { outline: none; border: none; }

textarea {  outline: none;  border: none; }

textarea:focus, input:focus { border-color: transparent !important; }

input:focus::-webkit-input-placeholder { color:transparent; }
input:focus:-moz-placeholder { color:transparent; }
input:focus::-moz-placeholder { color:transparent; }
input:focus:-ms-input-placeholder { color:transparent; }

textarea:focus::-webkit-input-placeholder { color:transparent; }
textarea:focus:-moz-placeholder { color:transparent; }
textarea:focus::-moz-placeholder { color:transparent; }
textarea:focus:-ms-input-placeholder { color:transparent; }

input::-webkit-input-placeholder { color: #999999; }
input:-moz-placeholder { color: #999999; }
input::-moz-placeholder { color: #999999; }
input:-ms-input-placeholder { color: #999999; }

textarea::-webkit-input-placeholder { color: #999999; }
textarea:-moz-placeholder { color: #999999; }
textarea::-moz-placeholder { color: #999999; }
textarea:-ms-input-placeholder { color: #999999; }

button { outline: none !important; border: none; background: transparent; }
button:hover { cursor: pointer; }


/* Login Card Styles
/* ----------------------------------------------------------------------------------------------------*/
.card-login { background-color: #fff; border: 0; border-radius: 1rem; box-shadow: 0 0.5rem 1rem 0 rgba(0, 0, 0, 0.1); overflow: hidden; }

.card-login .card-title { font-weight: 300; font-size: 1.5rem;margin-bottom: 2rem; }

.card-login .card-img-left {
	width: 45%;
	background-attachment: scroll;
	background-image: var(--brand-login-image);
	background-position: center;
	background-size: cover;
}

.card-login .card-body { padding: 2rem; }


.login-wrap-input {
	position: relative;
	width: 100%;
	z-index: 1;
	margin-bottom: 10px;
}

.login-input {
	font-size: 15px;
	line-height: 1.5;
	color: #666666;

	display: block;
	width: 100%;
	background: #e6e6e6;
	height: 50px;
	border-radius: 10px;
	padding: 0 20px 0 55px;
}

.login-input-focus {
	display: block;
	position: absolute;
	border-radius: 25px;
	bottom: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	box-shadow: 0px 0px 0px 0px;
	color: rgba(87,184,70, 0.8);
}

.login-input:focus + .login-input-focus {
	-webkit-animation: anim-shadow 0.5s ease-in-out forwards;
	animation: anim-shadow 0.5s ease-in-out forwards;
}

@-webkit-keyframes anim-shadow {
	to {
		box-shadow: 0px 0px 70px 25px;
		opacity: 0;
	}
}

@keyframes anim-shadow {
	to {
		box-shadow: 0px 0px 70px 25px;
		opacity: 0;
	}
}

.login-input-symbol {
	font-size: 15px;

	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	position: absolute;
	border-radius: 15px;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding-left: 25px;
	pointer-events: none;
	color: #999;

	-webkit-transition: all 0.4s;
	-o-transition: all 0.4s;
	-moz-transition: all 0.4s;
	transition: all 0.4s;
}

.login-input:focus + .login-input-focus + .login-input-symbol { color: #669900; padding-left: 20px; }

.btn-show-pass {
	font-size: 15px;
	color: #999999;

	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	position: absolute;
	height: 100%;
	top: 0;
	right: 10px;
	padding: 0 15px;
	cursor: pointer;
	-webkit-transition: background 0.4s;
	-o-transition: background 0.4s;
	-moz-transition: background 0.4s;
	transition: background 0.4s;
}

.btn-show-pass:hover { color: #669900; } 
.btn-show-pass.active { color: #669900; }


.login-container-btn {
	width: 100%;
	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding-top: 20px;
}

.login-btn {
	font-family: var(--brand-doc-font-family);
	font-size: 18px;
	line-height: 1.5;
	color: #fff;
	text-transform: uppercase;
	font-weight: 600;

	width: 100%;
	height: 50px;
	border-radius: 10px;
	background-color: var(--brand-btn-primary);
	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 25px;

	-webkit-transition: all 0.4s;
	-o-transition: all 0.4s;
	-moz-transition: all 0.4s;
	transition: all 0.4s;
}

.login-btn:hover { background-color: var(--brand-btn-primary-hover); }
.login-btn[disabled] { background-color: #336600; color: #ddd; cursor: not-allowed; }
.login-btn i { margin-right: 15px; }

.login-password-reset { text-align: center; padding-top: 30px; width: 100%; }



.validate-input { position: relative; }

.alert-validate .btn-show-pass { visibility: hidden; }

.alert-validate::before {
	font-family: 'Source Sans Pro', sans-serif !important;
	content: attr(data-validate);
	position: absolute;
	max-width: 70%;
	background-color: #fff;
	border: 1px solid #c80000;
	border-radius: 3px;
	padding: 4px 25px 5px 10px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	transform: translateY(-50%);
	right: 12px;
	pointer-events: none;

	font-family: Raleway-Medium;
	color: #c80000;
	font-size: 14px;
	line-height: 1.4;
	text-align: left;

	visibility: hidden;
	opacity: 0;

	-webkit-transition: opacity 0.4s;
	-o-transition: opacity 0.4s;
	-moz-transition: opacity 0.4s;
	transition: opacity 0.4s;
}

.alert-validate::after {
	content: "\f12a";
	font-family: FontAwesome;
	display: block;
	position: absolute;
	color: #c80000;
	font-size: 18px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	transform: translateY(-50%);
	right: 18px;
}

.alert-validate:hover:before { visibility: visible; opacity: 1; }

@media (max-width: 992px) {
	.alert-validate::before { visibility: visible; opacity: 1; }
}


/* Login Footer Styles
/* ----------------------------------------------------------------------------------------------------*/
footer { color: #eee; font-size: 0.85rem; text-align: center; }
footer a, footer a:hover { color: #eee; text-decoration: underline; }


/* Alert Styles
/* ----------------------------------------------------------------------------------------------------*/
.alert h4 { font-size: 1.3125rem; margin-top: 0; margin-bottom: .8rem; }
.alert-success { color: #3c763d; background-color: #dff0d8; border-color: #d6e9c6; }
.alert-info { color: #31708f; background-color: #d9edf7; border-color: #bce8f1; }
.alert-warning { color: #8a6d3b; background-color: #fcf8e3; border-color: #faebcc; }
.alert-danger { color: #a94442; background-color: #f2dede; border-color: #ebccd1; }


/* Callout Styles
/* ----------------------------------------------------------------------------------------------------*/
.callout { background-color: #fff; border: 1px solid #e4e7ea; border-left: 4px solid #c8ced3; border-radius: .25rem; margin: 1rem 0; padding: .75rem 1.25rem; position: relative; }
.callout h4 { font-size: 1.3125rem; margin-top: 0; margin-bottom: .8rem }
.callout p:last-child { margin-bottom: 0; }

.callout-primary { background-color: #d2eef7; border-color: #b8daff; border-left-color: #17a2b8; }
.callout-primary h4 { color: #20a8d8; }

.callout-default,
.callout-secondary  { border-left-color: #777; background-color: #f4f4f4; }
.callout-default h4,
.callout-secondary h4 { color: #777; }

.callout-success { background-color: #dff0d8; border-color: #d6e9c6; border-left-color: #28a745; }
.callout-success h4 { color: #3c763d; }

.callout-danger { background-color: #f2dede; border-color: #ebccd1; border-left-color: #d32535; }
.callout-danger h4 { color: #a94442; }

.callout-warning { background-color: #fcf8e3; border-color: #faebcc; border-left-color: #edb100; }
.callout-warning h4 { color: #f0ad4e; }

.callout-info { background-color: #d2eef7; border-color: #b8daff; border-left-color: #148ea1; }
.callout-info h4 { color: #31708f; }

.callout-dismissible .close { position: absolute; top: 0; right: 0; padding: .75rem 1.25rem; color: inherit; }
