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

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

/* montserrat-600 - latin */
@font-face {
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 600;
	font-display:swap;
	src: local(''),
		 url('https://static.immoserver.ch/fonts/google/montserrat-v25-latin-600.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
		 url('https://static.immoserver.ch/fonts/google/montserrat-v25-latin-600.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+ */
}

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

:root
{
	font-size: 14px;
	--text-color: black;
	--theme-color: #FB3099;
	--theme-color-weak: #e63092;
	--hover-color: #8D2974;
	--theme-gradient: linear-gradient(90deg, var(--theme-color), var(--hover-color));
	--theme-shadow: 0 0 .6em 0 rgba(0,0,0,.2);
	--odd-color: lightgrey;
	--box-bg-color : #FFFFFF;
	
	--base-width: 100rem;
	--medium-width: 80rem;
	--small-width: 70rem;
	
	--swiper-navigation-size: 3em;
	--swiper-pagination-color: var(--theme-color);
	--swiper-theme-color: white;
}

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

body.toggled
{
	overflow: hidden;
}

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

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

strong a
{
	text-decoration:underline;
}

.hidden
{
	display:none;
}


header
{
	position: sticky;
	left: 0;
	top: 0;
	right: 0;
	bottom: auto;
	z-index: 100;
	/*border-bottom: 1px solid rgba(0,0,0,.08);*/
	background-color: white;
}

header .wrapper
{
	position: relative;
	display:flex;
	justify-content: space-between;
	align-items: center;
	margin:auto;
	max-width:var(--base-width);
	padding:2em;
	gap:2em;
}

header .wrapper .language {
	position: absolute;
	display: flex;
	gap: .5em;
	top: 0;
	right: 2em;
}

header .wrapper .language a {
	color: black;
	outline: 1px solid black;
	text-transform: uppercase;
	padding: .2em 1em;
}

header .wrapper .language .active {
	outline: 1px solid var(--theme-color-weak);
	color: white;
	background-color: var(--theme-color-weak);
}

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

header .logo img
{
	display:block;
	width: 100%;
	max-width: 16em;
}

header nav
{
	display:flex;
	align-items: center;
	gap: 2em;
}

header nav a
{
	font-size: 1.25em;
	white-space: nowrap;
}

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

header nav a:last-child
{
	background: var(--theme-color-weak);
	padding:1em 1.5em;
	color: #f0f2f1;
	font-weight: bold;
	text-transform: uppercase;
	text-align: center;
	white-space: normal;
}

header .nav-toggle
{
	display: none;
	width: 2.25em;
	height: 2.25em;
	font-size: 2em;
	padding: .25em;
	align-items: center;
	justify-content: center;
	background: none;
	color: inherit;
	cursor: pointer;
	border: none;
	border-left: 1px solid rgba(0,0,0,.08);
	
}

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

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

main .group > .wrapper
{
	max-width:var(--base-width);
	margin:auto;
}

.group > .wrapper
{
	padding:6em 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 */




.box
{
	background-color: var(--box-bg-color);
	color:var(--text-color);
}

.box.gradient
{
	background: var(--theme-gradient)
}

.title h1
{
	font-size: 3.5em;
	text-align: center;
	color: var(--text-color);
}

.title + .title h1
{
	margin-top:-.65em;
}

.subtitle h2
{
	font-size: 1.7em;
	font-weight: bold;
	text-transform: uppercase;
	color: var(--text-color);
}



.typo 
{
	font-weight: 500;
	font-size: 1.25em;
	line-height: 1.2em;
}

.typo.medium
{
	font-size: 1.05em;
	line-height: 1.4em;
}


.typo.big 
{
	font-size: 1.25em;
}

.box > .wrapper > .group > .wrapper > .text:not(.fullwidth) > .wrapper
{
	max-width: var(--small-width);
	text-align:center;
	margin:auto;
}



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

.testimonials .wrapper
{
	margin:-.6em -.6em 0 -.6em;
}

.testimonials .swiper-slide
{
	height: auto;
}

.testimonials .item
{
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 1.5em;
	margin:.6em;
	box-shadow: var(--theme-shadow);
	background-color: #FFFFFF;
	min-height: 100%;
	box-sizing: border-box;
	font-size: 1.35em;
	text-align: center;
}

.testimonials .typo
{
	font-weight: 400;
}

.testimonials .swiper-pagination
{
	position: static;
	margin: 2em 0;
}

.testimonials .stars
{
	color:var(--theme-color);
	margin:1em 0;
}

.services .wrapper
{
	margin: auto;
	max-width: var(--medium-width);
}

.services .wrapper .item
{
	display: grid;
	grid-template-columns: minmax(0,0.8fr) minmax(0,0.5fr) minmax(0,0.5fr);
}

.services .wrapper .item.th div
{
	text-transform: uppercase;
	border-bottom: 2px solid var(--text-color);
	font-weight: bold;
	text-align: center;
}

.services .wrapper .item.th div:nth-child(2)
{
	color: #dd6454;
}

.services .wrapper .item div
{
	display: flex;
	align-items: center;
	justify-content: center;
	padding: .8em 0;
	font-size:1.5em;
	font-weight:bold;
}

.services .wrapper .item div:first-child
{
	justify-content: flex-start;
}

.services .wrapper .item.th img
{
	height:2em
}

.services .wrapper .item img
{
	height: 1.6em;
}




.team .wrapper
{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));;
	gap: 3em;
}

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

.team a
{
	display:block;
	font-size:1.6em;
}

.team .wrapper img
{
	width: 100%;
	display: block;
	aspect-ratio: .75;
	object-fit:cover;
}

.team .wrapper h3
{
	font-size: 2.4em;
	font-weight: 600;
	color: var(--theme-color);
	margin: .75em;
}

.team .wrapper .funktion
{
	font-size:1.6em;
	font-weight: bold;
	margin:1em 0;
}



.regionen .wrapper
{
	display: grid;
	grid-template-columns: 3fr 4fr;
	align-items: center;
	gap: 4em;
}

.regionen img
{
	width: 100%;
}

.regionen h1
{
	font-size: 3.4em;
}




.packages .wrapper
{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-auto-rows: 1fr;
	gap:2em;
}

.packages .item
{
	box-shadow: var(--theme-shadow);
}

.packages .item:first-child
{
	border-left: 0;
}

.packages h3
{
	color:white;
	background: var(--theme-gradient);
	text-align: center;
	text-transform: uppercase;
	font-size: 1.5em;
	padding: 1em 1.5em;
	margin: 0;
}

.packages .item > div
{
	padding: 1em 1.5em;

}

.packages h2
{
	font-weight: 600;
	font-size:2em;
	color:var(--hover-color);
}


.packages .item .typo
{
	text-align: center;
	padding: 1em 1em 0 1em;
}


.packages .nkButton
{
	display: block;
	margin: 0em auto 2em auto;
	font-size:1.4em;
} 

.packages .item ul
{
	list-style-type: none;
	padding-left: 0;
	font-size:1.1em;
}

.packages .item li 
{
	list-style: none;
	background: url('../images/check.png') no-repeat 0 0;
	background-size: 1.35em;
	padding-left: 2em;
	line-height: 1.4em;
	padding-bottom: .8em;
	overflow-wrap: break-word;
}

.steps.element
{
	margin:4em 0;
}

.steps .wrapper
{
	display: flex;
	gap: 4em 13%;
	flex-wrap: wrap;
	justify-content: center;
}

.steps .item
{
	max-width: 14.5em;
	border-left: .3em solid var(--theme-color);
	padding-left:1em;
	font-size:1.2em;
}

.steps .no
{
	display: block;
	color: var(--theme-color);
	font-weight: bold;
	font-size: 2em;
	line-height: 1em;
}

.steps .item > div:not(:last-child)
{
	padding: 0 0 1em 0;
}

.partner .wrapper
{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 2em;
}

.partner .item img
{
	display: block;
	width: 16em;
	height: 6em;
	object-fit: contain;
	object-position: center center;
}




.faq .wrapper
{
	display: grid;
	grid-template-columns: 3fr 4fr;
	gap: 4em;
}


.faq .wrapper .image img
{
	width: 100%;
}

.faq .questions
{
	font-size:1.2em;
	display:flex;
	flex-direction: column;
	justify-content: center;
	gap:2em;
}

.faq .questions .item
{
	border-left: .3em solid var(--theme-color);
	padding-left:1em;
}

.faq .questions h3
{
	cursor: pointer;
	margin: 0 2em 0 0;
	position: relative;
}

.faq .questions h3:before{
	position: absolute;
	right: -2em;
	content: '';
	background: url('../images/faq.png') no-repeat center center;
	background-size: cover;
	width: 1.2em;
	height: 1.2em;
	display: block;
	transition: .5s;
}

.faq .questions .item.toggled h3:before
{
	transform: rotate(90deg);
}

.faq .questions .item .typo
{
	display: none;
	padding-top: 1em;
}

.faq .questions .item.toggled .typo
{
	display: block;
}




.advantage .wrapper
{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));;
	gap: 2em;
}

.advantage .item
{
	background-position: top 4em center;
	background-repeat: no-repeat;
	background-size: 4em;
	text-align: center;
	padding: 8em 2em 2em 2em;
	box-shadow: var(--theme-shadow);
}

.advantage h3
{
	font-size: 1.7em;
}



.financeoptions .wrapper
{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 2em;
	--text-color: black;
	color: var(--text-color);
}

.financeoptions .item
{
	background: white;
	width: 32em;
	max-width: 100%;
	text-align: center;
}

.financeoptions .item h3
{
	color:white;
	background: black;
	text-align: center;
	font-size: 1.5em;
	padding: 1em 1.5em;
	margin: 0;
}

.financeoptions .item .links
{
	padding: 1em 2em 2em 2em;
	display: flex;
	flex-direction: column;
	gap: 1em;
	font-size: .85em;
	text-align: center;
}

.financeoptions .item .links a
{
	max-width: none;
}

.financeoptions .item .typo
{
	padding: 1em 2em 2em 2em;
}

.estate .person
{
	display:flex;
	gap:2em;
	align-items: center;
}

.estate .person .portrait
{
	width:30%;
	overflow:hidden;
	aspect-ratio:1;
	display:flex;
	align-items: center;
	border-radius: 50%;
	background-size: 105%;
	background-position: center -15px;
}

.estate .person .info
{
	display:flex;
	flex-direction:column;
	gap:.25em;
	font-size:1.15em;
}

.estate .person .info a
{
	display:block;
	font-weight: 300;
}

.estate .person .person-name
{
	font-weight: bold;
	text-decoration: none;
	line-height:1.1em;
	font-size:1.2em;
}

.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:0 0 1em #333;
	padding:2em;
}

.gallery .items
{
	display:grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));;
	gap:1.5em 2em;
}


.gallery .legend
{
	display:none;
}

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

.gallery .items a
{
	display:block;
}

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

.head
{
	
	background-size: auto 100%;
	background-position: right center;
	background-repeat: no-repeat;
	padding: 0 2em;
	position: relative;
}


.head .wrapper
{
	margin: auto;
	max-width: var(--base-width);
	min-height: 350px;
	display: flex;
	flex-direction: row;
}

.head .wrapper .col1
{
	width: 60%;
	padding: 3em 0;
}

.head .wrapper .col2 
{
	width: 40%;
	display: flex;
	flex-direction: row;
}

.head .wrapper .col2 img
{
	object-fit: cover;
	flex: 1 1 auto;
	width:100%;
	clip-path: polygon(25% 0%, 100% 0%, 100% 100%, 0% 100%);
}

.head .title-small
{
	font-weight: 500;
	font-size: 1.5em;
}

.head .wrapper h1
{
	font-size: 5em;
	line-height:1.1;
	margin: 1em 0 0 0;
}


.head .wrapper h2
{
	font-size: 2.25em;
	font-weight: 500;
	margin: 0 0 1em 0;
}

.head.normal
{
	background: var(--theme-gradient);
	color:white;
}

.head.intro::after
{
	content: "";
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	height:5em;
	z-index: 1;
	background: var(--theme-gradient);
	clip-path: polygon(100% 0, 0% 101%, 100% 101%);
}

.call2action
{
	background-color: #153228;
	background-size: cover;
	background-position: center center;
	padding: 2em;
}


.call2action .wrapper
{
	margin: auto;
	max-width: var(--base-width);
	min-height: 350px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
}

.call2action .wrapper h1
{
	color: #FFFFFF;
	font-size: 3.4em;
	max-width:20em;
}

.call2action .wrapper .links
{
	width: 100%;
	display: flex;
	gap: 1em;
	flex-wrap: wrap;
}






.call2action2
{
	background: var(--theme-gradient);
	padding: 4em 2em;
	color:white;
}


.call2action2 .wrapper
{
	margin: auto;
	max-width: var(--base-width);
	display: grid;
	grid-template-columns: 1fr 0.5fr;
	gap: 4em;
	align-items: center;
}

.call2action2 .wrapper h1
{
	font-size: 3.1em;
	margin-top:0;
}

.call2action2 .wrapper p
{
	margin-bottom: 0;;
}

.call2action2 .wrapper .links
{
	width: 100%;
	display: flex;
	gap: 1em;
	flex-direction: column;
	justify-content: center;
	align-self: center;
	justify-self: end;
}

.call2action2 .wrapper .small-text
{
	text-align: center;
	font-size: 0.9em;
}



.nkButton,
button
{
	font:inherit;
	display: inline-block;
	width: 100%;
	max-width: 21em;
	padding: .75em 1.5em;
	border:3px solid white;
	text-decoration: none;
	text-transform: uppercase;
	font-size: 1.5em;
	font-weight: 500;
	box-sizing: border-box;
	color: white;
	cursor:pointer;
	text-align: center;
}

.nkButton:hover,
button:hover:not(.nav-toggle)
{
	text-decoration: underline;
	cursor: pointer;
}

button.primary,
.nkButton.primary,
.nkButton.primary.blank
{
	color:white;
	background: var(--theme-color-weak);
	border-color: var(--theme-color-weak);
}

.box.gradient button.primary,
.call2action2 .nkButton.primary.blank,
.head.normal .nkButton.primary,
.estate.detail button.primary
{
	color:white;
	background: black;
	border-color: black;
}

.head.intro .nkButton,
.financeoptions .nkButton,
.cookie-info button#decline
{
	color:black;
	border-color: black;
	width: auto;
}

button.primary
{
	width: auto;
	padding:.5em 1.5em;
}

.estate.list .items
{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));;
	gap:2em;
}

.estate.list .items > a
{
	display:flex;
	flex-direction: column;
}

.estate.list .items > a.filtered
{
	display:none;
}

.estate.list .filters
{
	display:flex;
	flex-wrap:wrap;
	gap:1em;
	margin:-1em 0 3em;
	justify-content: center;
}

.estate.list .tile
{
	background:white;
	overflow:hidden;
	display:flex;
	flex-direction: column;
	flex: 1 1 auto;
	box-shadow: var(--theme-shadow);
	transition: box-shadow .5s, transform .5s;
}

.estate.list .tile:hover
{
	box-shadow: 0 0 1.2em 0 rgba(0,0,0,.2);
	transform: translate3d(0,-6px,0.01px);
}

.estate.list .top
{
	position:relative;
	aspect-ratio: 4 / 3;
	background:#f0f2f1;
	overflow:hidden;
}

.estate.list .bottom
{
	padding:1.8em 2em;
	flex: 1 1 auto;
	display:flex;
	flex-direction: column;
}

.estate.list .tile .price
{
	color: var(--theme-color);
	font-size: 2.5em;
	font-weight: 600;
	overflow-wrap: break-word;
}

.estate.list .tile h2
{
	color: rgb(34, 34, 35);
	font-weight: 500;
	font-size: 1.6em;
	overflow-wrap: break-word;
}

.estate.list .status
{
	position:absolute;
	top:0;
	right:0;
	padding: 0.75em 1.75em;
	background-image: linear-gradient(90deg,#FC49A5, #8D2974);
	color: white;
	text-transform: uppercase;
	font-weight: bold;
}

.estate.list .tile .location
{
	display:flex;
	gap:.5em;
	color: #153228;
	font-size: 1.4em;
	font-weight: normal;
	flex:1 1 auto;
}

.estate.list .tile img
{
	width:100%;
	aspect-ratio: 4 / 3;
	object-fit:cover;
	transform: translate3d(0px, 0px, 0px) scale3d(1, 1, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg, 0deg);
	transform-style: preserve-3d;
	transition:transform .5s;
}

.estate.list .tile:hover img
{
	transform: translate3d(0px, 0px, 0px) scale3d(1.05, 1.05, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg, 0deg);
}

.estate.list.references .tile .price
{
	margin-bottom:.5em;
}

.estate.list .empty.show
{
	display:block;
	text-align:center;
}

.estate .divider
{
	width: 100%;
	min-height: 1px;
	margin-top: 2.5em;
	margin-bottom: 2.5em;
	background-color: #C6C6C6;
}

.estate .facts
{
	display:flex;
	flex-wrap: wrap;
	gap: .5em .75em;
}

.estate .fact
{
	display: flex;
	padding: .5em .75em;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	border: 1px solid black;
	color: black;
	font-size: 1.35em;
	line-height: 1.143em;
	text-align: center;
	gap:.5em;
}

.estate.detail .price-label,
.estate.detail .financing-label
{
	font-weight: normal;
	font-size: 1.75em;
}

.estate.detail .price-value
{
	font-size: 2.5em;
	font-weight: 600;
	margin:1em 0;
}

.estate.detail .financing-price
{
	font-size: 2em;
	font-weight: 600;
	margin: 1em 0;
}

.estate.detail .financing-text
{
	font-weight: normal;
	font-size: 1em;
}

.estate.detail .header
{
	position:relative;
}

.estate.detail .header img
{
	display:block;
	width:100%;
	height:600px;
	object-fit:cover;
}

.estate.detail .body .location
{
	font-size: 1.75em;
}

.estate.detail .body h1
{
	font-size: 3.5em;
	line-height: 1.1em;
	font-weight: 700;
	color: var(--theme-color);
	margin:.7em 0;
}

.estate.detail h2
{
	font-size:1.7em;
}

.estate.detail .form-label
{
	font-weight: 500;
}

.estate.detail .body .fact
{
	background:none;
}

.estate.detail .black
{
	--text-color:white;
	background: black;
	scroll-margin-top:var(--header-height);
}

.estate.detail .buttons
{
	position:absolute;
	bottom:0;
	left:0;
	right:0;
}

.estate.detail .buttons .gallery-button
{
	display: flex;
	text-transform: uppercase;
	gap:.5em;
	align-items:center;
	justify-content:center;
	max-width: 14em;
	padding: .75em 1.5em;
	background-color: #fff;
	box-shadow: 0 2px 12px 0 rgba(20,20,43,.07);
	transform: scale3d(1,1,1.01);
	transition: box-shadow .3s,transform .3s,color .3s,background-color .3s;
	line-height: 1.111em;
	font-weight: 500;
	transform-style: preserve-3d;
	box-sizing: border-box;
	transition:all .5s;
	background-color: var(--theme-color-weak);
	color:white;
	font-size: 1.6em;
}

.estate.detail .buttons .gallery-button:hover
{
	box-shadow: 0 0 0 0 rgba(20,20,43,.07);
	transform: scale3d(.95,.95,1.01);
	color: #fff;
}

.estate.detail .split-content
{
	display:grid;
	grid-template-columns: 3fr 2fr;
	gap:4em;
}

.estate.detail .split-content .inner
{
	position:relative;
	background:var(--theme-gradient);
	color:white;
	z-index:1;
	padding:3em;
	box-shadow: 0 3px 20px 0 rgba(8,15,52,.06);
}

.estate.detail.hasImage .split-content .inner
{
	margin-top:-16em;
}

input,
select
{
	margin:0;
}

select,
input[type=text],
input[type=email],
input[type=tel],
textarea
{
	font:inherit;
	display: block;
	width: 100%;
	border: 1px solid black;
	padding:.5em 1em;
	box-sizing: border-box;
	font-weight: 500;
	border-radius: 0;
	color:black;
}

select
{
	appearance:none;
	background-color: white;
	background-image:
		linear-gradient(45deg, transparent 50%, gray 50%),
		linear-gradient(135deg, gray 50%, transparent 50%);
	background-position:
		calc(100% - 1em) calc(1em + 3px),
		calc(100% - 1em + 6px) calc(1em + 3px);
	background-size:
		6px 6px,
		6px 6px;
	background-repeat: no-repeat;
	padding-right:2.5em;
}

input[name=Email_Address]{display:none !important;}

label a
{
	text-decoration: underline;
}

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

.contact .form-button
{
	display:flex;
	gap:1em;
	align-items: center;
}

.contact .form-label
{
	display: block;
	padding-bottom: 0.5em;
	font-size: 1.15em;
	font-weight: bold;
	text-align: left;
}

.contact .form-warning
{
	background:white;
	color:red;
	margin-bottom: .25em;
	padding:.25em .1em;
}

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

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

.contact .selectables > *
{
	display:flex;
	align-items: center;
	width:100%;
	gap:.5em;
}

.contact .selectables.privacy > *
{
	font-size:.9em;
}

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

.contact .form-split-4-3 {
	grid-template-columns:4fr 3fr;
}

.contact .form-split-50
{
	grid-template-columns:1fr 1fr;
}

.contact.element .items
{
	display:grid;
	grid-template-columns: 3fr 2.2fr;
}

.contact.element .form,
.contact.element .info
{
	padding: 3em 2em;
}

.contact.element .info
{
	color:white;
	background: var(--theme-gradient);
}

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

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

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

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

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

.slider-input .noUi-connect
{
	background: linear-gradient(297deg,#c93767,#ef8c43);
}

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

.subscription .wrapper
{
	max-width: var(--medium-width);
	margin:auto;
}

.subscription .split-content
{
	display:grid;
	grid-template-columns: 1fr 1fr;
	gap:8em;
}

.migrosbank .wrapper
{
	margin:auto;
	max-width:45em;
}

.migrosbank .toggled
{
	display:block;
	padding-left:1.5em;
	font-size:14px;
	line-height: 20px;
}

.migrosbank [data-toggle]
{
	width:100%;
	display:flex;
	gap:1em;
	align-items:center;
	justify-content:space-between;
	cursor:pointer;
}

.migrosbank [data-toggle]::after
{
	font: var(--fa-font-solid);
	content:"\2b";
}

.migrosbank [data-toggle].active::after
{
	font: var(--fa-font-solid);
	content:"\f068";
}

/* */




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

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

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



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

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


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



footer
{
	background: black;
	color: white;
}

footer .wrapper
{
	margin: auto;
	padding: 6em 2em;
	max-width: var(--base-width);
}

footer .wrapper > *
{
	font-size:1.1em;
}

footer .row
{
	margin:4em 0;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	grid-gap: 2em;
}

footer .row-stretch
{
	display:flex;
	justify-content: space-between;
	border-top:1px solid white;
	padding-top:2em;
	align-items: center;
	gap:1em;
}

html[lang=fr] footer .row .address-de
{
	order: 1;
}

footer h5
{
	font-size: 1em;
	font-weight: 500;
	color: var(--theme-color);
	margin: 0 0 1em 0 ;
}


footer h5 img
{
	height: 25px;
}

footer nav,
footer .kontakt
{
	display:flex;
	align-items: center;
	gap: .5em;
	flex-direction: column;
	justify-content: flex-start;
	 align-items: flex-start;
}

footer i
{
	font-size:2em;
}

footer nav a:hover
{
	text-decoration: underline;
}

.cookie-info
{
	background:white;
	position: sticky;
	bottom: 0;
	width: 100%;
	flex-direction: column;
	flex-wrap: wrap;
	align-items: stretch;
	z-index: 100;
	box-shadow: 0 0 5px 3px rgba(0,0,0,.05);
}

.cookie-info .wrapper
{
	max-width: var(--base-width);
	margin:auto;
	padding: 1.5em 2em;
}

.cookie-info .nkButton
{
	width:auto;
}

.cookie-info #decline
{
	background:white;
}

.cookie-info .items
{
	display:flex;
	flex-wrap: wrap;
	gap:1em;
	align-items:center;
	justify-content: space-between;
}

.cookie-info .button-group
{
	display:flex;
	flex-wrap: wrap;
	gap:1em;
	font-size: .9em;
}

.cookie-info a
{
	text-decoration: underline;
}

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

a.tour
{
	display:inline-block;
	margin-top:.5em;
	text-decoration: underline;
}

@media(max-width:1000px)
{
	:root
	{
		font-size: 13px;
	}
	
	header nav
	{
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		position: fixed;
		left: 0;
		top: calc(var(--header-height) + 1px);
		right: 0;
		bottom: 0;
		z-index: 100;
		background: white;
		padding-bottom: var(--header-height);
		transform: translateX(120%);
		transition: transform .5s linear .25s;
		padding: 2em;
		overflow:auto;
	}
	
	header .items
	{
		width: 100%;
	}
	
	header .nav-toggle
	{
		display: flex;
	}
	
	.toggled header nav
	{
		transform: translateX(0%);
	}
	
	header nav a
	{
		font-size: 2em;
		position: relative;
	}
	
	header nav a:last-child
	{
		font-size:1.5em;
	}
	
	.packages .wrapper
	{
		grid-template-columns: minmax(0,1fr);
		gap: 2em;
		grid-auto-rows: auto;
		
	}
	
	.call2action2 .wrapper
	{
		grid-template-columns: 1fr;
	}
	
	.call2action2 .wrapper h1,
	.call2action2 .wrapper .typo
	{
		text-align: center;
	}
	
	.call2action2 .wrapper .links
	{
		align-items: center;
		justify-self: center;
	}
	
	footer .row
	{
		grid-template-columns: 1fr 1fr;
	}
	
	.estate.list .items
	{
		grid-template-columns:1fr 1fr;
	}
	
	.estate.detail .split-content
	{
		grid-template-columns:1fr;
	}
	
	.estate.detail.hasImage .split-content .inner
	{
		margin-top:0;
	}
}


@media(max-width:700px)
{
	:root
	{
		font-size: 12px;
	}
	
	header .logo img
	{
		max-width: 12em;
	}
	
	
	.head .wrapper .col1
	{
		width: 100%;
	}
	
	.head .wrapper .col2 
	{
		display: none;
	}
	
	.head .wrapper h1
	{
		margin-top:0;
		font-size: 3.5em;
	}
	
	.regionen h1,
	.title h1
	{
		font-size: 2.5em;
		overflow-wrap: break-word;
	}
	
	.estate.detail .body h1,
	.call2action .wrapper h1,
	.call2action2 .wrapper h1
	{
		font-size: 2.25em;
	}
	
	.team .wrapper
	{
		grid-template-columns: 1fr 1fr;
	}
	
	.regionen .wrapper,
	.faq .wrapper,
	.advantage .wrapper,
	footer .wrapper 
	{
		grid-template-columns: 1fr;
	}
	
	.estate.list .items
	{
		grid-template-columns:minmax(0,1fr);
	}
	
	.gallery .items
	{
		grid-template-columns:1fr 1fr;
	}
	
	.contact.element .items
	{
		grid-template-columns:1fr;
	}
	
	.subscription .split-content
	{
		grid-template-columns:1fr;
		gap:1em;
	}
	
	footer .row
	{
		grid-template-columns: 1fr;
	}
	
	footer .row-stretch
	{
		flex-direction: column;
		align-items: flex-start;
	}
}

@media(max-width:600px) {
	.contact .form-split-4-3 {
		display: block;
	}
}

@media(max-width:460px)
{
	.services .wrapper .item div
	{
		border-bottom: 1px solid white;
		font-size: 1em;
	}

	
	.services .wrapper .item.th div span
	{
		font-size: .8em;
		transform: rotate(-60deg);
		padding-top: 40px;
		padding-bottom: 30px;
	}
	
	.team .wrapper
	{
		grid-template-columns: 1fr;
	}
	
	.estate.detail .header img
	{
		height:300px;
	}
	
	.estate .person
	{
		flex-direction: column;
	}
	
	.estate.detail .split-content .inner
	{
		padding: 2em 1.5em;
	}
	
	.partner .item img
	{
		width:8em;
	}
}

@media (orientation: portrait)
{
	.head
	{
		background-position: center center;
	}
}