input:-webkit-autofill {
	-webkit-box-shadow: 0 0 0 1000px white inset !important;
}

html {
	font-family: "Roboto";
	font-style: normal;
	font-weight: 400;
	color: #000000;
	font-size: 16px;
	min-height: 100%;
	background-image: url("../images/background-image-min.jpg") no-repeat fixed center;
	background-size: cover;
}

body.sp-screen {
	background: url("../images/background-image.jpg") no-repeat fixed center;
	background-size: cover;
	margin: 0;
}

.loader-wrapper,
.end-session-loader-wrapper {
	position: absolute;
	height: 100%;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 9999;
	background: rgba(0, 0, 0, 0.9);
}

.loader {
	width: 48px;
	height: 48px;
	border: 10px solid #1d4fc5;
	border-bottom-color: #ffcc00;
	border-radius: 50% !important;
	display: inline-block;
	box-sizing: border-box;
	-webkit-animation: rotation 2s linear infinite;
	animation: rotation 2s linear infinite;
}

@keyframes rotation {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

@-webkit-keyframes rotation {
	0% { -webkit-transform: rotate(0deg); }
	100% { -webkit-transform: rotate(360deg); }
}

.login-loader {
    display: none;
    height: 8px;
    padding-left: 10px;
    vertical-align: middle;
    margin: 18px 0 0 10px;
	position: absolute;
}

.sp-container {
	width: 100%;
	min-height: calc(100vh - 40px);
	display: grid;
	align-items: center;
	justify-content: center;
}

.kiosk-device .sp-container {
	min-height: unset;
}

.sp-card,
.custom-container {
	width: 100%;
}

.sp-card.access-denied {
	background: #ffffff;
	border: 1px solid #e0e0e0;
	border-radius: 6px !important;
	margin: 64px auto 32px;
	padding: 45px 45px 24px;
}

.kiosk-access-denied {
	padding-bottom: 50px;
}

.escalation-container {
	display: unset;
}

.escalation-container .containerFixed {
	margin-bottom: 35px;
}

.escalation-container footer {
	position: absolute;
}

.escalation-container .logo {
	padding-top: 30px;
}

.escalation-container .contact-management-box {
	border-radius: 6px !important;
}

.sp-section {
	top: -16px;
	margin: 64px auto 32px;
	width: 360px;
	padding: 45px 45px 24px;
	background: #ffffff;
	border: 1px solid #e0e0e0;
	border-radius: 6px !important;
	position: relative;
}

.no-access-section {
	width: unset;
}

.kiosk-device .sp-section {
	margin-top: 100px;
}

.logo {
	padding-bottom: 20px;
}

.sp-form,
.login-form,
.forgot-password-form,
.password-reset-form,
.password-expired {
	padding-left: 5px;
}

.email-card,
.password-card,
.mfa-card,
.mfa-authentication-card {
	display: none;
	transition: 2s ease;
}

.active {
	display: block;
	transition: 2s ease;
}

.title {
	font-size: 16px;
	line-height: 24px;
	word-break: break-word;
}

.title.end-sesssion-title {
	padding-bottom: 48px;
}

.title.page-not-found {
	font-size: 14px;
	line-height: 24px;
	padding-top: 10px;
}

.title.confirmation-message {
	display: none;
}

.title.confirmation-message.active {
	display: block;
}

.title span {
	font-weight: 700;
}

.title span#user-email {
	padding-left: 4px;
}

.email-card .title,
.mfa-card .title {
	padding-bottom: 12px;
}

.login-different-user {
	font-weight: 400;
	font-size: 10px;
	line-height: 12px;
	color: #979797;
	padding-bottom: 2px;
}

.login-different-user.mfa-login-different-user {
	padding-bottom: 16px;
}

.login-different-user span {
	color: #1d4fc5;
	cursor: pointer;
	padding-left: 5px;
}

.sp-form label,
.login-form label,
.password-reset-form label,
.password-reset-form label {
	font-size: 12px;
	line-height: 14px;
	display: block;
	padding-bottom: 6px;
	font-weight: 400;
	margin-bottom: 0;
}

.sp-form input,
.login-form input,
.password-reset-form input {
	width: 100%;
	border: 1px solid #a8b7c7;
	border-radius: 4px !important;
	padding: 10px;
	box-sizing: border-box;
	height: 35px;
}

.sp-form input.invalid-input,
.login-form input.invalid-input,
.password-reset-form input.invalid-input {
	border: 2px solid #d32f2f;
}

.sp-form button,
.login-form button,
.password-reset-form button {
	background: #1d4fc5;
	border-radius: 4px !important;
	border: unset;
	color: white;
	min-width: 90px;
	padding: 12px 10px;
	outline: none;
	text-transform: capitalize;
	opacity: 1;
}

.sp-form button:disabled,
.login-form button:disabled,
.password-reset-form button:disabled {
	opacity: 0.6;
}

.sp-form button .fa,
.login-form button .fa {
	color: white;
}

.sp-form .forgot-password,
.login-form .forgot-password {
	font-size: 12px;
	line-height: 14px;
	text-align: right;
	padding: 5px 0;
}

.sp-form .forgot-password span, .login-form .forgot-password span {
	color: #1d4fc5;
	cursor: pointer;
}

.sp-form button.login,
.login-form button.login {
	margin-top: 0;
}

.form-input-group {
	padding: 12px 0;
	position: relative;
}

.form-input-group.password-reset {
	padding: 12px 0 4px;
}

.form-password-group {
	padding: 12px 0 5px;
}

.form-button {
	padding: 8px 0;
}

.form-error {
	color: #d32f2f;
	font-weight: 400;
	font-size: 12px;
	line-height: 14px;
	padding-bottom: 6px;
}

.reset-password-input {
	position: relative;
}

.reset-password-input .password {
	padding-right: 50px;
}

.notification-description {
	padding-bottom: 5px;
}

.notification-description strong {
	padding-bottom: 5px;
	display: block;
}

.notification-description a {
	color: #1d4fc5;
}

.password-strenth {
	position: absolute;
	top: 0;
	right: 10px;
	font-style: normal;
	font-weight: 700;
	font-size: 12px;
	line-height: 14px;
	justify-content: center;
	align-items: center;
	height: 100%;
	display: none;
}

.password-strenth.active {
	display: flex;
}

.password-strenth.weak {
	color: #D32F2F;
}

.password-strenth.fair {
	color: #BE8904;
}

.password-strenth.strong {
	color: #2E7D32;
}

#passwordError {
	padding-top: 6px;
}

.contact-support {
	text-align: center;
	font-size: 12px;
	margin-top: 25px;
}

.contact-support a {
	color: #1d4fc5;
	text-decoration: none;
	padding-left: 4px;
}

.contact-support div.p-12 {
	padding-bottom: 12px;
}

.login-success,
.login-error,
.forgot-password-error,
.reset-password-error {
	display: none;
}

.login-error.active,
.forgot-password-error.active,
.reset-password-error.active {
	background: #d32f2f;
	border-radius: 4px !important;
	color: #ffffff;
	display: flex;
	flex-direction: row;
	padding: 10px;
	font-weight: 400;
	font-size: 13px;
	line-height: 15px;
	margin: 15px 0 8px;
	word-break: break-word;
}

.login-success.active {
	background: #2E7D32;
	border-radius: 4px !important;
	color: #ffffff;
	display: flex;
	flex-direction: row;
	padding: 10px;
	font-weight: 400;
	font-weight: 400;
	font-size: 13px;
	margin: 15px 0 8px;
	word-break: break-word;
}

.login-success i,
.login-error i,
.forgot-password-error i,
.reset-password-error i {
	font-size: 16px;
	color: #ffffff;
	margin-top: 3px;
	padding-right: 10px;
}

.error-message a {
	text-decoration: underline;
	color: #ffffff;
}

.back-to-login {
	font-weight: 400;
	font-size: 12px;
	color: #1d4fc5;
	padding: 10px 0 12px;
	cursor: pointer;
	display: inline-block;
}

.back-to-login .fa {
	color: #1d4fc5;
}

.password-instruction {
	font-style: talic;
	font-weight: 400;
	font-size: 12px;
	line-height: 14px;
	color: #979797;
	padding: 4px 0 6px;
}

/* Access Denied */
.hero-unit {
    background-color: #ffffff;
    border-radius: 6px;
    color: inherit;
    font-weight: 200;
    line-height: 30px;
    margin-bottom: 30px;
    padding: 20px 0;
}

.noaccess {
	background-color: #ffffff;
	border-radius: 6px;
	color: inherit;
	font-weight: 200;
	line-height: 30px;
}

blockquote {
	border: 1px solid #999;
	page-break-inside: avoid;
	padding: 10px 20px;
	font-size: 16px;
}

.access-denied-container {
	height: auto;
	margin: 32px 0;
}

.access-denied-info {
	padding: 18px;
}

.access-denied-info .title {
	font-size: 20px;
	line-height: 40px;
}

.access-denied-info p {
	font-size: 14px;
}

.access-denied-info p a {
	color: #ffffff;
	text-decoration: underline;
}

.bg-danger {
    background: #d32f2f;
    border-radius: 4px !important;
    color: #ffffff;
    width: 480px;
}


input,
textarea {
	background-color: none !important;
}

textarea:focus,
input:focus {
	outline: none;
	border: 1px solid #0076de;
	box-shadow: 0px 0px 3px rgba(0, 118, 222, 0.5);
}

input.invalid-input:focus {
	outline: none;
	box-shadow: 0px 0px 3px rgba(211, 47, 47, 0.5);
}

footer {
	background: #ffffff;
	width: 100%;
	bottom: 0;
	height: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 12px;
	font-weight: 500;
	margin-top:auto;
}

footer div {
	padding-right: 10px;
	color: #041e42;
}

footer ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

footer ul li {
	display: inline-block;
	padding: 0 5px 0;
}

footer ul li::before {
	content: "|";
	padding-right: 13px;
}

footer ul li a,
footer ul li a:hover {
	color: #147cd1;
	text-decoration: none;
}

.kiosk-device footer {
	position: absolute;
}

.mfa-info {
	font-size: 13px;
	line-height: 16px;
}

.mfa-info.mfa-auth-instruction {
	padding: 6px 0 10px;
}

.mfa-qrimage {
	display: flex;
	justify-content: center;
	align-content: center;
}

.mfa-qrimage img {
	max-width: 200px;
}

.mfa-div-key input {
	border-radius: 4px !important;
	margin: 15px 0 18px;
}

.copy-configuration-key {
	position: absolute;
	right: 0;
	margin: -45px 20px 0;
	cursor: pointer;
}

.mfa-login-btn {
	padding: 6px 0 8px;
}

.mfa-next-button i {
	padding-left: 6px;
}

.hideElement {
	display: none;
}

.newpassword-validation {
	padding-top: 6px;
}

/********************************
		  Media Query
*********************************/

@media ( max-width : 575px) {
	footer {
		height: auto;
		flex-direction: column;
		padding: 12px 16px;
		text-align: center;
	}

	footer div {
		padding-bottom: 8px;
	}

	footer ul li:first-child:before {
		content: "";
	}

	.sp-section,
	.sp-card,
	.custom-container {
		top: auto;
		width: 90vw;
		margin: 48px auto;
	}
}

@media (max-width: 768px) {
	footer {
		height: auto;
		flex-direction: column;
		padding: 12px 16px;
		text-align: center;
	}

	footer div {
		padding-bottom: 8px;
	}

	footer ul li:first-child:before {
		content: "";
	}

	.sp-section {
		top: auto;
	}
}

/* Landscape */
@media only screen
  and (min-device-width: 768px)
  and (max-device-width: 1024px)
  and (orientation: landscape)
  and (-webkit-min-device-pixel-ratio: 1) {
	footer {
		flex-direction: row;
		padding: 12px 16px;
		text-align: center;
	}
}

@media ( min-width : 1400px) {
	html {
		font-size: 18px;
	}
}

@media ( min-width : 1600px) {
	html {
		font-size: 20px;
	}
}