body {
	width: 100%;
	position: relative;
}
body.menuOpen,
body.modalOpen {
	overflow: hidden;
}
img {
	display: block;
	max-width: 100%;
	height: auto;
}
.fromTablet {
	display: none;
}
@media only screen and (min-width: 640px) {	
	.onlyMobile {
		display: none;
	}
	.fromTablet {
		display: block;
	}
}
/* ---------- Header ---------- */
.site-header {
	width: 100%;
	background-color: #fff;
	position: fixed;
	z-index: 999;
	top: 0;
}
.site-header-inner {
	max-width: 832px;
	padding: 10px 20px;
	margin: 0 auto;
}
.site-header-content {
	display: flex;
	justify-content: center;
	align-items: center;
}
@media only screen and (min-width: 640px) {	
	.site-header-inner {
		padding: 15px 30px;
	}
}
@media only screen and (min-width: 1280px) {
	.site-header-inner {
		padding: 20px 40px;
	}
}
.site-header img {
	width: 20px;
	margin-right: auto;
}
@media only screen and (min-width: 640px) {	
	.site-header img {
		width: 25px;
		margin-right: 15px;
	}
}
@media only screen and (min-width: 1280px) {
	.site-header img {
		width: 30px;
		margin-right: 20px;
	}
}
.site-header .menu-primary-container {
	display: none;
}
#naviTrigger {
	margin-left: auto;
	font-size: 20px;
	color: #707070;
	display: block;
}
#naviTrigger:hover {
	color: #FF685E;
}
@media only screen and (min-width: 640px) {	
	.site-header .menu-primary-container {
		display: block;
	}
	#naviTrigger {
		display: none;
	}
}
.site-header ul {
	padding: 0;
	list-style: none;
	list-style-type: none;
	display: flex;
	justify-content: center;
	align-items: center;
}
.site-header li {
	padding: 0 10px;
}
.site-header a {
	color: #707070B4;
	font-size: 14px;
	text-transform: uppercase;
	line-height: 1.2;
	display: block;
}
.site-header a:hover {
	color: #696D78;
}
.fs-menu {
	display: none;
	background-color: #696D78;
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	top: 0;
	z-index: 1000;
}
.fs-menu-inner {
	position: absolute;
	left: 2em;
	right: 2em;
	bottom: 2em;
	top: 2em;
	display: flex;
	align-items: center;
	justify-content: center;
}
.fs-menu ul {
	margin: 0;
	padding: 0;
	list-style: none;
	list-style-type: none;
	width: 100%;
}
.fs-menu li {
	display: block;
	width: 100%;
	margin: 1.5em 0;
	text-align: center;
}
.fs-menu a {
	color: #fff;
	text-transform: uppercase;
	font-weight: 500;
}
#naviTrigger2:hover,
.fs-menu a:hover {
	color: #FF685E;
}
body.menuOpen .fs-menu {
	display: block;
}
#naviTrigger2 {
	position: absolute;
	font-size: 20px;
	color: #fff;
	display: block;
	top: 10px;
	right: 20px;
	z-index: 1000;
}
.fs-menu img {
	width: 20px;
	position: absolute;
	left: 20px;
	top: 10px;
	z-index: 1000;
}
/* ---------- Content --------- */
.site-main-inner {
	max-width: 832px;
	padding: 7rem 2rem;
	margin: 0 auto;
}
.entry-header a {
	margin: 0 auto;
	display: block;
	width: 180px;
}
@media only screen and (min-width: 640px) {	
	.entry-header a {
		width: 220px;
	}
}
@media only screen and (min-width: 1280px) {
	.entry-header a {
		width: 260px;
	}
}
.entry-header img {
	width: 100%;
}
section {
	padding-top: 8rem;
	overflow: hidden;
}
/* ---------- Angebot ---------- */
#angebot {
	max-width: 680px;
	margin-left: auto;
	margin-right: auto;
}
.angebot-inner {
	display: flex;
	margin: -1rem;
}
.angebot-inner h2 {
	text-align: center;
	margin-bottom: 2rem;
}
#angebot p {
	color: #fff;
}
.angebot-content {
	display: flex;
	flex-direction: column;
	width: 100%;
}
.angebot-content-1,
.angebot-content-2,
.angebot-content-3,
.angebot-content-4 {
	width: calc(100% - 2rem);
	margin: 1rem;
}
.angebot-content-2a,
.angebot-content-2b,
.angebot-content-3a,
.angebot-content-3b,
.angebot-content-4a,
.angebot-content-4b {
	width: calc(100% - 2rem);
	margin: 1rem;
	display: none;
	background-color: #FF685E;
	transition: all 0.2s ease-in-out;
}
.angebot-content-2a.isActive,
.angebot-content-2b.isActive,
.angebot-content-3a.isActive,
.angebot-content-3b.isActive,
.angebot-content-4a.isActive,
.angebot-content-4b.isActive {
	display: block;
}
.angebot-content-2,
.angebot-content-3,
.angebot-content-4 {
	background-color: #696D78;
	transition: all 0.2s ease-in-out;
	cursor: pointer;
}
.angebot-content-2:hover,
.angebot-content-3:hover,
.angebot-content-4:hover,
.angebot-content-2.isActive,
.angebot-content-3.isActive,
.angebot-content-4.isActive {
	background-color: #FF685E;
}
.square,
.square-2 {
	position: relative;
	padding-top: calc(100%/16*9);
	overflow: hidden;
}
.square-content {
	position: absolute;
	left: 1em;
	right: 1em;
	bottom: 1em;
	top: 1em;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	transition: all 0.2s ease-in-out;
}
.square-content-img {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	top: 0;
	transition: all 0.2s ease-in-out;
}
.square-content-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media only screen and (min-width: 640px) {	
	.square {
		padding-top: 100%;
	}
	.square-2 {
		position: relative;
		padding-top: calc(50% - 0.5rem);
		overflow: hidden;
	}
	.angebot-content {
		flex-direction: row;
		flex-wrap: wrap;
	}
	.angebot-content-2,
	.angebot-content-3,
	.angebot-content-4 {
		width: calc(100%/3 - 2rem);
	}
	.angebot-content-2a,
	.angebot-content-2b,
	.angebot-content-3a,
	.angebot-content-3b,
	.angebot-content-4a,
	.angebot-content-4b {
		width: calc(50% - 1rem);
		margin: 0 .5rem 1rem .5rem;
	}
	.angebot-content-2 {
		order: 1;
	}
	.angebot-content-3 {
		order: 2;
	}
	.angebot-content-4 {
		order: 3;
	}
	.angebot-content-2a,
	.angebot-content-3a,
	.angebot-content-4a {
		order: 4;
	}
	.angebot-content-2b,
	.angebot-content-3b,
	.angebot-content-4b {
		order: 5;
	}
}
/* ---------- Arbeiten ---------- */
.arbeiten-inner {
	display: flex;
	margin: -.5rem;
}
.arbeiten-inner h2 {
	text-align: center;
	margin-bottom: 3rem;
}
.arbeiten-inner p {
	color: #fff;
	margin: auto 0;
}
.arbeiten-inner p:first-child {
	margin-top: 0;
}
.arbeiten-inner p:last-child {
	margin-bottom: 0;
}
.arbeiten-inner .arbeitenTrigger {
	font-weight: 500;
}
.arbeiten-inner .arbeitenTrigger:hover {
	color: #696D78;
}
.arbeiten-content {
	display: flex;
	flex-direction: column;
	width: 100%;
}
.arbeiten-content-headline,
.arbeiten-content-box {
	width: calc(100% - 1rem);
	margin: .5rem;
}
.arbeiten-content-box {
	background-color: #FF685E;
	transition: all 0.2s ease-in-out;
}
.arbeiten-content-box .square-content {
	opacity: 0;
	align-items: flex-start;
	justify-content: flex-start;
}
.arbeiten-content-box:hover .square-content {
	opacity: 1;
}
.arbeiten-content-box:hover .square-content-img {
	opacity: 0;
}
.arbeiten-content .square {
	position: relative;
	padding-top: calc(100%/16*9);
	overflow: hidden;
}
.arbeiten-gallery {
	display: none;
	background-color: rgba(255,255,255,0.90);
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	top: 0;
	z-index: 999;
	align-items: center;
	justify-content: center;
}
.arbeiten-gallery-inner {
	max-width: calc(832px - 4rem);
	width: calc(100% - 4rem);
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 2rem;
	flex-direction: column;
}
.arbeiten-gallery-inner h2 {
	text-align: left;
	color: #707070;
	width: calc(100% - 2em);
	position: relative;
	padding-right: 2em;
}
.arbeiten-gallery-inner h2 > i {
	position: absolute;
	right: 0;
	color: #FF685E;
	cursor: pointer;
	font-size: .75em;
	top: .5em;
	transition: all 0.2s ease-in-out;
}
.arbeiten-gallery-inner h2 > i:hover {
	color: #696D78;
}
.arbeiten-gallery-inner p {
	color: #707070;
	width: 100%;
	line-height: 1.5;
	margin-top: 4rem;
}
.arbeiten-gallery.isActive {
	display: flex;
}
@media only screen and (min-width: 640px) {	
	.arbeiten-content {
		flex-direction: row;
		flex-wrap: wrap;
	}
	.arbeiten-content-box:nth-child(4n+1),
	.arbeiten-content-box:nth-child(4n+2) {
		width: calc(100%/3 - 1rem);
	}
	.arbeiten-content-box:nth-child(4n),
	.arbeiten-content-box:nth-child(4n+3) {
		width: calc(100%/3*2 - 1rem);
	}
	.arbeiten-content-box:nth-child(4n+1) .square,
	.arbeiten-content-box:nth-child(4n+2) .square {
		padding-top: 150%;
	}
	.arbeiten-content-box:nth-child(4n) .square,
	.arbeiten-content-box:nth-child(4n+3) .square {
		padding-top: calc(75% - 0.75rem);
	}
}
/* ---------- Slider ---------- */
.slider {
	width: 100%;
	position: relative;
	overflow: hidden;
	padding-bottom: calc(100%/4*3);
}
.slides {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	display: -ms-flexbox; display: flex;
}
.slide {
	height: 100%;
}
.slide img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	mix-blend-mode: multiply;
}
.control {
	position: absolute;
	top: 0;
	bottom: 0;
	display: -ms-flexbox; display: flex;
	-ms-flex-align: center; align-items: center;
	cursor: pointer;
	transition: all 0.2s ease-in-out;
	color: #FF685E;
	-ms-flex-pack: center; justify-content: center;
	transition: all 0.2s ease-in-out;
}
.control-left {
	left: 1rem;
}
.control-right {
	right: 1rem;
}
.control:hover {
	color: #fff;
}
/* ---------- Kundenstimmen ---------- */
.kundenstimmen-inner {
	display: flex;
	margin: 0 -2rem;
}
.kundenstimmen-inner h2 {
	margin-bottom: 4rem;
}
.kundenstimmen-inner p {
	margin-top: 4rem;
}
.kundenstimmen-content {
	display: flex;
	flex-direction: column;
	width: 100%;
}
.kundenstimmen-content-1 {
	width: calc(100% - 4rem);
	padding: 0 2rem;
}
.kundenstimmen-content-1 h2 {
	text-align: center;
}
.kundenstimmen-content-2 img {
	width: 100%;
	max-width: 160px;
	margin: 0 auto;
}
.kundenstimmen-content-2 {
	width: calc(100% - 4rem);
	padding: 0 2rem;
}
.kundenstimmen-content-3 {
	width: calc(100% - 4rem);
	padding: 0 2rem;
}
@media only screen and (min-width: 640px) {	
	.kundenstimmen-content {
		flex-direction: row;
		flex-wrap: wrap;
	}	
	.kundenstimmen-content-1 h2 {
		margin-right: 50%;
	}
	.kundenstimmen-content-2 img {
		max-width: 100%;
	}
	.kundenstimmen-content-2 {
		width: calc(50% - 4rem);
	}
	.kundenstimmen-content-3 {
		width: calc(50% - 4rem);
	}
}
/* ---------- Über mich ---------- */
.uebermich-inner {
	display: flex;
	margin: -1rem -2rem;
}
.uebermich-content {
	display: flex;
	flex-direction: column;
	width: 100%;
}
.uebermich-content-1 {
	width: calc(100% - 4rem);
	padding: 1rem 2rem;
}
.uebermich-content-1 img {
	width: 100%;
	max-width: 240px;
}
.uebermich-content-2 {
	width: calc(100% - 4rem);
	padding: 1rem 2rem;
}
@media only screen and (min-width: 640px) {	
	.uebermich-content {
		flex-direction: row;
	}
	.uebermich-content-1 {
		width: calc(100%/3 - 4rem);
	}
	.uebermich-content-1 img {
		max-width: 100%;
	}
	.uebermich-content-2 {
		width: calc(100%/3*2 - 4rem);
	}
}
/* ---------- Pre-Footer --------- */
.site-pre-footer {
	width: 100%;
	background-color: #696D78;
}
.site-pre-footer-inner {
	max-width: 832px;
	padding: 30px 20px;
	margin: 0 auto;
}
@media only screen and (min-width: 640px) {	
	.site-pre-footer-inner {
		padding: 45px 30px;
	}
}
@media only screen and (min-width: 1280px) {
	.site-pre-footer-inner {
		padding: 60px 40px;
	}
}
/* ---------- Pre-Footer Content ---------- */
.site-pre-footer-logo,
.site-pre-footer-text,
.site-pre-footer-form {
	margin-bottom: 20px;
}
@media only screen and (min-width: 640px) {	
	.site-pre-footer-logo,
	.site-pre-footer-text,
	.site-pre-footer-form {
		margin-bottom: 30px;
	}
}
@media only screen and (min-width: 1280px) {
	.site-pre-footer-logo,
	.site-pre-footer-text,
	.site-pre-footer-form {
		margin-bottom: 40px;
	}
}
.site-pre-footer-logo a {
	margin: 0 auto;
	display: block;
	width: 180px;
}
@media only screen and (min-width: 640px) {	
	.site-pre-footer-logo a {
		width: 220px;
	}
}
@media only screen and (min-width: 1280px) {
	.site-pre-footer-logo a {
		width: 260px;
	}
}
.site-pre-footer-logo img {
	width: 100%;
}
/* ---------- Text ---------- */
.site-pre-footer-text-inner {
	display: flex;
	margin: 0 -1em;
}
.site-pre-footer-text-content {
	display: flex;
	flex-direction: column;
	width: 100%;
}
.site-pre-footer-text-content-1,
.site-pre-footer-text-content-2,
.site-pre-footer-text-content-3,
.site-pre-footer-text-content-4 {
	width: calc(100% - 2rem);
	padding: 0 1rem;
	text-align: center;
}
@media only screen and (min-width: 640px) {	
	.site-pre-footer-text-content {
		flex-direction: row;
		flex-wrap: wrap;
	}
	.site-pre-footer-text-content-1 {
		width: calc(50% - 2rem);
		text-align: right;
		order: 1;
	}
	.site-pre-footer-text-content-2 {
		width: calc(50% - 2rem);
		text-align: right;
		order: 3;
	}
	.site-pre-footer-text-content-3 {
		width: calc(50% - 2rem);
		text-align: left;
		order: 2;
	}
	.site-pre-footer-text-content-4 {
		width: calc(50% - 2rem);
		text-align: left;
		order: 4;
	}
}
@media only screen and (min-width: 1280px) {
	.site-pre-footer-text-content {
	}
}
/* ---------- Formular ---------- */
.site-pre-footer-form {
	width: 100%;
	max-width: 480px;
	margin-left: auto;
	margin-right: auto;
}
.site-pre-footer-form p {
	margin: 0;
	line-height: 1;
}
.site-pre-footer-form span {
	display: block;
	margin-bottom: 4px;
}
.site-pre-footer-form input,
.site-pre-footer-form textarea {
	font-size: 14px;
}
::-webkit-input-placeholder {
	color: #696D786C;
}
::-moz-placeholder {
	color: #696D786C;
}
:-ms-input-placeholder {
	color: #696D786C;
}
:-moz-placeholder {
	color: #696D786C;
}
.wpcf7-not-valid-tip {
	display: none!important;
}
.wpcf7 form .wpcf7-response-output {
	border: 1px solid #fff;
	padding: 4px 8px;
	margin: 0;
	color: #fff;
	font-weight: 400;
	font-size: 14px;
	line-height: 1.8;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
    border-color: #FF685E;
}
.wpcf7 form.sent .wpcf7-response-output {
    border-color: #888;
}
.wpcf7-text,
.wpcf7-text:focus {
	border: none;
	height: 25px;
	background-color: #fff;
	padding: 4px 8px;
	width: calc(100% - 16px);
    outline: none;
}
.wpcf7-textarea,
.wpcf7-textarea:focus {
	border: none;
	height: 150px;
	background-color: #fff;
	padding: 4px 8px;
	width: calc(100% - 16px);
	line-height: 1.8;
    outline: none;
}
.wpcf7-submit {
	margin-left: auto;
	background-color: transparent;
	padding: 0;
	border: none;
	font-size: 14px;
	color: #fff;
	display: block;
	line-height: 1.8;
	cursor: pointer;
}
.wpcf7 .ajax-loader {
	display: none;
}
/* ---------- Menü ---------- */
.site-pre-footer-menu {
}
.site-pre-footer-menu ul {
	margin: 0 auto;
	padding: 0;
	list-style: none;
	list-style-type: none;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}
@media only screen and (min-width: 640px) {	
	.site-pre-footer-menu ul {
		flex-direction: row;
	}
}
.site-pre-footer-menu li {
	padding: 0 0 10px 0;
}
.site-pre-footer-menu li:last-child {
	padding: 0;
}
.site-pre-footer-menu a {
	color: #B4B4B4;
	font-size: 14px;
	text-transform: uppercase;
	line-height: 1.2;
	display: block;
}
.site-pre-footer-menu a:hover {
	color: #fff;
}
/* ---------- Footer ---------- */
.site-footer {
	width: 100%;
	background-color: #FF685E;
}
.site-footer-inner {
	max-width: 832px;
	padding: 20px;
	margin: 0 auto;
}
.site-footer-content p {
	text-align: center;
	font-size: 24px;
	font-weight: 500;
	color: #fff;
}
.site-footer-content a {
	display: inline-block;
	padding: 0 10px;
}
@media only screen and (min-width: 640px) {	
	.site-footer-inner {
		padding: 15px 30px;
	}
}
@media only screen and (min-width: 1280px) {
	.site-footer-inner {
		padding: 20px 40px;
	}
}
@media only screen and (min-width: 640px) {	
	.site-footer-content a,
	.site-header li,
	.site-pre-footer-menu li,
	.site-pre-footer-menu li:last-child {
		padding: 0 15px;
	}
}
@media only screen and (min-width: 1280px) {
	.site-footer-content a,
	.site-header li,
	.site-pre-footer-menu li,
	.site-pre-footer-menu li:last-child {
		padding: 0 20px;
	}
}