:root {
	--black: #000;
	--black-70: rgba(0,0,0,.698);
	--black-60: rgba(0,0,0,.6);
	--black-50: rgba(0,0,0,.5);
	--black-20: rgba(0,0,0,.2);
	--black-14: rgba(0,0,0,.14);
	--black-7: rgba(0,0,0,.07);
	--white: #fff;
	--white-28: rgba(255,255,255,.28);
	--white-14: rgba(255,255,255,.14);
	--gray: #5f5f5f;
	--rich-blue: #525ea8;
	--rich-blue-80: rgba(82,94,168,.8);
	--rich-blue-70: rgba(82,94,168,.698);
	--rich-blue-40: rgba(82,94,168,.4);
	--hawkes-blue: #dee2ed;
	--gainsboro: #d7e0f8;
	--alice-blue: #e3e9fa;
	--solitude: #eef2fc;
	--shamrock: #01a270;
	--granny-apple: #c8e1ce;
	--dew: #e9f6ec;
	--fuego: #bfc833;
	--frost: #e2e4be;
	--beige: #f6f8db;
	--navajo: #ffe0b2;
	--error: #fa594f;
	--error-30: rgba(250,89,79,.3);
	--white: #fff;
	--black: #000;
	--gray-0: #f8f9fa;
	--gray-1: #f1f3f5;
	--gray-2: #e9ecef;
	--gray-3: #dee2e6;
	--gray-4: #ced4da;
	--gray-5: #adb5bd;
	--gray-6: #868e96;
	--gray-7: #495057;
	--gray-8: #343a40;
	--gray-9: #212529;
	--red-0: #fff5f5;
	--red-1: #ffe3e3;
	--red-2: #ffc9c9;
	--red-3: #ffa8a8;
	--red-4: #ff8787;
	--red-5: #ff6b6b;
	--red-6: #fa5252;
	--red-7: #f03e3e;
	--red-8: #e03131;
	--red-9: #c92a2a;
	--pink-0: #fff0f6;
	--pink-1: #ffdeeb;
	--pink-2: #fcc2d7;
	--pink-3: #faa2c1;
	--pink-4: #f783ac;
	--pink-5: #f06595;
	--pink-6: #e64980;
	--pink-7: #d6336c;
	--pink-8: #c2255c;
	--pink-9: #a61e4d;
	--grape-0: #f8f0fc;
	--grape-1: #f3d9fa;
	--grape-2: #eebefa;
	--grape-3: #e599f7;
	--grape-4: #da77f2;
	--grape-5: #cc5de8;
	--grape-6: #be4bdb;
	--grape-7: #ae3ec9;
	--grape-8: #9c36b5;
	--grape-9: #862e9c;
	--violet-0: #f3f0ff;
	--violet-1: #e5dbff;
	--violet-2: #d0bfff;
	--violet-3: #b197fc;
	--violet-4: #9775fa;
	--violet-5: #845ef7;
	--violet-6: #7950f2;
	--violet-7: #7048e8;
	--violet-8: #6741d9;
	--violet-9: #5f3dc4;
	--indigo-0: #edf2ff;
	--indigo-1: #dbe4ff;
	--indigo-2: #bac8ff;
	--indigo-3: #91a7ff;
	--indigo-4: #748ffc;
	--indigo-5: #5c7cfa;
	--indigo-6: #4c6ef5;
	--indigo-7: #4263eb;
	--indigo-8: #3b5bdb;
	--indigo-9: #364fc7;
	--blue-0: #e7f5ff;
	--blue-1: #d0ebff;
	--blue-2: #a5d8ff;
	--blue-3: #74c0fc;
	--blue-4: #4dabf7;
	--blue-5: #339af0;
	--blue-6: #228be6;
	--blue-7: #1c7ed6;
	--blue-8: #1971c2;
	--blue-9: #1864ab;
	--cyan-0: #e3fafc;
	--cyan-1: #c5f6fa;
	--cyan-2: #99e9f2;
	--cyan-3: #66d9e8;
	--cyan-4: #3bc9db;
	--cyan-5: #22b8cf;
	--cyan-6: #15aabf;
	--cyan-7: #1098ad;
	--cyan-8: #0c8599;
	--cyan-9: #0b7285;
	--teal-0: #e6fcf5;
	--teal-1: #c3fae8;
	--teal-2: #96f2d7;
	--teal-3: #63e6be;
	--teal-4: #38d9a9;
	--teal-5: #20c997;
	--teal-6: #12b886;
	--teal-7: #0ca678;
	--teal-8: #099268;
	--teal-9: #087f5b;
	--green-0: #ebfbee;
	--green-1: #d3f9d8;
	--green-2: #b2f2bb;
	--green-3: #8ce99a;
	--green-4: #69db7c;
	--green-5: #51cf66;
	--green-6: #40c057;
	--green-7: #37b24d;
	--green-8: #2f9e44;
	--green-9: #2b8a3e;
	--lime-0: #f4fce3;
	--lime-1: #e9fac8;
	--lime-2: #d8f5a2;
	--lime-3: #c0eb75;
	--lime-4: #a9e34b;
	--lime-5: #94d82d;
	--lime-6: #82c91e;
	--lime-7: #74b816;
	--lime-8: #66a80f;
	--lime-9: #5c940d;
	--yellow-0: #fff9db;
	--yellow-1: #fff3bf;
	--yellow-2: #ffec99;
	--yellow-3: #ffe066;
	--yellow-4: #ffd43b;
	--yellow-5: #fcc419;
	--yellow-6: #fab005;
	--yellow-7: #f59f00;
	--yellow-8: #f08c00;
	--yellow-9: #e67700;
	--orange-0: #fff4e6;
	--orange-1: #ffe8cc;
	--orange-2: #ffd8a8;
	--orange-3: #ffc078;
	--orange-4: #ffa94d;
	--orange-5: #ff922b;
	--orange-6: #fd7e14;
	--orange-7: #f76707;
	--orange-8: #e8590c;
	--orange-9: #d9480f;
	--border-radius: 20px;
}

@font-face {
	font-family:e-Ukraine;src:url(../fonts/e-Ukraine-Regular.woff2)format("woff2"),url(../fonts/e-Ukraine-Regular.woff)format("woff");font-display:swap;
}

@font-face {
	font-family:e-Ukraine;src:url(../fonts/e-Ukraine-Bold.woff2)format("woff2"),url(../fonts/e-Ukraine-Bold.woff)format("woff");font-weight:700;font-display:swap;
}

* {
	box-sizing: border-box;
}

[hidden] {
	display: none!important;
}

html,body {
	scroll-behavior: smooth;
	margin: 0;
	padding: 0;
}

html,input,select,textarea,button {
	font-family: e-Ukraine,Helvetica;
}

body {
	scrollbar-gutter: stable both-sides;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-y: scroll;
}

body.noscroll {
	overflow: hidden;
}

header {
	background: #fff;
	align-items: center;
	gap: 32px;
	padding: 16px 32px;
	display: flex;
}

header nav {
	margin: 0 64px;
}

header nav ul {
	gap: 32px;
	padding: 0;
	list-style: none;
	display: flex;
}

header nav a {
	color: #000;
	font-size: 14px;
	text-decoration: none;
}

header nav a:hover {
	text-decoration: underline;
}

header img {
	width: auto;
	display: block;
}

#logo {
	display: block;
}

.logos {
	align-items: center;
	gap: 24px;
	margin-left: auto;
	display: flex;
}

.logos img.flag {
	height: 32px;
}

#menu_toggle {
	border-radius: 0;
	outline: none;
	margin-right: -16px;
	padding: 16px;
	display: none;
}

footer {
	background: var(--black);
	color: #fff;
	flex-direction: column;
	align-items: center;
	gap: 64px;
	margin: 0;
	padding: 64px;
	display: flex;
}

footer nav {
	flex-wrap: wrap;
	justify-content: center;
	gap: 0 32px;
	display: flex;
}

footer a {
	color: inherit;
	padding: 8px;
	text-decoration: none;
	display: block;
}

footer a:hover {
	color: var(--gray-4);
}

footer .legal {
	align-items: center;
	gap: 16px;
	font-size: 12px;
	display: flex;
}

footer .legal>div {
	opacity: .7;
}

section {
	background: linear-gradient(#f5f6fa,#fff);
}

section.white {
	background: #fff;
}

section.blue {
	background: #fafbfe;
}

section.gray {
	background: #e5e5e5;
}

a {
	color: inherit;
	text-underline-offset: 4px;
	text-decoration: underline;
}

p {
	line-height: 1.5;
}

.info {
	max-width: 80ch;
	background: url(../images/girl_main.webp) top/434px no-repeat;
	margin: auto;
	padding-top: 160px;
	font-size: 14px;
}

.info h2 {
	max-width: 30ch;
	text-align: center;
	margin: auto;
	font-size: 28px;
	line-height: 32px;
}

.info .link {
	text-align: center;
}

.info .link a {
	color: #000;
	font-size: 2em;
	text-decoration: none;
}

.info .link a span {
	text-underline-position: under;
	vertical-align: middle;
	font-size: .5em;
	text-decoration: underline;
}

.info .link a:hover span {
	color: var(--blue-8);
}

main {
	min-height: calc(100vh - 240px);
}

main>p {
	max-width: 600px;
	margin: 64px auto;
	padding: 0 24px;
}

main>p.center {
	text-align: center;
}

main>p small {
	max-width: 400px;
	color: var(--gray-7);
	margin: 16px auto;
	font-size: 12px;
	display: block;
}

section {
	padding: 64px 32px;
}

section h1 {
	margin: 0 0 1em;
	font-size: 40px;
}

section h2 {
	margin: 0 0 1em;
	font-size: 32px;
}

section p {
	margin: 1.5em 0;
}

section p+p:last-child {
	margin-bottom: 0;
}

dl {
	max-width: 70ch;
	margin: 64px auto 0;
	line-height: 1.5;
}

dt {
	border-radius: var(--border-radius);
	cursor: pointer;
	background: #fdebb0;
	margin-bottom: 16px;
	padding: 24px 56px 24px 24px;
	font-size: 16px;
	position: relative;
}

dt:hover,dt.expanded {
	background: #fdfbc0;
}

dt:after {
	content: "";
	width: 16px;
	height: 16px;
	background: url(../fonts/icon-chevron.svg) 96%/16px 16px no-repeat;
	position: absolute;
	top: 28px;
	right: 24px;
}

dd {
	border-radius: var(--border-radius);
	background: #fff;
	border: 1px solid #000;
	margin: 16px 0 32px;
	padding: 24px;
	display: none;
}

dt.expanded:after {
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}

dt.expanded+dd {
	display: block;
}

dd ul {
	color: var(--gray-7);
	margin: 1.5em 0;
	padding: 0 0 0 3em;
	font-size: 14px;
	line-height: 1.5;
}

dd li {
	margin: .75em 0;
}

.lead {
	z-index: 1;
	max-width: 792px;
	border-radius: var(--border-radius);
	text-align: center;
	background: linear-gradient(90deg,#d1c9e9,#efe9ff);
	margin: 128px auto 0;
	padding: 32px 32px 48px;
	position: relative;
}

.lead:before {
	content: "";
	width: 434px;
	height: 164px;
	background: url(../images/girl_heart.webp) top/164px 164px no-repeat,url(../images/stripe_big.webp) 50%/contain no-repeat;
	position: absolute;
	top: -132px;
	left: calc(50% - 217px);
}

.lead .arrow_down {
	width: 88px;
	height: 89px;
	background: url(../images/arrow_down.webp) top/100% no-repeat;
	transition: -webkit-transform .1s,transform .1s;
	position: absolute;
	bottom: -50px;
	left: calc(50% - 44px);
}

.lead .arrow_down:hover {
	-webkit-transform: translateY(4px);
	transform: translateY(4px);
}

.lead_border {
	z-index: 0;
	max-width: 808px;
	height: 132px;
	border-radius: var(--border-radius);
	border: 1px solid #000;
	margin: -124px auto 0;
	position: relative;
}

.lead h1,.lead h2 {
	word-wrap: break-word;
	margin: 0 0 .5em;
	line-height: 1;
}

.lead p {
	margin: 0;
}

@media (max-width:872px) {
	.lead_border {
		max-width: none;
		margin-left: -8px;
		margin-right: -8px;
	}
}

.main_actions {
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
	gap: 32px;
	display: flex;
}

.main_actions .action {
	width: 500px;
	margin-top: 64px;
	position: relative;
}

.main_actions .action .block {
	border-radius: var(--border-radius);
	background: #fdebb0;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	padding: 64px 32px 32px;
	display: flex;
}

.main_actions .action:before {
	content: "";
	width: 88px;
	height: 88px;
	background-position: 50%;
	background-size: cover;
	position: absolute;
	top: -44px;
	left: calc(50% - 44px);
}

.main_actions .act_app:before {
	background-image: url(../images/app.webp);
}

.main_actions .act_check:before {
	background-image: url(../images/check.webp);
}

.main_actions .act_signin:before {
	background-image: url(../images/lock.webp);
}

.main_actions h3 {
	max-width: 24ch;
	text-align: center;
	margin: 0 0 16px;
	font-size: 22px;
	font-weight: 400;
	line-height: 26px;
}

.main_actions .act_signin .btn img,#new_app_btn .btn img {
	vertical-align: middle;
	-webkit-filter: invert();
	filter: invert();
	margin: -2px 0 -2px 2px;
	display: inline-block;
}

.main_actions .act_signin .btn:hover img,#new_app_btn .btn:hover img {
	-webkit-filter: invert(0);
	filter: invert(0);
}

.main_actions .expanded .more {
	display: block!important;
}

.main_actions .more {
	border-radius: var(--border-radius);
	background: #fff;
	border: 1px solid #000;
	margin-top: 16px;
	padding: 32px;
}

.main_actions .more p {
	margin: 0 0 1em;
}

.main_actions .more p:last-child {
	margin: 0;
}

.main_actions .more p a {
	color: inherit;
	text-decoration: underline;
}

.main_actions .more p a:hover {
	color: var(--blue-8);
}

.show_more,.show_more:hover {
	color: inherit;
	background: 0 0;
	border: 0;
	padding: 8px;
	font-size: 13px;
}

.show_more:after {
	content: "";
	vertical-align: -2px;
	width: 12px;
	height: 12px;
	background: url(../fonts/icon-chevron.svg) 100%/cover;
	margin-left: 4px;
	display: inline-block;
}

.expanded .show_more:after {
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}

form {
	max-width: 500px;
	border-radius: var(--border-radius);
	margin: 32px auto;
	position: relative;
}

form .top_bar {
	justify-content: space-between;
	align-items: baseline;
	font-size: 14px;
	display: flex;
}

form .back {
	color: var(--gray-6);
	background: 0 0;
	border: 0;
	padding: 8px;
	font-size: 14px;
	font-weight: 400;
}

form .back:hover {
	color: var(--gray-7);
	background: 0 0;
}

form .step {
	color: var(--gray-6);
	font-variant-numeric: tabular-nums;
	padding: 8px;
	font-size: 14px;
}

fieldset {
	border-radius: var(--border-radius)var(--border-radius)0 0;
	background: var(--gray-2);
	border: 0;
	margin: 0;
	padding: 32px;
}

fieldset>div {
	margin-bottom: 24px;
}

fieldset>div:last-child {
	margin-bottom: 0;
}

label {
	display: block;
}

form h2 {
	margin: 0 0 32px;
	font-size: 20px;
	font-weight: 700;
}

label.sm {
	white-space: nowrap;
	font-size: 12px;
	display: inline;
}

label.sm input[type=checkbox] {
	vertical-align: -3px;
	padding: 6px;
}

label.flex {
	align-items: flex-start;
	display: flex;
}

fieldset>div>label {
	margin-bottom: 2px;
}

fieldset .row {
	flex-wrap: wrap;
	gap: 32px;
	display: flex;
}

fieldset p {
	margin: -24px 0 24px;
	font-size: 14px;
	line-height: 1.5;
}

.checkboxes,.radios {
	margin: -8px;
}

.checkboxes label,.radios label {
	cursor: pointer;
	border-radius: 4px;
	align-items: flex-start;
	padding: 8px;
	display: flex;
}

.checkboxes label:hover {
	background-color: #fff;
}

.note {
	color: var(--gray-6);
	margin-top: 2px;
	font-size: 12px;
}

.err {
	background: var(--red-9);
	color: var(--red-0);
	text-align: center;
	padding: 8px 32px;
	font-size: 14px;
}

form .actions {
	border-radius: 0 0 var(--border-radius)var(--border-radius);
	background: var(--gray-3);
	text-align: left;
	padding: 16px 32px;
}

button,.btn {
	border: 2px solid var(--black);
	background: var(--black);
	color: var(--white);
	text-align: center;
	cursor: pointer;
	border-radius: 40px;
	padding: 16px 40px;
	font-size: 16px;
	text-decoration: none;
	transition: background-color .2s;
	display: inline-block;
}

button.small,.btn.small {
	padding: 12px 24px;
	font-size: 13px;
}

button.red {
	border-color: var(--red-7);
	color: var(--red-9);
	background: 0 0;
}

button.red:hover {
	background: var(--red-7);
	color: var(--white);
}

button:hover,.btn:hover {
	color: inherit;
	background: 0 0;
}

button:active,.btn:active {
	background: var(--black-70);
}

button:disabled {
	background: var(--black-20);
}

button.raw {
	color: var(--gray-6);
	background: 0 0;
	border: none;
}

button.secondary {
	border: 1px solid var(--gray-5);
	border-bottom-color: var(--gray-6);
	background: var(--gray-0);
	color: var(--gray-8);
	white-space: nowrap;
	cursor: pointer;
	border-radius: 4px;
	padding: 6px 12px;
	font-size: 12px;
	line-height: 1;
	transition: background-color .1s,box-shadow .1s;
	box-shadow: inset 0 -1px 1px rgba(0,0,0,.1);
}

button.secondary:not(:disabled):hover {
	background-color: var(--gray-1);
	color: var(--gray-7)!important;
}

button.secondary:active {
	box-shadow: inset 0 1px 1px rgba(0,0,0,.2);
}

button:focus {
	outline: 2px solid var(--blue-6);
}

.person>div,.person .doc>div {
	margin-bottom: 24px;
}

.person>div:last-child {
	margin-bottom: 0;
}

:disabled {
	cursor: not-allowed;
}

input,select,textarea {
	border: 2px solid var(--gray-7);
	background: #fff;
	border-radius: 4px;
	margin: 0;
	line-height: 1.375;
	transition: border-color .2s;
}

input:not([type=checkbox]):not([type=radio]),select,textarea {
	max-width: 100%;
	height: 42px;
	padding: 8px;
	font-size: 16px;
	font-weight: 700;
}

select {
	-webkit-appearance: none;
	-ms-appearance: none;
	appearance: none;
	width: 100%;
	text-overflow: ellipsis;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3e%3cpath d='M8,10 L12,14 L16,10' stroke='%23000000' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'/%3e%3c/svg%3e");
	background-position: 100%;
	background-repeat: no-repeat;
	padding-right: 32px;
}

::-webkit-input-placeholder {
	color: var(--gray-5);
}

::-ms-input-placeholder {
	color: var(--gray-5);
}

::placeholder {
	color: var(--gray-5);
}

select:invalid {
	color: var(--gray-4);
}

input::-webkit-outer-spin-button,input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	-ms-appearance: none;
	appearance: none;
	margin: 0;
}

input[type=date] {
	width: 164px;
}

input[type=checkbox],input[type=radio] {
	-webkit-appearance: none;
	-ms-appearance: none;
	appearance: none;
	vertical-align: -3px;
	margin: 0 8px 0 0;
	padding: 7px;
}

input[type=checkbox]:checked {
	background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M5.707 7.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414L7 8.586 5.707 7.293z'/%3e%3c/svg%3e");
	background-color: var(--gray-7);
	background-position: 50%;
	background-repeat: no-repeat;
	background-size: 100% 100%;
}

input[type=checkbox]:disabled {
	opacity: .2;
	background: 0 0;
}

input[type=checkbox]:focus {
	outline: 2px solid var(--blue-7);
}

input[type=radio] {
	color: var(--blue-7);
	border-radius: 50%;
}

input[type=radio]:checked {
	background-color: currentColor;
	background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");
	background-position: 50%;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	border-color: rgba(0,0,0,0);
}

input:not([type=checkbox]):not([type=radio]):focus,select:focus {
	border-color: var(--blue-7);
	outline: none;
}

input:not([type=checkbox]):not([type=radio]).interacted:valid,select.interacted:valid {
	border-color: var(--green-6);
	background-color: var(--green-0);
}

input.interacted:invalid,select.interacted:invalid {
	border-color: var(--red-6);
	background-color: var(--red-0);
}

input:not([type=checkbox]):not([type=radio]):disabled,select:disabled {
	border-color: var(--gray-4);
	background: var(--gray-3);
}

input:disabled {
	color: rgba(0,0,0,0)!important;
}

input[name=surname],input[name=first_name],input[name=patronymic],input[name$="[issued_by]"],input[name$="[surname]"],input[name$="[first_name]"],input[name$="[patronymic]"] {
	width: 30ch;
}

input[name=reg_code],input[name$="[reg_code]"] {
	-webkit-appearance: textfield;
	-ms-appearance: textfield;
	appearance: textfield;
	width: calc(10ch + 20px);
	margin-right: 16px;
}

select[name$="[region]"] {
	width: calc(20ch + 20px);
}

select[name$="[district]"] {
	width: calc(24ch + 20px);
}

select[name$="[settlement]"],input[name$="[street]"] {
	width: 100%;
}

input[name=iban] {
	width: calc(29ch + 20px);
}

#dialog_backdrop {
	z-index: 100;
	background: rgba(0,0,0,.9);
	justify-content: center;
	align-items: center;
	display: flex;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

.dialog {
	max-height: 100%;
	background: var(--gray-0);
	border: 0;
	border-radius: 8px;
	padding: 32px;
	position: relative;
	overflow: auto;
}

.dialog .close {
	cursor: pointer;
	background: var(--gray-0);
	border-radius: 32px;
	padding: 8px;
	font-size: 0;
	position: absolute;
	top: 0;
	right: 0;
}

.dialog .close svg {
	width: 24px;
	height: 24px;
	fill: var(--gray-6);
}

.dialog .close:hover svg {
	fill: var(--gray-8);
}

.dialog.loading {
	width: 96px;
	height: 96px;
}

.dialog.loading .close {
	display: none;
}

.dialog h1 {
	color: var(--gray-4);
	margin: 0 32px 32px 0;
}

.dialog p {
	color: var(--gray-5);
	margin: 0;
}

.dialog .person {
	width: auto;
	margin: 0 0 -32px;
}

.dialog .person .doc {
	border: 1px solid var(--gray-6);
	border-width: 1px 0;
	margin: 0 -32px 24px;
	padding: 24px 32px 0;
}

.dialog .actions {
	margin: 0 -32px -32px;
}

@-webkit-keyframes spin {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}

	to {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

@keyframes spin {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}

	to {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

.loading {
	cursor: wait;
	position: relative;
}

.loading:after {
	content: "";
	z-index: 1;
	width: 32px;
	height: 32px;
	border: 3px solid var(--blue-7);
	border-radius: 50%;
	margin: -19px 0 0 -19px;
	-webkit-animation: spin .5s linear infinite;
	animation: spin .5s linear infinite;
	position: absolute;
	top: 50%;
	left: 50%;
	border-right-color: rgba(0,0,0,0)!important;
}

.loading.small:after {
	width: 16px;
	height: 16px;
	border-width: 2px;
	margin: -8px 0 0 -8px;
}

.loading.small.for_input:after {
	width: 16px;
	height: 16px;
	border-width: 2px;
	margin: -8px 0 0 -8px;
	top: auto;
	bottom: 11px;
	left: 19px;
}

.people {
	margin: 8px 0;
}

.people>div {
	border-left: 2px solid var(--blue-4);
	color: var(--gray-8);
	background: #fff;
	border-radius: 4px;
	flex-wrap: wrap;
	gap: 4px 16px;
	margin: 8px 0;
	padding: 8px 32px 8px 16px;
	font-size: 14px;
	display: flex;
	position: relative;
	word-wrap: break-word;
}

.people .full_name {
	width: 100%;
	font-weight: 700;
}

.people .birthdate,.people .ident,.people .status {
	font-size: 12px;
}

.people .birthdate,.people .ident {
	font-variant-numeric: tabular-nums;
}

.people button {
	padding: 4px 8px;
	font-size: 14px;
	font-weight: 400;
	line-height: 1;
	position: absolute;
	top: 4px;
	right: 4px;
}

#result {
	background: var(--orange-1);
	width: 600px;
	max-width: 100%;
	text-align: center;
	color: var(--orange-9);
	border-radius: 16px;
	margin: auto;
	padding: 32px 64px;
}

#result.green {
	background: var(--green-1);
	color: var(--green-9);
}

#result :first-child {
	margin-top: 0;
}

#result :last-child {
	margin-bottom: 0;
}

#new_app_btn {
	text-align: center;
	margin: 32px 0;
}

.warning {
	background: var(--red-1);
	width: 500px;
	max-width: 100%;
	text-align: center;
	color: var(--red-9);
	border-radius: 16px;
	margin: 32px auto;
	padding: 32px 64px;
}

section>h2 {
	text-align: center;
	margin-top: 134px;
	position: relative;
}

section>h2:before {
	content: "";
	width: 134px;
	height: 134px;
	background-image: var(--img);
	background-size: cover;
	position: absolute;
	top: -134px;
	left: calc(50% - 67px);
}

section>h2:after {
	content: "";
	z-index: 2;
	width: 129px;
	height: 75px;
	pointer-events: none;
	background: url(../images/stripe_small.webp) 50%/cover;
	position: absolute;
	bottom: -86px;
	left: calc(50% - 64px);
}

#about .purple {
	max-width: 60ch;
	position: relative;
}

.purple {
	border-radius: var(--border-radius);
	background: linear-gradient(90deg,#d1c9e9,#efe9ff);
	margin: auto;
	padding: 32px 32px 48px;
}

.purple .content {
	border-radius: var(--border-radius);
	background: #fff;
	border: 1px solid #000;
	padding: 32px;
}

#partners {
	z-index: 1;
	max-width: 592px;
	border-radius: var(--border-radius);
	scroll-snap-type: x mandatory;
	scroll-snap-stop: always;
	background: #fff;
	border: 1px solid #000;
	margin: 48px auto 0;
	display: flex;
	position: relative;
	overflow: hidden;
}

#reviews {
	z-index: 1;
	max-width: 592px;
	border-radius: var(--border-radius);
	scroll-snap-type: x mandatory;
	scroll-snap-stop: always;
	background: #fff;
	border: 1px solid #000;
	margin: 48px auto 0;
	display: flex;
	position: relative;
	overflow: hidden;
}

#partners .page {
	scroll-snap-align: start;
	flex: 0 0 100%;
	justify-content: center;
	align-items: center;
	gap: 32px;
	padding: 96px;
	display: flex;
}

#reviews .people {
	scroll-snap-align: start;
	flex: 0 0 100%;
	justify-content: center;
	align-items: center;
	gap: 32px;
	padding: 96px;
	display: flex;
}

#partners+.purple {
	width: 656px;
	height: 256px;
	margin: -289px auto 128px;
	position: relative;
}

#partners img {
	object-fit: contain;
}

#reviews+.purple {
	width: 656px;
	height: 256px;
	margin: -289px auto 128px;
	position: relative;
}

#reviews img {
	object-fit: contain;
}

@media (max-width:700px) {
	#partners .page {
		padding: 10vw;
	}

	#partners+.purple {
		width: auto;
		height: 192px;
		border-radius: 0;
		margin: -228px -32px 128px;
		display: none;
	}

	#partners .page img {
		width: auto;
	}

	#partners .page:nth-child(1) img:nth-child(1) {
		height: 10vw;
	}

	#partners .page:nth-child(1) img:nth-child(2) {
		height: 20vw;
	}

	#partners .page:nth-child(2) img {
		height: 10vw;
	}
	
	#reviews .people {
		padding: 10vw;
	}

	#reviews+.purple {
		width: auto;
		height: 192px;
		border-radius: 0;
		margin: -228px -32px 128px;
		display: none;
	}

	#reviews .people img {
		width: auto;
	}

	#reviews .people:nth-child(1) img:nth-child(1) {
		height: 10vw;
	}

	#reviews .people:nth-child(1) img:nth-child(2) {
		height: 20vw;
	}

	#reviews .people:nth-child(2) img {
		height: 10vw;
	}
}

#dashboard {
	flex-wrap: wrap;
	justify-content: center;
	gap: 32px;
	margin: 64px 0;
	display: flex;
}

#dashboard>div {
	text-align: center;
	background: var(--gray-1);
	border-radius: 16px;
	padding: 16px 32px;
}

#dashboard>div b {
	font-variant-numeric: tabular-nums;
	font-size: 42px;
	display: block;
}

.db_cols {
	flex-wrap: wrap;
	justify-content: center;
	gap: 64px;
	margin-bottom: 64px;
	padding: 0 32px;
	display: flex;
}

.db_cols h2 {
	margin: 0;
}

.db_tbl {
	max-width: 100%;
	background: var(--gray-1);
	contain: content;
	border-radius: 16px;
	margin: 16px auto;
	padding: 8px 0;
}

.db_tbl>.row {
	gap: 16px;
	margin: 2px 0;
	padding: 8px 16px;
	display: flex;
}

.db_tbl>.row:hover {
	box-shadow: 0 2px 0 var(--gray-9);
}

.db_tbl .name {
	padding-right: 32px;
}

.db_tbl .count {
	text-align: right;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
	margin-left: auto;
	font-weight: 700;
}

.db_tbl .count .perc {
	width: 40px;
	color: var(--gray-6);
	font-size: 12px;
	font-weight: 400;
	display: inline-block;
}

.db_tbl .show_more {
	color: var(--gray-6);
	cursor: pointer;
	margin: 2px 0;
	padding: 8px 16px;
}

.db_tbl .show_more:hover {
	background: var(--gray-3);
	color: var(--gray-7);
}

.memos {
	font-size: 12px;
}

.memos .block {
	border-bottom: 1px solid var(--gray-4);
	padding: 32px 0;
}

.memos .block:first-child {
	padding-top: 0;
}

.memos .block:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.memos .block>div {
	margin: 16px 0;
	display: flex;
}

.memos .label {
	width: 130px;
	color: var(--gray-6);
	flex-shrink: 0;
	font-weight: 700;
}

#cabinet #user {
	text-align: center;
	background: linear-gradient(90deg,#d1e9c9,#eff9ef);
	margin: -64px -32px 32px;
	padding: 16px;
}

#cabinet #user .content {
	max-width: 800px;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 16px 32px;
	margin: auto;
	display: flex;
}

#cabinet #user h1 {
	text-align: left;
	margin: 0;
}

#cabinet .apps,#cabinet .empty {
	max-width: 800px;
	margin: 64px auto 0;
	padding: 0;
	list-style: none;
}

#cabinet .apps li,#cabinet .empty {
	border-radius: var(--border-radius);
	border: 1px solid #000;
	margin-bottom: 32px;
	padding: 24px;
}

#cabinet .apps .ts {
	color: var(--gray);
}

#cabinet .apps .actions {
	gap: 24px;
	margin-top: 24px;
	display: flex;
}

#cabinet .empty {
	text-align: center;
}

#cabinet .empty p {
	max-width: 40ch;
	margin: 1.5em auto;
}

#geo_loc {
	max-width: 600px;
	text-align: center;
	margin: 0 auto 180px;
}

.hf-warning {
	max-width: 100%;
	color: var(--red-9);
	pointer-events: none;
	white-space: pre-line;
	padding-top: 2px;
	font-size: 12px;
	line-height: 16px;
}

.hf-warning:empty {
	display: none;
}

.hf-invalid+.hf-warning,:invalid+.hf-warning {
	display: none;
	position: absolute;
}

.hf-invalid:focus+.hf-warning:not(:empty),:invalid:focus+.hf-warning:not(:empty) {
	display: none;
}

@media (max-width:500px) {
	.info {
		border-radius: 0;
		margin-top: -32px;
	}

	form {
		max-width: 100%;
		margin-bottom: 0;
	}

	fieldset,.actions,#result {
		border-radius: 0;
		padding: 16px;
	}

	input,select {
		max-width: 100%;
	}

	select,input[name=surname],input[name=first_name],input[name=patronymic],input[name="doc[issued_by]"],input[name$="[surname]"],input[name$="[first_name]"],input[name$="[patronymic]"],select[name$="[region]"],select[name$="[district]"],select[name$="[settlement]"],input[name$="[street]"],input[name=iban] {
		width: 100%;
	}

	.dialog {
		border-radius: 0;
	}

	.partners img {
		width: auto;
	}

	.partners img[height="128"] {
		height: 64px;
	}

	.partners img[height="64"] {
		width: 152px;
		height: auto;
	}
}

@media (max-width:1300px) {
	header .logos {
		display: none;
	}
}

@media (max-width:1040px) {
	header nav {
		margin: 0 auto;
	}
}

@media (max-width:908px) {
	header {
		justify-content: space-between;
	}

	header nav {
		z-index: 100;
		background: #fff;
		flex-direction: column;
		justify-content: center;
		transition: -webkit-transform .2s,transform .2s;
		display: flex;
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		-webkit-transform: translate(100%);
		transform: translate(100%);
	}

	header nav.open {
		-webkit-transform: translate(0);
		transform: translate(0);
	}

	header nav ul {
		text-align: center;
		flex-direction: column;
	}

	header nav a {
		font-size: 6vw;
	}

	#logo,#menu_toggle {
		z-index: 101;
	}

	#menu_toggle {
		display: block;
	}

	#cabinet #user {
		display: block;
	}
	@media (max-width:400px) {
		header{gap: 16px;
	}

	#logo img {
		width: auto;
		height: 12vw;
	}
}

@media (max-width:1000px) {
	header .logos img:not(:last-child) {
		display: none;
	}
}

@media (max-width:744px) {
	header .logos {
		display: none;
	}

	#logo {
		margin-right: 0;
	}
}

.hamburger {
	cursor: pointer;
	font: inherit;
	color: inherit;
	text-transform: none;
	background-color: rgba(0,0,0,0);
	border: 0;
	margin: 0;
	padding: 15px;
	transition-property: opacity,-webkit-filter,filter;
	transition-duration: .15s;
	transition-timing-function: linear;
	display: inline-block;
	overflow: visible;
}

.hamburger:hover,.hamburger.is-active:hover {
	opacity: .7;
}

.hamburger.is-active .hamburger-inner,.hamburger.is-active .hamburger-inner:before,.hamburger.is-active .hamburger-inner:after {
	background-color: #000;
}

.hamburger-box {
	width: 40px;
	height: 24px;
	display: inline-block;
	position: relative;
}

.hamburger-inner {
	margin-top: -2px;
	display: block;
	top: 50%;
}

.hamburger-inner,.hamburger-inner:before,.hamburger-inner:after {
	width: 40px;
	height: 4px;
	background-color: #000;
	border-radius: 4px;
	transition-property: -webkit-transform,transform;
	transition-duration: .15s;
	transition-timing-function: ease;
	position: absolute;
}

.hamburger-inner:before,.hamburger-inner:after {
	content: "";
	display: block;
}

.hamburger-inner:before {
	top: -10px;
}

.hamburger-inner:after {
	bottom: -10px;
}

.hamburger--squeeze .hamburger-inner {
	transition-duration: 75ms;
	transition-timing-function: cubic-bezier(.55,.055,.675,.19);
}

.hamburger--squeeze .hamburger-inner:before {
	transition: top 75ms .12s,opacity 75ms;
}

.hamburger--squeeze .hamburger-inner:after {
	transition: bottom 75ms .12s,-webkit-transform 75ms cubic-bezier(.55,.055,.675,.19),transform 75ms cubic-bezier(.55,.055,.675,.19);
}

.hamburger--squeeze.is-active .hamburger-inner {
	transition-delay: .12s;
	transition-timing-function: cubic-bezier(.215,.61,.355,1);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.hamburger--squeeze.is-active .hamburger-inner:before {
	opacity: 0;
	transition: top 75ms,opacity 75ms .12s;
	top: 0;
}

.hamburger--squeeze.is-active .hamburger-inner:after {
	transition: bottom 75ms,-webkit-transform 75ms cubic-bezier(.215,.61,.355,1) .12s,transform 75ms cubic-bezier(.215,.61,.355,1) .12s;
	bottom: 0;
	-webkit-transform: rotate(-90deg);
	transform: rotate(-90deg);
}