* {
    font-family: 'Rubik', sans-serif;
}

ul {
    list-style-type: none;
}

b {
    font-weight: 500;
}

input:focus,
textarea:focus {
    outline: 0;
    box-shadow: 0 0 4px 0 rgba(0,0,0,0.3);
}

[data-show="0"] {
    opacity: 0;
    pointer-events: none;
}

*,
::after,
::before {
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}


h1 {
    font-size: 54px;
}

h2 {
    font-size: 34px;
}

h3 {
    font-size: 28px;
}

h4 {
    font-size: 22px;
}

h5 {
    font-size: 20px;
}

h6 {
    font-size: 18px;
}

hr {
    border: 0;
    margin: 0;
}

input[placeholder] {
    text-overflow: ellipsis;
}

input::-moz-placeholder {
    text-overflow: ellipsis;
}

input:-moz-placeholder {
    text-overflow: ellipsis;
}

input:-ms-input-placeholder {
    text-overflow: ellipsis;
}

nav.top ul li.menu li,
.disable_decoration {
    -moz-user-select: none;
    -khtml-user-select: none;
    user-select: none;
}

body {
    display: grid;
    grid-gap: 105px 0;
    margin: 0 auto;
    max-width: 1140px;
    background-color: #fff;
    overflow-x: hidden;
}

button,
input[type="submit"] {
    padding: 12px 30px;
    min-width: 180px;
    width: max-content;
    border-radius: 5px;
    background-color: #577bf4;
    border: 0;
    outline: 0;
    cursor: pointer;
}

    button,
    button p,
    input[type="submit"] {
        color: #fff;
        font-size: 16px;
        font-weight: 500;
    }

        button:hover {
            background-color: #4f70db;
        }

        button:active {
            background-color: #3d56a8;
        }

a {
    color: #5a78f5;
    font-weight: 500;
}

    a:hover {
        text-decoration: none;
    }

    a:active {
        text-decoration: underline;
    }

    a.reverse {
        text-decoration: none;
    }

        a.reverse:hover {
            text-decoration: underline;
        }

        a.reverse:active {
            text-decoration: none;
        }

.bold {
    font-weight: 500;
}

.underline {
    text-decoration: underline;
}

.logo.kirosoft {
    background-image: url(../img/logo-kirosoft-text.svg);
}

.TextWrapDots {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}




/***** nav *****/
/*** nav top (Navigation bar) ***/
body::before {
    content: '';
    display: block;
    width: 100%;
    height: calc(82px + 20px);
}

nav.top {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    transition: 0.2s ease-out;
    z-index: 50;
}

    nav.top > div {
        position: relative;
        margin: 0 auto;
        padding: 10px 0;
        width: 100%;
        height: 82px;
        max-width: 1140px;
        display: grid;
        align-items: center;
        grid-auto-flow: column;
        grid-gap: 0 50px;
        grid-template-columns: max-content 1fr max-content;
    }

    nav.top[data-scroll="up"] {
        background-color: #fff;
    }

    nav.top[data-scroll="down"] {
        transform: translateY(-130px);
    }

.open-mobile-menu {
    display: none;
}

/** logo **/
nav.top > div > a > .logo {
    width: 142px;
    height: 52px;
}
/** menu **/
nav.top > div > ul.menu {
    justify-self: end;
    width: 100%;
    max-width: 720px;
    display: grid;
    grid-auto-flow: column;
    justify-content: space-between;
}

    nav.top > div > ul.menu > li > a {
        font-size: 14px;
        font-weight: 400;
        text-transform: uppercase;
        text-decoration: none;
        color: #000;
        cursor: pointer;
    }
/** search **/
nav.top > div > .search {
    position: relative;
    margin: 10px 0;
    width: 72px;
    height: calc(100% - 20px);
}

    nav.top > div > .search > input {
        padding: 0 10px 0 35px;
        width: 225px;
        height: 30px;
        border: 0;
        border-radius: 30px;
        background-image: url(../img/search.svg);
        background-position: 10px 50%;
        background-size: 14px 14px;
        background-color: #fff;
    }

        nav.top > div > .search > input::placeholder {
            opacity: 0.25;
            color: #000;
            font-size: 14px;
            font-weight: 400;
        }





/***** section *****/
section {
    width: 100%;
}

    section > h2 {
        font-weight: 500;
        text-align: center;
    }



/* Animation */
.smoothAnim {
    transition: 0.2s ease-in;
}

    .smoothAnim[data-shown='1'] {
        transition: 0.4s ease-in;
    }

    .smoothAnim[data-shown='0'] {
        opacity: 0;
        transform: translateY(50px);
    }

    .smoothAnim[data-shown='1'] {
        opacity: 1;
        transform: translateY(0px);
    }

    .smoothAnim[data-shown='0'] > * {
        transform: translateY(80px);
    }

    .smoothAnim[data-shown='1'] > * {
        transform: translateY(0px);
    }


/*** about ***/
#about {
    margin: 0 auto 75px auto;
    display: grid;
    align-items: start;
    grid-auto-flow: column;
    grid-template-columns: max-content 1fr;
    grid-gap: 0 50px;
}

    /* about */
    #about .about {
        width: 550px;
        display: grid;
        grid-gap: 20px 0;
    }

        #about .about h1 {
            font-weight: 500;
        }

        #about .about > p {
            color: #666;
            font-size: 22px;
            font-weight: 300;
        }


    /** dynamic-image **/
    #about .dynamic-images {
        top: -30px;
        right: -40px;
        width: 100%;
        height: 100%;
    }

        #about .dynamic-images::after {
            position: absolute;
            left: -40px;
            bottom: calc(-30px - 30px);
            content: '';
            width: 2000px;
            height: 900px;
            border-radius: 50px;
            background-color: #dfe8f4;
            z-index: -10;
        }

        /* Kirosoft */
        #about .dynamic-images > .Kirosoft {
            position: absolute;
            top: 50%;
            left: 50%;
            width: 150px;
            height: 150px;
            transform: translate(-50%, -50%);
            background-image: url(../img/logo-kirosoft.svg);
        }

        /* points */
        #about .dynamic-images > .points {
            width: 100%;
            height: 100%;
        }

            #about .dynamic-images > .points > a {
                position: absolute;
                width: 75px;
                height: 75px;
                border-radius: 100px;
                background-color: #fff;
                box-shadow: 0 0 30px 0 rgba(0,0,0,0.15);
                z-index: 10;
            }

            #about .dynamic-images > .points .excel-1c {
                right: calc(50% + 60px);
                top: calc(50% - 170px);
                background-size: 61px;
            }

            #about .dynamic-images > .points .efficiency {
                right: calc(50% - 120px);
                top: calc(50% - 150px);
                background-size: 56px;
            }

            #about .dynamic-images > .points .integration {
                right: calc(50% - 160px);
                top: calc(50% + 10px);
                background-size: 54px;
            }

            #about .dynamic-images > .points .mobile {
                right: calc(50% - 10px);
                top: calc(50% + 80px);
                background-size: 56px;
            }

            #about .dynamic-images > .points .funnel {
                right: calc(50% + 90px);
                top: calc(50% - 20px);
                background-size: 48px;
            }

            #about .dynamic-images > .points .excel-1c {
                background-image: url(../img/dynamic/excel-1c.svg);
            }

            #about .dynamic-images > .points .efficiency {
                background-image: url(../img/dynamic/efficiency.svg);
            }

            #about .dynamic-images > .points .integration {
                background-image: url(../img/dynamic/integration-ico.svg);
            }

            #about .dynamic-images > .points .mobile {
                background-image: url(../img/dynamic/mobile.svg);
            }

            #about .dynamic-images > .points .funnel {
                background-image: url(../img/dynamic/funnel.svg);
            }


/* Change Animation for buttons */
.changeAnim {
    position: relative;
    overflow-y: hidden;
}

    .changeAnim::after {
        content: '';
        display: block;
        height: 19px;
    }

    .changeAnim[data-action="0"] > div {
        animation-name: unset;
    }

    .changeAnim[data-action="pastload"] > div {
        animation-iteration-count: 1;
    }

    .changeAnim[data-action="1"] > div {
        animation-iteration-count: infinite;
    }

    .changeAnim > div {
        position: absolute;
        left: 50%;
        transform: translate(-50%, 0);
        display: grid;
        grid-gap: 20px 0;
        animation: change 6s infinite;
    }

    .changeAnim.first > div {
        animation-name: change-first;
        animation-delay: 1s;
        animation-duration: 4s;
    }

@keyframes change {
    0% {
        transform: translate(-50%, 0);
    }

    5.71% {
        transform: translate(-50%, 0);
    }

    11.42% {
        transform: translate(-50%,-39px);
    }

    17.13% {
        transform: translate(-50%,-39px);
    }

    22.84% {
        transform: translate(-50%,-78px);
    }

    28.55% {
        transform: translate(-50%,-78px);
    }

    34.26% {
        transform: translate(-50%,-117px);
    }

    39.97% {
        transform: translate(-50%,-117px);
    }

    45.68% {
        transform: translate(-50%,-156px);
    }

    51.39% {
        transform: translate(-50%,-156px);
    }

    57.1% {
        transform: translate(-50%,-195px);
    }

    62.81% {
        transform: translate(-50%,-195px);
    }

    68.52% {
        transform: translate(-50%,-234px);
    }

    74.23% {
        transform: translate(-50%,-234px);
    }

    80% {
        transform: translate(-50%,-273px);
    }

    80.01% {
        transform: translate(-50%,0);
    }
}

@keyframes changeBack {
    100% {
        transform: translate(-50%, 0);
    }
}

@keyframes change-first {
    0% {
        transform: translate(-50%, 0);
    }

    15% {
        transform: translate(-50%, 0);
    }

    25% {
        transform: translate(-50%,-29%);
    }

    50% {
        transform: translate(-50%,-29%);
    }

    60% {
        transform: translate(-50%,-57%);
    }

    85% {
        transform: translate(-50%,-57%);
    }

    95% {
        transform: translate(-50%,-85%);
    }

    95.01% {
        transform: translate(-50%, 0);
    }
}



/*** description ***/
#description {
    margin-left: auto;
    margin-right: auto;
    width: 945px;
    display: grid;
    grid-gap: 50px 0;
}


    /** aboutThings **/
    #description > ul.aboutThings {
        display: grid;
        grid-gap: 50px 0;
        justify-items: center;
    }

        #description > ul.aboutThings > li {
            padding: 30px 50px;
            width: 90%;
            display: grid;
            grid-auto-flow: column;
            grid-gap: 20px;
            grid-template-columns: 300px 1fr;
            border-radius: 15px;
            background-color: #fff;
            box-shadow: 0 0 100px 0 rgba(54,94,155,0.4);
            box-sizing: border-box;
        }

            #description > ul.aboutThings > li .description {
                display: grid;
                grid-auto-flow: row;
                grid-gap: 25px 0
            }

            #description > ul.aboutThings > li .sub {
                display: grid;
                grid-auto-flow: row;
                grid-gap: 16px 0;
            }

            #description > ul.aboutThings > li h4 {
                font-weight: 500;
            }

            #description > ul.aboutThings > li .sub p {
                color: #666;
                font-size: 18px;
                text-align: justify;
            }

            #description > ul.aboutThings > li span.note {
                margin-top: -10px;
                color: #666;
                font-size: 14px;
                text-align: justify;
            }

            #description > ul.aboutThings > li button {
                width: 50%;
            }

            #description > ul.aboutThings > li > img {
                justify-self: center;
                width: 50%;
                border-radius: 5px;
                box-shadow: 0px 5px 10px 2px rgba(34, 60, 80, 0.2);
                cursor: zoom-in;
                transition: 0.4s ease-out;
            }

            #description > ul.aboutThings > li:nth-child(2) > img {
                box-shadow: unset;
            }

            #description > ul.aboutThings > li > img[data-zoom="1"] {
                transform: scale(2.5);
                cursor: zoom-out;
                z-index: 1000;
            }

    #description .aboutThings .icon {
        align-self: center;
        justify-self: center;
        width: 150px;
        height: 100%;
        max-height: 150px;
    }

        #description .aboutThings .icon.excel-1c {
            background-image: url(../img/dynamic/excel-1c.svg);
        }

        #description .aboutThings .icon.efficiency {
            background-image: url(../img/dynamic/efficiency.svg);
        }

        #description .aboutThings .icon.integration {
            background-image: url(../img/dynamic/integration-ico.svg);
        }

        #description .aboutThings .icon.mobile {
            background-image: url(../img/dynamic/mobile.svg);
        }

        #description .aboutThings .icon.funnel {
            background-image: url(../img/dynamic/funnel.svg);
        }

    #description .desc-block {
        display: flex;
        flex-direction: column;
        row-gap: 12px;
    }


    /*** services ***/
    #services {
        padding: 50px 70px;
        display: grid;
        grid-gap: 50px 0;
        border-radius: 30px;
        background-color: #e5ecf6;
        box-sizing: border-box;
    }

#services > ul.services {
    display: grid;
    grid: 1fr / 1fr 1fr;
    grid-gap: 50px 30px;
}

    #services > ul.services > li {
        width: 460px;
        display: grid;
        grid-gap: 20px 0;
        align-content: start;
    }

        #services > ul.services > li.common {
            grid-column: 1 / 3;
            width: 100%;
        }

    #services > ul.services .description {
        display: grid;
        grid-auto-flow: row;
        grid-gap: 1em 0;
    }

        #services > ul.services .description p,
        #services > ul.services .description li {
            color: #666;
            line-height: 20px;
        }

            #services > ul.services .description li.title {
                list-style-type: none;
                font-weight: 500;
                text-decoration: underline;
            }

        #services > ul.services .description li {
            list-style-type: disc;
            list-style-position: inside;
            font-size: 16px;
            font-weight: 400;
        }

            #services > ul.services .description li + li {
                margin-top: 5px;
            }

    #services > ul.services > li .header {
        display: grid;
        align-items: center;
        grid-auto-flow: column;
        grid-template-columns: max-content 1fr;
        grid-gap: 0 30px;
    }

        #services > ul.services > li .header h3 {
            font-weight: 500;
        }

        #services > ul.services > li .header .icon {
            width: 110px;
            height: 110px;
            border-radius: 15px;
            background-size: 50px;
            box-shadow: 6px 6px 16px 0 rgba(151,168,194,0.5);
        }

            #services > ul.services > li .header .icon.server {
                background-image: url(../img/services/server.svg);
            }

            #services > ul.services > li .header .icon.cloud {
                background-image: url(../img/services/cloud.svg);
            }



/*** advantages ***/
#advantages {
    display: grid;
    grid-gap: 70px 0;
    justify-items: center;
}

    #advantages > ul.advantages {
        display: grid;
        grid-auto-flow: column;
        grid-gap: 50px;
        align-items: start;
    }

        #advantages > ul.advantages > li {
            width: 100%;
            max-width: 360px;
            display: grid;
            grid-gap: 20px 0;
        }

            #advantages > ul.advantages > li > .icon {
                justify-self: center;
                width: 135px;
                height: 135px;
            }

                #advantages > ul.advantages > li > .icon.shield {
                    background-image: url(../img/advantages/shield.svg);
                    background-size: 125px;
                }

                #advantages > ul.advantages > li > .icon.check {
                    background-image: url(../img/advantages/check.svg);
                }

                #advantages > ul.advantages > li > .icon.money {
                    background-image: url(../img/advantages/money.svg);
                    background-size: 125px;
                }


            #advantages > ul.advantages > li > .desc {
                width: 100%;
                display: grid;
                grid-gap: 10px 0;
            }

                #advantages > ul.advantages > li > .desc p {
                    line-height: 22px;
                }

                #advantages > ul.advantages > li > .desc h4 {
                    font-weight: 500;
                }


/*** FAQ ***/
#FAQ {
    padding: 50px 70px;
    display: grid;
    grid-gap: 50px 0;
    border-radius: 30px;
    background-color: #e5ecf6;
    box-sizing: border-box;
}

    #FAQ .list {
        list-style-type: disc;
        list-style-position: inside;
    }

        #FAQ .list li {
            line-height: 24px;
        }

    #FAQ .section {
        display: flex;
        flex-direction: column;
        row-gap: 16px;
        user-select: none;
    }


    #FAQ .section__inner {
        display: flex;
        flex-direction: column;
        row-gap: 16px;
    }

    #FAQ .section__title {
        position: relative;
        padding: 20px calc(20px * 2 + 20px) 20px 20px;
        background-color: #d6e0ef;
        border-radius: 4px;
        font-size: 18px;
        cursor: pointer;
    }

        #FAQ .section__title::marker {
            display: none;
            content: "";
        }

        #FAQ .section__title::after {
            content: '';
            position: absolute;
            top: 50%;
            right: 20px;
            transform: translateY(-50%);
            display: block;
            width: 20px;
            height: 20px;
            background-image: url(../img/section/plus.svg);
        }

    #FAQ [open] .section__title::after {
        background-image: url(../img/section/minus.svg);
    }

    #FAQ .section__list-box {
        padding: 24px 12px;
        transition: 0.1s ease-in-out;
        overflow: hidden;
    }

        #FAQ .section__list-box[data-show="0"] {
            height: 0;
            opacity: 0;
            pointer-events: none;
        }

    #FAQ .section__list {
        padding: 0 20px;
        display: flex;
        flex-direction: column;
        row-gap: 8px;
        align-items: flex-start;
    }

    #FAQ .section__link {
        position: relative;
    }

        #FAQ .section__link::after {
            content: '—';
            position: absolute;
            top: 50%;
            left: -20px;
            transform: translateY(-50%);
        }



/*** docs ***/
#docs {
    display: grid;
    grid-gap: 25px 0;
    justify-items: center;
}

    #docs > ul.docs {
        display: grid;
        grid-auto-flow: column;
        grid-gap: 50px;
        align-items: start;
    }

        #docs > ul.docs > li {
            width: 100%;
            max-width: 360px;
            display: grid;
            grid-gap: 20px 0;
        }

            #docs > ul.docs > li > a.section__link > .icon {
                justify-self: center;
                width: 135px;
                height: 135px;
            }

            #docs > ul.docs > li > a.section__link > .icon.doc1 {
                background-image: url(../img/docs/doc1.png);
                background-size: 125px;
            }

            #docs > ul.docs > li > a.section__link > .icon.doc2 {
                background-image: url(../img/docs/doc2.png);
                background-size: 125px;
            }

            #docs > ul.docs > li > a.section__link > .icon.doc3 {
                background-image: url(../img/docs/doc3.png);
                background-size: 125px;
            }

            #docs > ul.docs > li > a.section__link > .icon.doc4 {
                background-image: url(../img/docs/doc4.png);
                background-size: 125px;
            }

            #docs > ul.docs > li > a.section__link > .icon.doc5 {
                background-image: url(../img/docs/doc5.png);
                background-size: 125px;
            }


            #docs > ul.docs > li > .desc {
                width: 100%;
                display: grid;
                grid-gap: 1px 0;
            }

                #docs > ul.docs > li > .desc p {
                    line-height: 22px;
                }

                #docs > ul.docs > li > .desc h4 {
                    font-weight: 500;
                }



/*** contacts ***/
#contacts {
    position: relative;
    padding: 60px 30px;
    width: calc(100% - 200px);
    display: grid;
    align-items: center;
    grid-template-rows: auto auto;
    grid-template-columns: max-content 1fr;
    grid-gap: 0 50px;
    box-sizing: border-box;
}

    #contacts::after {
        position: absolute;
        right: 0;
        top: 0;
        content: '';
        width: 1200px;
        height: 100%;
        border-radius: 50px;
        background-color: #e6edf7;
        z-index: -5;
    }

    #contacts a, #contacts p {
        font-size: 18px;
    }

    #contacts > .icon {
        width: 295px;
        height: 295px;
    }

        #contacts > .icon.at {
            background-image: url(../img/contact/at.svg);
        }

    #contacts > .info {
        padding-right: 10px;
        display: grid;
        grid-gap: 50px 0;
        box-sizing: border-box;
    }

        #contacts > .info > h2 {
            font-weight: 500;
        }

        #contacts > .info > .contact {
            display: grid;
            grid-gap: 15px 0;
        }

            #contacts > .info > .contact > .item {
                display: grid;
                grid: auto / max-content 1fr;
                grid-gap: 0 15px;
                align-items: center;
            }

                #contacts > .info > .contact > .item:nth-child(2) > a:hover {
                    text-decoration: none;
                }

                #contacts > .info > .contact > .item > .icon {
                    width: 26px;
                    height: 26px;
                }

                    #contacts > .info > .contact > .item > .icon.phone {
                        background-image: url(../img/contact/phone.svg);
                    }

                    #contacts > .info > .contact > .item > .icon.mail {
                        background-image: url(../img/contact/mail.svg);
                    }

        #contacts > .info > .address {
            display: grid;
            grid-gap: 1em 0;
        }

            #contacts > .info > .address > .item > p:nth-child(2) {
                font-weight: 500;
            }

            #contacts > .info > .address > .item.requisites {
                margin-top: 2em;
            }

                #contacts > .info > .address > .item.requisites > p:nth-child(2) {
                    margin-top: 1em;
                    line-height: 22px;
                    font-size: 16px;
                    font-weight: 400;
                }



/*** footer ***/
footer {
    padding-bottom: 60px;
    display: grid;
    grid-gap: 50px 0;
}

    footer h4 {
        font-weight: 500;
    }

    footer hr {
        width: 100%;
        height: 1px;
        background-color: #bbc2ce;
    }

    footer > .extra {
        display: grid;
        grid-auto-flow: column;
        grid-gap: 0 30px;
    }

        footer > .extra > * {
            display: grid;
        }

        footer > .extra > nav.bottom {
            grid-auto-flow: column;
            grid-gap: 30px;
        }

            footer > .extra > nav.bottom > h4 {
                display: none;
            }

            footer > .extra > nav.bottom > a {
                grid-column: 1;
            }

            footer > .extra > nav.bottom > ul {
                display: grid;
                grid-auto-flow: dense;
                grid-gap: 10px;
            }

                footer > .extra > nav.bottom > ul > li > a {
                    color: #000;
                    font-size: 16px;
                    font-weight: 300;
                    text-decoration: none;
                    cursor: pointer;
                }

                footer > .extra > nav.bottom > ul > li:nth-child(-n+4) {
                    grid-column: 1;
                }

                footer > .extra > nav.bottom > ul > li:nth-child(n+5) {
                    grid-column: 2;
                }

            footer > .extra > nav.bottom .logo {
                width: 170px;
                height: 80px;
                cursor: pointer;
            }

        footer > .extra > .join {
            grid-gap: 20px 0;
            align-content: start;
        }

            footer > .extra > .join > .social {
                display: grid;
                grid-auto-flow: column;
                grid-gap: 0 20px;
                justify-content: start;
            }

                footer > .extra > .join > .social > a {
                    width: 36px;
                    height: 36px;
                    border-radius: 30px;
                    background-color: #5a78f5;
                    background-size: 22px;
                }

                    footer > .extra > .join > .social > a:hover {
                        background-color: #4f70db;
                    }

                    footer > .extra > .join > .social > a:active {
                        background-color: #3d56a8;
                    }

                    footer > .extra > .join > .social > a.icon.vk {
                        background-image: url(../img/social/vk-logo.svg);
                    }

                    footer > .extra > .join > .social > a.icon.facebook {
                        background-image: url(../img/social/facebook-logo.svg);
                    }

                    footer > .extra > .join > .social > a.icon.ok {
                        background-image: url(../img/social/ok-logo.svg);
                    }

                    footer > .extra > .join > .social > a.icon.instagram {
                        background-image: url(../img/social/instagram-logo.svg);
                    }

                    footer > .extra > .join > .social > a.icon.youtube {
                        background-image: url(../img/social/youtube-logo.svg);
                    }

                    footer > .extra > .join > .social > a.icon.telegram {
                        background-image: url(../img/social/telegram-logo.svg);
                        background-position-x: 40%;
                        background-position-y: 60%;
                    }

    footer > .copyright > p {
        color: #666;
        font-size: 16px;
        font-weight: 300;
    }


/** notification-popup **/
#notification-popup[data-show="0"] .warning-input {
    top: -100px;
}

.warning-input {
    position: fixed;
    top: 10px;
    left: 50%;
    padding: 10px;
    width: calc(100% - 20px);
    max-width: 400px;
    display: grid;
    grid-gap: 5px 0;
    border-radius: 10px;
    background-color: #f3f3f3;
    box-shadow: 2px 2px 7px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    transition: cubic-bezier(0.39, 0.58, 0.57, 1) 0.6s;
    transform: translateX(-50%);
    z-index: 100;
}

    .warning-input p:first-child {
        font-size: 18px;
        font-weight: 400;
        text-align: center;
    }

    .warning-input p:nth-child(2) {
        font-size: 16px;
        font-weight: 300;
    }

    .warning-input button {
        position: absolute;
        top: 7px;
        right: 7px;
        padding: 0;
        width: 18px;
        height: 18px;
        min-width: unset;
        background-color: transparent;
        background-image: url(../img/cross-577bf4.svg);
    }



/*** popup ***/
.popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 100;
    transition: ease-in-out 0.1s;
}

    .popup[data-show="0"] .popupBG {
        opacity: 0;
    }

.popupBG {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    background-color: rgba(0,0,0,0.3);
    transition: ease-in-out 0.1s;
}

.popup > .window {
    position: fixed;
    top: 50%;
    left: 50%;
    padding: 25px;
    width: calc(100% - 100px);
    max-width: 800px;
    display: grid;
    grid-gap: 25px 0;
    border-radius: 20px;
    background-color: #fff;
    box-shadow: 11px 10px 34px rgba(219,224,240,.15);
    transform: translate(-50%, -50%);
    box-sizing: border-box;
    z-index: 5;
}


    /** Шапка **/
    .popup > .window > .header > * + * {
        margin-top: 15px;
    }

    .popup > .window > .header > h3 {
        font-weight: 500;
        text-align: center;
    }

    .popup > .window > .header > p {
        font-size: 18px;
    }

    .popup > .window button.close {
        position: absolute;
        top: -15px;
        right: -15px;
        padding: unset;
        min-width: unset;
        width: 40px;
        height: 40px;
        border-radius: 30px;
        background-size: 14px;
        background-image: url(../img/cross-fff.svg);
    }


    /** Основная часть **/
    .popup > .window > .content {
        display: grid;
        grid-auto-flow: column;
        grid-gap: 0 30px;
        grid-template-columns: max-content 1fr;
    }

        /* Картинка */
        .popup > .window > .content > .img {
            position: relative;
            top: 42%;
            transform: translateY(-50%);
            width: 250px;
            height: 250px;
        }

            .popup > .window > .content > .img.contact {
                background-image: url(../img/popups/contact.svg);
            }

            .popup > .window > .content > .img.discuss {
                background-image: url(../img/popups/discuss.svg);
            }

        /* Форма */
        .popup > .window > .content > .form-group {
            display: grid;
            grid-gap: 10px 0;
        }

            .popup > .window > .content > .form-group input,
            .popup > .window > .content > .form-group textarea {
                padding: 0 10px;
                width: 100%;
                border: 1px solid #aaa;
                border-radius: 6px;
                color: #000;
                box-sizing: border-box;
            }

            .popup > .window > .content > .form-group input {
                height: 38px;
            }

            .popup > .window > .content > .form-group textarea {
                padding: 8px 10px;
                height: 92px;
                resize: none;
            }

                .popup > .window > .content > .form-group input,
                .popup > .window > .content > .form-group textarea,
                .popup > .window > .content > .form-group input::placeholder,
                .popup > .window > .content > .form-group textarea::placeholder {
                    font-size: 16px;
                    font-weight: 300;
                }

                    .popup > .window > .content > .form-group input::placeholder,
                    .popup > .window > .content > .form-group textarea::placeholder {
                        color: #999;
                    }

            .popup > .window > .content > .form-group .terms {
                padding: 0 5px;
                color: #666;
                font-size: 12px;
                text-align: justify;
            }

            .popup > .window > .content > .form-group button {
                justify-self: end;
            }

/*.popup > .window > .content > .form-group [required] {
	background-position: 4px 4px;
	background-size: 5px;
	background-image: url(../img/required-ff0.svg);
}*/



/*** BG Symbols ***/
/* relative */
#about,
#about .dynamic-images,
#about .about h1,
#description,
#description > ul.aboutThings > li,
#demo,
#demo > ul.aboutThings > li,
#services,
#services > ul.services > li,
#advantages,
#contacts > .info > h2,
footer {
    position: relative;
}

    /* common */
    #about::after,
    #about::before,
    #about .dynamic-images::before,
    #about .about h1::before,
    #description::before,
    #description > ul.aboutThings > li:nth-child(1)::after,
    #description > ul.aboutThings > li:nth-child(2)::before,
    #description > ul.aboutThings > li:nth-child(3)::before,
    #description > ul.aboutThings > li:nth-child(4)::after,
    #description > ul.aboutThings > li:nth-child(5)::before,
    #description > ul.aboutThings > li:nth-child(6)::after,
    #description > ul.aboutThings > li:nth-child(7)::before,
    #demo::before,
    #demo > ul.aboutThings > li:nth-child(1)::after,
    #services::before,
    #services > ul.services > li:nth-child(1)::after,
    #services > ul.services > li:nth-child(2)::before,
    #advantages::before,
    #contacts > .info > h2::after,
    footer::before {
        position: absolute;
        content: '';
        opacity: 0.75;
        z-index: -5;
    }

    #about::before,
    #description > ul.aboutThings > li:nth-child(3)::before,
    #description > ul.aboutThings > li:nth-child(5)::before,
    #description > ul.aboutThings > li:nth-child(7)::before,
    #services > ul.services > li:nth-child(1)::after,
    #services > ul.services > li:nth-child(2)::before,
    footer::before {
        transform: rotate(90deg);
    }

    /* lines */
    #about::after,
    #description > ul.aboutThings > li:nth-child(1)::after,
    #description > ul.aboutThings > li:nth-child(4)::after,
    #description > ul.aboutThings > li:nth-child(6)::after,
    #demo > ul.aboutThings > li:nth-child(1)::after,
    #services > ul.services > li:nth-child(1)::after,
    #contacts > .info > h2::after {
        width: 110px;
        height: 45px;
        background-image: url(../img/bg-symbols/lines.svg);
    }

    /* dots */
    #about::before,
    #about .dynamic-images::before,
    #about .about h1::before,
    #description::before,
    #description > ul.aboutThings > li:nth-child(2)::before,
    #description > ul.aboutThings > li:nth-child(3)::before,
    #description > ul.aboutThings > li:nth-child(5)::before,
    #description > ul.aboutThings > li:nth-child(7)::before,
    #demo::before,
    #services::before,
    #services > ul.services > li:nth-child(2)::before,
    #advantages::before,
    footer::before {
        width: 130px;
        height: 60px;
        background-image: url(../img/bg-symbols/dots.svg);
    }

    /* sizes */
    #about::after {
        top: -40px;
        left: calc(50% - 40px);
        z-index: 1;
    }

    #about::before {
        top: 310px;
        left: calc(50% - 60px);
        z-index: 1;
    }

    #about .about h1::before {
        top: 100px;
        left: -50px;
    }

    #about .dynamic-images::before {
        top: 0;
        right: -160px;
    }

    #description::before {
        bottom: -80px;
        left: -30px;
    }

    #demo::before {
        bottom: -80px;
        left: -30px;
    }

    #demo > ul.aboutThings > li:nth-child(1)::after {
        top: 10px;
        left: -70px;
        z-index: 0;
    }

    #description > ul.aboutThings > li:nth-child(1)::after {
        top: 10px;
        left: -70px;
        z-index: 0;
    }

    #description > ul.aboutThings > li:nth-child(2)::before {
        top: -40px;
        right: 70px;
        z-index: 0;
    }

    #description > ul.aboutThings > li:nth-child(3)::before {
        top: calc(50% + 50px);
        left: -55px;
        z-index: 0;
    }

    #description > ul.aboutThings > li:nth-child(4)::after {
        top: calc(50% + 70px);
        right: -90px;
        z-index: 0;
    }

    #description > ul.aboutThings > li:nth-child(5)::before {
        top: calc(50% - 90px);
        left: -70px;
        z-index: 0;
    }

    #description > ul.aboutThings > li:nth-child(6)::after {
        top: calc(50% + 150px);
        right: 90px;
        z-index: 0;
    }

    #description > ul.aboutThings > li:nth-child(7)::before {
        top: calc(50% + 40px);
        right: -80px;
        z-index: 0;
    }

    #services::before {
        bottom: -35px;
        right: 50px;
        z-index: 0;
    }

    #services > ul.services > li:nth-child(1)::after {
        top: 250px;
        right: -100px;
        z-index: 0;
    }

    #services > ul.services > li:nth-child(2)::before {
        top: 40px;
        right: -60px;
        z-index: 0;
    }

    #advantages::before {
        bottom: -70px;
        right: 200px;
    }

    #contacts > .info > h2::after {
        top: -60px;
        left: -390px;
        z-index: 0;
    }

    footer::before {
        bottom: -20px;
        right: calc(50% - 240px);
    }



/*** demo ***/
#demo {
    margin-left: auto;
    margin-right: auto;
    width: 945px;
    display: grid;
    grid-gap: 50px 0;
}


    /** aboutThings **/
    #demo > ul.aboutThings {
        display: grid;
        grid-gap: 50px 0;
        justify-items: center;
    }

        #demo > ul.aboutThings > li {
            padding: 30px 50px;
            width: 90%;
            display: grid;
            grid-auto-flow: column;
            grid-gap: 20px;
            grid-template-columns: 300px 1fr;
            border-radius: 15px;
            background-color: #fff;
            box-shadow: 0 0 100px 0 rgba(54,94,155,0.4);
            box-sizing: border-box;
        }

            #demo > ul.aboutThings > li .demo {
                display: grid;
                grid-auto-flow: row;
                grid-gap: 25px 0
            }

            #demo > ul.aboutThings > li .sub {
                display: grid;
                grid-auto-flow: row;
                grid-gap: 16px 0;
            }

            #demo > ul.aboutThings > li h4 {
                font-weight: 500;
            }

            #demo > ul.aboutThings > li .sub p {
                color: #666;
                font-size: 18px;
                text-align: justify;
            }

            #demo > ul.aboutThings > li span.note {
                margin-top: -10px;
                color: #666;
                font-size: 14px;
                text-align: justify;
            }

            #demo > ul.aboutThings > li button {
                width: 50%;
            }

            #demo > ul.aboutThings > li > img {
                justify-self: center;
                width: 50%;
                border-radius: 5px;
                box-shadow: 0px 5px 10px 2px rgba(34, 60, 80, 0.2);
                cursor: zoom-in;
                transition: 0.4s ease-out;
            }

            #demo > ul.aboutThings > li:nth-child(2) > img {
                box-shadow: unset;
            }

            #demo > ul.aboutThings > li > img[data-zoom="1"] {
                transform: scale(2.5);
                cursor: zoom-out;
                z-index: 1000;
            }

    #demo .aboutThings .icon {
        align-self: center;
        justify-self: center;
        width: 150px;
        height: 100%;
        max-height: 150px;
    }
    #demo .aboutThings .icon.demo {
        background-image: url(/img/logo-kirosoft.svg);
    }

        #demo .aboutThings .icon.demoAnimIcon {
            position: relative;
            overflow: hidden;
            align-self: center;
            justify-self: center;
            width: 150px;
            height: 100%;
            max-height: 150px;
        }
        #demo .aboutThings .icon.demoAnimIcon .demoIcon {
            position: relative;
            top: 50%;
            transform: translateY(-50%);
            animation: 4s demoIcon infinite alternate;
            align-self: center;
            justify-self: center;
            width: 150px;
            height: 100%;
            max-height: 150px;
        }
button.demoAnimLogoIcon {
    position: fixed;
    overflow: visible;
    align-self: center;
    justify-self: center;
    min-width: 150px;
    width: 150px;
    min-height: 150px;
    height: 150px;
    left: 20px;
    bottom: 10px;
    z-index: 10001;
    padding: 0px 0px;
    border-radius: 5px;
    background-color: transparent;
    opacity: 0.9;
}
div.demoLogoIcon {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    animation: 2s demoIcon infinite alternate;
    align-self: center;
    justify-self: center;
    min-width: 150px;
    width: 150px;
    min-height: 150px;
    height: 150px;
}
    @keyframes demoIcon {
        0% {
            background-image: url(../img/demo-text.svg);
        }
        50% {
            background-image: url(../img/demo-text.svg);
        }
        100% {
            background-image: url(../img/demo-logo.svg);
        }
    }

    #demo .desc-block {
        display: flex;
        flex-direction: column;
        row-gap: 12px;
    }

ul.cols {
    display: grid;
    grid-auto-flow: column;
    grid-gap: 50px;
    align-items: start;
}

    ul.cols > li {
        width: 100%;
        max-width: 360px;
        display: grid;
        grid-gap: 20px 0;
    }
