a {
    position: relative;
    z-index: 2
}

a, a:hover {
    text-decoration: none;
    outline: 0
}

::after, ::before, a, button, img, input, path, svg, textarea {
    transition: .5s
}

a, a:hover, button, input, textarea {
    color: inherit
}

button, input, textarea {
    display: block;
    background-color: transparent;
    outline: 0;
    border: none;
    padding: 0;
    font: inherit
}

button {
    cursor: pointer
}

button:focus {
    outline: 0
}

input, textarea {
    border-bottom: 4px solid #000;
    padding: 0 1px;
    border-radius: 0
}

textarea {
    resize: none;
    overflow: hidden
}

::-ms-input-placeholder {
    color: #000;
    transition: .5s;
    height: inherit;
    line-height: inherit;
    opacity: 1;
}

::placeholder {
    color: #000;
    transition: .5s;
    height: inherit;
    line-height: inherit;
    opacity: 1;
}

::-webkit-input-placeholder {
    color: #000;
    transition: .5s;
    height: inherit;
    line-height: inherit;
    opacity: 1;
}

::-moz-placeholder {
    color: #000;
    transition: .5s;
    height: inherit;
    line-height: inherit;
    opacity: 1;
}

:-moz-placeholder {
    color: #000;
    transition: .5s;
    height: inherit;
    line-height: inherit;
    opacity: 1;
}

:-ms-input-placeholder {
    color: #000;
    transition: .5s;
    height: inherit;
    line-height: inherit;
    opacity: 1;
}

:focus {
    border-bottom-color: #c8c8c8
}

input:-webkit-autofill, input:-webkit-autofill:focus input:-webkit-autofill, input:-webkit-autofill:hover, select:-webkit-autofill, select:-webkit-autofill:focus, select:-webkit-autofill:hover, textarea:-webkit-autofill, textarea:-webkit-autofill:hover textarea:-webkit-autofill:focus {
    -webkit-text-fill-color: #fff;
    background-color: transparent !important;
    transition: background-color 5000s ease-in-out
}

img {
    max-width: 100%;
    height: auto;
    -o-object-fit: cover;
    object-fit: cover
}

@-webkit-keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translateY(-150%)
    }
    to {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translateY(-150%)
    }
    to {
        opacity: 1;
        transform: translateY(0)
    }
}

@-webkit-keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(100%)
    }
    to {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(100%)
    }
    to {
        opacity: 1;
        transform: translateY(0)
    }
}

@-webkit-keyframes fadeInLeft {
    from {
        opacity: 0;
        transform: translateX(-100%)
    }
    to {
        opacity: 1;
        transform: translateX(0)
    }
}

@keyframes fadeInLeft {
    from {
        opacity: 0;
        transform: translateX(-100%)
    }
    to {
        opacity: 1;
        transform: translateX(0)
    }
}

@-webkit-keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translateX(100%)
    }
    to {
        opacity: 1;
        transform: translateX(0)
    }
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translateX(100%)
    }
    to {
        opacity: 1;
        transform: translateX(0)
    }
}

.animated-item {
    opacity: 0;
    -webkit-animation-duration: .7s;
    animation-duration: .7s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both
}

.active-animated {
    opacity: 1
}

.node {
    width: 55px;
    height: 55px;
    position: fixed;
    background-color: transparent;
    border-radius: 50%;
    top: 0;
    left: 0;
    z-index: 2;
    border: 1px solid #fff;
    opacity: 1;
    transition: opacity .3s linear, transform .3s linear, border .3s linear, background-color .3s linear
}

.node.hidden {
    display: none
}

.node.white {
    background-color: #fff
}

.node.yellow {
    background-color: #fbd100
}

.node.big {
    transform: scale(2.1)
}

#preloader {
    width: 100%;
    height: 100%;
    background-color: #fbd100;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999
}

#preloader video {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.main-header, .section-feedback {
    height: 100vh;
    height: calc(100vh - (100vh - 100%));
    overflow: hidden;
    padding: 5vmin 0
}

.main-header > .container, .section-feedback > .container {
    height: 100vh;
    height: calc(100vh - (100vh - 100%))
}

.offer {
    max-width: 670px;
    margin-bottom: 8vmin
}

.offer__title {
    margin: 0 0 4.5vmin -2vmin;
    font-size: calc(5em + 14.1vmin);
    line-height: .8
}

.offer__desc.active-animated, .offer__title.active-animated {
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp
}

.offer__desc {
    font-size: calc(1em + 1.75vmin);
    font-weight: 700;
    line-height: 1.02
}

.offer__desc br:first-child {
    display: none
}

.c-hamburger {
    width: 40px;
    height: 24px;
    position: relative;
    z-index: 110;
    margin-top: 5vh
}

.c-hamburger.active-animated {
    -webkit-animation-name: fadeInDown;
    animation-name: fadeInDown
}

.c-hamburger--htx::after, .c-hamburger--htx::before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    height: 3px;
    background-color: #000;
    transition-timing-function: linear
}

.c-hamburger--htx::before {
    width: 100%;
    top: 8px;
    transition-property: top, transform;
    transition-duration: .3s;
    transition-delay: .3s, 0s
}

.c-hamburger--htx::after {
    width: 20px;
    bottom: 4px;
    transition-property: bottom, width, transform;
    transition-duration: .3s;
    transition-delay: .3s, .3s, 0s
}

.c-hamburger--htx.is-active::before {
    top: 10px;
    transform: rotate(45deg)
}

.c-hamburger--htx.is-active::after {
    bottom: 11px;
    width: 100%;
    transform: rotate(-45deg)
}

.menu__item {
    position: relative;
    z-index: 2;
    font-weight: 500;
    text-transform: uppercase;
    font-size: calc(1.8em + 4.62vmin)
}

.menu__item.active-animated {
    -webkit-animation-name: fadeInLeft;
    animation-name: fadeInLeft
}

.menu__item:first-child {
    -webkit-animation-delay: .3s;
    animation-delay: .3s
}

.menu__item:last-child {
    -webkit-animation-delay: .55s;
    animation-delay: .55s
}

.menu__item:not(:last-child) {
    margin-bottom: 2.5vmin
}

.menu__link::after {
    content: '';
    display: block;
    width: 0;
    height: 3px;
    background-color: #000;
    position: absolute;
    left: 0;
    bottom: 2px
}

.menu__link:hover::after {
    width: 100%
}

.link-form {
    display: block;
    width: 192px;
    height: 192px;
    margin: 0 20px 3vmax auto;
    border-radius: 50%;
    text-align: center;
    line-height: 190px;
    position: relative
}

.link-form.active-animated {
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp
}

.link-form__circle {
    -webkit-animation: 3s linear infinite circle-message;
    animation: 3s linear infinite circle-message;
    width: 150%;
    height: 150%;
    position: absolute;
    top: -25%;
    left: -25%;
    z-index: -1
}

.link-form__circle::after, .link-form__circle::before {
    content: '';
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background-color: #000;
    position: absolute;
    top: 50%;
    transform: translateY(-50%)
}

.link-form__circle::before {
    left: 35px
}

.link-form__circle::after {
    right: 35px
}

@-webkit-keyframes circle-message {
    100% {
        transform: rotate(180deg)
    }
}

@keyframes circle-message {
    100% {
        transform: rotate(180deg)
    }
}

.link-form__message {
    font-weight: 700;
    font-size: 7px;
    text-transform: uppercase
}

.section-feedback .section-info__title::before {
    background-color: #fff
}

.nav {
    margin-bottom: 7vmin
}

.nav__link {
    padding: 7px;
    font-weight: 700;
    font-size: calc(1em + 1.3vmin)
}

.nav__link.active-animated {
    -webkit-animation-name: fadeInDown;
    animation-name: fadeInDown
}

.nav__close {
    position: relative;
    width: calc(.684em + .6vmin);
    height: calc(.684em + .6vmin);
    margin-right: 5px
}

.nav__close::after, .nav__close::before {
    content: '';
    display: inline-block;
    width: 100%;
    height: 4px;
    background-color: #000;
    border-radius: 10px;
    position: absolute;
    bottom: 28%;
    left: 0
}

.nav__close::before {
    transform: rotate(45deg)
}

.nav__close::after {
    transform: rotate(-45deg)
}

.feedback {
    position: relative
}

.feedback__title {
    font-size: calc(1.5em + 4.4vmin);
    margin-bottom: 7vmin;
    -webkit-animation-delay: .3s;
    animation-delay: .3s
}

.feedback__field.active-animated, .feedback__title.active-animated {
    -webkit-animation-name: fadeInLeft;
    animation-name: fadeInLeft
}

.feedback__field {
    max-width: 703px;
    width: 100%;
    position: relative;
    z-index: 2;
    font-size: calc(1.5em + 3vmin);
    font-weight: 500;
    text-transform: uppercase;
    line-height: normal;
    text-overflow: ellipsis
}

.feedback__field:not(.feedback__field_message) {
    margin-bottom: 3vmin
}

.feedback__field_name {
    -webkit-animation-delay: .4s;
    animation-delay: .4s
}

.feedback__field_email {
    -webkit-animation-delay: .55s;
    animation-delay: .55s
}
.feedback__field_phone {
    -webkit-animation-delay: .7s;
    animation-delay: .7s
}
.feedback__field:focus {
    background-color: #fff;
    border-bottom-color: transparent
}

.feedback__field_message {
    line-height: calc(1.1em + 1vmax);
    height: calc(1.1em + 1vmax);
    -webkit-animation-delay: .85s;
    animation-delay: .85s
}

.feedback__btn {
    max-width: 257px;
    width: 100%;
    position: absolute;
    right: 0;
    bottom: -7%;
    z-index: 2;
    text-transform: uppercase;
    font-size: calc(1.6em + 3.2vmin);
    font-weight: 700;
    -webkit-animation-delay: .9s;
    animation-delay: .9s;
    overflow: hidden;
}

.feedback__btn::before {
    content: '';
    display: block;
    width: 100%;
    height: 50%;
    background-color: #fff;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1
}


.feedback__btn:hover::before {
    height: 100%
}

.feedback__btn.active-animated {
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp
}

.feedback__btn > span {
    position: relative;
    z-index: 2
}

.section-info {
    max-width: 725px;
    margin-bottom: 6vmin
}

.section-info__desc.active-animated, .section-info__title.active-animated {
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp
}

.section-info__title {
    -webkit-animation-delay: .2s;
    animation-delay: .2s;
    display: inline-block;
    font-size: 14px;
    margin-bottom: 1.2vmin;
    position: relative;
    z-index: 2
}

.section-info__title span {
    position: relative;
    z-index: 2;
    transform-style: preserve-3d
}

.section-info__title::before {
    content: '';
    display: block;
    width: 101%;
    height: 100%;
    background-color: #eeeeee;
    position: absolute;
    bottom: 0;
    left: -1px;
    z-index: -1;
    transform: translateZ(-1em)
}

.section-info__title:hover::before {
    height: 100%
}

.section-info__desc {
    -webkit-animation-delay: .35s;
    animation-delay: .35s;
    font-size: calc(1em + 1.3vmin);
    font-weight: 300;
    line-height: 1.1
}

.section-services {
    height: 120vh;
    overflow: hidden;
    padding: 5vmin 0
}

.services__title {
    font-size: calc(1.6em + 3.39vmin);
    margin-bottom: 2.8vmin
}

.services__title.active-animated {
    -webkit-animation-name: fadeInLeft;
    animation-name: fadeInLeft
}

.services-list__item {
    position: relative;
    padding-top: 2.8vmin;
    z-index: 2
}

.services-list__item:not(:last-child) {
    margin-bottom: 2.8vmin
}

.services-list__item::before {
    content: '';
    display: inline-block;
    width: 200%;
    height: 1px;
    background-color: #000;
    position: absolute;
    top: 0;
    left: -16px
}

.services-list__item:hover::before {
    width: 100%;
    left: 0
}

.services-list__item:first-child {
    -webkit-animation-delay: .4s;
    animation-delay: .4s
}

.services-list__item:nth-child(2) {
    -webkit-animation-delay: .6s;
    animation-delay: .6s
}

.services-list__item:last-child {
    -webkit-animation-delay: .8s;
    animation-delay: .8s
}

.services-list__item.active-animated:first-child {
    -webkit-animation-name: fadeInLeft;
    animation-name: fadeInLeft
}

.services-list__item.active-animated:nth-child(2) {
    -webkit-animation-name: fadeInRight;
    animation-name: fadeInRight
}

.services-list__item.active-animated:last-child {
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp
}

.services-list__title {
    font-size: calc(1.015em + 2.2vmin);
    width: 41%
}

.services-list__content {
    width: 55%
}

.services-list__content p {
    font-size: calc(1.1em + .685vmin);
    line-height: 1.2
}

.services-list__content p:not(:last-child) {
    margin-bottom: 2.5vmin
}

.section-clients {
    padding-top: 77px
}

.clients {
    border: 1px solid #000;
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 2fr;
    grid-auto-rows: minmax(360px, auto);
    position: relative;
    z-index: 2
}

.client {
    border: 1px solid #000;
    position: relative;
    overflow: hidden;
    transform: translateZ(0)
}

.client svg {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0
}

.client circle {
    transform-origin: 50% 50%;
    transform: scale(0);
    transition: transform .7s cubic-bezier(.25, .46, .45, .94)
}

.title {
    font-size: 40px;
    text-transform: none
}

.client text {
    font-size: calc(.9em + .5vmin);
    text-anchor: middle;
    font-weight: 700
}

.svg-text {
    fill: #000
}

.client image {
    transform-origin: 50% 50%;
    transition: transform .7s cubic-bezier(.25, .46, .45, .94);
    transform: translateX(-54%);
}

.client:hover circle {
    transform: scale(1);
}
.client:hover image {
    transform: scale(1) translateX(-54%);
}

.client:nth-child(8n-7) {
    grid-column: 1/2
}

.client:nth-child(8n-6) {
    grid-column: 2/4
}

.client:nth-child(8n-5) {
    grid-column: 4/5
}

.client:nth-child(8n-4) {
    grid-column: 1/3;
    height: 540px
}

.client:nth-child(8n-3) {
    grid-column: 3/5;
    height: 540px
}

.client:nth-child(8n-2) {
    grid-column: 1/4;
    grid-row: span 2
}

.client:nth-child(8n), .client:nth-child(8n-1) {
    grid-column: 4/5
}

.client.active-animated:nth-child(8n-7) {
    -webkit-animation-name: fadeInLeft;
    animation-name: fadeInLeft;
    -webkit-animation-delay: .3s;
    animation-delay: .3s
}

.client.active-animated:nth-child(8n-6) {
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp;
    -webkit-animation-delay: .35s;
    animation-delay: .35s
}

.client.active-animated:nth-child(8n-5) {
    -webkit-animation-name: fadeInRight;
    animation-name: fadeInRight;
    -webkit-animation-delay: .4s;
    animation-delay: .4s
}

.client.active-animated:nth-child(8n-4) {
    -webkit-animation-name: fadeInLeft;
    animation-name: fadeInLeft
}

.client.active-animated:nth-child(8n-3) {
    -webkit-animation-name: fadeInRight;
    animation-name: fadeInRight
}

.client.active-animated:nth-child(8n-2) {
    -webkit-animation-name: fadeInLeft;
    animation-name: fadeInLeft
}

.client.active-animated:nth-child(8n-1) {
    -webkit-animation-name: fadeInRight;
    animation-name: fadeInRight
}

.client.active-animated:nth-child(8n) {
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp
}

@media screen and (min-width: 1200px) {
    .container {
        max-width: 1200px
    }
}

@media screen and (min-width: 1400px) {
    .container {
        max-width: 80%
    }
}

@media screen and (max-width: 1919px), screen and (max-height: 759px) {
    .section-services {
        height: auto;
        overflow-x: hidden;
        overflow-y: visible
    }
}

@media screen and (max-width: 1400px) {
    .feedback__title{
        margin-bottom: 5vmin;
    }
    .section-info {
        margin-bottom: 3vmin;
    }
    .section-info__title {
    /* font-size: calc(1.6em + 2.2vmin); */
    }.services__title {
    font-size: calc(1.6em + 2.39vmin);
    margin-bottom: 2.8vmin;
}.services-list__title {
    font-size: calc(1.015em + 1.2vmin);
    width: 41%;
}.services-list__content p {
    font-size: calc(1.1em + .485vmin);
    line-height: 1.2;
}
.feedback__title {
    font-size: calc(1.5em + 3.4vmin);
}
.feedback__field {
    font-size: calc(1.5em + 2vmin);
}.client image {
    width: 100%;
    transform: translateX(-50%);
    height: 100%;
}
.section-clients {
    padding-top: 30px;
}
.client:hover image {
    transform: scale(1) translateX(-50%);
}
.clients {

    grid-auto-rows: minmax(250px, auto);
}
.client:nth-child(8n-3){
    height: 385px;
}
.client:nth-child(8n-4){
    height: 385px;
}
}
@media screen and (max-width: 1199.98px) {
    .client circle {
        transform: scale(3);
    }
    .client {
        pointer-events: none;
    }
    .container-fluid {
        padding: 0 0px
    }

    .node {
        display: none
    }

    .feedback__field {
        max-width: 580px
    }

    .section-services {
        height: auto;
        overflow-x: hidden;
        overflow-y: visible
    }

    .section-info__title {
        /* margin-bottom: 20px */
    }

    .services-list__title {
        margin-bottom: 12px
    }

    .services-list__item:not(:last-child) {
        margin-bottom: 25px
    }

    .services-list__item {
        padding-top: 25px
    }
    .menu__item {

    font-size: calc(1.8em + 3.62vmin);
    }
.clients {
    grid-auto-rows: minmax(195px, auto);
}
.client:nth-child(8n-4) {
    height: 290px;
}
.client:nth-child(8n-3) {
    height: 290px;
}.section-feedback > .container {
    height: 100vh;
    height: calc(100vh - (100vh - 80%));
}
}

@media screen and (max-width: 991.98px) {
    #preloader video {
        -o-object-fit: contain;
        object-fit: contain
    }

    .menu {
        width: 100%;
        height: calc(100vh - (100vh - 100%));
        background-color: #fff;
        position: fixed;
        top: 0;
        right: -100%;
        z-index: 99;
        transition: .7s;
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center
    }

    .menu.visible-menu {
        right: 0
    }

    .menu__item.active-animated {
        opacity: 1;
        -webkit-animation-name: fadeInRight;
        animation-name: fadeInRight
    }

    .offer {
        margin-bottom: 0
    }

    .link-form {
        margin: 0 auto 3vmax
    }

    .feedback__field {
        max-width: 703px
    }

    .feedback__btn {
        position: relative;
        margin-top: 5vh
    }

    .clients {
    grid-auto-rows: minmax(140px, auto);
}.client:nth-child(8n-4) {
    height: 210px;
}.client:nth-child(8n-3) {
    height: 210px;
}
}
.client_name {
    display: none;
}
@media screen and (max-width: 768px) {
    .container-fluid {
        padding: 0px 15px;
    }
    .client image {
    width: 100%;
    transform: translateX(-50%);
    height: auto;
    }
    .client {
        border: none;
    }
    .client:hover image {
        transform: scale(1) translateX(-58%);
    }
    .client circle {
        transform: scale(3);
    }
    .client {
        pointer-events: none;
    }
    .link-form {
        width: 150px;
        height: 150px;
        line-height: 150px
    }

    .services-list__content, .services-list__title {
        width: auto
    }

    .clients {
        grid-template-columns: repeat(6, 1fr);
        border: none
    }

    .client {
        margin-bottom: 30px;
        border-top-width: 2px;
        border-bottom-width: 2px;
        overflow: visible;
    }
    p.client_name {position: absolute;
        display: block;
    bottom: -5px;
    left: 0px;
    font-size: 20px;
}

    .client:nth-child(odd) {
        border-left-width: 2px
    }

    .client:nth-child(even) {
        border-right-width: 2px
    }

    .client.active-animated:nth-child(odd) {
        -webkit-animation-name: fadeInUp;
        animation-name: fadeInUp
    }

    .client.active-animated:nth-child(even) {
        -webkit-animation-name: fadeInUp;
        animation-name: fadeInUp
    }

    .client:nth-child(8n-1), .client:nth-child(8n-3), .client:nth-child(8n-5), .client:nth-child(8n-7) {
        grid-column: 1/4
    }

    .client:nth-child(8n), .client:nth-child(8n-2), .client:nth-child(8n-4), .client:nth-child(8n-6) {
        grid-column: 4/7
    }

    .client:nth-child(8n-3), .client:nth-child(8n-4) {
        height: auto
    }

    .client:nth-child(8n-2) {
        grid-row: inherit
    }
}

@media screen and (max-width: 575.98px) {
    .offer__desc br:first-child {
        display: inline-block
    }

    .offer__desc br:nth-child(2) {
        display: none
    }

    .link-form {
        width: 115px;
        height: 115px;
        line-height: 115px
    }
    .link-form__envelope {
        height: 50px;
    }

    .feedback__btn {
        max-width: 220px
    }

    .clients {
        grid-template-columns: 1fr;
        grid-auto-rows: minmax(260px, auto)
    }

    .client:nth-child(odd) {
        border-right-width: 2px
    }

    .client:nth-child(even) {
        border-left-width: 2px
    }

    .client:nth-child(8n-3), .client:nth-child(8n-4) {
        height: auto
    }

    .client:nth-child(8n), .client:nth-child(8n-1), .client:nth-child(8n-2), .client:nth-child(8n-3), .client:nth-child(8n-4), .client:nth-child(8n-5), .client:nth-child(8n-6), .client:nth-child(8n-7) {
        grid-column: inherit
    }
}

@media screen and (min-width: 320px) and (max-width: 767px) and (orientation: landscape) {
    .fullpage, .main-header, .main-header > .container, .section-feedback, .section-feedback > .container {
        height: auto
    }

    .main-header > .container, .section-feedback > .container {
        justify-content: normal !important
    }

    .main-header, .section-feedback {
        overflow-x: hidden;
        overflow-y: visible
    }

    .offer {
        margin-bottom: 30px
    }
}