/* //////////////////////////////////// ALLGEMEIN //////////////////////////////////// */
html {
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	display: table;
}
*, *:before, *:after {
	box-sizing: inherit;
}
body{
	font-family: 'Quicksand';
	color: #1E2529;
	margin: 0px;
	line-height: 1.6;
	font-size: 1.25rem;
	scroll-behavior: smooth;
	height: 100%;
	padding: 10%;
	display: table-cell;
	vertical-align: middle;
}
main{
}
h1, h2, h3, h4, h5, h6 {
	font-size: 2.5rem;
	color: #223b1d;
	margin: 0 auto 40px;	
	line-height: 1.2;
}
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: #C20516;
	text-decoration: none;
}
a:active, a:hover {
	color: #c0c0c0;
}
ul{
	padding-left: 20px;
	margin: 0 auto 15px;
}
strong{
	color: #223b1d;
}
.no_scroll{
	height: 100vh;
	overflow: hidden;
}
.textcenter{
	text-align: center;
}
/* //////////////////////////////////// CONTENT //////////////////////////////////// */
.w1280{
	max-width: 1280px;
	margin: 0 auto;
	position:relative;
	padding: 0px 40px;
}
.fullwidth{
	width:100%;
	position: relative;
}
.margin_unten{
	margin-bottom: 5%;
}


.logo{
	transition: all 0.4s ease;
	margin: 0 auto 5%;
}
.flex_box{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 50px;
}
.menu_box{
	width: calc(50% - 25px);
}
.menu_box a{
	display: block;
	line-height: 0;
}
.menu_box a:hover svg polygon{
	opacity: 0.7;
}

iframe{
	width: 100%;
	height: 100svh;
	border: none;
}

.back_button{
	position: fixed;
	left: 40px;
	bottom: 40px;
	text-align: center;
}
.back_button a{
  background-color: #97b993;
  width: 200px;
  height: 200px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  z-index: 10;
  flex-direction: column;
  color: #FFFFFF;
  padding: 0px 30px;
}
.back_button span {
  display: block;
  margin-bottom: 20px;
}
.back_button a:hover{
	background-color: #c2d4bf;
	color: #FFFFFF;
}


.flex_box_bergwand{
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;
	gap: 50px;
}
.bergwand_box{
	width: calc(50% - 25px);
}
.bergwand_box a{
	display: block;
}
.bergwand_box .bild_box{
	position: relative;
	overflow: hidden;
}
.bergwand_box .bild_box:before{
	content: "";
	display: block;
	padding-top: 70%;
}
.bergwand_box .bild_box img{
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;	
	top: 0;
	object-position: center;
	object-fit: cover;
	transition: all 0.4s ease;
}
.bergwand_box:hover img{
	transform: scale(1.1);
}

.bergwand_box .text_box{
	background-color: #97b993;
	padding: 20px;
}
.bergwand_box .text_box h2{
	margin: 0;
	color: #FFFFFF;
}

.single_header h1{
	background-color: #97b993;
	padding: 20px;
	margin: 0;
	color: #FFFFFF;
}
.single_header img{
	display: block;
}



.gutter-sizer{
	width: 50px;
}
.route_box{
	width: calc(50% - 25px);
	background-color: #e3e3e3;
	padding: 30px;
	text-align: left;
	position: relative;
	margin-bottom: 50px;
}
.route_box:hover{
	background-color: #c2d4bf;
	cursor: pointer;
}
.route_box h2{
	margin: 0 0 20px;
}
.route_box{
	font-size: 1.15rem;
}
.route_box strong{
	font-size: 1.25rem;
}
.route_box .info_box{
	margin-bottom: 5px;
	display: flex;
	gap: 10px;
	align-items: flex-start;
}
.route_box .info_box:last-child{
	margin: 0;
}
.route_box .info_box svg{
	margin-top: 5px;
	flex-shrink: 0;
}
.ausrichtung{
	width: 70px;
	position: absolute;
	right: 20px;
	bottom: 15px;
}



.popup{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	overflow: scroll;
	background-color: rgba(30, 37, 41, 0.7);
	z-index: 11;
	display: none;
	text-align: center;
	padding: 10%;
}
.flexbox_popup{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	min-height: calc(100% - 100px);
	margin: 50px auto;
}
#inner_popup{
	background-color: #ffffff;
	padding: 50px 25px;
	max-width: 1024px;
	margin: 0 auto;
}
.close_popup, .close_popup_suche{
	background-color: #1E2529;
	width: 40px;
	height: 40px;
	padding: 12px;
	line-height: 0;
	border-radius: 50px;
	margin-bottom: -20px;
	z-index: 2;
	cursor: pointer;
}
.close_popup:hover, .close_popup_suche:hover{
	background-color: #8E9294;
}

.dash{
	width: 200px;
	height: 1px;
	background-color: #ccc;
	margin: 50px auto;
}
.box{
	text-align: center;
}
.box svg{
	display: block;
	margin: 0 auto 10px;
}
.box strong{
	display: block;
}

#inner_popup .ausrichtung_box{
	margin-bottom: 20px;
}
#inner_popup .ausrichtung_box svg{
	width: 100px;
}


.button{
	display: inline-block;
	width: auto;
	overflow: hidden;
	position: relative;
	background-color: #223b1d;
	cursor: pointer;
	margin-top: 50px;
}
.button a, .button span{
	display: block;
	padding: 10px 20px;
	color: #ffffff;
	font-size: 1.5rem;
	position: relative;
	text-align: center;
	line-height: 1;
}
.button a:hover, .button span:hover{
	background-color: #97b993;
}



.filters{

}

.filters span.titel{
	display: block;
	font-size: 2.5rem;
  color: #223b1d;
  margin: 0 auto 40px;
  line-height: 1.2;
}


.filter_box{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	margin-bottom: 20px;
}
.filter_box:last-child{
	margin: 0;
}


.button-group{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
}
.filter_box button{
	margin: 0;
	all: unset;
  display: block;
  background-color: rgba(151, 185, 147, 0.7);
  color: #FFFFFF;
  border: none;
  padding: 5px 10px;
  font-family: 'Quicksand';
  cursor: pointer;
  text-align: center;
  user-select: none;
}
.filter_box button:hover, .filter_box button.is-checked{
	 background-color: rgba(34, 59, 29, 1);
}
.filter_box button.button_svg{
	background-color: transparent;
	opacity: 0.5;
}
.filter_box button svg{
	width: 70px;
}
.filter_box button.button_svg:hover, .filter_box button.button_svg.is-checked{
	opacity: 1;
}


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