/* source-sans-3-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400;
  src: url('https://static.immoserver.ch/fonts/google/source-sans-3-v15-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* source-sans-3-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 700;
  src: url('https://static.immoserver.ch/fonts/google/source-sans-3-v15-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

::selection {
    background: var(--main-dark);
    color: var(--main-light);
    text-shadow: none;
}

:root
{
	--text-color: black;
	--fancybox-content-color:var(--text-color);
	--theme-color: #C6672D;
	--hover-color: #D5A77C;
	--odd-color: lightgrey;
	--swiper-navigation-size: 3em;
	--swiper-theme-color: white;
	
	--is-iso-level-spacing:-300px;
	--is-iso-level-active-count:1;
}

body {
    color: #333;
    background-color: #fff;
    min-height: 100%;
    margin: 0;
    font-family: Arial, sans-serif;
    font-size: 14px;
    line-height: 20px;
}

body
{
	color:var(--text-color);
	font-family: 'Source Sans 3', sans-serif;
	margin:0;
	font-size: 1rem;
	line-height: 1.5;
}

html {
    font-size: calc(0.875rem + 0.15625000000000003vw);
}

body.toggled
{
	overflow: hidden;
}

body.toggled header
{
	overflow: auto;
	max-height: 100vh;
}

h3 {
    margin-top: 20px;
    font-size: 24px;
    line-height: 30px;
}

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

.selectables a
{
	text-decoration: underline;
}

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

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

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

header nav,
footer nav
{
	display:flex;
	gap: 1em;
	justify-content: center;
}

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

header .nav-toggle
{
	display: none;
	width: 2em;
	height: 2em;
	align-items: center;
	justify-content: center;
}

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

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



/* main .group > .wrapper,
.offer > .wrapper
{
	max-width:80rem;
	margin:auto;
} */

.group > .wrapper
{
	padding: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;
}

h2
{
	font-size:2em;
}

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

/* elements */
.overview .houses {
	flex-direction: column;
	align-items: stretch;
	padding-left: 0;
	list-style-type: none;
	display: flex;
}

.overview .button {
	display: inline-flex;
	grid-column-gap: .75rem;
	text-align: center;
	flex-wrap: nowrap;
	justify-content: flex-start;
    align-items: center;
    font-weight: 400;
    line-height: 1.4;
}

.offer h3 {
	margin-top: 0;
	margin-bottom: 0;
	font-size: 2.21rem;
	font-weight: 700;
	line-height: 1.2;
}

.overview .button.is-text {
    color: #000;
    background-color: #0000;
    border: 2px solid #0000;
    padding: 0;
	font-size: 1.13rem;
}

.overview .button_icon-wrapper {
    display: flex;
}

.overview .icon-1x1-xmedium {
    flex: none;
    width: 1.5rem;
    height: 1.5rem;
}

.overview .w-embed:before, 
.overview .w-embed:after {
    content: " ";
    grid-area: 1 / 1 / 2 / 2;
    display: table;
}

.overview .w-embed:after {
    clear: both;
}

.overview .w-inline-block {
    max-width: 100%;
	border-bottom: 1px solid #e6e6e6;
    justify-content: space-between;
	align-items: center;
    padding-top: .75rem;
    padding-bottom: .5rem;
	padding-left: .5rem;
    display: flex;
}

.overview .list-item:last-child {
	border-bottom: 0;
}

.offer tr.active {
	color: white;
}

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

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

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

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

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

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

[data-slider] .slider-input
{
	padding:0 8px;
	margin:8px 0;
	height: 10px;
}

[data-slider] .slider-value
{
	font-size:smaller;
}

[data-slider] .slider-value span
{
	white-space: nowrap;
}

[data-slider] .slider-input,
[data-slider] .slider-input .noUi-handle
{
	box-shadow: none;
}

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

[data-slider] .slider-input .noUi-connect
{
	background: var(--hover-color);
}

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

.offer.hasIso > .wrapper
{
	box-sizing: border-box;
}

.offer.hasIso .items {
	grid-column-gap: 3rem;
    grid-row-gap: 4rem;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    align-items: start;
    display: grid;
}

.overview.hasIso .items
{
	display:grid;
	grid-column-gap: 6.63rem;
	grid-row-gap: 4rem;
	grid-template-rows: auto;
	grid-template-columns:7fr 6fr;
	grid-auto-columns: 1fr;
	align-items: start;
}

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

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

.offer .houses table tr,
.facts tr
{
	border-bottom: 1px solid #363534;
}

.facts tr:first-child
{
	border-top: 1px solid #363534;
}

.offer .houses table th,
.offer .houses table td,
.facts th,
.facts td
{
	padding: 0.75rem;
}

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

.offer.hasIso .items .item:first-child,
.offer.hasIso .iso 
{
	position: -webkit-sticky;
	position: sticky;
	top:var(--header-height,0);
	z-index: 3;
	background: white;
}

.offer td.availability_status
{
	color:red;
}

.offer [data-availability_status=reserved] td.availability_status
{
	color:orange;
}

.offer [data-availability_status=free] td.availability_status
{
	color:green;
}

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

/* .offer:not(.overview) [data-iso] .is-iso-flat
{
	opacity:0.5;
} */

.offer [data-iso] .is-iso-flat.is-iso-active
{
	opacity:1;
}

.offer:not(.overview) [data-iso] .is-iso-flat.free:not(.is-iso-active) .st18,
.offer:not(.overview) [data-iso] .is-iso-flat.free:not(.is-iso-active) .st25 {
	fill: #D2EBD4;
}

.offer:not(.overview) [data-iso] #house_67 .is-iso-flat.free:not(.is-iso-active) .st17,
.offer:not(.overview) [data-iso] #house_71 .is-iso-flat.free:not(.is-iso-active) .st17 {
	fill: #D2EBD4;
}

.offer:not(.overview) [data-iso] .is-iso-flat.free:not(.is-iso-active) .st17,
.offer:not(.overview) [data-iso] .is-iso-flat.free:not(.is-iso-active) .st19,
.offer:not(.overview) [data-iso] .is-iso-flat.free:not(.is-iso-active) .st24,
.offer:not(.overview) [data-iso] .is-iso-flat.free:not(.is-iso-active) .st26,
.offer:not(.overview) [data-iso] .is-iso-flat.free:not(.is-iso-active) .st31,
.offer:not(.overview) [data-iso] .is-iso-flat.free:not(.is-iso-active) .st36 {
	fill: #AAD9AD;
}

.offer:not(.overview) [data-iso] .is-iso-flat.reserved:not(.is-iso-active) .st18,
.offer:not(.overview) [data-iso] .is-iso-flat.reserved:not(.is-iso-active) .st25 {
	fill: #FFE4C8;
}

.offer:not(.overview) [data-iso]:has(#house_71, #house_67) .is-iso-flat.reserved:not(.is-iso-active) .st17 {
	fill: #FFE4C8;
}

.offer:not(.overview) [data-iso] #house_65 .is-iso-flat.reserved:not(.is-iso-active) .st17,
.offer:not(.overview) [data-iso] .is-iso-flat.reserved:not(.is-iso-active) .st17,
.offer:not(.overview) [data-iso] .is-iso-flat.reserved:not(.is-iso-active) .st19,
.offer:not(.overview) [data-iso] .is-iso-flat.reserved:not(.is-iso-active) .st24,
.offer:not(.overview) [data-iso] .is-iso-flat.reserved:not(.is-iso-active) .st26,
.offer:not(.overview) [data-iso] .is-iso-flat.reserved:not(.is-iso-active) .st31,
.offer:not(.overview) [data-iso] .is-iso-flat.reserved:not(.is-iso-active) .st36 {
	fill: #F0C79B;
}

.offer:not(.overview) [data-iso] .is-iso-flat.rented:not(.is-iso-active) .st18,
.offer:not(.overview) [data-iso] .is-iso-flat.rented:not(.is-iso-active) .st25 {
	fill: #F8C9C9;
}

.offer:not(.overview) [data-iso]:has(#house_71, #house_67) .is-iso-flat.rented:not(.is-iso-active) .st17 {
	fill: #F8C9C9;
}

.offer:not(.overview) [data-iso] #house_65 .is-iso-flat.rented:not(.is-iso-active) .st17,
.offer:not(.overview) [data-iso] .is-iso-flat.rented:not(.is-iso-active) .st17,
.offer:not(.overview) [data-iso] .is-iso-flat.rented:not(.is-iso-active) .st19,
.offer:not(.overview) [data-iso] .is-iso-flat.rented:not(.is-iso-active) .st24,
.offer:not(.overview) [data-iso] .is-iso-flat.rented:not(.is-iso-active) .st26,
.offer:not(.overview) [data-iso] .is-iso-flat.rented:not(.is-iso-active) .st31,
.offer:not(.overview) [data-iso] .is-iso-flat.rented:not(.is-iso-active) .st36 {
	fill: #D29191;
}

.offer:not(.overview) [data-iso] .is-iso-flat:not(.is-iso-active, .free, .reserved, .rented) .st17,
.offer:not(.overview) [data-iso] .is-iso-flat.filtered:not(.is-iso-active) .st18,
.offer:not(.overview) [data-iso] .is-iso-flat:not(.is-iso-active, .free, .reserved, .rented) .st18,
.offer:not(.overview) [data-iso] .is-iso-flat.filtered:not(.is-iso-active) .st25,
.offer:not(.overview) [data-iso] .is-iso-flat:not(.is-iso-active, .free, .reserved, .rented) .st25 {
	fill: #e3e3e3 !important;
}

.offer:not(.overview) [data-iso] #house_65 .is-iso-flat:not(.is-iso-active, .free, .reserved, .rented) .st17,
.offer:not(.overview) [data-iso] .is-iso-flat.filtered:not(.is-iso-active) .st17,
.offer:not(.overview) [data-iso] .is-iso-flat.filtered:not(.is-iso-active) .st19,
.offer:not(.overview) [data-iso] .is-iso-flat:not(.is-iso-active, .free, .reserved, .rented) .st19,
.offer:not(.overview) [data-iso] .is-iso-flat.filtered:not(.is-iso-active) .st24,
.offer:not(.overview) [data-iso] .is-iso-flat.filtered:not(.is-iso-active) .st26,
.offer:not(.overview) [data-iso] .is-iso-flat:not(.is-iso-active, .free, .reserved, .rented) .st24,
.offer:not(.overview) [data-iso] .is-iso-flat:not(.is-iso-active, .free, .reserved, .rented) .st26,
.offer:not(.overview) [data-iso] .is-iso-flat.filtered:not(.is-iso-active) .st31,
.offer:not(.overview) [data-iso] .is-iso-flat.filtered:not(.is-iso-active) .st36,
.offer:not(.overview) [data-iso] .is-iso-flat:not(.is-iso-active, .free, .reserved, .rented) .st31,
.offer:not(.overview) [data-iso] .is-iso-flat:not(.is-iso-active, .free, .reserved, .rented) .st36 {
	fill: #D0D0D0 !important;
}

.offer:not(.overview) [data-iso] .is-iso-flat.filtered {
	display: block;
}

.offer.overview [data-iso] .is-iso-flat {
	opacity: 1;
}

.offer.overview [data-iso] .is-iso-flat .is-iso-flat
{
	opacity:0;
}

.offer.overview [data-iso] .is-iso-flat.is-iso-active .is-iso-flat
{
	opacity:1;
}


/* .offer.overview .list-item .active h3 {
	font-style: italic;
} */

.offer.overview [data-iso] .is-iso-level.is-iso-open {
	transform: translateY(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 span
{
	white-space: nowrap;
}

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

/*
.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;
	white-space: nowrap;
}

.offer .filtered
{
	display:none;
}

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

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:white;
	cursor:pointer;
	padding:.5em 1em;
	white-space: nowrap;
	display: inline-block;
	font-weight:normal;
}

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

.button.secondary,
button.secondary
{
	color:var(--theme-color);
	border:1px solid var(--theme-color);
	background:none;
}

select
{
	appearance:none;
	background:none;
}

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

.contact .form-split-1-3
{
	display:grid;
	gap:1em;
	grid-template-columns:1fr 3fr;
}

.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 .form-interest-selection
{
	display:grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 1em;
}

.contact .form-interest-selection [data-interest-type=radio]
{
	grid-column: 1 / span 2;
}

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

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

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

.responsive iframe,
.responsive > .consent-content
{
	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;
}



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

.consent-cover
{
	position:absolute;
	width:100%;
	height:100%;
	background:rgba(0,0,0,.2);
	display:flex;
	justify-content: center;
	align-items:center;
}

.consent-cover .consent-message
{
	text-align:center;
}

.consent-cover-info
{
	display:flex;
	flex-direction:column;
	align-items: center;
	gap:.5em;
	padding:2em;
}

.consent-dialog
{
	position:sticky;
	bottom:0;
	background:white;
	z-index:1;
	box-shadow: 3px 3px 10px 0px rgb(50 50 50);
}

.consent-dialog .wrapper
{
	display:flex;
	flex-direction:column;
	gap:.5em;
	margin:auto;
	max-width:80rem;
	padding:1em 2em;
}

.toggle-button
{
	font-size:1.4em;
	position:relative;
	width:2em;
	height:1em;
	background:gray;
	box-sizing:border-box;
	border-radius:.5em;
	transition:background .5s;
	cursor:pointer;
}

.toggle-button::after
{
	content:"";
	position:absolute;
	left:0;
	top:0;
	width:calc(1em - 4px);
	height:calc(1em - 4px);
	margin:2px;
	background:white;
	border-radius:.4em;
}

.toggle-button.active
{
	background:green;
}

.toggle-button.active::after
{
	right:0;
	left:auto;
}

a[consent-settings]
{
	cursor: pointer;
}

.consent-settings .tab
{
	border-top:1px solid black;
}

.consent-settings .consent-preferences
{
	border-bottom: 1px solid black;
}

.consent-settings .tab .header
{
	display:flex;
	justify-content: space-between;
	align-items:center;
	gap:.5em;
}

.consent-links
{
	gap:.5em;
	display:inline-flex;
	text-decoration: underline;
	flex-wrap: wrap;
}

.consent-settings .tab [data-toggle]
{
	cursor:pointer;
}


.consent-settings .tab [data-toggle] h2
{
	display: flex;
	gap:.5em;
	align-items: center;
}

.consent-settings .tab [data-toggle] h2:before
{
	display: block;
	font: var(--fa-font-regular);
	content:"\f054"
}

.consent-settings .tab [data-toggle].active h2:before
{
	content:"\f078";
}


.consent-settings .tab .body
{
	padding-bottom: 1em;
}

.tab .body.toggled
{
	display:block;
}

.hidden
{
	display:none;
}

.grid-row-2 {
	display: grid;
	grid-template-rows: auto auto;
}

@media screen and (max-width: 2560px) {
    html {
        font-size: calc(0.875rem + 0.15625vw);
    }
}

@media screen and (max-width: 1280px) {
    html {
        font-size: calc(0.44444444444444453rem + 0.6944444444444443vw);
    }
}

@media only screen and (max-width:1000px)
{
	header nav,
	.offer .optional
	{
		display:none;
	}
	
	.toggled header nav,
	.contact .items,
	.offer .offerMobile
	{
		display:block;
	}
	
	header .nav-toggle
	{
		display: flex;
	}
}

@media only screen and (max-width:48rem) {
	.offer.hasIso .items {
		grid-template-columns: 1fr;
		grid-row-gap: 3rem;
	}
}