@import"font.css";

* {
    margin: 0;
    padding: 0;
    font-family: "Montserrat", Arial, sans-serif;
    font-size: 16px;
    outline: none;
    scrollbar-width: thin;
    text-decoration: none !important;
}

:root {
    --color-1: #516A6E;
    --color-2: #363636;
    --color-3: #db8b9a
}

::-webkit-scrollbar {
    width: 8px;
    height: 8px;
    background: var(--color-2)
}

::-webkit-scrollbar-thumb {
    background: var(--color-1)
}

html {
    scroll-behavior: smooth;
    overflow-x: hidden;
}

body {
    position: relative;
    min-height: 100vh
}

/**
 * Слик
 **/
body .slick-prev,
body .slick-next {
    width: 25px;
    height: 72px;
    z-index: 2;
    box-sizing: content-box;
    transition: .3s ease
}

body .slick-prev {
    left: -20px;
    padding: 0 0 0 0px;
    transform: translateX(-50%) translateY(-50%)
}

body .slick-prev:hover {
    padding: 0 0px 0 0
}

body .slick-next {
    right: -20px;
    padding: 0 0px 0 0;
    transform: translateX(50%) translateY(-50%)
}

body .slick-next:hover {
    padding: 0 0 0 25px
}

body .slick-dots {
    bottom: -46px
}

body .slick-dots li {
    width: 16px;
    height: 16px;
    margin: 0 7px
}

body .slick-dots li button {
    width: 16px;
    height: 16px;
    background-image: url(/wp-content/uploads/2023/12/romb_da.svg);
    border-radius: 50%;
    margin: 0;
    padding: 0;
    transition: .3s ease;
    background-repeat: no-repeat;
    background-position: center;
}

body .slick-dots li button:before {
    content: unset
}

body .slick-dots li.slick-active button {
    background: url(/wp-content/uploads/2023/12/romb_ac.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

/**
 * Кнопки
 **/
.centr-btn {
    text-align: center;
    padding: 50px 0px;
}

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

a.btn.gold {
    color: rgb(255 255 255 / 95%);
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 21px;
    border-radius: 100px;
    border: 1px solid #D1C86A;
    padding: 10px 60px;
    background: #D1C86A;
}

a.btn.gold:hover {
    color: #D1C86A;
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 21px;
    border-radius: 100px;
    border: 1px solid #D1C86A;
    padding: 10px 60px;
    background: #fff;
}

a.btn.transparent {
    color: #516A6E;
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 21px;
    border-radius: 100px;
    border: 1px solid #516A6E;
    padding: 10px 60px;
}

a.btn.transparent:hover {
    color: #fff;
    border: 1px solid #516A6E;
    background: #516A6E;
}

a.btn.green {
    border-radius: 100px;
    background: #516A6E;
    color: #FFF;
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 21px;
    padding: 10px 60px;
}

a.btn.green:hover {
    background: #fff;
    color: #516A6E;
}


/**
 * Волны
 **/
.wave-white-bottom,
.wave-white-top,
.wave-gray-bottom,
.wave-gray-top,
.wave-green-bottom,
.wave-green-top {
    position: relative;
}

.wave-white-top,
.wave-gray-top,
.wave-green-top {
    padding-bottom: 80px;
}

.wave-white-bottom,
.wave-gray-bottom,
.wave-green-bottom {
    padding-top: 80px;
}

.wave-white-bottom::before {}

.wave-white-top::after {
    content: " ";
    position: absolute;
    background-image: url(/wp-content/uploads/2023/12/wave-white-top.svg);
    background-position: center bottom;
    background-repeat: no-repeat;
    width: 100%;
    background-size: contain;
    aspect-ratio: 1920 / 150;
    pointer-events: none;
    bottom: -2px;
}

.wave-gray-bottom::before {
    content: " ";
    background-image: url(/wp-content/uploads/2023/12/wave-gray-bottom.svg);
    background-position: center top;
    background-repeat: no-repeat;
    width: 100%;
    position: absolute;
    top: -1px;
    z-index: 1;
    background-size: contain;
    aspect-ratio: 1920 / 150;
    pointer-events: none;
}

.wave-gray-top::after {
    content: " ";
    background-image: url(/wp-content/uploads/2023/12/wave-gray-top.svg);
    background-position: center bottom;
    background-repeat: no-repeat;
    width: 100%;
    position: absolute;
    z-index: 1;
    background-size: contain;
    aspect-ratio: 1920 / 150;
    pointer-events: none;
    bottom: -2px;
}

.wave-green-bottom::before {
    content: " ";
    background-image: url(/wp-content/uploads/2023/12/wave-green-bottom.svg);
    background-position: center top;
    background-repeat: no-repeat;
    width: 100%;
    position: absolute;
    top: -1px;
    z-index: 1;
    background-size: contain;
    aspect-ratio: 1920 / 150;
    pointer-events: none;
}

.wave-green-top::after {
    content: " ";
    background-image: url(/wp-content/uploads/2023/12/wave-green-top.svg);
    background-position: center bottom;
    background-repeat: no-repeat;
    width: 100%;
    position: absolute;
    bottom: -2px;
    z-index: 1;
    background-size: contain;
    aspect-ratio: 1920 / 150;
    pointer-events: none;
}

/**
 * Фоны
 **/
.bg-grey {
    background: #f1f1f1;
}

.bg-green {
    background: #779C9B;
}

/**
 * Отступы секций
 **/
.pad-b-50 {
    padding-bottom: 50px;
}

.pad-t-50 {
    padding-top: 50px;
}

.pad-b-100 {
    padding-bottom: 100px;
}

.pad-t-100 {
    padding-top: 100px;
}

/**
 * Заголовки блоков
 **/
h2.block_title,
p.block_title {
    color: #516A6E;
    font-size: 30px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-transform: uppercase;
    margin: 50px 0px;
    text-align: center;
}

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




/**
 * Главная страница баннер
 **/
section.main--banner.fullscreen {
    background-image: url(/wp-content/uploads/2023/12/banner.png);
    background-size: cover;
    background-position: bottom;
    height: 100vh;
}

.main--banner .container {
    z-index: 3;
    position: relative;
}

.main--banner.fullscreen h1 {
    color: #FFF;
    text-align: center;
    font-size: 56px;
    font-style: normal;
    font-weight: 600;
    line-height: 60px;
    text-transform: uppercase;
    margin-bottom: 20px;
}


/**
 * Блок с каталогом
 **/
.parent {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    /* grid-template-rows: repeat(5, 1fr); */
    grid-column-gap: 24px;
    grid-row-gap: 24px;
}
/* first row */
.div1 {
    grid-area: 1 / 1 / 2 / 3;
}

.div2 {
    grid-area: 1 / 3 / 2 / 5;
}

.div8 {
    grid-area: 1 / 5 / 2 / 7;
}
.div1, .div2, .div8 {
    width: 100%;
    aspect-ratio: 416 / 320;
}
/* Second row */
.div3 {
    grid-area: 2 / 1 / 3 / 4;
}
.div7 {
    grid-area: 2 / 4 / 3 / 7;
}
.div3, .div7 {
    aspect-ratio: 636 / 520;
}
/* Thrid row */
.div4 {
    grid-area: 3 / 1 / 4 / 3;
}
.div5 {
    grid-area: 3 / 3 / 4 / 5;
}
.div9 {
    grid-area: 3 / 5 / 4 / 7;
}
.div4, .div5, .div9 {
    aspect-ratio: 416 / 320;
}
/* Fouth row */
.div6 {
    grid-area: 4 / 1 / 5 / 4;
}
.div10 {
    grid-area: 4 / 4 / 5 / 7;
}
.div6, .div10 {
    aspect-ratio: 636 / 520;
}
/* Fiveth row */
.div11 {
    grid-area: 5 / 1 / 6 / 3;
}

.div12 {
    grid-area: 5 / 3 / 6 / 5;
}
.div13 {
    grid-area: 5 / 5 / 6 / 7;
}
.div11, .div12, .div13 {
    aspect-ratio: 416 / 320;
}






.div1,
.div2,
.div4,
.div5,
.div6,
.div7,
.div8,
.div9,
.div10,
.div11,
.div12,
.div13 {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    border-radius: 20px;
    min-height: 236px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
    /* padding: 54px; */
}

.div1:hover,
.div2:hover,
.div4:hover,
.div5:hover,
.div6:hover,
.div7:hover,
.div8:hover,
.div9:hover,
.div10:hover,
.div11:hover,
.div12:hover,
.div13:hover {
    box-shadow: 5px 5px 7px 3px #0000001a;
}


.div1 a,
.div2 a,
.div4 a,
.div5 a,
.div6 a,
.div7 a,
.div8 a,
.div9 a,
.div10 a,
.div11 a,
.div12 a,
.div13 a {
    color: #fff;
    text-align: center;
    text-shadow: 0px 0px 4px rgba(0, 0, 0, 0.60);
    font-size: 23px;
    font-style: normal;
    font-weight: 600;
    line-height: 36px;
    text-transform: uppercase;
}

.div1 h3,
.div2 h3,
.div4 h3,
.div5 h3,
.div6 h3,
.div7 h3,
.div8 h3,
.div9 h3,
.div10 h3,
.div11 h3,
.div12 h3,
.div13 h3 {
    text-align: center;
}

.div3 {
    border: 4px solid #779C9B;
    background-image: url(/wp-content/uploads/2023/12/rectangle-9.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 20px;
    min-height: 236px;
    color: #fff;
    text-align: center;
    font-size: 28px;
    font-weight: 600;
    overflow: hidden;
}

.div3 .div__panel {
    background: transparent;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 54px;
    height: 100%;
    transition: .3s ease;
}

.div3:hover .div__panel {
    background: rgba(255, 255, 255, 0.90);
}

.div3 .div__panel p,
.div3 .div__panel ul,
.div3 .div__panel .block-btn {
    max-height: 0;
    opacity: 0;
    margin-bottom: 0;
    pointer-events: none;
    transition: .3s ease;
}

.div3 .div__panel .block-btn {
    margin: 0 auto;
}

.div3:hover .div__panel p,
.div3:hover .div__panel ul,
.div3:hover .div__panel .block-btn {
    max-height: 500px;
    opacity: 1;
    margin-bottom: 0.5em;
    pointer-events: auto;
}

.div3 h3 a {
    font-style: normal;
    font-weight: 600;
    text-transform: uppercase;
    text-align: left;

    color: #fff;
    text-align: center;
    text-shadow: 0px 0px 4px rgba(0, 0, 0, 0.60);
    font-size: 23px;
    font-style: normal;
    font-weight: 600;
    line-height: 36px;
    text-transform: uppercase;
    transition: .3s ease;
}

.div3:hover h3 a {
    color: #779C9B !important;
    text-shadow: 0 0 4px transparent;
}

.div3 h3 {
    text-align: left;
}

.div3 p {
    color: #666;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 28px;
    letter-spacing: -0.304px;
    text-align: left;
}

.div3 ul {
    color: #666;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 28px;
    letter-spacing: -0.304px;
    text-align: left;
}

.div3 li {
    list-style-image: url(/wp-content/uploads/2023/12/romb_green.svg);
    margin: 2px 0;
    padding-left: 10px;
}

.div3 a li {
    color: #666;
}


/**
 * Баннер на всех страницах
 **/
.main--banner h1 {
    color: #FFF;
    text-align: center;
    font-size: 56px;
    font-style: normal;
    font-weight: 600;
    line-height: 60px;
    text-transform: uppercase;
    margin-top: 10%;
}

.under-title-main p {
    color: #FFF;
    text-align: center;
    font-size: 28px;
    font-style: normal;
    font-weight: 400;
    line-height: 46px;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.top-description p {
    color: #FFF;
    text-align: center;
    font-size: 24px;
    font-style: normal;
    font-weight: 600;
    margin-bottom: 15px;
}


/**
 * Блок с преимуществами
 **/
.advant-item p.number {
    color: #FFF;
    text-align: center;
    font-size: 46px;
    font-style: normal;
    font-weight: 700;
    line-height: 46px;
    text-transform: uppercase;
}

.advant-item p.description {
    color: #FFF;
    text-align: center;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 20px;
    margin: 0px;
}

/**
 * Техники витражей
 **/
.tache {
    background-image: url(/wp-content/uploads/2023/12/bg_tech.jpg);
    background-size: cover;
    background-repeat: no-repeat;
}

.we--worked__slider {
    margin-bottom: 90px !important;
}

.we--worked {
    margin: 100px 0 150px;
    background: url("../img/images/hexahon__grey.png") no-repeat bottom left -240px
}

.we--worked__grid {
    /* margin: 0 12px; */
    text-align: center;
    position: relative;
}

.we--worked__item:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .5);
    transition: .3s ease;
    opacity: 0
}

.we--worked__item img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: unset;
    aspect-ratio: 416/303;
    border-radius: 10px;
    margin-bottom: 12px;
}

.we--worked__item_name {
    color: #666;
    font-size: 22px;
    font-style: normal;
    font-weight: 500;
}

a.we--worked__item {
    text-decoration: none;
}

.tache .we--worked__grid {
    margin-bottom: 40px;
}

/**
 * Почему выбирают нас
 **/
.why-us-grid {
    margin-bottom: 60px;
    display: flex;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    flex-wrap: wrap;
    /* height: 620px; */
    align-content: space-around;
    justify-content: space-evenly;
    gap: 24px;
}

.why-us-grid-left {
    padding: 0px 12px;
}

.why-us-grid-right {
    padding: 60px 12px 0px 12px;
}

.why-us-item {
    display: flex;
    align-content: flex-start;
    /* justify-content: space-around; */
    align-items: flex-start;
    flex-wrap: nowrap;
    /* margin-bottom: 24px; */
    width: calc(50% - 12px);
}

.why-us-item:hover {
    border: 2px solid transparent;
}

.why-us-item:nth-child(2n) {
    transform: translateY(60px);
}

.why-us-numb {
    margin-right: 40px;
}

.why-us-numb span {
    color: #D9D9D9;
    font-size: 100px;
    font-style: normal;
    font-weight: 600;
    line-height: 100px;
}

.why-us-item {
    border-radius: 10px;
    border: 2px solid #779C9B;
    background: linear-gradient(0deg, #FFF 0%, rgb(255 255 255 / 73%) 100%), url(/wp-content/uploads/2023/12/998c0d6….png);
    background-size: cover;
    padding: 20px;
}

.why-us-item:hover {
    box-shadow: 5px 5px 7px 3px #0000001a;
}

p.why-us-title {
    color: #779C9B;
    font-size: 23px;
    font-style: normal;
    font-weight: 600;
}

p.why-us-text {
    color: #11141A;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
}

/* .why-us-item:nth-child(4) {
    margin-top: 60px;
} */

/**
 * CTA
 **/
.cta h3 {
    color: #FFF;
    font-size: 50px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    text-transform: uppercase;
    padding-top: 60px;
}

p.cta-descr {
    color: #FFF;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 26px;
}

.cta form.wpcf7-form {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-column-gap: 24px;
    grid-row-gap: 24px;
}

.cta form.wpcf7-form input:not([type='submit']) {
    width: 100%;
}

.cta form.wpcf7-form textarea {
    width: 100%;
}

.nameclass,
.phoneclass {
    border-radius: 10px;
    border: 1px solid #D9D9D9;
    background: #FFF;
    padding: 16px 16px 16px 50px;
    margin-bottom: 20px;
}

.massclass {
    border-radius: 10px;
    border: 1px solid #D9D9D9;
    background: #FFF;
    padding: 16px 16px 16px 16px;
    height: 140px;
}

.cta form p {
    padding: 0px;
    margin: 0px;
}

input.wpcf7-form-control.wpcf7-submit {
    border-radius: 100px;
    background: #D1C86A;
    border-color: transparent;
    padding: 16px 38px;
    color: #FFF;
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 21px;
}

input.wpcf7-form-control.wpcf7-submit:hover {
    background: #fff;
    border-color: transparent;
    color: #D1C86A;
}

.cta img {
    max-width: 100%;
}

/**
 * Блок с картинками и текстом
 **/
.double-i-t h3 {
    position: relative;
    color: #161925;
    font-size: 30px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-transform: uppercase;
    padding-bottom: 12px;
    margin-bottom: 30px;
}

.double-i-t h3:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    height: 2px;
    width: 100%;
    max-width: 195px;
    background: #779C9B;
}

.double-i-t h3.centr-text,
.double-i-t .teh-steps h3 {
    padding-bottom: 12px;
    margin-bottom: 40px;
}

.double-i-t h3.centr-text:after,
.double-i-t .teh-steps h3:after {
    left: 50%;
    transform: translateX(-50%);
}

.double-i-t p {
    color: #11141A;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
}

.double-i-t .row {
    margin: 60px 0px;
}

.image_border {
    position: relative;
    width: 100%;
    padding-bottom: 33px;
}

.image-double img {
    display: block;
    width: calc(100% - 32px);
    border-radius: 20px;
    height: unset;
    aspect-ratio: 602 / 390;
    object-fit: cover;
    object-position: center;
    margin-left: auto;
}


.image_border:after {
    content: '';
    position: absolute;
    display: block;
    left: 0;
    bottom: 0;
    width: calc(100% / 6 * 5);
    border-left: 1px solid #779C9B;
    border-bottom: 1px solid #779C9B;
    aspect-ratio: 526 / 316;
    border-radius: 0 10px;
}

.image-double {
    position: relative;
}

.text-double {
    position: relative;
    /* max-width: 600px; */
    width: 100%;
    padding: 20px;
    margin: 20px 0px;
    /* border-image: linear-gradient(90deg, #347D7A 0%, #fff 75%) 30;
    border-width: 1px;
    border-style: solid; */
    background: #fff;
    border-radius: 10px;
}

.text-double:after {
    content: '';
    position: absolute;
    background: linear-gradient(90deg, #347D7A 0%, #fff 75%);
    inset: -1px;
    z-index: -1;
    border-radius: 10px;
}

.double-i-t .block-btn.left-btn {
    margin-top: 50px;
}


/**
 * Блок наше производство
 **/
.parent-proizvodstvo {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-column-gap: 24px;
    grid-row-gap: 24px;
}

.div-proizvodstvo:nth-child(1) {
    grid-area: 1 / 1 / 3 / 3;
}

.div-proizvodstvo:nth-child(1) img {
    aspect-ratio: 636 / 496;
}

.div-proizvodstvo:nth-child(1)~.div-proizvodstvo img {
    aspect-ratio: 306 / 236;
	object-fit: cover;
}

.div-proizvodstvo:nth-child(2) {
    grid-area: 1 / 3 / 2 / 4;
}

.div-proizvodstvo:nth-child(3) {
    grid-area: 1 / 4 / 2 / 5;
}

.div-proizvodstvo:nth-child(4) {
    grid-area: 2 / 3 / 3 / 4;
}

.div-proizvodstvo:nth-child(5) {
    grid-area: 2 / 4 / 3 / 5;
}

.parent-proizvodstvo img {
    width: 100%;
    border-radius: 10px;
}

/**
 * Подвал
 **/
.footer {
    padding: 20px 0px 0px 0px;
}

.footer .logo {
    display: block;
    margin-bottom: 28px;
    width: fit-content;
    aspect-ratio: 163 / 41;
    object-fit: contain;
    object-position: center;
}

.footer-menu h3 {
    color: #FFF;
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 24px;
    text-transform: uppercase;
}

.footer-menu-1 .header__nav a {
    color: rgba(255, 255, 255, 0.95) !important;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 13px;
    text-decoration: none;
}

.footer-menu-1 li,
.footer-menu-2 li,
.footer-menu-3 li {
    padding: 5px;
}

.footer-menu-1 a,
.footer-menu-2 a,
.footer-menu-3 a {
    position: relative;
    display: block;
    padding: 0 24px 0 0;
    transition: .3s ease;
}

.footer-menu-1 a:hover,
.footer-menu-2 a:hover,
.footer-menu-3 a:hover {
    padding: 0 0 0 24px;
}

.footer-menu-1 a:before,
.footer-menu-2 a:before,
.footer-menu-3 a:before {
    content: '';
    position: absolute;
    display: block;
    background: url("../img/icons/hover__white.svg") no-repeat center center / contain;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 14px;
    aspect-ratio: 14 / 10;
    opacity: 0;
    transition: .3s ease;
}

.footer-menu-1 a:hover:before,
.footer-menu-2 a:hover:before,
.footer-menu-3 a:hover:before {
    opacity: 1;
}

.footer-menu ul {
    padding: 0px;
    display: block;
}

.footer-menu-1 li {
    list-style: none;
    min-width: 200px;
    padding: 5px;
}

.footer-menu-2 a,
.footer-menu-3 a {
    color: rgba(255, 255, 255, 0.95);
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 13px;
    text-decoration: none;
}

.footer-menu li {
    list-style: none;
    min-width: 200px;
}

.footer-menu ul {
    padding: 0px;
}

.footer-menu {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    align-content: flex-start;
}

.footer-menu-2 ul {
    height: 200px;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-content: space-between;
    align-items: flex-start;
    /* justify-content: space-evenly; */
    justify-content: flex-start
}

.phone-footer a {
    color: #FFF;
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px;
    text-decoration: none;
}

.footer__bottom a {
    color: #FFF;
    font-size: 14px;
    font-style: normal;
    font-weight: 300;
    line-height: 14px;
    text-decoration: none;
}

.footer__bottom span {
    color: #FFF;
    font-size: 14px;
    font-style: normal;
    font-weight: 300;
    line-height: 24px;
}

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

.footer_copy span {
    display: block;
    margin: 0 auto;
    width: fit-content;
}

.adres-footer {
    display: grid;
    grid-template-columns: 15px 1fr;
    align-items: center;
    gap: 10px;
}

.adres-footer:before {
    content: '';
    width: 15px;
    aspect-ratio: 15 / 20;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="17" height="22" viewBox="0 0 17 22" fill="none"><path d="M1.47794 5.86607C2.5545 3.022 5.30049 1 8.52039 1C12.677 1 16.0465 4.37056 16.0465 8.52679C16.0465 11.8636 11.1949 18.2478 9.28213 20.6348C9.19053 20.7488 9.07453 20.8408 8.94267 20.904C8.8108 20.9672 8.66644 21 8.52022 21C8.37399 21 8.22963 20.9672 8.09777 20.904C7.96591 20.8408 7.8499 20.7488 7.7583 20.6348C5.88428 18.2964 1.18976 12.1215 1 8.73374" stroke="%23D1AE6F" stroke-miterlimit="10" stroke-linecap="round"/><path d="M5.06934 8.52413C5.07538 7.615 5.44096 6.7452 6.08623 6.10474" stroke="%23D1AE6F" stroke-miterlimit="10" stroke-linecap="round"/><path d="M7.25733 5.33792C7.88375 5.09175 8.56846 5.03406 9.22723 5.17196C9.88601 5.30986 10.4901 5.63732 10.9652 6.11406C11.4403 6.5908 11.7657 7.19602 11.9013 7.85526C12.0369 8.51451 11.9768 9.19902 11.7285 9.82458C11.4802 10.4501 11.0544 10.9895 10.5035 11.3762C9.95269 11.7629 9.30081 11.9802 8.62809 12.0013C7.95537 12.0224 7.29116 11.8463 6.71718 11.4949C6.1432 11.1434 5.68448 10.6318 5.39746 10.023" stroke="%23D1AE6F" stroke-miterlimit="10" stroke-linecap="round"/></svg>') no-repeat center center / contain;
}

.adres-footer span {
    color: #FFF;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 14px;
}

.footer__bottom {
    padding: 40px 0px;
}

.social-footer {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 15px;
    margin: 26px 0 36px;
}

/**
 * Соц сети плавающая
 **/
.social__fixed {
    position: fixed;
    bottom: 75px;
    right: 75px;
    z-index: 10
}

.social__fixed a {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 13px 0 10px;
    gap: 10px;
    text-decoration: none;
    border-bottom: 1px solid var(--color-1);
    margin-bottom: 7px
}

.social__fixed a span {
    color: var(--color-2);
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-align: center
}

.social__fixed_list {
    position: absolute;
    bottom: 200%;
    left: 50%;
    display: grid;
    width: 90px;
    border-radius: 10px;
    justify-content: center;
    padding-bottom: 10px;
    transform: translateX(-50%) translateY(100px);
    transition: .3s ease;
    pointer-events: none;
    opacity: 0
}

.social__fixed_socs {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 12px 10px;
    padding: 0 6px;
}

.social__fixed_socs span {
    display: block;
    width: 100%;
    color: var(--color-2);
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    text-align: center;
    margin: 13px 0 0;
    grid-column: 1/3
}

.social__fixed_socs a {
    margin-bottom: 0;
    padding-bottom: 0;
    border: none
}

.social__fixed_socs a img {
    -o-object-fit: contain;
    object-fit: contain
}

.social__toggle {
    position: relative;
    box-shadow: 0 0 0 0 rgb(120 156 155 / 20%), 0 0 0px 15px rgb(120 156 155 / 20%), 0 0 0px 30px rgb(120 156 155 / 10%);
    border-radius: 50%;
    animation: socanim .6s linear infinite;
    cursor: pointer;
    transition: .3s ease;
}

@keyframes socanim {
    0% {
        box-shadow: 0 0 0 0 rgb(120 156 155 / 20%), 0 0 0px 15px 0 0 0 0 rgb(120 156 155 / 20%), 0 0 0px 30px rgb(120 156 155 / 10%)
    }

    100% {
        box-shadow: 0 0 0 15px rgb(120 156 155 / 20%), 0 0 0px 30px rgb(120 156 155 / 10%), 0 0 0px 45px rgba(207, 0, 0, 0)
    }
}

.social__fixed.active .social__fixed_list {
    opacity: 1;
    transform: translateX(-50%);
    pointer-events: auto
}

.social__fixed.active .social__toggle {
    /* animation-duration: 2s */
}

/**
 * Шапка
 **/
.header {
    position: relative;
    z-index: 10;
}

.header__top {
    padding: 10px 0;
    background: #fff;
}

.header .container {
    position: relative
}

.header__nav {
    display: flex;
    align-items: center;
    padding-left: 0;
    gap: 10px;
    list-style: none;
    margin: 0;
}

.header__nav a {
    display: block;
    text-decoration: none;
    color: rgba(17, 20, 26, 0.95);
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 13px;
}

.header__nav li.current-menu-item a,
.header__nav a:hover {
    color: #779C9B;
}

.header__contacts li {
    padding-right: 20px;
}

.header__contacts img {
    margin-right: 10px;
}

.header__contacts {
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
    /* margin-right: 20px; */
    display: flex;
    justify-content: space-between;
    align-items: center;
    align-content: center;
    flex-wrap: nowrap;
    flex-direction: row;
}

.header__contacts a {
    display: block;
    text-decoration: none;
    color: #779C9B;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px;
}

.header__contacts a:hover {
    color: var(--color-3)
}

.header__catalog {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    box-shadow: 0 3px 3px 1px rgba(0, 0, 0, .0666666667);
    padding: 60px 0;
    background: #fff;
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 0%, 0% 0%);
    clip-path: polygon(0% 0%, 100% 0%, 100% 0%, 0% 0%);
    transition: .3s ease;
    z-index: 1
}

/**
 * Модалка
 **/
.modalwindow {
    position: fixed;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 100;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #ffffffa8;
    transition: .3s ease;
    opacity: 0;
    pointer-events: none
}

.modalwindow.active {
    opacity: 1;
    pointer-events: auto
}

.modalwindow__panel {
    position: relative;
    width: 95%;
    max-width: 636px;
    max-height: 90vh;
    background: #F1F1F1;
    padding: 23px 20px 22px;
    border-radius: 10px;
    overflow: auto;
}

.modalwindow__close {
    position: absolute;
    display: block;
    top: 0;
    right: 0;
    padding: 17px 24px 17px 10px;
    height: 16px;
    width: 16px;
    border-radius: 10px;
    cursor: pointer;
    z-index: 1;
    box-sizing: content-box;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none"><path d="M0.999146 1L16.5555 16.5563" stroke="%23779C9B" stroke-linecap="square"/><path d="M16.9991 1L1.4428 16.5563" stroke="%23779C9B" stroke-linecap="square"/></svg>') no-repeat center center, #F1F1F1;
}

.modalwindow__panel--wrapper {
    display: block;
    padding: 53px 65px 30px;
    border-radius: 10px;
    border: 1px solid #779C9B;
}

.modalwindow__title {
    color: #779C9B;
    text-align: center;
    font-size: 30px;
    font-style: normal;
    font-weight: 600;
    letter-spacing: 1.56px;
    line-height: 1.26em;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.modalwindow__subtitle {
    display: block;
    text-align: center;
    color: rgba(17, 20, 26, 0.95);
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.44em;
    margin-bottom: 20px;
}

.modalwindow__subtitle b {
    color: #779C9B;
    font-weight: 700;
    text-transform: uppercase;
}

.modalwindow__panel form p {
    display: grid;
    gap: 10px;
    margin-bottom: 0;
}

.modalwindow__panel input:not([type='submit']):not([type='checkbox']),
.modalwindow__panel select {
    display: block;
    width: 100%;
    height: 52px;
    border-radius: 100px;
    border: 1px solid #D9D9D9;
    background: #FFF;
    padding-left: 20px;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.modalwindow__panel input:not([type='submit']):not([type='checkbox']).your-name {
    padding-left: 47px;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none"><g clip-path="url(%23clip0_21_296)"><rect x="-0.00012207" width="16" height="16" rx="8" fill="white"/><path d="M7.83988 0.160156C3.51028 0.160156 -0.00012207 3.67056 -0.00012207 8.00016C-0.00012207 12.3298 3.51028 15.8402 7.83988 15.8402C12.1695 15.8402 15.6799 12.3298 15.6799 8.00016C15.6799 3.67056 12.1695 0.160156 7.83988 0.160156ZM7.83988 15.1282C6.16308 15.1282 4.62388 14.5458 3.40628 13.5762C3.89108 12.941 4.85908 12.2498 5.71188 11.9714C6.22708 11.8034 6.52468 11.5506 6.59668 11.2194C6.68948 10.8018 6.37108 10.4914 6.33428 10.4578C6.24148 10.373 6.10708 10.3426 5.98708 10.3794C5.95988 10.3874 5.37748 10.549 4.42068 10.117C4.70868 9.61776 4.95668 8.59536 4.95668 6.55376C4.95668 3.28336 6.41108 3.01296 8.03028 3.01296C9.15828 3.01296 10.6591 3.39856 10.6591 6.73296C10.6591 8.62896 10.9567 9.57456 11.2527 10.0466C10.8495 10.2002 10.2063 10.3794 9.50868 10.3202C9.35348 10.3042 9.21428 10.3922 9.15188 10.5314C9.01748 10.8354 9.00788 11.5218 9.93428 11.9346C10.6543 12.2562 11.5359 12.741 12.2319 13.605C11.0207 14.557 9.49748 15.1282 7.83988 15.1282ZM12.7711 13.1378C11.9887 12.1714 11.0175 11.637 10.2239 11.2834C10.0479 11.205 9.93588 11.1202 9.87028 11.0418C11.0607 11.0194 11.9935 10.4946 12.0367 10.4706C12.1599 10.4002 12.2287 10.2642 12.2143 10.1234C12.1999 9.99536 12.1183 9.88336 11.9999 9.83376C11.9487 9.79696 11.3711 9.32816 11.3711 6.73136C11.3711 3.79056 10.2479 2.29936 8.03028 2.29936C6.15828 2.29936 4.24468 2.80496 4.24468 6.55376C4.24468 9.27536 3.79028 9.80016 3.71988 9.86416C3.59988 9.89936 3.50548 9.99696 3.47508 10.1234C3.43828 10.277 3.50708 10.4354 3.64148 10.5154C4.64468 11.0978 5.43188 11.149 5.85588 11.117C5.80468 11.1602 5.70068 11.2258 5.49268 11.2946C4.51028 11.6162 3.46068 12.3634 2.87508 13.109C1.54388 11.8146 0.715078 10.0066 0.715078 8.00336C0.711878 4.06416 3.90388 0.872156 7.83988 0.872156C11.7759 0.872156 14.9679 4.06416 14.9679 8.00016C14.9679 10.021 14.1215 11.8418 12.7711 13.1378Z" fill="%23779C9B"/></g><defs><clipPath id="clip0_21_296"><rect x="-0.00012207" width="16" height="16" rx="8" fill="white"/></clipPath></defs></svg>') no-repeat center left 20px, #fff;
}

.modalwindow__panel input:not([type='submit']):not([type='checkbox']).your-phone {
    padding-left: 47px;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="19" viewBox="0 0 10 19" fill="none"><path d="M0.735776 0.259411C0.395866 0.376451 0.118087 0.665062 0.0304966 0.997562C0.00484655 1.08534 -0.00237372 4.12591 0.00123628 9.58575L0.0122564 18.0425L0.0962363 18.196C0.224106 18.4371 0.385036 18.598 0.607906 18.7076L0.816146 18.8101H4.562H8.30785L8.51609 18.7076C8.73896 18.598 8.89989 18.4373 9.02776 18.196L9.11174 18.0425V9.50918V0.975712L9.00211 0.778301C8.86683 0.537191 8.66581 0.358023 8.41007 0.263023C8.21665 0.190062 8.13248 0.190062 4.56941 0.190062C1.16689 0.193672 0.914756 0.197281 0.735776 0.259411ZM8.61869 9.50918V16.3433H4.56219H0.505686V9.50918V2.67507H4.56219H8.61869V9.50918ZM4.89089 16.9353C5.10654 17.085 5.16506 17.1985 5.16506 17.4726C5.16506 17.6847 5.15043 17.7394 5.06645 17.849C4.92756 18.0318 4.74478 18.1086 4.50367 18.0901C3.90441 18.039 3.72163 17.2788 4.2295 16.9389C4.40126 16.8219 4.72274 16.8219 4.89089 16.9353Z" fill="%23779C9B"/></svg>') no-repeat center left 20px, #fff;
}

.modalwindow__panel input[type="date"]::-webkit-calendar-picker-indicator {
    position: absolute;
    top: 0;
    left: 0%;
    right: 0;
    width: 100%;
    height: 100%;
    border-radius: 100px;
    background: transparent;
}

.modalwindow__panel input[type="date"] {
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="25" height="24" viewBox="0 0 25 24" fill="none"><path d="M20.0004 3.75H5.00037C4.58616 3.75 4.25037 4.08579 4.25037 4.5V19.5C4.25037 19.9142 4.58616 20.25 5.00037 20.25H20.0004C20.4146 20.25 20.7504 19.9142 20.7504 19.5V4.5C20.7504 4.08579 20.4146 3.75 20.0004 3.75Z" stroke="%23779C9B" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M17.0004 2.25V5.25" stroke="%23779C9B" stroke-width="1.5" stroke-linecap="square" stroke-linejoin="round"/><path d="M8.00037 2.25V5.25" stroke="%23779C9B" stroke-width="1.5" stroke-linecap="square" stroke-linejoin="round"/><path d="M4.25037 8.25H20.7504" stroke="%23779C9B" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat center right 15px, #fff !important;
}

.modalwindow__panel label {
    display: grid;
    grid-template-columns: 20px 1fr;
    gap: 6px;
    align-items: center;
    margin: 40px auto 30px;
    width: fit-content;
}

.modalwindow__panel label input {
    width: 20px;
    height: 20px;
    display: block;
    appearance: none;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none"><path d="M13.4379 8.125L8.85451 12.5L6.56287 10.3125" stroke="%233d3d3d" stroke-width="1.5" stroke-linecap="square" stroke-linejoin="round"/><path d="M10.0004 17.5C14.1425 17.5 17.5004 14.1421 17.5004 10C17.5004 5.85786 14.1425 2.5 10.0004 2.5C5.85823 2.5 2.50037 5.85786 2.50037 10C2.50037 14.1421 5.85823 17.5 10.0004 17.5Z" stroke="%233d3d3d" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat center center / contain;
}

.modalwindow__panel label input:checked {
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none"><path d="M13.4379 8.125L8.85451 12.5L6.56287 10.3125" stroke="%236C7678" stroke-width="1.5" stroke-linecap="square" stroke-linejoin="round"/><path d="M10.0004 17.5C14.1425 17.5 17.5004 14.1421 17.5004 10C17.5004 5.85786 14.1425 2.5 10.0004 2.5C5.85823 2.5 2.50037 5.85786 2.50037 10C2.50037 14.1421 5.85823 17.5 10.0004 17.5Z" stroke="%236C7678" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat center center / contain;
}

.modalwindow__panel input[type='submit'] {
    width: 100%;
    max-width: 220px;
    background: #779C9B;
    color: #fff;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.31em;
    text-align: center;
    padding: 15px 0;
    margin: 0 auto;
}

select {
    appearance: none;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="6" viewBox="0 0 18 6" fill="none"><path d="M9 6L18 0L9 3.72L0 2.14648e-07L9 6Z" fill="%23779C9B"/></svg>') no-repeat center right 16px, #fff !important;
}

body .wpcf7-list-item {
    display: unset;
    margin: 0;
}

body .wpcf7-spinner {
    display: none;
}

/**
 * Шапка страницы
 **/
.main--banner {
    background-size: cover;
    background-position: bottom;
}

/**
 * Хлебные крошки
 **/
.breadcrumbs {
    position: absolute;
    max-width: 95%;
    left: 5%;
    top: 20px;
    padding-left: 0;
    margin-bottom: -55px;
    list-style: none;
    display: flex;
    z-index: 1;
}

.breadcrumbs li:not(:last-child):after {
    content: "/";
    color: #fff;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 2.16em;
    text-decoration: none;
    margin: 0 .5em
}

.breadcrumbs li:last-child a {
    color: #fff;
    font-weight: 600;

}

.breadcrumbs a {
    color: #fff;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 2.16em;
    text-decoration: none
}

.breadcrumbs a:hover {
    color: var(--color-1)
}

/**
 * Техника витражей
 **/
.teh-step img {
    width: 100%;
    height: auto;
    padding-bottom: 20px;
}

p.teh-step__item_name {
    color: #666;
    text-align: center;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 22px;
}

.teh-steps h3 {
    padding: 50px 0px;
    text-align: center;
}

.text-double.teh-descr {
    max-width: 100%;
    margin: 0px;
}

/**
 * Техники витражей
 **/
.page .we--worked__grid.col-6.col-lg-3 {
    margin: 0 0px;
}

.page .we--worked__grid.col-6.col-lg-3 {
    margin: 0 0px;
    padding-bottom: 50px;
}

/**
 * Таблица цен
 **/
.divTable .divTableCell,
.divTable .divTableHead {}

.divTable .divTableHeading {}

.divTable .divTableHeading .divTableHead {}

/* HTMLtable.com */
.divTable {
    display: table;
    width: 100%;
}

.divTable .divTableHeading .divTableHead:nth-child(2) {
    color: #779C9B;
    text-align: center;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 18px;
    text-transform: uppercase;
    border-image: linear-gradient(180deg, #347D7A 0%, #fff 75%) 20;
    border-width: 2px;
    border-style: solid;
    padding-top: 20px;
    padding-bottom: 20px;
    width: 40%;
}

.divTable .divTableHeading .divTableHead {
    color: #161925;
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 18px;
    padding-top: 20px;
    padding-bottom: 20px;
}

.divTableBody .divTableRow {
    border-radius: 5px 0px 0px 5px;
    border: 1px solid #779C9B;
    background: linear-gradient(to right, rgba(119, 156, 155, 0.20), rgba(119, 156, 155, 0.00));
}

.cell_price {
    color: #779C9B;
    text-align: center;
    font-size: 22px;
    font-style: normal;
    font-weight: 600;
    line-height: 18px;
}

.table_btn_block {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    align-items: center;
    justify-content: space-around;
}

.divTableBody .divTableCell {
    position: relative;
    color: #161925;
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 18px;
    border-radius: 10px 0px 0px 10px;
}

.divTableBody .divTableCell:first-child:after {
    content: '';
    position: absolute;
    height: 88%;
    width: 1px;
    top: 50%;
    background: #D9D9D9;
    right: 0;
    transform: translateY(-50%);
}

.divTableBody .divTableCell:nth-child(2) {
    border-radius: 0px 10px 10px 0px;
}

.divTableRow {
    display: table-row;
}

.divTableHeading {
    display: table-header-group;
}

.divTableCell,
.divTableHead {
    display: table-cell;
}

.divTableHeading {
    display: table-header-group;
}

.divTableFoot {
    display: table-footer-group;
}

.divTableBody {
    display: table-row-group;
}

.portfolio--wrapper {
    margin: 46px 0 100px;
}

.portfolio--wrapper__category {
    list-style: none;
    display: flex;
    gap: 40px;
    align-items: center;
    padding-left: 0;
    margin-bottom: 34px;
}

.portfolio--wrapper__category a {
    position: relative;
    color: #161925;
    font-size: 20px;
    font-style: normal;
    width: fit-content;
    font-weight: 400;
    line-height: 1.05em;
}

.portfolio--wrapper__category a.active,
.portfolio--wrapper__category a:hover {
    color: #779C9B;
    font-weight: 600;
}

.portfolio--wrapper__category a.active:before,
.portfolio--wrapper__category a:hover:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 1px;
    background: #779C9B;
    bottom: 2px;
}

.portfolio--wrapper__subcategory {
    list-style: none;
    display: flex;
    gap: 40px;
    padding-left: 0;
    margin-bottom: 50px;
}

.portfolio--wrapper__subcategory a {
    position: relative;
    color: #000;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.16em;
}

.portfolio--wrapper__subcategory a.active,
.portfolio--wrapper__subcategory a:hover {
    color: #779C9B;
    font-weight: 600;
}

.portfolio--wrapper__subcategory a.active:before,
.portfolio--wrapper__subcategory a:hover:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 1px;
    background: #779C9B;
    bottom: 2px;
}

.portfolio--wrapper__grid {
    /* display: grid; */
    display: none;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.portfolio--wrapper__grid.active {
    display: grid;
}

.portfolio--wrapper__grid:not(:last-child) {
    margin-bottom: 24px;
}

.portfolio--wrapper__item {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 636 / 496;
    border-radius: 10px;
    overflow: hidden;
    box-sizing: border-box;
}

.portfolio--wrapper__item:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9;
    pointer-events: none;
    border: 2px solid #779C9B;
    border-radius: 10px;
    opacity: 0;
    transition: .3s ease;
}

.portfolio--wrapper__item:hover:after {
    opacity: 1;
}

.portfolio--wrapper__item_thumb {
    position: absolute;
    display: block;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.portfolio--wrapper__item_caption {
    position: absolute;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    z-index: 1;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: center;
    color: #fff;
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: 1.16em;
    padding: 0 20px 20px;
    transition: .3s ease;
    height: 100%;
    opacity: 0;
    background: linear-gradient(to top, #779C9B 0%, #0000 34%);
    transition: .3s ease;
}

.portfolio--wrapper__item:hover .portfolio--wrapper__item_caption {
    opacity: 1;
}

.portfolio--wrapper__item.item__1 {
    grid-column: 1 / 3;
    grid-row: 1 / 3
}

.portfolio--wrapper__item.item__10 {
    grid-column: 3 / 5;
    grid-row: 3 / 5;
}

.portfolio--wrapper__item.item__2,
.portfolio--wrapper__item.item__3,
.portfolio--wrapper__item.item__4,
.portfolio--wrapper__item.item__5,
.portfolio--wrapper__item.item__6,
.portfolio--wrapper__item.item__7,
.portfolio--wrapper__item.item__8,
.portfolio--wrapper__item.item__9 {
    aspect-ratio: 636 / 491;
}

.price--politic {
    margin: 100px 0 0;
    padding-bottom: 197px;
}

.price--politic__title {
    position: relative;
    color: #161925;
    font-size: 30px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-transform: uppercase;
    padding-bottom: 12px;
    margin-bottom: 30px;
}

.price--politic__title:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 195px;
    height: 2px;
    background: #779C9B;
}

.price--politic__text {
    padding: 1px;
    background: linear-gradient(to right, #779C9B, #fff);
    border-radius: 10px;
}

.price--politic__text span {
    position: relative;
    display: block;
    padding: 16px 86px 16px 40px;
    color: #161925;
    background: #fff;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.375em;
    border-radius: 10px;
}

.contact {
    padding: 40px 0 145px;
}

.contact h2 {
    color: #161925;
    text-align: center;
    font-size: 32px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-transform: uppercase;
    margin-bottom: 95px;
}

.contact-item {
    display: grid;
    grid-template-columns: 60px 1fr;
    gap: 24px;
    background: #FFF;
    box-shadow: 0px 0px 16px 0px #504f4f1a;
    padding: 28px 45px 33px 25px;
    height: 100%;
}

.contact-item h3 {
    color: #212529;
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 1.2em;
    margin-bottom: 10px;
}

.contact-item p,
.contact-item a {
    display: block;
    width: fit-content;
    color: #666;
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.46em;
}

.contact-image {
    width: 60px;
    height: 60px;
    object-fit: contain;
    object-position: center;
}

.contact__map {
    height: 100%;
}

.contact__text p {
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.22em;
    margin-bottom: 0;
}

.contact__text p:not(:last-child) {
    margin-bottom: 1em;
}

.contact__text p b {
    font: inherit;
    font-weight: 600;
}

.slick-initialized .slick-slide {
    margin: 0 12px;
}

@media (max-width: 1399px) {
    .header__contacts {
        display: none;
    }
}

@media (max-width: 1199px) {
    .portfolio--wrapper__subcategory a {
        font-size: 14px;
    }

    .portfolio--wrapper__subcategory {
        gap: 30px;
    }

    .portfolio--wrapper__subcategory {
        margin-bottom: 34px;
    }

    .parent {
        grid-template-rows: unset;
        grid-template-columns: repeat(2, 1fr);
    }

    .div1,
    .div2,
    .div3,
    .div4,
    .div5,
    .div6,
    .div7,
    .div8,
    .div9,
    .div10,
    .div11,
    .div12,
    .div13 {
        grid-area: unset;
    }
    .div3 {
        aspect-ratio: 466 / 571;
    }
    .div1,
    .div2,
    .div4,
    .div5,
    .div6,
    .div7,
    .div8,
    .div9,
    .div10,
    .div11,
    .div12,
    .div13 {
        aspect-ratio: unset;
    }

    .why-us-grid {
        grid-template-columns: 1fr;
        margin-bottom: 0;
    }

    .why-us-item:nth-child(2n) {
        transform: translateY(0);
    }

    .why-us-item {
        width: 100%;
    }

    .cta form.wpcf7-form {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: unset;
    }

    .double-i-t .row .col-12:nth-child(1),
    .double-i-t .row:nth-child(2) .col-12:nth-child(2) {
        margin-bottom: 30px;
    }

    .double-i-t .row:nth-child(2) {
        flex-direction: column-reverse;
    }

    .divTable .divTableHeading .divTableHead:nth-child(2) {
        width: 50%;
    }
}

@media (max-width: 991px) {
    .modalgrey {
        position: fixed;
        background: #0008;
        inset: 0;
        opacity: 0;
        transition: .3s ease;
        pointer-events: none;
        z-index: 9;
    }

    .modalgrey.active {
        opacity: 1;
        pointer-events: auto;
    }

    .portfolio--wrapper__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .portfolio--wrapper__item {
        aspect-ratio: 636 / 496 !important;
        grid-column: unset !important;
        grid-row: unset !important;
    }

    .portfolio--wrapper__subcategory a {
        white-space: nowrap;
    }

    .portfolio--wrapper__subcategory {
        overflow: auto;
        padding-bottom: 10px;
    }

    .header__mobile {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        height: 50px;
        display: grid;
        grid-template-columns: 1fr 50px 1fr;
        filter: drop-shadow(0 0 8px rgba(0, 0, 0, 0.2));
        background: #fff;
        gap: 10px;
    }

    .header__mobile_calc,
    .header__mobile_phone,
    .header__mobile_social {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        text-decoration: none;
        color: var(--color-1)
    }

    .header__mobile_calc:before,
    .header__mobile_phone:before,
    .header__mobile_social:before {
        content: "";
        display: block;
        width: 30px;
        height: 30px
    }

    .header__mobile_calc:before {
        background: url("../img/icons/calc__red.svg") no-repeat center center/contain
    }

    .header__mobile_phone:before {
        background: url("../img/icons/phone_red.svg") no-repeat center center/contain
    }

    .header__mobile_social:before {
        background: url("../img/icons/mess--red.svg") no-repeat center center / contain;
    }

    .header__mobile--wrapper {
        position: fixed;
        top: 0;
        left: 0;
        bottom: 50px;
        background: #fff;
        width: 100%;
        max-width: 320px;
        padding-top: 20px;
        transition: .3s ease;
        transform: translateX(-100%)
    }

    .header__mobile--wrapper.active {
        transform: translateX(0)
    }

    .header__mobile--wrapper ul {
        list-style: none;
        padding-left: 0;
        margin-bottom: 20px;
    }

    .header__mobile--wrapper ul a {
        display: block;
        text-decoration: none;
        color: #3d3d3d;
        font-weight: 500;
        padding: 10px 20px;
        border-bottom: 1px solid rgba(255, 255, 255, .1333333333)
    }

    .header__mobile--wrapper ul a:hover {
        background: var(--color-1);
        color: #fff;
    }

    #menuBTN {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 50px;
        height: 50px;
        border-radius: 50%;
        background: var(--color-1);
        gap: 6px;
        box-shadow: 0 0 0 5px var(--color-1);
        cursor: pointer;
        transition: box-shadow .3s ease, background .3s ease
    }

    #menuBTN span {
        width: 80%;
        height: 3px;
        background: #fff;
        border-radius: 1000px;
        transition: .3s ease
    }

    #menuBTN.active {
        background: var(--color-2);
        box-shadow: 0 0 0 5px var(--color-2);
        transform: rotate(180deg)
    }

    #menuBTN.active span:nth-child(1) {
        transform: translateY(9px) rotate(-45deg)
    }

    #menuBTN.active span:nth-child(2) {
        opacity: 0
    }

    #menuBTN.active span:nth-child(3) {
        transform: translateY(-9px) rotate(45deg)
    }

    .header__mobile_calc,
    .header__mobile_phone {
        gap: 0;
        font-size: 0
    }

    .header__mobile--wrapper_phone {
        display: block;
        padding: 10px 20px;
        color: #3d3d3d;
    }

    .social__fixed {
        right: 20px;
        bottom: 75px;
    }

    .footer-menu {
        flex-direction: column;
    }

    .footer__bottom {
        padding-bottom: 70px;
    }

    .footer_copy {
        flex-direction: column;
        padding-right: 60px;
        gap: 20px;
    }

    .contact__map {
        margin-bottom: 24px;
        aspect-ratio: 16 / 9;
        height: unset;
        width: 100%;
    }

    .contact .col-lg-4 {
        margin-bottom: 24px;
    }

    .div3,
    .div10 {
        grid-column: 1 / 3;
    }

    .cta {}

    .advantages--wrapper .row {
        gap: 58px 0;
    }

    .price-table {
        overflow: auto;
    }

    .divTable .divTableHeading .divTableHead:nth-child(2) {
        width: unset;
    }

    .cell_price {
        font-size: 15px;
    }

    .divTable {
        width: 800px;
    }
    .div3 {
        aspect-ratio: 466 / 361;
    }
}

@media (max-width: 767px) {
    .portfolio--wrapper__category {
        display: grid;
        gap: 15px;
    }

    .portfolio--wrapper__category a {
        display: block;
        width: fit-content;
    }

    .main--banner {
        padding-top: 40px;
    }

    .main--banner h1 {
        margin-top: 110px;
    }

    .div1,
    .div2,
    .div3,
    .div4,
    .div5,
    .div6,
    .div7,
    .div8,
    .div9,
    .div10,
    .div11,
    .div12,
    .div13 {
        grid-column: 1 / 3;
    }

    .div3 h3 a {
        font-size: 23px;
    }
    .div3 {
        aspect-ratio: 356 / 361;
    }
    .main--banner.fullscreen h1 {
        font-size: 46px;
        line-height: 1.2em;
    }

    .parent-proizvodstvo {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: unset !important;
    }

    .div-proizvodstvo {
        grid-area: unset !important;
    }

    .div-proizvodstvo:nth-child(1) {
        grid-column: 1 / 3 !important;
    }

    .cta h3 {
        font-size: 40px;
        line-height: 1.2em;
    }

    .modalwindow__panel--wrapper {
        padding: 53px 25px 30px;
    }
}

@media (max-width: 575px) {

    .breadcrumbs {
        display: none;
    }

    .portfolio--wrapper__grid {
        grid-template-columns: 1fr;
    }

    .price--politic__text span {
        padding: 16px 20px 16px;
    }

    .price--politic__title {
        width: fit-content;
        margin: 0 auto 30px;
    }

    .price--politic__title:after {
        left: 50%;
        transform: translateX(-50%);
    }

    .main--banner.fullscreen h1 {
        font-size: 35px;
    }

    .under-title-main p {
        font-size: 19px;
        line-height: 1.2em;
    }

    .main--banner .top-description {
        display: none;
    }

    h2.block_title,
    p.block_title {
        font-size: 24px;
    }

    body .slick-prev {
        left: 0;
        transform: translateY(-50%);
    }

    body .slick-next {
        right: 0;
        transform: translateY(-50%);
    }

    .why-us-item {
        display: grid;
    }

    .main--banner h1 {
        font-size: 36px;
    }
    .div3 {
        aspect-ratio: 286 / 361;
    }
    .footer-menu-2 ul {
        flex-direction: column;
        height: unset;
        flex-wrap: nowrap;
    }
}

@media (max-width: 375px) {

    .footer-menu-2 ul,
    .footer-menu ul,
    .footer-menu-3 ul {
        height: unset;
        margin-bottom: 20px;
    }

    .modalwindow__panel--wrapper {
        padding: 53px 0px 30px;
        border: none;
    }
}