@charset "UTF-8";

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; }
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section { display: block; }
html, body { height:100%; }
body { line-height: 1; margin:0; padding:0; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after,
q:before, q:after { content: ''; content: none; }
table { border-collapse: collapse; border-spacing: 0; }
a { text-decoration: none; }
a, a:active, a:visited { 
  color: #bb9759; 
  -webkit-transition:all 0.2s ease;
  -moz-transition:all 0.2s ease;
    -o-transition:all 0.2s ease;
       transition:all 0.2s ease;
}
a:hover { color: #000000; }
.clear { clear:both; }
.nobr { white-space:nowrap; }
*, *::before, *::after { margin: 0; padding: 0; border: none; box-sizing: border-box; list-style: none; }
::-moz-selection { background: #000000; color: #ffffff; }
::selection { background: #000000; color: #ffffff; }
b, strong { font-weight: 400; }
img { width: 100%; height: auto; }
img.left { width: 33%; height: auto; margin-right: 30px; float: left; }

/* ubuntu-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/ubuntu-v20-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* amatic-sc-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Amatic SC';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/amatic-sc-v26-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

body { 
  position: relative; 
  font-family: 'Ubuntu', sans-serif, 'Verdana', 'Arial'; 
  font-weight: 300;
  font-size: .95rem;
}

.flex { 
  display: -webkit-flex; display: -webkit-box; display: -ms-flexbox;	display: flex; 
  justify-content: space-between; flex-flow: row wrap;
}
.flex_left { 
  display: -webkit-flex; display: -webkit-box; display: -ms-flexbox;	
  display: flex; justify-content: flex-start; flex-flow: row wrap;
}
.flex_center {
  display: -webkit-flex; display: -webkit-box; display: -ms-flexbox;	
  display: flex; justify-content: center; flex-flow: row wrap;
}

.mittig {
	display: -webkit-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;  
	-webkit-align-items: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center; 
}

.owl-stage-outer,
.owl-stage,
.owl-item,
.fullsize {
  position:relative;
	width: 100%;
	min-height: 100%;
	height: auto !important;
	height: 100%;
	overflow: hidden !important;
}

.zoom { overflow: hidden; line-height: 0; }

.zoom img {
  width: 100%;
  opacity: 0.8;
  height:auto;
  -webkit-transition:all 0.3s ease;
    -moz-transition:all 0.3s ease;
      -o-transition:all 0.3s ease;
        transition:all 0.3s ease;
}

.zoom img:hover {
  cursor: pointer;
  opacity: 1;
  -webkit-transition:all 0.3s ease;
    -moz-transition:all 0.3s ease;
      -o-transition:all 0.3s ease;
        transition:all 0.3s ease;
	-webkit-transform:scale(1.05); /* Safari and Chrome */
  -moz-transform:scale(1.05); /* Firefox */
    -ms-transform:scale(1.05); /* IE 9 */
      -o-transform:scale(1.05); /* Opera */
        transform:scale(1.05);
}

.zoom:hover h2 {
  color: #00975f;
  -webkit-transition:all 0.3s ease;
    -moz-transition:all 0.3s ease;
      -o-transition:all 0.3s ease;
        transition:all 0.3s ease;
}

.shadow { box-shadow: 0 0 10px rgba(0,0,0,0.2); }

main { overflow: hidden; }

.flexbox1_6 { position: relative; line-height: 1em; box-sizing: border-box; width: calc(1/6*100% - (1 - 1/6)*30px); }
.flexbox2_6 { position: relative; line-height: 1em; box-sizing: border-box; width: calc(2/6*100% - (1 - 2/6)*30px); }
.flexbox3_6 { position: relative; line-height: 1em; box-sizing: border-box; width: calc(3/6*100% - (1 - 3/6)*30px); }
.flexbox4_6 { position: relative; line-height: 1em; box-sizing: border-box; width: calc(4/6*100% - (1 - 4/6)*30px); }
.flexbox5_6 { position: relative; line-height: 1em; box-sizing: border-box; width: calc(5/6*100% - (1 - 5/6)*30px); }
.flexbox6_6 { position: relative; line-height: 1em; box-sizing: border-box; width: 100%; }

.flexbox2_8 { position: relative; line-height: 1em; box-sizing: border-box; width: calc(2/8*100% - (1 - 2/8)*30px); }

.contentbox .flexbox1_6 { width: calc(1/6*100% - (1 - 1/6)*25px); }
.contentbox .flexbox2_6 { width: calc(2/6*100% - (1 - 2/6)*25px); }
.contentbox .flexbox3_6 { width: calc(3/6*100% - (1 - 3/6)*25px); }
.contentbox .flexbox4_6 { width: calc(4/6*100% - (1 - 4/6)*25px); }
.contentbox .flexbox5_6 { width: calc(5/6*100% - (1 - 5/6)*25px); }

h2, h3 { font-family: 'Amatic SC', cursive; }

h1 { font-size: 1.5rem; line-height: 1.5em; margin-bottom: 1em; }
h2 { font-size: 4rem; line-height: 1em; margin-bottom: 0.35em; letter-spacing: -0.07rem; }
#start h2 { background-color: rgba(187,151,89,0.8); padding: 25px 30px; margin-bottom: 0; letter-spacing: .1rem; font-size: 2.5rem;  display: inline-block; }
.angebotsbox h3 { font-size: 2rem; padding-bottom: 5px; line-height: 1.3em; margin-bottom: 0.5rem; border-bottom: 1px solid #bb9759; }
#slider h2 { margin-bottom: 50px; }
h3 { font-size: 2.5rem; line-height: 1.5em; margin-bottom: 1em; }
h4 p { font-size: 1.3rem; line-height: 1.6em; }
h4 { margin-bottom: 50px; }
h5 { font-size: 1.2rem; line-height: 1.3em; margin: 0.4em 0; }

h3 a, h3 a:active, h3 a:visited { color: #bb9759; }
h3 a:hover { color: #000000; padding-left: 5px; }

#infos h3.bg-gold { font-size: 2.5rem; margin-bottom: 0; padding: 5px 40px; }
#infos h3.bg-gold { font-size: 2.5rem; margin-bottom: 0; padding: 5px 40px; }

.bg-white { background: #ffffff; }
.bg-black { background: #000000; }
.bg-leightgray { background: #f0f0f0; }
.bg-green { background: #00975f; }
.bg-violet { background: #6c4796; }
.bg-leightgreen { background: #ebf5f0; }
.bg-leightviolet { background: #f1edf6; }
.bg-brown { background: #c1ac6c; }
.bg-gold { background: #bb9759; }
.bg-leightgold { background: #f5efe3; }
.bg-violet-transparent { background: rgba(110,70,150,0.8); }
.bg-green-transparent { background: rgba(0,150,95,0.8); }
.bg-gold-transparent { background: rgba(187,151,89,0.8); }
.bg-white-img { background: transparent url('../images/logo-bg.png') top left repeat; }

.font-white, .font-white a { color: #ffffff; }
.font-black { color: #000000; }
.font-green { color: #00975f; }
.font-violet { color: #6c4796; }
.font-brown { color: #c1ac6c; }
.font-gold { color: #bb9759; }

a.btn { 
  padding: 10px 15px; 
  line-height: 1rem; 
  display: inline-block; 
  text-transform: uppercase; 
  font-size: 0.75rem; 
  letter-spacing: 0.1rem;
}

a.btn.small { padding: 5px 7px; }

a.btn.black { border: 1px solid #000000; color: #000000; }
a.btn.black:hover { color: #ffffff; background: #000000; }

a.btn.violet { border: 1px solid #6c4796; color: #6c4796; }
a.btn.violet:hover { color: #ffffff; background: #6c4796; }

a.btn.green { border: 1px solid #00975f; color: #00975f; }
a.btn.green:hover { color: #ffffff; background: #00975f; }

a.btn.gold { border: 1px solid #bb9759; color: #bb9759; }
a.btn.gold:hover { color: #ffffff; background: #bb9759; }

a.btn.white { border: 1px solid #ffffff; color: #ffffff; }
a.btn.white:hover { color: #000000; background: #ffffff; }

.bottom a.btn { position: absolute; bottom: 40px; left: 40px; }
.bottom_nopad a.btn { position: absolute; bottom: 5px; left: 0px; }

i { font-size: .8em; padding-right: 0.3em; }

.bg-leightgreen hr { width: 100px; border: 0; height: 1px; background: #00975f; margin: 2rem 0; }
.bg-leightviolet hr { width: 100px; border: 0; height: 1px; background: #6c4796; margin: 2rem 0; }
.bg-leightgold hr { width: 100px; border: 0; height: 1px; background: #bb9759; margin: 2rem 0; }

.fade, .hide { opacity: 0; margin-left: 50px; margin-right: -50px; }

.center { text-align: center; }
.left { text-align: left; }
.right { text-align: right; }

.round2_2 { border-radius: 10px; }
.round2_0 { border-radius: 10px 10px 0 0; }
.round0_2 { border-radius: 0 0 10px 10px; }
.round0_1 { border-radius: 0 0 20px 0; }

p { margin-bottom: 1rem; line-height: 1.4rem; }
.text { font-size: 1rem; line-height: 1.8rem; }
.text p { margin-bottom: 1.2em; line-height: 1.8rem; }
.text ul { margin: 0 0 1rem 1.25em; }
.text ul li { list-style-type: disc; }
.textsmall { font-size: 0.9rem; line-height: 1.5rem; }
.textverysmall { font-size: 0.8rem; line-height: 1.2em; }
.textsmall p { margin-bottom: 1em; }
.angebotsbox .textsmall { min-height: 2.6rem; }

header { position: relative; width: 100%; padding: 70px 0 20px; z-index: 2; }
header img.logo { max-width: 149px; height: auto; }
#default header img.logos { max-width: 250px; height: auto; }

.overlay { position: absolute; z-index: 9000; text-align: center;}
#start .overlay { bottom: 32%; left: 50px; right: 50px; }
#start a i { position: absolute; left: 50%; bottom: 40px; opacity: 0; font-size: 40px; margin-left: -20px; color: rgba(187,151,89,0.7); }
#start a:hover i { color: rgba(0,150,95,1); }
#start .meldung { padding: 15px 50px; font-size: 1.2em; }
#start .meldung p { margin: 0; }
#start .meldung h1, #start .meldung h2, #start .meldung h3 { line-height: 1.5rem; margin-bottom: 1rem; }
#angebot .overlay { bottom: 20px; left: 20px; }
#angebot .flexbox2_8.bg-leightgold,
#angebot .flexbox2_6.bg-leightgold { margin-bottom: 30px; }
#angebot #gallery { margin-bottom: 50px; }
#angebot #gallery > div { margin: 0 10px; }
#angebot #gallery .caption { padding: 7px 10px; text-align: center; background: #ffffff; }

section { position: relative; padding: 100px 50px; max-width: 1200px; margin: 0 auto; overflow: hidden; }
#headerbild section { padding: 140px 50px 40px; }
#headerbild h2 { margin-bottom: 0; line-height: 1em; font-size: 5.5rem; text-shadow: 0 0 10px rgba(0,0,0,0.5); }

table { width: 100%; table-layout: fixed; overflow-wrap: break-word; display: table; }
table tbody { width: 100%; }
table tbody tr { width: 100%; }
table tbody tr td { padding: 12px 0; border-top: 1px solid #e3e3e3; }
table tbody tr td.bold { font-weight: 400; border-bottom: 3px solid #e3e3e3; }
table tbody tr:first-child td { padding-top: 0; }
table tbody tr td.bold { border-top: 0; }
table tbody tr td p { margin-bottom: 0; }
table tbody tr td a, table tbody tr td a:active, table tbody tr td a:visited { color: #00975f !important; }
table tbody tr td a:hover { color: #000000 !important; }

table.kursplan.mobile { display: none; }
table.kursplan tbody tr td { padding: 12px; font-weight: 400; border-right: 3px solid #e3e3e3; }
table.kursplan tbody tr td:first-child { padding-left: 0; }
table.kursplan tbody tr:first-child td { padding-top: 0; }
table.kursplan tbody tr:last-child td { padding-bottom: 0; }
table.kursplan tbody tr td:last-child { border-right: 0; }

.contentbox { position: relative; padding: 40px; }
.contentbox.bottom { padding-bottom: 110px; }
.sidebar img { margin-bottom: 30px; line-height: 0; }
.sidebar .image { margin-bottom: 30px; background: #ffffff; }
.sidebar .image .caption { padding: 7px 10px; text-align: center; }
.sidebar .image img { margin-bottom: 0; }

.angebotsbox { position: relative; padding: 20px; }

#angebot { padding: 100px 50px}

footer .contentbox { max-width: 1200px; padding: 30px 50px; margin: 0 auto; }
footer ul li { padding-right: 10px; margin-right: 10px; border-right: 1px solid #ffffff; }
footer ul li:last-child { padding-right: 0; margin-right: 0; border-right: 0; }
footer ul li a { color: #ffffff; text-transform: uppercase; font-size: 0.9rem; line-height: 0.9em; }
footer ul li a:hover { color: #c1ac6c; }