﻿/*============= IMPORTS ===============*/
@import url("../../../../../css2");

/*============= ALIGNES ===============*/

.alignwide {
    width: 100%;
}

.alignfull {
    margin-left: calc(-100vw / 2 + 100% / 2);
    margin-right: calc(-100vw / 2 + 100% / 2);
    max-width: 1920px;
}

@media only screen and (min-width: 1920px) {
    .alignfull {
        width: 100vw !important;
        max-width: unset;
    }
}
/* =========== ROOT =========== */

:root {
    /* base-colors */

    --primary: #2196F3;
    --second: #03A9F4;
    --hover: #2196F3;
    --hovers: #00BCD4;

    /* bg-colors */

    --bg: #ffffff;
    --bg_sec: #f8f7f0;
    --bg_th: #eaeae4;
    --bg_stroke: #e9ece8;

    --bgs: #191919;
    --bgs_sec: #2a2a2a;
    --bgs_th: #353535;
    --bgs_stroke: #454545;

    --bg_half: rgba(255, 255, 255, 0.2);

    /* text-colors */

    --head: #191919;
    --text: #4d4d4d;
    --text_sec: #626262;

    --heads: #ffffff;
    --texts: #eeeeee;
    --texts_sec: #c6c6c6;

    /* gradients */

   --gradient: linear-gradient(179.62deg, #2196F3 0%, #03A9F4 32.21153914928436%, #03A9F4 63.942307233810425%, #03A9F4 100%);

    /* transitions */

    --transition: all 0.3s ease-in;
    --transition02: all 0.2s ease-in;
    --transition04: all 0.45s ease-in;

    /* fonts */

    --font: "Manrope", sans-serif; /* main text */
    --font2: "Manrope", sans-serif; /* headers*/
    --font_spec: "Manrope", sans-serif; /* btn, menu, num*/

    /* font-sizes */

    --fs63: 63px; /* 63 - 27 */
    --fs62: 62px; /* 62 - 27 */
    --fs60: 60px; /* 60 - 27 */
    --fs54: 54px; /* 54 - 27 */
    --fs52: 52px; /* 52 - 27 */
    --fs50: 50px; /* 50 - 27 */
    --fs48: 48px; /* 48 - 26 */
    --fs44: 44px; /* 44 - 26 */
    --fs42: 42px; /* 42 - 26 */
    --fs36: 36px; /* 36 - 25 */
    --fs32: 32px; /* 32 - 24 */
    --fs30: 30px; /* 30 - 22 */
    --fs28: 28px; /* 28 - 22 */
    --fs24: 24px; /* 24 - 20 */
    --fs23: 23px; /* 23 - 20 */
    --fs20: 20px; /* 20 - 18 */
    --fs18: 18px; /* 18 - 16 */
    --fs16: 16px;
    --fs14: 14px;
    --fs12: 12px;

    /* font-weights */

    --regular: 400;
    --medium: 500;
    --semibold: 600;
    --bold: 700;
    --extrabold: 800;

    /* line-height */

    --lh145: 145%;
    --lh140: 140%;
    --lh135: 135%;
    --lh130: 130%;
    --lh120: 120%;
    --lh110: 110%;
    --lh100: 100%;
    --lh90: 90%;

    /* border-radius */

    --br5: 5px;
    --br10: 10px;
    --br15: 15px;
    --br20: 20px;
    --br30: 30px;
    --br100: 100px;
    --brmax: 100%;

    /* px */

    --px200: 200px;
    --px150: 150px;
    --px120: 120px;
    --px100: 100px;
    --px90: 90px;
    --px80: 80px;
    --px70: 70px;
    --px60: 60px;
    --px50: 50px;
    --px45: 45px;
    --px40: 40px;
    --px30: 30px;
    --px25: 25px;
    --px20: 20px;
    --px15: 15px;
    --px10: 10px;
    --px5: 5px;
}

@media (max-width: 700px) {
    :root {
        --fs63: 40px; /* 63 - 27 */
        --fs62: 40px; /* 62 - 27 */
        --fs60: 39px; /* 60 - 27 */
        --fs54: 38px; /* 54 - 27 */
        --fs52: 37px; /* 52 - 27 */
        --fs50: 36px; /* 50 - 27 */
        --fs48: 36px; /* 48 - 26 */
        --fs44: 35px; /* 44 - 26 */
        --fs42: 34px; /* 42 - 26 */
        --fs36: 30px; /* 36 - 25 */
        --fs32: 28px; /* 32 - 24 */
        --fs30: 26px; /* 30 - 22 */
        --fs28: 22px; /* 28 - 22 */
        --fs24: 20px; /* 24 - 20 */
        --fs23: 20px; /* 23 - 20 */
        --fs20: 18px; /* 20 - 18 */
        --fs18: 16px; /* 18 - 16 */

        --px200: 100px;
        --px150: 75px;
        --px120: 60px;
        --px100: 50px;
        --px90: 45px;
        --px80: 40px;
        --px70: 35px;
        --px60: 30px;
        --px50: 25px;
        --px45: 23px;
        --px40: 20px;
        --px30: 20px;
        --px25: 20px;
    }
}

@media (max-width: 480px) {
    :root {
        --fs63: 27px; /* 63 - 27 */
        --fs62: 27px; /* 62 - 27 */
        --fs60: 27px; /* 60 - 27 */
        --fs54: 27px; /* 54 - 27 */
        --fs52: 27px; /* 52 - 27 */
        --fs50: 27px; /* 50 - 27 */
        --fs48: 26px; /* 48 - 26 */
        --fs44: 26px; /* 44 - 26 */
        --fs42: 26px; /* 42 - 26 */
        --fs36: 25px; /* 36 - 25 */
        --fs32: 24px; /* 32 - 24 */
        --fs30: 22px; /* 30 - 22 */

        --px200: 60px;
        --px150: 45px;
        --px120: 40px;
        --px100: 35px;
        --px90: 35px;
        --px80: 30px;
        --px70: 25px;
        --px60: 25px;
        --px50: 20px;
        --px45: 20px;
        --px40: 15px;
        --px30: 15px;
        --px25: 15px;
        --px20: 15px;
        --px15: 10px;
    }
}

/* =========== BASE CONFIG =========== */

html {
    box-sizing: border-box;
    position: relative;
}

* {
    margin: 0;
    padding: 0;
    font-family: var(--font);
    font-weight: var(--regular);
    font-size: var(--fs16);
    line-height: var(--lh135);
    color: var(--text);
    box-sizing: inherit;
}
.calculator_block-link{
	display:none;
}
body {
    background-color: var(--bg);
    max-width: 1920px;
    overflow-x: hidden;
    margin: 0 auto;
    width: auto;
}

main.foned {
    position: relative;
    overflow: hidden;
    z-index: 999;
}
main.foned:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 9999;
}

#main,
#primary {
    min-height: 46vh;
}

/* text css */

.fancybox-infobar,
.fancybox-infobar * {
    color: var(--stroke);
}

a,
button,
input,
textarea {
    outline: none !important;
}

a {
    text-decoration: none;
}

a,
a *,
a:hover,
a:hover *,
button,
button *,
button:hover,
button:hover * {
    transition: all 0.3s ease-in;
}

ul li,
ol li {
    list-style-position: inside;
}
ul li::marker {
    /* color: var(--primary); */
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
    color: var(--head);
    font-weight: var(--medium);
    font-family: var(--font2);
    span {
        font-weight: var(--medium);
        font-family: var(--font2);
    }
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5 {
    line-height: var(--lh110);
    span {
        line-height: var(--lh110);
    }
}

h1,
.h1 {
    font-size: var(--fs62);
    font-weight: var(--medium);
    span {
        font-size: var(--fs62);
        font-weight: var(--medium);
    }
}
h2,
.h2 {
    font-size: var(--fs42);
    font-weight: var(--medium);
    span {
        font-size: var(--fs42);
        font-weight: var(--medium);
    }
}
h3,
.h3 {
    font-size: var(--fs32);
    font-weight: var(--medium);
    span {
        font-size: var(--fs32);
        font-weight: var(--medium);
    }
}
h4,
.h4 {
    font-size: var(--fs24);
    font-weight: var(--medium);
    span {
        font-size: var(--fs24);
        font-weight: var(--medium);
    }
}
h5,
.h5 {
    font-size: var(--fs20);
    font-weight: var(--medium);
    span {
        font-size: var(--fs20);
        font-weight: var(--medium);
    }
}
h6,
.h6 {
    font-size: var(--fs16);
    line-height: var(--lh120);
    font-weight: var(--semibold);
    span {
        font-size: var(--fs16);
        line-height: var(--lh120);
        font-weight: var(--semibold);
    }
}

.p1,
.p2,
.p3,
.p4 {
    font-weight: var(--regular);
    span {
        font-weight: var(--regular);
    }
}
.p1 {
    font-size: var(--fs20);
    line-height: var(--lh130);
    span {
        font-size: var(--fs20);
        line-height: var(--lh130);
    }
}
.p2 {
    font-size: var(--fs16);
    line-height: var(--lh130);
    span {
    }
}
.p3,
.breadcrumbs * {
    font-size: var(--fs14);
    line-height: var(--lh120);
    span {
        font-size: var(--fs14);
        line-height: var(--lh120);
    }
}

span {
    color: var(--hover);
}

.button,
.menu_text,
.num,
.btn,
.nav-menu-element a,
.btn_base,
.pagination-numbers .page-numbers {
    font-family: var(--font_spec);
    font-weight: var(--medium);
    line-height: var(--lh100);
}
.menu_text,
.nav-menu-element a {
    line-height: var(--lh120);
}
.num {
    font-size: 500px;
}

.uppercase {
    text-transform: uppercase;
}

.breadcrumbs {
    padding: var(--px30) 0 var(--px20);
    color: var(--text); /* цвет разделителя */
}
.breadcrumbs span {
    color: var(--text); /* цвет текста остальных страниц */
}
.breadcrumbs span.current-item,
.breadcrumbs span.current-item * {
    color: var(--hover); /* цвет текста текущей страницы */
}

.error-page .breadcrumbs span:last-child * {
    color: var(--hover); /* цвет текста текущей страницы для 404 */
}

.mainbanner_top_breadcrumbs .breadcrumbs {
    margin-top: 0;
    padding-top: 0;
}

.breadcrumbs {
    margin-top: 90px;
}

@media (max-width: 400px) {
    .breadcrumbs {
        margin-top: 70px;
    }
}

/* btns css*/

.soc {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    height: fit-content;
    outline: none;
    cursor: pointer;
    width: 60px;
    height: 60px;
    min-width: 60px;
    text-align: center;
    border: 1px solid var(--bg_stroke);
    background: var(--bg);
    border-radius: 5px;
    svg {
        width: 30px;
        height: 30px;
        object-fit: contain;
    }
}

.soc:hover,
.soc.dark:hover {
    background: var(--hover);
    border-color: var(--hover);
    img {
        filter: brightness(100);
    }
    svg path {
        fill: var(--bg);
    }
}

.soc.dark {
    border: 1px solid var(--bgs_stroke);
    background: var(--bgs_sec);
}

@media (max-width: 550px) {
    .soc {
        width: 40px;
        height: 40px;
        min-width: 40px;
    }
}

.btn_base {
    position: relative;
    display: flex;
    justify-content: space-between;
    gap: 5px;
    align-items: center;
    justify-content: center;
    width: fit-content;
    height: fit-content;
    outline: none;
    text-align: center;
}

.btn {
    position: relative;
    display: flex;
    justify-content: space-between;
    gap: 5px;
    align-items: center;
    justify-content: center;
    width: fit-content;
    height: fit-content;
    outline: none;
    border-radius: 5px;
    cursor: pointer;
    padding: 22px 30px;
}

.btn,
.btn *,
.btn:hover,
.btn:hover *,
.btn_base,
.btn_base *,
.btn_base:hover,
.btn_base:hover * {
    transition: var(--transition);
}

.btn_pm {
    padding: 17px 20px;
}
.btn_small {
    width: 55px;
    height: 55px;
    font-size: var(--fs16);
    background: var(--bg_sec);
    border-radius: 5px;
    cursor: pointer;
}
.btn_small:hover {
    background: var(--hover);
    svg {
        filter: brightness(100);
    }
}

.btn_primary {
    border: 1px solid var(--primary);
    background: var(--primary);
    color: #fff;
    svg path {
        stroke: var(--head);
    }
}
.btn_stroke {
    border: 1px solid var(--bg_stroke);
    background: var(--bg_sec);
    color: var(--hover);
    svg path {
        stroke: var(--hover);
    }
}
.btn_white {
    border: 1px solid var(--bg_stroke);
    background: var(--bg);
    color: var(--hover);
    svg path {
        stroke: var(--hover);
    }
}
.btn_primary:hover,
.btn_stroke:hover,
.btn_white:hover {
    background: var(--hover);
    border-color: var(--hover);
    color: var(--head);
    svg path {
        stroke: var(--head);
    }
}

.btn_gradient {
    background: var(--hover);
    border: 1px solid var(--hover);
    color: var(--heads);
    box-shadow: 0px 4px 0px 0px #2196F3, 0px 6px 4px 0px #03A9F4, 7px 8px 19.6px 6px #03A9F4;
    position: relative;
    overflow: hidden;
    border: none !important;
    padding: var(--px30);
    svg path {
        stroke: var(--heads);
    }
}
.btn_gradient .button {
    position: relative;
    z-index: 2;
    color: #fff;
    text-align: center;
}
.btn_gradient::before {
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    display: block;
    content: "";
   background: linear-gradient(165deg, #3F51B5 0%, #2196F3 20%, #03A9F4 50%, #2196F3 80%, #03A9F4 100%);
    transition: var(--transition);
}

.btn_gradient:hover::before {
    opacity: 0;
    transition: var(--transition);
}

.pagination-numbers {
    display: flex;
    gap: var(--px5);
    align-items: center;
}

.pagination-numbers .page-numbers {
    cursor: pointer;
    transition: var(--transition);
    width: fit-content;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--head);
    width: 30px;
    min-width: 30px;
    height: 30px;
    border-radius: 5px;
}

.pagination-numbers .page-numbers:hover {
    color: var(--hover);
}

.pagination-numbers .page-numbers.current {
    color: var(--heads);
    background: var(--hover);
}

.item_img {
    cursor: pointer;
    transition: var(--transition);
    position: relative;
}
.item_img:hover {
    transition: var(--transition);
}
.item_img:before {
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    display: block;
    content: "";
    background: rgba(25, 25, 25, 0.2);
    opacity: 1;
    transition: var(--transition);
}

.item_img:after {
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    position: absolute;
    z-index: 2;
    width: 60px;
    height: 60px;
    display: block;
    content: "";
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='60' height='60' viewBox='0 0 60 60' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M5 0.5H55C57.4853 0.5 59.5 2.51472 59.5 5V55C59.5 57.4853 57.4853 59.5 55 59.5H5C2.51472 59.5 0.5 57.4853 0.5 55V5C0.5 2.51472 2.51472 0.5 5 0.5Z' fill='%23F8F7F0'/%3e%3cpath d='M5 0.5H55C57.4853 0.5 59.5 2.51472 59.5 5V55C59.5 57.4853 57.4853 59.5 55 59.5H5C2.51472 59.5 0.5 57.4853 0.5 55V5C0.5 2.51472 2.51472 0.5 5 0.5Z' stroke='%23E9ECE8'/%3e%3cpath d='M36 36L33.1 33.1M29.3333 27.3334V31.3334M27.3333 29.3334H31.3333M34.6667 29.3333C34.6667 32.2789 32.2789 34.6667 29.3333 34.6667C26.3878 34.6667 24 32.2789 24 29.3333C24 26.3878 26.3878 24 29.3333 24C32.2789 24 34.6667 26.3878 34.6667 29.3333Z' stroke='%23E19300' stroke-linecap='round' stroke-linejoin='round'/%3e%3c/svg%3e ");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 1;
    transition: var(--transition);
}

.item_img:hover:after,
.item_img:hover:before {
    /* opacity: 1; */
    transition: var(--transition);
}

.item_img:hover:after {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='60' height='60' viewBox='0 0 60 60' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M0 5C0 2.23858 2.23858 0 5 0H55C57.7614 0 60 2.23858 60 5V55C60 57.7614 57.7614 60 55 60H5C2.23858 60 0 57.7614 0 55V5Z' fill='%23E19300'/%3e%3cpath d='M36 36L33.1 33.1M29.3333 27.3334V31.3334M27.3333 29.3334H31.3333M34.6667 29.3333C34.6667 32.2789 32.2789 34.6667 29.3333 34.6667C26.3878 34.6667 24 32.2789 24 29.3333C24 26.3878 26.3878 24 29.3333 24C32.2789 24 34.6667 26.3878 34.6667 29.3333Z' stroke='%23191919' stroke-linecap='round' stroke-linejoin='round'/%3e%3c/svg%3e ");
}

.item_img:hover:before {
    background: rgba(25, 25, 25, 0.4);
}

.item_video {
    cursor: pointer;
    transition: var(--transition);
    position: relative;
}
.item_video::before {
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    display: block;
    content: "";
    background: rgba(25, 25, 25, 0.4);
    opacity: 0;
    transition: var(--transition);
}
.item_video:after {
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    position: absolute;
    z-index: 2;
    display: flex;
    justify-content: center;
    align-items: center;
    content: "";
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='60' height='60' viewBox='0 0 60 60' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M5 0.5H55C57.4853 0.5 59.5 2.51472 59.5 5V55C59.5 57.4853 57.4853 59.5 55 59.5H5C2.51472 59.5 0.5 57.4853 0.5 55V5C0.5 2.51472 2.51472 0.5 5 0.5Z' fill='%23F8F7F0'/%3e%3cpath d='M5 0.5H55C57.4853 0.5 59.5 2.51472 59.5 5V55C59.5 57.4853 57.4853 59.5 55 59.5H5C2.51472 59.5 0.5 57.4853 0.5 55V5C0.5 2.51472 2.51472 0.5 5 0.5Z' stroke='%23E9ECE8'/%3e%3cpath d='M25.3333 24L34.6666 30L25.3333 36V24Z' stroke='%23E19300' stroke-linecap='round' stroke-linejoin='round'/%3e%3c/svg%3e ");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 60px;
    height: 60px;
    object-fit: contain;
    object-position: center;
    opacity: 1;
    transition: var(--transition);
}

.item_video iframe {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
}
.item_video.video-hiden iframe {
    z-index: 5 !important;
}
.item_video.video-hiden .video__media {
    filter: none;
}
.item_video:hover {
    transition: var(--transition);
}
.item_video:hover::after {
    /* opacity: 1; */
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='60' height='60' viewBox='0 0 60 60' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M0 5C0 2.23858 2.23858 0 5 0H55C57.7614 0 60 2.23858 60 5V55C60 57.7614 57.7614 60 55 60H5C2.23858 60 0 57.7614 0 55V5Z' fill='%23E19300'/%3e%3cpath d='M25.3333 24L34.6666 30L25.3333 36V24Z' stroke='%23191919' stroke-linecap='round' stroke-linejoin='round'/%3e%3c/svg%3e ");
}
.item_video:hover::before {
    opacity: 1;
}

.rew_pag {
    display: flex;
    gap: var(--px80);
    align-items: center;
    justify-content: center;
    grid-column: 1/-1;
}
@media (max-width: 700px) {
    .btn {
        width: 100%;
    }
    .swiper .btn {
        width: auto;
    }
    .item_video:after {
        opacity: 1;
    }
}

/* custom classes css*/

.pointer {
    cursor: pointer;
}

.overflow {
    overflow: hidden;
}

.contain_img img,
.contain_img svg {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.cover_img img,
.cover_img svg {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.img_abs > img {
    /* position: absolute; */
    top: 0;
    left: 0;
}

.custom_scrollbar::-webkit-scrollbar {
    height: 2px;
    width: 2px;
}
.custom_scrollbar::-webkit-scrollbar-track {
    background-color: var(--bg_stroke);
}
.custom_scrollbar::-webkit-scrollbar-thumb {
    box-shadow: inset 0 0 6px var(--primary);
}
.custom_scrollbar {
    overflow: auto;
    padding-right: var(--px20);
}
.inputs.custom_scrollbar::-webkit-scrollbar-track {
    background-color: var(--bgs_stroke);
}
strong {
    font-weight: var(--bold);
}
.custom_table {
    table {
        width: 100%;
        border: 1px solid var(--bg_stroke);
        border-collapse: collapse;
    }
    table th {
        font-weight: bold;
        padding: var(--px10);
        background: var(--bg_sec);
        border: 1px solid var(--bg_stroke);
        text-align: start;
        padding: var(--px15) var(--px20);
    }
    table td {
        border: 1px solid var(--bg_stroke);
        padding: var(--px10);
        background: var(--bg_sec);
        padding: var(--px15) var(--px20);
    }
}

.nowrap_text {
    text-wrap: nowrap !important;
}

.ta_c {
    text-align: center;
}

.ta_s {
    text-align: start;
}

.ta_e {
    text-align: end;
}

.text_gap {
    gap: 15px;
}

.text_gap ul,
.text_gap ol {
    gap: 10px;
}

.text_gap,
.text_gap ul,
.text_gap ol {
    display: flex;
    flex-direction: column;
}

.text_gap_small {
    gap: 10px;
}

.text_gap_small ul,
.text_gap_small ol {
    gap: 10px;
}

.text_gap_small,
.text_gap_small ul,
.text_gap_small ol {
    display: flex;
    flex-direction: column;
}

.text_gap_big {
    gap: 15px;
}

.text_gap_big ul,
.text_gap_big ol {
    gap: 15px;
}

.text_gap_big,
.text_gap_big ul,
.text_gap_big ol {
    display: flex;
    flex-direction: column;
}

.custom_ul ul li,
.custom_ul.ul li {
    list-style: none;
    display: flex;
    gap: 10px;
}

.custom_ul ul li::before,
.custom_ul.ul li::before {
    width: 4px;
    height: 4px;
    min-width: 4px;
    margin-top: 9px;
    border-radius: var(--brmax);
    background: var(--text);
    position: static;
    content: "";
}

.df_c {
    display: flex;
    flex-direction: column;
}

.df_r {
    display: flex;
    flex-direction: row;
}

.df {
    display: flex;
}

.dg {
    display: grid;
}

.db {
    display: block;
}

.fw {
    flex-wrap: wrap;
}

.p_abs {
    position: absolute;
}

.p_rel {
    position: relative;
}

.p_sticky {
    position: sticky;
}

.p_fix {
    position: fixed;
}

.w_100 {
    width: 100%;
}
.w_auto {
    width: auto;
}

.w_fc {
    width: fit-content;
}

.h_100 {
    height: 100%;
}
.h_auto {
    height: auto;
}

.h_fc {
    height: fit-content;
}

.jc_sp {
    justify-content: space-between;
}

.jc_c {
    justify-content: center;
}

.jc_s {
    justify-content: start;
}

.jc_e {
    justify-content: end;
}

.ai_s {
    align-items: static;
}
.ai_c {
    align-items: center;
}
.ai_e {
    align-items: end;
}

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

.container {
    max-width: 1530px;
    width: 100%;
    margin: 0 auto;
}

@media (max-width: 1560px) {
    .container {
        padding-left: 15px;
        padding-right: 15px;
    }
}

.bg_img {
    background-repeat: no-repeat !important;
    background-size: cover !important;
}
.bg_img_c {
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center !important;
}

.bg_img_contain {
    background-repeat: no-repeat !important;
    background-size: contain !important;
    background-position: center !important;
}

@media (max-width: 700px) {
    .text_gap {
        gap: 10px;
    }
    .text_gap ul,
    .text_gap ol {
        gap: 5px;
    }
}

.color_head {
    color: var(--head);
}
.color_heads {
    color: var(--heads);
}
.color_bg {
    color: var(--bg);
}
.color_bg_sec {
    color: var(--bg_sec);
}
.color_bg_th {
    color: var(--bg_th);
}
.color_bg_stroke {
    color: var(--bg_stroke);
}
.color_text {
    color: var(--text);
}
.color_text_sec {
    color: var(--text_sec);
}
.color_texts {
    color: var(--texts);
}
.color_texts_sec {
    color: var(--texts_sec);
}
.color_primary {
    color: var(--primary);
}
.color_secondary {
    color: var(--second);
}
.text_color_second {
    background-image: var(--second);
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
}

.color_hover {
    color: var(--hover);
}
.color_hovers {
    color: var(--hovers);
}

.fw_regular {
    font-weight: var(--regular);
}
.fw_medium {
    font-weight: var(--medium);
}
.fw_semibold {
    font-weight: var(--semibold);
}
.fw_bold {
    font-weight: var(--bold);
}

.lh130 {
    line-height: var(--lh130);
}
.lh120 {
    line-height: var(--lh120);
}
.lh110 {
    line-height: var(--lh110);
}
.lh100 {
    line-height: var(--lh100);
}
.lh90 {
    line-height: var(--lh90);
}

.br5 {
    border-radius: 5px;
}
.br10 {
    border-radius: 10px;
}
.br15 {
    border-radius: 15px;
}
.br20 {
    border-radius: 20px;
}
.br25 {
    border-radius: 25px;
}
.br30 {
    border-radius: 30px;
}
.br50 {
    border-radius: 50px;
}
.brmax {
    border-radius: var(--brmax);
}

.bg_primary {
    background: var(--primary);
}
.bg_secondary {
    background: var(--second);
}
.bg_bg {
    background: var(--bg);
}
.bg_bgs {
    background: var(--bgs);
}
.bg_half {
    background: var(--bg_half);
}
.bg_white {
    background: var(--bg);
}
.bg_sec {
    background: var(--bg_sec);
}
.bg_th {
    background: var(--bg_th);
}
.bg_head {
    background: var(--head);
}

.standart_padding {
    padding-top: var(--px100);
    padding-bottom: var(--px100);
}

.small_padding {
    padding-top: var(--px50);
    padding-bottom: var(--px50);
}

.big_padding {
    padding-top: var(--px150);
    padding-bottom: var(--px150);
}

.bottom_padding {
    padding-bottom: var(--px100);
}

.big_bottom_padding {
    padding-bottom: var(--px150);
}

.top_padding {
    padding-top: var(--px100);
}

.page-title,
.block-title {
    margin-bottom: var(--px40);
}

.gap_120 {
    gap: var(--px120);
}
.gap_100 {
    gap: var(--px100);
}
.gap_90 {
    gap: var(--px90);
}
.gap_80 {
    gap: var(--px80);
}
.gap_70 {
    gap: var(--px70);
}
.gap_60 {
    gap: var(--px60);
}
.gap_50 {
    gap: var(--px50);
}
.gap_40 {
    gap: var(--px40);
}
.gap_30 {
    gap: var(--px30);
}
.gap_25 {
    gap: var(--px25);
}
.gap_20 {
    gap: var(--px20);
}
.gap_15 {
    gap: var(--px15);
}
.gap_10 {
    gap: 10px;
    gap: var(--px10);
}
.gap_5 {
    gap: var(--px5);
}

.p_60 {
    padding: var(--px60);
}
.p_50 {
    padding: var(--px50);
}
.p_40 {
    padding: var(--px40);
}
.p_30 {
    padding: var(--px30);
}
.p_25 {
    padding: var(--px25);
}
.p_20 {
    padding: var(--px20);
}
.p_15 {
    padding: var(--px15);
}
.p_10 {
    padding: var(--px10);
}
.p_5 {
    padding: var(--px5);
}

/*============ HEADER =================*/

.site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    background: var(--bg);
    min-height: 90px;
    display: flex;
    align-items: center;
    border-top: none;
    margin: 0 auto;
    z-index: 999;
    padding: var(--px15);
    padding-left: var(--px30);
    border-radius: 0px 0px 15px 15px;
    box-shadow: var(
        --ten-box-shadow,
        0px 8px 24px 0px rgba(149, 157, 165, 0.14)
    );
}

.logo-holder {
    width: 194px;
    height: 47px;
}

.header-menu > .nav-menu-element > a {
    display: flex;
    color: var(--text);
    text-wrap: nowrap;
    /* padding: 5px 0; */
}

.header-menu > .nav-menu-element:hover > a,
.header-menu > .nav-menu-element.active > a {
    color: var(--hover);
}

.header-menu .has-childs {
    position: relative;
}

.header-menu .has-childs a {
    position: relative;
}

.header-menu .sub-menu {
    position: absolute;
    display: grid;
    grid-template-columns: 1fr;
    min-width: 310px;
    width: fit-content;
    left: -20px;
    top: 55px;
    z-index: 999;
    background: var(--bg);
    display: none;
    border-radius: 0 0 15px 15px;
    box-shadow: var(
        --ten-box-shadow,
        0px 8px 24px 0px rgba(149, 157, 165, 0.14)
    );
}
.header-menu .sub-menu > .nav-menu-element:first-child a {
    padding-top: var(--px20);
}
.header-menu .sub-menu > .nav-menu-element:last-child a {
    padding-bottom: var(--px20);
}
.header-menu .sub-menu a {
    color: var(--text);
    padding: 7.5px var(--px20);
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--px10);
}
.header-menu .sub-menu a:hover {
    color: var(--hover);
}
.header-menu .sub-menu::before {
    background: var(--hover);
    left: 0;
    top: -38px;
    width: 100%;
    height: 38px;
    content: "";
    display: block;
    position: absolute;
    opacity: 0;
}

.header-menu .has-childs:hover > a::before {
    display: flex;
}

.header-menu .has-childs:hover > a ~ .sub-menu {
    display: grid;
}

.header-menu,
.menuTop {
    a:hover {
        color: var(--hover);
    }
}

#header #mobile-mnu .nav-menu-element.has-childs > a ~ .sub-menu {
    display: none;
}
#header #mobile-mnu .nav-menu-element.has-childs > a.open ~ .sub-menu {
    display: block;
}
#header .has-childs > a {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 5px;
    justify-content: start;
}
#header .has-childs > a::after {
    display: flex;
    content: url("../images/arr.svg");
    width: 16px;
    height: 16px;
    object-fit: contain;
    position: relative;
    object-position: center;
    transition: var(--transition);
}

#header #mobile-mnu .nav-menu-element.has-childs.open a::after,
#header .nav-menu-element.has-childs:hover > a::after {
    transform: rotate(-180deg);
    filter: brightness(0) saturate(100%) invert(53%) sepia(87%) saturate(1542%)
        hue-rotate(10deg) brightness(99%) contrast(102%);
}
.header-menu > .nav-menu-element.active.has-childs > a::after {
    filter: brightness(0) saturate(100%) invert(53%) sepia(87%) saturate(1542%)
        hue-rotate(10deg) brightness(99%) contrast(102%);
}


#header .sertificate{
    display: flex;
    color: var(--text);
    text-wrap: nowrap;
}

#header .sertificate:hover{
    color: var(--hover);
}

/*================ MOBILE MNU =============*/
#header .burger.open_menu {
    display: none;
    flex-direction: column;
    background: transparent;
    height: 40px;
    width: 40px;
    justify-content: space-evenly;
    align-items: center;
    border-radius: 2px;
    flex-shrink: 0;
}

#header .burger.open_menu span {
    background: var(--primary);
    width: 30px;
    height: 4px;
    transition: all 0.3s ease-in;
}

#header .burger.open_menu.clicked {
    background: var(--hover);
}

#header .burger.open_menu.clicked span {
    background: var(--bg);
}

#header #mobile-mnu {
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 320px;
    background-color: var(--bg_sec);
    padding: 30px;
    transition: all 0.3s ease-in;
    transform: translateX(-350px);
    z-index: 9999;
}

#header #mobile-mnu * {
    color: var(--text) !important;
}

#header #mobile-mnu #close-mnu {
    font-size: 40px;
    position: absolute;
    right: 10px;
    top: 10px;
    cursor: pointer;
    display: block;
    color: var(--hover) !important;
    transform: rotate(45deg);
}

#header #mobile-mnu .logo__holder {
    text-align: center;
    margin-bottom: 30px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}
#header #mobile-mnu .logo__holder img,
#header #mobile-mnu .logo__holder svg {
    max-height: 60px;
}
#header #mobile-mnu .menuTop {
    list-style-type: none;
    /* margin-bottom: 10px; */
}
.address * {
    color: var(--bg);
}
#mobile-mnu .btn_shop {
    width: 100%;
    margin-bottom: 15px;
}
#header #mobile-mnu.opened {
    transform: translateX(0);
}

#header #mobile-mnu .logo-holder {
    margin-bottom: 20px;
}
#header #mobile-mnu ul li {
    list-style: none;
}
#header #mobile-mnu ul a {
    padding: 5px 0;
    font-size: var(--fs18);
    display: block;
}

#header #mobile-mnu ul a:hover {
    color: var(--primary);
}
#header #mobile-mnu .header_holder {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 20px;
}

#header #mobile-mnu .soc-holder {
    margin-top: 20px;
}

@media (max-width: 1400px) {
    .header_contacts .btn {
        display: none;
    }
}

@media (max-width: 1285px) {
    .header_content {
/*         display: none; */
    }
}

@media (max-width: 1200px) {
    #header .burger.open_menu {
        display: flex;
    }
	.header_content {
        display: none;
    }
}
@media (max-width: 650px) {
    .header_contacts .soc-holder {
        display: none;
    }
}
@media (max-width: 480px) {
    .header_contacts .phones-holder-form p {
        display: none;
    }
    .logo-holder {
        width: 100%;
        max-width: 194px;
    }
}
@media (max-width: 400px) {
    .header_contacts .phones-holder-form a {
        font-size: 14px;
    }
    .site-header {
        min-height: 70px;
    }
}

/*============ FOOTER ===============*/

#footer {
    padding-top: var(--px50);
}

.footer_column_menu {
    width: 222px;
}

.footer-menu * {
    color: var(--heads);
    font-weight: var(--medium);
}

.footer_menus_m {
    margin-left: auto;
}

.footer_column {
    max-width: 222px;
}

.footer_top {
    gap: 30px;
}

.footer_top .sepp {
    width: 100%;
    height: 1px;
    background: var(--bgs_stroke);
}

@media screen and (max-width: 550px) {
    .footer_top .footer-menu {
        padding-left: 20px;
    }
}

.footer_bottom {
    padding: var(--px15) 0 var(--px20);
    border-top: 1px solid var(--bgs_stroke);
}

.footer_bottom .privacy,
.footer_bottom .copy {
    height: fit-content;
}

.footer_bottom .privacy {
    text-decoration: underline;
}

.footer_bottom {
    display: flex;
    gap: 20px;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}
.footer_bottom *,
.footer_top .req * {
    color: var(--text_sec);
}

@media (max-width: 1300px) {
    .footer_menus_m {
        gap: 30px;
        margin-left: inherit;
    }
    .footer_column_menu {
        width: 160px;
    }
}

@media (max-width: 900px) {
    .footer_bottom {
        flex-direction: column;
        gap: 10px;
    }
    .footer_bottom > * {
        width: fit-content;
        margin: 0 auto;
        align-items: center;
        text-align: center;
    }
}

/* footer grampus */

@keyframes gradient {
    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}

.glogo {
    width: 111px;
    height: 17px;
    mask-image: url("../images/gmask.png");
    mask-origin: border-box;
    mask-size: contain;
    mask-repeat: no-repeat;
    background: var(--text_sec);
    position: relative;
    cursor: pointer;
    display: inline-flex;
    vertical-align: sub;
    overflow: hidden;
    margin-left: 10px;
}

.glogo:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: red;
    transform: translateX(100%);
    transition: transform 0.7s ease-in;
    background: linear-gradient(
            90deg,
            #fe6604 10%,
            #ee0a76 30%,
            #ee0a76 60%,
            #fe6604 101%
        )
        repeat-x 0 0;
    background-size: 100px;
    animation-duration: 5s;
    animation-name: slideUp;
    animation-iteration-count: infinite;
    animation-delay: 3s;
}

.glogo:hover:before {
    /*transform: translateY(-100%);*/
    animation-name: unset;
    transform: translateX(0);
}

@keyframes slideUp {
    0% {
        transform: translateX(-100%);
    }

    50% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(100%);
    }
}

/* ============== MODAL ============= */
.wpcf7 .wpcf7-response-output,
.wpcf7 .wpcf7-not-valid-tip {
    display: none;
}
.wpcf7 .ajax-loader {
    display: none;
}
.wpcf7 .wpcf7-spinner {
    display: none;
}
.modal-message-img {
    width: 163px;
    height: 163px;
    min-width: 163px;
    border-radius: 100%;
    overflow: hidden;
    border: 1px solid var(--bgs);
}
.modal-callback-img {
    width: 80px;
    height: 80px;
    min-width: 80px;
    border-radius: 100%;
    overflow: hidden;
    border: 1px solid var(--bgs);
}
.theme-modal.fancybox__content {
    max-width: 610px;
    width: 100%;
}
.standart_modal {
    max-width: 780px !important;
}
.theme-modal.fancybox__content .form-top {
    flex-direction: column;
}
.theme-modal.fancybox__content button {
    margin-top: 10px;
    width: 100%;
}
.theme-modal.fancybox__content a {
    /* text-decoration: none !important;*/
    color: var(--hover) !important;
}
.theme-modal.fancybox__content > .f-button.is-close-btn {
    top: var(--px20) !important;
    right: var(--px20) !important;
    background-color: transparent;
    margin: 0;
    width: fit-content;
    width: 60px;
    height: 60px;
    border-radius: 5px;
    background: var(--bg_sec);
    border: 1px solid var(--bg_stroke);
}
.theme-modal.fancybox__content > .f-button.is-close-btn svg path {
    stroke: var(--hover);
    fill: var(--hover);
    transition: stroke 0.3s ease-in;
}
.theme-modal.fancybox__content > .f-button.is-close-btn:hover {
    background: var(--hover);
    border: 1px solid var(--hover);
}
.theme-modal.fancybox__content > .f-button.is-close-btn:hover svg path {
    stroke: var(--head);
}

.modal__title {
    min-height: 60px;
    max-width: calc(100% - 60px - 20px - 20px);
}
@media (max-width: 700px) {
    .theme-modal.fancybox__content > .f-button.is-close-btn {
        width: 30px;
        height: 30px;
    }

    .modal__title {
        min-height: 30px;
        max-width: calc(100% - 30px - 10px);
    }
}
@media (max-width: 480px) {
    .modal__title {
        font-size: 24px;
    }
    .modal__subtitle {
        font-size: 16px;
    }
}

.theme-modal .title {
    color: var(--bg);
    /*   text-align: center; */
}
.theme-modal .subtitle {
    /*   color: var(--text_primary_head_sec); */
    margin-top: 10px;
    /*   text-align: center; */
}
.theme-modal.modal-open {
    pointer-events: all;
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
}

.theme-modal .form-privacy {
    text-align: center;
}

input[list="services"]::-webkit-calendar-picker-indicator {
    display: none !important;
}
.input-wrapper.list {
    position: relative;
}
.input-wrapper.list svg {
    top: 0;
    bottom: 0;
    right: 20px;
    margin: auto 0;
    position: absolute;
    transition: var(--transition);
}
.input-wrapper.list input {
    padding-right: 56px;
}
.input-wrapper.list:hover svg {
    transform: rotate(-180deg);
    transition: var(--transition);
}
.with-fancybox .theme-modal {
    display: flex;
    z-index: 9999;
    background: var(--bg);
    border-radius: 15px;
    padding: var(--px20);
    .f-button {
        height: fit-content;
    }
    .f-button svg {
        width: 14px;
        height: 14px;
        object-fit: contain;
    }
}

.fancybox__backdrop {
    background: rgba(40, 45, 60, 0.8) !important;
}

[form-send][disabled] {
    opacity: 0.5;
}
.modals__ {
    display: none;
}

.modal__subtitle + .btn {
    width: 100%;
    margin-top: 25px;
}
.modal-hide {
    display: none;
}
.with-fancybox .theme-modal .form-privacy {
    text-align: left;
}

@media (max-width: 480px) {
    .with-fancybox .theme-modal {
        padding: 20px 15px;
    }
    .is-compact .fancybox__content > .f-button.is-close-btn {
        top: 5px;
        right: 5px;
    }
    #modal-message .df_center {
        flex-direction: column;
        align-items: start;
    }
}
/* ============= SWIPER =========== */

.swiper {
    width: 100%;
    overflow: hidden;
}

.swiper-slide {
    height: auto;
}

.slider_btn_wrap {
    display: flex;
    gap: 10px;
}

.slider-btn,
.slider-btn-stroke,
.pag-btn {
    height: 60px;
    width: 60px;
    min-width: 60px;
    max-width: 60px;
    cursor: pointer;
    transition: var(--transition);
    width: fit-content;
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--primary);
    border-radius: 5px;
}

.slider-btn-stroke {
    background: var(--bg_sec);
    border: 1px solid var(--bg_stroke);
}
.pag-btn {
    background: var(--bg_sec);
    border: 1px solid var(--bg_stroke);
}

.slider-btn svg,
.pag-btn svg {
    object-fit: contain;
    width: fit-content;
    height: fit-content;
}

.slider-btn *,
.slider-btn-stroke *,
.pag-btn * {
    transition: var(--transition);
}

.slider-btn:hover,
.pag-btn:hover,
.slider-btn-stroke:hover {
    background: var(--hover);
    svg path {
        stroke: var(--head);
    }
}

.slider-btn.swiper-button-disabled,
.slider-btn-stroke.swiper-button-disabled,
.inactive .pag-btn {
    pointer-events: none;
    background: var(--bg_th);
    svg path {
        stroke: var(--texts_sec);
    }
}

.swiper_bottom {
    display: flex;
    gap: 30px;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
}

.swiper_bottom .pag {
    width: fit-content !important;
    display: flex;
    gap: 5px;
}
.swiper_bottom .pag,
.swiper_bottom .pag *,
.swiper_bottom .pag:hover,
.swiper_bottom .pag *:hover,
.product_pag,
.product_pag *,
.product_pag:hover,
.product_pag *:hover {
    transition: var(--transition);
}
.swiper-pagination-bullet {
}
.partner_swiper .swiper-slide {
    display: flex;
}
.partner_card {
    width: 100%;
}
.pag .swiper-pagination-bullet {
    margin: 0 !important;
    width: 6px;
    height: 6px;
    min-width: 6px;
    min-height: 6px;
    opacity: 1;
    min-width: 6px;
    flex-shrink: 0;
    background: var(--bg_stroke);
    border-radius: 0;
}

.pag .swiper-pagination-bullet-active {
    background: var(--hover);
}

.product_pag {
    display: flex;
    gap: 10px;
    row-gap: 7px;
    max-width: 222px;
    width: 100%;
    margin: auto auto 10px;
    position: absolute;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    right: 0 !important;
    height: fit-content;
    justify-content: center;
    flex-wrap: wrap;
}

.product_pag .swiper-pagination-bullet {
    margin: 0 !important;
    max-width: 48px;
    width: 100%;
    height: 3px;
    opacity: 1;
    min-width: 6px;
    flex-shrink: 0;
    background: var(--bg_stroke);
    border-radius: 0;
    display: block;
}
.product_pag .swiper-pagination-bullet-active {
    background: var(--hover) !important;
}

/* ============= input =========== */

.form input,
.form textarea {
    display: flex;
    width: 100%;
    padding: 19.5px 22px;
    color: var(--head);
    cursor: pointer;
    border-radius: 0;
    background: var(--bg);
    outline: none;
    resize: none;
    transition: var(--transition);
    border-radius: 5px;
    border: 1px solid var(--bg_stroke);
}
.form textarea {
    height: 134px;
    resize: vertical;
    transition: none;
    resize: none;
}
.form textarea ~ .label {
    flex-wrap: wrap;
}
.form input::placeholder,
.form textarea::placeholder {
    color: var(--text);
    opacity: 0;
    transition: 0.3s;
}

.form input:focus,
.form textarea:focus,
.input-wrapper > input:not(:placeholder-shown),
.input-wrapper > textarea:not(:placeholder-shown) {
    background: var(--bg_sec);
    border-color: var(--primary);
    padding: 26px 22px 13px;
    transition: var(--transition);
}
.form input:hover,
.form textarea:hover {
    background: var(--bg_sec);
    transition: var(--transition);
}
.form input:focus::placeholder,
.form textarea:focus::placeholder {
    opacity: 1;
    color: var(--head);
}
.form input:hover::placeholder,
.form textarea:hover::placeholder {
    color: var(--head);
}
.form .input-wrapper {
    position: relative;
    width: 100%;
}
.select__wrapper {
    position: relative;
}
.select__wrapper::after,
.select-checkbox__head::after {
    content: "";
    width: 4px;
    height: 4px;
    border: 1px solid var(--text_sec);
    border-width: 0 1px 1px 0px;
    position: absolute;
    top: 50%;
    right: 30px;
    transform: rotate(45deg) translateY(-50%);
    transition: all 0.3s;
}
.select__wrapper:focus-within::after,
.select-checkbox__head.open::after {
    transform: rotate(225deg) translateY(0%);
}
.select__wrapper select,
.select-checkbox__head {
    width: 100%;
    height: 60px;
    background-color: var(--bg);
    border: 1px solid var(--bg_stroke);
    border-radius: var(--br5);
    padding: 14px 19px;
    padding-right: 48px;
    color: var(--bgs);
    font-size: var(--fs16);
    font-weight: var(--regular);
    cursor: pointer;

    -webkit-appearance: none;
    -moz-appearance: none;
}
.select__wrapper select.error {
    border-color: #ff0000 !important;
    color: #ff0000 !important;
}
.select-checkbox__head {
    width: 100%;
    height: 60px;
    display: flex;
    align-items: center;
    position: relative;
}
.select-checkbox__content {
    position: absolute;
    z-index: 1;
    width: 100%;
    border: 1px solid var(--bg_stroke);
    border-top: none;
    background-color: var(--bg);
    top: 60px;
    left: 0;
    border-bottom-right-radius: var(--br5);
    border-bottom-left-radius: var(--br5);
    opacity: 0;
    visibility: hidden;
}
.select-checkbox__input {
    display: block;
    position: relative;
    border-bottom: 1px solid var(--bg_stroke);
    padding: 15px 45px;
    cursor: pointer;
}
.select-checkbox__wrapper
    .select-checkbox__head.open
    + .select-checkbox__content {
    visibility: visible;
    opacity: 1;
}
.select-checkbox__wrapper {
    position: relative;
}
.select-checkbox__input:last-child {
    border-bottom: none;
}
.select-checkbox__input input {
    width: 0;
    height: 0;
    visibility: hidden;
    opacity: 0;
    left: 0;
    top: 0;
    position: absolute;
}
.select-checkbox__input span {
    color: var(--bgs_sec);
}
.select-checkbox__input span::before {
    content: "";
    width: 15px;
    height: 15px;
    border: 1px solid var(--bg_stroke);
    background-color: var(--bg);
    border-radius: 2px;
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    box-sizing: border-box;
    transition: all 0.3s;
}
.select-checkbox__input input:checked + span::before {
    border: 4px solid var(--primary);
}
.form .input-wrapper .label {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: 0;
    margin-top: 19.5px;
    transform: translate(22px, 0);
    color: var(--text);
    pointer-events: none;
    transition: var(--transition);
    height: fit-content;
    width: calc(100% - 22px);
    font-size: 16px;
}
.form .input-wrapper textarea + .label {
    margin: 0;
    margin-top: 22px;
}
.input-wrapper input:focus ~ .label,
.input-wrapper textarea:focus ~ .label,
.input-wrapper > input:not(:placeholder-shown) ~ .label,
.input-wrapper > textarea:not(:placeholder-shown) ~ .label {
    top: 7px;
    font-size: 12px;
    color: var(--text);
    margin: 0;
    line-height: 140%;
    transition: var(--transition);
}
.form input:hover ~ .label,
.form textarea:hover ~ .label {
    color: var(--text);
}
.form input:focus,
.form > input:not(:placeholder-shown) {
    outline: none;
}

.form input.error,
.form textarea.error,
.form input.error + .label,
.form textarea.error + .label {
    border-color: #ff0000 !important;
    color: #ff0000 !important;
}
.form input.error::placeholder,
.form textarea.error::placeholder {
    color: #ff0000 !important;
}
.form input.error,
.form textarea.error {
    color: #ff0000 !important;
    border-color: #ff0000 !important;
}

.form .form-privacy a {
    text-decoration: underline;
    color: var(--head);
}
.form .form-privacy a:hover {
    color: var(--hover);
}

.form-bot {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-top: var(--px20);
}

.form_block .form-bot {
    margin-top: var(--px40);
}

.form-bot > .btn_base {
    width: 100%;
}

.input-wrapper.file input {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 4;
    opacity: 0;
}

.input-wrapper.file {
    margin-top: 5px;
}

.input-wrapper.file label {
    cursor: pointer;
    position: static !important;
    transform: none !important;
}

.input-wrapper.file .file_params {
    /* margin-left: auto; */
}

.input-wrapper.file .file__item p {
    margin-top: 5px;
    color: var(--hover);
}

@media (max-width: 480px) {
    .form-privacy,
    .form-privacy * {
        font-size: 14px;
    }
}
.input-wrapper:not(:last-child) {
    /*   margin-bottom: 10px; */
}

.privacy_input {
    position: absolute;
    width: 24px !important;
    height: 24px;
    z-index: 2;
    opacity: 0;
}

.form-privacy-container label {
    display: block;
    width: 24px;
    height: 24px;
    min-width: 24px;
    border-radius: 5px;
    border: 1px solid var(--text);
    position: relative;
    cursor: pointer;
}

.form-privacy-container label::before {
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    position: absolute;
    z-index: 0;
    width: 16px;
    height: 16px;
    display: block;
    content: "";
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M13.3337 4L6.00033 11.3333L2.66699 8' stroke='%23191919' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3e%3c/svg%3e ");
    background-repeat: no-repeat;
    background-size: contain;
    opacity: 0;
}

.privacy_input ~ label {
    transition: var(--transition);
}

.privacy_input:hover ~ label {
    border: 1px solid var(--hover);
    transition: var(--transition);
}

.privacy_input:checked ~ label {
    border: 1px solid var(--primary);
    background: var(--primary);
}

.privacy_input:checked ~ label::before {
    opacity: 1;
}

.privacy_input.error ~ .form-privacy *,
.privacy_input.error ~ .form-privacy {
    color: #ff0000 !important;
}
.privacy_input.error ~ label {
    border-color: #ff0000 !important;
}
.theme-modal .privacy_input.error ~ label {
    border-color: #ff0000 !important;
}

@media (max-width: 480px) {
    .privacy_input {
        width: 20px !important;
        height: 20px;
    }

    .form-privacy-container label {
        display: block;
        width: 20px;
        height: 20px;
        min-width: 20px;
    }
    .with-fancybox .theme-modal .form-privacy *,
    .with-fancybox .theme-modal .form-privacy {
        font-size: 13px;
    }
}

/* services */

.services_container {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.service_card {
    position: relative;
    border: 1px solid var(--bg_stroke);
}

.service_img {
    position: relative;
    width: 210px;
    height: auto;
    min-height: 210px;
    min-width: 210px;
}

.service_img img {
    position: absolute;
    top: 0;
    left: 0;
}

.service_card:hover {
    border: 1px solid var(--bg_th);
    background: var(--bg_th) !important;
    img {
        transform: scale(1.1);
    }
    .btn {
        background: var(--hover);
        border-color: var(--hover);
        color: var(--head);
        svg path {
            stroke: var(--head);
        }
    }
    .service_title {
        color: var(--hover);
    }
}

@media (max-width: 1150px) {
    .services_container {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .service_bottom {
        flex-wrap: wrap;
    }
}

@media (max-width: 550px) {
    .service_card {
        flex-direction: column;
    }
    .service_img {
        width: 100%;
    }
}

/* banner */

.mainbanner_block {
    padding: 160px 0 var(--px100);
    position: relative;
}

.mainbanner_block.mainbanner_block_card {
    padding: 120px 0 var(--px100);
}

.mainbanner_block .container {
    position: relative;
    z-index: 2;
}

.mainbanner_container {
    max-width: 750px;
}

.mainbanner_advs {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    box-shadow: var(
        --ten-box-shadow,
        0px 8px 24px 0px rgba(149, 157, 165, 0.14)
    );
    width: 100%;
    max-width: 740px;
}

.mainbanner_adv_img {
    width: 70px;
    height: 70px;
    min-width: 70px;
}

.mainbanner_block::before {
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100px;
    display: block;
    content: "";
    background: linear-gradient(
        179.67deg,
        rgba(248, 247, 240, 0) -0.07%,
        rgba(248, 247, 240, 0.220004) 30.26%,
        #f8f7f0 60.31%
    );
}

.mainbanner_bg {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
}

.single-services .mainbanner_btn .h6,
.tax-product_cat .mainbanner_btn .h6 {
    font-size: var(--fs24);
}

@media (max-width: 1450px) {
    .mainbanner_bg {
        opacity: 0.3;
    }
}

@media (max-width: 700px) {
    .mainbanner_block {
        padding-top: 120px;
    }
    .mainbanner_bg {
        opacity: 0.2;
    }
    .mainbanner_btn {
        flex-wrap: wrap;
        p {
            text-align: center;
            width: 100%;
        }
        p * {
            text-align: center;
        }
    }
    .mainbanner_advs {
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width: 480px) {
    .mainbanner_advs {
        grid-template-columns: 1fr;
        gap: 0;
    }
    p {
        text-align: start;
        width: 100%;
    }
    p * {
        text-align: start;
    }
}
@media (max-width: 400px) {
    .mainbanner_block {
        padding-top: 100px;
    }

    .mainbanner_block.mainbanner_block_card {
        padding-top: 100px;
    }
}

/* reviews */

.reviews_container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--px30);
}

.review_card {
    min-height: 340px;
    border-radius: 15px;
    overflow: hidden;
    height: auto;
}

.review_card_date {
    padding: 8px 15px;
    border: 1px solid var(--bg_stroke);
    border-radius: 5px;
}

.review_card_top {
    row-gap: 10px;
}

.review_card.text {
    background: var(--bg_sec);
    border: 1px solid var(--bg_stroke);
    padding: var(--px20);
    display: flex;
    flex-direction: column;
    gap: var(--px30);
    justify-content: space-between;
}

.review_card_text.text-hidden {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 5;
    line-clamp: 5;
    -webkit-box-orient: vertical;
}
.review_card_text.unset {
    overflow: unset;
    display: unset;
    -webkit-line-clamp: unset;
    line-clamp: unset;
    -webkit-box-orient: unset;
}

.review_read_more {
    cursor: pointer;
}

.review_read_more:hover {
    color: var(--hover);
    svg path {
        stroke: var(--hover);
    }
}

.review_card_gallery_img {
    width: 70px;
    height: 70px;
}

.review_card.image {
    border: 1px solid var(--bg_stroke);
    a {
        position: relative;
    }
    img {
        position: absolute;
        top: 0;
        left: 0;
    }
}

.review_card.video video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.review_card.video,
.review_card.image {
    box-shadow: var(
        --ten-box-shadow,
        0px 8px 24px 0px rgba(149, 157, 165, 0.14)
    );
}

.reviews_block.dark {
    background: var(--bg_sec);
}

.reviews_block.dark .review_card.text,
.archive__holder .review_card.text {
    background: var(--bg);
    border: 1px solid var(--bg);
    box-shadow: var(
        --ten-box-shadow,
        0px 8px 24px 0px rgba(149, 157, 165, 0.14)
    );
}

@media (max-width: 1050px) {
    .reviews_container {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 650px) {
    .reviews_container {
        grid-template-columns: repeat(1, 1fr);
    }
    .form_block_contacts {
        flex-wrap: fw;
    }
}

/* works  */

.works {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: var(--px30);
}

@media screen and (max-width: 600px) {
    .works {
        grid-template-columns: repeat(1, 1fr);
    }
    
}



.works .work {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    border-radius: 15px;
    background: var(--bg);
    border: 1px solid var(--bg_sec);
    box-shadow: var(
        --ten-box-shadow,
        0px 8px 24px 0px rgba(149, 157, 165, 0.14)
    );
    min-height: 527px;
    cursor: pointer;
    .sepp {
        width: 100%;
        height: 1px;
        background: var(--bg_stroke);
    }
}

.works .work:hover,
.works .work *,
.works .work,
.works .work:hover * {
    transition: var(--transition);
}

.works .work:hover {
    background: var(--bg_sec);
    border: 1px solid var(--bg_stroke);
    box-shadow: var(--ten-box-shadow, 0px 8px 24px 0px rgba(149, 157, 165, 0));
    .work__image {
        transform: scale(1.1);
    }
    .work__title {
        color: var(--hover);
    }
}
.works .work__image-holder {
    width: 100%;
    position: relative;
    overflow: hidden;
    border-radius: 15px;
    display: flex;
    min-height: 320px;
}
.works .work__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}
.works .work__info {
    padding: var(--px20);
    width: 100%;
}
.works .work__attributes {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: var(--px30);
}
.works .work__attribute {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 5px;
}
.works .work:hover .work__arrow {
    background-color: var(--primary);
}
.works .work:hover .work__arrow svg path {
    stroke: var(--head-secondary);
}
@media (max-width: 750px) {
    .works .works {
        grid-template-columns: 1fr;
    }
    .works .work {
        min-height: auto;
    }
}
.tab_btn {
    padding: 17px var(--px30);
}
.tab_btn.active,
.subcategory.active {
    background: var(--hover);
    border-color: var(--hover);
    color: var(--head);
}

/* product_cats */

.products_cats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.products_cat {
    background: var(--bg);
    border-radius: 15px;
    padding: var(--px30);
    position: relative;
    overflow: hidden;
    border: 1px solid transparent;
    box-shadow: 0px 8px 24px 0px rgba(149, 157, 165, 0.14);
}

.archive__holder .products_cat {
    background: var(--bg_sec);
    border: 1px solid var(--bg_stroke);
    box-shadow: none;
}

.products_cat > * {
    position: relative;
    z-index: 2;
}

.products_cat::before {
    bottom: -59px;
    right: -74px;
    position: absolute;
    z-index: 1;
    width: 357px;
    height: 357px;
    display: block;
    content: "";
    background: var(--primary);
    border-radius: var(--brmax);
    filter: blur(27.95px);
    opacity: 0;
    transition: var(--transition);
}

.products_cat_bottom {
    min-height: 233px;
/* 	z-index: 0; */
}

@media (max-width: 400px) {
	.products_cat_bottom{
		min-height: 270px;
	}
}

.products_cat .btn_gradient {
    padding: 20px 30px;
    z-index: 5;
}

.products_cat:hover {
    border: 1px solid var(--bg_stroke);
    box-shadow: 0px 8px 24px 0px rgba(149, 157, 165, 0);
}

.archive__holder .products_cat:hover {
    box-shadow: none;
}

.products_cat:hover .btn_gradient::before {
    opacity: 0;
    transition: var(--transition);
}

.products_cat:hover::before {
    opacity: 1;
    transition: var(--transition);
}

.products_cat_img {
    position: absolute;
    right: -32px;
    bottom: -38px;
    z-index: 0;
}

.products_cat_img img {
    height: 233px;
    width: auto;
    max-width: 266px;
    object-position: bottom right;
    object-fit: contain;
}

@media (max-width: 980px) {
    .products_cats {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 700px) {
    .products_cat_img {
        right: -32px;
        bottom: -28px;
    }
    .products_cat {
        padding: 20px;
    }
}

@media (max-width: 570px) {
    .products_cats {
        grid-template-columns: repeat(1, 1fr);
    }
    .products_cat .btn {
        width: fit-content;
		padding-top: 15px;
		padding-bottom: 15px;
		
    }
}
@media (max-width: 400px) {
    .products_cat .btn {
        width: 100%;
    }
	.products_cat_img{
		bottom: 45px;
	}
}

#open-filter,
#sidebar-close {
    display: none;
}
#open-filter {
    display: none;
    bottom: 43%;
    left: 0px;
    width: fit-content;
    height: 25px;
    padding: 5px 10px;
    transform: rotate(90deg) translateY(38px);
    align-items: center;
    justify-content: center;
    background: var(--primary);
    border-radius: 10px 10px 0px 0px;
    color: var(--head);
    /* font-size: 12px; */
    z-index: 50;
    position: fixed;
}

.product-attributes {
    display: flex;
    flex-direction: column;
    gap: var(--px5);
}

.product-attribute {
    display: flex;
    width: 100%;
    gap: var(--px10);
    justify-content: space-between;
    padding-bottom: 5px;
    border-bottom: 1px solid var(--bg_stroke);
}

.product-attribute-value {
    color: var(--head);
    text-align: right;
}

.tax-product_cat .products {
    display: flex;
    flex-wrap: wrap;
    max-width: 1140px;
    width: 100%;
    gap: var(--px30);
    .product {
        display: block;
        list-style: none;
        width: calc(33.3% - 20px);
        a {
            box-shadow: var(
                --ten-box-shadow,
                0px 8px 24px 0px rgba(149, 157, 165, 0.14)
            );
        }
    }
    .swiper-slide {
        width: 100% !important;
    }
}

.tax-product_cat .products .product:hover {
    .custom-thumbnail-wrapper .swiper-slide-active img {
        scale: 1.1;
    }
    .custom-thumbnail-wrapper {
        background: var(--bg_sec);
    }
    .product_pag .swiper-pagination-bullet {
        background: var(--texts_sec);
    }
    .woocommerce-loop-product__title {
        color: var(--hover);
    }
}
.product-holder {
    width: 100%;
}
.custom-thumbnail-wrapper {
    position: relative;
    width: 100%;
    height: 270px !important;
    border-radius: 15px;
    overflow: hidden;
    .swiper {
        height: 100%;
    }
}

.amount_sale {
    text-decoration: line-through;
}

.woocommerce-Price-amount {
    text-wrap: nowrap;
}

.product_custom_price_discount {
    color: var(--heads);
    background: var(--bgs);
    border-radius: 5px;
    padding: 5px var(--px15);
}
.product_btns {
    display: flex;
    gap: 10px;
    width: 100%;
    .btn {
        width: calc(50% - 5px);
    }
}

.attrs_load_more,
.desc_read_more {
    cursor: pointer;
}
.woocommerce-page .sidebar {
    width: 100%;
    max-width: 360px;
    padding: var(--px20);
    border-radius: 15px;
    background: var(--head);
    height: fit-content;
    position: sticky;
    top: 120px;
    .filter-block-header,
    .filter-block-title {
        color: var(--texts_sec);
        font-family: var(--font2);
        line-height: var(--lh110);
        font-size: var(--fs20);
        font-weight: var(--medium);
        svg path {
            stroke: var(--texts_sec);
        }
    }
    .filter-block-header {
        width: 100%;
        justify-content: space-between;
        cursor: pointer;
    }
}
.woocommerce-pagination {
    display: none;
}
.noUi-horizontal {
    /* height: 2px !important; */
}

.noUi-target {
    height: 2px !important;
    border: none !important;
    background: var(--bgs_stroke) !important;
    box-shadow: none !important;
}

.noUi-connect {
    height: 2px !important;
    background: var(--primary) !important;
}

.noUi-target {
    background: var(--bg_stroke);
}

.noUi-horizontal .noUi-handle {
    height: 8px !important;
    width: 8px !important;
    border-radius: 100% !important;
    box-shadow: none !important;
    top: -3px !important;
    right: -7px !important;
    border: none !important;
    background: var(--primary) !important;
    cursor: pointer;
}

.noUi-horizontal .noUi-handle::before,
.noUi-horizontal .noUi-handle:after {
    display: none !important;
}

.filter-block-content.prices .inputs {
    display: flex;
    gap: var(--px20);
    justify-content: space-between;
    input {
        width: 100%;
        border: 1px solid var(--bgs_stroke);
        background: var(--bgs_sec);
        color: var(--heads);
        height: 34px;
        width: 105px;
        text-align: center;
        border-radius: 5px;
    }
    input:placeholder {
        color: var(--texts);
    }
    input[type="number"]::-webkit-inner-spin-button,
    input[type="number"]::-webkit-outer-spin-button {
        -webkit-appearance: none;
        margin: 0;
    }
}

.filter-block.default-item.opened .filter-block-toggler svg {
    transform: rotate(-180deg);
}

.filter-block.default-item .group .group-label {
    color: var(--texts);
}

.filter-block.default-item .group {
    position: relative;
}

.filter-block.default-item .inputs {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-right: 5px;
    max-height: 194px;
}

.filter-block.default-item .group input {
    position: absolute;
    width: 24px !important;
    height: 24px;
    z-index: 2;
    opacity: 0;
}

.filter-block.default-item .group .group-label {
    display: flex;
    gap: 5px;
    align-items: center;
    cursor: pointer;
}

.filter-block.default-item .group .group-label .indicator {
    display: block;
    width: 24px;
    height: 24px;
    min-width: 24px;
    border-radius: 5px;
    border: 1px solid var(--texts);
    position: relative;
    cursor: pointer;
}

.filter-block.default-item .group .group-label .indicator::before {
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    position: absolute;
    z-index: 0;
    width: 16px;
    height: 16px;
    display: block;
    content: "";
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M13.3337 4L6.00033 11.3333L2.66699 8' stroke='%23191919' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3e%3c/svg%3e ");
    background-repeat: no-repeat;
    background-size: contain;
    opacity: 0;
}

.filter-block.default-item .group input ~ .group-label .indicator {
    transition: var(--transition);
}

.filter-block.default-item .group input:hover ~ .group-label .indicator {
    border: 1px solid var(--primary);
    transition: var(--transition);
}

.filter-block.default-item .group input:checked ~ .group-label .indicator {
    border: 1px solid var(--primary);
    background: var(--primary);
}

.filter-block.default-item
    .group
    input:checked
    ~ .group-label
    .indicator::before {
    opacity: 1;
}

.clear-filters {
    background: none;
    border: none;
    color: var(--heads);
    cursor: pointer;
}

.woo_pag {
    margin-top: var(--px30);
    .pag-btn {
        background: var(--bg);
        border: 1px solid var(--bg_stroke);
    }
    .pag-btn:hover {
        background: var(--hover);
        border-color: var(--hover);
        svg path {
            stroke: var(--head);
        }
    }
    .inactive .pag-btn {
        background: var(--bg_th);
    }
}

@media (max-width: 1250px) {
    .tax-product_cat .products {
        .product {
            width: calc(50% - (var(--px30) / 2));
        }
    }
}
@media (max-width: 900px) {
    .sidebar #open-filter,
    #open-filter {
        display: flex !important;
        left: -18px;
    }
    .woocommerce-page .sidebar {
        min-width: 320px;
        transform: translateX(-320px);
        position: fixed;
        top: 0;
        left: 0;
        transition: 0.5s;
        background: var(--bgs);
        z-index: 12;
        width: 320px;
        overflow: auto;
        height: 100%;
        z-index: 100;
        border-right: 1px solid var(--primary);
        max-height: unset;
        padding-top: 110px;
        border-radius: 0;
    }
    .woocommerce-page .sidebar.open {
        transform: unset;
    }
    .sidebar.open #sidebar-close {
        display: block;
        margin-left: auto;
        width: fit-content;
    }
    #open-filter.no_params {
        display: none !important;
    }
}
@media (max-width: 700px) {
    .product_btns .btn {
        width: 100%;
        padding: 15px 20px;
    }
    .product_btns {
        flex-direction: column;
    }
}
@media (max-width: 650px) {
    .tax-product_cat .products {
        .product {
            width: 100%;
        }
    }
}

/* single product */

.desc-holder-text.text-hidden {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 5;
    line-clamp: 5;
    -webkit-box-orient: vertical;
}
.desc-holder-text.unset {
    overflow: unset;
    display: unset;
    -webkit-line-clamp: unset;
    line-clamp: unset;
    -webkit-box-orient: unset;
}

.single-product .summary {
    display: flex;
    gap: var(--px30);
    .summary-center {
        max-width: 490px;
    }
    .product-gallery {
        max-width: 1010px;
        width: 100%;
        height: fit-content;
        position: sticky;
        top: 120px;
    }
    .controls {
        padding: var(--px20);
        border-radius: 15px;
        background: var(--bgs);
    }
}

.summary_in_top {
    padding: var(--px20);
    border-radius: 15px;
    background: var(--bg_sec);
    border: 1px solid var(--bg_stroke);
}

.product-attributes-holder .product-attribute {
    border-color: var(--texts_sec);
}

.attr-item * {
    color: var(--heads);
}
.attr-item {
    border-bottom: 1px solid var(--bgs_stroke);
    padding-bottom: 5px;
}

.single_preview {
    height: 500px;
    width: 100%;
}

.single_preview {
    border: 1px solid var(--bg_stroke);
}

.single-product .page-title {
    max-width: 900px;
}

.products_img_previews {
    position: relative;
    width: 100%;
    height: 100%;
    height: 650px;
    /* background: var(--head); */
}

.products_img_preview {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    z-index: 10;
    display: flex;
    flex-direction: column;
    justify-content: end;
}

.products_img_preview.hover {
    opacity: 1;
    z-index: 15;
}
.product_imgs {
    border: 1px solid var(--bg_stroke);
    width: fit-content;
    border-radius: 10px;
}
.products_img_item {
    padding: var(--px10) var(--px20);
    position: relative;
    cursor: pointer;
}

.products_img_item:not(:first-child) {
    border-left: 1px solid var(--bg_stroke);
}

.products_img_item.hover {
    color: var(--hover);
    border: 1px solid var(--hover);
    z-index: 2;
    border-radius: 10px;
}

.products_img_item.hover + .products_img_item {
    border-left: none;
}

.single_preview,
.products_img_previews {
    cursor: pointer;
}

.color_img {
    height: 150px;
    width: 100%;
}

.color_product_container_bottom {
    border-top: 1px solid var(--bg_stroke);
}

.color_product_slide {
    border-radius: 15px;
    overflow: hidden;
    box-shadow: var(
        --ten-box-shadow,
        0px 8px 16px 0px rgba(149, 157, 165, 0.14)
    );
}

.color_product_slider {
    padding-bottom: var(--px40) !important;
    max-width: 1570px;
    padding-left: var(--px20) !important;
    padding-right: var(--px20) !important;
}

.color_product_slide {
    height: auto !important;
}

@media (max-width: 1580px) {
    .color_product_slider {
        max-width: 1530px;
        padding-left: var(--px15);
        padding-right: var(--px15);
    }
}

@media (max-width: 1150px) {
    .single-product .summary {
        flex-direction: column;
        .summary-center {
            max-width: none;
        }
        .product-gallery {
            max-width: none;
            position: static;
        }
    }
    .product_imgs {
        border: none;
        flex-wrap: wrap;
        gap: 5px;
    }
    .products_img_item {
        border: 1px solid var(--bg_stroke);
        border-radius: 10px;
    }
}
@media (max-width: 480px) {
    .single_preview,
    .products_img_previews {
        height: 300px;
    }
}

@media (max-width: 375px) {
    .color_product_slider {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .color_products {
        padding-left: var(--px15);
        padding-right: var(--px15);
    }
}

/* error page */

.error_content {
    min-height: 540px;
    max-width: 592px;
}

.bg_404 {
    object-fit: contain;
    object-position: center right;
    position: absolute;
    width: 100%;
    height: 700px;
    top: -90px;
    left: 0;
    z-index: -1;
}

.error-page {
    position: relative;
}

@media (max-width: 1050px) {
    .bg_404 {
        bottom: 0;
        top: inherit;
        height: 400px;
        object-fit: cover;
    }
}
@media (max-width: 550px) {
    .bg_404 {
        height: 240px;
    }
    .error_content {
        min-height: 420px;
    }
}

.single-services .mainbanner_block,
.tax-product_cat .mainbanner_block {
    /* min-height: 910px; */
    padding-bottom: 0;
}

.mainbanner_block {
    padding-bottom: 0;
}

@media (max-width: 700px) {
    .single-services .mainbanner_block,
    .tax-product_cat .mainbanner_block {
        min-height: auto;
    }
}

/* ============= MEDIA QUERIES =========== */

.page-id-15 .page-title {
    text-align: center;
}

.hide {
    display: none !important;
}

.fancybox-infobar,
.fancybox-infobar * {
    color: var(--bg);
    svg path {
        stroke: var(--bg);
    }
}

.site_menu li {
    list-style: none;
}
.grampus-cookie-notice {
    border-top: 1px solid var(--bg_stroke);
}
