@charset "UTF-8";

/*
Theme Name: Twenty Twenty-One
Version: 1.00351
*/

@font-face{ font-display: swap; font-family: 'EuclidCircularA-Light'; src: url('/wp-content/themes/twentytwentyone/assets/fonts/EuclidCircularA-Light.woff2'); }
@font-face{ font-display: swap; font-family: 'EuclidCircularA-Regular'; src: url('/wp-content/themes/twentytwentyone/assets/fonts/EuclidCircularA-Regular.woff2'); }
@font-face{ font-display: swap; font-family: 'EuclidCircularA-Medium'; src: url('/wp-content/themes/twentytwentyone/assets/fonts/EuclidCircularA-Medium.woff2'); }
@font-face{ font-display: swap; font-family: 'EuclidCircularA-SemiBold'; src: url('/wp-content/themes/twentytwentyone/assets/fonts/EuclidCircularA-SemiBold.woff2'); }
@font-face{ font-display: swap; font-family: 'EuclidCircularA-Bold'; src: url('/wp-content/themes/twentytwentyone/assets/fonts/EuclidCircularA-Bold.woff2'); }

*{ margin: 0; padding: 0; box-sizing: border-box; border: 0; font-weight: normal; }
a{ color: #000; text-decoration: none; -webkit-tap-highlight-color: transparent; transition: color .3s ease; -webkit-transition: color .3s ease; }
a:hover{ color: #8e0a26; }
img{ display: block; }
p img{ display: inline-block; vertical-align: middle; }
input,select,textarea{ font-family: 'EuclidCircularA-Regular'; outline: 0; }
table{ border-collapse: collapse; border-spacing: 0; }
table th{ border-collapse: collapse; border-spacing: 0; }
table td{ border-collapse: collapse; border-spacing: 0; }

.bold, b, strong{ font-family: 'EuclidCircularA-Bold' !important; font-weight: normal; font-style: normal; }
.regular{ font-family: 'EuclidCircularA-Regular' !important; }
.medium{ font-family: 'EuclidCircularA-Medium' !important; }
.ital, i, em{ font-family: supermolot-italic; font-weight: normal; font-style: normal; }
.clear{ height: .1rem; clear: both; }
.flexer{ display: flex; align-items: center; }
.flexer.between{ justify-content: space-between; }
.red{ color: #8e0a26!important; }
.white{ color: #fff!important; }
.nomargin{ margin: 0; }
.center{ text-align: center!important; }
.centered{ width: fit-content; margin: 0 auto; }
.right{ text-align: right; }
.upper{ text-transform: uppercase; }
.underline{ display: inline-block; border-bottom: .12rem solid #000; }
.hidden{ display: none!important; }
.only_pc{ display: block!important; }
.only_mobile{ display: none!important; }
.fs24{ font-size: 2.4rem!important; }
.fs32{ font-size: 3.2rem!important; }
.fs38{ font-size: 3.8rem!important; }
.opac6{ opacity: .6; }
.opac8{ opacity: .8; }
.lazy{ opacity: 0; filter: blur(.5rem); }
.scroller{ cursor: pointer; }
.button{ display: block; height: 5.6rem; padding: 0 4rem; background: #231f20; font: 1.6rem 'EuclidCircularA-Light'; line-height: 5.6rem; color: #fff; text-align: center; border-radius: 1.6rem; border: .2rem solid #231f20; transition: all .3s ease; cursor: pointer; }
.button.red{ background: #8e0a26; border-color: #8e0a26; color: #fff!important; }
.button.white{ background: transparent; color: #231f20!important; }
.button.white:hover{ color: #8e0a26!important; }
.button.loading{ background-image: url('/wp-content/themes/twentytwentyone/assets/images/icon-loading.svg'); background-repeat: no-repeat; background-position: center; background-size: 5rem; color: transparent; pointer-events: none; }
.button:hover{ background: #8e0a26; border-color: #8e0a26; color: #fff; transform: scale(1.05); }
.button.red:hover{ background: #212121; border-color: #212121; color: #fff; }
.button.white:hover{ background: #212121; border-color: #212121; color: #fff!important; }

input.loading{ background-image: url('/wp-content/themes/twentytwentyone/assets/images/icon-loading.svg'); background-repeat: no-repeat; background-position: center; background-size: 5rem; color: transparent; pointer-events: none; }
input[disabled]{ filter: grayscale(.6)!important; pointer-events: none!important; }

.goback{ display: table; position: relative; height: 1.4rem; line-height: 1.4rem; margin: 0; padding-left: 2.4rem; opacity: .6; }
.goback:before{ content: ''; position: absolute; left: 0; top: 0; bottom: 0; margin: auto 0; width: 1.4rem; height: 1.4rem; background: url('/wp-content/themes/twentytwentyone/assets/images/icon-arrow.svg') no-repeat center; background-size: 1.4rem; }

html{ font-size: clamp(1px,.52vw,10px); }
body{ position: relative; background: #fff; background-size: cover; color: #231f20; font: 1.6rem 'EuclidCircularA-Regular'; text-size-adjust: none; }
body.overflow{ overflow-y: hidden; }

body::-webkit-scrollbar-track{ background-color: #fff; }
body::-webkit-scrollbar{ width: .8rem; background-color: #fff; }
body::-webkit-scrollbar-thumb{ background-color: #8e0a26; border-radius: .5rem; border: none; }

.container{ position: relative; width: 100%; max-width: 158rem; margin: 0 auto; padding: 0; }

#menu{ display: none; }

header{ position: fixed; top: 0; left: 0; width: 100%; padding-top: 2.5rem; z-index: 7; transition: padding .3s ease; }
header:after{ content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 10rem; background: rgba(255,255,255,.65); backdrop-filter: blur(2rem); pointer-events: none; opacity: 0; z-index: -1; transition: all .3s ease; }
header .container{ display: flex; align-items: center; justify-content: space-between; }
header .container .logo{ width: 16rem; min-width: 16rem; height: 4.8rem; }
header .container .logo img{ width: 100%; height: 100%; object-fit: contain; object-position: left center; }
header .container nav{ display: flex; justify-content: center; gap: 4rem; width: 100%; }
header .container nav a{ display: block; position: relative; font: 1.6rem 'EuclidCircularA-Medium'; color: #231f20; }
header .container nav a:hover,
header .container nav a.current{ color: #8e0a26; }
header .container nav a:after{ content: ''; position: absolute; bottom: -.5rem; left: 0; right: 0; max-width: 0; height: .2rem; margin: 0 auto; background: #8e0a26; transition: all 1.2s ease; }
header .container nav a:hover:after,
header .container nav a.current:after{ max-width: 14rem; }

header .container .call_us{ display: flex; align-items: center; justify-content: flex-end; gap: 1rem; min-width: 28rem; margin: 0 0 0 auto; }
header .container .call_us .phone{ margin-right: 1rem; }
header .container .call_us .phone a{ display: block; font: 2.4rem 'EuclidCircularA-Regular'; color: #231f20; }
header .container .call_us .phone a span{ font: 1.6rem 'EuclidCircularA-Light'; color: #696969; text-transform: uppercase; }
header .container .call_us .phone .request{ display: table; margin: 0 0 0 auto; font: 1.2rem 'EuclidCircularA-Regular'; color: #8e0a26; text-transform: uppercase; cursor: pointer; }
header .container .call_us .icon{ width: 4.2rem; height: 4.2rem; }
header .container .call_us .icon img{ width: 100%; height: 100%; }
header .container .call_us .icon.tel{ background: url('/wp-content/themes/twentytwentyone/assets/images/icon-phone-red.svg') no-repeat left center; background-size: 4.2rem; }
header .container .callback{ height: 4.8rem; padding: 0 2rem; background: #8e0a26; font: 1.6rem 'EuclidCircularA-Regular'; line-height: 4.8rem; color: #fff; border-radius: 4.8rem; cursor: pointer; }
header.modified{ padding-top: 1rem; }
header.modified:after{ height: 7rem; opacity: 1; }

.waves{ position: absolute; top: 0; width: 100%; height: 136rem; background: url('/wp-content/themes/twentytwentyone/assets/images/waves.webp') no-repeat top center; background-size: 100%; pointer-events: none; mask-image: linear-gradient(to bottom, #fff 90%, transparent); z-index: -1; }
.paged .waves{ height: 100%; }

.main_banner{ position: relative; height: 94rem; padding-top: 25rem; }
.main_banner .circle{ position: absolute; top: 25rem; left: 0; right: 0; width: 42.5rem; height: 42.5rem; margin: 0 auto; }
.main_banner .circle img{ width: 100%; height: 100%; object-fit: contain; pointer-events: none; user-select: none; }
.main_banner .circle img.logo{ position: absolute; top: 0; left: 0; right: 0; bottom: 0; width: 22.6rem; height: 4rem; margin: auto; object-fit: contain; }
.main_banner .title{ position: absolute; top: 30rem; left: 25.5rem; font: 4.2rem 'EuclidCircularA-Medium'; text-transform: uppercase; text-align: right; }
.main_banner .title span{ display: inline-block; margin: 0 2.5rem 0 auto; position: relative; color: #8e0a26; }
.main_banner .title span:after{ content: ''; position: absolute; left: .3rem; right: .3rem; bottom: 0; height: .2rem; background: #8e0a26; }
.main_banner .list{ display: flex; gap: 1.25rem; justify-content: end; flex-direction: column; align-items: flex-end; position: absolute; left: 56.25rem; top: 56.5rem; opacity: .8; }
.main_banner .list span{ display: table; font: 1.2rem 'EuclidCircularA-Light'; text-transform: uppercase; }
.main_banner .list span:nth-of-type(1){ margin-right: 4.25rem; }
.main_banner .list span:nth-of-type(2){ margin-right: 2.5rem; }
.main_banner .history{ position: absolute; top: 59.2rem; right: 55rem; font: 2.6rem 'EuclidCircularA-Medium'; text-transform: uppercase; }
.main_banner .history span{ font: 4rem 'EuclidCircularA-Medium'; color: #8e0a26; }

.services_banner{ position: relative; height: 94rem; padding-top: 33rem; }
.services_banner .subtitle{ margin-bottom: 1rem; font: 3rem 'EuclidCircularA-Light'; }
.services_banner .title{ margin-bottom: 1rem; font: 6rem 'EuclidCircularA-Regular'; text-transform: uppercase; }
.services_banner .title span{ color: #8e0a26; }
.services_banner p{ width: 87rem; margin: 0 auto; font: 2.2rem 'EuclidCircularA-Light'; line-height: 1.2; text-align: center; }
.services_banner .buttons{ display: flex; justify-content: center; gap: 4rem; padding-top: 4rem; }

.service_slider{ margin-bottom: 4rem; overflow-x: clip; }
.service_slider .container{ display: flex; align-items: center; gap: 2rem; min-height: 60rem; }
.service_slider .container .item{ display: flex; flex-direction: column; gap: 2rem; width: 25rem; transition: all .8s ease; }
.service_slider .container .item .img{ width: 25rem; height: 25rem; overflow: hidden; transition: all .8s ease; }
.service_slider .container .item.active,
.service_slider .container .item:hover{ width: 78rem; }
.service_slider .container .item.active .img,
.service_slider .container .item:hover .img{ width: 78rem; height: 50rem; }

.service_slider .container .item .img img{ width: 100%; height: 100%; object-fit: cover; background: #f4f4f6; border-radius: 2rem; transition: all .8s ease; }
.service_slider .container .item .txt{ display: flex; justify-content: space-between; opacity: 0; pointer-events: none; white-space: nowrap; transition: all .8s ease, opacity .3s ease; }
.service_slider .container .item .txt .title{ font: 2.4rem 'EuclidCircularA-Medium'; text-transform: uppercase; }
.service_slider .container .item .txt .title span{ display: block; font: 1.6rem 'EuclidCircularA-Light'; text-transform: none; opacity: .8; }
.service_slider .container .item .txt .date{ font: 1.6rem 'EuclidCircularA-Regular'; text-align: right; opacity: .6; }
.service_slider .container .item.active .txt{ opacity: 1; pointer-events: all; }

.top_content{ padding-top: 18rem; }
.top_content h1{ margin-bottom: 8rem; font: 6rem 'EuclidCircularA-Medium'; text-transform: uppercase; }
.top_content h1 > span{ display: block; text-align-last: right; }

.services{ margin-bottom: 18rem; }
.services .container{ display: flex; flex-wrap: wrap; gap: 2rem; }
.services .container .item{ display: flex; flex-direction: column; justify-content: space-between; gap: 4rem; position: relative; width: 58rem; min-width: 58rem; padding: 4rem 4.5rem; background: #f4f4f6; background-blend-mode: darken; border-radius: 2.7rem; overflow: hidden; }
.services .container .item:nth-of-type(1){ background-image: url('/wp-content/themes/twentytwentyone/assets/images/services1.webp'); background-repeat: no-repeat; background-position: right bottom; background-size: 35.5rem; }
.services .container .item:nth-of-type(2){ background-image: url('/wp-content/themes/twentytwentyone/assets/images/services2.webp'); background-repeat: no-repeat; background-position: right .75rem bottom .75rem; background-size: 32rem; }
.services .container .item:nth-of-type(3){ width: 38rem; min-width: 38rem; background-image: url('/wp-content/themes/twentytwentyone/assets/images/column.webp'); background-repeat: no-repeat; background-position: right 2rem bottom 3.7rem; background-size: 17.5rem; }
.services .container .item.catg{ width: calc(50% - 1rem); min-width: calc(50% - 1rem); margin-bottom: 0; background: #231f20 url('/wp-content/themes/twentytwentyone/assets/images/gold-item.webp') no-repeat bottom right; background-size: auto 100%; background-blend-mode: normal; color: #fff; }
.services .container .item.sale{ width: calc(50% - 1rem); min-width: calc(50% - 1rem); background: #8e0a26; color: #fff; }
.services .container .item.sale:before{ content: ''; position: absolute; left: 4.2rem; bottom: 4rem; width: 5rem; height: 5rem; background: url('/wp-content/themes/twentytwentyone/assets/images/sale.svg') no-repeat center; background-size: 100%; }
.services .container .item.sale:after{ content: ''; position: absolute; top: 0; right: 9rem; bottom: 0; width: 28rem; background: url('/wp-content/themes/twentytwentyone/assets/images/pattern_white.svg') no-repeat bottom .25rem center; background-size: 28rem; opacity: .36; }
.services .container .item .title{ font: 2.4rem 'EuclidCircularA-Regular'; text-transform: uppercase; }
.services .container .item.catg .title,
.services .container .item.sale .title{ color: #fff; }
.services .container .item.catg .title a,
.services .container .item.sale .title a{ color: #fff; }
.services .container .item .list{ display: flex; flex-direction: column; justify-content: flex-end; gap: 1rem; height: 16rem; }
.services .container .item .list a,
.services .container .item .list span{ display: block; font: 1.5rem 'EuclidCircularA-Regular'; line-height: 1.1; opacity: .6; }
.services .container .item.catg .list{ height: 10rem; column-width: 48%; column-count: 2; }
.services .container .item.catg .list a{ color: #fff; opacity: 1; }
.services .container .item.catg .list a:hover{ color: #b04a41!important; }
.services .container .item.catg .list .red{ color: #b04a41!important; }
.services .container .item.catg .list .columned{ display: flex; gap: 4rem; }
.services .container .item.catg .list .columned div{ display: flex; flex-direction: column; justify-content: flex-start; gap: 1rem; width: 16rem; }

.asymmetric{ margin-bottom: 18rem; }
.asymmetric .container{ display: flex; flex-wrap: wrap; gap: 2rem; }
.asymmetric .container > .title{ width: 100%; padding-bottom: 4rem; font: 2.4rem 'EuclidCircularA-Light'; text-align: center; text-transform: uppercase; }
.asymmetric .container > .title span{ display: block; font-family: 'EuclidCircularA-Regular'; }
.asymmetric .container .group{ display: flex; flex-wrap: wrap; gap: 2rem; }
.asymmetric .container .group .item{ display: flex; flex-direction: column; justify-content: space-between; position: relative; padding: 4rem; background: #f4f4f6; border-radius: 3rem; overflow: hidden; }
.asymmetric .container .group .item.red{ background: #8E0A26; color: #fff!important; }
.asymmetric .container .group .item.img .title{ text-shadow: .1rem .1rem .1rem rgba(0,0,0,.4); }
.asymmetric .container .group .item.img:after{ content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to bottom, #000, transparent 50%, #000); opacity: .6; z-index: 2; }
.asymmetric .container .group .item span{ z-index: 3; }
.asymmetric .container .group .item .title{ font: 2.4rem 'EuclidCircularA-Medium'; text-transform: uppercase; }
.asymmetric .container .group .item .descr{ font: 1.6rem 'EuclidCircularA-Light'; line-height: 1.4; }
.asymmetric .container .group .item img{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; }
.asymmetric .container .group.one{ width: 52rem; min-width: 52rem; }
.asymmetric .container .group.one .item{ width: 100%; }
.asymmetric .container .group.one .item:nth-of-type(1){ height: 36rem; color: #fff;  }
.asymmetric .container .group.one .item:nth-of-type(2){ height: 26rem; }
.asymmetric .container .group.two{ width: calc(100% - 54rem); }
.asymmetric .container .group.two .item:nth-of-type(1){ width: 100%; height: 26rem; }
.asymmetric .container .group.two .item:nth-of-type(2){ width: 38rem; min-width: 38rem; height: 36rem; }
.asymmetric .container .group.two .item:nth-of-type(3){ width: calc(100% - 40rem); min-width: calc(100% - 40rem); height: 36rem; color: #fff;  }
.asymmetric.v2 .container .group.one .item:nth-of-type(1){ height: 100%; /*height: 26rem;*/ }
.asymmetric.v2 .container .group.one .item:nth-of-type(2){ height: 36rem; color: #fff;  }
.asymmetric.v2 .container .group.two{ width: calc(100% - 54rem); }
.asymmetric.v2 .container .group.two .item:nth-of-type(1){ width: calc(100% - 40rem); min-width: calc(100% - 40rem); height: 36rem; color: #fff;  }
.asymmetric.v2 .container .group.two .item:nth-of-type(2){ width: 38rem; min-width: 38rem; height: 36rem; }
.asymmetric.v2 .container .group.two .item:nth-of-type(3){ width: 100%; height: 26rem; color: #231f20; }

.article{ position: relative; margin-bottom: 19rem; }
.article:before{ content: ''; position: absolute; top: 0; left: 0; width: 28rem; height: 59rem; background: url('/wp-content/themes/twentytwentyone/assets/images/wave-left.webp') no-repeat left center; background-size: cover; mask-image: linear-gradient(to bottom, transparent, #fff 15%, #fff 85%, transparent); }
.article:after{ content: ''; position: absolute; top: 0; right: 0; width: 28rem; height: 59rem; background: url('/wp-content/themes/twentytwentyone/assets/images/wave-right.webp') no-repeat left center; background-size: cover; mask-image: linear-gradient(to bottom, transparent, #fff 15%, #fff 85%, transparent); }
.article h2{ margin-bottom: 8rem; font: 3.2rem 'EuclidCircularA-Light'; text-align: center; text-transform: uppercase; }
.article h2 span{ display: block; font-family: 'EuclidCircularA-Medium'; }
.article .columns{ display: flex; gap: 8rem; padding: 0 20rem; }
.article .columns .item{ width: calc(50% - 4rem); min-width: calc(50% - 4rem); }
.article .columns .item p{ margin-bottom: 3rem; font: 1.5rem 'EuclidCircularA-Light'; line-height: 1.4; text-align: justify; }
.article .columns .item .buttons{ display: flex; gap: 1.5rem; }
.article .columns .item img{ width: 100%; height: 27.2rem; object-fit: cover; object-position: 0 0; border-radius: 1.6rem; }
.project + .article .columns .item img{ height: 32.5rem; }
.article .columns .item .imgs{ display: flex; max-width: 100%; gap: 2rem; margin-bottom: 3rem; }
.article .columns .item .imgs img{ flex: 1; width: calc(50% - 1rem); height: 26rem!important; object-fit: cover; object-position: center; }
.article.v2 .columns .item img{ height: 27.65rem; }
.article.v3 .columns .item img{ height: 100%; max-height: 75.2rem; object-position: center; }

.article_super{ margin-bottom: 18rem; }
.article_super .container{ display: flex; flex-direction: column; gap: 2rem; }
.article_super h2{ width: 100%; margin-bottom: 6rem; font: 2.4rem 'EuclidCircularA-light'; text-align: center; text-transform: uppercase; }
.article_super h2 span{ display: table; margin: 0 auto; font-family: 'EuclidCircularA-Medium'; text-align: center; }
.article_super .item{ display: flex; gap: 2rem; }
.article_super .item .buttons{ display: flex; gap: 1.5rem; }
.article_super .img img{ width: 100%; height: 100%; object-fit: cover; background: #f4f4f6; border-radius: 2rem; }
.article_super .item .text{ display: flex; flex-direction: column; }
.article_super .item .text .title{ font-family: 'EuclidCircularA-Medium'; }
.article_super .item .text p{ margin-bottom: 2rem; font: 1.6rem 'EuclidCircularA-Light'; line-height: 1.5; text-align: justify; }
.article_super .item .text p:last-child{ margin-bottom: 0; }
.article_super .columns2 .img{ width: calc(33.33% - 1.33rem); min-width: calc(33.33% - 1.33rem); height: 36rem; }
.article_super .item .text .img + .title{ padding-top: 2rem; }
.article_super .columns2 .text{ justify-content: space-between; width: 100%; }
.article_super .columns3 .text{ width: calc(33.33% - 1.33rem); }
.article_super .columns3 .text .img{ width: 100%; height: auto; height: 24rem; background: #f4f4f6; border-radius: 2rem; }
.article_super .columns3 .text .img img{ height: 24rem; }
.article_super .columns3 .text:nth-of-type(1) .img{ height: 48rem; }
.article_super .columns3 .text:nth-of-type(1) .img img{ height: 48rem; }
.article_super .columns3.notext .text .img{ height: 48rem; }
.article_super .columns3.notext .text .img img{ height: 48rem; }
.article_super .columns2-bigimg .img{ width: calc(66.66% - 1.33rem); min-width: calc(66.66% - 0.77rem); height: 33rem; }
.article_super .columns2-bigimg .img img{ height: 33rem; object-position: 0 0; }
.article_super .columns3.reversed .text:nth-of-type(1) .img{ height: 24rem; }
.article_super .columns3.reversed .text:nth-of-type(1) .img img{ height: 24rem; }
.article_super .columns3.reversed .text:nth-of-type(3) .img{ height: 48rem; }
.article_super .columns3.reversed .text:nth-of-type(3) .img img{ height: 48rem; }

.prefs{ margin-bottom: 6rem; }
.prefs .container{ display: flex; gap: 1rem; padding: 2rem; background: #f4f4f6 url('/wp-content/themes/twentytwentyone/assets/images/mramor3.webp') no-repeat center; background-size: cover; border-radius: 2rem; }
.prefs .container .item{ display: flex; flex-direction: column; justify-content: center; align-items: center; width: 20%; padding: 8rem 3rem; background: #fff; border-radius: 2.5rem; }
.prefs .container .item.red{ width: 39rem; min-width: 39rem; padding: 8rem 7rem; background: #8E0A26; color: #fff!important; text-transform: uppercase; }
.prefs .container .item:nth-of-type(2),
.prefs .container .item:nth-of-type(4){ padding: 8rem 2rem; } 
.prefs .container .item .title{ margin-bottom: .5rem; font: 1.8rem 'EuclidCircularA-Regular'; text-align: center; text-transform: uppercase; }
.prefs .container .item .descr{ font: 1.5rem 'EuclidCircularA-Light'; text-align: center; }
.prefs .container .item .descr span{ font-style: italic; }
.prefs .container .item.red .descr{ font-size: 1.7rem; }

.portfolio{ margin-bottom: 18rem; }
.portfolio .title{ width: 100%; margin-bottom: 2rem; font: 2.8rem 'EuclidCircularA-Light'; text-align: center; text-transform: uppercase; }
.portfolio .container{ display: flex; flex-wrap: wrap; gap: 2rem; }
.portfolio .group{ display: flex; flex-direction: column; gap: 2rem; }
.portfolio .group .item{ position: relative; background: #f4f4f6; border-radius: 3rem; overflow: hidden; }
.portfolio .group .item:before{ content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 35%; background: linear-gradient(to bottom, #000, transparent); opacity: .7; pointer-events: none; z-index: 2; }
.portfolio .group .item .img{ display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; }
.portfolio .group .item .img img{ width: 100%; height: 100%; object-fit: cover; transition: all .4s ease; }
.portfolio .group .item:hover .img img{ transform: scale(1.1); }
.portfolio .group .item .txt{ display: block; position: relative; padding: 4rem; font: 2.4rem 'EuclidCircularA-Regular'; color: #fff; text-transform: uppercase; text-shadow: .1rem .1rem .1rem rgba(0,0,0,.4); z-index: 3; }
.portfolio .group.item1{ width: calc(33.33% - 1.33rem); }
.portfolio .group.item1 .item{ width: 100%; height: 51rem; }
.portfolio .group.item2{ width: calc(33.33% - 1.33rem); }
.portfolio .group.item2 .item{ width: 100%; height: 77.5rem; }
.portfolio .group.item3{ flex-direction: row; width: 100%; }
.portfolio .group.item3.reversed{ flex-direction: row-reverse; }
.portfolio .group.item3 .item{ height: 51rem; }
.portfolio .group.item3 .item:nth-of-type(1){ width: calc(33.33% - 1rem); }
.portfolio .group.item3 .item:nth-of-type(2){ width: calc(66.66% - 1rem); }

.gallery{ margin-bottom: 18rem; }
.gallery .container{ display: flex; flex-direction: column; gap: 2rem; }
.gallery .group{ display: flex; gap: 2rem; }
.gallery .group span{ height: 38rem; background: #f4f4f6; border-radius: 3rem; overflow: hidden; }
.gallery .group span img{ width: 100%; height: 100%; object-fit: cover; cursor: pointer; background: #f4f4f6; transition: transform .3s ease; }
.gallery .group span img:hover{ transform: scale(1.1); }
.gallery .group.columns3 span{ width: calc(33.33% - 1.33rem); }
.gallery .group.columns4 span{ width: calc(25% - 1.5rem); }

.gallery + .news-article{ padding-top: 0; }

.accordion{ position: relative; margin-bottom: 15rem; background: url('/wp-content/themes/twentytwentyone/assets/images/icon-loading.svg') no-repeat center; background-size: 4rem; }
.accordion .container{ top: 0; left: 0; right: 0; margin: 0 auto; }
.accordion .container .h1{ width: 100%; margin-bottom: 8rem; font: 3.2rem 'EuclidCircularA-Regular'; text-align: center; text-transform: uppercase; }
.accordion .container .h1 span{ display: table; margin: 0 auto; font-family: 'EuclidCircularA-Medium'; text-align: center; }
.accordion .container .title{ display: table; position: absolute; top: 5.5rem; left: 0; height: 5.2rem; padding: 0 4rem; font: 1.6rem 'EuclidCircularA-Regular'; line-height: 5.2rem; background: rgba(255,255,255,.9); backdrop-filter: blur(1rem); border-radius: 1.6rem; z-index: 5; }
.accordion .container .ftm{ display: flex; align-items: center; position: absolute; right: 0; top: 44.5rem; height: 5.2rem; padding: 0 4rem; background: rgb(142,10,38,.9); backdrop-filter: blur(1rem); border-radius: 1.6rem; z-index: 3; }
.accordion .container .ftm.fix{ top: 59.5rem; }
.accordion .container .ftm img{ width: 10rem; height: 3rem; object-fit: contain; }
.accordion .group{ display: flex; gap: .3rem; height: 55rem; }
.accordion .group .item{ cursor: pointer; }
.accordion .group .item,
.accordion .group:hover .item.active:not(:hover){ display: flex; flex-direction: column; align-items: center; justify-content: center; flex: 1; min-width: 0; height: 55rem; padding: 2.5rem 0; overflow: hidden; transition: all 1s ease; }
.accordion .group .item img{ width: auto; height: 100%; background: #f4f4f6; object-fit: cover; overflow: hidden; pointer-events: none; transition: all .6s ease; }
.accordion .group .item.active,
.accordion .group .item:hover{ /*width: 75rem; min-width: 75rem;*/ padding: 0; border-radius: 1.4rem; overflow: hidden; transition: all .8s ease; }
.accordion .group .item.active img,
.accordion .group .item:hover img{ transform: scale(1.12); }

.masters{ position: relative; height: 86rem; margin-bottom: 12rem; background: url('/wp-content/themes/twentytwentyone/assets/images/kremlin.webp') no-repeat top center; background-size: auto 98%; }
.masters .title{ position: absolute; top: 35rem; left: 0; right: 0; width: 98rem; margin: 0 auto; font: 6rem 'EuclidCircularA-Regular'; line-height: 1.1; text-align: center; text-transform: uppercase; }
.masters .descr{ position: absolute; bottom: 1rem; left: 0; right: 0; width: 56rem; margin: 0 auto; font: 3.2rem 'EuclidCircularA-Regular'; line-height: 1.2; text-align: center; }
.masters .item{ position: absolute; height: 5.2rem; line-height: 5.2rem; padding: 0 6rem; background: #8e0a26; color: #fff; border-radius: 1.2rem; }
.masters .item1{ top: 15rem; left: 48rem; }
.masters .item2{ top: 22rem; right: 42rem; }
.masters .item3{ top: 46rem; right: 25rem; }

.kamin{ position: relative; height: 60rem; margin-bottom: 6rem; background: url('/wp-content/themes/twentytwentyone/assets/images/kamin.webp') no-repeat top right 17rem; background-size: contain; }
.kamin .title{ position: absolute; top: 21rem; left: 0; right: 0; width: 100rem; margin: 0 auto; font: 6rem 'EuclidCircularA-Regular'; line-height: 1.1; text-align: center; text-transform: uppercase; }
.kamin .item{ position: absolute; height: 5.2rem; line-height: 5.2rem; padding: 0 6rem; background: #8e0a26; color: #fff; border-radius: 1.2rem; }
.kamin .item1{ top: 14rem; left: 51rem; }
.kamin .item2{ top: 43rem; right: 80rem; }

.stages{ margin-bottom: 18rem; padding-top: 10rem; }
.stages .container{ display: flex; gap: 8rem; padding: 0 15rem; }
.stages .img{ display: flex; align-items: center; justify-content: center; position: relative; width: 65rem; min-width: 65rem; height: 65rem; background: url('/wp-content/themes/twentytwentyone/assets/images/circle.webp') no-repeat center; background-size: contain; }
.stages .img img{ width: 15rem; height: 6rem; object-fit: contain; }
.stages .img span{ opacity: 1; transition: opacity .3s ease; }
.stages .img .zone{ display: block; position: absolute; background: #fff; mix-blend-mode: color; cursor: pointer; }
.stages .img .zone1{ top: 10rem; right: 0; width: 22rem; height: 45rem; clip-path: polygon(58% 0, 100% 0, 100% 100%, 58% 100%, 0 72%, 0 28%); }
.stages .img .zone2{ bottom: 0; left: 10rem; width: 45rem; height: 22rem; clip-path: polygon(72% 0, 100% 58%, 100% 100%, 0 100%, 0 58%, 28% 0); }
.stages .img .zone3{ top: 10rem; left: 0; width: 22rem; height: 45rem; clip-path: polygon(100% 28%, 100% 72%, 58% 100%, 0 100%, 0 0, 58% 0); }
.stages .img .zone4{ top: 0; left: 10rem; width: 45rem; height: 22rem; clip-path: polygon(100% 0, 100% 42%, 72% 100%, 28% 100%, 0 42%, 0 0); }
.stages .img .active{ opacity: 0; }
.stages .txt{ width: 100%; position: relative; }
.stages .txt .item{ position: absolute; top: 0; left: 0; bottom: 0; width: 100%; height: fit-content; margin: auto; pointer-events: none; opacity: 0; z-index: 1; transition: all .3s ease; }
.stages .txt .item.active{ opacity: 1; z-index: 2; }
.stages .txt .item .title{ margin-bottom: 8rem; font: 3.2rem 'EuclidCircularA-Regular'; text-transform: uppercase; }
.stages .txt .item .subtitle{ margin-bottom: 1rem; font: 2.4rem 'EuclidCircularA-Light'; }
.stages .txt .item p{ font: 1.6rem 'EuclidCircularA-Light'; }

.product{ padding-top: 18rem; }
.product .container{ display: flex; flex-wrap: wrap; gap: 2rem 12rem; margin-bottom: 8rem; }
.product .container .wi100{ width: 100%; }
.product .container .photos{ width: 68rem; min-width: 68rem; }
.product .container .photos span{ display: block; width: 100%; height: 42rem; background: #f4f4f6; border-radius: 3rem; overflow: hidden; }
.product .container .photos span img{ width: 100%; height: 100%; object-fit: cover; }
.product .container .descr{ width: calc(100% - 80rem); }
.product .container .descr h1{ margin-bottom: 3.6rem; padding-right: 20rem; font: 3.2rem 'EuclidCircularA-Medium'; text-transform: uppercase; }
.product .container .descr h1.nomargin{ margin-bottom: 0; }
.product .container .descr h2{ margin-bottom: 3.6rem; padding-right: 20rem; font: 2rem 'EuclidCircularA-Regular'; text-transform: uppercase; }
.product .container .descr p{ margin-bottom: 2rem; font: 1.6rem 'EuclidCircularA-Light'; }
.product .container .descr p:last-child{ margin-bottom: 2rem; }
.product .container .descr .flex-list{ display: flex; flex-direction: column; gap: 1rem; position: relative; }
.product .container .descr .flex-list b{ padding: 0 2rem; line-height: 1; }
.product .container .descr .flex-list .list{ display: flex; flex-wrap: wrap; gap: 1rem; }
.product .container .descr .flex-list .list span{ padding: 0 2rem; height: 3rem; line-height: 3rem; background: #f4f4f6; border-radius: 2rem; }
.product .container .descr .flex-list .list span sup{ display: inline-block; line-height: 1; }
.product .container .descr .button{ display: table; margin-top: 4rem; }

.prefers{ display: flex; flex-wrap: wrap; gap: 2rem; width: 100%; margin-bottom: 4rem; }
.prefers .title{ margin-bottom: 0; width: 100%; font: 1.8rem 'EuclidCircularA-Medium'; }
.prefers .item{ width: calc(33.33% - 1.4rem); padding: 1.2rem 2rem; font: 1.6rem 'EuclidCircularA-Light'; border: .1rem solid #686868; border-radius: 2rem; }
.prefers .item .num{ display: none; margin-bottom: .6rem; font: 1.4rem 'EuclidCircularA-Regular'; color: #686868; }

.carousel{ position: relative; min-height: 68rem; margin-bottom: 10rem; padding-top: 6rem; }
.carousel .container{ display: flex; position: relative; }
.carousel .container .item{ display: flex; flex-direction: column; gap: 10rem; width: 100%; min-width: 0; transition: all .6s ease; opacity: 0; pointer-events: none; }
.carousel .container .item .img{ display: block; width: 100%; height: 34rem; background: #f4f4f6; border-radius: 3rem; overflow: hidden; box-shadow: .15rem .15rem .15rem rgba(0,0,0,.07); cursor: pointer; transition: all .6s ease; }
.carousel .container .item .img a{ pointer-events: none; }
.carousel .container .item .img img{ width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.carousel .container .item .img:hover img{ transform: scale(1.1); }
.carousel .container .item .txt{ display: flex; flex-direction: column; align-items: center; max-height: 0; font: 1.6rem 'EuclidCircularA-Regular'; line-height: 1.4; text-align: justify; text-align-last: center; overflow: hidden; transition: max-height .3s ease; transition-delay: 0s; }
.carousel .container .item .txt .title{ display: block; margin-bottom: 1rem; font: 2.4rem 'EuclidCircularA-Medium'; text-transform: uppercase; }
.carousel .container .item:nth-of-type(1){ width: 0; transform: scale(0); }
.carousel .container .item:nth-of-type(2){ opacity: 1; pointer-events: all; z-index: 1; }
.carousel .container .item:nth-of-type(2) .img{ transform: scale(1); }
.carousel .container .item:nth-of-type(3){ opacity: 1; pointer-events: all; z-index: 2; }
.carousel .container .item:nth-of-type(3) .img{ transform: scale(1.2); }
.carousel .container .item:nth-of-type(4){ opacity: 1; pointer-events: all; z-index: 3; }
.carousel .container .item:nth-of-type(4) .img{ transform: scale(1.36); }
.carousel .container .item:nth-of-type(5){ opacity: 1; pointer-events: all; z-index: 2; }
.carousel .container .item:nth-of-type(5) .img{ transform: scale(1.2); }
.carousel .container .item:nth-of-type(6){ opacity: 1; pointer-events: all; z-index: 1; }
.carousel .container .item:nth-of-type(6) .img{ transform: scale(1); }
.carousel .container .item:nth-of-type(n+7){ width: 0; transform: scale(0); }
.carousel .container .item.active{ min-width: 51rem; z-index: 4!important; }
.carousel .container .item.active .img a{ pointer-events: all; }
.carousel .container .item.active .txt{ max-height: 20rem; transition: max-height .6s ease; transition-delay: .4s; }
.carousel .slider_navigation{ display: flex; justify-content: center; gap: 2rem; width: 20rem; margin: 4rem auto 0; }
.carousel .slider_navigation .btn{ width: 2.5rem; height: 2.5rem; border: .1rem solid #000; border-radius: 2.5rem; background: url('/wp-content/themes/twentytwentyone/assets/images/icon-arrow.svg') no-repeat center; background-size: 1.1rem; cursor: pointer; transition: all .3s ease; }
.carousel .slider_navigation .btn.right{ transform: rotate(180deg); }
.carousel .slider_navigation .btn:hover{ transform: scale(1.2); }
.carousel .slider_navigation .btn.right:hover{ transform: scale(1.2) rotate(180deg); }
.carousel .slider_navigation .current{ height: 2.5rem; line-height: 2.5rem; }

.filter .container{ display: flex; justify-content: space-between; flex-wrap: wrap; gap: 2.2rem; margin-bottom: 6rem; padding: 4rem 4rem 5.6rem; background: #f4f4f6; border-radius: 3rem; }
.filter .container .title{ display: flex; align-items: flex-end; justify-content: space-between; width: 100%; }
.filter .container .title .heading{ display: inline-block; font: 2.4rem 'EuclidCircularA-Medium'; }
.filter .container .title #filter_reset{ display: inline-block; margin-left: 3rem; font: 1.6rem 'EuclidCircularA-Light'; opacity: .6; cursor: pointer; }
.filter .container .item{ width: calc(25% - 1.65rem); }
.filter .container .item.wi2{ display: flex; align-items: center; width: calc(50% - 1.1rem); }
.filter .container .item input{ width: 100%; height: 5.6rem; padding: 0 1.6rem; font-size: 1.8rem; line-height: 5.6rem; border-radius: 1.6rem; }
.filter .container .item select{ width: 100%; height: 5.6rem; padding: 0 1rem; font-size: 1.8rem; line-height: 5.6rem; border-radius: 1.6rem; }
.filter .container .item .select{ position: relative; }
.filter .container .item .select.active{ z-index: 3; }
.filter .container .item .select .selected{ position: relative; content: ''; width: 100%; height: 5.6rem; padding: 0 3rem 0 1.6rem; background: #fff; font-size: 1.8rem; line-height: 5.6rem; border-radius: 1.6rem; white-space: nowrap; overflow: hidden; cursor: pointer; }
.filter .container .item .select .selected:after{ content: ''; position: absolute; top: 0; right: 0; width: 5.6rem; height: 5.6rem; background: #fff url('/wp-content/themes/twentytwentyone/assets/images/icon-arrow.svg') no-repeat center; background-size: 1.4rem; transform: rotate(-90deg); border-radius: 1.6rem; z-index: 1; }
.filter .container .item .select .clear{ display: block; position: absolute; top: 0; right: 0; width: 5.6rem; height: 5.6rem; background: #fff url('/wp-content/themes/twentytwentyone/assets/images/icon-close-black.svg') no-repeat center; background-size: 1.2rem; border-radius: 1.6rem; cursor: pointer; z-index: 2; }
.filter .container .item .select .list{ position: absolute; top: 4rem; left: 0; right: 0; max-height: 0; padding: 0; overflow: hidden; border-radius: 1.6rem; background: rgba(255,255,255,.76); overflow-y: auto; backdrop-filter: blur(2rem); z-index: 3; transition: all .6s ease; }
.filter .container .item .select .list::-webkit-scrollbar-track{ background-color: #fff; }
.filter .container .item .select .list::-webkit-scrollbar{ width: .8rem; background-color: #fff; }
.filter .container .item .select .list::-webkit-scrollbar-thumb{ background-color: #e5e5e5; border-radius: .5rem; border: none; }
.filter .container .item .select.active .list{ max-height: 42rem; padding: 1.6rem 0; transition: all .8s ease; }
.filter .container .item .select .list span{ display: table; position: relative; padding: 1rem 1.6rem; font: 1.8rem 'EuclidCircularA-Regular'; cursor: pointer; transition: all .3s ease; }
.filter .container .item .select .list span:after{ content: ''; position: absolute; left: 1.6rem; bottom: .6rem; width: 0; height: .2rem; background: #8e0a26; transition: all .3s ease; }
.filter .container .item .select .list span:hover:after,
.filter .container .item .select .list span.active:after{ width: calc(100% - 3.2rem); }
.filter .container .item .select .list span.active{ color: #8e0a26; }
.filter .container .item .select.multiple .list span{ padding-left: 4.6rem; }
.filter .container .item .select.multiple .list span:before{ content: ''; position: absolute; top: 0; bottom: 0; left: 1.6rem; margin: auto 0; width: 2rem; height: 2rem; border: .1rem solid #b5b5b5; border-radius: .6rem; background: #f5f5f5; z-index: 1; }
.filter .container .item .select.multiple .list span:after{ content: ''; position: absolute; top: 0; bottom: 0; left: 1.6rem; margin: auto 0; width: 2.2rem; height: 2.2rem; border-radius: .6rem; background: url('/wp-content/themes/twentytwentyone/assets/images/icon-checkbox.svg') no-repeat center; background-size: 1.2rem; opacity: 0; transition: opacity .3 ease; z-index: 2; }
.filter .container .item .select.multiple .list span:hover:after{ opacity: .3; }
.filter .container .item .select.multiple .list span.active:after{ opacity: 1; }
.filter .container .item.checkboxes{ display: flex; justify-content: center; align-items: center; gap: 4rem; }
.filter .container .item .checkbox{ display: inline-flex; align-items: center; height: 5.6rem; }
.filter .container .item .checkbox input{ display: none; }
.filter .container .item .checkbox label{ display: block; position: relative; padding-left: 4rem; font: 1.8rem 'EuclidCircularA-Regular'; line-height: 1.3; cursor: pointer; }
.filter .container .item .checkbox label:before{ content: ''; position: absolute; top: 0; bottom: 0; left: 0; width: 2.8rem; height: 2.8rem; margin: auto; background: #fff; border: .1rem solid #b5b5b5; border-radius: 0.6rem; z-index: 1; }
.filter .container .item .checkbox label:after{ content: ''; position: absolute; top: 0; left: 0; bottom: 0; width: 3rem; height: 3rem; margin: auto; background: url('/wp-content/themes/twentytwentyone/assets/images/icon-checkbox.svg') no-repeat center; background-size: 1.4rem; opacity: 0; z-index: 2; transition: all 0.3s ease; }
.filter .container .item .checkbox input:hover + label:after{ opacity: 0.2; }
.filter .container .item .checkbox input:checked + label:after{ opacity: 1; }

.filter .container .item .slider-container{ width: 100%!important; }
.filter .container .item .slider-container .back-bar .pointer-label{ top: -2.5rem; color: #212121; font: 1.8rem 'EuclidCircularA-Regular'; background: none; }
.filter .container .item .slider-container .back-bar .pointer-label.low{ left: 0!important; right: auto; }
.filter .container .item .slider-container .back-bar .pointer-label.high{ left: auto!important; right: 0; }
.filter .container .item .slider-container .back-bar .selected-bar{ background-color: #8e0a26; background-image: none; }
.filter .container .item .slider-container .back-bar .pointer{ top: -.95rem; width: 1.4rem; height: 2.4rem; background-color: #8e0a26; background-image: none; border: 0; cursor: pointer; }

.catalog{ position: relative; margin-bottom: 18rem; padding-bottom: 1rem; }
.catalog:after{ content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(255,255,255,.3) url('/wp-content/themes/twentytwentyone/assets/images/icon-loading.svg') no-repeat top 10rem center; background-size: 5rem; backdrop-filter: blur(.5rem); opacity: 0; pointer-events: none; transition: all .3s ease; }
.catalog.loading:after{ opacity: 1; pointer-events: all; }
.catalog .container{ display: flex; flex-wrap: wrap; gap: 2rem; }
.catalog .container .item{ width: calc(33.33% - 1.33rem); padding: 1.9rem 2rem; background: #fff; border: .1rem solid #d0d1d0; border-radius: 2rem; }
.catalog .container .item a{ display: flex; align-items: flex-start; flex-direction: column; gap: 1.6rem; width: 100%; height: 100%; }
.catalog .container .item a:hover{ color: #000; }
.catalog .container .item .img{ position: relative; width: 100%; height: 30rem; min-height: 30rem; border-radius: 1.4rem; background: #f4f4f6; overflow: hidden; }
.catalog .container .item .img img{ width: 100%; height: 100%; object-fit: cover; transition: all .4s ease; }

.catalog .container .item .img span{ position: absolute; top: 2rem; right: 2rem; height: 3.6rem; padding: 0 3rem 0 .2rem; font: 1.8rem 'EuclidCircularA-Regular'; line-height: 3.6rem; border-radius: 0 1rem 1rem 0; background: #8e0a26; color: #fff; z-index: 2; }
.catalog .container .item .img span:after{ content: ''; position: absolute; top: 0; left: -3.4rem; width: 3.6rem; height: 3.6rem; background: #8e0a26; clip-path: polygon(100% 0, 100% 100%, 0% 100%, 50% 50%, 0% 0%); z-index: 2; }
.catalog .container .item .img span.sale{ background: #ffcc00; color: #212121; }
.catalog .container .item .img span.sale:after{ background: #ffcc00; }
.catalog .container .item .img span + span{ top: 6.6rem; }

.catalog .container .item:hover .img img{ transform: scale(1.1); }
.catalog .container .item .txt{ display: flex; height: 100%; flex-direction: column; justify-content: space-between; }
.catalog .container .item .txt span{ display: block; }
.catalog .container .item .txt .title{ margin-bottom: .4rem; font: 2.4rem 'EuclidCircularA-Medium'; }
.catalog .container .item .txt .descr{ margin-bottom: 1.6rem; font: 1.6rem 'EuclidCircularA-Regular'; opacity: .5; }
.catalog .container .item .txt .descr:last-child{ margin: 0 0 auto; }
.catalog .container .item .txt .price{ margin-bottom: 2rem; font: 2.4rem 'EuclidCircularA-Medium'; }
.catalog .container .item .details{ display: table; height: 5.2rem; margin: auto 0 0; padding: 0 12rem; font: 1.5rem 'EuclidCircularA-Regular'; line-height: 5.2rem; border: .1rem solid #000; border-radius: 1.4rem; cursor: pointer; }
.catalog .pages{ display: flex; flex-wrap: wrap; gap: 2rem; width: 100%; padding-top: 6rem; }
.catalog .pages span{ display: block; width: 5.6rem; height: 5.6rem; line-height: 5.6rem; font-size: 2rem; text-align: center; border: .1rem solid #000; border-radius: 2rem; cursor: pointer; transition: all .3s ease; }
.catalog .pages span:hover{ transform: scale(1.05); }
.catalog .pages span.active{ color: #8e0a26; border: .1rem solid #8e0a26; }

.esotericism{ margin-bottom: 18rem; }
.esotericism .container{ display: flex; gap: 2rem; padding: 2rem; background: #f4f4f6 url('/wp-content/themes/twentytwentyone/assets/images/mramor3.webp') no-repeat center; background-size: cover; border-radius: 3rem; }
.esotericism .container .item{ flex: 1; background: #fff; border-radius: 1.5rem; padding: 7rem 3rem; text-align: center; }
.esotericism .container .item .title{ width: 100%; margin-bottom: 2rem; font: 1.8rem 'EuclidCircularA-Medium'; text-transform: uppercase; }

.news-category{ margin-bottom: 4rem; padding-top: 18rem; }
.news-category h1{ margin-bottom: 6rem; font: 3.2rem 'EuclidCircularA-Medium'; text-align: center; text-transform: uppercase; }
.news-category .clear{ margin-bottom: 2rem; }
.news-category .group{ }
.news-category .group .item{ display: flex; gap: 2rem; width: calc(50% - 1rem); margin: 0 0 2rem 0; padding: 2rem; background: #f4f4f6; border-radius: 3rem; }
.news-category .group .item .img{ width: 31rem; min-width: 31rem; height: 26rem; border-radius: 2rem; overflow: hidden; }
.news-category .group .item .img img{ width: 100%; height: 100%; object-fit: cover; transition: all .5s ease; }
.news-category .group .item:hover .img img{ transform: scale(1.1); }
.news-category .group .item .txt{ height: 26rem; overflow-y: auto; }
.news-category .group .item .txt::-webkit-scrollbar-track{ background-color: #f4f4f6; }
.news-category .group .item .txt::-webkit-scrollbar{ width: .5rem; background-color: #f4f4f6; }
.news-category .group .item .txt::-webkit-scrollbar-thumb{ background-color: #d5d5d6; border-radius: .5rem; border: none; }
.news-category .group .item .txt .date{ font: 1.6rem 'EuclidCircularA-Light'; line-height: 1; opacity: .6; }
.news-category .group .item .txt .title{ font: 2.4rem 'EuclidCircularA-Medium'; line-height: 1.2; }
.news-category .group .item .txt .title a{ color: #231f20; }
.news-category .group .item:hover .txt .title a{ color: #8E0A26; }
.news-category .group .item .txt p{ margin-bottom: 2rem; font: 1.6rem 'EuclidCircularA-Regular'; line-height: 1.4; }
.news-category .group .item .txt p:last-child{ margin: 0; line-height: 1; }
.news-category .group .item .txt a{ color: #8E0A26; }
.news-category .items2{ display: flex; gap: 2rem; }
.news-category .items2 .item{ width: calc(100% - 1rem); }
.news-category .items3 .item{ float: left; }
.news-category .items3 .item:nth-of-type(1){ flex-direction: column; width: calc(50% - 1rem); margin: 0 2rem 0 0; }
.news-category .items3 .item:nth-of-type(1) .img{ width: 100%; }
.news-category .items3 .item:nth-of-type(1) .txt{ height: 30rem; overflow-y: auto; }
.news-category .items3 .item:nth-of-type(3){ margin: 0; }
.news-category .items3.reversed .item{ float: right; }
.news-category .items3.reversed .item:nth-of-type(1){ flex-direction: column; width: calc(50% - 1rem); margin: 0 0 0 2rem; }
.news-category .items3.reversed .item:nth-of-type(1) .img{ width: 100%; }
.news-category .items3.reversed .item:nth-of-type(1) .txt{ height: 30rem; overflow-y: auto; }
.news-category .items3.reversed .item:nth-of-type(3){ margin: 0; }

.showmore{ display: flex; flex-direction: column; align-items: center; gap: 2rem; margin-bottom: 18rem; }

.news-article{ margin-bottom: 18rem; padding-top: 18rem; }
.news-article h1{ margin-bottom: 6rem; font: 3.2rem 'EuclidCircularA-Regular'; text-align: center; text-transform: uppercase; }
.news-article .group{ margin-bottom: 6rem; padding: 0 15rem; }
.news-article .group .item .txt .title{ font-family: 'EuclidCircularA-Medium'; line-height: 1.4; }
.news-article .group .item .txt p{ margin-bottom: 1rem; line-height: 1.4; text-align: justify; }
.news-article .group .item .txt ul{ margin: 0 0 0 3rem; line-height: 1.2; }
.news-article .group .item .img{ border-radius: 2rem; overflow: hidden; }
.news-article .group .item .img img{ width: 100%; height: 100%; object-fit: cover; }
.news-article .group.widetext .item{ display: flex; gap: 4rem; }
.news-article .group.widetext .item .img{ width: 28rem; min-width: 28rem; }
.news-article .group.widetext.reversed .item{ flex-direction: row-reverse; gap: 4rem; }
.news-article .group.columns2{ display: flex; gap: 6rem; }
.news-article .group.columns2 .item{ display: flex; justify-content: space-between; flex-direction: column; gap: 4rem; flex: 1; }
.news-article .group.columns2 .item .img{ width: 100%; height: 30rem; }
.news-article .group.columns2.small .item{ flex-direction: row; }
.news-article .group.columns2.small .item .img{ width: 50%; min-width: 50%; height: auto; }
.news-article article{ margin-bottom: 6rem; padding: 0 15rem; }
.news-article article h3{ margin-bottom: 2rem; }
.news-article article p{ margin-bottom: 2rem; line-height: 1.4; text-align: justify; }
.news-article article ul{ margin: 0 0 2rem 3rem; line-height: 1.2; }
.news-article article p + h3{ margin-top: 4rem; }
.news-article article ul + h3{ margin-top: 4rem; }
.news-article article img{ max-width: 100%; height: auto; border-radius: 2rem; }
.news-article article a{ text-decoration: underline; }
.news-article .gallery{ margin-bottom: 6rem; }
.news-article .goback{ margin: 0 auto; }

.photogallery{ margin-bottom: 18rem; }
.photogallery .container{ display: flex; align-items: flex-start; flex-wrap: wrap; gap: 2rem; }
.photogallery .container .group{ display: flex; align-items: flex-start; flex-wrap: wrap; gap: 2rem; width: calc(50% - 1rem); }
.photogallery .container .group.items4{ display: block; }
.photogallery .container .group img{ object-fit: cover; background: #f4f4f6; border-radius: 2rem; }
.photogallery .container .group.items1 img:nth-of-type(1){ width: 100%; height: 76rem; }
.photogallery .container .group.items3 img:nth-of-type(1),
.photogallery .container .group.items3 img:nth-of-type(2){ width: calc(50% - 1rem); height: 24rem; }
.photogallery .container .group.items3 img:nth-of-type(3){ width: 100%; height: 50rem; }
.photogallery .container .group.items4 img:nth-of-type(1){ float: left; width: calc(50% - 1rem); height: 76rem; margin: 0 2rem 0 0; }
.photogallery .container .group.items4 img:nth-of-type(2),
.photogallery .container .group.items4 img:nth-of-type(3),
.photogallery .container .group.items4 img:nth-of-type(4){ float: left; width: calc(50% - 1rem); height: 24rem; }
.photogallery .container .group.items4 img:nth-of-type(2),
.photogallery .container .group.items4 img:nth-of-type(3){ margin: 0 0 2rem 0; }
.photogallery .container .group.items4 img:nth-of-type(4){ margin: 0; }

.project{ margin-bottom: 15rem; }
.project .container{ display: flex; gap: 4rem; padding: 1.5rem 6rem; background: #f3f3f5 url('/wp-content/themes/twentytwentyone/assets/images/form-mramor.webp') no-repeat center; background-size: cover; border-radius: 2rem; }
.project .container .item.text{ display: flex; flex-direction: column; justify-content: space-between; width: 72rem; min-width: 72rem; padding: 2.5rem 0; }
.project .container .item .title{ margin-bottom: 5rem; font: 3.4rem 'EuclidCircularA-Light'; text-transform: uppercase; }
.project .container .item .title span{ display: inline-block; position: relative; color: #306f3b; }
.project .container .item .title span:after{ content: ''; position: absolute; left: .2rem; right: .2rem; bottom: 0; height: .2rem; background: #306f3b; }
.project .container .item p{ margin-bottom: 4.5rem; font: 1.4rem 'EuclidCircularA-Light'; }
.project .container .item .group{ display: flex; gap: 2rem; margin: 0 0 auto; }
.project .container .item .group .elem{ flex: 1; }
.project .container .item .group .digit{ display: block; position: relative; font: 3.4rem 'EuclidCircularA-Regular'; line-height: .8; }
.project .container .item .group .digit:before{ content: ''; position: absolute; left: 0; right: 0; bottom: .1rem; height: .5rem; background: #f3f3f5; }
.project .container .item .group .digit:after{ content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: .1rem; background: #231f20; }
.project .container .item .group .subtitle{ display: block; margin-bottom: 2rem; font: 1.5rem 'EuclidCircularA-Regular'; }
.project .container .item .group .descr{ display: block; font: 1.2rem 'EuclidCircularA-Light'; }
.project .container .item .hint{ height: 3.8rem; padding-left: 5rem; background: url('/wp-content/themes/twentytwentyone/assets/images/sale_black.svg') no-repeat left center; background-size: 3.8rem; font: 1.4rem 'EuclidCircularA-Medium'; line-height: 3.8rem; }
.project .container .item .hint span{ display: inline-block; position: relative; color: #306f3b; }
.project .container .form{ width: 36rem; padding: 3rem; background: rgba(255,255,255,.8); backdrop-filter: blur(1rem); border-radius: 3rem; }
.project .container .form input{ display: block; width: 100%; height: 4.8rem; font: 1.4rem 'EuclidCircularA-Light'; line-height: 4.8rem; margin-bottom: 1rem; padding: 0 2rem 0 4.6rem; background: #f1f1f1; border-radius: 1.2rem; }
.project .container .form #project-name{ background: #f1f1f1 url('/wp-content/themes/twentytwentyone/assets/images/icon-user.svg') no-repeat left 1.75rem center; background-size: 1.75rem; }
.project .container .form #project-phone{ background: #f1f1f1 url('/wp-content/themes/twentytwentyone/assets/images/icon-phone.svg') no-repeat left 1.75rem center; background-size: 1.75rem; }
.project .container .form #project-phone.attention{ background-position: left 1.75rem center!important; }
.project .container .form label[for="project-file"]{ background: #fff url('/wp-content/themes/twentytwentyone/assets/images/icon-file.svg') no-repeat left 1.75rem center; background-size: 1.75rem; }
.project .container .form #project-message{ background: #f1f1f1 url('/wp-content/themes/twentytwentyone/assets/images/icon-chat.svg') no-repeat top 1.75rem left 1.75rem; background-size: 1.75rem; }
.project .container .form textarea{ display: block; width: 100%; height: 14rem; margin-bottom: 1rem; padding: 1.6rem 2rem 1.6rem 4.6rem; font: 1.4rem 'EuclidCircularA-Light'; background: #f1f1f1; border-radius: 1.2rem; }
.project .container .form label{ display: block; width: 100%; height: 4.8rem; font: 1.4rem 'EuclidCircularA-Light'; line-height: 4.8rem; margin-bottom: 1rem; padding: 0 2rem 0 4.6rem; border: .1rem solid #908e8f; border-radius: 1.2rem; cursor: pointer; }
.project .container .form input[type=file]{ display: none; }
.project .container .form input[type=submit]{ padding: 0 2rem; background: #8e0a26; color: #fff; cursor: pointer; transition: all .6s ease; }
.project .container .form input[type=submit]:hover{ background: #212121; }
.project .container .form #project-upload-data{ display: block; width: 100%; height: 4.8rem; line-height: 4.8rem; margin-bottom: 1rem; padding: 0; border: .1rem solid #908e8f; border-radius: 1.2rem; }
.project .container .form #project-upload-data .file{ display: flex; width: 100%; height: 4.8rem; line-height: 4.8rem; padding: 0 0 0 1.75rem; }
.project .container .form #project-upload-data .file .name{ width: 100%; font: 1.4rem 'EuclidCircularA-Light'; height: 4.8rem; line-height: 4.8rem; padding-left: 2.85rem; background: url('/wp-content/themes/twentytwentyone/assets/images/icon-file.svg') no-repeat left center; background-size: 1.75rem; white-space: nowrap; overflow: hidden; }
.project .container .form #project-upload-data .file .cancel-upload{ width: 4.8rem; min-width: 4.8rem; height: 4.8rem; background: url('/wp-content/themes/twentytwentyone/assets/images/icon-close-black.svg') no-repeat center; background-size: 1.1rem; cursor: pointer; }
.project .container .form .consent{ display: block; padding: 0; font: 1rem 'EuclidCircularA-Light'; line-height: 1.4; text-align: center; opacity: .6; }
.project .container .item.girl{ display: flex; align-items: flex-end; position: relative; margin-bottom: -1.5rem; padding: 0; }
.project .container .item.girl img{ width: 27rem; height: auto; margin: auto 0 0 0; }

.partners{ margin-bottom: 14rem; padding: 7rem 0; background: #f4f4f6; }
.partners h2{ font: 3.2rem 'EuclidCircularA-Medium'; line-height: 1.1; text-align: center; text-transform: uppercase; }
.partners h3{ font: 1.7rem 'EuclidCircularA-Light'; line-height: 1.1; text-align: center; text-transform: uppercase; }
.partners .group{ display: flex; flex-wrap: wrap; gap: 2rem; padding: 5rem 0; }
.partners .group .item{ width: calc(20% - 1.6rem); min-width: calc(20% - 1.6rem); padding: 6rem 7rem; background: #fff; border-radius: 1.4rem; }
.partners .group .item img{ width: 100%; height: 100%; object-fit: contain; }
.partners .group .clear{ width: 100%; }
.partners .button{ display: table; width: fit-content; margin: 0 auto; }

.contact-box{ position: relative; z-index: 2; }
.contact-box .container{ display: flex; gap: 6.5rem; }
.contact-box .feedback{ display: flex; flex-wrap: wrap; gap: 2rem; width: calc(46% - 1rem); padding: 3rem; background: #f4f4f6; border-radius: 2rem; }
.contact-box .feedback .title{ width: 100%; font: 2.4rem 'EuclidCircularA-Medium';color: #8e0a26; text-transform: uppercase; }
.contact-box .feedback .title span{ display: block; font: 1.6rem 'EuclidCircularA-Light'; color: #231f20; text-transform: none; }
.contact-box .feedback .form{ display: flex; flex-wrap: wrap; gap: 2rem; }
.contact-box .feedback .form input[type='text']{ width: calc(50% - 1rem); min-width: calc(50% - 1rem); height: 5.2rem; font: 1.5rem 'EuclidCircularA-Light'; line-height: 5.2rem; padding: 0 2rem 0 4.6rem; background: #fff; border-radius: 1.2rem; }
.contact-box .feedback .form input[name='feedback-name']{ background: #fff url('/wp-content/themes/twentytwentyone/assets/images/icon-user.svg') no-repeat left 1.75rem center; background-size: 1.75rem; }
.contact-box .feedback .form input[name='feedback-phone']{ background: #fff url('/wp-content/themes/twentytwentyone/assets/images/icon-phone.svg') no-repeat left 1.75rem center; background-size: 1.75rem; }
.contact-box .feedback .form textarea{ display: block; width: 100%; height: 14rem; padding: 1.6rem 2rem 1.6rem 4.6rem; font: 1.5rem 'EuclidCircularA-Light'; background: #fff url('/wp-content/themes/twentytwentyone/assets/images/icon-chat.svg') no-repeat top 1.75rem left 1.75rem; background-size: 1.75rem; border-radius: 1.2rem; }
.contact-box .info{ display: flex; align-items: flex-start; flex-wrap: wrap; gap: 6rem; width: calc(54% - 1rem); padding: 3rem 0; }
.contact-box .info .item{ display: flex; flex-direction: column; gap: 1.2rem; width: calc(50% - 3rem); }
.contact-box .info .item .title{ min-height: 3rem; padding-left: 3.6rem; font: 2.1rem 'EuclidCircularA-Regular'; line-height: 3rem; color: #8e0a26; text-transform: uppercase; background: url('/wp-content/themes/twentytwentyone/assets/images/icon-placemark-red.svg') no-repeat top left; background-size: contain; }
.contact-box .info .item p{ font: 1.6rem 'EuclidCircularA-Light'; }
.contact-box .info .item.phone{ flex-direction: row; align-items: center; width: 100%; justify-content: space-between; }
.contact-box .info .item.phone a{ display: block; height: 2.5rem; padding-left: 3.6rem; font: 2.1rem 'EuclidCircularA-Regular'; line-height: 2.5rem; color: #8e0a26; text-transform: uppercase; }
.contact-box .info .item.phone .tel{ background: url('/wp-content/themes/twentytwentyone/assets/images/icon-phone-red.svg') no-repeat left center; background-size: 2.5rem; }
.contact-box .info .item.phone .wa{ background: url('/wp-content/themes/twentytwentyone/assets/images/icon-whatsapp-red.svg') no-repeat left center; background-size: 2.5rem; }
.contact-box .info .item.phone .tg{ background: url('/wp-content/themes/twentytwentyone/assets/images/icon-telegram-red.svg') no-repeat left center; background-size: 2.5rem; }

.mymap{ position: relative; height: 64rem; margin-top: -5rem; mask: linear-gradient(to bottom, transparent, #fff 30%); background: #f4f4f6; z-index: 1; }
.mymap iframe{ height: 64rem!important; }

.news{ margin-bottom: 20rem; }
.news h2{ margin-bottom: 6rem; font: 3.2rem 'EuclidCircularA-Medium'; line-height: 1.1; text-align: center; text-transform: uppercase; }
.news .group{ display: flex; flex-wrap: wrap; gap: 2rem; padding: 0 0 5rem; }
.news .group .item{ display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; width: calc(20% - 1.6rem); min-width: calc(20% - 1.6rem); padding: 1.6rem 2.5rem; padding: 2rem .4rem .4rem; background: #f4f4f6; border-radius: 2.8rem; }
.news .group .item .date{ display: table; height: 3rem; margin: 0 2rem 2rem; font: 1.2rem 'EuclidCircularA-Medium'; line-height: 3rem; background: #fff; border-radius: .8rem; padding: 0 2rem; }
.news .group .item .title{ display: block; margin-bottom: 2rem; padding: 0 2rem; font: 1.8rem 'EuclidCircularA-Medium'; line-height: 1.2; }
.news .group .item:hover .title{ color: #8e0a26; }
.news .group .item .descr{ display: block; margin: 0 0 auto 0; padding: 0 2rem; font: 1.4rem 'EuclidCircularA-Light'; line-height: 1.4; }
.news .group .item .details{ display: block; margin: 2.5rem 0 3.5rem; padding: 0 2rem; color: #8e0a26; }
.news .group .item .img{ display: block; width: 100%; height: 19rem; border-radius: 2.6rem; background: #fff; overflow: hidden; }
.news .group .item .img img{ width: 100%; height: 100%; object-fit: cover; transition: all .5s ease; }
.news .group .item:hover .img img{ transform: scale(1.1); }
.news .button{ display: table; width: fit-content; margin: 0 auto; }

.questions{ margin-bottom: 6rem; }
.questions .container{ display: flex; align-items: center; padding: 3.5rem 4rem; background: #f3f3f5 url('/wp-content/themes/twentytwentyone/assets/images/form2-mramor.webp') no-repeat center; background-size: cover; border-radius: 2.8rem; }
.questions .container .item.text{ width: 50rem; min-width: 50rem; }
.questions .container .item.text .title{ display: block; position: relative; height: 5.6rem; margin-bottom: 5rem; padding: 0 0 0 6.5rem; font: 3.2rem 'EuclidCircularA-Medium'; line-height: 4.6rem; text-transform: uppercase; }
.questions .container .item.text .title:before{ content: ''; position: absolute; top: 0; left: 0; width: 5rem; height: 5rem; background: url('/wp-content/themes/twentytwentyone/assets/images/icon-question.svg') no-repeat center; background-size: contain; transform: rotate(-15deg); }
.questions .container .item.text .hint{ font: 1.8rem 'EuclidCircularA-Light'; line-height: 1.2; }
.questions .container .item.text .hint span{ font-family: 'EuclidCircularA-Medium'; }
.questions .container .item .form{ display: flex; justify-content: flex-end; align-content: flex-start; flex-wrap: wrap; gap: 1.5rem; }
.questions .container .item .form input{ display: block; width: 100%; height: 5.2rem; font: 1.5rem 'EuclidCircularA-Light'; line-height: 5.2rem; padding: 0 2rem 0 4.6rem; background: #fff; border-radius: 1.6rem; }
.questions .container .item .form #questions-name{ width: 28rem; background: #fff url('/wp-content/themes/twentytwentyone/assets/images/icon-user.svg') no-repeat left 1.75rem center; background-size: 1.75rem; }
.questions .container .item .form #questions-phone{ width: 32rem; background: #fff url('/wp-content/themes/twentytwentyone/assets/images/icon-phone.svg') no-repeat left 1.75rem center; background-size: 1.75rem; }
.questions .container .item .form #questions-phone.attention{ background-position: left 1.75rem center!important; }
.questions .container .item .form #questions-submit{ width: 21rem; background: #8e0a26; padding: 0; color: #fff; cursor: pointer; transition: all .6s ease; }
.questions .container .item .form #questions-submit:hover{ background: #212121; }
.questions .container .item .form .hint{ display: block; width: 30rem; padding-right: 2rem; font: 1rem 'EuclidCircularA-Light'; line-height: 1.4; text-align: right; opacity: .6; }

.consent{ display: flex; align-items: center; padding-left: 1rem; }
.consent input{ display: none!important; }
.consent label{ display: block; position: relative; padding-left: 3.4rem; font: 1.4rem 'EuclidCircularA-Light'; line-height: 1.3; color: #757575; cursor: pointer; }
.consent label:before{ content: ''; position: absolute; top: 0; bottom: 0; left: 0; width: 2.2rem; height: 2.2rem; margin: auto; background: #fff; border: .1rem solid #b5b5b5; border-radius: 0.6rem; z-index: 1; }
.consent label:after{ content: ''; position: absolute; top: .3rem; bottom: .3rem; left: .4rem; width: 1.6rem; height: 1.6rem; margin: auto; background: url('/wp-content/themes/twentytwentyone/assets/images/icon-checkbox.svg') no-repeat center; background-size: 1.1rem; opacity: 0; z-index: 2; transition: all 0.3s ease; }
.consent input:hover + label:after{ opacity: 0.2; }
.consent input:checked + label:after{ opacity: 1; }
#project .consent{ height: auto; }
#project .consent label{ height: auto; margin-bottom: 0; padding: 0 0 0 3.4rem; font: 1.26rem 'EuclidCircularA-Light'; line-height: 1.3; text-align: left; border: 0; }

footer{ background: #231f20; color: #fff; padding: 4.5rem 0; }
footer a{ color: #fff; }
footer .container{ display: flex; flex-wrap: wrap; justify-content: space-between; }
footer .container .item.logotype{ width: 26rem; }
footer .container .item.logotype .logo{ width: 16rem; height: 4.8rem; margin-bottom: 2.5rem; }
footer .container .item.logotype .logo img{ width: 16rem; height: 4.8rem; object-fit: contain; }
footer .container .item.logotype .descr{ display: block; margin-bottom: 4rem; font: 1.4rem 'EuclidCircularA-Regular'; }
footer .container .item.logotype .requisites{ display: flex; flex-direction: column; gap: 1rem; margin-bottom: 3.5rem; opacity: .4; } 
footer .container .item.logotype .requisites p{ font: 1.4rem 'EuclidCircularA-Regular'; }
footer .container .item.nav{ display: flex; flex-wrap: wrap; align-content: flex-start; gap: 2rem; width: calc(100% - 52rem); padding: 0 26rem; }
footer .container .item.nav a{ width: calc(50% - 1rem); min-width: calc(50% - 1rem); font: 1.6rem 'EuclidCircularA-Medium'; color: #fff; }
footer .container .item.contacts{ width: 26rem; text-align: right; }
footer .container .item.contacts .address{ margin-bottom: 4rem; padding-right: 5rem; font: 1.5rem 'EuclidCircularA-Light'; background: url('/wp-content/themes/twentytwentyone/assets/images/icon-placemark.svg') no-repeat top right; background-size: 3.2rem; }
footer .container .item.contacts .address b{ display: block; margin-bottom: .8rem; font-family: 'EuclidCircularA-Medium'; text-transform: uppercase; }
footer .container .item.contacts .phone{ padding-right: 5rem; background: url('/wp-content/themes/twentytwentyone/assets/images/icon-phone2.svg') no-repeat right center; background-size: 3.2rem; }
footer .container .item.contacts .phone a{ font: 2.6rem 'EuclidCircularA-Regular'; color: #fff; }
footer .container .item.contacts .phone a span{ font: 2rem 'EuclidCircularA-Light'; color: #fff; }
footer .container .item.copyright{ width: 50%; padding: 2rem 0; font: 1.2rem 'EuclidCircularA-Light'; border-top: .1rem solid #706d6e; }
footer .container .item.policy{ width: 25%; padding: 2rem 0; font: 1.2rem 'EuclidCircularA-Light'; text-align: right; border-top: .1rem solid #706d6e; }
footer .container .item.policy a{ color: #fff; }
footer .container .developer{ display: flex; justify-content: flex-end; width: 25%; border-top: .1rem solid #706d6e; }
footer .container .developer a{ display: flex; align-items: center; justify-content: flex-end; gap: 2rem; margin: 0; font: 1.2rem 'EuclidCircularA-Light'; color: #e5e5e5; white-space: nowrap; }
footer .container .developer img{ width: 10rem; height: auto; }

#project,
#questions,
#feedback,
#popup{ position: relative; }

.popup{ display: flex; align-items: center; justify-content: flex-start; position: fixed; top: 0; left: 0; width: 100%; height: 100dvh; opacity: 0; pointer-events: none; z-index: 12; transition: all .3s ease; }
.popup:after{ content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(220,220,220,.6); backdrop-filter: blur(2.5rem) opacity(0); -webkit-backdrop-filter: blur(2.5rem) opacity(0); z-index: 1; transition: backdrop-filter .4s ease; transition-delay: .3s; }
.popup .close{ display: block; position: absolute; top: 2rem; right: 2rem; width: 4.2rem; height: 4.2rem; margin: 0; background: url('/wp-content/themes/twentytwentyone/assets/images/icon-close-black.svg') no-repeat center; background-size: 1.6rem; border: .3rem solid #000; border-radius: 1rem; opacity: 0; cursor: pointer; z-index: 2; transition: all .3s ease; }
.popup.active{ opacity: 1; pointer-events: all; }
.popup.active .close{ opacity: 1; }
.popup.active:after{ backdrop-filter: blur(2.5rem) opacity(1); -webkit-backdrop-filter: blur(2.5rem) opacity(1); }
.popup .txt{ display: flex; flex-wrap: wrap; align-items: center; gap: 4rem; position: relative; margin: 0 auto; padding: 8rem 6rem; width: 60rem; background: #fff; background-size: cover; border-radius: 2rem; box-shadow: .2rem .2rem .4rem rgba(0,0,0,.21); z-index: 2; }
.popup.active .txt{ opacity: 1; transform: scale(1); }
.popup .txt .title{ width: 100%; min-width: 100%; font: 3.2rem 'EuclidCircularA-Medium'; text-align: center; text-transform: uppercase; line-height: 1.1; }
.popup .txt .title span{ display: block; font: 2rem 'EuclidCircularA-Light'; }
.popup .txt .form{ display: flex; flex-wrap: wrap; gap: 1rem; width: 100%; z-index: 2; }
.popup .txt .form input[type=text]{ display: block; width: 100%; font: 1.8rem 'EuclidCircularA-Light'; height: 6.2rem; line-height: 6.2rem; padding: 0 4rem 0 5.6rem; background: #f1f1f1; border-radius: 1rem; }
.popup .txt .form input[name=popup-phone]{ background: #f1f1f1 url('/wp-content/themes/twentytwentyone/assets/images/icon-phone.svg') no-repeat left 1.75rem center; background-size: 2.4rem !important; }
.popup .txt .form input[name=popup-name]{ background: #f1f1f1 url('/wp-content/themes/twentytwentyone/assets/images/icon-user.svg') no-repeat left 1.75rem center; background-size: 2.4rem !important; }
.popup .txt .form textarea{ display: block; width: 100%; font: 1.8rem 'EuclidCircularA-Light'; height: 14rem; padding: 2rem 4rem 2rem 5.6rem; background: #f1f1f1 url('/wp-content/themes/twentytwentyone/assets/images/icon-chat.svg') no-repeat left 1.75rem top 2rem; background-size: 2.4rem !important; border-radius: 1rem; }
.popup .txt .form .button{ margin: 0 auto; }
.popup .txt .form .hint{ display: block; width: 100%; padding: 0 3rem; font: 1.4rem 'EuclidCircularA-Light'; line-height: 1.2; text-align: center; opacity: .65; }
.popup .consent{ margin: 0 auto; }

.fancy_content{ position: fixed; bottom: 4rem; right: 4rem; max-width: 80rem; padding: 3rem 8rem 3rem 4rem; font: 1.6rem 'EuclidCircularA-Light'; line-height: 1.2; border-radius: 2rem; border-bottom: .2rem solid #8e0a26; background: rgba(255,255,255,.8); backdrop-filter: blur(2rem); box-shadow: 1rem 1rem 2rem rgba(0,0,0,.21); z-index: 12; opacity: 0; pointer-events: none; transform: translateY(20rem); transition: all .6s ease; }
.fancy_content.loaded{ opacity: 1; pointer-events: all; transform: translateY(0); }
.fancy_content.closed{ transform: translateY(20rem)!important; }
.fancy_content .fancy_close{ display: block; position: absolute; top: 1rem; right: 1rem; width: 2.6rem; height: 2.6rem; margin: 0; background: #fff url('/wp-content/themes/twentytwentyone/assets/images/icon-close-black.svg') no-repeat center; background-size: 1rem; border: .16rem solid #000; border-radius: 1rem; cursor: pointer; z-index: 2; transition: all .3s ease; }
.fancy_content .button{ display: table; font-size: 1.6rem; height: 4.6rem; line-height: 4.6rem; padding: 0 6rem; margin-top: 2rem; }

.attention{ border-bottom: 1px solid #cc0000!important; background-image: url('/wp-content/themes/twentytwentyone/assets/images/attention.svg')!important; background-repeat: no-repeat!important; background-position: left 1.75rem center!important; z-index: 2; }
.err_message{ display: block; position: relative; width: 100%; margin: 0 0 1rem; font: 1.4rem 'EuclidCircularA-Light'; color: #ff1c2d; }
.consent .err_message{ margin: 0 0 0.5rem; }
.acpt_error{ color: #ff1c2d!important; }
.acpt_error:before{ border: .1rem solid #ff1c2d!important; }

.success{ display: none; position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; width: 80%; padding: 0; box-sizing: border-box; }
.success .message{ display: flex; align-items: center; align-content: center; gap: 2rem; }
.success p{ margin: 0!important; }
.success p span{ display: block; margin: 0 0 1rem 0; font: 2.6rem 'EuclidCircularA-Bold'; }
.success .success-animation{ margin: 15rem auto; }
.fancybox__container .success{ width: 100%; }
.checkmark{ display: block; width: 10rem; min-width: 10rem; height: 10rem; border-radius: 50%; stroke-width: 2; stroke: #4caf50; stroke-miterlimit: 10; box-shadow: inset 0px 0px 0px #4caf50; animation: fill .4s ease-in-out .4s forwards, scale .3s ease-in-out .9s both; position: relative; top: 0.5rem; right: 0.5rem; }
.checkmark__circle{ stroke-dasharray: 166; stroke-dashoffset: 166; stroke-width: 2; stroke-miterlimit: 10; stroke: #4caf50; fill: #eef6f9; animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards; }
.checkmark__check{ transform-origin: 50% 50%; stroke-dasharray: 48; stroke-dashoffset: 48; animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards; }
@keyframes stroke{ 100%{ stroke-dashoffset: 0; } }
@keyframes scale{
    0%, 100%{ transform: none; }
    50%{ transform: scale3d(1.1, 1.1, 1); }
}
@keyframes fill{ 100% { box-shadow: inset 0px 0px 0px 3rem #e5b34e; } }

.error{ display: none; width: 100%; position: absolute; top: 0; bottom: 0; margin: auto; padding: 0; box-sizing: border-box; }
.popup .error{ width: 80%; }
.error img{ width: 10rem!important; height: auto; }
.error .message{ display: flex; align-items: center; flex-direction: row-reverse; align-content: center; gap: 2rem; }
.error p{ margin: 0!important; }
.error p span{ display: block; margin: 0 0 1rem 0!important; font: 2.6rem 'EuclidCircularA-Bold'; }
.fancybox__container .error{ width: 100%; }

@media(orientation:landscape) and (max-width:820px){
    header .container nav{ justify-content: flex-start; background-image: none!important; }
}
@media(max-width:820px){
    html{ font-size: clamp(1px,1.2vw,10px); }
    body{ font-size: 3rem; }

    .fs32{ font-size: 4.6rem!important; }

    .only_pc{ display: none!important; }
    .only_mobile{ display: block!important; }
    .mobile_inline{ display: inline!important; }

    .button{ height: 8rem; line-height: 8rem; font-size: 3rem; }

    .goback{ height: 3rem; line-height: 3rem; padding-left: 4rem; }
    .goback:before{ width: 3rem; height: 3rem; background-size: 2rem; }

    #menu{ display: table; position: fixed; bottom: 4rem; right: 4rem; height: 10rem; padding: 0 5rem 0 10rem; background: #8e0a26 url('/wp-content/themes/twentytwentyone/assets/images/icon-menu.svg') no-repeat left 5rem center; background-size: 3.5rem; font: 3.6rem 'EuclidCircularA-Regular'; line-height: 10rem; text-transform: uppercase; color: #fff; border-radius: 4.8rem; cursor: pointer; z-index: 9; }
    #menu.active{ background-image: url('/wp-content/themes/twentytwentyone/assets/images/icon-close.svg'); background-size: 2.6rem; }

    .container{ max-width: 80rem; }

    .waves{ background-size: cover; }
    .paged .waves{ height: 136rem; }

    header{  }
    header.modified{ padding-top: 2.5rem; }
    header.modified:after{ height: 13.2rem; }
    header .container .logo{ width: 27.6rem; min-width: 27.6rem; height: 8.2rem; }
    header .container nav{ display: flex; flex-direction: column; align-items: center; position: fixed; top: 0; left: 0; width: 100%; height: 100dvh; padding: 6rem 0; background: rgba(255,255,255,0.8) url('/wp-content/themes/twentytwentyone/assets/images/logo.svg') no-repeat top 8rem center; background-size: 32rem; opacity: 0; overflow-y: auto; pointer-events: none; backdrop-filter: blur(6rem); transition: all .5s ease; transition-delay: .8s; }
    header .container nav.active{ opacity: 1; pointer-events: all; transition-delay: 0s; }
    header .container nav a{ font-size: 5.2rem; opacity: 0; transform: translateY(4rem); transition: all .4s ease; transition-delay: 0s; }
    header .container nav a:after{ height: .5rem; bottom: -.75rem; }
    header .container nav.active a{ opacity: 1; transform: translateY(0);  }
    header .container nav a:nth-of-type(1){ transition-delay: 0s; }
    header .container nav a:nth-of-type(2){ transition-delay: .1s; }
    header .container nav a:nth-of-type(3){ transition-delay: .2s; }
    header .container nav a:nth-of-type(4){ transition-delay: .3s; }
    header .container nav a:nth-of-type(5){ transition-delay: .4s; }
    header .container nav a:nth-of-type(6){ transition-delay: .5s; }
    header .container nav a:nth-of-type(7){ transition-delay: .6s; }
    header .container nav a:nth-of-type(8){ transition-delay: .7s; }
    header .container nav.active a:nth-of-type(8){ transition-delay: .1s; }
    header .container nav.active a:nth-of-type(7){ transition-delay: .2s; }
    header .container nav.active a:nth-of-type(6){ transition-delay: .3s; }
    header .container nav.active a:nth-of-type(5){ transition-delay: .4s; }
    header .container nav.active a:nth-of-type(4){ transition-delay: .5s; }
    header .container nav.active a:nth-of-type(3){ transition-delay: .6s; }
    header .container nav.active a:nth-of-type(2){ transition-delay: .7s; }
    header .container nav.active a:nth-of-type(1){ transition-delay: .8s; }
    header .container .call_us .phone a{ font-size: 4.2rem; }
    header .container .call_us .phone a span{ font-size: 3rem; }
    header .container .call_us .phone .request{ font-size: 2rem; }
    header .container .call_us .icon{ width: 7rem; height: 7rem; }
    header .container .call_us .icon.tel{ background-size: 7rem; }

    .main_banner{ height: auto; padding-top: 92rem; padding-bottom: 20rem; }
    .main_banner .circle{ top: 32rem; width: 56rem; height: 56rem; }
    .main_banner .circle img.logo{ width: 26rem; height: 6rem; }
    .main_banner .title{ position: relative; top: auto; left: auto; right: auto; margin: 0 0 2rem; font-size: 5.8rem; text-align: center; }
    .main_banner .title span{ margin: 0 auto; }
    .main_banner .list{ display: none; position: relative; gap: 4rem; justify-content: center; flex-direction: row; top: auto; left: auto; margin: 0 0 2rem; }
    .main_banner .list span{ font-size: 2rem; }
    .main_banner .list span:nth-of-type(1),
    .main_banner .list span:nth-of-type(2){ margin: 0; }
    .main_banner .history{ display: none; position: relative; top: auto; right: auto; text-align: center; }
    .main_banner .history br{ display: none; }

    .services_banner{ height: auto; padding-bottom: 26rem; }
    .services_banner .subtitle{ font: 3.4rem 'EuclidCircularA-Regular'; }
    .services_banner .title{ font-size: 5.6rem; }
    .services_banner p{ width: 100%; padding: 0 2rem; }
    .services_banner .buttons{ gap: 2rem; }

    .services .container .item{ padding: 4rem; }
    .services .container .item .title{ font-size: 4.2rem; }
    .services .container .item .list{ gap: 1.6rem; height: 28rem; }
    .services .container .item .list a,
    .services .container .item .list span{ font-size: 3rem; }
    .services .container .item:nth-of-type(1){ width: 100%; min-width: 100%; background-position: right bottom -2rem; background-size: 55rem; }
    .services .container .item:nth-of-type(2){ width: 100%; min-width: 100%; background-size: 46rem; }
    .services .container .item:nth-of-type(3){ width: 100%; min-width: 100%; background-size: 30rem; }
    .services .container .item.catg{ width: 100%; min-width: 100%; background-position: bottom right -20rem; }
    .services .container .item.catg .list{ gap: 1.8rem; height: 22rem; }
    .services .container .item.catg .list .columned{ gap: 8rem; }
    .services .container .item.catg .list .columned div{ gap: 2rem; width: auto; }
    .services .container .item.sale{ width: 100%; min-width: 100%; min-height: 38rem; }
    .services .container .item.sale:before{ bottom: 5rem; width: 7rem; height: 7rem; }
    .services .container .item.sale:after{ right: 4rem; width: 38rem; background-size: 38rem; }
    
    .service_slider{ margin-bottom: 0; padding-bottom: 4rem; overflow-x: auto; }

    .top_content h1{ font-size: 4.2rem; text-align: center; }
    .top_content h1 > span{ display: inline; }

    .asymmetric .container > .title{ font-size: 4.2rem; }
    .asymmetric .container .group.one{ width: 100%; }
    .asymmetric .container .group.two,
    .asymmetric.v2 .container .group.two{ width: 100%; }
    .asymmetric .container .group .item{ height: 40rem !important; }
    .asymmetric .container .group .item.img{ height: 60rem !important; }
    .asymmetric .container .group.two .item:nth-of-type(2),
    .asymmetric .container .group.two .item:nth-of-type(3),
    .asymmetric.v2 .container .group.two .item:nth-of-type(1),
    .asymmetric.v2 .container .group.two .item:nth-of-type(2),
    .asymmetric.v2 .container .group.two .item:nth-of-type(3){ width: 100%; }
    .asymmetric .container .group .item .title{ font-size: 4.2rem; }
    .asymmetric .container .group .item .descr{ font-size: 3rem; }
    .asymmetric .container .group .item.img:after{ background: linear-gradient(to bottom, #000, transparent 30%, #000); opacity: .7; }

    .accordion{ background: none; }
    .accordion .container{ position: static; }
    .accordion .container .h1{ margin-bottom: 4rem; height: auto; line-height: 1.4; }
    .accordion .container .title{ top: 4rem; left: 4rem; right: 4rem; height: 7.4rem; line-height: 7.4rem; width: fit-content; margin: 0 auto; padding: 0 2rem; font-size: 2.76rem; }
    .accordion .container .ftm{ top: auto; bottom: 4rem; right: 8rem; height: 8rem; }
    .accordion .container .ftm.fix{ top: auto; }
    .accordion .container .ftm img{ width: 16rem; height: 7rem; }
    .accordion .group{ flex-wrap: wrap; gap: 2rem; height: auto; padding: 0 2rem; }
    .accordion .group .item{ width: calc(50% - 1rem); min-width: calc(50% - 1rem); height: 55rem; background: #f4f4f6; padding: 0; }
    .accordion .group .item.active,
    .accordion .group .item:hover{ width: calc(50% - 1rem); min-width: calc(50% - 1rem); height: 55rem; border-radius: 0; }
    .accordion .group .item:nth-of-type(3){ width: 100%; min-width: 100%; height: 55rem; }
    .accordion .group .item:nth-of-type(4){ width: 100%; min-width: 100%; height: 55rem; }
    .accordion .group:hover .item.active:not(:hover){ width: 100%; min-width: 100%; height: 55rem; padding: 0; }
    .accordion .group .item img{ width: 100%; }

    .photogallery .container .group{ width: 100%; }
    .photogallery .container .group.items4 + .items4 img:nth-of-type(1){ float: right; margin: 0 0 0 2rem; }

    .stages{ margin-bottom: 16rem; padding-top: 6rem; }
    .stages .container{ justify-content: center; flex-wrap: wrap; gap: 6rem; padding: 0; }
    .stages .txt{ width: 60rem; min-height: 22rem; text-align: center; }
    .stages .txt .item .title{ margin-bottom: 4rem; }

    .news-category{  }
    .news-category h1{ margin-bottom: 4rem; font-size: 4.6rem; }
    .news-category .group{ display: flex; flex-wrap: wrap; gap: 2rem; }
    .news-category .group .item{ flex-direction: column; gap: 3rem; margin: 0; padding: 2rem 2rem 4rem; }
    .news-category .group .item .img{ width: 100%; height: auto; }
    .news-category .group .item .txt{ height: auto; overflow-y: hidden; }
    .news-category .group .item .txt p{ font-size: 3rem; }
    .news-category .group .item .txt .date{ font-size: 3rem; }
    .news-category .group .item .txt .title{ font-size: 3rem; }
    .news-category .group .item .txt .descr{ font-size: 3rem; }
    .news-category .items3 .item{ float: none; width: 100%; margin: 0; }
    .news-category .items3 .item:nth-of-type(1){ flex-direction: column; width: 100%; margin: 0; }
    .news-category .items3 .item:nth-of-type(1) .txt{ height: auto; overflow-y: hidden; }
    .news-category .items3.reversed .item{ float: none; }
    .news-category .items3.reversed .item:nth-of-type(1){ flex-direction: column; width: 100%; margin: 0; }
    .news-category .items3.reversed .item:nth-of-type(1) .img{ width: 100%; }
    .news-category .items3.reversed .item:nth-of-type(1) .txt{ height: auto; overflow-y: hidden; }

    .news-article{ margin-bottom: 12rem; }
    .news-article h1{ margin-bottom: 4rem; font: 4.6rem 'EuclidCircularA-Medium'; }
    .news-article .group{ padding: 0; }
    .news-article .group .item .txt .title{ font: 3.2rem 'EuclidCircularA-Medium'; line-height: 1.4; text-transform: uppercase; }
    .news-article .group .item .txt ul{ margin: 0 0 0 3rem; line-height: 1.2; }
    .news-article .group .item .img{ border-radius: 2rem; overflow: hidden; }
    .news-article .group .item .img img{ width: 100%; height: 100%; object-fit: cover; }
    .news-article .group.widetext .item{ flex-direction: column; }
    .news-article .group.widetext .item .img{ width: 100%; min-width: 100%; order: 1; }
    .news-article .group.widetext .item .txt{ order: 2; }
    .news-article .group.widetext.reversed .item{ flex-direction: column; }
    .news-article .group.widetext.reversed .item .img{ order: 2; }
    .news-article .group.widetext.reversed .item .txt{ order: 1; }
    .news-article .group.columns2{ flex-direction: column; }
    .news-article .group.columns2 .item .img{ height: auto; }
    .news-article .group.columns2.small .item{ flex-direction: column; }
    .news-article .group.columns2.small .item .img{ width: 100%; min-width: 100%; }
    .news-article article{ padding: 0; }
    .news-article article p{ margin-bottom: 5rem; }

    .project .container{ flex-wrap: wrap; gap: 5rem; padding: 3rem 2rem; }
    .project .container .item .group{ display: none; }
    .project .container .item.text{ width: 100%; min-width: 100%; padding: 0; }
    .project .container .item .title{ margin-bottom: 4rem; font: 4.2rem 'EuclidCircularA-Regular'; }
    .project .container .item .hint{ height: auto; padding-left: 7rem; font: 3rem 'EuclidCircularA-Regular'; line-height: 1; background-size: 5.2rem; }
    .project .container .item p{ font-size: 3rem; }
    .project .container .form{ width: 100%; }
    .project .container .form input{ height: 10rem; line-height: 10rem; font-size: 3rem; }
    .project .container .form #project-name{ padding-left: 8rem; background-size: 3.6rem; background-position: left 2.5rem center; }
    .project .container .form #project-phone{ padding-left: 8rem; background-size: 3.6rem; background-position: left 2.5rem center; }
    .project .container .form #project-phone.attention{ background-position: left 2.5rem center!important; }
    .project .container .form #project-message{ padding-left: 8rem; height: 26rem; font-size: 3rem; background-size: 3.6rem; background-position: top 1.75rem left 2.5rem; }
    .project .container .form label[for="project-file"]{ height: 10rem; line-height: 10rem; padding-left: 8rem; font-size: 3rem; background-size: 3.6rem; background-position: left 2.5rem center; }
    .project .container .form input[type=submit]{ height: 10rem; line-height: 10rem; margin-bottom: 2.5rem; }
    .project .container .form #project-upload-data{ height: 10rem; line-height: 10rem; }
    .project .container .form #project-upload-data .file{ max-width: 65.8rem; height: 10rem; line-height: 10rem; padding: 0 0 0 2.5rem; }
    .project .container .form #project-upload-data .file .name{ font-size: 2.8rem; height: 10rem; line-height: 10rem; padding-left: 5.5rem; background-size: 3.6rem; }
    .project .container .form #project-upload-data .file .cancel-upload{ width: 10rem; height: 10rem; line-height: 10rem; background-size: 2.4rem; }
    .project .container .form .consent{ font-size: 3rem; }
    .project .container .item.girl{ display: none; }

    .article:before,
    .article:after{ display: none; }
    .article h2{ font-size: 4.6rem; }
    .article .columns .item p{ font-size: 3rem; }
    .article .columns{ flex-wrap: wrap; gap: 4rem; padding: 0; }
    .article .columns .item{ width: 100%; min-width: 100%; }
    .article .columns .item .buttons{ flex-wrap: wrap; padding: 4rem 0; }
    .article .columns .item .buttons .button{ width: 70%; margin: 0 auto; }
    .article .columns .item img{ height: 40rem; }
    .article .columns .item .imgs img{ height: 41rem!important; }
    .article.v3 h2{ margin-bottom: 6rem; font-size: 3rem; }

    .article_super .container{ gap: 4rem; }
    .article_super h2{ margin-bottom: 2rem; font-size: 3.2rem; }
    .article_super .item{ flex-wrap: wrap; gap: 4rem; }
    .article_super .item .text p{ font-size: 3rem; }
    .article_super .item .buttons{ flex-wrap: wrap; padding: 0; }
    .article_super .item .buttons .button{ width: 100%; margin: 0 auto; font-size: 3rem; }
    .article_super .columns2 .text{ width: calc(50% - 2rem); min-width: calc(50% - 2rem); }
    .article_super .columns2 .img{ width: calc(50% - 2rem); min-width: calc(50% - 2rem); height: auto; }
    .article_super .columns3 .text .img{ height: 40rem; }
    .article_super .columns3 .text .img img{ height: 40rem; }
    .article_super .columns3 .text{ width: calc(50% - 2rem); min-width: calc(50% - 2rem); }
    .article_super .columns3 .text:nth-of-type(1){ width: 100%; min-width: 100%; }
    .article_super .columns3 .text:nth-of-type(1) .img img{ object-position: 0 0; }
    .article_super .columns2-bigimg .img{ width: 100%; min-width: 100%; height: 48rem; order: 1; }
    .article_super .columns2-bigimg .img img{ height: 48rem; }
    .article_super .columns2-bigimg .text{ order: 2; }
    .article_super .columns3.reversed .text:nth-of-type(1) .img{ height: 38rem; }
    .article_super .columns3.reversed .text:nth-of-type(1) .img img{ height: 38rem; }
    .article_super .columns3.reversed .text:nth-of-type(3) .img{ height: 80rem; }
    .article_super .columns3.reversed .text:nth-of-type(3) .img img{ height: 80rem; }

    .prefs{ margin-bottom: 12rem; }
    .prefs .container{ flex-wrap: wrap; }
    .prefs .container .item{ width: calc(50% - 1rem); padding: 8rem 4rem; }
    .prefs .container .item .title{ margin-bottom: 1rem; font-size: 3rem; }
    .prefs .container .item .descr{ font-size: 3rem; }
    .prefs .container .item.red{ width: 100%; padding: 8rem 16rem; }
    .prefs .container .item.red .descr{ font-size: 3rem; }

    .portfolio .title{ margin-bottom: 2rem; font-size: 3.6rem; }
    .portfolio .group .item .txt{ font: 3.2rem 'EuclidCircularA-Medium'; }
    .portfolio .group .item:before{ opacity: .8; }
    .portfolio .group.item1{ width: calc(50% - 1rem);  order: 2; }
    .portfolio .group.item1 .item{ height: 51rem; }
    .portfolio .group.item2{ flex-direction: column; width: calc(50% - 1rem); order: 1; }
    .portfolio .group.item2 .item{ width: 100%; height: 77.5rem; }
    .portfolio .group.item3{ flex-direction: row; flex-wrap: wrap; width: 100%; order: 3; }
    .portfolio .group.item3 .item{ height: 51rem; }
    .portfolio .group.item3.reversed{ flex-direction: row; }
    .portfolio .group.item1.mobile-reversed{ flex-direction: row; width: 100%; }
    .portfolio .group.item3 .item:nth-of-type(2){ width: 100%; }

    .gallery .group{ flex-wrap: wrap; }
    .gallery .group.columns3 span:nth-of-type(1){ width: 100%; }
    .gallery .group.columns3 span:nth-of-type(2),
    .gallery .group.columns3 span:nth-of-type(3){ width: calc(50% - 1rem); }
    .gallery .group.columns4 span{ width: calc(50% - 1rem); }

    .partners h2{ font-size: 4.6rem; line-height: 1.4; }
    .partners h3{ font-size: 3rem; line-height: 1.4; }
    .partners .group .item{ width: calc(50% - 1rem); min-width: calc(50% - 1rem); }

    .masters{ display: flex; align-content: flex-start; flex-wrap: wrap; gap: 3rem 1.6rem; height: auto; margin-bottom: 16rem; padding: 34rem 4rem 0; background-size: auto 44rem; }
    .masters .title{ position: static; width: 100%; font-size: 4.8rem; order: 1; }
    .masters .item{ display: inline-flex; align-items: center; position: static; width: calc(33.33% - 1.1rem); height: auto; padding: 2rem 5rem; line-height: 1.2; font-size: 2rem; text-align: center; order: 2; }
    .masters .descr{ position: static; width: 100%; font-size: 3rem; order: 3; }

    .kamin{ background-position: top right; }
    .kamin .title{ left: 4rem; right: 4rem; width: auto; font-size: 4.6rem; }
    .kamin .item{ font-size: 2rem; }
    .kamin .item1{ top: 12rem; left: 12rem; }
    .kamin .item2{ top: 43rem; left: 0; right: 0; width: fit-content; margin: 0 auto; }

    .news h2{ font-size: 3.6rem; }
    .news .group .item{ width: 100%; min-width: 100%; padding: 3rem 1rem 1rem; }
    .news .group .item .date{ margin-bottom: 3rem; padding: 1.8rem 3rem; font-size: 3rem; line-height: 1; border-radius: 1.6rem; }
    .news .group .item .title{ font-size: 3rem; }
    .news .group .item .descr{ font-size: 3rem; }
    .news .group .item .img{ height: 42rem; }

    .product .container{ flex-wrap: wrap; gap: 6rem; }
    .product .container .photos{ width: 100%; min-width: 100%; order: 1; }
    .product .container .descr{ width: 100%; order: 2; }
    .product .container .descr h1{ margin-bottom: 4rem; font-size: 4.6rem; }
    .product .container .descr h2{ font-size: 3rem; }
    .product .container .descr p{ margin-bottom: 3rem; font-size: 3rem; }
    .product .container .descr .prefers{ gap: 2rem; padding-right: 0; }
    .product .container .descr .prefers .title{ font-size: 4.2rem; }
    .product .container .descr .prefers .item{ font-size: 3rem; }
    .product .container .descr .prefers .item .num{ font-size: 1.8rem; }
    .product .container .descr .flex-list .list span{ height: 5.6rem; line-height: 5.6rem; }

    .esotericism .container{ flex-direction: column; padding: 4rem; }
    .esotericism .container .item{ padding: 4rem; }
    .esotericism .container .item .title{ font-size: 3rem; }
    .esotericism .container .item p{ font-size: 3rem; }

    .carousel{ min-height: 80rem; margin-bottom: 10rem; }
    .carousel .container .item{ gap: 8rem; max-width: 0; }
    .carousel .container .item:nth-of-type(2){ max-width: 8rem; }
    .carousel .container .item:nth-of-type(3){ max-width: 16rem; }
    .carousel .container .item:nth-of-type(3) .img{ transform: scale(1.12); }
    .carousel .container .item:nth-of-type(4) .img{ transform: scale(1.25); }
    .carousel .container .item:nth-of-type(5){ max-width: 16rem; }
    .carousel .container .item:nth-of-type(5) .img{ transform: scale(1.12); }
    .carousel .container .item:nth-of-type(6){ max-width: 8rem; }
    .carousel .container .item.active{ min-width: 42rem; }
    .carousel .container .item .txt{ font-size: 2.4rem; }
    .carousel .container .item .txt .title{ font-size: 4.2rem; }
    .carousel .container .item.active .txt{ max-height: 60rem; }
    .carousel .slider_navigation{ width: 30rem; }
    .carousel .slider_navigation .btn{ width: 6rem; height: 6rem; border-radius: 6rem; background-size: 2rem; }
    .carousel .slider_navigation .current{ line-height: 5rem; }

    .filter .container{ justify-content: center; padding: 2rem; }
    .filter .container .title{ display: flex; align-items: center; justify-content: center; flex-direction: column; font-size: 3rem; }
    .filter .container .title .heading{ font-size: 3rem; }
    .filter .container .title #filter_reset{ margin: 1rem 0 0; font-size: 3rem; }
    .filter .container .item{ width: calc(50% - 1.1rem); }
    .filter .container .item.wi2{ width: 100%; padding: 0; /*padding: 4rem 0 2rem;*/ }
    .filter .container .item .select .selected{ font-size: 3rem; height: 8rem; line-height: 8rem; }
    .filter .container .item .select .selected:after{ width: 8rem; height: 8rem; background-size: 2rem; }
    .filter .container .item .select .clear{ width: 8rem; height: 8rem; background-size: 2rem; }
    .filter .container .item .select .list{ top: 6.8rem; }
    .filter .container .item .select .list span{ font-size: 3rem; }
    .filter .container .item.checkboxes{ gap: 6rem; width: 100%; /*justify-content: flex-start;*/ }
    .filter .container .item .checkbox label{ padding-left: 5.6rem; font-size: 3rem; }
    .filter .container .item .checkbox label:before{ width: 4rem; height: 4rem; }
    .filter .container .item .checkbox label:after{ width: 4rem; height: 4rem; background-size: 3rem; }
    .filter .container .item .slider-container .back-bar .pointer{ top: -1.5rem; width: 2.6rem; height: 4rem; }
    .filter .container .item .slider-container .back-bar .pointer-label{ font-size: 3rem; }
    .filter .container .item input{ height: 8rem; line-height: 8rem; font-size: 3rem; }

    .catalog:after{ background-size: 8rem; }
    .catalog .container .item{ width: 100%; }
    .catalog .container .item a{ align-items: normal; flex-direction: row; gap: 3rem; }
    .catalog .container .item .img{ width: 36rem; min-width: 36rem; height: 28rem; min-height: 28rem; }
    .catalog .container .item .img span{ font-size: 3rem; padding: 0 4rem 0 .5rem; height: 4.6rem; line-height: 4.6rem; }
    .catalog .container .item .img span:after{ width: 4.6rem; height: 4.6rem; left: -4.1rem; }
    .catalog .container .item .txt{ display: flex; flex-direction: column; }
    .catalog .container .item .txt .title{ margin-bottom: 1rem; font-size: 4.2rem; }
    .catalog .container .item .txt .descr{ margin-bottom: 4rem; font-size: 3rem; }
    .catalog .container .item .txt .details{ height: 6.8rem; line-height: 6.8rem; font-size: 3rem; margin: auto 0 0; padding: 0 9rem; }

    .contact-box .container{ flex-wrap: wrap; }
    .contact-box .info{ width: 100%; gap: 10rem; order: 1; }
    .contact-box .info .item{ align-items: center; gap: 2rem; width: 100%; text-align: center; }
    .contact-box .info .item .title{ font-size: 3.6rem; }
    .contact-box .info .item.phone{ flex-direction: column; gap: 4rem; }
    .contact-box .info .item.phone a{ height: 4rem; line-height: 4rem; padding-left: 5.6rem; font-size: 3.6rem; }
    .contact-box .info .item.phone .tel{ background-size: 4rem; }
    .contact-box .info .item.phone .wa{ background-size: 4rem; }
    .contact-box .info .item.phone .tg{ background-size: 4rem; }
    .contact-box .feedback{ width: 100%; padding: 3rem 2rem; order: 2; }
    .contact-box .feedback .title{ font-size: 3rem; }
    .contact-box .feedback .title span{ font-size: 3rem; }
    .contact-box .feedback .form input[type='text']{ height: 10rem; line-height: 10rem; font-size: 3rem; }
    .contact-box .feedback .form textarea{ height: 24rem; padding-left: 8rem; background-size: 3.6rem; background-position: top 1.75rem left 2.5rem; font-size: 3rem; }
    .contact-box .feedback .form input[name='feedback-name']{ padding-left: 8rem; background-size: 3.6rem; background-position: left 2.5rem center; }
    .contact-box .feedback .form input[name='feedback-phone']{ padding-left: 8rem; background-size: 3.6rem; background-position: left 2.5rem center!important; }
    .contact-box .feedback .form #feedback-submit{ height: 10rem; line-height: 10rem; padding: 0 8rem; }
    .mymap{ height: 100rem; }
    .mymap iframe{ height: 100rem!important; }

    .consent{ padding-left: 0; }
    .consent br{ display: none; }
    .consent label{ padding-left: 8rem; font-size: 3rem; }
    .consent label:before{ left: 1.8rem; width: 4.6rem; height: 4.6rem; }
    .consent label:after{ left: 2.2rem; width: 4rem; height: 4rem; background-size: 3rem; }
    #questions .consent{ align-items: center; width: 100%; }
    #project .consent label{ padding-left: 8rem; font-size: 3rem; }

    .questions .container{ flex-wrap: wrap; gap: 5rem; }
    .questions .container .item.text{ width: 100%; min-width: 100%; }
    .questions .container .item.text .title{ margin-bottom: 4rem; padding-left: 8.5rem; height: 7rem; line-height: 7rem; font-size: 4.2rem; }
    .questions .container .item.text .title:before{ width: 7rem; height: 7rem; }
    .questions .container .item.text .hint{ font-size: 3rem; }
    .questions .container .item .form{ width: 100%; min-width: 100%; }
    .questions .container .item .form input{ height: 10rem; line-height: 10rem; font-size: 3rem; }
    .questions .container .item .form #questions-name{ width: 100%; padding-left: 8rem; background-size: 3.6rem; background-position: left 2.5rem center; }
    .questions .container .item .form #questions-phone{ width: 100%; padding-left: 8rem; background-size: 3.6rem; background-position: left 2.5rem center; }
    .questions .container .item .form #questions-phone.attention{ background-size: 3.6rem!important; background-position: left 2.5rem center!important; }
    .questions .container .item .form #questions-submit{ width: 100%; height: 10rem; line-height: 10rem; margin: 0 auto; padding: 0 4rem; font-size: 2.8rem; }
    .questions .container .item .form .hint{ width: 100%; font-size: 3rem; text-align: center; }

    footer .container .item.logotype{ width: 100%; }
    footer .container .item.logotype .logo{ width: 27.6rem; min-width: 27.6rem; height: 8.2rem; margin-bottom: 4rem; }
    footer .container .item.logotype .logo img{ width: 100%; height: 8.2rem; }
    footer .container .item.logotype .descr{ margin-bottom: 4rem; font-size: 3rem; }
    footer .container .item.logotype .requisites p{ font-size: 3rem; }
    footer .container .item.contacts{ width: 100%; text-align: left; }
    footer .container .item.contacts .address{ font-size: 3rem; background: none; }
    footer .container .item.contacts .phone{ height: 6rem; line-height: 6rem; margin-bottom: 4rem; padding-left: 8rem; background-size: 6rem; background-position: left center; }
    footer .container .item.contacts .phone a{ font-size: 4.6rem; }
    footer .container .item.contacts .phone a span{ font-size: 3.4rem; }
    footer .container .item.nav{ display: none; }
    footer .container .item.copyright{ width: 100%; padding: 4rem 0; font-size: 3rem; }
    footer .container .item.policy{ width: 100%; padding: 0; font-size: 3rem; text-align: left; border: 0; }
    footer .container .developer{ justify-content: flex-start; width: 100%; padding: 4rem 0 0; border: 0; }
    footer .container .developer a{ font-size: 3rem; }
    footer .container .developer a img{ width: 20rem; }

    .popup .txt{ width: 90%; padding: 6rem 3rem; border-width: 1rem; }
    .popup .txt .title{ font-size: 4.6rem; }
    .popup .txt .title span{ font-size: 3rem; }
    .popup .txt .form input[type=text]{ height: 10rem; line-height: 10rem; font-size: 3rem; padding-left: 8rem; }
    .popup .txt .form input[name=popup-name]{ background-size: 3.6rem!important; background-position: left 2.5rem center; }
    .popup .txt .form input[name=popup-phone]{ background-size: 3.6rem!important; background-position: left 2.5rem center; }
    .popup .txt .form textarea{ height: 24rem; font-size: 3rem; padding-left: 8rem; background-size: 3.6rem!important; background-position: top 2rem left 2.5rem; }
    .popup .consent{ margin: 2rem auto; }
    .popup .close{ top: 2rem; right: 2rem; width: 6rem; height: 6rem; background-size: 2.2rem; }
    .popup #popup-submit{ height: 10rem; line-height: 10rem; }

    .fancy_content{ left: 0; right: 0; margin: 0 auto; font-size: 3rem; line-height: 1.4; }
    .fancy_content a{ color: #8e0a26; }
    .fancy_content .button{ height: 8rem; line-height: 8rem; padding: 0 10rem; font-size: 3rem; }

    .err_message{ font-size: 3rem; }
}