/* inter-300 - latin */
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 300;
	font-display:swap;
	src: local(''),
		 url('https://static.immoserver.ch/fonts/google/inter-v12-latin-300.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
		 url('https://static.immoserver.ch/fonts/google/inter-v12-latin-300.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* inter-regular - latin */
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 400;
	font-display:swap;
	src: local(''),
		 url('https://static.immoserver.ch/fonts/google/inter-v12-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
		 url('https://static.immoserver.ch/fonts/google/inter-v12-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* inter-600 - latin */
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 600;
	font-display:swap;
	src: local(''),
		 url('https://static.immoserver.ch/fonts/google/inter-v12-latin-600.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
		 url('https://static.immoserver.ch/fonts/google/inter-v12-latin-600.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* inter-700 - latin */
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 700;
	font-display:swap;
	src: local(''),
		 url('https://static.immoserver.ch/fonts/google/inter-v12-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
		 url('https://static.immoserver.ch/fonts/google/inter-v12-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}


:root
{
	--text-color: black;
	--theme-color: #9d6538;
	--hover-color:#FFFFFF;
	--hover-bgcolor: #604e3b;
	--odd-color: lightgrey;
	--swiper-navigation-size: 3em;
	--swiper-theme-color: white;

	--is-iso-level-spacing:-1.5em;
	--is-iso-level-active-count:1;
	--is-iso-flat-active-filter-color: var(--theme-color);
}

body
{
	color:var(--text-color);
	font-family: 'Inter', sans-serif;
	font-weight: 300;
	line-height: 1.3em;
	margin:0;
}

strong
{
	font-weight: 600;
}

a
{
	color:inherit;
	text-decoration: none;
}

.hidden
{
	display:none;
}

header
{
	position: fixed;
	top: 0;
	left: 0px;
	right: 0px;
	z-index: 1000;	
	background: rgba(255,255,255,.8);
	font-weight: 400;
}


header .wrapper,
footer .wrapper
{
	margin:auto;
	max-width:100em;
	padding:1em 2em;
}


header .wrapper
{
	display: flex;
	align-items: stretch;
	padding: 0px 2em;
	gap: 3em;
}

header .items
{
	display:flex;
	justify-content: space-between;
	align-items: center;
	flex-direction: column;

}

header .logo
{
	display: block;
}

header .logo img
{
	display:block;
	width:11em;
	height:5em;
	object-fit:contain;
}


header nav,
footer nav
{
	display:flex;
	gap: 2em;
	
}

header nav a
{
	display: block;
	text-transform: uppercase;
	padding: 2.5em 1em 1em 1em;
}

header nav a.active,
header nav a:hover
{
	background: var(--hover-bgcolor);
	color: var(--hover-color);
}

header .nav-toggle
{
	display: none;
	width: 2em;
	height: 2em;
	font-size: 1.5em;
	align-items: center;
	justify-content: center;
	background: var(--hover-bgcolor);
	color: var(--hover-color);
}

header .nav-toggle:after
{
	content: "\f0c9";
}

.toggled header .nav-toggle:after
{
	content: "\f00d";
}



.bg ~ .group 
{
	background: #f7f3ee;
}




main .group > .wrapper
{
	max-width: 60em;
	margin:auto;
}

main > .group:not(:first-child) > .wrapper,
.fancybox__content .group > .wrapper
{
	padding:3em 2em;
}

main > .group > .wrapper
{
	padding: calc(3em + var(--header-height)) 2em 3em 2em;
}




.group > .wrapper > :first-child,
.group > .wrapper > .title:first-child > .wrapper > h1,
.group > .wrapper > .subtitle:first-child > .wrapper > h2
{
	margin-top:0;
}

.group > .wrapper > :last-child,
.group > .wrapper > .title:last-child > .wrapper > h1,
.group > .wrapper > .subtitle:last-child > .wrapper > h2
{
	margin-bottom:0;
}

.group .element
{
	margin:2em 0;
}

/* elements */

h1
{
	color:var(--theme-color);
	text-align: center;
	font-weight: 600;
	line-height: 1em;
	margin-top: 2em;
}

h2
{
	font-size: 1.1em;
	font-weight: 600;
	line-height: 1.2em;
}


.text .typo,
.highlights .wrapper > a
{
	text-align: justify;
}



.text.big .wrapper
{
	margin: 0 auto;
	max-width: 1800px;
	text-align: center;
	padding: 3em 2em;
}


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

.slideshow .swiper-slide > img
{
	display:block;
	width:100%;
}

.slideshow .swiper-slide > .legend
{
	position: absolute;
	bottom: 0; 
	left:0; 
	right:0;
	color:white;
	text-align:center;
	z-index:1;
	pointer-events: none;
	text-shadow:0px 0px 15px #333;
	padding:2em;
	display:none;
}

.slideshow .swiper-button-prev,
.slideshow .swiper-button-next,
.slideshow .swiper-pagination,
.slideshow .swiper-slide > .legend
{
	display:none;
}


.slideshow .banner
{
	position: absolute;
	top: 25%;
	left: 1em;
	right: 2em;
	z-index:1;
	display: flex;
	justify-content: center;
}

.slideshow .banner .wrapper
{
	margin: 0 auto;
	padding: .5em 1.5em;
	
	color: #FFFFFF;
	font-weight: 300;
	font-size: 2.5em;
	line-height: 1.5em;
	text-shadow: 0px 0px 7px #FFFFFF;
	text-align: center;
	transition: all 2s;
}



.slideshow .slide0 .banner .tags > div
{
	opacity: 0;
}

.slideshow .slide1 .banner .tags > div:nth-child(1)
{
	transition:opacity 1s 1s;
	opacity: 1;
}

.slideshow .slide1 .banner .tags > div:nth-child(2)
{
	transition:opacity 1s 2s;
	opacity: 1;
}

.slideshow .slide1 .banner .tags > div:nth-child(3)
{
	transition:opacity 1s 3s;
	opacity: 1;
}

.slideshow .slide0 .banner .text
{
	opacity: 0;
}

.slideshow .slide1 .banner .text
{
	transition:opacity 2s 5s;
	opacity: 1;
}


.slideshow .banner .wrapper
{
	background-color: rgba(157,101,56,.0);
}

.slideshow .slide2 .banner .wrapper
{
	transition: background-color 2s 2s linear;
	background-color: rgba(157,101,56,.4);
}

.slideshow .banner .tags
{
	display: flex;
	justify-content: center;
	gap: 1em;
	font-weight: 600;
}

.gallery .items
{
	display:grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap:2em;
}

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

.gallery .legend
{
	display: none;
}

.links .items
{
	display:flex;
	gap: 2em;
	flex-wrap:wrap;
	justify-content: center;
}


.offer .wrapper
{
	padding: 2em;
}


.offer .houses table,
.facts table
{
	width:100%;
	border-collapse: collapse;
}



.offer .houses table tr[data-fancybox]:hover
{
	cursor:pointer;
}

.offer .houses table tr.odd,
.facts tr:nth-child(odd)
{
	background: var(--odd-color);
}

.offer tr th, .offer tr td, .fancybox__content .group tr td
{
	padding:.3em .5em;
}

.offer .houses table tr[data-availability_status = "free"] .availability_status::before
{
	font-family: FontAwesome;
	font-weight: 300;
	font-size: .7em;
	content: "\f324";
}

.offer .houses table tr[data-availability_status = "free"] .availability_status span 
{
	display:none;
}

.offer .houses table tr[data-fancybox]:hover,
.offer .houses table tr[data-reference].active
{
	/*background:var(--hover-color);*/
	background: var(--theme-color);
	color:white;
}

.offer.hasIso .items
{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:1em;
}

.offer.hasIso .iso,
.offer.hasIso .iso [data-iso]
{
	position: -webkit-sticky;
	position: sticky;
	top: var(--header-height);
}


.offer [data-iso] .is-iso-level 
{
	transition: all .6s ease;
}

.offer [data-iso] .is-iso-level.is-iso-open 
{
	transform: translateY(calc(var(--is-iso-level-spacing) * var(--is-iso-level-active-count) ) );
}

.offer .filters
{
	display:flex;
	flex-wrap:wrap;
	gap:1em;
}

.offer .filters .filter[data-filter-type=slider]
{
	flex: 1 0 auto;
	min-width:8em;
	max-width: 15em;
}

.offer .filters .filter[data-filter-type=slider][data-filter-field=rentalprice_incl],
.offer .filters .filter[data-filter-type=slider][data-filter-field=sellingprice],
.offer .filters .filter[data-filter-type=slider][data-filter-field=rentalpriceexcl_m2y]
{
	flex: 2 0 auto;
}

.offer .filters .checkbox
{
	display:block;
	margin:5px 0;
}
.offer .filters .slider-input
{
	padding:0 8px;
	margin:8px 0;
	height: 10px;
}

.offer .filters .slider-value
{
	font-size:smaller;
}

.offer .filters .slider-value span
{
	white-space: nowrap;
}

.offer .filters .slider-input,
.offer .filters .slider-input .noUi-handle
{
	box-shadow: none;
}

/* Hide markers on slider handles */
.offer .filters .slider-input .noUi-handle::before,
.offer .filters .slider-input .noUi-handle::after
{
	display: none;
}

.offer .filters .slider-input .noUi-connect
{
	background: var(--theme-color);
}

.offer .filters .slider-input .noUi-handle
{
	height: 18px;
	width: 18px;
	top: -5px;
	right: -9px; /* half the width */
	border-radius: 9px;
}

.offer .filters .checkbox
{
	white-space: nowrap;
}

.offer .filtered
{
	display:none;
}


.offer .offerMobile span
{
	white-space: nowrap;
}

.plan img
{
	display:block;
	width:100%;
	box-shadow: 0 0 2px 1px #ddd;
}

.logo img
{
	width: 100%;
	max-width: 300px;
	display: block;
	margin: 0 auto;
}

input,
select
{
	margin:0;
}

input[type=text],
input[type=email],
input[type=tel],
textarea,
button,
select
{
	box-sizing:border-box;
	font:inherit;
	color:inherit;
}

input[type=text],
input[type=email],
input[type=tel],
textarea,
select
{
	display:block;
	width:100%;
	border:1px solid var(--theme-color);
	padding:.5em;
	border-radius: 0;
}

.button,
button
{
	background:var(--theme-color);
	border:none;
	color: var(--hover-color);
	padding:.5em 1.5em;
	white-space: nowrap;
	display: inline-block;
	font-size: 1.1em;
	font-weight: 600;
	text-transform: uppercase;
}

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

.button.primary,
button.primary
{
	font-weight:bold;
}

select
{
	appearance:none;
	background:none;
}

.contact .form-group
{
	margin-bottom:1.2em;
}

.contact .form-label
{
	display: block;
	padding-bottom: 0.1em;
}

.contact .form-warning
{
	color:red;
	margin-bottom: .5em;
	margin-top:.25em;
	display:block;
	width:100%;
}

.contact .form-invalid
{
	border-color:red;
}

.contact .selectables
{
	display:flex;
	flex-wrap:wrap;
	gap: 0 1em;
}

.contact .person,.contact .company
{
	display:flex;
	flex-direction: column;
	gap: .5em;
}

.contact .company .logo
{
	max-width: 200px;
}

.contact .company img
{
	display: block;
	width: 100%;
}

.contact .selectables > label
{
	display:flex;
	align-items: center;
	gap:.5em;
}

.contact input[name=Email_Address]{display:none;}

.contact .items
{
	display:grid;
	grid-template-columns:2fr 1fr;
	gap:2em;
	margin:0;
}

.contact .ajax-loading,
.contact .ajax-error,
.contact .mail.success,
.contact .mail.error
{
	
	background: green;
	padding:3em 1em;
	text-align:center;
	color:white;
}

.contact .ajax-error,
.contact .mail.error
{
	background:red;
}

.contact .ajax-form .ajax-loading,
.contact .ajax-form .ajax-result,
.contact .ajax-form .ajax-error,
.contact .ajax-form.ajax-state-loading form,
.contact .ajax-form.ajax-state-success form
{
	display:none;
}

.contact .ajax-form.ajax-state-loading .ajax-loading,
.contact .ajax-form.ajax-state-success .ajax-result,
.contact .ajax-form.ajax-state-error .ajax-error
{
	display:block;
}


.contact .info 
{
	display: flex;
	flex-direction: column;
	gap: 1em;
}
.contact .info img{
	width: 100%;
	display: block;
}

.responsive
{
	position: relative;
	padding-bottom: 40.25%;
	padding-top: 0px;
	height: 0;
	overflow: hidden;
}

.responsive iframe
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border:0;
}

.video video
{
	display:block;
	width:100%;
}




.toplist .wrapper
{
	margin: 0 auto;
	padding: 2em 2em;
	max-width:65em;
	display: grid;
	grid-template-columns: 1fr  1fr 1fr;
	gap:2em;
}


.toplist  .wrapper img
{
	width: 100%;
	display: block;
}

.toplist .wrapper h2
{
	margin: .5em  0;
}





.selection .wrapper
{
	margin: 0 auto;
	max-width: 1800px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.selection .wrapper > a
{
	display: block;
	background: #e5e5e5;
	width: 25%;
	min-width: 280px;
	border: 1px solid #FFFFFF;
	box-sizing: border-box;
	position: relative;
}

.selection .wrapper > a:nth-child(even)
{
	background: #f5eee8;
}

.selection .wrapper > a:hover
{
	background: var(--hover-bgcolor);
	color: #FFFFFF;
}

.selection .wrapper > a .head
{
	min-height: 200px;
	background: var(--theme-color);
	position: relative;
}

.selection .wrapper > a .head img
{
	width: 100%;
	display: block;
}

.selection .wrapper > a .head .legend
{
	position:  absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 2em 1em 1em 1em;
	text-align: center;
	color: #FFFFFF;
	font-weight: 600;
	font-size: 1.3em;
	
	
/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#000000+0,000000+100&0+0,0.85+100 */
background: -moz-linear-gradient(top,  rgba(0,0,0,0) 0%, rgba(0,0,0,0.85) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.85) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.85) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#d9000000',GradientType=0 ); /* IE6-9 */


	
}

.selection .wrapper > a .inner
{
	padding: 2em 2em 4em 2em;
}

.selection .wrapper > a .more
{
	position: absolute;
	bottom: 2em;
	left: 2em;
}


.selection .wrapper .logo
{
	display: block;
	margin: 1em auto;
	width: 80%;
	
}


.selection .wrapper h2
{
	text-align: center;
	color:var(--theme-color);
	font-size: 1.3em;
	text-align: left;
}

.selection .wrapper u
{
	font-weight: 300;
}


ul
{
	
	padding: 0;
	margin-left: 1em;
}

ul li
{
	margin: 0.25em 0;
	text-align: left;
}




.selection .wrapper > a .head .legend span,
.highlights h2 span,
.toplist h2 span,
.banner .tags span
{
	color: var(--theme-color);
}




.highlights .wrapper
{
	margin: 0 auto;
	padding: 0px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap:2em;
}

.highlights .wrapper > a
{
	display: block;
	padding: 1em;
	background: rgba(157, 101, 56,.02);
}


.highlights .wrapper h2,
.toplist .wrapper h2
{
	font-weight: 600;
	font-size: 2em;
	color:var(--theme-color);
}


.highlights .wrapper > a:hover,
.tenants .wrapper > a:hover
{
	background: rgba(157, 101, 56,.04);
}


.tenants
{
	background: #f7f3ee;
}


.tenants .wrapper
{
	margin: 0 auto;
	padding: 1em 0em 4em 0em;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap:2em;
}

.tenants .wrapper > a
{
	display: block;
	width: 100%;
	max-width: 150px;
	padding: 1em;
	background: white;
}

.tenants .wrapper > a .logo
{
	display:block;
	width: 100%;
	padding-top: 100%;
	background-repeat: no-repeat;
	background-size: contain;
	background-position:  center center;
}





/* */



footer
{
	background: #262626;
	color: #FFFFFF;
}

footer .wrapper
{
	margin:auto;
	max-width:100em;
	padding:4em 2em;
}

footer address
{
	text-align: center;
	margin-bottom: 2em;
	font-style: normal;
}

footer nav {
	justify-content: center;
}


.text-left
{
	text-align: left;
}

.text-center
{
	text-align: center;
}

.text-right
{
	text-align: right;
}



.fancybox__content
{
	padding:0;
	width:50em;
	max-width:100%;
}

.icon:after,
.icon:before
{
	text-align: center;
	font: var(--fa-font-regular);
}

@media(max-width:1000px)
{

	
	header
	{
		position: static;
	}
	
	
	header .wrapper {
		display: block;
	}
	

	header .items
	{
		flex-direction: row;
	}
	

	header nav,
	.offer .optional
	{
		display:none;
	}
	
	.toggled header nav,
	.offer.hasIso .items,
	.contact .items,
	.offer .offerMobile
	{
		display:block;
	}
	
	header .nav-toggle
	{
		display: flex;
	}
	
	header nav a {
		padding: 1em;
		background: #aea39d;
	}
	

	
	.selection .wrapper > a
	{
		width: 50%;
	}
	
	.highlights .wrapper
	{
		grid-template-columns: 1fr;
	}
	
	.gallery .items
	{
		grid-template-columns: 1fr 1fr;
	}
	

			
	
}


@media(max-width: 600px)
{


	.slideshow .banner .wrapper
	{
		font-size: 1.2em;
	}

	.selection .wrapper > a
	{
		width: 100%;
	}
		
	.tenants .wrapper
	{
		gap: 1em;
	}
	
	
	.tenants .wrapper > a
	{
		max-width: 100px;
	}
		
	
	.toplist .wrapper
	{
		grid-template-columns: 1fr;
	}
	
}