/*  V250203  */

html, body {
	min-width: 320px;
	height: 100%;
	min-height: 400px;
	scroll-behavior: smooth;
}
body {
	font-size: 100%;
	font-size: calc(8px + 1vw);
	font-family: "Times New Roman", Times, serif;
	margin: 0;
    padding: 0;
}
a:link    { color: #6ba824; text-decoration: none; }
a:visited { color: #6ba824; text-decoration: none; }
a:focus   { color: #00a824; text-decoration: none; }
a:hover   { color: #000000; text-decoration: underline; background: #6ba824; 
			-webkit-transition: all 0.3s linear;
			-moz-transition: all 0.3s linear;
			-ms-transition: all 0.3s linear;
			-o-transition: all 0.3s linear;
			transition: all 0.3s linear; }
a:active  { color: #000000; text-decoration: none; background: #6ba824; }

/* Begrenzung bei sehr großen Bildschirmen */
#bigscreen {
	max-width: 2560px;
	margin: 0 auto;
}

/*  menu  ---------------------------------------------------------------------------------------------- */ 

#navigation {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 4;
	background-image: linear-gradient(white, rgba(255, 255, 255, 0.8));
	Font-size: 14px;
	text-align: right;
}
#navigation a:link    { color: #000000; text-decoration: none; }
#navigation a:visited { color: #000000; text-decoration: none; }

nav {
	display: none;
    text-transform: uppercase;
}
nav ul {
 	padding: 0px;
 	margin: 0px;
 	width: 100%;
}
nav ul li {
	list-style: none;
	padding: 5px 0px;
}
nav ul li a,
#fhtop a {
	padding: 3px 10px;
	border-radius: 5px;
}
/** Anpassungen Checkbox+Label (Button) **/
input#open-menu {
	display: none;
}
input[type=checkbox]:checked ~ nav {
    display: block;
}
label.open-menu-label {
	padding: 10px 10px;
	display: block;
}
label.open-menu-label img {
	width: 12px;
	height: 12px;
}
#fhtop {
 	position:absolute;
	top: 10px;
	left: 20px;
	text-align: left;
	text-transform: uppercase;
}
/** Formatierung für Tablet und Desktopansicht **/
@media (min-width: 768px) {
	nav {
		display: block;
		padding: 10px 30px 10px 0px;
	}
	nav ul li {
		display:inline;
		width: 25%;
	}
	/** Label wird ausgeblendet **/
	label.open-menu-label {
		display: none;
	}
}

/*  header  ---------------------------------------------------------------------------------------------- */ 

#header {
  width: 100%;
  min-height: 100%;		/** auto **/
  text-align: center;
  color: white;
}
#headerbg {
  position: absolute;
  width: 100%;
  min-height: 100%;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  -o-background-size: cover;
  background-position: center;
  position: fixed;
  background-image: url("../foto/fh-bg-2.jpg");
}
#header .header-content {
  position: absolute;
  text-align: center;
  padding: 50px 15px 200px 15px;
  top: 10%;
}
#header .header-content .header-content-inner h1 {
  font-weight: normal;
  text-align: left;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 30px;
  background-color: rgba(0, 0, 0, 0.3);
  border-radius: 7px;
  padding: 10px 50px;
  text-shadow: 5px 5px 5px black;
}
#header .header-content .header-content-inner hr {
  margin: 30px 50px;
}
#header .header-content .header-content-inner p {
  background-color: rgba(0, 0, 0, 0.3);
  font-weight: 300;
  color: rgba(255, 255, 255, 0.7);
  font-size: 16px;
  margin-bottom: 50px;
  border-radius: 7px;
}
#header .footer-content {
  position: absolute;
  bottom: 0;
  text-align: center;
  padding: 0px 15px;
}
#header .footer-content .footer-content-inner h2 {
  font-weight: normal;
  margin-bottom: 30px;
  font-size: 25px;
  background-color: rgba(0, 0, 0, 0.3);
  color: rgba(255, 255, 255, 0.9);
  border-radius: 7px;
  padding: 10px 25px;
  text-align: left;
  text-shadow: 5px 5px 5px black;
}
#header .sprache {
	position: absolute;
	width: 80px;
	height: 40px;
	top: 50px;
	right: 10px;
	font-size: 12px;
}
#header .sprache a {
	display: block;
	width: 80px;
	height: 15px;
	padding: 5px 0;
	border-radius: 7px;
}
#header a:link    { color: #000; text-decoration: none; }
#header a:visited { color: #000; text-decoration: none; }
#header a:focus   { color: #fff; text-decoration: none; }
#header a:hover   { color: #fff; text-decoration: none; background: #6ba824; 
			-webkit-transition: all 0.3s linear;
			-moz-transition: all 0.3s linear;
			-ms-transition: all 0.3s linear;
			-o-transition: all 0.3s linear;
			transition: all 0.3s linear; }
#header a:active  { color: #000; text-decoration: none; background: #6ba824; }	

@media (min-width: 768px) {
  #headerbg {	
	background-image: url("../foto/fh-bg-1a.jpg");
  }
  #header {
/*    min-height: 100%;	*/
  }
  #header .header-content {
    position: absolute;
    top: 25%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    padding: 0px 50px;
  }
  #header .header-content .header-content-inner {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
  }
  #header .header-content .header-content-inner h1 {
    font-size: 50px;
  }
  #header .header-content .header-content-inner p {
    font-size: 18px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  #header .footer-content {
    padding: 0px 50px;
  }
  #header .footer-content .footer-content-inner h2 {
	font-size: 35px;
	margin-bottom: 30px;
	padding: 10px 30px;
  }
}

@media (max-height: 400px) {
	#header .header-content {
		padding: 100px 0 0 50px;
	}
	#header .header-content .header-content-inner h1 {
    font-size: 30px;
  }
	#header .footer-content {
		display: none;
	}
}

@media (min-width: 2500px) {
	#header .header-content, #header .footer-content {
		padding: 0px 10%;
	}
}

/*  main  ---------------------------------------------------------------------------------------------- */ 

#uebergang {
	position: relative;
	height: 5px;
	background-image: linear-gradient(to top, rgba(255, 255, 255, 1.0), rgba(255, 255, 255, 0.0));
}
section {
  position: relative;
  width: 100%;
  padding: 1px 0 60px 0;
  background-color: #ffffff;
  text-align: center;
}


summary    { color: #000; text-decoration: none; }
summary:visited { color: #000; text-decoration: none; }
summary:focus   { color: #000; text-decoration: none; outline: none; }
summary:hover   { color: #000; text-decoration: underline; }
summary:active  { color: #000; text-decoration: none; }

details summary {
	cursor: pointer;
}
details > summary {

	text-decoration: none;
}
details summary::-webkit-details-marker,
details summary::marker {
	display: none; 
	content: "";
}

/* section auswahl ---------------------------------------------------------------------------------------------- */



.textboxzentriert {
	margin: 0 auto;
	width: 90%;
	position: relative;
}
.auswahlbox {
	-display: -ms-flexbox;
	-display: -webkit-box;						/*test safari */
	display: block;
	max-width: 2000px;
	width: 90%;
	height: auto;
	margin: 0 auto;
	padding: 10px 10px;
	background-color: #f0faf0;
}
.auswahlbox hr {
	width: 99%;
	color: #f0f0f0;
}
.auswahlinhalt {
	display: flex;
	width: 100%;
	height: auto;
	padding: 10px 0;
}  
.auswahlimg {
	width: 40%;
	height: auto; 
	margin: 10px 10px 0 5%;
}
.auswahltxt {
	width: 60%;
	height: auto; 
	margin: 0 5% 0 10px;
	text-align: left;
}
@media (max-width: 768px) {		/* schmales Display -> nebeneinander */
	.auswahlbox {
		display: block;
	}
	.auswahlinhalt {
		width: 100%;
		display: flex;
	}
	.auswahlimg {
		width: 50%;
		padding: 5px 0;
	}
	.auswahltxt {
		width: 50%;
		height: auto; 
		margin: 0 0 0 3%;
	}
}

/* section haus ---------------------------------------------------------------------------------------------- */

.check {
	position: relative;
	left: -20px;
	width: 10px;
	height: 10px;
	float: left;
}
.bettchen {
	position: absolute;
	top: 20px;
	right: 100%;
	width: 100px;
	height: 85px;
}
.grill {
	position: absolute;
	top: 150px;
	left: 95%;
	width: 100px;
	height: 85px;
}
.grauklein {
	color: grey;
	font-size: 50%;
}

/* Fotos ---------------------------------------------------------------------------------------------- */

.flexwrap1 {
	display: -ms-flexbox;
	display: -webkit-box;						/*test safari */
	display: flex;
	flex-flow: row wrap;
	max-width: 2000px;
	height: auto;
	justify-content: center;
	padding: 0px 60px 0px 50px;
}  
.flexwrap2 {
	display: -ms-flexbox;
	display: -webkit-box;						/*test safari */
	display: flex;
	flex-flow: row wrap;
	max-width: 100%;
	height: auto;
	justify-content: center;
	-ms-flex: 1;
    -webkit-flex: 1;
    flex: 1;
}  
.imgcont {
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	max-width: 500px;
	min-width: 250px;
	height: auto; 
	-ms-flex: 1;
    -webkit-flex: 1;
    flex: 1;
	display: block;						/*test safari */
	margin: 10px 10px;
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	-o-transform: scale(1);
	transform: scale(1);
	-webkit-transition: all 0.3s linear;
	-moz-transition: all 0.3s linear;
	-ms-transition: all 0.3s linear;
	-o-transition: all 0.3s linear;
	transition: all 0.3s linear;
}
/*.imgcont:hover, */
.imgcont:hover .imgtext,
.imgcont:active .imgtext,
.auswahlimg:hover .imgtext,
.auswahlimg:active .imgtext {
	-webkit-transform: scale(1.3);
	-moz-transform: scale(1.3);
	-ms-transform: scale(1.3);
	-o-transform: scale(1.3);
	transform: scale(1.3);
	z-index: 2;
	opacity: 1;
}
.imgtext {
	opacity: 0;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 60%;
	margin: 0 0 7% 15%;
	border-radius: 5px;
	color: rgba(255, 255, 255, 0.7);
	background-color: rgba(0, 0, 0, 0.3);
	#background-color: rgba(64, 255, 64, 0.7);
	padding: 1px 5%;
	-webkit-transition: all 0.6s linear;
	-moz-transition: all 0.6s linear;
	-ms-transition: all 0.6s linear;
	-o-transition: all 0.6s linear;
	transition: all 0.6s linear;
}
.imgtext.headline {
	font-size: calc(4px + 0.7vw);
	text-transform: uppercase;
	text-align: center;
}
.imgtext .fototext {
	font-size: calc(4px + 0.6vw);
}

/* sonstiges ---------------------------------------------------------------------------------------------- */

.lageplancont {
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	max-width: 740px;
	height: auto;
	display: block;
	-ms-flex: 1;
    -webkit-flex: 1;
    flex: 1;
	position: relative;
}
.lageplancont:hover,
.lageplancont:hover .lageplantext,
.lageplancont:active .lageplantext {
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	-o-transform: scale(1);
	transform: scale(1);
	z-index: 2;
	opacity: 1;

}
.lageplantext {
	opacity: 1;
	position: absolute;
	bottom: 46%;
	right: 65%;
	-webkit-transform: scale(0.8);
	-moz-transform: scale(0.8);
	-ms-transform: scale(0.8);
	-o-transform: scale(0.8);
	transform: scale(0.8);
	-webkit-transition: all 0.6s linear;
	-moz-transition: all 0.6s linear;
	-ms-transition: all 0.6s linear;
	-o-transition: all 0.6s linear;
	transition: all 0.6s linear;
	
}
.lageplan {
	max-width: 740px;
    margin: 10px auto;
	padding:0px 40px 20px 20px;

}

img.shadow, img.rechts{
	max-width: 100%;
	height: auto;
	display: block;
    /** margin: 10px 10px; **/
	border-radius: 5px;
	box-shadow: -1px -1px 15px white, 5px 5px 10px grey;
	border: 2px outset #40aa40;

}
.ico24 {
	width: 24px;
	height: 24px;
	margin: 0 10px 0 0;
}
#boxsterne {
	height: auto;
	padding: 20px 20%;
	background-color: #708070;
/*	border-radius: 5px;	*/
	margin-bottom: -70px;
}
#boxsterne a:hover   { text-decoration: none; background: none; }
#boxsterne a:active  { text-decoration: none; background: none; }

.iconsterne {
	max-width: 200px;
	height: auto;
}
.iconkontakt {
	width: 30px;
	height: 30px;
}

.textbox {
	text-align: left;
	margin: 3% 5% 0 5%;
}
.textbox a {
	padding: 1px 1px;
	border-radius: 5px;
}
.textboxwrap {
	display: -webkit-box;
	display: flex;
	flex-flow: row wrap;
	max-width: 100%;
	height: auto;
	flex: 1;
	padding: 5% 0 3% 0;

}
.textbox-halb {
	max-width: 80%;
	min-width: 200px;
	height: auto;
	flex: 1;
	text-align: left;
	margin: 0px 3%;

}

.fotoaktiv {
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	max-width: 350px;
	min-width: 150px;
	height: auto; 
	ms-flex: 1;
    webkit-flex: 1;
    flex: 1;
	display: block;						/*test safari */
	margin: 10px 10px 10px 10px;
	-position: relative;
	left: 100px;
	op: 0px;
	--webkit-transform: scale(1);
	--moz-transform: scale(1);
	--ms-transform: scale(1);
	--o-transform: scale(1);
	-transform: scale(1);
	--webkit-transition: all 0.3s linear;
	--moz-transition: all 0.3s linear;
	--ms-transition: all 0.3s linear;
	--o-transition: all 0.3s linear;
	-transition: all 0.3s linear;
}
#imgcenter {
	display: block;
	margin: 0 auto;
}
/* CSS für alte Versionen von IE */
@supports (flex-wrap: wrap) { 
	.textboxwrap {margin: 0px; justify-content: center;}
	.textbox-halb {max-width: 40%;}
}
#fotobreit {												/* Foto komplette Breite */
	max-width: 100%;
	height: auto; 
}
#fotodenkmal {
	width: 300px;
	max-width: 100%;
	height: auto; 
	margin: 25px auto 20px auto;
}
img.reiten {
	max-width: 20%;
	min-width: 150px;
	float: right;
	margin-top: -40px;
	margin-left: 10px;
} 
img.spiel {
	max-width: 20%;
	min-width: 150px;
	float: right;
	margin-top: -10px;
	margin-left: 10px;
	margin-right: 15%;
} 


.hrleft, .hrright {
	display: inline-block;
	width: 25%;
	margin: 2px 0 0 0;
	height: 0.6em;
	border: 0px solid white;
}
.hrleft { background: linear-gradient(to right, #6ba824, white); margin-right: 10px;}
.hrright { background: linear-gradient(to left, #6ba824, white); margin-left: 10px;}
.hrleft ~ h3 { display: inline-block;}

#bestpreiscont {
	position: relative;
#	margin-top: -10px;
}
#bestpreis {
	height: 30%;
	padding: 20px 20%;
	background-color: #6ba824;
/*	border-radius: 5px;	*/
	display: block;
}

#bestpreis h2 {
	color: white;
	font-size: 1.7em;
	text-shadow: 0 3px 10px black;
	a:hover   { text-decoration: none;} 
}

#bestpreis p {
	color: black;
	font-size: 1.5em;
	text-decoration: underline 1px;
}

#kleingedrucktes {
	margin: 0 5%;
#	background-color: #f0faf0;
	padding: 20px;
	border-radius: 10px;
#	color: #000;
#	margin-bottom: 50px;
}

#boxzentriert {
	margin: 0 auto;
	width: 50%;
	position: relative;
}
#kontakt {
	color: #a0a0a0;
	background-color: #303030;
	text-align: center;
	padding: 10px 0px 10px 0px;
}
#kontakt a:link    { color: #a0a0a0; }
#kontakt a:visited { color: #a0a0a0; }
#kontakt a:focus   { color: #a0a0a0; }
#kontakt a:hover   { color: #d0d0d0; text-decoration: underline; background: none; }
#kontakt a:active  { color: #a0a0a0; }
#kontakt p.small   { font-size: 11px; }
#kontakt hr { border: 1px solid #404040; width: 80%; }

.kontakt-box {
	min-width: 250px;
}
.kontakt-box h4 {
	margin: 0;
}	

#buchenicon {
	margin: 0 5%;
	background-color: rgba(255, 255, 255, 0.8);
	padding: 20px;
	border-radius: 10px;
	color: #111;
	margin-bottom: 50px;
}
#buchenicon a:link    { color: #111;  text-decoration: underline; }
#buchenicon a:visited { color: #111; }
#buchenicon a:focus   { color: #111; }
#buchenicon a:hover   { color: #00a824; text-decoration: underline; background: none; }
#buchenicon a:active  { color: #111; }

.cclizenz {
	opacity: 0;
	color: #b0b0b0;
	font-size: 50%;
	text-align: left;
	margin-left: 15px;
}
.cclizenz a:link    { color: #b0b0b0; }
.cclizenz a:visited { color: #b0b0b0; }
.cclizenz a:focus   { color: #b0b0b0; }
.cclizenz a:hover   { color: #404040; }
.cclizenz a:active  { color: #b0b0b0; }
.imgcont:hover  .cclizenz,
.imgcont:active .cclizenz {
	z-index: 2;
	opacity: 1;
}
#nachoben {
	position: fixed;
	display: block;
	opacity: 0.5;
	bottom: 10px;
	right: 5px;
}
#nachoben a:hover {
	opacity: 0.8;
	background: transparent;
}
#impressum {
	font-size: 100%;
	text-align: left;
	padding: 50px;
	width: 800px;
}
