* {
    margin: 0px;
    padding: 0;
    box-sizing: border-box;
    outline: none;
    transition-duration: 0.15s;
}

.yandex_map * {
    transition-duration: unset !important;
}

select {
    cursor: pointer;
}

html {
    scroll-behavior: smooth;
}

section {
    min-height: 100vh;
}


body {
    --scheme-1: #227788;
    --scheme-2: #ffffff;
    --scheme-3: #00aaff;
    --scheme-4: #0077aa;
    --scheme-5: #00aa77;
    --scheme-6: #111111;
    --scheme-7: #acacac;
    --scheme-8: #002233;
    --scheme-9: #555555;
    --scheme-34: #343434;
    --scheme-78: #787878;
    --scheme-df: #dfdfdf;
    --scheme-ef: #efefef;

    --scheme-bl: #000000;
    --scheme-point-1: #000000;
    --scheme-point-2: #454545;
    --scheme-point-3: #232323;

    --shadow-1: #00000077;

    --header-height: 80px;
    --scheme-red: #ff3333;

    --static-lightred: #ff4444;
    --static-red: #ff2222;
    --static-darkred: #cc0000;

    --static-lightorange: #ffaa44;
    --static-orange: #ff9922;
    --static-darkorange: #cc6600;

    --static-lightgreen: #00ffaa;
    --static-green: #00aa77;
    --static-darkgreen: #006633;

    --static-lightaqua: #00ffff;
    --static-aqua: #009999;
    --static-darkaqua: #004444;

    --static-lightblue: #00aaff;
    --static-blue: #0077aa;
    --static-darkblue: #003366;
    
    --static-lightpurple: #6633ff;
    --static-purple: #3300ff;
    --static-darkpurple: #220077;
    
    --static-themelight: #8866aa;
    --static-theme: #8800aa;
    --static-themedark: #550077;


    --static-font-lightblue: #00aaff; /* reserve */
    --static-font-blue: #0077aa; /* reserve */
    --static-font-darkblue: #003366; /* reserve */

    --scheme-scroll: #898989;

    --scheme-col3: #cdcdcd;
    --scheme-col2: #dedede;
    --scheme-col1: #efefef;
    --scheme-col05: #f5f5f5;
    --scheme-col0: #ffffff;
    --scheme-font-col3: #343434;
    --scheme-font-col2: #232323;
    --scheme-font-col1: #111111;
    --scheme-font-col05: #0a0a0a;
    --scheme-font-col0: #000000;
    --scheme-font-lightblue: #00aaff;
    --scheme-font-blue: #0077aa;
    --scheme-font-darkblue: #003366;
}

body.dark {
    --scheme-1: #83c3cf;
    --scheme-2: #1a1a1a;
    --scheme-3: #00aaff;
    --scheme-4: #0077aa;
    --scheme-5: #005522;
    --scheme-6: #efefef;
    --scheme-7: #343434;
    --scheme-8: #002233;
    --scheme-9: #232323;
    --scheme-34: #d0d0d0;
    --scheme-78: #787878;
    --scheme-df: #313131;
    --scheme-ef: #212121;

    --scheme-bl: #ffffff;
    --scheme-point-1: #ffffff;
    --scheme-point-2: #bcbcbc;
    --scheme-point-3: #dedede;

    --shadow-1: #ffffff77;
    --scheme-scroll: #787878;

    --scheme-font-col3: #cdcdcd;
    --scheme-font-col2: #dedede;
    --scheme-font-col1: #efefef;
    --scheme-font-col05: #f5f5f5;
    --scheme-font-col0: #ffffff;
    --scheme-font-lightblue: #003366;
    --scheme-font-blue: #0099ff;
    --scheme-font-darkblue: #33ccff;
    --scheme-col3: #343434;
    --scheme-col2: #232323;
    --scheme-col1: #111111;
    --scheme-col05: #0a0a0a;
    --scheme-col0: #000000;
    background-color: var(--scheme-col0);
}

general-hidden-info {
    display: none !important;
}

point-icon,
.point-icon {
    width: 24px;
    height: 24px;
    display: block;
    position: relative;
}

point-icon::before,
.point-icon::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    display: block;
    background-image: linear-gradient(90deg, var(--point-col-1) 30%, var(--point-col-3) 30%, var(--point-col-3) 70%, var(--point-col-2) 70%);
    clip-path: polygon(100% 30%, 100% 70%, 50% 100%, 0% 70%, 0% 30%, 30% 0%, 70% 0%, 100% 30%, 90% 35%, 10% 35%, 10% 65%, 50% 90%, 90% 65%, 90% 35%);
}

point-icon::after,
.point-icon::after {
    content: "";
    position: absolute;
    width: 20%;
    height: 30%;
    left: 40%;
    top: 45%;
    display: block;
    background-image: linear-gradient(90deg, var(--point-col-1) 50%, var(--point-col-2) 50%, var(--point-col-2) 100%);
    clip-path: polygon(50% 0%, 100% 30%, 100% 70%, 50% 100%, 0% 70%, 0% 30%);
}

point-icon,
.point-icon-dark {
    --point-col-1: #000000;
    --point-col-2: #565656;
    --point-col-3: #343434;
}

point-icon.fns-dark-1 {
    --point-col-1: #232323;
    --point-col-2: #787878;
    --point-col-3: #565656;
}

point-icon.fns-shadow-fd {
    filter: drop-shadow(0 0 1px #ffffff);
}

::-webkit-scrollbar {
    width: 6px;
    height: 6px;
    background-color: var(--scheme-col2);
    padding: 10px;
}

::-webkit-scrollbar-thumb {
    background-color: var(--scheme-font-col3);
    border-radius: 10px;
}

input[type=checkbox] {
    opacity: 1;
    position: relative;
    width: 0;
    height: 0;
    margin: 0 28px 18px 0;
    cursor: pointer;
}

input[type=checkbox]::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 16px;
    height: 16px;
    border-radius: 6px;
    border: 2px solid var(--scheme-4);
}

input[type=checkbox]:checked:after {
    content: "";
    background-image: url(../assets/icons/done.png);
    background-size: cover;
    background-position: center;
    position: absolute;
    background-color: #ffffff;
    left: 0;
    top: 0;
    width: 16px;
    height: 16px;
    border-radius: 13px;
}

label.radio_cont {
    cursor: pointer;
}

input[type="radio"].style2 {
    width: 0;
    height: 0;
    margin: 12px;
    position: absolute;
    cursor: pointer;
    left: 4px;
}

input[type="radio"].style2:after {
    content: "";
    position: absolute;
    left: -7px;
    top: -10px;
    width: 16px;
    height: 16px;
    border-radius: 6px;
    border: 2px solid #fff;
}

input[type="radio"].style2:checked:after {
    content: "";
    background-image: url(../assets/icons/done.png);
    background-size: cover;
    background-position: center;
    position: absolute;
    background-color: #ffffff;
    left: -7px;
    top: -10px;
    width: 16px;
    height: 16px;
    border-radius: 13px;
    border: 2px solid #fff;
}

.link {
    color: var(--scheme-2);
    text-decoration: underline;
    font-weight: bold;
}


.page_top_banner {
    width: 100%;
    max-height: 300px;
    height: 300px;
    background-size: cover;
    background-position: 0% 100%;
    background-repeat: no-repeat;
}

.window {
    transform: scale(0);
    transition-duration: 0.5s;
    /* background-color: var(--scheme-2); */
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1001;
    /* box-shadow: 0 0 30px #000000; */
    overflow: hidden;
}


.window .wnd_cont {
    overflow: auto;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}


.window.active {
    transform: scale(1);
    z-index: 20000;
}

.window button.close_btn {
    background-color: var(--scheme-2);
    color: var(--scheme-6);
    width: 25px;
    height: 25px;
    position: absolute;
    right: 10px;
    top: 10px;
    font-size: 120%;
    border-radius: 50%;
    box-shadow: 0 0 5px var(--scheme-6);
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 2px;
}

.window button.close_btn:hover {
    transform: scale(1.1);
}

.window button.close_btn:active {
    transform: scale(0.8);
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}


.drop-down-parent {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    position: relative;
    width: 100%;
    padding: 20px;
}

.drop-down-top-side {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: #dfdfdf;
    border-radius: 50px;
    ;
}

.drop-down-top-side .drop-down-name {
    font-size: 110%;
    font-weight: bolder;
    color: var(--scheme-1);
    width: min-content;
    text-align: center;
}

.open-drop-down-box {
    background-color: var(--scheme-5);
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 130%;
    border-radius: 50%;
    padding-top: 2px;
    margin: 12px;
    color: var(--scheme-2);
    box-shadow: 0 0 5px #000000;
    transform-origin: center;
}

.drop-down-parent.active .open-drop-down-box {
    background-color: var(--scheme-4);
    transform: rotateX(180deg);
}

.open-drop-down-box:hover {
    transform: scale(1.1);
}

.open-drop-down-box:active {
    transform: scale(0.8);
}

.drop-down-box {
    width: 100%;
    position: absolute;
    left: 0;
    top: 100%;
    height: 0;
    overflow: hidden;
    background-color: var(--scheme-2);
    box-shadow: 0 0 10px #000000;
    z-index: 1;
}

.drop-down-box-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    height: max-content;
    position: relative;
}

.drop-down-parent.active .drop-down-box {
    height: max-content;
}


.checkbox.circle {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 12px 20px;
}

.checkbox.circle input[type="checkbox"] {
    width: 0;
    height: 0;
    position: relative;
    margin-right: 50px;
    margin-top: 10px;
    margin-bottom: 30px;
}

.checkbox.circle input[type="checkbox"]:after {
    content: "";
    width: 40px;
    height: 20px;
    background-color: var(--scheme-2);
    display: block;
    border-radius: 20px !important;
    background-image: radial-gradient(var(--scheme-4) 60%, transparent 70%);
    background-size: 18px 18px;
    background-repeat: no-repeat;
    background-position: 1px center;
    transition-duration: 0.15s;
}

.checkbox.circle input[type="checkbox"]:checked:after {
    content: "";
    width: 40px;
    height: 20px;
    background-color: var(--scheme-4);
    display: block;
    border-radius: 20px !important;
    background-image: radial-gradient(var(--scheme-2) 60%, transparent 70%);
    background-size: 18px 18px;
    background-repeat: no-repeat;
    background-position: 21px center;
}

.flt-block {
    display: none;
    opacity: 0;
}

.window .fullscreen {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: transparent;
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
}


row- {
    display: flex;
    flex-direction: row;
}

column- {
    display: flex;
    flex-direction: column;
}

tag-left {
    padding: 4px 8px 4px 24px;
    clip-path: polygon(12px 0,
            100% 0,
            100% 100%,
            12px 100%,
            0 50%);
    position: relative;
}

tag-left::before {
    content: "";
    position: absolute;
    left: 12px;
    top: 50%;
    width: 6px;
    height: 6px;
    background-color: #ffffff;
    border-radius: 50%;
    transform: translate(0, -50%);
}


alert-notification {
    position: fixed;
    left: -100%;
    bottom: 12px;
    z-index: 20002;
    display: flex;
    align-items: center;
    padding: 12px 24px 12px 12px;
    width: max-content;
    max-width: calc(100% - 24px);
    border-radius: 12px;
    color: #ffffff;
    box-shadow: 0 0 16px -4px #000000;
    transition-duration: 0.3s;
    transition-timing-function: ease-in-out;
}

alert-notification.active {
    left: 12px;
}

alert-notification.cl-g {
    background-color: #00aa77;
}

alert-notification.cl-r {
    background-color: #ff3333;
}

alert-notification.cl-o {
    background-color: #bb9900;
}

close-alert-notification {
    padding-left: 12px;
    font-size: 28px;
    cursor: pointer;
}

close-alert-notification:hover {
    transform: scale(1.1);
}

close-alert-notification:active {
    transform: scale(0.9);
}

alert-notification-content {
    font-family: Verdana, Geneva, Tahoma, sans-serif;
    text-align: center;
    border-right: 2px solid #ffffff;
    line-height: 24px;
    padding-right: 12px;
}


fns-quest,
fns-alert {
    min-width: min-content;
    width: 450px;
    max-width: 90%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) scale(0);
    background-color: var(--scheme-col0);
    border-radius: 0 24px;
    padding: 24px;
    box-shadow: 0 0 30px -10px #000000;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    border: 1px solid var(--scheme-col3);
}

fns-quest {
    z-index: 1;
}

fns-quest-title,
fns-alert-title {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 12px;
}

fns-quest-title-content,
fns-alert-title-content {
    width: 90%;
    color: var(--scheme-font-col3);
    font-family: Verdana, Geneva, Tahoma, sans-serif;
    font-size: 120%;
}

fns-quest-title-icon,
fns-alert-title-icon {
    color: #0077aa;
    font-size: 20px;
}

fns-quest-content,
fns-alert-content {
    width: 100%;
    color: var(--scheme-font-col2);
    padding-left: 12px;
    padding-bottom: 12px;
    line-height: 20px;
    font-style: italic;
}

fns-quest-content::first-letter,
fns-alert-content::first-letter {
    margin-left: 12px;
}

fns-quest-btns,
fns-alert-btns {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

fns-quest-no,
fns-quest-yes,
fns-alert-btn {
    padding: 8px 24px;
    margin-left: 12px;
    cursor: pointer;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
}

fns-quest-no:hover,
fns-quest-yes:hover,
fns-alert-btn:hover {
    border-radius: 18px;
}

fns-quest-no:active,
fns-quest-yes:active,
fns-alert-btn:active {
    transform: scale(0.9);
}

fns-quest-cont,
fns-alert-cont {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 0;
    background-color: #00000033;
}

fns-quest-cont.active,
fns-alert-cont.active {
    z-index: 20000;
}

fns-quest-cont.active1,
fns-alert-cont.active1 {
    z-index: 20000;
    opacity: 1;
}


fns-alert-cont.active1 {
    z-index: 20000;
}


fns-quest-cont.active fns-quest,
fns-alert-cont.active fns-alert {
    transform: translate(-50%, -50%) scale(1.1);
}

fns-quest-cont.active1 fns-quest,
fns-alert-cont.active1 fns-alert {
    transform: translate(-50%, -50%) scale(1);
}


fns-quest-no {
    color: #000000;
    background-color: #acacac;
}

fns-quest-yes,
fns-alert-btn {
    color: #ffffff;
    background-color: #0077aa;
    text-shadow: 0 0 1px #ffffff;
}

fns-loading {
    width: 100%;
    height: 100%;
    z-index: 1000;
    background-color: #dfdfdf;
    left: 0;
    top: 0;
    position: fixed;
    display: none;
}

fns-loading.active {
    display: block;
}


fns-loading-base-logo {
    perspective: 500px;
    width: 80px;
    height: 60px;
    transform: translate(-50%, -50%) rotateX(-30deg);
    position: absolute;
    left: 50%;
    top: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    transform-style: preserve-3d;
}

fns-loading.active fns-loading-base-chevron-cont {
    animation: FNS-loading 3s infinite;
}

fns-loading-base-chevron-cont {
    transform-style: preserve-3d;
    transform-origin: center center 0px;
    width: 100%;
    height: 20%;
    display: block;
    position: relative;
}

fns-loading-base-chevron {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
}

fns-loading-base-chevron-cont fns-loading-base-chevron:nth-last-of-type(even) {
    filter: brightness(50%);
}

fns-loading-base-chevron-cont:nth-of-type(1) {
    animation-delay: 0s;
    transform: rotateY(45deg);
}

fns-loading-base-chevron-cont:nth-of-type(2) {
    animation-delay: 0.05s;
    transform: rotateY(45deg);
}

fns-loading-base-chevron-cont:nth-of-type(3) {
    animation-delay: 0.1s;
    transform: rotateY(45deg);
}

fns-loading-base-chevron-cont:nth-of-type(1) fns-loading-base-chevron {
    background-color: #ff0000;
    box-shadow: 0 0 4px #ff0000;
}

fns-loading-base-chevron-cont:nth-of-type(2) fns-loading-base-chevron {
    background-color: #0000ff;
    box-shadow: 0 0 4px #0000ff;
}

fns-loading-base-chevron-cont:nth-of-type(3) fns-loading-base-chevron {
    background-color: #ff8800;
    box-shadow: 0 0 4px #ff8800;
}

fns-loading-base-chevron-cont fns-loading-base-chevron:nth-of-type(1) {
    transform: rotateY(90deg) translateZ(-40px);
}

fns-loading-base-chevron-cont fns-loading-base-chevron:nth-of-type(2) {
    transform: translateZ(-40px);
}

fns-loading-base-chevron-cont fns-loading-base-chevron:nth-of-type(3) {
    transform: rotateY(90deg) translateZ(40px);
}

fns-loading-base-chevron-cont fns-loading-base-chevron:nth-of-type(4) {
    transform: translateZ(40px);
}

fns-loading-base-am {
    position: fixed;
    transform: translate(-50%, 0);
    left: 50%;
    top: 70%;
    font-size: 48px;
    font-weight: bolder;
    color: #343434;
    text-shadow: 0 0 1px #343434;
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
}

fns-loading-am- {
    font-size: 32px;
    margin-left: 12px;
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
}


@keyframes FNS-loading {
    0% {
        transform: rotateY(45deg);
    }

    100% {
        transform: rotateY(225deg);
    }
}


fns-form {
    display: flex;
    /* align-items: flex-start; */
    justify-content: center;
    flex-wrap: wrap;
    padding: 12px;
    --flt-width: 30%;
    --flt-width2: 33%;
}

fns-flt {
    display: flex;
    align-items: center;
    width: var(--flt-width);
    position: relative;
    background-color: var(--scheme-col2);
    margin: 28px 8px 0 8px;
    cursor: pointer;
    border: 1px solid transparent;
    border-image: linear-gradient(173deg, #23232367, transparent, transparent) 1;
}

fns-flt.fns-flt-wf {
    width: calc(90% + 32px);
}

fns-flt-inp-cnt {
    width: calc(100% - 12px);
    display: flex;
    align-items: center;
}

fns-flt-required {
    min-width: 12px;
    height: 100%;
    display: none;
    justify-content: flex-end;
    color: #ff4444;
    font-size: 12px;
    margin: 4px 3px 0 0;
}

fns-flt:not(.fns-flt-checkbox) {
    /* min-width: max-content; */
}

fns-flt:not(.fns-flt-checkbox) fns-flt-name {
    transition-duration: 0.05s;
    width: 100%;
    font-size: 13px;
    position: absolute;
    left: 0;
    bottom: 50%;
    padding-left: 12px;
    transform: translate(0, 50%);
    color: var(--scheme-font-col2);
    z-index: 1;
}


fns-flt .fns-inp-t1 {
    width: 100%;
    opacity: 0;
    padding: 8px 12px;
    font-size: 14px;
    background-color: var(--scheme-col05);
    cursor: pointer;
    color: var(--scheme-font-col1);
}

fns-flt-g {
    position: absolute;
    transform: translate(-50%, -50%);
    left: 0;
    top: 0;
    color: #ff4444;
    background-color: #ffffff;
    border-radius: 8px;
    width: 16px;
    height: 16px;
}

fns-flt.fns-flt-G-data {
    border-image: linear-gradient(173deg, #ff4444, transparent, transparent) 1;
}

fns-flt.active {
    background-color: var(--scheme-col05);
}

fns-flt.active fns-flt-name {
    bottom: calc(100% + 3px);
    transform: translate(0, 0);
}

fns-flt.active .fns-inp-t1 {
    cursor: text;
    opacity: 1;
}

fns-flt.fns-flt-required-active fns-flt-required {
    display: flex;
}

fns-flt-info {
    display: none !important;
}

fns-flt .fns-inp-hd {
    padding: 0;
    margin: 0;
    width: 0;
    height: 0;
    border: none;
}

fns-flt-slc-chs {
    display: block;
    width: 100%;
    /* min-width: max-content; */
    opacity: 0;
    padding: 8px;
    font-size: 14px;
    background-color: var(--scheme-col05);
    cursor: pointer;
    color: var(--scheme-font-col1);
}

fns-flt-select {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: calc(100% - 4px);
    color: var(--scheme-font-col3);
}

fns-flt.active fns-flt-slc-chs {
    opacity: 1;
}

fns-flt-select.active .fns-slc-icon {
    transform: rotate(180deg);
}

fns-slc-icon {
    display: flex;
    height: 100%;
    align-items: center;
    justify-content: center;
    font-size: 10px;
}

fns-flt-slc-lst {
    display: none;
    flex-direction: column;
    width: 100%;
    max-height: 178px;
    overflow-y: auto;
    position: absolute;
    left: 0;
    top: 100%;
    z-index: 2;
    background-color: var(--scheme-col05);
    color: var(--scheme-font-col2);
    padding: 8px;
    border: 1px solid;
    border-image: linear-gradient(0deg, #898989, transparent, transparent) 1;
}

.fns-slc-op-top fns-flt-slc-lst {
    top: unset;
    bottom: 100%;
    border-image: linear-gradient(180deg, #898989, transparent, transparent) 1;
}

fns-flt-select.active fns-flt-slc-lst {
    display: flex;
}



fns-flt-slc-lst::-webkit-scrollbar-thumb {
    border-radius: 0;
}

fns-flt-slc-lst::-webkit-scrollbar {
    width: 5px;
    border-radius: 0;
}

fns-flt-slc-val-cnt {
    display: block;
    padding: 8px;
    font-size: 14px;
}

fns-flt-slc-val-cnt:hover {
    background-color: var(--scheme-col2);
}

fns-flt-slc-val-hd {
    display: none;
    opacity: 0;
}



fns-flt.fns-flt-checkbox {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    border: none;
    background-color: transparent;
    cursor: default;
}

fns-flt.fns-flt-checkbox fns-flt-name {
    width: 100%;
    text-align: center;
    color: var(--scheme-font-col2);
    font-size: 32px;
    border-bottom: 1px solid #898989;
    padding-bottom: 16px;
}

fns-flt-cck-cnt {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

fns-flt-cck {
    display: flex;
    width: var(--flt-width2);
    min-width: min-content;
    padding: 8px 4px;
    color: var(--scheme-font-col3);
}

fns-flt-cck-name {
    cursor: pointer;
}

fns-checkbox {
    width: 20px;
    height: 20px;
    position: relative;
    display: flex;
    background-color: #ffffff;
    margin: 0 8px;
    background-color: var(--scheme-col2);
    cursor: pointer;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: var(--fa-display, inline-block);
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    text-rendering: auto;
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
}

fns-checkbox.active {
    border-radius: 10px;
}

fns-checkbox.active::before {
    opacity: 1;
}

fns-checkbox::before {
    transition-duration: 0.2s;
    opacity: 0;
    content: "\f00c";
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

fns-checkbox checkbox-icon {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(0, -50%);
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--scheme-col2);
    color: var(--scheme-font-col3);
    --active-col: var(--scheme-col2);
    --active-font-col: #ffffff;
}

fns-checkbox.active checkbox-icon {
    border-radius: 50%;
    background-color: var(--active-col);
    color: var(--active-font-col);
}


fns-flt-group {
    width: 100%;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 24px;
}

fns-flt-group fns-flt {
    margin-top: 12px;
}


fns-flt-group.fns-flt-column {
    flex-direction: column;
}


fns-flt-group-name {
    text-align: center;
    font-size: 20px;
    color: var(--scheme-font-col1);
}

fns-flt-one {
    display: flex;
    padding: 0 24px;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    max-width: 100%;
}

fns-flt-one fns-flt {
    margin: 12px 0;
}

fns-flt.fns-flt-size-33 {
    width: 33%;
}

fns-flt.fns-flt-size-67 {
    width: 67%;
}

fns-form submit-btn {
    padding: 12px 32px;
    background-color: var(--scheme-font-col3);
    color: var(--scheme-col0);
    font-size: 18px;
    cursor: pointer;
    margin-top: 8px;
}

fns-form submit-btn:hover {
    color: #ffffff;
    background-color: #0077aa;
    border-radius: 48px;
}

fns-form submit-btn:active {
    transform: scale(0.9);
}

fns-hr {
    width: 100%;
    border: solid #898989;
    border-width: 0 0 1px 1px;
    margin: 8px 0;
}


@media only screen and (max-width: 800px) {
    fns-form {
        --flt-width: 40%;
        --flt-width2: 50%;
    }
}

@media only screen and (max-width: 600px) {
    fns-form {
        --flt-width: calc(50% - 16px);
    }

    fns-flt .fns-inp-t1,
    fns-flt-slc-chs {
        font-size: 11px;
    }

    fns-flt-cck-name {
        font-size: 13px;
    }

    fns-flt.fns-flt-checkbox fns-flt-name {
        font-size: 24px;
    }

    fns-form submit-btn {
        font-size: 14px;
        padding: 10px 20px;
    }
}

@media only screen and (max-width: 400px) {
    fns-form {
        --flt-width2: 100%;
    }

    fns-flt:not(.fns-flt-checkbox) fns-flt-name {
        font-size: 11px;
    }

    fns-flt.fns-flt-checkbox fns-flt-name {
        font-size: 20px;
    }

    fns-flt-cck-name {
        font-size: 11px;
    }

    fns-flt-cck fns-checkbox {
        width: 16px;
        height: 16px;
        padding: 0 0 4px 4px;
        text-shadow: 0 0 1px var(--scheme-font-col3);
    }

    fns-flt-one {
        padding: 0 12px;
    }

    ns-flt:not(.fns-flt-checkbox) fns-flt-inp-cnt {
        width: calc(100% - 4px);
    }
}


.fns-fa::before {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: var(--fa-display, inline-block);
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    text-rendering: auto;
    font-weight: 900;
    font-family: 'Font Awesome 6 Free';
}


alt-loading {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
    border-radius: 16px;
}

alt-loading-txt {
    font-size: 14px;
    text-shadow: 0 0 5px #00000099;
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
}


.search_block {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 180px;
    height: 40px;
    background-color: var(--scheme-col3);
    color: var(--scheme-font-col0);
    margin: 32px 0 10px 39px;
    border-radius: 8px;
    position: relative;
}

.search_block.active {
    border-radius: 20px;
}

.search_block_btn {
    width: 30px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0 8px 8px 0;
    color: #ffffff;
    background-color: #898989;
    cursor: pointer;
    position: absolute;
    right: 0;
    top: 0;
}

.search_block.active .search_block_btn:active {
    width: 50px !important;
}

.search_block input {
    background-color: transparent;
    color: var(--scheme-font-col0);
    font-size: 16px;
    width: calc(100% - 40px);
    padding: 0 12px;
    font-family: monospace;
    height: 100%;
}

.search_block input::placeholder {
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
}

.search_block:hover {
    border-radius: 20px;
}

.search_block:hover .search_block_btn {
    width: 40px;
    border-radius: 0 20px 20px 0;
}

.search_block.active .search_block_btn {
    background-color: var(--static-font-blue);
    color: #ffffff;
    width: 100%;
    border-radius: 20px;
}

.search_block.active .search_block_btn:active {
    background-color: var(--static-font-blue);
    color: #ffffff;
    width: 100%;
    border-radius: 20px;
}

.search_block_btn:hover {
    background-color: var(--static-font-blue);
}


italic-strong {
    display: inline;
    font-style: italic;
    font-weight: bolder;
}

.nobreak {
    white-space: nowrap;
    word-break: keep-all;
}

i.icon-circle, icon-circle, .icon-circle {
    --icon-width: 24px;
    --icon-height: 24px;
    width: var(--icon-width);
    height: var(--icon-height);
    min-width: var(--icon-width);
    min-height: var(--icon-height);
    background-color: var(--static-blue);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
}

icon-circle.icon-shadow, .icon-circle.icon-shadow {
    box-shadow: inset 3px 2px 3px #00000089;
    text-shadow: 2px 1px 3px #000000;
}

icon-circle.bckg-r, .icon-circle.bckg-r {
    background-color: var(--static-red);
}
icon-circle.bckg-lr, .icon-circle.bckg-lr {
    background-color: var(--static-lightred);
}
icon-circle.bckg-dr, .icon-circle.bckg-dr {
    background-color: var(--static-darkred);
}

icon-circle.bckg-g, .icon-circle.bckg-g {
    background-color: var(--static-green);
}
icon-circle.bckg-lg, .icon-circle.bckg-lg {
    background-color: var(--static-lightgreen);
}
icon-circle.bckg-dg, .icon-circle.bckg-dg {
    background-color: var(--static-darkgreen);
}

icon-circle.bckg-b, .icon-circle.bckg-b {
    background-color: var(--static-blue);
}
icon-circle.bckg-lb, .icon-circle.bckg-lb {
    background-color: var(--static-lightblue);
}
icon-circle.bckg-db, .icon-circle.bckg-db {
    background-color: var(--static-darkblue);
}

icon-circle.bckg-o, .icon-circle.bckg-o {
    background-color: var(--static-orange);
}
icon-circle.bckg-lo, .icon-circle.bckg-lo {
    background-color: var(--static-lightorange);
}
icon-circle.bckg-do, .icon-circle.bckg-do {
    background-color: var(--static-darkorange);
}

icon-circle.bckg-a, .icon-circle.bckg-a {
    background-color: var(--static-aqua);
}
icon-circle.bckg-la, .icon-circle.bckg-la {
    background-color: var(--static-lightaqua);
}
icon-circle.bckg-da, .icon-circle.bckg-da {
    background-color: var(--static-darkaqua);
}

icon-circle.bckg-p, .icon-circle.bckg-p {
    background-color: var(--static-purple);
}
icon-circle.bckg-lp, .icon-circle.bckg-lp {
    background-color: var(--static-lightpurple);
}
icon-circle.bckg-dp, .icon-circle.bckg-dp {
    background-color: var(--static-darkpurple);
}

icon-circle.bckg-t, .icon-circle.bckg-t {
    background-color: var(--static-theme);
}
icon-circle.bckg-lt, .icon-circle.bckg-lt {
    background-color: var(--static-themelight);
}
icon-circle.bckg-dt, .icon-circle.bckg-dt {
    background-color: var(--static-themedark);
}

icon-circle.bckg-font, .icon-circle.bckg-font {
    background-color: var(--scheme-font-col1);
}
icon-circle.bckg-lfont, .icon-circle.bckg-lfont {
    background-color: var(--scheme-font-col2);
}
icon-circle.bckg-dfont, .icon-circle.bckg-dfont {
    background-color: var(--scheme-font-col0);
}

icon-circle.bckg-def, .icon-circle.bckg-def {
    background-color: var(--scheme-col1);
}
icon-circle.bckg-ldef, .icon-circle.bckg-ldef {
    background-color: var(--scheme-col2);
}
icon-circle.bckg-ddef, .icon-circle.bckg-ddef {
    background-color: var(--scheme-col0);
}