@import "reset.css";
@import "editor.css";
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');

body
{
	--base-font-color: #000;
	--main-theme-color: #d71635;
	--button-hover-color: #000;
	--section-background: #efeceb;
	--font: 'Poppins', 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(11%) sepia(74%) saturate(6434%) hue-rotate(345deg) brightness(105%) contrast(89%);	
	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: 1280px;
	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);
}

/* general */

.overlay
{
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 1000;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.7);
}

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

/* general end */

/* buttons */

.button
{
	padding: 10px 25px 10px 16px;
  background: var(--main-theme-color);
  cursor: pointer;
  transition: 0.4s;
  line-height: 20px;
  font-weight: 600;
  font-size: 0.9375em;
  line-height: normal;
  color: #fff;
  display: inline-block;
}

.button svg
{
  fill: #fff;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: auto;
  margin-left: 15px;
  transition: transform 0.4s;
}

.button:hover svg
{
  transform: translate(12px,0);
}

.button:hover
{
  background: var(--button-hover-color);
}

/* buttons end */

/* headlines */

.headline
{
	color: var(--main-theme-color);
	font-size: 2.5em;
	font-weight: bold;
	margin-bottom: 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;
}

.heading
{
	clear: both;
	height: 200px;
	margin-bottom: 50px;
	background-position: center top;
	background-repeat: no-repeat;
	background-image: url('img/heading.jpg');
}

.heading .wrapper
{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
}

.heading h1,
.heading p
{
	color: #fff;
	font-weight: bold;
	font-size: 2.8125em;
}


/* headlines end */

/* header */

header
{
	padding-top: 10px;
	margin-bottom: 25px;
}

header > .wrapper
{
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-areas:
	  'logo top'
	  'logo menu'
	;
	align-items: center;
}

.top
{
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 10px;
	justify-content: end;
	grid-area: top;
}

.logo
{
	grid-area: logo;
	justify-self: left;
}

.logo img
{
	max-width: 335px;
	max-height: 105px;
}

.socials
{
	margin-left: 70px;
	display: flex;
	gap: 0 6px;
}

.socials a
{
	width: 30px;
	height: 30px;
	transition: transform 0.4s;
}

.socials a:hover
{
	transform: rotate(360deg);
}

.socials svg
{
	width: 100%;
	height: 100%;
	fill: var(--base-font-color);
}

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 svg
{
	width: 22px;
	height: 22px;
	display: inline;
	vertical-align: middle;
	fill: var(--main-theme-color);
	margin-right: 3px;
}

.menu-bar
{
	grid-area: menu;
	display: flex;
	flex-wrap: wrap;
	justify-content: end;
}

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

.stash-box svg
{
	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
{
	padding-left: 30px;
	height: 30px;
}

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

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

.menu-bar > nav
{
	float: right;
	margin-top: -5px;
}

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

.menu-bar > nav li ul
{
	display: none;
	position: absolute;
	top: 44px;
	background: #fff;
}

.menu-bar > nav li li
{
	border-bottom: 1px solid #f1f1f1;
}

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

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

.menu-bar > nav a
{
	font-size: 1.1875em;
  font-weight: 600;
	padding: 10px 12px;
	display: block;
}

.menu-bar > nav a:hover,
.menu-bar > nav li:hover > a
{
	background: var(--main-theme-color);
	color: #fff;
}

.menu-bar > nav ul ul a
{
	padding: 10px 15px;
	white-space: pre;
}

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

.mobile > img
{
	cursor: pointer;
}

.mobile > div
{
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 1001;
	background: #fff;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	padding: 20px;
	overflow: auto;
}

.mobile .close
{
	float: right;
	margin-bottom: 20px;
	cursor: pointer;
}

.mobile ul
{
	clear: both;
}

.mobile a
{
	display: block;
	font-size: 1.25em;
	padding: 10px 0;
	font-weight: 600;
	text-align: center;
  margin-bottom: 20px;
}

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

.mobile ul ul
{
	display: none;
}

/* header end */

/* footer */

footer
{
	padding-top: 80px;
	background: #efecea;
	float: left;
	width: 100%;
}

footer section
{
	float: left;
	margin-right: 100px;
	margin-bottom: 80px;
}

footer .contact
{
	float: right;
	padding-bottom: 75px;
	background: url('img/logo.png') no-repeat left bottom;
	background-size: 151px 49px;
}

footer .section-headline
{
	margin-bottom: 35px;
}

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 a
{
	display: block;
	margin: 0 0 4px 0;
}

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

footer .copyrights span
{
	float: left;
}

footer .copyrights a
{
	float: right;
	color: #666;
}

/* footer 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-size: 1.125em;
  font-weight: bold;
}

/* offers common end */

/* offer groups */

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

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

.offer-groups .headline,
.offer-groups .ed
{
	text-align: center;
}

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

/* offer groups end */

/* offer list */

.filter
{
	padding: 50px 0;
	background: var(--section-background);
}

.heading + .filter
{
  margin-top: -50px;
}

.filter + .offers
{
	margin-top: 50px;
}

.filter-box
{
	float: right;
	padding-left: 28px;
	border-left: 1px solid var(--base-font-color);
	margin-left: 28px;
}

.filter .button
{
	padding-right: 15px;
}

.filter-box > span svg
{
	transform: rotate(90deg) !important;
	margin-left: 10px;
}

.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;
}

.filter-box .filter-form
{
	position: absolute;
	width: 100%;
	right: 0;
	box-sizing: border-box;
	padding: 50px;
	border: 10px solid var(--main-theme-color);
	background: #fff;
	z-index: 10;
	display: grid;
	grid-template-columns: 3fr 1fr;
	grid-template-rows: auto auto;
	grid-template-areas: 
	  'location submission'
	  'fields submission'
  ;	
}

.filter-box .location
{
	grid-area: location;
	gap: 25px;
}

.filter-box .location,
.filter-box .fields
{
	padding-right: 50px;
	margin-bottom: 45px;
	display: flex;
	flex-wrap: wrap;
}

.filter-box .fields
{
	--columns: 4;
	--gap: 40px;
	grid-area: fields;
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap);
}

.filter-box .submission
{
	grid-area: submission;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	border-left: 1px solid var(--base-font-color);
}

.filter-box .submission button svg
{
	width: 20px;
	height: auto;
}

.filter-box .location div
{
	width: 40%;
}

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

.filter-box .fields > div
{
	width: calc(100 / var(--columns) * 1% - (var(--gap) * (var(--columns) - 1) / var(--columns)));
	font-size: 0.9375em;
	font-weight: 600;
}

.filter-box .fields > div.full
{
	width: 100% !important;
}

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

.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 .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);
	z-index: -1;
}

.filter-box .fields select
{
	margin-top: 13px;
}

.ui-slider
{
	clear: both;
	position: relative;
	height: 4px;
	background: var(--main-theme-color);
	background-clip: content-box;
	padding: 4px 0;
}

.ui-slider > span
{
	position: absolute;
	z-index: 2;
  width: 6px;
  height: 6px;
  cursor: pointer;
  touch-action: none;
  top: 50%;
  margin-top: -8px;
  margin-left: -8px;
  border: 5px solid var(--main-theme-color);
  background: #fff;
  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);
}

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

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

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

.offers a
{
	display: block;
}

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

.offers .img
{
  position: relative;
  margin-bottom: 15px;
  overflow: hidden;
}

.offers .img button
{
	position: absolute;
	z-index: 1;
	right: 15px;
	bottom: 15px;
	background: transparent;
	padding: 0;
	margin: 0;
	border: 0 none;
}

.offers .img button svg
{
	fill: var(--main-theme-color);
	width: 30px;
	height: auto;
	filter: drop-shadow( 3px 3px 2px rgba(0, 0, 0, 0.7));
	transition: transform 0.4s;
}

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

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

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

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

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

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

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

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

.offers h3
{
	padding-bottom: 8px;
	border-bottom: 1px solid var(--base-font-color);
	margin-bottom: 8px;
}

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

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

.offers .number,
.offers .price
{
	line-height: 24px;
	vertical-align: baseline;
}

.offers .number
{
	float: left;
}

.offers .price
{
	float: right;
	color: var(--main-theme-color);
}

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

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

/* offer list end */

/* offer details */

.offer
{
	display: grid;
	grid-template-columns: calc(40% - 25px) calc(60% - 25px);
	grid-template-rows: repeat(3,auto) 1fr;
	gap: 0 25px;
	grid-auto-rows: min-content;
	grid-template-areas:
	  'gallery title'
	  'gallery main'
	  'features main'
	  'agents main'
  ;
}

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

.offer .gallery
{
	grid-area: gallery;
	margin-bottom: 60px;
}

.gallery .owl-carousel
{
	width: 100% !important;
	margin: 0 !important;
}

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

.offer dl
{
	grid-area: features;
}

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

.offer .distinction
{
	display: inline-block;
	margin-bottom: 30px;
	padding: 7px 15px;
}

.title h1
{
	padding-bottom: 20px;
	border-bottom: 1px solid var(--base-font-color);
	margin-bottom: 25px;
}

.title h1 strong
{
	display: block;
	font-size: 2.5em;
}

.title h1 span
{
	font-weight: normal;
	font-size: 1.25em;
}

.offer .toolbar
{
  float: right;
}

.offer .toolbar svg
{
	width: auto;
	height: 25px;
	margin-left: 5px;
}

.offer .toolbar svg,
.offer .toolbar svg path
{
	fill: var(--main-theme-color);
}

.offer .ed
{
	margin-bottom: 40px;
}

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

.offer .movies div
{
	height: auto;
}

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

.offer .price
{
	color: var(--main-theme-color);
	margin-bottom: 45px;
}

.offer .price strong
{
	font-size: 1.875em;
}

.offer .price span
{
	font-size: 1.25em;
}

.offer dl
{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	margin-bottom: 60px;
	font-size: 0.875em;
}

.offer dd,
.offer dt
{
	padding: 4px 18px;
}

.offer dd
{
	font-weight: bold;
}

.offer dt:nth-child(4n+1),
.offer dd:nth-child(4n+2)
{
	background: #efecea;
}

.offer dt:nth-child(4n+2),
.offer dd:nth-child(4n+1)
{
	background: #fff;
}

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

.agents li
{
	display: flex;
	gap: 25px;
	margin-bottom: 30px;
}

.agents li div:first-child
{
	width: 100px;
}

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

.agents li p
{
	padding-left: 25px;
	font-size: 0.875em;
	margin-bottom: 5px;
	position: relative;
}

.agents p svg
{
	width: 18px;
	height: 18px;
	position: absolute;
	top: 0;
	left: 0px;
	fill: var(--main-theme-color);
}

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

.gallery .preview
{
	margin-bottom: 8px;
}

.gallery .thumbs img,
.gallery .preview img
{
	cursor: pointer;
}

.fs-gallery .owl-nav button,
.gallery .preview .owl-nav button
{
  width: 50px;
  height: 50px;
  margin-top: -25px !important;
  background-color: var(--main-theme-color) !important;
  background-image: none !important;
  filter: none;
}

.fs-gallery .owl-nav button span,
.gallery .preview .owl-nav button span
{
	background: url('img/arrow.svg') no-repeat center center;
	background-size: 27px 20px;
	display: block;
	width: 100%;
	height: 100%;
	filter: var(--white-filter);
	font-size: 0;
}

.fs-gallery .owl-item
{
	height: calc(100vh - 150px);
	overflow: hidden;
}

.fs-gallery .owl-carousel .owl-item img
{
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

.gallery .preview .owl-nav .owl-prev
{
  left: 0;
}

.gallery .preview .owl-nav .owl-next
{
  right: 0;
}

.fs-gallery
{
	display: none;
	background: #fff;
	position: fixed;
	left: 0;
	top: 0;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	padding: 25px;
	z-index: 1000;
}

.fs-gallery-close
{
	float: right;
	margin-bottom: 50px;
	width: 50px;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--main-theme-color);
	cursor: pointer;
}

.fs-gallery-close img
{
	width: 29px;
	height: 29px;
}

.fs-gallery .owl-carousel
{
	clear: both;
	width: calc(100% - 350px);
	margin: 0 auto;
}

.fs-gallery .owl-carousel .owl-nav .owl-nav .owl-prev
{
	left: -175px;
}

.fs-gallery .owl-carousel .owl-nav .owl-nav .owl-next
{
  right: -175px;
}

/* 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
{
	display: block;
	margin-bottom: 40px;
}

.std-form div
{
	margin-bottom: 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%;
}

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

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

.std-form select
{
	appearance: none;
  padding-right: 50px;
}

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

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

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

/* 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-box .headline
{
	text-align: center;
	margin-bottom: 45px;
}

.news-list
{
  display: flex;
  --gap: 24px;
  --columns: 4;
  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: 15px;
}

.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: 25px;
}

.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;
}

.news .date
{
	color: #fff;
  padding: 6px 8px;
  font-size: 1.125em;
  font-weight: bold;
  background: var(--main-theme-color);
  display: inline-block;
  margin-bottom: 15px;
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
}

/* details end */

/* gallery */

.img-gallery
{
	--columns: 8;
	--gap: 20px;
	display: flex;
	flex-wrap: wrap;
	justify-content: start;
	gap: var(--gap);
	margin-bottom: 40px;
}

.img-gallery a
{
	width: calc(100 / var(--columns) * 1% - (var(--gap) * (var(--columns) - 1) / var(--columns)));
}

.img-gallery img
{
	display: block;
	width: 100%;
}

/* gallery end */

/* files */

.files
{
	margin-bottom: 30px;
}

.files .button
{
	display: block;
	width: 100%;
	margin-bottom: 10px;
	box-sizing: border-box;
}

.files svg
{
	transform: rotate(90deg) !important;
	float: right;
}

/* 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: absolute;
	right: 0;
  top: 0;
  width: 400px;
	height: 100%;
	padding: 20px 15px;
	background: #fff;
	overflow: auto;
}

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

#search > div:nth-child(2)
{
	display: block;
}

#search .close
{
	float: right;
	margin-bottom: 20px;
}

.id-search
{
	border-bottom: 1px solid var(--base-font-color);
	margin-bottom: 15px;
}

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

.id-search input
{
	border: 1px solid var(--base-font-color);
	padding: 0 10px;
	width: 100%;
	height: 50px;
	line-height: 48px;
	box-sizing: border-box;
	text-transform: uppercase;
}

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

#search .button
{
	box-sizing: border-box;
	width: 100%;
	line-height: 3em;
	text-align: center;
	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
{
	text-align: center;
	font-weight: 600;
	margin-bottom: 15px;
	font-size: 1.1875em;
}

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

#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 (min-width: 1600px)
{
	.heading
	{
	  background-size: 100% 100%;
	}
}

@media screen and (max-width: 1470px)
{
	.owl-carousel
	{
	  margin-left: 83px;
	  width: calc(100% - 186px) !important;
	}
}

@media screen and (max-width: 1250px)
{
	header > .wrapper
	{
		grid-template-columns: auto 1fr;
		grid-template-areas:
		  'top top'
		  'logo menu'
		;
	}
	
	.logo img
	{
		max-width: 223px;
	}
}

@media screen and (max-width: 1200px)
{
	.offers,
	.news-list
	{
	  --columns: 3;
	}
	
	.img-gallery
	{
	  --columns: 6;
	}
	
	.category-banner > img
	{
	  position: relative;
	}
	
  .category-banner
  {
    height: 500px;
  }
  
  .category-banner > img
  {
    object-fit: cover;
    object-position: center;
  }
  
  .filter-box .fields
  {
    --columns: 2;
  }
}

@media screen and (max-width: 992px)
{
	header > .wrapper
	{
	  grid-template-columns: auto 1fr;
	  grid-template-areas: 
	    'top top'
	    'logo menu'
    ;	
	}
	
	.menu-bar > nav
	{
	  display: none;
	}
	
	.mobile
	{
	  display: block;
	}
	
	.search-box
	{
	  padding-right: 0;
	}
	
	.top
	{
	  justify-content: space-between;
	}
	
	.top .contact-box
	{
	  justify-self: start;
	}
	
	.top .contact-box a:first-child
	{
	  margin-left: 0;
	}
	
	.top .contact-box span
	{
	  display: none;
	}
	
	.logo img
	{
	  height: 40px;
	}
	
	.menu-bar
	{
	  clear: none;
	}
	
	.search-box,
	.stash-box
	{
	  padding-top: 10px;
	}
	
	.socials
	{
	  margin-left: 30px;
	}
	
	footer section
	{
	  display: block !important;
	  float: none !important;
	  text-align: center;
	}
	
	footer .contact-box
	{
	  float: none;
	}
	
	footer .contact
	{
	  background-position: center bottom;
	}
	
	.filter-box .fields
	{
	  --columns: 1;
	}
}

@media screen and (max-width: 768px)
{
	.offers,
  .news-list
  {
    --columns: 2;
  }
  
  .img-gallery
  {
    --columns: 4;
  }
  
  .offers a
  {
    text-align: center;
  }
  
  .offers .number,
  .offers .price
  {
    float: none;
    display: block;
  }
  
  .filter-box .location div
  {
    width: 100%;
  }
}

@media screen and (max-width: 700px)
{
	.offer
	{
	  grid-template-columns: 100%;
	  grid-template-areas:
	    'title'
	    'gallery'
	    'features'
	    'main'
	    'agents'
	  ;
	}
	
	.offer .gallery
	{
	  grid-area: gallery;
	}	
	
	.offer .title
	{
	  grid-area: title;
	}
	
	.offer .content
	{
	  grid-area: main;
	}
	
	.offer .agents
	{
	  grid-area: agents;
	}
	
	.offer dl
	{
	  grid-area: features;
	}
	
	.offer h1 strong,
	.headline,
	.heading h1,
	.heading p
	{
	  font-size: 1.875em;
	}
	
	.category-banner h1
	{
	  font-size: 2em;
	}
	
	.section-heading
	{
	  font-size: 1.25em;
	}
	
	.filter .inner-wrapper
	{
	  display: flex;
	  flex-direction: column-reverse;
	}
	
	.filter .tags,
	.filter .filter-box
	{
	  width: 100%;
	}
	
	.filter .filter-box
	{
	  padding-left: 0;
	  margin-left: 0;
	  border-left: 0 none;
	}
}

@media screen and (max-width: 576px)
{
	.img-gallery
  {
    --columns: 4;
  }
  
  .movies,
  .audio
  {
    --columns: 1;
  }
  
	.owl-carousel
  {
    margin-left: 70px;
    width: calc(100% - 140px) !important;
  }
  
  .owl-nav .owl-prev
	{
	  left: -70px;
	}
	
	.owl-nav .owl-next
	{
	  right: -70px;
	}
  
	.category-banner .tabs
	{
	  margin-top: -30px;
	}
	
	.category-banner .tabs div
	{
	  top: 100%;
	}
	
	.news .img
	{
	  float: none;
	  display: block;
	}
	
	.news .img img
	{
	  width: 100%;
	  display: block;
	}
	
	#search
	{
	  width: 100%;
	  box-sizing: border-box;
	}
	
	.filter-box .filter-form
	{
	  grid-template-columns: 100%;
	  grid-template-rows: repeat(3, auto);
	  grid-template-areas:
	    'location'
	    'fields'
	    'submission'
	  ;
	}
	
	.filter-box .submission
	{
	  border-left: 0 none;
	  padding-top: 20px;
	  box-sizing: border-box;
	}
	
	.filter-box .fields,
	.filter-box .location
	{
	  padding-right: 0;
	}
	
	.filters .multi
	{
	  text-align: center;
	}
}

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

  .offer .toolbar
  {
    float: none;
    display: block;
    margin-bottom: 20px;
  }
}

@media screen and (max-width: 400px)
{
	.img-gallery
  {
    --columns: 2;
  }
  
	.agents li
  {
    display: block;
    text-align: center;
  }
  
  .agents li div:first-child
  {
    width: auto;
  }
  
  .agents li div img
  {
    width: auto;
    display: inline-block;
    margin-bottom: 20px;
  }
  
  .agents li p
  {
    padding-left: 0;
  }
  
  .agents p svg
  {
    position: static;
  }
}
/* 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 */
