section.center.register {
	max-width: 42rem;
	width: 100%;
	padding: 1.5rem 0.3rem 1.5rem 0.3rem;
}

section.center.login {
	max-width: 35rem;
	width: 100%;
}

section.center .label-tag {
	margin-bottom: 0.8rem;
	color: #3a4963;
	font-size: 1.6rem;
	font-weight: 600;
}

section.center .label-helper {
	display: flex;
	justify-content: space-between;
	align-content: center;
}

section .label-helper .helper-link {
	font-size: 1.4rem;
}

section.center .input-container {
	display: flex;
	max-width: 100%;
	padding: 0;
	background: #fff;
	border: 0.2rem solid #8B8E9C;
	border-radius: 0.5rem;
	box-sizing: border-box;
	color: #8B8E9C;
}

section.center .input-container input {
	padding: 0.3rem 1.2rem;
	min-width: 0;
	width: 100%;
	background: transparent;
	border: 0;
	box-shadow: none;
	font-size: 1.5rem;
	font-weight: 400;
	height: 2.6rem;
}

.show-password-container {
	margin-top: 0.8rem;
	cursor: pointer;
}

.show-password-container .checkbox-text {
	font-size: 1.4rem;
}

section.center .button-continue .button-text {
	display: inline-block;
	padding: 0.4rem;
	font-weight: 700;
}

:required {
	background: red;
}

.account-details {
	display: flex;
	align-items: start;
}

.account-details > :not(:first-child) {
	padding-left: 0 !important;
}

.account-details > :first-child {
	padding-right: 16px !important;
}

.flex-width {
	width: auto !important;
}

section.center .sub-title {
	font-size: 1.5rem;
	font-weight: 600;
	color: #3a4a63;
	padding: 1.1rem 3.2rem 0 3.2rem;
	display: block;
}

section.center .sub-title.light{
	font-weight: normal;
}

section.center .password-sign-up {
	width: auto !important;
}

section.center .input-container.error {
	border: 0.2rem solid red;
}

#first-name-error,
#last-name-error,
#password-error,
#declare-error,
#confirm-password-error {
	display: none;
}

#first-name {
	width: 9.5em;
}

#last-name {
	width: 9.5em;
}

.message-box {
	position: relative;
	display: flex;
	align-items: center;
	padding: 4px 8px 4px 12px;
	border: 1px solid rgb(224, 226, 230);
	border-radius: 3px;
	color: rgb(220, 20, 60);
	margin-top: 12px;
}

.message-box.visible{
	display: flex !important;
}

.message-box::before {
	position: absolute;
	bottom: -1px;
	left: -1px;
	top: -1px;
	width: 4px;
	content: '';
	background: rgb(220, 20, 60);
	border-bottom-left-radius: 3px;
	border-top-left-radius: 3px;
	mix-blend-mode: multiply;
}

#terms-of-use.error {
	color: red;
}

#terms-of-use.error > span.checkbox-visual {
	border-color: red;
}

.kc-social-separator {
	width: 100%;
	text-align: center;
	font-size: 16px;
	font-weight: 600;
	border-bottom: 2px solid #cfd6e2;
	line-height: 0.1em;
	margin: 13px 0 42px;
}

.kc-social-separator span {
	background: #f6f6f8;
	padding: 0 10px;
}

main {
	padding: 2.4rem;
}

.login-step-title {
	font-weight: bold;
	font-size: 16px;
	line-height: 24px;
	color: #0f2141;
}

.login-link {
	font-weight: bold;
	font-size: 16px;
	line-height: 24px;
	color: #214893;
	text-align: center;
	text-decoration: none;
}

#kc-social-providers .button:not(:first-of-type),
#custom-login-buttons a.button {
	margin-top: 10px;
}

p.expired-instruction{
	font-weight: normal !important;
}

p.expired-instruction a{
	font-weight: bold;
	font-size: 16px;
	line-height: 24px;
	color: #214893;
	text-align: center;
}

button.toggle-show-password {
	width: 40px;
	background-color: #8B8E9C;
	border: 0;
	border-radius: 5px 0 0 5px;
}

input.password-field-with-toggle{
	outline: 0;
}

section.center .input-container.password-toggle-input-container:focus-within{
	border: 0.2rem solid #005fcc;
}

.authenticate-options{
	margin-top: -10px;
}

.authenticate-options h4{
	font-size: 1.6em;
	margin-bottom: 10px;
}

.username{
	font-size: 1.6rem;
	margin-top: 5px;
	display: block;
	font-weight: normal;
	margin-bottom: 10px;
	overflow: hidden;
	text-overflow: ellipsis;
}

.login-with-password-button{
	margin-top: -20px;
}

a#reset-login {
	font-size: 1.3rem;
	margin-top: 10px;
}

.outofband-resend-code {
	font-size: 1.3rem;
}

.participant-onboarding-url-text{
	font-size: 1.3rem;
	margin-top: 10px;
}

.authenticate-options ul li a.button{
	width: 100%;
	display: inline-block;
	border: 0.2rem solid #214893;
	background-color: #fff;
	border-radius: 0.8rem;
	color: #214893;
	padding: 0.4rem;
	font-size: 1.4rem;
	text-decoration: none;
	-webkit-transition: 0.1s ease-in-out border, 0.1s ease-in-out background,
	0.1s ease-in-out color;
	-moz-transition: 0.1s ease-in-out border, 0.1s ease-in-out background,
	0.1s ease-in-out color;
	-o-transition: 0.1s ease-in-out border, 0.1s ease-in-out background,
	0.1s ease-in-out color;
	transition: 0.1s ease-in-out border, 0.1s ease-in-out background,
	0.1s ease-in-out color;
	font-weight: 700;
}

.authenticate-options ul li a.button:hover{
	background-color: #2564bf;
	border: 0.2rem solid #214893;
	color: #fff;
}

input.otp-character {
	width: 16%;
	box-sizing: border-box;
	font-size: 2rem;
	border-radius: 1.5rem;
	height: 4.5rem;
	border: 0.2rem solid #0f2141;
	text-align: center;
}

.otp-inputs {
	display: flex;
	gap: 1%;
	justify-content: center;
}

.authenticator-option{
	display: block;
	font-size: 1.5rem;
	margin-bottom: 1rem;
}

.authenticator-option input[type="radio"]{
	margin-right: 10px;
}

.totp-configure-screen{
	padding: 0 3.2rem;
	font-size: 1.5rem;
	margin-top: 20px;
}

.totp-configure-screen > li{
	margin-left: 15px;
	margin-bottom: 20px;
	padding-left: 10px;
}

.totp-configure-screen > li > p{
	font-weight: 600;
	margin-bottom: 10px;
}

.totp-configure-screen > li > p.light{
	font-weight: normal;
}

p.unable-to-scan{
	text-align: center;
	margin-top: 5px;
}

#kc-totp-secret-qr-code{
	border: 0.1rem solid #0f2141;
}

.logout-other-sessions{
	font-size: 1.5rem;
}

.logout-other-sessions input[type="checkbox"]{
	margin-right: 5px;
}

.authenticate-options ul li{
	border: 0.2rem dashed rgba(0,0,0,0);
	border-radius: 10px;
	margin-left: 0;
	margin-right: 0;
	padding: 1px;
}

.authenticate-options ul li:focus-within{
	border: 0.2rem dashed #3a4963;
	border-radius: 10px;
}

.button-authenticator{
	padding: 1.5rem;
}

.button-authenticator:hover div.title{
	color: #fff;
}

.button-authenticator div.title{
	font-size: 1.7rem !important;
	padding-bottom: 1rem;
}

@media only screen and (max-width: 576px) {
	header {
		display: block;
		padding-bottom: 0;
	}

	main {
		padding-top: 0.6rem;
	}

	.container {
		display: block;
	}

	#header-kc-locale-container {
		height: auto;
		padding-bottom: 24px;
	}

	ul#kc-locale-dropdown-wrapper {
		margin-top: 24px;
		margin-right: 2.4rem;
	}

	ul#kc-locale-dropdown-wrapper li {
		margin: 0;
	}

	.account-details {
		display: block;
	}

	.account-details > :not(:first-child) {
		padding-left: 2rem !important;
	}

	section.center .sub-title {
		padding: 1.1rem 2rem;
	}

	.email-value {
		word-break: break-all;
	}
}

.checkbox input[type="checkbox"]{
	margin-right: 5px;
}
.checkbox label.label-tag{
	font-weight: normal;
}

.spinner {
	width: 30px;
	height: 30px;
	border: 3px solid #f3f3f3;
	border-top: 3px solid #214893;
	border-radius: 50%;
	animation: loadingIndicatorSpin 1s linear infinite;
	margin: 0 auto;
}

.check-icon{
	display: inline-block;
	width: 24px;
}

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

.remember-me{
	font-size: 1.5rem;
	margin-top: -1.5rem;
}

/* Disabled/readonly input styling */
section.center .input-container input:disabled,
section.center .input-container input[readonly] {
	background-color: #f5f5f5;
	color: #3a4963;
	cursor: not-allowed;
}

/* Info value display for read-only user information */
section.center .info-value {
	color: #3a4963;
	font-size: 1.5rem;
	font-weight: 400;
	padding: 0.3rem 0;
	/*margin-bottom: 1.6rem;*/
}

/* RTL tweaks for Arabic */
:dir(rtl) .error-message-content {
    margin-right: 10px;
}

:dir(rtl) .account-details .form-item:last-child {
    margin-left: 30px;
}

:dir(rtl) .checkbox-visual {
    margin-left: 10px;
}

:dir(rtl) #current-locale-wrapper svg{
    margin-left: 10px;
}

:dir(rtl) #kc-locale-dropdown-wrapper{
    margin-left: 48px;
}