@import url(reset.css);

:root {
    --site-text-color: #000000;
    --site-text-color-2: #ffffff;
    --font-2-text-color: #1E1E1E;

    --site-bt-color: #ffbb00;
    --site-bt-text-color: #1E1E1E;
    --site-bt-hover-color: #FFDF25;
    --site-hover-color: #ffbb00;

    --gray-bg: #F1F1F1;
    
    --site-bg-color: #ffffff;
    --site-bg-color-2: #171717;
    
    --input-color: #828282;

    --error-color: red;
    
    --cont-pad: 55px;
    --section-pad: 80px;
    --title-mar-b: 40px;
    
    --header-h: 75px;

    --f-40: 40px;
    --f-32: 32px;
    --f-22: 22px;
    --f-20: 20px;
    --f-18: 18px;
    --f-16: 16px;
    --f-14: 14px;
    
    --fa: "Font Awesome 5 Free", "Font Awesome 5 Brands", "Font Awesome 5 Pro";
    --font-1: "Montserrat", serif;
    --font-2: "Rubik", 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-bt-color );
    border-radius: 4px;
    transition: background-color 0.5s;
}

::-webkit-scrollbar-thumb:hover{
    background-color: var( --site-bt-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 );
}

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

.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( 48% + var( --preloader-logo-h ) );
  left: 50%;
  width: 60px;
  height: 60px;
  margin-top: 0;
  margin-left: -30px;
  text-align: center;
  animation: preloader-rotate 2s infinite linear;
}

.preloader__item {
  position: absolute;
  display: inline-block;
  top: 0;
  background-color: var( --site-text-color-2 );
  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 );
    font-weight: 400;
    line-height: normal;
    color: var( --site-text-color );
    background: var( --site-bg-color-2 );
}

    html * {
        color: inherit;
        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 {
        height: calc( var( --header-h ) + 5px );
        padding: 15px 0 10px 0;
        background-color: var( --site-bg-color-2 );
        box-sizing: border-box;
        width: 100%;
        position: fixed;
        top: 0;
        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 {
        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-2 );
                    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%;
                }
        
        .header-wrapper__nav {
            text-align: right;
        }

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

        .header-wrapper__social {
            flex: 0 0 auto;
            width: auto;
        }

            .header-wrapper__social.header-wrapper__nav li {
                vertical-align: middle;
            }

            .header-wrapper__social.header-wrapper__nav li.social {
                margin: 0 6px;
                font-size: 21px;
            }

            .header-wrapper__social.header-wrapper__nav li:first-of-type {
                margin-left: 0;
            }

        .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;
        }

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

                .social-links a {
                    font-size: 26px;
                    margin: 0 6px;
                }
    
    .header__mob-menu {
        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.85 )!important;
        background-blend-mode: multiply;
    }

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

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

            .header__mob-menu .header-wrapper__logo {
                padding-right: 60px;
                margin-left: 13px;
                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: 50px;
            }
            
            .header__mob-menu-footer .social-links {
                margin-top: 35px;
            }

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

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

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

        .phones {
            width: 260px;
            box-sizing: border-box;
            margin: 0 auto;
            padding-left: 30px;
            position: relative;
            text-align: left;
        }

            .phones::before {
                content: '\f879';
                display: inline-block;
                font-family: var( --fa );
                font-weight: 900;
                font-size: 20px;
                line-height: 1;
                position: absolute;
                top: 5px;
                left: 0;
            }

            .phones.email::before {
                content: '\f0e0';
                top: 6px;
            }

            .phones p {
                font-size: 18px;
                font-weight: 300;
                line-height: 1.5;
                margin-top: 6px;
                margin-bottom: 0;
            }

            .phones p:first-of-type {
                margin-top: 0;
            }

                .phones .phones__link {
                    white-space: nowrap;
                    display: inline-block;
                    width: 158px;
                }

                .phones p a {
                    display: inline-block;
                    margin-right: 5px;
                    vertical-align: middle;
                }

                    .phones p a i {
                        font-size: 24px;
                        margin-top: 2px;
                    }

                    .phones p a .fa-telegram {
                        transform: scale( 0.9 );
                    }

.button {
    min-height: 38px;
    position: relative;
    padding: 5px 18px;
    border-radius: 5px;
    border: none;
    color: var( --site-bt-text-color );
    background: var( --site-bt-color );
    font-family: var( --font-1 );
    font-weight: 400;
    font-size: 16px;
    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: 5px;
    }

    .button svg {
        vertical-align: middle;
        margin-top: -6px;
        margin-right: 5px;
    }

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

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

.select-block {
    --disc-w: 5px;
    position: relative;
    display: inline-block;
    user-select: none;
}

    .select-block .selected-el {
        padding-left: calc( 12px + var(--disc-w) + 6px );
        position: relative;
        font-size: 16px;
        font-weight: 400;
        cursor: pointer;
        transition: color 0.3s;
    }

        .select-block.active .selected-el span {
            pointer-events: none;
        }

        .select-block .selected-el span {
            text-transform: uppercase;
            color: inherit;
            transition: color 0.3s;

            display: -webkit-box;
            -webkit-line-clamp: 1;
            -webkit-box-orient: vertical;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .select-block .selected-el:hover span {
            color: var( --site-hover-color );
        }

            .select-block .selected-el i {
                position: absolute;
                margin-left: -21px;
                margin-top: 2px;
                color: var( --site-hover-color );
            }

    .select-block .select-container,
    .select-block .woocommerce-shipping-methods {
        color: var( --site-text-color );
        display: block;
        max-width: 160px;
        box-sizing: border-box;
        padding: 8px 0;
        border-radius: 10px;
        position: absolute;
        top: calc( 100% + 10px );
        left: 0;
        background: var( --site-bg-color );
        box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.10);
        z-index: 1001;
        transition: opacity 0.3s;
        opacity: 0;
        pointer-events: none;
    }

    .select-block.active .select-container,
    .select-block.active .woocommerce-shipping-methods {
        opacity: 1;
        pointer-events: auto;
    }

    .select-block.bottom .select-container,
	.select-block.bottom .woocommerce-shipping-methods	{
        top: auto;
        bottom: calc( 100% + 10px );
    }

    .select-block .select-container li::before {
        content: "";
        display: block;
        width: var(--disc-w);
        height: var(--disc-w);
        background: var(--site-text-color);
        border-radius: 100%;
        position: absolute;
        left: 12px;
        top: calc( 50% - ( var( --disc-w ) / 2 ) );
        pointer-events: none;
        transition: background-color 0.3s;
    }

    .select-block .select-container li.current-lang::before,
    .select-block .select-container li.active::before {
        background: var(--site-bt-hover-color);
    }

        .select-block .select-container li,
        .select-block .woocommerce-shipping-methods li {
            position: relative;
            line-height: 1;
            font-size: 14px;
            font-weight: 500;
            text-transform: uppercase;
            transition: opacity 0.3s;
        }

        .select-block .select-container li.current-lang,
        .select-block .select-container li.active {
            font-weight: 700;
        }

            .select-block .select-container li a {
                display: block;
                padding: 5px 15px 5px calc( 12px + var(--disc-w) + 6px );
                line-height: 1;
                text-align: left;
            }

            .select-block .select-container li a:hover {
                opacity: 1;
                color: var( --site-bt-hover-color );
            }

.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: var( --site-bg-color-2 )!important;
}

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

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

.hystmodal__window .hystmodal__close {
    width: 22px;
    height: 22px;
    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;
}

/* Tel inputs Start */
.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;
}

    .iti__country-list li {
        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: 38px;
        padding-left: 0;
    }

    .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;
}

.input .intl-tel-input {
    width: 100%;
}

.hystmodal__window .iti__arrow,
.contact-form .iti__arrow {
    border-top-color: var( --input-color )!important;
}

.hystmodal__window .iti__arrow--up,
.contact-form .iti__arrow--up {
    border-bottom-color: var( --input-color )!important;
}

.input .intl-tel-input .country-list,
.input .iti .iti__country-list {
    background-color: var( --site-bg-color );
    color: var( --input-color );
    border-color: var( --input-color );
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
}

.intl-tel-input .country-list::-webkit-scrollbar-track,
.iti .iti__country-list::-webkit-scrollbar-track {
    background: transparent;
}
    
    .input .intl-tel-input .country-list li,
    .input .iti .iti__country-list li {
        font-size: 14px;
        margin-bottom: 0;
    }

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

.input .intl-tel-input .country-list .country .dial-code,
.input .iti__country-list .iti__dial-code {
    color: var( --site-text-color-2 );
    opacity: 0.6;
}

.input .iti {
    width: 100%;
}

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

.input .intl-tel-input .wpcf7-not-valid-tip,
.input .iti .wpcf7-not-valid-tip {
    bottom: -16px;
}

.iti--allow-dropdown input, .iti--allow-dropdown input[type=tel],
.iti--allow-dropdown input[type=text],
.iti--separate-dial-code input,
.iti--separate-dial-code input[type=tel],
.iti--separate-dial-code input[type=text] {
    padding-left: 36px!important;
}
/* Tel inputs End */

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

    .input .input_title {
        display: inline-block;
        line-height: 1.4;
        font-size: 10px;
        font-weight: 300;
        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 {
        box-sizing: border-box;
        width: 100%;
        padding: 10px 0;
        outline: none;
        border: none;
        border-bottom: 1px solid var( --input-color );
        border-radius: 0;
        background: transparent;
        color: var( --font-2-text-color );
        font-family: var( --font-1 );
        font-size: var( --f-16 );
        font-weight: 300;
        letter-spacing: 0.5px;
        transition: border-color 0.3s, color 0.3s;
    }

    .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( --site-bg-color ) inset;
    }

    .input textarea {
        display: block;
        resize: none;
        height: 50px!important;
        padding-top: 0;
        margin-top: 10px;
    }

    .input input::placeholder,
    .input textarea::placeholder {
        font-family: var( --font-1 );
        font-size: 14px;
        font-weight: 300;
        letter-spacing: 0.5px;
        color: var( --input-color );
        transition: color 0.3s;
    }

    .input textarea::placeholder {
        padding-top: 2px;
    }

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

.checkbox-wrapper {
    display: inline-block;
    color: var( --site-text-color );
    font-size: 8px;
    font-weight: 400;
    position: relative;
    transform: translateY( -15px );
    line-height: 15px;
    margin-bottom: 0;
    cursor: pointer;
    text-align: left;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

    .checkbox-wrapper::before {
        content: "";
        display: block;
        width: 9px;
        height: 9px;
        position: absolute;
        top: 3px;
        left: 3px;
        background: var( --site-bt-color );
        opacity: 0;
    }

    .checkbox-wrapper:has( input:checked )::before {
        opacity: 1;
    }

    .checkbox-wrapper input {
        display: inline-block;
        width: 15px;
        height: 15px;
        border: 1px solid var( --site-text-color );
        background: transparent;
        margin: 0 5px 0 0;
        vertical-align: bottom;
        border-radius: 3px;
        margin-bottom: 1px;
    }

    .checkbox-wrapper.checkbox-required input {
        border-color: var( --error-color );
        border-width: 2px;
    }

    .checkbox-wrapper input:checked {
        background: var( --site-bt-color );
        border-color: var( --site-text-color );
        border-width: 1px;
    }

    .checkbox-wrapper:has( input:checked ) input {
        background: transparent;
    }

    .checkbox-wrapper span {
        text-align: inherit;
        opacity: 0.65;
        transition: opacity 0.3s;
    }

    .checkbox-wrapper:hover span {
        opacity: 1;
    }

form .bts-block {
    margin-top: 24px;
}

form h2 {
    font-size: var( --f-22 );
    margin-bottom: 20px;
}

.hystmodal__window h2,
.hystmodal__window h3 {
    font-size: var( --f-22 )!important;
    margin-bottom: 20px!important;
}

h1, h2, h3, h4, h5, h6, strong {
    font-family: var( --font-2 )!important;
    font-weight: 700!important;
    color: var( --font-2-text-color );
}

.h2 {
    font-size: var( --f-32 );
    margin-bottom: var( --title-mar-b );
}

.content-block h1,
.content-block h2,
.content-block h3,
.content-block h4,
.content-block h5,
.content-block h6 {
    margin-top: 20px;
    margin-bottom: 20px;
}

.content-block h1,
.content-block h2 {
    font-size: var( --f-32 );
}

.content-block h3 {
    font-size: var( --f-20 );
}

.content-block h4,
.content-block h5,
.content-block h6 {
    font-size: var( --f-18 );
}

.content-block p,
.content-block li {
    font-size: var( --f-16 );
    font-weight: 400;
    margin-top: 15px;
}

.content-block a {
    text-decoration: underline;
}

.content-block ul {
    list-style-type: disc;
    padding-left: 25px;
}

.content-block ol {
    list-style-type: decimal;
    padding-left: 25px;
}

.content-block hr {
    margin: 35px 0;
    border: none;
    border-top: 1px solid var( --site-text-color );
}

.content-block > :first-child, 
.content-block > :first-child form,
.content-block > :first-child > video,
.content-block > :first-child > iframe {
    margin-top: 0!important;
}

.content-block > :last-child,
.content-block > :last-child form,
.content-block > :last-child > video,
.content-block > :last-child > iframe {
    margin-bottom: 0!important;
}

.top-section {
    --font-2-text-color: var( --site-text-color-2 );
    color: var( --site-text-color-2) ;
    padding-top: var( --header-h );
    height: 600px;
    max-height: calc( 100vh - var( --header-h ) );
    position: relative;
}

    .top-section::before {
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        background: rgba( 0, 0, 0, 0.5 );
        z-index: 1;
    }

    #home_video {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        object-fit: cover;
    }

    .top-section-right-mini-icon {
        width: 107px;
        height: auto;
        position: absolute;
        right: 34px;
        bottom: 34px;
        z-index: 1;
        pointer-events: none;
    }

    .top-section-left {
        max-width: 550px;
        display: flex;
        align-items: center;
    }

        .top-section-left > div {
            padding: 50px 0;
        }

        .top-section-left > div > :first-child {
            margin-top: 0;
        }

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

            .top-section-left h1 {
                font-size: var( --f-40 );
                margin-bottom: 15px;
            }

                .top-section-left h1 strong {
                    color: var( --site-bt-color );
                }

            .top-section-left p {
                font-size: var( --f-18 );
                font-size: 18px;
                margin-top: 15px;
            }

            .top-section-left .bts-block {
                margin-top: 25px;
            }

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

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

.why-we-section .row {
    --bs-gutter-x: 0;
}

    .why-we__left {
        position: relative;
        box-sizing: border-box;
        padding-right: 10%;
    }

        .why-we__left .image-block {
            width: 100%;
            position: relative;
        }

        .why-we__left .image-block,
        .why-we__left .image-block > div {
            border-radius: 5px;
            overflow: hidden;
        }

            .why-we__left .image-block::before {
                padding-top: 75%;
            }

            .why-we__left .image-block img {
                object-fit: cover;
            }

        .why-we__left-text-wr {
            --count: 3;
            margin-top: 20px;
            display: flex;
            justify-content: space-between;
            grid-gap: 20px;
        }

            .why-we__left-text {
                width: calc( 100% / var( --count ) );
                padding: 10px;
                box-sizing: border-box;
                border-radius: 5px;
                background: var( --site-bg-color-2 );
                text-align: center;
                font-size: 14px;
                z-index: 2;
                color: var( --site-text-color-2 );
            }

                .why-we__left-text strong {
                    display: block;
                    font-size: var( --f-32 );
                    color: var( --site-bt-color );
                }

        .why-we__right .content-block p,
        .why-we__right .content-block li {
            font-size: 16px;
        }

        .why-we__right .content-block strong {
            color: var( --site-bt-color );
        }

        .why-we__right > ul {
            --img-w: 36px;
            margin-top: 50px;
        }

            .why-we__right > ul li {
                position: relative;
                margin-top: 27px;
                font-size: var( --f-16 );
                padding-left: calc( var( --img-w ) + 15px );
            }

            .why-we__right > ul li:first-of-type {
                margin-top: 0;
            }

                .why-we__right > ul li strong {
                    display: block;
                    margin-bottom: 9px;
                    font-size: var( --f-20 );
                }

                .why-we__right > ul .li-icon {
                    width: var( --img-w );
                    height: var( --img-w );
                    border-radius: 5px;
                    position: absolute;
                    top: 4px;
                    left: 0;
                    background: var( --site-bg-color-2 );
                }

                    .why-we__right > ul .li-icon i {
                        width: 20px;
                        height: 20px;
                        line-height: 20px;
                        position: absolute;
                        top: 8px;
                        left: 8px;
                        color: var( --site-bt-color );
                        text-align: center;
                        font-size: 16px;
                    }

.more-services-section {
    background: var( --site-bg-color );
}

.more-services-section.dark {
    --font-2-text-color: var( --site-text-color-2 );
    color: var( --site-text-color-2 );
    background: var( --site-bg-color-2 );
}

    .more-services-section.dark .faq-block__title {
        color: var( --site-bg-color-2 );
    }

        .more-services-section.dark .faq-block__title::before {
            --site-bg-color-2: var( --site-bg-color );
        }

        .more-services-section.dark .faq-block__title::after {
            background: url( '../images/arrow-bottom-dark.svg' ) center no-repeat;
        }

        .more-services-section.dark .faq-block__item .faq-block__content ul li::before {
            color: var( --site-bt-color );
        }

.faq-block .faq-block__img,
.faq-block .faq-block__right {
    margin-top: calc( ( var( --header-h ) + 25px ) * -1 );
}

.faq-block .theiaStickySidebar,
.faq-block .theiaStickySidebar {
    padding-top: calc( var( --header-h ) + 25px )!important;
}

.faq-block__img .image-border {
    max-width: 480px;
    border-radius: 5px;
    overflow: hidden;
}

    .faq-block__img .image-block::before {
        padding-top: 100%;
    }

    .faq-block__img .image-block img {
        object-fit: contain;
    }

    .faq-block__img .image-block .div-img {
        width: 100%;
        height: 100%;
        background: var( --faq-img ) center no-repeat;
        background-size: contain;
        transition: background-image 0.8s;
    }

.faq-block__item {
    box-sizing: border-box;
    padding: 20px 0;
    margin-top: 10px;
    position: relative;
    overflow: hidden;
}

.faq-block__items .faq-block__item:first-of-type {
    margin-top: 0;
}

.faq-block__items .faq-block__item.scroll.active:last-of-type {
    padding-bottom: 0;
}

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

    .faq-block__title {
        color: var( --site-text-color-2 );
        padding-left: 20px;
        padding-right: 50px;
        margin-bottom: 0;
        font-size: var( --f-18 );
        position: relative;
        cursor: pointer;
        transition: color 0.3s;
        user-select: none;
        z-index: 1;
    }

        .faq-block__title::before {
            content: "";
            display: block;
            border-radius: 5px;
            position: absolute;
            top: -20px;
            right: 0;
            bottom: -20px;
            left: 0;
            background: var( --site-bg-color-2 );
            z-index: -1;
            transition: background-color 0.3s;
        }

        .faq-block__item.active .faq-block__title::before {
            background: var( --site-hover-color )!important;
        }

        .faq-block__title:hover::before {
            background: var( --site-hover-color );
        }

        .faq-block__title::after {
            content: "";
            display: block;
            width: 22px;
            height: 10px;
            position: absolute;
            top: calc( 50% - 5px );
            right: 20px;
            background: url( '../images/arrow-bottom.svg' ) center no-repeat;
            background-size: contain;
            transition: transform 0.3s;
        }

        .faq-block__item.active .faq-block__title::after {
            transform: rotate( 180deg );
        }

    .faq-block__item .faq-block__content {
        max-height: 0;
        padding: 0 20px;
        overflow: hidden;
        transition: max-height 0.5s;
        will-change: max-height;
        transform: translateZ(0);
    }

    .faq-block__item.active .faq-block__content {
        max-height: 2100px;
        transition: max-height 1.6s;
    }

    .faq-block__item.scroll .faq-block__content {
        overflow: auto;
    }

    .faq-block__item.scroll .faq-block__content::-webkit-scrollbar {
        width: 0;
    }

    .faq-block__item .faq-block__content img.d-md-none {
        max-width: 100%;
        max-height: 300px;
        object-fit: contain;
    }

.faq-block__item .faq-block__content > :first-child {
    margin-top: 45px!important;
}

.faq-block__item .faq-block__content > :last-child {
    margin-bottom: 5px!important;
}

.faq-block__items .faq-block__item.scroll.active:last-of-type .faq-block__content > :last-child {
    margin-bottom: 0!important;
}

.faq-block__item .faq-block__content h1,
.faq-block__item .faq-block__content h2,
.faq-block__item .faq-block__content h3,
.faq-block__item .faq-block__content h4,
.faq-block__item .faq-block__content h5,
.faq-block__item .faq-block__content h6 {
    color: var( --site-bg-color-2 );
}

.faq-block__item .faq-block__content p,
.faq-block__item .faq-block__content li {
    margin-top: 20px;
    line-height: 19px;
}

.faq-block__item .faq-block__content ul {
    position: relative;
    list-style: none;
    padding-left: 0;
}

    .faq-block__item .faq-block__content ul li {
        position: relative;
        margin-top: 16px;
        padding-left: 25px;
    }

    .faq-block__item .faq-block__content ul li::before {
        content: '\f058';
        display: inline-block;
        position: absolute;
        top: 1px;
        left: 0;
        font-family: var( --fa );
        font-weight: 900;
        font-size: 18px;
        line-height: 1;
        color: var( --site-bg-color-2 );
    }

.faq-block__item .faq-block__content .price {
    margin: 30px 0;
    font-size: 24px;
    color: var( --site-bg-color-2 );
}

.faq-block__item .faq-block__content .bts-block {
    margin-top: 35px;
}

.faq-block__item .faq-block__content .sale-text {
    --icon-w: 42px;
    --font-2-text-color: var( --site-bg-color-2 );
    display: flex;
    align-items: center;
    min-height: 69px;
    color: var( --site-bg-color-2 );
    box-sizing: border-box;
    padding: 15px 20px;
    padding-left: 70px;
    position: relative;
    border-radius: 5px;
    background: var( --site-bt-color );
    font-size: var( --f-16 );
    margin-top: 25px;
}

    .faq-block__item .faq-block__content .sale-text svg {
        width: var( --icon-w );
        height: var( --icon-w );
        position: absolute;
        top: 14px;
        left: 15px;
    }

    .faq-block__item .faq-block__content .sale-text p {
        margin: 0;
    }

.reviews-section {
    overflow: hidden;
}

    .reviews-section .bts-block {
        margin-top: 20px;
    }

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

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

        .review__item-wr {
            height: auto!important;
            box-sizing: border-box;
            padding: 0 calc( var( --item-pad ) / 2 );
        }

            .review__item {
                height: 100%;
                box-sizing: border-box;
                padding: 25px 20px;
                border-radius: 5px;
                background: var( --site-bg-color );
            }

                .review__item-name {
                    font-size: var( --f-18 );
                    color: var( --site-bt-text-color );
                    margin-bottom: 20px;
                    position: relative;
                    padding-right: 85px;
                }

                .review__item-name .review__item-starts {
                    position: absolute;
                    top: 3px;
                    right: 0;
                    color: var( --site-bt-color );
                    font-size: 12px;
                }

                .review__item-text {
                    font-size: var( --f-14 );
                }

.rating_input_block {
    cursor: default;
    margin-bottom: 25px;
    margin-top: -10px;
}

    .rating_input_block .rating-container label input {
        position: absolute;
        top: 100%;
        border: 1px solid transparent;
        appearance: none;
        -webkit-appearance: none;
        background: transparent
    }

    .rating_input_block .rating-container label {
        cursor: pointer;
        display: inline-block!important;
        width: auto;
        color: #e8b30f;
        color: var( --site-bt-color );
        font-weight: 500;
        font-size: 20px;
        margin-bottom: 0!important;
        position: relative;
    }

    .rating_input_block label span {
        display: none;
    }

    .rating_input_block label.active {
        color: #e8b30f;
        color: var( --site-bt-color );
        font-weight: 900;
    }

    .star1::before {
        content: "\f005";
    }

.contacts-section {
    background-color: rgba( 0, 0, 0, 0.75 )!important;
    background-blend-mode: multiply;
}

.contacts-section .contacts-text {
    --font-2-text-color: var( --site-text-color-2 );
    color: var( --site-text-color-2 );
}

    .contacts-section .contacts-text .content-block {
        margin-top: 40px;
    }

        .contacts-section .contacts-text .content-block p,
        .contacts-section .contacts-text .content-block li {
            font-size: 16px;
        }

    .contacts-section .phones {
        width: auto;
        margin: 0 0 15px 0;
    }

        .contacts-section .phones .phones__link {
            width: auto;
            font-weight: bold;
        }

        .contacts-section .phones::before {
            color: var( --site-bt-color );
        }

    .contacts-section .content-block i {
        color: var( --site-bt-color );
        margin-right: 3px;
    }

    .contacts-section .content-block a {
        text-decoration: none;
    }

.contacts-section .contact-form-wr {
    max-width: 450px;
    float: right;
    box-sizing: border-box;
    padding: 35px;
    border-radius: 5px;
    background: var( --site-bg-color );
}

.text-page-section {
    min-height: 100vh;
    box-sizing: border-box;
    padding-top: calc( var( --header-h ) + 40px );
}

#mapIframe {
    display: block;
    width: 100%;
    height: 500px;
    filter: brightness(100%) contrast(100%) saturate(0%) blur(0px) hue-rotate(0deg);
}

footer {
    color: var( --site-text-color-2 );
    background: var( --site-bg-color-2 );
    padding: 15px 0;
}

    footer .section-container {
        --bs-gutter-x: 0;
    }

        .footer-coop {
            text-align: right;
            font-size: var( --f-14 );
        }

            .footer-coop a {
                display: inline-block;
                margin-bottom: 5px;
            }

.slick-slider * {
    outline: none!important;
}

.slick-slider .slick-arrow {
    --w: 40px;
    --arrow-color: var( --site-text-color-2 );
    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-bg-color-2 );
    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 );
}

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

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

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

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

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

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

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

    .slick-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;
    }

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

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

.anim-before-first {
    opacity: 0;
    transform: scale( 0.5 );
}

.anim-before {
    opacity: 0;
    transform: scale( 0.6 );
    transition: opacity 0.7s, transform 1s;
}

.anim-s.anim-s-op {
    transform: scale( 0.9 );
}

.anim-s.anim-s-l {
    transform: scale( 1 ) translateX( -600px );
}

.anim-s.anim-s-r {
    transform: scale( 1 ) translateX( 600px );
}

.anim-before.anim-end {
    opacity: 1;
    transform: scale( 1 ) translateX( 0 );
}

@media (hover: none) and (pointer: coarse) {
    .button:hover,
    .faq-block__title:hover::before  {
        background: var( --site-bt-color )!important;
    }

    .header-wrapper__logo a:hover,
    .hystmodal__window .hystmodal__close:hover {
        transform: scale( 1 );
    }

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

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

@media all and (max-width: 1399px) {
    .header-wrapper__nav li {
        font-size: 15px;
        margin: 3px 6px;
    }

    .reviews-slider {
        --arrow-mar: 30px;
    }
}

@media all and (min-width: 1200px) {
    html {
        overscroll-behavior: none;
    }
}

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

    .top-section {
        color: var( --site-text-color-2 );
        --font-2-text-color: var( --site-text-color-2 );
    }

    .why-we__left-text-wr {
        flex-wrap: wrap;
        --count: 1;
    }

    .reviews-slider.slick .slick-list {
        width: 90%;
        overflow: visible;
    }
}

@media all and (max-width: 991px) {
    :root {
        --f-40: 32px;
        --f-32: 26px;
        --f-22: 20px;
        --f-20: 18px;
        --f-18: 16px;
        --f-16: 14px;
        --f-14: 12px;

        --section-pad: 60px;

        --title-mar-b: 32px;
    }

    .top-section-left h1 {
        margin-bottom: 25px;
    }

    .top-section-left .bts-block {
        margin-top: 35px;
    }
}

@media all and (min-width: 768px) {
    .faq-block__item .faq-block__content > img.d-md-none ~ p {
        margin-top: 45px!important;
    }
}

@media all and (max-width: 767px) {
    .why-we-section .row {
        flex-direction: column-reverse;
        align-items: flex-start!important;
    }

    .why-we__left {
        padding-right: 0;
        margin-top: 35px;
    }

    .why-we__left-text-wr {
        flex-wrap: nowrap;
        --count: 3;
    }

    .why-we__right .content-block h1,
    .why-we__right .content-block h2 {
        margin-bottom: var( --title-mar-b );
    }

    .why-we__right > ul {
        margin-top: 35px;
    }

    .why-we__right > ul li {
        margin-top: 15px;
    }

    .faq-block .faq-block__img, .faq-block .faq-block__right {
        margin-top: 0!important;
    }

    .faq-block .theiaStickySidebar,
    .faq-block .theiaStickySidebar {
        padding-top:0!important;
    }

    .contacts-section .contact-form-wr {
        float: none;
        max-width: none;
        margin-top: 40px;
        padding: 20px;
    }
}

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

    .hystmodal__window {
        padding: 20px;
    }

    .hystmodal__window h2,
    .hystmodal__window h3 {
        padding-right: 25px;
    }

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

    header .header-wrapper__logo {
        padding-right: 60px;
        margin-left: 0!important;
        text-align: center;
    }

    .top-section {
        height: 460px;
    }

    .top-section-right-mini-icon {
        width: 80px;
        right: 20px;
        bottom: 20px;
    }

    .why-we__left-text-wr {
        margin-top: 10px;
        grid-gap: 10px;
    }

    .why-we__left-text {
        padding: 8px 5px;
        font-size: 10px;
    }

    .why-we__left-text strong {
        font-size: 27px;
    }

    form .bts-block {
        margin-top: 10px;
    }

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

    .footer-coop {
        margin-top: 15px;
    }
}

@media all and (max-width: 370px) {
    .why-we__left-text-wr {
        flex-wrap: wrap;
        --count: 1;
    }
}