@font-face { font-family: 'Ubuntu'; font-style: normal; font-weight: 400; src: url('../font/Ubuntu-Regular.eot') format('embedded-opentype'); }
@font-face { font-family: 'Ubuntu'; font-style: normal; font-weight: 700; src: url('../font/Ubuntu-Bold.eot') format('embedded-opentype'); }
@font-face { font-family: 'Ubuntu'; font-style: normal; font-weight: 400; src: url('../font/Ubuntu-Regular.woff') format('woff'); }
@font-face { font-family: 'Ubuntu'; font-style: normal; font-weight: 700; src: url('../font/Ubuntu-Bold.woff') format('woff'); }

@font-face { font-family: 'fontello'; src: url('../font/fontello.eot?23566022'); src: url('../font/fontello.eot?23566022#iefix') format('embedded-opentype'), url('../font/fontello.woff2?23566022') format('woff2'), url('../font/fontello.woff?23566022') format('woff'), url('../font/fontello.ttf?23566022') format('truetype'), url('../font/fontello.svg?23566022#fontello') format('svg'); font-weight: normal; font-style: normal; }

* { font-family:Ubuntu,arial,sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
img { -ms-interpolation-mode: bicubic; }
button, textarea, input, select { font-family:Ubuntu,arial,sans-serif; font-size:inherit; outline: none; }
html {  font-size:14px; padding:0px; margin:0px; height:100%; width:100%; xbackground:#f0f0f0; color:#212e35;  }
body{ background:#f0f0f0; color:#212e35; letter-spacing:-.01em; background-size: cover; background-attachment: fixed; margin:0; }
html,body,input,textarea,select{ font-size:14px; }
img { border:0px; text-decoration:none; max-width:100%; max-height:100%; object-fit:cover; }
a{ text-decoration:none; color:#332b52; font-weight:bold; }
.clear{ clear:both; }
.fright{ float:right; }
.fleft{ float:left; }

.anmeldung{  }
.anm1{ display:block; float:left; padding: .4em; box-sizing: border-box; font-size:.9em; line-height:1em; }
.anm100{ width:100%; }
.anm50{ width:50%; }
.anm25{ width:25%; }
.anm75{ width:75%; }
.anm1 input{ box-sizing: border-box; width:100%; padding:.5em; background:#fff; border:1px solid #ccc; border-radius:.4em; }
.anm1 select{ box-sizing: border-box; width:100%; padding:.5em; background:#fff; border:1px solid #ccc; border-radius:.4em; }
.anmeldung label{ display:block; padding:.5em 0 0 0; font-size:.9em; }

#buchung .button{background: #dc6248; color: #fff; padding: .5em 1em; margin: 1em; display: inline-block; border-radius: .2em; cursor:pointer; }

.button3{background: #dc6248; color: #fff; padding: .25em .5em; margin: .5em; display: inline-block; border-radius: .2em; cursor:pointer; }

.caltable{ background:#fff; border-radius:.4em; text-align:right; border-collapse:collapse; box-shadow: 0 0.1em 1em rgb(0 0 0 / 10%); }
.caltable th{ background:#332b52; color:#fff; font-weight:normal; font-size:1.2em; text-align:center; padding:.4em 0 .4em 0; border-radius:.4em .4em 0 0 ; position:relative; }
.caltable td{ font-size:.9em; padding:.2em; }
.caltable td:first-child{ padding-left:.8em; }
.caltable td:last-child{ padding-right:.8em; }
.caltable tr:last-child td{ padding-bottom:.8em; }
.caltable td div{ padding:.1em .4em; cursor:pointer; border-radius:0em; }
.caltable td:hover div{ background:#dc6248; border-radius:2em; color:#fff; }
.caltable .selected{ background:#dc6248; border-radius:2em; color:#fff; }
.caltable .wtage{ color:#888; }
.caltable .btnback{ display:block; position:absolute; background:#fff; width:1.5em; height:1.5em; border-radius:1.5em; top:.25em; left:.25em; }
.caltable .btnback:after{ content:' '; border: .2em solid rgba(0,0,0,1); border-right: 0; border-bottom: 0; transform: rotate(-45deg); position: absolute; width: 0.4em; height: .4em; top: .45em; right: .4em; }
.caltable .btnnext{ display:block; position:absolute; background:#fff; width:1.5em; height:1.5em; border-radius:1.5em; top:.25em; right:.25em; }
.caltable .btnnext:after{ content:' '; border: .2em solid rgba(0,0,0,1); border-left: 0; border-bottom: 0; transform: rotate(45deg); position: absolute; width: 0.4em; height: .4em; top: .45em; left: .4em; }

.cal01{ width:17em; float:left; }
.cal02{ width:calc(100% - 17em); float:right; }
.cal02 hr{ background:none; border:0; border-top:1px solid #ddd; margin:2em 0; }

.slots{ column-count: 3; }
.slot{ position:relative; border: 1px solid #ddd; border-radius: .4em; background: #fff; margin:.4em .2em; padding: .2em .5em; break-inside: avoid-column; font-size:.9em; cursor:pointer; }
.slot:hover{ border: 2px solid #666; padding: calc(.2em - 1px) calc(.5em - 1px); }
.slotvoll{ opacity:.6; text-decoration:line-through; }
.slot .frei{ color: #fff; background: #00dd00; float: right; border-radius: 2em; width: 1.75em; text-align: center; font-size: .9em; line-height: 1.7em; margin:.1em .1em 0 0; position:absolute; right:.1em; }


#header img{ vertical-align:middle; height:6.5em; width: 21em; margin:1em; object-fit: contain; }
#header img:first-child{ float:right; }
.fullwidth{ max-width:1200px; margin:auto; }
.tacenter{ text-align:center; }
.padding{ padding:4em 0; line-height:1.6em; font-size:1.25em; }
.padding2{ padding:2em; line-height:1.6em; font-size:1.25em; }
.wdiv{ background:#fff; }

#head{ min-height:20vw; background:url('../pics/bild01.jpg'); background-size:cover; background-position:center; position:relative; box-shadow:0 .1em .3em rgba(0,0,0,.3); }
#head .text{ float:right; padding:1% 5% 1% 1%; min-width:40%; font-size: calc(1vw); }
#head h1{ font-size:2em; margin:0; line-height:1.1em; margin-top:4vw; margin-bottom:.6em; color:#332b52; }
#head h2{ font-size:1.4em; margin:0; line-height:1.1em; margin-bottom:.6em; color:#332b52; }
#head .btn{ position:absolute; font-size: calc(1vw * 1.3); text-align:center; top:1em; left:4em; transform:rotate(-10deg); background:#dc6248; border-radius:10em; padding:1.5em .5em; box-shadow:0 .1em .3em rgba(0,0,0,.3); color:#fff; }
#head .button{ text-decoration:none; color:#fff; background:#332b52; display:inline-block; border-radius:3em; padding:.8em 1.5em; font-size:1em; cursor:pointer; margin-top:1em; }
#head a{ font-weight:normal; }

.menu{ background:#332b52; color:#fff; padding:.5em 0; }
.menui{ cursor:pointer; font-size:1.3em; display:inline-block; padding:.5em 1em; margin:0 1em; border-radius:2em; transition: background ease .5s; text-decoration:none; color:#fff; }
.menui:hover{background:#484c73; }
.menui1{ background:#dc6248; text-decoration:none; color:#fff; }
.menui1:hover{ background:#ea8b6f; }
.menu .menubtn{ display:none; cursor:pointer; font-size:1.3em; padding:.5em 1em; margin:0 1em 1em 0; transition: background ease .5s; }
.menu .menubtn img{ height:1em; vertical-align:middle; margin-right:.5em; }
.menu a{ font-weight:normal; }

.h1{ font-size:2em; margin:0; line-height:1.1em; margin-bottom:.6em; color:#332b52; font-weight:bold; }
.h2{ font-size:1.4em; margin:0; line-height:1.1em; margin-bottom:.6em; color:#332b52; font-weight:bold; }

.h1b{ font-size:2em; margin:0; line-height:1.1em; margin-bottom:.6em; color:#fff; background:#dc6248; }
.h2b{ font-size:1.2em; margin:0; line-height:1.1em; margin-bottom:.6em; color:#fff; background:#dc6248; display:inline-block; padding:.5em 1em; border-radius:.2em; }

p{ margin-bottom:.6em; }
.bold{ font-weight:bold; color:#332b52; }

.p501{ float:left; width:48%; margin:0 2% 0 0; }
.p50{ float:left; width:48%; margin:0 0 0 2%; }

.p25{ float:left; width:23%; margin:0 1% 0 1%; }

.faq{ padding:.8em 0 .8em 1.5em; display:block; position:relative; border-bottom: 1px solid #ccc;  }
.faq1{ font-weight:bold; cursor:pointer;}
.faq2{ max-height:0; overflow:hidden; transition: max-height ease .2s; padding:0; }
.faq input{position:absolute; opacity:0; }
.faq input:checked ~ .faq2{ max-height:35em; transition: max-height ease .9s; padding:.5em 1em 1.5em 1em; }
.faq .ico{ position:absolute; left:0; top:1em; content: ""; width: 1em; height: 1em; background: url('../pics/faq.png') 0 0 no-repeat; background-size:100% 100%; -webkit-transform: rotate(0deg); transform: rotate(0deg); transition: all ease .2s; }
.faq input:checked ~ .ico{ -webkit-transform: rotate(90deg); transform: rotate(90deg); }

#footer{ background:#332b52; color:#fff; padding:2em 0 6em 0; }
#footer .h2{ color:#fff; }
#footer a{ color:#fff; text-decoration:underline; }

[class^="icon-"]:before, [class*=" icon-"]:before { font-family: "fontello"; font-style: normal; font-weight: normal; speak: never; display: inline-block; text-decoration: inherit; width: 1em; margin-right: .2em; text-align: center; font-variant: normal; text-transform: none; line-height: 1em; margin-left: .2em; }
.icon-calendar:before { content: '\e800'; }
.icon-clock:before { content: '\e801'; }
.icon-user-md:before { content: '\f0f0'; }
.icon-doc-text-inv:before { content: '\f15c'; }

.icon1{ font-family:fontello; font-size:2.8em; color:#332b52; margin:.3em; }

.halfwidth{ max-width:600px; }

.p100{ display: flex; align-items:stretch; width:100%; }
.p50img{ width: 100%; background-size:cover; background-position:center; min-height:32em; }
.p50right{ width:100%; }
.p50left{ width:100%; }
.p50left .halfwidth{ max-width:600px; float:right; min-width: min(600px , 50vw); }

.blue{ background:#332b52; color:#fff; }
.blue .h1,.blue .h2{ color:#fff; }

@media only screen and (max-width:1600px) {
	#head h1{ font-size:2.2em; margin-top:3vw; }
	#head h2{ font-size:1.6em; }
	#head .button{ font-size:1.2em; }
}

@media only screen and (max-width:1280px) {
	#head h1{ font-size:2.4em; margin-top:7%; }
	#head h2{ font-size:1.6em; }
	#head .button{ font-size:1.3em; }
	.padding{ padding:4em; font-size:1.2em; }
	.fullwidth{ margin:0; }
}

@media only screen and (max-width:1024px) {
	html,body,input,textarea,select{ font-size:13px; }
	#header img{ vertical-align:middle; height:4em; width: 16em; }
	#head h1{ font-size:2.6em; margin-top:6%; }
	#head h2{ font-size:1.8em; }
	#head .button{ font-size:1.5em; }
	.padding{ padding:4em 3em; font-size:1.1em; }
	.slots{ column-count: 2; }
}

@media only screen and (max-width:800px) {
	#head h1{ font-size:2em; margin-top:0; }
	#head h2{ font-size:1.3em; }
	#head .button{ font-size:1.1em; }
	#head .text{ font-size: .8rem; background:rgba(250,250,250,.75); border-radius:.2em; padding:2%; width:96%; margin-left:0; float:none; }
	#head .btn{ top:1em; left:auto; right:1em; font-size:calc(1vw * 1.8 + .35em); }
	#header{ text-align:center; }
	#header img{ vertical-align:middle; height:auto; width: auto; margin:.5em; max-height:6em; max-width:min(18em, 48%);}
	#header img:first-child{ float:none; }

	.menu .menubtn{ display:block; }
	.menui{ display:block; }
	.menu{ max-height:3em; overflow:hidden; transition: max-height ease .5s; }
	.menu:hover{ max-height:30em; }

	.padding{ padding:3em 2em; font-size:1em; }

	.p50,.p501{ float:none; width:100%; margin:0 0 2em 0; }
	.p25{ width:48%; margin:0 1% 2em 1%; }

	.p100{ display: block; }
	.p50img{ min-height:56vw; }
	.p50left .halfwidth{ float:none; }
	.slots{ column-count: 1; }

	.anm50{ width:100%; }
	.anm25{ width:100%; }
	.anm75{ width:100%; }

}
@media only screen and (max-width:550px) {
	.cal01{ width:auto; float:none; }
	.cal02{ width:auto; float:none; }
}

@media only screen and (max-width:360px) {
	#head .btn{ position:relative; float:right; }
	#header img{ max-height:5em; max-width:calc(100% - 2em); }
	.p25{ width:100%; margin:0 0 2em 0; }
}

@media (min-resolution: 120dpi) {
}
