@font-face {
    font-family: MusticaPro;
    font-display: swap;
    src: url("../fonts/MusticaproSemibold.woff2") format("woff2"), url("../fonts/MusticaproSemibold.woff") format("woff");
    font-style: normal;
}
@font-face {
    font-family: Manrope;
    font-display: swap;
    src: url('../fonts/Manrope-Regular.woff2') format('woff2'), url('../fonts/Manrope-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: Manrope;
    font-display: swap;
    src: url('../fonts/Manrope-Medium.woff2') format('woff2'), url('../fonts/Manrope-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: Manrope;
    font-display: swap;
    src: url('../fonts/Manrope-Semibold.woff2') format('woff2'), url('../fonts/Manrope-Semibold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
}

* {
    padding: 0;
    margin: 0;
    border: 0;
    -webkit-text-size-adjust: 100%;
}

*,
*:before,
*:after {
    box-sizing: border-box;
}

*:focus,
*:active {
    outline: none;
}

a {
    color: inherit;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
}

ul li {
    list-style: none;
}

img,
svg {
    vertical-align: top;
    max-width: 100%;
    height: auto;
}

input,
textarea,
button,
select {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

input::-ms-clear {
    display: none;
}

button,
input[type=submit] {
    display: inline-block;
    box-shadow: none;
    cursor: pointer;
    background-color: inherit;
}

html {
    height: 100%;
    --gray: #EBEEF5;
    --gray-darker: #717B8B;
    --green: #BEF72E;
    --blue: #4765F1;
    --blue-dark: #3B56D8;
    --blue-darkest: #2C48CF;
    --main: #15152E;
}

body {
    display: flex;
    flex-direction: column;
    height: 100%;
    font-family: Manrope, sans-serif;
    font-size: 16px;
    line-height: 1.3;
    font-weight: 400;
    color: var( --main );
    min-width: 375px;
    overflow-x: hidden;
}

body.stop {
    padding-right: 15px;
    overflow: hidden;
}

body.index {
    position: relative;
}

body.index:after {
    position: absolute;
    content: url(../img/circle.png);
    display: block;
    left: 0;
    top: 0;
    z-index: 2;
}
@media ( max-width: 600px ) {
    body.index:after {
        content: unset;
    }
}

a {
    -webkit-text-decoration: underline rgba(21, 21, 46, 0);
    text-decoration: underline rgba(21, 21, 46, 0);
    text-underline-offset: 1px;
    transition: -webkit-text-decoration 0.3s ease;
    transition: text-decoration 0.3s ease;
    transition:
        text-decoration 0.3s ease,
        -webkit-text-decoration 0.3s ease,
        color .3s ease;
}
@media ( hover: hover ) {
    a:hover {
        color: var( --blue );
        text-decoration-color: var( --blue );
    }
}

li {
    list-style: none;
}

input {
    outline: none;
}

p {
    margin-bottom: 20px;
}

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

.text-content > *:first-child {
    margin-top: 0 !important;
}
.text-content > *:last-child {
    margin-bottom: 0 !important;
}
.text-content p {
    margin: 20px 0;
}
h1:not([class]) {
    font-family: MusticaPro, sans-serif;
    font-size: 60px;
    line-height: 1.2;
    margin: 50px 0 80px;
}

.main-title span {
    color: #BEF72E;
}

@media ( max-width: 767px ) {
    h1:not([class]) {
        font-size: 36px;
    }
}
h2:not([class]) {
    font-family: MusticaPro, sans-serif;
    font-size: 50px;
    line-height: 1.2;
    margin: 40px 0 30px;
}
@media ( max-width: 767px ) {
    h2:not([class]) {
        font-size: 30px;
    }
}
h3:not([class]) {
    font-family: MusticaPro, sans-serif;
    font-size: 36px;
    line-height: 1.2;
    margin: 30px 0 20px;
}
@media ( max-width: 767px ) {
    h3:not([class]) {
        font-size: 24px;
    }
}
h4:not([class]) {
    font-family: MusticaPro, sans-serif;
    font-size: 30px;
    line-height: 1.2;
    margin: 20px 0 10px;
}
@media ( max-width: 767px ) {
    h4:not([class]) {
        font-size: 20px;
    }
}
h5:not([class]) {
    font-family: MusticaPro, sans-serif;
    font-size: 24px;
    line-height: 1.2;
    margin: 20px 0 10px;
}
@media ( max-width: 767px ) {
    h5:not([class]) {
        font-size: 18px;
    }
}
h6:not([class]) {
    font-family: MusticaPro, sans-serif;
    font-size: 20px;
    line-height: 1.2;
    margin: 20px 0 20px;
}
@media ( max-width: 767px ) {
    h6:not([class]) {
        font-size: 16px;
    }
}
.text-content ul:not([class]) {
    list-style: none;
    margin: 30px 0;
    padding-left: 26px;
}
.text-content ul:not([class]) > li {
    margin-bottom: 10px;
    position: relative;
}
.text-content ul:not([class]) > li:before {
    content: '';
    display: block;
    width: 11px;
    height: 10px;
    position: absolute;
    top: 5px;
    left: -26px;
    background: url( ../img/ok-blue.svg ) no-repeat center;
    margin-right: 15px;
}
.text-content ol:not([class]) {
    counter-reset: num;
    margin: 30px 0;
    padding-left: 65px;
}
.text-content ol:not([class]) > li {
    margin-bottom: 16px;
    position: relative;
}
.text-content ol:not([class]) > li:before {
    color: var( --blue );
    font-weight: 700;
    content: counters(num, ".") " ";
    counter-increment: num;
    position: absolute;
    left: -65px;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    border: 1px solid var( --blue );
    display: flex;
    align-items: center;
    justify-content: center;
}
.text-content ol:not([class]) > li ol > li:before {
    border: unset;
    width: auto;
    height: auto;
}

.fancybox-button svg path {
    fill: #fff;
}

.breadcrumbs-wrap {
    padding-top: 130px;
    margin-bottom: 60px;
}

.breadcrumbs {
    display: flex;
    position: relative;
    z-index: 1;
}

.breadcrumb-link {
    margin-right: 6px;
    display: flex;
    align-items: center;
    font-size: 14px;
    line-height: 17px;
    color: #15152E;
}

.breadcrumb-link:after {
    margin-top: -4px;
    content: url("../img/bread.svg");
    display: block;
    margin-left: 7px;
}

.breadcrumb-item {
    color: #717B8B;
    font-size: 14px;
    line-height: 17px;
}

.container {
    position: relative;
    max-width: 1474px;
    padding: 0 32px;
    margin: 0 auto;
}
@media ( max-width: 767px ) {
    .container {
        padding: 0 18px;
    }
}

main {
    flex-grow: 1;
}

.section {
    margin-bottom: 120px;
}
.section._md {
    margin-bottom: 80px;
}
@media ( max-width: 767px ) {
    .section._md {
        margin-bottom: 30px;
    }
}
.section._sm {
    margin-bottom: 60px;
}
.section._head {
    margin-top: 131px;
    margin-bottom: 60px;
}
@media ( max-width: 767px ) {
    .section._head {
        margin-top: 83px;
        margin-bottom: 20px;
    }
}
.section._head:has(.container:empty ) {
    display: none;
    margin: unset;
}
.section__head {
    margin-bottom: 80px;
}
@media ( max-width: 767px ) {
    .section__head {
        margin-bottom: 20px;
    }
}
.section__head._mb-small {
    margin-bottom: 20px;
}
.section__head._mb-medium {
    margin-bottom: 30px;
}
.section__head > h2 {
    margin: 0;
    max-width: 800px;
}
.section__head-text {
    font-size: 24px;
    max-width: 800px;
}
@media ( max-width: 767px ) {
    .section__head-text {
        font-size: 20px;
    }
}
.section__head > h2 + .section__head-text {
    margin-top: 20px;
}
.section__foot {
    margin-top: 60px;
}
@media ( max-width: 767px ) {
    .section__foot {
        margin-top: 20px;
    }
}

header {
    position: relative;
    z-index: 5;
}

.header-wrap {
    width: calc( 100% - 64px );
    max-width: 1472px;
    position: absolute;
    z-index: 3;
    top: 20px;
}

.header {
    width: 100%;
    padding: 16px 32px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-radius: 14px;
    background: rgba(255, 255, 255, .05);
    transition: background-color .3s ease;
}
@media ( max-width: 767px ) {
    .header {
        width: 100%;
        min-width: 375px;
        padding: 13px 20px;
    }
}
header.fixed .container {
    max-width: none;
    padding: 0;
}
header.fixed .header-wrap {
    position: fixed;
    max-width: none;
    margin: 0 auto;
    z-index: 4;
    left: 32px;
}
header.fixed .header {
    max-width: 1410px;
    margin: 0 auto;
    box-shadow: 20px 20px 70px rgba(114, 140, 208, .15);
}
.header.white {
    box-shadow: 20px 20px 70px rgba(114, 140, 208, .15);
}
.header.white,
header.fixed .header {
    background-color: #FFFFFF;
}

.header.white .menu-link,
.header.white .header-phone,
.header.white .work,
header.fixed .menu-link,
header.fixed .header-phone,
header.fixed .work {
    color: #020202;
}
@media ( hover: hover ) {
    .header.white .menu-link:hover,
    .header.white .header-phone:hover,
    .header.white .work:hover,
    header.fixed .menu-link:hover,
    header.fixed .header-phone:hover,
    header.fixed .work:hover {
        color: var( --blue );
    }
}

.index .header-contact-mobile .header-phone,
.index .header-contact-mobile .work {
    color: #020202;
}

.header-logo {
    position: relative;
    width: 124px;
    height: 27px;
}
.header-logo img {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
    transition:
        opacity .3s ease,
        visibility .3s ease;
}
header:not( .fixed ) .header-logo img:first-child {
    opacity: 1;
    visibility: visible;
}
.header.white .header-logo img:first-child {
    opacity: 0;
    visibility: hidden;
}
.header.white .header-logo img:last-child,
header.fixed .header-logo img:last-child {
    opacity: 1;
    visibility: visible;
}

.menu {
    display: flex;
}

.menu-item {
    position: relative;
    margin: 0 15px;
    cursor: pointer;
}

.submenu {
    padding: 20px;
    position: absolute;
    top: 51px;
    left: 0;
    display: none;
    flex-direction: column;
    background: #fff;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    opacity: 0;
    box-shadow: 20px 20px 70px 0 #728CD026;
}

.submenu.active {
    display: flex;
    opacity: 1;
    transition: .3s;
}

.submenu-item {
    margin-bottom: 19px;
}

.submenu-item:last-child {
    margin-bottom: 0;
}

.submenu-link {
    font-size: 16px;
    color: #15152E;
    white-space: nowrap;
}

.menu-link {
    color: #fff;
    text-decoration: none;
}

.header-right {
    display: flex;
    align-items: center;
}

.btn {
    background-color: #FFFFFF;
    padding: 20px 40px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 20px;
    line-height: 1.2;
    font-weight: 600;
    border-radius: 17px;
    white-space: nowrap;
    text-decoration: none;
    transition:
        color .3s ease,
        background-color .3s ease;
}
@media ( max-width: 767px ) {
    .btn {
        font-size: 16px;
    }
}
.btn svg {
    transition:
        fill .3s ease,
        rotate .3s ease;
}
@media ( hover: hover ) {
    .btn:hover {
        color: #FFFFFF;
        background-color: var( --blue );
    }
    .btn:hover svg._icon-right-arrow-black {
        fill: #FFFFFF;
        rotate: 45deg;
    }
    .btn:active {
        background-color: var( --blue-dark );
    }
}

.btn__icon {
    flex: 0 0 25px;
    width: 25px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.btn.blue {
    background-color: var( --blue );
    color: #FFFFFF;
}
@media ( hover: hover ) {
    .btn.blue:hover {
        background-color: var( --blue-dark );
    }
    .btn.blue:active {
        background-color: var( --blue-darkest );
    }
}

.btn._border {
    border: 1px solid var( --main );
}
@media ( hover: hover ) {
    .btn._border:hover {
        border-color: var( --blue );
    }
}
.btn.blue._border {
    border-color: #FFFFFF;
}

@media ( hover: hover ) {
    .btn.blue._hover-white:hover {
        color: var( --blue );
        background-color: #FFFFFF;
    }
    .btn.blue._hover-white:hover svg {
        fill: var( --blue );
    }

    .btn.blue._hover-white:active {
        background-color: #FBFBFB;
    }
}

.btn._header {
    padding: 15px 30px;
    font-size: 16px;
    border-radius: 10px;
}
.btn._header .btn__icon {
    width: 17px;
    height: 15px;
}

.btn._small {
    font-size: 16px;
    padding: 20px 30px;
}
.btn._small .btn__icon {
    flex: 0 0 19px;
    width: 19px;
    height: 19px;
}

.btn._big {
    padding: 29px;
}
@media ( max-width: 767px ) {
    .btn._big {
        padding: 19px;
    }
}

.btn._full-width {
    width: 100%;
    justify-content: center;
}

.btn._on-block:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
    z-index: 1;
}

.btn._with-arrow {
    background-color: transparent;
    padding: 0;
    color: var( --blue );
    gap: 5px;
}
.btn._with-arrow svg {
    transition: translate .3s ease;
}
@media ( hover: hover ) {
    .btn._with-arrow:hover svg {
        translate: 5px 0
    }
}

.btn._opacity {
    background-color: rgba( 255, 255, 255, .9 );
}
@media ( hover: hover ) {
    .btn._opacity:hover {
        background-color: var( --green );
    }
}

.btn._no-border {
    padding: 0;
}
@media ( hover: hover ) {
    .btn._no-border:hover {
        background: transparent;
        color: var( --main );
    }
    .btn._no-border:hover svg {
        fill: var( --main );
    }
}

.btn._black {
    color: #111E29;
    border: 1px solid #111E29;
}
@media ( hover: hover ) {
    .btn._black:hover {
        background: #4765F1;
        border-color: #4765F1;
        color: #fff;
    }
}

.btn._transparent {
    background-color: rgba(255, 255, 255, 0);
}
@media ( hover: hover ) {
    .btn._transparent:hover {
        background-color: var( --blue );
    }
}

.btn._xl-padding {
    padding-left: 120px;
    padding-right: 120px;
}
@media ( max-width: 575px ) {
    .btn._xl-padding {
        padding-left: 40px;
        padding-right: 40px;
    }
}

.header-info {
    margin-right: 30px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    justify-content: flex-end;
}

.header-phone {
    color: #FFFFFF;
    font-size: 24px;
    line-height: 1.2;
    font-family: MusticaPro, sans-serif;
    text-decoration: none;
}

.work {
    color: #fff;
    text-align: right;
    font-size: 14px;
    line-height: 1.2;
    transition: color .3s ease;
}
.header-contact-mobile .work {
    text-align: left;
}

.header-contact-mobile {
    padding: 0 18px;
}
.header-contact-mobile .header-info {
    gap: 5px;
    margin-right: 0;
}
.header-contact-mobile .header-phone {
    font-size: 30px;
}

.banner {
    background: linear-gradient(286deg, #0D0F1B 69.59%, #203598 98.95%);
    color: #FFFFFF;
    padding: 80px;
    border-radius: 60px;
    position: relative;
    min-height: 550px;
    overflow: hidden;
    display: flex;
}
@media ( max-width: 999px ) {
    .banner {
        padding: 60px;
        /*background-color: #0D0F1B;*/
    }
}
@media ( max-width: 767px ) {
    .banner {
        padding: 30px;
        border-radius: 20px;
        min-height: unset;
    }
}
.banner__content {
    max-width: 800px;
    position: relative;
    z-index: 1;
    display: flex;
    gap: 20px;
    flex-direction: column;
    justify-content: center;
}
@media ( max-width: 1399px ) {
    .banner__content {
        max-width: 625px;
    }
}
@media ( max-width: 1199px ) {
    .banner__content {
        max-width: 500px;
    }
}
@media ( max-width: 999px ) {
    .banner__content {
        max-width: 360px;
    }
}
@media ( max-width: 767px ) {
    .banner__content {
        max-width: unset;
    }
}
.banner__content:has( + .banner__buttons ) {
    padding-bottom: 106px;
}
@media ( max-width: 999px ) {
    .banner__content:has( + .banner__buttons ) {
        padding-bottom: 168px;
    }
}
.banner h1 {
    margin: 0;
}
.banner._long-title h1 {
    font-size: 50px;
}
@media ( max-width: 1023px ) {
    .banner._long-title h1 {
        font-size: 30px;
    }
}
.banner__text {
    font-size: 20px;
}
@media ( max-width: 999px ) {
    .banner__text {
        font-size: 16px;
    }
}
.banner__buttons {
    display: flex;
    gap: 30px;
    margin-top: auto;
}
@media ( max-width: 999px ) {
    .banner__buttons {
        gap: 20px;
    }
}
@media ( max-width: 575px ) {
    .banner__buttons {
        flex-direction: column;
    }

    .banner__buttons > .btn {
        justify-content: center;
    }
}
.banner > picture {
    position: absolute;
    right: 0;
    bottom: 0;
    height: 100%;
}
@media ( max-width: 1199px ) {
    .banner > picture {
        right: -150px;
    }
}
@media ( max-width: 999px ) {
    .banner > picture {
        right: -250px;
    }
}
@media ( max-width: 768px ) {
    .banner > picture {
        display: none;
    }
}
.banner > picture > img {
    height: 100%;
}

.service-btn:hover {
    background: #4765F1 !important;
    border: 1px solid #4765F1 !important;
    color: #fff !important;
}

.presentation:before {
    display: none;
}

.presentation .banner-text {
    margin-bottom: 70px;
}

.contacts {
    display: flex;
}

.contacts-left {
    margin-right: 250px;
}

.contacts-phone {
    display: block;
    font-family: MusticaPro, sans-serif;
    font-size: 50px;
    line-height: 60px;
    color: #15152E;
}

.contacts-time {
    font-size: 24px;
    line-height: 32px;
}

.contacts.first .contacts-phone {
    margin-top: 20px;
}

.contacts.second .contacts-phone {
    margin-bottom: 20px;
}

.social {
    display: flex;
    margin-top: 50px;
}

.soc-btn {
    padding: 20px 40px;
    margin-right: 20px;
    display: flex;
    align-items: center;
    color: #15152E;
    border: 1px solid #15152E;
    border-radius: 50px;
    font-size: 20px;
    line-height: 24px;
    font-weight: 600;
}

.soc-btn:after {
    content: url(../img/tg-black.svg);
}

.soc-btn img {
    margin-left: 10px;
}

.page404 {
    padding-top: 233px;
    position: relative;
    min-height: 100vh;
    width: 100vw;
    max-width: 100%;
    background-color: #01090C;
}

.page404:after {
    content: url(../img/404.png);
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    min-height: 100vh;
}

.page404-title {
    position: relative;
    z-index: 1;
    margin-bottom: 30px;
    font-family: MusticaPro, sans-serif;
    font-size: 90px;
    line-height: 108px;
    color: #fff;
}

.page404-desc {
    position: relative;
    z-index: 1;
    margin-bottom: 80px;
    font-family: MusticaPro, sans-serif;
    font-size: 30px;
    line-height: 36px;
    color: #fff;
}

.page404-desc a {
    color: #fff;
    text-decoration: underline;
}

.page404 .container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.btn.wp {
    border: 1px solid #fff;
}

.algoritm-wrap {
    display: flex;
    gap: 30px;
}
.algoritm-wrap h2 {
    flex: 0 0 330px;
}
@media ( min-width: 1024px ) {
    .algoritm-wrap h2 {
        margin-top: 0;
    }
}
.algoritm-item {
    display: flex;
    padding-bottom: 80px;
    position: relative;
}

.algoritm-item:last-child {
    padding-bottom: 0;
}

.algoritm-num {
    margin-right: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    min-width: 60px;
    font-size: 24px;
    line-height: 29px;
    color: #4765F1;
    border: 2px solid #4765F1;
    border-radius: 50%;
    font-family: MusticaPro, sans-serif;
}
@media ( max-width: 767px ) {
    .algoritm-num {
        margin-right: 15px;
    }
}
.algoritm-num:after {
    position: absolute;
    top: 60px;
    content: "";
    display: block;
    height: calc( 100% - 60px );
    width: 2px;
    background: #4765F1;
}

.algoritm-item:last-child .algoritm-num:after {
    display: none;
}

.algoritm-title {
    margin-top: 8px;
    margin-bottom: 20px;
    font-size: 36px;
    line-height: 43px;
    font-family: MusticaPro, sans-serif;
}
@media ( max-width: 1023px ) {
    .algoritm-title {
        margin-top: 5px;
    }
}

.algoritm-text {
    min-height: 78px;
    max-width: 610px;
    font-size: 20px;
    line-height: 26px;
}

.services-list {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}
@media ( max-width: 767px ) {
    .services-list {
        gap: 20px;
    }
}
.service {
    flex: 0 0 calc( 33.333333% - 30px * 2 / 3 );
    max-width: calc( 33.333333% - 30px * 2 / 3 );
    padding: 40px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    border-radius: 30px;
    background: #F3F5FB;
}
@media ( max-width: 1199px ) {
    .service {
        flex: 0 0 calc( 50% - 30px / 2 );
        max-width: calc( 50% - 30px / 2 );
    }
}
@media ( max-width: 767px ) {
    .service {
        padding: 30px;
    }
}
@media ( max-width: 575px ) {
    .service {
        flex: 0 0 100%;
        max-width: unset;
    }
}
.presentation-services .service {
    flex: 0 0 calc(50% - 30px / 2);
    max-width: calc(50% - 30px / 2);
}
@media ( max-width: 767px ) {
    .presentation-services .service {
        flex: 0 0 100%;
        max-width: unset;
    }
}
.service h3 {
    margin: 0 0 10px;
}
.presentation-services .service h3 {
    margin-bottom: 20px;
}

.tech .service {
    min-height: 0;
    max-height: 350px;
    display: block;
}

.tech-price {
    display: flex;
    justify-content: space-between;
}

.tech-left {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 500px;
    position: relative;
    margin-right: 15px;
    width: 100%;
    padding: 40px;
    background: #15152E;
    border-radius: 30px;
    overflow: hidden;
}

.tech-left:before {
    position: absolute;
    content: url(../img/tech-left.png);
    display: block;
    left: 0;
    top: 0;
}

.tech-right {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 500px;
    margin-left: 15px;
    width: 100%;
    padding: 40px;
    background: #4765F1;
    border-radius: 30px;
    overflow: hidden;
}

.tech-price img {
    position: relative;
    margin-bottom: 20px;
}

.tech-title {
    position: relative;
    margin-bottom: 20px;
    font-size: 36px;
    line-height: 43px;
    font-family: MusticaPro, sans-serif;
    color: #fff;
}

.tech-list {
    font-size: 20px;
    line-height: 26px;
    color: #fff;
}

.tech-list, .tech-bottom {
    position: relative;
}

.tech-list li {
    margin-bottom: 10px;
    display: flex;
    align-items: center;
}

.tech-list li:before {
    margin-right: 15px;
    content: url("../img/ok.png");
    display: block;
}

.tech-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 30px;
}
@media ( max-width: 1199px ) {
    .tech-bottom {
        gap: 20px;
        flex-direction: column;
        align-items: flex-start;
    }
}
@media ( max-width: 575px ) {
    .tech-bottom a {
        width: 100%;
        justify-content: center;
    }
}

.tech-price-item {
    font-size: 36px;
    line-height: 43px;
    color: #fff;
    font-family: MusticaPro, sans-serif;
}

.portfolio-wrap .portfolio-list {
    display: none;
}

.portfolio-wrap .portfolio-list.active {
    display: flex;
    flex-wrap: wrap;
}

.portfolio-filtr {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 70px;
}

.portfolio-filtr-item {
    margin-right: 20px;
    margin-bottom: 10px;
    padding: 20px 45px;
    color: #15152E;
    border: 1px solid #15152E;
    border-radius: 50px;
    font-weight: 600;
    cursor: pointer;
    transition:
        background-color .3s ease,
        color .3s ease,
        border-color .3s ease;
}
@media ( hover: hover ) {
    .portfolio-filtr-item:hover {
        color: var( --blue );
        border-color: var( --blue );
    }
}
.portfolio-filtr-item.active {
    color: #FFFFFF;
    border-color: var( --blue );
    background-color: var( --blue );
}

.portfolio.portfolio-page .title {
    margin-bottom: 60px;
}

.about-wrap {
    display: flex;
    justify-content: space-between;
}

.about-left {
    position: relative;
    width: 100%;
    margin-right: 15px;
    padding: 80px;
    background: #EEF2FE;
    border-radius: 40px;
    overflow: hidden;
}
@media ( max-width: 1023px ) {
    .about-left {
        padding-bottom: 380px;
    }
}
.about-left .btn {
    position: relative;
    z-index: 1;
}
.about-left > img {
    position: absolute;
    bottom: 0;
    right: 0;
    content: '';
}
@media ( max-width: 1023px ) {
    .about-left > img {
        width: 100%;
        background-size: cover;
    }
}
@media ( max-width: 767px ) {
    .about-left > img {
        background-size: contain;
    }
}

.about-right {
    width: 100%;
    margin-left: 15px;
    padding: 80px;
    background: #4765F1;
    border-radius: 40px;
    overflow: hidden;
}

.about-wrap .btn.tg {
    background: #4765F1;
    border-color: #4765F1;
}

.about-title {
    position: relative;
    z-index: 1;
    margin-bottom: 20px;
    font-size: 36px;
    line-height: 43px;
    font-family: MusticaPro, sans-serif;
}

.about-text {
    position: relative;
    z-index: 1;
    font-size: 20px;
    line-height: 26px;
    margin-bottom: 30px;
}

.about-title.white {
    color: #fff;
}

.about-text.white {
    color: #fff;
}

.about-info {
    margin-top: 150px;
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    row-gap: 30px;
}
@media ( max-width: 767px ) {
    .about-info {
        gap: 24px;
        row-gap: 18px;
    }
}

.about-icon {
    width: 90px;
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    background: #fff;
}

.about-icon img {
    max-width: 60px;
}

.presentation-right {
    flex: 0 0 90px;
    width: 90px;
    height: 90px;
}
@media ( max-width: 767px ) {
    .presentation-right {
        flex: 0 0 50px;
        width: 50px;
        height: 50px;
    }
}

.presentation-right img {
    border-radius: 22px;
}
@media ( max-width: 767px ) {
    .presentation-right img {
        border-radius: 10px;
    }
}

.presentation-list {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}
@media ( max-width: 767px ) {
    .presentation-list {
        gap: 20px;
    }
}

.presentation-item {
    flex: 0 0 calc( 50% - 15px );
    max-width: calc( 50% - 15px );
    padding: 40px;
    display: flex;
    justify-content: space-between;
    gap: 70px;
    background: #F3F5FB;
    border-radius: 30px;
}
@media ( max-width: 1023px ) {
    .presentation-item {
        flex-direction: column-reverse;
        justify-content: flex-end;
        gap: 30px;
    }
}
@media ( max-width: 767px ) {
    .presentation-item {
        padding: 25px;
    }
}
@media ( max-width: 575px ) {
    .presentation-item {
        flex: 0 0 100%;
        max-width: unset;
    }
}

.presentation-item h3 {
    margin: 0 0 10px;
}

.btn-wrap--presentation {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: auto;
}
@media ( max-width: 1399px ) {
    .btn-wrap--presentation {
        align-items: flex-start;
        flex-direction: column;
        gap: 20px;
    }
}

.btn-wrap--presentation .service-price {
    margin: unset;
    font-size: 36px;
    line-height: 43px;
}

@media ( max-width: 575px ) {
    .btn-wrap--presentation .btn {
        width: 100%;
        justify-content: center;
    }
}

.presentation-desc {
    font-size: 20px;
    line-height: 26px;
}

.presentation-line {
    position: relative;
    padding: 60px;
    border-radius: 40px;
    background: #15152E;
    margin-top: 80px;
}
@media ( max-width: 767px ) {
    .presentation-line {
        margin-top: 30px;
    }
}

.presentation-line-title {
    margin-bottom: 10px;
    max-width: 420px;
    font-size: 50px;
    line-height: 60px;
    font-family: MusticaPro, sans-serif;
    color: #fff;
}

.presentation-line-desc {
    max-width: 720px;
    margin-bottom: 50px;
    font-size: 24px;
    line-height: 28px;
    color: #fff;
}

.presentation-line-price {
    color: #fff;
    font-size: 36px;
    line-height: 43px;
    font-family: MusticaPro, sans-serif;
}

.presentation-line-img {
    position: absolute;
    right: 60px;
    bottom: 60px;
    transition: .3s;
}

.presentation-line-img:hover {
    transform: rotate(45deg);
}

.service img {
    max-width: 50px;
    margin-bottom: 30px;
}
@media ( max-width: 767px ) {
    .service img {
        margin-bottom: 20px;
    }
}

.service-price {
    margin: auto 0 20px;
    font-size: 24px;
    line-height: 28px;
    font-family: MusticaPro, sans-serif;
}
.service-desc + .btn {
    margin-top: auto;
}

.btn-wrap {
    display: flex;
    position: relative;
}

.btn-wrap .btn.opacity {
    border: 1px solid #fff;
}

.btn-wrap .btn:first-child {
    margin-right: 30px;
}

.main {
    position: relative;
    padding: 235px 0;
    background: #15152E;
    overflow: hidden;
}

.main-block {
    position: relative;
}

.main-block .nexus {
    padding: 10px 20px;
    position: absolute;
    right: 0;
    bottom: -15px;
    display: none;
    max-width: 370px;
    min-width: 370px;
    min-height: 44px;
    background: #fff;
    border-radius: 20px;
    color: #15152E;
    font-size: 20px;
    line-height: 120%;
    font-weight: 600;
}

@media ( max-width: 1023px ) {
    .main {
        padding: 441px 0 30px;
    }
}


.main:after {
    content: '';
    position: absolute;
    /*right: 50%;*/
    translate: calc( 50% + 570px ) 0;
    bottom: -10px;
    display: block;
    width: 795px;
    height: 774px;
    background: url( ../img/mascot.png ) no-repeat;
	z-index: 2;
}
@media ( max-width: 1499px ) {
    .main:after {
        translate: unset;
        right: -250px;
    }
}
@media ( max-width: 1023px ) {
    .main:after {
        width: 337px;
        height: 328px;
        background-size: contain;
        top: 103px;
        right: auto;
    }
}

.main:before {
    position: absolute;
    top: 0;
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    background: url(../img/main.png);
    z-index: 2;
    animation: shine infinite alternate;
}

.main>div:not(.container) {
  position: absolute;
  background: radial-gradient(ellipse at center, rgba(177, 198, 219, 1) 2%, rgba(5, 63, 118, 1) 100%);
  border-radius: 100%;
  /* filter:blur(1px); */
  animation: shine infinite alternate;
    box-shadow: none !important;
}

.main .container {
    z-index: 3;
}

@keyframes shine {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  20% {
    transform: scale(.9);
    opacity: .8;
  }
  40% {
    transform: scale(1);
    opacity: .9;
  }
  40% {
    transform: scale(.2);
    opacity: .2;
  }
  60% {
    transform: scale(.2);
    opacity: .1;
  }
  80% {
    transform: scale(.5);
    opacity: .5;
  }
  100% {
    transform: scale(.9);
    opacity: .9;
  }
}

.main-title {
    max-width: 590px;
    margin-bottom: 30px;
    font-size: 60px;
    line-height: 1.2;
    color: #FFFFFF;
    font-family: MusticaPro, sans-serif;
}
@media ( max-width: 1023px ) {
    .main-title {
        font-size: 36px;
        margin-bottom: 20px;
    }
}

.main-subtitle {
    margin-bottom: 80px;
    font-size: 24px;
    line-height: 1.3;
    color: #fff;
}
@media ( max-width: 1023px ) {
    .main-subtitle {
        font-size: 24px;
        margin-bottom: 30px;
    }
}

@media ( max-width: 576px ) {
    .main-block .btn {
        width: 100%;
        justify-content: center;
    }
}

.services {
    display: flex;
    justify-content: space-between;
    gap: 30px;
}
@media ( max-width: 1199px ) {
    .services {
        flex-direction: column-reverse;
    }
}
@media ( max-width: 767px ) {
    .services {
        gap: 20px;
    }
}

.services-left {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}
@media ( max-width: 767px ) {
    .services-left {
        gap: 20px;
    }
}

.service-item {
    min-height: 296px;
    position: relative;
    width: calc( 37% - 15px );
    padding: 40px;
    border-radius: 40px;
    background: #F3F5FB;
    overflow: hidden;
    transition:
        background-color .3s ease,
        box-shadow .3s ease;
    display: flex;
    flex-direction: column;
}
@media ( hover: hover ) {
    .service-item:not(.vertical):hover {
        background: #fff;
        box-shadow: 0 0 40px rgba( 114, 140, 208, .20 );
    }
}
@media ( max-width: 767px ) {
    .service-item {
        width: 100%;
    }
}
@media ( max-width: 576px ) {
    .service-item {
        min-height: 250px;
    }
}

.service-item.vertical {
    height: 100%;
    width: 100%;
    margin-right: 0;
    color: #fff;
    background: #4765F1;
}

.service-item.long {
    width: calc( 63% - 15px );
}
@media ( max-width: 767px ) {
    .service-item.long {
        width: 100%;
    }
}
.service-name {
    position: relative;
    margin-bottom: 10px;
    font-size: 36px;
    line-height: 43px;
    font-family: MusticaPro, sans-serif, sans-serif;
    z-index: 1;
    transition: color .3s ease;
}
.service-item:not(.vertical):hover .service-name {
    color: var( --blue );
}

.service-item.long > .service-name,
.service-item.long > .service-desc {
    width: 66%;
}
@media ( max-width: 575px ) {
    .service-item.long > .service-name,
    .service-item.long > .service-desc {
        width: 100%;
    }
}
@media ( max-width: 767px ) {
    .service-item.long .btn {
        margin-top: 160px;
    }
}

.services-right {
    max-width: 450px;
}
@media ( max-width: 1199px ) {
    .services-right {
        max-width: none;
    }
}

.service-desc {
    font-size: 16px;
    font-weight: 500;
    color: var( --gray-darker );
}
.service .service-desc {
    font-weight: 400;
    color: var( --main );
    margin-bottom: 24px;
}
@media ( max-width: 767px ) {
    .service .service-desc {
        margin-bottom: 40px;
    }
}

.service-item .btn {
    margin-top: auto;
    z-index: 1;
    align-self: self-start;
}
@media ( max-width: 767px ) {
    .service-item .btn {
        margin-top: 60px;
    }
}
.service-item.vertical .btn {
    color: var( --main );
}

@media ( max-width: 767px ) {
    .service-item.vertical .btn {
        margin-top: 160px;
    }
}
.service-item.vertical .btn svg {
    fill: var( --main );
    transition: translate .3s ease;
}
@media ( hover: hover ) {
    .service-item.vertical .btn:hover svg {
        translate: 5px 0;
    }
}

.vertical .service-desc {
    color: #fff;
}
@media ( max-width: 1199px ) {
    .vertical .service-desc {
        width: calc( 100% - 200px );
    }
}
@media ( max-width: 767px ) {
    .vertical .service-desc {
        width: auto;
    }
}

.service-img {
    position: absolute;
    right: 0;
    bottom: 0;
}
@media ( max-width: 575px ) {
    .service-img {
        bottom: -20px;
    }

    .service-img img {
        height: 200px;
    }
}
.service-item.vertical .service-img {
    transition: translate .5s ease, scale .5s ease;
}
@media ( hover: hover ) {
    .service-item.vertical:hover .service-img {
        translate: 10px 10px;
        scale: 1.03;
    }
}
@media ( max-width: 1199px ) {
    .service-item.vertical .service-img {
        bottom: -185px;
    }
}

.service-rocket {
    position: absolute;
    z-index: 0;
    bottom: -110px;
    right: -35px;
    width: 500px;
    height: 500px;
    transition:
        translate .5s ease,
        scale .5s ease;
}
@media ( max-width: 1199px ) {
    .service-rocket {
        bottom: -200px;
        right: -150px;
    }
}
@media ( max-width: 767px ) {
    .service-rocket {
        bottom: -220px;
        right: -150px;
    }
}
@media ( hover: hover ) {
    .service-item.vertical:hover .service-rocket {
        translate: 10px -10px;
        scale: 1.1;
    }
}

.service-rocket img {
    max-width: 100%;
}
@media ( max-width: 1199px ) {
    .service-rocket img {
        width: 384px;
        height: 384px;
    }
}

.presentation-services .service-desc {
    margin-bottom: 35px;
}
@media ( max-width: 767px ) {
    .presentation-services .service-desc {
        margin-bottom: 30px;
    }
}

.presentation-services .title {
    margin-bottom: 20px;
}

.presentation-services .subtitle {
    max-width: 800px;
    font-size: 24px;
    line-height: 31px;
    margin-bottom: 80px;
}

.presentation-services .service-title {
    margin-bottom: 20px;
}

.presentation-services .service img {
    margin-bottom: 20px;
}

.presentation-services .service:nth-child(2n) {
    margin-right: 0;
}

.presentation-services .service:nth-child(n + 3) {
    margin-bottom: 0;
}

.text-block-center .container {
    max-width: 900px;
    display: flex;
    flex-direction: column;
}
.text-block-center h2 {
    text-align: center;
    font-size: 60px;
}
@media ( max-width: 767px ) {
    .text-block-center h2 {
        text-align: left;
        font-size: 30px;
    }
}
.text-block-center__text {
    font-size: 24px;
    text-align: center;
}
@media ( max-width: 767px ) {
    .text-block-center__text {
        font-size: 16px;
        text-align: left;
    }
}
.text-block-center .btn {
    margin: 60px auto 0;
}
@media ( max-width: 767px ) {
    .text-block-center .btn {
        margin: 30px 0 0;
        padding: 0;
    }
}

.solutions-wrap {
    padding-bottom: 150px;
    position: relative;
    background: #fff;
    border-bottom-right-radius: 200px;
    border-bottom-left-radius: 200px;
    z-index: 2;
}
@media ( max-width: 767px ) {
    .solutions-wrap {
        border-radius: 0;
        padding-bottom: 30px;
    }
}

.title {
    margin-bottom: 80px;
    font-size: 50px;
    line-height: 60px;
    color: #15152E;
    font-family: MusticaPro, sans-serif;
}

.title.center {
    max-width: 850px;
    margin: 0 auto;
    text-align: center;
    margin-bottom: 20px;
}

.description {
    max-width: 850px;
    margin: 0 auto;
    margin-bottom: 60px;
    font-size: 24px;
    line-height: 32px;
    text-align: center;
}

.more {
    margin: 0 auto;
    padding: 20px 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    color: #15152E;
    font-size: 24px;
    line-height: 28px;
    font-weight: 500;
}

.more:after {
    content: url(../img/right-arrow-black.svg);
    display: block;
    margin-left: 16px;
}

.solutions {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
@media ( max-width: 1199px ) {
    .solutions {
        flex-wrap: wrap;
        gap: 20px;
    }
}

.solution {
    position: relative;
    padding: 45px 35px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    border-radius: 50px;
    overflow: hidden;
    transition: rotate .3s ease;
}
@media ( hover: hover ) {
    .solution:hover {
        rotate: unset;
    }
}
@media ( max-width: 1199px ) {
    .solution {
        flex: 0 0 calc( 50% - 10px );
    }
}
@media ( max-width: 767px ) {
    .solution {
        flex: 0 0 100%;
        border-radius: 30px;
    }
}

.sol1 {
    height: 450px;
    width: 330px;
    background: #4765F1;
}
@media ( max-width: 1199px ) {
    .sol1 {
        height: 380px;
    }
}

.sol1:after {
    position: absolute;
    width: 137px;
    height: 127px;
    content: "";
    background: url(../img/star.png);
    background-position: center;
    background-size: cover;
    display: block;
    top: 0px;
    left: 0px;
}

.sol-title {
    margin-bottom: 10px;
    font-size: 36px;
    line-height: 43px;
    font-family: MusticaPro, sans-serif;
}

.sol1 .sol-title {
    color: #BEF72E;
}

.sol1 .sol-title:before {
    content: url(../img/right-arrow-green.svg);
    display: block;
    margin-bottom: 13px;
}

.sol-desc {
    font-size: 24px;
    line-height: 31px;
}

.sol1 .sol-desc {
    color: #fff;
}

.sol2 {
    rotate: -5.5deg;
    height: 277px;
    width: 330px;
    background: #F3F5FB;
    border-radius: 40px;
}
@media ( max-width: 1199px ) {
    .sol2 {
        height: 380px;
        rotate: unset;
    }
}
@media ( max-width: 767px ) {
    .sol2 {
        border-radius: 30px;
    }
}

.sol2:after {
    position: absolute;
    width: 174px;
    height: 136px;
    content: "";
    background: url(../img/sol2.png);
    background-position: center;
    background-size: cover;
    display: block;
    top: -37px;
    left: -58px;
}

.sol3 {
    rotate: 2.33deg;
    height: 276px;
    width: 209px;
    background: #BEF72E;
    border-radius: 40px;
}
@media ( max-width: 1199px ) {
    .sol3 {
        height: 380px;
        rotate: unset;
    }
}

.sol3:after {
    position: absolute;
    content: url(../img/main-star.svg);
    display: block;
    top: 5px;
    left: 0px;
}

.sol4 {
    padding: 50px;
    height: 448px;
    width: 419px;
    rotate: 2.29deg;
}
@media ( max-width: 1199px ) {
    .sol4 {
        height: 380px;
        rotate: unset;
    }
}
.sol4 > video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    scale: 1.16;
}

.sol-wrap {
    padding: 22px;
    background: rgba(255, 255, 255, .9);
    border-radius: 20px;
    z-index: 1;
}

.portfolio {
    padding-bottom: 60px;
    position: relative;
}

.portfolio.bg {
    top: -300px;
    padding-top: 300px;
    background: linear-gradient(to bottom, #f9f9f9 0px, #fff 452px);
}

.portfolio h2 {
    margin-bottom: 80px;
}
@media ( max-width: 767px ) {
    .portfolio h2 {
        margin-bottom: 20px;
    }
}

.section-algoritm {
    margin-top: 100px;
}

.section.portfolio {
    margin-bottom: 0;
}

.tech-right .btn:hover {
    background: #fff;
    color: #020202;
    border-color: #fff;
}

.portfolio .title {
    margin-bottom: 80px;
}

.portfolio-list {
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
}
@media ( max-width: 767px ) {
    .portfolio-list {
        gap: 20px;
    }
}

.portfolio-item {
    flex: 0 0 calc( 50% - 15px );
    position: relative;
    border-radius: 40px;
    border: 1px solid var( --gray );
    overflow: hidden;
}
@media ( max-width: 767px ) {
    .portfolio-item {
        flex: 0 0 100%;
        border-radius: 20px;
    }
}

.portfolio-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.portfolio-detail {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    padding: 50px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    opacity: 0;
    visibility: hidden;
    background-color: rgba( 71, 101, 241, .9 );
    border-radius: 40px;
    transition:
        opacity .3s ease,
        visibility .3s ease;
}

.portfolio-item:hover .portfolio-detail {
    opacity: 1;
    visibility: visible;
}

.portfolio-detail-title {
    margin-bottom: 15px;
    font-family: MusticaPro, sans-serif;
    font-size: 36px;
    line-height: 43px;
    color: #fff;
}

.portfolio-detail-desc {
    margin-bottom: 30px;
    font-size: 16px;
    line-height: 20px;
    color: #fff;
}

.portfolio-detail-buttons .btn:first-child {
    border: 1px solid #fff;
    margin-right: 30px;
}

.portfolio-detail-buttons .btn.dotted {
    border-bottom: 1px dashed #eee;
    border-radius: 0;
    padding: 5px 0;
    height: 28px;
}

.portfolio-detail-buttons .btn.dotted:hover {
    color: #BEF72E;
}

.portfolio-detail-buttons {
    display: flex;
    align-items: center;
}

.portfolio-detail-buttons > a:first-child {
    background-color: rgba(71, 101, 241, 0);
}

.portfolio-detail__link {
    color: #FFFFFF;
    text-underline-offset: 7px;
    text-decoration: underline dashed;
    transition:
        color .3s ease,
        text-decoration-color .3s ease;
}
@media ( hover: hover ) {
    .portfolio-detail__link:hover {
        color: var( --green );
    }
}
@media ( max-width: 767px ) {
    .portfolio-detail__link {
        margin-top: 20px;
    }
}

.portfolio-list + a {
    margin-top: 80px;
    width: 100%;
    justify-content: center;
}
@media ( max-width: 767px ) {
    .portfolio-list + a {
        margin-top: 20px;
    }
}

.contacts.first {
    margin-bottom: 120px;
}

.service .btn.black {
    padding: 19px;
    width: 100%;
    font-size: 16px;
    line-height: 20px;
}

.service .btn-wrap--presentation .btn.black {
    width: auto;
}

.consult {
    position: relative;
}

.consult.bg {
    margin-top: -300px;
}

.consult-wrap {
    position: relative;
    border-radius: 30px;
    overflow: hidden;
}

.consult-wrap:after {
    position: absolute;
    z-index: 1;
    bottom: -11px;
    right: 273px;
    content: url(../img/line2.png);
    display: block;
}
@media ( max-width: 1199px ) {
    .consult-wrap:after {
        scale: .7;
        right: 140px;
        bottom: -43px;
    }
}
@media ( max-width: 1023px ) {
    .consult-wrap:after {
        scale: .5;
        bottom: -70px;
    }
}
@media ( max-width: 767px ) {
    .consult-wrap:after {
        right: 0;
    }
}

.consult-wrap .btn.tg:hover {
    background: #fff;
    color: #4765F1;
    white-space: nowrap;
}

.consult-wrap .btn.tg:hover:after {
    content: url(../img/tg-blue.svg);
}

.consult-line {
    position: relative;
    padding: 45px 80px;
    background: #4765F1;
}
@media ( max-width: 1023px ) {
    .consult-line {
        padding-bottom: 200px;
    }
}
.consult-line:after {
    content: '';
    position: absolute;
    right: 209px;
    bottom: -183px;
    display: block;
    width: 493px;
    height: 493px;
    border-radius: 50%;
    opacity: .5;
    filter: blur(100px);
    background-color: #30DAFF;
}
@media ( max-width: 1199px ) {
    .consult-line:after {
        right: 120px;
        bottom: -110px;
        width: 400px;
        height: 400px;
    }
}
@media ( max-width: 767px ) {
    .consult-line:after {
        right: 39px;
        bottom: -112px;
        width: 300px;
        height: 300px;
    }
}

.consult-title {
    position: relative;
    z-index: 1;
    margin-bottom: 10px;
    font-size: 45px;
    line-height: 54px;
    font-family: MusticaPro, sans-serif;
    color: #fff;
}

.consult-desc {
    position: relative;
    z-index: 1;
    margin-bottom: 30px;
    font-size: 20px;
    line-height: 26px;
    color: #fff;
}

.consult-line a {
    position: relative;
    z-index: 1;
}
@media ( max-width: 575px ) {
    .consult-line a {
        width: 100%;
        justify-content: center;
    }
}

.consult__picture {
    position: absolute;
    right: -73px;
    bottom: 0;
}
@media ( max-width: 1199px ) {
    .consult__picture {
        height: 100%;
    }
    .consult__picture img {
        height: 100%;
    }
}
@media ( max-width: 1023px ) {
    .consult__picture {
        width: 287px;
        height: 339px;
        right: 0;
        bottom: -90px;
    }
}
@media ( max-width: 767px ) {
    .consult__picture {
        width: 152px;
        height: 174px;
        right: 0;
        bottom: 0;
    }
}

.section.reviews {
    margin-bottom: 220px;
}

.reviews-list {
    position: relative;
    display: flex;
}

.navArrow {
    position: absolute;
    bottom: -100px;
    cursor: pointer;
}

.prevArrow {
    left: 0;
}

.nextArrow {
    left: 70px;
}

.review-title {
    display: flex;
    justify-content: space-between;
}

.review-title .btn {
    width: 236px;
    height: 64px;
}

.review-title .btn:hover {
    color: #fff;
    background: #4765F1;
    border: 1px solid #4765F1;
}

.btn.black.order:hover {
    color: #fff;
    background: #4765F1;
    border: 1px solid #4765F1;
}

.btn.black.order:hover:after {
    content: url("../img/right-arrow-white.png");
}

.review {
    padding: 30px;
    max-width: 450px;
    background: #F3F5FB;
    border-radius: 20px;
}

.reviews-list-column .review {
    margin-bottom: 20px;
    max-width: 100%;
}

.review-name {
    margin-bottom: 5px;
    font-size: 20px;
    line-height: 24px;
    font-weight: 600;
}

.review-company {
    margin-bottom: 20px;
    color: #717B8B;
}

.review-anons {
    margin-bottom: 10px;
    font-size: 16px;
    line-height: 20px;
}

.review-more {
    color: #4765F1;
    text-decoration: underline;
}

.reviews .slick-slide {
    margin: 0 30px 0 0 !important;
}

.review-wrap {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.review-right {
    width: 100%;
    padding: 30px 40px;
    margin-left: 30px;
    max-width: 330px;
    border-radius: 20px;
    background: #F3F5FB;
}

.review-right .review-right-title {
    margin-bottom: 15px;
    font-size: 20px;
    line-height: 24px;
    color: #1D2741;
    text-align: center;
    font-weight: 600;
}

.review-right .btn {
    padding: 22px 40px;
}

.btn.tg:after {
    content: url(../img/tg.svg);
    display: block;
    margin-left: 10px;
}

.btn.tg.blue:after {
    content: url(../img/tg.svg);
    display: block;
    margin-left: 10px;
}

.btn.black.order {
    padding: 29px;
}

.dev-list {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}
@media ( max-width: 767px ) {
    .dev-list {
        gap: 15px;
    }
}

.dev-item {
    width: calc( 33.333333% - 30px * 2 / 3 );
    position: relative;
    padding: 40px;
    border-radius: 30px;
    border: 1px solid #D2D9EE;
}
@media ( max-width: 1023px ) {
    .dev-item {
        width: 100%;
        border-radius: 20px;
    }
}
@media ( max-width: 767px ) {
    .dev-item {
        padding: 25px;
    }
}

.dev-title {
    margin-bottom: 10px;
    font-size: 24px;
    line-height: 1.2;
    width: calc( 100% - 50px );
    font-family: MusticaPro, sans-serif;
}

.dev-text {
    font-size: 20px;
    color: #717B8B;
    width: calc( 100% - 50px );
}

.dev-img {
    position: absolute;
    right: 40px;
    top: 40px;
}

.garant {
    position: relative;
    width: calc( 66.666666% - 30px / 2 );
    padding: 60px;
    border-radius: 40px;
    background-color: #EEF2FE;
    min-height: 465px;
}
@media ( max-width: 1023px ) {
    .garant {
        width: 100%;
        min-height: unset;
    }
}

.garant-title {
    width: calc( 100% - 400px );
    margin-top: 30px;
    margin-bottom: 10px;
    font-size: 36px;
    line-height: 43px;
    font-family: MusticaPro, sans-serif;
}

.garant-text {
    width: calc( 100% - 400px );
    font-size: 20px;
    line-height: 26px;
    color: #717B8B;
}
@media ( max-width: 1199px ) {
    .garant-text {
        width: calc( 100% - 242px );
    }
}
@media ( max-width: 767px ) {
    .garant-text {
        width: 100%;
    }
}

.garant-img {
    position: absolute;
    right: 50px;
    top: 90px;
}
@media ( max-width: 1199px ) {
    .garant-img img {
        width: 250px;
    }
}

.ux {
    padding: 40px;
    width: calc( 33.333333% - 30px / 2 );
    border-radius: 40px;
    background: #4765F1;
}
@media ( max-width: 1023px ) {
    .ux {
        width: 100%;
    }
}

.ux-title {
    margin-top: 30px;
    margin-bottom: 10px;
    font-size: 36px;
    line-height: 43px;
    font-family: MusticaPro, sans-serif;
    color: #fff;
}

.ux-text {
    font-size: 20px;
    line-height: 26px;
    color: #fff;
}

.faq {
    display: flex;
}

.faq .title {
    max-width: 330px;
    margin-right: 30px;
}

.faq-list {
    width: 100%;
}

.faq-item {
    position: relative;
    padding: 40px 0;
    border-top: 1px solid #D2D9EE;
    cursor: pointer;
    transition: .5s;
}

.faq-item:last-child {
    border-bottom: 1px solid #D2D9EE;
}

.faq-title {
    position: relative;
    display: flex;
    align-items: center;
    font-size: 24px;
    line-height: 29px;
    font-family: MusticaPro, sans-serif;
}

.faq-title:after {
    position: absolute;
    right: 0;
    width: 18px;
    height: 10px;
    content: '';
    background: url( ../img/arrow-black.svg ) no-repeat center;
    display: block;
    transition: rotate .5s ease;
}

.faq-title.active:after {
    rotate: -180deg;
}

.faq-text {
    display: none;
    margin-top: 20px;
    font-size: 20px;
    line-height: 26px;
}

.presents {
    display: flex;
    gap: 30px;
}
@media ( max-width: 1023px ) {
    .presents {
        gap: 20px;
        flex-wrap: wrap;
    }
}

.present {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex-grow: 1;
    gap: 60px;
    border-radius: 30px;
    background: #F3F5FB;
    overflow: hidden;
}
@media ( max-width: 1023px ) {
    .present {
        gap: 20px;
    }
}
@media ( max-width: 767px ) {
    .present {
        border-radius: 20px;
    }
}

.present-text {
    padding: 40px 40px 0;
}
@media ( max-width: 767px ) {
    .present-text {
        padding: 30px 30px 0;
    }
}

.present-title {
    margin-bottom: 20px;
    font-size: 36px;
    line-height: 44px;
    font-family: MusticaPro, sans-serif;
}
@media ( max-width: 767px ) {
    .present-title {
        margin-bottom: 10px;
        font-size: 24px;
    }
}

.present-desc {
    font-size: 20px;
    line-height: 26px;
    color: var( --gray-darker );
}

footer {
    position: relative;
    padding: 40px 0;
    background: #F3F5FB;
}

.footer {
    display: flex;
    justify-content: space-between;
}
@media ( max-width: 1199px ) {
    .footer {
        flex-direction: column-reverse;
        gap: 20px;
    }
}

.footer-logo {
    margin-bottom: 20px;
}

.copyright {
    margin-bottom: 20px;
    font-size: 14px;
}

.policy {
    font-size: 14px;
    text-decoration: underline;
}

.footer-menu {
    display: flex;
    justify-content: space-between;
}

.footer-menu-list {
    margin: 0 25px;
    position: relative;
}
@media ( max-width: 1199px ) {
    .footer-menu-list {
        margin: 0;
    }
}

.footer-menu-item {
    margin-bottom: 10px;
    font-size: 16px;
    line-height: 20px;
}

.footer-menu-item.bold {
    margin-bottom: 15px;
    font-weight: 600;
}

.footer-right .work {
    color: #15152E;
    line-height: 1.4;
}
@media ( max-width: 1199px ) {
    .footer-right .work {
        text-align: left;
    }
}

.footer-right .btn {
    margin-top: 27px;
}
@media ( max-width: 575px ) {
    .footer-right .btn {
        width: 100%;
        justify-content: center;
    }
}

.footer-phone {
    display: block;
    margin-bottom: 2px;
    text-align: right;
    font-size: 24px;
    line-height: 28px;
    font-family: MusticaPro, sans-serif;
}
@media ( max-width: 1199px ) {
    .footer-phone {
        text-align: left;
    }
}

.popup {
    display: none;
}

.popup.active {
    padding: 64px 32px;
    position: fixed;
    z-index: 14;
    background: rgba(0, 0, 0, .3);
    width: 100vw;
    height: 100vh;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: auto;
}

.popup form {
    position: relative;
    padding: 60px;
    max-width: 490px;
    background: #fff;
    border-radius: 30px;
    height: fit-content;
}

.form-title {
    margin-bottom: 30px;
    color: #15152E;
    font-family: MusticaPro, sans-serif;
    font-size: 36px;
    line-height: 43px;
    text-align: center;
}

.popup label {
    position: relative;
    display: block;
    width: 100%;
    margin-bottom: 15px;
}

.popup label input:not(.btn), .popup label textarea {
    padding: 30px 0 10px 20px;
    width: 100%;
    border: 1px solid #D2D9EE;
    border-radius: 10px;
    color: #15152E;
    font-size: 16px;
    line-height: 20px;
}

.select.active img {
    transform: rotate(180deg);
}

label.phone-wrap input:not(.btn) {
    padding: 20px 0 20px 20px;
}

.popup label input {
    height: 60px;
}

.popup label textarea {
    height: 103px;
}

.popup label span.into {
    position: absolute;
    left: 20px;
    top: 20px;
    color: #15152E;
    font-size: 16px;
    line-height: 20px;
    opacity: .4;
}

.popup label input:focus~span.into, .popup label textarea:focus~span.into {
    top: 10px;
    font-size: 14px;
    line-height: 17px;
}

.popup label input.focus~span.into, .popup label textarea.focus~span.into {
    top: 10px;
    font-size: 14px;
    line-height: 17px;
}

.popup .close {
    position: absolute;
    right: 30px;
    top: 30px;
    cursor: pointer;
}

input.error {
    border-color: red !important;
}

.popup label input:focus, .popup label textarea:focus {
    border-color: #4765F1 !important;
    background: #F3F5FB;
    outline: none;
}

.error-text {
    margin-top: 10px;
    color: red;
}

.popup label>span:not(.into) {
    margin-bottom: 10px;
    display: block;
    color: #15152E;
}

.select-list {
    display: none;

}

.select-list.active {
    padding: 8px 0;
    display: block;
    position: absolute;
    font-size: 16px;
    line-height: 20px;
    width: 100%;
    border-radius: 8px;
    box-shadow: 5px 5px 30px 0px #848FB733;
    top: 86px;
    background: #fff;
    z-index: 4;
}

.select-item {
    padding: 8px 16px;
    cursor: pointer;
    transition: .3s;
}

.select-item:hover {
    background: #F3F5FB;
    color: #4765F1;
}

.select-item.active {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #F3F5FB;
    color: #4765F1;
}

.select-item.active:after {
    content: url("../img/check-blue.svg");
    display: block;
}

.select-item:last-child {
    margin-bottom: 0;
}

.popup label .select {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    width: 100%;
    height: 60px;
    border: 1px solid #D2D9EE;
    border-radius: 10px;
    color: #15152E;
    font-size: 16px;
    line-height: 20px;
    cursor: pointer;
}

.popup label .select img {
    width: 12px;
}

.checkbox-wrap {
    margin-top: 35px;
    margin-bottom: 20px;
    display: flex;
}

#checkbox {
    position: absolute;
    opacity: 0;
    width: 22px;
    height: 22px;
    z-index: -1;
}

.checkbox {
    margin-right: 13px;
    width: 22px !important;
    min-width: 22px;
    height: 22px;
    border: 1px solid #E1E2E5;
    border-radius: 5px;
    cursor: pointer;
}

#checkbox.error~.checkbox {
    border-color: red;
}

#checkbox:hover~.checkbox {
    background: url(../img/hover-check.svg);
    background-position: center;
}

#checkbox:checked~.checkbox {
    background: url(../img/check.svg);
    background-position: center;
    border-color: #E1E2E5;
}

.checkbox-wrap a {
    color: #4765F1;
    text-decoration: underline;
}

.popup .btn {
    width: 100%;
    border-color: #4765F1;
}

.success {
    position: relative;
    padding: 60px;
    max-width: 516px;
    background: #4765F1;
    border-radius: 30px;
}

.success-title {
    margin-bottom: 20px;
    font-size: 36px;
    line-height: 43px;
    font-family: MusticaPro, sans-serif;
    color: #fff;
}

.success-desc {
    color: #fff;
    font-size: 20px;
    line-height: 26px;
}

.burger {
    padding: 14px;
    display: none;
    margin-left: 30px;
}
@media ( max-width: 800px ) {
    .burger {
        padding: 10px;
        margin-left: 16px;
    }
}
@media ( max-width: 767px ) {
    .burger {
        padding: 10px 0;
        margin-left: 0;
    }
}
.burger > span {
    width: 25px;
    height: 2px;
    border-radius: 1px;
    background-color: #FFFFFF;
    transition:
        background-color .3s ease,
        opacity .3s ease,
        visibility .3s ease,
        translate .3s ease,
        rotate .3s ease;
}
header.fixed .burger > span,
.header.white .burger > span {
    background-color: var( --main );
}

nav.active ~ .burger > span:nth-child(1) {
    translate: 0 7px;
    rotate: -45deg;
}
nav.active ~ .burger > span:nth-child(2) {
    opacity: 0;
    visibility: hidden;
}
nav.active ~ .burger > span:nth-child(3) {
    translate: 0 -7px;
    rotate: 45deg;
}

.mobile-order {
    display: none;
}

.header-contact-mobile {
    display: none;
}

.fancybox-content {
    background: transparent !important;
}

.fancybox-content img {
    max-width: 100%;
    width: 100%;
}

.project-gallery {
    display: none;
}

.project-gallery .container {
    background: #fff;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.project-gallery .container img {
    margin-top: -2px;
}

.example-list {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}
@media ( max-width: 767px ) {
    .example-list {
        gap: 20px;
    }
}

.example-content {
    padding: 50px;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
@media ( max-width: 767px ) {
    .example-content {
        padding: 35px;
    }
}

.example-name {
    display: flex;
    align-items: center;
    color: #fff;
    font-size: 24px;
    line-height: 29px;
    font-family: MusticaPro, sans-serif;
}
@media ( max-width: 767px ) {
    .example-name {
        font-size: 20px;
    }
}
.example-name:before {
    content: "";
    margin-right: 10px;
    display: block;
    width: 10px;
    height: 10px;
    background: #fff;
    border-radius: 50%;
}

.example-file {
    display: flex;
    align-items: center;
}

.example-file-left {
    margin-right: 17px;
}

.example-file-right--top {
    margin-bottom: 5px;
    color: #fff;
    font-size: 16px;
    line-height: 20px;
    font-weight: 600;
}

.example-file-right--bottom {
    color: #fff;
    font-size: 14px;
    line-height: 17px;
}

.logo-list .service img {
    margin-bottom: 25px;
}

.logo-list li {
    font-size: 20px;
    line-height: 26px;
}

.logo-list .service .service-title {
    margin-bottom: 20px;
}

.logo-list .service .service-desc {
    margin-bottom: 50px;
}

.logo-list .service .service-price {
    font-size: 36px;
    line-height: 43px;
}

.logo-list .service>div {
    width: 100%;
}

.logo-list .service .btn {
    width: 100%;
}

.logo-line {
    position: relative;
    padding: 70px 60px 60px;
    background: #4765F1;
    border-radius: 40px;
    overflow: hidden;
}

.logo-line img {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 0;
}

.logo-line-title {
    position: relative;
    z-index: 1;
    max-width: 610px;
    margin-bottom: 10px;
    font-size: 50px;
    line-height: 60px;
    color: #fff;
    font-family: MusticaPro, sans-serif;
}

.logo-line-desc {
    position: relative;
    z-index: 1;
    max-width: 570px;
    margin-bottom: 50px;
    font-size: 24px;
    line-height: 31px;
    color: #fff;
}

.logo-line .btn {
    position: relative;
    z-index: 1;
}
@media ( max-width: 575px ) {
    .logo-line .btn {
        width: 100%;
        justify-content: center;
    }
}

.brif {
    display: flex;
    flex-direction: column;
}

.brif label {
    margin-bottom: 40px;
    display: flex;
    flex-direction: column;
}

.brif label span {
    margin-bottom: 20px;
    font-size: 30px;
    line-height: 36px;
    font-family: MusticaPro, sans-serif;
}

.brif label textarea {
    padding: 30px;
    border-radius: 10px;
    border: 1px solid #D2D9EE;
    font-size: 20px;
    line-height: 26px;
}

.brif label textarea::placeholder {
    color: #717B8B;
}

.checkbox-line {
    margin-top: 20px;
    display: flex;
}

.checkbox-item {
    display: flex;
    margin-right: 40px;
    position: relative;
}

.checkbox-item:last-child {
    margin-right: 0;
}

.checkbox-item input[type=checkbox],
.checkbox-item input[type=radio] {
    display: none;
}

.checkbox-item div {
    margin-left: 10px;
    font-size: 20px;
    line-height: 26px;
}

.checkbox-item label {
    display: flex;
    flex-direction: row;
    cursor: pointer;
}

.checkbox-item input[type=checkbox] + label:before {
    content: "";
    display: block;
    width: 22px;
    height: 22px;
    box-shadow: 0 0 0 2px inset #DCE0EA;
    border-radius: 4px;
    transition: background .3s ease;
}

.checkbox-item input[type=checkbox] + label:after {
    content: '';
    width: 22px;
    height: 22px;
    position: absolute;
    top: 0;
    left: 0;
    background: url(../img/check-white.svg);
    border-radius: 4px;
    opacity: 0;
    visibility: hidden;
    transition:
        opacity .3s ease,
        visibility .3s ease,
        background .3s ease;
}

.checkbox-item input[type=checkbox]:hover + label:after {
    opacity: 1;
    visibility: visible;
}

.checkbox-item input[type=checkbox]:checked + label:after {
    opacity: 1;
    visibility: visible;
    background: url(../img/check.svg);
    box-shadow: 0 0 0 2px inset var( --blue );
}

.checkbox-item input[type=radio] + label:before {
    content: "";
    display: block;
    width: 22px;
    height: 22px;
    box-shadow: 0 0 0 2px inset #DCE0EA;
    border-radius: 50%;
    transition: box-shadow .3s ease;
}

.checkbox-item input[type=radio] + label:after {
    content: '';
    position: absolute;
    top: 5px;
    left: 5px;
    display: block;
    background-color: #DCE0EA;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease, visibility .3s ease;
}

.checkbox-item input[type=radio] + label:hover:after {
    opacity: 1;
    visibility: visible;
}

.checkbox-item input[type=radio]:checked + label:before {
    box-shadow: 0 0 0 2px inset var( --blue );
}

.checkbox-item input[type=radio]:checked + label:after {
    opacity: 1;
    visibility: visible;
    background-color: var( --blue );
}

.label-wrap {
    display: flex;
}

.label-wrap>label:first-child {
    margin-right: 340px;
}

#file {
    display: none;
}

.fileArea {
    padding: 60px 60px 50px;
    display: flex;
    flex-direction: column;
    text-align: center;
    align-items: center;
    background-image: url("data:image/svg+xml;utf8,<svg width='100%' height='100%' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill: none; stroke: rgb(113, 123, 139); stroke-width: 1; stroke-dasharray: 10 10'/></svg>");
    /*border: 1px dashed #717B8B;*/
    cursor: pointer;
    border-radius: 12px;
    transition: .3s;
}

.fileArea:hover {
    background: rgba(71, 101, 241, .05);
    background-image: url("data:image/svg+xml;utf8,<svg width='100%' height='100%' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill: none; stroke: rgba(71, 101, 241, .05); stroke-width: 1; stroke-dasharray: 10 10'/></svg>");
}

.fileArea:hover img {
    display: none;
}

.fileArea img.hover {
    display: none;
}

.fileArea:hover img.hover {
    display: block;
}

.fileArea:hover {
    color: #4765F1;
}

.fileArea img {
    margin-bottom: 20px;
}

label span.file-title {
    margin-bottom: 10px;
    font-size: 24px;
    line-height: 28px;
}

label span.file-desc {
    font-size: 16px;
    line-height: 20px;
}

.send-wrap {
    padding: 60px;
    border-radius: 30px;
    box-shadow: 0px 4px 50px 0px #36539B40;
}

.send-title {
    margin-bottom: 30px;
    font-size: 30px;
    line-height: 36px;
    font-family: MusticaPro, sans-serif;
}

.send-input-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.send-input-wrap input {
    padding: 20px 16px;
    height: 60px;
    max-width: 630px;
    width: 100%;
    display: flex;
    align-items: center;
    margin-bottom: 30px;
    font-size: 16px;
    line-height: 20px;
    border: 1px solid #D2D9EE;
    border-radius: 10px;
}

.send-input-wrap input::placeholder {
    color: #15152E;
    opacity: .4;
}

.send-wrap .btn {
    width: 100%;
}

.send-wrap .checkbox-wrap {
    margin-top: 0;
}

.checkbox-wrap label {
    margin-bottom: 0;
}

.tablet {
    display: none;
}

.mobile {
    display: none;
}

.logo-example-list {
    flex-wrap: wrap;
    gap: 30px;
}
@media ( max-width: 767px ) {
    .logo-example-list {
        gap: 20px;
    }
}
@media ( max-width: 575px ) {
    .logo-example-list .portfolio-detail-buttons .btn:first-child {
        white-space: break-spaces;
        padding: 12px;
        text-align: center;
        font-size: 14px;
    }
}

.example-item {
    aspect-ratio: 1 / 1;
    flex: 0 0 calc( 33.333333% - 30px * 2 / 3 );
    overflow: hidden;
    border-radius: 40px;
    position: relative;
}
@media ( max-width: 1023px ) {
    .example-item {
        flex: 0 0 calc( 50% - 15px );
    }
}

@media ( max-width: 575px ) {
    .example-item._presentation {
        border-radius: 20px;
        flex: 0 0 100%;
    }
}
@media ( max-width: 575px ) {
    .example-item._presentation {
        border-radius: 20px;
        flex: 0 0 100%;
    }
}

.example-item img {
    transition: scale .3s ease;
}

.example-item._presentation img {
    width: 100%;
    object-fit: cover;
    aspect-ratio: 1 / 1;
}

.example-item:hover img {
    scale: 1.03;
}

.hidden {
    display: none;
}

.site-line {
    flex-wrap: wrap;
}

.site-line .checkbox-item {
    width: 30%;
}

.site-line .checkbox-item label {
    margin-bottom: 30px;
}

.fancybox-slide--html .fancybox-close-small {
    top: 40px;
}

.fancybox-button svg {
    width: 32px;
    height: 32px;
}

.input-file-block {
    margin-bottom: 60px;
}

.input-file-block h4 {
    margin-bottom: 50px;
}

.input-file-row {
    display: flex;
    align-items: flex-start;
    gap: 30px;
}

.input-file-wrapper {
    display: flex;
    gap: 10px;
    flex-direction: column;
    align-items: center;
}
@media ( max-width: 575px ) {
    .input-file-wrapper {
        width: 100%;
    }
}

label.input-file {
    cursor: pointer;
    margin-bottom: 0;
}
@media ( max-width: 575px ) {
    label.input-file {
        width: 100%;
    }
}

label.input-file > span {
    margin-bottom: 0;
    font-size: 20px;
    line-height: 1.2;
    font-family: Manrope, sans-serif;
}

.input-file-list-name {
    flex-grow: 1;
}

.input-file input[type=file] {
    position: absolute;
    z-index: -1;
    opacity: 0;
    display: block;
    width: 0;
    height: 0;
}

.input-file-list {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}
@media ( max-width: 575px ) {
    .input-file-list {
        gap: 10px;
    }
}
@media ( max-width: 575px ) {
    .input-file-list {
        width: 100%;
    }
}

.input-file-list-item {
    padding: 20px;
    border: 1px solid #D2D9EE;
    border-radius: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
}
@media ( max-width: 767px ) {
    .input-file-list-item {
        padding: 12px;
        font-size: 14px;
    }
}
@media ( max-width: 575px ) {
    .input-file-list-item {
        width: 100%;
    }
}

@media ( max-width: 767px ) {
    .input-file-list-icon svg {
        width: 24px;
        height: 24px;
    }
}

/*.input-file-row {
    display: inline-block;
}
.input-file {
    position: relative;
    display: inline-block;
}
.input-file span {
    position: relative;
    display: inline-block;
    cursor: pointer;
    outline: none;
    text-decoration: none;
    font-size: 14px;
    vertical-align: middle;
    color: rgb(255 255 255);
    text-align: center;
    border-radius: 4px;
    background-color: #419152;
    line-height: 22px;
    height: 40px;
    padding: 10px 20px;
    box-sizing: border-box;
    border: none;
    margin: 0;
    transition: background-color 0.2s;
}
.input-file input[type=file] {
    position: absolute;
    z-index: -1;
    opacity: 0;
    display: block;
    width: 0;
    height: 0;
}

.input-file input[type=file]:focus + span {
    box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25);
}

.input-file:hover span {
    background-color: #59be6e;
}
.input-file:active span {
    background-color: #2E703A;
}

.input-file input[type=file]:disabled + span {
    background-color: #eee;
}

.input-file-list {
    padding: 10px 0;
}
.input-file-list-item {
    margin-bottom: 10px;
}
.input-file-list-remove {
    color: red;
    text-decoration: none;
    display: inline-block;
    margin-left: 5px;
}*/

/* Иконки */

._icon-right-arrow-black {
    width: 14px;
    height: 14px;
    fill: #15152E;
}
._icon-tg {
    width: 17px;
    height: 15px;
    fill: #FFFFFF;
}
._icon-right-blue {
    width: 6px;
    height: 11px;
    fill: var( --blue );
}
._icon-document {
    width: 29px;
    height: 29px;
    fill: var( --blue );
}
._icon-close {
    width: 26px;
    height: 26px;
}


@media(max-width: 1399px) {
    .section {
        margin-bottom: 30px;
    }
    
    .burger {
        display: flex;
        flex-direction: column;
        gap: 5px;
        cursor: pointer;
    }

    .fixed .burger, .mobile-top .burger {
        filter: invert(0) !important;
    }

    nav {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        position: fixed;
        top: 122px;
        left: 32px;
        width: calc( 100vw - 64px );
        min-width: 375px;
        height: calc( 100vh - 142px );
        background: #fff;
        opacity: 0;
        visibility: hidden;
        translate: 0 -20px;
        border-radius: 14px;
        box-shadow: 20px 20px 70px rgba(114, 140, 208, .15);
        transition:
            opacity .3s ease,
            visibility .3s ease,
            translate .3s ease;
    }

    .header-info {
        padding-bottom: 20px;
    }

    nav.active {
        opacity: 1;
        visibility: visible;
        translate: 0 0;
    }

    .menu {
        flex-direction: column;
        margin: 20px 18px 40px;
    }

    .menu-link {
        display: block;
        color: #15152E;
        font-size: 20px;
        line-height: 1.2;
        font-family: MusticaPro, sans-serif;
    }

    .header-right {
        flex-grow: 1;
        justify-content: flex-end;
    }

    .menu-item {
        padding: 15px 0;
        margin: 0;
    }
    
    .mobile-top {
        padding: 13px 21px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        box-shadow: 0 0 20px rgba(114, 140, 208, .15);
    }
    
    .header-contact-mobile {
        display: block;
    }

    header.fixed .header-wrap {
        z-index: 5;
    }

    .mobile-tg {
        margin-left: auto;
        margin-right: 20px;
    }

    .title {
        margin-left: 0 !important;
        font-size: 30px;
        line-height: 36px;
        text-align: left !important;
    }
    
    .description {
        margin-left: 0 !important;
        text-align: left;
        font-size: 16px;
        line-height: 20px;
    }

    .more {
        justify-content: flex-start;
        padding-left: 0;
    }

    .title {
        margin-bottom: 30px;
    }

    .portfolio .title {
        margin-bottom: 30px;
    }

    .sol4 {
        height: 380px;
        background-position: left;
    }

    .garant {
        margin-right: 0;
    }

    .faq {
        display: block;
    }

    .contacts.first {
        margin-bottom: 30px;
        flex-direction: column;
    }

    .contacts {
        margin-bottom: 30px;
    }

    .contacts-left {
        margin-bottom: 30px;
    }

    .submenu {
        position: static;
        padding: 0;
        margin-top: 16px;
        box-shadow: none;
    }

    .submenu-item {
        margin-bottom: 10px;
    }

    .menu-item.has-child:after {
        content: '';
        background: url("../img/_del_menu-arrow.svg");
        display: block;
        width: 30px;
        height: 30px;
        position: absolute;
        top: 12px;
        right: 0;
        transition: rotate .3s ease;
    }

    .menu-item.has-child.active:after {
        rotate: -180deg;
    }

    .service-title {
        font-size: 24px;
        line-height: 30px;
    }

    .send-input-wrap input {
        max-width: none;
    }
}

@media(max-width: 1023px) {
    .about-wrap {
        display: block;
    }

    .about-left {
        margin-bottom: 20px;
        width: 100%;    
        margin-right: 0;
    }

    .about-right {
        width: 100%;
        margin-left: 0;
    }

    .algoritm-wrap {
        display: block;
        max-width: none;
    }

    .algoritm-wrap br {
        display: none;
    }

    .algoritm-num {
        width: 40px;
        min-width: 40px;
        height: 40px;
        font-size: 20px;
        line-height: 24px;
    }

    .algoritm-title {
        margin-bottom: 20px;
        font-size: 24px;
        line-height: 30px;
    }

    .algoritm-text {
        padding-bottom: 20px;
        min-height: auto;
        font-size: 16px;
        line-height: 20px;
    }

    .algoritm-num:after {
        display: none;
    }

    .algoritm-item {
        position: relative;
        padding-bottom: 0;
    }

    .algoritm-item:after {
        position: absolute;
        top: 38px;
        left: 19px;
        content: "";
        display: block;
        height: calc(100% - 38px);
        width: 2px;
        background: #4765F1;
    }

    .algoritm-item:last-child:after {
        display: none;
    }

    .tech-price {
        flex-wrap: wrap;
    }

    .tech-left {
        padding: 30px;
        margin-right: 0;
        margin-bottom: 20px;
        width: 100%;
        min-height: auto;
    }

    .tech-right {
        padding: 30px;
        margin-left: 0;
        width: 100%;
        min-height: auto;
    }

    .tech-title {
        font-size: 24px;
        line-height: 30px;
    }

    .tech-list li {
        font-size: 16px;
        line-height: 20px;
    }

    .tech-list li:before {
        margin-right: 11px;
    }

    .tech-list {
        margin-bottom: 20px;
    }

    .tech-price-item {
        margin-bottom: 20px;
        font-size: 24px;
        line-height: 30px;
    }

    .input-file-row {
        flex-direction: column;
    }

    .brif label span {
        font-size: 24px;
        line-height: 30px;
    }
    label.input-file > span {
        font-size: 20px;
        line-height: inherit;
    }

    .brif label {
        margin-bottom: 30px;
    }
    label.input-file {
        margin-bottom: 0;
    }

    .checkbox-item div {
        font-size: 16px;
        line-height: 20px;
    }

    .checkbox-item label {
        align-items: center;
    }

    .brif label textarea {
        padding: 20px;
        font-size: 16px;
        line-height: 20px;
    }

    label span.file-title {
        font-size: 16px;
        line-height: 20px;
    }

    label span.file-desc {
        font-size: 14px;
        line-height: 19px;
    }

    .brif .fileArea {
        padding: 30px;
        margin-bottom: 0;
    }

    .send-wrap {
        padding: 30px;
    }

    .send-title {
        font-size: 24px;
        line-height: 30px;
    }

    .send-input-wrap input {
        margin-bottom: 20px;
    }

    .label-wrap {
        flex-wrap: wrap;
    }

    .btn-wrap--presentation .service-price {
        font-size: 30px;
    }

    .logo-list .service .service-price {
        font-size: 24px;
        line-height: 30px;
    }

    .portfolio.portfolio-page .title {
        margin-bottom: 20px;
    }

    .portfolio-filtr-item {
        margin-right: 10px;
    }

    .main-block .nexus {
        right: auto;
        left: 0;
        bottom: auto;
        top: -95px;
        font-size: 16px;
    }
}

@media(max-width: 767px) {

    nav {
        top: 73px;
        left: 0;
        width: 100vw;
        height: calc( 100vh - 73px );
        translate: 0 0;
        border-radius: 0;
    }

    .header-right {
        display: none;
    }

    .header-phone {
        margin-bottom: 5px;
        font-size: 30px;
        line-height: 36px;
    }

    .work {
        text-align: left;
    }

    .mobile-order {
        margin-left: auto;
        margin-right: 20px;
        display: block;
        cursor: pointer;
    }

    .footer-menu {
        margin: 20px 0 20px;
    }

    .footer-left {
        width: 100%;
        padding-top: 40px;
        border-top: 1px solid rgba(149, 150, 156, .3);
    }

    .present-img img {
        max-width: 100%;
    }

    .service-name {
        font-size: 30px;
        line-height: 36px;
    }

    .service-item {
        padding: 25px;
    }

    .service-item.vertical {
        height: 410px;
    }

    .page404:after {
        display: none;
    }

    .page404 {
        padding-top: 100px;
        padding-bottom: 80px;
    }

    .tablet {
        display: block;
    }

    .tablet404 {
        margin-bottom: 10px;
    }

    .page404-title {
        font-size: 30px;
        line-height: 36px;
        margin-bottom: 20px;
    }

    .page404-desc {
        font-size: 20px;
        line-height: 24px;
        margin-bottom: 40px;
    }

    .page404 .btn {
        width: 100%;
        padding: 20px;
        font-size: 16px;
        line-height: 20px;
    }

    .header-wrap {
        position: fixed;
        width: 100vw;
        left: 0;
        right: 0;
        top: 0;
    }

    .header {
        border-radius: 0;
    }

    header.fixed .header-wrap {
        left: 0;
        margin: 0;
    }

    .breadcrumbs-wrap {
        padding-top: 90px;
        margin-bottom: 30px;
    }

    .header {
        padding-left: 20px;
        padding-right: 20px;
    }

    .contacts-column {
        display: flex;
        flex-direction: column-reverse;
    }

    .contacts.second {
        margin-top: 30px;
    }

    .contacts.second .contacts-phone {
        margin-bottom: 10px;
        font-size: 30px;
        line-height: 36px;
    }

    .contacts-left {
        margin-right: 0;
        margin-bottom: 0;
        width: 100%;
    }

    .contacts-left .soc-btn {
        margin-right: 0;
    }

    .contacts-time {
        font-size: 20px;
        line-height: 26px;
    }

    .desctop {
        display: none;
    }
    
    .social {
        margin-top: 30px;
    }

    .contacts-phone {
        font-size: 30px;
        line-height: 36px;
    }

    .contacts-left {
        margin-bottom: 30px;
    }

    footer {
        padding: 30px 0;
    }

    .footer-phone {
        font-size: 30px;
        line-height: 36px;
        margin-bottom: 5px;
    }

    .footer-right {
        margin-top: 0;
        width: 100%;
    }

    .portfolio-filtr {
        margin-bottom: 30px;
    }

    .consult-line {
        padding: 25px;
        padding-bottom: 200px;
    }

    .consult-title {
        font-size: 30px;
        line-height: 36px;
    }

    .consult-desc {
        margin-bottom: 30px;
        font-size: 16px;
        line-height: 20px;
    }

    .about-left {
        padding: 30px 30px 382px;
    }

    .about-right {
        padding: 30px;
    }

    .about-title {
        font-size: 24px;
        line-height: 28px;
    }

    .about-text {
        font-size: 16px;
        line-height: 20px;
    }

    .about-info {
        margin-top: 40px;
    }

    .about-icon {
        width: 50px;
        height: 50px;
        border-radius: 12px;
    }

    .about-icon img {
        max-width: 33px;
        max-height: 33px;
    }

    .dev-text {
        font-size: 16px;
        line-height: 20px;
    }

    .dev-img {
        right: 25px;
        top: 25px;
    }

    .garant-img {
        position: static;
    }

    .garant-img img {
        max-width: 165px;
    }

    .garant {
        padding: 30px;
    }

    .garant-title {
        font-size: 24px;
        line-height: 29px;
    }

    .garant-text {
        margin-bottom: 30px;
        font-size: 16px;
        line-height: 20px;
    }

    .ux-title {
        font-size: 24px;
        line-height: 28px;
    } 

    .ux {
        padding: 30px;
    }

    .ux-text {
        font-size: 16px;
        line-height: 20px;
    }

    .faq-item {
        padding: 20px 0;
        font-size: 20px;
        line-height: 24px;
    }

    .faq-text {
        margin-top: 10px;
        font-size: 16px;
        line-height: 20px;
    }

    .description {
        margin-bottom: 30px;
    }

    .sol1 {
        padding-bottom: 30px;
        height: auto;
    }

    .sol1 .sol-title {
        position: relative;
        z-index: 1;
    }

    .sol-title {
        font-size: 24px;
        line-height: 28px;
    }

    .sol-desc {
        font-size: 20px;
        line-height: 26px;
    }

    .sol2 {
        padding-top: 105px;
        padding-bottom: 30px;
        height: auto;
    }

    .sol3 {
        height: auto;
        padding-top: 85px;
        padding-bottom: 30px;
    }

    .sol4 {
        padding: 30px;
        padding-top: 250px;
        height: auto;
        border-radius: 30px;
    }

    .btn.black {
        font-size: 16px;
        line-height: 20px;
    }

    .btn.black.order {
        padding: 19px;
    }

    .btn-wrap {
        margin-bottom: 20px;
        flex-wrap: wrap;
    }

    .btn-wrap .btn:first-child {
        margin-right: 0;
        margin-bottom: 15px;
    }

    .btn-wrap .btn {
        width: 100%;
        min-width: 100%;
    }

    .portfolio {
        padding-bottom: 20px;
    }

    .algoritm-item:last-child .algoritm-text {
        padding-bottom: 0;
    }

    .service {
        min-height: auto;
        width: 100%;
        margin-right: 0 !important;
        justify-content: flex-start;
    }

    .presentation-desc {
        font-size: 16px;
        line-height: 20px;
    }

    .presentation-services .subtitle {
        margin-bottom: 30px;
        font-size: 20px;
        line-height: 26px;
    }

    .btn-wrap--presentation {
        flex-direction: column;
        align-items: flex-start;
    }

    .btn-wrap--presentation .service-price {
        font-size: 24px;
        line-height: 30px;
    }

    .btn-wrap--presentation .btn.black {
        width: 100%;
    }

    .presentation-services {
        margin-bottom: 30px;
    }

    .presentation-line {
        padding: 25px;
    }

    .presentation-line-title {
        margin-bottom: 10px;
        font-size: 30px;
        line-height: 36px;
    }

    .presentation-line-desc {
        margin-bottom: 30px;
        font-size: 20px;
        line-height: 26px;
    }

    .presentation-line-price {
        margin-bottom: 30px;
        font-size: 30px;
        line-height: 36px;
    }

    .presentation-line-img {
        position: static;
        width: 100px;
    }

    .logo-list .service img {
        margin-bottom: 20px;
    }

    .logo-line img {
        display: none;
    }

    .logo-line {
        padding: 25px;
    }

    .logo-line-title {
        font-size: 30px;
        line-height: 36px;
    }

    .logo-line-desc {
        margin-bottom: 30px;
        font-size: 16px;
        line-height: 20px;
    }

    .services-list.logo-list .service:last-child {
        margin-bottom: 0;
    }

    .section-algoritm {
        margin-top: 0;
    }

    .portfolio-detail-title, .portfolio-detail-desc {
        display: none;
    }

    .portfolio-detail-buttons {
        height: 100%;
        flex-direction: column;
        justify-content: center;
    }

    .portfolio-detail-buttons .btn:first-child {
        margin-right: 0;
    }

    .footer-menu {
        flex-direction: column;
        width: 100%;
    }

    .footer-menu-item:not(.bold) {
        display: none;
    }

    .has-footer-child.active .footer-menu-item:not(.bold) {
        display: block;
    }

    * {-webkit-tap-highlight-color: rgba(0, 0, 0, 0)}

    .has-footer-child:after {
        content: url(/local/templates/getnexus/img/menu-arrow.svg);
        display: block;
        position: absolute;
        top: -2px;
        right: 0;
        rotate: 180deg;
        transition: rotate .3s ease;
    }

    .checkbox-item div {
    	white-space: nowrap;
    }
}

@media(max-width: 575px) {

    .logo-line .btn {
        max-width: 100%;
    }

    .portfolio .title {
        margin-bottom: 20px;
    }

    .sol4 {
        background-size: cover;
        background-position: center;
    }

    .portfolio-filtr-item {
        padding: 15px 25px;
    }

    .has-footer-child.active:after {
        rotate: unset;
    }

    .header-contact-mobile .header-phone {
        font-family: MusticaPro, sans-serif;
    }

    .faq-title {
        font-size: 20px;
        line-height: 24px;
    }

    .title {
        margin-bottom: 20px;
    }

    .brif label span {
        margin-bottom: 10px;
    }

    label.input-file > span {
        margin-bottom: 0;
    }

    .checkbox-line {
        margin-top: 10px;
        flex-direction: column;
    }

    .checkbox-line .checkbox-item {
        margin-right: 0 !important;
        width: 100% !important;
    }

    label[for] {
        margin-bottom: 30px;
    }

    .checkbox-item:last-child label[for] {
        margin-bottom: 0;
    }

    .footer-logo img {
        width: 170px;
    }

    .service-item {
        border-radius: 20px;
    }

    .service-item:not(.vertical):nth-child(1):after {
        position: absolute;
        display: block;
        right: 0;
        bottom: 0;
        z-index: 1;
    }

    .service-item:nth-child(4) {
        height: 360px;
    }

    .service-desc {
        color: #717B8B;
    }

    .consult-wrap {
        border-radius: 20px;
    }

    .faq-title {
        padding-right: 20px;
    }

    .algoritm-title {
        margin-bottom: 10px;
    }

    .service .btn.black {
        width: 100%;
        max-width: 285px;
    }

    .service-bottom {
        width: 100%;
    }

    .about-left {
        padding-bottom: 230px;
    }

    .dev-text {
        padding-right: 30px;
    }

    .popup form {
        padding: 20px;
    }

    .popup.active {
        max-height: 100vh;
        padding: 0;
        overflow: auto;
    }

    .popup form {
        border-radius: 0;
    }

    .portfolio-detail {
        border-radius: 20px;
    }

    .faq-text {
        padding-right: 20px;
    }

    .form-title {
        font-size: 30px;
        line-height: 36px;
    }

    .container {
        padding: 0 18px;
    }

    .service-item.vertical {
        height: 430px;
    }

    .garant {
        border-radius: 20px;
    }

    .ux {
        border-radius: 20px;
    }

    .service {
        border-radius: 20px;
    }

    .tech-left, .tech-right {
        border-radius: 20px;
    }

    .consult-desc br {
        display: none;
    }

    .logo-line {
        border-radius: 20px;
    }

    .presentation-line {
        border-radius: 20px;
    }

    .about-left {
        border-radius: 20px;
    }

    .about-right {
        border-radius: 20px;
    }

    .service .btn-wrap--presentation .btn.black {
        width: 100%;
        max-width: none;
    }

    .logo-list li {
        font-size: 16px;
        line-height: 20px;
    }

    .logo-example-list .example-item img {
        border-radius: 20px;
    }

}

.service-desc li {
    color: #15152E;
}

.select.active {
    background: #F3F5FB;
    border-color: #4765f1 !important;
}

.close img {
	width: 26px;
	height: 26px;
}

.sale-list {
    display: flex;
    flex-wrap: wrap;
}

.sale-list .sale-item {
    margin-right: 30px;
    margin-bottom: 30px;
    max-width: calc(50% - 15px);
}

.sale-list .sale-item:nth-child(2n) {
    margin-right: 0px;
}

.sale-detail {
    display: flex;
    align-items: flex-start;
    font-size: 20px;
    line-height: 130%;
}

.sale-detail .date {
    font-weight: 600;
}

.sale-detail h3 {
    font-size: 30px;
}

.sale-detail li {
    margin-bottom: 20px;
    font-size: 16px;
    display: flex;
    align-items: center;
}

.text-content .sale-detail ul > li:before {
    margin-top: 6px;
    width: 15px;
    height: 3px;
    background: #4765F1;
    border-radius: 10px;
}

.text-content .sale-detail ul:not([class]) > li {
    padding-left: 19px;
}

.sale-detail blockquote {
    padding: 30px;
    margin-top: 40px;
    background: #fff;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    border-left: 2px solid #4765F1;
    font-weight: 600;
}

.sale-detail a {
    color: #4765F1;
}

.sale-left {
    padding: 40px;
    margin-right: 30px;
    border-radius: 40px;
    background: #F3F5FB;
}

@media(max-width: 768px) {
    .sale-list {
        display: block;
    }

    .sale-list .sale-item {
        margin-right: 0;
        margin-bottom: 10px;
    }
}

.sale-right {
    position: relative;
    padding: 330px 40px 25px;
    width: 100%;
    max-width: 450px;
    border-radius: 30px;
    background: linear-gradient(#4797F1, #4765F1);
    overflow: hidden;
}

.sale-right:after {
    position: absolute;
    content: "";
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../img/mascot-sale.png);
    background-size: cover;
    z-index: 0;
}

.sale-right-title {
    margin-bottom: 20px;
    font-size: 24px;
    line-height: 120%;
    font-weight: 600;
    color: #fff;
    text-align: center;
    position: relative;
    z-index: 1;
}

.sale-right a {
    display: flex;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    font-size: 16px;
    line-height: 120%;
    position: relative;
    z-index: 1;
}

.btn.green {
    margin-bottom: 10px;
    text-align: center;
    background: #BEF72E;
    color: #15152E;
}

.btn.green:hover {
    background: #fff;
    color: #3B56D8;
}

@media(max-width: 768px) {
    .sale-detail {
        display: block;
    }

    .sale-left {
        position: relative;
        left: -18px;
        width: calc(100vw);
        padding: 20px;
        margin-right: 0;
        margin-bottom: 30px;
        border-radius: 20px;
    }

    .sale-left p {
        margin: 10px 0;
        font-size: 16px;
    }

    .sale-left h3 {
        margin-bottom: 10px;
        font-size: 20px;
    }

    .sale-left ul {
        margin-top: 10px !important;
    }

    .text-content .sale-detail ul:not([class]) > li {
        padding-left: 10px;
    }

    .sale-detail blockquote {
        margin-top: 30px;
        margin-bottom: 30px;
    }

    h1:not([class]) {
        margin-bottom: 30px;
    }

    .sale-right-title {
        font-size: 20px;
    }

    .sale-right:after {
        background-image: url(../img/mascot-sale-m.png);
    }

    .sale-right {
        padding-right: 30px;
        padding-left: 30px;
    }

    .sale-detail blockquote {
        font-size: 18px;
    }

    .breadcrumb-item {
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden;
    }
}

.cookie {
    position: relative;
    padding: 60px;
    max-width: 400px;
    border-radius: 30px;
    background: #fff;
}

.cookie-title {
    margin-bottom: 10px;
    font-size: 24px;
    font-weight: 600;
    line-height: 120%;
    font-family: "MusticaPro";
}

.cookie-desc {
    margin-bottom: 30px;
    font-size: 16px;
    line-height: 130%;
    color: #717B8B;
}

.cookie .btn {
    font-size: 16px;
}