html,body{
	font-family: Source Sans Pro, Arial, Helvetica, sans-serif;
	margin: 0px;
	font-size:13px;	
}
body{
	min-height:100%;
}

.screen {
	position:absolute;
	left:0px;
	top:0px;
	width:100%;
	min-height:100%;
}

video {
	position: absolute;
	left:0px;
	top:0px;
	width:100%;
	min-height:100%;
	object-fit: cover;
	
}
html{
	background: linear-gradient(141deg, #efefef 0%, #dadada 100%); 
	min-height: 100%;
	height:auto !important;
	background-image: url('../imgx/$backgroundImage');
	background-size:cover;
	background-position: center top;
	background-repeat: no-repeat;
	background-color:#f6f6f6;
}

a, a:visited{color:#888; text-decoration:underline;}
a:hover{color:#333;}

h1 {
	font-weight: 400;
	font-size: 15px;
	text-align:center;
	color: #555;
	margin: 0 0 10px 0;
	border-bottom: 1px solid #E6E6E6;
	padding: 15px 0;	
}

h2{
	font-size:16px;
	color: #999;
	font-weight: 300;
	width: 100%;
	text-align: center;
	border-top: 1px solid #eee;
	padding: 15px 0 0 0;
	margin: 0;
}

h1+h2, .login-splitter+h2 {
	border-top:none;
}

#msg{
	display:none;
	clear:both;
	border: 1px solid #e65757;
	border-radius: 5px;
	background-color: #FFF5F5;
	color: #d01616;
	font-weight: 500;
	padding: 10px;
	margin-top: 10px;
	width: 100%;
	text-align: center;
	position: relative;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
#msg p{
	margin:0px;
}


.wrap.main{
	min-height: 100%;
	height: 100%;
	padding:0 10px;
	text-align: center;
	box-sizing: border-box;
	position:relative;
}

.part.footer .logo{
	float:left;
	position:relative;
	width: 110px;
	height: 35px;
	display:inline-block !important;
	margin:10px;
	opacity:0.5;
	cursor:pointer;
}

.restore-link {
	transition: all 0.3s ease-in-out;
}
.restore-link.accent a {
	font-weight: bold;
	color:#222;
	font-size:14px;	
}

.part.footer .logo:hover{opacity:0.9;}
.part.footer .logo.left{background-position: -128px -219px;}
.part.footer .logo.right{background-position: 0px -223px; float:right;}

.part.footer span{
	width:100%;
	text-align:center;
	color:#999;	
	display:block;
}

.part.footer ul{
	display: inline-block;
	width: 100%;
	margin: 0px;
	padding: 20px 0 0 0;
	text-align: center;
}

.part.footer ul li{
	display:inline-block;
	padding:0 10px 12px 0;
	white-space: nowrap;
}

.part.footer ul li:last-child{
	padding:0px;
}

.part.footer ul li a {
	color:#999;
	cursor:pointer;
	text-decoration:none;
}

.part.footer ul li a:hover {
	color:#666;
	cursor:pointer;
	text-decoration:none;
}
.part{
	float:left;
	height:auto;
	display:inline-block;	
	width: 100%;
}

.part.main{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	background-color: rgba(255,255,255,0.9);
	padding: 10px 20px 40px;
	display: inline-block;
	vertical-align: middle;
	max-width: 520px;
	width:100%;
	border: 1px solid #fff;
	float: none; 
}

.part.main.shadow{
	box-shadow: 0px 5px 20px 0px rgba(0,0,0,0.2);
}

.part.main.mfa{
	max-width: 640px;
	transition: opacity .5s ease-in-out;
}

.part.main.userconsent {
	max-width: 1200px;
}

.part.main .company-logo{
	width: 100%;
	height: 90px;
	display: block;
	margin:0 auto;
	background-image: url('../imgx/$logo');
	background-size: inherit;
	background-repeat:no-repeat;
	background-position: center center;
}

.part.main .links{
	width: 100%;
	display:block;
	float:left;
	position:relative;
	margin-top: 15px;
}


input, .button{
	border-radius: 5px;
	width: 100%;
	display: inline-block;
	padding:9px 10px;
	border: 1px solid #ddd;
	box-sizing: border-box;
	background-color: #fff;
	margin:10px 0 0 0;
	position:relative;
	font-size:15px;
	-webkit-appearance: none;
	font-family: Source Sans Pro, Arial, Helvetica, sans-serif;
	transition: all 0.25s ease-in-out;
}

.button.green,.button.auth {
	background-color:#71be4b;
	border-color:#5b9a3d;	
}

.button.grey {
	background-color:#aaa;
	border-color:#999;	
}

#submitbutton.button:not(.disabled):hover{
	background-color: #3ea1f0;
    border-color: #358bd0;
}

.button:not(.disabled).grey:hover{
	background-color:#aaa;
	border-color:#666;		
	box-shadow:1px 1px 2px 1px rgba(0,0,0,0.2);
	-webkit-box-shadow:1px 1px 2px 1px rgba(0,0,0,0.2);
}

.button.auth:first-of-type {
	margin-top:20px;	
}

.button.auth:last-of-type {
	margin-bottom:10px;	
}

.button:not(.disabled).auth:hover{
	background-color:#71be4b;
	border-color:#5b9a3d;		
	box-shadow:1px 1px 6px 1px rgba(0,0,0,0.3);
	-webkit-box-shadow:1px 1px 6px 1px rgba(0,0,0,0.3);
}
	
.button:not(.disabled).green:hover{
	background-color:#71be4b;
	border-color:#5b9a3d;		
	box-shadow:1px 1px 2px 1px rgba(0,0,0,0.4);
	-webkit-box-shadow:1px 1px 2px 1px rgba(0,0,0,0.4);
}
	
.button.red {
	background-color:#e65757;
	border-color:#b34444;	
}

.button:not(.disabled).red:hover{
	background-color:#e65757;
	border-color:#b34444;
	box-shadow:1px 1px 2px 1px rgba(0,0,0,0.4);
	-webkit-box-shadow:1px 1px 2px 1px rgba(0,0,0,0.4);	
}


.button.silver {
	background-color:#aaa;
	border-color:#aaa;	
}

.button:not(.disabled).silver:hover{
	background-color:#999;
	border-color:#aaa;	
	box-shadow:1px 1px 2px 1px rgba(0,0,0,0.3);
	-webkit-box-shadow:1px 1px 2px 1px rgba(0,0,0,0.3);	
}


input{
	box-shadow:1px 1px 3px 0px rgba(0,0,0,0.1) inset;
	-webkit-box-shadow:1px 1px 3px 0px rgba(0,0,0,0.1) inset;
}

input:focus{
	border:1px solid #42a9fc;
	outline:none;
}

input.disabled {
	background-color:#f5f5f5;
}

input#submitbutton, .button{
	text-align: center;
	text-indent: 0px;
	background-color: #3fa8fb;
	color: #fff;
	border: 1px solid #42a9fc;
	margin-left:auto;
	margin-right:auto;
	width: 100%;
	font-weight:400;
	display: block;
	margin-top:10px;
	margin-bottom:0px;	
	transition: background-color 0.25s ease-in-out, color 0.25s ease-in-out;
	-o-transition: background-color 0.25s ease-in-out, color 0.25s ease-in-out;
	-ms-transition: background-color 0.25s ease-in-out, color 0.25s ease-in-out;
	-moz-transition: background-color 0.25s ease-in-out, color 0.25s ease-in-out;
	-webkit-transition: background-color 0.25s ease-in-out, color 0.25s ease-in-out;

}

input#submitbutton:not(.disabled), .button:not(.disabled) {
	cursor:pointer;	
}

input[type="text"], input[type="password"]{
	transition: border-color 0.3s ease-in-out;
}

.button:hover{
	background-color:#2C95E8;
	color:#fff;
}

input#submitbutton.disabled, .auth.button.disabled{
	background-color:#ccc;
	color: #999;
	border-color:#999;
	cursor:default;
}

input#submitbutton.disabled:hover, .auth.button.disabled:hover{
	background-color:#ccc;
}

input#submitbutton.progress {
  background-color: #f0f0f0;
  border-color: white !important;
  background-image: linear-gradient(to right, #f0f0f0 16%, #ddd 45%, #f0f0f0 59.75%, #2e91dd);
  background-size: 200% 10%;
  animation: gradient-waves 3s linear infinite;
}

@keyframes gradient-waves {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -200% 0;
  }
}

 
.button:not(.disabled):hover{
	background-color: #1681d6;
    box-shadow: 0px 0px 8px 0px rgba(63, 168, 251, 0.3);
}
.animated-submit-button{
	height: 40px;
	position: relative;
	width: 100%;
	transition:all 0.5s ease-in-out, color 0.3s ease-out;
	margin: 10 auto 0;
	color:#fff;
  	left: 50%;
  	margin-left: -50%;
}
.animated-submit-button.disabled{
	color: transparent;
    width: 40px;
    margin-left: -20px;
    border-radius: 20px;
}
.animated-submit-button::after{
	opacity: 0;
	content: '';
    position: absolute;
    left: 50%;
    top: 40px;
    margin-left: -20px;
    background-image: url(../img/verification-sign.svg);
    background-size: 20px;
    background-repeat: no-repeat;
    background-position: center;
	width: 40px;
	height: 40px;  
    border-radius: 20px;
    z-index: 100;
	background-color: transparent;
    transition: all 0.7s ease-in-out;
}
.animated-submit-button.disabled::after{
	opacity: 1;
	top: -1px;
}

.checkmark{
	width:12px;
	height:12px;
	border-radius:2px;
	border:1px solid #ddd;
	background-color:#fff;
	display:inline-block;
	margin-right: 5px;
	vertical-align: sub;
}
input:-webkit-autofill {
    -webkit-box-shadow:0 0 0 50px white inset, 2px 2px 3px 0px rgba(0,0,0,0.1) inset;
    -webkit-text-fill-color: #333;
}

input:-webkit-autofill:focus {
    -webkit-box-shadow:0 0 0 50px white inset, 2px 2px 3px 0px rgba(0,0,0,0.1) inset;
    -webkit-text-fill-color: #333;
} 

#login_form span{
	display:block;
}

#login_form{
	width: 90%;
	margin: 0 auto;
}

#passwd_form {
	overflow: hidden;
}

#passwd_form .label{
	margin-bottom:4px;
	text-align:left;
	color:#444;
}

#passwd_form #changepasswd {
	margin-top:16px;
}

#passwd_form input{
	display:block;
	margin:0px;
	margin-bottom:10px;
}

#passwordinfo table{
	width: auto;
	font-weight: 400;
    font-size: 12px;
    color: #555;
}

#passwordinfo h2{ 
	text-align:left;
	font-size:13px;
	color:#666;
	margin-bottom:6px;
}

#passwordinfo table td:first-child{
	text-align: left;
}

h2.restore-email {
	color:#444;
	margin-bottom:20px;
	display:block;
}

h2.hint-text {
	color:#444;
	margin-top:6px;
	display:block;
	font-size:14px;
	padding:0px;
}

span.req{
	width: 100%;
	float: left;
	position: relative;
	text-align:center;
}

span.req a{
	margin: 10px 0 0 0;
	padding-bottom: 5px;
	float: none;
	position: relative;
	display:block;
}


div.notes-text{
	margin: 10px 0 0 0;
	padding-bottom: 5px;
	margin-top:30px;
	font-size:12px;
	overflow:hidden;
	text-align:center;
	float: none;
	clear:both;
	position: relative;
	color:#333;
}

div.result-text{
	margin: 10px 0 0 0;
	padding-bottom: 5px;
	margin-top:30px;
	font-size:15px;
	color:#333;
}

span.remember{
	width: 100%;
	float: left;
	margin: 5px 0;
	color:#999;
	font-size:13px;
	padding:10px;
}

.languages {
	text-align:right;
	margin-bottom:30px;
	opacity:0;
	transition: opacity 0.3s ease-in-out;	
}

.languages.visible {
	opacity:1;
}

.languages .lang {
	margin-left:3px;
	color:#888;
	border-bottom:2px solid transparent;
	font-size:14px;
	cursor:pointer;
	padding:2px 5px;
	user-select: none;
	-webkit-touch-callout: none;
	-webkit-user-select: none;	
	transition: border-color 0.3s ease-in-out;	
}

.languages .lang.active {
	cursor:default;
	color:#666;
	border-color: #666;
}

.consent-text {
	background-color:white;
	border:1px solid #aaa;	
	min-height:200px;
	padding:10px;
}

#codeinput{
	font-size:18px;
}

span.step-id {
	font-weight:bold; 
	color:#333;
	margin-right:6px;
	font-size:14px;
}

p.guide {
	text-align:left;
}

.login-splitter {
	height:18px;
	padding-top:12px;
	color:#555;
	font-weight: 400;
	margin-top:8px;
}

.login-splitter-line {
	height:1px;
	border-bottom:1px solid #ccc;
	margin-left:30px;
	margin-right:30px;
}

.login-splitter span {
	display:inline-block !important;
	padding:2px 8px;
	position:relative;
	top:-12px;
	background-color: #efefef;
}
.image{
	background-image: url('../img/login-icon-set.png');
	background-size: 200px 250px;
	background-repeat:no-repeat;
}


@font-face {
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 400;
	src: local('Roboto Regular'), local('Roboto-Regular'),
		url('../fonts/Roboto-Regular.woff')
		format('woff');
}

@font-face {
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 700;
	src: local('Roboto Bold'), local('Roboto-Bold'),
		url('../fonts/Roboto-Bold.woff')
		format('woff');
}

@font-face {
	font-family: 'Roboto';
	font-style: italic;
	font-weight: 300;
	src: local('Roboto Light Italic'), local('Roboto-LightItalic'),
		url('../fonts/Roboto-LightItalic.woff')
		format('woff');
}
  
@font-face {
	font-family: 'Roboto';
	font-style: italic;
	font-weight: 400;
	src: local('Roboto Italic'), local('Roboto-Italic'),
		url('../fonts/Roboto-Italic.woff')
		format('woff');
}


@font-face {
  font-family: 'Source Code Pro';
  src:
       url('../fonts/SourceCodePro-VariableFont_wght.ttf')  format('truetype');
}

@font-face {
  font-family: 'Source Code Pro';
  font-style: italic;
  src:
       url('../fonts/SourceCodePro-Italic-VariableFont_wght.ttf')  format('truetype');
}

@font-face {
  font-family: 'Source Sans Pro';
  src:
       url('../fonts/SourceSansPro-Regular.ttf')  format('truetype');
}
@font-face {
  font-family: 'Source Sans Pro';
  font-style: italic;
  src:
       url('../fonts/SourceSansPro-Italic.ttf')  format('truetype');
}
@font-face {
  font-family: 'Source Sans Pro';
  font-weight: 700;
  src:
       url('../fonts/SourceSansPro-Bold.ttf')  format('truetype');
}
@font-face {
  font-family: 'Source Sans Pro';
  font-weight: 600;
  src:
       url('../fonts/SourceSansPro-SemiBold.ttf')  format('truetype');
}


/* CSS for high-resolution devices */
@media (-webkit-min-device-pixel-ratio: 2), 
(min-resolution: 192dpi) { 

	.part.main .company-logo{
		background-image: url('../imgx/$logo2x');
		background-size:50%;
	}
	.image{
		background-image: url('../img/login-icon-set@2x.png');
		}
	body{
	}
}



/* CSS FOR IPAD */
@media  handheld,
screen and ( max-width:1030px ),
screen and ( max-device-width:1030px ) {

}


/* CSS FOR IPAD - LANDSCAPE*/
@media only screen 
and (min-device-width : 768px) 
and (max-device-width : 1024px) 
and (orientation : landscape) {

}

/* CSS FOR IPAD - PORTRAIT*/
@media only screen 
and (min-device-width : 768px) 
and (max-device-width : 1024px) 
and (orientation : portrait) {

}
/* CSS FOR IPHONE */
@media  handheld,
screen and ( max-width:1024px ),
screen and ( max-device-width:1024px ) {   
	#login_form{
		width:100% !important;
	}
	.wrap.main {
		padding:0px;
	}
	.part.main {
	}	
}

@media  handheld,
screen and ( max-width:760px ),
screen and ( max-device-width:760px ) {


}

@media only screen and (max-device-width: 480px) {
	.part.main{
		margin-top:0px;
	}
}

/* Retina + Dark Mode */
@media (-webkit-min-device-pixel-ratio: 2) and (prefers-color-scheme: dark), (min-resolution: 192dpi) and (prefers-color-scheme: dark) {
    .screen .part.main .company-logo {
        background-image: url('../imgx/$logo2xDark');
    }
}

/* Dark mode */
@media (prefers-color-scheme: dark) {

	input#submitbutton, .button{
		background-color: #1e5683;
    	border-color: #358bd0;
	}

	#submitbutton.button:not(.disabled):hover{
		background-color: #215d8e;
	}
	
	input#submitbutton.disabled, .auth.button.disabled, input#submitbutton.disabled:hover, .auth.button.disabled:hover {
		background-color: #585858;
		border-color:#414141;
	}

	input:-webkit-autofill{
	    -webkit-box-shadow:0 0 0 50px #585858 inset, 2px 2px 3px 0px rgba(0,0,0,0.1) inset;
	    -webkit-text-fill-color: #ccc;
	}

	input:-webkit-autofill:focus {
	    -webkit-box-shadow:0 0 0 50px #585858 inset, 2px 2px 3px 0px rgba(0,0,0,0.1) inset;
	    -webkit-text-fill-color: #ccc;
	} 

	input#submitbutton.progress {
	  background-color: #585858;
	  border-color: rgb(124, 124, 124) !important;
	  background-image: linear-gradient(101deg, #585858 4.2%, #989797 36.13%, #585858 59.75%, #18405e);
	}

	.button.green,.button.auth {
		background-color:#3a6325;
		border-color:#5b9a3d;
	}

	.button:not(.disabled).auth:hover,.button:not(.disabled).green:hover{
		background-color:#44742c;
		border-color:#6cb848;
	}
			
	.part.main .company-logo{
		background-image: url('../imgx/$logoDark');
	}

	.part.main{
		background-color:#242424;
		border-color:#444;
		opacity:0.95;
	}
	
	h1,h2 {
		color: #c7c7c7;
		border-color: #555;
		border-bottom-color: #555;
	}
	
	
	h2.hint-text {
		color: #999;
	}
	
	.login-splitter {
		color: #b6b6b6;
	}

	.login-splitter-line {
		border-bottom:1px solid #555;
	}
	
	.login-splitter span {
		background-color:#242424;
	}
	
	a:hover {
		color:#eee;
	}
	
	div.notes-text {
		color:#b6b6b6;
		font-size: 13px;
	}
	
	.languages .lang {
		color: #b6b6b6;
	}
	
	.languages .lang.active {
		color:#eee;
		border-color: #c4c4c4;
	}
	
	input {
		background-color: #343434;
		border-color: #5b5b5b;
		color: #eee;
	}

	input.disabled {
		background-color: #343434;
		border-color: #444;
		color: #ddd;
	}
		
	input::placeholder {
		color: #6a6a6a;
		font-style:italic;
	}
	
	#msg {	
		background-color: #363636;
		color: white;
		border-width:2px;
		border-color:#d01616;
	}
	
	html{
		background: linear-gradient(24deg, rgba(0,0,0,1) 0%, rgba(45,45,45,1) 65%, rgba(62,62,62,1) 100%);		
	}
	
}


