:root {
  --font-family: "Manrope";
  --bg-primary-main: #FAFAFA;
  --bg-primary-second: #ECECEC;
  --bg-primary-third: #FFFFFF;
  --bg-primary-stroke: #D8D8D8;
  --bg-alt-main: #545454;
  --bg-alt-second: #838383;
  --bg-alt-third: #C5C7C6;
  --bg-alt-stroke: #545454;
  --text-primary-head: #242424;
  --text-primary-main: #454545;
  --text-primary-second: #747474;
  --text-alt-head: #FFFFFF;
  --text-alt-main: #EEEEEE;
  --text-alt-second: #FFFFFF;
  --colors-main: #dd1111;
  --colors-second: #838383;
  --hover: #e43636;
  --bg-black : #000000;
  --transition: all 0.3s ease-in-out;
}

.footer__dev{
  display: flex;
  gap: 10px;
  align-items: center;
}

.fancybox__backdrop{
	background-color: rgba(84, 84, 84, 0.2);
	backdrop-filter: blur(3px);
}

html {
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
  font-family: var(--font-family), sans-serif;
  box-sizing: border-box;
}

body {
  margin: 0 auto;
  width: auto;
  background-color: var(--bg-primary-main);
}

.breadcrumbs {
  padding: 15px 0;
  display: flex;
  gap: 10px;
	flex-wrap: wrap;
  align-items: center;
}
.breadcrumbs span {
	color: var(--text-primary-main);
  transition: var(--transition);
}
.breadcrumbs > span:last-child,
.breadcrumbs > span:last-child > span{
  color: var(--hover);
}
.breadcrumbs span:hover {
  color: var(--hover);
}
.breadcrumbs div.point {
  position: relative;
  display: inline-block;
  width: 6px;
  height: 6px;
}
.breadcrumbs div.point::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  display: inline-block;
  background-color: var(--bg-alt-second);
  border-radius: 2px;
  width: 6px;
  height: 6px;
}

.container {
  max-width: 1560px;
  margin: 0 auto;
}
@media (max-width: 1560px) {
  .container {
    padding: 0 15px;
  }
}

a {
  text-decoration: none;
  color: #000;
  transition: var(--transition);
}

h1, .h1 {
  font-size: clamp(1.875rem, 1.3846rem + 2.1795vw, 4rem); /* 64px - 30px */
  font-weight: 800;
  line-height: 120%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: 0%;
  font-family: var(--font-family);
  transition: var(--transition);
}

h2, .h2 {
  font-size: clamp(1.75rem, 1.5481rem + 0.8974vw, 2.625rem);
  font-weight: 800;
  line-height: 120%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: 0%;
  font-family: var(--font-family);
  transition: var(--transition);
}

h3, .h3 {
  font-size: clamp(1.625rem, 1.5385rem + 0.3846vw, 2rem);
  font-weight: 800;
  line-height: 120%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: 0%;
  font-family: var(--font-family);
  transition: var(--transition);
}

h4, .h4 {
  font-size: clamp(1.25rem, 1.1635rem + 0.3846vw, 1.625rem);
  font-weight: 800;
  line-height: 120%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: 0%;
  font-family: var(--font-family);
  transition: var(--transition);
}

h5, .h5 {
  font-size: clamp(1rem, 0.9423rem + 0.2564vw, 1.25rem);
  font-weight: 800;
  line-height: 110%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: 0%;
  font-family: var(--font-family);
  transition: var(--transition);
}

h6, .h6 {
  font-size: clamp(0.75rem, 0.6923rem + 0.2564vw, 1rem);
  font-weight: 800;
  line-height: 110%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: 0%;
  font-family: var(--font-family);
  transition: var(--transition);
}

p, .p1 {
  font-size: clamp(0.75rem, 0.6346rem + 0.5128vw, 1.25rem);
  font-weight: 400;
  line-height: 120%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: 0%;
  font-style: Regular;
  font-family: var(--font-family);
  transition: var(--transition);
}

.p2, .custom-pagination .page-numbers, .form .inputs__holder .input__wrapper label, .form .inputs__holder .input__wrapper input, .form .inputs__holder .input__wrapper textarea, #agree-privacy ~ .form__privacy-text, #agree-privacy-callback ~ .form__privacy-text, #agree-privacy-review ~ .form__privacy-text, ul:not(.menu) li, .p2 *, .custom-pagination .page-numbers *, .form .inputs__holder .input__wrapper label *, .form .inputs__holder .input__wrapper input *, .form .inputs__holder .input__wrapper textarea *, #agree-privacy ~ .form__privacy-text *, #agree-privacy-callback ~ .form__privacy-text *, #agree-privacy-review ~ .form__privacy-text *, ul:not(.menu) li * {
  font-size: clamp(0.75rem, 0.6635rem + 0.3846vw, 1.125rem);
  font-weight: 400;
  font-style: Regular;
  line-height: 130%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: 0%;
  font-family: var(--font-family);
  transition: var(--transition);
}

.p3 {
  font-size: clamp(0.75rem, 0.7212rem + 0.1282vw, 0.875rem);
  font-weight: 400;
  font-style: Regular;
  line-height: 120%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: 0%;
  font-family: var(--font-family);
  transition: var(--transition);
}

.menu, #header #mobile-mnu .content ul.menu > li .sub-menu li > a {
  font-size: clamp(0.875rem, 0.8462rem + 0.1282vw, 1rem);
  font-weight: 700;
  font-style: Bold;
  line-height: 110%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: 0%;
  font-family: var(--font-family);
}

.numbers {
  font-size: clamp(1.75rem, 1.4327rem + 1.4103vw, 3.125rem);
  font-weight: 600;
  font-style: Medium;
  line-height: 120%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: 0%;
  font-family: var(--font-family);
}

.btn, .button {
  display: inline-block;
  text-align: center;
  font-size: clamp(0.75rem, 0.7212rem + 0.1282vw, 0.875rem);
  font-weight: 700;
  font-style: Bold;
  line-height: 110%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: 0%;
  font-family: var(--font-family);
  padding: 22px 32px;
  background-color: var(--colors-main);
  border: 1px solid var(--colors-main);
  border-radius: 10px;
  border: none;
  color: var(--text-alt-head);
  cursor: pointer;
  text-transform: uppercase;
  transition: var(--transition);
}
.btn:hover, .button:hover {
  background-color: var(--hover);
}
.btn.second, .button.second {
  color: var(--text-primary-head);
  background: none;
  border: 1px solid var(--bg-alt-stroke);
}
.btn.second:hover, .button.second:hover {
  background-color: var(--hover);
  border-color: var(--hover);
  color: var(--text-alt-head);
}
.category.btn.active {
  background-color: var(--hover);
  border-color: var(--hover);
  color: var(--text-alt-head);
  pointer-events: none;
}
.btn.white, .button.white {
  background-color: var(--bg-primary-third);
  color: var(--text-primary-head);
}
.btn.white:hover, .button.white:hover {
  background-color: var(--hover);
  color: var(--text-alt-head);
}
.btn.show-more, .button.show-more {
  background: none;
  border: none;
  text-align: left;
  color: var(--colors-main);
  padding: 0;
}
.btn.show-more:hover, .button.show-more:hover {
  color: var(--hover);
}
@media (max-width: 480px) {
  .btn, .button {
    width: 100%;
  }
}

section:not(:first-child) {
  margin-top: 100px;
}
@media (max-width: 980px) {
  section:not(:first-child) {
    margin-top: 50px;
  }
}

ul:not(.menu) {
  list-style: none;
}
ul:not(.menu) li {
  position: relative;
  padding-left: 25px;
}
ul:not(.menu) li::before {
  content: "";
  display: inline-block;
  position: absolute;
  left: 0;
  top: 10px;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  border-radius: 3px;
  background-color: var(--bg-alt-main);
  background-repeat: no-repeat;
}

.title {
  text-transform: uppercase;
  text-align: center;
  color: var(--text-primary-head);
  margin-bottom: 40px;
}

@media (max-width: 620px){
  .title{
    hyphens: auto;
  }
}

.title span {
  color: var(--colors-main);
}

.socials {
  display: flex;
  gap: 10px;
  align-items: center;
}
.socials .social,
.socials .soc {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  cursor: pointer;
  border: 1px solid var(--bg-alt-second);
  border-radius: 10px;
}
.socials .social:hover,
.socials .soc:hover {
  background-color: var(--hover);
}

.swiper .navigation {
  margin-top: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.swiper .navigation .arrows {
  display: flex;
  gap: 10px;
}
.swiper .navigation .arrows > div {
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--transition);
  border-radius: 10px;
  border: 1px solid var(--bg-alt-stroke);
  cursor: pointer;
}
.swiper .navigation .arrows > div.cust-arrow-prev svg {
  transform: rotate(180deg);
}
div.cust-arrow-prev, div.cust-arrow-next {
  svg path {
    stroke: var(--colors-main);
  }
}
.swiper .navigation .arrows > div svg path {
  transition: var(--transition);
}
.swiper .navigation .arrows > div.swiper-button-disabled {
  border-color: rgba(84, 84, 84, 0.1);
  background-color: rgba(84, 84, 84, 0.1);
  pointer-events: none;
}
.swiper .navigation .arrows > div.swiper-button-disabled svg path {
  stroke: var(--text-primary-second);
}
.swiper .navigation .arrows > div:not(.swiper-button-disabled):hover {
  background-color: var(--bg-alt-second);
  border-color: var(--bg-alt-second);
}
.swiper .navigation .arrows > div:not(.swiper-button-disabled):hover svg path {
  stroke: var(--text-alt-head);
}
.swiper .navigation:has(a.btn) {
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}
.swiper .navigation:has(.cust-pagination) {
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}
.swiper .navigation:has(.cust-pagination) .cust-pagination {
  width: -moz-fit-content;
  width: fit-content;
}
.swiper .navigation:has(.cust-pagination) .cust-pagination .swiper-pagination-bullet {
  width: 6px;
  height: 6px;
  background-color: var(--bg-alt-third);
  opacity: 1;
  transition: var(--transition);
}
.swiper .navigation:has(.cust-pagination) .cust-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: var(--bg-alt-second);
  width: 20px;
  border-radius: 30px;
}
@media (max-width: 480px) {
  .swiper .navigation {
    justify-content: end !important;
  }
  .swiper .navigation:has(.btn) .btn {
    order: 2;
  }
  .swiper .navigation:has(.btn) .arrows {
    order: 1;
  }
}

#agree-privacy, #agree-privacy-callback, #agree-privacy-review {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  padding: 0;
  border: 0;
}
#agree-privacy ~ .form__privacy-text, #agree-privacy-callback ~ .form__privacy-text, #agree-privacy-review ~ .form__privacy-text {
  position: relative;
  padding-left: 35px;
  display: inline-block;
	color: var(--text-primary-main);
}

#agree-privacy ~ .form__privacy-text::before, #agree-privacy-callback ~ .form__privacy-text::before, #agree-privacy-review ~ .form__privacy-text::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 24px;
  height: 24px;
  border: 2px solid var(--hover);
  border-radius: 5px;
  cursor: pointer;
  background-color: transparent;
  transition: var(--transition);
}

#agree-privacy.error ~ .form__privacy-text::before, #agree-privacy-callback.error ~ .form__privacy-text::before, #agree-privacy-review.error ~ .form__privacy-text::before {
	border-color: red;
}

#agree-privacy ~ .form__privacy-text::after, #agree-privacy-callback ~ .form__privacy-text::after, #agree-privacy-review ~ .form__privacy-text::after {
  pointer-events: none;
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='9' viewBox='0 0 12 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.1667 0.5L3.83333 7.83333L0.5 4.5' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
  /* content: url(""); */
  position: absolute;
  top: 0px;
  left: 0px;
  width: 28px; height: 28px;
  background-position: center;
  background-size: 12px 12px;
  background-repeat: no-repeat;
  /* width: 10px; */
  /* height: 7px; */
  /* transform: translate(-50%, -50%); */
  transition: var(--transition);
  will-change: opacity;
  opacity: 0;
}
#agree-privacy:checked ~ .form__privacy-text::before, #agree-privacy-callback:checked ~ .form__privacy-text::before, #agree-privacy-review:checked ~ .form__privacy-text::before {
  background-color: var(--colors-main);
  border-color: var(--colors-main);
}
#agree-privacy:checked ~ .form__privacy-text::after, #agree-privacy-callback:checked ~ .form__privacy-text::after, #agree-privacy-review:checked ~ .form__privacy-text::after {
  opacity: 1;
}
#agree-privacy:hover ~ .form__privacy-text::before, #agree-privacy-callback:hover ~ .form__privacy-text::before, #agree-privacy-review:hover ~ .form__privacy-text::before {
  border-color: var(--colors-main);
}
.form {
  padding: 30px 25px;
  border-radius: 15px;
  background-color: var(--bg-primary-second);
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.form .inputs__holder .input__wrapper {
  position: relative;
  width: 100%;
}
.form .inputs__holder .input__wrapper:not(:first-child) {
  margin-top: 10px;
}
.form .inputs__holder .input__wrapper textarea {
  resize: none;
  min-height: 120px;
}
.form .inputs__holder .input__wrapper input, .form .inputs__holder .input__wrapper textarea {
  width: 100%;
  padding: 24px 22px 16px 22px;
  border-radius: 10px;
  border: 1px solid var(--bg-primary-stroke);
  outline: none;
}

.form .inputs__holder .input__wrapper input.error, .form .inputs__holder .input__wrapper textarea.error{
	border-color: red;
}

.form .inputs__holder .input__wrapper input::-webkit-input-placeholder, .form .inputs__holder .input__wrapper textarea::-webkit-input-placeholder {
  color: transparent;
}
.form .inputs__holder .input__wrapper input:not([type=file]):not(:-moz-placeholder) ~ label, .form .inputs__holder .input__wrapper textarea:not([type=file]):not(:-moz-placeholder) ~ label {
  transform: scale(0.8);
  top: 0;
  left: 19px;
}
.form .inputs__holder .input__wrapper input:not([type=file]):focus ~ label, .form .inputs__holder .input__wrapper input:not([type=file]):not(:placeholder-shown) ~ label, .form .inputs__holder .input__wrapper textarea:not([type=file]):focus ~ label, .form .inputs__holder .input__wrapper textarea:not([type=file]):not(:placeholder-shown) ~ label {
  transform: scale(0.8);
  top: 0;
  left: 19px;
}
.form .inputs__holder .input__wrapper.textarea-wrapper label {
  top: 22px;
}
.form .inputs__holder .input__wrapper.file-wrapper {
  position: relative;
  cursor: pointer;
}
.form .inputs__holder .input__wrapper.file-wrapper input[type=file] {
  color: transparent;
  cursor: pointer;
  width: 100%;
  padding: 20px 22px;
  border-radius: 10px;
  border: none;
  outline: none;
  background-color: #fff;
  padding: 20px 22px;
}
.form .inputs__holder .input__wrapper.file-wrapper input[type=file]::-webkit-file-upload-button {
  display: none;
}
.form .inputs__holder .input__wrapper.file-wrapper .paperclip-icon {
  position: absolute;
  right: 22px;
  top: 50%;
  transform: translateY(-50%);
  color: #7A8B8B;
  pointer-events: none;
}
.form .inputs__holder .input__wrapper.file-wrapper.has-files label {
  transform: scale(0.8);
  top: 0;
  left: 19px;
	color: var(--text-primary-second);
}
.form .inputs__holder .input__wrapper.file-wrapper .file-names {
  position: absolute;
  left: 22px;
  top: 50%;
  transform: translateY(-50%);
  right: 45px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  pointer-events: none;
  color: #000;
}
.form .inputs__holder .input__wrapper label {
  position: absolute;
  left: 22px;
  top: 50%;
  transform: translateY(-50%);
  will-change: transform;
  pointer-events: none;
	color: var(--text-primary-second);
}
.form .form__privacy {
  display: flex;
  align-items: start;
  justify-content: start;
  gap: 10px;
}
.form .form__privacy input[type=checkbox] {
  transform: translateY(5px);
  cursor: pointer;
  width: 24px;
  height: 24px;
  min-width: 24px;
}
.form .form__privacy a {
  color: var(--colors-main);
  transition: var(--transition);
}

.form .form__privacy a:hover {
  text-decoration: underline;
  transition: var(--transition);
}
.form .btn {
  width: 100%;
}

.custom-pagination {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  margin-top: 30px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.custom-pagination .my-prev-btn {
  margin-right: 10px;
}
.custom-pagination .my-prev-btn svg {
  transform: rotateZ(180deg);
  transition: var(--transition);
}
.custom-pagination .my-prev-btn svg path {
  transition: var(--transition);
}
.custom-pagination .my-next-btn {
  margin-left: 10px;
}
.custom-pagination .my-prev-btn,
.custom-pagination .my-next-btn {
  width: 60px;
  height: 60px;
  background: none;
  border: 1px solid var(--bg-alt-stroke);
  border-radius: 10px;
  min-width: 60px;
  min-height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--transition);
}
.custom-pagination .my-prev-btn svg path,
.custom-pagination .my-next-btn svg path {
  transition: var(--transition);
}
.custom-pagination .my-prev-btn:hover,
.custom-pagination .my-next-btn:hover {
  background-color: var(--bg-alt-second);
  border-color: var(--bg-alt-second);
}
.custom-pagination .my-prev-btn:hover svg path,
.custom-pagination .my-next-btn:hover svg path {
  stroke: var(--text-alt-head);
}
.custom-pagination .my-prev-btn.disabled,
.custom-pagination .my-next-btn.disabled {
  background-color: rgba(84, 84, 84, 0.1019607843);
  border-color: rgba(84, 84, 84, 0.1019607843);
  border: none;
  pointer-events: none;
}
.custom-pagination .my-prev-btn.disabled svg path,
.custom-pagination .my-next-btn.disabled svg path {
  stroke: var(--text-primary-second);
}
.custom-pagination .page-numbers {
	width: 24px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
  color: var(--text-primary-head);
}
.custom-pagination .page-numbers.current {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--bg-alt-second);
  color: var(--text-alt-head);
  border-radius: 20px;
}

.fancybox__content {
  background: none;
  padding: 0;
}

.theme-modal {
  background-color: var(--bg-primary-second);
  border-radius: 15px;
  padding: 40px;
  max-width: 600px;
  width: 100%;
  position: relative;
  display: none;
}
.theme-modal .close-modal {
  position: absolute;
  right: 22px;
  top: 31px;
  cursor: pointer;
}
.theme-modal .modal-title {
  text-align: center;
  text-transform: uppercase;
  margin-bottom: 20px;
  color: var(--text-primary-head);
}

.theme-modal p:not(.modal-title){
  color: var(--text-primary-main);
  text-align: center;
}

.theme-modal .form {
  padding: unset;
}
.theme-modal button.f-button {
  display: none;
}

.error-page .error__content {
  background-color: var(--bg-alt-main);
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 120px 195px 80px 195px;
  gap: 40px;
  /* background-image: url("../images/bg 404.png"); */
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.error-page .error__content * {
  color: var(--text-alt-head);
}
.error-page .error__content h1 {
  font-size: clamp(4.5rem, 2.3654rem + 9.4872vw, 13.75rem);
}
.error-page .error__content .bottom {
  max-width: 650px;
}
.error-page .error__content .bottom .h3 {
  margin-bottom: 10px;
}
.error-page .error__content .bottom * {
  text-align: center;
}
.error-page .error__content .btn {
  background-color: var(--bg-primary-third);
  color: var(--text-primary-head);
}
.error-page .error__content .btn:hover {
  background-color: var(--bg-alt-second);
  color: var(--text-alt-head);
}

@media (max-width: 720px){
	.error-page .error__content{
		padding-left: 15px;
		padding-right: 15px;
	}
}

#header {
  position: fixed;
  top: 10px;
  width: 100%;
  z-index: 100;
}
#header .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  background-color: var(--bg-black);
  border: 1px solid var(--bg-alt-stroke);
  padding: 15px 20px;
  border-radius: 20px;
}
#header .container .logo__holder {
  display: flex;
  gap: 20px;
  align-items: center;
}
#header .container .logo__holder .logo {
  max-width: 145px;
  height: 60px;
}
#header .container .logo__holder img {
  width: 100%;
  height: auto;
}
#header .container .logo__holder p.logo,
#header .container .logo__holder a.logo {
  text-align: center;
  color: var(--text-alt-head);
  /* background-color: var(--bg-alt-main); */
  border-radius: 10px;
  display: flex;
  align-items: center;
  padding: 0 10px;
}
#header .container .logo__holder p.h6 {
  max-width: 256px;
}
#header .container .socials .subtitle {
  max-width: 250px;
	color: var(--text-primary-main);
}
#header .container .phones {
  display: flex;
  flex-direction: column;
  align-items: end;
  gap: 4px;
}

#header .container .phones .phone{
	color: var(--text-primary-head);
}

#header .container .phones .subtitle {
  white-space: nowrap;
	color: var(--text-primary-main);
}
#header .container .phones .subtitle:has(svg) svg {
  margin-right: 5px;
}
#header .container .btn {
  padding: 17px 24px;
}
#header .container .menu__holder {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
}
#header .container .menu__holder p {
  color: var(--text-primary-main);
}
#header .container .menu__holder > div {
  cursor: pointer;
  svg path {
    stroke: var(--colors-main);
  }
}
#header #mobile-mnu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(84, 84, 84, 0.2);
  z-index: 110;
  backdrop-filter: blur(3px);
  will-change: opacity;
  transition: var(--transition);
  opacity: 0;
  pointer-events: none;
}
#header #mobile-mnu .content {
  position: absolute;
  right: 0;
  max-width: 400px;
  width: 100%;
  background-color: var(--bg-primary-main);
  border-radius: 10px 0 10px 10px;
  border: 1px solid var(--bg-primary-stroke);
  height: 100%;
  padding: 60px 30px 30px 20px;
  will-change: transform;
  transition: var(--transition);
  transform: translateX(100%);
}
#header #mobile-mnu .content .close-modal {
  display: inline-block;
  position: absolute;
  width: 12px;
  height: 12px;
  top: 26px;
  right: 36px;
  cursor: pointer;
}
#header #mobile-mnu .content .btn.show-more {
  padding-left: 14px;
  color: var(--text-primary-second);
  cursor: text;
  margin-bottom: 10px;
}
#header #mobile-mnu .content .socials {
  padding-left: 14px;
}
#header #mobile-mnu .content button.btn {
  margin-left: 14px;
  width: calc(100% - 14px);
  margin-top: 40px;
}
#header #mobile-mnu .content ul.menu {
  list-style: none;
}
#header #mobile-mnu .content ul.menu > li {
  padding: 14px;
  position: relative;
}
#header #mobile-mnu .content ul.menu > li > a {
  display: inline-block;
  width: 100%;
  position: relative;
  font-size: clamp(1rem, 0.9712rem + 0.1282vw, 1.125rem);
  font-weight: 600;
  line-height: 110%;
}
#header #mobile-mnu .content ul.menu > li > a .arrow {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
  height: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#header #mobile-mnu .content ul.menu > li > a .arrow svg {
  transition: var(--transition);
}
#header #mobile-mnu .content ul.menu > li > a .arrow svg path {
  transition: var(--transition);
}
#header #mobile-mnu .content ul.menu > li > a:hover {
  color: var(--hover);
}
#header #mobile-mnu .content ul.menu > li > a:hover .arrow svg {
  transform: rotateZ(180deg);
}
#header #mobile-mnu .content ul.menu > li > a:hover .arrow svg path {
  stroke: var(--hover);
}
#header #mobile-mnu .content ul.menu > li > a.active .arrow svg {
  transform: rotateZ(180deg);
}
#header #mobile-mnu .content ul.menu > li > a.active .arrow svg path {
  stroke: var(--hover);
}
#header #mobile-mnu .content ul.menu > li::before {
  display: none;
}
#header #mobile-mnu .content ul.menu > li .sub-menu {
  list-style: none;
}
#header #mobile-mnu .content ul.menu > li .sub-menu li {
  display: inline-block;
  width: 100%;
  padding: 14px 0;
}
#header #mobile-mnu .content ul.menu > li .sub-menu li > a {
  font-weight: 500;
  width: 100%;
}
#header #mobile-mnu .content ul.menu > li .sub-menu li > a:hover {
  color: var(--hover);
}
#header #mobile-mnu .content ul.menu > li .sub-menu li::before {
  display: none;
}
#header #mobile-mnu.active {
  opacity: 1;
  pointer-events: all;
}
#header #mobile-mnu.active .content {
  transform: translateX(0);
}

#header .container{
  .socials .social, .socials .soc  {
    border-color: var(--bg-alt-main);
  }
  .socials .subtitle, .phones .subtitle {
    color: var(--text-alt-main);
  }
  .phones a, .menu__holder p {
    color: var(--text-alt-head);
  }
  .menu__holder > div svg path {
    stroke: var(--bg-primary-third);
  }
}

@media (max-width: 1310px) {
  #header .container .socials .subtitle {
    display: none;
  }
}
@media (max-width: 1050px) {
  #header .container .logo__holder p.h6 {
    display: none;
  }
}
@media (max-width: 760px) {
  #header .container {
    padding: 15px;
  }
  #header .container .socials {
    display: none;
  }
}
@media (max-width: 640px) {
  #header .container .btn {
    display: none;
  }
}
@media (max-width: 370px) {
  #header .container .phones a.h5 {
    white-space: nowrap;
  }
  #header .container .phones .subtitle {
    display: none;
  }
}
@media (max-width: 350px) {
  #header .container .logo__holder a.logo {
    padding: 0 10px;
  }
  #header .container .phones {
    /* display: none; */
  }
}

#fixed-menu {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 15;
}
#fixed-menu .pc {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: end;
  z-index: 15;

}
#fixed-menu .pc .element {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  background-color: var(--bg-alt-second);
  border-radius: 10px;
  max-width: 80px;
  height: 80px;
  min-width: 80px;
  border: none;
  cursor: pointer;
	transition: var(--transition);
}
#fixed-menu .pc .element_text {
  padding: 10px; font-size: 13px;
  text-align: end;
  border-radius: 5px;
  background: rgba(0, 0, 0, 0.5);
  color: var(--text-alt-head);
}
#fixed-menu .pc .element.info {
  color: var(--text-alt-head);
  pointer-events: none;
  font-size: 32px;
  font-weight: bold;
}


#fixed-menu .pc .element.info {
  background: var(--colors-main);
}

#fixed-menu .pc .element:hover{
	background-color: var(--hover);
}

#fixed-menu .pc .element img {
  max-width: 23px;
  max-height: 22px;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
#fixed-menu .pc .element .name {
  color: var(--text-alt-main);
  text-align: center;
}
#fixed-menu .mobile {
  display: none;
}
#fixed-menu .mobile .element {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
#fixed-menu .mobile .element .name {
  color: var(--text-primary-main);
  text-transform: uppercase;
}
@media (max-width: 820px) {
  #fixed-menu {
    left: 0;
    top: unset;
    transform: unset;
    bottom: 0;
  }
  #fixed-menu .pc {
    display: none;
  }
  #fixed-menu .mobile {
    background-color: var(--bg-primary-main);
    border-radius: 15px 15px 0px 0px;
    padding: 15px 30px;
    display: flex;
    align-items: center;
    gap: 15px; flex-wrap: wrap;
    flex-direction: column;
    justify-content: space-between;
    .mobile_alert {
      font-size: 13px;
      color: var(--text-primary-main);
      text-transform: uppercase;
      display: flex; gap: 10px;
      align-items: center;
      span {
        font-size: 18px;
        font-weight: bold;
        color: var(--colors-main);
      }
    }
    .mobile_alert .sepp {
      height: 18px; width: 1px;
      background: var(--text-primary-second);
    }
  }
  #fixed-menu .mobile_container {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 24px;
  }
}
@media (max-width: 400px) {
  #fixed-menu .mobile .mobile_alert {
    font-size: 11px;
    gap: 5px;
    span {
      font-size: 15px;
    }
    .sepp {
      height: 16px;
    }
  }
}

#footer {
  margin-top: 100px;
  background-color: var(--bg-alt-main);
  border-radius: 20px 20px 0 0;
  padding: 100px 0 30px 0;
}
#footer .content {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 30px;
}
#footer .content p.cust {
  font-size: clamp(0.75rem, 0.7212rem + 0.1282vw, 0.875rem);
  color: var(--text-alt-main);
  font-weight: 600;
  line-height: 110%;
  text-transform: uppercase;
}
#footer .content .logo__holder .logo__container .logo {
  display: inline-block;
  max-width: 190px;
}
#footer .content .logo__holder .logo__container .logo.h4 {
  background-color: var(--bg-primary-main);
  padding: 10px;
  text-align: center;
  color: var(--colors-main);
  border-radius: 10px;
}
#footer .content .logo__holder .logo__container .logo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
#footer .content .requsites {
  margin-top: 20px;
}
#footer .content .requsites p {
  color: var(--text-alt-main);
}
#footer .content .requsites p:not(:first-child) {
  margin-top: 5px;
}
#footer .content .menu-footer li {
  margin: 20px 0;
  padding: 0;
}

#footer .content .menu-footer li:first-child{
	margin-top: 0;
}

#footer .content .menu-footer li::before {
  display: none;
}
#footer .content .menu-footer li a {
  font-size: clamp(0.75rem, 0.7212rem + 0.1282vw, 0.875rem);
  color: var(--text-alt-main);
  font-weight: 600;
  line-height: 110%;
  text-transform: uppercase;
}
#footer .content .services .menu-footer li:not(:first-child) {
  margin: 10px 0;
}
#footer .content .contacts > div:not(:first-child) {
  margin-top: 30px;
}
#footer .content .contacts .phones {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
#footer .content .contacts .phones .phone {
  color: var(--text-alt-head);
	font-weight: 600;
}
#footer .content .contacts .emails {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
#footer .content .contacts .emails .email {
  color: var(--text-alt-head);
}
#footer .content .contacts .socials {
  flex-wrap: wrap;
}
#footer .content .contacts .socials p {
  width: 100%;
}
#footer .content .contacts .socials .social {
  background-color: var(--bg-primary-main);
	width: 60px;
	height: 60px;
  img, svg {
    width: 24px; height: 24px;
    object-fit: contain;
  }
}
#footer .content .contacts .socials .social:hover {
  background-color: var(--hover);
  border-color: var(--hover);
  img, svg {
    filter: brightness(100);
  }
}
.socials .social {
  img, svg {
    width: 24px; height: 24px;
    object-fit: contain;
    transition: var(--transition);
  }
}
.socials .social:hover {
  background-color: var(--hover) !important;
  border-color: var(--hover) !important;
  img, svg {
    filter: brightness(100);
    transition: var(--transition);
  }
}
#footer .footer__bottom {
  margin-top: 40px;
  padding-top: 21px;
  border-top: 1px solid var(--bg-primary-stroke);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 30px 80px;
}
#footer .footer__bottom * {
  color: var(--text-alt-main);
}
#footer .footer__bottom a.privacy-policy {
  text-decoration: underline;
	font-size: 16px;
}

#footer .footer__bottom .footer__dev{
	font-size: 16px;
}

#footer a:hover {
  color: var(--hover) !important;
}

@media (max-width: 1024px) {
  #footer {
    margin-top: 80px;
    padding: 60px 0 30px 0;
  }
  #footer .content {
    flex-wrap: wrap;
    gap: 40px 30px;
  }
  #footer .content > div {
    flex: 1 1 calc(50% - 15px);
    min-width: 250px;
  }
  #footer .footer__bottom {
    gap: 30px;
  }
}
@media (max-width: 820px) {
  #footer {
    padding-bottom: 100px;
  }
}
@media (max-width: 768px) {
  #footer {
    margin-top: 60px;
  }
  #footer .content {
    flex-direction: column;
    gap: 40px;
  }
  #footer .content > div {
    width: 100%;
    flex: none;
  }
  #footer .footer__bottom {
    gap: 20px;
    justify-content: flex-start;
  }
}
@media (max-width: 480px) {
  #footer {
    margin-top: 50px;
    padding: 40px 0 40px 0;
  }
  #footer .content {
    gap: 30px;
  }
  #footer .content .menu-footer li {
    margin: 15px 0;
  }
  #footer .content .contacts > div:not(:first-child) {
    margin-top: 25px;
  }
  #footer .footer__bottom {
    margin-top: 30px;
    padding-top: 20px;
    flex-direction: column;
    align-items: center;
    gap: 15px;
  }
  #footer .footer__bottom .footer__copyright {
    order: 3;
    text-align: center;
  }
  #footer .footer__bottom .privacy-policy {
    order: 1;
  }
  #footer .footer__bottom .footer__dev {
    order: 2;
  }
}

@media (max-width: 460px) {
  #footer {
    margin-top: 50px;
    padding: 40px 0 90px 0;
  }
}

main.archive {
  padding-top: 102px;
}
main.archive #mainbanner-block {
  margin-top: unset;
}
main.archive section:first-of-type {
  margin-top: unset;
}

.archive.services_cat section.services .content {
  display: grid;
  grid-template-columns: repeat(3, minmax(200px, 1fr));
  gap: 30px;
}

@media (max-width: 1050px){
	.archive.services_cat section.services .content{
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 540px){
	.archive.services_cat section.services .content{
		grid-template-columns: repeat(1, 1fr);
	}
}

.archive.works .categories {
  margin-bottom: 30px;
  display: flex;
  align-items: center;
  justify-content: start;
  gap: 10px;
}

@media (max-width: 980px){
  .archive.works .categories{
    flex-wrap: wrap;
  }
}

.archive.works .content {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
}



.archive.services_cat > .services .grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(200px, 1fr));
  gap: 30px;
}
@media (max-width: 1200px) {
  .archive.services_cat > .services .grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 980px) {
  .archive.services_cat > .services .grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 1150px){
  .archive.works .content{
    grid-template-columns: 1fr;
    gap: 10px;
  }
}

@media (max-width: 580px) {
  .archive.services_cat > .services .grid {
    grid-template-columns: repeat(1, 1fr);
  }
}

.archive.news .news .content {
  display: grid;
  grid-template-columns: repeat(3, minmax(200px, 1fr));
  gap: 30px;
}
.archive.news .news .content > a:has(~ a:nth-child(4n)):first-child {
  grid-row: span 2;
}
.archive.news .news .content > a:has(~ a:nth-child(4n)):first-child img {
  flex: 1;
}

@media (max-width: 1024px) {
  .archive.news .news .content {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}
@media (max-width: 768px) {
  .archive.news .news .content > a:has(~ a:nth-child(4n)):first-child {
    grid-row: auto;
    grid-column: -1/1;
  }
}
@media (max-width: 620px) {
  .archive.news .news .content {
    grid-template-columns: repeat(1, 1fr);
    gap: 10px;
  }
}

.archive.reviews .review_banner {
  background-color: var(--bg-alt-main);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 30px;
  gap: 70px;
  border-radius: 20px;
  margin-bottom: 40px;
  position: relative;
}
.archive.reviews .review_banner::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border-radius: 20px;
  background-image: url("../images/review bg.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 0;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.archive.reviews .review_banner .center {
  max-width: 539px;
}
.archive.reviews .review_banner .center *:not(.btn) {
  color: var(--text-alt-head);
}
.archive.reviews .review_banner .center p.h3 {
  text-align: center;
  margin-bottom: 20px;
}
.archive.reviews .review_banner .center ul li::before {
  background-color: var(--bg-primary-main);
}
.archive.reviews .review_banner .center .btn {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  margin-top: 20px;
}
.archive.reviews .reviews .content {
  display: grid;
  grid-template-columns: repeat(3, minmax(200px, 1fr));
  gap: 40px 30px;
}

@media (max-width: 1200px) {
  .archive.reviews .reviews .content {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 1150px) {
  .archive.reviews .review_banner {
    gap: 10px;
  }
  .archive.reviews .left,
  .archive.reviews .right {
    width: 256px;
    min-width: 256px;
  }
  .archive.reviews .left img,
  .archive.reviews .right img {
    width: 100%;
    height: auto;
    -o-object-fit: contain;
       object-fit: contain;
  }
}
@media (max-width: 960px) {
  .archive.reviews .review_banner {
    justify-content: center;
  }
  .archive.reviews .review_banner .left,
  .archive.reviews .review_banner .right {
    display: none;
  }
  .archive.reviews .reviews .content {
    gap: 10px;
  }
}
@media (max-width: 720px) {
  .archive.reviews .reviews .content {
    grid-template-columns: repeat(1, 1fr);
  }
}

.archive.single-news .news > .container {
  display: flex;
  gap: 160px;
  justify-content: space-between;
}

.archive.single-news .news > .container .left {
  flex: 1;
  max-width: 1010px;
}
.archive.single-news .news > .container .left .main_image {
  width: 100%;
}
.archive.single-news .news > .container .left .main_image img {
  width: 100%;
  height: 100%;
  max-height: 440px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  border-radius: 15px;
  
}
.archive.single-news .news > .container .left .main_image p {
  color: var(--text-primary-main);
  margin-top: 15px;
}
.archive.single-news .news > .container .left .desc {
  margin-top: 40px;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.archive.single-news .news > .container .left .desc .block {
  padding-top: 50px;
}
.archive.single-news .news > .container .left .desc .block:first-child, .archive.single-news .news > .container .left .desc .block.rounded-top {
  border-radius: 15px 15px 0 0;
  padding-top: 70px;
}
.archive.single-news .news > .container .left .desc .block:last-child, .archive.single-news .news > .container .left .desc .block.rounded-bottom {
  border-radius: 0 0 15px 15px;
  padding-bottom: 70px;
}
.archive.single-news .news > .container .left .desc .block.rounded-top:last-child {
  border-radius: 15px;
}
.archive.single-news .news > .container .left .desc .block:not(.gallery) {
  padding-left: 70px;
  padding-right: 70px;
  background-color: var(--bg-primary-third);
}
.archive.single-news .news > .container .left .desc .block p {
  color: var(--text-primary-main);
  margin-top: 10px;
}
.archive.single-news .news > .container .left .desc .block {
  h1, h2, h3, h4, h5, h6 {
    margin-top: 20px;
  }
}
.archive.single-news .news > .container .left .desc .block *:first-child{
  margin-top: 0;
}
.archive.single-news .news > .container .left .desc .block .block-title {
  margin-bottom: 35px;
  color: var(--text-primary-head);
}
.archive.single-news .news > .container .left .desc .block ul {
  list-style: unset;
  padding-left: 20px;
}
.archive.single-news .news > .container .left .desc .block ul li {
  padding: unset;
}
.archive.single-news .news > .container .left .desc .block ul li::before {
  display: none;
}
.archive.single-news .news > .container .left .desc .block.quote {
  padding-top: 80px;
  padding-bottom: 30px;
  position: relative;
}
.archive.single-news .news > .container .left .desc .block.quote::before {
  position: absolute;
  content: "";
  top: 50px;
  left: 70px;
  width: 400px;
  height: 1px;
  background-color: var(--bg-primary-stroke);
}
.archive.single-news .news > .container .left .desc .block.quote::after {
  position: absolute;
  content: "";
  bottom: 0;
  right: 70px;
  width: 400px;
  height: 1px;
  background-color: var(--bg-primary-stroke);
}
.archive.single-news .news > .container .left .desc .block.quote .author {
  margin-top: 20px;
  text-align: right;
}
.archive.single-news .news > .container .left .desc .block.gallery {
  padding-bottom: 40px;
}
.archive.single-news .news > .container .left .desc .block.gallery .swiper .swiper-slide {
  height: auto;
}
.archive.single-news .news > .container .left .desc .block.gallery .swiper .swiper-slide img {
  max-height: 275px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  width: 100%;
  border-radius: 15px;
}
.archive.single-news .news > .container .left .bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 40px;
  padding-top: 20px;
  border-top: 1px solid #DFDFDF;
}
.archive.single-news .news > .container .left .bottom a {
  color: var(--colors-main);
}
.archive.single-news .news > .container .left .bottom a svg {
  margin-right: 5px;
}
.archive.single-news .news > .container .left .bottom a svg path {
  transition: var(--transition);
}
.archive.single-news .news > .container .left .bottom a:hover {
  color: var(--hover);
}
.archive.single-news .news > .container .left .bottom a:hover svg path {
  stroke: var(--hover);
}
.archive.single-news .news > .container .left .bottom .date {
  color: var(--text-primary-main);
}
.archive.single-news .news > .container .right {
  max-width: 360px;
  width: 100%;
}
.archive.single-news .news > .container .right .other {
  position: sticky;
  top: 120px;
}
.archive.single-news .news > .container .right .other__container {
  margin-top: 30px;
}
.archive.single-news .news > .container .right .other__container > .new {
  padding: 20px 0;
  border-top: 1px solid var(--bg-primary-stroke);
}
.archive.single-news .news > .container .right .other__container > .new .date {
  color: var(--text-primary-main);
}
.archive.single-news .news > .container .right .other__container > .new a {
  margin-top: 5px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  color: var(--text-primary-head);
}
.archive.single-news .news > .container .right .other__container > .new a:hover {
  color: var(--colors-main);
}

.service_cat__item {
  display: inline-block;
  background-color: var(--bg-primary-second);
  border-radius: 15px;
  overflow: hidden;
}
.service_cat__item .image {
  width: 100%;
  height: 300px;
}
.service_cat__item .image img {
  width: 100%;
  height: 100%;
  height: 300px;
	border-radius: 15px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.service_cat__item .bottom {
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.service_cat__item .bottom .arrow {
  width: 60px;
  min-width: 60px;
  height: 60px;
  background-color: var(--colors-main);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
}
.service_cat__item:hover {
  background-color: var(--bg-alt-main);
}
.service_cat__item:hover .bottom p {
  color: var(--text-alt-head);
}

.service__item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 10px;
  padding: 20px;
  background-color: var(--bg-primary-second);
  border-radius: 15px;
}
.service__item .image {
  width: 100%;
}
.service__item .image img {
  width: 100%;
  height: 220px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  border-radius: 10px;
}
.service__item .bottom {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 10px;
  flex: 1;
}
.service__item .bottom .name {
  color: var(--text-primary-head);
}
.service__item .bottom .desc {
  color: var(--text-primary-main);
}
.service__item .bottom .bot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
}
.service__item .bottom .bot .prices {
  display: flex;
  flex-direction: column;
}
.service__item .bottom .bot .prices .old {
  color: var(--text-primary-main);
  text-decoration: line-through;
}
.service__item .bottom .bot .prices .price {
  color: var(--text-primary-head);
}
.service__item .bottom .bot .arrow {
  width: 60px;
  height: 60px;
  border-radius: 10px;
  background-color: var(--bg-alt-second);
  display: flex;
  align-items: center;
  justify-content: center;
}
.works-swiper > .swiper-wrapper > .swiper-slide {
  height: auto;
}
.work__item {
  border-radius: 15px;
  overflow: hidden;
  background-color: var(--bg-primary-second);
  transition: var(--transition);
  height: 100%;
}

.work__item .swiper {
  width: 100%;
  height: 420px;
  height: auto;
  position: relative;
  border-radius: 15px;
}
.swiper {
  width: 100%;
  overflow: hidden;
} 
.work__item .swiper .swiper-wrapper {
  height: 100%;
  height: 420px;
}
.work__item .swiper .swiper-wrapper .swiper-slide {
  height: auto;
}
.work__item .swiper .swiper-wrapper .swiper-slide a {
  height: 100%;
  width: 100%;
}
.work__item .swiper .swiper-wrapper .swiper-slide a img {
  width: 100%;
  height: 100%;
  transition: var(--transition);
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.work__item .swiper .swiper-pagination {
  position: absolute;
  display: flex;
	flex-wrap: wrap;
  width: 100%;
  padding: 0 20px;
  grid-template-columns: repeat(auto-fit, minmax(100px, 140px));
  gap: 5px;
}
.work__item .swiper .swiper-pagination .swiper-pagination-bullet {
  opacity: 1;
  border-radius: 0;
  background-color: var(--bg-primary-second);
  width: 100%;
  height: 4px;
	min-width: 100px;
	flex: 1;
}
.work__item .swiper .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: var(--bg-alt-main);
}
.work__item .bottom {
  padding: 16px 20px 30px 20px;
  height: calc(100% - 420px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.work__item .bottom__holder {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 20px;
  margin-top: 45px;
}
.work__item .bottom__holder .info {
  max-width: 203px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.work__item .bottom__holder .info:nth-child(3) p.h5 {
  white-space: nowrap;
}
.work__item .bottom__holder .info:last-child .btn {
  white-space: nowrap;
}
.work__item .bottom__holder .info .p2, .work__item .bottom__holder .info ul:not(.menu) li, ul:not(.menu) .work__item .bottom__holder .info li, .work__item .bottom__holder .info #agree-privacy ~ .form__privacy-text, .work__item .bottom__holder .info #agree-privacy-callback ~ .form__privacy-text, .work__item .bottom__holder .info #agree-privacy-review ~ .form__privacy-text, .work__item .bottom__holder .info .form .inputs__holder .input__wrapper input, .form .inputs__holder .input__wrapper .work__item .bottom__holder .info input, .work__item .bottom__holder .info .form .inputs__holder .input__wrapper textarea, .form .inputs__holder .input__wrapper .work__item .bottom__holder .info textarea, .work__item .bottom__holder .info .form .inputs__holder .input__wrapper label, .form .inputs__holder .input__wrapper .work__item .bottom__holder .info label, .work__item .bottom__holder .info .custom-pagination .page-numbers, .custom-pagination .work__item .bottom__holder .info .page-numbers {
  white-space: nowrap;
}

.work__item .bottom__holder .info .p2{
	color: var(--text-primary-main);
  white-space: wrap;
}

.work__item .bottom__holder .info .h6{
	color: var(--text-primary-head);
}

.work__item:hover {
  background-color: var(--bg-alt-main);
}
.work__item:hover * {
  color: var(--text-alt-head) !important;
}
.work__item:hover .swiper .swiper-wrapper .swiper-slide.swiper-slide-active a img {
  transform: scale(1.1);
}
.work__item:hover .bottom__holder .info .btn {
  background-color: var(--bg-primary-third);
  color: var(--text-primary-head) !important;
}
.work__item:hover .bottom__holder .info .btn:hover {
  background-color: var(--hover);
  color: var(--text-primary-head) !important;
}

@media (max-width: 580px) {
  .work__item .bottom__holder {
    gap: 10px;
    align-items: center;
  }
  .work__item .bottom__holder .info:last-child .btn {
    white-space: unset;
    padding: 22px 10px;
  }
}
@media (max-width: 530px) {
  .work__item .bottom__holder {
    flex-wrap: wrap;
  }
}
@media (max-width: 480px) {
  .work__item .bottom__holder .info:last-child {
    width: 100%;
    max-width: unset;
  }
  .work__item .bottom__holder .info:last-child .btn {
    width: 100%;
  }
}

.stock__item {
  background-color: var(--bg-alt-main);
  border-radius: 15px;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
	clip-path: inset(0 0 0 0);
	overflow: hidden;
}
.stock__item > div {
  height: auto;
}
.stock__item .left {
  padding: 40px 0 40px 40px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.stock__item .left *:not(.btn) {
  color: var(--text-alt-head);
}

.stock__item .right{
	display: flex;
  max-width: 360px;
  height: auto;
  height: 360px;
  margin: auto 0;
}

.stock__item .right img{
	position: relative;
  width: 100%; height: 100%;
  object-fit: contain;
}

.stock__item .left .head .time {
  border: 1px solid var(--bg-primary-stroke);
  border-radius: 10px;
  padding: 8px 20px;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 10px;
}
.stock__item .left .head .desc {
  color: var(--text-alt-main);
  margin-top: 10px;
}
.stock__item .left .btn {
  width: -moz-fit-content;
  width: fit-content;
	margin-top: 30px;
}

@media (max-width: 620px) {
  .stock__item {
    flex-direction: column;
  }
  .stock__item .left {
    padding: 24px;
    gap: 24px;
  }
  .stock__item .left .head .time {
    padding: 6px 16px;
    margin-bottom: 15px;
  }
  .stock__item .right {
    display: none;
    width: 100%;
    max-height: 300px;
  }
  .stock__item .right img {
    width: 100%;
    height: 100%;
    max-height: 300px;
    -o-object-fit: contain;
       object-fit: contain;
    border-radius: 0 0 15px 15px;
    display: block;
  }
}
@media (max-width: 480px) {
  .stock__item .left {
    padding: 20px 15px;
    gap: 20px;
  }
  .stock__item .left .btn {
    width: 100%;
  }
}

.review__item {
  padding: 20px;
  border-radius: 15px;
  background-color: var(--bg-primary-second);
  display: flex;
  flex-direction: column;
  gap: 20px;
  justify-content: space-between;
}
.review__item .head {
  display: flex;
  align-items: start;
  gap: 15px;
	color: var(--text-primary-head);
}
.review__item .head .icon {
  background-color: var(--bg-primary-main);
  border-radius: 10px;
  width: 60px;
  height: 60px;
  min-width: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.review__item .head .info .name {
  margin-bottom: 5px;
}
.review__item .head .info .service {
  color: var(--bg-alt-main);
}
.review__item .head .info .date {
  margin-top: 2px;
}
.review__item .bottom .gallery {
  margin-top: 20px;
  display: grid;
  grid-template-columns: 1fr 70px 70px 70px;
  grid-template-rows: repeat(2, 70px);
  gap: 10px;
}
.review__item .bottom .gallery ~ .text {
  margin-top: 38px;
}

.review__item .bottom .text{
	color: var(--text-primary-head);
}

.review__item .bottom .gallery__item {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
}
.review__item .bottom .gallery__item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.review__item .bottom .gallery__item:first-child {
  grid-row: span 2;
  grid-column: span 1;
}
.review__item .bottom .gallery__item.video::before {
  content: "";
  background-image: url("../images/play.png");
  background-size: auto;
  background-position: center;
  background-repeat: no-repeat;
  width: 34px;
  height: 34px;
  background-color: var(--bg-alt-main);
  border-radius: 50%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.review__item .bottom .gallery__item:not(.video) {
  position: relative;
}
.review__item .bottom .gallery__item:not(.video)::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  will-change: opacity;
  pointer-events: none;
  z-index: 4;
  opacity: 0;
  transition: var(--transition);
}
.review__item .bottom .gallery__item:not(.video)::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  will-change: opacity;
  width: 8px;
  height: 8px;
  background-image: url("../images/plus.png");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  pointer-events: none;
  z-index: 5;
  opacity: 0;
  transition: var(--transition);
}
.review__item .bottom .gallery__item:not(.video):hover::after, .review__item .bottom .gallery__item:not(.video):hover::before {
  opacity: 1;
}
.review__item .bottom .text .btn {
  margin-top: 8px;
  display: none;
}
.review__item .bottom .text.has-gallery p {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  max-height: 3rem;
}
.review__item .bottom .text.expanded p {
  -webkit-line-clamp: unset;
}

@media (max-width: 400px) {
  .review__item .bottom .gallery {
    grid-template-columns: 1fr 70px 70px;
  }
}
@media (max-width: 340px) {
  .review__item .bottom .gallery {
    grid-template-columns: 1fr 70px;
  }
  .review__item .bottom .gallery__item {
    display: none;
  }
  .review__item .bottom .gallery__item:nth-child(-n+3) {
    display: block;
  }
}

.news__item {
  display: flex;
  flex-direction: column;
  background-color: var(--bg-primary-second);
  border-radius: 15px;
  transition: var(--transition);
  /* justify-content: space-between; */
}
.news__item img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  border-radius: 15px;
  aspect-ratio: 49/25;
}
.news__item .bottom {
  padding: 20px;
}
.news__item .bottom .head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.news__item .bottom .head p:not(.date) {
  color: var(--bg-alt-main);
}
.news__item .bottom .head p.date {
  color: var(--text-primary-main);
}
.news__item .bottom .name {
  color: var(--text-primary-head);
}
.news__item .bottom .desc {
  margin-top: 10px;
  color: var(--text-primary-main);
}
.news__item:hover {
  background-color: var(--bg-alt-main);
}
.news__item:hover .bottom .head p:not(.date) {
  color: var(--text-alt-head);
}
.news__item:hover .bottom .head p.date {
  color: var(--text-alt-main);
}
.news__item:hover .name {
  color: var(--text-alt-head);
}
.news__item:hover .desc {
  color: var(--text-alt-main);
}/*# sourceMappingURL=main.css.map */

.archive_news_taxs {
  margin-bottom: 30px;
}

@media (max-width: 1700px){
	.archive.single-news .news > .container{
		gap: 30px;
		padding-right: 70px;
	}
}

@media (max-width: 1550px){
	.archive.single-news .news > .container{
		gap: 10px;
	}
}

@media (max-width: 1480px){
	.archive.single-news .news > .container{
		padding-right: 100px;
		flex-direction: column;
		gap: 30px;
	}
	
	.archive.single-news .news > .container .left,
	.archive.single-news .news > .container .right{
		max-width: unset;
	}
	
	.archive.single-news .news > .container .right .other__container{
		display: flex;
		gap: 20px 10px;
		flex-wrap: wrap;
	}
	
	.archive.single-news .news > .container .right .other__container > .new{
		border: none;
		padding: unset;
		padding-right: 5px;
		max-width: 320px;
		width: 100%;
		border-right: 1px solid var(--bg-primary-stroke);
	}
}

@media (max-width: 820px){
	.archive.single-news .news > .container{
		padding-right: unset;
	}
}

@media (max-width: 620px){
	.archive.single-news .news > .container .left .desc .block.quote::before,
	.archive.single-news .news > .container .left .desc .block.quote::after{
		width: calc(100% - 15px);
	}
	
	.archive.single-news .news > .container .left .desc .block.quote::before{
		left: 15px;
	}
	
	.archive.single-news .news > .container .left .desc .block.quote::after{
		right: 15px;
	}
	
	.archive.single-news .news > .container .left .desc .block.quote{
		padding-left: 15px;
		padding-right: 15px;
	}
}

.reviews_yandex_img {
  width: 100%; height: auto;
  background: var(--bg-alt-main);
  border-radius: 10px;
  overflow: hidden;
  position: relative;
  min-height: 600px;
  img {
    width: 100%; height: 100%;
    object-fit: cover;
    position: absolute;
  }
}

.reviews_yandex {
  display: grid; gap: 30px;
  grid-template-columns: 1fr 1fr;
}

.reviews_yandex_frame {
  background: var(--bg-primary-main);
}

@media (max-width:800px){
.reviews_yandex {
  grid-template-columns: 1fr;
}
.reviews_yandex_img {
  min-height: auto;
  img {
    height: auto;
    position: static;
    max-height: 600px;
  }
}
}