/* //////////////////////////////////// ALLGEMEIN //////////////////////////////////// */
html {
	box-sizing: border-box;
}
*, *:before, *:after {
	box-sizing: inherit;
}
body{
	font-family: "brandon-grotesque", sans-serif;
	line-height: 1.6;
	font-size: 1.25rem;
	font-weight: 300;
	margin: 0px;
	color: #707070;
	scroll-behavior: smooth;
}
h1, h2, h3, h4, h5, h6 {
	font-family: "farnham-display", serif;
	line-height: 1.2;
	font-size: 2.5rem;
	font-weight: 300;
	color: #2B2E34;
	margin: 0 auto 40px;	
}
h4 {
	font-size: 2.5rem;
	font-weight: 300;
	margin: 30px auto 5px;	
}
h1 a, h2 a, h3 a{
	text-decoration: none !important;
	color: #2B2E34 !important;
	display: block;
}
svg.titel_arrow{
	display: block;
	margin-top: 10px;
	margin-left: -100px;
	transition: all 0.4s ease;
}
a:hover svg.titel_arrow{
	margin-left: 0;
}

.titel_box{
	margin-bottom: 40px;
}
.titel_box h1, .titel_box h2, .titel_box h3{
	margin: 0;
}

.single-weine .titel_box span{
	font-family: "farnham-display", serif;
	line-height: 1;
	font-size: 3rem;
}
.single-weine .titel_box h1{
	font-family: "brandon-grotesque", sans-serif;
	font-size: 2rem;
}

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{
	text-decoration: none;
}

#page_hofstelle a{
	color: #537537;
}
#page_weingut a{
	color: #752025;
}
a:active, a:hover{
	opacity: 0.8;
	text-decoration: underline;
}




ul{
	padding-left: 20px;
	margin: 0 0 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;
}
.bg_padding{
	padding: 100px 0;
}


.titel_farbe{
	font-style: italic;
}
#page_hofstelle .titel_farbe{
	color: #537537;
}
#page_weingut .titel_farbe{
	color: #752025;
}

/* //////////////////////////////////// Header //////////////////////////////////// */
.platzhalter{
	display: none;
	height: 98px;
}
.verlauf {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 40%;
	z-index: 2;
	background: linear-gradient(to bottom,rgb(0 0 0 / .5) 0%,rgb(0 0 0 / .5) 45%,#fff0 100%);
	text-align: center;
}
.header{
	position: absolute;
	left: 0;
	width: 100%;
	z-index: 9;
}
.header .w1280{
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 40px;
	padding: 30px 60px;
}
.header_logo{
	position: absolute;
	left: 40px;
}
.header_logo svg{
	display: block;
}
.logo_hofstelle{
	top: 33px;
}
.logo_weingut{
	top: 25px;
}


.open_menu{
	display: none;
}
#hauptmenu{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
}
.nav-menu{
	list-style: none;
	padding: 0;
	margin: 0;
}
.nav-menu li{
	cursor: pointer;
}
.nav-menu li:last-child{
	margin: 0;
}
#hauptmenu.nav-menu li a{
	display: block;
	line-height: 1;
	color: #FFFFFF;
}
.nav-menu li a:hover{
	text-decoration: underline;
}
.nav-menu li .sub-menu{
	display: none;
	padding: 0;
}


.header_buttons, .social_links{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
}
.social_links{
	line-height: 0;
}

.social_links a{
	opacity: 0.8;
	transition: all 0.4s ease;
}
.social_links a:hover{
	opacity: 1;
}





.header.scrolled{
	background-color: #000000;
  box-shadow: 0 0 10px 5px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0 0 10px 5px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0 0 10px 5px rgba(0, 0, 0, 0.1);
  -o-box-shadow: 0 0 10px 5px rgba(0, 0, 0, 0.1);
	position: fixed;
	top: -200px;
	width: 100%;
	transition: all 0.3s ease;
	z-index: 100;
}

.header.scrolled .w1280{
	padding: 40px 60px;
}
.header.scroll_vis{
	top: 0;
}


.scrolled .logo_hofstelle .hover_fill{
	fill: #ffffff;
}
.single_wein_header .logo_weingut .hover_fill{
	fill: #000000;
}
.scrolled .logo_weingut .hover_fill{
	fill: #ffffff;
}

.scrolled .logo_hofstelle {
  top: 45px;
}

#page_hofstelle .scrolled .social_links .hover_stroke{
	stroke: #ffffff;
}
#page_weingut .scrolled .social_links .hover_stroke{
	stroke: #ffffff;
}
#page_hofstelle .scrolled .nav-menu li a{
	color: #c79d2e;
}
#page_weingut .scrolled .nav-menu li a, .single_wein_header #hauptmenu.nav-menu li a{
	color:  #c79d2e;
}
.scrolled .nav-menu li a:hover{
	color:#ffffff!important;
}

.scrolled .button_w a, .scrolled .button_w span{
	color: #c79d2e !important;
	border-color: #c79d2e;
}
.scrolled .button_w a:hover, .scrolled .button_w span:hover{
	background-color: #c79d2e;
	color: #FFFFFF !important;
}


.single_wein_header{
	position: relative;
}



/* //////////////////////////////////// Button //////////////////////////////////// */
.button{
	display: inline-block;
	width: auto;
	position: relative;
	cursor: pointer;
}
.button a, .button span{
	display: block;
	padding: 5px 15px;
	font-size: 1rem;
	border: 1px solid;
	border-radius: 20px;
	transition: all 0.4s ease;
}
.button a:hover, .button span:hover{
	opacity: 1;
	text-decoration: none;
}


.button_w a, .button_w span{
	color: #FFFFFF !important;
	border-color: #FFFFFF;
}
.button_w a:hover, .button_w span:hover{
	background-color: #FFFFFF;
	color: #2B2E34 !important;
}

.button_g a, .button_g span{
	color: #4B6D2F !important;
	border-color: #4B6D2F;
}
.button_g a:hover, .button_g span:hover{
	background-color: #4B6D2F;
	color: #FFFFFF !important;
}


.arrow_button{
	display: inline-block;
}
.arrow_button a{
	display: block;
	text-transform: uppercase;
	color: #707070 !important;
}
.arrow_button a svg{
	display: block;
	transition: all 0.4s ease;
}
.arrow_button a:hover svg{
	transform: translateX(50%);
}
.arrow_button_outer{
	text-align: right;
	margin: 20px 0;
	float: right;
}


/* //////////////////////////////////// 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%;
	position: relative;
	display: block;
}
.start_slider .swiper-slide{
	height: 70vh;
}
.start_slider .swiper-slide img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.swiper-pagination{
	position: absolute;
	left: 0;
	bottom: 40px;
	width: 100%;
	margin: 0 20px;
	line-height: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	z-index: 2;
}
.swiper-pagination-bullet{
	width: 12px;
	height: 12px;
	border-radius: 15px;
	background-color: #FFFFFF;
	display: block;
	cursor: pointer;
}
#page_hofstelle .swiper-pagination-bullet:hover,  #page_hofstelle .swiper-pagination-bullet-active{
	background-color: #537537;
}
#page_weingut .swiper-pagination-bullet:hover,  #page_weingut .swiper-pagination-bullet-active{
	background-color: #752025;
}

/* Standard Swiper Pfeil-Icons entfernen */
.swiper-button-prev::after,
.swiper-button-next::after { content: none; }

/* Deine bestehenden Farben */
.swiper-button-prev,
.swiper-button-next { color: #fff; }
.swiper-button-prev:hover,
.swiper-button-next:hover { color: #c79d2e; }

/* Custom Position & Hit-Area */
.start_slider .swiper-button-prev,
.start_slider .swiper-button-next {
  position: absolute;
  bottom: 30%;
  transform: translateY(-50%);
  z-index: 99;           /* über Pagination/Bilder */
  background: transparent;
  border: 0;
  padding: 0;
  width: 64px;          /* größere Klickfläche */
  height: 64px;
  display: grid;
  place-items: center;
  cursor: pointer;
}

.start_slider .swiper-button-prev { left: 16px; }
.start_slider .swiper-button-next { right: 16px; }

/* SVG skalieren & pointer events */
.start_slider .custom-nav svg {
  display: block;
  width: 60px;          /* gewünschte Pfeilhöhe */
  height: 60px;
  pointer-events: none; /* Klick geht an Button */
}

/* Optional: leichte Hintergrundfläche für bessere Lesbarkeit */
@media (hover: hover) {
  .start_slider .custom-nav:hover {
    /* nur wenn gewünscht:
    background: rgba(0,0,0,0.15);
    border-radius: 999px;
    */
  }
}

/* Mobile: Pfeile etwas weiter nach innen */
@media (max-width: 768px) {
  .start_slider .swiper-button-prev { left: 8px; }
  .start_slider .swiper-button-next { right: 8px; }
}




/* //////////////////////////////////// Home //////////////////////////////////// */
.header_video{
	width: 100%;
	height: 80vh;
	object-fit: cover;
	object-position: center;
}


/* //////////////////////////////////// Ferienwohnungen //////////////////////////////////// */
.flex_box_text_block {
	display: flex;
	flex-direction: column;
}
.flex_box_text_block.row_reverse, .flex_box_text_block:nth-child(even){
	align-items: flex-end;
}
.row_reverse .box_unten, .flex_box_text_block:nth-child(even) .box_unten{
	flex-direction: row-reverse;
}

.box_oben{
	width: calc(60% - 50px);
	margin-bottom: 100px;
	padding-left: 100px;
}
.box_oben ul, .box_unten ul, .infos ul, .text_box ul{
  list-style: none;
  padding-left: 0;
}
.box_oben ul li::before, .box_unten ul li::before, .infos ul li::before, .text_box ul li::before{
  content: "-";
  margin-right: 0.5em;
}	
.later_in{
	display: none;
}
.box_unten {
  display: flex;
  flex-direction: row;
  gap: 100px;
  align-items: flex-start;
}
.bild_q, .text_bild_box{
  width: calc(60% - 50px);
  display: block;
  text-align: right;
}
.seite_bild{
  width: calc(40% - 50px);
  margin-top: -200px;

}
.row_reverse .seite_bild{
	text-align: right;
}
.spciallink.row_reverse .arrow_button_outer a{
	text-align:left;
	width: 100%;
	float: none;
}
.spciallink .arrow_button_outer a{
	text-align:left;
	width: 100%;
}
.wohnung_out{
	padding-top:30px;
}
.bild_box{
	position: relative;
	width: 100%;
	padding-top: 120%;
	line-height: 0;	
}
.bild_box img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}


.swiper.swiper_carousel{
	max-width: 1500px;
	padding: 0 120px;
}
.swiper_carousel .swiper_arrow{
	width: 120px;
}
.swiper_carousel .swiper_button_prev{
	padding-left: 20px;
}
.swiper_carousel .swiper_button_next{
	padding-right: 20px;
}



.swiper_carousel .info_box{
	width: calc(33.33% - 53.3px);
	position: relative;
	padding-right: 20px;
	padding-top: 20px;
}
.swiper_carousel .info_box svg{
	width: 100px;
	max-height: 100px;
	position: absolute;
	right: 0;
	top: 0;
	opacity: 0.3;
	z-index: -1;
}
.swiper_carousel .info_box span{
	display: block;
}




.einleitung_single{
	padding-left: 100px;
	width: calc(60% - 50px);
}
.flex_box_grundriss{
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	gap: 40px;
	margin-top: 50px;
}
.flex_box_grundriss img{
	width: calc(100% - 400px);
}
.flex_box_grundriss .infos{
	width: 350px;
	flex-shrink: 1;
}

.flex_box_ausstattung{
	display: flex;
	flex-wrap: wrap;
	gap: 100px;
}
.ausstattung_box {
  display: flex;
  width: calc(50% - 50px);
  gap: 30px;
  align-items: flex-start;
  line-height: 1.24;
}
.ausstattung_box .icon_box{
	width: 80px;
	flex-shrink: 0;
}
.ausstattung_box svg{
	max-width: 80px;
	height: auto;
	max-height: 80px;
}


.flex_box_text_block_2 .box_oben{
	margin: 0;
}
.text_box{
	width: calc(40% - 50px);
}
.text_box_full{
	width: 100%;
}

.bild_box_gallerie{
	position: relative;
	width: 100%;
	padding-top: 50%;
}
.bild_box_gallerie img{
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	object-position: center;
	object-fit: cover;
}
.nur_text{
	text-align:center!important;
}
.nur_title{
	max-width:450px;
	margin: 0 auto;
}

/* AKKORDEON */
.accordion-item {
	padding: 0 20px 20px;
	margin-bottom: 15px;
	position: relative;
	border-bottom: 1px solid #aaa;
}
.accordion-item:last-child {
	border-bottom: 0;
}
.accordion-item h2{
	margin-bottom: 0;
	color: #000!important;
}
.accordion-content {
    display: none;
	padding-right: 40px;
	padding-top: 20px;
}
#agb .accordion-content {
    color: #000;
}
.accordion-header {
    cursor: pointer;
	padding-right: 40px;
	font-size: 25px;
	font-weight:400;
}
.toggle {
    position: absolute;
	right: 20px;
	top: 1px;
	color:#666;
}

/* //////////////////////////////////// Weingut //////////////////////////////////// */
.runner-wrapper {
  position: absolute;
  top: 35%;
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
  border-top: 1px solid rgba(255,255,255,0.2);
  border-bottom: 1px solid rgba(255,255,255,0.2);
  padding: 33px 0 20px 0;
  z-index: 8;
}

.runner-wrapper span {
  display: inline-block;
  font-size: 3rem;
  font-weight: bold;
  text-transform: uppercase;
  padding-right: 50px; /* Abstand zwischen Wiederholungen */
  color: #FFFFFF;
}
.bg_bild{
	line-height:0;
}
.frontend_bild{
	position:absolute;
	bottom: 0;
	left:0;
	z-index: 8;
	width: 100%;
	height: auto;
	line-height:0;
}

/* //////////////////////////////////// Weineauflistung //////////////////////////////////// */
.weiss_wein .farbe_weintyp{
	color: #BBA024;
}
.rot_wein .farbe_weintyp{
	color: #752025;
}


.spez_w1280{
	padding: 0 40px;
	width: calc(50% + 640px);
  float: right;
}
.spez_w1280.row_reverse{
	float: left;
}

.flex_box_wein_slider{
	display: flex;
	justify-content: space-between;
	gap: 50px;
	align-items: center;
}
.row_reverse .flex_box_wein_slider{
	flex-direction: row-reverse;
}
.flex_box_wein_slider h2{
	width: 300px;
}

.swiper_weine{
	margin: 0;
	padding: 0 70px;
}
.swiper_weine .swiper-slide a, .swiper_lagen_weine .swiper-slide a{
	font-size: 1.15rem;
	display: block;
	color: #707070 !important;
}
.swiper_lagen_weine .swiper-slide a{
	padding: 0 70px;
}
.swiper_weine .swiper-slide a:hover, .swiper_lagen_weine .swiper-slide a:hover{
	text-decoration: none;
}
.swiper_weine .swiper-slide img, .swiper_lagen_weine .swiper-slide img{
	height: 400px;
	width: auto;
	display: block;
	margin: 0 auto 10px;
}
.swiper_weine .swiper-slide h3, .swiper_lagen_weine .swiper-slide h3{
	font-family: "brandon-grotesque", sans-serif;
	font-size: 1.45rem;
	margin: 0 0 10px;
}
.swiper_weine .swiper-slide h2, .swiper_lagen_weine .swiper-slide h2{
	font-size: 1.7rem;
	margin: 0 0 20px;
	width: auto;
}



.swiper_arrow{
	display: flex;
	align-items: center;
	position: absolute;
	height: 100%;
	z-index: 2;
	background-color: #FFFFFF;
	width: 70px;
	cursor: pointer;
	top: 0;
}
.swiper-button-disabled{
	opacity: 0.3;
	display: none;
}
.swiper_arrow svg{
	display: block;
}
.swiper_button_prev{
	left: 0px;
	justify-content: flex-start;
}
.swiper_button_next{
	right: 0;
	justify-content: flex-end;
}



/* //////////////////////////////////// Single Weine //////////////////////////////////// */
.single-weine .titel_box, .flex_box_single_wein{
	padding-left: 100px;
}

.flex_box_single_wein{
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	align-items: flex-start;
	gap: 100px;
}
.flex_box_single_wein img{
	margin-top: -150px;
}
.single_wein_info{
	margin-top: 40px;
}
.single_wein_info h2{
	font-family: "brandon-grotesque", sans-serif;
	margin-bottom: 10px;
	font-size: 2rem;
}
.single-weine .titel_box span.mudm, span.untertitel{
	display: block;
	font-size: 1.25rem;
	color: #707070;
}

/* //////////////////////////////////// Lagen Karte //////////////////////////////////// */
#weinkarte_base{
	position:relative;
	margin:0 auto;
	padding:0;
}
#weinkarte_base img{
	width:100%;
	display: block;
}
.kartenoverlay, .textoverlay{
	position:absolute;
	left:0;
	top:0;
	z-index:2;
	margin:0;
	padding:0;
	display:none;
}
.transparent_karte{
	position:absolute;
	left:0;
	top:0;
	z-index:99;
	margin:0;
	padding:0;
}
.visible_map, .permanent_visible, .visible_map_wein, .clicked_lage{
	display:block;
}
#Map area{
	cursor: pointer;
}




.flex_box_lagen{
	display: flex;
	justify-content: space-between;
	gap: 100px;
}
#lagen_content, #lagen_weine{
	width: calc(50% - 50px);
}
.bild_lage{
	margin-top: 20px;
	display: block;
}



.overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,0.2);
	z-index: 8;
	opacity: 1;
	transition: all 0.4s ease;
}
.overlay.hidden {
	display: none;
}


.overlay:after {
	content: " ";
	display: block;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	border: 6px solid #fff;
	border-color: #fff transparent #fff transparent;
	animation: lds-dual-ring 1.2s linear infinite;

	position: absolute;
	top: 50%;
	left: 50%;
  transform: translate(-50%, -50%);
}
@keyframes lds-dual-ring {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}


/* //////////////////////////////////// Magazin //////////////////////////////////// */
.gutter_sizer{
	width: 100px;
	display: block;
}
.grid_box{
	width: calc(50% - 50px);
	margin: 0 0 80px;
	position: relative;
}
.grid_box a{
	color: #707070 !important;
}
.grid_box a:hover{
	text-decoration: none;
	
}
.grid_box:nth-child(2){
	margin-top: 100px;
}
.grid_box .bild_box{
	position: relative;
	margin-bottom: 40px;
	padding-top: 0;
}
.grid_box .bild_box::after {
  content: "";
  display: block;
  padding-top: 100%;
}
.grid_box .bild_box img{
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	object-fit: cover;
	object-position: center;
}
.grid_box:last-child, .grid_box:nth-last-child(2){
	margin-bottom: 0;
}
.grid_box h2, .latest_news h3{
	font-size: 2rem;
}

/* //////////////////////////////////// Footer //////////////////////////////////// */
.footer_links img{
	min-height: 500px;
}
.verlinkung_box{
	position: absolute;
	left: 0;
	top: 10%;
	width: auto;
	display: flex;
	flex-direction: column;
	gap: 40px;
}
.verlinkung_box a{
	display: block;
	font-size: 3rem;
	font-family: "farnham-display", serif;
	line-height: 1;
	position: relative;
}
.verlinkung_box a:hover{
	text-decoration: none;
}
.verlinkung_box a span{
	display: block;
	margin-bottom: 10px;
	transform: translateX(50%);
	transition: all 0.4s ease;
	width: 100%;
}
.verlinkung_box a:hover span{
	transform: translateX(75%);
}

.verlinkung_box a svg{
	display: block;
	height: 20px;
	transform: translateX(-25%);
	transition: all 0.4s ease;
}
.verlinkung_box a:hover svg{
	transform: translateX(0%);
}
.arrow_line {
	transform: scale(0.75, 1);
	transform-origin: right;
	transition: all 0.4s ease;
}
.verlinkung_box a:hover .arrow_line{
	transform: scale(1, 1);
}

.verlauf_footer {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 40%;
	z-index: 1;
	background: linear-gradient(to top,rgba(255,255,255, 1) 0%,rgba(2255,255,255, 0.8) 60%,rgba(255,255,255, 0) 100%);
	text-align: center;
}

footer, footer a{
	color: #2B2E34;
}
footer a:hover{
	color: #2B2E34;
}
footer strong{
	text-transform: uppercase;
	font-weight: bold;
}

.flex_box_footer{
	display: flex;
	justify-content: space-between;
	gap: 40px;
	align-items: flex-start;
	text-align: center;
	margin-bottom: 60px;
}
.newsletter{

}
.adresse{

}
#page_hofstelle .social_links_footer .hover_stroke{
	stroke: #537537;
}
#page_weingut .social_links_footer .hover_stroke{
	stroke: #752025;
}

#footer_menu, .flex_box_footer_menu, .sub_footer{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 40px;
}

.sub_footer{
	position: relative;
	margin-top: 80px;
}
.logo_boxen{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 20px;
	max-width: calc(100% - 500px);
}
.logo_boxen a{
	display: block;
	line-height: 0;
}

.logo_boxen a svg, .logo_boxen a img{
  max-width: 150px;
  max-height: 80px;
  width: auto;
}

.impressum{
	position: absolute;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 5px;
	top: 50%;
  transform: translateY(-50%);
}
.mwst{
	position: absolute;
	right: 0;
	top: 50%;
  transform: translateY(-50%);
}

/* //////////////////////////////////// SEITENWECHSEL //////////////////////////////////// */
.sticky-cta {
	position: fixed;
	right: 0;
	bottom: 40px;
	height: 90px;
	color: #fff;
	border-top-left-radius: 45px;
	border-bottom-left-radius: 45px;
	padding: 10px 56px 10px 14px; /* 10px top/bottom, rechts Platz für Strich */
	display: flex;
	align-items: center; /* vertikal mittig */
	gap: 12px;
	text-decoration: none;
	overflow: hidden;   /* Text anfangs verbergen */
	z-index: 9999;
	isolation: isolate;
	text-decoration: none!important;
	color:#fff!important;
	text-transform: uppercase;
}
.sticky-cta_upper {
	bottom: 150px;
}
.red{
	background: #752025;
}
.green{
	background: #537537;
}
.sticky-cta::after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	width: 40px;
	height: 2px;
	background: #fff;
	transform: translateY(-50%);
	opacity: .9;
	pointer-events: none;
}
.sticky-cta__inner {
	display: flex;
	align-items: center;
	height: 100%;
	gap: 10px;
}
.sticky-cta__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	flex: 0 0 60px;
}
.sticky-cta__icon svg,
.sticky-cta__icon img {
	display: block;
  width: 100%;
  height: 100%;
  max-height: none;       /* wichtig für Safari */
}
.sticky-cta__textwrap {
	overflow: hidden;
	max-width: 0;             /* Start: nicht sichtbar */
	opacity: 0;               /* Start: ausgeblendet */
	transform: translateX(20px); /* leicht nach rechts, damit es "nach links" rein slidet */
	transition:
	max-width .6s ease,     /* länger = langsamer beim Hover-Out */
	opacity  .6s ease,
	transform .6s ease;
	will-change: max-width, opacity, transform;
	display: flex;
	align-items: center;      /* Text vertikal mittig, egal wie viele Zeilen */
}
.sticky-cta:hover .sticky-cta__textwrap {
	max-width: 420px;         /* genug Platz für 2–3 Zeilen; anpassen */
	opacity: 1;
	transform: translateX(0);
	transition-duration: .7s; /* schnelleres Hover-In */
}
.sticky-cta__text {
	white-space: normal;      /* Zeilenumbrüche zulassen */
	text-align: left;         /* linksbündig */
	line-height: 1.25;
}

/* //////////////////////////////////// NEWSLETTER //////////////////////////////////// */
div.tnp-subscription, form.tnp-subscription, form.tnp-profile{
  	max-width: 800px!important;
  	width: 100%;
}
.tnp-subscription input[type="text"], .tnp-subscription input[type="email"], .tnp-subscription input[type="submit"], .tnp-subscription select, .tnp-subscription textarea, .tnp-profile input[type="text"], .tnp-profile input[type="email"], .tnp-profile input[type="submit"], .tnp-profile select, .tnp-profile textarea{
	width: 100%;
	padding: .7em;
	display: block;
	border: 0;
	border-bottom: 1px solid #666!important;
	color: #000;
	background-color: transparent!important;
	background-image: none;
	text-shadow: none;
	font-size: 1em;
	margin: 0;
	line-height: normal;
	box-sizing: border-box;
}
.tnp-subscription label, .tnp-profile label{
	display:none!important;
}
.tnp-privacy-field label{
	display:block!important;
}
.tnp-subscription input.tnp-submit, .tnp-profile input.tnp-submit, .tnp-unsubscribe button.tnp-submit, .tnp-reactivate button.tnp-submit{
	color:#537537!important;
	border: 1px solid #666!important;
	border-radius: 25px;
	padding: 10px 30px!important;
}
.tnp-subscription input.tnp-submit:hover, .tnp-profile input.tnp-submit:hover, .tnp-unsubscribe button.tnp-submit:hover, .tnp-reactivate button.tnp-submit:hover{
	color:#fff!important;
	border: 1px solid #537537!important;
	background-color: #537537!important;
	cursor: pointer;
}


/* ///////////////////// Abfalltrennung ///////////////////// */
#abfalltrennung .w1024{
	padding: 0;
}
.abfalltrennung_block{
}
.abfalltrennung_block h2{
	margin-bottom: 0px;
}
.abfalltrennung_block .grid{
	margin-top: 30px;
}
.trennungs_block{
	width: calc(50% - 10px);
	margin: 0 0 20px;
	float: left;
	background-color: #efefef;
	text-align: left;
	padding: 20px;
}
.trennungs_block:nth-child(2n){
	margin-left: 20px;
}
.trennungs_block .icon_box{
	float: left;
	margin-right: 15px;
	width: 50px;
	height: auto;
	line-height: 0;
}
.icon_box img{
	max-width: 100%;
}
.trennungs_block .beschreibung_block{
	float: left;
	width: calc(100% - 65px);
	font-size: 16px;
}
.trennungs_block .beschreibung_block span{
	display: block;
	font-weight: 500;
	text-transform: uppercase;
	font-size: 18px;
}
.abfalltrennung_block h3{
	margin: 30px auto 0;
	font-weight: normal;
	font-size: 20px;
}
.abfalltrennung_block .abfallacc {
	background-color: #891920 !important;
	color: #fff;
	cursor: pointer;
	padding: 20px;
	width: 100%;
	border: none;
	outline: none;
	transition: 0.4s;
	font-size: 25px;
	font-weight: 500;
	text-align: center;
}
.abfalltrennung_block .active, .abfalltrennung_block .abfallacc:hover {
  background-color: #891920;
}
.abfalltrennung_block .abfallacc:after {
  content: '\002B';
  color: #fff;
  font-weight: bold;
  float: right;
  margin: 4px 0 0 0;
}
.abfalltrennung_block .active:after {
    content: "\2212" !important;
}
.abfalltrennung_block .panel {
	padding: 0;
	background-color: white;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.2s ease-out;
}
.abfalltrennung_block .panel_acitve.show{
	max-height: none;
	transition: max-height 0.2s ease-out;
}
.abfalltrennung_block .panel h3{
	text-align: center;
}


.spacertop{
	margin-top:80px;
}

/* //////////////////////////////////// ANFRAGEFORM //////////////////////////////////// */
.wpcf7-form p{
	margin:0 0 15px!important;
}
.last{
	margin-right: 0px !important;
}
input, textarea {
    color: #141412;
}
button, input, textarea {
    font-family: inherit;
    padding: 8px 12px;
}
button, input {
    line-height: normal;
}
button, input, select, textarea {
    font-size: 100%;
    margin: 0;
    max-width: 100%;
    vertical-align: baseline;
    width: 100%;
}
.buchen-button-angebote{	
	margin-right: 1px;
}
.check{
	width:13px;
	margin-top: 70px;
}
::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: #597033;
}
::-moz-placeholder { /* Firefox 19+ */
  color: #597033;
}
:-ms-input-placeholder { /* IE 10+ */
  color: #597033;
}
:-moz-placeholder { /* Firefox 18- */
  color: #597033;
}
.anfragen_btn2{
    background-color: #6d6e71 !important;
    border-color: none !important;
    border-radius: 0px !important;
    border-style: none !important;
    border-width: 0px !important;
    box-shadow: none !important;
    color: #fff !important;
    height: 45px ;
    margin-top: 30px ;
    text-shadow: none !important;
    text-transform: uppercase;
    width: 150px;
}
.anfragen_btn2:disabled{
    background-color: #efefef !important;
    color: #ccc !important;
}
.wpcf7{
	text-align: left;
}
.twenty{
	width: 20%;
	margin-right: 4%;
	display: inline-block;
}
.twentytwo{
	width: 22%;
	margin-right: 3.1%;
	display: inline-block;
}
.twentytwo.center{
	margin-right: 5%;
}
.twentytwo.last{
	margin-right: 0%;
	display: inline-block;
}
.twelve{
	width: 12%;
	margin-right: 5.6%;
	display: inline-block;
}
.twelve.last{
	margin-right: 0%;
	display: inline-block;
}
.thirtyfive{
	width: 35%;
	margin-right: 4%;
	display: inline-block;
}
.thirtyfive.last{
	margin-right: 0%;
	display: inline-block;
}
.one-third{
	width:30%;
	display: inline-block;
	margin-right: 4%;
}
.one-third.last{
	margin-right:0%;
	display: inline-block;
}
.abstand-inputfields{
	display: inline-block;
    margin-right: 30px;
    padding-top: 0;
}
.input select {
    height: 49px;
	background-color: #fff;
	border-radius: 0;
	border: 1px solid #8f8f9c;
	margin-top: 1px;
}
.abstand-buttons{    
	display: inline-block;
}
.leer{
	width: 100%;
	height: 20px;
	display: inline-block;
}
.full{
	width: 99%!important;
	display: inline-block;
}
.wpcf7-not-valid-tip {
  color: #dc3232;
  font-size: 14px;
  font-weight: normal;
  display: block;
  position: absolute;
  left: 10px;
  bottom: -21px;
  background-color: #fff;
  padding: 0 5px;
}
#anfrage {
  display: block;
  position: relative;
  top: -300px;  /* verschiebt den Anker nach oben */
  visibility: hidden;
}



#languages {
	position: absolute;
	line-height: 1;
	margin: 0;
	top: 78px;
	right: 40px;
	color: #fff;
}
#languages a{
	display: inline-block;
	vertical-align: middle;
	text-transform: uppercase;
	font-size: 1.15rem;
	color: #fff;
	line-height: 1;
	width: 50px;
	text-align: center;
}
#languages a:nth-child(1){
	margin-right: 0;
}
#languages a:nth-child(2){
	margin-left: 0;
}
#languages a:hover{
	color: #c79d2e;
}
#languages a.active_lang{
	display: none;
}


/* //////////////////////////////////// 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) */
}