@font-face {
    font-family: 'Helvetica';
    font-style: Regular;
    font-weight: 400;
    src: url('helvetica/HelveticaRegular/HelveticaRegular.woff') format('woff');
}

@font-face {
    font-family: 'Helvetica';
    font-weight: 700;
    font-style: Bold;
    src: url('helvetica/HelveticaBold/HelveticaBold.woff') format('woff');
}

* {
    min-height: 0;
    min-width: 0;
}

:root {
    --color_white1: rgba(255, 255, 255, 0.7);
    --color_white2: rgba(255, 255, 255, 0.9);
    --color_black: #101010;
    --color_nst_green: #28DFAF;
    --color_nst_blue: #65279E;
    --bg_color: radial-gradient(at 100% 3%, #652B4C 0%, #2A0F2D 45%, #101010 68%);
    --text_color: linear-gradient(90deg, #7B7979 0%, #FFFFFF 30%, #FFFFFF 63%, #7B7979 100%);
}

::selection {
    background-color: var(--color_nst_blue);
    color: var(--color_white2);
}

body {
    font-family: 'Helvetica' !important;
    letter-spacing: 0px;
    text-align: left;
    margin: 0 !important;
    line-height: 1.5 !important;
    letter-spacing: 0px !important;
    background-color: var(--color_black);
    color: var(--color_white2) !important;
    position: relative;
}


img {
    /* pointer-events: none; */
    user-select: none;
    -webkit-user-drag: none;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

button:focus,
button:active,
input:focus,
input:active {
    outline: none;
}

input {
    border: none;
}

button {
    user-select: none;
}

a {
    text-decoration: none;
    color: var(--color_nst_blue);
    user-select: none;
}

a:hover {
    text-decoration: underline;
}

.mobile {
    display: none;
}

.text {
    background: var(--text_color);
    -webkit-background-clip: text;
    color: transparent;
}

.title1 {
    opacity: 0.7;
    font-size: 46px;
    font-weight: 700;
    /* letter-spacing: 1; */
    text-align: left;
    line-height: 50px;
    background: var(--text_color);
    -webkit-background-clip: text;
    color: transparent;
    width: fit-content;
    margin: 0 auto;
    text-align: center;
    min-height: 108px;
}

.title2 {
    color: var(--color_white2);
    font-size: 24px;
    font-weight: 400;
    letter-spacing: 0px;
    text-align: right;
    line-height: 36px;
    text-align: center;
    padding-top: 146px;
}

#s1 {
    background: var(--bg_color);
    height: 826px
}

.nst {
    position: relative;
    overflow: hidden;
}

.nst-container {
    padding: 0 30px;
    max-width: 1340px;
    margin: 0 auto;
    z-index: 99;
    position: relative;
}


.nst-top {
    /* display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px; */
    font-size: 18px;
    font-weight: 400;
    color: var(--color_white1);
    padding-top: 30px;
    padding-bottom: 80px;
}

.nst-top__logo {
    display: block;
    height: 80px;
    width: 97.57px;
    /* pointer-events: none; */
    user-select: none;
    -webkit-user-drag: none;
    margin: 0 auto;
    margin-bottom: 10px;
}

.nst-top__logo img {
    display: block;
}

.nst-waves1 {
    background-image: url('../images/132@2x.png');
    background-size: 101%;
    background-repeat: no-repeat;
    height: 470px;
    width: 100%;
    /* padding-bottom: 50px; */
}

.nst-waves2 {
    background-image: url('../images/132@2x.png');
    background-size: cover;
    background-repeat: no-repeat;
    height: 470px;
    /* padding-bottom: 50px; */
    position: absolute;
    /* bottom: -200px; */
    width: 100%;
    /* transform: scaleY(-1); */
    bottom: -290px;
}

.nst-tasks {
    display: flex;
    gap: 40px;
    min-height: 429px;
    margin-top: 47px;
}

.nst-tasks__col {
    display: flex;
    flex-direction: column;
    gap: 30px;
    /* height: 100%; */
}

.nst-tasks__col:first-child {
    flex-basis: 58%;
}

.nst-tasks__col:last-child {
    flex-basis: 42%;
}

.nst-tasks__item-wrap {
    padding: 30px 21px;
    border-radius: 10px;
    background-color: #171717;
    color: var(--color_white2);
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0px;
    text-align: left;
    line-height: 24px;
    height: 100%;
}

.nst-tasks__item {
    display: flex;
    gap: 12px;
}

.nst-tasks__item::before {
    content: '';
    display: block;
    margin-top: 5px;
    height: 43px;
    min-width: 43px;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

.nst-tasks__item--icon1::before {
    background-image: url('../images/noun-flexibility-7402163@2x.png');
}

.nst-tasks__item--icon2::before {
    background-image: url('../images/noun-offer-7459553@2x.png');
}

.nst-tasks__item--icon3::before {
    background-image: url('../images/noun-ai-call-center-6708692@2x.png');
}

.nst-tasks__item--icon4::before {
    background-image: url('../images/noun-smart-data-7269347@2x.png');
}

.nst-tasks__item-title {
    /* height: 50px;
    line-height: 50px; */
    line-height: 35px;
    color: var(--color_white2);
    font-size: 28px;
    padding-bottom: 12px;
}

.nst-contact {
    border-radius: 10px;
    border: 1px solid #979797;
    /* max-width: 619px; */
    min-height: 354px;
    max-height: 354px;
    margin: 0 auto;
    margin-top: 157px;
    margin-bottom: 180px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    padding: 31px 37px;
    width: 87%;
    box-sizing: border-box;
}

.nst-contact__col {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
}

.nst-contact__title {
    margin-bottom: 10px;
    font-weight: 400;
    font-size: 26px;
}

.nst-contact__row {
    display: flex;
    align-items: center;
    margin-left: 20px;
    font-size: 16px;
    font-weight: 400;
    gap: 20px;
}

.nst-contact__row::before {
    content: '';
    display: block;
    /* margin-top: 5px; */
    height: 25px;
    min-width: 25px;
    background-size: contain;
    background-image: url('../images/noun-ok-5590084@2x.png');
    background-position: center;
    background-repeat: no-repeat;
}

.nst-contact .title1 {
    padding-top: 57px;
}

.nst-contact-btn {
    border-radius: 65px;
    color: var(--color_white1);
    background: linear-gradient(249deg, #E24E45 37%, #C92A66 45%, #B70A90 50%, #65279E 65%, #6D1FA0 100%);
    font-size: 27px;
    font-weight: 400;
    line-height: 24px;
    height: 70px;
    width: 315px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    -webkit-transition: background .6s ease, color .6s ease;
    -o-transition: background .6s ease, color .6s ease;
    transition: background .6s ease, color .6s ease;
}

.nst-contact-btn:hover {
    text-decoration: none;
    color: var(--color_black);
    background-color: #979797;
    -webkit-transition: background .6s ease, color .6s ease;
    -o-transition: background .6s ease, color .6s ease;
    transition: background .6s ease, color .6s ease;
}

.nst-advantage-wrap {
    margin-top: 20px;
    min-height: 127px;
    margin-bottom: 175px;
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.nst-advantage {
    display: flex;
}

.nst-advantage__item {
    padding: 10px 30px 0 22px;
    color: var(--color_white2);
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0px;
    text-align: left;
    line-height: 24px;
    position: relative;
    flex-basis: 100%;
    display: flex;
    gap: 20px;
}

.nst-advantage__item-inner {
    position: relative;
    padding-left: 50px;
}

.nst-advantage__item .nst-advantage__item-inner::before {
    content: '';
    display: block;
    top: 6px;
    height: 100%;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    left: 0;
}

.nst-advantage__item--icon1 .nst-advantage__item-inner::before {
    height: 38px;
    min-width: 20px;
    background-image: url('../images/1@2x.png');
    left: 8px;
}

.nst-advantage__item--icon2 .nst-advantage__item-inner::before {
    height: 32px;
    min-width: 32px;
    background-image: url('../images/2@2x.png');
}

.nst-advantage__item--icon3 .nst-advantage__item-inner::before {
    height: 30px;
    min-width: 30px;
    background-image: url('../images/3@2x.png');
}

.nst-advantage__item--icon4 .nst-advantage__item-inner::before {
    height: 30px;
    min-width: 30px;
    background-image: url('../images/4@2x.png');
}

.nst-advantage__item--icon5 .nst-advantage__item-inner::before {
    height: 38px;
    min-width: 18px;
    background-image: url('../images/5@2x.png');
    left: 6px;
}

.nst-advantage__item-title {
    font-size: 18px;
    margin-bottom: 3px;
    font-weight: 700;
    line-height: 24px;
}

.nst-advantage__item::after {
    content: '';
    width: 1px;
    height: 100%;
    background-color: #5B5A5A;
    position: absolute;
    right: 0;
    top: 0;
}

.nst-advantage__item:last-child:after {
    content: none;
}

.nst-about {
    display: flex;
    flex-direction: column;
    gap: 38px;
    margin-top: 55px;
    margin-bottom: 101px;
}

.nst-about__row {
    display: flex;
    gap: 43px;
}

.nst-about__row:last-child {
    gap: 42px;
}

.nst-about__item {
    border-radius: 10px;
    background-color: #171717;
    padding: 28px;
}

.nst-about__row:first-child .nst-about__item {
    height: 285px;
    flex-basis: 33%;
}

.nst-about__row:last-child .nst-about__item {
    min-height: 213px;
    flex-basis: calc(50% - 21px);
    padding-right: 55px;
}

.nst-about__item-digit {
    color: var(--color_white1);
    font-size: 76px;
    font-weight: 400;
    letter-spacing: 0px;
    text-align: left;
    line-height: normal;
}

.nst-about__item-text {
    margin-left: 2px;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0px;
    text-align: left;
    line-height: 24px;
}

.nst-trust {
    border: 1px solid #979797;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 42px 0 54px 0;
    max-width: 923px;
    margin: 48px auto 100px auto;
}

.nst-trust__item {
    border-radius: 10px;
    background-color: #171717;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0px;
    text-align: left;
    padding: 18px 20px;
    margin: 0 42px;
}

.nst-map {
    display: flex;
    gap: 42px;
    margin-top: 48px;
    /* max-width: 1280px; */
    margin: 48px auto 70px auto;
}

.nst-map__col {
    flex-basis: calc(50% - 21px);
}

.nst-map .nst-map__col:first-child {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.nst-map_row {
    display: flex;
    align-items: center;
    gap: 20px;
    /* margin-top: 20px */
}

#skolk {
    display: flex;
    gap: 20px;
    font-size: 18px;
}

#sk::before,
#skolk::before {
    content: '';
    display: block;
    min-width: 75px;
    height: 54px;
    background-image: url('../images/i@2x.png');
    background-size: cover;
    background-repeat: no-repeat;
}

.nst-map-text1 {
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0px;
    text-align: left;
    line-height: 24px;
}

.nst-map-text2 {
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0px;
    text-align: left;
    line-height: 24px;
}

.nst-map_rows {
    color: #fff;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0px;
    text-align: left;
    line-height: 21px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-top: 23px
}

.nst-map_rows div {
    display: flex;
    align-items: center;
    gap: 13px;
    height: fit-content;
    text-wrap: pretty;
    white-space-collapse: preserve-breaks;
}

.nst-map_rows div a {
    text-decoration: underline;
    color: var(--color_white2);
}

.nst-map_rows div a:hover {
    text-decoration: none;
}

.nst-map_rows div::before {
    background-size: contain;
    background-repeat: no-repeat;
    min-width: 27px;
    display: block;
}

#icon_map::before {
    content: '';
    height: 30px;
    background-image: url('../images/map.png');
}

#icon_mail::before {
    content: '';
    height: 17px;
    background-image: url('../images/env.png');
}

#icon_doc::before {
    content: '';
    height: 28px;
    background-image: url('../images/doc.png');
}

.about__map {
    border-radius: 10px;
    min-height: 308px;
    width: 100%;
}

ymaps {
    border-radius: 10px;
}

.nst-tech {
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin-top: 19px;
    margin-bottom: 120px;
}

.nst-tech_row {
    display: flex;
    gap: 40px;
}

.nst-tech_row:first-child {
    min-height: 396px;
}

.nst-tech_row:last-child {
    min-height: 318px;
}

.nst-tech_col {
    background-color: #171717;
    padding: 40px 40px 40px 28px;
    border-radius: 16px;
    min-width: fit-content;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 30px;
    position: relative;
}

.nst-tech_col--python {
    background-image: url('../images/icons8-питон-480@2x.png');
    background-size: 111px;
    background-repeat: no-repeat;
    background-position: right 61px bottom 43px;
}

.nst-tech_python {
    width: 111px;
    height: 111px;
    background-image: url('../images/icons8-питон-480@2x.png');
    background-size: contain;
    background-repeat: no-repeat;
    margin: auto 23px 3px auto;
}

.nst-tech_icon {
    width: 93px;
    min-width: 93px;
    height: 77px;
    border-radius: 16px;
    background-color: #242424;
    box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, .5);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}


.nst-tech_icon--i1 {
    background-image: url('../images/687474703a2f2f73746f726167652e6d64732e79616e6465782e6e65742f6765742d646576746f6f6c732d6f70656e736f757263652f3235303835342f636174626f6f73742d6c6f676f2e706e67@2x.png');
    background-size: auto 37px;
}

.nst-tech_icon--i2 {
    background-image: url('../images/pytorch_workshop@2x.png');
    background-size: 57px;
}

.nst-tech_icon--i3 {
    background-image: url('../images/Scikit_learn_logo_small.svg@2x.png');
    background-size: auto 35px;
}

.nst-tech_icon--i4 {
    background-image: url('../images/Group 11@2x.png');
    background-size: auto 28px;
    align-self: flex-start;
}

.nst-tech_icon--i4+div {
    padding-top: 15px;
}

.nst-tech__title {
    opacity: 70%;
    font-size: 26px;
    font-weight: 700;
}

.nst-tech__body {
    display: flex;
    flex-direction: column;
    gap: 20px;
    font-size: 16px;
    font-weight: 400;
    color: rgb(255 255 255 / 70%);
    color: rgba(255, 255, 255, .7);
}

.nst-tech__body_row {
    display: flex;
    gap: 32px;
    align-items: center;
}

span.bold {
    font-weight: 700;
    font-size: 20px;
}

.nst-tech .nst-contact__col {
    margin-top: 30px;
}

.nst-tech .nst-contact__row {
    margin: 0;
}

.nst-bottom {
    display: flex;
    /* flex-direction: column; */
    gap: 8px;
    margin: 45px 0;
}

.nst-bottom__row {
    display: flex;
    flex-direction: column;
    gap: 21px;
}

.nst-bottom__col {
    flex-basis: calc(50% - 4px);
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.nst-bottom_block {
    padding: 26px 16px 26px 22px;
    font-size: 20px;
    font-weight: 400;
    color: var(--color_white2);
    display: flex;
    flex-direction: column;
    /* gap: 18px; */
    border-radius: 10px;
    background: linear-gradient(225deg, #3F1938, #582545);
}


.nst-bottom__row:first-child .nst-bottom_block:first-child {
    /* height: 100%; */
    padding-bottom: 52px;
}

.nst-bottom__item[data-num] {
    display: flex;
    gap: 12px;
    margin-top: 18px;
}

.nst-bottom__item[data-num]::before {
    content: attr(data-num);
    height: 50px;
    min-width: 34px;
    border-radius: 10px;
    background-color: #171717;
    text-align: center;
    padding-top: 5px;
}

#sobstv {
    display: flex;
    gap: 10px;
    color: #fff;
    font-size: 16px;
    font-weight: 400;
    margin-top: 19px;
    margin-left: 46px;
    border-radius: 10px;
}

#sobstv>div {
    padding: 20px 16px 22px;
    border-radius: 10px;
    background-color: #171717;
}

#sobstv::before {
    content: '';
    display: block;
    min-width: 86px;
    height: auto;
    border-radius: 10px;
    background-color: #171717;
    background-image: url('../images/111@2x.png');
    background-position: top 16px center;
    background-repeat: no-repeat;
    background-size: auto 78px;
}

.nst-bottom__icon {
    display: flex;
    gap: 19px;
    font-size: 14px;
    color: var(--color_white2);
}

.nst-bottom__icon::before {
    background-size: contain;
    background-repeat: no-repeat;
    min-width: 27px;
    display: block;
}

.nst-bottom__icon#icon_map::before {
    margin-top: 7px;
}

.nst-bottom__icon#icon_doc {
    margin-top: 18px;
    align-items: center;
    text-decoration: underline;
    width: fit-content;
}

.nst-bottom__icon#icon_doc:hover,
#sobstv:hover {
    text-decoration: none;
    opacity: 0.9;
}

@media(max-width: 1220px) {
    .nst-tasks {
        flex-direction: column;
        height: unset;
        gap: 30px;
    }

    .nst-tech_row {
        flex-direction: column;
    }

    .nst-tech__title {
        font-size: 20px;
    }

    .nst-tech_col {
        min-width: auto;
        /* width: auto; */
        padding: 28px;
        width: 580px;
        margin: 0 auto;
    }

    .nst-tech_row:last-child .nst-tech_col:first-child,
    .nst-tech_row:last-child .nst-tech_col:last-child {
        display: none;
    }

    .nst-tech_row:last-child .nst-tech__body_row {
        flex-direction: column;
    }

    .nst-tech__body_row {
        align-items: flex-start;
    }

    .nst-tech_icon--i4 {
        align-self: center;
    }

    .nst-tech_icon--i4+div {
        padding-top: unset;
    }

    .nst-bottom {
        flex-direction: column;
        margin-top: 28px;
    }

    .nst-bottom__row {
        gap: 8px;
    }

    .about__map {
        margin-top: 10px;
    }

    .nst-container--nst-bottom {
        padding: 0 !important;
    }

    .nst-bottom_block {
        border-radius: 0;
        padding: 28px 16px;
        padding-bottom: 30px !important;
        font-size: 16px;
    }

    .nst-bottom_block__title,
    .nst-bottom_block__title span.bold {
        font-size: 17px;
    }

    .about__map ymaps {
        border-radius: 0;

    }

    #sobstv {
        margin: 0;
        margin-top: 18px;
        font-size: 14px;
        min-height: 91px;
    }

    #sobstv>div {
        width: 100%;
        padding: 14px 16px;
    }

    #skolk {
        font-size: 14px;
    }
}

@media(max-width: 1024px) {
    .nst-advantage-wrap {
        margin-top: 43px;
        margin-bottom: 80px;
    }

    .nst-advantage {
        flex-direction: column;
        height: unset;
        gap: 27px;
    }

    .nst-advantage__item {
        padding: 0;
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 23px;
        line-height: 21px;
        box-sizing: border-box;
        padding: 0 30px;
    }

    .nst-advantage__item-inner {
        text-align: left;
        width: 100%;
    }

    .nst-advantage__item::after {
        content: '';
        width: 127px;
        height: 1px;
        background-color: #5B5A5A;
        position: relative;
        display: block;
    }

    .nst-advantage__item.nst-advantage__item--mobile_after:after {
        content: '';
    }
}

@media(max-width: 900px) {
    .nst-about__row {
        flex-direction: column;
        gap: 30px;
    }

    .nst-map {
        flex-direction: column-reverse;
    }
}

@media(max-width: 700px) {
    body * {
        line-height: 1.5 !important;
    }

    .nst-container {
        padding: 0 20px;
    }

    .title1 {
        font-size: 24px;
        min-height: unset;
    }

    .title2 {
        font-size: 14px;
        padding-top: 56px;
    }

    .nst-tasks__item {
        font-size: 14px;
    }

    .nst-tasks__item-wrap {
        padding: 20px;
    }

    .nst-tasks__item-title {
        font-size: 20px;
    }

    .nst-tasks {
        flex-direction: column;
        height: unset;
        gap: 20px;
    }

    .nst-tasks__col,
    .nst-tasks__item,
    .nst-tasks__item-wrap {
        gap: 15px;
        flex-basis: unset !important;
    }

    .nst-about {
        gap: 20px;
        margin-top: 35px;
        margin-bottom: 98px;
    }

    .nst-about__row {
        flex-direction: column;
        gap: 20px;
    }

    .nst-trust {
        padding: 22px 0;
        margin: 31px auto 100px auto;
    }

    .nst-trust__item {
        margin: 0 22px;
        padding-right: 15px;
    }

    .nst-map {
        flex-direction: column-reverse;
        margin: 30px auto 70px auto;
    }

    .nst-map .nst-map__col:first-child {
        flex-direction: column-reverse;
        /* gap: 52px; */
        gap: 45px;
    }

    .nst-map-text1 {
        font-size: 14px;
    }

    .nst-map_row {
        flex-direction: column;
    }

    .nst-contact {
        border: none;
        min-height: 190px;
        margin-top: 100px;
        margin-bottom: 123px;
        max-height: unset;
        padding: unset;
    }

    .nst-contact-btn {
        width: 243px;
        height: 63px;
        font-size: 17px;
    }

    .nst-waves1 {
        /* background-size: contain; */
        background-size: 141%;
        background-position: -65px bottom;
        height: 280px;
        padding-bottom: 50px;
    }

    .nst-waves2 {
        bottom: -110px;
        background-size: 161%;
        padding-bottom: 50px;
        transform: scaleY(-1);
    }

    .nst-top {
        padding-bottom: 64px;
    }

    #s1 {
        height: unset;
    }

    .nst-map_rows {
        margin-top: 38px;
        gap: 12px;
    }

    .mobile {
        display: inline;
    }

    .nst-map-text2 {
        text-align: center;
    }

    .nst-contact__row {
        margin-left: unset;
    }

    .nst-tech_col {
        width: auto;
        margin: unset;
    }
}

@media(max-width: 425px) {
    .nst-tech__body_row {
        gap: 20px;
    }

    #sobstv>div {
        padding: 14px;
        font-size: 13px;
    }
}

/* Transitions and transforms */
.wow {
    opacity: 0;
    -webkit-transform: translate(0, 50px);
    -moz-transform: translate(0, 50px);
    -ms-transform: translate(0, 50px);
    transform: translate(0, 50px);
    -webkit-transition: opacity .6s .1s, transform .6s ease;
    transition: opacity .6s .1s, transform .6s ease;
    transition-delay: 0ms;
}

.wow-in-view {
    opacity: 1 !important;
    -webkit-transform: translate(0, 0) !important;
    -moz-transform: translate(0, 0) !important;
    -ms-transform: translate(0, 0) !important;
    transform: translate(0, 0) !important;
}