
:root
{
	--text-color: black;
	--fancybox-content-color:var(--text-color);
	--theme-color: limegreen;
	--hover-color: lightgreen;
    --hover-bg-color: black;
	--odd-color: lightgrey;
	--swiper-navigation-size: 3em;
	--swiper-theme-color: white;
	--header-height: var(--topbar-height,0px);
	
	--content-width: 80rem;
	--content-padding: 1.3rem;
	--content-padding-vertical: 2.5em;
	--content-padding-horizontal: var(--content-padding);
	
	--status-color-available:darkgreen;
	--status-color-unknown:darkorange;
	--status-color-unavailable:darkred;
}

.is-embed-offer
{
	padding-top:2rem;
}





.is-embed-offer.inViewport .offer-toolbar > .items .button:not(.active)
{
	animation: pulse 2s 5;
}


@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.7);
    }

    70% {
        box-shadow: 0 0 0 10px rgba(0, 0, 0, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
    }
}

.offer-toolbar{
	position: relative;
	font-size:1.2em;
}
.offer-toolbar > .items{
	position: absolute;
	z-index: 2;
	left:50%;
	top:0px;
	gap:1em;
	box-sizing: content-box;
	transform: translate(-50%, -100%);
	display:flex;
}

.offer-toolbar > .items .button
{
	font-size: 1rem;
}

.offer-toolbar [data-toggle-child]
{
	position: relative;
	z-index: 1;
	border-block: 5px solid #D4D5D4;
}

.offer-toolbar [data-toggle-child]:not(.toggled)
{
	display: none;
}

.offer nav a
{
	background:var(--theme-color);
	padding:.2em 2em;
	border-radius:1em;
	font-weight:500;
	color:white;
}

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



.offer .group > .wrapper
{
	padding:var(--content-padding-vertical) var(--content-padding-horizontal);
	max-width:var(--content-width);
	margin:auto;

}

.offer .group > .wrapper .wrapper
{
    padding-inline: 0;
}

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

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

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

/* elements */

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

.slideshow .swiper .swiper-pagination {
	position: static;
	margin:0.25em 0;
}

.offer .links .items
{
	display:flex;
	gap: .5em;
	flex-wrap:wrap;
}
.offer  .offer-popup .group .links.element
{
	margin-bottom: 0px;
	margin-top: .6em;
}

.offer .links + .links
{
	margin-bottom: .6em;
}

.offer .links.element + .links
{
	margin-top: .6em;
}

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

[data-slider] .slider-value
{
	
	display:block;
	text-align:right;
	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,[data-slider] .slider-input .noUi-handle
{
	background:#615D59;
}

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

}

[data-iso3d]
{
	position:relative;
	aspect-ratio: var(--is-iso-aspect-ratio,1);
}

[data-iso3d] canvas 
{
	position: absolute;
	top:0;
	left:0;
	box-sizing: border-box;
	background: transparent;
	bottom: 0;
	width: 100% !important;
	height: 100% !important;
	outline: none;
}

.model-toolbar,
.model-direction
{
	position:absolute;
	display:flex;
	z-index:1;
}

.model-toolbar.model-toolbar-navigation
{
	top:0;
	left:1px;
}

.model-toolbar.model-toolbar-rotation
{
	bottom:0;
	right:1px;
}

.model-toolbar.model-toolbar-size
{
	right:1px;
	top:50%;
	flex-direction:column;
	transform:translateY(-50%);
}

.model-overlay,
.model-loading
{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	display:grid;
	place-items: center;
	box-sizing: border-box;
	z-index:1;
	pointer-events:none;
}
.model-loading > div{
	display: flex;
	flex-direction: column;
}

.model-overlay
{
	display:none;
}

.model-overlay.model-overlay-mouse,
.model-overlay.model-overlay-touch
{
	/*display:grid;*/
	color:white;
	font-size:clamp(1em,3vw,1.5em);
	padding:2em;
	text-align:center;
}

.model-overlay.model-overlay-mouse > div,
.model-overlay.model-overlay-touch > div
{
	background:rgba(0,0,0,.3);
	padding: .5em 1em;
}

.model-overlay.model-overlay-mouse .model-info-touch,
.model-overlay.model-overlay-touch .model-info-mouse
{
	display:none;
}

.model-loading-done
{
	display:none;
}

.model-toolbar > div
{
	background:white;
	outline:1px solid black;
}

.model-toolbar > div::after,
.model-loading > div::after,
.model-direction::after
{
	display: block;
	font:var(--fa-font-regular);
	cursor: pointer;
	
	margin:auto;
	color:white;
}

.model-loading > div::after{
	content:"\f110";
	animation-name: fa-spin;
	animation-duration: var(--fa-animation-duration, 2s);
	animation-iteration-count: var(--fa-animation-iteration-count, infinite);
	animation-timing-function: var(--fa-animation-timing, linear);
}

.model-toolbar
{
	display:none;
}

.model-toolbar .model-prev::after{content:"\f01e"; transform:rotate(-45deg)}
.model-toolbar .model-next::after{content:"\f0e2"; transform:rotate(45deg)}
.model-toolbar .model-zoom-in::after{content:"\f00e";}
.model-toolbar .model-home::after{content:"\f015";}
.model-toolbar .model-zoom-out::after{content:"\f010";}
.model-toolbar .model-fullscreen::after{content:"\f065";}
.model-toolbar .model-maximize::after{content:"\f31e";}
.model-toolbar .model-settings::after{content:"\f013";}

.model-direction
{
	right:0;
	bottom:0;
	font-size:2em;
}

.model-direction::after{
	padding:.5em;
	content:"\f602"; 
	transform-style: preserve-3d;
	transform:rotate(calc(-45deg + var(--model-direction)));

}

.offer
{
	--offer-height: calc(100svh - var(--header-height));
}

.offer.offer-has-iso
{
	background-color: var(--offer-background-color,none);
}

.offer.offer-has-iso .offer-ui
{
	grid-area: iso;
	pointer-events:none;
	overflow:hidden;
}

.offer.offer-has-iso .offer-ui > *
{
	pointer-events:auto;
}

.offer.offer-has-iso .offer-ui,
.offer.offer-has-iso .offer-iso
{
	position:sticky;
	top:var(--header-height);
	width:100%;
}

.offer.offer-has-iso.offer-size-medium .offer-iso
{
	aspect-ratio: var(--is-iso-aspect-ratio,1);
}

.offer.offer-has-iso.offer-size-large .offer-iso,
.offer.offer-has-iso.offer-size-large .offer-ui
{
	height:var(--offer-height);
}

.offer.offer-has-iso .offer-iso
{
	display:grid;
	overflow:hidden;
}

.offer.offer-has-iso.offer-size-medium .offer-iso
{
	grid-area: iso;
}

.offer.offer-has-iso.offer-size-large .offer-iso
{
	display:grid;
	overflow:hidden;
	grid-area: iso / iso / sidebar / sidebar;
}

.is-root-canvas{
	display: none;
}

.offer [data-iso3d]
{
	--is-iso-meta_zone_state_active_free_color: #00ff004d;
	--is-iso-meta_zone_state_active_reserved_color: #ffff004d;
	--is-iso-meta_zone_state_active_rented_color: #ff00004d;
	--is-iso-meta_zone_state_active_sold_color: #ff00004d;
	--is-iso-meta_zone_state_selected_free_color: #00ff0099;
	--is-iso-meta_zone_state_selected_reserved_color: #ffff0099;
	--is-iso-meta_zone_state_selected_rented_color: #ff000099;
	--is-iso-meta_zone_state_selected_sold_color: #ff000099;
	--is-iso-meta_zone_state_filter_free_color: #00ff001a;
	--is-iso-meta_zone_state_filter_reserved_color: #ffff001a;
	--is-iso-meta_zone_state_filter_rented_color: #ffff001a;
	--is-iso-meta_zone_state_filter_sold_color: #ff00001a;
}

.offer [data-iso3d]
{
	aspect-ratio: auto;
}

.offer [data-iso]
{
	--is-iso-meta_zone_state_active_free_color: #00ff00;
	--is-iso-meta_zone_state_active_reserved_color: #ffff00;
	--is-iso-meta_zone_state_active_rented_color: #ff0000;
	--is-iso-meta_zone_state_active_sold_color: #ff0000;
	--is-iso-meta_zone_state_selected_free_color: #00ff00;
	--is-iso-meta_zone_state_selected_reserved_color: #ffff00;
	--is-iso-meta_zone_state_selected_rented_color: #ff0000;
	--is-iso-meta_zone_state_selected_sold_color: #ff0000;
	--is-iso-meta_zone_state_filter_free_color: #00ff00;
	--is-iso-meta_zone_state_filter_reserved_color: #ffff00;
	--is-iso-meta_zone_state_filter_rented_color: #ff0000;
	--is-iso-meta_zone_state_filter_sold_color: #ff0000;
}

.offer [data-iso] svg
{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}

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

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

.offer .offer-sidebar
{
	position:relative;
	container-type: inline-size;
}

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

.offer
{
	--offer-sidebar-margin: 2em;
	--offer-sidebar-margin-horizontal:2em;
	--offer-sidebar-margin-vertical:4em;
}
.sidebar-popup
{
	--fancybox-bg:rgba(97,93,89,0.6);
	--f-button-border:0;
	--f-button-outline-color:none;

}
.sidebar-popup  .fancybox__content>.f-button.is-close-btn:hover,
.sidebar-popup .is-compact .fancybox__content>.f-button.is-close-btn:hover,
.sidebar-popup  .fancybox__content>.f-button.is-close-btn:focus,
.sidebar-popup .is-compact .fancybox__content>.f-button.is-close-btn:focus
{
	background-color: transparent;
}

.sidebar-popup  .fancybox__content .f-button.is-close-btn,
.sidebar-popup .is-compact .fancybox__content>.f-button.is-close-btn {
	--f-button-bg: transparent;
	top: 1rem;
	right: 1rem;
	border-radius: 0;
	opacity:1;
	--f-button-svg-width:24px;
	--f-button-svg-height:24px;
	color:black;
}

.sidebar-popup .fancybox__content
{
	max-width: 50vw;
	width: 100%;
	padding:0;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	max-width: 100em;
	min-height: 100vh;
	padding-inline: 2.5rem;
	padding-bottom: 1.5rem;
	--fancybox-content-bg:#f7f7f7;
}

.sidebar-popup h4 
{
	padding-block: 2rem 1rem;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 1px
}

.sidebar-popup .form-warning
{
	color: #8a132a;
	font-size: 0.75rem;
	display: block;
	margin-top: 0.5rem;
	line-height: 1.4
}

.sidebar-popup  input[name=Email_Address]{display:none;}


@media only screen and (min-width: 1280px) 
{
	.sidebar-popup .fancybox__content 
	{
        max-width:700px
    }
}
/*	
.with-fancybox .topbar {
	 -webkit-transform:translate3d(0,0,0); 
	 transform:translate3d(0,0,0);
}
*/
.offer.offer-has-iso.offer-size-large .offer-sidebar,
.offer.offer-has-iso.offer-has-background .offer-sidebar
{
	margin:var(--offer-sidebar-margin-vertical) var(--offer-sidebar-margin-horizontal);
}

.offer.offer-has-iso .offer-list,
.offer.offer-has-iso .offer-detail
{
	background:var(--theme-color);
}

.offer.offer-has-iso .offer-list
{
	grid-area: list;
	padding:var(--content-padding-vertical) var(--content-padding-horizontal);
	box-sizing: border-box;
}

.offer .offer-title h1
{
	margin:0;
}

.offer.offer-has-iso .offer-detail
{
	grid-area: detail;
	position:sticky;
	bottom:0;
	width:100%;
	height:0;
	transition:all .5s;
	transform:translateY(100%);
	opacity:0;
	pointer-events:none;
	z-index:1;
}

.offer.offer-has-iso.offer-state-popup .offer-detail
{
	transform:translateY(0%);
	height:var(--offer-height);
	opacity:1;
	pointer-events:auto;
}

@keyframes fade-in
{
	0% {transform:translateY(100%);opacity: 0;}
	100% {transform:translateY(0%);opacity: 1;}
}

@keyframes fade-out
{
	0% {opacity: 1;}
	100% {opacity: 0;}
}

.offer.offer-has-iso .offer-popup
{
	display:none;
	background:var(--theme-color);
}

.offer .offer-popup-wrapper-title
{
	font-weight:bold;
	padding:.25em 0;
	font-size:smaller;
}

.offer .offer-popup-wrapper-content
{
	border-top:2px solid black;
}

.offer .price.primary
{
	font-size:3em;
	font-weight:500;
}

.offer.offer-has-iso .offer-popup.toggled
{
	display:block;
	overflow:auto;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	animation: fade-in 250ms forwards;
}

.offer.offer-has-iso .offer-popup .offer-popup-header
{
	position:sticky;
	top:0;
	background:var(--theme-color);
	box-shadow:5px 5px 15px 5px var(--theme-color);
	z-index:100;
}

.offer-popup .offer-popup-header > .wrapper
{
	padding-bottom:calc(var(--content-padding-horizontal) / 2);
}

.offer-popup .offer-popup-body > .wrapper
{
	padding-top:calc(var(--content-padding-horizontal) / 2);
}
.offer .slideshow
{
    position: relative;
}


.offer-popup .offer-popup-header h4
{
	display:grid;
	grid-template-columns: minmax(0,1fr) auto;
	gap: .5rem;
}
.offer-popup-close{
    font-size:1.2em;

    margin-right:-.25em;

}
.offer .slideshow .swiper-wrapper{
    height:auto;
}
.offer .slideshow  .legend{
    color:#615D59;
    font-size:0.85rem;
    letter-spacing:0.5px;
}
.offer-popup .slideshow .swiper-slide > .legend
{
	position:static;
	font-style:italic;
	text-shadow:none;
	padding-top:.5em;
	padding-bottom:0;
}

.offer-popup .offer-popup-close
{
	display:none;
}

.offer.offer-has-iso .offer-popup .offer-popup-close
{
	display:initial;
	cursor:pointer;
}

.offer.offer-has-iso .offer-popup.closing
{
	animation: fade-out 250ms forwards;
}

.offer .offer-tooltips
{
	position:absolute;
}

.offer .offer-tooltip
{
	--offer-tooltip-padding:1em;
	--offer-tooltip-background:white;
	
	display:none;
	width:20em;
	transform-style: preserve-3d;
	container-type: inline-size;
	position:absolute;
	transform: translateX(-50%);
	pointer-events:none;
	padding:var(--offer-tooltip-padding);
	transition: opacity .5s;
	z-index:var(--offer-tooltip-z);
	cursor:pointer;
}


.offer .offer-tooltip.active
{
	display:block;
}

.offer .offer-tooltip::after,
.offer .offer-tooltip::before
{
	content:"";
	display:block;
	position:absolute;
	width: 0; 
	height: 0; 
}

.offer .offer-tooltip .property-body
{
	display:block;
}


.offer .offer-tooltip.offer-tooltip-occluded
{
	opacity:.5;
}

.offer .offer-tooltip.offer-tooltip-orientation-top
{
	transform:translate(calc(-50% + var(--offer-tooltip-x)), calc(-100% + var(--offer-tooltip-y)));
}

.offer .offer-tooltip.offer-tooltip-orientation-top::after
{
	bottom:0;
	height:var(--offer-tooltip-padding);
	left:50%;
	transform:translateX(-50%);
	border-left: 1px solid #615D59;
	border-right: 1px solid #615D59;
}

.offer .offer-tooltip.offer-tooltip-orientation-top::before
{
	bottom:1px;
	height:1em;
	width:1em;
	left:50%;
	transform:translate(-50%, 100%);
	background:#615D59;
	border-radius:50%;
}

.offer .offer-tooltip .property-container
{
	padding:.8em;
}


.offer.offer-has-iso > .wrapper
{
	padding:0;
	margin:auto;
	max-width:none;
}

.offer.offer-has-iso > .wrapper > .items
{
	position:relative;
	display:grid;
}

.offer.offer-has-iso.offer-size-medium > .wrapper > .items
{
	grid-template-areas: "start iso sidebar end";
	grid-template-columns: auto minmax(0,60em) minmax(0,calc(20em + var(--offer-sidebar-margin-horizontal) * 2)) auto;
}

.offer.offer-has-iso.offer-size-large > .wrapper > .items
{
	grid-template-areas: "iso sidebar";
	grid-template-columns: auto minmax(0,calc(28em + var(--offer-sidebar-margin-horizontal) * 2));
}

.offer.offer-has-iso .offer-popup
{
	box-shadow: 0px 0px 10px 0px gray;
}

.offer-popup .group .element
{
	margin:2em 0;
}

.offer .houses table,
.offer .facts table
{
	width: 100%;
	border-collapse: collapse;
}
.sidebar-popup .contactform input[name=Email_Address]{display:none;}

.sidebar-popup .contactform .links .wrapper
{
	padding: 0;
}
.sidebar-popup .contactform .links  a
{
	width: 100%;
}

.sidebar-popup .contactform .ajax-loading,
.sidebar-popup .contactform .ajax-error,
.sidebar-popup .contactform .mail.success,
.sidebar-popup .contactform .mail.error
{
	
	background: green;
	padding:3em 1em;
	text-align:center;
	color:white;
	margin-block:1em;
}

.sidebar-popup .contactform .ajax-error,
.sidebar-popup .contactform .mail.error
{
	background:red;
}

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

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

.facts table tr:nth-child(odd) td{
    background:white;
}


.facts table td
{
	padding:0.8rem;
	width:50%;
	vertical-align: bottom;
	font-weight:bold;
    font-size:0.85rem;
}

.facts table td:first-child
{
	text-transform:uppercase;
    font-size:0.85rem;
    letter-spacing:0.5px;
}

.facts table td:last-child
{
	font-size:0.85rem;
    font-weight:normal;
}

.offer-popup .links .items
{
	display:grid;
	font-size:larger;
}

.offer-popup .property_status
{
	display:none;
}

.offer .houses [data-offer-link]:hover
{
	cursor:pointer;
}

.offer .houses td,
.offer .houses th
{
	padding:.25em .5em;
	white-space: nowrap;
}

.offer .houses .even,
.offer .houses .odd
{
	background: white;
}

.offer .house h2
{
	margin-top: 1em;
	margin-bottom: .5em;
}


.offer .houses [data-reference]:hover,
.offer .houses [data-reference].active
{
	background: var(--is-iso-meta_zone_state_active_free_color) ;
	
}

.offer .houses [data-reference]:has([title="Haus A"]):hover,
.offer .houses [data-reference].active:has([title="Haus A"])
{
	--is-iso-meta_zone_state_active_free_color:#FFE98A8A;
}

.offer .houses [data-reference]:has([title="Haus B"]):hover,
.offer .houses [data-reference].active:has([title="Haus B"])
{
	--is-iso-meta_zone_state_active_free_color:#FFB87A8A;
}

.offer .houses [data-reference]:has([title="Haus C"]):hover,
.offer .houses [data-reference].active:has([title="Haus C"])
{
	--is-iso-meta_zone_state_active_free_color:#FF8B948A;
}

.offer .houses [data-reference]:has([title="Haus D"]):hover,
.offer .houses [data-reference].active:has([title="Haus D"])
{
	--is-iso-meta_zone_state_active_free_color:#8EE6A18A;
}

.offer .houses [data-reference]:has([title="Haus E"]):hover,
.offer .houses [data-reference].active:has([title="Haus E"])
{
	--is-iso-meta_zone_state_active_free_color:#7EC8F88A;
}

.offer .houses [data-reference]:has([title="Haus F"]):hover,
.offer .houses [data-reference].active:has([title="Haus F"])
{
	--is-iso-meta_zone_state_active_free_color:#3686d38A;
}

.offer .house h2{
	display: none;
}





.offer .property-header,
.offer .property-body
{
	display:grid;
	grid-template-columns: minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);
	grid-template-areas: "property-title property-facts property-primary";
}

.offer .property-header
{
	display:none;
}

@container (max-width: 50em)
{
	.offer .property-header,
	.offer .property-body
	{
		grid-template-columns: minmax(0,2fr);
		grid-template-areas: "property-title"
			"property-facts"
			"property-primary";
	}

}

.offer .offer-list .property-container
{
	display:flex;
	flex-direction:column;
	gap:1.5em;
	margin-bottom: 1em;
}

.offer .property-body
{
	padding:.5rem;
	box-shadow: .1em .1em 0 #615D59;
	position:relative;
	background:white;
}

.offer.offer-has-iso .property-body
{
	padding:.9rem 1rem 1.25rem 1rem;
}

.offer .offer-list [data-reference]
{
	cursor:pointer;
}

.offer .offer-list .property-header
{
	padding:0 .5rem;
}

.offer.offer-has-iso .offer-list .property-header
{
	padding:0 .5rem;
}

.offer .property-header .property-field
{
	text-transform:uppercase;
}

.offer .property-header .property-title
{
	display:none;
}

.offer .property-title
{
	grid-area: property-title;
}
.offer-detail .offer-popup-title,.offer .property-title
{
    color: #615D59;
    font-family: "Quarca",sans-serif;
    font-weight: 700;
    font-style: normal;
 
    line-height: 1.2;
    font-size: 1.125rem;
	letter-spacing: .4px;
}

.offer .offer-title h1
{
    line-height:1;
	letter-spacing: 1px;
	font-size:1.75rem;
	margin-bottom: 1.5rem;
}



@media only screen and (min-width: 580px) {
    
	.offer .offer-title h1
	{ 
        font-size:2.1rem
    }

    .offer-detail .offer-popup-title,.offer .property-title
	{
        font-size:1.35rem;
    }
}


.offer .property-facts
{
	grid-area: property-facts;
	display:grid;
	grid-template-columns: var(--property-column-sizes);
}

.offer .property-facts .property-field:not(:first-child)
{
	border-left:1px dotted black;
}

.offer .property-primary
{
	position:absolute;
	background:#615D59;
    font-weight: 700;
    font-size: 0.7rem;
	color:white;
	bottom:0;
	left:50%;
	transform: translate(-50%, 50%);
	text-transform:uppercase;
	padding:0.1rem 0.7rem 0.15rem;
    letter-spacing:0.5px;
}

.offer .property-field
{
	overflow:hidden;
	text-overflow: ellipsis;
	white-space:nowrap;
	box-sizing: border-box;
    line-height:normal;
    padding:.2rem 0em;

}
.offer .property-facts .property-field{
    font-size:0.85rem;

}

.offer .property-field.property-field-title
{
	font-weight:bold;
}

@container (max-width: 60em)
{
	.offer .property-field
	{
		display:none;
	}
	
	.offer .property-field.required
	{
		display:block;
	}
	
	.offer .property-facts
	{
		grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);
	}
}

/*
.offer [data-reference]:not([data-availability_status="free"]) .primary
{
	background-color:var(--status-color-unavailable);
}

.offer [data-reference][data-availability_status="reserved"] .primary
{
	background-color:var(--status-color-unknown);
}

.offer [data-reference][data-availability_status="free"] .primary
{
	background-color:var(--status-color-available);
	font-weight:bold;
}
*/

.offer.offer-has-iso .iso 
{
	position:relative;
	display:grid;
}

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

.offer .filter-button
{
	display:grid;
	align-items:baseline;
	grid-template-columns:auto 1fr auto;
	gap:.5em;
	background:none;
	cursor:pointer;
    font-weight: 700;
    font-size: 0.7rem;
	padding:0.1rem 0.7rem 0.15rem;
    letter-spacing:0.5px;

}

.offer .filter-button > span
{
	display:flex;
	justify-content: space-between;
	align-items: baseline;
}

.offer .offer-title .filter
{
	margin-top:1em;
	display: none;
}

.offer .filters
{
	display:flex;
	flex-wrap:wrap;
	gap:.25em 1em;
	padding: 1rem 0;
}

@container (max-width:50em)
{
	.offer .filters
	{
		flex-direction:column;
	}
}

.offer .toggled .filters,
.offer .filter-button:not(.active) .fa-angle-up,
.offer .filter-button .fa-angle-down
{
	display:none;
}

.offer .filter-title
{
	font-size:.75em;
	font-weight:700;
    letter-spacing:0.5px;
	text-transform:uppercase;
}

/*
.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
{
	padding:.45rem 0.7rem .45rem 0.7rem;
	white-space: nowrap;

	cursor: pointer;
	display:inline-block;
	font-weight:700;
    font-size:.7rem;
  
	text-transform:uppercase;
	margin-top:.25em;
}

.offer .filters .checkbox input
{
	display:none;
}

.offer .filters .checkbox:has(input:checked)
{
	background:#615D59;
	color:white !important;
}

.offer .filtered
{
	display:none;
}

.filter-container
{
	border-bottom:2px solid #615D59;
}

.filter-container:not(.toggled)
{
	border-top:2px solid #615D59;
}

@media(orientation: portrait)
{
	
	
	.offer.offer-has-iso.offer-size-medium > .wrapper > .items,
	.offer.offer-has-iso.offer-size-large > .wrapper > .items
	{
		grid-template-columns: none;
		grid-template-areas: "iso"
		"sidebar";
		height:auto;
	}
	
	.offer.offer-has-iso.offer-size-medium .offer-ui,
	.offer.offer-has-iso.offer-size-medium .offer-iso,
	.offer.offer-has-iso.offer-size-large .offer-ui,
	.offer.offer-has-iso.offer-size-large .offer-iso
	{
		grid-area: iso;
		height: calc(50svh - var(--header-height) / 2);
		z-index:2;
	}
	
	.offer.offer-has-iso .offer-iso
	{
		background:var(--offer-background-color,white);
	}
	
	.offer.offer-has-iso.offer-state-popup .offer-detail
	{
		height:calc((100dvh - var(--header-height)) - (50svh - var(--header-height) / 2));
	}
	
	.offer.offer-has-iso.offer-size-large .offer-sidebar,
	.offer.offer-has-iso.offer-has-background .offer-sidebar
	{
		margin:0;
		display:block;
	}
	
	.offer .offer-tooltip.offer-tooltip-orientation-top
	{
		transform: translate(calc(-50% + var(--offer-tooltip-x)), calc(-100% + var(--offer-tooltip-y))) scale(.5) translateY(50%);
	}
}

.property_status.tag-pill
{
	font-size:.5em;
	vertical-align:middle;
	border-color:var(--contrast-color);
	color:var(--contrast-color);
}

:not([data-availability_status="free"]) .property_status.tag-pill
{
	--contrast-color:var(--status-color-unavailable);
}

[data-availability_status="reserved"] .property_status.tag-pill
{
	--contrast-color:var(--status-color-unknown);
}

[data-availability_status="free"] .property_status.tag-pill
{
	--contrast-color:var(--status-color-available);
}

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


.offer .button,
.offer button
{

	border:none;

	cursor:pointer;
	padding:.5em 1em;
	white-space: nowrap;
	display: block;
	font-weight:normal;
	text-transform:uppercase;
}

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

.offer-popup .button
{
	display:flex;
	justify-content: space-between;
    align-items: baseline;
}

.offer-popup .icon::after
{
	display: grid;
	width:1em;
	height:1em;
	place-items:center;
	font: var(--fa-font-regular);
}

.offer-popup .icon.doc::after{content:"\f15b";}
.offer-popup .icon.link::after{content:"\f08e";}

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


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

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

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




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

.offer-toolbar .button.active:hover
{
    background:#4e4a47;
    color:white;

}
.offer-toolbar .button.active,.offer .tag-pill,.offer .filters .checkbox{
    background:#D4D5D4;
    color:#4e4a47;
}

.offer .tag-pill
{
    background:#615D59;
    color:white;
	padding:0.1rem 0.7rem 0.15rem;
	margin-top:-.25em;
	font-weight:700;
    font-size:.7rem;
}
.offer-filter{
	display: none;
}
.offer-filter-counter::after
{
	content:" Objekte";
	text-transform:uppercase;
}

.offer-toolbar .hidden,.offer .hidden
{
	display:none;
}

