@import url(reset.css);

:root {
    --site-text-color: #1E1E1E;
    --site-text-color-2: #ffffff;
    --site-hover-color: #FA6018;
    
    --site-bg-color: #ffffff;

    --site-bt-color: #FA6018;
    --site-bt-text-color: #ffffff;
    --site-bt-hover-color: #f04c00;

    --gray-bg: #EFEEEE;

    --input-color: #575757;

    --error-color: red;
    
    --cont-pad: 40px;
    --section-pad: 85px;
    
    --header-h: 70px;

    --f-48: 48px;
    --f-36: 36px;
    --f-24: 24px;
    
    --fa: "Font Awesome 5 Free", "Font Awesome 5 Brands", "Font Awesome 5 Pro";
    --font-1: "Montserrat", sans-serif;
    --font-2: "Russo One", sans-serif;
}

button, i, img {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

::-webkit-scrollbar{
    width:8px;
    height: 8px;
}

::-webkit-scrollbar-thumb{
    border: none;
    background-color: var( --site-hover-color );
    border-radius: 4px;
    transition: background-color 0.5s;
}

::-webkit-scrollbar-thumb:hover{
    background-color: var( --site-hover-color );
}

::-webkit-scrollbar-track{
    border-width:0;
    background: var( --site-bg-color );
}

* {
	-webkit-overflow-scrolling:touch;
    appearance: none;
	-webkit-appearance: none;
}

a, label, button, i, * {
	-webkit-tap-highlight-color: transparent;
}

a {
	text-decoration: none;
	cursor: pointer;
	transition: color 0.3s, background-color 0.3s, opacity 0.3s;
	color: var( --site-text-color );
}

a:hover {
    color: var( --site-hover-color );
}

img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	transition: transform 0.2s;
}

sup {
	vertical-align: top;
}

input:focus,
input:active,
select {
	outline: none;
}

select {
	cursor: pointer;
}

input,
textarea {
    appearance: none;
	-webkit-appearance: none;
	outline: none;
}

.mar-b-none {
	margin-bottom: 0!important;
}

.clear {
	clear: both;
	display: block;
}

.hover-trans {
	transition: 0.2s;
}

.hover-trans:hover {
    --scale: 0.9;
	transform: scale(var( --scale ));
	-webkit-transform: scale(var( --scale ));
	-moz-transform: scale(var( --scale ));
	-o-transform: scale(var( --scale ));
	-ms-transform:scale(var( --scale ));
}

.def-bt {
	background: transparent;
	border: none;
	border-radius: 0;
	outline: none!important;
	padding: 0;
	margin: 0;
	color: transparent;
	cursor: pointer;
	position: relative;
	transition: transform 0.3s, color 0.3s, height 0.3s;
}

.table-block {
	display: table;
	height: 100%;
}

	.table-block > * {
		display: table-cell;
		vertical-align: middle;
	}

.bg {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.image-block {
	width: 100%;
	position: relative;
	overflow: hidden;
}

	.image-block::before {
		content: "";
		display: block;
		padding-top: 100%;
	}
	
	.image-block > * {
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 1;
	}

.h-100 {
	height: 100%;
}

.w-100 {
    width: 100%;
}

.align-center {
	text-align: center;
}

strong {
	font-weight: bold;
}

em {
    font-style: italic;
}

.FA {
	font-family: var( --fa );
}

.pad-b-none {
    padding-bottom: 0!important;
}

/* Preloader Start */
.preloader {
  --preloader-logo-h: 50px;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: -70px;
  padding-bottom: 70px;
  transform: translateY(70px);
  background: var( --site-bg-color );
  z-index: 10000002;
}

.preloader .preloader_logo {
    width: 100%;
    height: auto;
    max-height: var( --preloader-logo-h );
    padding: 0 15px;
    box-sizing: border-box;
    object-fit: contain;
    object-position: center bottom;
    position: absolute;
    top: calc( 45% - var( --preloader-logo-h ) );
    left: 0;
}

.preloader__row {
  position: relative;
  top: calc( 49% + var( --preloader-logo-h ) );
  left: 50%;
  width: 60px;
  height: 60px;
  margin-top: -30px;
  margin-left: -30px;
  text-align: center;
  animation: preloader-rotate 2s infinite linear;
}

.preloader__item {
  position: absolute;
  display: inline-block;
  top: 0;
  background-color: #01264b;
  border-radius: 100%;
  width: 30px;
  height: 30px;
  animation: preloader-bounce 2s infinite ease-in-out;
}

.preloader__item:last-child {
  top: auto;
  bottom: 0;
  animation-delay: -1s;
}

@keyframes preloader-rotate {
  100% {
    transform: rotate(360deg);
  }
}

@keyframes preloader-bounce {

  0%,
  100% {
    transform: scale(0);
  }

  50% {
    transform: scale(1);
  }
}

.loaded_hiding .preloader {
  transition: 0.3s opacity;
  opacity: 0;
}

.loaded .preloader {
  display: none;
}
/* Preloader End */

html {
	width: 100%;
	min-width: 320px;
	max-width: 100%;
	height: 1px;
	min-height: 100%;
	overflow-x: hidden;
    font-family: var( --font-1 );
    line-height: normal;
    font-weight: 500;
    color: var( --site-text-color );
    background: var( --site-bg-color );
}

    html * {
        line-height: inherit;
    }

body {
	width: 100%;
	min-width: 320px;
	height: 1px;
	min-height: 100%;
	position: relative;
    
}

.section-container {
	width: 100%;
	max-width: calc( 1140px + var( --cont-pad ) * 2 );
    box-sizing: border-box;
	padding: 0 var( --cont-pad );
	margin: 0 auto;
	position: relative;
    z-index: 2;
}

#header {
    color: var( --site-text-color-2 );
    user-select: none;
}

    .header-wrapper-top {
        height: 45px;
        padding: 15px 0 10px 0;
        background-color: var( --site-text-color );
        box-sizing: border-box;
        width: 100%;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 10000001;
        transform: translateY( -5px );
        font-family: var( --font-2 );
        font-weight: 400;
        font-size: 14px;
        transition: background-color 0.3s;
    }

        .header-wrapper-top > div {
            --site-text-color: var( --site-text-color-2 )
        }

        .header-wrapper-top__social {
            flex: 0 0 auto;
            width: auto;
            margin-right: 20px;
        }

            .header-wrapper-top__social a {
                display: inline-block;
                margin: 0 4px;
                vertical-align: middle;
                line-height: 1;
            }

                .header-wrapper-top__social a img {
                    display: inline-block;
                    width: 21px;
                    height: 21px;
                }

        .header-wrapper-top__contacts {
            display: flex;
            transform: translateY(-2px);
        }

            .header-wrapper-top__contacts p {
                margin-right: 40px;
            }

                .header-wrapper-top__contacts a {
                    display: inline-block;
                    margin-right: 5px;
                }

                .header-wrapper-top__contacts i {
                    font-size: 16px;
                    vertical-align: top;
                }

                .header-wrapper-top__contacts .text-link i {
                    margin-top: -2px;
                    margin-right: 4px;
                    vertical-align: text-bottom;
                }

                .header-wrapper-top__contacts .fa-envelope {
                    transform: translateY(1px);
                }

        .header-wrapper-top__lang {
            flex: 0 0 auto;
            width: auto;
            transform: translateY(-2px);
        }

    .header-wrapper {
        height: calc( var( --header-h ) + 5px );
        padding: 15px 0 10px 0;
        background-color: var( --site-bg-color );
        box-sizing: border-box;
        width: 100%;
        position: fixed;
        top: 40px;
        left: 0;
        z-index: 10000000;
        transform: translateY( -5px );
        transition: background-color 0.3s;
        box-shadow: 0 4px 6px 0px rgba( 0, 0, 0, 0.1 );
    }

    .header-wrapper.transparent-header {
        --site-text-color: var( --site-text-color-2 );
        background: transparent;
        box-shadow: none;
    }

        .header-wrapper__menu-bt {
            flex: 0 0 auto;
            width: auto;
        }

            .mob-menu-bt {
                --w: 24px;
                width: var( --w );
                height: var( --w );
                position: relative;
                vertical-align: middle;
            }

                .mob-menu-bt > span {
                    width: 100%;
                    height: 2px;
                    display: block;
                    background: var( --site-text-color );
                    position: absolute;
                    left: 0;
                }

                .mob-menu-bt .line-1 {
                    top: 4px;
                }

                .mob-menu-bt .line-2 {
                    top: calc( 50% - 1px );
                }

                .mob-menu-bt .line-3 {
                    bottom: 4px;
                    width: 50%;
                    transition: width 0.3s;
                }

                .mob-menu-bt:hover .line-3 {
                    width: 100%;
                }

        .header-wrapper__logo {
            height: 46px;
        }

            .header-wrapper__logo a {
                display: inline-block;
                height: 100%;
                transition: transform 0.3s;
            }

            .header-wrapper__logo a:hover {
                transform: scale( 1.05 );
            }

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

                .transparent-header .def-logo,
                .transparent-logo {
                    display: none;
                }

                .transparent-header .transparent-logo {
                    display: block;
                }
        
        .header-wrapper__nav {
            text-align: right;
        }

            .header-wrapper__nav li {
                display: inline-block;
                margin: 3px 9px;
                font-size: 18px;
                font-weight: 400;
            }

        .header-wrapper__lang {
            flex: 0 0 auto;
            width: auto;
            padding-left: 0;
        }

            header .select-block {
                vertical-align: middle;
            }

        .header-wrapper__right {
            flex: 0 0 auto;
            width: auto;
            text-align: right;
            margin-left: 20px;
        }

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

            .header-wrapper .header-wrapper__right .lang-links {
                margin-left: 20px;
            }

            .header-wrapper__right .social-links {
                display: inline-block;
                vertical-align: middle;
                margin-right: 15px;
            }

                .social-links a {
                    font-size: 26px;
                    margin: 0 8px;
                }

                .lang-links {
                    color: var( --site-text-color );
                    font-family: var( --font-2 );
                    font-size: 14px;
                    font-weight: 400;
                    display: flex;
                }

                    .lang-links a.active {
                        color: var( --site-hover-color );
                    }

                    .lang-links a {
                        display: inline-block;
                        padding: 0 10px;
                        position: relative;
                    }

                        .lang-links a::before {
                            content: "";
                            display: block;
                            height: 26px;
                            width: 1px;
                            background: var( --site-text-color );
                            position: absolute;
                            right: 0;
                            top: calc( 50% - 13px );
                        }

                    .lang-links a:last-of-type {
                        padding-right: 0;
                    }

                        .lang-links a:last-of-type:before {
                            display: none;
                        }

                    .lang-links i {
                        font-size: 16px;
                    }
    
    .header__mob-menu {
        --site-text-color: var( --site-text-color-2 );
        color: var( --site-text-color-2 );
        position: fixed;
        top: -70px;
        left: 0;
        width: 100%;
        height: 100vh;
        height: 100dvh;
        padding-bottom: 70px;
        transform: translateY( calc( ( 110vh + 70px ) * -1 ) );
        transition: transform 0.6s;
        will-change: transform;
        overflow: auto;
        z-index: 10000001;
        background-color: rgba( 0, 0, 0, 0.6 )!important;
        background-blend-mode: multiply;
    }

    .mob-menu-active .header__mob-menu {
        transform: translateY( 70px );
    }

    .header__mob-menu::-webkit-scrollbar {
        width: 0px;
    }

        .header__mob-menu .header-wrapper {
            position: static;
            background: transparent;
            box-shadow: none;
        }

            .header__mob-menu .header-wrapper__logo {
                margin-left: 36px;
                text-align: center;
            }

            .close-mob-menu-bt {
                vertical-align: middle;
            }

                .close-mob-menu-bt svg {
                    display: block;
                }

        .header__mob-menu-body {
            text-align: center;
            padding: 50px 0;
        }

            .header__mob-menu-body nav li {
                padding: 15px 0;
                font-size: 18px;
            }

            .header__mob-menu-body nav li,
            .header__mob-menu-body p {
                text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.1);
            }

            .header__mob-menu-footer {
                padding-top: 25px;
            }
            
            .header__mob-menu-footer .social-links {
                margin-top: 35px;
            }

            .header__mob-menu-footer .bts-block {
                padding-top: 25px;
            }

            .header__mob-menu-footer .flex-p {
                display: flex;
                justify-content: center;
                text-align: left;
                font-family: var( --font-1 );
                font-weight: 500;
                font-size: 16px;
            }

                .header__mob-menu-footer .flex-p span {
                    margin: 0 15px;
                }

            .header__mob-menu-footer p {
                font-family: var( --font-2 );
                font-size: 18px;
                font-weight: 400;
                margin-top: 25px;
            }

                .header__mob-menu-footer .text-link {
                    margin-right: 8px;
                }

                .header__mob-menu-footer .text-link i {
                    color: var( --site-hover-color );
                }

                .header__mob-menu-footer .text-link i.fa-envelope {
                    transform: translateY(3px);
                }

                .header__mob-menu-footer a img {
                    width: 28px;
                    display: inline-block;
                    vertical-align: middle;
                    margin-top: -4px;
                    margin-right: 6px;
                }

                .header__mob-menu-footer p i {
                    font-size: 22px;
                    margin-right: 6px;
                    transform: translateY(1px);
                }

            .header__mob-menu-social {
                font-size: 24px;
                margin-top: 20px;
            }

                .header__mob-menu-social a {
                    margin: 0 3px;
                }

                .header__mob-menu-social a img {
                    width: 27px;
                    height: 27px;
                    display: inline-block;
                }

.section {
    position: relative;
    padding: var( --section-pad ) 0;
    box-sizing: border-box;
}

    .section .section-anchor {
        position: absolute;
        top: calc( ( var( --header-h ) + 40px - 1px ) * -1 );
    }

    .section-top-block {
        margin-bottom: 45px;
    }

        .section-top-block h2,
        .section-top-block h3 {
            font-family: var( --font-2 );
            font-weight: 400;
            font-size: var( --f-36 );
            line-height: normal;
            letter-spacing: 1.8px;
            text-transform: uppercase;
            margin-bottom: 8px;
            color: var( --site-bt-color );
        }

        .section-top-block p {
            font-size: var( --f-24 );
            font-weight: 700;
            margin-bottom: 10px;
        }

        .section-top-block > :last-child {
            margin-bottom: 0;
        }

.button {
    min-height: 56px;
    position: relative;
    padding: 5px 26px;
    border-radius: 5px;
    border: none;
    color: var( --site-bt-text-color );
    background: var( --site-bt-color );
    font-family: var( --font-2 );
    font-weight: 400;
    font-size: 18px;
    letter-spacing: 0.9px;
    text-transform: uppercase;
    overflow: hidden;
    transition: transform 0.3s, color 0.3s, background-color 0.3s;
    z-index: 1;
    outline: none;
    cursor: pointer;
}

.button:hover {
    background: var( --site-bt-hover-color );
}

.button:active {
    transform: scale( 0.98 );
}

    .button i {
        margin-right: 3px;
    }

.button.small {
    min-height: 40px;
    padding: 5px 20px;
    font-size: 16px;
}

.bg-img {
    background: var( --bg-img-pc ) no-repeat;
    background-size: cover;
}

.bg-fixed {
    background-attachment: fixed!important;
}

.gray-bg {
    background-color: var( --gray-bg );
}

.top-section {
    --section-pad: 85px;
    --site-text-color: var( --site-text-color-2 );
    color: var( --site-text-color-2 );
    height: 80vh;
    min-height: 600px;
    max-height: 1500px;
    box-sizing: border-box;
    padding: calc( var( --section-pad ) + var( --header-h ) + 40px ) 0 var( --section-pad ) 0;
    background-color: rgba( 0, 0, 0, 0.50 )!important;
    background-blend-mode: multiply;
}

    .top-section .row {
        --bs-gutter-x: 30px;
    }

    .main-title {
        font-family: var( --font-2 );
        font-size: var( --f-48 );
        font-weight: 400;
        letter-spacing: 2.4px;
        line-height: 1.05;
        color: var( --site-bt-color );
        margin-bottom: 13px;
        text-transform: uppercase;
    }

    .top-section * {
        text-shadow: 0px 2px 17px rgba(0, 0, 0, 0.48);
    }

    .top-section button {
        text-shadow: none;
        margin-top: 30px;
    }

    .top-section__left p {
        font-size: 22px;
    }

    .top-section__right p {
        font-size: 16px;
        margin-bottom: 20px;
    }

    .top-section p:last-of-type {
        margin-bottom: 0;
    }

.section-2 {
    padding-bottom: 0px;
}

    .section-2 .section-container {
        transform: translateY( -40px );
    }

        .section-2 .row {
            --bs-gutter-x: 32px;
            --bs-gutter-y: 16px;
            width: 94%;
            margin-left: auto;
            margin-right: auto;
            margin-top: 0;
        }

            .section-2-item {
                margin-top: 0;
                margin-bottom: var( --bs-gutter-y );
            }

            .section-2-item > div {
                height: 100%;
                box-sizing: border-box;
                padding: 20px;
                border-radius: 10px;
                background: var( --site-bg-color );
                text-align: center;
                overflow: hidden;
            }

                .section-2-item > div img {
                    height: 60px;
                    margin-bottom: 12px;
                }

                .section-2-item p {
                    font-family: var( --font-2 );
                    font-weight: 400;
                    font-size: 18px;
                    text-transform: uppercase;
                    letter-spacing: 1px;
                }

.services-items {
    --bs-gutter-x: 70px;
    --bs-gutter-y: 36px;
    margin-bottom: 45px;
}

.services-items:last-of-type {
    margin-bottom: 0;
}

    .services-item > div {
        height: 100%;
        position: relative;
    }

    .services-item > div::after {
        content: "";
        display: block;
        width: 100%;
        height: 8px;
        border-radius: 5px;
        background: var( --site-bt-color );
        position: absolute;
        bottom: 0;
        left: 0;
    }

        .services-item__top {
            border-radius: 5px;
            overflow: hidden;
            border-bottom: 8px solid var( --site-bt-color );
        }

            .services-item.col-lg-4 .services-item__top .image-block::before {
                padding-top: 60%;
            }

            .services-item__top .image-block::before {
                padding-top: 38%;
            }

            .services-item__top img {
                object-fit: cover;
                pointer-events: none;
            }

            .services-item__title {
                padding: 20px;
                height: 72px;
                overflow: hidden;
                background: #383838;
            }

                .services-item__title p {
                    color: var( --site-text-color-2 );
                    font-family: var( --font-2 );
                    font-size: 20px;
                    font-weight: 400;
                    line-height: normal;
                    letter-spacing: 1px;
                    text-transform: uppercase;
                    display: -webkit-box;
                    -webkit-line-clamp: 3;
                    -webkit-box-orient: vertical;
                    overflow: hidden;
                    text-overflow: ellipsis;
                }

        .services-item__info {
            padding: 22px 0 32px 0;
        }

            .services-item__info ul {
                padding-left: 37px;
                list-style: none;
            }

                .services-item__info li {
                    position: relative;
                    font-size: 16px;
                    margin-bottom: 20px;
                }

                .services-item__info li:last-of-type {
                    margin-bottom: 0;
                }

                    .services-item__info li::before {
                        content: "";
                        display: block;
                        width: 26px;
                        height: 26px;
                        background: url( '../images/list-icon.svg' ) center no-repeat;
                        background-size: contain;
                        position: absolute;
                        top: -3px;
                        left: -37px;
                    }

.def-slider .slick-arrow {
    --w: 40px;
    --arrow-color: var( --site-bt-text-color );
    width: var( --w );
    height: var( --w );
    padding: 0;
    position: absolute;
    top: calc( 50% - ( var( --w ) / 2 ) );
    z-index: 2;
    overflow: hidden;
    border-radius: 50%;
    border: none!important;
    background: var( --site-bt-color );
    color: transparent;
    cursor: pointer;
    transition: opacity 0.3s, transform 0.3s, background-color 0.3s;
    box-shadow: 0 0 4px 1px rgba( 0, 0, 0, 0.1 );
    will-change: transform;
}

.def-slider .slick-arrow:hover {
    background: var( --site-bt-hover-color );
}

.def-slider .slick-arrow:active {
    transform: scale( 0.9 );
}

.def-slider .slick-disabled {
    opacity: 0;
    pointer-events: none;
}

.def-slider .slick-prev {
    left: calc( ( var( --w ) / 2 - ( var( --item-pad, 0px ) / 2 ) + var( --arrow-mar, 0px ) ) * -1 );
}

.def-slider .slick-next {
    right: calc( ( var( --w ) / 2 - ( var( --item-pad, 0px ) / 2 ) + var( --arrow-mar, 0px ) ) * -1 );
}

    .def-slider .slick-prev::before {
        content: "\f053";
        padding-right: 3px;
    }

    .def-slider .slick-next::before {
        content: "\f054";
        padding-left: 3px;
    }

    .def-slider .slick-arrow::before {
        display: inline-block;
        width: 100%;
        height: 100%;
        box-sizing: border-box;
        position: absolute;
        top: 0;
        left: 0;
        text-align: center;
        line-height: var( --w );
        font-family: var( --fa );
        font-size: 18px;
        font-weight: 300;
        color: var( --arrow-color );
        transition: color 0.3s;
    }

.works-slider {
    padding-bottom: 45px;
    position: relative;
}

    .works-slider .slick-track {
        display: flex;
        margin-left: 0 !important;
    }

    .works-slider .slick-dots {
        width: 100%;
        text-align: center;
        position: absolute;
        bottom: -4px;
        left: 0;
    }

        .works-slider .slick-dots li {
            display: inline-block;
            padding: 4px;
            cursor: pointer;
        }

            .works-slider .slick-dots li button {
                display: block;
                width: 40px;
                height: 7px;
                padding: 0;
                overflow: hidden;
                color: transparent;
                background: var( --input-color );
                border: none;
                border-radius: 5px;
                cursor: pointer;
                transition: background-color 0.3s;
            }

            .works-slider .slick-dots li.slick-active button {
                background: var( --site-bt-color );
            }

    .works-slider__item {
        height: auto!important;
    }

        .works-slider__item > div {
            height: 100%;
            background: var( --site-bg-color );
            border-radius: 10px;
            overflow: hidden;
        }

            .works-slider__item-photos .image-block {
                border-top-left-radius: 10px;
                border-top-right-radius: 10px;
                overflow: hidden;
            }

            .works-slider__item > div > .row {
                --bs-gutter-x: 0px;
            }

            .works-slider__item-left {
                position: relative;
            }

                .works-slider__item .works-slider__item-photos {
                    --arrow-mar: -40px
                }

                    .works-slider__item .works-slider__item-photos .image-block::before {
                        padding-top: 130%;
                    }

                        .works-slider__item .works-slider__item-photos img {
                            object-fit: cover;
                        }

                .works-slider__item-labels {
                    width: 100%;
                    padding: 25px;
                    box-sizing: border-box;
                    position: absolute;
                    bottom: 0;
                    left: 0;
                    display: flex;
                    flex-wrap: wrap;
                    text-align: center;
                    gap: 10px;
                    will-change: transform;
                }

                    .works-slider__item-labels > div {
                        background: var( --site-bt-color );
                        color: var( --site-bt-text-color );
                        padding: 9px;
                        border-radius: 5px;
                    }

                        .works-slider__item-labels p {
                            font-size: 16px;
                            margin: 0;
                        }

                        .works-slider__item-labels strong {
                            display: inline-block;
                            font-size: 24px;
                            margin-top: 3px;
                        }

            .works-slider__item-right {
                padding: 35px 30px;
                overflow: auto;
            }

                .works-slider__item-title {
                    font-family: var( --font-2 );
                    font-weight: 400;
                    font-size: 24px;
                    letter-spacing: 1.2px;
                    text-transform: uppercase;
                    margin-bottom: 8px!important;
                    margin-top: 0!important;
                }

                .works-slider__item-right p {
                    font-size: 16px;
                    margin-bottom: 10px;
                }

                .works-slider__item-right h2,
                .works-slider__item-right h3,
                .works-slider__item-right h4 {
                    margin-top: 20px;
                    margin-bottom: 10px;
                    font-size: 20px;
                    font-weight: 700;
                }

                .works-slider__item-right .content-block > :last-child {
                    margin-bottom: 0;
                }

                .works-slider__item-right .works-slider__item-location {
                    margin-bottom: 40px;
                }

                    .works-slider__item-location i {
                        color: var( --site-bt-color );
                        font-size: 22px;
                        transform: translateY(2px);
                        margin-right: 2px;
                    }

.shorts-slider {
    --arrow-mar: -6px;
    --item-pad: 10px;
    width: calc( 100% + ( var( --item-pad ) * 2 ) );
    margin-left: calc( var( --item-pad ) * -1 );
}

    .shorts-slide {
        padding: 0 var( --item-pad );
    }

        .shorts-slide .image-block,
        .shorts-slide .image-block > div {
            border-radius: 10px;
            overflow: hidden;
            background: #000000;
        }

        .shorts-slide .image-block::before {
            padding-top: 180%;
        }

            .shorts-slide img {
                object-fit: cover;
                border-radius: 10px;
                transition: transform 0.3s;
                cursor: pointer;
            }

            .shorts-slide .image-block > div:hover img {
                transform: scale( 1.05 );
            }

            .shorts-slide .image-block > div:has( img )::before {
                content: "";
                display: block;
                width: 52px;
                height: 36px;
                background: url( '../images/icon-play-youtube.svg' ) center no-repeat;
                background-size: contain;
                position: absolute;
                top: calc( 50% - 26px );
                left: calc( 50% - 18px );
                z-index: 1;
                pointer-events: none;
            }

.contact-form {
    padding: 40px 35px;
    box-sizing: border-box;
    background: var( --site-bg-color );
    border-radius: 10px;
}

    .input-flex {
        width: 100%;
        display: flex;
        gap: 30px;
    }

        .input-flex__left {
            flex: 100%;
        }

        .input-flex__right {
            flex: 0 0 auto;
        }

.input {
    width: 100%;
    display: inline-block;
    position: relative;
    padding-bottom: 20px;
    margin-bottom: 0;
    font-family: var( --font-1 );
}

    .input .input_title {
        display: inline-block;
        line-height: 1.4;
        font-size: 10px;
        color: var( --input-color );
        opacity: 0;
        position: absolute;
        bottom: calc( 100% - 3px );
        transition: opacity 0.3s;
    }

    .input.no-empty .input_title {
        opacity: 1;
    }

    .input input,
    .input textarea,
    .input select {
        background: var( --gray-bg );
        box-sizing: border-box;
        width: 100%;
        height: 45px;
        padding: 10px 15px;
        outline: none;
        border: none;
        border-radius: 5px;
        color: var( --input-color );
        font-family: var( --font-1 );
        font-size: 16px;
        font-weight: 500;
        transition: border-color 0.3s, color 0.3s;
    }

    .input.big input,
    .input.big select {
        height: 56px;
    }

    .input input:-webkit-autofill,
    .input input:-webkit-autofill:hover,
    .input input:-webkit-autofill:focus,
    .input textarea:-webkit-autofill,
    .input textarea:-webkit-autofill:hover,
    .input textarea:-webkit-autofill:focus,
    .input select:-webkit-autofill,
    .input select:-webkit-autofill:hover,
    .input select:-webkit-autofill:focus {
        -webkit-box-shadow: 0 0 0px 1000px var( --gray-bg ) inset;
    }

    .input textarea {
        display: block;
        resize: none;
        height: 100px!important;
    }

    .input input::placeholder,
    .input textarea::placeholder {
        font-family: var( --font-1 );
        font-size: 16px;
        font-weight: 500;
        color: var( --input-color );
        transition: color 0.3s;
    }

    .input .wpcf7-not-valid-tip {
        display: block;
        width: 100%;
        font-size: 10px;
        color: var( --error-color );
        position: absolute;
        left: 0;
        bottom: 5px;
    }

    .form-contact-links {
        margin: 0;
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        justify-content: space-between;
        align-items: center;
        font-family: var( --font-2 );
        font-size: 18px;
        font-weight: 400;
    }

        .text-link i {
            font-size: 20px;
            color: var( --site-bt-color );
            margin-right: 3px;
        }

        .form-contact-links .social-links a {
            margin: 0 0 0 7px;
        }

        .form-contact-links .social-links a:first-of-type {
            margin-left: 0;
        }

        .social-links .fa-telegram {
            color: #2AABEE;
        }

        .social-links .fa-viber {
            color: #7360f2;
        }

.input .iti {
    width: 100%;
}

    .input .iti .iti__country-list {
        padding-left: 0;
        list-style: none;
    }

.iti * {
    outline: none!important;
}

.iti--allow-dropdown {
    width: 100%;
}

.iti__country-list {
    list-style: none!important;
    padding-left: 0!important;
    width: 100%;
    white-space: normal!important;
    border-radius: 5px;
    border-color: var( --gray-bg )!important;
}

    .iti__country-list li {
        font-size: 14px;
        margin-top: 0!important;
    }

    .iti__country {
        padding: 10px!important;
    }

.iti-mobile .iti--container {
    z-index: 10000000001!important;
}

.iti__flag-container {
    width: 100%;
}

.iti.iti--allow-dropdown {
    pointer-events: none;
}

    .iti.iti--allow-dropdown .iti__selected-flag {
        width: 50px;
        padding-left: 12px;
    }

    .iti__arrow {
        display: none!important;
    }

    .input .iti input {
        line-height: 45px;
        padding: 0 15px 0 42px!important;
    }

    .input.big .iti input {
        line-height: 56px;
    }

    .iti.iti--allow-dropdown input,
    .iti.iti--allow-dropdown * {
        pointer-events: auto;
    }

.iti--allow-dropdown .iti__flag-container:hover .iti__selected-flag {
    background: transparent!important;
}

.iti__selected-flag,
.iti__selected-flag * {
    pointer-events: none!important;
}

.input .intl-tel-input .country-list .divider,
.input .iti .iti__country-list .iti__divider,
.iti__divider {
    border-color: var( --gray-bg );
    margin-bottom: 0!important;
    padding: 0!important;
}

.intl-tel-input .country-list::-webkit-scrollbar-track,
.iti .iti__country-list::-webkit-scrollbar-track {
    background: transparent;
}

.work-info-items {
    --bs-gutter-x: 22px;
    --bs-gutter-y: 22px;
}

    .work-info-item > div {
        background: var( --site-bg-color );
        padding: 42px 20px 42px 98px;
        height: 100%;
        border-radius: 10px;
        box-sizing: border-box;
        box-shadow: 0px 4px 5px 0px rgba(0, 0, 0, 0.14);
        position: relative;
    }

        .work-info-item > div::before {
            content: "";
            display: block;
            border-radius: 10px;
            width: 60%;
            height: 100%;
            position: absolute;
            top: 0;
            left: 0;
            z-index: 0;
            background: var( --bg-img ) right no-repeat;
            background-size: cover;
            pointer-events: none;
        }

        .work-info-item > div > * {
            position: relative;
            z-index: 1;
        }

            .work-info-item__count {
                --w: 70px;
                display: block;
                width: var( --w );
                height: var( --w );
                background: var( --site-bt-color );
                color: var( --site-bt-text-color );
                font-size: 35px;
                font-weight: 700;
                line-height: var( --w );
                text-align: center;
                border-radius: 100%;
                position: absolute!important;
                top: 15px;
                left: 15px;
                filter: drop-shadow(0px 3px 3px rgba(0, 0, 0, 0.25));
            }

            .work-info-item p {
                font-size: 16px;
                margin-bottom: 25px;
            }

            .work-info-item div > :last-child {
                margin-bottom: 0;
            }

            .work-info-item .work-info-item__title {
                font-family: var( --font-2 );
                font-weight: 400;
                font-size: 20px;
                letter-spacing: 1px;
                text-transform: uppercase;
            }

.why-we-section {
    background-color: rgba( 0, 0, 0, 0.4 )!important;
    background-blend-mode: multiply;
}

    .why-we-items {
        width: 90%;
        margin-left: auto;
        margin-right: auto;
        --bs-gutter-x: 24px;
        --bs-gutter-y: 24px;
    }

        .why-we-item > div {
            height: 100%;
            padding: 22px 12px;
            box-sizing: border-box;
            border-radius: 10px;
            background: var( --site-bg-color );
            text-align: center;
        }

            .why-we-item img {
                height: 60px;
                object-fit: contain;
                margin-bottom: 8px;
            }

            .why-we-item p {
                font-size: 16px;
                margin: 0;
            }

            .why-we-item .why-we-item__title {
                width: 100%;
                min-height: 72px;
                min-height: 48px;
                font-family: var( --font-2 );
                font-size: 20px;
                font-weight: 400;
                letter-spacing: 1px;
                text-transform: uppercase;
                margin-bottom: 10px;
                display: flex;
                align-items: center;
                justify-content: center;
            }

.brands-items {
    --gap: 20px;
    --brands-pad: 0px;
    --count: 5;
    display: flex;
    flex-wrap: nowrap;
    gap: var( --gap );
    overflow-y: hidden;
    overflow-x: auto;
}

.brands-items::-webkit-scrollbar {
    height: 0;
}

    .brands-items .brands-item {
        box-sizing: border-box;
        width: calc( (100% - ( var( --brands-pad ) * 2 ) - ( var( --gap ) * ( var( --count ) - 1 ) ) ) / var( --count ) );
        padding: 14px;
        flex: 0 0 auto;
        border-radius: 10px;
        background: var( --site-bg-color );
    }

        .brands-items .brands-item img {
            pointer-events: none;
        }

.factory__content {
    --bs-gutter-x: 0px;
    --bs-gutter-y: 20px;
    --left-w: 510px;
}

    .factory__left {
        width: var( --left-w );
        flex: 0 0 auto;
        padding-right: 50px;
        box-sizing: border-box;
    }

        .factory__item {
            background: var( --gray-bg );
            padding: 15px 15px 15px 57px;
            box-sizing: border-box;
            border-radius: 10px;
            margin-bottom: 20px;
            position: relative;
        }

        .factory__item:last-of-type {
            margin-bottom: 0;
        }

            .factory__item svg {
                position: absolute;
                top: 15px;
                left: 15px;
            }

            .factory__item p {
                font-size: 16px;
            }

            .factory__item .factory__item-title {
                font-size: 20px;
                font-weight: 700;
                margin-bottom: 15px;
            }

    .factory__right {
        width: calc( 100% - var( --left-w ) );
        flex: 0 0 auto;
    }

        .factory__right img {
            border-radius: 10px;
            object-fit: cover;
            pointer-events: none;
        }

.reviews-section {
    overflow: hidden;
}

    .reviews-slider {
        --arrow-mar: -2px;
        --item-pad: 7px;
        width: calc( 100% + ( var( --item-pad ) * 2 ) );
        margin-left: calc( var( --item-pad ) * -1 );
    }

    .reviews-slider .slick-track {
        display: flex;
    }

        .reviews-slider-item {
            height: auto!important;
            box-sizing: border-box;
            padding: 0 var( --item-pad );
        }

            .reviews-slider-item > div {
                height: 100%;
                box-sizing: border-box;
                border-radius: 10px;
                overflow: hidden;
                border: 1px solid #BFBFBF;
                border-bottom: 10px solid var( --site-bt-color );
            }

                .reviews-slider-item .reviews__top,
                .reviews-slider-item .reviews__text {
                    padding: 20px;
                    box-sizing: border-box;
                }

                .reviews-slider-item .reviews__top {
                    background: #383838;
                    color: #fff;
                }

                    .reviews__author {
                        font-size: 18px;
                        font-weight: 600;
                        display: -webkit-box;
                        -webkit-line-clamp: 1;
                        -webkit-box-orient: vertical;
                        overflow: hidden;
                        text-overflow: ellipsis;
                    }

                    .reviews__rating {
                        margin-top: 5px;
                        font-size: 16px;
                        color: #FFC107;
                        letter-spacing: 0px;
                    }

                    .reviews__text p {
                        line-height: 1.2;
                        font-size: 16px;
                        font-weight: 400;
                    }

.faq-items {
    --pad-h: 22px;
    --pad-v: 22px;
    max-width: 688px;
}

    .faq-item {
        padding-bottom: var( --pad-v );
        background: var( --site-bg-color );
        border-radius: 10px;
        margin-bottom: 10px;
        transition: background-color 0.3s, color 0.3s;
    }

    .faq-item.active,
    .faq-item:has( .faq-item-question:hover ) {
        background: #383838;
        color: var( --site-text-color-2 );
    }

    .faq-item:last-of-type {
        margin-bottom: 0;
    }

        .faq-item .faq-item-question {
            padding: var( --pad-v ) calc( var( --pad-h ) + 33px ) 0 var( --pad-h );
            margin: 0;
            font-family: var( --font-2 );
            font-size: 20px;
            font-weight: 400;
            letter-spacing: 0.8px;
            text-transform: uppercase;
            position: relative;
            z-index: 1;
            cursor: pointer;
            user-select: none;
        }

            .faq-item .faq-item-question::after {
                content: "";
                display: block;
                cursor: pointer;
                width: 100%;
                height: calc( 100% + var( --pad-v ) );
                position: absolute;
                top: 0;
                left: 0;
            }

            .faq-item .faq-item-question svg {
                display: block;
                position: absolute;
                top: calc( ( 100% - var( --pad-v ) ) / 2 - 6px + var( --pad-v ) );
                right: var( --pad-h );
                transition: transform 0.3s;
            }

            .faq-item.active .faq-item-question svg {
                transform: rotate( 180deg );
            }

                .faq-item.active .faq-item-question svg path {
                    transition: fill 0.3s;
                }

                .faq-item.active .faq-item-question svg path,
                .faq-item:has( .faq-item-question:hover ) svg path {
                    fill: var( --site-text-color-2 )
                }

        .faq-item .faq-item-answer {
            box-sizing: border-box;
            max-height: 0;
            padding: 0 var( --pad-h ) 0 var( --pad-h );
            max-width: 700px;
            overflow: hidden;
            position: relative;
            transition: max-height 0.3s;
        }

        .faq-item.active .faq-item-answer {
            max-height: 1000px;
            transition: max-height 0.8s;
        }

            .faq-item .faq-item-answer p {
                margin-bottom: 15px;
                font-size: 16px;
            }

            .faq-item .faq-item-answer > :first-child {
                margin-top: var( --pad-v );
            }

            .faq-item .faq-item-answer > :last-child {
                margin-bottom: 0;
            }

.contacts-row  {
    --bs-gutter-x: 30px;
    --bs-gutter-y: 40px;
}

    .contacts__left {
        --site-text-color: var( --site-text-color-2 );
        color: var( --site-text-color-2 );
    }

        .contacts__left * {
            text-shadow: 0px 1px 7px rgba(0, 0, 0, 0.37);
        }

            .contacts__left .header__mob-menu-footer {
                padding-top: 0;
            }

                .contacts__left .header__mob-menu-social a:first-of-type {
                    margin-left: 0;
                }

                .contacts__left .header__mob-menu-footer .flex-p {
                    justify-content: flex-start;
                    margin-top: 20px;
                }

                    .contacts__left .header__mob-menu-footer .flex-p span:first-of-type {
                        margin-left: 0;
                    }

    .contacts__right .section-top-block {
        margin-bottom: 20px;
    }

.map-section {
    height: 50vh;
    height: 50dvh;
    min-height: 400px;
    max-height: 1000px;
}

    .map-section iframe {
        width: 100%;
        height: 100%;
    }

footer {
    padding: 11px 0;
    background: #383838;
    color: var( --site-text-color-2 );
    overflow: hidden;
}

    .footer-coop {
        text-align: right;
        font-size: 12px;
    }

.hystmodal {
    z-index: 1000000001!important;
}

.hystmodal__shadow {
    z-index: 1000000000!important;
    height: calc( 100% + 70px )!important;
    bottom: auto!important;
    top: -70px!important;
    transform: translateY(70px)!important;
    padding: 0 0 70px 0!important;
    background: #000!important;
}

.hystmodal__shadow--show {
    opacity: 0.6!important;
}

.hystmodal__window {
    padding: 40px 35px;
    color: var( --site-text-color );
    background-color: var( --site-bg-color )!important;
    border-radius: 10px;
    width: 450px!important;
    max-width: 95%!important;
    overflow: hidden !important;
}

.hystmodal__window .hystmodal__close {
    width: 18px;
    height: 18px;
    top: 15px;
    right: 15px;
    padding: 0;
    background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' stroke='%23111' stroke-linecap='square' stroke-miterlimit='50' stroke-width='2' d='M22 2L2 22'/%3E%3Cpath fill='none' stroke='%23111' stroke-linecap='square' stroke-miterlimit='50' stroke-width='2' d='M2 2l20 20'/%3E%3C/svg%3E") no-repeat!important;
    transition: transform 0.3s;
}

.hystmodal__window .hystmodal__close:hover {
    transform: scale( 1.1 );
}

.hystmodal__window .hystmodal__close:focus {
    outline: none;
}

.hystmodal__window .contact-form {
    padding: 0;
}

.hystmodal__window .section-top-block {
    margin-bottom: 20px;
}

#ThankPop h3 {
    font-family: var( --font-2 );
    font-weight: 400;
    font-size: 20px;
    text-transform: uppercase;
    letter-spacing: 1.8px;
    margin-bottom: 15px;
}

#ThankPop p {
    font-size: 16px;
    margin-bottom: 15px;
}

#ThankPop .bts-block {
    margin-top: 20px;
}

@media (hover: none) and (pointer: coarse) {
    .bg-fixed {
        background-attachment: scroll!important;
    }

    .header__mob-menu a:hover {
        color: var( --site-text-color );
    }

    .header-wrapper__logo a:hover,
    .shorts-slide .image-block > div:hover img {
        transform: scale( 1.0 );
    }

    .def-slider .slick-arrow:hover {
        background: var( --site-bt-color );
    }

    .def-slider .slick-arrow:active,
    .hystmodal__window .hystmodal__close:hover {
        transform: scale( 1.0 );
    }
}

@media all and (max-width: 1199px) {
    .top-section {
        height: auto;
        min-height: auto;
    }

    .top-section .row {
        --bs-gutter-y: 35px;
    }
}

@media all and (max-width: 991px) {
    :root {
        --section-pad: 48px;
        --f-48: 32px;
        --f-36: 30px;
        --f-24: 20px;
    }

    .header-wrapper-top {
        display: none;
    }

    .header-wrapper {
        top: 0;
    }

    .top-section {
        padding-top: calc( var( --section-pad ) + var( --header-h ) );
    }

    .section .section-anchor {
        top: calc( ( var( --header-h ) - 1px ) * -1 );
    }

    .services-items {
        --bs-gutter-x: 36px;
    }

    .services-item__top .image-block::before {
        padding-top: 60%;
    }

    .services-item__title {
        height: 60px;
    }

    .services-item__title p {
        font-size: 17px;
    }

    .works-section {
        overflow: hidden;
    }

    .works-slider__item-right {
        max-height: none!important;
        padding: 20px 10px;
    }

    .works-slider {
        padding-bottom: 0;
        width: calc( 90% + 20px );
        margin-left: -10px;
    }

    .works-slider .slick-list,
    .shorts-slider .slick-list,
    .reviews-slider .slick-list {
        overflow: visible;
    }

    .works-slider .slick-dots {
        display: none!important;
    }

    .works-slider__item {
        padding: 0 10px;
    }

    .works-slider__item-labels {
        padding: 10px;
        gap: 5px;
    }

    .works-slider__item-labels p {
        font-size: 12px;
    }

    .works-slider__item-labels strong {
        font-size: 20px;
    }

    .shorts-section {
        overflow: hidden;
    }

    .shorts-slider,
    .reviews-slider {
        width: calc( 90% + ( var( --item-pad ) * 2 ) );
    }

    .form-section .contact-form {
        margin-top: 300px;
    }

    .brands-section {
        padding-bottom: calc( var( --section-pad ) - 10px );
    }

    .brands-items {
        --count: 4;
        --brands-pad: var( --cont-pad );
        width: calc( 100% + ( var( --cont-pad ) * 2 ) );
        margin-left: calc( var( --cont-pad ) * -1 );
        padding: 0 var( --cont-pad ) 10px var( --cont-pad );
        box-sizing: border-box;
    }

    .factory__left,
    .factory__right {
        width: 100%;
        padding-right: 0;
    }

    .factory__right {
        order: -1;
    }
}

@media all and (max-width: 767px) {
    .services-items {
        --bs-gutter-x: 0px;
    }
    
    .services-item__title {
        height: auto;
    }

    .services-item__title p {
        -webkit-line-clamp: 5;
    }

    .shorts-slider,
    .reviews-slider {
        width: calc( 80% + ( var( --item-pad ) * 2 ) );
    }

    .brands-items {
        --count: 3;
    }

    .why-we-item .why-we-item__title {
        min-height: auto;
    }

    footer,
    .footer-coop {
        text-align: center;
    }

    .footer-coop {
        padding-top: 10px;
        margin-top: 10px;
    }

    .footer-coop::before {
        content: "";
        display: block;
        height: 1px;
        width: 100vw;
        background: var( --site-text-color-2 );
        position: absolute;
        left: 0;
        transform: translateY(-10px);
    }
}

@media all and (max-width: 575px) {
    :root {
        --cont-pad: 15px;
    }

    .bg-img {
        background: var( --bg-img-mob ) no-repeat;
        background-size: cover;
    }

    .header-wrapper .header-wrapper__logo {
        margin-left: 36px;
        text-align: center;
    }

    .header-wrapper .header-wrapper__right {
        margin-left: 0;
    }

    .header-wrapper .header-wrapper__right .lang-links {
        margin-left: 0;
    }

    .contact-form,
    .hystmodal__window {
        padding: 34px 15px;
    }

    .input-flex {
        flex-wrap: wrap;
        gap: 0;
    }

    .input-flex__right {
        flex: 100%;
    }

    .input-flex .bts-block {
        padding-bottom: 20px;
    }

    .input-flex .bts-block .button {
        width: 100%;
    }

    .work-info-items {
        --bs-gutter-y: 45px;
    }

    .work-info-item > div {
        padding: 30px 15px;
    }

    .work-info-item .work-info-item__title {
        margin-bottom: 25px;
        font-size: 18px;
    }

    .work-info-item__count {
        --w: 54px;
        top: -27px;
        right: 0;
        left: auto;
        font-size: 26px;
    }

    .work-info-item > div::before {
        width: 80%;
    }

    .why-we-items {
        width: 100%;
    }

    .brands-items {
        --gap: 8px;
        --count: 2;
    }

    .brands-items .brands-item {
        padding: 15px 10px;
    }

    .section-top-block br {
        display: none;
    }

    .reviews__text p {
        font-size: 14px;
    }

    .faq-items {
        --pad-h: 15px;
        --pad-v: 20px;
    }

    .faq-item .faq-item-question {
        font-size: 16px;
    }
}

@media all and (max-width: 370px) {
    :root {
        --f-48: 27px;
        --f-36: 26px;
    }

    .section-2 .row {
        width: 100%;
    }

    .section-2-item p {
        font-size: 15px;
    }
}