:root {
    --main-color-1: #2C395D;
    --main-color-2: #7AA5FF;
    --main-color-3: rgba(214, 226, 255, 0.31);
    --main-color-4: rgba(235, 241, 255, 0.72);
    --main-color-5: #fff;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    overflow-x: hidden;
}


.container {
    max-width: 1200px;
    margin: 0 auto;
}

.menu {
    display: flex;
    justify-content: flex-end;
    position: fixed;
    top: 0;
    right: -100%;
    width: 100%;
    height: 100vh;
    z-index: 10;
    visibility: hidden;
    opacity: 0;
    transition: all .6s;
}

.menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    opacity: .6;
}

.menu-block {
    position: relative;
    max-width: 345px;
    height: 100%;
    transition: all .6s;
    z-index: 10;
}

.menu.active {
    left: 0;
    visibility: visible;
    opacity: 1;
}

.menu-close svg {
    position: relative;
    top: -7px;
}

.close-wrapper {
    display: flex;
    justify-content: flex-end;
    background: #5bc5d1;
    height: 60px;
    padding: 27px;
}

.menu-sections {
    display: flex;
    width: 300px;
    flex-direction: column;
    background: #5bc5d1;
}

.section {
    color: var(--main-color-1, #2C395D);
    padding: 12px 0px 16px 12px;
}

    .section a {
        color: var(--main-color-1, #2C395D);
        text-decoration: none;
    }

.burger {
    cursor: pointer;
}

.burger-wrapper {
    display: none;
}

.header-nav-wrapper {
    display: flex;
    justify-content: flex-end;
}

nav {
    display: flex;
    column-gap: 80px;
    margin: 34px 0;
}

.header-nav-item a {
    color: var(--main-color-1, #2C395D);
    font-family: Inter;
    font-size: 14px;
    font-style: normal;
    font-weight: 300;
    line-height: 140%;
    text-decoration: none;
}

    .header-nav-item a:hover {
        text-decoration: underline;
    }

.preview {
    padding: 160px 0 210px 0;
    position: relative;
}

.preview-title {
    color: #444;
    font-family: Inter;
    font-size: 55px;
    font-style: normal;
    font-weight: 400;
    line-height: 120%;
    width: 563px;
}

.preview-title-wrapper {
    display: flex;
    justify-content: space-between;
}

.preview-img {
    max-width: 400px;
    max-height: 400px;
}

.button-with-icon {
    width: max-content;
    margin-top: 24px;
    display: flex;
    padding: 12px 20px 12px 24px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    border-radius: 40px;
    border: none;
    background: var(--main-color-2);
    color: var(--main-color-1, #2C395D);
    font-family: Open Sans;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 100%;
    transition: all ease 0.3s;
    text-decoration: none;
}

    .button-with-icon:hover {
        color: var(--main-color-5);
        background: var(--main-color-1)
    }

.svg-container {
    margin-top: 4px;
}

.button-with-icon svg path {
    transition: all ease 0.3s;
}

.button-with-icon:hover svg path {
    stroke: var(--main-color-5);
}

.button {
    display: flex;
    padding: 12px 24px 12px 24px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    border-radius: 40px;
    border: none;
    background: var(--main-color-2);
    color: var(--main-color-1, #2C395D);
    font-family: Open Sans;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 100%;
    transition: all ease 0.3s;
    text-decoration: none;
}

    .button:hover {
        color: var(--main-color-5);
        background: var(--main-color-1)
    }

    .button svg path {
        transition: all ease 0.3s;
    }

    .button:hover svg path {
        stroke: var(--main-color-5);
    }

.documentation {
    padding: 100px 0;
    position: relative;
}

.documentation-wrapper {
    display: flex;
    column-gap: 24px;
}

.documentation-ki-wrapper {
    display: flex;
    flex-direction: column;
    row-gap: 30px;
    border-radius: 40px;
    border: 1px solid var(--main-color-2);
    padding: 60px;
    max-width: 588px
}

.documentation-ki-title {
    color: var(--main-color-1, #2C395D);
    font-family: Montserrat;
    font-size: 40px;
    font-style: normal;
    font-weight: 400;
    line-height: 120%;
}

.documentation-ki-info-wrapper {
    color: var(--main-color-1, #2C395D);
    font-family: Montserrat;
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 140%;
}

    .documentation-ki-info-wrapper li::marker {
        font-size: 9px;
    }

.documentation-ki-button-wrapper {
    align-self: flex-end;
    margin-bottom: 22px;
}

.documentation-infos-wrapper {
    display: grid;
    grid-template-columns: minmax(165px, 282px) minmax(165px, 282px);
    column-gap: 24px;
    row-gap: 19px;
}

.documentation-info-item {
    color: var(--main-color-1, #2C395D);
    font-family: Montserrat;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 120%;
}

.experience {
    position: relative;
    padding: 40px 0 62px 0;
}

.experience-title {
    color: var(--main-color-1);
    text-align: center;
    font-family: Montserrat;
    font-size: 40px;
    font-style: normal;
    font-weight: 400;
    line-height: 120%;
    margin-bottom: 30px;
}

.experience-wrapper {
    display: flex;
    column-gap: 111px;
}

.experience-info {
    display: flex;
    flex-direction: column;
    row-gap: 40px
}

.experience-info-item {
    width: 204px;
    color: var(--main-color-1);
    font-family: Montserrat;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 120%;
}

.experience-circle {
    margin-top: 60px;
}

.partners {
    position: relative;
    padding: 45px 0 90px 0;
}

.partners-title {
    color: var(--main-color-1);
    text-align: center;
    font-family: Montserrat;
    font-size: 40px;
    font-style: normal;
    font-weight: 400;
    line-height: 120%;
    margin-bottom: 45px;
}

.slider-item {
    display: block;
    margin: 0 10px;
    width: 384px;
    height: 252px;
    object-fit: contain;
    margin: 0 auto;
}

.flickity-page-dots {
    display: none;
}

.flickity-button-icon {
    display: none;
}

.sertificates {
    position: relative;
    padding: 45px 0 90px 0;
}

.sertificates-title {
    color: var(--main-color-1);
    text-align: center;
    font-family: Montserrat;
    font-size: 40px;
    font-style: normal;
    font-weight: 400;
    line-height: 120%;
    margin-bottom: 45px;
}

.contact {
    position: relative;
    padding: 80px 0 120px 0;
}


.contact-title {
    color: var(--main-color-1);
    text-align: center;
    font-family: Inter;
    font-size: 40px;
    font-style: normal;
    font-weight: 400;
    line-height: 120%;
    margin-bottom: 45px;
}

.contact-form {
    position: relative;
    display: flex;
    flex-direction: column;
    row-gap: 30px;
    max-width: 655px;
    align-items: center;
    margin: 0 auto;
}

.user-input-wrapper {
    display: flex;
    column-gap: 15px;
    width: 100%;
}

.contact-input {
    width: 100%;
    border: none;
    color: var(--main-color-1);
    background-color: rgba(0, 0, 0, 0);
    font-family: Inter;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 140%;
    border-bottom: 1px solid var(--main-color-1);
    padding: 15px;
    outline: none;
}

    .contact-input::placeholder {
        color: var(--main-color-1);
        font-family: Inter;
        font-size: 18px;
        font-style: normal;
        font-weight: 400;
        line-height: 140%;
    }

.captcha {
    border: 1px solid var(--main-color-1);
    background: #FFF;
    width: 304px;
    height: 78px;
}

.arrow-up {
    position: absolute;
    top: 0;
    right: -50%;
    background: rgba(0, 0, 0, 0);
    border-radius: 100%;
}

footer {
    background: var(--main-color-1);
}

.footer-wrapper {
    display: flex;
    justify-content: space-between;
    padding: 41px 0;
}

.footer-dev {
    display: flex;
    column-gap: 5px;
    align-items: center;
}

.footer-dev-text {
    color: var(--main-color-4);
    font-family: Montserrat;
    font-size: 15px;
    font-style: normal;
    font-weight: 300;
    line-height: 140%;
}

.footer-dev-img {
    width: 80px;
    height: 36px;
}

.footer-dev-right {
    display: flex;
    column-gap: 23px;
    align-items: center;
}

.footer-number a {
    color: var(--main-color-4, #FFF);
    font-family: Montserrat;
    font-size: 17px;
    font-style: normal;
    font-weight: 400;
    line-height: 140%;
    text-decoration: none;
}

.footer-dev-email {
    color: var(--main-color-4, #FFF);
    font-family: Montserrat;
    font-size: 17px;
    font-style: normal;
    font-weight: 400;
    line-height: 140%;
}

.preview-back-svg {
    overflow: hidden;
    position: absolute;
    top: -56px;
    right: 0;
    z-index: -1;
}

.preview-back-svg-up {
    overflow: hidden;
    position: absolute;
    top: 0;
    right: 2px;
    z-index: -1;
}

.documentation-back-svg {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.documentation-back-svg-up {
    position: absolute;
    top: -20px;
    left: -20px;
    z-index: -1;
}

.experience-back-svg {
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
    display: flex;
    justify-content: flex-end;
}

.experience-back-svg-up {
    position: absolute;
    top: -50px;
    right: 0;
    z-index: -1;
    display: flex;
    justify-content: flex-end;
}

.partners-back-svg {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.partners-back-svg-up {
    position: absolute;
    top: -20px;
    left: -20px;
    z-index: -1;
}

.contact-back-svg {
    position: absolute;
    top: 70px;
    right: 0;
    z-index: -1;
    display: flex;
    justify-content: flex-end;
}

.contact-back-svg-up {
    position: absolute;
    top: 100px;
    right: 0;
    z-index: -1;
    display: flex;
    justify-content: flex-end;
}

@media(max-width: 1300px) {
    .container {
        max-width: 900px;
    }

    .experience-wrapper {
        flex-direction: column;
        align-items: center;
    }

    .experience-info-item {
        width: 500px;
        text-align: center;
    }

    .experience-circle {
        margin-bottom: 60px;
    }

    .experience-info {
        row-gap: 10px;
    }

    .experience-circle {
        width: 412px;
        height: 412px;
    }

    .slider-item {
        width: 336px;
    }

    .arrow-up {
        right: -25%;
    }
}

@media (max-width: 1064px) {
    .preview-img {
        width: 300px;
        height: 300px;
    }

    .preview-title-button {
        width: 40%;
    }

    .preview-title {
        width: 100%;
        font-size: 35px;
    }
}

@media (max-width: 1024px) {
    .preview-title-wrapper {
        flex-direction: column;
        row-gap: 30px;
    }

    .preview-title-button {
        width: 100%;
    }

    .preview-img {
        align-self: center;
        margin-bottom: 30px;
    }

    .flickity-button {
        display: none;
    }

    .container {
        max-width: 700px;
    }

    nav {
        column-gap: 30px;
    }

    .button-with-icon {
        font-size: 14px;
    }

    .preview-title {
        font-size: 44px;
    }

    .documentation-wrapper {
        flex-direction: column-reverse;
        align-items: center;
        row-gap: 40px;
    }

    .documentation {
        padding-top: 0px;
    }

    .documentation-ki-title {
        font-size: 36px;
    }

    .experience-title {
        font-size: 36px;
    }

    .partners-title {
        font-size: 36px;
        margin-bottom: 20px;
    }

    .sertificates-title {
        font-size: 36px;
        margin-bottom: 20px;
    }

    .contact-title {
        font-size: 36px;
    }

    .button {
        font-size: 14px;
    }

    .arrow-up {
        display: none;
    }
}



@media (max-width: 768px) {
    .burger-wrapper {
        display: flex;
        justify-content: flex-end;
        margin: 36px 0;
    }

    .header-nav-wrapper {
        display: none;
    }

    .container {
        max-width: 540px;
    }

    .header-nav-item a {
        font-size: 12px;
    }

    .preview-title {
        font-size: 38px;
    }

    .documentation-info-item {
        font-size: 16px;
    }

    .documentation-ki-wrapper {
        font-size: 30px;
        padding: 50px;
    }

    .documentation-ki-info-wrapper {
        font-size: 14px;
    }

    .experience-title {
        font-size: 30px;
    }

    .partners-title {
        font-size: 30px;
    }

    .sertificates-title {
        font-size: 30px;
    }

    .contact-title {
        font-size: 30px;
    }

    .contact-input {
        font-size: 14px;
    }

        .contact-input::placeholder {
            font-size: 14px;
        }
}

@media (max-width: 599px) {
    .slider-item {
        width: 280px;
    }

    .container {
        padding: 0 15px;
        width: 100%;
    }

    .preview-title {
        font-size: 34px;
        width: 100%;
    }

    .button-with-icon {
        font-size: 20px;
        margin: 0 auto;
        margin-top: 65px;
        margin-bottom: 100px;
    }

    .preview {
        padding: 0;
        padding-top: 82px;
    }

    .documentation-info-item {
        font-size: 15px;
    }

    .documentation-infos-wrapper {
        column-gap: 15px;
        row-gap: 105px;
    }

    .documentation-wrapper {
        row-gap: 100px;
    }

    .documentation-ki-wrapper {
        padding: 60px 7px;
        row-gap: 25px;
    }

    .documentation-ki-info-wrapper {
        font-size: 15px;
        padding-left: 10px
    }

    .documentation-ki-button-wrapper {
        align-self: center;
        margin-bottom: 0;
    }

    .experience-title {
        font-size: 35px;
        text-align: left;
        margin-bottom: 25px;
    }

    .experience {
        padding: 0;
    }

    .experience-info {
        row-gap: 20px;
    }

    .experience-info-item {
        width: 100%;
        text-align: left;
        margin: 0 !important;
    }

    .experience-circle {
        width: 288px;
        height: 288px;
        margin: 40px 0;
    }

    .partners {
        padding: 60px 0;
    }

    .partners-title {
        margin-bottom: 25px;
        font-size: 35px;
    }

    .sertificates {
        padding-top: 0;
    }

    .sertificates-title {
        font-size: 35px;
        margin-bottom: 25px;
    }

    .contact {
        padding-top: 0;
        padding-bottom: 80px;
    }

    .contact-title {
        font-size: 35px;
    }

    .user-input-wrapper {
        flex-direction: column;
        row-gap: 15px;
    }

    .contact-form {
        row-gap: 15px;
    }

    .contact-input {
        font-size: 18px;
    }

        .contact-input::placeholder {
            font-size: 18px;
        }

    .captcha {
        margin-top: 15px;
    }

    .button {
        font-size: 16px;
        margin-top: 25px;
    }

    .footer-dev {
        flex-direction: column;
    }

    .footer-dev-right {
        flex-direction: column;
    }

    .preview-back-svg {
        width: 80%;
    }

    .preview-back-svg-up {
        width: 80%;
    }

    .documentation-back-svg svg {
        width: 80%;
    }

    .documentation-back-svg-up svg {
        width: 80%;
    }

    .partners-back-svg svg {
        width: 70%;
    }

    .partners-back-svg-up svg {
        width: 70%;
    }

    .contact-back-svg {
        width: 80%;
    }

    .contact-back-svg-up {
        width: 80%;
    }
}

html {
    scroll-behavior: smooth;
}

.btn-up {
    position: fixed;
    right: 150px;
    top: 800px;
    border-radius: 20px;
    cursor: pointer;
    width: 45px;
    height: 45px;
}

.btn-up_hide {
    display: none;
}

.error {
    font-family: Inter;
    color: red;
}

.w-50 {
    width: 50%;
}

.noselect {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.wrapper {
    display: flex;
    justify-content: space-between;
    padding: 41px 0;
}

.rounded-3 {
    border-radius: 40px;
}

.flickity-enabled {
    position: relative
}

    .flickity-enabled:focus {
        outline: 0
    }

.flickity-viewport {
    overflow: hidden;
    position: relative;
    height: 100%
}

.flickity-slider {
    position: absolute;
    width: 100%;
    height: 100%
}

.flickity-enabled.is-draggable {
    -webkit-tap-highlight-color: transparent;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

    .flickity-enabled.is-draggable .flickity-viewport {
        cursor: move;
        cursor: -webkit-grab;
        cursor: grab
    }

        .flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
            cursor: -webkit-grabbing;
            cursor: grabbing
        }

.flickity-button {
    position: absolute;
    background: hsla(0, 0%, 100%, .75);
    border: none;
    color: #333
}

    .flickity-button:hover {
        cursor: pointer
    }

    .flickity-button:focus {
        outline: 0;
        box-shadow: 0 0 0 5px #19f
    }

    .flickity-button:active {
        opacity: .6
    }

    .flickity-button:disabled {
        opacity: .3;
        cursor: auto;
        pointer-events: none
    }

.flickity-button-icon {
    fill: currentColor
}

.flickity-prev-next-button {
    top: 50%;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    transform: translateY(-50%)
}

    .flickity-prev-next-button.previous {
        left: 10px
    }

    .flickity-prev-next-button.next {
        right: 10px
    }

.flickity-rtl .flickity-prev-next-button.previous {
    left: auto;
    right: 10px
}

.flickity-rtl .flickity-prev-next-button.next {
    right: auto;
    left: 10px
}

.flickity-prev-next-button .flickity-button-icon {
    position: absolute;
    left: 20%;
    top: 20%;
    width: 60%;
    height: 60%
}

.flickity-page-dots {
    position: absolute;
    width: 100%;
    bottom: -25px;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
    line-height: 1
}

.flickity-rtl .flickity-page-dots {
    direction: rtl
}

.flickity-page-dots .dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 0 8px;
    background: #333;
    border-radius: 50%;
    opacity: .25;
    cursor: pointer
}

    .flickity-page-dots .dot.is-selected {
        opacity: 1
    }

.next {
    width: 45px;
    height: 45px;
    background: none;
    background: center url('../img/arrow-right.svg');
    border: none;
    font-size: 0;
    margin-right: -60px;
}

.previous {
    width: 45px;
    height: 45px;
    background: none;
    background: center url('../img/arrow-left.svg');
    border: none;
    font-size: 0;
    margin-left: -60px;
}
