.layout {
    display: flex;
    flex-direction: column;
    height: auto;
    min-height: 100vh;
    position: relative
}

.layout__body {
    flex-grow: 1;
    position: relative;
    padding-top: 2.08333vw
}

.layout__footer {
    flex-shrink: 0
}

.container {
    max-width: calc(1684px + 2.85714rem);
    padding: 0 20px;
    margin: 0 auto;
    box-sizing: border-box;
    width: 100%
}

.container .container {
    padding-left: 0 !important;
    padding-right: 0 !important
}

.container--lg {
    max-width: 1176px
}

.title {
    color: #03262f;
    letter-spacing: 0;
    line-height: 1.2
}

.title--size-h1 {
    font-weight: 700;
    font-size: 26px
}

.title--size-h2 {
    font-size: 2.85714rem;
    font-weight: 700
}

.title--size-h3 {
    font-size: 36px;
    font-weight: 700
}

.title--size-h4 {
    font-size: 18px;
    font-weight: 600
}

.title--size-h5 {
    font-size: 1.14286rem;
    font-weight: 700
}

.text-big {
    font-size: 16px;
    letter-spacing: 0
}

.text-default {
    font-size: 14px;
    font-weight: 300;
    letter-spacing: 0
}

.text-small {
    font-size: 12px;
    font-weight: 300
}

.text-accent {
    font-size: 1rem;
    color: #000;
    letter-spacing: .05em;
    font-weight: 700
}

.button, .text-accent {
    text-transform: uppercase
}

.button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    position: relative;
    overflow: hidden;
    color: #fff;
    background-color: #d48435;
    cursor: pointer;
    text-decoration: none;
    transition: box-shadow .5s;
    box-shadow: 0 34px 31px -19px rgba(3, 38, 47, .35);
    border: none;
    outline: none
}

.browserizr-is-desktop .button:hover {
    box-shadow: 0 16px 31px -19px rgba(3, 38, 47, .45)
}

.browserizr-is-desktop .button:active .button__hover-layer {
    opacity: .5
}

.button__text {
    position: relative;
    z-index: 2
}

.button__hover-layer {
    position: absolute;
    border-radius: 50%;
    background-color: #396265;
    transition: width .5s, height .5s, opacity .3s;
    z-index: 1;
    transform: translate(-50%, -50%);
    width: 0;
    height: 0
}

.button--dark-hover .button__hover-layer {
    background-color: #03262f
}

.button--big {
    height: 50px;
    border-radius: 35px;
    font-size: 12px;
    padding: 0 3.22917vw
}

.button--middle {
    height: 42px;
    border-radius: 21px;
    font-size: 10px;
    padding: 0 2.1875vw
}

.control {
    width: 100%
}

.control--textarea textarea {
    min-height: 3.71429rem;
    max-height: 500px;
    display: block;
    padding-top: 1.25rem !important;
    resize: vertical
}

.control-input--big .control__inner input, .control-input--big .control__inner textarea {
    border-bottom-width: 2px;
    font-size: 1.28571rem
}

.control-input--big .custom-select2--focused .control__placeholder, .control-input--big .custom-select2--selected .control__placeholder, .control-input--big.has-value .control__placeholder, .control-input--big.in-focus .control__placeholder {
    bottom: 84%
}

.control__placeholder {
    position: absolute;
    bottom: 30%;
    left: 0;
    z-index: 1;
    color: hsla(0, 0%, 100%, .75);
    font-weight: 300;
    letter-spacing: .005em;
    font-size: 14px;
    transition: bottom .3s, font-size .3s, color .3s
}

.has-value .control__placeholder, .in-focus .control__placeholder {
    bottom: 87%;
    font-size: 12px;
    color: hsla(0, 0%, 100%, .5)
}

.control__input {
    height: 52px
}

.control__input--size-tiny {
    height: 2.28571rem
}

.control__input--size-small {
    height: 3rem
}

.control__input--size-big {
    height: 3.28571rem
}

.control__label {
    font-size: 14px
}

.control__inner {
    position: relative;
    height: auto
}

.control input, .control textarea {
    border: none;
    border-bottom: 1px solid #d48435;
    width: 100%;
    height: 52px;
    outline: none;
    padding: 0;
    margin: 0;
    font-size: 1rem;
    color: #fff;
    caret-color: #d48435;
    transition: border-color .3s, color .3s
}

.control input.has-error, .control textarea.has-error {
    border-color: #ff3d3d;
    color: #ff3d3d
}

.control input:-webkit-autofill, .control textarea:-webkit-autofill {
    -webkit-box-shadow: inset 0 0 0 50px #396265 !important;
    -webkit-text-fill-color: #fff !important;
    color: #fff !important
}

label.has-error {
    position: absolute;
    left: 0;
    top: 100%;
    max-width: 100%;
    color: #ff3d3d;
    font-size: 10px;
    font-weight: 400;
    display: block;
    margin-top: 7px
}

.control + .control {
    margin-top: 38px
}

.control-file {
    cursor: pointer;
    color: #fff;
    transition: color .3s;
    display: inline-flex;
    align-items: center
}

.browserizr-is-desktop .control-file:hover {
    color: #d48435
}

.browserizr-is-desktop .control-file:active {
    color: #396265
}

.control-file.has-file {
    color: #fff !important;
    cursor: default
}

.control-file svg {
    fill: currentColor;
    width: 15px;
    height: 23px
}

.control-file input {
    position: absolute;
    opacity: 0;
    z-index: -9999
}

.control-file__name {
    position: relative;
    text-transform: uppercase;
    font-size: 10px;
    letter-spacing: .2em;
    margin-left: 18px;
    display: inline-flex;
    align-items: center
}

.control-file__name span {
    display: inline-block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 120px
}

.control-file__name svg {
    position: absolute;
    left: calc(100% + 10px);
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
    height: 14px;
    fill: #ff3d3d;
    transition: fill .3s, opacity .3s;
    opacity: 0;
    pointer-events: none
}

.browserizr-is-desktop .control-file__name svg:hover {
    fill: #03262f
}

.has-file .control-file__name svg {
    cursor: pointer;
    pointer-events: all;
    opacity: 1
}

.form {
    position: relative
}

.form > * {
    transition: opacity .3s
}

.form__overlap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s, visibility 0s .3s;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center
}

.form.is-overlap > * {
    opacity: .2
}

.form.is-overlap .form__overlap {
    transition: opacity .3s, visibility 0s 0s;
    opacity: 1;
    visibility: visible
}

.popup {
    max-width: 1280px;
    margin: 1rem auto;
    position: relative;
    padding: 0
}

.popup--small {
    max-width: 886px
}

.popup__body {
    padding: 30px 20px
}

.hover-default {
    transition: color .3s
}

.browserizr-is-desktop .hover-default:hover {
    color: #d48435
}

.browserizr-is-desktop .hover-default:hover.hover-default--underline:after {
    width: 100%
}

.browserizr-is-desktop .hover-default:active {
    color: #396265
}

.hover-default--underline {
    position: relative
}

.hover-default--underline:after {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    border-bottom: 1px solid;
    transition: width .3s
}

.hover-default--svg {
    transition: fill .3s
}

.browserizr-is-desktop .hover-default--svg:hover {
    fill: #d48435
}

.browserizr-is-desktop .hover-default--svg:active {
    fill: #396265
}

.link-arrow {
    text-decoration: none;
    font-size: 10px;
    color: #d48435;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    letter-spacing: .2em;
    transition: color .3s
}

.browserizr-is-desktop .link-arrow:hover {
    color: #03262f
}

.browserizr-is-desktop .link-arrow:active {
    color: #396265
}

.link-arrow--more {
    font-weight: 400;
    text-transform: uppercase
}

.link-arrow--slick {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    height: 16px;
    z-index: 10;
    color: #03262f
}

.browserizr-is-desktop .link-arrow--slick:hover {
    color: #d48435
}

.browserizr-is-desktop .link-arrow--slick:active {
    color: #396265
}

.link-arrow--top {
    transform: rotate(-90deg) translateY(-50%);
    color: #fff
}

.link-arrow--next {
    right: 0
}

.link-arrow--prev {
    left: 0;
    transform: translateY(-50%) scaleX(-1)
}

.link-arrow__arrow {
    width: 16px;
    height: 1px;
    background-color: currentColor;
    position: relative
}

.link-arrow__arrow--right {
    margin-left: 10px
}

.link-arrow__arrow--left {
    margin-right: 10px
}

.link-arrow__arrow:after, .link-arrow__arrow:before {
    content: "";
    width: 6px;
    height: 1px;
    background-color: currentColor;
    display: block;
    position: absolute;
    right: 0
}

.link-arrow__arrow:before {
    bottom: 0;
    transform: rotate(45deg) translate(-2px, -2px)
}

.link-arrow__arrow:after {
    top: 0;
    transform: rotate(-45deg) translate(-2px, 2px)
}

.screen-name {
    display: flex;
    align-items: center
}

.screen-name__name {
    font-size: 10px;
    color: #7d8b8c;
    letter-spacing: .2em;
    margin-right: 5.05208vw
}

._color-default {
    color: #396265
}

._color-white {
    color: #fff
}

.arrow-up {
    position: fixed;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    color: #d48435;
    background-color: currentColor;
    right: 20px;
    bottom: 60px;
    z-index: 20;
    cursor: pointer;
    transition: color .3s, opacity .3s;
    opacity: 0;
    pointer-events: none
}

.arrow-up.is-show {
    opacity: 1;
    pointer-events: all
}

.browserizr-is-desktop .arrow-up:hover {
    color: #03262f
}

.browserizr-is-desktop .arrow-up:active {
    color: #396265
}

.arrow-up svg {
    width: 12px;
    height: 78px
}

.menu {
    position: fixed;
    left: 0;
    top: 70px;
    z-index: 999;
    width: 100%;
    height: calc(100% - 70px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    color: #fff;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s, visibility 0s .3s;
    overflow: auto
}

.menu .header__phone {
    display: block;
    margin: 20px 0
}

.is-open-menu .menu {
    opacity: 1;
    visibility: visible;
    transition: opacity .3s .4s, visibility 0s .4s
}

.menu__content {
    height: 100%
}

.menu__main-links {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding-right: 50px
}

.menu__link {
    position: relative;
    display: inline-block;
    text-decoration: none;
    text-transform: uppercase;
    transition: color .3s;
    cursor: pointer;
    letter-spacing: .1em;
    line-height: 1;
    margin: .455em 0
}

.browserizr-is-desktop .menu__link:hover, .menu__link.is-active {
    color: #d48435
}

.browserizr-is-desktop .menu__link:hover:after, .menu__link.is-active:after {
    width: 100%
}

.menu__link.is-active {
    padding-left: .4em
}

.menu__link--small {
    font-size: 18px;
    font-weight: 500
}

.menu__link--big {
    font-weight: 700;
    font-size: 6.1vmin
}

.menu__link:after {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    width: 0;
    transition: width .3s;
    border-bottom: 1px solid
}

.menu__right {
    max-width: 398px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding-top: 2.08333vw;
    padding-bottom: 1.5625vw
}

.menu__rate-project {
    padding-top: 18px
}

.menu__rate-project-title {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0
}

.menu__rate-project-text {
    font-weight: 300;
    font-size: 14px;
    color: hsla(0, 0%, 100%, .5);
    letter-spacing: .005em;
    margin-top: 10px;
    margin-bottom: 20px
}

.menu .footer {
    margin-top: auto
}

.header {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    padding: 10px 0;
    background-color: #f7f0e9;
    z-index: 100
}

.header__content {
    display: flex;
    align-items: center
}

.header__content > * {
    position: relative;
    z-index: 10
}

.header__logo {
    fill: #03262f;
    margin-bottom: -8px;
    margin-right: auto
}

.is-open-menu .header__logo:not(:hover) {
    fill: #fff
}

.header__logo svg {
    width: 130px;
    height: 19px
}

.header__links {
    margin-right: auto;
    margin-left: 3.64583vw;
    display: none;
    cursor: pointer;
    transition: z-index 0s 1s
}

.is-open-menu .header__links {
    position: relative;
    z-index: -30;
    transition: z-index 0s 0s
}

.header__link {
    text-decoration: none;
    text-transform: uppercase;
    font-weight: 300;
    letter-spacing: .1em
}

.header__link + .header__link {
    margin-left: 3.64583vw
}

.header__lang {
    font-size: 12px;
    font-weight: 300;
    text-decoration: none;
    text-transform: uppercase;
    position: relative
}

.is-open-menu .header__lang:not(:hover) {
    color: #fff
}

.header__lang:after {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    border-bottom: 1px dotted
}

.header__phone {
    text-decoration: none;
    font-size: 14px;
    font-weight: 300;
    margin-right: 3.75vw;
    margin-left: 3.22917vw;
    letter-spacing: .1em;
    display: none
}

.is-open-menu .header__phone:not(:hover) {
    color: #fff
}

.header__callback {
    color: #fff;
    fill: #396265;
    cursor: pointer;
    margin: 0 20px
}

.is-open-menu .header__callback:not(:hover) {
    color: #396265;
    fill: #fff
}

.header__callback svg {
    width: 38px;
    height: 38px
}

.header__menu {
    width: 22px;
    height: 22px;
    position: relative;
    display: flex;
    align-items: center;
    padding-bottom: 3px;
    cursor: pointer;
    z-index: 5;
    color: #03262f;
    transition: color .3s
}

.browserizr-is-desktop .header__menu:hover {
    color: #d48435
}

.browserizr-is-desktop .header__menu:active {
    color: #396265
}

.is-open-menu .header__menu {
    color: #fff
}

.is-open-menu .header__menu:before, .is-open-menu .header__menu span {
    position: absolute;
    width: 28px;
    left: 0;
    transform-origin: left
}

.is-open-menu .header__menu:before {
    transform: rotate(45deg);
    top: 0
}

.is-open-menu .header__menu span {
    transform: rotate(-45deg);
    bottom: 0
}

.header__menu-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    overflow: hidden;
    border-radius: 50%;
    background-color: #f7f0e9;
    pointer-events: none;
    transition: width 1s, height 1s, background-color .7s;
    z-index: -1
}

.is-open-menu .header__menu-overlay {
    background-color: rgba(57, 98, 101, .98);
    width: 250vmax;
    height: 250vmax
}

.header__menu:before, .header__menu span {
    transform: rotate(0deg);
    transition: transform 1s, width 1s, left 1s, top 1s, bottom 1s, right 1s, transform-origin 1s;
    background-color: currentColor;
    height: 2px;
    z-index: 10;
    position: absolute;
    display: block
}

.header__menu span {
    bottom: 50%;
    left: 0;
    width: 22px
}

.header__menu:before {
    content: "";
    top: 14px;
    left: calc(100% - 11px);
    width: 11px
}

.footer__content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 24px;
    padding-bottom: 18px
}

.footer__copyright {
    font-size: 12px;
    font-weight: 300;
    letter-spacing: 0;
    display: inline-flex;
    align-items: center
}

.footer__copyright svg {
    width: 12px;
    height: 12px;
    margin-right: 10px;
    fill: currentColor
}

.footer__socs {
    display: inline-grid;
    grid-template-columns: 24px 24px;
    grid-template-rows: 27px;
    grid-column-gap: 23px;
    justify-items: center;
    align-content: start;
    padding-right: 10px
}

.footer__soc {
    transition: color .3s, transform .3s
}

.browserizr-is-desktop .footer__soc:hover {
    transform: scale(1.2);
    color: #d48435
}

.browserizr-is-desktop .footer__soc:active {
    color: #396265
}

.footer__soc svg {
    width: 24px;
    height: 27px;
    fill: currentColor
}

.popup-callback .text-default {
    margin-top: 10px;
    color: hsla(0, 0%, 100%, .5);
    margin-bottom: 40px
}

.popup-callback__button {
    margin-top: 40px;
    text-align: right
}

.intro {
    overflow: hidden
}

.intro__wrapper {
    position: relative;
    padding-top: 125.3125vmin
}

.intro__content {
    position: absolute;
    top: 6.04167vw;
    left: 0;
    z-index: 10;
    width: 100%;
    opacity: 0;
    transition: opacity .3s 1.5s
}

.is-watched .intro__content {
    opacity: 1
}

.intro .title {
    max-width: 1000px;
    margin-bottom: 2.08333vw
}

.intro .button {
    margin-top: 3.64583vw
}

.intro__hill {
    position: absolute;
    bottom: 3.22917vw;
    left: 7.375vw;
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 1s 1.5s, transform 1s 1.5s;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    display: block
}

.is-watched .intro__hill {
    transform: translateY(0);
    opacity: 1
}

.intro__hill img {
    max-width: unset;
    width: 124.84375vw;
    height: 42.86458vw
}

.intro__scremm {
    position: absolute;
    bottom: 12.73958vw;
    left: 1.72917vw;
    z-index: -1
}

.intro__scremm svg {
    width: 86.82292vw;
    height: 36.51042vw;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.intro__scremm svg path:not([stroke]) {
    opacity: 0
}

.is-watched .intro__scremm svg path:not([stroke]):first-child {
    animation: pathShow .2s 1.05s forwards
}

.is-watched .intro__scremm svg path:not([stroke]):nth-child(2) {
    animation: pathShow .2s 1.1s forwards
}

.is-watched .intro__scremm svg path:not([stroke]):nth-child(3) {
    animation: pathShow .2s 1.15s forwards
}

.is-watched .intro__scremm svg path:not([stroke]):nth-child(4) {
    animation: pathShow .2s 1.2s forwards
}

.is-watched .intro__scremm svg path:not([stroke]):nth-child(5) {
    animation: pathShow .2s 1.25s forwards
}

.is-watched .intro__scremm svg path:not([stroke]):nth-child(6) {
    animation: pathShow .2s 1.3s forwards
}

.is-watched .intro__scremm svg path:not([stroke]):nth-child(7) {
    animation: pathShow .2s 1.35s forwards
}

.is-watched .intro__scremm svg path:not([stroke]):nth-child(8) {
    animation: pathShow .2s 1.4s forwards
}

.is-watched .intro__scremm svg path:not([stroke]):nth-child(9) {
    animation: pathShow .2s 1.45s forwards
}

.is-watched .intro__scremm svg path:not([stroke]):nth-child(10) {
    animation: pathShow .2s 1.5s forwards
}

.is-watched .intro__scremm svg path:not([stroke]):nth-child(11) {
    animation: pathShow .2s 1.55s forwards
}

.is-watched .intro__scremm svg path:not([stroke]):nth-child(12) {
    animation: pathShow .2s 1.6s forwards
}

.is-watched .intro__scremm svg path:not([stroke]):nth-child(13) {
    animation: pathShow .2s 1.65s forwards
}

.is-watched .intro__scremm svg path:not([stroke]):nth-child(14) {
    animation: pathShow .2s 1.7s forwards
}

@keyframes pathShow {
    0% {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

.intro__scremm svg path[stroke] {
    stroke-dasharray: 1423;
    stroke-dashoffset: 1477
}

.is-watched .intro__scremm svg path[stroke] {
    animation: pathDrow .5s linear .5s forwards
}

@keyframes pathDrow {
    0% {
        stroke-dashoffset: 1477
    }
    to {
        stroke-dashoffset: 0
    }
}

.services {
    padding-top: 60px;
    padding-bottom: 60px
}

.services__content {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 20px;
    margin-top: 6.25vw;
    justify-items: center
}

.services-item {
    text-decoration: none;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 1.5625vw 1.25vw 3.125vw;
    transform: translateY(50%);
    opacity: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.browserizr-is-desktop .services-item:hover {
    background-color: #fbf9f7;
    box-shadow: 4.753px 38.709px 40px 0 rgba(212, 132, 53, .15)
}

.browserizr-is-desktop .services-item:hover .path-anim {
    animation: hoverSvg 2s infinite both
}

.browserizr-is-desktop .services-item:hover .link-arrow {
    letter-spacing: .5em
}

.browserizr-is-desktop .services-item:active {
    background-color: rgba(251, 249, 247, .5)
}

.services-item .link-arrow {
    transition: letter-spacing .3s, color .3s
}

@keyframes hoverSvg {
    0%, 25%, 75%, to {
        stroke-dashoffset: 0
    }
    50% {
        stroke-dashoffset: -500
    }
    50.00001% {
        stroke-dashoffset: 500
    }
}

.services-item.is-watched {
    opacity: 1;
    transform: translateY(0)
}

.services-item.is-watched .path-anim {
    stroke-dashoffset: 0
}

.services-item.is-watched:first-child {
    transition: opacity .5s .15s, transform .6s .15s, background-color .3s, box-shadow .3s
}

.services-item.is-watched:first-child .path-anim {
    transition: stroke-dashoffset 1s 1s
}

.services-item.is-watched:nth-child(2) {
    transition: opacity .5s .3s, transform .6s .3s, background-color .3s, box-shadow .3s
}

.services-item.is-watched:nth-child(2) .path-anim {
    transition: stroke-dashoffset 1s 1.35s
}

.services-item.is-watched:nth-child(3) {
    transition: opacity .5s .45s, transform .6s .45s, background-color .3s, box-shadow .3s
}

.services-item.is-watched:nth-child(3) .path-anim {
    transition: stroke-dashoffset 1s 1.7s
}

.services-item.is-watched:nth-child(4) {
    transition: opacity .5s .6s, transform .6s .6s, background-color .3s, box-shadow .3s
}

.services-item.is-watched:nth-child(4) .path-anim {
    transition: stroke-dashoffset 1s 2.05s
}

.services-item .path-anim {
    stroke-dasharray: 500;
    stroke-dashoffset: 500
}

.services-item__svg svg {
    width: 268px;
    max-width: 100%;
    height: 183px
}

.services-item__name {
    text-transform: uppercase;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: .2em;
    margin-top: 2.1875vw;
    margin-bottom: 10px
}

.services-item__text {
    line-height: 1.75;
    color: #396265;
    margin-bottom: 3.64583vw
}

.services-item__wrapper {
    max-width: 296px;
    margin: 0 auto
}

.clients {
    background-color: #fff;
    padding-top: 40px;
    padding-bottom: 3.54167vw
}

.clients__slider {
    padding: 0 4.58333vw
}

.clients__slider, .clients__slider-list {
    position: relative
}

.clients__slider-list:after, .clients__slider-list:before {
    content: "";
    position: absolute;
    top: 0;
    display: block;
    height: 100%;
    width: 2.08333vw;
    pointer-events: all;
    z-index: 10
}

.clients__slider-list:after {
    right: 0
}

.clients__slider-list:before {
    left: 0
}

.clients__slider .slick-list {
    padding: 38px 2.08333vw
}

.browserizr-is-mobile .clients__slider .slick-list .slick-track {
    display: flex;
    align-items: center
}

.clients__slider .slick-list * {
    outline: none
}

.clients__item {
    display: inline-flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 214px;
    transition: box-shadow .3s;
    position: relative
}

.browserizr-is-mobile .clients__item {
    height: auto
}

.browserizr-is-desktop .clients__item:hover {
    box-shadow: .50151vw .66552vw 1.97917vw 0 rgba(212, 132, 53, .18);
    z-index: 10
}

.clients__item img {
    width: 70%;
    max-width: 100%
}

.rate-project {
    background-color: #396265;
    color: #fff;
    padding: 42px 0
}

.rate-project__content {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 30px
}

.rate-project__info {
    padding-right: 2.08333vw
}

.rate-project__info .text-default {
    margin-top: 20px;
    letter-spacing: .005em;
    color: hsla(0, 0%, 100%, .5)
}

.rate-project__form {
    padding-top: 14px
}

.rate-project__form-bottom {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    padding-top: 44px
}

.rate-project__form-bottom .button {
    padding: 0 40px;
    letter-spacing: .1em;
    margin-top: 30px
}

.solutions {
    padding-bottom: 30px;
    padding-top: 60px;
    overflow: hidden
}

.solutions__arrow {
    display: none
}

.solutions__content {
    position: relative
}

.solutions__content-left {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    grid-gap: 30px 7.39583vw;
    padding-top: 8.85417vw
}

.solutions__content-right {
    width: 100%;
    margin: 40px auto 0
}

.solutions__solution {
    letter-spacing: 0
}

.solutions__solution:before {
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    background-color: #d48435;
    margin-bottom: 28px
}

.solutions__solution-name {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.25;
    margin-bottom: 6px
}

.solutions__solution-text {
    font-weight: 300;
    font-size: 14px;
    color: #396265;
    line-height: 1.75
}

.portfolio {
    padding-top: 60px;
    padding-bottom: 60px;
    background-color: #396265
}

.portfolio__slider-counter {
    visibility: hidden;
    width: 46px
}

.portfolio__slider {
    margin: 30px auto 0;
    max-width: 1396px;
    display: flex;
    flex-direction: column
}

.portfolio__slider * {
    outline: none
}

.portfolio__slider-list:not(.slick-initialized) .portfolio-slide:nth-child(n+2) {
    display: none !important
}

.portfolio__slider-pagination {
    position: relative;
    display: inline-flex;
    margin: 40px auto 0;
    color: hsla(0, 0%, 100%, .5);
    font-weight: 700;
    padding: 0 36px
}

.portfolio__slider-pagination .link-arrow:not(:hover) {
    color: #fff
}

.portfolio__slider-pagination span {
    font-size: 16px
}

.portfolio__slider-pagination sup {
    margin-left: 4px
}

.portfolio__slider-pagination sup span {
    font-size: 8px
}

.portfolio-slide {
    display: inline-grid !important;
    grid-template-columns: 1fr;
    grid-gap: 28px;
    color: #fff;
    letter-spacing: 0
}

.portfolio-slide__left {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start
}

.portfolio-slide__right {
    display: none
}

.portfolio-slide__name {
    color: #fff;
    line-height: 1
}

.portfolio-slide__sub-title {
    font-size: 16px;
    color: #fff;
    font-weight: 300;
    margin-bottom: 12px
}

.portfolio-slide__link {
    color: #d48435;
    font-size: 12px;
    font-weight: 300;
    text-decoration: none;
    transition: color .3s;
    position: relative
}

.browserizr-is-desktop .portfolio-slide__link:hover {
    color: #fff
}

.browserizr-is-desktop .portfolio-slide__link:active {
    color: #7d8b8c
}

.portfolio-slide__link:after {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    border-bottom: 1px dotted
}

.portfolio-slide__text {
    margin-top: 20px;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.6;
    margin-bottom: 30px;
    color: hsla(0, 0%, 100%, .5)
}

.portfolio-slide__info {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 40px;
    margin-bottom: auto
}

.portfolio-slide__info-item {
    border-top: 1px solid #628285;
    padding-top: 20px
}

.portfolio-slide__info-name {
    font-weight: 700;
    font-size: 18px;
    margin-bottom: 20px
}

.portfolio-slide__info-text {
    color: hsla(0, 0%, 100%, .5);
    font-size: 12px;
    font-weight: 300
}

.portfolio-slide .button {
    margin-top: 30px;
    letter-spacing: .2em;
    padding: 0 26px
}

.portfolio-slide__info-top {
    display: flex
}

.portfolio-slide__info-top .portfolio-slide__logo {
    margin-right: 20px
}

.portfolio-slide__logo {
    width: 5.9375vw;
    height: 5.9375vw;
    min-width: 80px;
    min-height: 80px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #fff
}

@media only screen and (min-width: 375px) {
    .rate-project__form-bottom {
        flex-direction: row
    }

    .rate-project__form-bottom .button {
        margin-top: 0
    }
}

@media only screen and (min-width: 480px) {
    .menu__content {
        display: flex;
        justify-content: space-between
    }

    .menu__right {
        height: 100%
    }
}

@media only screen and (min-width: 568px) {
    .services__content {
        grid-template-columns: 1fr 1fr
    }

    .solutions__content-left {
        grid-template-columns: repeat(2, 1fr)
    }

    .solutions__content-right {
        width: 53.75vw
    }

    .portfolio-slide__info {
        grid-template-columns: repeat(3, 1fr);
        grid-gap: 26px
    }
}

@media only screen and (min-width: 768px) {
    .title--size-h1 {
        font-size: 32px
    }

    .link-arrow__arrow--right {
        margin-left: 1.35417vw
    }

    .link-arrow__arrow--left {
        margin-right: 1.04167vw
    }

    .arrow-up {
        right: 5.20833vw;
        bottom: 7.29167vw;
        width: 50px;
        height: 50px
    }

    .menu {
        top: 10.15625vw;
        height: calc(100% - 10.15625vw)
    }

    .menu .header__phone {
        display: none
    }

    .menu__link {
        margin: .755em 0
    }

    .header__phone {
        display: block
    }

    .header__callback {
        margin: 0
    }

    .header__menu {
        margin-left: 3.02083vw
    }

    .intro__wrapper {
        padding-top: 56.3125vw
    }

    .intro__hill {
        left: 9.375vw
    }

    .intro__hill img {
        width: 83.22917vw;
        height: 28.59375vw
    }

    .intro__scremm {
        bottom: 9.73958vw;
        left: 5.72917vw
    }

    .intro__scremm svg {
        width: 57.86458vw;
        height: 24.32292vw
    }

    .services-item__name {
        font-size: 28px
    }

    .clients {
        padding-top: 3.02083vw
    }

    .rate-project__content {
        grid-template-columns: 1fr 1fr
    }

    .portfolio-slide__text {
        margin-top: 34px;
        line-height: 2.1;
        margin-bottom: 3.64583vw
    }

    .portfolio-slide__info-name {
        font-size: 24px
    }
}

@media only screen and (min-width: 1024px) {
    .title--size-h1 {
        font-size: 3.125vw
    }

    .button--big {
        height: 70px
    }

    .popup__body {
        padding: 2.08333vw 32px
    }

    .arrow-up {
        right: 5.20833vw;
        bottom: 5.20833vw
    }

    .header__logo {
        margin-right: 0
    }

    .header__links {
        display: block
    }

    .popup-callback .text-default {
        margin-bottom: 4.6875vw
    }

    .popup-callback input {
        height: 84px;
        font-size: 24px;
        line-height: 24px
    }

    .popup-callback__button {
        margin-top: 3.125vw
    }

    .services {
        padding-top: 3.33333vw;
        padding-bottom: 11.45833vw
    }

    .services-item__name {
        font-size: 36px
    }

    .rate-project {
        padding: 4.47917vw 0
    }

    .rate-project__content {
        padding: 0 7.39583vw
    }

    .solutions {
        padding-bottom: 11.14583vw;
        padding-top: 7.29167vw
    }

    .solutions__arrow {
        display: block
    }

    .solutions__content-left {
        grid-template-columns: repeat(2, 286px);
        grid-gap: 4.0625vw 7.39583vw
    }

    .solutions__content-right {
        position: absolute;
        bottom: -40px;
        right: -4.0625vw;
        width: 48.54167vw;
        margin: 0
    }

    .portfolio {
        padding-top: 6.5625vw;
        padding-bottom: 6.77083vw
    }

    .portfolio__slider {
        margin-top: 4.89583vw
    }

    .portfolio__slider-pagination {
        margin-top: 5.20833vw
    }

    .portfolio-slide {
        grid-template-columns: 1fr 1fr
    }

    .portfolio-slide__right {
        display: flex
    }

    .portfolio-slide__sub-title {
        margin-bottom: 26px
    }

    .portfolio-slide__info-top .portfolio-slide__logo {
        display: none
    }
}

@media only screen and (min-width: 1280px) {
    .intro__wrapper {
        padding-top: 45.3125vw
    }

    .solutions__content {
        display: flex
    }

    .solutions__content-right {
        top: 4.16667vw;
        bottom: unset
    }

    .portfolio-slide__left {
        padding-right: 5.83333vw
    }

    .portfolio-slide__info {
        grid-column-gap: 3.64583vw
    }
}

@media only screen and (min-width: 1366px) {
    .layout__body {
        padding-top: 3.125vw
    }

    .footer__content {
        padding-top: 2.29167vw;
        padding-bottom: 1.77083vw
    }

    .services__content {
        grid-template-columns: 1fr 1fr 1fr 1fr;
        justify-items: normal
    }
}

@media only screen and (min-width: 1920px) {
    .menu__link--big, .title--size-h1 {
        font-size: 60px
    }

    .intro__hill {
        bottom: 62px;
        left: 180px
    }

    .intro__hill img {
        width: 1598px;
        height: 549px
    }

    .intro__scremm {
        bottom: 187px;
        left: 110px
    }

    .intro__scremm svg {
        width: 1111px;
        height: 467px
    }

    .services {
        padding-bottom: 220px
    }

    .clients {
        padding-top: 58px;
        padding-bottom: 68px
    }

    .browserizr-is-desktop .clients__item:hover {
        box-shadow: 9.629px 12.778px 38px 0 rgba(212, 132, 53, .18)
    }

    .rate-project {
        padding: 86px 0
    }

    .rate-project__content {
        padding: 0 142px
    }

    .solutions {
        padding-top: 140px;
        padding-bottom: 214px
    }

    .solutions__content-left {
        padding-top: 170px
    }

    .solutions__content-right {
        top: 13px;
        width: 53.75vw
    }
}

@media only screen and (min-width: 2048px) {
    .solutions__content-right {
        right: -492px
    }
}
