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

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

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

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

:root
{
	--text-color: black;
	--dark-color: #000000;
	--dark-variant-color: #57453A;
	--green-color:#475542;
	
	--hover-color: white;
	--overlay-color: rgba(146, 115, 92,.8);
	--alternating-color: white;
	--odd-color: var(--alternating-color);
	
	--is-iso-level-spacing:-200px;
	--is-iso-level-active-count:1;
	--swiper-navigation-size: 3em;
	--swiper-theme-color: rgb(255, 255, 255);
}

body
{
	color:var(--text-color);
	font-family: 'Roboto', sans-serif;
	margin:0;
}

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

.typo a:not(.button, button)
{
	text-decoration: underline;
}

.hidden
{
	display:none;
}

h1
{
	color: #475542;
	font-weight: 300;

}

h2
{
	font-family: 'Rozha One', serif;
	font-weight: 400;
}

h1,h2{
	font-size: clamp(2em,3vw,3em);
}


header
{
	color:white;
	background: var(--dark-color);
}

header
{
	top:0;
	position:sticky;
	z-index:100;
}

.home .legend .wrapper
{
	text-align: center;
}
footer{
	background:var(--dark-variant-color);
	color:white;
}

header .wrapper,
footer .wrapper,
.home .legend .wrapper
{
	margin:auto;
	max-width:1200px;
	padding:1rem 2rem;
	box-sizing:border-box;
}


header .wrapper
{
	padding: 2rem;
}


.home .legend .wrapper
{
	padding:1rem 2rem 1.5rem 1rem;
}

header .items
{
	display:flex;
	justify-content: center;
	align-items: center;
	gap:1em;

}


.logout{
	position: absolute;
	right:2rem;
	bottom:0px;
	padding:10px 0;
}
header .logo img
{
	display:block;
	width:clamp(8em,20vw,11em);
	max-height:6em;
	object-fit:contain;
	object-position:bottom right;
	box-sizing: border-box;
}

header nav
{
	padding: 10px 0;
	row-gap: 10px;
	
}

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

header .language nav
{
	gap:.75em;
}

header nav a,footer  a
{
	display: block;
	font-weight: normal;
	color:#92735C;
}

.language nav a.active
{
	display: none;
}
header nav a.active,
header nav a:hover,
footer a:hover
{
	color: var(--hover-color);
}

header .nav-toggle
{
	display: none;
	font-size:2em;
	width: 2rem;
	height: 2rem;
	padding: 0px;
	align-items: center;
	justify-content: center;
	background: black;
}

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

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

header .colored
{
	background: var(--dark-variant-color);
}

header .colored .wrapper
{
	padding-top:0;
	padding-bottom:0;
	display:flex;
	gap:2em;
	justify-content: center;
}

footer
{
	font-size: 12px;
}

footer .wrapper
{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:2em;
	color: white;
}

footer .about span
{
	font-weight:300;
}

section
{
	scroll-margin-top:var(--header-height);
}

div[id="#contactinfo"]
{
	scroll-margin-top:calc(var(--header-height) + 1em);
}


section:nth-child(even)
{
	background: var(--alternating-color);
}

main .group > .wrapper,
.offer > .wrapper
{
	max-width:1200px;
	box-sizing:border-box;
	margin:auto;
}

.group > .wrapper,
.offer > .wrapper
{
	padding:4rem 2rem;
}

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

/* elements */

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

/*Fix Grid fr unit*/
.slideshow .swiper-slide
{
	width: 100% !important;
}

.swiper-horizontal>.swiper-pagination-bullets, 
.swiper-pagination-bullets.swiper-pagination-horizontal, 
.swiper-pagination-custom,
.swiper-pagination-fraction
{
	bottom:5px;
}

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

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

.gallery .legend
{
	text-decoration:none;
}

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

.links .items
{
	display:flex;
	gap: 1em;
	flex-wrap:wrap;
}

table
{
	max-width:100%;
	border-collapse: collapse;
}

td
{
	padding: 0.25em 0.5em;
}

.group + .offer > .wrapper
{
	margin-top:-2rem;
}

.group + .offer > .wrapper,
.offer + .group > .wrapper
{
	padding-top:0;
}

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

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

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

.offer table tr{
	border-top:1px solid black;
}

.offer table tr:last-child{
	border-bottom: 1px solid black;
}
.typo tbody tr:nth-child(odd),
.house table tbody tr.odd,
section:nth-child(even) .typo tbody tr:nth-child(even),
section:nth-child(even) .house table tbody tr.even
{
	background: var(--odd-color);
}

.typo tbody tr:nth-child(even),
.house table tbody tr.even,
section:nth-child(even) .typo tbody tr:nth-child(odd),
section:nth-child(even) .house table tbody tr.odd
{
	background:white;
}

section .offer .houses table tr[data-fancybox]:hover,
section .offer .houses table tr[data-scroll]:hover,
section .offer .houses table tr[data-reference].active
{
	background:#92735C;
	color:white;
}

.offer .houses table th
{
	padding: 0.5em;
	font-weight:normal;
}

.offer .houses table td
{
	padding:0.5em 1em;
}



.offer .houses > .house > h2
{
	margin:2em 0 .5em 0;
	font-weight:normal;
}

.offer .houses > .house > h2 small
{
	color: #757575;
	font-size:.7em;
}

.offer .houses table .availability_status
{
	width: 100px;
}

.offer .houses table tr[data-availability_status=free]{
cursor:pointer;
}
.offer .houses table tr[data-availability_status=reserved] .availability_status{
	color:#F7A600;
}
.offer .houses table tr[data-availability_status=rented] .availability_status,
.offer .houses table tr[data-availability_status=sold] .availability_status
{
	color:rgba(255,51,51,1);
}


.offer.hasIso > .wrapper
{
	max-width:1920px;
}

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

.offer.hasIso .iso,
.offer.hasIso .items > .item:first-child,
.offer.hasIso .iso [data-iso]
{
	position: -webkit-sticky;
	position: sticky;
	top:var(--header-height);
	padding-top:.8em;
	height:100%;
	max-height: calc(90vh - var(--header-height));
}

.offer.hasIso .iso > img
{
	width:100%;
}

.offer [data-iso] .is-iso-flat:not(.is-iso-active){
	opacity: 0;
}
.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 .offerMobile
{
	font-size: .8em;
	line-height: 1.2em;
	padding-top: 0.2em;
	flex-wrap: wrap;
	gap:0em .5em;
}

.offer .offerMobile span
{
	white-space: nowrap;
}
.typo strong{
	font-weight: 700;
}
.offer .property_title
{
	display: none;
}
.offer .offerMobile span.primary
{
	font-weight:normal;
}

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

.offer .filter-disabled,
.offer .filters-disabled
{
	display:none;
}

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

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

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

input,
select
{
	margin:0;
}

input,
select
{
	margin:0;
}

input[type=text],
input[type=password],

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

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

textarea
{
	height: 6em;
}

.button,
button
{
	background:var(--green-color);
	border:none;
	border-radius: 0px;
	color:white;
	padding: 1em;
	column-gap: .3em;
	align-items: center;
	display: inline-flex;
	font-weight:normal;
	cursor:pointer;
	transition: background .5s;
}

.button:hover,
button:not(.nav-toggle):hover
{
	background:var(--dark-color);
}

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

.button.doc::before
{
	font: var(--fa-font-solid);
	content: "\f019";
}

.button.link::before
{
	content: "\f14c";
}

.button.application::before
{
	font: var(--fa-font-solid);
	content: "\f573";
}

select
{
	appearance:none;
}


.contact .info 
{
	margin-top:5em;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.5em;
}
.contact .info .left,.contact .info .right{
	display: flex;
	flex-direction: column;
	gap:1.5em;
}

.contact .company
{

}


.login .error{
	color:red;
	font-weight: normal	;
}

.login form
{
	display: flex;
	flex-direction: column;
	gap:1em;
}

.login
{
	background:#92735C;
	display: flex;
	align-items: center;
	justify-content: center;
}

.login .group > .wrapper
{
	max-width: 600px;
	display: flex;
	flex-direction: column;
	gap:2em;
}

.contact .company .logo
{
	padding-bottom:2em;
}
.contact .right .company .logo img{
	width:8em;
}

.contact .company .logo img
{
	display: block;
	width: 14em;
	max-height: 5em;
	object-fit: contain;
	object-position: bottom left;
	box-sizing: border-box;
}

.contact .person
{
	display:grid;
	align-items:center;
	gap:1em;
	grid-template-columns:1fr;
}

.contact .person .image
{
	box-sizing:border-box;
	width:100%;
	max-width: 209px;
	border: 5px solid var(--alternating-color);
	border-radius:100%;
	aspect-ratio:1;
	overflow:hidden;
	display:flex;
	align-items: center;
	justify-content: center;
	background:white;
	color:var(--alternating-color);
}

.contact .person .image.empty::after
{
	font: var(--fa-font-solid);
	content:"\f007";
	font-size:3em;
}

.contact .person .image img
{
	width:100%;
	aspect-ratio:1;
	object-fit:cover;
}

section:nth-child(even) .person .image
{
	border-color:white;
}

.contact .info .name
{
	font-weight:bold;
}

.responsive
{
	position: relative;
	padding-bottom: 56.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%;
}

/* */




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

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

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

.typo
{
	font-weight:300;
	font-size: 1.1em;
}
h1,h2{
	line-height: 1.1;
}
.typo,
.slideshow .legend,
.container .legend
{
	line-height:1.5;
}

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

.fancybox__slide.has-image .fancybox__content
{
	width: 100%;
}


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

.lage::after
{
	display:block;
	content: "";
	clear:both;
}

.container
{
	width:50%;
	float: left;
	margin: 0 2em 1em 0;
}

section:nth-child(even) .container
{
	float:right;
	margin:0 0 1em 2em;

}

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

.home .slideshow-wrapper
{
	position:relative;
	overflow:hidden;
}

.home .legend,
.container .legend,
.slideshow .legend
{
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	z-index:1;
	background: var(--overlay-color);

	color: white;
	text-align:center;
	text-shadow: 0px 0px 10px var(--dark-variant-color);
}

.container .legend,
.slideshow .legend
{
	padding: 1em 0px 1.5em 0px;
}

.legend
{
	font-weight:normal;
	font-size: clamp(.9em,3vw,1em);

}
.toggled header .language nav{
	display: flex;
	flex-direction: row;
	width: 3em;
}
.home .legend
{
	font-size: clamp(.9em,3vw,1.6em);
}

.home .swiper-slide
{
	height:calc(100vh - var(--header-height) - 3vh);
	min-height: 30vw;
	max-height: 100vmin;
	object-fit:cover;
}

.viewport-animated,
.home .legend
{
	opacity:0;
	transform: translateY(100%);
	transition: all 1s;
}

.viewport-animated.viewport-visible
{
	opacity: 1;
	transform:translateY(0);
}

@media(max-width:1200px)
{
	.offer.hasIso .items > .item:first-child{
		background: white;
	}

	
	main .offer.hasIso .iso, .offer.hasIso .iso [data-iso]{
		height: auto;
		max-height: none;
	}
	.offer.hasIso .iso [data-iso] svg{
		max-height: calc(40vmax - var(--header-height) );
	}
	.offer .houses > .house > h2{
		margin:1em 0 .5em 0
	}
	.offer .optional
	{
		display:none;
	}
	.offer .offerMobile{
		display: flex;
	}
}
@media(max-width:1000px)
{
	main .offer.hasIso .items
	{
		grid-template-columns:1fr;
	}

	header .items{
		justify-content: space-between;
	}
	header nav,
	.offer .optional
	{
		display:none;
	}
	
	.toggled header nav
	{
		display: flex;
		flex-direction: column;
		width: 100%;
		row-gap: 1em;
	}


	
	.offer .offerMobile,
	header .nav-toggle
	{
		display: flex;
	}
	
	.group > .wrapper,
	.offer > .wrapper
	{
		padding:3rem 2rem;
	}
	
	.group + .offer > .wrapper
	{
		margin-top:-1rem;
	}
	

	
	.home .swiper-slide
	{
		height: 80vmin;
	}
	
	.container
	{
		float:none;
		width:100%;
		margin:1.5em 0;
	}
	
	.gallery .items
	{
		grid-template-columns:1fr 1fr;
	}
	

}

@media(max-width : 675px)
{
	.contact .info
	{
		grid-template-columns: 1fr;
	}
	.contact .company{
		grid-column: auto;
	}
	.group > .wrapper,
	.offer > .wrapper
	{
		padding:2rem 1rem;
	}
	
	header .wrapper, 
	footer .wrapper
	{
		padding: 1rem 1rem;
	}
	
	
	
	
	.gallery .items
	{
		grid-template-columns:1fr;
	}

	.contact .info .right{
		margin-top:2em;
	}
}

@media(max-height : 500px)
{
	main .offer.hasIso .iso, .offer.hasIso .items > .item:first-child, .offer.hasIso .iso [data-iso]{
		position: static;
	}
	.offer.hasIso .items{
		gap:1em;
	}
}