
.ult--fade-in {
	animation: ult_fadein .3s;
}

.ult--fade-out {
	animation: ult_fadeout .3s;
}

@keyframes ult_fadein {
	0% {
		opacity: 0;
	}
	
	to {
		opacity: 1;
	}
}

@keyframes ult_fadeout {
	0% {
		opacity: 1;
	}
	
	to {
		opacity: 0;
	}
}

@keyframes ult_rotating_centered {
	0% {
		transform: translate(-50%, -50%) rotate(0deg);
	}
	
	to {
		transform: translate(-50%, -50%) rotate(1turn);
	}
}

.ult-box {
	width: 100%;
	position: relative;
	font-family: -apple-system, system-ui, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;
	font-size: 15px;
	background: #fff;
	border: 1px solid #dfdfdf;
	border-radius: 3px;
	box-shadow: 0 7px 15px 0 rgba(0, 0, 0, .1);
	padding: 20px 25px 25px;
}

.ult-box, .ult-box * {
	box-sizing: border-box;
}

.ult-form__description~.ult-form__container, .ult-form__title~.ult-form__container {
	border-top: 1px solid #d8d8d8;
	margin-top: 15px;
}

.ult-form__container form {
	outline: 0;
}

.ult-form__container form p {
	margin: 15px 0 0;
}

.ult-form__container form p:empty {
	display: none;
}

.ult-form__row {
	margin-top: 15px;
}

.ult-form__field {
	margin-top: 8px;
}

.ult-form__title {
	font-size: 20px;
	color: #202020;
}

.ult-form__description {
	font-size: 15px;
	color: #636363;
	margin-top: 10px;
	line-height: 1.3;
}

.ult-form-field__header {
	display: flex;
}

.ult-form-field__label-container {
	flex: 1 1 auto;
}

.ult-form-field__label {
	color: #404040;
}

.ult-form-field__actions {
	flex: 0 0 auto;
}

.ult-form-field__action {
	font-size: 14px;
	color: #0790e8;
	text-decoration: none;
}

.ult-form-password-wrapper, .ult-form__container :not(.ult-form-password-wrapper)>input[type=password], .ult-form__container :not(.ult-form-password-wrapper)>input[type=tel], .ult-form__container :not(.ult-form-password-wrapper)>input[type=text], :not(.ult-form-password-wrapper)>.ult-form__input {
	padding: var(--ult-form-field-padding, 8px 10px);
	color: var(--ult-form-field-color, #404040);
	background: var(--ult-form-field-background, #fff);
	box-shadow: var(--ult-form-field-box-shadow, 0 2px 5px 0 rgba(0, 0, 0, .1));
	border: 1px solid var(--ult-form-field-border-color, #c1c5c8);
	border-radius: var(--ult-form-field-border-radius, 8px);
	width: 100%;
	font-size: inherit;
	font-family: inherit;
	outline: none;
	display: block;
	margin-top: 8px;
	line-height: 1.3;
	transition: border .15s ease-in-out, box-shadow .15s ease-in-out;
}

.ult-form-password-wrapper:hover, .ult-form__container :not(.ult-form-password-wrapper)>input[type=password]:hover, .ult-form__container :not(.ult-form-password-wrapper)>input[type=tel]:hover, .ult-form__container :not(.ult-form-password-wrapper)>input[type=text]:hover, :not(.ult-form-password-wrapper)>.ult-form__input:hover {
	border-color: var(--ult-form-field-hover-border-color, #b1b5b7);
}

.ult-form-password-wrapper.ult-form-password-wrapper--focus, .ult-form-password-wrapper:focus, .ult-form__container :not(.ult-form-password-wrapper)>input[type=password].ult-form-password-wrapper--focus, .ult-form__container :not(.ult-form-password-wrapper)>input[type=password]:focus, .ult-form__container :not(.ult-form-password-wrapper)>input[type=tel].ult-form-password-wrapper--focus, .ult-form__container :not(.ult-form-password-wrapper)>input[type=tel]:focus, .ult-form__container :not(.ult-form-password-wrapper)>input[type=text].ult-form-password-wrapper--focus, .ult-form__container :not(.ult-form-password-wrapper)>input[type=text]:focus, :not(.ult-form-password-wrapper)>.ult-form__input.ult-form-password-wrapper--focus, :not(.ult-form-password-wrapper)>.ult-form__input:focus {
	border-color: var(--ult-form-field-focus-border-color, #0790e8);
	box-shadow: var(--ult-form-field-focus-box-shadow, 0 0 0 .2rem rgba(7, 144, 232, .2));
}

.ult-form-password-wrapper {
	display: flex;
	align-items: center;
	gap: 5px;
}

.ult-form-password-wrapper input {
	flex: 1 1 auto;
	font-size: inherit !important;
	font-family: inherit !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
	outline: 0 !important;
}

.ult-form-password-wrapper-eye-toggle {
	width: 20px;
	height: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #7f7f7f;
	cursor: pointer;
	flex: 0 0 auto;
}

.ult-checkbox {
	width: 100%;
}

.ult-checkbox__container {
	display: block;
	position: relative;
	cursor: pointer;
	transition: opacity .15s ease-in-out;
}

.ult-checkbox__hidden-input {
	display: none;
}

.ult-checkbox .ult-checkbox__fake-input {
	position: relative;
	box-sizing: border-box;
	height: 16px;
	width: 16px;
	border: 1px solid #afafaf;
	border-radius: 8px;
	transition: border .15s ease-in-out;
	box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .1);
}

.ult-checkbox .ult-checkbox__container:hover .ult-checkbox__fake-input {
	border-color: #979797;
}

.ult-checkbox .ult-checkbox__fake-input:after {
	content: "";
	position: absolute;
	display: block;
	opacity: 0;
	transition: all .15s ease-in-out;
}

.ult-checkbox .ult-checkbox__hidden-input:checked~.ult-checkbox__fake-input:after {
	opacity: 1;
}

.ult-checkbox .ult-checkbox__container .ult-checkbox__fake-input:after {
	left: 4px;
	top: 1px;
	width: 3px;
	height: 7px;
	border: solid #0790e8;
	border-width: 0 3px 3px 0;
	transform: rotate(45deg);
}

.ult-checkbox .checkbox--primary:checked~.ult-checkbox__fake-input {
	border-color: #0790e8;
}

.ult-checkbox .checkbox--primary:disabled~.ult-checkbox__fake-input {
	background: #fff;
	border: 1px solid #b9b9b9;
	cursor: not-allowed;
}

.ult-checkbox .checkbox--primary:checked:disabled~.ult-checkbox__fake-input {
	background: #38aece;
	opacity: .6;
	cursor: not-allowed;
}

#ult-2fa-validation-form--templated #submit, #ult-2fa-validation-form--templated input[name=wp-2fa-email-code-resend], #ult-login-form #ult-login-submit, .ult-form__submit-btn {
	width: 100%;
	background: #0790e8;
	color: #fff;
	font-size: 16px;
	line-height: 1.5;
	display: inline-block;
	outline: none;
	font-weight: 400;
	text-align: center;
	white-space: nowrap;
	vertical-align: middle;
	user-select: none;
	border: 1px solid transparent;
	padding: 8px 15px;
	border-radius: 8px;
	transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, opacity .15s ease-in-out;
	cursor: pointer;
	box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .1);
	position: relative;
}

#ult-login-form .login-submit, #ult-login p.submit, .ult-form__row--submit {
	position: relative;
}

#ult-forgot-password .ult-form__row--submit:not(.ult-form__submit-btn--loading) #ult-forgot-password-submit-btn:focus, #ult-login-form .login-submit:not(.ult-form__submit-btn--loading) #ult-login-submit:focus, .ult-form__submit-btn:not(.ult-form__submit-btn--loading):focus {
	box-shadow: 0 0 0 .2rem rgba(7, 144, 232, .5);
}

.ult-form__submit-btn--loading:before {
	opacity: 0;
	transition: opacity .15s ease-in-out;
}

.ult-form__submit-btn--loading, .ult-form__submit-btn--loading #ult-forgot-password-submit-btn, .ult-form__submit-btn--loading #ult-login-submit, .ult-form__submit-btn--loading #ult-reset-password-submit-btn, .ult-form__submit-btn--loading input[type=submit] {
	color: transparent !important;
}

.ult-form__submit-btn--loading:before {
	content: "";
	width: 18px;
	height: 18px;
	opacity: 1;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transform-origin: 0 0;
	animation: spin-centered .8s linear infinite;
	z-index: 2;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox=\'0 0 512 512\' xmlns=\'http://www.w3.org/2000/svg\'%3E%3Cpath fill=\'%23fff\' d=\'M456.433 371.72l-27.79-16.045c-7.192-4.152-10.052-13.136-6.487-20.636 25.82-54.328 23.566-118.602-6.768-171.03-30.265-52.529-84.802-86.621-144.76-91.424C262.35 71.922 256 64.953 256 56.649V24.56c0-9.31 7.916-16.609 17.204-15.96 81.795 5.717 156.412 51.902 197.611 123.408 41.301 71.385 43.99 159.096 8.042 232.792-4.082 8.369-14.361 11.575-22.424 6.92z\'/%3E%3C/svg%3E");
	background-size: contain;
	background-position: 50%;
	background-repeat: no-repeat;
}

.ult-form__submit-btn--disabled {
	opacity: .6;
	cursor: not-allowed;
	pointer-events: none;
}

@-ms-keyframes spin-centered {
	0% {
		-ms-transform: rotate(0deg) translate(-50%, -50%);
	}
	
	to {
		-ms-transform: rotate(1turn) translate(-50%, -50%);
	}
}

@-moz-keyframes spin-centered {
	0% {
		-moz-transform: rotate(0deg) translate(-50%, -50%);
	}
	
	to {
		-moz-transform: rotate(1turn) translate(-50%, -50%);
	}
}

@-webkit-keyframes spin-centered {
	0% {
		-webkit-transform: rotate(0deg) translate(-50%, -50%);
	}
	
	to {
		-webkit-transform: rotate(1turn) translate(-50%, -50%);
	}
}

@keyframes spin-centered {
	0% {
		transform: rotate(0deg) translate(-50%, -50%);
	}
	
	to {
		transform: rotate(1turn) translate(-50%, -50%);
	}
}

.ult-form__row--remember-me {
	display: flex;
	align-items: center;
}

.ult-form__row--remember-me .ult-form__field {
	flex: 0 0 auto;
	margin: 0 8px 0 0;
}

.ult-form__row--remember-me .ult-form-field__header {
	flex: 1 1 auto;
}

.ult-form__row--remember-me .ult-form-field__label {
	color: #636363;
	user-select: none;
	cursor: pointer;
}

.ult-form__validation {
	margin-top: 15px;
	display: none;
}

.ult-form__validation--has-error {
	display: block;
}

.ult-form__validation:first-child {
	margin-top: 0;
	margin-bottom: 15px;
}

.ult-form__validation .ult-notice p {
	margin: 0;
}

.ult-form__footer {
	margin-top: 25px;
	padding-top: 15px;
	border-top: 1px solid #d8d8d8;
	text-align: center;
}

.ult-form__footer a {
	color: #0790e8;
	text-decoration: none;
}

.ult-form__container .two-factor-error-notice {
	margin-top: 20px;
}

.ult-form__container .uo-toolkit-2fa-footer {
	display: flex;
	align-content: center;
	flex-wrap: wrap;
	justify-content: space-evenly;
	margin-top: 20px;
}

.ult-form__container .uo-toolkit-2fa-footer__backto-home, .ult-form__container .uo-toolkit-2fa-footer__backup-codes {
	text-align: center;
}

.ult-form__container .uo-toolkit-2fa-footer a {
	color: #0790e8;
	text-decoration: none;
}

.ult-notice {
	padding: 15px;
	border: 1px solid #d8d8d8;
	color: #737373;
	border-radius: 3px;
	text-align: center;
	line-height: 1.3;
}

.ult-notice--error {
	background: #fceded;
}

.ult-notice--success {
	background: #edfcef;
}

.ult-modal {
	display: none;
}

.ult-modal-container .ult-modal {
	display: block;
}

.ult-modal-container {
	width: 100%;
	height: 100%;
	position: fixed;
	display: none;
	top: 0;
	left: 0;
	z-index: 100000;
}

.ult-modal-container--open {
	display: block;
}

.ult-modal__inside {
	width: 100%;
	height: 100%;
	justify-content: center;
	align-items: center;
	display: flex;
}

.ult-modal-box {
	width: calc(100% - 40px);
	max-width: 565px;
	max-height: calc(100vh - 40px);
	overflow-y: auto;
	background: #fff;
	box-shadow: 0 4px 16px 0 rgba(0, 0, 0, .2);
	display: flex;
	flex-direction: column;
	position: relative;
	border-radius: 8px;
	overflow: hidden;
}

.ult-modal-box:before {
	top: 0;
	left: 0;
	z-index: 10;
	background: #fff;
	border-radius: 8px;
}

.ult-modal-box:after, .ult-modal-box:before {
	content: "";
	width: 0;
	height: 0;
	position: absolute;
	opacity: 0;
	transition: opacity .3s ease-in-out;
}

.ult-modal-box:after {
	border-radius: 50%;
	left: 50%;
	top: 50%;
	z-index: 11;
	user-select: none;
}

.ult-modal-container--loading .ult-modal-box:before {
	width: 100%;
	height: 100%;
	opacity: 1;
}

.ult-modal-container--loading .ult-modal-box:after {
	width: 50px;
	height: 50px;
	border: 3px solid transparent;
	border-top-color: #202020;
	animation: ult_rotating_centered 2s linear infinite;
	opacity: 1;
}

.ult-modal--small .ult-modal-box {
	max-width: 385px;
}

.ult-modal--large .ult-modal-box {
	max-width: 750px;
}

.ult-modal-box-header {
	padding: 20px;
	text-align: center;
}

.ult-modal-box-header h1, .ult-modal-box-header h2, .ult-modal-box-header h3 {
	font-size: 30px;
	font-weight: 500;
	line-height: 32px;
	padding: 20px 20px 0;
	margin: 0;
}

.ult-modal-box-content {
	width: 100%;
	position: relative;
	display: inline-flex;
	overflow: hidden;
	flex: 1 1 auto;
}

.ult-modal {
	width: 100%;
	font-weight: 400;
	font-size: 16px;
	overflow-y: auto;
	max-height: 300px;
	position: relative;
	margin: 0;
	padding: 20px 40px;
	outline: none;
}

.ult-modal-box-content__inside::-webkit-scrollbar {
	width: 10px;
	background-color: rgba(0, 0, 0, .09);
	border-radius: 150px;
}

.ult-modal-box-content__inside::-webkit-scrollbar-thumb:vertical {
	background: #afafaf;
	border-radius: 150px;
	background-clip: padding-box;
	border: 2px solid transparent;
	min-height: 10px;
}

.ult-modal-box-content__br {
	width: 100%;
	height: 10px;
	display: block;
}

.ult-modal-box-footer {
	flex: 1 1 auto;
	text-align: center;
	padding: 20px;
	margin: 0 20px 20px;
	overflow: hidden;
}

.ult-modal-box-footer__dismiss {
	font-size: 16px;
	font-weight: 600;
	padding: 10px 20px;
	cursor: pointer;
	line-height: 1.1;
	border: 0;
	display: inline-block;
	background: transparent;
	color: #0077c5;
	transition: background .15s ease-in-out;
	border-radius: 150px;
}

.ult-modal-box-footer__dismiss:hover {
	background: #dadadc;
}

.ult-modal-box-footer__dismiss:active {
	background: #c4c4c6;
}

@media screen and (max-width:1000px) {
	.ult-modal-box-header h1, .ult-modal-box-header h2, .ult-modal-box-header h3 {
		font-size: 24px;
		line-height: 26px;
	}
}

body.ult-modals--open {
	overflow: hidden !important;
}

body.ult-modals--dim-background .ult-modal-container {
	background: rgba(0, 0, 0, .4);
}

#ult-modal-container-ult-login .ult-box {
	box-shadow: none;
	padding: 0;
	border: 0;
}

#ult-modal-container-ult-login .ult-modal {
	max-height: 680px;
}

.ult-forgot-password--recaptcha-error .g-recaptcha iframe, .ult-login--recaptcha-error .g-recaptcha iframe, .ult-reset-password--recaptcha-error .g-recaptcha iframe {
	border-radius: 4px;
	border: 1px solid red;
}

#ult-login-modal.ult-login-modal--login #ult-login-modal__login {
	display: block;
}

#ult-login-modal.ult-login-modal--forgot-password #ult-login-modal__login, #ult-login-modal.ult-login-modal--login #ult-login-modal__forgot-password {
	display: none;
}

#ult-login-modal.ult-login-modal--forgot-password #ult-login-modal__forgot-password {
	display: block;
}
