/* josefin-sans-regular - latin */
@font-face {
  font-family: 'Josefin Sans';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/josefin-sans-v23-latin-regular.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/josefin-sans-v23-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/josefin-sans-v23-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/josefin-sans-v23-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../fonts/josefin-sans-v23-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/josefin-sans-v23-latin-regular.svg#JosefinSans') format('svg'); /* Legacy iOS */
}

/* josefin-sans-700 - latin */
@font-face {
  font-family: 'Josefin Sans';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/josefin-sans-v23-latin-700.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/josefin-sans-v23-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/josefin-sans-v23-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/josefin-sans-v23-latin-700.woff') format('woff'), /* Modern Browsers */
       url('../fonts/josefin-sans-v23-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/josefin-sans-v23-latin-700.svg#JosefinSans') format('svg'); /* Legacy iOS */
}


html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type="button"],[type="reset"],[type="submit"],button{-webkit-appearance:button}[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}

/*font-family: 'Josefin Sans', sans-serif;*/
html {
	overflow-y: scroll;
	height: 100%;
	-webkit-text-size-adjust: none;
	-webkit-font-smoothing: antialiased;
	font-size: 16px;
}
*, *:before, *:after, div {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
body {
	margin: 0;
	padding: 0;
	color: rgb(25,25,25);
	height: 100%;
	font: 400 1em/1.375 'Josefin Sans', sans-serif;
	position: relative;
	background: rgb(255,255,255);
}
table,td{border:0;margin:0;padding:0;vertical-align:top;border-collapse:collapse;border-spacing:0}
iframe{border:0;margin:0;padding:0}
img{border:0;margin:0;padding:0;vertical-align:top}
a{color:inherit;outline:none}
a:hover{color:rgb(88,142,59);text-decoration:underline}
strong{font-weight:700}
.clear{clear:both;line-height:0;height:0}
.clear:after{content:"";display:block;clear:both}
/*-------------------------------------------------------------------------------------*/
main *, nav, nav *, .logo, .logo *, header {
	-webkit-transition: all 0.15s;
	transition: all 0.15s;}
header {
	margin: 0 auto;
	padding: 0;
	z-index: 20;
	text-align: center;
	position: relative;
	background-image: url(../images/bg-header.jpg);
	background-position: center;
	background-size: cover;
} 
.logo {
	z-index: 10;
	margin: auto;
	position: relative;
	display: inline-block;
	padding: 1rem;
	color: rgb(88,58,48);
}
.line1 {
	font-size: 2.45em;
	margin: 0 0 -0.25em 0;
}
.line2 {
	font-weight: 700;
	font-size: 1.25em;
}
.line3 {
	font-size: 1em;
	margin: 0;
	font-weight: 700;
}
.contacts  { text-align:right;}
.contacts .mail, .contacts .phone {
	margin: 0.5rem 0.25rem;
	border-radius: 0.375rem;
	background-color: #fff;
	display:inline-block;
	padding:4px 8px;
	text-decoration:none; color:rgb(88,142,59);
	border: 1px solid rgb(88,142,59);
	}
.contacts .mail:hover, .contacts .phone:hover {
	background-color: rgb(88,142,59);
	color:#fff;
}
.contacts .mail {	
	background-image: url(../images/icon-anfragen.png);
	background-repeat: no-repeat;
	background-position: 8px center;
	background-size:43px 20px;
	padding-left:55px;
}
.contacts .mail:hover{
	background-image: url(../images/icon-anfragen-weiss.png);}
.contacts .phone {
	background-image: url(../images/icon-phone.jpg);
	background-repeat: no-repeat;
	background-position: 8px center;
	background-size: 30px 20px;
	padding-left: 42px;
}
.contacts .phone:hover{
	background-image: url(../images/icon-phone-weiss.png);}
/*----------------------------------------------------------------*/
.bild {
	z-index: 1;
	position: relative;
	padding: 0;
	margin: auto;
	overflow: hidden;
	max-height: 800px;
}
.bild img {
	width: 100%;
	margin: 0 auto;
	height: auto;}
/*----------------------------------------------------------------*/
.owl-dots { top: 100px !important; bottom:auto !important; right: 2vw !important; left:auto !important;  width: auto !important;}
.owl-dot span {
	box-shadow: 0 0 5px rgba(0,0,0,0.5);
	background-color: rgb(255,255,255) !important;
	border: 2px solid #EFEDE1;
	width: 20px !important;
	height: 20px !important;
	border-radius:0 !important;
}
.owl-dot span:hover { background-color: rgb(88,58,48) !important; }
.owl-dot.active span { background-color: rgb(88,142,59) !important; }
/*----------------------------------------------------------------*/
main {
	position: relative;
	padding: 0;
	margin: auto;
}
.content {
	margin: 0 auto;
	padding: 1rem;
	max-width: 1400px;
}
.content-23, .content-13, .content-12, .full { margin-bottom: 2em; 
	padding: 1rem; }
/**/
.preise td {
	padding: 0.25rem 0.5rem;
	border: 1px solid rgba(88,142,59,0.5);
}
.liste { padding:0 0 1rem 1.25rem; margin: 0;  list-style:none; list-style-position: outside; }
.liste li { padding:0; margin:0;  list-style:none; list-style-position: outside;}
.liste li:before { content:'• '; color:rgb(88,142,59); margin-left:-0.75rem;}
/**/
.mfp-iframe-holder .mfp-content { max-width:380px !important; min-height:260px !important;}
/*----------------------------------------------------------------*/
.galerie {
	position: relative;
	text-align: center;
	margin: 3vw auto;
}
.galerie ul {
	list-style: none;
	margin: auto;
	padding: 1.5em 0.5em;
	display: flex;
	flex-flow: row wrap;
	justify-content:center;
	max-width:1400px;
}
.galerie ul li {
	list-style: none;
	flex: 0 0 33%;
	border: 2px solid transparent;
}
.galerie ul li img, .galerie ul li a {
	border: 0;
	padding: 0;
	margin: 0;
	vertical-align: top;
}
.galerie ul li a {
	display: block;
	position: relative;
	overflow:hidden;
}
.galerie ul li img {
	height: auto;
	width: 100%;
}
.galerie ul li a img:hover {
	transform: scale(1.05);
}
.galerie ul li:hover { border: 2px solid rgb(88,142,59); 
}
/*----------------------------------------------------------------*/
.konus {
	background-image: url(../images/bg-footer.jpg);
	background-position: center;
	background-size: cover;
	color: rgb(255,255,255);
	text-shadow: 1px 1px 2px #000;
	position: relative;
	margin-top: 10vw;
}
footer{
	padding: 1em;
	margin: 0 auto;
	color: rgb(255,255,255);
	position: relative;
	background-color: rgb(88,142,59);
}
footer a { text-decoration-color: rgba(255,255,255,0.25);}
footer a:hover, footer a:focus {
	text-decoration-color: rgba(255,255,255,0.75);
	color: #fff;
}
footer ul { list-style:none; margin:auto; padding:0; margin:0; display:flex; flex-flow:row wrap; justify-content:center; }
footer ul li {
	display: inline-block;
	flex: 0 0 auto;
	text-align: left;
	padding: 1rem; padding: calc(0.5rem + 0.5vw + 0.5vh);
}
footer .small { font-size:0.75em;}
footer .special { color:rgb(225,200,115);}
/*----------------------------------------------------------------*/
p, h1, h2, h3, h4, h5, h6 {
	margin: 0 0 1em 0;
	font-size: 1em;
	font-weight: normal;
}
h1 {
	font-size: 1.75em;
	color: rgb(88,142,59);
	font-family: 'Josefin Sans', sans-serif;
}
h2 { font-size: 1.5em; }
h3 { font-size: 1.25em; }
.gruen { color: rgb(88,142,59); }
/*----------------------------------------------------------------*/
.button {
	border: 1px solid rgb(88,142,59);
	text-decoration: none;
	padding: 0.25rem 0.5rem 0.125rem;
	display: inline-block;
	font-weight: 700;
	border-radius: 0.5rem;
}
.button:hover {
	background-color: rgb(88,142,59); color:rgb(255,255,255);
	text-decoration: none;
}
/**/
.news img {
	border-radius: 0.25rem;
	border: 2px solid rgb(255,255,255);
	margin-bottom: 0.75rem;
}
.news > div {
	float: left;
	margin-right: 2rem;
}
/**/
.quicklinks .sterne { position:absolute; top:1rem; left:0; background-color:#fff; border-radius: 0 4px 4px 0; margin:0; padding: 6px 6px 0px 6px;}
.quicklinks .sterne img { width:15px !important;}

.quicklinks ul { list-style:none; padding:0; margin:auto; display:flex; flex-flow: row wrap; justify-content: space-around; max-width:1400px;}
.quicklinks ul li {
	margin: 0;
	padding: calc(1rem + 1vw);
	position: relative;
	flex: 1 1 33%;
	text-align: center;
	min-width: 300px;
	max-width: 420px;
	align-self:stretch;
}
.quicklinks.oben ul li { flex: 1 1 auto; min-width:auto; max-width:auto; padding:1vw;}
.quicklinks a {
	display: block;
	background-color: rgba(88,142,59,0.25);
	position: relative;
	text-decoration: none;
	height: 100%;
}
.quicklinks.oben a { padding:1vw; border-radius:8px;}
.quicklinks.oben a.aktiv { background-color:rgb(88,142,59); color:#fff;}
.quicklinks h2 {
	font-size: 1.5rem;
	color: rgb(88,142,59);
	font-weight: 700;
	margin: 0.5em 0 0 0;
}
.quicklinks a:hover  { 
	background-color: rgba(88,142,59,0.5);}

/*----------------------------------------------------------------*/
main .subnavi, main .subnavi li  { list-style:none; padding:0.125rem; margin:0.125rem;} 
main .subnavi li { display:inline-block; }
main .subnavi a {
	display: block;
	border: 1px solid rgb(88,142,59);
	padding: 0.25rem 0.5rem;
	text-decoration: none;
}
main .subnavi a:hover, main .subnavi a.aktiv { background-color:rgb(88,142,59); color:rgb(225,200,115);}
/*----------------------------------------------------------------*/
#formular {
	position: relative;
	alignment-adjust: 0;
	margin: 0 auto;
	padding: 0;
}
form {
	margin: 0;
	padding: 0;
	display: block;}
input, textarea {
	position: relative;
	border: 1px solid rgb(75,75,75);
	width: 100%;
	padding: 0px 0.25rem;
	color: #000;
	height: 2em;
	max-width: 450px;
	font: normal 1em/1.25em 'Josefin Sans', sans-serif;
	border-radius: 0.25em;
	margin-bottom: 0.5rem;
}
.check { width:32px !important;}
textarea {
	height: 170px;
}
input:focus, textarea:focus {	border: 1px solid rgb(190,22,34);}
.send {
	margin: 0 auto;
	border-radius: 0.25em;
	cursor: pointer;
	height: 2.5em;
	text-decoration: none;
	font: 700 1em 'Josefin Sans', sans-serif;
	border: 2px solid #fff;
	background-color: rgb(88,142,59);
	color: rgb(255,255,255);
	padding: 0.25em 1.5em;
}
.send:hover, .send:focus {
	background-color: #FFF;
	color: rgb(88,142,59);
	border-color: rgb(88,142,59);

}
img.ui-datepicker-trigger {
	position: absolute;
	margin-top: 8px;
	margin-left: -22px;
	cursor: pointer;
	display: inline;}
.pflicht {
	line-height: 15px;
	color: #B41412;
	font-weight: 700;}
.aktuelles p{
	margin-top: 0px;
	margin-bottom: 0px;
}
.aktuelles ul,.aktuelles ol{
	padding-left: 20px;
	margin: 0px;
	display:inline-block;
}
.aktuelles img{
	max-width:100%;
	height:auto !important;
}
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
      /*                      MEDIA QUERY                  */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
@media only screen and (max-width: 600px) {
.preise.lang td { display:block; text-align:left;}
.preise.lang tr:first-child { display:none;}
.preise.lang td:nth-child(2)::before { content:'pro Person';    width:120px; display:inline-block; text-align:right; margin-right:0.5em; padding-right:0.5em; border-right: 1px solid gray;}
.preise.lang td:nth-child(3)::before { content:'+ Halbpension'; width:120px; display:inline-block; text-align:right; margin-right:0.5em; padding-right:0.5em; border-right: 1px solid gray;}
.preise.lang td:nth-child(4)::before { content:'+ Vollpension'; width:120px; display:inline-block; text-align:right; margin-right:0.5em; padding-right:0.5em; border-right: 1px solid gray;}
}
@media only screen and (max-width: 759px) {
    main .subnavi {
        display: none;
    }
    #menuToggle {
        display: block;
        border-radius: 0.25em;
        position: fixed;
        top: 0.5rem;
        left: 0.5rem;
        width: 44px;
        z-index: 10;
        padding: 8px 0 4px 5px;
        -webkit-user-select: none;
        user-select: none;
        background-color: rgb(88,142,59);
        z-index: 50;
    }
    #menuToggle input {
        display: block;
        width: 44px;
        height: 44px;
        position: absolute;
        top: -7px;
        left: -5px;
        cursor: pointer;
        opacity: 0;
        /* hide this */
        z-index: 200 !important;
        /* and place it over the hamburger */
        -webkit-touch-callout: none;
    }
    /* Just a quick hamburger */
    #menuToggle span {
        display: block;
        width: 34px;
        height: 3px;
        margin-bottom: 6px;
        position: relative;
        z-index: 3;
        transform-origin: center;
        transition: transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1.0), background 0.5s cubic-bezier(0.77, 0.2, 0.05, 1.0), opacity 0.55s ease;
        background-color: rgb(255,255,255);
    }
    /* Transform all the slices of hamburger into a crossmark */
    #menuToggle input:checked ~ span {
        opacity: 1;
        transform: rotate(45deg) translate(6px, 6px);
        background-color: rgb(88,142,59);
    }
    /*hide the middle one */
    #menuToggle input:checked ~ span:nth-last-child(3) {
        opacity: 0;
        transform: scale(0.1, 0.1) rotate(360deg);
    }
    /* the last one go the other direction */
    #menuToggle input:checked ~ span:nth-last-child(2) {
        opacity: 1;
        transform: rotate(-45deg) translate(6px, -6px);
    }
    /*	 * Make this absolute positioned at the top right of the screen	 */
    #menu {
        position: fixed;
        width: 100%;
        margin: 0;
        padding: 1.5em;
        list-style-type: none;
        -webkit-font-smoothing: antialiased;
        /* to stop flickering of text in safari */
        transform-origin: 0 0;
        transform: translate(0%, -300%);
        transition: transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1.0);
        background-color: rgb(255,255,250);
        background-size: 500%;
        right: 0;
        left: 0;
        top: 0;
        box-shadow: 0 0 100px rgba(0,0,0,0.5);
    }
    #menuToggle input:checked ~ ul {
        transform: scale(1.0, 1.0);
        opacity: 1;
    }
    nav,
    nav ul,
    nav ul li {
        padding: 0;
        margin: 0;
        list-style: none;
        postition: relative;
        text-align: center;
    }
    nav ul li a {
	text-decoration: none;
	padding: 0 0.5em;
	margin: 4px auto;
	display: inline-block;
	font-size: 1rem;
	line-height: 40px;
	height: 40px;
	text-align: center;
	color: rgb(88,142,59);
	font-weight: 700;
	border-radius: 4px;
    }
    .subnavi ul {
        margin: 0 auto;
    }
    .subnavi li {
        display: inline-block;
    }
    .subnavi ul li a {
        text-transform: none;
        font-weight: 400;
        font-size: 16px;
        background-color: rgba(255,255,255,0.3);
    }
    nav a.aktiv,
    nav a:focus,
    nav a:hover {
        background-color: rgb(88,142,59);
        color: rgb(255,249,244);
        text-decoration: none;
    }
	.subnavi ul li a.aktiv { background: rgb(88,142,59);
background: -moz-linear-gradient(0deg, rgba(88,142,59,1) 0%, rgba(88,142,59,0.1) 25%);
background: -webkit-linear-gradient(0deg, rgba(88,142,59,1) 0%, rgba(88,142,59,0.1) 25%);
background: linear-gradient(0deg, rgba(88,142,59,1) 0%, rgba(88,142,59,0.1) 25%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#588e3b",endColorstr="#eef3f7",GradientType=1);
color:rgb(25,25,25);}
}
/*  ////////////////////////////////////////////////////////////////////////////  */
@media only screen and (min-width: 760px) {       
    .sticky nav {
        box-shadow: 0 0 50px rgba(0,0,0,0.5);
        top: 0;
        z-index: 100;    }
	.sticky .contacts { position:fixed; top:3rem; right: 0;}
    .flex {
        display: flex;
        flex-flow: row wrap;
        width: 100%;
        max-width: 1400px;
		margin:auto;    }
    .flex > div {
        flex: 1 1 auto;
        padding: 1.5rem;  }
    .content-23 {
        width: calc(100% - 280px);
        max-width: 980px;    }
    .content-13 {
        width: 280px;
        flex-grow: 0;
        position: relative;    }
    .content-12 { width: 50%; }
    .full { width: 100%; }
	.content { padding-top:calc(1rem + 1vw + 1vh);}
    .galerie ul li { flex: 0 0 33%; }
    /*--------------------------*/
    #menuToggle input {
        display: none;
    }
    #menuToggle {
        margin: 0 auto;
        position: relative;
    }
    nav {
	text-align: center;
	margin: 0 auto;
	line-height: 2.5em;
	z-index: 500;
	position: fixed;
	left: 0;
	right: 0;
	text-align: center;
	background-color: rgb(255,255,255);
	padding: 0;
	border:3px solid rgb(88,142,59);
	border-width: 3px 0;
    }
    nav ul {
        margin: 0 auto;
        padding: 0.25em 0;
        list-style-type: none;
        display: flex;
        justify-content: center;    }
    nav ul li {
        margin: 0;
        padding: 0;
        flex: 0 0 auto;    }
    nav a {
	font-size-adjust: none;
	display: block;
	margin:0 0.25em;
	padding: 0.25em 0.5em 0 0.5em;
	text-decoration: none;
	color: rgb(41,32,28);
	line-height: 2em;
	text-transform: uppercase;
	border-radius:0.5em;    }
    nav a.aktiv, nav a:hover {
        position: relative;
        text-decoration: none;
        background-color: rgb(88,142,59);
		color: rgb(255,255,255); }   
    .subnavi { position: relative; }
    .subnavi ul {
        display: none;
      /*  text-align: center;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        top: 0;
        padding: 0.5rem;
        background-color: rgb(88,142,59);
        z-index: 100;
        line-height: 2rem;
        width: 100%;    }
     .subnavi:hover ul {
       display: block;
        top: 2.5rem;    }
    .subnavi ul li { display: inline-block; }
    .subnavi ul li a { color: rgb(255,255,255); }
    .subnavi ul li a:hover {
        background-color: rgb(255,255,255);
        color: rgb(88,142,59); */}
}
@media only screen and (min-width: 1000px) {   
}
@media only screen and (min-width: 1200px) {
  
}
/*-----------------------------------------------------------------------*/
/*-----------------------------------------------------------------------*/
#totop {
	position: fixed;
	z-index: 150;
	right: 0;
	bottom: calc(5vw + 5vh);
	text-decoration: none;
	opacity: 0;
	padding: 6px 12px;
	margin: 0;
	font-weight:700;
	background-color: rgb(88,58,48);
	color:rgba(255,255,255,0.9);
	border-radius:0.25rem 0 0 0.25rem;
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-ms-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}
#totop:hover {
	background-color: rgb(245,245,245);
}
#totop.show { cursor: pointer;	opacity: 1.0;}
/*---------------------------------------------------------------------------------------*/
::-moz-selection { background-color: rgb(88,142,59); color:rgb(255,255,255);}
	 ::selection { background-color: rgb(88,142,59); color:rgb(255,255,255);}
/* { background-color:rgba(0,0,0,0.05);}*/
