@font-face{font-family:'fauna';src:url(fonts/fauna-one.woff) format('woff')}
@font-face{font-family:'vibes';src:url(fonts/great-vibes.woff) format('woff')}
html{scroll-behavior:smooth}body{margin:0}
.pg{font-family:fauna,Georgia,serif;font-size:16px;line-height:1.5;color:#232323;overflow-x:hidden}
:where(.pg) *{box-sizing:border-box}
.pg h1,.pg h3,.pg h5,.pg h6,.pg h2{font-weight:400;margin:0}
:where(.pg) a{color:#1a449a}:where(.pg) a:hover{color:#f00}
.d1{font-family:vibes,cursive;line-height:1.1;font-size:clamp(2.75rem,calc(2.75rem + 3.25*((100vw - 20rem)/28)),6rem)}
.d2{font-family:vibes,cursive;line-height:1.1;font-size:clamp(1.73rem,calc(1.73rem + 1.37*((100vw - 20rem)/28)),3.1rem)}
.d5{font-size:1.5rem}.d7{font-size:1.2rem}.d4{font-size:1rem}
.white{color:#fff}.orange{color:#f4a226}.ct5{color:#353535}
.sec{position:relative}
.ct{max-width:1140px;margin:0 auto;padding:0 12px}
.cf{padding:0 3rem}
.row{display:flex;flex-wrap:wrap;justify-content:center;margin:0 -12px}
.row>*{padding:0 12px}
.card{flex:0 0 33.333%;max-width:33.333%;margin-bottom:2rem;transition:transform .3s}
.card:hover{transform:translateY(-10px)}
.pg img{max-width:100%;height:auto}
.iw{height:350px;padding-bottom:1rem}.iw img{width:100%;height:100%;object-fit:cover;display:block}
.card h6,.card h5,.card h3,.card p{margin:0 0 .5rem}
.wave{position:absolute;left:0;top:-80px;height:83px;width:100%;overflow:hidden;pointer-events:none}
.wave svg{position:absolute;left:0;bottom:0;width:100%;height:50px;transform-origin:bottom;animation:1.5s ease-in-out infinite alternate sw}
@keyframes sw{from{transform:scaleX(1) scaleY(1.1)}to{transform:scaleX(1) scaleY(1.6)}}
@keyframes bl{from{transform:scaleX(1.2) scaleY(1.35) rotate(-1deg)}to{transform:scaleX(1) scaleY(1.3) rotate(0)}}
@media (prefers-reduced-motion:reduce){.wave svg,.blob{animation:none}}
.nav{position:absolute;top:0;left:0;right:0;z-index:3;height:70px;display:flex;justify-content:flex-end;align-items:center;padding:0 3rem;flex-wrap:wrap}
.nav a{color:#232323;text-decoration:none;margin:.667em 1em;font-size:1.2rem;line-height:1}
.nav a:hover{color:#232323;text-decoration:underline}
.hero{position:relative;overflow:hidden;background:#6a8fc2 url(images/hero.jpg) center/cover;padding:0 0 20rem}
.hero .ov{position:absolute;inset:0;background:rgba(255,255,255,.1)}
.blob{position:absolute;top:50px;right:-80px;width:1700px;height:900px;transform:scaleX(1) scaleY(1.3);animation:1.5s ease-in-out infinite alternate bl}
.hero .ct{position:relative;z-index:1}
.hero .row{flex-direction:row-reverse;margin:0 -2rem}
.hero .row>*{padding:0 2rem}
.lg7{flex:0 0 58.333%;max-width:58.333%;margin:auto}.lgr{flex:1 0 0;margin:auto}
ul.l{list-style:none;padding:0;margin:0}
ul.l li{padding:1rem 0;border-bottom:2px solid currentColor}
.price{width:100%;border-collapse:collapse;background:#fff;border:1px solid #ccc;color:#232323}
.price th,.price td{padding:.75rem;text-align:left;vertical-align:top;border-top:1px solid #ccc}
.price th{color:#f4a226;border-top:none}
.map{height:30rem;background:#e9e5dc}.map iframe{width:100%;height:100%;border:0;display:block}
@media(max-width:1199px){.blob{width:1500px}}
@media(max-width:991px){.card{flex-basis:50%;max-width:50%}.lg7,.lgr{flex:0 0 100%;max-width:100%}.hero .lgr{display:none}.hero{padding-top:90px}.c8,.c4,.c7,.c5{flex:0 0 100%!important;max-width:100%!important}.cf{padding:0 1rem}.blob{width:800px}}
@media(max-width:575px){.card{flex-basis:100%;max-width:100%}}
.btn{display:inline-flex;align-items:center;justify-content:center;margin:.6rem .6rem .6rem 0;padding:.6rem 1.2rem;font-weight:600;font-size:1rem;line-height:1.5;border-radius:100px;text-decoration:none;white-space:normal;word-break:break-word;border:2px solid transparent;transition:all .2s ease-in-out}
.btn-primary-outline{position:relative;overflow:hidden;z-index:1;transition-delay:.2s;background:transparent;border-color:#f00;color:#f00;box-shadow:inset 0 0 0 1px #f00}
.btn-primary-outline:before{content:"";pointer-events:none;position:absolute;width:500px;height:100%;left:-60%;top:0;transform:translateY(90%) scale(.9) translateX(-150px);transition:all 1s;z-index:-1;background:#f00;-webkit-mask-image:url("data:image/svg+xml,%0A%3Csvg width='561' height='85' xmlns='http://www.w3.org/2000/svg' version='1.1' preserveAspectRatio='xMinYMax slice'%3E%3Cg%3E%3Ctitle%3ELayer 1%3C/title%3E%3Cg id='svg_1'%3E%3Cpath fill='transparent' class='st0' d='m-6.66292,-4.57555c23.4,0 23.4,6 46.7,6c23.4,0 23.4,-6 46.7,-6c23.4,0 23.4,6 46.8,6s23.4,-6 46.8,-6' id='svg_2'/%3E%3Cpath fill='black' class='st1' d='m187.45162,9.67907c23.5,0 23.5,6 47,6s22.7,-10.8 46.2,-10.8s24.3,10.8 47.8,10.8s23.5,-6 47,-6l0,76.5l-188,0l0,-76.5z' id='svg_3'/%3E%3Cpath fill='black' class='st1' d='m-0.02952,9.67907c23.5,0 23.5,6 47,6s22.7,-10.8 46.2,-10.8s24.3,10.8 47.8,10.8s23.5,-6 47,-6l0,76.5l-188,0l0,-76.5z' id='svg_4'/%3E%3Cpath fill='black' class='st1' d='m374.48614,9.67907c23.5,0 23.5,6 47,6s22.7,-10.8 46.2,-10.8s24.3,10.8 47.8,10.8s23.5,-6 47,-6l0,76.5l-188,0l0,-76.5z' id='svg_5'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%0A%3Csvg width='561' height='85' xmlns='http://www.w3.org/2000/svg' version='1.1' preserveAspectRatio='xMinYMax slice'%3E%3Cg%3E%3Ctitle%3ELayer 1%3C/title%3E%3Cg id='svg_1'%3E%3Cpath fill='transparent' class='st0' d='m-6.66292,-4.57555c23.4,0 23.4,6 46.7,6c23.4,0 23.4,-6 46.7,-6c23.4,0 23.4,6 46.8,6s23.4,-6 46.8,-6' id='svg_2'/%3E%3Cpath fill='black' class='st1' d='m187.45162,9.67907c23.5,0 23.5,6 47,6s22.7,-10.8 46.2,-10.8s24.3,10.8 47.8,10.8s23.5,-6 47,-6l0,76.5l-188,0l0,-76.5z' id='svg_3'/%3E%3Cpath fill='black' class='st1' d='m-0.02952,9.67907c23.5,0 23.5,6 47,6s22.7,-10.8 46.2,-10.8s24.3,10.8 47.8,10.8s23.5,-6 47,-6l0,76.5l-188,0l0,-76.5z' id='svg_4'/%3E%3Cpath fill='black' class='st1' d='m374.48614,9.67907c23.5,0 23.5,6 47,6s22.7,-10.8 46.2,-10.8s24.3,10.8 47.8,10.8s23.5,-6 47,-6l0,76.5l-188,0l0,-76.5z' id='svg_5'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}
.btn-primary-outline:hover,.btn-primary-outline:focus{color:#fff}
.btn-primary-outline:hover:before,.btn-primary-outline:focus:before{transform:translateY(-25%) scale(1.5) translateX(140px)}
.card .mbr-section-btn{margin:0}
@media(prefers-reduced-motion:reduce){.btn-primary-outline:before{transition:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.cookie{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:100;width:min(92vw,520px);box-sizing:border-box;background:rgb(234,239,241);color:#424a4d;padding:1.5rem;border-radius:8px;display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center;font-size:1.1rem;line-height:1.5;box-shadow:0 8px 30px rgba(0,0,0,.35)}
.cookie[hidden]{display:none}
.cookie a{color:#424a4d;text-decoration:underline}
.totop{position:fixed;right:20px;bottom:20px;z-index:101;width:48px;height:48px;border:0;border-radius:50%;background:#f4a226;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.65)}
.totop.on{opacity:1;pointer-events:auto}
.totop:hover{transform:translateY(-3px)}
.totop svg{width:22px;height:22px;stroke:#fff;fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.nav.solid{position:relative;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}
.legal{background:#f8f8f8;padding:4rem 0 5rem}
.legal .ct{max-width:900px}
.legal h1{font-family:vibes,cursive;font-weight:400;color:#f4a226;font-size:clamp(2.75rem,8vw,6rem);line-height:1.1;margin:0 0 2rem}
.legal h2,.legal h3,.legal h4,.legal h5{font-weight:400;margin:1.8rem 0 .6rem;color:#232323}
.legal p,.legal li{font-size:1.2rem}
.lt p{margin:0 0 1rem}
.lt h2{font-size:1.6rem;line-height:1.3;margin:2.2rem 0 .8rem}
.lt h2 strong{font-weight:400}
.lt a{word-break:break-word}
.cookie-btns{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}
.cbtn{font:inherit;font-weight:600;min-width:9rem;background:#f4a226;color:#232323;border:2px solid #f4a226;border-radius:100px;padding:.6rem 1.4rem;cursor:pointer;transition:background .2s}
.cbtn:hover{background:#faa900;border-color:#faa900}
.cbtn:focus-visible,.totop:focus-visible{outline:3px solid #1a449a;outline-offset:2px}
.ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center;background:#fff;color:#424a4d;padding:2rem 1.5rem;border-radius:8px;font-size:1.1rem;line-height:1.5}
.ph[hidden]{display:none}
.map .ph{height:100%;border-radius:0;background:#e9e5dc}
.ph a{color:#1a449a}


/* Belegungskalender */
#belegung{margin-bottom:3rem}
.leg{display:flex;justify-content:center;gap:1.5rem;margin-bottom:1rem}
.leg span{display:flex;align-items:center;gap:.5rem}
.sw{display:inline-block;width:1.5rem;height:1.5rem;border:1px solid #d6c9a8}
.cal{display:flex;align-items:center;gap:12px}
.ms{display:grid;gap:24px;flex:1;min-width:0}
.m{background:#fff;box-shadow:0 1px 6px rgba(0,0,0,.2)}
.mh{background:#f4a226;color:#232323;font-weight:700;text-align:center;padding:.8rem}
.g{display:grid;grid-template-columns:repeat(7,1fr)}
.g b{font-weight:400;padding:.3rem .4rem;font-size:.95rem}
.g span,.g i{min-height:2.8rem;box-sizing:border-box;display:flex;align-items:center;justify-content:center}
.g span{border:1px solid #eee}
.g span.past{color:#aaa;background-color:#ececec}
.nb{flex:0 0 44px;height:56px;border:0;background:#e6e6e6;font-size:2rem;line-height:1;cursor:pointer}
.nb:disabled{opacity:.35;cursor:default}
.demo{text-align:center;color:#424a4d;font-size:.95rem}
/* Anfrageformular */
.anf{max-width:900px;margin:0 auto;display:grid;grid-template-columns:repeat(6,1fr);gap:1rem 1.5rem;font-size:1.1rem}
.anf .c1{grid-column:span 1}.anf .c2{grid-column:span 2}.anf .c3{grid-column:span 3}
@media(max-width:700px){.anf>*{grid-column:1/-1!important}}
.anf label{display:block;margin-bottom:.3rem}
.anf input,.anf select,.anf textarea{width:100%;font:inherit;padding:.6rem .7rem;border:2px solid #ccc;border-radius:6px;background:#fff;box-sizing:border-box;color:#232323}
.anf input:focus,.anf select:focus,.anf textarea:focus{outline:3px solid #1a449a;outline-offset:1px}
.anf .full{grid-column:1/-1}
.anf .chk{display:flex;gap:.6rem;align-items:flex-start}
.anf .chk input{width:auto;margin-top:.35rem}
.anf .center{text-align:center}
.req{color:#c00}
.hp{position:absolute;left:-9999px}
.msg{min-height:1.5rem;margin:.5rem 0 0}
.msg.ok{color:#1a6b2f}.msg.err,.err{color:#b00020}
.hint{font-size:.95rem;color:#424a4d}
/* Tage zum Anklicken */
.g button.dc{font:inherit;color:inherit;cursor:pointer;border:1px solid #eee;padding:0;min-height:2.8rem;display:flex;align-items:center;justify-content:center;background-color:#fff}
.g button.dc:hover{outline:2px solid #1a449a;outline-offset:-2px}
.g button.dc:focus-visible{outline:3px solid #1a449a;outline-offset:-3px}
.g .s1{box-shadow:inset 0 0 0 3px #1a449a;font-weight:700}
.g .s2{box-shadow:inset 0 0 0 2px rgba(26,68,154,.45)}
.sel{text-align:center;min-height:1.5rem;margin:.8rem 0 0;font-size:1.05rem}
/* Preisberechnung */
.pr{background:#fff;border:2px solid #f4a226;border-radius:8px;padding:1rem 1.2rem}
.prt{width:100%;border-collapse:collapse;margin:.5rem 0}
.prt td{padding:.35rem 0;border-bottom:1px solid #eee;vertical-align:top}
.prt td:last-child{text-align:right;white-space:nowrap;padding-left:1rem}
.prt .tot td{font-weight:700;border-bottom:0;border-top:2px solid #f4a226;padding-top:.6rem}
/* Hinweise und Markierung */
.times{text-align:center;margin:0 0 1rem;font-size:1.05rem}
.anf [aria-invalid="true"]{border-color:#b00020;background:#fff5f5}
.anf .chk input[aria-invalid="true"]{outline:3px solid #b00020}
