/* //////////////////////////////////// ALLGEMEIN //////////////////////////////////// */
html {
	box-sizing: border-box;
	background-color: #FAF9F6;
}
*, *:before, *:after {
	box-sizing: inherit;
}
body{
	font-family: "calibri", sans-serif;
	color: #919191;
	margin: 0px;
	line-height: 1.6;
	font-size: 1.25rem;
	scroll-behavior: smooth;
}
h1, h2 {
	font-family: "alfabet", sans-serif;
	font-size: 2rem;
	color: #FF6120;
	text-transform: uppercase;
	margin: 0 auto 10px;	
	line-height: 1.2;
	font-weight: 800;
}
h3, h4, h5, h6 {
	font-family: "alfabet", sans-serif;
	font-size: 1.5rem;
	color: #FF6120;
	text-transform: none;
	margin: 0 auto 40px;	
	line-height: 1.2;
	font-weight: 800;
}
.titel_box{
	margin-bottom: 40px;
}
.titel_box h1, .titel_box h2{
	margin-bottom: 0;
}
.titel_box .untertitel{
	margin-top: 5px;
	color: #919191;
	text-transform: none;
	font-weight: 400;
	font-size: 1.8rem;
}
div p{
	margin: 0px 0px 15px 0px;
}
div p:last-child, p:last-child{
	margin: 0 auto;
}
img, svg, video{
	max-width: 100%;
	height:auto;
}
a{
	color: #FF6120;
	text-decoration: none;
}
a:active, a:hover {
	color: #651E01;
}
ul{
	padding-left: 20px;
	margin: 0 auto 15px;
}
.no_scroll{
	height: 100vh;
	overflow: hidden;
}
.textcenter{
	text-align: center;
}
/* //////////////////////////////////// CONTENT //////////////////////////////////// */
.w1280{
	max-width: 1280px;
	margin: 0 auto;
	position:relative;
	padding: 0px 40px;
}
.w1024{
	max-width:1024px;
	margin:0 auto;
	position:relative;
}
.w960{
	max-width:960px;
	margin:0 auto;
	position:relative;
}
.w800{
	max-width:800px;
	margin:0 auto;
	position:relative;
}
.w700{
	max-width:700px;
	margin:0 auto;
	position:relative;
}
.margin_oben{
	margin-top: 100px;
}
.margin_unten{
	margin-bottom: 100px;
}
.margin_unten_half{
	margin-bottom: 50px;
}
.fullwidth{
	width:100%;
	background-repeat:no-repeat;
	background-size:cover;
	background-position: center;
	position: relative;
}

/* Case 6 – Bild Full */
/* Höhe steuerst du über die Section-Klassen .big / .small */
.fullwidth.big  { position: relative; min-height: 70vh; }
.fullwidth.small{ position: relative; min-height: 55vh; }

/* Bild füllt die Section vollständig, zentriert */
.fullwidth > img.cover{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;         /* füllt komplett */
  object-position: center;   /* horizontal & vertikal zentriert */
  display: block;
}


.bg_grau{
	background-color: #ECECEC;
	padding: 80px 0;
}
.bg_orange{
	background-color: #FF6120;
	padding: 80px 0;
}
.no_paddding_top{
	padding-top:0;
}
.no_paddding_bottom{
	padding-top:0;
}

/* //////////////////////////////////// Header //////////////////////////////////// */
.header{
	background-color: #ECECEC;
	padding: 30px 0;
}
.header .w1280{
	display: flex;
	justify-content: space-between;
	flex-direction: row;
}
.header_logo{
	display: block;
	z-index: 1;
}
.header_rechts{
	display: flex;
	justify-content: center;
	gap: 20px;
	align-items: center;
}
.social_box{
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	gap: 20px;
	margin-right: 50px;
}
.social_box a{
	display: block;
	line-height: 0;
}
.menu_link_box .social_box{
	margin-right: 0;
}
.kontakt_box .social_box{
	margin-right: 0;
}
.hover_fill_o{
	transition: 0.3s ease;
}
.social_box a:hover .hover_fill_o{
	fill: #651E01;
}

.open_menu{
	display: block;
	cursor: pointer;
	line-height: 1;
	color: #FFFFFF;
	text-transform: uppercase;
	text-align: left;
	width: 40px;
	height: 20px;
	position: relative;
	margin: 0;
	transform: skewX(-10deg); /* Neigung */
}
.open_menu span, .close_menu span{
	position: absolute;
	left: 0;
	width: 90%;
	height: 2px;
	background-color: #FF6120;
	display: block;
    transform: rotate(0deg);
    transition: 0.5s ease-in-out;
}
.open_menu:hover span{
	background-color: #651E01;
}
.open_menu span:first-child{
	top: 0px;
}
.open_menu span:nth-child(2), .open_menu span:nth-child(3){
	top: 9px;
}
.open_menu span:last-child{
	bottom: 0px;
}
.open span:first-child, .open span:last-child {
	width: 0%;
	left: 50%;
}
.open span:nth-child(2){
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
	left: 6px;
	width: 70%;
}
.open span:nth-child(3){
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
	left: 6px;
	width: 70%;
}



.menu{
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 11;
	width: 100%;
	height: 100vh;
	background-color: #FAF9F6;
	padding: 30px 0 0;
	overflow: scroll;
}
.menu .w1280{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
}

.menu_leiste{
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	z-index: 99999;
}
.close_menu{
	width: 40px;
	height: 40px;
	position: relative;
	cursor: pointer;
}
.close_menu:hover span{
	background-color: #651E01;
}
.close_menu span:first-child{
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
	left: 6px;
	width: 70%;
	top: 19px;
}
.close_menu span:last-child{
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
	left: 6px;
	width: 70%;
	top: 19px;
}


.nav-menu{
	list-style: none;
	padding: 0;
	margin: 0;
}
.nav-menu li{
	cursor: pointer;
	margin-bottom: 30px;
	width: calc(50% - 40px);
}
.nav-menu li:last-child{
	margin: 0;
}
.nav-menu li a{
	display: block;
	line-height: 1.6;
	font-family: "alfabet", sans-serif;
	font-size: 1.5rem;
	color: #FF6120;
	text-transform: uppercase;
	font-weight: 700;
}
.nav-menu li a:hover{
	color: #651E01;
	text-decoration: underline;
}
.nav-menu li .sub-menu{
	display: none;
	padding: 0;
}

.menu_link_box{
	display: flex;
	flex-direction: row-reverse;
}
.menu_link_box .inner{
	width: 180px;
	background-color: #FF6120;
	line-height: 1;
	padding: 30px;
	clip-path: polygon(15% 0, 100% 0px, 100% 100%, 0px 100%);
	text-align: right;
}
.menu_link_box .inner a{
	color: #FFFFFF;
	display: block;
	text-transform: uppercase;
	font-weight: 500;
}
.menu_link_box .inner a:hover{
	color: #651E01;
}
.menu_link_box .inner .social_box{
	justify-content: flex-end;
	gap: 10px;
}
.kontakt_link{
	margin: 15px 0;
}


/* Layout: linke Spalte Hauptmenü (50%), rechte Spalte Submenü */
.menu .w1280{
	display: flex;
	align-items: stretch;
	position: relative; /* Referenz für das absolut positionierte Submenü */
}

/* Container des Hauptmenüs links */
.menu .w1280 .menu-hauptmenu-container{
	width: 50%;
	border-right: 2px solid #FF6120;
	box-sizing: border-box;
	padding-right: 40px;
}

/* UL füllt links 100% des Containers */
#hauptmenu.nav-menu{
	width: 100%;
}

/* Menüeinträge im linken Bereich: volle Breite */
.nav-menu li{
	width: 100%;
	margin: 15px 0;
}

/* --- Submenu rechts exakt neben dem Hauptmenü zentriert --- */
.nav-menu .leistung {
	position: relative; /* Referenzpunkt für Submenü */
}

/* Rechte Hälfte für Submenü */
.nav-menu .leistung .sub-menu{
	position: absolute;
	left: 100%;               /* direkt rechts neben dem li */
	top: 50%;                 /* vertikale Mitte des li */
	transform: translateY(-40%);
	width: 50vw;              /* 50% der Menübreite */
	padding: 0 40px 0 80px;
	box-sizing: border-box;
	display: none;
	flex-direction: column;
	margin: 0;
}

/* Wenn offen */
.nav-menu .leistung.open .sub-menu{
	display: flex;
}

/* Submenu items */
.nav-menu .leistung .sub-menu li{
	margin: 15px 0;
	list-style: none;
}

/* Submenu Links */
.nav-menu .leistung .sub-menu li a{
	text-transform: none;
	font-size: 1.2rem;
	font-family: "alfabet", sans-serif;
	color: #B3B3B3;
	font-weight: 400;
	line-height: 1.5;
}

.nav-menu .leistung .sub-menu li a:hover{
	color: #FF6120;
}




/* //////////////////////////////////// Button //////////////////////////////////// */
.button{
	display: inline-block;
	width: auto;
	position: relative;
	cursor: pointer;
	transform: skewX(-10deg); /* Neigung */
	transition: 0.3s ease;
}
.button a, .button span{
	display: block;
	padding: 10px 20px;
	font-size: 1rem;
	transform: skewX(10deg); /* Neigung */
}
.button_o{
	background-color: #FF6120;
	border:1px solid #FFFFFF;
}
.button_o a, .button span{
	color: #FFFFFF;
	text-transform: uppercase;
}
.button_o:hover{
	background-color: #651E01;
}
.button_w{
	background-color: #FFFFFF;
	border:1px solid #FFFFFF;
}
.button_w a{
	color: #FF6120;
	text-transform: uppercase;
}
.button_w:hover{
	background-color: #FF6120;
}
.button_w a:hover{
	color: #FFFFFF;
}
.float_r{
	float: right;
	margin-top: 30px;
}


/* //////////////////////////////////// Home //////////////////////////////////// */
.flex_box_seiten{
	display: flex;
	justify-content: space-between;
	gap: 30px;
	flex-wrap: wrap;
}
.verlinkungs_box{
	position: relative;
	width: calc(33.33% - 20px);
	padding-top: 20%;
	overflow: hidden;
	box-shadow: 10px 15px 25px 0 rgba(0,0,0,.2);
}
.verlinkungs_box:hover{
	box-shadow: 1px 1px 10px 0 rgba(0,0,0,.1);
}
.verlinkungs_box img{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.verlinkungs_box a{
	background-color: rgba(101, 30, 1, 0.3);
	width: 100%;
	height: 100%;
	display: flex;
	align-items: flex-end;
	z-index: 2;
	padding: 30px;
	position: absolute;
	top: 0;
	left: 0;
}
.verlinkungs_box a:hover{
	background-color: rgba(101, 30, 1, 0.7);
}
.verlinkungs_box h2{
	font-size: 1.25rem;
	color: #FFFFFF;
	margin: 0;
	text-transform: none;
}


.horizontal-section {
    display: flex;
    overflow: hidden;
    width: 100vw;
}

.panel {
    min-width: 100vw;
    height: 100vh;
    background-color: #ccc;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Accordeon */
.accordeon { border-top: 1px solid #e0e0e0; }
.accordeon .acc-item { border-bottom: 1px solid #e0e0e0; }

.accordeon .acc-header {
  width: 100%;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  padding: 16px 0;
  background: transparent;
  border: 0;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.accordeon .acc-title { line-height: 1.3; color:#FF6120; font-weight: bold; }
.accordeon .acc-icon { font-weight: 700; font-size: 20px; line-height: 1; }

.accordeon .acc-content {
  display: none;
  padding: 0 0 16px 0;
}

.accordeon .acc-item.is-open .acc-content { display: block; }
.accordeon .acc-item.is-open .acc-icon { content: "-"; }



/* --- Case 4: Grundlayout (ohne Neigung) --- */
.mySwiper { position: relative; }

.mySwiper .swiper-wrapper{ display:flex; } /* Fallback, falls Theme CSS Swiper überschreibt */
.mySwiper .swiper-slide{ width:100%; }

.vs-slide-inner{
  display:grid;
  grid-template-columns: 1fr 1fr; /* 50/50 */
  gap:80px;
  align-items:center;
}

.vs-col{ min-width:0; }

.vs-image-wrap{
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
  line-height: 0;
}

.vs-image-wrap img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Variante A – deine Richtung (↘︎): 
   clip-path wie von dir gepostet */
.vs-image-wrap.tilt-a{
  clip-path: polygon(0% 0, 90% 0, 100% 100%, 10% 100%);
}

/* Variante B – exakt die andere Richtung (↙︎):
   horizontale Spiegelung der Form */
.vs-image-wrap.tilt-b{
  clip-path: polygon(10% 0, 100% 0, 90% 100%, 0 100%);
}

/* Optional: auf sehr kleinen Screens Neutralisieren */
@media (max-width: 640px){
  .vs-image-wrap.tilt-a,
  .vs-image-wrap.tilt-b{
    clip-path: none;
  }
}

.vs-content{ color:#fff; }            /* ggf. anpassen */
.vs-title{ color:#fff; margin:0; line-height:1.2; }

/* Navi unter dem Slider, rechtsbündig */
.vs-nav {
  position: relative;     /* unterhalb des Sliders, nicht absolut positioniert */
  display: flex;          /* horizontale Anordnung der Buttons */
  justify-content: flex-end; /* nach rechts ausrichten */
  gap: 10px;              /* Abstand zwischen Buttons */
  margin-top: 20px;       /* etwas Abstand zum Slider */
	z-index: 2;
}

.vs-btn {
  width: 44px;
  height: 44px;
  border: 0;
  background: rgba(255, 255, 255, .15);
  display: grid;
  place-items: center;
  cursor: pointer;
	pointer-events: auto;
  transition: transform .15s ease, background .15s ease, opacity .15s ease;
}
.vs-btn img {
  width: 18px;
  height: 18px;
  display: block;
  pointer-events: none;
}
.g-image-wrap.tilt-b{
  clip-path: polygon(10% 0, 100% 0, 90% 100%, 0 100%);
}

.vs-btn:hover {
  transform: translateY(-1px);
  background: rgba(255, 255, 255, .25);
}


@media (max-width: 900px){
  .vs-slide-inner{ grid-template-columns:1fr; gap:24px; }
  .vs-content{ order:2; }
}



/* ===== Case 10: Gallery Carousel (eigenständige Klassen, kollisionsfrei) ===== */

.gallerySwiper { position: relative; }

/* Falls Theme Swiper überschreibt */
.gallerySwiper .swiper-wrapper { display: flex !important; }
.gallerySwiper .swiper-slide   { width: 100%; }

.g-slide-inner{
  display: grid;
  grid-template-columns: 1fr; /* nur Bild */
  justify-items: center;       /* Bild horizontal zentrieren */
}

.g-image-wrap{
  width: 100%;
  max-width: 720px;   /* optional: begrenzen, damit zentriert wirkt */
  aspect-ratio: 1/1;
  overflow: hidden;
  line-height: 0;
  background: #000;
}
.g-image-wrap img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Externe Navigation unter dem Slider, rechtsbündig */
.g-nav{
  position: relative;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 20px;
  z-index: 2;
}
.g-btn{
  width: 44px;
  height: 44px;
  border: 0;
  background: rgba(0,0,0,.15);
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: transform .15s ease, background .15s ease, opacity .15s ease;
}
.g-btn img{ width: 18px; height: 18px; display: block; pointer-events: none; }
.g-btn:hover{ transform: translateY(-1px); background: rgba(0,0,0,.25); }

/* Wenn sehr wenige Bilder, bleibt’s trotzdem zentriert */
@media (max-width: 900px){
  .g-image-wrap{ max-width: 100%; }
}


/* ==== Case 9: Bild (Cover) + zentrierte Content-Box ==== */

/* Section verhält sich wie Case 6 (Cover), aber Mindesthöhe 600px.
   Wächst mit dem Box-Inhalt automatisch mit. */
.fullwidth.hero-case9 { position: relative; min-height: 600px; }
.fullwidth.hero-case9 > img.cover{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* Vertikale Zentrierung der Box, aber nicht fix: min-height sorgt für 600px,
   bei mehr Inhalt wird die Section höher. */
.hero9-inner{
  position: relative;       /* über dem Cover-Bild */
  z-index: 1;
	width: 50%;
  min-height: 600px;        /* gleicht sich mit Section */
  display: flex;
  align-items: center;      /* vertikal zentriert */
           /* Atemraum; Box kann dadurch „aufdrücken“ */
	background-color: #FF6120;
	color:#FFFFFF;
	float: right;
}
.hero9-inner h2, .hero9-inner h3{
	color:#FFFFFF;
}
.hero9-inner.tilt-b{
  clip-path: polygon(10% 0, 100% 0, 90% 100%, 0 100%);
}
/* Inhaltliche Box (breite steuerst du über .w1280/.w960 wenn gewünscht) */
.hero9-box{
  max-width: 780px;         /* optional begrenzen */
  color: #fff;              /* ggf. anpassen/entfernen je nach Bild */
  text-shadow: 0 1px 0 rgba(0,0,0,.15); /* leichte Lesbarkeit */
	padding: 40px 80px; 
}
.hero9-title{ margin: 0 0 12px; line-height: 1.2; }
.hero9-subtitle{ margin: 0 0 16px; font-weight: 500; opacity: .95; }
.hero9-text{ margin-top: 12px; }



/* ===== Case 5: Icon-Slider (eigene Klassen .iconSwiper / .is-*) ===== */

.iconSwiper { position: relative; }
.iconSwiper .swiper-wrapper { display:flex !important; }
.iconSwiper .swiper-slide { width:100%; }

.is-slide-inner{
  display:grid;
  grid-template-columns: 8fr 2fr; /* 70% / 30% */
  gap:50px;
  align-items:center; /* Icon vertikal zum Text zentriert */
}

/* Your tilted content box */
.is-content{
  --bw: 2px; /* border width */
  position: relative;
  min-width: 0;
  padding: 0 120px 0 80px;
  clip-path: polygon(10% 0, 100% 0, 90% 100%, 0 100%);
  overflow: hidden;
}

/* Slanted border as its own clipped polygon */
.is-content::after{
  content: "";
  position: absolute;
  inset: 0;                /* full size, we’ll clip it down */
  background: #FF6120;     /* border color */
  pointer-events: none;
  /* Thin strip that hugs the right edge:
     from (100% 0) down to (90% 100%), minus --bw inward */
  clip-path: polygon(
    100% 0,
    calc(100% - var(--bw)) 0,
    calc(90% - var(--bw)) 100%,
    90% 100%
  );
}



.is-title{ margin:0; line-height:1.2; color:#FF6120; }
.is-text{ margin-top:20px; }

/* RECHTS: Icon */
.is-icon{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center; /* mittig in der 30%-Spalte */
}
.is-icon-wrap{
  width: 100%;
  max-width: 220px;   /* gewünschte Icon-Breite begrenzen */
  line-height: 0;
}
.is-icon-wrap img{
  width:100%;
  height:auto;
  display:block;
  object-fit: contain;
}

/* Externe Navigation unten, rechtsbündig */
.is-nav{
  position: relative;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 20px;
  z-index: 2;
}
.is-btn{
  width:44px;
  height:44px;
  border:0;
  background:rgba(255,255,255,.15);
  display:grid;
  place-items:center;
  cursor:pointer;
  transition:transform .15s ease, background .15s ease, opacity .15s ease;
}
.is-btn img{ width:18px; height:18px; display:block; pointer-events:none; }
.is-btn:hover{ transform:translateY(-1px); background:rgba(255,255,255,.25); }



/* ===== Case 7: Titel / Text / Icon / aufklappbar ===== */

.is7-wrap{
  display: grid;
  grid-template-columns: 8fr 2fr; /* 70% / 30% */
  gap: 50px;
  align-items: start;  /* linke Spalte richtet sich am Inhalt aus */
}

.is7-col{ min-width: 0; }
.is7-content .is7-title{ margin: 0 0 12px; line-height: 1.2; }
.is7-content .is7-subtitle{ margin: 0 0 16px; font-weight: 500; opacity: .95; }
.is7-content .is7-text{ margin-top: 12px; }

/* Icon rechts unten ausrichten – bleibt „ruhig“ stehen */
.is7-iconcol{
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.is7-icon-wrap{
  width: auto;
  max-width: 220px;
  line-height: 0;
  max-height: 180px;
  height: 400px;
}
.is7-icon-wrap img{
  width: auto;
  height: 100%;
  object-fit: contain;
  display: block;
  max-width: 100%;
}

/* Aufklapp-Trigger */
.is7-more-toggle{
  margin-top: 28px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 0;
  background: transparent;
  border: 0;
  cursor: pointer;
  text-align: left;
}
.is7-more-title{ margin: 0; font-size: 1.1rem; line-height: 1.3; }

/* Pfeil: CSS-Arrow, dreht bei "open" */
.is7-arrow{
  flex: 0 0 15px;
  width: 15px; height: 15px;
  border-right: 1px solid #FF6120;
  border-bottom: 1px solid #FF6120;
  transform: rotate(45deg);         /* nach unten */
  transition: transform .2s ease;
	margin-bottom: 8px
}
.is7-more-toggle[aria-expanded="true"] .is7-arrow{
  transform: rotate(-135deg);       /* nach oben */
	margin-top: 8px
}

/* Expand-Container */
.is7-more{
  padding: 16px 0 0 0;
}

/* Responsive */
@media (max-width: 900px){
  .is7-wrap{ grid-template-columns: 1fr; gap: 24px; }
  .is7-iconcol{ align-items: flex-start; } /* Icon oben bei Mobile, falls gewünscht */
}


/* //////////////////////////////////// Swiper //////////////////////////////////// 
.swiper {
	margin-left: auto;
	margin-right: auto;
	position: relative;
	overflow: hidden;
	list-style: none;
	padding: 0;
	z-index: 1;
	display: block;
}
.swiper-vertical > .swiper-wrapper {
	flex-direction: column;
}
.swiper-wrapper {
	position: relative;
	width: 100%;
	height: 100%;
	z-index: 1;
	display: flex;
}
.swiper-slide {
	flex-shrink: 0;
	width: 100%;
	height: 100%;
	position: relative;
	display: block;
}
.swiper_nav{
	width: 100%;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 50px;
}
.swiper_arrows{
	width: 10px;
	line-height: 0;
	cursor: pointer;
}
.swiper-pagination{
	margin: 0 20px;
	line-height: 0;
}
.swiper-pagination-bullet{
	width: 12px;
	height: 12px;
	border-radius: 15px;
	background-color: #1E2529;
	display: inline-block;
	vertical-align: middle;
	margin: 0 10px;
	cursor: pointer;
}
.swiper-pagination-bullet:hover, .swiper-pagination-bullet-active, .swiper-button-disabled{
	opacity: 0.5;
}
*/

.gallery .tiled-gallery{
	margin: 0;
	margin-bottom: 2px;
}

.spruch h2{
	color: #FF6120;
	font-size: 1.9rem;
	text-transform: none;
	margin-bottom: 20px;
}
.spruch p{
	max-width:50%;
}


/* //////////////////////////////////// Footer //////////////////////////////////// */
footer{
	background-color: #FF6120;
	color: #FFFFFF;
}
footer a{
	color: #FFFFFF;
	display: block;
}
footer .w1280{
	display: flex;
	justify-content: space-between;
	gap: 50px;
}
.kontakt_box {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	text-transform: uppercase;
	padding-bottom: 50px;
}
.flex_kontakt{
	display: flex;
	gap: 20px;
	align-items: center;
  	font-size: 1.5rem;
	margin-bottom: 10px;
}
.flex_kontakt:hover .hover_fill_o{
	fill: #651E01;
}
.kontakt_box .social_box{
	justify-content: flex-start;
}
.adresse{
	margin-top: 50px;
	
}

.map_box{
	clip-path: polygon(10% 0, 100% 0, 90% 100%, 0 100%);
	width: 100%;
	line-height: 0;
}
.map_box iframe{
	width: 100%;
}
.adresse{

}
.impressum{
	text-transform: uppercase;
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	flex-direction: column;
	padding-bottom: 50px;
}
.impressum a{
	display: block;
}



/* //////////////////////////////////// CLEARFIX do not group these rules //////////////////////////////////// */
.clearfix:before,
.clearfix:after {
	content:"";
	display:table;
}
.clearfix:after {
	clear:both;
}
.clearfix {
	zoom:1; /* For IE 6/7 (trigger hasLayout) */
}