/* Schrift-Import */
@font-face {
	font-family:'Assistant';
	font-style:normal;
	font-weight:400;
	font-display:swap;
	src:url('/shared/font/assistant-v2-latin-regular.eot');
	src:local('Assistant'), local('Assistant-Regular'),
	url('/shared/font/assistant-v2-latin-regular.eot?#iefix') format('embedded-opentype'),
	url('/shared/font/assistant-v2-latin-regular.woff2') format('woff2'),
	url('/shared/font/assistant-v2-latin-regular.woff') format('woff'),
	url('/shared/font/assistant-v2-latin-regular.ttf') format('truetype'),
	url('/shared/font/assistant-v2-latin-regular.svg#Assistant') format('svg');
}
@font-face {
	font-family:'Assistant';
	font-style:normal;
	font-weight:700;
	font-display:swap;
	src:url('/shared/font/assistant-v2-latin-700.eot');
	src:local('Assistant Bold'), local('Assistant-Bold'),
	url('/shared/font/assistant-v2-latin-700.eot?#iefix') format('embedded-opentype'),
	url('/shared/font/assistant-v2-latin-700.woff2') format('woff2'),
	url('/shared/font/assistant-v2-latin-700.woff') format('woff'),
	url('/shared/font/assistant-v2-latin-700.ttf') format('truetype'),
	url('/shared/font/assistant-v2-latin-700.svg#Assistant') format('svg');
}

/* Allgemein */
body {
	font-family:"Assistant", sans-serif;
	color:#252e34;
	line-height:1.5;
}
a {
	text-decoration:none;
	border-bottom:1px solid #c9a77a;
	color:#c9a77a;
	transition:border .2s, color .2s;
}
a:hover, a:focus {
	border-color:transparent;
	color:#c9a77a;
	text-decoration:none;
	outline:none;
}
a.btn {
	border:1px solid #c9a77a;
	background:#c9a77a;
	transition:border .2s, background .2s, color .2s;
	border-radius:0;
	color:#fff;
}
a.btn.colored {
	border:1px solid #c9a77a;
	color:#c9a77a;
	background:transparent;
}
a.btn:hover, a.btn:focus {
	border:1px solid #252e34;
	color:#252e34;
	background:transparent;
}
a.btn.colored:hover, a.btn.colored:focus {
	border:1px solid #c9a77a;
	color:#fff;
	background:#c9a77a;
}
h1, .h1 {
	font-size:2rem;
}
h2 {
	font-size:1.5rem;
}
h3 {
	font-size:1.25rem;
}
img {
	max-width:100%;
}
a.toggle:before {
	display:inline-block;
	content:"+";
	font-size:1rem;
	transform:rotate(0deg) translateX(4px);
	transition:transform .2s;
	margin-right:10px;
	margin-left:-8px;
	top:0;
	left:4px;
	position:relative;
}
a.toggle[aria-expanded="true"]:before {
	transform:rotate(45deg) translateY(-3px) translateX(3px);
}
::selection {
	color:#fff;
	background:#252e34;
}
::-moz-selection {
	color:#fff;
	background:#252e34;
}
.video-popup video {
	max-height:90vh;
}
.video-popup video + .mfp-close {
	color:#c9a77a;
	opacity:1;
}
#noscript {
	text-align:center;
	width:100%;
	position:fixed;
	bottom:0;
	left:0;
	color:#fff;
	background:#252e34;
	padding:1rem 2%;
	margin:0;
	z-index:5;
}
@media all and (-ms-high-contrast:none){
	.d-flex { display:block !important }
	*::-ms-backdrop, .d-flex { display:block !important }
	.card { display:block !important }
	*::-ms-backdrop, .card { display:block !important }
}

/* Ladekreis */
#loader {
	width:100vw;
	height:100vh;
	position:fixed;
	z-index:9998;
	left:0;
	top:0;
	background:#fff;
	display:flex;
	align-items:center;
	justify-content:center;
}
.no-js #loader {
	display:none;
}
#loader:after {
	border:10px solid #fff;
	border-top:10px solid #c9a77a;
	border-radius:50%;
	width:60px;
	height:60px;
	animation:spin 1s infinite;
	display:block;
	content:"";
	z-index:9999;
}
@keyframes spin {
	0% { transform:rotate(0deg); }
	100% { transform:rotate(360deg); }
}

/* Navigation */
#menu {
	background:#eee !important;
}
#menu img {
	margin-bottom:-6rem;
	max-width:120px;
	height:auto;
	background:#eee;
	padding:1rem;
}
#menu a {
	color:#252e34;
	transition:color .2s;
}
#menu a:hover, #menu a:focus, #menu .active a {
	color:#c9a77a;
}
#menu span.navbar-toggler-icon {
	background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(37,46,52,1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}
#menu .collapsing ul, #menu .show ul {
	padding:6rem 1.25rem 1rem 1.25rem;
}

/* Header */
header {
	min-height:50vh;
	color:#fff;
	background:50% 0 / cover no-repeat;
}
header.start {
	min-height:100vh;
}
header.none {
	min-height:100px;
}
header .box {
	color:#252e34;
	background:#eee;
	padding:1rem 1.5rem;
	bottom:0;
}
header .box h1 {
	font-size:1.5rem;
}

/* Inhaltsbereich */
main {
	padding:4rem 0;
}
main .card {
	background:#eee;
}
main .services img {
	object-fit:cover;
}
main p, main ul {
	margin-bottom:1.5rem;
	font-size:18px;
}
main ul {
	list-style:none;
	padding-left:0;
	margin-left:18px;
}
main li:before {
	content:"— ";
	margin-left:-18px;
}

/* Kontaktabschnitt */
#contact {
	padding:7.5rem 0;
	color:#fff;
	background:url(/shared/img/contact.jpg) center center / cover repeat-y;
}

/* Footer */
footer {
	background:#252e34;
	color:#fff;
}
footer nav a {
	color:#fff;
	transition:color .2s;
}
footer nav a:hover, footer nav a:focus, footer nav .active a {
	color:#c9a77a;
}
footer h6 {
	line-height:1.5;
}

/* Media Queries */
@media (min-width:576px) {
	header .box {
		max-width:480px;
		right:0;
		bottom:5rem;
		padding:2rem 2.5rem;
	}
	header .box h1, h2 {
		font-size:2rem;
	}
	h1, .h1 {
		font-size:3rem;
	}
	h3 {
		font-size:1.75rem;
	}
}
@media (min-width:992px) {
	#menu img {
		max-width:150px;
		margin-bottom:-6.5rem;
		margin-left:2.5rem;
		padding:1rem;
	}
	#menu a {
		font-size:1.25rem;
	}
	header.none {
		min-height:150px;
	}
}