/* //////////////////////////////////// ALLGEMEIN //////////////////////////////////// */
html {
	box-sizing: border-box;
	background-color: #F1EFE8;
}
*, *:before, *:after {
	box-sizing: inherit;
}
body{
	font-family: "gal-gothic-variable", sans-serif;
	font-variation-settings: "wdth" 100, "wght" 400;
	color: #282825;
	margin: 0px;
	line-height: 1.6;
	font-size: 1.25rem;
	scroll-behavior: smooth;
}
h1, h2, h3, h4, h5, h6 {
	font-size: 3rem;
	color: #1E2529;
	margin: 0 auto 20px;	
	line-height: 1;
	text-transform: uppercase;
	font-variation-settings: "wdth" 100, "wght" 800;
}
h3{
	font-size: 1.8rem;
  	margin-bottom: 0;
	text-transform: inherit;
	padding-bottom: 10px;
	line-height: 1.5;
}
.obertitel{
	display: block;
	font-size: 1rem;
	text-transform: uppercase;
	font-family: "ff-nexus-typewriter", sans-serif;
	font-weight: 400;
	margin-bottom: 20px;
}
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: #AF645C;
	text-decoration: none;
}
a:active, a:hover {
	color: #c0c0c0;
}
strong{
	font-family: "gal-gothic-variable", sans-serif;
	font-variation-settings: "wdth" 100, "wght" 700;
}
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;
}
.w600{
	max-width:600px;
	margin:0 auto;
	position:relative;
}
.margin_oben{
	margin-top: 80px;
}
.margin_unten{
	margin-bottom: 80px;
}
.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;
}
.padding_unten{
	padding-bottom: 100px;
}
.bg_black{
	background-color: #282825;
	color: #F1EFE8;
}
.bg_black h1, .bg_black h2, .bg_black h3, .bg_black h4{
	color: #F1EFE8;
}
.half_bg{
	background-color: #282825;
	position: absolute;
	z-index: 1;
	top: 0;
	width: 100%;
	height: 40%;
}

.dash{
	width: 100%;
	height: 1px;
	margin-bottom: 40px;
	background-color: #282825;
}
.bg_black .dash{
	background-color: #F1EFE8;
}

/* //////////////////////////////////// Header //////////////////////////////////// */
.header{
	background-color: #1E2529;
	padding: 30px 0;
	border-bottom: 1px solid #F1EFE8;
	z-index: 12;
	width: 100%;
	position: relative;
}
.header.absolute_header{
	position: absolute;
	background-color: transparent;
}
.header .w1280{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.open_menu{
	display: flex;
	width: 170px;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	line-height: 1;
	color: #FFFFFF;
	text-transform: uppercase;
}
.head_right{
	width:170px!important;
	text-align: right;
}
.head_right.button a{
	display:inline-block!important;
}
.open_text{
	line-height: 1;
	margin-top: 2px;
}
.open_spans{
	width: 30px;
	height: 11px;
	text-align: right;
	position: relative;
}
.open_spans span{
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	height: 2px;
	background-color: #FFFFFF;
	display: block;
    transform: rotate(0deg);
    transition: 0.5s ease-in-out;
}
.open_spans span:last-child{
	width: 80%;
	top: 8px;
	float: right;
}
.open .open_spans span:first-child {
    transform: rotate(45deg);
    top: 4px;
	right: 0;
}
.open .open_spans span:last-child {
    transform: rotate(-45deg);
    top: 4px;
	right: 0;
	width: 100%;
}




.header_logo{
	display: block;
	line-height: 0;
}

.menu{
	display: none;
	z-index: 10;
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	background-color: #282825;
}
.inner_menu {
	display: flex;
	align-items: center;
	height: calc(100% - 138px);
	width: 100%;
	overflow: scroll;
	margin-top: 138px;
}
.menuwrap {
	width: 50%;
	text-align: center;
	padding: 0 25px;
}
.menu_bild_box {
	width: 50%;
	height: 100%;
	position: relative;
}
.menu_bild_box img{
	position: absolute;
	top: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	z-index: 1;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.menu_bild_box img.active{
	opacity: 1;
}
.menu_bild_box img.hover_active{
	z-index: 2;
	opacity: 1;
}


.nav-menu{
	list-style: none;
	padding: 0;
	margin: 0;
	display: inline-block;
	text-align: left;
	min-width: 350px;
}
.nav-menu li{
	cursor: pointer;
	margin-bottom: 30px;
}
.nav-menu li:last-child{
	margin: 0;
}
.nav-menu li a{
	display: block;
	line-height: 1;
	color: #F1EFE8;
	text-transform: uppercase;
	font-size: 2.5rem;
	font-variation-settings: "wdth" 100, "wght" 800;
}
.nav-menu li a:hover, .nav-menu li.current_page_item a{
	text-decoration: underline;
}


.wpml-lang-switcher{
	display:inline-block;
	text-align: left;
	gap:0;
	min-width: 350px;
}

.wpml-lang{
	display:inline-block;
	text-transform:uppercase;
	text-decoration:none;
	color:#fff;
	margin: 0 30px 0 0;
}
/* Separator " | " automatisch zwischen den Links 
.wpml-lang + .wpml-lang::before{
	content:" | ";
	display:inline-block;
	margin:0 .5rem;
	opacity:.7;
}
*/



.breadcrums{
	padding: 20px 0;
	background-color: #1E2529;
	border-bottom: 1px solid #F1EFE8;
	color: #F1EFE8;
	font-family: "ff-nexus-typewriter", sans-serif;
	text-transform: uppercase;
	font-size: 0.8rem;
	line-height: 1;
}
.absolute_breadcrums{
	position: absolute;
	top: 140px;
	left: 0;
	width: 100%;
	background-color: transparent;
	z-index: 4;
}
.breadcrums a{
	color: #F1EFE8;
}
.breadcrums a:hover{
	color: #AF645C;
}
.breadcrums .w1280{
	display: flex;
	gap: 20px;
}
/* //////////////////////////////////// Button //////////////////////////////////// */
.button{
	display: inline-block;
	width: auto;
	position: relative;
	cursor: pointer;
}
.button a, .button span{
	display: block;
	padding: 13px 20px 15px;
	font-size: 0.8rem;
	border-radius: 30px;
	text-transform: uppercase;
	line-height: 1;
	font-family: "ff-nexus-typewriter", sans-serif;
	border: 1px solid #282825;
}

.button_beige a, .button_beige span{
	background-color: #F1EFE8;
	color: #282825;
}
.button_black a, .button_black span{
	background-color: #282825;
	color: #F1EFE8;
}
.button_white a, .button_white span{
	background-color: #F1EFE8;
	color: #282825;
}
.button a:hover, .button span:hover{
	background-color: #AF645C;
	color: #ffffff;
}


/* //////////////////////////////////// Swiper //////////////////////////////////// */
.swiper {
	margin-left: auto;
	margin-right: auto;
	position: relative;
	overflow: hidden;
	list-style: none;
	padding: 0;
	z-index: 1;
	display: block;
}
.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-slide img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}


/* //////////////////////////////////// swiper_start_slider //////////////////////////////////// */
.swiper-vertical > .swiper-wrapper {
	flex-direction: column;
	height: 100vh;
	min-height: 600px;
}
.swiper_start_slider .slider_text_box{
	position: absolute;
	z-index: 4;
	bottom: 100px;
	right: 100px;
	text-align: right;
}
.slider_text_box h2{
	color: #F1EFE8;
	margin-bottom: 20px;
}
.verlauf{
	position: absolute;
	width: 100%;
	left: 0;
	z-index: 2;
	height: 30%;
}
.verlauf_top{
	background: linear-gradient(to bottom, rgba(40,40,37, 0.7) 0%, rgba(40,40,37,0.7) 45%, rgba(40,40,37,0) 100%);
	top: 0;
}
.verlauf_bottom{
	background: linear-gradient(to top, rgba(40,40,37, 0.7) 0%, rgba(40,40,37,0.7) 45%, rgba(40,40,37,0) 100%);
	bottom: 0;
}
.swiper-pagination{
	position: absolute;
	z-index: 3;
	left: 100px;
	bottom: 100px;
	margin: 0;
	line-height: 0;
}
.swiper-pagination-bullet{
	width: 12px;
	height: 12px;
	border-radius: 15px;
	background-color: #F1EFE8;
	display: block;
	margin: 15px auto 0;
	cursor: pointer;
	position: relative;
}
.swiper-pagination-bullet:hover{
	background-color: rgba(255, 255, 255, 0.5);
}
.swiper-pagination-bullet-active:hover{
	background-color: #FFFFFF;
}
.swiper-pagination-bullet-active::before, .swiper-pagination-bullet:hover::before{
	content: "";
	position: absolute;
	top: -5px;
	left: -5px;
	width: 22px;
	height: 22px;
	background-color: rgba(255, 255, 255, 0.3);
	border-radius: 50%;
}

/* //////////////////////////////////// swiper_bilder_carousel //////////////////////////////////// */
.swiper_bilder_carousel .swiper-slide{
	position: relative;
	padding-top: 25%;
}
.swiper_bilder_carousel .swiper-slide img{
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
}
.swiper_bilder_carousel .swiper-slide span{
	position: absolute;
	right: 0;
	bottom: 0;
	background-color: #282825;
	padding: 10px;
	font-family: "ff-nexus-typewriter", sans-serif;
	text-transform: uppercase;
	color: #F1EFE8;
	font-size: 0.8rem;
	max-width: 100%;
}


.swiper_controls{
	max-width: 960px;
	padding: 0 40px;
	margin: 50px auto 0;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
}
.swiper_buttons{
	display: flex;
	align-items: center;
	gap: 20px;
}
.swiper_arrows{
	width: 50px;
	height: 50px;
	border: 1px solid #282825;
	line-height: 0;
	cursor: pointer;
	padding: 15px;
	text-align: center;
}
.swiper_arrows:hover{
	background-color: #AF645C;
}
.swiper_arrows svg{
	width: 100%;
	height: 100%;
}
.swiper_arrows:hover svg .hover_fill{
	fill: #ffffff;
}
.swiper_arrows.swiper-button-disabled:hover svg .hover_fill{
	fill: inherit;
}
.swiper_arrows.swiper-button-disabled:hover{
	background-color: inherit;
	cursor: not-allowed;
}
.swiper_arrows.swiper-button-disabled{
	opacity: 0.3;
}




/* Scrollbar */
.swiper-scrollbar {
	width: 100%;
	height: 3px;
	border-radius: 10px;
	position: relative;
	-ms-touch-action: none;
	background: rgba(0, 0, 0, 0.1);
	background-color: #cccccc;
}
.swiper-scrollbar-drag{
	height: 15px;
	width: 100%;
	position: relative;
	left: 0;
	top: -5px;
	padding-top: 5px;
}
.swiper-scrollbar-drag:before{
	width:100%;
	height: 3px;
	content: "";
	background: #282825;
	border-radius: 10px;
	display: block;
}
.swiper-scrollbar-cursor-drag {
	cursor: move;
}


/* //////////////////////////////////// Home //////////////////////////////////// */
.flex_box_bild_text{
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	gap: 100px;
}
.flex_box_bild_text.reverse_bild_text{
	flex-direction: row;
}
.flex_box_bild_text .outer_img{
	width: 50%;
	height: auto;
	margin-left: 40px;
	position: relative;
	z-index: 2;
}
.flex_box_bild_text.reverse_bild_text .outer_img{
	margin-left: 0;
	margin-right: 40px;
}
.flex_box_bild_text .text_box{
	width: 50%;
}

.text_box ul{
	list-style: none;
	padding-left: 0;
}
.text_box ul li{
	position: relative;
	padding-left: 30px;
	margin-bottom: 15px;
}
.text_box ul li:before{
	content: "+";
	position: absolute;
	left: 0;
	top: 0;
}
.flex_box_bild_text .text_box .w600{
	margin: 0;
	padding-right: 40px;
}
.flex_box_bild_text.reverse_bild_text .text_box .w600{
	padding-right: 0;
	padding-left: 40px;
	float: right;
}
.muster_home {
	position: absolute;
	bottom: -325px;
	left: -260px;
	max-width: 650px;
}

.flex_box_bild_text .text_box img{
	margin-top: 100px;
	position: relative;
	z-index: 2;
}
.flex_box_bild_text img.outer_img {
	width: calc(50% - 140px);
	position: absolute;
	left: 40px;
	margin: 0 !important;
	top: 50%;
	transform: translate(0%, -50%);
	max-height: 100%;
}

.flex_box_bild_text.reverse_bild_text img.outer_img{
	left: auto;
	right: 0;
}


.abschluss{
	font-size: 1.6rem;
	font-variation-settings: "wdth" 100, "wght" 500;
	color: #282825;
}
.abschluss:hover{
	color: #AF645C;
}
.mehr_link{
	font-family: "ff-nexus-typewriter", sans-serif;
	text-transform: uppercase;
	font-size: 0.8rem;
	line-height: 1;
	margin-left: 20px;
}
.toggle-link .mehr_link{
	margin-left: 0;
	color:#fff!important;
}
.toggle-link .mehr_link:hover{
	color:#AF645C!important;
}

.video_block{
	
}
.video_block video{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	max-height: 800px;
}
.video_block .overlay{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: flex-end;
	background-color: rgba(40, 40, 37, 0.6);
	color: #FFFFFF;
	line-height: 1.6;
	padding-bottom: 50px;
}
.video_block .overlay h2{
	color: #F1EFE8;
	border-bottom: 1px solid #F1EFE8;
	padding-bottom: 20px;
}
.flex_box_projekt{
	display: flex;
	flex-direction: row;
	gap: 100px;
	align-items: center;
	justify-content: space-between;
}
.projekt_text{
	width: calc(100% - 250px);
}

.flex_box_titel_berichte {
	display: flex;
	justify-content: flex-end;
	width: 100%;
	margin: 200px 0 10px;
	z-index: 2;
	position: relative;
}
.flex_box_titel_berichte h2{
	width: calc(40% - 50px);
	margin: 0;
}


.swiper_berichte_slider{
	overflow: visible;
}
.flex_box_berichte_slider{
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 100px;
}

.flex_box_berichte_slider .bilder_box {
	position: absolute;
	width: calc(60% - 50px);
	left: 0;
	bottom: 100px;
	line-height: 0;
	top: -240px;
}
.flex_box_berichte_slider .bilder_box img{
	position: absolute;
	top: 0;
	left: 0;
}
.flex_box_berichte_slider .bilder_box .quadrat_bild{
	position: absolute;
	height: 300px;
	width: 300px;
	left: calc(50% - 150px);
	bottom: -100px;
	z-index: 2;
}
.flex_box_berichte_slider .bilder_box .quadrat_bild img{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
}
.flex_box_berichte_slider .text_box{
	width: calc(40% - 50px);
	margin-bottom: 200px;
	padding-right: 40px;
}
.flex_box_berichte_slider .text_box .inner_text_box{
	max-width: 450px;
}
.flex_box_berichte_slider .text_box .inner_text_box .name, .single_erlebins .name{
	font-family: "ff-nexus-typewriter", sans-serif;
	text-transform: uppercase;
	font-size: 1rem;
	margin-bottom: 50px;
	display: block;
}
.flex_box_berichte_slider .text_box .inner_text_box .button{
	margin-top: 50px;
}

.swiper_berichte_slider .swiper_buttons {
	position: absolute;
	right: 0;
	z-index: 9;
	bottom: 0;
	width: calc(40% - 50px);
}

/* //////////////////////////////////// Etappen //////////////////////////////////// */
#term-filters{
	margin: 100px 0;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-flow: wrap;
	gap: 40px;
}
.term-filter{
	color: #F1EFE8;
	font-family: "ff-nexus-typewriter", sans-serif;
	text-transform: uppercase;
	font-size: 1rem;
	background-color: #282825;
	padding: 10px 20px;
	border: 1px solid #282825;
	border-radius: 50px;
	line-height: 1;
}
.term-filter:hover, .term-filter.active{
	background-color: #F1EFE8;
	color: #282825;
	cursor: pointer;
}

.gutter-sizer{
	width: 100px;
}
.grid-item-etappen, .grid-item-bericht{
	width: calc(50% - 50px);
	margin-bottom: 120px;
	text-align: center;
	-webkit-transition: all ease 0.3s !important;
	-moz-transition: all ease 0.3s !important;
	transition: all ease 0.3s !important;
	overflow: hidden;
}
.grid-item-etappen:nth-child(3), .grid-item-bericht:nth-child(3){
	margin-top: 100px;
}
.grid-item-etappen a, .etappen_box a, .grid-item-bericht a{
	display: block;
	padding: 0;
}
.grid-item-etappen .bild_box, .etappen_box .bild_box, .grid-item-bericht .bild_box{
	padding-top: 120%;
	position: relative;
	margin: 0;
}
.grid-item-etappen .inner_bild_box, .etappen_box .inner_bild_box, .grid-item-bericht .inner_bild_box{
	position: absolute;
	top: 30px;
	bottom: 30px;
	left: 30px;
	right: 30px;
	width: calc(100% - 60px);
	height: calc(100% - 60px);
	overflow: hidden;
}
.grid-item-etappen .inner_bild_box img, .etappen_box .inner_bild_box img, .grid-item-bericht .inner_bild_box img{
	object-fit: cover;
	object-position: center;
	transition: transform 0.3s;
	width: 100%;
	height: 100%;
}
.grid-item-etappen a:hover img, .etappen_box a:hover img, .grid-item-bericht a:hover img{
	-ms-transform: scale(1.2);
	-webkit-transform: scale(1.2);
	transform: scale(1.2);
}
.etappen_nummer{
	position: absolute;
	z-index: 9;
	left: -50px;
	top: 80px;
	transform: rotate(-90deg);
	text-transform: uppercase;
	color: #F1EFE8;
	font-variation-settings: "wdth" 100, "wght" 800;
	font-size: 2.5rem;
	text-shadow: 1px 1px 20px #8C8B87;
}
.etappen_cat{
	position: absolute;
	z-index: 9;
	right: 30px;
	bottom: 5px;
	font-family: "ff-nexus-typewriter", sans-serif;
	text-transform: uppercase;
	font-size: 1rem;
	color: #FFFFFF;
}
.grid-item-etappen .text_box, .etappen_box .text_box{
	padding: 30px 30px 0 0;
	text-align: left;
}
.infos{
	display: flex;
	gap: 8px;
	flex-direction: row;
	flex-wrap: wrap;
	padding-left: 45px;
}
.infos div{
	width: 48%;
	font-family: "ff-nexus-typewriter", sans-serif;
	text-transform: uppercase;
	font-size: 1rem;
	color: #1E2529;
}
.infos div span{
	margin-right: 10px;
}

.grid-item-etappen .titel_box, .etappen_box .titel_box{
	display: flex;
	gap: 20px;
	margin-bottom: 10px;
	padding-left: 5px;
}
.grid-item-etappen .titel_box h2, .etappen_box .titel_box h2{
	font-size: 1.8rem;
	margin: 0;
}



/* //////////////////////////////////// CAROUSELL Etappen //////////////////////////////////// */
.swiper_etappen_carousel{
	width:100%;
	margin: 0 auto;
}


.swiper_bilder_carousel .swiper-slide.grid-item-etappen {
  position: relative;
  padding-top: 80px;
}
.swiper-wrapper .grid-item-etappen, .swiper-wrapper .grid-item-bericht{
	width: 520px!important; max-width: 100%!important;
	margin-bottom: 20px;
	text-align: center;
	-webkit-transition: all ease 0.3s !important;
	-moz-transition: all ease 0.3s !important;
	transition: all ease 0.3s !important;
	overflow: hidden;
}
.swiper-wrapper .grid-item-etappen:nth-child(3){
	margin-top: 0;
}
.swiper-wrapper .grid-item-etappen a, .swiper-wrapper .etappen_box a{
	display: block;
	padding: 0;
}
.swiper-wrapper .grid-item-etappen .bild_box, .swiper-wrapper .etappen_box .bild_box{
	padding-top: 120%;
	position: relative;
	margin: 0;
}
.swiper-wrapper .grid-item-etappen .inner_bild_box, .swiper-wrapper .etappen_box .inner_bild_box{
	position: absolute;
	top: 30px;
	bottom: 30px;
	left: 30px;
	right: 30px;
	width: calc(100% - 60px);
	height: calc(100% - 60px);
	overflow: hidden;
}
.swiper-wrapper .grid-item-etappen .inner_bild_box img, .swiper-wrapper .etappen_box .inner_bild_box img{
	object-fit: cover;
	object-position: center;
	transition: transform 0.3s;
	width: 100%;
	height: 100%;
}
.swiper-wrapper .grid-item-etappen a:hover img, .swiper-wrapper .etappen_box a:hover img{
	-ms-transform: scale(1.2);
	-webkit-transform: scale(1.2);
	transform: scale(1.2);
}
.swiper-wrapper .etappen_nummer{
	position: absolute!important;
	z-index: 9!important;
	left: -50px!important;
	right: inherit!important;
	bottom: inherit!important;
	top: 80px!important;
	transform: rotate(-90deg)!important;
	text-transform: uppercase!important;
	color: #F1EFE8!important;
	font-variation-settings: "wdth" 100, "wght" 800!important;
	font-size: 2.5rem!important;
	text-shadow: 1px 1px 20px #8C8B87!important;
	background-color: transparent!important;
	padding: 0!important;
	max-width: none!important;
	font-family: "gal-gothic-variable", sans-serif!important;
}
.swiper-wrapper .etappen_cat{
	position: absolute;
	z-index: 9;
	right: 30px!important;
	bottom: 5px!important;
	font-family: "ff-nexus-typewriter", sans-serif;
	text-transform: uppercase;
	font-size: 1rem!important;
	color: #FFFFFF;
	padding: 0!important;
	background-color: transparent!important;
}
.swiper-wrapper .grid-item-etappen .text_box, .etappen_box .text_box{
	padding: 30px 30px 0 0;
	text-align: left;
}
.swiper-wrapper .infos{
	display: flex;
	gap: 8px;
	flex-direction: row;
	flex-wrap: wrap;
	padding-left: 45px;
}
.swiper-wrapper .infos div{
	width: 48%;
	font-family: "ff-nexus-typewriter", sans-serif;
	text-transform: uppercase;
	font-size: 1rem;
	color: #1E2529;
}
.swiper-wrapper .infos div span{
	margin-right: 10px;
}
.swiper-wrapper .grid-item-etappen .titel_box, .swiper-wrapper .etappen_box .titel_box{
	display: flex;
	gap: 20px;
	margin-bottom: 10px;
	padding-left: 5px;
}
.swiper-wrapper .grid-item-etappen .titel_box h2, .swiper-wrapper .etappen_box .titel_box h2{
	font-size: 1.8rem;
	margin: 0;
}



/* //////////////////////////////////// VARIANTE Etappen //////////////////////////////////// */
.flex_box_variante_etappen .etappen_box{
	max-width: 100%;
}
.flex_box_variante_etappen .etappen_box a{
	display: block;
	padding: 0;
}
.flex_box_variante_etappen .etappen_box .bild_box{
	padding-top: 50%;
	position: relative;
	margin: 0;
}
.flex_box_variante_etappen .etappen_box .inner_bild_box{
	position: absolute;
	top: 30px;
	bottom: 30px;
	left: 30px;
	right: 30px;
	width: calc(100% - 60px);
	height: calc(100% - 60px);
	overflow: hidden;
}
.flex_box_variante_etappen .etappen_box .inner_bild_box img{
	object-fit: cover;
	object-position: center;
	transition: transform 0.3s;
	width: 100%;
	height: 100%;
}
.flex_box_variante_etappen .etappen_box a:hover img{
	-ms-transform: scale(1.2);
	-webkit-transform: scale(1.2);
	transform: scale(1.2);
}
.flex_box_variante_etappen .etappen_box .text_box{
	padding: 30px 30px 0 0;
	text-align: left;
}
.flex_box_variante_etappen .etappen_box .titel_box{
	display: flex;
	gap: 20px;
	margin-bottom: 10px;
	padding-left: 5px;
}
.flex_box_variante_etappen .etappen_box .titel_box h2{
	font-size: 1.8rem;
	margin: 0;
}


/* //////////////////////////////////// Single Etappen //////////////////////////////////// */
.start_bild{
	height: 100vh;	
}
.start_bild_half{
	display: flex;
	flex-direction: row;
	height: auto;
	min-height: 300px;
}
.start_bild_half img{
	width: 50%;
	object-fit: cover;
	object-position: center;
}
.start_bild img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.start_bild .overlay{
	position: absolute;
	z-index: 3;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(40, 40, 37, 0.3);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	color: #F1EFE8;
	padding-top: 140px;
	padding-bottom: 100px;
}
.start_bild .inner_overlay{
	max-width: 600px;
	margin: 0 auto;
	text-align: center;
}
.start_bild .inner_overlay h1{
	color: #F1EFE8;
	margin: 0 auto 20px;
}
.start_bild .inner_overlay svg{
	margin: 0 auto;
	display: block;
}
.start_bild .inner_overlay span{
	font-family: "ff-nexus-typewriter", sans-serif;
	text-transform: uppercase;
	margin: 20px auto;
	display: block;
}
.kat_box{
	display: flex;
	flex-direction: row;
	justify-content: center;
	gap: 10px;
	font-family: "ff-nexus-typewriter", sans-serif;
	text-transform: uppercase;
	margin: 0 auto;
}
.kat_box a{
	color: #F1EFE8;
}
.kat_box a:hover{
	text-decoration: underline;
}
.start_bild .inner_overlay .button{
	margin-top: 30%;
}


.flex_box_etappen{
	display: flex;
	flex-direction: row;
	gap: 100px;
}
.info_box{
	width: auto;
	flex-shrink: 0;
}
.info_box .row{
	font-family: "ff-nexus-typewriter", sans-serif;
	font-size: 1rem;
	text-transform: uppercase;
	border-top: 1px solid #F1EFE8;
	padding: 20px 0;
}
.info_box .row:first-child{
	padding-top: 0;
	border: none;
}
.info_box .row span{
	margin-right: 10px;
}
.info_box .button_box{
	display: flex;
	gap: 20px;
	margin-top: 30px;
}
.content{
	
}
.flex_box_zeitraum{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 10px;
}
.monats_box {
	background-color: #282825;
	border: 1px solid #F1EFE8;
	font-size: 0.8rem;
	text-transform: uppercase;
	font-family: "ff-nexus-typewriter", sans-serif;
	line-height: 1;
	padding: 10px 16px;
}
.monats_box.active {
	color: #282825;
	background-color: #F1EFE8;
}

.flex_box_titel{
	display: flex;
	flex-direction: row;
	gap: 100px;
	align-items: center;
}
.flex_box_titel h2{
	margin: 0;
}
.flex_box_titel .button{
	flex-shrink: 0;
}


.flex_box_weitere_etappen{
	display: flex;
	justify-content: space-between;
	gap: 100px;
}
.etappen_box{
	max-width: 550px;
}
.etappen_box:last-child{
	margin-top: 100px;
}

.flex_box_digitaler_reisefuehrer{
	display: flex;
	flex-direction: row;
	gap: 80px;
	justify-content: space-between;
	align-items: center;
}
.flex_box_digitaler_reisefuehrer img{
	width: 50%;
	flex-shrink: 0;
}

/* //////////////////////////////////// Etappenfinder //////////////////////////////////// */
#filter_box{
	display: flex;
	gap: 20px;
	margin-top: 40px;
}
#filter_box select{
	min-width: 220px !important;
	background-color: #F1EFE8;
	color: #282825;
	border-radius: 20px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	font-size: 0.8rem;
	text-transform: uppercase;
	font-family: "ff-nexus-typewriter", sans-serif;
	padding: 10px 36px 10px 20px;
	background-image: url('https://www.e5-alp-crossing.com/wp-content/themes/effekt/images/open.svg');
	background-position: center right 20px;
	background-size: 6px;
	background-repeat: no-repeat;
}
#filter_box select:disabled{
	opacity: 0.5;
}


/* //////////////////////////////////// Erlebnisberichte //////////////////////////////////// */
.grid {
	margin-bottom: 60px;
}
.grid-item-bericht{
	opacity: 0;
}
.grid-item-bericht.is-visible {
    opacity: 1;
}
.erlebnis_text{
	margin: 20px auto 0;
	padding: 0 20px;
	color: #1E2529;
}

/* //////////////////////////////////// Footer //////////////////////////////////// */
.marquee-box{
    height: auto;
    display: flex;
    align-items: center;
    overflow: hidden;
	background-color: #191918;
	padding: 13px 0 16px;
	font-family: "ff-nexus-typewriter", sans-serif;
	color: #F1EFE8;
}
.marquee-box:hover{
	color: #F1EFE8;
	background-color: #AF645C;
}
.marquee-box div {
    white-space: nowrap;
    text-transform: uppercase;
    font-size: 1rem;
    font-weight: 100;
    flex-shrink: 0;
    padding: 0 25px;
    width: max-content;
    display: flex;
	gap: 50px;
    align-items: center;
    transform: translateX(0);
    animation: text-scroll 5s linear infinite;
}
.marquee-box_forward div{
	animation: text-scroll-forward 5s linear infinite;
}
@keyframes text-scroll {
    0% { transform: translate3d(0, 0, 0); }
    100% { transform: translate3d(-100%, 0, 0); }
}
@keyframes text-scroll-forward {
    0% { transform: translate3d(-100%, 0, 0); }
    100% { transform: translate3d(0%, 0, 0); }
}



footer{
	background-color: #282825;
	padding: 100px 0 50px;
	color: #F1EFE8;
	position: relative;
	overflow: hidden;
}
footer a{
	color: #F1EFE8;
}
footer a:hover{
	color: #AF645C;
}


.footer_box{
	position: relative;
	z-index: 2;
}
.footer_box h2{
	text-transform: uppercase;
	color: #F1EFE8;
	font-size: 3.5rem;
	max-width: 300px;
	margin: 0 0 30px;
}


.flex_box_footer{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	border-top: 1px solid #F1EFE8;
	padding-top: 50px;
	margin-top: 50px;
	gap: 50px;
	font-size: 1.4rem;
	position: relative;
	z-index: 2;
}
.adresse{
	min-width: 320px;
}

.sub_footer{
	background-color: #ffffff;
	padding: 30px 0;
}
.sub_footer .w1280{
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 50px;
}
.footer_logos{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
}
.footer_logos a{
	line-height: 0;
}
.footer_logos svg, .footer_logos img {
  max-height: 60px;
  width: 110px;
}

.impressum{
	display: flex;
	justify-content: center;
	gap: 10px;
	font-size: 0.8rem;
}

.muster {
	position: absolute;
	right: 5%;
	top: -5%;
	z-index: 1;
	width: 650px;
}
.opacity_path{
	opacity: 0.1;
}




/* //////////////////////////////////// KARTE //////////////////////////////////// */
.wrapper {
    width: 100%;
    margin: 20px auto;
    position: relative;
}
/* === ZOOM UI rechts überlagert === */
.zoom-ui {
    position: absolute;
    right: 10px; /* UI rechts neben dem Container */
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    z-index: 10;
}
/* Einheitliche Buttons */
.zoom-btn {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 2px solid #282825;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-family: Arial, sans-serif;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    background: white;
    transition: background .2s, color .2s;
}
.zoom-btn:hover {
    background: #282825;
    color: white;
}
/* === SWITCH === */
.switch {
    width: 40px;
    height: 80px;
    position: relative;
}
.switch input {
    display: none;
}
.slider {
    position: absolute;
    inset: 0;
    background: #ccc;
    border-radius: 40px;
    transition: .3s;
}
.slider:before {
    content: "";
    position: absolute;
    width: 30px;
    height: 30px;
    left: 5px;
    top: 5px;
    background: white;
    border-radius: 50%;
    transition: .3s;
}
input:checked + .slider {
    background: #282825;
}
input:checked + .slider:before {
    transform: translateY(40px);
}
/* === SVG CONTAINER === */
.svg-container {
    width: 100%;
    /*aspect-ratio: 1722.2 / 1958.5;*/ /* ≈ 0.88 */
	aspect-ratio: 6596 / 7794; /* ≈ 0.88 */
    overflow: hidden;
    position: relative;
    touch-action: none;
}

/* SVG muss normal im Flexbox-Strom bleiben */
#mySVG {
    width: 100%;
    height: auto;          /* WICHTIG */
    display: block;
    transform-origin: top left;   /* WICHTIG */
    transition: transform .2s ease;
	cursor:grab;
}
.etappe_info_box {
    position: absolute;
    top: 20%;
    left: 50%;
    transform: translateX(-50%);
    background: #000;
    color: #fff;
    padding: 20px 25px;
    border-radius: 6px;
    z-index: 9999;
    display: none;
    width: auto;
    max-width: 90%;
}
.etappe_info_box a {
    color: white;
    text-decoration: none;
}
.etappe_nummer {
    font-size: 20px;
    font-variation-settings: "wdth" 100, "wght" 800;
    margin: 0 0 5px 0;
	text-transform: uppercase;
}
.etappe_titel {
    font-size: 16px;
    margin: 0;
}
/* X Button */
.etappe_info_close {
    position: absolute;
    top: 6px;
    right: 8px;
    background: none;
    border: none;
    color: white;
    font-size: 22px;
    font-weight: bold;
    cursor: pointer;
}
.etappe_pfad {
    cursor: pointer;
    pointer-events: all;
}

/* Hover auf die ganze Etappe */
.etappe_pfad:hover path:first-of-type {
  stroke: #fff !important;
}
.etappe_pfad:hover circle {
  fill: #fff !important;
}
/* immer: letztes path (bei 2 => #2, bei 3 => #3) */
.etappe_pfad:hover path:last-of-type {
  fill: #282825 !important;
}

/* nur wenn es mindestens 3 paths gibt: das vorletzte (bei 3 => #2) */
.etappe_pfad:hover path:first-of-type:nth-last-of-type(n+3) ~ path:nth-last-of-type(2) {
  fill: #282825 !important;
}

.etappe_pfad { cursor: pointer; }




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