@import url('https://fonts.googleapis.com/css2?family=Onest:wght@100..900&family=Unbounded:wght@200..900&display=swap');

:root {
	--font-family: "Unbounded", sans-serif;
	--anim: 0.35s;
	--max_w: 1720px;
}

input:focus::placeholder {
	color: transparent !important;
}

* {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}

a[href], img[src], button[type="submit"] {
	user-select: none;
}

html, body {
	background: #EEEEEE;
	font-family: var(--font-family);
	color: #191919;
	font-size: 14px;
}

a {
	color: #fff;
	text-decoration: none;
}

a:hover {
	text-decoration: none;
}

.wrapper:not(.imageModal):before {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: "";
	background-image: url(../img/noise.gif);
	opacity: 0.025;
	z-index: 100000;
	pointer-events: none;
}

.wrapper {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	width: 100%;
	overflow: hidden;
}

.wrap {
	width: 100%;
	max-width: var(--max_w);
	margin-left: auto;
	margin-right: auto;
}

.side {
	display: flex;
	flex-direction: column;
}

.side[side="1"] {
	height: 100vh;
	min-height: 700px;
}

.side[side="2"] {
	background: #191919;
}

.side[side="3"] {
	background: #E5E5E5;
}

.side[side="4"] {
	background: #f2f2f2;
}

.side[side="5"] {
	background: #0c0c0c;
}

.side[side="2"] .wrap {
	display: flex;
	flex-direction: column;
}

.side[side="2"] {
	padding-top: 94px;
	padding-bottom: 101px;
}

.side[side="4"] {
	padding-top: 118px;
	padding-bottom: 100px;
}

.side[side="4"] .wrap {
	display: flex;
	flex-direction: column;
}

.wrap.side_five {
	height: 561px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.side_five_info {
	display: flex;
	flex-direction: column;
	gap: 76px;
}

.side_five_text {
	font-weight: 300;
	font-size: 24px;
	color: #c0c0c0;
	line-height: 30px;
	max-width: 528px;
	width: 100%;
}

.side_five_catalog {
	width: 286px;
	height: 48px;
	background: #c0c0c0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 600;
	font-size: 13px;
	text-align: center;
	color: #191919;
	font-family: "Onest", sans-serif;
	text-transform: uppercase;
}

.side_five_highlight {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 23px;
}

.side_five_highlight div {
	height: 52px;
	background: #6f1414;
	width: max-content;
	font-weight: 700;
	font-size: 70px;
	text-align: right;
	line-height: 40px;
	color: #C0C0C0;
}

.foot {
	background: #080808;
	height: 93px;
	margin-top: auto;
}

.foot .wrap {
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.foot_copy {
	font-weight: 300;
	font-size: 12px;
	color: #c0c0c0;
}

.foot_nav {
	display: flex;
	align-items: center;
	gap: 34px;
}

.foot_nav a {
	font-weight: 400;
	font-size: 12px;
	text-decoration: underline;
	text-decoration-skip-ink: none;
	text-align: right;
	color: #c0c0c0;
}

.idkwtf {
	background: #0C0C0C;
	height: 196px;
}

.idkwtf .wrap {
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.highlight {
	height: calc(100vw / 43);
	max-height: 40px;
	min-height: 26px;
	font-weight: 500;
	font-size: clamp(16px, calc(100vw / 43), 45px);
	text-align: center;
	color: #0c0c0c;
	background: #6f1414;
	padding: 0;
	white-space: nowrap;
	line-height: clamp(26px, calc(100vw / 43), 36px);
	width: max-content;
}

.head {
	margin-top: 38px;
	height: 16px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.logo {
	width: 133px;
	height: 16px;
	background: url(../img/logo.svg) no-repeat;
}

.menu {
	display: flex;
	flex-direction: column;
	position: relative;
	z-index: 1;
	width: 100px;
}

.menu:after {
	background-color: transparent;
	transition: background-color var(--anim);
	position: absolute;
	top: -7px;
	left: -15px;
	right: -15px;
	z-index: -1;
	content: '';
	height: 0px;
}

.menu.active:after {
	background-color: #d9d9d9;
	height: calc( 65px + var(--menu_h) );
}

.menu_title {
	margin-left: auto;
	font-weight: 500;
	font-size: 12px;
	color: #191919;
	text-transform: uppercase;
	display: flex;
	align-items: center;
	gap: 5px;
	cursor: pointer;
	height: 15px;
}

.menu_title:before {
	content: 'menu';
	transition: color var(--anim);
}

.menu.active .menu_title:before {
	content: 'close';
	color: rgba(25, 25, 25, 0.3);
}

.menu_line {
	width: 16px;
	height: 9px;
	position: relative;
	list-style: none;
}

.menu_line_item {
	height: 2px;
	background: #191919;
	position: absolute;
	left: 0;
	right: 0;
	transition: transform var(--anim);
}

.menu_line_item:first-child {
	top: 0;
	border-left: 4px solid #eee;
}

.menu_line_item:last-child {
	bottom: 0;
}

.menu.active .menu_line_item {
	width: 10px;
}

.menu.active .menu_line_item:first-child {
	border-color: transparent;
	transform: rotate(45deg) translate3d(5px, 0, 0);
}

.menu.active .menu_line_item:last-child {
	transform: rotate(-45deg) translate3d(5px, 0, 0);
}

.menu_list {
	width: 100%;
	list-style: none;
	position: absolute;
	top: 37px;
	right: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
	transform: translate3d(0px, -10px, 0px);
	opacity: 0;
	z-index: -1;
	transition: transform var(--anim), opacity var(--anim), z-index var(--anim);
	height: 0px;
	overflow: hidden;
}

.menu.active .menu_list {
	transform: translate3d(0px, 0px, 0px);
	opacity: 1;
	z-index: 1;
	height: auto;
	overflow: visible;
}

.menu_list_item {
	height: 20px;
	border-bottom: 1px solid rgba(25, 25, 25, 0.3);
}

.menu_list_item a {
	font-weight: 500;
	font-size: 12px;
	color: #191919;
}

.side_one_middle {
	display: flex;
	flex-direction: column;
	margin-top: auto;
	margin-bottom: auto;
	align-items: center;
}

.side_one_title {
	font-weight: 700;
	font-size: 75px;
	text-align: center;
	color: #191919;
	line-height: 93px;
}

.side_one_text {
	font-weight: 400;
	font-size: 18px;
	line-height: 35px;
	text-align: center;
	color: #191919;
	margin-top: 33px;
	max-width: 866px;
	width: 100%;
}

.side_catalog_btn {
	font-weight: 600;
	font-size: 13px;
	text-align: center;
	color: #e5e5e5;
	width: 286px;
	height: 48px;
	background: #191919;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 105px;
	font-family: "Onest", sans-serif;
	text-transform: uppercase;
}

.side_one_arrow {
	margin-bottom: 31px;
	fill: #191919;
	width: 15px;
	height: 28px;
	cursor: pointer;
	margin-left: auto;
	margin-right: auto;
}

.side_one_arrow svg {
	width: 100%;
	height: 100%;
	animation: moveUpDown 2s infinite ease-in-out;
}

@keyframes moveUpDown {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-20px); /* Поднимается на 20 px */
  }
  100% {
    transform: translateY(0); /* Возвращается в исходное положение */
  }
}

.side_to_title {
	font-weight: 700;
	font-size: 36px;
	color: #d6d6d6;
	line-height: 45px;
}

.side_to_text {
	font-weight: 400;
	font-size: 15px;
	color: #d6d6d6;
	line-height: 15px;
	margin-top: 12px;
	margin-bottom: 95px;
}

.side_to_flex {
	display: flex;
	gap: 100px;
	justify-content: space-between;
}

.side_to_item_img {
	height: var(--h);
	max-height: var(--max_h);
	overflow: hidden;
	background: #d6d6d6;
}

.side_to_item_img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.side_to_item:first-child {
	--w: 41.42vw; --h: 34.58vw; --max_w: 671px; --max_h: 663px;
}

.side_to_item:last-child {
	--w: 58.58vw; --h: 45.10vw; --max_w: 949px; --max_h: 865px;
}

.side_to_item {
	max-width: var(--max_w);
	width: var(--w);
	height: max-content;
	display: flex;
	flex-direction: column;
	font-family: "Onest", sans-serif;
}

.side_to_item_link {
	width: 100%;
	height: 100%;
	display: block;
}

.side_to_item_name {
	font-weight: 600;
	font-size: 24px;
	color: #d6d6d6;
	line-height: 31px;
	margin-top: 30px;
}

.side_to_item_info {
	font-weight: 600;
	font-size: 16px;
	color: rgba(214, 214, 214, 0.22);
	line-height: 20px;
	margin-top: 12px;
}

.side_three_list {
	display: flex;
	flex-direction: column;
}

.side_three_list_item:not(:last-child) {
	border-bottom: 1px solid rgba(25, 25, 25, 0.24);
}

.side_three_list_item {
	height: 100%;
	min-height: 239px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.side_three_list_item .wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 100%;
}

.side_three_list_item .wrap p:first-child {
	font-weight: 300;
	font-size: 32px;
	color: #191919;
	width: 37.62%;
}

.side_three_list_item .wrap p:last-child {
	font-weight: 300;
	font-size: 18px;
	color: #191919;
	line-height: 22px;
	width: 49.19%;
}

.side_three_list_item:first-child {
	min-height: 364px;
}

.side_three_list_item:first-child .wrap p:first-child {
	font-size: 55px;
}

.side_four_title {
	font-weight: 300;
	font-size: 55px;
	color: #191919;
	max-width: 713px;
	width: 100%;
	line-height: 68px;
	margin-bottom: 106px;
}

.side_four_faq {
	display: flex;
	flex-direction: column;
	width: 1021px;
	margin-left: auto;
}

.side_four_item {
	border-top: 1px solid #191919;
	padding-top: 20px;
	padding-bottom: 20px;
}

.side_four_name {
	font-weight: 300;
	font-size: 24px;
	color: #191919;
	line-height: 30px;
	padding-right: 10%;
	cursor: pointer;
	position: relative;
}

.side_four_text {
	font-weight: 300;
	font-size: 16px;
	color: #191919;
	line-height: 20px;
	margin-top: 30px;
	margin-bottom: 10px;
	display: none;
}

.side_four_arrow {
	width: 14px;
	height: 14px;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	margin-top: auto;
	margin-bottom: auto;
}

.side_four_arrow:after,
.side_four_arrow:before {
	background: #191919;
	content: '';
	position: absolute;
}

.side_four_arrow:after {
	width: 100%;
	height: 2px;
	top: 0;
	bottom: 0;
	margin-top: auto;
	margin-bottom: auto;
}

.side_four_arrow:before {
	width: 2px;
	height: 100%;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
	transition: transform var(--anim), opacity var(--anim);
}

.side_four_item.is-open .side_four_arrow:before {
	transform: rotate(90deg);
	opacity: 0;
}

.container {
	padding-top: 100px;
	padding-bottom: 100px;
}

.container_title_flex {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 29px;
	margin-bottom: 41px;
}

.container_title {
	font-weight: 400;
	font-size: 16px;
	color: #191919;
}

.search {
	display: flex;
	align-items: center;
	height: 100%;
	gap: 11px;
	width: 280px;
	border-bottom: 1px solid #191919;
}

.search input[type="text"] {
	width: 100%;
	height: 18px;
	font-weight: 600;
	font-size: 14px;
	color: rgba(48, 48, 48, 0.25);
	background: 0;
	border: 0;
	outline: 0;
}

.catalog_grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(250px, 322px));
	gap: 50px 27px;
}

@media(max-width: 1500px) {
	.catalog_grid {
		grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	}
}

.catalog_item {
	display: flex;
	flex-direction: column;
	font-family: "Onest", sans-serif;
	width: 100%;
	min-width: 0;
}

.catalog_item_img {
	width: 100%;
	height: 100%;
	max-height: 322px;
	overflow: hidden;
	background: #d6d6d6;
}

.catalog_item_img a,
.catalog_item_img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
    object-fit: cover;
    display: block;
}

.catalog_item_name {
	font-weight: 600;
	font-size: 15px;
	color: #303030;
	line-height: 19px;
	margin-top: 20px;
	margin-bottom: 5px;
}

.catalog_item_name a {
	color: #303030;
}

.catalog_item_info {
	font-weight: 600;
	font-size: 12px;
	color: #303030;
	line-height: 15px;
}

.catalog_item_info a {
	color: #303030;
}

.catalog_item_name,
.catalog_item_info {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	width: 100%;
	max-width: 100%;
}

.product_grid {
	display: grid;
	grid-template-columns: 100px minmax(322px, 801px) 1fr;
	column-gap: 74px;
	row-gap: 0;
}

.product_img_mini {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.product_img_mini div {
	width: 100px;
	height: 100px;
	overflow: hidden;
	cursor: pointer;
}

.product_img_mini div,
.product_img_item {
	background: #d6d6d6;
}

.product_img_mini img,
.product_img_full img {
	width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.product_img_full {
	width: 100%;
	height: 100%;
	max-height: 502px;
	min-height: 502px;
	overflow:hidden;
	display:flex;
}

.product_img_scroll {
	display:flex;
	width:300%;
	height:100%;
	position: relative;
	left:0%;
	transition: left 0.5s ease;
	gap: 10px;
}

.product_img_item img {
	cursor: pointer;
}

.product_img_item {
	flex-grow: 0;
	flex-shrink: 0;
	flex-basis: 100%;
	width: 100%;
	height: 100%;
}

.product_pole {
	width: 100%;
	min-width: 0;
}

.product_name {
	font-weight: 600;
	font-size: 20px;
	color: #000;
	line-height: 25px;
	margin-bottom: 40px;
	//overflow: hidden;
	//white-space: nowrap;
	//text-overflow: ellipsis;
	width: 100%;
	max-width: 100%;
}

.product_description {
	white-space: pre-line;
	overflow-wrap: break-word;
	width: 100%;
	font-weight: 500;
	font-size: 14px;
	color: #000;
	line-height: 18px;
	font-family: "Onest", sans-serif;
	display: -webkit-box;
	-webkit-line-clamp: 10;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}

.product_details_title {
	margin-top: 40px;
}

.product_details,
.product_details_title {
	font-weight: 700;
	font-size: 16px;
	color: #000;
	font-family: "Onest", sans-serif;
	line-height: 32px;
}

.product_details {
	font-size: 14px;
}

.product_details li {
	margin-left: 25px;
}

.product_details li::marker {
	font-size: 0.8em;
}

.product_btn {
	display: grid;
	gap: 30px;
	grid-template-columns: 1fr 1fr;
	margin-top: 30px;
}

.product_btn a[product_btn] {
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 600;
	font-size: 13px;
	text-align: center;
	font-family: "Onest", sans-serif;
}

.product_btn a[product_btn="buy"] {
	background: #191919;
	color: #e5e5e5;
}

.product_btn a[product_btn="contacts"] {
	border: 1px solid #191919;
	color: #191919;
}

.product_wrap {
	display: flex;
	flex-direction: column;
	gap: 100px;
	margin-top: 100px;
}

.product_title {
	font-weight: 600;
	font-size: 16px;
	color: #191919;
	line-height: 20px;
	margin-bottom: 26px;
}

#imageModal {
  --imageModal_gap: 60px;
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background: #EEEEEE;
  z-index: 100;
  display: flex;
  flex-direction: column;
  height: 100vh;
  width: 100vw;
  user-select: none;
  box-sizing: border-box;
}

.modal-header {
  display: flex;
  justify-content: flex-end;
  height: var(--imageModal_gap);
  align-items: center;
  flex-shrink: 0;
  position: fixed;
  top: 0;
  right: calc(var(--imageModal_gap)/2);
}

.modal-body {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
}

.modal-footer {
	position: fixed;
	bottom: calc(var(--imageModal_gap)/2);
	left: 0;
	right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  height: var(--imageModal_gap);
  flex-shrink: 0;
}

.modal-footer .page {
	display: flex;
	align-items: center;
	gap: var(--imageModal_gap);
}

#imageModal .close {
  font-size: var(--imageModal_gap);
  cursor: pointer;
  color: #333333;
}

#imageModal .page a {
  color: #333333;
 font-size: var(--imageModal_gap);
  cursor: pointer;
}

#imageModal .modal-content {
  max-width: 90vw;
  max-height: calc(100vh - 200px);
  width: 100%;
  height: 100%;
  display: block;
  margin: 0 auto;
}

#modalImage {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  display: block;
}

.catalog_grid {
	grid-auto-rows: minmax(150px, 1fr);
}

.side_one_btn {
	margin-top: 76px;
	display: flex;
	justify-content: center;
	gap: 28px;
	margin-bottom: 67px;
}

.side_one_btn .side_catalog_btn {
	margin-top: 0;
}

.side_one_btn .side_catalog_btn.bg0 {
	background: 0;
	border: 1px solid #191919;
	color: #191919;
}

.enough {
	font-weight: 300;
	font-size: 13px;
	line-height: 25px;
	text-align: center;
	color: #c7c7c7;
}

.wrapper.page .side_one_title {
	max-width: 1544px;
}

.wrapper.page .side_one_text {
	max-width: 1021px;
	font-weight: 700;
}

.contacts {
	display: flex;
	flex-direction: column;
	gap: 45px;
}

.contacts a:hover {
	text-decoration: underline;
}

.contacts a {
	line-height: 56px;
	font-weight: 500;
	font-size: 45px;
	color: #d6d6d6;
}

.contacts span {
	font-size: 20px;
}

.contacts em {
	font-style: normal;
	font-size: 15px;
}

.wrapper.page .side[side="1"] {
	min-height: 100vh;
	height: 100%;
}

.wrapper.page .side[side="1"] .side_one_middle {
	height: 100%;
	min-height: 100%;
	justify-content: center;
}

.wrapper.page .side[side="1"] .foot {
	margin-top: 0;
}

@media(max-height: 900px) {
	.wrapper.page .side[side="1"] .side_one_middle {
		padding-top: 30px;
		padding-bottom: 30px;
	}
}

.wrapper.page .side[side="1"] .side_one_text {
	margin-top: 67px;
}