:root {
    --font-family: "roboto", sans-serif;
    --content-width: 1290px;
    --container-offset: 20px;
    --container-width: calc(var(--content-width) + (var(--container-offset) * 2));
    --content-width-page: 1040px;
    --container-width-page: calc(var(--content-width-page) + (var(--container-offset) * 2));
    --color-black: #000;
    --color-dark: #42424d;
    --color-white: #ffffff;
    --color-main: #8e97f5;
    --color-link: #988fcc;
    --color-link-400: #666dd6;
    --color-gray-100: #f5f5f5;
    --color-gray-400: #9ea6b3;
    --color-shadow: hsla(0, 0%, 82%, 0.102);
    --color-bg: #702edc;
    --color-side: #712ddc;
    --color-red: #ff0001;
    --color-animation-ligth: #e2e0fc;
    --color-animation-blue: #31278c;
    --radius-main: 3px;
    --radius-round: 50%;
    --height-terminal-top: 240px;
    --height-terminal-bottom: 152px
}

.custom-checkbox__field:checked+.custom-checkbox__content::after {
    opacity: 1
}

.custom-checkbox__field:checked+.custom-checkbox__content::before {
    background-color: var(--color-main)
}

.custom-checkbox__field:focus+.custom-checkbox__content::before {
    outline: 1px solid var(--color-link);
    outline-offset: 2px
}

.custom-checkbox__field:disabled+.custom-checkbox__content {
    opacity: .4;
    pointer-events: none
}

@font-face {
    font-family: Roboto;
    src: url(../fonts/Roboto-Regular.woff) format("woff");
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: Roboto;
    src: url(../fonts/Roboto-Medium.woff) format("woff");
    font-weight: 500;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: Roboto;
    src: url(../fonts/Roboto-Bold.woff) format("woff");
    font-weight: 700;
    font-style: normal;
    font-display: swap
}

.page {
    height: 100%;
    font-family: var(--font-family);
    font-weight: 400;
    font-style: normal;
    -webkit-font-feature-settings: "pnum" on, "lnum" on;
    font-feature-settings: "pnum" on, "lnum" on;
    font-size: .7vw;
    line-height: 1.6;
    text-align: justify;
    -webkit-text-size-adjust: 100%;
    color: var(--color-white);
    background-color: var(--color-white);
    scroll-behavior: smooth;
    overscroll-behavior-y: none;
    scroll-padding-top: var(--scroll-padding, 150px)
}

.page__body {
    margin: 0;
    min-width: 320px;
    min-height: 100%
}

@media (max-width:calc(48em - 0.0625em)) {
    .page {
        font-size: 13px
    }
    .side::after {
        display: none
    }
}

.site-container {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 100%;
    grid-template-columns: 100%;
    -ms-grid-rows: auto 1fr auto;
    grid-template-rows: auto 1fr auto;
    min-height: 100vh;
    overflow: hidden
}

.hidden {
    display: none !important
}

.sr-only {
    position: absolute;
    overflow: hidden;
    margin: -1px;
    border: 0;
    padding: 0;
    width: 1px;
    height: 1px;
    clip: rect(0 0 0 0)
}

.container {
    margin: 0 auto;
    padding: 0 var(--container-offset);
    width: 100%;
    max-width: var(--container-width)
}

.container--min {
    max-width: var(--container-width-page)
}

.centered {
    text-align: center
}

.dis-scroll {
    position: fixed;
    left: 0;
    top: 0;
    overflow: hidden;
    width: 100%;
    height: 100vh;
    -ms-scroll-chaining: none;
    overscroll-behavior: none
}

.page--ios .dis-scroll {
    position: relative
}

.input-reset {
    border: 1px solid transparent;
    padding: 10px 20px;
    width: 100%;
    font-weight: 400;
    font-size: 12px;
    line-height: 1.67;
    background-color: var(--color-gray-100)
}

.input-reset::-webkit-input-placeholder {
    color: var(--color-gray-400)
}

.input-reset::-moz-placeholder {
    color: var(--color-gray-400)
}

.input-reset:-ms-input-placeholder {
    color: var(--color-gray-400)
}

.input-reset::-ms-input-placeholder {
    color: var(--color-gray-400)
}

.input-reset::placeholder {
    color: var(--color-gray-400)
}

.input-reset:focus::-webkit-input-placeholder {
    color: transparent
}

.input-reset:focus::-moz-placeholder {
    color: transparent
}

.input-reset:focus:-ms-input-placeholder {
    color: transparent
}

.input-reset:focus::-ms-input-placeholder {
    color: transparent
}

.input-reset:focus::placeholder {
    color: transparent
}

.logo {
    max-width: 130px
}

.corner {
    position: relative
}

.corner::before {
    content: "";
    position: absolute;
    right: 5px;
    top: 0;
    width: 100%;
    height: 8.75rem;
    max-width: 33.125rem;
    background-image: url(../img/corner.svg);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat
}

.corner--post::after {
    content: "";
    position: absolute;
    left: 5px;
    bottom: 0;
    width: 100%;
    height: 8.75rem;
    max-width: 33.125rem;
    background-image: url(../img/corner.svg);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    -webkit-transform: scale(-1, -1);
    -ms-transform: scale(-1, -1);
    transform: scale(-1, -1)
}

.side {
    position: relative
}

.side::after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    height: 100%;
    max-width: 41.25rem;
    background-color: var(--color-side);
    opacity: .1
}

.side--terminal::before {
    content: "";
    position: absolute;
    left: 23.75rem;
    bottom: 0;
    width: 100%;
    height: var(--height-terminal-bottom);
    max-width: 43.75rem;
    background-color: var(--color-side);
    opacity: .1
}

@media (max-width:calc(90.0625em - 0.0625em)) {
    .side--terminal::before {
        left: 13.75rem;
        height: calc(var(--height-terminal-bottom)/ 2)
    }
}

@media (max-width:calc(62em - 0.0625em)) {
    .logo {
        max-width: 85px
    }
    .side--terminal::before {
        left: 4.375rem
    }
}

@media (max-width:calc(48em - 0.0625em)) {
    .side--terminal::before {
        display: none
    }
}

.side--terminal::after {
    height: var(--height-terminal-top)
}

@media (max-width:calc(90.0625em - 0.0625em)) {
    .side--terminal::after {
        height: calc(var(--height-terminal-top)/ 3)
    }
}

.side--trade::after {
    left: 23.75rem;
    height: 16.25rem;
    max-width: 43.75rem
}

@media (max-width:calc(90.0625em - 0.0625em)) {
    .side--trade::after {
        left: 13.75rem
    }
}

.header {
    position: fixed;
    z-index: 100;
    padding: 29px 0;
    width: 100%;
    background: -o-linear-gradient(359.93deg, #1f1583 .06%, #2b274f 99.94%);
    background: linear-gradient(90.07deg, #1f1583 .06%, #2b274f 99.94%);
    -webkit-animation: 2s ease-in header;
    animation: 2s ease-in header
}

.header__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

@-webkit-keyframes header {
    from {
        top: -50%
    }
    to {
        top: 0
    }
}

@keyframes header {
    from {
        top: -50%
    }
    to {
        top: 0
    }
}

.nav,
.nav__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.nav__list.menu--active {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0)
}

.nav__list--mobile::before {
    content: "";
    position: absolute;
    z-index: -1;
    width: 100vw;
    height: 100vh;
    background-image: url(../img/mobile-menu.svg);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 0;
    visibility: hidden
}

@media (max-width:calc(62em - 0.0625em)) {
    .side--trade::after {
        left: 4.375rem
    }
    .header {
        padding: 15px 0
    }
    .nav__list>li {
        margin: 0 auto;
        width: 150px
    }
    .nav__list--mobile::before {
        opacity: 1;
        visibility: visible
    }
}

@media (max-width:calc(29.6875em - 0.0625em)) {
    .nav__list--mobile::before {
        display: none
    }
}

.nav__list--mobile::after {
    content: "";
    position: absolute;
    z-index: -1;
    display: none;
    width: 50vw;
    height: 100vh;
    background-color: var(--color-black);
    opacity: .1
}

@media (max-width:calc(62em - 0.0625em)) {
    .nav__list--mobile::after {
        display: block
    }
    .nav__list {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100vh;
        background: -o-linear-gradient(359.93deg, #1f1583 .06%, #2b274f 99.94%);
        background: linear-gradient(90.07deg, #1f1583 .06%, #2b274f 99.94%);
        -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
        transform: translateX(100%);
        -webkit-transition: -webkit-transform .2s linear;
        transition: transform .2s linear;
        -o-transition: transform .2s linear;
        transition: transform .2s linear, -webkit-transform .2s linear
    }
}

.nav__list-logo {
    position: relative;
    margin-bottom: 60px
}

.nav__list-logo::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: -30px;
    width: 60px;
    height: 1px;
    background-color: var(--color-main)
}

@media (max-width:calc(29.6875em - 0.0625em)) {
    .nav__list--mobile::after {
        display: none
    }
    .nav__list {
        display: block;
        overflow-y: auto;
        padding: 50px 0
    }
    .nav__list-logo::before {
        right: 0;
        margin: 0 auto
    }
    .nav__list-logo .logo {
        opacity: 0;
        visibility: hidden
    }
}

.nav__list-menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-right: 3.3125rem
}

@media (max-width:calc(62em - 0.0625em)) {
    .nav__list-menu {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        margin-right: 0
    }
}

.nav__list-content {
    display: none;
    width: 30%
}

.nav__item:not(:last-child) {
    margin-right: 3.9375rem
}

@media (max-width:calc(62em - 0.0625em)) {
    .nav__list-content {
        display: block
    }
    .nav__item:not(:last-child) {
        margin-right: 0;
        margin-bottom: 30px
    }
}

.nav__link {
    font-weight: 400;
    font-size: 13px;
    color: var(--color-link);
    -webkit-transition: color .2s ease-in-out;
    -o-transition: color .2s ease-in-out;
    transition: color .2s ease-in-out
}

.nav__link:focus {
    color: var(--color-white)
}

.nav__link:hover {
    color: var(--color-main)
}

.nav__link:active {
    color: var(--color-white)
}

.nav__link:active::before {
    content: "";
    position: absolute;
    left: -100%;
    top: 50%;
    display: none;
    width: 4px;
    height: 4px;
    background-color: var(--color-white)
}

@media (max-width:calc(62em - 0.0625em)) {
    .nav__link:active::before {
        display: block
    }
    .nav__link {
        font-size: 22px;
        line-height: 27px;
        color: var(--color-link)
    }
}

.nav__link--active {
    position: relative;
    color: var(--color-white)
}

.nav__link--active::before {
    content: "";
    position: absolute;
    display: none;
    left: -15px;
    top: 50%;
    border-radius: 50%;
    width: 5px;
    height: 5px;
    background-color: var(--color-white);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

.nav__btn {
    display: inline-block
}

.nav__link-desktop {
    display: block;
    font-weight: inherit;
    white-space: nowrap
}

.nav__link-mobile {
    display: none;
    font-weight: inherit
}

@media (max-width:calc(62em - 0.0625em)) {
    .nav__link--active::before {
        display: block
    }
    .nav__link--active {
        color: var(--color-white)
    }
    .nav__link-desktop {
        display: none
    }
    .nav__link-mobile {
        display: block
    }
}

.nav__contact {
    color: var(--color-link)
}

@media (max-width:calc(29.6875em - 0.0625em)) {
    .nav__list-menu {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }
    .nav__item:not(:last-child) {
        margin-bottom: 1.875rem
    }
    .nav__contact {
        text-align: center
    }
}

.nav__contact-item {
    font-size: 13px
}

.nav__contact-item:last-of-type {
    margin-top: 70px
}

.nav__contact-item:not(:last-child) {
    margin-bottom: 1.875rem
}

.burger {
    --burger-width: 15px;
    --burger-height: 12px;
    --burger-line-height: 2px;
    position: relative;
    border: none;
    padding: 0;
    width: var(--burger-width);
    height: var(--burger-height);
    color: var(--color-white);
    background-color: transparent;
    cursor: pointer;
    display: none;
    margin-left: 20px
}

.burger::after,
.burger::before {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: var(--burger-line-height);
    background-color: currentColor;
    -webkit-transition: top .3s ease-in-out, -webkit-transform .3s ease-in-out;
    transition: transform .3s ease-in-out, top .3s ease-in-out, -webkit-transform .3s ease-in-out;
    -o-transition: transform .3s ease-in-out, top .3s ease-in-out
}

.burger::before {
    top: 0
}

.burger::after {
    top: calc(100% - var(--burger-line-height))
}

.burger__line {
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%;
    height: var(--burger-line-height);
    background-color: currentColor;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: -webkit-transform .3s ease-in-out;
    transition: transform .3s ease-in-out;
    -o-transition: transform .3s ease-in-out;
    transition: transform .3s ease-in-out, -webkit-transform .3s ease-in-out
}

.burger--active::before {
    top: 50%;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transition: top .3s ease-in-out, -webkit-transform .3s ease-in-out;
    transition: transform .3s ease-in-out, top .3s ease-in-out, -webkit-transform .3s ease-in-out;
    -o-transition: transform .3s ease-in-out, top .3s ease-in-out
}

.burger--active::after {
    top: 50%;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-transition: top .3s ease-in-out, -webkit-transform .3s ease-in-out;
    transition: transform .3s ease-in-out, top .3s ease-in-out, -webkit-transform .3s ease-in-out;
    -o-transition: transform .3s ease-in-out, top .3s ease-in-out
}

.burger--active .burger__line {
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    -webkit-transition: -webkit-transform .3s ease-in-out;
    transition: transform .3s ease-in-out;
    -o-transition: transform .3s ease-in-out;
    transition: transform .3s ease-in-out, -webkit-transform .3s ease-in-out
}

@media (max-width:calc(62em - 0.0625em)) {
    .burger {
        display: block
    }
}

.side-nav {
    counter-reset: heading;
    position: fixed;
    right: 63px;
    top: 50%;
    z-index: 1;
    mix-blend-mode: difference;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

.side-nav__item {
    margin-bottom: 6px;
    text-align: end
}

.side-nav__item:last-child .side-nav__dots::before {
    display: none
}

.side-nav__item:last-child .side-nav__link.current {
    margin-bottom: 0
}

.side-nav__title {
    margin-right: 16px;
    font-weight: 500;
    font-style: normal;
    font-size: 14px;
    line-height: 1.5;
    text-transform: capitalize;
    opacity: 0;
    -webkit-transition: opacity .1s ease-in, visibility .2s;
    -o-transition: opacity .1s ease-in, visibility .2s;
    transition: opacity .1s ease-in, visibility .2s
}

.side-nav__dots {
    position: relative;
    display: inline-block;
    border-radius: var(--radius-round);
    width: 7px;
    height: 7px;
    background-color: var(--color-white)
}

.side-nav__dots::before {
    content: "";
    position: absolute;
    left: 3px;
    top: 28px;
    width: 1px;
    height: 32px;
    background-color: var(--color-white);
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity .1s ease-in, visibility .2s;
    -o-transition: opacity .1s ease-in, visibility .2s;
    transition: opacity .1s ease-in, visibility .2s
}

.side-nav__dots::after {
    counter-increment: heading;
    content: counter(heading, decimal-leading-zero);
    position: absolute;
    left: -12px;
    top: -48px;
    font-weight: 700;
    font-size: 28px;
    line-height: 1;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity .1s ease-in, visibility .2s;
    -o-transition: opacity .1s ease-in, visibility .2s;
    transition: opacity .1s ease-in, visibility .2s
}

.side-nav__link {
    display: block
}

.side-nav__link.current {
    margin-bottom: 50px;
    padding-top: 55px;
    -webkit-animation: .5s ease-in-out 75ms both active;
    animation: .5s ease-in-out 75ms both active
}

.side-nav__link.current .side-nav__dots::after,
.side-nav__link.current .side-nav__dots::before {
    opacity: 1;
    visibility: visible;
    -webkit-animation: .5s ease-in-out 75ms both active;
    animation: .5s ease-in-out 75ms both active
}

.side-nav__link.current .side-nav__title {
    visibility: visible;
    opacity: 1;
    -webkit-animation: .5s ease-in-out 75ms both active;
    animation: .5s ease-in-out 75ms both active
}

@media (max-width:1080px) {
    .side-nav {
        display: none
    }
}

.side-nav__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

@-webkit-keyframes active {
    from {
        opacity: 0
    }
    100% {
        opacity: 1
    }
}

@keyframes active {
    from {
        opacity: 0
    }
    100% {
        opacity: 1
    }
}

.btn {
    display: block;
    border: 1px solid var(--color-white);
    border-radius: var(--radius-main);
    padding: 10px 27px;
    font-size: 13px;
    color: var(--color-white)
}

.content {
    position: relative;
    width: 100%;
    font-size: 13px
}

.content__list {
    max-width: 420px
}

.content__list--reverse .content__item::before {
    background-color: var(--color-dark)
}

.content__item {
    position: relative;
    padding-left: 15px;
    font-weight: 400;
    font-size: 15px
}

.content__item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 10px;
    width: 2px;
    height: 2px;
    background-color: var(--color-white)
}

.content>p:not(:last-child) {
    margin-bottom: 30px
}

.title {
    font-size: calc(20px + 10 * ((100vw - 320px)/ 1600));
    position: relative;
    font-weight: 700;
    line-height: 60px
}

.title--underline::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 105px;
    height: 2px;
    background-color: var(--color-main)
}

.title--sec {
    margin-bottom: 10px;
    font-size: 27px
}

.hero {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    padding-top: 12.5rem;
    padding-bottom: 10.3125rem
}

.hero::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 76%;
    max-width: calc(100% - 41.25rem);
    background-color: var(--color-black);
    opacity: .1
}

.hero__inner {
    position: relative;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 2fr 1.2fr;
    grid-template-columns: 2fr 1.2fr;
    margin: 0 auto;
    padding-top: 80px;
    width: 100%
}

@media (max-width:calc(48em - 0.0625em)) {
    .hero::before {
        display: none
    }
    .hero__inner {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
        padding-top: 30px
    }
}

.hero__content {
    max-width: calc(400px + 306 * ((100vw - 320px)/ 1600));
    justify-self: flex-end;
    padding-top: 20px;
    width: 100%;
    max-width: 705px
}

.hero__content p {
    max-width: 615px
}

.hero__content p:not(:last-of-type) {
    margin-bottom: 27px
}

.hero__content .animation:first-child {
    margin-bottom: 35px
}

@media (max-width:calc(80em - 0.0625em)) {
    .hero__content {
        max-width: 615px
    }
}

@media (max-width:calc(48em - 0.0625em)) {
    .hero__content {
        z-index: 2;
        justify-self: flex-start
    }
}

.hero__text.animation {
    margin-bottom: 30px
}

.hero__animation {
    max-width: calc(200px + 266 * ((100vw - 320px)/ 1600));
    z-index: 1;
    width: 100%;
    -webkit-transform: translate(13px, -15px);
    -ms-transform: translate(13px, -15px);
    transform: translate(13px, -15px);
    -webkit-animation: 2s ease-in-out 3 alternate forwards hero-circle;
    animation: 2s ease-in-out 3 alternate forwards hero-circle
}

@media (max-width:calc(90.0625em - 0.0625em)) {
    .hero__animation {
        max-width: 350px
    }
}

.hero__btn,
.hero__hero {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

.hero__title {
    font-size: calc(20px + 20 * ((100vw - 320px)/ 1600));
    font-weight: 700;
    line-height: 1.5
}

@media (max-width:calc(48em - 0.0625em)) {
    .hero__animation {
        position: absolute;
        right: -10%;
        bottom: -26%;
        -webkit-animation-name: hero-circle-mobile;
        animation-name: hero-circle-mobile
    }
    .hero {
        padding: 70px 0
    }
}

@-webkit-keyframes hero-circle {
    from {
        -webkit-transform: scale(.7);
        transform: scale(.7)
    }
    to {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

@keyframes hero-circle {
    from {
        -webkit-transform: scale(.7);
        transform: scale(.7)
    }
    to {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

@-webkit-keyframes hero-circle-mobile {
    from {
        -webkit-transform: scale(.4);
        transform: scale(.4)
    }
    to {
        -webkit-transform: scale(.7);
        transform: scale(.7)
    }
}

@keyframes hero-circle-mobile {
    from {
        -webkit-transform: scale(.4);
        transform: scale(.4)
    }
    to {
        -webkit-transform: scale(.7);
        transform: scale(.7)
    }
}

.solution {
    padding: 12.5rem 0;
    color: var(--color-dark);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat
}

.solution__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    margin: 0 auto;
    padding: 0 15px;
    max-width: 1320px
}

.solution__inner--lifecircle.solution__inner {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    margin-left: 23.75rem;
    padding: 0;
    max-width: 100%
}

@media (max-width:calc(90.0625em - 0.0625em)) {
    .solution__inner--lifecircle.solution__inner {
        margin-left: 13.75rem
    }
    .solution__content {
        padding-top: 30px
    }
}

@media (max-width:calc(80em - 0.0625em)) {
    .solution__inner--lifecircle.solution__inner {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }
    .solution__inner--post .solution__content {
        max-width: 550px
    }
}

@media (max-width:calc(62em - 0.0625em)) {
    .solution__inner--lifecircle.solution__inner {
        margin-left: 4.375rem
    }
}

.solution__inner--post {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.solution__inner--post .solution__animation {
    margin-right: 6.25rem
}

@media (max-width:calc(48em - 0.0625em)) {
    .solution__inner--lifecircle.solution__inner {
        margin-left: 0;
        padding: 0 15px
    }
    .solution__inner--post .solution__animation {
        margin: 0 auto;
        width: 40%
    }
}

@media (max-width:calc(36em - 0.0625em)) {
    .solution__inner--post .solution__animation {
        width: 60%
    }
}

.solution__inner--post .solution__content {
    padding-left: 4.375rem
}

.solution__inner--post.solution__inner {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.solution__inner--form {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    max-width: 1040px
}

@media (max-width:calc(80em - 0.0625em)) {
    .solution__inner {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-pack: distribute;
        justify-content: space-around
    }
    .solution__content--lifecircle.solution__content {
        max-width: 550px
    }
}

@media (max-width:calc(48em - 0.0625em)) {
    .solution__inner--post .solution__content {
        padding-left: 0
    }
    .solution__inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }
}

.solution__content {
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center;
    padding-left: 5px;
    max-width: 480px
}

.solution__content .animation {
    margin-bottom: 3.125rem
}

.solution__content .animation p {
    line-height: 1.5
}

.solution__content .animation p:not(:last-child) {
    margin-bottom: 30px
}

.solution__content .animation:last-child {
    margin-bottom: 0
}

.solution__content--form.solution__content {
    -ms-flex-item-align: start;
    align-self: flex-start;
    margin-right: 7.5rem;
    padding-top: 0;
    max-width: 355px
}

@media (max-width:calc(62em - 0.0625em)) {
    .solution__content--form.solution__content {
        padding: 0;
        max-width: 270px
    }
    .solution__content {
        padding: 30px 0
    }
}

@media (max-width:calc(48em - 0.0625em)) {
    .solution__content--form.solution__content {
        max-width: 100%
    }
    .solution__content {
        margin-bottom: 30px;
        padding: 0;
        max-width: 100%
    }
}

.solution__title {
    padding-bottom: 30px
}

.solution__title--form {
    margin-bottom: 0;
    padding-bottom: 0;
    font-weight: 700;
    font-size: 40px;
    line-height: 1.5
}

.solution__animation {
    position: relative;
    margin-right: 30px;
    max-width: 740px;
    -webkit-filter: drop-shadow(0 20px 40px rgba(0, 0, 0, .1));
    filter: drop-shadow(0 20px 40px rgba(0, 0, 0, .1))
}

.solution__animation svg {
    width: 100%;
    height: auto
}

.solution__animation--diagram {
    opacity: 0;
    -webkit-transition: opacity .3s;
    -o-transition: opacity .3s;
    transition: opacity .3s;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

.solution__animation--diagram.active {
    opacity: 1
}

.solution__headtitle {
    font-size: calc(23px + 17 * ((100vw - 320px)/ 1600));
    font-weight: 700;
    color: var(--color-main)
}

.solution__circle-picture {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.solution__circle-picture svg {
    height: 100%
}

.solution__animation-circle.animation {
    margin-bottom: 3.4375rem
}

.solution--lifecircle {
    padding: 0
}

.solution--lifecircle .solution__circle {
    position: relative;
    margin-right: 70px;
    padding: 9.375rem 4.375rem;
    width: 100%;
    max-width: 43.75rem;
    text-align: center
}

.solution--lifecircle .solution__circle::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: var(--color-side);
    opacity: .1
}

@media (max-width:calc(62em - 0.0625em)) {
    .solution--lifecircle .solution__circle {
        margin-right: 25px
    }
}

@media (max-width:calc(48em - 0.0625em)) {
    .solution__animation {
        margin-right: 0;
        max-width: 100%
    }
    .solution--lifecircle .solution__circle::before {
        display: none
    }
    .solution--lifecircle .solution__circle {
        margin: 0 auto;
        padding: 0;
        width: 70%
    }
}

.solution--lifecircle .solution__image {
    width: 100%;
    max-width: 370px
}

.solution--section {
    padding: 15.625rem 0
}

.solution--form {
    padding-top: 14.375rem;
    padding-bottom: 6.875rem
}

@media (max-width:calc(48em - 0.0625em)) {
    .solution {
        padding: 70px 0
    }
    .terminal__inner::before {
        display: none
    }
}

.terminal {
    overflow: hidden;
    padding-top: var(--height-terminal-top);
    padding-bottom: var(--height-terminal-bottom)
}

.terminal__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    margin-left: 23.75rem;
    padding: 5.625rem 0 4.0625rem 6.25rem;
    width: 100%
}

.terminal__inner::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: var(--color-side);
    opacity: .1
}

@media (max-width:calc(90.0625em - 0.0625em)) {
    .terminal__inner {
        margin-left: 13.75rem
    }
}

@media (max-width:calc(62em - 0.0625em)) {
    .terminal__inner {
        margin-left: 4.375rem
    }
}

@media (max-width:calc(48em - 0.0625em)) {
    .terminal__inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-left: 0;
        padding: 0 15px
    }
}

.terminal__content {
    margin-right: 6.875rem;
    padding-top: 6px;
    padding-left: 12px;
    width: 100%;
    max-width: 515px
}

@media (max-width:calc(80em - 0.0625em)) {
    .terminal__content {
        max-width: 400px
    }
}

@media (max-width:calc(62em - 0.0625em)) {
    .terminal__content {
        max-width: 330px
    }
}

@media (max-width:calc(48em - 0.0625em)) {
    .terminal__content {
        margin: 0;
        padding: 0;
        max-width: 100%
    }
}

.terminal__title {
    margin-bottom: 0
}

.terminal__title.animation {
    margin-bottom: 10px
}

.terminal__text {
    margin-bottom: 0
}

.terminal__text p:not(:last-child) {
    margin-bottom: 26px
}

.terminal__animation {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    max-width: 480px
}

.terminal__animation svg {
    width: 100%
}

.terminal__animation--trade {
    overflow: hidden;
    max-width: 480px;
    -webkit-transform: translate(-28px, 36px);
    -ms-transform: translate(-28px, 36px);
    transform: translate(-28px, 36px)
}

.terminal__animation--trade.active .terminal__animation-image {
    -webkit-animation: 2s ease-in graph-right;
    animation: 2s ease-in graph-right
}

@media (max-width:calc(80em - 0.0625em)) {
    .terminal__animation--trade {
        -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center;
        width: 40%;
        -webkit-transform: translate(0);
        -ms-transform: translate(0);
        transform: translate(0)
    }
}

@media (max-width:calc(62em - 0.0625em)) {
    .terminal__animation--trade {
        max-width: 330px
    }
    .terminal__animation {
        -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center
    }
}

@-webkit-keyframes graph-right {
    from {
        -webkit-transform: translateX(100%);
        transform: translateX(100%)
    }
    to {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@keyframes graph-right {
    from {
        -webkit-transform: translateX(100%);
        transform: translateX(100%)
    }
    to {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@media (max-width:calc(80em - 0.0625em)) {
    .terminal__animation {
        max-width: 300px
    }
}

@media (max-width:calc(48em - 0.0625em)) {
    .terminal__animation--trade {
        width: 80%
    }
    .terminal__animation {
        max-width: 100%
    }
}

@media (max-width:calc(36em - 0.0625em)) {
    .terminal__animation {
        max-width: 80%
    }
}

.terminal__animation-image {
    width: 480px;
    max-height: 215px
}

.terminal.side--trade {
    padding: 16.25rem 0 15.625rem
}

.terminal.side--trade .terminal__inner {
    padding: 1.5625rem 0 4.6875rem 6.25rem
}

.terminal.side--trade .terminal__content .animation {
    margin-bottom: 20px
}

.terminal.side--trade .terminal__content .title {
    margin-bottom: 0
}

.terminal.side--trade .terminal__content p {
    width: 100%;
    max-width: 425px
}

.terminal.side--trade .terminal__content p:not(:last-child) {
    margin-bottom: 25px
}

@media (max-width:calc(48em - 0.0625em)) {
    .terminal.side--trade .terminal__inner {
        padding: 0
    }
    .terminal.side--trade .terminal__content p {
        max-width: 100%
    }
    .terminal.side--trade .terminal__content {
        margin: 0 auto 30px;
        width: 85%
    }
    .terminal.side--trade {
        padding: 70px 0
    }
}

.terminal--about {
    padding-top: calc(var(--height-terminal-top)/ 1.5);
    padding-bottom: var(--height-terminal-bottom)
}

@media (max-width:calc(90.0625em - 0.0625em)) {
    .terminal {
        padding-top: calc(var(--height-terminal-top)/ 3);
        padding-bottom: calc(var(--height-terminal-bottom)/ 2)
    }
}

.about__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    padding-left: 13px;
    width: 100%;
    max-width: 1090px
}

.about__list::before {
    content: "";
    position: absolute;
    top: -3px;
    width: 100%;
    height: 2px;
    background-color: var(--color-white);
    opacity: .3
}

.about__list .animation {
    margin-bottom: 0;
    width: 100%
}

.about__list .animation:not(:last-child) {
    margin-right: 50px
}

@media (max-width:calc(48em - 0.0625em)) {
    .about__list {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 0
    }
}

.about__item {
    position: relative;
    padding-top: 56px
}

.about__item:not(:last-child) {
    margin-right: 5rem
}

@media (max-width:calc(48em - 0.0625em)) {
    .about__item:not(:last-child) {
        margin-right: 1.875rem
    }
}

@media (max-width:calc(36em - 0.0625em)) {
    .about__item:not(:last-child),
    .about__list .animation:not(:last-child) {
        margin-right: 0;
        margin-bottom: 30px
    }
    .about__item {
        padding-top: 25px
    }
}

.about__title {
    margin-bottom: 25px;
    font-weight: 700;
    font-size: 15px;
    line-height: 2
}

.about__text b {
    font-weight: 700
}

.about__text a {
    font-weight: 700;
    text-decoration: underline
}

.about .terminal__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-left: 15.625rem;
    padding-top: 56px;
    padding-bottom: 40px;
    padding-left: 17.5rem
}

@media (max-width:calc(101.25em - 0.0625em)) {
    .about__list {
        max-width: 990px
    }
    .about .terminal__inner {
        padding-left: 12.5rem
    }
}

@media (max-width:calc(90.0625em - 0.0625em)) {
    .about .terminal__inner {
        margin-left: 9.375rem;
        padding-left: 8.125rem
    }
}

.about .terminal__content {
    max-width: 1090px
}

.about .terminal__content .animation:first-child {
    margin-bottom: 10px
}

.about .terminal__content .animation:last-child {
    margin-bottom: 57px
}

@media (max-width:calc(101.25em - 0.0625em)) {
    .about .terminal__content {
        max-width: 990px
    }
}

@media (max-width:calc(80em - 0.0625em)) {
    .about__list {
        max-width: 890px
    }
    .about .terminal__inner {
        margin-left: 4.375rem;
        padding-left: 4.375rem
    }
    .about .terminal__content {
        max-width: 890px
    }
}

.about p {
    font-size: 15px
}

.form {
    padding-top: 17px;
    width: 100%;
    max-width: 545px
}

.form__areas {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
    margin-bottom: 15px;
    gap: 28px 23px
}

@media (max-width:calc(62em - 0.0625em)) {
    .about .terminal__inner {
        margin-left: 0;
        padding: 0 20px
    }
    .form__areas {
        gap: 20px 23px
    }
}

.form__label {
    display: block;
    margin-bottom: 15px;
    font-size: 11px;
    color: var(--color-dark)
}

.form__input--textarea {
    min-height: 86px;
    resize: none
}

.form__inner {
    position: relative
}

.form__inner--message {
    grid-column: 1/2 span
}

@media (max-width:calc(29.6875em - 0.0625em)) {
    .form__areas {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr
    }
    .form__inner--message {
        grid-column: auto
    }
}

.form__terms {
    position: relative
}

.form__btn {
    grid-column: 1/2 span;
    padding: 12px 0;
    width: 100%;
    color: var(--color-white);
    background-color: var(--color-link-400)
}

.form__error {
    position: relative
}

.form__error .form__input {
    border-color: var(--color-red)
}

.form__error .form__error-text {
    color: var(--color-red);
    opacity: 1;
    visibility: visible
}

.form__success {
    position: relative
}

.form__success .form__input {
    border-color: green
}

.form__success .form__error-text {
    opacity: 0;
    visibility: hidden
}

.form__error-text {
    position: absolute;
    left: 0;
    bottom: -15px;
    font-size: 10px;
    opacity: 0;
    visibility: hidden
}

.form .custom-checkbox {
    position: relative;
    display: block;
    grid-column: 1/2 span;
    margin-bottom: 22px;
    color: var(--color-dark)
}

.form .custom-checkbox__field {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: absolute
}

.form .custom-checkbox__content {
    position: relative;
    padding-left: 25px;
    color: var(--color-dark);
    font-size: 11px;
    cursor: pointer
}

.form .custom-checkbox__content::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    border: 1px solid var(--color-main);
    border-radius: var(--radius-main);
    width: 13px;
    height: 13px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.form .custom-checkbox__content::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg version='1.1' id='fi_32282' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='405.272px' height='405.272px' viewBox='0 0 405.272 405.272' style='enable-background:new 0 0 405.272 405.272;' xml:space='preserve'%3E%3Cg%3E%3Cpath d='M393.401,124.425L179.603,338.208c-15.832,15.835-41.514,15.835-57.361,0L11.878,227.836 c-15.838-15.835-15.838-41.52,0-57.358c15.841-15.841,41.521-15.841,57.355-0.006l81.698,81.699L336.037,67.064 c15.841-15.841,41.523-15.829,57.358,0C409.23,82.902,409.23,108.578,393.401,124.425z'%3E%3C/path%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg version='1.1' id='fi_32282' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='405.272px' height='405.272px' viewBox='0 0 405.272 405.272' style='enable-background:new 0 0 405.272 405.272;' xml:space='preserve'%3E%3Cg%3E%3Cpath d='M393.401,124.425L179.603,338.208c-15.832,15.835-41.514,15.835-57.361,0L11.878,227.836 c-15.838-15.835-15.838-41.52,0-57.358c15.841-15.841,41.521-15.841,57.355-0.006l81.698,81.699L336.037,67.064 c15.841-15.841,41.523-15.829,57.358,0C409.23,82.902,409.23,108.578,393.401,124.425z'%3E%3C/path%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3C/svg%3E");
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 9px 9px;
    mask-size: 9px 9px;
    width: 13px;
    height: 13px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: var(--color-white);
    opacity: 0;
    -webkit-transition: opacity .3s ease-in-out;
    -o-transition: opacity .3s ease-in-out;
    transition: opacity .3s ease-in-out
}

.form .custom-checkbox .link {
    color: var(--color-link-400)
}

.form .animation {
    margin-bottom: 0;
    padding-left: 4px
}

@media (max-width:calc(48em - 0.0625em)) {
    .form {
        margin: 0 auto;
        padding-top: 0;
        max-width: 100%
    }
}

.footer {
    border-top: 1px solid var(--color-gray-400);
    padding: 30px 0 20px;
    color: var(--color-gray-400)
}

.footer__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 1000px
}

@media (max-width:calc(62em - 0.0625em)) {
    .footer__inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }
    .footer__logo {
        margin-bottom: 25px
    }
}

@media (max-width:calc(48em - 0.0625em)) {
    .footer__inner {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
    .footer__phone.footer__item::before {
        display: none
    }
}

.footer__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%;
    max-width: 620px
}

@media (max-width:calc(36em - 0.0625em)) {
    .footer__list {
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: (1fr)[2];
        grid-template-columns: repeat(2, 1fr);
        max-width: 320px;
        gap: 10px 24px
    }
}

@media (max-width:calc(21.5625em - 0.0625em)) {
    .footer__list {
        gap: 15px
    }
}

.footer__item:not(:last-child) {
    margin-right: 33px
}

@media (max-width:calc(62em - 0.0625em)) {
    .footer__list {
        margin-bottom: 25px
    }
    .footer__item:not(:last-child) {
        margin-right: 20px
    }
}

@media (max-width:calc(36em - 0.0625em)) {
    .footer__item:not(:last-child) {
        margin-right: 0
    }
}

.footer__link {
    font-weight: 400;
    font-size: 13px;
    line-height: 1.5
}

.footer__phone.footer__item {
    position: relative;
    margin-right: 70px
}

.footer__phone.footer__item::before {
    content: "";
    position: absolute;
    right: -35px;
    top: -2px;
    width: 1px;
    height: 20px;
    background-color: var(--color-gray-400)
}

@media (max-width:calc(62em - 0.0625em)) {
    .footer__phone.footer__item::before {
        right: -30%
    }
    .footer__phone.footer__item {
        margin-right: 50px
    }
}

@media (max-width:calc(48em - 0.0625em)) {
    .footer__phone.footer__item {
        margin-right: 20px
    }
}

.footer__copy {
    padding-left: 10px;
    font-weight: 400;
    font-size: 13px;
    line-height: 20px
}

@media (max-width:calc(62em - 0.0625em)) {
    .footer__copy {
        margin: 0 auto;
        padding: 0
    }
}

@media (max-width:calc(36em - 0.0625em)) {
    .footer__phone.footer__item {
        margin-right: 0
    }
    .footer__copy {
        -ms-flex-item-align: end;
        -ms-grid-row-align: end;
        align-self: end;
        padding-left: 0
    }
}

.footer.animation {
    margin-bottom: 0
}

.animation {
    position: relative;
    overflow-x: hidden;
    margin-bottom: 4.6875rem
}

.animation::after,
.animation::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 100%;
    height: 100%;
    -webkit-transform: translateX(-101%);
    -ms-transform: translateX(-101%);
    transform: translateX(-101%)
}

.animation::before {
    z-index: 1;
    background-color: var(--color-white);
    -webkit-transition: 1s ease-in-out;
    -o-transition: 1s ease-in-out;
    transition: 1s ease-in-out
}

.animation::before .revealed {
    -webkit-transform: translate(101%, 0) translate3d(0, 0, 0);
    transform: translate(101%, 0) translate3d(0, 0, 0)
}

.animation::after {
    background-color: var(--color-animation-blue);
    -webkit-transition: .7s ease-in-out;
    -o-transition: .7s ease-in-out;
    transition: .7s ease-in-out
}

.animation>* {
    opacity: 0;
    -webkit-transition: opacity .5s .4s;
    -o-transition: opacity .5s .4s;
    transition: opacity .5s .4s
}

.animation.revealed::after,
.animation.revealed::before {
    -webkit-transform: translate(101%, 0) translate3d(0, 0, 0);
    transform: translate(101%, 0) translate3d(0, 0, 0)
}

.animation.revealed>* {
    opacity: 1
}

.animation--reverse::after,
.animation--reverse::before {
    -webkit-transform: translateX(101%);
    -ms-transform: translateX(101%);
    transform: translateX(101%)
}

.animation--reverse::before {
    z-index: 1;
    background-color: var(--color-side)
}

.animation--reverse::after {
    background-color: var(--color-animation-ligth)
}

.animation--reverse.revealed::after,
.animation--reverse.revealed::before {
    -webkit-transform: translate(-101%, 0) translate3d(0, 0, 0);
    transform: translate(-101%, 0) translate3d(0, 0, 0)
}

@media (max-width:calc(48em - 0.0625em)) {
    .animation {
        margin-bottom: 0
    }
}

.hexagon--graph {
    -webkit-animation: .3s ease-in hexagon;
    animation: .3s ease-in hexagon
}

.hexagon--revert {
    -webkit-animation: .5s ease-in hexagon;
    animation: .5s ease-in hexagon
}

.hexagon--case {
    -webkit-animation: .7s ease-in hexagon;
    animation: .7s ease-in hexagon
}

.hexagon--time {
    -webkit-animation: .9s ease-in hexagon;
    animation: .9s ease-in hexagon
}

.hexagon--first {
    -webkit-animation: 1.1s ease-in hexagon-fill;
    animation: 1.1s ease-in hexagon-fill
}

.hexagon--second {
    -webkit-animation: 1.3s ease-in hexagon-fill;
    animation: 1.3s ease-in hexagon-fill
}

.hexagon--third {
    -webkit-animation: 1.5s ease-in hexagon-fill;
    animation: 1.5s ease-in hexagon-fill
}

.hexagon--fourth {
    -webkit-animation: 1.7s ease-in hexagon-fill;
    animation: 1.7s ease-in hexagon-fill
}

.hexagon--six {
    -webkit-animation: 1.9s ease-in hexagon-fill;
    animation: 1.9s ease-in hexagon-fill
}

@-webkit-keyframes hexagon {
    from {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

@keyframes hexagon {
    from {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

@-webkit-keyframes hexagon-fill {
    from {
        opacity: 0
    }
    to {
        opacity: .1
    }
}

@keyframes hexagon-fill {
    from {
        opacity: 0
    }
    to {
        opacity: .1
    }
}

.terminal__animation svg path,
.terminal__animation svg rect {
    fill: transparent
}

.terminal__animation svg .svg-elem-1 {
    -webkit-transition: fill .3s cubic-bezier(.47, 0, .745, .715) .8s;
    -o-transition: fill .3s cubic-bezier(.47, 0, .745, .715) .8s;
    transition: fill .3s cubic-bezier(.47, 0, .745, .715) .8s
}

.terminal__animation svg.active .svg-elem-1 {
    fill: #7d80c9
}

.terminal__animation svg .svg-elem-2 {
    -webkit-transition: fill .3s cubic-bezier(.47, 0, .745, .715) .9s;
    -o-transition: fill .3s cubic-bezier(.47, 0, .745, .715) .9s;
    transition: fill .3s cubic-bezier(.47, 0, .745, .715) .9s
}

.terminal__animation svg.active .svg-elem-2 {
    fill: #8285cf
}

.terminal__animation svg .svg-elem-3 {
    -webkit-transition: fill .3s cubic-bezier(.47, 0, .745, .715) 1s;
    -o-transition: fill .3s cubic-bezier(.47, 0, .745, .715) 1s;
    transition: fill .3s cubic-bezier(.47, 0, .745, .715) 1s
}

.terminal__animation svg.active .svg-elem-3 {
    fill: #888bd6
}

.terminal__animation svg .svg-elem-4 {
    -webkit-transition: fill .3s cubic-bezier(.47, 0, .745, .715) 1.1s;
    -o-transition: fill .3s cubic-bezier(.47, 0, .745, .715) 1.1s;
    transition: fill .3s cubic-bezier(.47, 0, .745, .715) 1.1s
}

.terminal__animation svg.active .svg-elem-4 {
    fill: #8e91db
}

.terminal__animation svg .svg-elem-5 {
    -webkit-transition: fill .3s cubic-bezier(.47, 0, .745, .715) 1.2s;
    -o-transition: fill .3s cubic-bezier(.47, 0, .745, .715) 1.2s;
    transition: fill .3s cubic-bezier(.47, 0, .745, .715) 1.2s
}

.terminal__animation svg.active .svg-elem-5 {
    fill: #9596e1
}

.terminal__animation svg .svg-elem-6 {
    -webkit-transition: fill .3s cubic-bezier(.47, 0, .745, .715) 1.3s;
    -o-transition: fill .3s cubic-bezier(.47, 0, .745, .715) 1.3s;
    transition: fill .3s cubic-bezier(.47, 0, .745, .715) 1.3s
}

.terminal__animation svg.active .svg-elem-6 {
    fill: #9998e4
}

.terminal__animation svg .svg-elem-7 {
    -webkit-transition: fill .3s cubic-bezier(.47, 0, .745, .715) 1.4s;
    -o-transition: fill .3s cubic-bezier(.47, 0, .745, .715) 1.4s;
    transition: fill .3s cubic-bezier(.47, 0, .745, .715) 1.4s
}

.terminal__animation svg.active .svg-elem-7 {
    fill: #a09fe9
}

.terminal__animation svg .svg-elem-8 {
    -webkit-transition: fill .3s cubic-bezier(.47, 0, .745, .715) 1.5s;
    -o-transition: fill .3s cubic-bezier(.47, 0, .745, .715) 1.5s;
    transition: fill .3s cubic-bezier(.47, 0, .745, .715) 1.5s
}

.terminal__animation svg.active .svg-elem-8 {
    fill: #a5a3ec
}

.terminal__animation svg .svg-elem-9 {
    -webkit-transition: fill .3s cubic-bezier(.47, 0, .745, .715) 1.6s;
    -o-transition: fill .3s cubic-bezier(.47, 0, .745, .715) 1.6s;
    transition: fill .3s cubic-bezier(.47, 0, .745, .715) 1.6s
}

.terminal__animation svg.active .svg-elem-9 {
    fill: #a9a6ee
}

.terminal__animation svg .svg-elem-10 {
    -webkit-transition: fill .3s cubic-bezier(.47, 0, .745, .715) 1.7s;
    -o-transition: fill .3s cubic-bezier(.47, 0, .745, .715) 1.7s;
    transition: fill .3s cubic-bezier(.47, 0, .745, .715) 1.7s
}

.terminal__animation svg.active .svg-elem-10 {
    fill: #b1aef4
}

.terminal__animation svg .svg-elem-11 {
    -webkit-transition: fill .3s cubic-bezier(.47, 0, .745, .715) 1.8s;
    -o-transition: fill .3s cubic-bezier(.47, 0, .745, .715) 1.8s;
    transition: fill .3s cubic-bezier(.47, 0, .745, .715) 1.8s
}

.terminal__animation svg.active .svg-elem-11 {
    fill: #bab7f9
}

.terminal__animation svg .svg-elem-12 {
    -webkit-transition: fill .3s cubic-bezier(.47, 0, .745, .715) 1.9s;
    -o-transition: fill .3s cubic-bezier(.47, 0, .745, .715) 1.9s;
    transition: fill .3s cubic-bezier(.47, 0, .745, .715) 1.9s
}

.terminal__animation svg.active .svg-elem-12 {
    fill: #c3c0ff
}

.solution__animation--post.active .svg-elem-1 {
    -webkit-animation: .1s linear .1s both animate-svg-fill-1;
    animation: .1s linear .1s both animate-svg-fill-1
}

.solution__animation--post.active .svg-elem-2 {
    -webkit-animation: .1s linear .2s both animate-svg-fill-1;
    animation: .1s linear .2s both animate-svg-fill-1
}

.solution__animation--post.active .svg-elem-3 {
    -webkit-animation: .1s linear .3s both animate-svg-fill-1;
    animation: .1s linear .3s both animate-svg-fill-1
}

.solution__animation--post.active .svg-elem-4 {
    -webkit-animation: .1s linear .4s both animate-svg-fill-1;
    animation: .1s linear .4s both animate-svg-fill-1
}

.solution__animation--post.active .svg-elem-5 {
    -webkit-animation: .1s linear .5s both animate-svg-fill-5;
    animation: .1s linear .5s both animate-svg-fill-5
}

.solution__animation--post.active .svg-elem-6 {
    -webkit-animation: .1s linear .6s both animate-svg-fill-5;
    animation: .1s linear .6s both animate-svg-fill-5
}

.solution__animation--post.active .svg-elem-7 {
    -webkit-animation: .1s linear .7s both animate-svg-fill-5;
    animation: .1s linear .7s both animate-svg-fill-5
}

.solution__animation--post.active .svg-elem-8 {
    -webkit-animation: .1s linear .8s both animate-svg-fill-5;
    animation: .1s linear .8s both animate-svg-fill-5
}

.solution__animation--post.active .svg-elem-9 {
    -webkit-animation: .1s linear .9s both animate-svg-fill-5;
    animation: .1s linear .9s both animate-svg-fill-5
}

.solution__animation--post.active .svg-elem-10 {
    -webkit-animation: .1s linear 1s both animate-svg-fill-5;
    animation: .1s linear 1s both animate-svg-fill-5
}

.solution__animation--post.active .svg-elem-11 {
    -webkit-animation: .1s linear 1.1s both animate-svg-fill-11;
    animation: .1s linear 1.1s both animate-svg-fill-11
}

.solution__animation--post.active .svg-elem-12 {
    -webkit-animation: .1s linear 1.2s both animate-svg-fill-11;
    animation: .1s linear 1.2s both animate-svg-fill-11
}

.solution__animation--post.active .svg-elem-13 {
    -webkit-animation: .1s linear 1.3s both animate-svg-fill-11;
    animation: .1s linear 1.3s both animate-svg-fill-11
}

.solution__animation--post.active .svg-elem-14,
.solution__animation--post.active .svg-elem-15 {
    -webkit-animation: .1s linear 1.4s both animate-svg-fill-11;
    animation: .1s linear 1.4s both animate-svg-fill-11
}

.solution__animation--post.active .svg-elem-16 {
    -webkit-animation: .1s linear 1.4s both animate-svg-fill-1;
    animation: .1s linear 1.4s both animate-svg-fill-1
}

.solution__animation--post.active .svg-elem-17,
.solution__animation--post.active .svg-elem-18 {
    -webkit-animation: .1s linear 1.7s both animate-svg-fill-11;
    animation: .1s linear 1.7s both animate-svg-fill-11
}

.solution__animation--post.active .svg-elem-19,
.solution__animation--post.active .svg-elem-20 {
    -webkit-animation: .1s linear 1.7s both animate-svg-fill-1;
    animation: .1s linear 1.7s both animate-svg-fill-1
}

.solution__animation--post.active .svg-elem-21 {
    -webkit-animation: .1s linear 2.1s both animate-svg-fill-11;
    animation: .1s linear 2.1s both animate-svg-fill-11
}

.solution__animation--post.active .svg-elem-22 {
    -webkit-animation: .1s linear 2.2s both animate-svg-fill-11;
    animation: .1s linear 2.2s both animate-svg-fill-11
}

@-webkit-keyframes animate-svg-fill-1 {
    0% {
        fill: transparent
    }
    100% {
        fill: #8e97f5
    }
}

@keyframes animate-svg-fill-1 {
    0% {
        fill: transparent
    }
    100% {
        fill: #8e97f5
    }
}

@-webkit-keyframes animate-svg-fill-5 {
    0% {
        fill: transparent
    }
    100% {
        fill: #5265c9
    }
}

@keyframes animate-svg-fill-5 {
    0% {
        fill: transparent
    }
    100% {
        fill: #5265c9
    }
}

@-webkit-keyframes animate-svg-fill-11 {
    0% {
        fill: transparent
    }
    100% {
        fill: #fff
    }
}

@keyframes animate-svg-fill-11 {
    0% {
        fill: transparent
    }
    100% {
        fill: #fff
    }
}

.nav__list-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
}

.nav__item {
    position: relative;
}

.nav__link {
    display: block;
    padding: 10px 15px;
    text-decoration: none;
    transition: color 0.3s;
}
.sub-menu .nav__link {
	color: #ffffff;
}
.nav__link:hover {
   opacity: .5;
}

/* Подменю скрыто по умолчанию */
.sub-menu {
    display: none;
    position: absolute;
    top: 100%; /* сразу под родительским пунктом */
    right: 0;
	left: auto;
    list-style: none;
    background: linear-gradient(90.07deg, #1f1583 .06%, #2b274f 99.94%);
    padding: 10px 0;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
    z-index: 9999;
    min-width: 180px;
}

.sub-menu .nav__link {
    padding: 8px 16px;
    white-space: nowrap;
}

/* Показываем подменю при ховере */
.nav__item:hover > .sub-menu {
    display: block;
}
@media(max-width: 768px) {
	.sub-menu .nav__link {
		white-space: wrap;
		text-align: left;
	}
	.nav__list>li {
		width: 100%;
		padding: 0 25px;
	}
	.sub-menu {
		position: relative;
		right: 0;
		display: flex;
		flex-direction: column;
		left: 0;
	}
}
