@import "reset.css";
@import "editor.css";
@import url("https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100..700;1,100..700&display=swap");

body {
  --base-font-color: #000;
  --main-theme-color: #ff921c;
  --secondary-theme-color: #000;
  --button-hover-color: #eca427;
  --section-background: #f1f1f1;
  --font: "Josefin Sans", sans-serif;
  --white-filter: brightness(0) saturate(100%) invert(95%) sepia(16%) saturate(2%) hue-rotate(44deg) brightness(106%)
    contrast(100%);
  --main-theme-color-filter: brightness(0) saturate(100%) invert(78%) sepia(64%) saturate(4199%) hue-rotate(345deg)
    brightness(101%) contrast(101%);
  --secondary-theme-color-filter: brightness(0);
  --border-radius: 10px;
  --stash-button-filter: brightness(0) saturate(100%) invert(22%) sepia(84%) saturate(5991%) hue-rotate(354deg)
    brightness(83%) contrast(123%) drop-shadow(3px 3px 2px rgba(0, 0, 0, 0.7));
  margin: 0px;
  padding: 0px;
  font-size: 16px;
  font-family: var(--font);
  font-weight: 400;
  color: var(--base-font-color);
}

.wrapper {
  width: 96%;
  padding: 0 2%;
  max-width: 1440px;
  margin: 0 auto;
  clear: both;
}

.narrow-wrapper {
  max-width: 600px;
}

.inner-wrapper {
  position: relative;
}

* {
  line-height: 1.25em;
}

button {
  border: 0 none;
  margin: 0;
  padding: 0;
  display: inline-block;
  cursor: pointer;
  background: none;
}

input,
select,
textarea,
button {
  font-size: 16px;
  font-family: var(--font);
}

.flex-columns {
  display: flex;
  flex-wrap: wrap;
  gap: var(--vgap) var(--hgap);
}

.flex-columns > * {
  box-sizing: border-box;
  width: calc(100 / var(--columns) * 1% - (var(--hgap) * (var(--columns) - 1) / var(--columns)));
}

.flex-columns > .full {
  width: 100%;
}

.img img {
  display: block;
}

/* general */

.visible {
  display: block !important;
}

.overlay {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  opacity: 0;
  transition: opacity 0.4s, visibility 0.4s, z-index 0.4s steps(1, jump-start);
  z-index: -1;
  visibility: hidden;
}

.overlay.visible {
  visibility: visible;
  z-index: 1000;
  opacity: 1;
}

.section {
  padding: 55px 0 47px 0;
}

.cta-section {
  padding: 15px 20px;
  background: var(--main-theme-color);
  color: #fff;
  border-radius: var(--border-radius);
}

/* general end */

/* buttons */

.button {
  padding: 15px 20px;
  background: var(--main-theme-color);
  cursor: pointer;
  transition: transform 0.4s;
  line-height: 20px;
  font-weight: 600;
  font-size: 1.125em;
  line-height: normal;
  color: #fff;
  display: inline-block;
  border-radius: var(--border-radius);
}

.add-button:before {
  content: "+";
  font-size: 2em;
}

.search-button {
  width: 50px;
  height: 50px;
  filter: var(--main-theme-color-filter);
  background: url("img/search.svg") no-repeat center center;
  background-size: 40px;
  border: 0 none;
  margin: 0;
  padding: 0;
}

.button:hover {
  background: var(--button-hover-color);
  transform: scale(1.2, 1.2);
}

/* buttons end */

/* headlines */

.headline {
  color: var(--secondary-theme-color);
  font-size: 2.5em;
  font-weight: bold;
  margin-bottom: 30px;
}

.headline span {
  font-weight: normal;
  font-size: 0.6125em;
  display: block;
}

.headline:after {
  content: "";
  display: block;
  width: 80px;
  height: 5px;
  background: var(--main-theme-color);
  margin-top: 10px;
}

.section-headline {
  font-size: 1.375em;
  font-weight: bold;
}

.section-heading {
  clear: both;
  color: var(--main-theme-color);
  font-size: 1.5em;
  font-weight: bold;
  border-bottom: 1px solid var(--base-font-color);
  margin-bottom: 50px;
  padding-bottom: 10px;
}

/* headlines end */

/* header */

header {
  position: sticky;
  top: 0;
  z-index: 1000;
  margin-bottom: 25px;
}

.header > .wrapper {
  position: relative;
}

.top {
  background: var(--secondary-theme-color);
  padding: 10px 0;
}

.top .wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: end;
}

.top,
.top a {
  color: var(--main-theme-color);
}

.top img {
  filter: var(--main-theme-color-filter);
}

.logo {
  position: absolute;
  top: 20px;
}

.logo img {
  max-width: 267px;
  max-height: 71px;
}

header .contact-box {
  display: flex;
  gap: 0 25px;
}

.contact-box a {
  line-height: 30px;
  font-size: 0.875em;
  font-weight: 600;
  transition: color 0.4s;
}

.contact-box a:hover {
  color: var(--main-theme-color);
}

.contact-box img {
  width: 22px;
  height: 22px;
  display: inline;
  vertical-align: middle;
  fill: var(--main-theme-color-filter);
  margin-right: 3px;
}

.menu-bar {
  display: flex;
  flex-wrap: wrap;
  justify-content: end;
  gap: 2px;
  background: var(--main-theme-color);
}

.menu-bar a {
  color: #fff;
}

.stash-box {
  padding-left: 30px;
}

.stash-box img {
  width: 30px;
  height: 30px;
  fill: #a1a1a1;
}

.stash-box a {
  position: relative;
  overflow: visible;
  display: block;
}

.stash-box a svg {
  fill: var(--main-theme-color);
}

.stash-box a span {
  border: 2px solid #fff;
  background: var(--main-theme-color);
  border-radius: 50%;
  font-size: 0.5em;
  color: #fff;
  position: absolute;
  bottom: 5px;
  right: 0;
  width: 12px;
  height: 12px;
  text-align: center;
  line-height: 14px;
}

.search-box {
  margin-left: 30px;
  height: 30px;
}

.search-box button {
  background: none;
  width: 25px;
  height: 25px;
  vertical-align: middle;
}

.search-box button img {
  width: auto;
  height: 30px;
  fill: var(--main-theme-color);
}

.menu-bar .wrapper > nav > ul {
  display: flex;
  justify-content: end;
}

.menu-bar .wrapper > nav > ul > li {
  position: relative;
}

.menu-bar .wrapper > nav li ul {
  display: none;
  position: absolute;
  top: 48px;
  background: var(--main-theme-color);
  border-radius: var(--border-radius);
}

.menu-bar .wrapper > nav li li {
  border-bottom: 1px solid var(--main-theme-color);
}

.menu-bar .wrapper > nav li li:last-child {
  border-bottom: 0 none;
}

.menu-bar .wrapper > nav li:hover > ul {
  display: block;
  z-index: 10;
}

.menu-bar .wrapper > nav a {
  font-size: 1.25em;
  font-weight: 600;
  padding: 10px 25px;
  display: block;
  transition: transform 0.4s;
}

.menu-bar .wrapper > nav a:hover,
.menu-bar .wrapper > nav li:hover > a,
.menu-bar .wrapper > nav li.current > a {
  background: var(--secondary-theme-color);
  color: #fff;
  transform: scale(1.2, 1.2);
  border-radius: var(--border-radius);
  box-shadow: 0px 0px 20px 2px var(--main-theme-color);
}

.menu-bar .wrapper > nav ul ul a {
  white-space: pre;
}

.menu-bar .mobile {
  float: right;
  margin-left: 30px;
  display: none;
}

.menu-bar .mobile > img {
  height: 34px;
  width: auto;
  filter: var(--secondary-theme-color-filter);
  cursor: pointer;
  padding: 5px 0;
}

.menu-bar .mobile > div {
  display: block !important;
  position: fixed;
  left: 0;
  top: -100%;
  z-index: 1001;
  background: var(--secondary-theme-color);
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: 70px 0 20px 0;
  overflow: auto;
  transition: top 0.4s;
}

.menu-bar .mobile > div.visible {
  top: 0;
}

.menu-bar .mobile .close {
  position: absolute;
  top: 20px;
  right: 20px;
  cursor: pointer;
}

.menu-bar .mobile .close img {
  width: 30px;
  height: 30px;
  filter: var(--main-theme-color-filter);
}

.menu-bar .mobile ul {
  clear: both;
}

.mobile a {
  display: block;
  font-size: 1.25em;
  padding: 10px 0;
  font-weight: 600;
  text-align: center;
  color: var(--main-theme-color);
}

.mobile a:hover {
  color: var(--main-theme-color);
}

.mobile ul ul {
  max-height: 0;
  overflow: hidden;
  background: var(--main-theme-color);
  transition: all 0.4s;
  transform: translateX(-100%);
}

.mobile ul ul.visible {
  transform: translateX(0);
  padding: 15px 0;
  max-height: 10000px;
}

.mobile ul ul a {
  color: #fff;
}

.mobile ul ul a:hover {
  color: var(--secondary-theme-color);
}

/* header end */

/* footer */

footer {
  clear: both;
  padding-top: 80px;
  background: var(--secondary-theme-color);
}

footer .wrapper {
  display: flex;
  gap: 60px;
}

footer > .wrapper {
  padding-bottom: 40px;
}

footer .contact {
  margin-left: auto;
}

footer .section-headline {
  margin-bottom: 15px;
  color: var(--main-theme-color);
}

footer,
footer a {
  color: #fff;
}

footer nav a {
  font-weight: 500;
  font-size: 0.875em;
  display: block;
  transition: color 0.4s;
  margin-bottom: 5px;
}

footer nav a:hover {
  color: var(--main-theme-color);
}

footer .contact-box {
  margin-bottom: 20px;
}

footer .contact-box a {
  display: block;
  margin: 0 0 4px 0;
}

footer .contact-box img {
  filter: var(--main-theme-color-filter);
}

footer .socials a {
  transition: transform 0.4s;
  display: inline-block;
  margin: 0 10px 10px 0;
}

footer .socials a:hover {
  transform: scale(1.2, 1.2);
}

footer .socials span {
  background: var(--main-theme-color);
  border-radius: var(--border-radius);
  padding: 6px 10px;
  display: inline-block;
  vertical-align: middle;
}

footer .socials img {
  width: 25px;
  filter: var(--white-filter);
  display: block;
}

footer .copyrights {
  background: var(--main-theme-color);
  padding: 15px 0;
  float: left;
  width: 100%;
  color: #fff;
  font-size: 0.8125em;
}

footer .copyrights .wrapper {
  justify-content: space-between;
}

footer .copyrights a {
  color: #fff;
}

/* footer end */

/* slider */

.slider {
  margin-top: -25px;
  position: relative;
  margin-bottom: 80px;
}

.slider .tns-controls {
  display: none;
}

.slider .tns-nav {
  position: absolute;
  bottom: -50px;
  left: 0;
  width: 100%;
  text-align: center;
  z-index: 1;
}

.slider .tns-nav button {
  background: #c1c1c1;
  border-radius: 50%;
  display: inline-block;
  width: 15px;
  height: 15px;
  margin: 0 10px;
  transition: 0.4s transform;
}

.slider .tns-outer > button {
  display: none;
}

.slider .tns-item {
  position: relative;
}

.slider .tns-item img {
  display: block;
  width: 100%;
}

.slider .tns-item img:nth-of-type(2) {
  display: none;
}

.slider .content {
  position: absolute;
  height: 100%;
  width: 100%;
  left: 0;
  top: 0;
  z-index: 1;
}

.slider .tns-nav button:hover,
.slider .tns-nav .tns-nav-active {
  background: var(--main-theme-color);
  transform: scale(2, 2);
}

.slider .apla {
  position: absolute;
  bottom: 0;
  margin-bottom: 4%;
  background: rgba(255, 255, 255, 0.7);
  padding: 25px 30px;
  width: 100%;
  max-width: 550px;
  box-sizing: border-box;
}

.slider .headline {
  line-height: normal;
}

/* slider end */

/* category selection */

.category-banner {
  clear: both;
  margin-bottom: 55px;
  position: relative;
  text-align: center;
}

.category-banner .button {
  font-size: 1.125em;
}

.category-banner .button svg {
  width: 27px;
}

.category-banner * {
  color: #fff;
}

.category-banner > img {
  display: block;
  width: 100%;
  height: 507px;
}

.category-banner .tabs {
  position: relative;
  overflow: visible;
}

.category-banner .content {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

.category-banner h1 {
  font-size: 2.8125em;
  margin-bottom: 15px;
}

.category-banner .tabs li {
  display: inline-block;
  margin: 0 10px 10px 10px;
}

.category-banner .tabs li.current {
  background: var(--button-hover-color);
}

.category-banner .tabs li.current svg,
.category-banner .tabs li:hover svg {
  transform: translate(15px, 0);
}

.category-banner .tabs > div {
  position: absolute;
  left: 0;
  top: calc(100% + 20px);
  text-align: center;
  width: 96%;
  padding: 2%;
}

.category-banner .tabs > div a {
  display: inline-block;
  padding: 10px 15px;
  background: var(--main-theme-color);
  transition: background-color 0.4s;
  margin: 0 2px 4px 2px;
}

.category-banner .tabs > div a:hover {
  background: var(--button-hover-color);
}

/* category selection end */

/* carousel */

.owl-carousel .owl-nav button {
  position: absolute;
  top: 50%;
  width: 35px;
  height: 25px;
  margin-top: -12px !important;
  background: url("img/arrow.svg") no-repeat left top !important;
  background-size: 100% 100% !important;
  filter: var(--main-theme-color-filter);
  margin: 0 !important;
}

.owl-carousel .owl-nav button span {
  display: none;
}

.owl-nav .owl-prev {
  left: -83px;
  transform: rotate(180deg);
}

.owl-nav .owl-next {
  right: -83px;
}

/* carousel end */

/* offers common */

.distinction {
  color: #fff;
  padding: 6px 8px;
  font-weight: bold;
}

/* offers common end */

/* offer groups */

.slider + .offer-groups {
  margin-top: -55px;
}

.offer-groups > div {
  padding: 55px 0 47px 0;
}

.offer-groups > div:nth-child(2n) {
  background: var(--section-background);
}

.offer-groups .ed {
  margin-bottom: 45px;
}

/* offer groups end */

/* offer list */

.filter {
  background: var(--section-background);
  padding: 20px 0;
  margin-top: -25px;
  margin-bottom: 30px;
}

.filters {
  display: grid;
  grid-template-columns: 1fr 50px;
  grid-template-areas: "location submission";
  gap: 20px;
}

.filters.open {
  grid-template-areas:
    "location submission"
    "fields submission";
}

.filters .location {
  grid-area: location;
}

.filters .fields {
  display: none;
  grid-area: fields;
}

.filters.open .fields {
  display: flex;
}

.filters .add-button {
  color: var(--main-theme-color);
  cursor: pointer;
  width: auto !important;
  align-self: end;
  padding-bottom: 5px;
  font-weight: bold;
}

.filters .location,
.filters .fields {
  --columns: 4;
  --vgap: 30px;
  --hgap: 30px;
  padding-right: 50px;
  display: flex;
  flex-wrap: wrap;
}

.filter .tags .button {
  background: #fff;
  color: var(--base-font-color);
  margin: 0 10px 10px 0;
}

.filter .tags .button:hover,
.filter .tags .button.current {
  background: var(--main-theme-color);
  color: #fff;
}

.filter .tags .button svg {
  transition: fill 0.4s;
  fill: var(--base-font-color);
  width: 20px;
  height: auto;
}

.filter .tags .button:hover svg,
.filter .tags .button.current svg {
  fill: #fff;
  transform: none;
}

.filters .fields {
  --columns: 4;
  grid-area: fields;
  display: none;
  flex-wrap: wrap;
}

.filters.open .fields {
  display: flex;
}

.filters .submission {
  align-self: stretch;
  grid-area: submission;
  display: flex;
  justify-content: center;
  align-items: end;
}

.filters select {
  color: #fff;
  appearance: none;
  border: 0 none;
  font-size: 0.9375em;
  padding: 10px 30px 10px 15px;
  font-weight: 600;
  display: block;
  width: 100%;
  box-sizing: border-box;
  height: 40px;
  line-height: 20px;
  position: relative;
  background: var(--main-theme-color) url("img/dropdown.svg") no-repeat right 10px center;
  background-size: 15px 15px;
  border-radius: var(--border-radius);
}

.filters label {
  display: block;
  text-align: center;
  margin-bottom: 10px;
}

.filters .full > label {
  font-size: 1.125em;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--main-theme-color);
  text-align: left;
  margin-bottom: 20px;
}

.filter-box .fields {
  margin-bottom: 10px;
}

.filters .min,
.filters .max {
  margin-bottom: 10px;
}

.filters .min {
  float: left;
}

.filters .max {
  float: right;
}

.range-slider {
  position: relative;
  clear: both;
}

.range-slider .dots {
  position: absolute;
  margin: 0 2.5%;
  width: 95%;
  height: 12px;
}

.range-slider .dot {
  position: absolute;
  top: 50%;
  border-radius: 50%;
  display: block;
  width: 10px;
  height: 10px;
  margin-top: -5px;
  margin-left: -5px;
  background: var(--main-theme-color);
}

.irs {
  --bar-height: 4px;
  clear: both;
  height: auto !important;
}

.irs--flat .irs-min,
.irs--flat .irs-max,
.irs--flat .irs-from,
.irs--flat .irs-to {
  display: none;
}

body .irs--flat .irs-line {
  height: var(--bar-height);
  background: none;
  border-bottom: var(--bar-height) solid var(--main-theme-color);
  overflow: visible;
  top: 0;
}

body .irs--flat .irs-bar {
  visibility: hidden;
  top: 0;
}

body .irs--flat .irs-handle {
  height: auto;
  top: 50%;
  margin-top: -6px;
  margin-left: -8px;
}

body .irs--flat .irs-handle > i:first-child {
  z-index: 2;
  width: 6px;
  height: 6px;
  cursor: pointer;
  touch-action: none;
  border: 5px solid var(--main-theme-color);
  background: #fff !important;
  border-radius: 50%;
}

.filters .multi input {
  display: none;
}

.filters .multi label {
  cursor: pointer;
  display: inline-block;
  padding: 5px 10px;
  margin: 0 10px 10px 0;
  font-weight: 600;
  background: var(--section-background);
  transition: transform 0.4s;
  border-radius: var(--border-radius);
}

.filters .multi label:hover {
  transform: scale(1.2, 1.2);
}

.filters .multi input:checked + label {
  background: var(--main-theme-color);
  color: #fff;
  border-radius: var(--border-radius);
}

.offers {
  display: flex;
  --hgap: 20px;
  --vgap: 20px;
  --columns: 4;
}

.wrapper.offers {
  margin-bottom: 30px;
}

.offers a {
  display: block;
  border-radius: var(--border-radius);
  overflow: hidden;
}

.offers > a {
  position: relative;
  padding-bottom: 52px;
  background: var(--section-background);
}

.offers .img {
  position: relative;
  overflow: hidden;
}

.offers .img button {
  position: absolute;
  z-index: 1;
  right: 15px;
  top: 15px;
  background: transparent;
  padding: 0;
  margin: 0;
  border: 0 none;
  background: #fff;
  border-radius: 50%;
  padding: 6px;
}

.offers .img button img {
  width: 30px;
  height: auto;
  filter: var(--stash-button-filter);
  transition: transform 0.4s;
}

.offers .img button:hover img {
  transform: scale(1.2, 1.2);
}

.offers .img button img:nth-child(2) {
  display: none;
}

.offers .img button img:first-child {
  display: block;
}

.offers .img button.stashed img:nth-child(2) {
  display: block;
}

.offers .img button.stashed img:first-child {
  display: none;
}

.offers .img > img {
  display: block;
  width: 100%;
  transition: transform 0.4s;
}

.offers .distinction {
  position: absolute;
  top: 20px;
  left: 0;
  text-align: right;
}

.offers h3 {
  padding: 10px 15px;
  border-top: 0 none;
  border-bottom: 0 none;
}

.offer-groups > div:nth-child(2n) .offers h3 {
  background: #fff;
}

.offers h3 strong {
  font-size: 1.25em;
  display: block;
}

.offers h3 span {
  font-size: 0.875em;
  font-weight: normal;
}

.offers .number {
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 3px 10px;
  background: rgba(255, 255, 255, 0.7);
}

.offers .price {
  box-sizing: border-box;
  padding: 15px 20px;
  display: block;
  color: #fff;
  font-weight: bold;
  font-size: 1.125em;
  text-align: center;
  background: var(--main-theme-color);
  border-radius: 0 0 var(--border-radius) var(--border-radius);
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
}

.offers .number,
.offers .price span {
  font-size: 0.875em;
}

.offers .price strong {
  font-size: 1.25em;
}

.offers a:hover {
  background: var(--main-theme-color);
}

.offers a:hover h3 {
  color: #fff;
}

.offers a:hover .img > img {
  transform: scale(1.1, 1.1);
}

.offers a:hover .price {
  background: var(--secondary-theme-color);
}

/* offer list end */

/* offer details */

.offer {
  display: grid;
  grid-template-columns: 67.65% 30.75%;
  gap: 0 1.6%;
  grid-auto-rows: min-content;
  grid-template-rows: auto auto auto 1fr;
  grid-template-areas:
    "title title"
    "gallery gallery"
    "main agents"
    "main form";
  --section-gap: 30px;
  margin-bottom: 40px;
}

.offer .title {
  grid-area: title;
  display: grid;
  grid-template-areas:
    "headline price"
    "headline toolbar";
  grid-template-rows: auto 1fr;
  grid-auto-columns: min-content;
  grid-auto-rows: min-content;
  grid-template-columns: 1fr auto;
  gap: 20px;
  margin-bottom: var(--section-gap);
}

.offer .title .headline {
  grid-area: headline;
  margin-bottom: 0;
}

.offer .price {
  color: #fff;
  padding: 10px 15px 5px 15px;
  background: var(--main-theme-color);
  border-radius: var(--border-radius);
  font-size: 1.75em;
  font-weight: bold;
  grid-area: price;
  justify-self: end;
}

.offer .toolbar {
  grid-area: toolbar;
  justify-self: end;
  display: flex;
  gap: 20px;
  align-items: start;
}

.offer .toolbar a {
  display: inline-block;
  padding: 5px;
  border-radius: var(--border-radius);
  background: var(--secondary-theme-color);
  transition: transform 0.4s;
}

.offer .toolbar a:hover {
  transform: scale(1.3, 1.3);
}

.offer .toolbar img {
  filter: var(--white-filter);
  width: 30px;
  height: 30px;
  display: block;
}

.offer .toolbar .stash-button {
  background: transparent;
  filter: var(--stash-button-filter);
}

.offer .gallery {
  grid-area: gallery;
  margin-bottom: var(--section-gap);
  position: relative;
}

.gallery .thumbs {
  position: absolute;
  right: 0;
  top: 0;
  width: 30.75%;
  height: 100%;
  --columns: 2;
  --hgap: 15px;
  --vgap: 14px;
  overflow: hidden;
}

.gallery .pane {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  max-height: 100%;
  scrollbar-width: none;
  overflow: auto;
}

.gallery img {
  display: block;
  width: 100%;
  cursor: pointer;
  border-radius: var(--border-radius);
}

.gallery .thumbs span {
  border-radius: var(--border-radius);
  overflow: hidden;
}

.gallery .thumbs img {
  transition: transform 0.4s;
}

.gallery .thumbs span:hover img {
  transform: scale(1.2, 1.2);
}

.gallery .tns-outer {
  position: relative;
  width: 67.65%;
}

.gallery .tns-controls button {
  font-size: 0;
  text-indent: -9999px;
  position: absolute;
  top: 50%;
  background: var(--main-theme-color);
  width: 80px;
  height: 80px;
  margin-top: -40px;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

.gallery .tns-controls button:first-child {
  left: 0;
  border-radius: 0 var(--border-radius) var(--border-radius) 0;
}

.gallery .tns-controls button:last-child {
  right: 0;
  border-radius: var(--border-radius) 0 0 var(--border-radius);
}

.gallery .tns-controls button::before {
  display: block;
  content: "";
  width: 50px;
  height: 50px;
  background: url("img/arrow.svg") no-repeat center center;
  background-size: 100%;
  filter: var(--white-filter);
}

.gallery .tns-controls button:first-child::before {
  transform: rotate(180deg);
}

.offer .content {
  grid-area: main;
}

.offer dl {
  display: grid;
  grid-template-columns: repeat(4, calc(25% - 2px));
  margin-bottom: var(--section-gap);
  gap: 2px;
}

.offer dd,
.offer dt {
  padding: 10px 15px;
  background: var(--section-background);
}

.offer dd {
  font-weight: bold;
}

.offer dd:nth-child(4n + 2) {
  margin-right: 4px;
}

.offer dt:nth-child(4n + 3) {
  margin-left: 4px;
}

.offer .agents {
  grid-area: agents;
}

.offer .distinction {
  display: inline-block;
  margin-bottom: var(--section-gap);
  padding: 7px 15px;
}

.offer .ed {
  margin-bottom: var(--section-gap);
}

.offer .movies {
  --columns: 1;
}

.offer .movies div {
  height: auto;
}

.offer .movies p {
  font-weight: bold;
  margin-bottom: 15px;
}

.agents .section-headline {
  padding-bottom: 20px;
  border-bottom: 1px solid var(--base-font-color);
  margin-bottom: var(--section-gap);
  color: var(--main-theme-color);
}

.agents li {
  margin-bottom: var(--section-gap);
}

.agents .vcard {
  display: grid;
  grid-template-areas:
    "img name"
    "img position";
  grid-template-columns: 100px 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 5px 20px;
  margin-bottom: 20px;
}

.agents .vcard img {
  grid-area: img;
  border-radius: var(--border-radius);
}

.agents .vcard strong,
.agents .vcard span {
  display: flex;
}

.agents .vcard strong {
  font-size: 1.375em;
  align-items: end;
}

.agents .vcard span {
  align-items: start;
}

.agents li div img {
  width: 100%;
  display: block;
  border-radius: var(--border-radius);
}

.agents a {
  margin-bottom: 5px;
  display: block;
  line-height: 24px;
}

.agents a:hover {
  color: var(--main-theme-color);
}

.agents a::before {
  content: "";
  width: 24px;
  height: 24px;
  display: inline-block;
  vertical-align: middle;
  filter: var(--main-theme-color);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100%;
  margin-right: 15px;
  filter: var(--main-theme-color-filter);
}

.agents .cells a::before {
  background-image: url("img/phone.svg");
}

.agents .phones a::before {
  background-image: url("img/phone-st.svg");
}

.agents .mail a::before {
  background-image: url("img/mail.svg");
}

.offer .query-form {
  grid-area: form;
}

.query-form .section-headline {
  margin-bottom: 20px;
}

.query-form .std-form {
  --columns: 1 !important;
}

.query-form .std-form input,
.query-form .std-form textarea {
  background: #fff !important;
  color: var(--base-font-color);
}

.query-form .std-form .button {
  background: #fff !important;
  color: var(--main-theme-color);
}

/* offer details end */

/* pagination */

.pagination {
  text-align: center;
  margin-bottom: 40px;
}

.pagination a {
  margin: 0 10px;
}

.pagination span,
.pagination a:hover {
  color: var(--main-theme-color);
}

.pagination svg {
  width: auto;
  height: 0.75em;
  fill: var(--main-theme-color);
}

.pagination a:first-child svg {
  transform: rotate(180deg);
}

/* pagination end */

/* contact */

.std-form {
  margin-bottom: 40px;
  --columns: 2;
  --hgap: 20px;
  --vgap: 20px;
}

.std-form input,
.std-form select,
.std-form textarea {
  background: var(--main-theme-color);
  color: #fff;
  box-sizing: border-box;
  border: 0 none;
  font-size: 0.9375em;
  padding: 10px 15px;
  font-weight: 600;
  display: block;
  width: 100%;
  border-radius: var(--border-radius);
}

.std-form input,
.std-form select {
  height: 40px;
}

.std-form input::placeholder,
.std-form textarea::placeholder {
  color: #fff;
}

.std-form input[type="checkbox"],
.std-form input[type="radio"] {
  display: none;
}

.std-form input[type="checkbox"] + label,
.std-form input[type="radio"] + label {
  padding-left: 30px;
  position: relative;
}

.std-form input[type="checkbox"] + label::before {
  content: "";
  position: absolute;
  left: 0;
  width: 20px;
  height: 20px;
  border: 1px solid var(--main-theme-color);
  background: #fff;
  border-radius: var(--border-radius);
}

.std-form input[type="checkbox"]:checked + label::after {
  background: url("img/tick.svg") no-repeat center center;
  background-size: 80%;
  content: "";
  width: 20px;
  height: 20px;
  position: absolute;
  z-index: 1;
  left: 1px;
  top: 0;
  filter: var(--main-theme-color-filter);
}

.std-form select {
  appearance: none;
  padding-right: 50px;
  background-image: url("img/dropdown.svg");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 15px 15px;
}

.std-form select + svg {
  width: 20px;
  height: auto;
  fill: #fff;
  margin-top: -26px;
  float: right;
  margin-right: 10px;
  transform: rotate(90deg);
}

.std-form .submit-box {
  width: 100% !important;
  text-align: right;
}

.std-form textarea {
  height: 120px;
}

.map {
  margin-top: -25px;
  position: relative;
  margin-bottom: 30px;
}

#map-canvas {
  height: 400px;
  margin-bottom: 40px;
}

.map .legend {
  position: absolute;
  z-index: 10;
  top: 30px;
  padding: 25px 30px;
  background: #fff;
  min-width: 200px;
  max-width: 350px;
}

/* contact end */

/* messages */

.errors,
.notices {
  clear: both;
  margin-bottom: 20px;
  color: #fff;
  padding: 10px;
}

.errors {
  background: #bf0000;
}

.notices {
  background: #5ba500;
}

.errors li,
.notices li {
  padding: 7px 0 7px 45px;
  line-height: 20px;
  margin-bottom: 1px;
  background-repeat: no-repeat;
  background-position: left top;
}

.errors li {
  background-image: url("img/error-icon.png");
}

.notices li {
  background-image: url("img/confirm-icon.png");
}

/* messages end */

/* news list */

.news-list {
  display: flex;
  --gap: 24px;
  --columns: 3;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 0 var(--gap);
}

.news-list > a {
  width: calc(100 / var(--columns) * 1% - (var(--gap) * (var(--columns) - 1) / var(--columns)));
  margin-bottom: 30px;
}

.news-list .img {
  overflow: hidden;
  margin-bottom: 25px;
  border-radius: var(--border-radius);
}

.news-list img {
  display: block;
  width: 100%;
  transition: transform 0.4s;
}

.news-list a:hover .img img {
  transform: scale(1.2, 1.2);
}

.news-list h3 {
  font-size: 1.25em;
  margin-bottom: 10px;
}

.news-list a:hover h3 {
  color: var(--main-theme-color);
}

.news-list .ed {
  margin-bottom: 25px;
}

/* news list end */

/* details */

.news .headline {
  margin-bottom: 45px;
}

.news .img {
  float: left;
  margin: 0 25px 20px 0;
  position: relative;
  border-radius: var(--border-radius);
  overflow: hidden;
}

.news .date {
  color: #fff;
  padding: 5px 15px;
  font-size: 0.9375em;
  background: var(--main-theme-color);
  display: inline-block;
  margin-bottom: 15px;
  position: absolute;
  z-index: 1;
  left: 10px;
  top: 10px;
  border-radius: var(--border-radius);
}

.news .ed + .button {
  clear: both;
  float: right;
  margin-bottom: 20px;
}

/* details end */

/* gallery */

.img-gallery {
  --columns: 8;
  --hgap: 20px;
  --vgap: 20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: start;
  margin-bottom: 40px;
}

.img-gallery img {
  display: block;
  width: 100%;
  border-radius: var(--border-radius);
  transition: transform 0.4s;
}

.img-gallery a:hover img {
  transform: scale(1.3, 1.3);
}

.fslightbox-slide-btn-container {
  background: var(--main-theme-color) !important;
  padding: 10px !important;
}

.fslightbox-slide-btn-container button {
  display: none !important;
}

.fslightbox-slide-btn-container::before {
  content: "";
  display: block;
  content: "";
  width: 50px;
  height: 50px;
  background: url(img/arrow.svg) no-repeat center center;
  background-size: 100%;
  filter: var(--white-filter);
}

.fslightbox-slide-btn-container-previous {
  border-radius: 0 var(--border-radius) var(--border-radius) 0 !important;
}

.fslightbox-slide-btn-container-previous::before {
  transform: rotate(180deg);
}

.fslightbox-slide-btn-container-next {
  border-radius: var(--border-radius) 0 0 var(--border-radius) !important;
}

/* gallery end */

/* files */

.files {
  margin-bottom: 30px;
}

.files a {
  display: block;
  width: 100%;
  margin-bottom: 10px;
  box-sizing: border-box;
  background: var(--main-theme-color);
  padding: 10px 15px;
  border-radius: var(--border-radius);
  color: #fff;
  transition: transform 0.4s;
}

.files a:hover {
  transform: scale(1.025, 1.1);
}

.files span {
  display: block;
  padding-right: 45px;
  background: url("img/download.svg") no-repeat right center;
  background-size: 20px 20px;
  filter: var(--white-filter);
}

/* files end */

/* movies */

.movies {
  --columns: 2;
  --gap: 25px;
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap);
  margin-bottom: 40px;
  justify-content: start;
  align-items: center;
}

.movies div {
  width: calc(100 / var(--columns) * 1% - (var(--gap) * (var(--columns) - 1) / var(--columns)));
  height: 400px;
}

.movies iframe,
.movies video {
  width: 100%;
  height: 100%;
}

/* movies end */

/* audio */

.audio {
  --columns: 2;
  --gap: 25px;
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap);
  margin-bottom: 40px;
  justify-content: start;
}

.audio div {
  width: calc(100 / var(--columns) * 1% - (var(--gap) * (var(--columns) - 1) / var(--columns)));
}

.audio p {
  margin-bottom: 10px;
  font-size: 1.125em;
  font-weight: 600;
}

.audio audio {
  width: 100%;
}

/* audio end */

/* search */

#search {
  position: fixed;
  right: 0;
  top: 0;
  max-width: 400px;
  width: 100%;
  height: 100%;
  padding: 15px 20px;
  background: #fff;
  overflow-y: auto;
  overflow-x: hidden;
  transition: transform 0.4s;
  transform: translate(100%, 0);
  box-sizing: border-box;
}

.overlay.visible #search {
  transform: none;
}

#search > div {
  clear: both;
  display: none;
}

#search .first.visible {
  display: grid !important;
  grid-template-rows: 1fr auto;
  grid-template-columns: 100%;
  grid-auto-rows: min-content;
  align-items: space-between;
  min-height: calc(100% - 70px);
  gap: 40px;
}

#search .close {
  float: right;
  border-radius: var(--border-radius);
  background: var(--main-theme-color);
  padding: 10px;
  margin-bottom: 20px;
}

#search .close::before {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  background: url("img/close.svg") no-repeat center center;
  background-size: 100%;
  filter: var(--white-filter);
}

.id-search li {
  margin-bottom: 15px;
}

.id-search input {
  border: 1px solid #ccc;
  padding: 0 10px;
  width: 100%;
  height: 50px;
  line-height: 48px;
  box-sizing: border-box;
  border-radius: var(--border-radius);
}

#search button[type="submit"] {
  text-transform: uppercase;
}

#search .button {
  box-sizing: border-box;
  width: 100%;
  line-height: 3em;
  font-size: 1em;
  padding-top: 0;
  padding-bottom: 0;
  font-weight: bold;
  padding-right: 10px;
}

.category-tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: start;
  gap: 16px;
}

.category-tabs > div {
  width: calc(50% - 8px);
}

.category-tabs p {
  font-weight: 600;
  margin-bottom: 15px;
  font-size: 1.1875em;
}

.category-tabs .button {
  margin-bottom: 15px;
}

#search .filters {
  display: block;
}

#search .filters > div {
  margin-bottom: 20px;
  font-weight: 600;
  clear: both;
}

#search .range-slider .dot {
  z-index: 0;
}

/* search end */

/* media queries */

@media screen and (max-width: 1200px) {
  .offers,
  .news-list {
    --columns: 3;
  }

  .img-gallery {
    --columns: 6;
  }

  .slider .wrapper {
    display: flex;
    height: 100%;
    align-items: center;
  }

  .slider .apla {
    position: static;
    margin-bottom: 0;
  }
}

@media screen and (max-width: 992px) {
  .menu-bar .wrapper > nav {
    display: none;
  }

  .menu-bar .mobile {
    display: block;
  }

  .search-box {
    padding-right: 0;
  }

  .top .contact-box span {
    display: none;
  }

  .menu-bar {
    clear: none;
  }

  .filter-box .fields {
    --columns: 1;
  }

  .offer {
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "title title"
      "gallery gallery"
      "main main"
      "form agents";
  }

  .filters .location,
  .filters .fields {
    --columns: 3;
  }
}

@media screen and (max-width: 768px) {
  .slider .tns-item {
    height: 305px;
  }

  .slider .tns-item img:first-child {
    display: none;
  }

  .slider .tns-item img:nth-of-type(2) {
    display: block;
    object-fit: cover;
    width: 100%;
    height: 100%;
  }

  .offers,
  .news-list {
    --columns: 2;
  }

  .img-gallery {
    --columns: 4;
  }

  .offers a {
    text-align: center;
  }

  .offers .number,
  .offers .price {
    float: none;
    display: block;
  }

  .filters .location,
  .filters .fields {
    --columns: 2;
  }

  footer .wrapper {
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
  }

  footer section {
    text-align: center;
  }

  footer .contact {
    width: 100%;
    margin-left: 0;
  }
}

@media screen and (max-width: 700px) {
  .offer {
    grid-template-columns: 100%;
    grid-template-areas:
      "title"
      "gallery"
      "main"
      "agents"
      "form";
  }

  .offer dl {
    grid-template-columns: repeat(2, calc(50% - 2px));
  }

  .offer dd:nth-child(4n + 2),
  .offer dt:nth-child(4n + 3) {
    margin-right: 0;
    margin-left: 0;
  }

  .offer .title {
    grid-template-areas:
      "headline headline"
      "price toolbar";
    align-items: center;
    justify-content: space-between;
  }

  .offer .title .price {
    justify-self: start;
  }

  .offer .gallery .tns-outer {
    width: auto;
    margin-bottom: 20px;
  }

  .offer .gallery .thumbs {
    position: static;
    width: 100%;
    --columns: 5;
  }

  .offer .gallery .pane {
    position: static;
  }

  .offer .agents li {
    clear: both;
  }

  .offer .agents .vcard {
    float: left;
    width: 60%;
    margin-right: 5%;
  }

  .section-heading {
    font-size: 1.25em;
  }
}

@media screen and (max-width: 576px) {
  .headline {
    font-size: 1.75em;
  }

  .img-gallery {
    --columns: 4;
  }

  .movies,
  .audio {
    --columns: 1;
  }

  .logo {
    top: 26px;
  }

  .logo img {
    max-width: 223px;
  }

  .category-banner .tabs {
    margin-top: -30px;
  }

  .category-banner .tabs div {
    top: 100%;
  }

  .news .img {
    float: none;
    display: block;
    margin: 0 0 30px 0;
  }

  .news .img img {
    width: 100%;
    display: block;
  }

  #search {
    width: 100%;
    box-sizing: border-box;
  }

  .offer .agents .vcard {
    float: none;
    margin-right: 0;
  }

  .std-form {
    --columns: 1;
  }

  header .search-box {
    margin-left: 15px;
  }

  header .contact-box {
    gap: 0 10px;
  }

  .gallery .tns-controls button {
    width: 60px;
    height: 60px;
    margin-top: -30px;
  }

  .gallery .tns-controls button::before,
  .fslightbox-slide-btn-container::before {
    width: 40px;
    height: 40px;
  }

  .filters .location,
  .filters .fields {
    --columns: 1;
  }

  .offers,
  .news-list {
    --columns: 1;
  }
}

@media screen and (max-width: 500px) {
  .offer .toolbar {
    gap: 5px;
  }

  .logo {
    overflow: hidden;
  }

  .logo img {
    margin-left: -79px;
  }

  .stash-box {
    padding-left: 10px;
  }

  header .search-box {
    margin-left: 5px;
  }

  .slider .headline {
    font-size: 1.5em;
  }

  header .contact-box {
    gap: 0 5px;
  }

  footer section {
    width: 100%;
  }

  footer .copyrights .wrapper {
    gap: 10px;
  }

  footer .copyrights .wrapper * {
    width: 100%;
    text-align: center;
  }
}

@media screen and (max-width: 400px) {
  .img-gallery {
    --columns: 2;
  }

  .map .legend {
    max-width: 250px;
    padding: 10px 15px;
  }

  .offer .gallery .thumbs {
    --columns: 4;
  }

  .offer .price {
    font-size: 1.5em;
  }
}

/* media queries end */

/* animations */

@keyframes bump {
  0% {
    transform: scale(1, 1);
  }

  25% {
    transform: scale(1.4, 1.4);
  }

  50% {
    transform: scale(1, 1);
  }

  75% {
    transform: scale(1.4, 1.4);
  }

  100% {
    transform: scale(1, 1);
  }
}

.bump {
  animation-name: bump;
  animation-duration: 1s;
}

/* animations end */
