.accordion{
    width: 100%;
    height: 60px;
    margin: 0 auto;
    border-radius: 3px;
    overflow: hidden;
    transition: height 0.3s ease;
    margin-bottom: 20px;
}
.accordion-wrapper .contentmore{ 
 height:0;     transition: height 0.7s ease;
  }
.accordion-wrapper .contentmore.opencontent{ height:auto; height: calc-size(auto);}
.centermore {text-align:center; padding:2rem 0;}
.accordion .accordion_tab{
  padding: 10px 0 10px 3rem;
  min-height: 3rem;
  cursor: pointer;
  user-select: none;
  font-weight: 700;
  position: relative;
   border-bottom: 1px solid #e9e9e9;
}

.accordion .accordion_tab .accordion_arrow{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 38px;
  height: 38px;
  transition: all 0.3s ease;
}

.accordion .accordion_tab .accordion_arrow img{
  width: 100%;
  height: 100%;
}

.accordion .accordion_tab.active .accordion_arrow{
  transform: translateY(-50%) rotate(180deg);
}

.accordion.active{
  height: auto;
}

.accordion .accordion_content{
  padding: 0;
}

.accordion .accordion_content .accordion_item{
  margin-bottom: 10px;
  padding-top:1rem;
}
.accordion .accordion_content .accordion_item p{
  margin-bottom: 10px;
}
.accordion .accordion_content .accordion_item h3{
  display:none;
}
.accordion .accordion_content .accordion_item a{ font-weight:700;}
.accordion .accordion_content .accordion_item a:hover{color:#fff; text-decoration:underline;}

/* BuchungsTool */
.booking-wrap {max-width:70%; position:relative;}
.book-btn {border:1px solid #fff; display:inline-block; min-width:240px; padding:10px 1rem; margin-right:10px;}
.book-btn.active {border:1px solid #fff; background:#fff; color:#000; font-weight:400; display:inline-block; padding:10px 1rem; margin-right:10px;}
.person-selector {
	box-sizing: border-box;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 10px;
}
.price-display{min-height:124px;}
.pc-price {font-size:3rem; font-weight:700; margin-top:3rem; transition: opacity 0.25s, transform 0.25s; opacity: 1; transform: translateY(0px);}
.pc-price > small{font-size:0.875rem; font-weight:400; }
.durations {font-size:1.25rem; margin-top: 6px; transition: opacity 0.25s; opacity: 1;}
.durations-small {font-size:0.875rem; margin: 12px 0; transition: opacity 0.25s; opacity: 1;}
.booking-btn {
	border:1px solid #fff; 
	background:#fff; 
	color:#0047BB; 
	font-weight:700;
	display:inline-block; 
	text-align:center; 
	min-width:240px; 
	padding:10px 1rem; 
	margin-right:10px; 
	position:absolute; 
	right:0; 
	bottom:10%;}

/* Main CSS Grid Gallery */
.grid-wrapper > div {
	/*display: flex;
	justify-content: center;
	align-items: center;*/
	position:relative;
	overflow:hidden;
}
.grid-wrapper > div > picture > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	-webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    transform: scale(1);
}
/* mit fancybox */
.grid-wrapper > div > a > picture > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	-webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    transform: scale(1); 
}


.grid-wrapper > div > .gridlink {
	display: flex;
	justify-content: center;
	align-items: center;

}
.grid-wrapper > div > .gridlink{
	position:absolute;
	top:0;
	left:0;
	right:0; bottom:0;
	z-index:10;
}
.grid-wrapper > div > .gridlink a{ color:#fff; text-align:center;}
/* Scale-Effekt nur Startseite */
.grid-wrapper > div.ms:hover img{transform: scale(1.055); } 
.grid-wrapper > div.fancy:hover > a img{transform: scale(1.055); } 
.grid-wrapper > div > .gridlink .gridspan{ color:#fff; font-weight:400; border:1px solid #fff; padding:10px 1rem;}
.grid-wrapper > div > .gridlink .gridspan:before {font-family: 'FontAwesome'; content: "\f101"; font-size:0.875rem; line-height:0; padding-right:5px;}
.grid-wrapper > div > .gridlink .gridspan:hover {background:rgba(0,173,167,0.8);}

.grid-wrapper .wide {
	grid-column: span 2;
}
.grid-wrapper .tall {
	grid-row: span 2;
}
.grid-wrapper .big {
	grid-column: span 2;
	grid-row: span 2;
}

.grid-wrapper {
	display: grid;
	grid-gap: 10px;
	grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
	grid-auto-rows: 300px;
	grid-auto-flow: dense;
	max-width:1280px;
	margin:0 auto;
}

body#seite-91 .grid-wrapper {
	display: grid;
	grid-gap: 10px;
	grid-template-columns: repeat(auto-fit, minmax(480px, 1fr));
	grid-auto-rows: 400px;
	grid-auto-flow: dense;
	max-width:90%;
	margin:0 auto;
}

@media (max-width: 1024px) {
.booking-wrap {max-width:100%; position:relative;}
}
@media (max-width: 800px) {
.book-btn {min-width: 200px;}
}
@media (max-width: 768px) {
.grid-wrapper {
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    grid-auto-rows: 200px;
	}
}
@media (max-width: 660px) {
.grid-wrapper .wide {grid-column: span 1;}
.book-btn {min-width: 160px;}
.booking-btn {min-width: 180px;}
.book-btn.active {font-weight: 300;}
}
@media (max-width: 576px) {
.booking-btn {
  border: 1px solid #fff;
  background: #fff;
  color: #0047BB;
  font-weight: 700;
  display: inline-block;
  text-align: center;
  min-width: 240px;
  padding: 10px 1rem;
  margin-right: 10px;
  position: relative;
  right: 0;
  margin-top:1rem;
}
.book-btn { font-size:0.875rem;}
}


