/* urbanist-regular - latin */
@font-face {
  font-display: swap; 
  font-family: 'Urbanist';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/urbanist-v17-latin-regular.woff2') format('woff2'); 
}
/* urbanist-700 - latin */
@font-face {
  font-display: swap;
  font-family: 'Urbanist';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/urbanist-v17-latin-700.woff2') format('woff2'); 
}
/* montserrat-regular - latin */
@font-face {
  font-display: swap; 
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/montserrat-v30-latin-regular.woff2') format('woff2'); 
}
/* montserrat-700 - latin */
@font-face {
  font-display: swap; 
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/montserrat-v30-latin-700.woff2') format('woff2'); 
}
* {
	box-sizing: border-box;
}
:root{
	--c-darkgrey: #42515a;
	--c-midgrey: #606a71;
	--c-lightgrey: #8a9297;
	--c-darkbrown: #775941;
	--c-lightbrown: #a27a65;
	--c-lightbrown: #a8856f;
}
html {
	margin: 0;
	font-family: 'Urbanist', sans-serif;
	font-size: 1rem;
}

body {
	margin: 0;
	position: relative;
	z-index: 2;
	background-color: #fff;
	color: #3C3C3C;
	line-height: 1.44;
	overflow-x: hidden;
}

body>div {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}
main{
	flex-grow: 1; 
}

ul {
	margin-bottom: 1em;
}

ul.nodeko {
	list-style-type: none;
}


a {
	transition: all 0.3s ease;
	text-decoration: none;
	color: var(--c-darkbrown);
}

a:hover {
	text-decoration: underline;
	color: var(--c-lightbrown);
}

p {
	margin-top: 0;
}

hr {
	border-bottom: 0.12em solid #3c3c3b;
	margin: 1em 0;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Montserrat', sans-serif;
	margin-top: 1em; 
	margin-bottom: 0.5em; 	
	line-height: 1.2;
	font-weight: 400; 

}

h1 {
	font-size: 2em;
}

h2 {
	font-size: 1.8em;
}

h3 {
	font-size: 1.6em;
}

h4 {
	font-size: 1.4em;
}

h5 {
	font-size: 1.2em;
}

h6 {
	font-size: 1.1em;
}

h1>strong,
h2>strong{
	display: block; 
	font-size:larger; 
	font-weight: 700; 
}



nav {
	position: sticky;
	width: 100%;
	z-index: 10;
	top: 0;
	background-color: white;	
	transition: all 0.3s ease;
	
	&>div{
		display: flex; 
	}
	
	&.fixed{
		box-shadow:0px 3px 6px #0003;
	}

	&>div {
		display: flex;
		width: 100%;
		justify-content: space-between;
		align-items: center;
		gap: 2em; 
	}
	
	& button {
		display: none;
		flex-direction: column;
		background-color: transparent;
		border: none;
		padding: 9px 7px;
		cursor: pointer;
		border: 1px solid #3c3c3b;
		border-radius: 100%;
		margin: 1em;
	}

	& button span {
		width: 22px;
		height: 2px;
		margin: 2px 0;
		background-color: var(--c-darkbrown);
		transition: all 0.3s ease;
		position: relative;
	}

	& button span:nth-child(2):after {
		content: "";
		height: 100%;
		width: 100%;
		position: absolute;
		border: 1px solid var(--c-darkbrown);
		transition: all 0.3s ease;
		left: 0;
	}

	& button.open span:nth-child(2):after {
		transform: rotate(-90deg);
	}

	& button.open span:nth-child(2) {
		transform: rotate(45deg);
	}

	& button.open span:nth-child(1), 
	& button.open span:nth-child(3) {
		transform: scaleX(0);
		opacity: 0;
	}
	& .logos {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin: 1.5em 0 1.5em;
		flex-shrink: 0;
	}

	& .logos img {
		transition: all 0.3s ease;
		width: min(15vw,250px);
		display: block;
	}


}

.navbar {
	display: flex;
	list-style-type: none;
	flex-direction: row;
	margin: 0;
	padding: 0;
	

	& a {
		text-decoration: none;
		text-transform: uppercase;
		text-transform: none;
		font-weight: 400;
		padding-top: 0.9em;
		padding-bottom: 0.6em;
		display: block;
		color: var(--c-darkgrey);
		margin-inline: 0.6em;
		position: relative;
		text-align: center; 
	}

	& a:before {
		content: "";
		position: absolute;
		background-color: var(--c-darkbrown);
		width: 0;
		height: 1px;
		bottom: 0;
		left: 0;
		transition: all 0.3s ease;
	}

	& li.active>a:before, 
	& a:hover:before {
		width: 100%;
	}	
		
}


img {
	max-width: 100%;
	height: auto;
}

section {
}

section:empty {
	display: none;
}

.highintro {
	display: flex;
	margin-top: 12vw;
	margin-bottom: 6vw;
	position: relative;
}

.highintro .images {
	width: 56vw;
	/* border: 1px solid red; */
	position: relative;
}

.highintro .images>img {
	display: block;
}

.highintro .images>img:first-child {
	width: 38%;
	position: absolute;
	left: 8.39%;
	top: 41.6%;
	box-shadow: 0 6px 10px rgb(0 0 0 / 38%);
	z-index: 2;
}

.highintro .images>img:last-child {
	width: 53.57%;
	margin-right: 8.92%;
	margin-left: auto;
	margin-bottom: 20%;
	box-shadow: 0 6px 10px rgb(0 0 0 / 62%);
}

.highintro .text {
	width: 27vw;
	/* border: 1px solid red; */
}

.highintro .text>div {
	width: 100%;
	border-left: 0.12em solid #3C3C3B;
	padding-left: 3.2vw;
}

.highintro .dekoA {
	z-index: -1;
	width: 29vw;
	height: 30vw;
	position: absolute;
	right: -11vw;
	top: -5vw;
	background-image: url('../images/deko1.svg');
	background-size: contain;
	background-position: center center;
	transform: rotate(0deg);
	background-repeat: no-repeat;
	/* border: 1px solid red; */
}

.highintro .dekoB {
	z-index: -1;
	width: 43vw;
	height: 15vw;
	position: absolute;
	left: -10vw;
	top: -22vw;
	background-image: url('../images/deko2.svg');
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	/* border: 1px solid red; */
}

.lowintro {
	display: flex;
	margin-top: 15vw;
	margin-bottom: 5vw;
	position: relative;
	align-items: center;
}

.lowintro .images {
	width: 46vw;
	flex-grow: 1;
	position: relative;
	margin-left: 5vw;
}

.lowintro .images>img {
	display: block;
}

.lowintro .images>img:first-child {
	width: 56.5%;
	margin-right: 10.87%;
	margin-left: 0;
	box-shadow: 0 3px 6px rgb(0 0 0 / 55%);
}

.lowintro .images>img:last-child {
	width: 85.869%;
	position: absolute;
	top: -36vw;
	right: 0;
	z-index: -1;
	box-shadow: 0 6px 10px rgb(0 0 0 / 55%);
}

.lowintro .text {
	width: 48vw;
	/* border: 1px solid red; */
	text-align: right;
	position: relative;
	display: flex;
	justify-content: flex-end;
}

.lowintro .text hr {
	border: none;
	border-bottom: 0.12em solid #3C3C3B;
	position: absolute;
	width: 100%;
	right: 0;
	margin-top: -2.2em;
}

.lowintro .text h2 {
	margin-bottom: 1.33em;
}

.lowintro .text>div {
	width: 75%;
}

.lowintro .dekoB {
	z-index: -2;
	width: 43vw;
	height: 15vw;
	position: absolute;
	left: -10vw;
	top: -18vw;
	background-image: url('../images/deko2.svg');
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	/* border: 1px solid red; */
}

.rightimg {
	display: flex;
	margin-top: 5vw;
	margin-bottom: 5vw;
	position: relative;
	align-items: center;
}

.rightimg .images {
	width: 46vw;
	flex-grow: 1;
	position: relative;
	margin-left: 5vw;
}

.rightimg .images>img {
	display: block;
}

.rightimg .images>img:first-child {
	width: 56.5%;
	margin-right: 10.87%;
	margin-left: 0;
	box-shadow: 0 3px 6px rgb(0 0 0 / 55%);
}

.rightimg .text {
	width: 48vw;
	/* border: 1px solid red; */
	text-align: right;
	position: relative;
	display: flex;
	justify-content: flex-end;
}

.rightimg .text hr {
	border: none;
	border-bottom: 0.12em solid #3C3C3B;
	position: absolute;
	width: 100%;
	right: 0;
	margin-top: -2.2em;
}

.rightimg .text h2 {
	margin-bottom: 1.33em;
}

.rightimg .text>div {
	width: 75%;
}

.rightimg .dekoB {
	z-index: -2;
	width: 43vw;
	height: 15vw;
	position: absolute;
	left: -10vw;
	top: -18vw;
	background-image: url('../images/deko2.svg');
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	/* border: 1px solid red; */
}

.rightimg .extmap {
	width: 33vw;
	box-shadow: 0 6px 10px #0003;
}

.gutberaten {
	display: flex;
	margin-top: 5vw;
	margin-bottom: 6vw;
	position: relative;
	background-color: #3C3C3B;
	color: white;
	align-items: flex-end;
	padding-top: 6vw;
	padding-bottom: 8vw;
	overflow: hidden;
}

.gutberaten a {
	color: white;
}

.gutberaten .images {
	width: 50vw;
	/* border: 1px solid red; */
	position: relative;
}

.gutberaten .images>img {
	display: block;
}

.gutberaten .images>.img1 {
	width: 32.4%;
	position: absolute;
	right: 18.2%;
	top: 16.5vw;
	box-shadow: 0 10px 15px rgb(0 0 0 / 73%);
	z-index: 5;
}

.gutberaten .images>.img2 {
	width: 50%;
	margin-right: 25%;
	margin-left: auto;
	margin-bottom: 3vw;
	box-shadow: 0 10px 15px rgb(0 0 0 / 73%);
	z-index: 2;
	position: relative;
}

.gutberaten .text {
	width: 50vw;
	/* border: 1px solid red; */
}

.gutberaten .text>div {
	width: 62%;
	padding-left: 3.2vw;
}

.gutberaten .dekoC {
	z-index: 0;
	width: 52vw;
	height: 51vw;
	position: absolute;
	right: -17vw;
	bottom: -16vw;
	background-image: url('../images/deko3.svg');
	background-size: contain;
	background-position: center center;
	transform: rotate(0deg);
	background-repeat: no-repeat;
	/* border: 1px solid red; */
}

.gutberaten .dekoD {
	z-index: 0;
	width: 52vw;
	height: 51vw;
	position: absolute;
	top: -25vw;
	left: -8vw;
	background-image: url('../images/deko4.svg');
	background-size: contain;
	background-position: center center;
	transform: rotate(0deg);
	background-repeat: no-repeat;
	/* border: 1px solid red; */
}

.gutberaten .text hr {
	border: none;
	border-bottom: 0.12em solid #ffffff;
	width: 100%;
	position: relative;
	top: -1.5em;
}

.gutberaten .text hr.fullwidth {
	width: 100vw;
}

.gutberaten .text h2 {
	margin-bottom: 1.33em;
}

.verver {
	display: flex;
	margin-top: 5vw;
	margin-bottom: 9vw;
	position: relative;
	align-items: flex-end;
	overflow: hidden;
}

.verver .images {
	width: 50vw;
	/* border: 1px solid red; */
	position: relative;
}

.verver .images>img {
	display: block;
	box-shadow: 0 6px 10px rgb(0 0 0 / 16%);
	width: 96%;
}

.verver .text {
	width: 50vw;
	/* border: 1px solid red; */
	padding-left: 3.8vw;
}

.verver .text>img {
	width: 46%;
	display: block;
	position: relative;
	margin-left: -0.2vw;
	box-shadow: 0 6px 10px rgb(0 0 0 / 16%);
}

.verver .text>div {
	width: 62%;
	border-left: 0.12em solid #3C3C3B;
	padding-left: 3.2vw;
	padding-top: 6.5vw;
	padding-bottom: 5.5vw;
}

.verver .text hr {
	border: none;
	border-bottom: 0.12em solid #ffffff;
	width: 100%;
	position: relative;
	top: -1.5em;
}

.verver .text h2 {
}

.breadcrumbs {
	margin-bottom: 5vw;
}

.breadcrumbs .bgholder {
	height: 46vw;
	background-size: cover;
	background-position: center center;
	position: relative;
}
@media (min-aspect-ratio: 8/5) {
	.breadcrumbs .bgholder {
		height: calc(100vh - 10.3vw - 5.5em);
		min-height: 10em;
	}
}

.contactform{
	padding: 0 4em 4em 4em;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	
}
.contactform>div{
	max-width: 700px; 
	padding: 2em; 
	border: 1px solid var(--c-darkbrown);
	background-color: #f0f0f0;
	box-shadow: 0 6px 10px #0003;
}
.contactform .input_row{
	margin-bottom: 1em; 	
}
.contactform .error_frame,
.contactform .input_error{
	color: #d00; 	
}


.contactform .input_row>span{
	width: 100%;
	margin-right: 25px;
	display: block;
}

.contactform .input_row input[type="text"]{
	font-size: 1.125em;
	padding: 0.5em;
	border: 1px solid #3C3C3B;
	max-width: 450px;
	width: 100%;
	font-family: 'Josefin Sans', sans-serif;
}
.contactform .input_row input[type="text"]:focus{
	border: 1px solid var(--c-darkbrown);
	outline: none; 
}

.contactform input[type="submit"]{
	font-size: 1.1em;
	padding: 0.75em 0.5em 0.5em;
	border: 1px  solid var(--c-darkbrown);
	background-color: white; 
	border-radius: 50px; 
	cursor:pointer; 
	transition: all 0.3s ease; 
	font-family: 'Josefin Sans', sans-serif;
}
.contactform input[type="submit"]:hover{
	background-color: var(--c-darkbrown); 
	color: white; 
}


.btn {
	background-color: var(--c-darkbrown);
	color: white;
	padding: 0.5em 1em 0.35em;
	display: inline-block;
	background:linear-gradient(90deg, var(--c-lightbrown) 50%, var(--c-darkbrown) 50% );
	transition: all 0.3s ease; 
	background-size: 200% 100%; 
	background-position: 100%; 
	text-wrap:balance;
}

.btn:hover {
	background-color: white;
	background-color: var(--c-lightbrown);
	text-decoration: none;
	color: white;
	background-position: 0%; 
}

.extwrapper {
	position: relative;
	width: 100%;
	margin: 1.5em 0;
	border: 1px solid var(--c-darkbrown);
}

.extwrapper.square {
	max-width: 560px;
}

.extwrapper>div {
	position: relative;
	width: 100%;
	padding-top: 100%;
	top: 0;
}

.extwrapper.square>div {
	padding-top: 100%;
}

.extcontent {
	position: absolute;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
}

.extpreview {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.extpreview img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: bottom center;
}

.extactivate {
	position: absolute;
	top: 0;
	overflow: auto;
	height: 100%;
	padding: 1em;
	display: flex;
	flex-direction: column;
	max-width: 100%;
}

.extactivate a.btn {
	height: auto;
	margin-top: 0;
	border: 1px solid var(--c-darkbrown);
	background-color: white;
	margin-bottom: 1em;
	padding: 0.75em 0.5em 0.5em;
	font-size: 1.1em;
	cursor: pointer;
	line-height: 1em;
	color: #3c3c3b;
}

.extactivate a.btn:hover {
	border: 1px solid var(--c-darkbrown)!important;
	background-color: var(--c-darkbrown);
	color: white;
	text-decoration: none;
}

.extactivate>div {
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	flex-grow: 1;
}

.extactivate span {
	text-align: center;
	text-shadow: 0 0 15px white, 0 0 10px white, 0 0 5px white;
	max-width: 100%;
}


@media (62em < width) {
	.navbar {
		display: flex!important;
		align-items: stretch;
	}
}

@media (max-width: 62em) {
	.navbar {
		display: none;
		position: absolute;
		width: 100%;
		top: 100%;
		background-color: var(--c-darkgrey);
		margin: 0;
		left: 0;
		align-items: center;
		justify-content: flex-start;
		padding: 10px;
		border-top: 1px solid var(--c-darkgrey);
		box-shadow: 0px 4px 12px #0004;
		max-height: calc(100vh - 120px);
		overflow-y: auto;
	}

	.navbar li {
		text-align: center;
	}

	.navbar li a {
		padding: 8px 0 5px;
		margin-bottom: 5px;
		color: white;
		font-size: 1em;
	}

	.navbar li a:after, .navbar li a:before {
		content: none;
	}

	.navbar li a:hover, .navbar li a.active, .navbar li.active>a {
		color: var(--c-lightgrey);
	}

	nav button {
		display: flex;
	}

	nav .logos img {
		width: 166px;
	}

	nav .logos {
		margin: 1.5em 1em!important;
	}

}





@media print {
	.pagebreak {
		clear: both;
		page-break-after: always;
	}

	.breadcrumbs,nav,footer {
		display: none;
	}
	
}


.textimg{
	display: grid; 
	grid-template-columns: 1fr 1fr; 
	gap: 4em; 
	margin: 6em 0; 
	position: relative; 	
	
	& .img-holder{
		background-color: var(--c-darkgrey);
		background-color: white;
		position: relative;
		min-height: 28em;
		margin-left: 1em;
		
		
		& img{
			object-fit: cover;
			object-position: center center;
			position: absolute;
			/* inset: 0; */
			width: 100%;
			height: 100%;
		}	
	}
	& .img-holder:before{
		content: ""; 
		position: absolute; 
		left: 0; 
		bottom: 0; 
		border: 5em solid transparent;
		border-bottom-color: white; 
		border-left-color: white; 
		z-index:1;
	}
	& .img-holder:after{
		content: "";
		position: absolute;
		z-index:  -1;
		background-color: var(--c-darkbrown);
		background-color: #775941;
		inset: -1em 1em -1em -1em;
	}
	
	@media(max-width: 62em){
		display: flex; 
		flex-direction: column; 
		
		
		& .img-holder{
			width: calc(100% - 2em); 
			aspect-ratio: 1; 
			min-height: unset; 
		}
	}
	@media(max-width: 48em){
		& .img-holder:before{
			border-width: 15vw;
		}
	}
	@media(max-width: 30em){
		& .img-holder{
			margin-left: 1em;
			width: calc(100% - 1em); 
		}
		& .img-holder:after{
			inset: -1em 1em -1em -1em;
		}
	}
}

.iconteaser{
	display: grid; 
	grid-template-columns: 1fr 1fr 1fr 1fr; 
	grid-template-rows: auto auto auto;
	gap: 0.5em 4em; 
	margin: 4em 0; 
	text-align: center; 
	
	& .item{
		display:grid; 
		grid-template-rows: subgrid; 
		grid-row: span 3; 
	}
	
	& .item>a{
		align-self: center; 
	}
	& .item>a:hover{
		text-decoration: none;  
	}
	
	& img{
		width: 100px; 
		margin-inline: auto; 
	}
	@media(max-width: 62em){
		grid-template-columns: 1fr 1fr; 
	}
	@media(max-width: 30em){
		grid-template-columns: 1fr; 
	}
}

.iconserv{
	display: grid; 
	grid-template-columns: 3fr 1fr 1fr 3fr;
	gap: 2em 2em;
	margin: 2em 0em 6em 0em;
	
	& .item{
		display:flex; 
		flex-direction: column; 
		position: relative;
		background-color: white; 
		padding: 0.5em 0 1em 2em; 
		
		border: 1em solid var(--c-darkbrown); 
		border-right: none; 
		
		&.itemmedium{
			grid-column: span 3;
		}
		&.itemhalf{
			grid-column: span 2;
		}
		&.itemwide{
			grid-column: 1/-1;
		}
	}
	&.iconserv3{
		grid-template-columns: 1fr 1fr 1fr;
		

	}
	& img{
		width: 100px; 
		margin-inline: auto; 
	}

	& .twocols{
		display: grid;
		grid-template-columns: 3fr 2fr;
		gap: 2em;
	}
	
	& h3{
		display: flex;
		gap: 0.5em;
		align-items: end;
		text-wrap: balance;
		hyphens: auto; 
		margin-top: 0.75em; 
		
		&>:first-child{
			font-size: 2em; 			
			line-height: 0.9;
		}
		&>:last-child{
			line-height: 1.1em;
		}
	}
	
	@media(max-width: 62rem){
		display: flex; 
		flex-direction: column; 	
		gap: 1em;
		
		& .twocols {
			display: flex;
			flex-direction: column; 
			gap: 0; 
		}
	}
	@media(max-width: 30rem){
		margin: 2em 0 3em;

		& .item{ 
			padding: 0.5em 1em 0 1em; 
		}		
		
	}

}


footer {
	position: relative;
	background-color: var(--c-darkgrey);
	color: #fff;

	
}

footer>div {
	gap: 2em;
	align-items: end;
	padding-block: 2em;
	display: flex;
	justify-content: space-between;

	& .logo {
		flex-basis: 25%; 
	
		& img{
			margin-bottom: 0.25em;
			width: 100%;
			max-width: 300px;
			filter: brightness(0) invert(1);
		}
	}
	
	p:last-child{
		margin-bottom: 0; 
	}
	
	a{
		color: white; 
		text-decoration: underline; 
	}
	a:hover {
		color: var(--c-lightbrown);
	}
	
	@media(max-width: 62rem){
		display: grid;
		grid-template-columns: 1fr 1fr!important; 
		
		
		& .logo {		
			& img{
				max-width: 250px; 
			}
		}		
	}
	@media(max-width: 30rem){
		display: flex;
		flex-direction: column; 
		align-items: start; 
		gap: 1em; 
	}
}


.cta{
	text-align: center;
	padding: 4em 0; 
	background-color: var(--c-lightgrey);
	color: #292929;  
	text-wrap:balance;
}

.regtext:first-child{
	margin-top: 3em; 
}
.regtext:last-child{
	margin-bottom: 3em; 
}