* {
  padding: 0;
  margin: 0;
}

:root {
  --red: #b70238;
  --light: #F0F0F0;
  --gray: #c2c2c2;
  --dark: #EDEDED;
  --footer: #191919;
}

html {
  scroll-behavior: smooth;
  scrollbar-width: thin;
}

body {
  font-size: 16px;
  font-family: "Montserrat", sans-serif;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

header {
  position: sticky;
  top: 0;
  background-color: white;
  z-index: 2;
}

main {
  flex-grow: 1;
}

img {
  max-width: 100%;
}

header,
button,
img,
a,
span,
svg,
input,
textarea,
select,
ul#menu-topleft li a::before,
ul#menu-topleft li a::after,
ul#menu-footer li a::before,
ul#menu-footer li a::after,
.phone::before,
.phone::after,
a.rent-link::after,
.burger-menu div,
.wpcf7-list-item-label::before,
.wpcf7-list-item-label::after,
.footer-row__bottom a::before,
.footer-row__bottom a::after,
.breadcrumbs a::before,
.breadcrumbs a::after,
.map-constructor-block {
  transition: 0.2s !important;
  -webkit-transition: all 0.2s !important;
  -moz-transition: all 0.2s ease-in-out !important;
  -o-transition: all 0.2s ease-in-out !important;
}

.logo:hover img.custom-logo {
  opacity: .75;
}

ul#menu-topleft,
ul#menu-footer {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  gap: 30px;
  flex-wrap: wrap;
}

ul#menu-topleft li a,
ul#menu-footer li a,
.footer-row__bottom a {
  color: black;
  font-size: 14px;
  font-weight: 400;
  text-decoration: none;
  position: relative;
}

ul#menu-footer li a {
  color: white;
}

ul#menu-topleft li a::before,
.phone::before,
ul#menu-footer li a::before,
.footer-row__bottom a::before,
.breadcrumbs a::before {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 50%;
  height: 1px;
  width: 0;
  background-color: var(--red);
}

ul#menu-topleft li a::after,
.phone::after,
ul#menu-footer li a::after,
.footer-row__bottom a::after,
.breadcrumbs a::after {
  content: '';
  position: absolute;
  bottom: -2px;
  right: 50%;
  height: 1px;
  width: 0;
  background-color: var(--red);
}

ul#menu-topleft li a:hover::before,
ul#menu-topleft li a:hover::after,
.phone:hover::before,
.phone:hover::after,
ul#menu-footer li a:hover::before,
ul#menu-footer li a:hover::after,
.footer-row__bottom a:hover::before,
.footer-row__bottom a:hover::after,
.breadcrumbs a:hover::before,
.breadcrumbs a:hover::after {
  width: 50%;
}

.vkontakte svg,
.telegram svg {
  fill: black;
  height: 32px;
  width: 32px;
}

.vkontakte:hover svg,
.telegram:hover svg {
  fill: var(--red);
}

.phone {
  color: black;
  font-size: 14px;
  text-decoration: none;
  position: relative;
}

.right-side img {
  width: 100%;
  max-height: calc(100vh - 100px);
  object-fit: cover;
}

h1.site-title,
h3.section-title {
  font-size: clamp(24px, 3vw, 54px);
  font-weight: 400;
  margin-bottom: 24px;
}

h2.site-title {
  font-size: clamp(18px, 3vw, 24px);
  font-weight: 400;
}

.left-side__heading {
  border-bottom: 1px solid var(--gray);
}

.hero-properties-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}

a.rent-link {
  color: var(--red);
  font-size: 14px;
  text-decoration-line: underline;
  padding-right: 28px;
  margin-left: 14px;
  position: relative;
}

a.rent-link::after {
  content: '';
  position: absolute;
  top: 1px;
  right: 0;
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 18 18' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='18.000000' height='18.000000' fill='none'%3e%3crect id='clarity:arrow-line' width='18.000000' height='18.000000' x='0.000000' y='0.000000' fill='rgb(255%2c255%2c255)' fill-opacity='0'/%3e%3cpath id='Vector' d='M13.5828 4.14783L18 8.97719L13.5859 13.8032C13.5461 13.8601 13.4954 13.9071 13.4374 13.9408C13.3794 13.9746 13.3154 13.9945 13.2497 13.999C13.184 14.0035 13.1182 13.9927 13.0567 13.9671C12.9952 13.9416 12.9394 13.902 12.8932 13.851C12.847 13.8 12.8113 13.7388 12.7887 13.6715C12.7661 13.6042 12.7571 13.5325 12.7622 13.4611C12.7673 13.3898 12.7864 13.3204 12.8183 13.2578C12.8502 13.1952 12.8941 13.1408 12.947 13.0983L16.2495 9.47627L0.459644 9.4729C0.337782 9.47285 0.220894 9.42016 0.134694 9.3264C0.0484939 9.23265 4.2987e-05 9.10551 2.85906e-08 8.97297C-4.29299e-05 8.84042 0.0483258 8.71333 0.134465 8.61964C0.220604 8.52595 0.337458 8.47334 0.45932 8.47339L16.2492 8.47676L12.9444 4.85224C12.8584 4.7581 12.8104 4.63071 12.8107 4.4981C12.8111 4.36548 12.8599 4.2385 12.9464 4.14509C13.0329 4.05168 13.15 3.99949 13.2719 4C13.3939 4.00052 13.5107 4.0537 13.5966 4.14784L13.5828 4.14783Z' fill='rgb(115.594%2c36.5916%2c40.9403)' fill-rule='nonzero'/%3e%3cpath id='Vector' d='M0 0L18 0L18 18L0 18L0 0Z' fill-rule='nonzero'/%3e%3c/svg%3e");
  background-size: contain;
  height: 18px;
  width: 18px;
}

a.rent-link:hover::after {
  transform: translate(4px, 0);
}

.wrap {
  max-width: 100%;
  margin: auto;
  padding: 20px 0;
}

.items-wrap {
  position: relative;
  display: flex;
  overflow: hidden;
  user-select: none;
  gap: 20px;
}

.items-wrap:before,
.items-wrap:after {
  content: "";
  height: 100%;
  top: 0;
  width: 10%;
  position: absolute;
  z-index: 1;
  pointer-events: none;
}

.items-wrap:before {
  left: 0;
}

.items-wrap:after {
  right: 0;
}

.items {
  flex-shrink: 0;
  display: flex;
  gap: 20px;
  counter-reset: item;
  justify-content: space-around;
  min-width: 100%;
}

.item:before {
  content: counter(item);
}

.marquee {
  padding: 10px 0;
  animation: scroll 24s linear infinite;
}

.reverce {
  animation-direction: reverse;
}

.items-wrap:hover .marquee {
  animation-play-state: paused;
}

.perfscan {
  margin: 20px 0;
  text-align: center;
  bottom: 0;
  background: #fff;
  padding: 5px;
}

.perfscan hr {
  border: solid #999;
  border-width: 1px 0 0 0;
  max-width: 50%;
  margin: 0 auto 20px;
}

.perfscan a {
  display: block;
  color: #000;
  font-weight: bold;
}

@keyframes scroll {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(calc(-100% - 20px));
  }
}

.about-gallery {
  display: flex;
  flex-wrap: wrap;
  align-items: start;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
}

.about-gallery div {
  object-fit: contain;
}

.property-image img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

section#objects {
  background-color: var(--dark);
}

.property-card {
  background-color: white;
  border: 1px solid var(--gray);
  height: 100%;
}

.property-attrs {
  display: flex;
  flex-direction: column;
  justify-content: start;
  width: 100%;
  padding: 30px;
}

h3.property-title {
  font-size: clamp(18px, 2vw, 24px);
  font-weight: 400;
}

span.price-old {
  text-decoration: line-through;
  opacity: .5;
}

.property-adres p,
.property-etazh p,
.property-price p,
.property .property-attrs h3 {
  font-size: 14px;
  font-weight: 400;
  line-height: 100%;
}

.property .property-attrs h3 {
  font-weight: 600;
}

.property-adres,
.property-etazh,
.property-price {
  font-size: 16px;
  font-weight: 400;
}

section#form .right-side img {
  max-height: 100%;
}

footer {
  padding: 56px 0;
  background-color: var(--footer);
}

footer .vkontakte svg,
footer .telegram svg {
  fill: white;
}

footer .phone {
  color: white;
}

.footer-row__top {
  padding-bottom: 30px;
  margin-bottom: 30px;
  border-bottom: 1px solid var(--gray);
}

.footer-row__bottom a,
.footer-row__bottom span {
  color: white;
  font-size: 12px;
}

.breadcrumbs a,
.breadcrumbs span {
  font-size: 14px;
  text-decoration: none;
  color: black;
  position: relative;
}

.breadcrumbs span.current-item {
  opacity: .65;
}

h3.property-form {
  font-size: clamp(18px, 3vw, 22px);
  margin-top: 24px;
  margin-bottom: 16px;
}

.property-main-image img,
.gallery-main img,
.gallery-thumbs img {
  object-fit: cover;
  height: auto;
}

.property .property-attrs {
  border: 1px solid var(--gray);
}

span.price-new.fw-bold.text-danger {
  color: var(--red) !important;
}

.gallery-thumbs a {
  flex: 1;
}

.gallery-thumbs a:hover {
  opacity: .75;
}

.map-constructor-block {
  filter: grayscale(1);
  -webkit-filter: grayscale(1);
}

.map-constructor-block:hover {
  filter: grayscale(0);
  -webkit-filter: grayscale(0);
}

.contacts-info__item h6,
.contacts-info__item a,
.contacts-info__item span {
  display: block;
  width: fit-content;
}

.contacts-info__item h6 {
  margin-bottom: 10px;
  font-size: 18px;
  font-weight: 400;
}

.contacts-info__item a,
.contacts-info__item span {
  font-size: 22px;
  font-weight: 500;
}

.contacts-info svg {
  width: 56px;
  height: 56px;
}

.property-adres .row.d-flex.justify-content-center.align-items-center {
  padding-bottom: 28px;
  margin-bottom: 28px;
  border-bottom: 1px solid var(--dark);
}

.property-adres .row.d-flex.justify-content-center.align-items-center:last-child {
  margin: 0;
  padding: 0;
  border: none;
}