html {
    -webkit-font-smoothing: antialiased;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 1.2rem;
    vertical-align: baseline;
}


/* HTML5 display-role reset for older browsers */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

body {
    line-height: 1;
    overflow-x: hidden;
}

ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

*:focus {
    outline: none;
}

a {
    text-decoration: none;
}

li {
    list-style-type: none;
}

* {
    font-family: 'Raleway', sans-serif;
    font-weight: 500;
    margin: 0;
    padding: 0;
    outline: 0;
}

.overflow-hidden {
    overflow: hidden;
    position: relative;
    height: 100%;
    touch-action: none;
    -ms-touch-action: none;
}

header {
    padding-top: 13px;
    z-index: 15;
    top: 0;
    width: 100%;
    left: 0;
    position: sticky;
    background: white;
    transition: all 0.7s;
}

.menu-active__animation {
    top: 0;
    transition: all 0.7s ease;
}

.menu-active {
    top: -100%;
    transition: all 0.7s ease;
}

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

.header-blocks hr {
    border: 0;
    width: 1px;
    height: 59px;
    background: #C7C8CA;
    opacity: 0.5;
}

.header-logo,
.header-tel {
    display: flex;
    align-items: center;
}

.header-logo hr {
    margin: 0 15px;
}

.header-logo a {
    width: 260px;
    height: 51px;
}

.header-logo a img {
    width: 100%;
    height: 100%;
}

.header-logo p {
    font-size: 12px;
    line-height: 110%;
    color: #5B5B5B;
    width: 240px;
}

.header-tel hr {
    margin-right: 28px;
}

.header-tel a {
    font-size: 20px;
    line-height: 110%;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: #5B5B5B;
    display: flex;
    align-items: center;
    transition: all 0.7s ease;
    flex-shrink: 0;
}

.header-tel a:hover {
    color: #0C5997;
}

.header-tel a img {
    margin-right: 11px;
}

.header-search__wrapper {
    width: 240px;
    display: flex;
    align-items: center;
    cursor: pointer;
    background: white;
    filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.10));
    border-radius: 10px;
    height: 35px;
    overflow: hidden;
    transition: all 0.7s;
}

.header-search__wrapper-active {
    width: 320px;
}

.header-search {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.header-search input {
    width: calc(100% - 30px);
    border: 0;
    height: 30px;
    padding-left: 10px;
    font-weight: 400;
    font-size: 12px;
    line-height: 110%;
    color: #5B5B5B;
}

.header-search img {
    margin-right: 10px;
}

.header-menu__wrapper {
    margin-top: 15px;
    background: #FFFFFF;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
    padding: 13px 0;
}

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

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

.header-menu>li {
    margin-right: 46px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.menu-has-children {
    padding-bottom: 35px;
    margin-bottom: -35px;
}

.header-menu li a {
    font-size: 16px;
    line-height: 110%;
    color: #5B5B5B;
    transition: all 0.7s;
}

.header-menu > li > a {
    white-space: nowrap;
}

.header-menu li a:hover {
    color: #0C5997;
}

.header-menu li ul {
    background-color: #fff;
    padding: 15px 13px;
    box-shadow: 0 1px 24px 0 rgb(0 0 0 / 9%);
    transition: margin .1s linear .3s, visibility .1s linear .3s, opacity .1s linear .3s;
}

.header-menu li .sub-menu {
    margin-top: 20px;
    display: block;
    opacity: 0;
    visibility: hidden;
    transition: margin .1s linear .3s, visibility .1s linear .3s, opacity .1s linear .3s;
    top: 40px;
}

.header-menu ul {
    z-index: 3;
    position: absolute;
    width: 297px;
    display: none;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.15);
    border-radius: 5px;
}

.header-menu li:hover>ul {
    opacity: 1;
    visibility: visible;
    margin: 0;
}

.header-menu li ul .menu-item-has-children {
    position: relative;
    display: flex;
    align-items: center;
}

.sub-menu li {
    margin-bottom: 15px;
}

.sub-menu li:last-child {
    margin-bottom: 0;
}

.download-link {
    font-size: 16px;
    line-height: 110%;
    text-decoration-line: underline;
    color: #00A4F2;
    transition: all 0.7s;
}

.download-link:hover {
    color: rgb(12, 89, 151);
}

main {
    padding: 35px 0;
    background: url("../img/main/main-bg.png") center no-repeat;
    background-size: cover;
}

.main-slider {
    padding-bottom: 10px;
    margin-bottom: 50px;
}

.main-slider .swiper-wrapper .swiper-slide {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.main-text {
    width: 448px;
}

.main-text h1 {
    font-weight: 700;
    font-size: 30px;
    line-height: 110%;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: #3F424A;
    margin-bottom: 22px;
}

.main-text ul li,
.single-text ul li {
    margin-bottom: 8px;
    margin-left: 20px;
    position: relative;
    font-size: 16px;
    line-height: 110%;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: #5B5B5B;
    display: flex;
    align-items: center;
}

.main-text ul li:after,
.single-text ul li:after {
    content: '';
    position: absolute;
    left: -20px;
    width: 9px;
    height: 9px;
    background: linear-gradient(90deg, #00A4F2 0%, #0C5997 100%);
    border-radius: 50px;
}

.main-text ul li:last-child,
.single-text ul li:last-child {
    margin-bottom: 0;
}

.main-text .blue-btn {
    width: 255px;
    margin-top: 22px;
}

.blue-btn {
    position: relative;
    height: 48px;
    border: 0;
    overflow: hidden;
    z-index: 1;
    cursor: pointer;
    background: linear-gradient(92.03deg, #00A4F2 0%, #0C5997 100%);
    box-shadow: 2px 4px 4px rgba(0, 0, 0, 0.2);
    border-radius: 24px 10px;
    font-weight: 700;
    font-size: 16px;
    line-height: 110%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: #FFFFFF;
}

.blue-btn:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: -1;
    transition: all 0.7s;
    opacity: 0;
    background: linear-gradient(92.03deg, #00A4F2 0%, #1888E2 100%);
}

.blue-btn:hover:before {
    opacity: 1;
}

.main-image {
    border-radius: 35px 10px 35px 10px;
    overflow: hidden;
    width: 640px;
    height: 396px;
}

.main-img {
    overflow: hidden;
    width: 100%;
    height: 100%;
}

.main-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.four-images {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.four-images .main-img {
    flex-grow: 0;
    flex-shrink: 0;
    flex-basis: calc(50% - 8px);
    height: 50%;
}

.four-images .main-img:nth-child(1),
.four-images .main-img:nth-child(2) {
    margin-bottom: 16px;
}

.slider-pagination__wrapper {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.slider-pagination {
    display: flex;
    align-items: center;
}

.slider-pagination .swiper-pagination-bullet {
    width: 14px;
    height: 14px;
    opacity: 1;
    background: #FFFFFF;
    border: 1px solid #C7C8CA;
    margin: 0 5px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.swiper-pagination-bullet:after {
    content: '';
    position: absolute;
    background: linear-gradient(90deg, #00A4F2 0%, #0C5997 100%);
    width: 8px;
    height: 8px;
    border-radius: 50%;
    transition: all 0.7s ease;
    transform: scale(0);
}

.swiper-pagination-bullet-active:after {
    transform: scale(1);
}

@-webkit-keyframes scaleImage {
    from {
        transform: scale(2);
    }
    to {
        transform: scale(1);
    }
}

@keyframes scaleImage {
    from {
        transform: scale(2);
    }
    to {
        transform: scale(1);
    }
}

.main-slider .swiper-slide-active .main-img img {
    -webkit-animation-name: scaleImage;
    animation-name: scaleImage;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

@-webkit-keyframes fadeInLeft {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0)
    }
    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes fadeInLeft {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0)
    }
    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.main-slider .swiper-slide-active .main-text h1,
.main-slider .swiper-slide-active .main-text ul {
    -webkit-animation-name: fadeInLeft;
    animation-name: fadeInLeft;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

@-webkit-keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 50%, 0);
        transform: translate3d(0, 50%, 0)
    }
    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 50%, 0);
        transform: translate3d(0, 50%, 0)
    }
    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.main-slider .swiper-slide-active .main-text .blue-btn {
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

.section-title {
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.direction .container {
    overflow: hidden;
}

.direction .section-title {
    width: 100%;
    background: white;
    z-index: 1;
}

.section-title h2 {
    font-weight: 700;
    font-size: 30px;
    line-height: 110%;
    text-align: center;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: #3F424A;
    margin-bottom: 15px;
}

.section-title hr {
    border: 0;
    background: linear-gradient(90deg, #00A4F2 0%, #0C5997 100%);
    border-radius: 3px;
    width: 120px;
    height: 4px;
    margin-bottom: 20px;
}

.section-title p {
    font-size: 18px;
    line-height: 110%;
    text-align: center;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: #5B5B5B;
    margin-bottom: 20px;
}

.direction {
    margin-top: 20px;
}

.direction-blocks {
    display: flex;
    flex-wrap: wrap;
}

.direction-block {
    width: 256px;
    height: 302px;
    margin-right: 32px;
    margin-bottom: 32px;
    background: #FFFFFF;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.15);
    border-radius: 10px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 10px 20px;
}

.direction-block img {
    height: 164px;
    max-width: 190px;
    object-fit: contain;
    margin-bottom: 23px;
    transition: all 0.7s;
    -webkit-font-smoothing: subpixel-antialiased;
    -webkit-transform: translateZ(0) scale(1.0, 1.0);
}

.direction-block:hover img {
    transform: scale(1.05);
}

.direction-block p {
    font-weight: 700;
    font-size: 16px;
    line-height: 110%;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: #3F424A;
    transition: all 0.7s;
}

.direction-block:hover p {
    color: #0C5997;
}

.direction-blocks .direction-block:nth-child(4n) {
    margin-right: 0;
}

.direction-detailed {
    padding: 30px 0;
}

.direction-detailed__img {
    width: 100%;
    filter: drop-shadow(2px 4px 20px rgba(0, 0, 0, 0.2));
    height: 335px;
}

.direction-detailed__img-big {
    height: 376px;
}

.direction-detailed__img img {
    width: 100%;
    height: 100%;
    border-radius: 24px 10px;
    object-fit: cover;
}

.section-title__left {
    align-items: flex-start;
}

.section-title__left h2 {
    text-align: left;
}

.direction-detailed__text {
    overflow: hidden;
}

.direction-detailed__text .section-title hr {
    margin-bottom: 5px;
}

.direction-detailed__text h3 {
    font-weight: 700;
    font-size: 20px;
    line-height: 110%;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: #3F424A;
    margin-bottom: 20px;
}

.direction-detailed__text ul {
    display: flex;
    flex-direction: column;
}

.direction-detailed__text ul li {
    position: relative;
    display: flex;
    align-items: flex-start;
    margin-left: 12px;
    margin-bottom: 20px;
    font-weight: 400;
    font-size: 14px;
    line-height: 110%;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: #3F424A;
}

.direction-detailed__text ul li:before {
    content: '';
    position: absolute;
    left: -12px;
    width: 7px;
    height: 7px;
    background: #0A62A2;
    border-radius: 50%;
}

.direction-detailed__text ul small {
    font-style: italic;
    font-weight: 700;
    font-size: 14px;
    line-height: 110%;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: #C7C8CA;
    margin-bottom: 20px;
}

.direction-detailed__text ul:last-of-type li:last-child {
    margin-bottom: 0;
}

.features {
    margin: 30px 0;
    padding-top: 30px;
    background: url("../img/line-bg.png") left repeat;
}

.features-blocks {
    display: flex;
    flex-wrap: wrap;
}

.features-block {
    width: 352px;
    height: 256px;
    background: #FFFFFF;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.15);
    border-radius: 10px;
    margin-right: 32px;
    margin-bottom: 32px;
    display: flex;
    align-items: center;
    flex-direction: column;
    padding: 15px 36px;
    padding-top: 50px;
}

.features-blocks .features-block:nth-child(3n) {
    margin-right: 0;
}

.features-block img {
    width: 65px;
    height: 65px;
    margin-bottom: 20px;
    transition: all 0.7s;
}

.features-block p {
    font-weight: 700;
    font-size: 16px;
    line-height: 110%;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: #3F424A;
    text-align: center;
    height: 105px;
    display: flex;
    align-items: center;
    transition: all 0.7s;
}

.features-block:hover img {
    transform: translateY(5px)
}

.features-block:hover p {
    transform: translateY(-5px)
}

.slider-wrapper {
    position: relative;
    width: calc(100% + 35px);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: -17.5px;
}

.equipment,
.clients {
    padding: 30px 0;
    overflow: hidden;
}

.equipment-slider,
.clients-slider {
    padding: 18px;
}

.slider-button {
    transition: all 0.7s;
    position: absolute;
    z-index: 2;
    cursor: pointer;
}

.slider-button:hover {
    transform: scale(1.1);
}

.slider-button__next {
    right: 0;
}

.slider-button__prev {
    left: 0;
}

.triple-slider__block {
    width: 100%;
    height: 211px;
    height: 125px;
    background: #FFFFFF;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.15);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.triple-slider__block img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    max-width: 215px;
    max-width: 160px;
    max-height: 121px;
    transition: all 0.7s;
    -webkit-font-smoothing: subpixel-antialiased;
    -webkit-transform: translateZ(0) scale(1.0, 1.0);
}

.triple-slider__block:hover img {
    transform: scale(1.05)
}

.equipment .section-title,
.clients .section-title {
    margin-bottom: 0px;
}

.equipment-pagination,
.clients-pagination {
    margin-top: 20px;
}

.about-company {
    padding: 30px 0;
}

.about-company__text img {
    width: 295.34px;
    height: 47.03px;
    margin-bottom: 40px;
}

.about-company__text .section-title h2 {
    font-size: 50px;
}

.about-company__text p {
    font-size: 18px;
    line-height: 110%;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: #5B5B5B;
}

.about-company__img {
    width: 100%;
    height: 437px;
    overflow: hidden;
}

.about-company__img img {
    width: 100%;
    height: 100%;
    border-radius: 24px 10px;
    object-fit: cover;
}

.input-contain {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
}

.input-contain__block input {
    position: relative;
    border: 0;
    display: flex;
    align-items: center;
    width: 100%;
}

.input-contain__block input {
    height: 48px;
    background: #FFFFFF;
    box-shadow: inset 2px 2px 4px rgba(0, 0, 0, 0.15);
    border-radius: 10px;
}

.input-contain input,
.input-contain .text {
    font-size: 18px;
    line-height: 110%;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: #C7C8CA;
    padding-left: 20px;
}

.input-contain input {
    color: #7e7e7e;
}

.input-contain input {
    padding-top: 15px;
    width: 100%;
}

.input-contain .placeholder-text {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: transparent;
    pointer-events: none;
    display: flex;
    align-items: center;
}

.input-contain .text {
    background-color: transparent;
    transform: translate(0);
    transition: transform 0.15s ease-out, font-size 0.15s ease-out, background-color 0.2s ease-out, color 0.15s ease-out;
}

.input-contain__block input:focus+.placeholder-text .text,
.input-contain__block :not(input[value=""])+.placeholder-text .text {
    font-size: 13px;
    transform: translate(0, -55%);
    z-index: 1;
}

.offer {
    padding: 30px 0;
    margin: 30px 0;
    background: url(../img/line-bg.png) left repeat;
}

.offer-form {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

.offer-form .input-contain {
    width: 352px;
    margin-right: 32px;
}

.offer-form .blue-btn {
    width: 352px;
}

.offer-form small,
.offer-form small a {
    font-size: 12px;
    line-height: 110%;
    text-align: center;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: #5B5B5B;
    margin-top: 20px;
}

.offer-form small a {
    transition: all 0.7s;
}

.offer-form small a:hover {
    color: #00A4F2;
}

.certificate {
    padding-top: 30px;
    padding-bottom: 60px;
}

.certificate-block {
    position: relative;
    width: 100%;
    background: #FFFFFF;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.15);
    border-radius: 10px;
    padding: 25px;
    overflow: hidden;
}

.certificate-bg {
    position: absolute;
    width: 100%;
    height: auto;
    left: 0;
    top: 0;
    z-index: 0;
    background-size: cover;
}

.certificate-text {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
}

.certificate-text img {
    filter: drop-shadow(0px 4px 10px rgba(0, 0, 0, 0.15));
    border-radius: 5px;
    width: 145px;
    height: 171px;
    margin-right: 30px;
}

.certificate-text p {
    font-weight: 700;
    font-size: 20px;
    line-height: 110%;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: #3F424A;
}

footer {
    padding-top: 33px;
    padding-bottom: 23px;
    background: #3F424A;
}

.footer-blocks {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.footer-contacts {
    width: 268px;
}

.footer-logo {
    width: 160px;
    height: 25px;
    margin-bottom: 40px;
    display: block;
}

.footer-location {
    display: flex;
    align-items: center;
    font-size: 12px;
    line-height: 110%;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: #FFFFFF;
}

.footer-location img {
    margin-right: 11px;
}

.footer-logo img {
    width: 100%;
    height: 100%;
}

.footer-mobile {
    display: flex;
    align-items: center;
    font-size: 20px;
    line-height: 110%;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: #FFFFFF;
    transition: all 0.7s;
}

.footer-mobile img {
    margin-right: 11px;
}

.footer-mobile:hover {
    color: #00A4F2;
}

.footer-contacts .footer-mobile {
    display: none;
}

.footer-menu {
    width: 406px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.footer-menu li {
    width: 50%;
    margin-bottom: 13px;
}

.footer-menu li:nth-last-child(2) {
    margin-bottom: 0;
}

.footer-menu li:nth-last-child(1) {
    margin-bottom: 0;
}

.footer-menu li a {
    font-size: 16px;
    line-height: 110%;
    color: #FFFFFF;
    align-self: auto;
    transition: all 0.7s;
}

.footer-menu li a:hover {
    color: #00A4F2;
}

footer hr {
    width: 100%;
    height: 1px;
    border: 0;
    background: #6C6C6C;
    margin: 22px 0;
}

.footer-small__block {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.footer-small__block .footer-mobile {
    margin-bottom: 57px;
}

.footer-small__block .download-link:hover {
    color: rgb(135 201 255);
}

.inc,
.privacy-link,
.studio-link {
    font-size: 12px;
    line-height: 110%;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: #FFFFFF;
}

.privacy-link {
    text-decoration-line: underline;
}

.studio-link strong {
    font-weight: 900;
    font-size: 20px;
}

.privacy-link,
.studio-link {
    transition: all 0.7s;
}

.privacy-link:hover,
.studio-link:hover {
    color: #00A4F2;
}

.fancybox-navigation,
.fancybox-infobar,
.fancybox-button--play,
.fancybox-button--thumbs {
    display: none;
}

.modal {
    width: 512px;
    background: rgba(255, 255, 255, 1);
    box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.25);
    border-radius: 10px;
    padding: 46px 32px 22px 32px;
    position: relative;
}

.fancybox-is-open .fancybox-bg {
    opacity: .5;
}

.modal-block {
    width: 100%;
}

.fancybox-slide--html .fancybox-close-small {
    top: 5px;
    right: 5px;
}

.modal-block .section-title {
    margin-bottom: 10px;
}

.modal-block .input-contain {
    margin-bottom: 20px;
}

.modal-block .blue-btn {
    width: 100%;
    margin-bottom: 20px;
}

.form-privacy,
.form-privacy a {
    font-size: 15px;
    line-height: 110%;
    text-align: center;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: #5B5B5B;
    margin-top: 20px;
}

.form-privacy a {
    transition: all 0.7s;
}

.form-privacy a:hover {
    color: #00A4F2;
}

.header-menu__button,
.menu-tel {
    display: none;
}

.single-wrapper {
    padding: 100px 0;
}

.single-block li {
    position: relative;
    display: flex;
    align-items: center;
    margin-left: 20px;
}

.single-block li,
.single-block li a {
    font-size: 23px;
    line-height: 120%;
    font-feature-settings: 'pnum' on, 'lnum' on;
    color: #41687D;
}

.single-block ul li::after {
    content: "";
    position: absolute;
    left: -15px;
    width: 6px;
    height: 6px;
    background: linear-gradient(90deg, #00A4F2 0%, #0C5997 100%);
    border-radius: 50%;
}

.single-block ol {
    list-style-type: none;
    counter-reset: num;
}

.single-block ol li:before {
    content: counter(num) '.';
    counter-increment: num;
    display: inline-block;
    position: absolute;
    top: 0px;
    left: -20px;
    width: 20px;
    color: #0C5997;
    text-align: left;
    font-size: 20px;
}

.single-block ul {
    margin-bottom: 30px;
}

@media (max-width: 1200px) {
    .header-logo p {
        display: none;
    }
    .header-menu>li {
        margin-right: 50px;
    }
    .main-text h1 {
        font-size: 25px;
    }
    .direction-block {
        width: 217px;
        height: 270px;
        margin-right: 20px;
        margin-bottom: 20px;
    }
    .direction-block img {
        height: 135px;
        max-width: 150px;
    }
    .features-block {
        width: 285px;
    }
    .features-block p {
        font-size: 13px;
    }
    .about-company__text p {
        font-size: 16px;
    }
    .offer-form .input-contain {
        width: 295px;
    }
    .offer-form .blue-btn {
        width: 270px;
    }
    .certificate-block {
        padding: 15px;
    }
    .certificate-text img {
        width: 130px;
        height: 145px;
    }
    .certificate-text p {
        font-size: 16px;
    }
}

@media (max-width: 991px) {
    .header-blocks .header-search__wrapper,
    .header-blocks hr,
    .header-tel a {
        display: none;
    }
    .menu-tel {
        display: flex;
        align-items: center;
        font-size: 24px;
        line-height: 110%;
        font-feature-settings: 'pnum' on, 'lnum' on;
        color: #5B5B5B;
        display: flex;
        align-items: center;
        transition: all 0.7s ease;
        margin-bottom: 20px;
    }
    .menu-tel img {
        margin-right: 11px;
    }
    .menu-tel:hover {
        color: #0C5997;
    }
    .header-menu__button {
        display: flex;
        flex-direction: column;
        align-items: center;
        cursor: pointer;
        z-index: 5;
        position: relative;
        margin-left: 25px;
    }
    .menu-icon__block {
        position: relative;
        -webkit-transform: translate3d(0, 0, 0);
        width: 44px;
        -webkit-transform: translateZ(0px);
        -moz-transform: translateZ(0px);
        -o-transform: translateZ(0px);
        transform: translateZ(0px);
        -webkit-overflow-scrolling: auto;
        transition: all 0.7s;
        z-index: 3;
        display: flex;
    }
    .menu-icon {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        width: 100%;
        position: relative;
    }
    .menu-icon>span {
        width: 100%;
        height: 14px;
        background: #0C5997;
        display: block;
        transition: all 0.3s ease-in-out;
        position: relative;
        margin-bottom: 10px;
        height: 4px;
    }
    .menu-icon span:last-child {
        margin-bottom: 0;
    }
    .header-menu__button-active .menu-icon__block .menu-icon span:nth-child(1) {
        transform-origin: center center;
        transform: rotate(45deg);
        top: 14px;
    }
    .header-menu__button-active .menu-icon__block .menu-icon span:nth-child(2) {
        opacity: 0;
        transform: translateY(-50px);
    }
    .header-menu__button-active .menu-icon__block .menu-icon span:nth-child(3) {
        transform-origin: center center;
        transform: rotate(-45deg);
        top: -14px;
    }
    header {
        padding: 13px 0;
    }
    .header-menu__wrapper {
        padding: 0;
        margin-top: 0;
        box-shadow: inherit;
        position: fixed;
        top: 0;
        width: 100%;
        height: 100%;
        background: #FFFFFF;
        z-index: 4;
        overflow-x: hidden;
        overflow-y: auto;
        right: -100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        transition: all 0.7s ease;
    }
    .header-menu__active {
        right: 0;
    }
    .header-menu__container {
        flex-direction: column;
        padding: 0 75px;
        align-items: flex-start;
    }
    .header-menu {
        flex-direction: column;
        align-items: flex-start;
        width: 100%;
        padding-right: 30px;
    }
    .header-menu>li {
        margin-right: 0;
        margin-bottom: 25px;
        width: 100%;
        align-items: flex-start;
        justify-content: flex-start;
        flex-direction: column;
    }
    .menu-has-children {
        padding-bottom: 0;
    }
    .header-menu * {
        transition: all 0.7s;
    }
    .header-menu li .sub-menu {
        margin-bottom: 0;
        opacity: 1;
        top: auto;
        visibility: visible;
        margin: 0;
        margin-left: 0px;
        position: inherit;
        background: transparent;
        padding: 0;
        overflow: hidden;
        max-height: 0;
        padding-left: 15px;
        transition: max-height 0.5s cubic-bezier(0, 1, 0, 1);
        background: transparent;
        box-shadow: inherit;
        width: 100%;
    }
    li.menu-item__active .sub-menu {
        max-height: 5000px;
        transition: max-height 1s ease-in-out;
    }
    .header-menu li .sub-menu li {
        padding: 10px 0;
        margin-bottom: 0;
    }
    .header-menu ul li:last-child {
        padding-bottom: 0 !important;
    }
    .menu-has-children:before {
        content: '';
        position: absolute;
        right: -30px;
        transition: all 0.7s ease;
        transform: rotate(-90deg);
        top: 4px;
        background: url("../img/arrow-down.svg") center no-repeat;
        background-size: auto;
        background-size: cover;
        width: 27px;
        height: 16px;
    }
    .menu-item__active::before {
        transform: rotate(0) !important;
    }
    .header-menu li a {
        font-size: 23px;
    }
    .header-menu__container .download-link {
        font-size: 23px;
    }
    .main-slider .swiper-wrapper .swiper-slide {
        flex-direction: column;
    }
    .main-text {
        order: 1;
        width: 100%;
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
    .main-image {
        order: 0;
        margin-bottom: 35px;
    }
    .main-pagination {
        display: none;
    }
    .main-slider {
        margin-bottom: 0;
    }
    .direction-blocks .direction-block:nth-child(4n) {
        margin-right: 20px;
    }
    .direction-blocks .direction-block:nth-child(3n) {
        margin-right: 0;
    }
    .direction-block {
        width: 216px;
    }
    .direction-detailed__img {
        margin-bottom: 20px;
    }
    .direction-detailed-second .container .row .col-12:first-child {
        order: 1;
    }
    .direction-detailed-second .container .row .col-12:last-child {
        order: 0;
    }
    .features-blocks .features-block {
        margin-right: 0;
    }
    .features-blocks .features-block:nth-child(1n) {
        margin-left: 0;
    }
    .features-blocks .features-block:nth-child(2n) {
        margin-left: 20px;
    }
    .features-block {
        width: 329px;
    }
    .equipment .container,
    .equipment .col-12,
    .clients .container,
    .clients .col-12 {
        padding: 0;
    }
    .equipment .row,
    .clients .row {
        margin: 0;
    }
    .equipment-slider .swiper-wrapper .swiper-slide,
    .clients-slider .swiper-wrapper .swiper-slide {
        width: 288px;
    }
    .about-company .container .row .col-12:first-child {
        order: 1;
    }
    .about-company .container .row .col-12:last-child {
        order: 0;
    }
    .about-company__img {
        margin-bottom: 30px;
    }
    .section-title p {
        margin-bottom: 10px;
    }
    .offer-form {
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    .offer-form .input-contain {
        margin-right: 0;
        margin-bottom: 20px;
    }
    .certificate-text img {
        width: 165px;
        height: 176px;
        margin-right: 15px;
    }
    .certificate-text p {
        font-size: 18px;
    }
    .certificate .container .row .col-12:first-child {
        margin-bottom: 30px;
    }
    .footer-blocks {
        flex-wrap: wrap;
    }
    .footer-small__block {
        width: 100%;
        display: flex;
        flex-direction: row;
        margin-top: 30px;
        justify-content: space-between;
    }
    .footer-small__block .footer-mobile {
        margin-bottom: 0;
    }
    .footer-menu {
        width: 370px;
    }
    .main-image {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .direction-block {
        width: 245px;
        margin-right: 0;
    }
    .direction-blocks .direction-block:nth-child(2n) {
        margin-left: 20px;
    }
    .direction-blocks .direction-block:nth-child(4n) {
        margin-right: 0;
    }
    .features-block {
        width: 245px;
        margin-bottom: 20px;
        padding: 15px 15px;
        padding-top: 40px;
        height: 225px;
    }
    .features-block p {
        font-size: 12px;
    }
    .main-text h1 {
        margin-bottom: 10px;
    }
    .section-title p {
        font-size: 16px;
    }
    .footer-logo,
    .footer-location,
    .footer-contacts {
        margin-bottom: 20px;
    }
    .footer-contacts .footer-mobile {
        display: flex;
    }
    .footer-contacts,
    .footer-menu {
        width: 100%;
    }
    .footer-small__block .footer-mobile {
        display: none;
    }
    .footer-blocks {
        align-items: center;
        justify-content: center;
        flex-direction: column;
    }
    .inc,
    .privacy-link {
        margin-bottom: 20px;
    }
    .header-menu__container {
        padding: 20px;
    }
}

@media (max-width: 576px) {
    .header-tel a,
    .slider-button {
        display: none;
    }
    .menu-has-children::before {
        width: 19px;
        height: 11px;
        top: 5px;
        right: -22px;
    }
    .header-menu {
        padding-right: 20px;
    }
    .menu-icon__block {
        width: 30px;
    }
    .menu-icon>span {
        margin-bottom: 6px;
    }
    .header-menu__button-active .menu-icon__block .menu-icon span:nth-child(1) {
        top: 10px;
    }
    .header-menu__button-active .menu-icon__block .menu-icon span:nth-child(3) {
        top: -10px;
    }
    .header-menu li a {
        font-size: 17px;
    }
    .header-menu>li {
        margin-bottom: 15px;
    }
    .header-menu li .sub-menu li {
        padding: 7px 0;
    }
    .header-menu__container .download-link {
        font-size: 19px;
    }
    main {
        padding-top: 20px;
        padding-bottom: 20px;
    }
    .main-image {
        height: 250px;
        margin-bottom: 20px;
    }
    .four-images .main-img:nth-child(1),
    .four-images .main-img:nth-child(2) {
        margin-bottom: 7px;
    }
    .four-images .main-img {
        flex-basis: calc(50% - 3.5px);
    }
    .main-text h1 {
        font-size: 22px;
        margin-bottom: 15px;
    }
    .main-text {
        text-align: left;
        align-items: flex-start;
        justify-content: flex-start;
    }
    .main-text .blue-btn {
        margin: 0 auto;
        margin-top: 10px;
    }
    .section-title {
        margin-bottom: 10px;
    }
    .direction-block,
    .features-block {
        width: 100%;
    }
    .direction-blocks .direction-block:nth-child(2n),
    .features-blocks .features-block:nth-child(2n) {
        margin-left: 0;
    }
    .direction-detailed__img,
    .about-company__img {
        height: 220px;
    }
    .section-title p {
        font-size: 15px;
    }
    .features-block p {
        height: auto;
    }
    .features-block {
        justify-content: center;
        padding-top: 30px;
        padding: 15px;
        height: 210px;
    }
    .equipment-pagination,
    .clients-pagination {
        margin-top: 10px;
    }
    .about-company__text .section-title h2 {
        font-size: 45px;
    }
    .about-company__text img {
        width: 260px;
        height: 47.03px;
        margin-bottom: 30px;
    }
    .offer-form .input-contain,
    .offer-form .blue-btn {
        width: 100%;
    }
    .certificate-text img {
        width: 85px;
        height: 100px;
        margin-right: 20px;
    }
    .certificate .container .row .col-12:last-child .certificate-bg {
        top: auto;
        bottom: -10px;
    }
    .certificate .container .row .col-12:first-child .certificate-bg {
        top: -10px;
    }
    .certificate-text p {
        font-size: 12px;
    }
    .certificate-text {
        padding-right: 25px;
    }
    .triple-slider__block {
        height: 175px;
    }
    .main-slider .swiper-slide-active .main-text ul {
        margin-bottom: 10px;
    }
    .certificate {
        padding-top: 10px;
        padding-bottom: 40px;
    }
    .equipment .section-title hr,
    .clients .section-title hr {
        margin-bottom: 10px;
    }
    .modal {
        width: 320px;
        padding: 35px 20px 22px 20px;
    }
    .section-title h2 {
        font-size: 24px;
        margin-bottom: 10px;
    }
    .fancybox-slide--html .fancybox-close-small {
        top: 0px;
        right: 0px;
    }
    main {
        background: url("../img/main-mobile-bg.png") center no-repeat;
        background-size: cover;
    }
    .one-images {
        height: 360px;
    }
    .menu-tel {
        font-size: 19px;
    }
    .single-wrapper {
        padding: 60px 0;
    }
    .single-block li,
    .single-block li a {
        font-size: 15px;
    }
}

@-webkit-keyframes fadeInDown {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0)
    }
    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes fadeInDown {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0)
    }
    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.fadeInDown {
    -webkit-animation-name: fadeInDown;
    animation-name: fadeInDown;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

@-webkit-keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0)
    }
    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0)
    }
    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.fadeInUp {
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

@-webkit-keyframes fadeInLeft {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0)
    }
    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes fadeInLeft {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0)
    }
    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.fadeInLeft {
    -webkit-animation-name: fadeInLeft;
    animation-name: fadeInLeft;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

@-webkit-keyframes fadeInRight {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0)
    }
    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes fadeInRight {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0)
    }
    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

.fadeInRight {
    -webkit-animation-name: fadeInRight;
    animation-name: fadeInRight;
    animation-duration: 0.9s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

@-webkit-keyframes fadeIn {
    0% {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

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

.fadeIn {
    -webkit-animation-name: fadeIn;
    animation-name: fadeIn;
    animation-duration: 0.9s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

html {
    -webkit-font-smoothing: antialiased;
}

.wow {
    visibility: hidden;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}