/* euphoria-script-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: 'Euphoria Script';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/euphoria-script-v20-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/euphoria-script-v20-latin-regular.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* open-sans-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: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/open-sans-v40-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/open-sans-v40-latin-regular.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* open-sans-700 - 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: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/open-sans-v40-latin-700.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/open-sans-v40-latin-700.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */button,hr,input{overflow:visible}progress,sub,sup{vertical-align:baseline}[type=checkbox],[type=radio],legend{box-sizing:border-box;padding:0}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}details,main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{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}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}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:ButtonText dotted 1px}fieldset{padding:.35em .75em .625em}legend{color:inherit;display:table;max-width:100%;white-space:normal}textarea{overflow:auto}[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}summary{display:list-item}[hidden],template{display:none}

/**/

html {
	overflow-y: scroll;
	height: 100%;
	-webkit-text-size-adjust: none;
	-webkit-font-smoothing: antialiased;
	font-size: 18px;
}
*, *:before, *:after, div {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
body {
	margin: 0;
	padding: 0;
	color: rgb(60,60,59);
	height: 100%;
	font: normal 1rem/1.25em 'Open Sans', sans-serif;
	background-color: rgb(255,255,255);
	position: relative;
}
table, td {
	border: 0px;
	margin: 0px;
	padding: 0px;
	vertical-align: top;
	border-collapse: collapse;
	border-spacing: 0px;
}
iframe {
	border: 0px;
	margin: 0px;
	padding: 0px;
}
img {
	display: inline-block;
	border: 0;
	margin: 0;
	padding: 0em;
	vertical-align: middle;
}
a {
	color: inherit;
	outline: none;
}
a:hover {
	color: rgb(178,25,23);
	text-decoration: underline;
}
.clear {
	clear: both;
	line-height: 0px;
	height: 0px;
}
.clear:after {
	content: "";
	display: block;
	clear: both;
}
strong {font-weight:700;}
/*-------------------------------------------------------------------------------------*/
nav, .logo, header, main, .direkt {
	transition: all 0.7s;
	-webkit-transition: all 0.7s;
}
header {
	position:relative;
	background-color: rgb(255,255,255);
	z-index: 3;
	padding: 72px 0 0 0;
}
.logo {
	position: absolute;
	top: 0rem; left:1rem;
	z-index:100;
}
.logo a {
	text-decoration: none;
}

.logo img {
	height: auto;
	width: 160px;
}
/*----------------------------------------------------------------*/
.bild {
	z-index: 0;
	position: relative;
	overflow: hidden;
	background: url(../images/loading.gif) no-repeat center center;
	max-height:80vh;
}

.bild img {
	width: 100%;
	margin: 0 auto 0;
	height: auto;
}
.slide-down {
	position: fixed;
	width: 40px;
	height: 40px;
	bottom: 40px;
	left: 50%;
	margin-left: -20px;
	color: #fff;
	cursor: pointer;
	opacity: 0.75;
	z-index: 150;
}
.slide-down:hover {
	opacity: 1;
}
/*----------------------------------------------------------------*/
main {
	margin: auto;
}
.content, footer {
	padding: 1em;
	margin: 0 auto;
}
/*------------------------------------------------------------------------------*/
.galerie {
	position: relative;
	width: auto;
	padding: 0.5rem 0;
	background-color: rgb(38,95,42);
}
.galerie ul {
	list-style: none;
	margin: auto;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	max-width: 1200px;
}
.galerie ul li {
	list-style: none;
	padding: 1%;
	display: inline-block;
	flex: 0 0 50%;
}
.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;
}
.galerie ul li img {
	border: 2px solid rgb(255,255,255);
	height: auto;
	width: 100%;
}
.galerie ul li a img:hover {
	border: 2px solid rgb(179,25,25);
}
/*------------------------------------------------------------------------------*/
.flex { display:flex; flex-flow: row wrap; }
.flex > div { padding: 1rem; flex:1 1 auto;}
.image img { width:100%; height:auto; margin:auto;}
/**/
.liste li { list-style-type: "♥  "; }
.liste li::marker { color:rgb(150,30,45);}
.tabelle td { padding:4px; background-color:rgba(0,0,0,0.5);}
/*------------------------------------------------------------------------------*/
footer {
	background-color: rgb(38,95,42);
	color: #fff;
	text-align: center;
	display: flex;
	flex-flow:row wrap;
	background-image:url(../images/bg-footer.png); background-repeat:no-repeat; background-position: right bottom; background-size:contain;
}
footer > p { text-align:left; flex: 1 1 auto; justify-content: space-around; align-self:center; padding: 0 1rem;}
footer a {
	text-decoration-color: rgba(255,255,255,0.25);
	color: inherit;
}
footer a:hover {
	background-color: rgb(255,255,255);
	margin: -2px;
	padding: 2px;
}
.klein {
	font-size: 0.875em;
}
/*----------------------------------------------------------------*/
p, h1, h2, h3, h4, h5, h6 {
	font-weight: normal;
	font-size: 1rem;
}
h1, .h1 {
	font-size: 2.5em;
	font-size: calc(1.75em + 1.75vw);
	font-family: 'Euphoria Script', cursive;
	color: rgb(150,30,45);
	line-height: 1.125em;
}
h2 {
	font-size: 1.75em;
	font-size: calc(1em + 1vw);
	font-family: 'Euphoria Script', cursive;
}
h3 { font-weight:700; font-size: 1.25em;}
.special {
	font-family: 'Euphoria Script', cursive;
}
.rot { color:rgb(150,30,45);}
.gruen { color:rgb(38,95,42);}
.weiss { color:rgb(255,255,255);}

.trennlinie, hr {
	height: 0px;
	line-height: 0px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #ccc;
	margin-bottom: 20px;
	border-top-style: none;
	border-right-style: none;
	border-left-style: none;
	margin-top: 20px;
}
/*----------------------------------------------------------------*//*----------------------------------------------------------------*/
#formular {
	position: relative;
	alignment-adjust: 0;
	margin: 0;
	padding: 0;
}
form {
	margin: 0;
	padding: 0;
	display: block;
}
input, textarea {
	position: relative;
	border: 1px solid rgb(60,60,59);
	width: 100%;
	padding: 0px 0.25em;
	color: #000;
	height: 2em;
	max-width: 450px;
	font: normal 1em/1.25em 'Open Sans', sans-serif;
	border-radius: 0.25em;
}
.check {
	width: 20px;
	padding: 0;
	margin: 0;
	height: 20px;
}
textarea {
	height: 150px;
}
input:focus, textarea:focus {
	border: 1px solid rgb(179,25,25);
}
img.ui-datepicker-trigger {
	position: absolute;
	margin-top: 6px;
	margin-left: -22px;
	cursor: pointer;
	display: inline;
}
.pflicht {
	line-height: 15px;
	color: #B41412;
	font-weight: 700;
}
/*----------------------------------------------------------------*/
.button {
	border-radius: 4px;
	padding: 0.5em;
	border: 1px solid rgb(150,30,45);
	color: rgb(51,51,51);
	background-color: rgb(255,255,255);
	line-height: 2em;
	text-decoration: none !important;
	font-weight: 700;
	font-size: 1rem;
}
.button:hover {
	color: rgb(255,255,255);
	background-color: rgb(150,30,45);
}
/*----------------------------------------------------------------*/
/*                MEDIA QUERY            */
/*----------------------------------------------------------------*/

@media only screen and (max-width: 550px) {

}
@media only screen and (min-width: 380px) {

	
}
@media only screen and (max-width: 767px) {

nav, nav ul, nav ul li {
	padding: 0;
	margin: 0;
	list-style: none;
	postition: relative;
}
nav ul li a {
	text-decoration: none;
	padding: 0;
	margin: 2px auto;
	display: block;
	font-size: 1.125em;
	line-height: 45px;
	height: 45px;
	text-align: center;
	color: rgb(255,255,255);
	text-align: center;
	text-transform: uppercase;
}
nav a:hover, nav a:focus, nav a.aktiv {
	background-color: rgb(255,255,255);
	color: rgb(179,25,25);
	text-decoration: none;
}
nav .aktiv:focus {
	color: #000;
}
#menuToggle {
	display: block;
	position: fixed;
	top: 15px;
	right: 15px !important;
	width: 43px;
	z-index: 10;
	padding: 7px 0 3px 5px;
	-webkit-user-select: none;
	user-select: none;
	background-color: rgb(179,25,25);
	box-shadow: 0 0 4px rgba(0,0,0,0.5);
}
#menuToggle input {
	display: block;
	width: 43px;
	height: 43px;
	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: 33px;
	height: 4px;
	margin-bottom: 5px;
	position: relative;
	background-color: rgb(255,255,255);
	z-index: 3;
	transform-origin: 4px 0px;
	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;
}
#menuToggle span:first-child {
	transform-origin: 0% 0%;
}
#menuToggle span:nth-last-child(2) {
	transform-origin: 0% 100%;
}
/* Transform all the slices of hamburger into a crossmark */
#menuToggle input:checked ~ span {
	opacity: 1;
	transform: rotate(45deg) translate(-2px, -1px);
	background: #fff;
}
/*hide the middle one */
#menuToggle input:checked ~ span:nth-last-child(3) {
	opacity: 0;
	transform: rotate(0deg) scale(0.2, 0.2);
}
/* the last one go the other direction */
#menuToggle input:checked ~ span:nth-last-child(2) {
	opacity: 1;
	transform: rotate(-45deg) translate(0, -1px);
}
/*	 * Make this absolute positioned at the top right of the screen	 */
#menu {
	position: absolute;
	width: 250px;
	margin: -100px 0 0 -197px;
	padding: 2rem;
	padding-top: 8rem;
	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(179,25,25);
	background-size: 500%;
}
#menuToggle input:checked ~ ul {
	transform: scale(1.0, 1.0);
	opacity: 1;
}
}
/*  ////////////////////////////////////////////////////////////////////////////  */
@media only screen and (min-width: 768px) {
	header { padding:0;	}
	.logo { left:0.5rem; top:4rem;}
	.logo img { width:190px;}
	.sticky header {
		position: fixed;
		top: 0px; width: 100%;
	}
	.sticky .logo img { width: 120px;}
	.galerie ul li {
		flex-basis: 25%;
	}
	/*------------------------------------------------------------------*/
	#menuToggle input {
		display: none;
	}
	#menuToggle {
		margin: 0 auto;
		position: relative;
	}
	nav {
		padding: 0;
		text-align: center;
		position: relative;
		z-index: 2;
	}
	nav ul {
		list-style-type: none;
		margin: 0 auto;
		padding: 0px;
		right: 10%;
		text-align: center;
		max-width: 1200px;
	}
	nav ul li {
		padding: 0;
		margin: 0 0.5vw;
		text-align: center;
		display: inline-block;
	}
	nav a {
		text-decoration: none !important;
		display: block;
		padding: 0 12px;
		margin: 0.25em;
		font-size: 1.125em;
		line-height:48px;
		position: relative;
		color: rgb(30,30,30);
		border-bottom: 2px solid rgba(0,0,0,0);
		background-color:none;
	}
	nav a:hover {
		border-bottom: 2px solid rgba(0,0,0,0.5);
	}
	nav a.aktiv {
		color: rgb(0,0,0);
	}
	nav a.aktiv:before {
		content: url(../images/navi-aktiv.svg);
		position: absolute;
		left: -22px;
		top: 4px;
	}
	.sticky nav {
		position: fixed;
		top: 0; 
		background-color:#fff;
		width:100%;
		box-shadow:0 0 15px rgba(0,0,0,0.5);
		padding-top:0;
	}
	/**/
	.content-23 { width:66%; }
	.content-13 { width: 33%; }
	.content-12 { width: 50%; }
	.content-100 { width:100%; }
	.image { align-self:center;}
	.left {  order:1;	}
	.right { order:2;	}
}

@media only screen and (min-width: 1024px) {
	nav, nav ul { text-align:right}
	.logo { top:-0.5rem; left: 1rem;}
	.logo img { width:230px;}
	.column { column-count: 2; column-gap: 3vw}
	}
@media only screen and (min-width: 1200px) {
	.content, footer { 	padding: 3em;} 
	.content p {
	font-size: 1.25rem;
	line-height: 1.25em;
	margin-bottom: 1.325em;
}
.content li { font-size:1.25rem; 	line-height: 1.25em;}
	.content {
	max-width: 72rem;
	margin: 0 auto;
}
	nav { padding-top:2rem;}
	.logo { top:-0.5rem; left: 1rem;}
	.logo img { width:280px;}
	nav a { 	font-size: 1.5rem;}
	nav a.aktiv:before {
		content: url(../images/navi-aktiv.svg);
		position: absolute;
		top: -22px;
		left: calc(50% - 12px);
	}
	.galerie {
		margin: auto;
		padding: 2em;
	}
	.flex > div { padding:calc(1rem + 1vw);}
}
/*  ////////////////////////////////////////////////////////////////////////////  */
/*---------------------------------------------------------------------------------------*/

.animated {
	animation-duration: 0.5s;
	animation-fill-mode: both;
}
@keyframes fadeInDown {
 from {
 opacity: 0;
 transform: translate3d(0, -100%, 0);
}
to {
	opacity: 1;
	transform: none;
}
}
.fadeInDown {
	animation-name: fadeInDown;
}
/*////////////////////////////////////////////////////////////////////////////////////////////////////*/


/* Feel free to change duration  */ 
.animated {
	-webkit-animation-duration : 1000 ms;
	animation-duration : 1000 ms;
	-webkit-animation-fill-mode : both;
	animation-fill-mode : both;
}

/* .fadeOut is style taken from Animation.css and this is how it looks in owl.carousel.css:  */ 
.fadeOut {
	-webkit-animation-name : fadeOut;
	animation-name : fadeOut;
}
@-webkit-keyframes fadeOut {
 0% {
 opacity : 1;
}
 100% {
 opacity : 0;
}
}
@keyframes fadeOut {
 0% {
 opacity : 1;
}
 100% {
 opacity : 0;
}
}
/*////////////////////////////////////////////////////////////////////////////////////////////////////*/

::-moz-selection {
background-color: rgb(38,95,42);
color:#fff;
}
::selection {
	background-color: rgb(38,95,42);
	color: #fff;
}
/* { background-color:rgba(0,0,0,0.05);}*/
/*-----------------------------------------------------------------------*/
#totop {
	position: fixed;
	z-index: 150;
	right: calc(1vw + 1vh);
	bottom: calc(3vw + 3vh);
	text-decoration: none;
	opacity: 0;
	padding: 0 13px;
	margin: 0;
	width: 50px;
	height: 50px;
	background-color: rgb(179,25,25);
	color: rgb(255,255,255);
	line-height: 46px;
	font-size: 1.5em;
	-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 {
	color: rgb(179,25,25);
	background-color: rgb(255,255,255);
	box-shadow: inset 0 0 15px 0 rgb(179,25,25);
}
#totop.show {
	cursor: pointer;
	opacity: 1.0;
}
