@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: #1969b0;
	--button-hover-color: #000;
	--section-background: #ececec;
	--section-color: #000;
	--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: invert(30%) sepia(100%) saturate(679%) hue-rotate(175deg) brightness(96%) contrast(95%);	
	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;
}

a
{
	color: var(--base-font-color);
}

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

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

/* general end */

/* buttons */

.button
{
	padding: 15px 35px;
  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 center;
	background-repeat: no-repeat;
	background-image: url('img/bg-banner.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 */

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

.top a
{
	color: var(--section-color);
}

.top .wrapper
{
	display: grid;
  grid-template-columns: 1fr auto;
  grid-auto-columns: min-content;
  grid-template-areas:
    "address socials";
  gap: 20px;
}

.logo
{
	float: left;
}

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

.socials
{
	grid-area: socials;
	justify-self: end;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.socials a
{
	display: inline-block;
	width: 30px;
	height: 30px;
	transition: transform 0.4s;
}

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

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

header .contact-box
{
	display: flex;
	gap: 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;
}

header > .wrapper
{
	padding: 20px 0;
	display: grid;
	grid-template-columns: auto 1fr auto;
	grid-auto-columns: min-content;
	grid-template-areas:
	  "logo menu toolbar"
	;
	gap: 20px;
	align-items: center;
}

header .logo
{
	grid-area: logo;
}

header .menu-bar
{
	grid-area: menu;
}

header .toolbar
{
	grid-area: toolbar;
	display: flex;
  gap: 30px;
}

.stash-box
{
	display: flex;
	gap: 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-toggle
{
	background: none;
	width: 20px;
	height: 20px;
	vertical-align: middle;
	cursor: pointer;
	margin-top: 2px;
}

#search-toggle svg
{
	width: auto;
	height: 24px;
	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 > svg
{
	width: auto;
	height: 40px;
	cursor: pointer;
	fill: var(--main-theme-color);
}

.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: var(--section-background);
	color: var(--section-color);
	float: left;
	width: 100%;
}

footer a
{
	color: var(--section-color);
}

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: 174px auto;
}

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 */

/* 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);
	color: var(--section-color);
}

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

.offer-groups .headline + .offers
{
	margin-top: 30px;
}

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

/* offer groups end */

/* offer list */

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

.offers a
{
	display: block;
	position: relative;
}

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

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

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

.offers .img button svg
{
	fill: #c00;
	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: 50px;
	right: 0;
	text-align: right;
}

.offers .content
{
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 60%;
	padding: 0 20px 10px 20px;
	background: linear-gradient(to bottom, rgba(0,0,0,0),rgba(0,0,0,0.8));
	color: #fff;
	display: flex;
	align-items: end;
	box-sizing: border-box;
}

.offers .content div
{
	width: 100%;
}

.offers .content h3,
.offer > .content .price,
.offers .content .number
{
	font-size: 0.875em;
}

.offers .content .category
{
	margin-left: -20px;
	padding: 8px 20px;
	background: var(--main-theme-color);
	font-weight: bold;
	font-size: 1.125em;
	margin-bottom: 15px;
	display: inline-block;
}

.offers h3
{
	padding-bottom: 8px;
	border-bottom: 1px solid #fff;
	margin-bottom: 8px;
}

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

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

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

.offers .number
{
	float: left;
}

.offers .price
{
	float: right;
}

.offers span span
{
	color: var(--main-theme-color);
}

/* offer list end */

/* offer details */

.category-headline
{
	padding-bottom: 15px;
	border-bottom: 1px solid #000;
	margin-bottom: 65px;
	display: flex;
	justify-content: space-between;
	align-items: center;	
}

.category-headline p
{
	color: var(--main-theme-color);
	text-transform: uppercase;
	font-weight: bold;
	font-size: 1.5em;
}

.offer
{
	display: grid;
	grid-template-columns: calc(50% - 170px) calc(50% - 170px) 260px;
	gap: 40px;
	grid-auto-rows: min-content;
	grid-template-areas:
	  'gallery content sidebar'
	  'tabs tabs sidebar'
	  'similar similar sidebar'
  ;
}

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

.offer h1
{
	font-size: 2em;
	padding-bottom: 25px;
	border-bottom: 1px solid var(--base-font-color);
	margin-bottom: 25px;
}

.offer h1 span
{
	display: block;
	font-weight: normal;
}

.offer > .content .number
{
	font-size: 1.125em;
}

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

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

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

.tabs
{
	border: 1px solid var(--main-theme-color);
	margin-bottom: 25px;
}

.tabs .nav
{
	background: var(--main-theme-color);
	display: flex;
	flex-wrap: wrap;
}

.tabs .nav li
{
	font-size: 0.9375em;
	font-weight: bold;
	color: #fff;
	background: var(--main-theme-color);
	padding: 25px 30px;
	cursor: pointer;
	margin: 0;
}

.tabs .nav li:hover,
.tabs .nav .current
{
	background: #fff;
	color: var(--main-theme-color);
}

.tabs > div
{
	padding: 45px 30px;
}

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

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

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

.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 .movies
{
	--columns: 1;
}

.offer .movies div
{
	height: auto;
}

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

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

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

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

.offer dl
{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 30px;
}

.offer dd,
.offer dt
{
	padding: 15px 20px;
}

.offer dd
{
	font-weight: bold;
}

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

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

.additions
{
	--columns: 4;
	--gap: 20px;
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap);
}

.additions li:before
{
	display: inline-block;
	vertical-align: middle;
	content: '';
	background: url('img/tick.svg') no-repeat center center;
	width: 20px;
	height: 20px;
	margin-right: 15px;
	filter: var(--main-theme-color-filter);
	background-size: 100% 100%;
}

.agents li
{
	padding: 40px 20px 40px 50px;
	margin-bottom: 25px;
	background: var(--section-background);
	color: var(--section-color);
}

.agents img
{
	display: block;
	border-radius: 50%;
	margin-bottom: 20px;
}

.agents p
{
	font-size: 0.75em;
	margin-bottom: 10px;
	position: relative;
}

.agents p strong
{
	font-size: 1.33em;
	color: var(--main-theme-color);
}

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

.agents a
{
  color: var(--section-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;
}

.query-form p
{
	padding-left: 25px;
	margin-bottom: 20px;
	font-size: 1.125em;
	color: var(--main-theme-color);
	font-weight: bold;
	text-transform: uppercase;
}

.query-form .form
{
	padding: 25px;
	background: var(--section-background);
	color: var(--section-color);
}

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

.query-form label
{
	display: block;
	margin-bottom: 5px;
	font-size: 0.875em;
}

.query-form input,
.query-form textarea
{
	background: #fff;
	padding: 10px;
	box-sizing: border-box;
	width: 100%;
	border: 0 none;
	font-size: 0.875em;
}

.query-form input
{
	height: 40px;
	line-height: 20px;
}

.query-form textarea
{
	height: 125px;
}

.query-form input[type=checkbox]
{
	display: none;
}

.query-form input[type=checkbox] + label
{
  font-size: 0.75em;
}

.query-form input[type=checkbox] + label:before
{
	content: '';
	display: inline-block;
	vertical-align: middle;
	width: 16px;
	height: 16px;
	background: url('img/checkbox-unchecked.png') no-repeat center center;
	margin-right: 10px;
}

.query-form .button
{
	text-align: center;
	width: 100%;
	padding: 0;
	height: 40px;
	line-height: 40px;
}

.query-form input[type=checkbox]:checked + label:before
{
	background-image: url('img/checkbox-checked.png');
}

/* 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-box
{
	height: 510px;
	margin-bottom: 65px;
	background: url('img/bg-banner.jpg') no-repeat center center;
	display: flex;
	align-items: center;
	color: #fff;
}

.search-box .wrapper
{
	max-width: 885px;
}

.search-box h1
{
	font-size: 2.75em;
	text-align: center;
	margin-bottom: 15px;
}

.search-box p
{
	text-align: center;
	margin-bottom: 45px;
}

.search-box p strong
{
	display: block;
	font-size: 2.75em;
	margin-bottom: 15px;
}

.search-box p span
{
	font-size: 1.125em;
}

.search-box ul
{
	--gap: 10px;
  --columns: 3;
	padding: 25px;
	background: rgba(0,0,0,0.5);
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap);
	align-items: center;
}

.search-box li
{
	width: calc(100 / var(--columns) * 1% - (var(--gap) * (var(--columns) - 1) / var(--columns)));
}

.search-box .full
{
	width: 100%;
}

.search-box input[type=text],
.search-box select
{
	border: 0 none;
  background: #fff;
  padding: 0 20px;
  height: 50px;
  line-height: 50px;
  width: 100%;
  box-sizing: border-box;
}

.search-box select
{
	color: var(--main-theme-color);
	appearance: none;
	padding-right: 40px;
	background: #fff url('img/dropdown.png') no-repeat right 20px center;
}

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

.search-box .full > label
{
	font-weight: bold;
	text-align: center;
	display: block;
	margin-bottom: 10px;
	font-size: 1.125em;
}

.search-box .multi
{
	text-align: center;
}

.search-box .multi input
{
	display: none;
}

.search-box .multi label
{
	display: inline-block;
	padding: 5px 10px;
	margin: 2px 3px;
	border: 1px solid #fff;
	cursor: pointer;
}

.search-box .multi input:checked + label
{
	background: var(--main-theme-color);
	border: 1px solid var(--main-theme-color);
}

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

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

.ui-slider > span
{
  position: absolute;
  z-index: 2;
  width: 12px;
  height: 12px;
  cursor: pointer;
  touch-action: none;
  top: 50%;
  margin-top: -11px;
  margin-left: -11px;
  border: 5px solid #fff;
  background: var(--main-theme-color);
  border-radius: 50%;
}

.search-box .submit-box
{
	margin-top: 10px;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: end;
	gap: 50px;
	align-items: center;
}

.search-box .submit-box a
{
	font-weight: bold;
	color: #fff;
}

.search-box .submit-box a strong
{
  color: var(--main-theme-color);
}

.search-box .submit-box .button
{
	padding: 15px 45px;
	font-size: 1em;
}

/* search end */

/* media queries */

@media screen and (min-width: 1600px)
{
	.search-box
	{
	  background-size: 100% auto;
	}
}

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

@media screen and (min-width: 1201px)
{
	.offer .similar .offers
	{
	  --columns: 3;
	}
}

@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;
  }
  
  .offer
  {
    grid-template-areas:
     'gallery content'
     'tabs tabs'
     'sidebar sidebar'
     'similar similar'
    ;
    grid-template-columns: 1fr 1fr;
  }
  
  .offer .gallery
  {
    overflow: hidden;
  }
  
  .offer .sidebar
  {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      'agents form'
    ;
    gap: 20px;
    align-items: start;
  }
  
  .offer .sidebar .agents
  {
    grid-area: agents;
    display: flex;
    flex-wrap: wrap;
    --columns: 2;
    --gap: 20px;
    gap: var(--gap);
    padding-top: 41px;
  }
  
  .offer .sidebar .agents li
  {
    width: calc(100 / var(--columns) * 1% - (var(--gap) * (var(--columns) - 1) / var(--columns)));
    box-sizing: border-box;
    margin-bottom: 0;
  }
}

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

	.top .contact-box
	{
	  float: left;
	}
	
	.top .contact-box a:first-child
	{
	  margin-left: 0;
	}
	
	.top .contact-box span
	{
	  display: none;
	}
	
	.logo img
	{
	  height: 40px;
	}
	
	.menu-bar
	{
	  clear: none;
	}
	
	.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;
	}
}

@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;
  }
  
  .search-box ul
  {
    --columns: 2;
    background: none;
  }
  
  .search-box
  {
    padding: 20px 0;
    height: auto;
    background: var(--main-theme-color);
  }
  
  .ui-slider
  {
    background-color: #fff;
  }
  
  .search-box .submit-box a strong
  {
    color: #fff;
  }
  
  .search-box .submit-box .button
  {
    background: #000;
  }
  
  .search-box .multi input:checked + label
  {
    background: #fff;
    color: var(--main-theme-color);
    border-color: #fff;
  }
  
  .offer .sidebar
  {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas:
      'agents'
      'form'
    ;
    gap: 20px;
    align-items: start;
  }
  
  .offer .agents
  {
    padding-top: 0;
    justify-content: center;
  }
}

@media screen and (max-width: 700px)
{
	.offer
	{
	  grid-template-columns: 100%;
	  grid-template-areas:
	    'content'
	    'gallery'
      'tabs'
      'sidebar'
      'similar'
	  ;
	}
	
	.offer h1 strong,
	.headline,
	.heading h1,
	.heading p
	{
	  font-size: 1.875em;
	}
	
	.category-banner h1
	{
	  font-size: 2em;
	}
	
	.section-heading
	{
	  font-size: 1.25em;
	}
	
	.tabs .nav li
	{
	  width: 100%;
	  text-align: center;
	}
	
	.additions
	{
	  --columns: 3;
	}
}

@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;
	}
	
	.additions
  {
    --columns: 2;
  }
}

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

  .offer .toolbar
  {
    float: none;
    display: block;
    margin-bottom: 20px;
  }
  
  .search-box ul
  {
    --columns: 1;
  }
  
  .search-box .submit-box
  {
    gap: 20px;
  }
  
  .search-box .submit-box a
  {
    width: 100%;
    text-align: center;
  }
  
  .search-box .submit-box .button
  {
    width: 100%;
  }
  
  .offer .sidebar .agents
  {
    --columns: 1;
  }
}

@media screen and (max-width: 450px)
{
  header > .wrapper
  {
    grid-template-areas:
      'logo logo'
      'toolbar menu'
    ;
    grid-template-columns: 1fr 1fr;
    gap: 0 20px;
  }
  
  header .logo
  {
    text-align: center;
  }
  
  header .mobile
  {
    float: left;
    margin-left: 0;
  }
  
  header .toolbar
  {
    justify-content: end;
  }
  
  .additions
  {
    --columns: 1;
  }
}

@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 */