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

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

:root
{
	--text-color: black;
	--theme-color: #E6007E;
	--odd-color: lightgrey;
	--page-color: #e6007e;
	--page-overlay-color: #e6007e99;
	--hover-color: var(--page-color);
	--swiper-navigation-size: 2em;
	--swiper-theme-color: white;
	--is-iso-level-spacing:0px;
	--is-iso-level-active-count:1;
	--is-iso-flat-active-filter-color: var(--theme-color);
}

.sale
{
	--page-color: #4da9d4;
	--page-overlay-color: #4da9d499;
	--hover-color: var(--page-color);
	--theme-color: var(--page-color);
	--is-iso-flat-active-filter-color: var(--theme-color);
}

.planning
{
	--page-color: #cfad24;
	--page-overlay-color:#cfad2499;
	--hover-color: var(--page-color);
	--theme-color: var(--page-color);
	--is-iso-flat-active-filter-color: var(--theme-color);
}

.references
{
	--page-color: #355e3c;
	--page-overlay-color: #355e3c99;
	--hover-color: var(--page-color);
	--theme-color: var(--page-color);
	--is-iso-flat-active-filter-color: var(--theme-color);
}

body
{
	color:var(--text-color);
	font-family: 'Montserrat', sans-serif;
	font-weight: 300;
	margin:0;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body.toggled
{
	overflow: hidden;
}

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

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

strong
{
	font-weight: 700;
}

.hidden
{
	display:none;
}

header
{
	position: fixed;
	top: 0px;
	left: 0px;
	right: 0px;
	z-index: 1000;
	color: #FFFFFF;
	margin: 0 2em 0 2em;
	background: rgba(0,0,0,.8);
}


header:before 
{
	content: ' ';
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	opacity: 0.4;
	background-image: url('../images/header.svg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	z-index: -1;
}


header .wrapper
{
	margin:auto;
	max-width:120em;
	padding: 1.5em 2.5em;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
}

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

header .logo img,
footer .logo img
{
	display:block;
	width:18em;
}

header nav
{
	display: flex;
	gap: 2em;
	font-weight: bold;
	font-size: .9em;
	text-transform: uppercase;	
	align-items: center;
}


header nav.default
{
	justify-content: flex-end;
}

header nav a
{
	white-space: nowrap;
}

header nav.projects a:first-child,
header nav.mobil a:first-child
{
	font-weight: 300;
}

header nav.projects a:first-child:hover,
header nav.mobil a:first-child:hover
{
	text-decoration: none;
}


nav.mobil
{
	position: fixed;
	top: 0px;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 900;
	display: flex;
	min-width: 300px;
	justify-content: center;
	flex-direction: column;
	align-items: center;
	flex-wrap: wrap;
	background: rgba(0,0,0,.8);
	pointer-events: auto;
	transform: translateY(-100%);
	transition: transform .25s linear .25s;
	backdrop-filter: blur(3px);
	border: 2em solid #FFFFFF; 
	border-top: 0px;
	padding: 4em 1em 1em 1em;
}

nav.mobil a
{
	font-size: 2.5em;
	opacity: 0;
	transition: opacity 1s linear .25s;
}


header nav a.active,
header nav a:hover
{
	text-decoration: underline;
}

header .nav-toggle
{
	display: none;
	width: 1em;
	height: 1.5em;
	padding: 0;
	align-items: center;
	justify-content: center;
	background: none;
	font-size: 2.5em;
	cursor: pointer;
	border:none;
}

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

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


main
{
	margin: 0 2em;
	min-height: 60vh;
}


main > .group:first-child
{
	margin-top: 6em;
}

main > .group > .wrapper,
.offer > .wrapper
{
	max-width:90em;
	margin: 0 auto;
	padding: 4em 2em;
}

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

.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 > .wrapper > .subtitle:last-child > .wrapper > h2
{
	margin-bottom:-2em;
}

main > .element
{
	margin: 2em 0;
}

main > .element:first-child
{
	margin-top:0;
}

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

/* elements */

.typo
{
	font-size: 1.6em;
	line-height: 1.6em;
}

h1
{
	font-weight: 300;
	font-size: 4em;
	text-transform:uppercase;
}

h2,
.offerpopup h1
{
	font-weight: 700;
	font-size: 2.5em;
	text-transform: uppercase;
}

.fancybox__content.offerpopup
{
	width:80em;
}

.offerpopup > .group > .wrapper > .items
{
	display:grid;
	gap: 4em;
	grid-template-columns:1fr 2fr;
}

.group > .wrapper > .subtitle > .wrapper > h2
{
	display:flex;
	align-items: center;
	gap: .5em;
}

.group > .wrapper > .subtitle > .wrapper > h2::before
{
	flex: 0 0 auto;
	content:"";
	width:2em;
	padding:.5em;
	aspect-ratio:1;
	background-color:var(--page-color);
	mask-image: url('../images/mask.svg');
	-webkit-mask-image: url('../images/mask.svg');
	mask-size: 100%;
	-webkit-mask-size: 100%;
	mask-repeat: no-repeat;
	-webkit-mask-repeat: no-repeat;
}

.images > .wrapper
{
	position:relative;
}

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

.logo img
{
	max-width:100%;
	width:20em;
}

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

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

.slideshow .swiper-slide > .legend,
.images .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-button-next,
.slideshow .swiper-button-prev 
{
	background: var(--theme-color);
	border-radius: 50%;
	width: 3.5rem;
	height: 3.5rem;
	text-align: center;
}


.slideshow .swiper-button-prev
{
	left: 5%;
	
}

.slideshow .swiper-button-prev:after
{
	font: var(--fa-font-thin);
	font-size: 2em;
	content: "\f053";
}

.slideshow .swiper-button-next
{
	right: 5%;
	content: "\f054";
}

.slideshow .swiper-button-next:after
{
	font: var(--fa-font-thin);
	font-size: 2em;
	content: "\f054";
}


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

.header .swiper-slide > img
{
	display:block;
	width:100%;
	height: calc(100svh - 2em);
	object-fit: cover;
}

.header .swiper-slide > .legend
{
	display: none;
}

.header .wrapper
{
	position: relative;
}

.header.intro .caption
{
	position: absolute;
	bottom: 0px;
	left: 0px;
	background: rgba(230,0,126,.6);
	z-index: 500;
	color: #FFFFFF;
	padding: .5em 2em;
}

.header.intro .caption h1
{
	font-weight: 300;
	font-size: 9em;
	font-size: clamp(3em, 8vw,9em);
	line-height: 1em;
	margin: 0;
}

.header.intro .caption span
{
	font-size: clamp(1em, 3vw,3.2em);
}



.header .overlay
{
	position: absolute;
	top: 25%;
	right: 0px;
	background: rgba(0,0,0,.6);
	z-index: 500;
	color: #FFFFFF;
	padding: 2em 4em 2em 2em;
	background-blend-mode:multiply;
}

.header .overlay h3
{
	font-size: 1.5em;
	text-transform:uppercase;
	font-weight:300;
	margin:0;
}

.header .overlay .links
{
	display:flex;
	gap:.5em 1em;
	margin-top:1.5em;
}

.header .overlay .button
{
	background:white;
	border-color:white;
	color:black;
}

.header .overlay .button:hover
{
	background: #E6007E;
	border-color: #E6007E;
	color: #FFFFFF;
}

.header .overlay .facts
{
	display:grid;
	grid-template-columns:auto 1fr;
	gap: 1em
}


.header.intro .projects a:hover
{
	color: #FFFFFF;
	background: #E6007E;
}




.header.page .caption
{
	position: absolute;
	bottom: 45%;
	left: 2em;
	right: 2em;
	z-index: 500;
	color: #FFFFFF;
	padding: .5em 2em;
	text-align: center;
}

.header.page .caption h1
{
	font-weight: 300;
	font-size: clamp(3em, 8vw,9em);
	line-height: 1em;
	margin: 0;
	text-shadow: 1px 1px 5px rgba(0, 0, 0, 1);
	text-transform: uppercase;
}


.header.page .text
{
	position: absolute;
	bottom: -7rem;
	left: 0;
	right: 0;
	z-index: 500;	
}

.header.page .text .inner
{
	display: flex;
	gap: .5em;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 30rem;
	height: 30rem;
	padding: 5rem;
	background: url('../images/mask.png');
	background-size: contain;
	background-repeat: no-repeat;
	margin: 0 auto;
	text-align: center;
	box-sizing: border-box;
}

.header.page .circle
{
	flex: 0 0 auto;
}

.header.page .circle::after
{
	content: "\f078";
}




.header.project .caption
{
	position: absolute;
	bottom: 0px;
	left: 0px;
	background: var(--page-overlay-color);
	z-index: 500;
	color: #FFFFFF;
	padding: .5em 2em;
	
	
}

.header.project .caption h1
{
	font-weight: 300;
	font-size: 9em;
	font-size: clamp(2.5em,5vw,4em);
	margin: 0;
	text-transform:uppercase;
}

.header.project .caption span
{
	font-size: clamp(1em, 3vw,3.2em);
}





.projects .item > a
{
	display: grid;
	grid-template-columns: 2fr 5fr 1fr;
	align-content:  center;
	gap: 4em;
	margin: 3em 0;
}

.projects .item > a img
{
	width: 100%;
	aspect-ratio:1;
	object-fit:cover;
}

.projects.masked .item > a img
{
	mask-image: url('../images/mask.svg');
	-webkit-mask-image: url('../images/mask.svg');
	mask-size: 100%;
	-webkit-mask-size: 100%;
	mask-repeat: no-repeat;
	-webkit-mask-repeat: no-repeat;
}

.projects h1
{
	position:relative;
	text-transform: uppercase;
}

.projects h1::after
{
	content:"";
	position:absolute;
	background:var(--page-color);
	width:3px;
	top:.2em;
	bottom:.2em;
	left:-.35em;
}

.circle
{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 4rem;
	height: 4rem;
	border-radius: 50%;
	color: #FFFFFF;
	align-self: center; 
	justify-self: center;
	background-color: var(--page-color);
	border:1px solid var(--page-color);
	cursor: pointer;
	transition:all .5s;
}

.circle:hover,
.projects .item a:hover .circle
{
	color:var(--page-color);
	background:white;
}


.circle::after
{
	text-align: center;
	font: var(--fa-font-thin);
	font-size: 2rem;
	content: "\f054";
}




.team .item
{
	display: grid;
	grid-template-columns: 1fr 2fr;
	align-content: center;
	align-items: center;
	gap: 3em;
	margin: 2em 0;
}

.team .item:nth-child(even)
{
	grid-template-columns: 2fr 1fr;
}


.team .item:nth-child(even) .image 
{
	order: 1;
}


.team .item .image
{
	text-align: center;
}

.team .item img
{
	width: 100%;

	mask-image: url('../images/mask.svg');
	-webkit-mask-image: url('../images/mask.svg');
	mask-size: 100%;
	-webkit-mask-size: 100%;
	mask-repeat: no-repeat;
	-webkit-mask-repeat: no-repeat;
	
}






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

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

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

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

.links .label
{
	font-weight:700;
	text-transform:uppercase;
}

.offer
{
	text-align:left;
}

.offer.hasIso > .wrapper,
.offerbox.hasIso > .wrapper
{
	max-width:110em;
}

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

main > .contactbox
{
	margin-top:8em;
}

.box .contactbox > .wrapper
{
	padding:0;
	max-width:70em;
}

.property_title
{
	display:none;
}

.offer .items,
.contact form
{
	font-size:.7em;
}

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

.offer .houses table th,
.offer .houses table td
{
	padding:.5em;
}

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

.facts table tr
{
	border-color:var(--theme-color);
}

.facts table td
{
	padding:.5em 0;
}

.facts table td:first-child
{
	font-weight:bold;
}

.offer .houses table tr[data-availability_status=reserved] .availability_status
{
	color:darkorange;
}

.offer .houses table tr[data-availability_status=sold] .availability_status
{
	color:red;
}

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

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

.offer.hasIso .iso,
.offer.hasIso .iso [data-iso]
{
	position: -webkit-sticky;
	position: sticky;
	top:0
}

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

.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
{
	gap:0 1em;
	flex-wrap: wrap;
}

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

.offer .offerMobile > span > span:first-child
{
}

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

.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(--hover-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 .info
{
	margin-top:2em;
}

.plan
{
	background: #DBE5F1;
}

.plan .wrapper
{
	padding:1em;
}

.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;
	line-height:1.4em;
	background:white;
}

input[type=text],
input[type=email],
input[type=tel],
textarea,
select
{
	display:block;
	width:100%;
	border:none;
	padding:.5em .75em;
	border-radius: 0;
}

textarea
{
	min-height:6em;
}

.button,
button:not(.nav-toggle,.carousel__button)
{
	background:var(--theme-color);
	border:1px solid var(--theme-color);
	color:white;
	cursor:pointer;
	display: inline-block;
	font-weight:normal;
	padding: .75em 1.5em;
	border-radius: 500px;
	font-size: .9em;
	text-transform: uppercase;
	transition:all .5s;
}

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

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

select
{
	appearance:none;
}

.contact
{
	text-align:left;
}

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

.contact .form .group
{
	margin-bottom: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 .selectables a
{
	text-decoration:underline;
}

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

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

.contact > .wrapper > .items.hasForm.hasInfo
{
	display:grid;
	grid-template-columns:1fr 2fr;
	gap:4em;
	margin:0;
}

.contact > .wrapper > .items .items
{
	display:grid;
	grid-template-columns:2fr 3fr;
	gap:1.5em;
	margin:0;
}

.contact .stretch,
.contact .stretch .form-group
{
	display:grid;
}

.contact .info
{
	margin-top:-10em;
}

.contact .person img
{
	width:24em;
	max-width:100%;
	object-fit:contain;
	aspect-ratio:1;
	mask-image: url('../images/mask.svg');
	-webkit-mask-image: url('../images/mask.svg');
	mask-size: 100%;
	-webkit-mask-size: 100%;
	mask-repeat: no-repeat;
	-webkit-mask-repeat: no-repeat;
}

.contact .ajax-form.typo
{
	line-height:1.2em;
}

.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
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border:0;
}

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

.box
{
	background: #DBE5F1;
	text-align: center;
}

.box > .wrapper
{
	padding: 4em 2em;
	max-width:90em;
	margin: 0 auto;
}

.header.page + .box > .wrapper
{
	padding-top:6em;
}

.cols .items
{
	display:grid;
	grid-template-columns:1fr 1fr;
}

.cols .items > *
{
	padding:2em;
}

.cols .left
{
	background:#DBE5F1;
}

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

.contactinfo .info .inner
{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	padding: 5rem;
	background: url('../images/mask-outline.svg');
	background-size: contain;
	background-repeat: no-repeat;
	margin: 0 auto;
	text-align: center;
	box-sizing: border-box;
	max-width:30rem;
	aspect-ratio:1;
}

.map .googlemaps
{
	margin:0;
}

.facts.element .items
{
	padding-top:1em;
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:1em;
}

.facts.element .title
{
	font-weight:700;
	text-align:right;
}

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

.vtour .responsive
{
	height:80vh;
	height:80dvh;
	padding:0;
}

/* */

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

.fancybox__content .group > .wrapper
{
	padding:2em;
}


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



footer
{
	position: relative;
	background: rgba(0,0,0,.5);
	margin: 4em 2em 2em 2em;
	color: #FFFFFF;
}


footer:before 
{
	content: ' ';
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	opacity: 0.9;
	background-image: url('../images/footer.svg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	z-index: -1;
}

footer .wrapper
{
	margin:auto;
	max-width: 90em;
	padding: 4em 2em 2em 2em;
	display: grid;
	grid-template-columns: max-content max-content auto;
	grid-template-areas:
		"a a e"
		"c d e";
	gap: 1em 2em;
}

footer .wrapper a.logo
{
	grid-area: a;
}

footer .address1
{
	grid-area: c;
}

footer .address2
{
	grid-area: d;
	align-self: end;
}

footer nav
{
	grid-area: e;
	justify-self: end;
	align-self: end;
	text-align: right;
}



@media(max-width:1400px)
{

	header nav.projects a:first-child
	{
		display: none;
	}
	
	header .logo img,
	footer .logo img
	{
		display:block;
		width:14em;
	}
	
	h1
	{
		font-size: 3em;
	}
	
	.typo
	{
		font-size: 1.4em;
	}
	
	.header.page .text
	{
		bottom: -5rem;
	}
	
	.header.page .text .inner
	{
		gap: .5em;
		width: 25rem;
		height: 25rem;
		padding: 3rem;
	}

}


@media(max-width:1000px)
{
	
	header .items
	{
		justify-content: space-between;
		position: relative;
		height: 3em;
	}
	
	
	header .items .logo,
	header .nav-toggle
	{
		position: absolute;
		z-index: 1000;
	}

	.toggled nav.mobil
	{
		transform: translateY(0%);
	}
	
	.toggled nav.mobil a
	{
		opacity: 1;
	}
	
	header nav a.active, 
	header nav a:hover 
	{
		text-decoration: none;
		color: #E6007E;
	}
	
	header .nav-toggle
	{
		right: 0;
	}

	header nav.projects,
	header nav.default,
	.offer .optional,
	.offer .houses th
	{
		display:none;
	}
	
	header .wrapper,
	.offer.hasIso .items,
	.contact .items,
	.cols .items,
	.contactinfo .items
	{
		display:block;
	}
	
	.offer .offerMobile
	{
		display:flex;
	}
	
	.offer .property_reference
	{
		font-weight:bold;
	}
	
	.contact > .wrapper > .items.hasForm.hasInfo,
	.offerpopup > .group > .wrapper > .items
	{
		display:flex;
		flex-direction: column-reverse;
	}
	
	.contact .info
	{
		margin-top:0;
	}
	
	header .nav-toggle
	{
		display: flex;
	}


	h1
	{
		font-size: 2.2em;
	}
	
	h2
	{
		font-size: 1.8em;
	}
	
	.typo
	{
		font-size: 1.1em;
	}
	
	.header.page + .box > .wrapper
	{
		padding-top: 3em;
	}
	
	.header .overlay
	{
		margin:auto;
		left:1em;
		right:1em;
		text-align:center;
		padding:2em;
	}
	
	.header .overlay .facts,
	.facts.element .items
	{
		display:block;
		font-size:1em;
	}
	
	.facts.element .title,
	.facts.element .text
	{
		text-align:center;
	}
	
	.facts .text
	{
		margin-bottom:.5em;
	}
	
	.facts .text:last-child
	{
		margin-bottom:0;
	}
	
	.header .overlay .links
	{
		justify-content: center;
		flex-wrap:wrap;
	}

	.header.intro .caption
	{
		right: 0px;
		text-align: center;
		padding: 2em 1em;
	}

	.header.intro .projects 
	{
		top: 25%;
		right: 10vw;
		left: 10vw;
		padding: 1em;
		text-align: center;
	}
	
	.header.intro .projects a
	{
		margin: .5em;
	}
	
	
	.header.page .text
	{
		bottom: -4rem;
	}
	
	.header.page .text .inner
	{
		gap: .5em;
		width: 20rem;
		height: 20rem;
		padding: 3rem;
	}
	
	.contactinfo .info .inner
	{
		padding: 3rem;
	}
}


@media(max-width:800px)
{
	:root
	{
		--swiper-navigation-size: 1em;
	}
	
	nav.mobil
	{
		border: 0em solid #FFFFFF; 
	}
	
	header,
	main
	{
		margin: 0 1em;
	}

	header .wrapper
	{
		padding: 1em 1em;
	}
	
	nav.mobil a
	{
		font-size: 1.8em;
	}
	
	

	.slideshow .swiper-button-next,
	.slideshow .swiper-button-prev 
	{
		width: 2rem;
		height: 2rem;
	}

	.contact > .wrapper > .items .items
	{
		display:block;
	}


	main > .contactbox
	{
		margin-top:0;
	}

	.projects .item > a
	{
		grid-template-columns: 1fr;
		gap: 1em;
		margin: 4em 0;
	}

	.projects .item > a img
	{
		max-width: 300px;
		justify-self: center;
	}
	
	.projects h1,
	.projects .typo
	{
		text-align: center;
		border: 0px;
	}
	
	.projects h1
	{
		position: relative;
		margin-bottom: 2em;
	}
	.projects h1::after
	{
		bottom: -1em;
		left: 35%;
		right: 35%;
		height: 3px;
		top:auto;
		width: auto;
	}
	
	.group > .wrapper > .subtitle > .wrapper > h2::before
	{
		width:1em;
	}

	.team .item
	{
		display: grid;
		grid-template-columns: 1fr;
		gap: 1em;
	}
	
	.team .item:nth-child(even)
	{
		grid-template-columns: 1fr;
	}
	
	.team .item:nth-child(even) .image 
	{
		order: 0;
	}
	
	.team .item img
	{
		max-width: 60vw;
	}


	.box > .wrapper
	{
		padding: 2em;
	}

	
	footer
	{
		margin: 2em 0 0 0;
	}
	
	
	footer .wrapper
	{
		grid-template-columns: 1fr;
		grid-template-areas:
			"a"
			"c"
			"d"
			"e";
		gap: 2em;
	}
	
	footer .wrapper a.logo,
	footer .address1,
	footer .address2,
	footer nav
	{
		justify-self: center;
		text-align: center;
	}
	
	.header.page .caption
	{
		padding:0;
	}
	
	.gallery .items
	{
		grid-template-columns: 1fr 1fr;
	}
	
	.header.project .overlay,
	.header.project .caption
	{
		position:static;
	}
	
	.header.page .text .inner
	{
		transform: translateY(15%) scale(.75);
	}
}

@media(max-width:600px)
{
	h1
	{
		font-size:1.8em;
	}
	
	h2
	{
		font-size:1.8em;
	}
	
	main > .group > .wrapper, .offer > .wrapper
	{
		padding: 2em 1em;
	}
	
	.offer > .wrapper
	{
		padding:1em 0;
	}
	
	.cols .items > *,
	.box > .wrapper,
	.fancybox__content .group > .wrapper
	{
		padding:2em 1em;
	}
	
	.cols .items > .right
	{
		padding:1em 0;
	}
}

@media(max-height:450px)
{
	nav.mobil
	{
		flex-direction: row;
	}
	
	nav.mobil a
	{
		font-size: 1.2em;
	}
}
