body {
    font-family: Inter, sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: #555;
    background: #fff
}

@media (min-width: 1200px) {
    .container {
        max-width: 1080px
    }
}

header {
    background: #073142;
    position: relative;
    z-index: 99;
    padding-top: 18px;
    padding-bottom: 18px
}

@media (max-width: 1200px) {
    header {
        padding-bottom: 12px;
        padding-top: 12px
    }
}

@media (min-width: 1200px) {
    header .container {
        max-width: 1300px
    }
}

header .container {
    display: flex;
    justify-content: space-between;
    align-items: center
}

@media (max-width: 767px) {
    header .logo img {
        max-width: 126px
    }
}

header .menu-search {
    display: flex;
    align-items: center
}

@media (max-width: 1200px) {
    header .menu-search {
        display: none
    }
}

header .menu-search ul {
    display: flex;
    list-style: none;
    padding-left: 0;
    margin-bottom: 0
}

header .menu-search ul a {
    text-decoration: none;
    color: #fff;
    display: block;
    padding-bottom: 7px;
    padding-top: 7px;
    font-size: 14px
}

header .menu-search ul a:hover {
    color: #ff8f00
}

header .menu-search ul li {
    margin-left: 10px;
    margin-right: 10px
}

header .menu-search ul li.menu-item-has-children {
    position: relative
}

header .menu-search ul li.menu-item-has-children:hover ul {
    opacity: 1;
    pointer-events: all
}

header .menu-search ul li.menu-item-has-children > a {
    padding-right: 14px;
    background: url(../img/site/menu.svg) right center no-repeat
}

header .menu-search ul ul {
    top: 100%;
    position: absolute;
    display: block;
    min-width: 250px;
    box-shadow: 0 0 10px #0000001a;
    background: #fff;
    z-index: 9;
    padding: 15px;
    left: 50%;
    transform: translate(-50%);
    opacity: 0;
    pointer-events: none;
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    -ms-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s
}

header .menu-search ul ul li {
    margin: 0 0 10px
}

header .menu-search ul ul li:last-child {
    margin-bottom: 0
}

header .menu-search ul ul li a {
    color: #555;
    padding: 0
}

header .menu-search .search {
    display: block;
    margin-left: 10px
}

header .contacts {
    display: flex;
    align-items: center
}

@media (max-width: 1200px) {
    header .contacts {
        margin-left: auto
    }
}

header .contacts .phone {
    font-weight: 700;
    font-size: 14px;
    line-height: 1;
    color: #fff;
    text-decoration: none
}

@media (max-width: 767px) {
    header .contacts .phone {
        display: none
    }
}

header .contacts .soc {
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    background: #fff;
    flex-shrink: 0;
    margin-right: 14px
}

header .mobile-block {
    display: flex;
    align-items: center;
    margin-left: 22px
}

@media (max-width: 767px) {
    header .mobile-block {
        margin-left: 0
    }
}

header .mobile-block .search {
    margin-left: 10px;
    display: block
}

.footer {
    padding-top: 140px;
    position: relative;
    overflow: hidden
}

.footer:before {
    content: "";
    position: absolute;
    width: 300px;
    height: 200px;
    background: #fff;
    top: -150px;
    right: -50px;
    z-index: 9;
    pointer-events: none;
    transform: rotate(15deg)
}

@media (max-width: 767px) {
    .footer:before {
        top: -100px;
        right: -180px;
        transform: rotate(30deg)
    }
}

.footer:after {
    content: "";
    position: absolute;
    background: #ff8f00;
    height: 220px;
    width: 150%;
    left: -25%;
    top: 60px;
    transform: rotate(-4deg)
}

@media (max-width: 767px) {
    .footer:after {
        top: 90px;
        transform: rotate(-7deg)
    }
}

footer {
    background: url(../img/site/footer.jpg) center center no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    color: #fff;
    padding-top: 85px;
    padding-bottom: 20px;
    z-index: 9;
    position: relative
}

@media (max-width: 767px) {
    footer {
        padding-top: 40px
    }
}

footer .links {
    display: grid;
    grid-template-columns:1fr 1fr 1fr 1fr;
    grid-gap: 10px;
    max-width: 1080px;
    margin-left: auto;
    margin-right: auto
}

@media (max-width: 1200px) {
    footer .links {
        grid-template-columns:1fr 1fr;
        grid-gap: 32px
    }
}

@media (max-width: 767px) {
    footer .links {
        grid-template-columns:1fr
    }
}

footer .links .item {
    margin-left: 12px;
    margin-right: 12px
}

@media (max-width: 767px) {
    footer .links .item {
        margin-left: 0;
        margin-right: 0
    }
}

footer .links .title {
    font-weight: 700;
    font-size: 21px;
    line-height: 1.4;
    color: #fff;
    margin-bottom: 15px
}

@media (max-width: 767px) {
    footer .links .title {
        font-size: 18px
    }
}

footer ul {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0
}

footer ul li {
    font-weight: 300;
    font-size: 14px;
    line-height: 1.8375;
    color: #fff;
    display: flex;
    align-items: center;
    margin-bottom: 8px
}

@media (max-width: 767px) {
    footer ul li {
        margin-bottom: 0
    }
}

footer ul li i {
    flex-shrink: 0;
    min-width: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 6px
}

footer ul li a {
    color: #fff;
    text-decoration: none
}

footer .copy {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 60px
}

@media (max-width: 991px) {
    footer .copy {
        justify-content: center;
        flex-direction: column;
        text-align: center
    }
}

footer .copy .text {
    padding: 10px 20px;
    font-weight: 400;
    font-size: 13px;
    line-height: 1.5;
    color: #fff
}

.bread {
    display: flex;
    list-style: none;
    padding-left: 0;
    margin-bottom: 20px
}

.bread li {
    font-weight: 500;
    font-size: 11px;
    color: #fff
}

.bread li span {
    text-transform: uppercase
}

.bread li a {
    color: #fff;
    text-decoration: none;
    display: flex;
    align-items: center
}

.bread li a:after {
    content: "<";
    display: block;
    margin-left: 5px;
    margin-right: 5px
}

.hero {
    background: url(../img/site/cap-home.jpg) center bottom no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    min-height: 700px;
    display: flex;
    flex-direction: column;
    padding-top: 50px
}

@media (max-width: 767px) {
    .hero {
        background: #E3E2E2;
        position: relative;
        padding-top: 300px;
    }

    .hero:after {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        background: url(../img/pogr.png) center top no-repeat;
        -webkit-background-size: 250px;
        background-size: 450px;
        height: 100%;
        pointer-events: none;
    }

}

.hero:not(.hero-in) > .container {
    flex-grow: 1;
    display: flex;
    z-index: 9;
    position: relative;
    align-items: center
}

.hero:not(.hero-in) h1 {
    color: #052938
}

@media (max-width: 991px) {
    .hero:not(.hero-in) h1 {
        font-size: 30px
    }
}

@media (max-width: 767px) {
    .hero:not(.hero-in) h1 {
        font-size: 25px;
        line-height: 1.2
    }

    .hero:not(.hero-in) h1 br {
        display: none
    }
}

@media (max-width: 767px) {
    .hero {
        min-height: 520px;
        -ms-background-position-x: left;
        background-position-x: left
    }
}

.hero .hero-advantage {
    background: #e3e2e2;
    padding-top: 36px;
    padding-bottom: 36px
}

.hero .hero-advantage .container {
    display: grid;
    grid-template-columns:1fr 1fr 1fr;
    grid-gap: 50px
}

@media (max-width: 991px) {
    .hero .hero-advantage .container {
        display: block
    }
}

.hero .hero-advantage .item {
    display: flex;
    align-items: center;
    font-weight: 400;
    font-size: 18px;
    line-height: 1.2;
    color: #052938;
    border-right: 1px solid #052938
}

@media (max-width: 991px) {
    .hero .hero-advantage .item {
        border: none
    }

    .hero .hero-advantage .item {
        margin-bottom: 15px
    }
}

.hero .hero-advantage .item:first-child {
    border-left: 1px solid #052938;
    padding-left: 50px
}

@media (max-width: 991px) {
    .hero .hero-advantage .item:first-child {
        padding-left: 0;
        border: none
    }
}

.hero .hero-advantage .item .icon {
    flex-shrink: 0;
    margin-right: 30px;
    max-width: 60px
}

.hero .hero-advantage .item .icon svg {
    width: 100%
}

.hero.hero-in:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #222;
    opacity: 0.57;
}

.hero.hero-in .container {
    z-index: 9;
    position: relative;
}

.hero.hero-in {
    padding-top: 86px;
    padding-bottom: 108px;
    position: relative;
    min-height: 1px
}

.hero .text {
    font-weight: 400;
    font-size: 16px;
    color: #052938;
    margin-bottom: 30px
}

@media (max-width: 767px) {
    .hero .text br {
        display: none
    }
}

.hero .buttons {
    display: flex;
    flex-wrap: wrap
}

.hero .buttons a {
    margin-bottom: 13px;
    margin-right: 13px
}

@media (max-width: 767px) {
    .hero .buttons a {
        margin: 0;
        padding: 5px;
        font-size: 13px;
        text-align: center;
    }

    .hero .buttons {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-gap: 10px;
    }
}

a, button {
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    -ms-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s
}

.btn-o {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    text-decoration: none;
    text-transform: uppercase;
    padding: 5px 41px;
    background: #ff8f00;
    border: none
}

.btn-o:hover {
    background: #ff8f00b8
}

.h1 {
    font-weight: 700;
    font-size: 44px;
    color: #fff;
    margin-bottom: 20px;
    text-transform: uppercase
}

@media (max-width: 767px) {
    .h1 {
        font-weight: 700;
        font-size: 30px;
        line-height: 1.6225;
        color: #fff
    }
}

.h1 span {
    font-weight: 400;
    font-size: 16px;
    color: #fff;
    text-transform: none;
    margin-top: 10px;
    display: block;
    padding-bottom: 5px;
    max-width: 480px
}

.title-line {
    position: relative;
    padding-left: 19px
}

@media (max-width: 767px) {
    .title-line {
        padding-top: 5px;
        font-size: 18px;
        padding-bottom: 5px
    }
}

.title-line:after {
    content: "";
    position: absolute;
    background: #ff8f00;
    width: 3px;
    height: calc(100% - 8px);
    left: 0;
    top: 50%;
    transform: translateY(-50%)
}

.section {
    margin: 100px 0
}

@media (max-width: 767px) {
    .section {
        margin: 40px 0
    }
}

.h2 {
    font-weight: 700;
    font-size: 36px;
    text-transform: uppercase;
    margin-bottom: 50px;
    color: #555
}

@media (max-width: 767px) {
    .h2 {
        font-size: 20px;
        margin-bottom: 20px
    }
}

img {
    max-width: 100%;
    height: auto
}

.services .items {
    display: grid;
    grid-template-columns:1fr 1fr 1fr 1fr;
    grid-gap: 42px 22px;
    max-width: 1052px
}

@media (max-width: 1200px) {
    .services .items {
        grid-template-columns:1fr 1fr 1fr
    }
}

@media (max-width: 991px) {
    .services .items {
        grid-template-columns:1fr 1fr
    }
}

@media (max-width: 767px) {
    .services .items {
        grid-template-columns:1fr;
        grid-gap: 4px
    }
}

.services .item {
    box-shadow: 0 0 40px #0000001a;
    background: #fff;
    text-align: center;
    padding: 10px
}

@media (max-width: 767px) {
    .services .item {
        display: flex;
        align-items: center;
        padding: 4px 10px
    }

    .services .item.last {
        display: none
    }
}

@media (max-width: 767px) {
    .services .item .img {
        max-width: 44px;
        margin-right: 14px
    }
}

.services .item .img img {
    width: 100%;
    object-fit: contain
}

.services .item .title {
    margin-top: 25px;
    min-height: 68px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 15px;
    padding-right: 15px
}

@media (max-width: 767px) {
    .services .item .title {
        min-height: 1px;
        margin-top: 0;
        padding: 0
    }
}

.services .item .title a {
    font-weight: 700;
    text-decoration: none;
    font-size: 17px;
    line-height: 1.41176;
    text-transform: uppercase;
    text-align: center;
    color: #555
}

@media (max-width: 767px) {
    .services .item .title a {
        text-align: left;
        font-weight: 700;
        font-size: 12px;
        line-height: 1.58333;
        text-transform: uppercase;
        color: #555
    }
}

.desition .items {
    display: grid;
    grid-template-columns:1fr 1fr;
    grid-gap: 40px 80px;
    margin-bottom: 50px;
    max-width: 1050px;
    margin-left: auto;
    margin-right: auto
}

@media (max-width: 1200px) {
    .desition .items {
        grid-gap: 20px
    }
}

@media (max-width: 991px) {
    .desition .items {
        grid-template-columns:1fr
    }
}

@media (max-width: 767px) {
    .desition .items {
        grid-gap: 10px;
        grid-template-columns:1fr 1fr
    }
}

.desition .item {
    display: flex
}

@media (max-width: 767px) {
    .desition .item {
        display: block;
        position: relative
    }
}

.desition .item .img {
    flex-shrink: 0;
    margin-right: 25px;
    display: flex;
    flex-direction: column
}

@media (max-width: 767px) {
    .desition .item .img {
        margin-right: 0
    }
}

.desition .item .img a {
    display: flex;
    flex-direction: column;
    flex-grow: 1
}

.desition .item .img img {
    width: 215px;
    flex-grow: 1;
    object-fit: cover
}

@media (max-width: 767px) {
    .desition .item .img img {
        width: 100%
    }
}

.desition .item .desc {
    flex-direction: column;
    display: flex;
    align-items: flex-start
}

@media (max-width: 767px) {
    .desition .item .desc {
        position: absolute;
        background: #00000070;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        padding: 8px 23px;
        display: flex;
        justify-content: flex-end
    }
}

.desition .item .title {
    margin-bottom: 10px;
    max-width: 240px
}

@media (max-width: 991px) {
    .desition .item .title {
        max-width: 100%
    }
}

@media (max-width: 767px) {
    .desition .item .title {
        min-height: 70px
    }
}

.desition .item .title a {
    font-weight: 700;
    font-size: 20px;
    text-transform: uppercase;
    color: #555;
    text-decoration: none
}

@media (max-width: 1200px) {
    .desition .item .title a {
        font-size: 16px
    }
}

@media (max-width: 767px) {
    .desition .item .title a {
        font-weight: 700;
        font-size: 12px;
        text-transform: uppercase;
        color: #fff
    }
}

@media (max-width: 767px) {
    .desition .item .btn-o {
        display: none
    }
}

.desition .item .text {
    flex-grow: 1;
    font-weight: 400;
    font-size: 16px;
    color: #555;
    max-width: 270px;
    margin-bottom: 5px
}

@media (max-width: 991px) {
    .desition .item .text {
        max-width: 100%
    }
}

@media (max-width: 767px) {
    .desition .item .text {
        display: none
    }
}

.h2-title.white h2 {
    color: #fff !important
}

@media (max-width: 767px) {
    .solution-mb {
        padding-bottom: 25px !important
    }
}

.advantage {
    padding: 100px 15px;
    overflow: hidden;
    background: #073141
}

@media (max-width: 767px) {
    .advantage {
        padding: 40px 15px !important
    }
}

.advantage .advantage-mb {
    position: relative;
    display: grid;
    grid-template-columns:1fr 1fr 1fr;
    width: auto;
    margin-right: -50px;
    margin-left: -50px
}

.advantage .advantage-mb.advantage-mb__items-2 {
    grid-template-columns:1fr 1fr;
    text-align: center
}

@media (max-width: 991px) {
    .advantage .advantage-mb {
        grid-template-columns:1fr 1fr
    }
}

@media (max-width: 767px) {
    .advantage .advantage-mb {
        display: block;
        margin: 20px 0 0
    }
}

.advantage .advantage-mb:after {
    position: absolute;
    top: 0;
    right: -1px;
    bottom: -1px;
    left: 0;
    z-index: 9;
    content: "";
    border: 1px solid #073141;
    pointer-events: none
}

.advantage .advantage-mb.items_2 {
    text-align: center
}

@media (min-width: 991px) {
    .advantage .advantage-mb.items_2 {
        grid-template-columns:1fr 1fr
    }
}

.advantage .advantage-mb .item {
    padding: 50px;
    margin-right: -1px;
    margin-bottom: -1px;
    border: 1px solid #fff
}

@media (max-width: 767px) {
    .advantage .advantage-mb .item {
        display: flex;
        align-items: center;
        padding: 0 0 15px;
        margin: 0 0 15px;
        border: none;
        border-bottom: 1px solid #fff
    }
}

@media (max-width: 767px) {
    .advantage .advantage-mb .item .icon {
        max-width: 41px;
        margin-right: 17px;
        flex-shrink: 0
    }
}

.advantage .advantage-mb .item .title {
    margin-top: 17px;
    margin-bottom: 10px;
    font-weight: 700;
    font-size: 20px;
    text-transform: uppercase;
    color: #fff
}

@media (max-width: 767px) {
    .advantage .advantage-mb .item .title {
        margin-top: 0;
        margin-bottom: 0;
        font-size: 12px
    }
}

.advantage .advantage-mb .item .text {
    font-weight: 400;
    font-size: 16px;
    color: #fff
}

@media (max-width: 767px) {
    .advantage .advantage-mb .item .text {
        display: none
    }
}

.way {
    padding: 100px 0;
    background: #f4f5f6
}

@media (max-width: 767px) {
    .way {
        padding: 30px 15px !important
    }
}

.way .way-mb {
    display: grid;
    grid-template-columns:1fr 1fr 1fr 1fr;
    grid-gap: 10px;
    text-align: center
}


@media (max-width: 350px) {
    .way .way-mb {
        grid-template-columns:1fr 1fr
    }
}

.way .way-mb .item {
    padding: 40px;
    text-align: center;
    border-right: 1px solid #555
}

@media (max-width: 991px) {
    .way .way-mb .item {
        padding: 10px;
        border: none
    }
}

.way .way-mb .item:last-child {
    border: none
}

.way .way-mb .item .icon {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 79px
}

.way .way-mb .item .title {
    margin-top: 15px;
    font-weight: 700;
    font-size: 20px;
    line-height: 105%;
    text-transform: uppercase;
    text-align: center;
    color: #555
}

@media (max-width: 767px) {
    .way .way-mb .item .title {
        font-size: 11px;
        line-height: 183%
    }
}

@media (max-width: 767px) {
    .partners {
        padding-bottom: 30px !important
    }
}

.partners .slick-slide {
    max-width: 290px;
    margin: 10px 0
}

@media (max-width: 991px) {
    .partners .slick-slide {
        max-width: 100px
    }
}

@media (max-width: 767px) {
    .partners .slick-slide {
        margin: 2px
    }
}

.partners .slick-slide > div {
    margin: 0 10px
}

@media (max-width: 767px) {
    .partners .slick-slide > div {
        margin: 2px
    }
}

.partners .slick-slide .item {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 123px;
    background: #fff;
    box-shadow: 0 0 20px #0000001a
}

@media (max-width: 991px) {
    .partners .slick-slide .item {
        height: 45px
    }
}

.partners .slick-slide .item img {
    display: block;
    max-height: 100%;
    margin-right: auto;
    margin-left: auto
}

.partners .elementor-widget-wrap {
    padding: 0 !important
}

@media (max-width: 767px) {
    .partners1 .h2-title h2 {
        margin-bottom: 0 !important
    }
}

.slick-dots {
    margin-top: 45px;
    padding-left: 0;
    text-align: center;
    list-style: none
}

@media (max-width: 767px) {
    .slick-dots {
        margin-top: 20px
    }
}

.slick-dots li {
    display: inline-block;
    margin: 5px 15px
}

.slick-dots li.slick-active button {
    background: #999
}

.slick-dots li button {
    width: 10px;
    height: 10px;
    padding: 0;
    font-size: 0;
    background: #d9d9d9;
    border: none;
    border-radius: 50%;
    outline: none
}

@media (max-width: 767px) {
    .cases {
        padding-bottom: 30px
    }
}

.cases .items:not(.slick-slider) {
    display: grid;
    grid-template-columns:1fr 1fr 1fr;
    grid-gap: 40px 20px;
    padding: 100px 0 50px
}

@media (max-width: 991px) {
    .cases .items:not(.slick-slider) {
        grid-template-columns:1fr 1fr;
        padding-top: 50px
    }
}

@media (max-width: 767px) {
    .cases .items:not(.slick-slider) {
        grid-template-columns:1fr
    }
}

.cases .slick-slider {
    margin-right: -10px;
    margin-left: -10px
}

@media (max-width: 767px) {
    .cases .slick-slider {
        max-width: 400px;
        padding-right: 30px;
        padding-left: 30px;
        margin-right: auto;
        margin-left: auto
    }
}

.cases .slick-slide {
    margin: 10px
}

@media (max-width: 767px) {
    .cases .slick-slide {
        margin: 0
    }
}

.cases .slick-arrow {
    position: absolute;
    top: 50%;
    z-index: 9;
    padding: 0;
    margin-top: -80px;
    background: none !important;
    outline: none !important;
    transform: translateY(-50%);
    border: none
}

@media (max-width: 767px) {
    .cases .slick-arrow {
        margin-top: -70px
    }
}

.cases .slick-arrow.slick-prev {
    left: -50px
}

@media (max-width: 1250px) {
    .cases .slick-arrow.slick-prev {
        left: -15px
    }
}

@media (max-width: 767px) {
    .cases .slick-arrow.slick-prev {
        left: 0
    }
}

.cases .slick-arrow.slick-next {
    right: -50px
}

@media (max-width: 1250px) {
    .cases .slick-arrow.slick-next {
        right: -15px
    }
}

@media (max-width: 767px) {
    .cases .slick-arrow.slick-next {
        right: 0
    }
}

.cases .item .img img {
    width: 100%;
    height: 211px;
    object-fit: cover
}

@media (max-width: 767px) {
    .cases .item .img img {
        height: 164px
    }
}

.cases .slick-track {
    display: flex;
}

.cases .slick-slide > div {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.cases .slick-slide {
    height: auto;
    display: flex;
    flex-direction: column;
}

.cases .item {
    display: flex !important;
    flex-direction: column;
    flex-grow: 1;
    align-items: flex-start;
    justify-content: flex-start;
}

.cases .item .title {
    margin: 13px 0;
    flex-grow: 1;
}

.cases .item .img {
    width: 100%;
}

.cases .item .title a {
    font-weight: 700;
    font-size: 20px;
    text-transform: uppercase;
    color: #555;
    text-decoration: none
}

@media (max-width: 767px) {
    .cases .item .title a {
        font-size: 16px
    }
}

.cases .item .more {
    display: inline-block;
    padding-right: 28px;
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
    color: #ff8f00;
    background: url(../img/site/arrow.svg) right center no-repeat;
    text-decoration: none
}

@media (max-width: 767px) {
    .cases .item .more {
        display: block;
        max-width: 110px;
        margin-left: auto
    }
}

.reviews .flex {
    display: flex
}

@media (max-width: 1200px) {
    .reviews .flex {
        display: block
    }
}

.reviews .flex .left {
    flex-shrink: 0;
    max-width: 477px;
    width: 100%;
    margin-right: 99px
}

@media (max-width: 1200px) {
    .reviews .flex .left {
        display: none
    }
}

.reviews .flex .right {
    max-width: 477px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: url(../img/site/q.svg) bottom right no-repeat
}

@media (max-width: 1200px) {
    .reviews .flex .right {
        max-width: 100%
    }
}

.reviews .items {
    padding-bottom: 40px
}

.reviews .item .text {
    margin-bottom: 20px
}

.reviews .item .name {
    font-weight: 700;
    text-transform: none
}

.reviews .item .prof {
    color: #9d9b9b
}

.reviews .reviews-arrows {
    display: flex
}

.reviews .reviews-arrows .slick-arrow {
    width: 24px;
    height: 24px;
    padding: 0 7px 0 0;
    margin-right: 7px;
    border: none;
    background: none;
    display: block
}

.reviews .reviews-arrows .slick-arrow.slick-prev {
    border-right: 1px solid #9d9b9b
}

.callback-home {
    background: #073142;
    padding: 100px 0;
    overflow: hidden
}

.callback-home .h2 {
    margin-bottom: 19px;
    margin-left: -19px
}

@media (max-width: 991px) {
    .callback-home .h2 {
        margin-left: 0
    }
}

.callback-home .sub {
    font-weight: 400;
    font-size: 16px;
    color: #fff;
    margin-bottom: 20px
}

.callback-home .flex {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    max-width: 1050px;
    margin-left: auto;
    margin-right: auto
}

.callback-home .flex .left {
    max-width: 461px;
    width: 100%
}

@media (max-width: 1200px) {
    .callback-home .flex .left {
        max-width: 100%
    }
}

.callback-home label {
    display: block;
    width: 100%
}

.callback-home label textarea, .callback-home label input {
    width: 100%;
    display: block;
    border: 1px solid #9d9b9b;
    padding: 9px 18px;
    margin-bottom: 10px
}

.callback-home label textarea {
    min-height: 100px;
    resize: none
}

.callback-home .checkbox {
    position: relative;
    text-indent: 20px;
    margin-bottom: 26px
}

.callback-home .checkbox a {
    font-weight: 500;
    font-size: 15px;
    line-height: 1.5;
    color: #ff8f00;
    text-decoration: none
}

.callback-home .checkbox .checkbox__text {
    text-indent: 30px;
    font-weight: 500;
    font-size: 15px;
    line-height: 1.5;
    color: #fff
}

.callback-home .checkbox input {
    position: absolute;
    top: 6px;
    left: 0
}

@media (max-width: 1200px) {
    .callback-home .right {
        display: none
    }
}

@media (max-width: 991px) {
    .posts-articles {
        padding: 0;
        margin: 25px 0
    }
}

.posts-articles .container {
    display: flex
}

@media (max-width: 991px) {
    .posts-articles .container {
        display: block
    }
}

.posts-articles .grid {
    display: grid;
    grid-template-columns:1fr 1fr;
    grid-gap: 50px
}

.posts-articles .grid .right {
    max-width: 100%
}

.posts-articles .left {
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    max-width: 470px;
    margin-right: 100px
}

@media (max-width: 1200px) {
    .posts-articles .left {
        margin-right: 30px
    }
}

@media (max-width: 991px) {
    .posts-articles .left {
        margin-right: 0;
        margin-bottom: 20px;
        max-width: 100%
    }
}

.posts-articles .left.left-border {
    max-width: 100%;
    margin: 0;
    flex-shrink: 1;
    border-right: 3px solid #fff
}

.posts-articles .left img {
    width: 100%;
    flex-grow: 1;
    object-fit: cover
}

.posts-articles .left .text {
    margin-bottom: 20px;
    font-weight: 400;
    font-size: 16px;
    line-height: 119%;
    color: #222
}

.posts-articles .left input[type=email], .posts-articles .left input[type=text] {
    height: 35px;
    margin-bottom: 25px;
    border: 1px solid #9d9b9b
}

@media (max-width: 991px) {
    .posts-articles .left input[type=email], .posts-articles .left input[type=text] {
        margin-bottom: 13px
    }
}

@media (max-width: 991px) {
    .posts-articles .right {
        display: none
    }
}

.posts-articles .item {
    margin-bottom: 35px;
    max-width: 475px
}

@media (max-width: 991px) {
    .posts-articles .item {
        max-width: 100%
    }
}

@media (max-width: 767px) {
    .posts-articles .item {
        margin-bottom: 10px
    }
}

.posts-articles .item:last-child {
    margin-bottom: 0
}

.posts-articles .title a {
    font-weight: 700;
    font-size: 20px;
    line-height: 156%;
    text-transform: uppercase;
    color: #555;
    text-decoration: none
}

@media (max-width: 767px) {
    .posts-articles .title a {
        font-size: 18px;
        line-height: 173%
    }
}

.posts-articles .date {
    margin-top: 11px;
    margin-bottom: 13px;
    font-weight: 400;
    font-size: 13px;
    line-height: 150%;
    color: #999
}

@media (max-width: 767px) {
    .posts-articles .date {
        margin: 10px 0
    }
}

.posts-articles .text {
    margin-bottom: 10px;
    font-weight: 400;
    font-size: 16px;
    color: #555
}

@media (max-width: 767px) {
    .posts-articles .text {
        line-height: 119%
    }
}

.posts-articles .text p:last-child {
    margin-bottom: 0
}

.posts-articles .more {
    font-weight: 600;
    font-size: 11px;
    line-height: 150%;
    letter-spacing: .27em;
    text-transform: uppercase;
    color: #ff8f00;
    text-decoration: none
}

.posts-articles ul {
    margin-bottom: 10px;
    padding-left: 0;
    list-style: none
}

.posts-articles ul li {
    position: relative;
    margin-bottom: 10px;
    padding-left: 23px;
    font-weight: 400;
    font-size: 16px;
    color: #222
}

.posts-articles ul li:after {
    position: absolute;
    top: 7px;
    left: 0;
    width: 8px;
    height: 8px;
    content: "";
    background: #f99a0b
}

.subscriber {
    overflow: hidden
}

.subscriber .flex {
    display: grid;
    grid-template-columns:1fr 1fr;
    grid-gap: 80px;
    max-width: 1050px;
    margin-left: auto;
    margin-right: auto
}

@media (max-width: 991px) {
    .subscriber .flex {
        display: block
    }
}

.subscriber .checkbox {
    margin-bottom: 12px
}

.subscriber .left .h2 {
    margin-bottom: 20px;
    margin-left: -19px
}

@media (max-width: 991px) {
    .subscriber .left .h2 {
        margin-left: 0
    }
}

.subscriber .left .sub {
    max-width: 471px;
    margin-bottom: 20px
}

@media (max-width: 991px) {
    .subscriber .left .sub {
        max-width: 100%
    }
}

.subscriber .left label:not(.checkbox) {
    display: block;
    margin-bottom: 25px
}

.subscriber .left input {
    display: block;
    width: 100%;
    max-width: 474px
}

@media (max-width: 991px) {
    .subscriber .left input {
        max-width: 100%
    }
}

@media (max-width: 991px) {
    .subscriber .right {
        display: none
    }
}

.social-fixed {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    right: 78px;
    z-index: 99
}

@media (max-width: 767px) {
    .social-fixed {
        right: 15px
    }
}

.social-fixed a {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    box-shadow: 0 11px 40px #00000059;
    margin-bottom: 10px;
    margin-top: 10px
}

.social-fixed .telegram {
    background: #3fa8f5;
    padding-right: 1px;
    padding-top: 1px
}

.social-fixed .whatsapp {
    background: #1fde49
}

.social-fixed .mail {
    background: #ff8f00
}

.h3 {
    font-weight: 700;
    font-size: 24px;
    color: #222;
    margin-bottom: 25px
}

.h4 {
    font-weight: 600;
    font-size: 20px;
    color: #222;
    margin-bottom: 25px
}

.h5 {
    font-weight: 700;
    font-size: 18px;
    text-align: center;
    color: #fff;
    margin-bottom: 15px
}

.item-equipment {
    display: grid;
    grid-template-columns:1fr 1fr;
    grid-gap: 60px;
    font-weight: 400;
    font-size: 16px;
    color: #222;
    margin-bottom: 50px
}

@media (max-width: 991px) {
    .item-equipment {
        grid-template-columns:1fr;
        grid-gap: 10px
    }
}

.item-equipment .text {
    margin-bottom: 15px;
}

.item-equipment iframe {
    width: 100%
}

.item-equipment:last-child {
    margin-bottom: 0
}

.item-equipment p {
    margin-bottom: 9px
}

.item-equipment .right {
    z-index: 9;
    position: relative
}

.item-equipment h2 {
    margin-bottom: 20px
}

.item-equipment .left.time .text {
    border-left: 2px solid #f99a0b;
    padding-top: 56px;
    padding-left: 84px;
    padding-bottom: 56px;
    background: url(../img/site/Time.svg) 20px center no-repeat, #f5f5f5;
    font-weight: 400;
    font-size: 15px;
    color: #222;
    position: relative
}

@media (max-width: 991px) {
    .item-equipment .left.time .text {
        padding-right: 25px
    }
}

.item-equipment .left.time .text:after {
    content: "";
    position: absolute;
    left: 100%;
    top: 0;
    height: 100%;
    width: 100%;
    background: #f5f5f5
}

@media (max-width: 991px) {
    .item-equipment .left.time .text:after {
        content: none
    }
}

.item-equipment .find {
    background: #f5f5f5;
    border-right: 2px solid #f99a0b;
    padding-top: 25px;
    font-weight: 700;
    font-size: 18px;
    color: #ff8f00;
    padding-bottom: 25px;
    position: relative
}

.item-equipment .find:after {
    content: "";
    position: absolute;
    height: 100%;
    width: 50vw;
    right: 100%;
    top: 0;
    background: #f5f5f5
}

.section-gray {
    background: #f4f5f6
}

.h4_project {
    font-weight: 700;
    font-size: 16px;
    text-transform: uppercase;
    text-align: center;
    color: #555;
    margin-bottom: 30px
}

.section-blue {
    background: #073142
}

.section-p {
    padding: 70px 0
}

.grid-block {
    overflow: hidden
}

.grid-block .sub {
    font-weight: 600;
    font-size: 20px;
    color: #222;
    margin-bottom: 10px
}

.grid-block .items {
    display: grid;
    border-bottom: 3px solid #fff;
    margin-left: -20px;
    margin-right: -20px
}

.grid-block .items:last-child {
    border: none
}

.grid-block .items.items_style_2 .item {
    padding: 0 40px;
    border-color: #f99a0b !important
}

.grid-block .items.items-2 {
    grid-template-columns:1fr 1fr
}

@media (max-width: 767px) {
    .grid-block .items.items-2 {
        grid-template-columns:1fr
    }

    .section-p {
        padding: 32px 0;
    }

    .h3 {
        font-size: 16px;
    }

    .control .h4 {
        font-size: 16px;
    }

    .h4 {
        font-size: 16px;
    }
}

.grid-block .items.items-2 .item:first-child {
    border-right: 3px solid #fff
}

.grid-block .items.items-3 {
    grid-template-columns:1fr 1fr 1fr
}

@media (max-width: 767px) {
    .grid-block .items.items-3 {
        grid-template-columns:1fr
    }
}

.grid-block .items.items-3 .item:first-child {
    border-right: 3px solid #fff
}

.grid-block .items.items-3 .item:nth-child(2) {
    border-right: 3px solid #fff
}

.grid-block .item {
    display: flex;
    padding: 20px
}

.grid-block .item .icon {
    flex-shrink: 0;
    width: 27px;
    margin-right: 10px
}

.grid-block .item .title {
    font-weight: 600;
    font-size: 16px;
    color: #222;
    margin-bottom: 10px
}

.grid-block .item .text {
    font-weight: 400;
    font-size: 16px;
    color: #222
}

.square-list {
    list-style: none;
    padding-left: 0
}

.square-list.square-list__white li {
    color: #fff
}

.square-list.square-list__white li:after {
    background: #fff
}

.square-list li {
    padding-left: 34px;
    position: relative;
    margin-bottom: 9px
}

.square-list li:last-child {
    margin-bottom: 0
}

.square-list li:after {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    background: #f99a0b;
    width: 8px;
    height: 8px
}

.icon-list {
    list-style: none;
    padding-left: 0
}

.icon-list.icon-list_big li {
    align-items: center
}

.icon-list.icon-list_big li i {
    width: 50px
}

.icon-list.icon-list_big_1 li {
    align-items: flex-start;
    margin-bottom: 27px
}

.icon-list small {
    font-weight: 400;
    font-size: 16px;
    color: #000;
    display: block
}

.icon-list b {
    font-weight: 600;
    font-size: 16px;
    color: #000;
    display: block
}

.icon-list li {
    position: relative;
    margin-bottom: 9px;
    display: flex;
    align-items: flex-start
}

.icon-list li i {
    flex-shrink: 0;
    width: 24px;
    margin-right: 12px;
    font-weight: 700;
    font-size: 16px;
    color: #ff8f00;
    font-style: normal
}

.icon-list li:last-child {
    margin-bottom: 0
}

.compare-table {
    width: 100%;
    table-layout: fixed
}

.compare-table tr:last-child td {
    border-bottom: none
}

.compare-table td, .compare-table th {
    padding: 20px;
    border-right: 1px solid #c4c3c3;
    border-bottom: 1px solid #c4c3c3
}

.compare-table td:first-child, .compare-table th:first-child {
    padding-left: 0
}

.compare-table td:last-child, .compare-table th:last-child {
    border-right: none
}

.compare-table.compare-table_gray tr:last-child td {
    border-bottom: 1px solid #c4c3c3
}

.compare-table.compare-table_gray td {
    border-color: #c4c3c3;
    border-width: 1px
}

.compare-table.compare-table_gray td:first-child {
    border-left: none
}

@media (max-width: 767px) {
    .compare-table td, .compare-table th {
        padding: 11px;
        font-size: 14px
    }

    .grid-block .item:last-child {
        margin-bottom: 0;
        border: none;
    }

    .grid-block .item {
        padding: 0;
        margin-bottom: 3px;
        padding-bottom: 3px;
        border-bottom: 1px solid #fff;
    }

    .grid-block .items {
        margin: 0;
        border: none;
    }
}

.text {
    font-size: 16px
}

.spoilers .spoiler {
    border-bottom: 1px solid #d9d9d9
}

.spoilers .spoiler.active .spoiler__body {
    display: block
}

.spoilers .spoiler.active .icon-plus {
    display: none
}

.spoilers .spoiler.active .icon-minus {
    display: block
}

.spoilers .spoiler__header {
    display: flex;
    align-items: center;
    padding: 25px 0;
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none
}

.spoilers .spoiler__header:hover .spoiler__title {
    color: #ff8f00
}

.spoilers .spoiler__num {
    flex-shrink: 0;
    width: 40px;
    font-weight: 700;
    font-size: 16px;
    color: #ff8f00
}

.spoilers .spoiler__title {
    flex-grow: 1;
    font-weight: 500;
    font-size: 16px;
    color: #222;
    transition: color .3s
}

.spoilers .spoiler__icon {
    flex-shrink: 0;
    margin-left: 15px
}

.spoilers .spoiler__icon .icon-plus {
    display: block;
    width: 24px;
    height: 24px;
    background: url(../img/site/icon-plus.svg) center no-repeat
}

.spoilers .spoiler__icon .icon-minus {
    display: none;
    width: 24px;
    height: 24px;
    background: url(../img/site/icon-minus.svg) center no-repeat
}

.spoilers .spoiler__body {
    display: none;
    padding: 0 40px 20px;
    font-size: 16px;
    color: #555
}

.orange {
    color: #ff8f00;
    font-weight: 600
}

.niches .items .item .img img {
    width: 100%;
    height: 192px;
    object-fit: cover
}

.niches .items .item .img:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: #2929296e;
    right: 0;
    bottom: 0
}

.niches .items .item .img {
    position: relative;
    display: flex
}

.niches .items .item .title {
    padding: 20px;
    font-weight: 700;
    font-size: 20px;
    text-transform: uppercase;
    color: #fff;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%
}

.niches .items .item {
    position: relative
}

.niches {
    overflow: hidden;
    padding-top: 50px;
    padding-bottom: 50px
}

.niches .items {
    display: grid;
    grid-template-columns:1fr 1fr 1fr;
    grid-gap: 20px
}

.niches .empty-1:after {
    content: "";
    position: absolute;
    height: 60px;
    left: 120px;
    top: 50%;
    transform: translateY(-50%);
    width: 50vw;
    background: #f4f5f6
}

.niches .empty-2:after {
    content: "";
    position: absolute;
    height: 60px;
    right: 230px;
    top: 50%;
    transform: translateY(-50%);
    width: 50vw;
    background: #f99a0b
}

.niches .empty {
    position: relative
}

@media (max-width: 850px) {
    .niches .items .item .title {
        font-size: 14px;
        padding: 11px 7px
    }

    .niches .items .item .img img {
        height: 113px
    }

    .niches .items .empty {
        display: none
    }

    .niches .items {
        grid-template-columns:1fr 1fr;
        grid-gap: 10px
    }
}

.section-blue h5 {
    font-weight: 700;
    font-size: 16px;
    text-transform: uppercase;
    text-align: center;
    color: #555;
    margin-bottom: 30px
}

.h6 {
    margin-bottom: 15px
}

.control .h4 {
    margin-bottom: 40px;
    font-size: 23px
}

.control .items {
    position: relative
}

.control .items:after {
    content: "";
    position: absolute;
    top: 5px;
    bottom: 5px;
    left: 12px;
    background: #999;
    width: 2px
}

.control .text {
    font-weight: 400;
    font-size: 16px;
    color: #222
}

.control .item {
    position: relative;
    margin-bottom: 50px;
    font-weight: 600;
    padding-left: 50px;
    z-index: 9;
    font-size: 16px;
    color: #222
}

.control .item:after {
    content: "";
    position: absolute;
    width: 24px;
    height: 24px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    top: 1px;
    left: 0;
    background: #f99a0b;
    border: 2px solid #fff
}

.control .item:last-child {
    margin-bottom: 0
}


.places .items {
    display: grid;
    grid-template-columns:1fr 1fr 1fr;
    grid-gap: 0
}

@media (max-width: 991px) {
    .control .items {
        margin-bottom: 25px;
    }

    .places .items {
        grid-template-columns:1fr 1fr;
        grid-gap: 20px
    }

    .control .item {
        margin-bottom: 25px;
    }
}

@media (max-width: 767px) {
    .places .items {
        grid-template-columns:1fr;
        grid-gap: 20px
    }
}

.places .items .item {
    border-right: 1px solid #dedede;
    padding-right: 10px;
    padding-left: 10px
}

@media (max-width: 991px) {
    .places .items .item {
        border: none;
        padding: 0
    }
}

.places .items .item:first-child {
    padding-left: 0
}

.places .items .item:last-child {
    border: none
}

.places .items .title {
    font-weight: 700;
    font-size: 16px;
    color: #000;
    margin-bottom: 20px
}

.places .items .title a {
    color: #000;
    text-decoration: underline;
    text-decoration-skip-ink: none
}

.remotely {
    background: #f4f5f6;
    overflow: hidden;
    margin-bottom: 0
}

.remotely .flex .left {
    margin-bottom: 30px;
    border-bottom: 10px solid #fff;
    padding-bottom: 30px
}

.remotely .flex {
    margin-top: 30px
}

.remotely .item > div {
    width: 50%
}

.remotely .item:before {
    content: "";
    position: absolute;
    background: #fff;
    height: 100%;
    width: 10px;
    right: 50%;
    top: 0
}

.remotely .item .right {
    padding-left: 35px
}

.remotely .title:last-child {
    margin-bottom: 0
}

.remotely .title {
    font-weight: 700;
    font-size: 16px;
    color: #222;
    margin-bottom: 15px
}

.remotely .item .left {
    padding-right: 25px
}

.remotely .item {
    margin-bottom: 10px;
    position: relative;
    display: flex;
    padding: 30px 30px 30px 0
}

.remotely .item:last-child {
    padding-bottom: 100px
}

.remotely .item:last-child:after {
    content: none
}

@media (max-width: 767px) {
    .remotely .item:last-child {
        padding-bottom: 50px
    }
}

.remotely ul li:after {
    content: "";
    position: absolute;
    width: 8px;
    height: 8px;
    left: 0;
    background: #f99a0b;
    top: 7px
}

.remotely ol:last-child, .remotely ul:last-child {
    margin-bottom: 0
}

.remotely ul li {
    margin-bottom: 9px;
    padding-left: 23px;
    position: relative
}

.remotely .btn-o, .mailpoet_submit {
    font-size: 16px;
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
    color: #fff;
    min-height: 39px;
    padding-top: 10px;
    margin-top: 20px;
    padding-bottom: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center
}

.remotely p {
    margin-bottom: 9px !important
}

.remotely ul {
    margin-bottom: 20px;
    list-style: none;
    padding-left: 0;
    font-weight: 400;
    font-size: 16px;
    color: #222
}

.remotely ol li span {
    font-weight: 700;
    font-size: 16px;
    color: #ff8f00;
    margin-right: 16px
}

.remotely ol li {
    display: flex;
    margin-bottom: 9px;
    align-items: flex-start
}

.remotely ol {
    margin-bottom: 20px;
    list-style: none;
    padding-left: 0;
    font-weight: 400;
    font-size: 16px;
    color: #222
}

.remotely .flex {
    display: none
}

.remotely .item:after {
    content: "";
    position: absolute;
    background: #fff;
    top: 100%;
    height: 10px;
    left: -50vw;
    width: 200vw
}

.production-line .items {
    display: grid;
    grid-template-columns:1fr 1fr 1fr;
    grid-gap: 20px
}

.production-line .items.items_4 {
    grid-template-columns:1fr 1fr 1fr 1fr
}

@media (max-width: 1200px) {
    .production-line .items.items_4 {
        grid-template-columns:1fr 1fr 1fr
    }
}

@media (max-width: 991px) {
    .production-line .items.items_4 {
        grid-template-columns:1fr 1fr
    }
}

@media (max-width: 450px) {
    .production-line .items.items_4 {
        grid-template-columns:1fr
    }
}

.production-line .items.items_4 img {
    width: 100%
}

@media (max-width: 991px) {
    .production-line .items {
        grid-template-columns:1fr 1fr
    }
}

@media (max-width: 450px) {
    .production-line .items {
        grid-template-columns:1fr
    }
}

.production-line .item {
    box-shadow: 0 0 57px #0000001a;
    background: #fff;
    text-align: center;
    border-bottom: 2px solid #f99a0b
}

.production-line .item ul {
    padding: 0 17px
}

.production-line .item ul li {
    font-weight: 400;
    font-size: 15px;
    color: #555;
    margin-bottom: 5px;
    padding-left: 18px
}

.production-line .title {
    font-weight: 700;
    font-size: 18px;
    text-align: center;
    color: #555;
    padding: 17px;
    min-height: 90px
}

@media (max-width: 450px) {
    .production-line .title {
        min-height: 1px
    }
}

.find-container {
    padding-top: 25px;
    padding-bottom: 25px;
    font-weight: 700;
    font-size: 18px;
    color: #ff8f00;
}

.contacts-items .item {
    display: flex;
    align-items: center;
    margin-bottom: 16px
}

.contacts-items .text {
    font-weight: 400;
    font-size: 19px;
    margin-bottom: 0;
    line-height: 1.26316;
    color: #999
}

.contacts-items a {
    font-weight: 400;
    font-size: 19px;
    line-height: 1.26316;
    color: #999;
    text-decoration: none
}

.contacts-items .icon {
    flex-shrink: 0;
    min-width: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 10px
}

.form {
    margin-top: 25px
}

.form label.checkbox {
    margin-bottom: 25px
}

.form label:not(.checkbox) {
    display: block;
    width: 100%;
    margin-bottom: 10px
}

.form label:not(.checkbox) input:not([type=checkbox]), .form label:not(.checkbox) textarea {
    background: #fff;
    border: 2px solid #ededed;
    width: 100%;
    padding: 12px 18px
}

.checkbox {
    display: block
}

.checkbox .checkbox__text {
    font-weight: 500;
    font-size: 15px;
    line-height: 1.5;
    color: #222
}

.checkbox .checkbox__text a {
    font-weight: 500;
    font-size: 15px;
    line-height: 1.5;
    color: #ff8f00;
    text-decoration: none
}

.numbers .items {
    display: grid;
    grid-template-columns:1fr 1fr 1fr 1fr;
    grid-gap: 20px
}

@media (max-width: 991px) {
    .numbers .items {
        grid-template-columns:1fr 1fr 1fr
    }
}

@media (max-width: 767px) {
    .numbers .items {
        grid-template-columns:1fr 1fr
    }
}

@media (max-width: 575px) {
    .numbers .items {
        grid-template-columns:1fr
    }
}

.numbers .item {
    padding-left: 40px;
    padding-top: 35px;
    background: url(../img/site/numbers.svg) left top no-repeat;
    padding-bottom: 0
}

@media (max-width: 575px) {
    .numbers .item {
        background: none;
        padding: 0;
        display: flex;
        align-items: flex-end
    }
}

.numbers .title {
    font-weight: 700;
    font-size: 40px;
    color: #555;
    margin-bottom: 0
}

@media (max-width: 575px) {
    .numbers .title {
        line-height: 1;
        margin-right: 10px;
        font-size: 24px
    }
}

.numbers .text {
    font-weight: 400;
    font-size: 16px;
    color: #222
}

.projects {
    overflow: hidden
}

.projects .empty {
    position: relative
}

@media (max-width: 400px) {
    .projects .empty {
        display: none
    }
}

.projects .empty:after {
    content: "";
    height: 60px;
    background: #dedede;
    position: absolute;
    top: 61px;
    width: 100vw;
    right: 140px
}

.projects .items {
    display: grid;
    grid-template-columns:1fr 1fr 1fr;
    grid-gap: 20px 16px
}

@media (max-width: 991px) {
    .projects .items {
        grid-template-columns:1fr 1fr;
        grid-gap: 10px
    }
}

@media (max-width: 400px) {
    .projects .items {
        grid-template-columns:1fr;
        grid-gap: 10px
    }
}

.projects .title {
    margin-top: 13px;
    font-weight: 700;
    font-size: 20px;
    text-transform: uppercase;
    color: #424242
}

@media (max-width: 991px) {
    .projects .title {
        font-size: 16px;
        margin-top: 5px
    }
}

.authors {
    background: url(../img/site/authors-1.png) left top no-repeat, linear-gradient(40deg, #ededed, #fff);
    -webkit-background-size: cover;
    background-size: cover;
    padding-top: 50px;
    padding-bottom: 100px;
    filter: blur(0px)
}

@media (max-width: 767px) {
    .authors {
        background: linear-gradient(40deg, #ededed, #fff)
    }
}

.authors .inner {
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 75px;
    padding-top: 25px
}

.authors .desc {
    box-shadow: 25px 34px 25px -2px #00000063;
    border-right: 24px solid #042f40;
    background: linear-gradient(180deg, #dedede, #fff);
    mix-blend-mode: multiply;
    padding: 25px;
    position: relative;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.5;
    color: #555
}

@media (max-width: 767px) {
    .authors .desc {
        border-width: 12px
    }
}

.authors .desc a {
    font-weight: 400;
    font-size: 16px;
    line-height: 1.5;
    color: #f28802;
    text-decoration: none
}

.authors .desc .inner {
    position: relative;
    z-index: 9
}

.authors .desc:before {
    content: "";
    position: absolute;
    background: url(../img/site/authorbg.png) center center no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none
}

.authors .desc:after {
    content: "";
    position: absolute;
    height: 100%;
    width: 35px;
    background: #ff8f005c;
    top: 0;
    right: 0
}

@media (max-width: 767px) {
    .authors .desc:after {
        width: 15px
    }
}

.authors .name {
    border-left: 20px solid rgba(255, 143, 0, .34);
    padding: 13px;
    font-weight: 700;
    font-size: 22px;
    line-height: 1.1;
    text-transform: capitalize;
    color: #222;
    background: linear-gradient(3deg, #ffffff96 15%, #ffffff0f);
    margin-bottom: 23px
}

.authors .prof {
    font-weight: 300;
    font-size: 18px;
    line-height: 1.33333;
    letter-spacing: .03em;
    text-transform: uppercase;
    color: #222;
    margin-bottom: 27px
}

.authors .ava {
    margin-bottom: 45px
}

.blog .left, .blog .left p {
    font-weight: 400;
    font-size: 16px;
    line-height: 1.5;
    color: #555
}

.blog .left a {
    text-decoration: underline;
    text-decoration-skip-ink: none;
    color: #f28802
}

.blog .left h1 {
    font-weight: 700;
    font-size: 24px;
    text-transform: uppercase;
    color: #222
}

.blog .left .date {
    font-weight: 600;
    font-size: 11px;
    line-height: 2.18182;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #999
}

.blog .left .date-1 {
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #ff8f00;
    text-align: right;
    margin-bottom: 34px
}

.blog .left h3, .blog .left h2 {
    font-weight: 700;
    font-size: 24px;
    line-height: 1.3;
    color: #222;
    margin-bottom: 15px
}

.blog .left img {
    margin-bottom: 16px;
    display: block
}

.blog .left .subscribe-social a {
    margin: 0 6px 6px 0
}

.blog .flex {
    display: flex;
    align-items: flex-start
}

@media (max-width: 991px) {
    .blog .flex {
        display: block
    }
}

.blog .search-from {
    display: flex;
    margin-bottom: 40px
}

@media (max-width: 991px) {
    .blog .search-from {
        max-width: 350px;
        margin-left: auto;
        margin-right: auto
    }
}

.blog .search-from label {
    display: block;
    width: 100%;
    max-width: 325px
}

.blog .search-from button {
    width: 48px;
    height: 48px;
    background: #ff8f00;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    flex-shrink: 0
}

.blog .search-from input {
    width: 100%;
    border: 2px solid #ededed;
    height: 48px;
    padding: 10px 18px
}

.blog .right {
    max-width: 410px;
    padding-left: 50px;
    margin-left: 50px;
    width: 100%;
    flex-shrink: 0;
    position: sticky;
    top: -200px
}

@media (max-width: 991px) {
    .blog .right {
        position: relative;
        top: auto;
        padding-left: 0;
        margin-left: 0;
        max-width: 100%;
        margin-top: 30px
    }
}

.blog .right:after {
    content: "";
    position: absolute;
    width: 1px;
    background: #dedede;
    height: 100%;
    top: 120px;
    left: 0
}

@media (max-width: 991px) {
    .blog .right:after {
        content: none
    }
}

.blog .right h3 {
    font-weight: 700;
    font-size: 18px;
    line-height: 1.4;
    color: #222;
    text-align: center;
    margin-bottom: 20px
}

.blog .right .new-news h3 {
    font-weight: 700;
    font-size: 21px;
    line-height: 1.4;
    color: #222;
    margin-bottom: 17px;
    position: relative;
    display: inline-block
}

.blog .right .new-news h3:after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 100%;
    margin-left: 8px;
    width: 78px;
    height: 1px;
    background: #d8d7d7
}

.blog .right .items .item {
    display: flex;
    margin-bottom: 16px
}

.blog .right .items .item .date {
    display: flex;
    justify-content: space-between;
    align-items: center
}

.blog .right .items .item .date small {
    font-weight: 400;
    font-size: 11px;
    line-height: 1.41818;
    color: #f28802
}

.blog .right .items .item .date span {
    font-weight: 400;
    font-size: 12px;
    line-height: 1.3;
    color: #999
}

.blog .right .items .item .title {
    margin-bottom: 12px
}

.blog .right .items .item .title a {
    font-weight: 700;
    font-size: 17px;
    line-height: 1.2;
    text-transform: uppercase;
    color: #494847;
    text-decoration: none
}

.blog .right .items .item .img {
    max-width: 112px;
    flex-shrink: 0;
    margin-right: 20px
}

.blog .right .items .item .img img {
    width: 112px;
    height: 112px;
    object-fit: cover
}

.blog .right .subscribe-social {
    justify-content: center;
    margin-bottom: 40px
}

.subscribe-social {
    display: flex
}

.subscribe-social a {
    text-decoration: none;
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #5a5a5a;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    margin: 3px
}

.docs .item {
    display: flex;
    align-items: center;
    padding-bottom: 16px;
    margin-bottom: 16px;
    border-bottom: 1px solid #E0E0E0
}

.docs .item:last-child {
    border: none
}

@media (max-width: 767px) {
    .docs .item .btn-o {
        font-size: 0;
        min-width: 59px;
        padding-left: 10px;
        padding-right: 10px
    }
}

.docs .item .btn-o:after {
    content: "";
    background: url(../img/site/download.svg) center center no-repeat;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    margin-left: 10px
}

@media (max-width: 767px) {
    .docs .item .btn-o:after {
        margin-left: 0
    }
}

.docs .item .title {
    background: url(../img/site/docs.svg) left center no-repeat;
    padding-left: 100px;
    min-height: 48px;
    font-weight: 400;
    margin-right: 10px;
    font-size: 16px;
    color: #000;
    display: flex;
    align-items: center;
    flex-grow: 1
}

@media (max-width: 767px) {
    .docs .item .title {
        padding-left: 60px;
        font-size: 14px
    }
}

.items-cases {
    display: grid;
    grid-template-columns:1fr 1fr 1fr;
    grid-gap: 40px 20px
}

label.checkbox {
    display: flex;
    align-items: center;
    position: relative;
    text-indent: 25px
}

label.checkbox input {
    width: auto !important;
    position: absolute;
    top: 4px;
    z-index: 9
}

.title-orange {
    font-weight: 700;
    font-size: 32px;
    text-transform: uppercase;
    color: #f99a0b;
    margin-bottom: 30px
}

@media (min-width: 767px) {
    .btn-o__big {
        min-height: 69px;
        padding: 5px 65px
    }
}

.services-1 .items {
    display: grid;
    grid-template-columns:1fr 1fr;
    grid-gap: 50px 30px
}

@media (max-width: 991px) {
    .services-1 .items {
        grid-template-columns:1fr
    }
}

.services-1 .items .item {
    display: flex;
    flex-direction: column
}

.services-1 .items .item .title {
    font-size: 25px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 25px
}

.services-1 .items .item .title a {
    color: #555;
    text-decoration: none
}

.services-1 .items .item .text {
    flex-grow: 1;
    font-size: 15px;
    margin-bottom: 15px
}

.services-1 .items .item .bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap
}

.services-1 .items .item .bottom .price {
    font-weight: 700;
    font-size: 16px;
    color: #555;
    background: url(../img/site/price.svg) left center no-repeat;
    padding-left: 30px;
    margin: 15px 0
}

.authors .ava img {
    z-index: 5;
    position: relative;
    border-radius: 0 0 50px 0;
}

.authors .ava:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: #E3E2E2;
    left: 30px;
    z-index: 4;
    top: 30px;
    border-radius: 0 0 50px 0;
}

.authors .ava {
    position: relative;
    max-width: 180px;
}

.mobile-menu {
    position: fixed;
    inset: 0;
    z-index: 1050;
    pointer-events: none;
    visibility: hidden;
}

.mobile-menu__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.mobile-menu__panel {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 320px;
    max-width: 85vw;
    background: #1a1a1a;
    display: flex;
    flex-direction: column;
    padding: 60px 24px 24px;
    transform: translateX(100%);
    transition: transform 0.3s ease;
    overflow-y: auto;
    box-shadow: -10px 0 30px rgba(0, 0, 0, 0.3);
}

body.menu-open .mobile-menu {
    pointer-events: auto;
    visibility: visible;
}

body.menu-open .mobile-menu__overlay {
    opacity: 1;
}

body.menu-open .mobile-menu__panel {
    transform: translateX(0);
}

body.menu-open {
    overflow: hidden;
}

.mobile-menu__close {
    position: absolute;
    top: 18px;
    right: 20px;
    width: 36px;
    height: 36px;
    background: transparent;
    border: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.mobile-menu__close:hover svg path {
    stroke: #ff8f00;
}

.mobile-menu__nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.mobile-menu__nav ul li {
    margin: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.mobile-menu__nav ul a {
    display: block;
    padding: 14px 0;
    color: #fff;
    text-decoration: none;
    font-size: 16px;
    font-weight: 500;
    transition: color 0.2s ease;
}

.mobile-menu__nav ul a:hover {
    color: #ff8f00;
}

.mobile-menu__nav ul ul {
    padding-left: 14px;
    margin-top: 6px;
    padding-bottom: 8px;
}

.mobile-menu__nav ul ul a {
    padding: 8px 0;
    font-size: 14px;
    font-weight: 400;
    color: #cfcfcf;
}

.mobile-menu__contacts {
    margin-top: auto;
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.mobile-menu__phone {
    display: block;
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    text-decoration: none;
    margin-bottom: 16px;
}

.mobile-menu__phone:hover {
    color: #ff8f00;
}

.mobile-menu__socials {
    display: flex;
    gap: 12px;
}

.mobile-menu__socials .soc {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255, 143, 0, 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s ease;
}

.mobile-menu__socials .soc:hover {
    background: rgba(255, 143, 0, 0.25);
}

@media (max-width: 767px) {
    .btn-o.example {
        max-width: 300px;
        margin-left: auto;
        margin-right: auto;
        display: flex;
    }
    .remotely .flex .btn-o{
        max-width: 300px;margin-left: auto;
        margin-right: auto;display: flex;
    }
    .remotely .flex{
        display: block;
        margin-bottom: 42px;
    }
    .remotely .item{
        display: none;
    }
}