html,body{
	position:relative;
	width:100%;height:100%;overflow:hidden;margin:0;padding:0;
}
body {
  background: #fff; /* fallback for old browsers */
  background: -webkit-linear-gradient(right, #fff, #eee);
  background: -moz-linear-gradient(right, #fff, #eee);
  background: -o-linear-gradient(right, #fff, #eee);
  background: linear-gradient(to left, #fff, #eee);
  font-family: "Roboto", sans-serif;
  overflow:hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;      
}
#login #login-container{
	position:absolute;right:0;
	top:0;bottom:0;
	opacity:0;
    overflow: hidden;
	background-color:white;
	border-left:1px solid silveR;
	width:min(100%, 600px);
	transform:translate(0,0);
	transition:transform 0.2s ease-in-out,opacity 0.2s ease-in-out;
}
#login #login-container.ready{
	opacity:1;
}
#login.loading #login-container{
	transform:translateX(100%);
}

#login{
	position: absolute;
    top: 0;
	opacity:1;
    lefT: 0;
    right: 0;
	opacity:1;
	transition:opacity 0.2s ease-in-out;
    bottom: 0;
}
#login form{
	display:none;
}
#login[form="default"] #login-form{
	display:block;
}
#login[form="p"] #register-form{
	display:block;
}
#login[form="sms"] #login-form-sms{
	display:block;
}
#login[form="otp"] #login-form-otp{
	display:block;
}

#login.loaded{
	opacity:0;
	pointer-events:none;
}
#login .login-page {
 
}
#login .login-locales{
	margin-bottom:10px;
	text-align:right;

}
#login .login-locales a{
	opacity:0.7;cursor:pointer;
}
#login .login-locales a.active{
	opacity:1;
}
#login .form {
	z-index: 1;
	width: 80%;
	position:absolute;
	top:50%;left:50%;transform:translate(-50%,-50%);
	padding: 45px;
	text-align: center;
}
#login .form input {
  outline: 0;
  background: #f2f2f2;
  width: 100%;
  border: 0;
  margin: 0 0 15px;
  padding: 15px;
  box-sizing: border-box;
  font-size: 14px;
}
#login .form button {
  text-transform: uppercase;
  outline: 0;
  background: #282a2a;
  width: 100%;
  border: 0;
  padding: 15px;
  color: #FFFFFF;
  font-size: 14px;
  -webkit-transition: all 0.3 ease;
  transition: all 0.3 ease;
  cursor: pointer;
}
#login .form button.default{
  background: silver;
}
#login #login-form-sms footer{
	display:flex;
	flex-direction:row-reverse;
    margin-top: 20px;
}
#login  #login-form-sms footer button + button{
	margin-right:10px;
}
#login .form button:hover,
#login .form button:active,
#login .form button:focus {
  color: #32b9e6;
}
#login .form .message {
  margin: 15px 0 15px;
  color: #282a2a;
}
#login .form .message.error{
	color:red;
}
#login .form .message a {
  color: #32b9e6;
  text-decoration: none;
}
#login .container {
  position: relative;
  z-index: 1;
  max-width: 300px;
  margin: 0 auto;
}
#login .container:before,#login  .container:after {
  content: "";
  display: block;
  clear: both;
}
#login .container .info {
  margin: 50px auto;
  text-align: center;
}
#login .container .info h1 {
  margin: 0 0 15px;
  padding: 0;
  font-size: 36px;
  font-weight: 300;
  color: #1a1a1a;
}
#login .container .info span {
  color: #4d4d4d;
  font-size: 12px;
}
#login .container .info span a {
  color: #000000;
  text-decoration: none;
}
#login .container .info span .fa {
  color: #EF3B3A;
}

#login  #logo{
	background-image:url("/company/images/logo");
	 background-size: contain;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    height: 120px;
    position: absolute;
    width: 80%;
    left: 50%;
    transform: translateX(-50%);
    bottom: 100%;
	
}

#body-loader .overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 100000000;
	pointer-events:none;
}
body.ready .overlay{
	
}

#body-loader {
	color:white !important;
	opacity:0;
	transition:opacity 0.2s ease-in-out;
}
#body-loader.ready{
	opacity:1;
}
#body-loader .overlayContent {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	transition: .5s cubic-bezier(.77,0,.18,1);
}
#body-loader .loader  circle{
	fill:transparent;
	stroke:white;
	transition:stroke-dashoffset 0.1s;
	stroke-width:5px;
}
#body-loader .loader {
	width: 128px;
	height: 128px;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	animation: body-loader-spin 2s linear infinite;
}
#body-loader .loader  .inner{
	width: 64px;
	height: 64px;
	position:absolute;
	top:50%;
	left:50%;transform:translate(-50%,-50%);
	animation:  body-loader-spinInner 2s linear infinite;
}
#body-loader .loader-percent{
	position:absolute;
	top:50%;left:50%;transform:translate(-50%,-50%);
	
}
#body-loader .loader-text{
	position:absolute;
	top:calc(100% + 20px);left:50%;transform:translateX(-50%);
	
}

.code-values{
	display:flex;
    justify-content: center;
}
.code-values input{
	margin:0 !important;
	box-shadow : 0 0 3px black inset;
	text-align:center;
	padding: !important;
	max-width:50px;
	line-height:50px;
	height:50px !important;
	margin-right:5px !important;
	border-radius:2px;
}
#login-form-otp.loading *{
	display:none !important;
}
#login-otp-qrcode{
    padding: 20px;
	padding-right:70px;
    justify-content: center;
    align-items: center;
	display:none;
	pointer-events:none;
}
#login-form-otp.otp-ready #login-otp-qrcode{
	display:flex;
}
#login-form-otp-confirm-code{
	margin-top:10px;
	pointer-events:none;
	opacity:0.5;
}
#login-form-otp.code-complet #login-form-otp-confirm-code{
	opacity:1;
	pointer-events:auto;
}
#login-form-otp.otp-ready #login-form-otp-confirm-code{
	display:none;
}
#login-form-otp-confirm{
	 displaY:none;
	 pointer-events:none;
	 opacity:0.6;
}
#login-form-otp.otp-ready #login-form-otp-confirm{
	display:block;
}
#login-form-otp.otp-code-complet #login-form-otp-confirm{
	pointer-events:auto;
	opacity:1;
}
#login-form-otp.otp-ready #login-otp-code{
	opacity:0.8;
}
#login-otp-code-value{
	display:none;
	margin-bottom:10px;
}
#login-form-otp.otp-code-valid #login-otp-code,
#login-form-otp.otp-code-valid #login-otp-message{
	display:none;
}
#login-form-otp.otp-ready #login-otp-code-value{
	display:flex;
}
#login-form-otp.otp-ready #login-otp-code input{
	pointer-events:none;
	opacity:0.5;
}
#login-form-otp-loading{
	position:relative;
	display:none;
}
#login-form-otp.loading #login-form-otp-loading,
#login-form-otp.loading #login-form-otp-loading *{
	display:block !important;
	position:relative;
}
#login-form-otp.loading #login-form-otp-loading i{
	font-size:50px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
}
#login-form-otp-result{
	padding: 1rem 1rem 1rem 20px;
    border-left: 50px solid #81c784;
    border-radius: 0.5rem;
    margin: 1rem 10px;
    position: relative;
	background-color: #e8f5e9;
    color: #1b5e20;
	text-align:left;
}
#login-form-otp-result:empty{
	display:none;
}
#login-form-otp-result a{
	display:inline-block;
	 height: 40px;
    width: 100px;
    background-size: contain;
    background-repeat: no-repeat;
}
#login-form-otp-result a + a{
	margin-left:5px;
}
#login-form-otp-result.error{
    background-color: #fff3e0;
    border-color: #ffb74d;
}
#login-form-otp-result i{
	font-size:24px;    color: hsla(0,0%,100%,.7);
	position:absolute;top:50%;left:-25px;transform:translate(-50%,-50%);
}
@keyframes body-loader-spin {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}
@keyframes body-loader-spinInner {
	0% {
		transform: translate(-50%,-50%) rotate(0deg);
	}
	100% {
		transform: translate(-50%,-50%) rotate(-720deg) ;
	}
}
input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus, 
input:-webkit-autofill:active{
	transition: background-color 5000s ease-in-out 0s;
}