:root {
	--ns-auth-radius: 14px;
	--ns-auth-aside-width: 500px;
	--ns-auth-card-width: 500px;

	--ns-stepper-inner-width: clamp(720px, 46vw, 1200px);

	--ns-auth-bg-light: url('../img/auth/bg-light.jpg');
	--ns-auth-bg-dark: url('../img/auth/bg-dark.jpg');

	--ns-stepper-bg: url('../img/auth/stepper-bg.png');

	--ns-auth-logo-w: 290px;
	--ns-auth-logo-w-xl: 350px;
	--ns-auth-logo-w-card: 225px;
}

.main__login__content__wrapper.ns-auth-host {
	display: flex;
	padding: 0;
	max-width: 100%;
	width: 100%;
	height: 100vh;
	min-height: 100vh;
	overflow: hidden;
}

.main__login__content__wrapper.ns-auth-host .main__login__content,
.main__login__content__wrapper.ns-auth-host .main__registeration__content {
	max-width: 100%;
	margin: 0;
}

.main__login__content__wrapper.ns-auth-host .main__login__content.ns-auth__card {
	max-width: var(--ns-auth-card-width);
	margin: 0 auto;
}

.main__login__content__wrapper.ns-auth-host .main__registeration__content.ns-stepper__inner {
	max-width: var(--ns-stepper-inner-width);
	margin: auto 0;
}

body.this__is__login__page .main__page__wraper > .login__register__sidebar {
	display: none !important;
}

body.authorization__page:not(.this__is__login__page) > .page-wrapper {
	padding-top: 0;
}

.ns-auth__brand {
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background:
		radial-gradient(120% 90% at 15% 0%, rgba(255, 255, 255, .16) 0%, rgba(255, 255, 255, 0) 55%),
		linear-gradient(150deg, var(--background-9) 0%, var(--background-4) 100%);
	color: #fff;
	isolation: isolate;
}

.ns-auth__brand:after {
	content: '';
	--s: 26px;
	--c: #fff;
	--_g: #0000 calc(-650% / 13) calc(50% / 13), var(--c) 0 calc(100% / 13), #0000 0 calc(150% / 13), var(--c) 0 calc(200% / 13), #0000 0 calc(250% / 13), var(--c) 0 calc(300% / 13);
	--_g0: repeating-linear-gradient(45deg, var(--_g));
	--_g1: repeating-linear-gradient(-45deg, var(--_g));
	background: var(--_g0), var(--_g0) var(--s) var(--s), var(--_g1), var(--_g1) var(--s) var(--s);
	background-size: calc(2 * var(--s)) calc(2 * var(--s));
	position: absolute;
	inset: 0;
	z-index: -1;
	opacity: .05;
	pointer-events: none;
}

.ns-auth__brand a,
.ns-auth__brand h1,
.ns-auth__brand h2,
.ns-auth__brand h3,
.ns-auth__brand p,
.ns-auth__brand span {
	color: #fff;
}

.ns-auth__logo .dark__logo {
	display: none !important;
}

.ns-auth__logo .white__logo {
	display: inline-block !important;
}

.ns-auth__logo img {
	width: var(--ns-auth-logo-w);
	max-width: 100%;
	height: auto;
}

.ns-auth__logo .svg__logo {
	width: 200px;
	height: auto;
}

.ns-auth__logo .svg__logo path {
	fill: #fff !important;
}

.ns-auth__logo .website__identity__sidebar__text__logo__wrapper,
.ns-auth__logo .text__logo__tagline {
	color: #fff !important;
	font-size: var(--coodiv-text-5);
	font-weight: 700;
	line-height: 1.1;
}

.ns-auth {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	flex: 1 1 auto;
	min-width: 0;
	min-height: 0;
	width: 100%;
	height: 100%;

	background-image: var(--ns-auth-bg-light);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

[data-theme="dark"] .ns-auth,
body.body__dark .ns-auth {
	background-image: var(--ns-auth-bg-dark);
}

.ns-auth__brand--login {
	flex: 1 1 50%;
	align-items: center;
	justify-content: center;
	padding: var(--spacing-8x);
	text-align: center;
	background: none;
}

.ns-auth__brand--login:after {
	display: none;
}

.ns-auth__brand--login .ns-auth__logo {
	display: block;
	margin-bottom: var(--spacing-4x);
}

.ns-auth__tagline {
	font-size: var(--coodiv-text-6);
	font-weight: 400;
	line-height: 1.45;
	margin: 0;
	max-width: 520px;
	opacity: .92;
}

.ns-auth__side {
	flex: 1 1 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--spacing-5x);
	background: none;
	overflow-y: auto;
}

.ns-auth__card {
	width: 100%;
	max-width: var(--ns-auth-card-width);
	background: var(--background-7);
	border: 1px solid var(--border-color-light);
	border-radius: var(--ns-auth-radius);
	box-shadow: 0 24px 60px rgba(0, 0, 0, .28);
	padding: var(--spacing-6x) var(--spacing-5x);
}

.ns-auth__card-head {
	text-align: center;
	margin-bottom: var(--spacing-5x);
}

.ns-auth__card-head h1 {
	font-size: var(--coodiv-text-5);
	font-weight: 700;
	color: var(--color-h);
	margin-bottom: var(--spacing-1x);
}

.ns-auth__card-head p {
	font-size: var(--coodiv-text-10);
	color: var(--color-h-sub);
	margin: 0;
}

.ns-auth__card-foot {
	margin-top: var(--spacing-4x);
	padding-top: var(--spacing-3x);
	border-top: 1px solid var(--border-color-light);
	text-align: center;
	font-size: var(--coodiv-text-11);
	color: var(--color-h-sub);
}

.ns-auth__card-foot-sep {
	margin: 0 6px;
	opacity: .5;
}

.ns-auth__success {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--spacing-2x);
	text-align: center;
}

.ns-auth__success .form__check__successmessage__icon {
	font-size: 42px;
	line-height: 1;
	color: var(--background-success);
}

.ns-auth__mobile-logo {
	display: none;
	margin-bottom: var(--spacing-4x);
}

.ns-auth__mobile-logo .dark__logo {
	display: none !important;
}

.ns-auth__mobile-logo .white__logo {
	display: inline-block !important;
}

.ns-auth__mobile-logo img {
	width: var(--ns-auth-logo-w-card);
	max-width: 100%;
	height: auto;
}

.ns-auth__mobile-logo .svg__logo {
	width: var(--ns-auth-logo-w-card);
	height: auto;
}

.ns-stepper {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	flex: 1 1 auto;
	min-width: 0;
	min-height: 0;
	width: 100%;
	height: 100%;
}

.ns-stepper__aside {
	flex: 0 0 var(--ns-auth-aside-width);
	width: var(--ns-auth-aside-width);
	padding: var(--spacing-7x) var(--spacing-6x);
	overflow-y: auto;

	background-image: var(--ns-stepper-bg);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.ns-stepper__aside:after {
	display: none;
}

.ns-stepper__aside .ns-auth__logo {
	display: block;
	text-align: center;

	margin-bottom: 0;
}

.ns-stepper__aside .ns-steps {
	width: -moz-fit-content;
	width: fit-content;
	max-width: 100%;
	margin: auto;
}

.ns-stepper__aside__footer {
	padding-top: var(--spacing-6x);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	column-gap: var(--spacing-3x);
	row-gap: 6px;
}

.ns-stepper__aside__footer a {
	font-size: var(--coodiv-text-11);
	font-weight: 400;
	color: #fff;
	opacity: .85;
}

.ns-stepper__aside__footer a:hover,
.ns-stepper__aside__footer a:focus {
	opacity: 1;
	text-decoration: underline;
}

.ns-stepper__mobile-legal {
	display: none;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	column-gap: var(--spacing-3x);
	row-gap: 6px;
	margin-top: var(--spacing-4x);
}

.ns-stepper__mobile-legal a {
	font-size: var(--coodiv-text-11);
	color: var(--color-h-sub);
}

.ns-stepper__body {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	justify-content: center;
	padding: var(--spacing-7x) var(--spacing-5x);
	background: var(--background-2);
	overflow-y: auto;
}

.ns-stepper__inner {
	width: 100%;
	max-width: var(--ns-stepper-inner-width);
	margin: auto 0;
}

.ns-steps {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ns-step {
	display: flex;
	align-items: flex-start;
	gap: var(--spacing-2x);
	opacity: .55;
	transition: opacity .25s ease;
}

.ns-step.is-current,
.ns-step.is-done {
	opacity: 1;
}

.ns-step.is-done {
	cursor: pointer;
}

.ns-step.is-done:hover .ns-step__title {
	text-decoration: underline;
}

.ns-step.is-done:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 4px;
	border-radius: 8px;
}

.ns-step__icon {
	position: relative;
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: var(--coodiv-text-8);
	font-weight: 700;
	background: rgba(255, 255, 255, .14);
	color: #fff;
	transition: background .25s ease, color .25s ease;
}

.ns-step.is-current .ns-step__icon {
	background: #fff;
	color: var(--background-9);
}

.ns-auth__brand .ns-step__icon .ns-step__number,
.ns-auth__brand .ns-step__icon .ns-step__check {
	color: inherit;
}

.ns-step.is-done .ns-step__icon {
	background: var(--background-success);
	color: #fff;
}

.ns-step__icon .ns-step__number {
	display: inline;
}

.ns-step__icon .ns-step__check {
	display: none;
}

.ns-step.is-done .ns-step__icon .ns-step__number {
	display: none;
}

.ns-step.is-done .ns-step__icon .ns-step__check {
	display: inline;
}

.ns-step__label {
	padding-top: 2px;
}

.ns-step__title {
	display: block;
	font-size: var(--coodiv-text-9);
	font-weight: 600;
	line-height: 1.3;
}

.ns-step__desc {
	display: block;
	font-size: var(--coodiv-text-11);
	font-weight: 400;
	opacity: .8;
}

.ns-step__line {
	width: 2px;
	height: 34px;
	margin-left: 21px;
	background: rgba(255, 255, 255, .22);
	border-radius: 2px;
}

.ns-pane {
	display: none;
}

.ns-pane.is-active {
	display: block;
	animation: nsFadeIn .3s ease;
}

@keyframes nsFadeIn {
	from { opacity: 0; transform: translateY(6px); }
	to   { opacity: 1; transform: none; }
}

.ns-pane__head {
	margin-bottom: var(--spacing-5x);
}

.ns-pane__head h2 {
	font-size: var(--coodiv-text-6);
	font-weight: 700;
	color: var(--color-h);
	margin-bottom: 6px;
}

.ns-pane__head h2:focus:not(:focus-visible) {
	outline: none;
}

.ns-pane__head p {
	font-size: var(--coodiv-text-10);
	color: var(--color-h-sub);
	margin: 0;
}

.ns-pane__section-title {
	font-size: var(--coodiv-text-9);
	font-weight: 600;
	color: var(--color-h);
	margin: var(--spacing-4x) 0 var(--spacing-2x);
}

.ns-choice input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.ns-choice__box {
	display: flex;
	align-items: center;
	gap: var(--spacing-2x);
	width: 100%;
	height: 100%;
	padding: var(--spacing-3x);
	border: 2px dashed var(--border-color);
	border-radius: var(--ns-auth-radius);
	background: var(--background-7);
	cursor: pointer;
	transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.ns-choice__box:hover {
	border-color: var(--btn-primary-bg);
}

.ns-choice input:checked + .ns-choice__box {
	border-style: solid;
	border-color: var(--btn-primary-bg);
	background: var(--system-background);
	box-shadow: 0 6px 20px rgba(12, 190, 213, .12);
}

.ns-choice input:focus-visible + .ns-choice__box {
	outline: 2px solid var(--btn-primary-bg);
	outline-offset: 2px;
}

.ns-choice__icon {
	flex: 0 0 46px;
	width: 46px;
	height: 46px;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	background: var(--options-icons-container-bg);
	color: var(--btn-primary-bg);
}

.ns-choice input:checked + .ns-choice__box .ns-choice__icon {
	background: var(--btn-primary-bg);
	color: var(--btn-primary-color);
}

.ns-choice__title {
	display: block;
	font-size: var(--coodiv-text-9);
	font-weight: 700;
	color: var(--color-h);
	margin-bottom: 2px;
}

.ns-choice__desc {
	display: block;
	font-size: var(--coodiv-text-11);
	color: var(--color-h-sub);
	line-height: 1.4;
}

.ns-ac {
	position: relative;
}

.ns-ac__list {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 30;
	margin: 4px 0 0;
	padding: 6px;
	list-style: none;
	max-height: 300px;
	overflow-y: auto;
	background: var(--background-7);
	border: 1px solid var(--border-color);
	border-radius: 10px;
	box-shadow: 0 12px 32px rgba(22, 28, 45, .14);
}

.ns-ac__item {
	padding: 9px 12px;
	border-radius: 8px;
	cursor: pointer;
	line-height: 1.35;
}

.ns-ac__item.is-active,
.ns-ac__item:hover {
	background: var(--system-background);
}

.ns-ac__item-main {
	display: block;
	font-size: var(--coodiv-text-11);
	font-weight: 600;
	color: var(--color-h);
}

.ns-ac__item-sub {
	display: block;
	font-size: var(--coodiv-text-12);
	color: var(--color-h-sub);
}

body.body__dark .ns-ac__item.is-active,
body.body__dark .ns-ac__item:hover,
[data-theme="dark"] .ns-ac__item.is-active,
[data-theme="dark"] .ns-ac__item:hover {
	background: rgba(12, 190, 213, .12);
}

.ns-stepper__actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--spacing-2x);
	margin-top: var(--spacing-6x);
	padding-top: var(--spacing-4x);
	border-top: 1px solid var(--border-color-light);
}

.ns-stepper [hidden],
.ns-pane [hidden] {
	display: none !important;
}

.ns-step-error {
	margin-top: var(--spacing-2x);
	font-size: var(--coodiv-text-11);
	color: var(--alertcolordanger);
}

.ns-field-error {
	margin: 6px 0 0;
	font-size: var(--coodiv-text-12);
	color: var(--alertcolordanger);
}

.ns-pane .form-control.is-invalid,
.ns-pane .form-control.is-invalid:focus {
	border-color: var(--alertcolordanger);
	box-shadow: 0 0 0 3px rgba(217, 38, 50, .12);
}

.form-control-label.is-required:after {
	content: ' *';
	color: var(--alertcolordanger);
	font-weight: 700;
}

.ns-stepper__progress {
	display: none;
	flex-direction: column;
	gap: 6px;
	margin-bottom: var(--spacing-3x);
}

.ns-stepper__progress-label {
	font-size: var(--coodiv-text-12);
	font-weight: 600;
	color: var(--color-h-sub);
}

.ns-stepper__progress-bar {
	display: flex;
	align-items: center;
	gap: 6px;
}

.ns-stepper__progress-bar span {
	flex: 1 1 auto;
	height: 4px;
	border-radius: 4px;
	background: var(--border-color);
}

.ns-stepper__progress-bar span.is-on {
	background: var(--btn-primary-bg);
}

body.body__dark .ns-stepper__body,
[data-theme="dark"] .ns-stepper__body {
	background: var(--background-2);
}

body.body__dark .ns-auth__card,
[data-theme="dark"] .ns-auth__card {
	box-shadow: 0 24px 60px rgba(0, 0, 0, .5);
}

body.body__dark .ns-choice input:checked + .ns-choice__box,
[data-theme="dark"] .ns-choice input:checked + .ns-choice__box {
	background: rgba(12, 190, 213, .1);
}

@media (min-width: 1921px) {
	:root {
		--ns-auth-card-width: 580px;
	}

	.ns-auth__card {
		padding: var(--spacing-7x) var(--spacing-6x);
	}

.ns-stepper__inner .default__shadow__panel .default__shadow__panel__body {
		padding: var(--spacing-4x);
	}
}

@media (min-width: 2560px) {
	:root {
		--ns-auth-card-width: 680px;
		--ns-auth-radius: 18px;
	}

	.ns-auth__card {
		padding: var(--spacing-8x) var(--spacing-7x);
	}

	.ns-auth__tagline {
		font-size: var(--coodiv-text-5);
		max-width: 640px;
	}

.ns-auth__brand--login .ns-auth__logo img {
		width: var(--ns-auth-logo-w-xl);
	}

	.ns-auth__brand--login .ns-auth__logo .svg__logo {
		width: 260px;
	}

.ns-stepper__inner .default__shadow__panel .default__shadow__panel__body {
		padding: var(--spacing-5x);
	}
}

@media (max-width: 1399.98px) {
	:root {
		--ns-auth-aside-width: 380px;
	}
}

@media (max-width: 991.98px) {

	.main__login__content__wrapper.ns-auth-host {
		display: block;
		height: 100vh;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.ns-auth,
	.ns-stepper {
		flex-direction: column;
		height: auto;
		min-height: 100%;
	}

.ns-auth__brand--login,
	.ns-stepper__aside {
		display: none;
	}

	.ns-auth__side,
	.ns-stepper__body {
		flex: 1 1 auto;
		width: 100%;
		padding: var(--spacing-4x) var(--spacing-2x);
		background: transparent;
		overflow: visible;
	}

	.ns-auth__mobile-logo {
		display: flex;
	}

	.ns-stepper__mobile-legal {
		display: flex;
	}

	.ns-auth__card {
		padding: var(--spacing-4x) var(--spacing-3x);
	}

	.ns-stepper__progress {
		display: flex;
	}

	.ns-stepper__actions {
		flex-wrap: wrap;
	}
}

@media (max-width: 575.98px) {
	.ns-stepper__actions .btn {
		flex: 1 1 100%;
	}

	.ns-stepper__actions > div {
		flex: 1 1 100%;
	}
}

.rtl .ns-step__line {
	margin-left: 0;
	margin-right: 21px;
}
