
<style>

html *{
	margin:0;
	padding:0;
	outline:none;
}
	
html {
    margin-left: calc(100vw - 100%);
    margin-right: 0;
}


body{
	background:#FFF;
	margin:0;
	padding:0;
	outline:none;
	font-family:"myriad-pro";
}

body *{
	margin:0;
	padding:0;
	outline:none;
}

#page{
	width:100%;
	margin:0 auto;
	background:#FFF;
	max-width: 720px;
	position:relative;
	color:#555;
	box-shadow:none;
}

#logo{
	align-self:flex-end;
	align-self:center;
	margin-right:40%;
	margin-right:0;
	display:block;
	height:auto;
	margin-bottom:50px;
	padding-top:30px;
	width:100%;
	max-width:200px;
	box-sizing:border-box;
}

#mood{
	margin:30px 0 20px;	
}
	
#mood,
#abbinder{
	width:100%;
	height:auto;
}

h1{
	margin:0px 0 0px 0px;
	color:#819eca;
	font-size: 50px;
	font-weight:400;
	letter-spacing:0.4px;
	font-family:"myriad-pro-condensed";
	width:100%;
}

h2{
	font-family:"myriad-pro-condensed";
	font-weight:400;
}

legend{
	text-align:left;
	color:#38291c;
	font-weight:normal;
	font-size: 30px;
	font-family:"myriad-pro-condensed";
	font-weight:400;
	margin-bottom: 5px;
	margin-top: 10px;
}
	
h2, h3{
	color:#38291c;
	font-weight:normal;
	font-size: 22px;
	font-weight:600;
	margin-bottom:4px;
	margin-top:20px;
}
	
h3{
	font-size: 18px;
	font-family: "source-serif-pro", serif; 
	font-weight:700;
	margin-bottom:2px;
}

a{
	color:#b2bb00;;
}

header{
	display:flex;
	flex-direction:column;
	align-items:center;
	padding-top:50px;
}	
	
nav{
	width:100%;
	border-top:1px solid #38291c;
	padding-top:10px;
}

nav ul{
	display:flex;
	justify-content:center;
	width:100%;
	list-style-type:none;
}

nav ul li{
	margin:0 12px;
}

nav ul li a{
	text-decoration:none;
	font-weight:400;
	color:#38291c;
	font-size:15px;
	line-height:150%;
	font-family: "source-serif-pro", serif; 
}

nav ul li a:hover{
	color: #c8d200;;
}
	
nav ul li a.active{
	text-decoration:underline;
}	
	
section{
	display:flex;
	flex-direction:row;
	align-items:flex-start;
	flex-wrap:wrap;
}
	
section article{
	width:60%;
	text-align:left;
}

.galerie section article,
.ergebnisse section article,
.termcafe section article,
.datenschutz-impressum section article{
	width:100%;
}
	
#fehler{
	background-color: #38291c;
	padding:20px;
	width:100%;
}

#content #fehler p{
	color:white;
}
	
section aside{
	width:40%;
	padding-left:50px;
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	box-sizing:border-box;
}

#content{
	width:100%;
	box-sizing:border-box;
	margin:40px 0 70px;
}

#content ul{
	list-style-type:none;
	padding-left:0px;
	margin-left:0;
	margin-bottom:20px;
	margin-top:5px;
}
	
figcaption, #content p, #content li{
	font-weight:400;
	color:#38291c;
	font-size:15px;
	line-height:150%;
	font-family: "source-serif-pro", serif; 
}
	
#content p a{
	font-family: "source-serif-pro", serif;
}
	
#content p a{
	color:#c8d200;;
}
	
#content p a:hover{
	color:#b2bb00;;
}
	
#content ul li{
	position:relative;
	padding-left:13px;
}
	
#content figure{
	margin-top:30px;
	width:100%;
	display:flex;
	align-items:flex-end;
}
	
#content figure img{
	width: 60%;
	height:auto;
}
	
#content figcaption{
	width: calc(40% - 20px);
	position: relative;
	padding: 15px;
	background-color: #d3dbe8;
	box-sizing: border-box;
	bottom: 20px;
	left: 20px;
	min-height: 120px;
}

#content figcaption::before{
	content: "";
	border-right: 40px solid #d3dbe8;
	border-top: 27px solid transparent;
	border-bottom: 0px solid transparent;
	position: absolute;
	left: -40px;
	bottom: 40px;
}

#content .bubble p{
	color:#38291c;
}
	
#content .quote p{
	font-size:22px;
	font-weight:400;
	font-family: "source-serif-pro", serif;
	color:#819eca;
	font-style:italic;
	line-height:140%;
}
	
#content .quote em{
	color:#38291c;
	font-size:16px;
	font-family: "source-serif-pro", serif;
	font-style:normal;
	margin-top:5px;
	display:block;
	font-weight:500;
}
	
#content .box{
	border:1px solid #38291c;
	padding:20px;
	width:100%;
	max-width:100%;
	margin:40px 0 0;
	box-sizing: border-box;
}

#content .box.xing{
	padding:14px 20px 20px;
	margin-bottom:30px;
}
	
#content .box h4{
	font-size:22px;
	font-family:"myriad-pro-condensed";
	color:#38291c;
	font-weight:500;
	text-align:left;
	margin-bottom:0px;
	border-bottom:1px solid #819eca;
}
	
#content .box .termin{
	border-bottom:1px solid #819eca;
}

#content .box h3{
	font-size:26px;
	font-weight:500;
	text-align:left;
	font-family:"myriad-pro-condensed";
	color:#38291c;
	margin-bottom:5px;
	margin-top:8px;
	line-height:110%;
}
	
aside img#xingbutton{
	display:inline-block;
	margin:0 6px 0 0;
	width: 20px;
	position: relative;
	top: 6px;
}
	
aside img{
	max-width:120%;
	height:auto;
	margin: 0 auto 20px;
}
	
#content .box p{
	font-size:16px;
	padding-bottom:10px;
	margin-bottom:10px;
	font-family: "source-serif-pro", serif;
}
	
#fotobox{
	display:flex;
	flex-direction:column;
	justify-content:flex-start;
	align-items:flex-start;
	margin-top:30px;
}

#fotobox > div{
	display:flex;
	align-items:flex-start;
	border-bottom:1px solid #ddd;
	padding-bottom:20px;
	margin-bottom:20px;
}

#fotobox .text{
	width:calc(50% - 20px);
	padding-left:20px;
}

#fotobox img{
	width:calc(50% - 20px);
	height:auto;
}
	
#fotobox .beschreibung{
	padding-right:10px;
	margin-top:15px;
}

#fotobox h3{
	margin-top:0;
}
	
.button,
button{
	background:#c8d200;;
	max-width:250px;
	width:100%;
	color:#38291c;
	text-transform:uppercase;
	border:none;
	font-size:30px;
	padding:10px 10px;
	margin:30px 0 10px;
	letter-spacing:0.3px;
	display:block;
	font-weight: 400;
	cursor:pointer;
	text-decoration:none;
	display:flex;
	align-items:center;
	justify-content:center;
	font-family:"myriad-pro-condensed";
	outline:none;
}
	
.button:hover,
button:hover{	
	background-color:#b2bb00;;
}

button{
	margin:45px 0 20px 0px;	
}
	
#content .box .button{
	margin:10px 0 0;
	font-size:24px;
	padding:10px 5px;
	letter-spacing: 0.2px;
	height:auto;
	box-sizing:border-box;
}
	
#content .firmierung li{
	padding-left:0px;
}
	
#content ul li::before{
	content:"";
	display:block;
	width:6px;
	height:6px;
	background:#819eca;
	position:absolute;
	left:0;
	top:10px;
}

#content ol {
	list-style: none;
	counter-reset: ol-counter;
	margin-top:10px;
}
ol li {
	counter-increment: ol-counter;
	padding-left:20px;
	margin-bottom:10px;
	position:relative;
}
ol li::before {
	content: counter(ol-counter) ". ";
	color:#819eca;
	font-weight: bold;
	position:absolute;
	left:0;
}

ol li:nth-of-type(even)::before{
	color:#c8d200;;
}

	
#content .firmierung li::before{
	display:none;
}

#content ul li:nth-of-type(odd)::before{
	background:#c8d200;;
}
	

footer{
	width:100%;
	padding:15px 0 30px;
	box-sizing:border-box;
	border-top:5px solid #819eca;
}
	
footer ul{
	justify-content:flex-start;
	display:flex;
	margin-left:40%;
	list-style-type:none;
	padding:0;
}

footer ul li{
	margin-left:0px;
	margin-right:30px;
}
	
footer p{
	margin-bottom:10px;
}

footer p:last-of-type{
	margin-bottom:0px;
}

footer a{
	font-weight:400;
	color:#38291c;
	font-size:15px;
	line-height:150%;
	text-decoration:none;
	font-family: "source-serif-pro", serif;
}

footer a.active{
	text-decoration:underline;
}

footer a:hover{
	color:#c8d200;;
}

	
#headlines p{
	font-weight:200;
	margin-bottom:20px;
}

#headlines p.pflichtfelder{
	font-style:italic;
}

#content p{
	margin-bottom: 6px;
}

#content p:last-of-type{
	margin-bottom: 0px;
}

#headlines{
	width:100%;
	margin:30px 0 0;
	padding:0 36px;
	box-sizing:border-box;
}

fieldset{
	padding: 0px;
	border:none;
	margin:20px 0 40px;
	position:relative;
	display:flex;
	flex-wrap:wrap;
}

fieldset:last-of-type{
	margin:0px;
}

fieldset fieldset{
	border:1px solid #BBB;
	padding:20px 30px 10px;
	max-width:720px;
	background:#FBFBFB;
	margin-top:0px;
	box-sizing:border-box;
}

fieldset fieldset legend{
	font-size:30px;
}

fieldset fieldset:after{
	content:"";
	display:table;
	clear:both;
}

fieldset fieldset div{
	width:50%;
	float:left;
	height:80px;
	box-sizing:border-box;
}

fieldset fieldset div:nth-child(even){
	padding-right:10px;
}

fieldset fieldset div:nth-child(odd){
	padding-left:10px;
}

.akkordeon.aktiv{
	height:auto;
}
	
p.hinweis{
	margin-top:30px;
}
	
/*
.akkordeon legend{
	cursor:pointer;
}



.akkordeon legend:before{
	content:"";
	width:20px;
	height:21px;
	background:url("../img/akkordeon_pfeil.svg") no-repeat #c8d200;;
	border-bottom:2px solid #608800;
	color:#38291c;
	font-size:10px;
	border-radius:100%;
	text-align:center;
	box-sizing:border-box;
	line-height: 22px;
	display:inline-block;
	margin-right:5px;
	font-weight: 600;
	background-position:5px 5px;
	top: 3px;
	position: relative;
}

.akkordeon legend:active:before{
	border-top:1px solid #FFF;
	border-bottom:1px solid #608800;
}

.akkordeon.aktiv legend:before{
	background-position:5px -15px;
}
*/

.thema{
	margin-bottom:25px !important;
}
	
.box_teilnahme{
	margin-bottom:20px;
	position:relative;
}

.box_teilnahme input{
	margin-bottom:7px;
}
	
input[type=radio]{
	position:relative;
	top: 2px;
}

.begleitperson_box{
	display:none;
	margin:20px 0 20px;
}

.firmierung{
	width:100%;
	font-weight:400;
	height:35px;
	overflow:hidden;
	padding: 0px 30px;
	margin-top: 20px !important;
	list-style-type:none;
	line-height:150%;
	margin-bottom:30px;
	position: static;
}

#content .firmierung ul{
	-webkit-column-count:1;
	-moz-column-count:1;
	column-count:1;
	width:100%;
	max-width:none;
	margin:0;
	padding:20px 0px 10px;
	margin-bottom:0 !important;
}

.firmierung li{
	height:auto;
	float:left;
	width:50%;
	width:100%;
	margin-bottom:3px;
}

/*.firmierung div:first-of-type{
	margin-top:10px;
}

.firmierung div:last-of-type{
	margin-bottom:20px;
}*/

.firmierung ul:after{
	content:"";
	display:table;
	clear:both;
}

.firmierung ul li input{
	float:left;
	margin-right:5px;
	margin:6px 8px 0px 0px;
}

.firmierung ul li label{
	float:left;
	color:#38291c;
	max-width: 85%;
	font-weight:200;
	font-size:16px;
}

.firmierung ul li::before {
	content: inherit;
}

.firmierung ul li input.sonstige{
	height:0;
	opacity:0;
	margin:0;
}

.infobox{
	border:1px solid #CE041E;
	padding-bottom: 30px;
	display:none;
	margin-bottom:30px;
}

.infobox label{
	color:#CE041E;
	margin-top:20px;
}

.infobox p{
	font-style: italic;
	font-weight: 200;
}

label,
.label,
#content .radiolabel{
	display:block;
	font-size:14px;
	color:#b2bb00;;
	padding-bottom:5px;
	font-weight:400;
	font-size: 16px;
	font-family: "source-serif-pro", serif; 
}



.required:after{
	padding-left:2px;
	content:"*";
	color:#555;
	font-weight: 300;
}

select{
	margin-bottom:20px;
}

input[type=text], 
input[type=email],
input[type=number],
input[type=tel],
select{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	
	border:1px solid #BBB;
	width:100%;
	height:40px;
	padding: 0px 6px;
	box-sizing:border-box;
	font-weight:400;
	background:#FFF;
	border-radius:0;
	box-shadow:none;
	font-size: 16px;
	font-family: "source-serif-pro", serif; 
}

input[type=text]:focus, 
input[type=email]:focus,
input[type=number]:focus,
input[type=tel]:focus,
select:focus{
	border: 1px solid #c8d200;;
	box-shadow: 0px 0px 3px #608800;
}

select{
	background:url("../img/select.svg")  no-repeat right 10px top 16px;
	cursor:pointer;
}

option{
	width: 100%;
	padding: 5px;
	box-sizing: border-box;
	font-weight:400;
	box-shadow:none;
}

.feldbox{
	position:relative;
	margin-bottom:20px;
	width:100%;
	box-sizing: border-box;
}
	
.feldbox.width-50{
	width:50%;
}
	
.feldbox.width-50.left{
	padding-right:10px;
}
	
.feldbox.width-50.right{
	padding-left:10px;
}

.feldbox:last-of-type{
	margin-bottom:0px;
}


.checkbox,
.radio{
	font-weight:400;
	margin:0px 25px 0px 2px;
	display:inline;
	color:#38291c;
	font-size:16px;
	position: relative;
}

fieldset ul{
	-webkit-column-count:2;
	-moz-column-count:2;
	column-count:2;
	-webkit-column-gap: 10px;
	-moz-column-gap: 10px;
	column-gap: 10px;
	width:100%;
	max-width:500px;
	font-weight:200;
	
	list-style-type:none;
	line-height:150%;
	margin-bottom:30px;
}

/* Erzeugt den farbigen Kreis vor dem Menüpunkt */
fieldset ul li:before {
	content: '';
	display:inline-block;
	border-radius:100%;
	width: 6px;
	height:6px;
	background:#c8d200;;
	margin:0 6px 3px 0;
}

#absage,
#vielleicht{
	display:none;
}

::-webkit-input-placeholder {
	color:#BBB;
	font-weight:200;
}
:-moz-placeholder {
	color:#BBB;
	font-weight:200;
	opacity:1;
}
::-moz-placeholder {
	color:#BBB;
	font-weight:200;
	opacity:1;
}
:-ms-input-placeholder {
	color:#BBB;
	font-weight:200;
}
:placeholder-shown {
	color:#BBB;
	font-weight:200;
}

select:-moz-focusring {
	color: transparent;
	text-shadow: 0 0 0 #000;
	font-weight:400;
}
	
#offline{
	position:fixed;
	z-index:40;
	top:160px;
	margin-left: auto;
	margin-right: auto;
	left: 0;
	right: 0;
	width:400px;
	padding:25px;
	border:1px solid #555;
	background-color:#FFF;
	z-index: 6;
	box-shadow: 1px 1px 15px rgba(0, 0, 0, 0.3);
}

#offline h1{
	line-height: 110%;
}

#vorhang {
	width: 100%;
	height: 100%;
	position: fixed;
	z-index: 5;
	background: rgba(0, 0, 0, 0.1) none repeat scroll 0% 0%;
}

ul#sprache{
	position: absolute;
	right: 20px;
	top: 7px;
	z-index:500;
	text-decoration:none;
}

ul#sprache li{
	display:inline-block;
}

ul#sprache li a{
	display:block;
	text-transform:uppercase;
	background:#333;
	padding: 2px 5px 0px;
	margin-left: 5px;
	border-bottom: 3px solid #000;
	text-decoration:none;
	color:#38291c;
}

ul#sprache li:active a{
	border-bottom: 1px solid #000;
	padding-top:2px;
	position:relative;
	top:2px;
}

ul#sprache li.active a,
ul#sprache li:hover a{
	background:#c8d200;;
	border-color: #608800;
}

ul#sprache li.active:active{
	border-color:#608800;
}


#page label.error{
	color:#FFF;
	font-size:14px;
	background:#CE041E;
	font-weight:400;
	padding:0 10px;
	position:absolute;
	height:30px;
	line-height:30px;
	display:block;
	right:0;
	top:27px;
}

#page .firmierung label.error{
	right:30px;
	top:0;
	position:absolute !important;
}

#page .begleitperson_box label.error{
	top: -13px;
}

#page .infobox label.error{
	bottom: 32px;
	top: inherit;
}

input.error{
	border:1px solid #CE041E;
}

.radiowrapper{
	display:flex;
}

.radiobox{
	display: flex;
	align-items: center;
	margin-right:20px;
}

.radiobox label{
	margin-left:8px;
}

.radiobox input{
	margin-bottom:10px;
}

/*#page label.error:before{
	content: "!";
	width: 30px;
	height: 30px;
	color: #555;
	display: block;
	background:#CE041E;
	position: absolute;
	left: -30px;
	border-right: 1px solid #555;
	text-align: center;
	top: 0;
	font-size: 20px;
}*/

.frage{
	cursor:pointer;
	padding-left:23px;
	position:relative;
}

.frage::before{
	position:absolute;
	content:"";
	top: 2px;
	left: 3px;
	border-left: 10px solid #c8d200;;
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
}

.frage.aktiv::before{
	border-top: 10px solid #c8d200;;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-bottom: none;
	top: 9px;
	left: -5px;
}
	
#content .box .termin p.frage{
	padding-left:16px;
	padding-bottom:5px;
}
	
#content .box .termin div p{
	margin-top:-5px;
}
	
.termin .frage::before{
	top: 5px;
	border-left: 7px solid #c8d200;;
	border-top: 7px solid transparent;
	border-bottom: 7px solid transparent;
}

.termin .frage.aktiv::before{
	border-top: 7px solid #c8d200;;
	border-left: 7px solid transparent;
	border-right: 7px solid transparent;
	border-bottom: none;
	top: 9px;
	left: -1px;
}

.antwort{
	padding-left:23px;
}

/*.downloads article ul{
	margin-top: 20px;
}*/

@media screen and (max-width: 720px){
	
	#page h1{
		margin:5px 0 40px 20px;
	}
	
	fieldset{
		padding: 30px 10px 10px;
	}
		
	fieldset fieldset{
		padding: 20px;
	}	
	
	fieldset .firmierung{
		padding: 0 20px;
	}
	
	#weineHinzufuegen{
		padding:0 10px;
	}
	
	#headlines{
		padding:0 16px;
	}
	
	button{
		margin:0 0 0 10px;
	}
	
	footer{
		padding:20px 16px;
	}
}


@media screen and (max-width: 480px){
	
	
	#page h1{
		margin:5px 0 40px;
		font-size:36px;
	}
	
	.weinliste{
		-webkit-column-count:1;
		-moz-column-count:1;
		column-count:1;
	}
	
	.firmierung{
		-webkit-column-count:1;
		-moz-column-count:1;
		column-count:1;
	}
	
	.firmierung li{
		width:100%;
	}
	
	fieldset fieldset div{
		width:100%;
		float:left;
		height:80px;
		box-sizing:border-box;
		padding:0 !important;
	}
	
	#page label.error{
		position:static;
	}
	
	#offline{
		width:100%;
		top:30px;
		box-sizing:border-box;
		padding:10px
	}
	
	#offline h1{
		margin-left:0px;
		font-size:36px;
	}
}

</style>