@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
@font-face {
    font-family: 'Furore';
    src: url('../fonts/Furore.eot');
    src: url('../fonts/Furore.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Furore.woff2') format('woff2'),
        url('../fonts/Furore.woff') format('woff'),
        url('../fonts/Furore.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
:root{
	--black: #000000;
	--dark: #151515;
	--white: #ffffff;
	--red: #ff0000;
	--grey: #c2c2c2;
	--grey2: #eaecee;
	--grey3: #6c6c6c;
	--black_05: rgba(0, 0, 0, 0.5);
	--white_05: rgba(255, 255, 255, 0.5);
	--white_03: rgba(255, 255, 255, 0.3);

	--font-family: "Montserrat", sans-serif;
  	--second-family: "Furore", sans-serif;

	--h1: max(48px, 80rem);
	--h2: max(40px, 52rem);
	--h3: max(24px, 32rem);
	--h4: max(48px, 70rem);

	--subheading: max(20px, 24rem);
	--text: max(18px, 18rem);
	--caption: max(16px, 16rem);
	--min: max(14px, 16rem);

    --ease: cubic-bezier(.38, .005, .215, 1);
	--ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1);
}
/************************* reset *************************/
html{
	height: 100%;
	margin: 0;
	padding: 0;width: 100%;
	background: var(--white);
	font-size: 0.052vw;
	scrollbar-gutter: stable;
}
body{
	height: 100%;
	width: 100%;
	position: relative;
	margin: 0;
	padding: 0;
	color: var(--black);
	font-weight: 500;
	font-size: max(18px, 20rem);
	line-height: 110%;
	letter-spacing: -0.01em;
	font-family: var(--font-family), Arial, Helvetica, sans-serif;
	min-width: 320px;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}
h1, h2, h3, h4, h5, h6, p, ul, li, a, span, div, input, textarea, select, form, fieldset, button, dl, dd, dt, figure, figcaption, blockquote, caption, aside, section {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	box-sizing: border-box;
}
img {
	margin: 0;
	padding: 0;
	border-style: none;
	vertical-align: bottom;
}
input, textarea, select, button {
	font-weight: 400;
	font-family: var(--font-family), Arial, Helvetica, sans-serif;
	vertical-align:middle;
	border: 0;
	outline: 0;
	background: none;
}
a:hover {text-decoration: none;}
ul li {list-style: none;}
/************************* common styles *************************/
.holder {
	padding: 0 max(20px, 40rem);
}
h1, .h1, h2, .h2 {
	display: block;
	font-weight: 400;
	font-family: var(--second-family);
	font-size: max(40px, 134rem);
	line-height: 100%;
	letter-spacing: -0.01em;
	color: var(--dark);
}
a {transition: all 0.4s ease-in-out;}
p {margin: 0 0 max(20px, 22rem);}
p:last-child {margin: 0;}
p a, .article li a {color: var(--black);}
.center {text-align: center;}
.upper {text-transform: uppercase;}
.button-holder {text-align: center;}
.button-skew {
	display: flex;
	align-items: center;
	justify-content: center;
	width: max(156px, 196rem);
	height: max(116px, 152rem);
	padding: 10px;
	font-weight: 700;
	font-size: max(16px, 20rem);
	line-height: 110%;
	color: var(--white);
	text-decoration: none;
	text-align: center;
	background: var(--black);
	transform: skewY(-12deg);
}
.button-skew span {
	transform: skewY(12deg);
}
.button-red {
	background: var(--red);
}
.button-white {
	color: var(--black);
	background: var(--white);
}
.button-white:hover {
	color: var(--white);
	background: var(--red);
}
.button-border {
	color: var(--white);
	background: transparent;
	border: 1px solid var(--white);
}
.button-border:hover {
	color: var(--white);
	background: var(--red);
	border-color: var(--red);
}
/************************* wrapper *************************/
#wrapper {
	position: relative;
}
/************************* header *************************/
.header {
	background: var(--white);
}
.header-block {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	height: max(65px, 93rem);
}
.header-logo img {
	width: max(100px, 137rem);
}
.header-block .webs {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	gap: 10px;
}
.header-block .webs-item {
	width: max(40px, 53rem);
	height: max(40px, 53rem);
	border: 1px solid rgba(38, 38, 38, 0.1);
}
.header-nav-link {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	padding: 15px 0;
}
.header-nav-link svg {
	width: max(28px, 53rem);
}
.header-nav-link circle {
	fill: var(--dark);
	transition: all 0.4s ease-in-out;
}
.header-nav-link:hover circle {
	fill: var(--red);
}

.lock {overflow: hidden;}
.nav {
	position: fixed;
	inset: 0;
	z-index: 1000;
	color: var(--white);
	background: var(--black);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: all 0.4s ease-out;
}
.nav.vis {
	opacity: 1;
	visibility: visible;
	pointer-events: all;
}
.nav-close {
	position: absolute;
	top: max(20px, 40rem);
	right: max(20px, 40rem);
}
.nav-close svg {
	width: max(24px, 37rem);
	height: max(24px, 37rem);
}
.nav-close path {
	stroke: var(--white);
	transition: all 0.4s ease-in-out;
}
.nav-close:hover path {
	stroke: var(--red);
}
.nav-block {
	display: flex;
	height: 100%;
	padding: 0 max(40px, 130rem);
}
.nav-side {
	width: 40%;
	padding: max(40px, 90rem) 0;
	padding-right: max(40px, 90rem);
	border-right: 1px solid var(--white_03);
}
.nav-list {
	display: flex;
	flex-direction: column;
	gap: max(20px, 25rem);
}
.nav-item {
	position: relative;
	font-weight: 600;
	font-size: max(22px, 66rem);
	line-height: 100%;
	letter-spacing: -0.01em;
	color: var(--white_03);
	text-decoration: none;
}
.nav-item::after {
	position: absolute;
	right: 0;
	top: 50%;
	margin-top: min(-7px, -9rem);
	width: max(14px, 18rem);
	height: max(14px, 18rem);
	content: '';
	background: url(../images/arrow.svg) 50% 50% no-repeat;
	background-size: contain;
	transition: all 0.4s ease-in-out;
	opacity: 0;
	transform: translateX(-15px);
}
.nav-item.active,
.nav-item:hover {
	color: var(--white);
}
.nav-item.active::after,
.nav-item:hover::after {
	opacity: 1;
	transform: translateX(0px);
}
.nav-content {
	flex: 1;
	padding: max(40px, 90rem) 0;
	padding-left: max(40px, 90rem);
}
.nav-button {
	padding: max(10px, 20rem) 0;
	margin: 0 0 max(40px, 100rem);
}
.nav-info {
	display: flex;
	gap: max(40px, 110rem);
}
.nav-info-item {
	display: flex;
	flex-direction: column;
	gap: max(5px, 5rem);
	margin: 0 0 max(40px, 70rem);
}
.nav-info-item:last-child {margin: 0;}
.nav-info-text {
	font-weight: 600;
	font-size: max(16px, 25rem);
	line-height: 150%;
}
.nav-info-text a {
	color: var(--white);
	text-decoration: none;
}
.nav-info-text a:hover {
	color: var(--red);
}

/************************* hero *************************/
.hero {
	position: relative;
	margin: 0 0 max(100px, 200rem);
	background: url(../images/hero.jpg) 50% 50% no-repeat;
	background-size: cover;
}
.hero-block {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: max(640px, 950rem);
	padding: max(20px, 40rem) 0 max(40px, 60rem);
	color: var(--white);
}
.hero-content {
	margin: auto 0 0;
	padding: 0 0 max(30px, 30rem);
	border-bottom: 1px solid var(--white);
}
.hero-subtitle {
	max-width: max(700px, 1090rem);
	margin: 0 0 max(20px, 30rem);
	font-weight: 500;
	font-size: max(18px, 30rem);
	line-height: 110%;
}
.hero-content h1 {
	line-height: 119%;
	color: var(--white);
}
.hero-2 .hero-content h1 {
	max-width: max(540px, 1400rem);
}
.hero-3 .hero-content h1 {
	max-width: max(540px, 1600rem);
}
.hero-top {
	display: flex;
	justify-content: space-between;
	gap: 20px;
}
.hero-name {
	width: 100%;
	max-width: max(260px, 300rem);
	text-align: right;
	margin: 0 0 0 auto;
}
.hero-place {
	display: flex;
	align-items: flex-end;
}
.hero-place-main {
	flex: 1;
}
.hero-place-text {
	width: 39%;
	min-width: 39%;
	margin: 0 0 max(10px, 20rem);
	font-weight: 600;
	font-size: max(14px, 20rem);
	line-height: 110%;
	text-align: right;
}
.hero-main {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: max(40px, 80rem);
}
.hero-buttons {
	display: flex;
	gap: max(20px, 30rem);
	margin: 0 0 max(24px, 40rem);
}

/************************* breadcrumbs *************************/
.breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 0 max(10px, 15rem);
	padding: 0;
	margin: 0;
}
.breadcrumbs li {
	display: flex;
	align-items: flex-start;
	gap: max(10px, 15rem);
	padding: 0;
	margin: 0;
	color: var(--white);
	list-style: none;
}
.breadcrumbs li::before {
	display: block;
	content: '/';
	color: var(--white_05);
}
.breadcrumbs li:first-child::before {display: none;}
.breadcrumbs a {
	position: relative;
	color: var(--white_05);
	text-decoration: none;
}
.breadcrumbs a:hover {
	color: var(--white);
}

/************************* review *************************/
.review h2 {
	padding: 0 0 max(25px, 50rem);
	margin: 0 0 max(30px, 60rem);
	border-bottom: 1px solid #d9d9d9;
}
.review-wrap {
	position: relative;
}
.review-block {
	display: flex;
	position: relative;
	padding: 0 max(130px, 150rem) 0 0;
}
.review-side {
	width: max(360px, 437rem);
	min-width: max(360px, 437rem);
	padding-bottom: max(180px, 230rem);
}
.review-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.review-content {
	flex: 1;
	padding: 0 0 0 max(100px, 186rem);
}
.review-button {
	position: absolute;
	left: 0;
	bottom: max(16px, 24rem);
}
.review-company {
	margin: 0 0 max(20px, 30rem);
	font-weight: 700;
	font-size: max(22px, 35rem);
	line-height: 120%;
	color: #828282;
}
.review-text {
	max-width: max(600px, 800rem);
	margin: 0 0 max(40px, 60rem);
	font-weight: 500;
	font-size: max(18px, 35rem);
	line-height: 130%;
	letter-spacing: -0.01em;
	color: var(--dark);
}
.review-name {
	margin: 0 0 max(6px, 10rem);
	font-weight: 700;
	font-size: max(22px, 35rem);
	line-height: 120%;
}
.review-status {
	color: #828282;
}
.review-arrows {
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	gap: max(10px, 20rem);
}
.review-prev {
	transform: scale(-1, 1);
}
.review-arrows .arrow {
	background: var(--black);
}
.review-arrows .arrow:hover {
	background: var(--red);
}
.break-mob {display: none;}

/************************* arena *************************/
.arena {
	padding: max(80px, 140rem) max(20px, 40rem) max(80px, 160rem);
	margin: 0 min(-20px, -40rem);
	color: var(--white);
	background: var(--black);
}
.arena h2 {
	margin: 0 0 max(40px, 95rem);
	color: var(--white);
	text-align: center;
}
.button-block {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: max(20px, 30rem);
}
.button-block .big-button {
	color: var(--white);
	border-bottom: 1px solid var(--white_03);
	border-top: 1px solid var(--white_03);
}
.arena-line {
	overflow: hidden;
	margin: 0 min(-20px, -40rem) max(40px, 60rem);
}
.arena-wrap {
	display: flex;
	gap: max(20px, 30rem);
	padding: 0 max(20px, 30rem) 0 0;
}
.arena-item {
	width: max(240px, 343rem);
	aspect-ratio: 1/1;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #1c1c1f;
}
.arena-item:hover {
	background: var(--red);
}
.arena-item path {
	fill: #b5b5b5;
	transition: all 0.4s ease-in-out;
}
.arena-item:hover path {
	fill: var(--white);
}
.arena-item svg {
	max-width: 80%;
	max-height: 80%;
}

/************************* promo *************************/
.promo {
	position: relative;
	overflow: hidden;
	padding: 0 max(20px, 40rem);
	margin: 0 min(-20px, -40rem);
}
.promo-section {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	height: 100vh;
	color: #c2c2c2;
	transition: all 0.6s ease-in-out 0.1s;
	border-bottom: 1px solid #d9d9d9;
}
.promo-section:last-child {border-bottom: 0;}
.promo-num {
	margin: 0 0 max(10px, 20rem);
}
.promo-num span {
	opacity: 0;
	transition: all 0.6s ease-in-out 0.1s;
}
.promo-title {
	margin: 0 0 max(20px, 34rem);
	font-family: var(--second-family);
	font-weight: 400;
	font-size: max(44px, 134rem);
	line-height: 104%;
}
.promo-text {
	max-width: max(660px, 800rem);
}
.promo-section.active {
	color: var(--black);
}
.promo-section.active .promo-num span {
	opacity: 1;
}
.promo-img {
	position: absolute;
	width: max(300px, 633rem);
	aspect-ratio: 1.086/1;
	transform: translate(200px, -50%);
	opacity: 0;
	transition: opacity 0.3s linear;
	pointer-events: none;
}
.promo-img.is-active {
	opacity: 1;
}
.promo-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.promo-img-text {
	position: absolute;
	top: max(10px, 16rem);
	left: max(10px, 20rem);
	font-weight: 700;
	font-size: max(30px, 85rem);
	line-height: 110%;
	letter-spacing: -0.01em;
	text-transform: uppercase;
	color: var(--white);
}



/************************* section *************************/
.section {
	margin: 0 0 max(100px, 200rem);
}

/************************* top *************************/
.top {
	margin-top: min(-80px, -160rem);
}
.top-banner {
	height: max(240px, 700rem);
	margin: 0 0 max(30px, 60rem);
}
.top-banner:last-child {margin: 0;}
.top-banner img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.top-text {
    max-width: max(1240px, 1370rem);
	margin: 0 0 max(30px, 60rem);
}
.top-text:last-child {margin: 0;}
.top-hidden {display: none;}

/************************* box *************************/
.box h2 {
	margin: 0 0 max(24px, 30rem);
}
.box-text {
	max-width: max(1240px, 1370rem);
	margin: 0 0 max(30px, 60rem);
}
.photo {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: max(20px, 30rem);
}
.photo-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.photo-big {
	grid-column: span 2;
	grid-row: span 2;
}

/************************* gallery-box *************************/
.gallery-box {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.gallery-side {
	position: sticky;
	top: max(20px, 20rem);
	left: 0;
	width: 30%;
	display: flex;
	flex-direction: column;
	gap: max(20px, 20rem);
	padding: max(20px, 20rem) 0 0;
}
.gallery-box .photo {
	width: 66%;
	grid-template-columns: repeat(2, 1fr);
}

/************************* object *************************/
.object {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: max(20px, 30rem);
	margin: 0 0 max(20px, 30rem);
}
.object:last-child {margin: 0;}
.object-item {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: max(25px, 50rem) max(20px, 50rem) max(20px, 50rem);
	color: var(--black);
	text-decoration: none;
	background: var(--grey2);
	transition: all 0.4s ease-in-out;
}
.object-item .arrow {
	position: absolute;
	top: min(-60px, -90rem);
}
.object-item:first-child .arrow {
	right: 0;
	transform: scale(-1, 1);
	background: var(--black);
}
.object-item:nth-child(2) .arrow {
	left: 0;
}
.object-title {
	margin: 0 0 max(20px, 32rem);
	font-family: var(--second-family);
	font-weight: 400;
	font-size: max(28px, 70rem);
	line-height: 100%;
	color: var(--dark);
	transition: all 0.4s ease-in-out;
}
.object-text {
	margin: 0 0 max(40px, 86rem);
}
.object-info {
	margin: auto 0 0;
	display: flex;
	align-items: flex-end;
	gap: max(20px, 30rem);
}
.object-img {
	width: max(200px, 264rem);
	min-width: max(200px, 264rem);
}
.object-img img {
	width: 100%;
	aspect-ratio: 1/1;
	object-fit: cover;
}
.object-content {
	display: flex;
	flex-direction: column;
	gap: max(20px, 20rem);
}
.object-stat {
	display: flex;
	flex-direction: column;
	gap: 5px;
}
.object-stat-name {
	font-weight: 500;
	font-size: max(13px, 15rem);
	line-height: 110%;
	letter-spacing: -0.01em;
	color: rgba(0, 0, 0, 0.3);
	transition: all 0.4s ease-in-out;
}
.object-stat-text {
	font-size: max(22px, 25rem);
	line-height: 110%;
}
.object-item:hover {
	color: var(--white);
	background: var(--red);
}
.object-item:hover .object-title {
	color: var(--white);
}
.object-item:hover .object-stat-name {
	color: rgba(255, 255, 255, 0.7);
}
.object-buttons {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: max(20px, 30rem);
}
.big-button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: max(20px, 50rem);
	padding: max(20px, 30rem) 0;
	min-height: max(100px, 150rem);
	color: var(--black);
	text-decoration: none;
	border-bottom: 1px solid #d9d9d9;
	border-top: 1px solid #d9d9d9;
}
.big-button-text {
	font-weight: 500;
	font-size: max(24px, 35rem);
	line-height: 120%;
}

/************************* catalog-list *************************/
.catalog-tab {
	display: none;
}
.catalog-tab.vis {
	display: block;
}
.catalog-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: max(20px, 30rem);
	margin: 0 0 max(20px, 30rem);
}
.catalog-list:last-child {margin: 0;}
.catalog-item {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: max(20px, 30rem);
	min-height: max(200px, 312rem);
	padding: max(25px, 50rem) max(20px, 50rem) max(20px, 50rem);
	color: var(--black);
	text-decoration: none;
	background: var(--grey2);
}
.catalog-item h4 {
	color: var(--black);
	transition: all 0.4s ease-in-out;
}
.catalog-item:hover {
	color: var(--white);
	background: var(--red);
}
.catalog-item:hover h4 {
	color: var(--white);
}
.catalog-item:hover .arrow {
	background: var(--white);
}
.catalog-item:hover .arrow path {
	stroke: var(--red);
}
.arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	width: max(40px, 60rem);
	height: max(40px, 60rem);
	background: var(--red);
	border-radius: 50%;
	transition: all 0.4s ease-in-out;
}
.arrow svg {
	width: max(14px, 18rem);
}
.arrow path {
	stroke: var(--white);
	transition: all 0.4s ease-in-out;
}

/************************* info *************************/
.info-title {
	position: relative;
	margin: 0 0 max(30px, 44rem);
	padding: 0 0 0 max(24px, 49rem);
	font-weight: 400;
    font-family: var(--second-family);
    font-size: max(30px, 70rem);
    line-height: 90%;
    letter-spacing: -0.01em;
    color: var(--dark);
}
.info-title::before {
	position: absolute;
	left: 0;
	top: max(10px, 25rem);
	content: '';
	width: max(12px, 21rem);
	height: max(12px, 21rem);
	background: var(--red);
	border-radius: 50%;
}
.info-block {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: max(20px, 30rem);
}
.info-item {
	padding: max(30px, 44rem) max(20px, 50rem) max(30px, 50rem);
	color: var(--white);
	background: var(--black);
}
.info-item-red {
	background: var(--red);
}
h4 {
	font-weight: 400;
    font-family: var(--second-family);
    font-size: max(24px, 40rem);
    line-height: 104%;
    letter-spacing: -0.01em;
    color: var(--dark);
}
.info-item h4 {
	margin: 0 0 max(10px, 14rem);
	color: var(--white);
}
.info-text {
	font-weight: 700;
	font-size: max(18px, 20rem);
	line-height: 110%;
	color: rgba(255, 255, 255, 0.8);
}
.info-box {
	display: flex;
	flex-direction: column;
	padding: max(30px, 44rem) max(20px, 50rem) max(30px, 50rem);
	border: 1px solid #d9d9d9;
}
.info-box h4 {
	margin: 0 0 max(30px, 60rem);
}
.info-tag-list {
	display: flex;
	flex-wrap: wrap;
	gap: max(10px, 15rem);
	margin: auto 0 0;
}
.info-tag {
	padding: max(10px, 14rem) max(15px, 20rem);
	border: 1px solid #d9d9d9;
}
.info-stat {
	display: flex;
}
.info-stat-item {
	width: 33.33%;
}
.info-stat-text {
	color: rgba(0, 0, 0, 0.5);
}
.info-stat-num {
	padding: max(16px, 24rem) 0 max(6px, 10rem);
	font-weight: 700;
	font-size: max(30px, 40rem);
	line-height: 120%;
	color: var(--red);
}
.info-stat-num span {
	font-weight: 700;
	font-size: max(60px, 100rem);
	color: var(--dark);
}

/************************* about *************************/
.about {
	max-width: max(1240px, 1370rem);
}
.about h3 {
	margin: 0 0 max(24px, 40rem);
	font-weight: 700;
	font-size: max(24px, 35rem);
	line-height: 120%;
}
.about-text {
	margin: 0 0 max(24px, 40rem);
}
.about-more {
	color: var(--red);
}
.text-hidden {
	display: none;
}

/************************* why *************************/
.why h2 {
	margin: 0 0 max(30px, 66rem);
}
.why-list {
	display: flex;
	flex-direction: column;
	gap: max(20px, 30rem);
}
.why-item {
	display: flex;
	align-items: center;
	min-height: max(84px, 100rem);
	padding: max(20px, 22rem) max(20px, 40rem);
	background: var(--grey2);
	border-left: 4px solid var(--red);
}
.why-name {
	width: 50%;
	font-size: max(18px, 25rem);
	line-height: 110%;
	color: #828282;
}
.why-text {
	width: 50%;
	font-size: max(24px, 35rem);
	line-height: 120%;
}

/************************* team *************************/
.team {
	position: relative;
}
.team h2 {
	margin: 0 0 max(20px, 46rem);
}
.team-slider {
	margin: 0 min(-10px, -16rem);
}
.team-slide {
	padding: 0 max(10px, 16rem);
}
.team-photo {
	margin: 0 0 max(24px, 40rem);
}
.team-photo img {
	width: 100%;
	aspect-ratio: 1/1;
	object-fit: cover;
}
.team-name {
	margin: 0 0 max(8px, 10rem);
	font-weight: 700;
	font-size: max(24px, 35rem);
	line-height: 120%;
}
.team-status {
	color: #828282;
}
.team-arrows {
	position: absolute;
	top: max(10px, 60rem);
	right: 0;
	display: flex;
	gap: max(10px, 20rem);
}
.team-prev {
	transform: scale(-1, 1);
}
.team-arrows .arrow {
	background: var(--black);
}
.team-arrows .arrow:hover {
	background: var(--red);
}

/************************* contact *************************/
.contact-top {
	display: flex;
	align-items: flex-end;
	margin: 0 0 max(60px, 130rem);
}
.contact-col {
	width: 50%;
}
.contact-block {
	display: flex;
	align-items: flex-end;
	margin: 0 0 max(60px, 150rem);
}
.contact-block:last-child {margin: 0;}
.contact-line {
	display: flex;
	align-items: flex-end;
	gap: max(60px, 136rem);
}
.contact-col .webs-item {
    width: max(40px, 83rem);
    height: max(40px, 83rem);
    background: #f2f2f2;
}
.contact-mail {
	font-weight: 600;
	font-size: max(28px, 90rem);
	line-height: 120%;
	color: var(--red);
	text-decoration: none;
}
.contact-text {
	margin: 0 0 max(20px, 30rem);
	font-weight: 500;
	font-size: max(18px, 35rem);
	line-height: 150%;
}
.contact-text:last-child {margin: 0;}
.contact-text a {
	color: var(--black);
	text-decoration: none;
}
.contact-text .contact-link {
	font-weight: 600;
	color: var(--red);
}
.contact-banner {
	height: max(240px, 700rem);
}
.contact-banner img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/************************* footer *************************/
.footer {
	padding: max(80px, 95rem) 0;
	color: var(--white);
	background: var(--black);
}
.footer-title {
	margin: 0 0 max(24px, 38rem);
	font-weight: 500;
	font-size: max(20px, 25rem);
	line-height: 110%;
	letter-spacing: -0.01em;
	text-align: center;
}
.footer-logo {
	margin: 0 0 max(60px, 70rem);
	text-align: center;
}
.footer-logo img {
	width: max(320px, 1420rem);
}
.footer-block {
	display: flex;
	flex-wrap: wrap;
	gap: max(40px, 150rem) 0;
	padding: max(60px, 100rem) 0 0;
	border-top: 1px solid var(--white_03);
}
.footer-col {
	width: 50%;
	padding: 0 30px 0 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.footer-phone {
	margin: 0 0 max(10px, 10rem);
	font-weight: 600;
	font-size: max(36px, 70rem);
	line-height: 120%;
	color: var(--white);
	text-decoration: none;
}
.footer-mail {
	font-weight: 600;
	font-size: max(20px, 36rem);
	line-height: 150%;
	color: var(--white);
	text-decoration: none;
}
.footer-phone:hover, .footer-mail:hover {
	color: var(--red);
}
.footer-address {
	max-width: max(330px, 600rem);
	margin: 0 0 max(30px, 47rem);
	font-weight: 500;
	font-size: max(20px, 36rem);
	line-height: 150%;
}
.footer-info {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: max(14px, 14rem);
	font-weight: 500;
	font-size: max(18px, 20rem);
	line-height: 150%;
	color: var(--grey3);
}
.footer-info a {
	color: var(--grey3);
}
.footer-nav {
	display: flex;
	flex-wrap: wrap;
	gap: max(25px, 25rem);
	max-width: max(340px, 440rem);
}
.footer-nav-item {
	font-weight: 500;
	font-size: max(20px, 25rem);
	line-height: 150%;
	color: var(--white);
	text-decoration: none;
}
.footer-nav-item:hover {
	color: var(--red);
}
.webs {
	display: flex;
	gap: 20px;
}
.webs-item {
	display: flex;
	align-items: center;
	justify-content: center;
	width: max(40px, 65rem);
	height: max(40px, 65rem);
	background: var(--white);
	border-radius: 50%;
}
.webs-item path {
	fill: var(--black);
	transition: all 0.4s ease-in-out;
}
.webs-item:hover path {
	fill: var(--red);
}
.max svg {
	width: 45%;
	margin: 0 0 0 1px;
}
.vk svg {
	width: 52.8%;
}
.tg svg {
	width: 45%;
	margin: 0 2px 0 0;
}


/************************* media *************************/
@media screen and (max-width: 1300px) {
	.review-content {
		padding: 0 0 0 max(60px, 140rem);
	}
}
@media screen and (max-width: 1024px) {
	.nav-block {
		flex-direction: column;
		height: auto;
		gap: 40px;
		padding: max(80px, 90rem) max(20px, 60rem) max(40px, 90rem);
	}
	.nav-side {
		width: auto;
		padding: 0;
		border-right: 0;
	}
	.nav-content {
		padding: 0;
	}
	.nav-info {
		flex-direction: column;
		gap: 30px;
	}
	.nav-info-item {
		margin: 0 0 30px;
	}
	body {
		font-size: 16px;
		line-height: 140%;
	}
	.hero-subtitle {
		line-height: 120%;
	}
	.object {
		grid-template-columns: repeat(1, 1fr);
	}
	.object-item .arrow {display: none;}
	.info-block {
		grid-template-columns: repeat(1, 1fr);
	}
	.team-arrows {
		top: max(10px, 46rem);
	}
	.contact-top {
		flex-direction: column;
		gap: 40px;
		margin: 0 0 max(35px, 80rem);
	}
	.contact-block {
		flex-direction: column-reverse;
		margin: 0 0 max(35px, 80rem);
	}
	.contact-col {
		width: 100%;
	}
	.contact-line {
		gap: max(40px, 100rem);
	}
	.contact-line .webs {
		gap: max(10px, 20rem);
	}
	.hero-place-main {
		max-width: max(480px, 1200rem);
	}
	.hero-place-text {display: none;}
	.top-hidden {display: block;}
	.review-side {
		width: max(240px, 437rem);
		min-width: max(240px, 437rem);
	}
	.review-content {
		padding: 0 0 0 max(30px, 80rem);
	}
	.promo-section {
		height: auto;
		padding: 0 0 100px;
		border-bottom: 0;
	}
	.promo-section:last-child {padding: 0;}
	.promo-img {
		position: relative;
		transform: none;
		opacity: 1;
		margin: 24px 0 0;
	}
	
	
}
@media screen and (max-width: 767px) {
	.footer {
		padding: max(80px, 95rem) 0 30px;
	}
	.footer-col {
		width: 100%;
		padding: 0;
	}
	.footer-col:nth-child(3){order: 10;}
	.footer-nav {
		gap: 10px max(25px, 25rem);
	}
	.photo {
		grid-template-columns: repeat(2, 1fr);
	}
	.header-block {
		justify-content: space-between;
	}
	.header-block .webs {
		position: static;
		transform: none;
		margin-right: 44px;
	}
	.why-item {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
		min-height: 1px;
	}
	.why-name, .why-text {width: 100%;}
	.catalog-list,
	.object-buttons {
		grid-template-columns: repeat(1, 1fr);
	}
	.object-info {
		flex-direction: column;
		align-items: flex-start;
	}
	.hero-top {
		flex-direction: column;
		align-items: flex-start;
		gap: 40px;
	}
	.hero-name {
		margin: 0;
		text-align: left;
	}
	.gallery-box {
		flex-direction: column;
	}
	.gallery-box .photo {
		width: 100%;
	}
	.gallery-side {
		position: relative;
		top: auto;
		left: auto;
		width: 100%;
		flex-direction: row;
		padding: 30px 0 60px;
	}
	.gallery-side .button-skew {
		flex: 1;
	}
	.team-arrows {
		top: 0px;
	}
	.hero-main {
		flex-direction: column;
		align-items: flex-start;
		gap: max(40px, 80rem);
	}
	.hero-buttons {
		width: 100%;
		margin: 0 0 max(24px, 40rem);
	}
	.hero-buttons .button-skew {
		width: auto;
		flex: 1;
	}
	.button-skew {
		width: 140px;
		height: 110px;
	}
	.button-block {
		grid-template-columns: repeat(1, 1fr);
	}
	.review-slider {
		margin: 0 -20px;
	}
	.review-slide {
		padding: 0 20px;
	}
	.review-block {
		flex-direction: column;
		gap: 30px;
		padding: 0;
	}
	.review-side {
        width: 100%;
        min-width: 1px;
		padding-bottom: 0;
    }
	.review-content {
        padding: 0 0 30px;
    }
	.review-button {
		position: static;
		margin: 0 0 20px;
	}
	.review-arrows {
		top: auto;
		bottom: 30px;
	}
	.review-button .button-skew {
        width: 170px;
    }


}
@media screen and (max-width: 576px) {
	.photo {
		grid-template-columns: repeat(1, 1fr);
	}
	.photo-big {
		grid-column: span 1;
		grid-row: span 1;
	}
	.info-stat {
		flex-wrap: wrap;
		gap: 40px 0;
	}
	.info-stat-item {
		width: 50%;
	}
	.object-img {
		width: 100%;
		min-width: 1px;
	}
	.object-text {
		margin: 0 0 20px;
	}
	.gallery-box .photo {
		grid-template-columns: repeat(1, 1fr);
	}
	.contact-line .button-skew {flex: 1;}
	.break-mob {display: inline;}
	.promo-img {width: 100%;}

}