@charset "UTF-8";

/* ---------- FONTS------------------- */


/*google Fonts für Schriften*/
@import url("fonts.css"); 

/* ---------- FARBEN ------------------- */

/* Hausfarbe 1(gold): #B58643*/
/* Schwarz: #313131 */
/* Weiß: #ffffff */

:root {
	--gemuese-gruen: #7ab820;
}

/* ---------- GENERIC -------------------*/
html {
	font-size: 18px;
}
body {
	font-family: "Roboto", sans-serif;
  	color: #4E4E4E;
	background-color: #F4F4F4;
	font-weight: 400;
}
header {
	position: relative;
}
main {
	padding: 40px 0;
}
@media(min-width: 768px){
	main {
		padding: 120px 0;
	}
}
@media(max-width: 1200px){
	.container {
		max-width: 100%;
	}
}
@media (min-width:600px) and (max-width: 1200px) {
	.container {
		padding: 0 30px;
	}
}

footer {
	position: relative;
	margin-top: 0;
	background:#512B1B;
	color: #fff;
	padding: 30px 0 0;
}
@media(min-width: 500px){
	footer {
		margin-top: 80px;
	}
}
@media(min-width: 991px){
	footer {
		margin-top: 161px;
	}
}

/* ---------- ELEMENTS -------------------*/

/* .............. headlines ...... */

h1, h2, h3 {
	font-family: "Leckerli One", sans-serif;
	color: #512B1B;
}
h1, h2 {
	margin-bottom: 2.5rem;
}
h1 {
	font-size: 2.25rem;
}
h2 {
	font-size: 2rem;
	margin-bottom: 1rem;
}
h3 {
	font-size: 1.25rem;
	margin-bottom: 1.25rem;
}
h1 + h2 {
	font-family: "roboto", sans-serif;
	margin-top: -2rem;
	font-size: 1.1rem;
	font-weight: bold;
}
p + h2 {
	margin-top: 2rem;
}
h2 + h3 {
	margin-top: -1rem;
	margin-bottom: 1rem;
}

/* .............. text ...... */
p {
	font-size: 1rem;

}
/* .............. links ...... */
main a {
	color:#512B1B;
	font-weight: bold;
}
main a:hover, footer a:hover {
	text-decoration: none;
	color:#D68604;
}
/* .............. buttons ...... */
.button, .btn {
	background: #F4AD3B;
	border:#F4AD3B;
	color: #fff;
}
.button:hover, .btn:hover {
	background: #D68604;
	border:#D68604;
	color: #fff;
}
.button:focus, .btn:focus { 
	box-shadow: none; 
}

/* .............. listen ...... */

main ol li::marker {
	color: #512B1B;
	font-weight: bold;
}
main ol li, main ul li {
	margin-bottom: 1rem;
}
main ol ul,
main ul ul {
	padding-left: 20px;
    margin-top: 10px;
}
main ol ul li,
main ul ul li {
	margin-bottom: 0;
	list-style-type: disc;
}

/* checkliste */
main ul.check-list {
	padding-left: 25px;
}
main ul.check-list li {
	margin-bottom: 0.5rem;
	padding-left: 10px;
}
main ul.check-list li::marker {
    content: "\f00c";
    font-family: "Font Awesome 5 Pro";
    position: relative;
    display: inline-block;
    position: absolute;
    transition: all .2s ease;
    font-weight: bold;
    font-size: 1.2em;
	color: var(--gemuese-gruen);
}

/* .............. table ...... */
tr {
	background: rgba(122,184,0, .15);
	border-bottom: solid #F4F4F4;
}
tr:nth-child(2n) {
	background: rgba(122,184,0, .26)
}
tr:hover, tr:focus {
	background: rgba(122,184,0, .35);
}
tr:last-child {
	border-bottom: none;
}

td, th {
	vertical-align: initial;
	padding: 15px;
	border-right: solid #F4F4F4;
}
td:last-child, th:last-child {
	border-right: none;
}
td p:last-child, th p:last-child {
	margin-bottom: 0;
}
/* .............. other ...... */
img {
  	max-width: 100%;
  	height: auto; 
}
/* ---------- COMPONENTS -------------------*/

/* .............. basic styles ...... */

.frame, 
.dce-image-galerie,
.dce-image-tiles {
	margin-bottom: 80px;
}
.frame-type-header {
	margin-bottom: 0;
}

/* Basic grid */
.grid {
	display:grid;
	gap: 1rem;
	margin-bottom: 2.25rem;
	justify-items:center;
}	

/* fullwidth */
.fullsize {
	max-width: 100vw !important;
    width: 100vw !important;
    margin: 0 calc(50% - 50vw) 4rem !important;
    padding: 2rem 0;
	background: #f5e7e2; 
}
.fullsize .row {
	max-width: 1140px;
    margin: 0 auto;
}
.fullsize .frame {
    margin-bottom: 0;
}

/* .............. content elemente ...... */

@media(max-width: 991px){
	.ce-intext.ce-right {
		display:flex;
		flex-direction: column-reverse;
	}
	.ce-intext.ce-right .ce-gallery {
		margin-left: 0;
		float: none;
	}
}
.frame-backgroundbox {
	background: #eeee83;
    padding: 20px 30px 10px;
	border-radius: 25px;
}
.frame-backgroundbox + .frame {
	margin-top: 1.5rem;
}

/* genuss-schein im content */
#c17267 > .row > div:last-child {
	position: relative;
}
#c17267 > .row > div:last-child .gfx {
	position: absolute;
	top: -30px;
	right: -20px;
	max-width: 180px;
}
@media(min-width: 768px){
	#c17267 > .row > div:last-child .gfx {
		max-width: 140px;
	}
}
@media(min-width: 991px){
	#c17267 > .row > div:last-child .gfx {
		max-width: 180px;
	}
}
@media(min-width: 1100px){
	#c17267 > .row > div:last-child .gfx {
		max-width: 200px;
	}
}
/* .............. biene als fullsize element ...... */
.frame-fullsize {
	position: relative; 
}
@media(min-width: 991px){
	.frame-fullsize:after {
		content: url(../Img/honigbiene.png);
		width: 129px;
		height: 122px;
		position: absolute;
		right: -238px;
		top: 50%;
	}	
}
/* .............. navigation ...... */

.navbar {
	max-width: 1140px;
	width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
	margin-left: auto;

	position: fixed;
	top: 0;
    left: 50%; /* position the left edge of the element at the middle of the parent */
    transform: translate(-50%, 0); /* This is a shorthand of translateX(-50%) and translateY(-50%) */
    
	z-index: 100;
	
	background:#FFFFFF;

	-webkit-box-shadow: 0px 4px 15px 0px rgba(0,0,0,0.15);
	-moz-box-shadow: 0px 4px 15px 0px rgba(0,0,0,0.15);
	box-shadow: 0px 4px 15px 0px rgba(0,0,0,0.15);
}
@media(min-width: 991px){ 
	.navbar {
		margin-top: 60px;
	}
}
.navbar-nav {
	width: 100%;
	justify-content: space-between;
	align-items: center;
}
/* Links */
.navbar-nav .nav-link {
	padding: 0;
}
.navbar-nav > li > a {
	display: block;
	font-size: 1.15rem;
	text-transform: uppercase;
	color: #4E4E4E;
	padding: 10px;
}
.navbar-nav > li:hover > a,
.navbar-nav > li.active > a,
.navbar-nav > li.active li.active a {
	text-decoration: none;
	color: #7AB800;
}

/* 2. ebene */
.navbar-nav .nav-item {
	position: relative;
}
.navbar-nav li li a {
	font-size: 1rem;
	text-transform: none;
	color: #4E4E4E;
	padding: 5px 15px;
	white-space: nowrap;
}


/* top nav */
.top-nav {
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0;
	margin:0;
}
.top-nav li a {
	display: block;
	color: #4E4E4E;
	padding: 10px;
	font-size: 1.22rem;
}
.top-nav li:hover a {
	color: #7AB800;
}
.top-nav li:first-child a {
	padding-left: 20px;
}

/* Mobil Button */

/* Mobil */

@media(max-width: 991px){
	.dropdown {
		text-align: center;
	}
	.dropdown > a {
		display: inline-block !important;
		margin-right: 8px;
	}
	.dropdown-menu {
		border: none;
		padding: 0;
		margin-bottom: 15px;
	}
}
@media(min-width: 992px){
	.dropdown-toggle {display:none;}

	.dropdown:hover ul {
		display: block;
	}

	.navbar-nav .home {
		border-right: 1px solid #E0E0E0;
		padding-right: 15px;
	}
	.navbar-nav > li:last-child {
		border-right: 1px solid #E0E0E0;
		padding-right: 50px;
	}
}

.navbar-toggler-icon {
	height: auto;
}

/* .............. Logo  ...... */
.logo {
	position: absolute;
	top: calc(50% - 50px);
	left: calc(50% - 50px);
	width: 100px;
	height: 100px;
	display: flex;
    justify-content: center;
	align-items: center;
	background: rgba(255,255,255,.8);
	border-radius: 100%;
}
.logo a {
	display: flex;
    justify-content: center;
	align-items: center;	
	width: 100%;
	height: 100%;
	border-radius: 100%;
}
.logo a:hover {
	background: rgba(255,255,255,.8);
}
.logo img {
	width: 80%;
    	height: 80%;
}
@media(min-width: 500px) {
	.logo {
		top: calc(50% - 75px);
		left: calc(50% - 75px);
		width: 150px;
		height: 150px;
	}
}
@media(min-width:1200px) {
	.logo{
		position: absolute;
		top: calc(50% - 150px);
		left: calc(50% - 150px);
		width: 300px;
		height: 300px;
	}
	
	.logo img {
		width: 80%;
    	height: 80%;
	}
}
/* .............. Keyvisual  ...... */
.dce-keyvisual {
	position: relative;
}
.dce-keyvisual::before {
	content:'';
	width: 100%;
	height: 100%;

	position: absolute;
	top:0;
	bottom:0;
	right: 0;
	left: 0;

	background-color: rgba(245,245,245, .25);
}
.dce-keyvisual:after {
	content:'';
	width: 100%;
	height: 59px;

	position: absolute;
	bottom: 0;
	left: 0;

	background: url(../Img/erdkante-header.svg);
	background-repeat: repeat-x;
	background-size: 100%;
}
.dce-keyvisual img {
	width: 100%;
}
@media(max-width: 500px) {
	.dce-keyvisual::after {
		height: 30px;
	}
}

/* badge */
.dce-keyvisual .badge-rightbottom {
    z-index: 99;
    bottom: -80px;
    right: 20px;
    transform: rotate(0deg);
}
.dce-keyvisual .badge-rightbottom:hover {
    transform: rotate(5deg);
}

.dce-keyvisual .badge div, 
.dce-keyvisual .badge a:link, 
.dce-keyvisual .badge a:visited {
	width: 190px;
	height: 190px;
	background: transparent;
	border-radius: 0;
}
@media (min-width: 500px) {
	.dce-keyvisual .badge-rightbottom {
		z-index: 99;
		bottom: -60px;
		right: 20px;
		transform: rotate(0deg);
	}	
	.dce-keyvisual .badge div, 
	.dce-keyvisual .badge a:link, 
	.dce-keyvisual .badge a:visited {
		width: 210px;
		height: 210px;
	}	
}
@media (min-width: 768px) {
	.dce-keyvisual .badge-rightbottom {
		bottom: -100px;
		right: 5%;
	}
	.dce-keyvisual .badge div, 
	.dce-keyvisual .badge a:link, 
	.dce-keyvisual .badge a:visited {
		width: 240px;
		height: 240px;
	}
}
@media (min-width: 1100px) {
	.dce-keyvisual .badge-rightbottom {
		bottom: -100px;
		right: 5%;
	}
	.dce-keyvisual .badge div, 
	.dce-keyvisual .badge a:link, 
	.dce-keyvisual .badge a:visited {
		width: 280px;
		height: 250px;
	}
}
@media (min-width: 1200px) {
	.dce-keyvisual .badge-rightbottom {
		bottom: -100px;
		right: 10%;
	}
}
@media (min-width: 1400px) {
	.dce-keyvisual .badge-rightbottom {
		bottom: -100px;
		right: 15%;
	}
}

/* .............. zertifikate ...... */
.zertifikate .row {
	justify-content: space-between;
}
.zertifikate .row > div{
	display:flex;
	align-items: center;
	justify-content: flex-end;
}
.zertifikate a {
	font-weight: normal;
	font-size: .8rem;
}
.zertifikate a p {
	padding: 10px 0;
	font-size: inherit;
}
/* .............. footer ...... */

footer:before {
	content: '';
    width: 100%;
    height: 224px;
    position: absolute;
    top: -130px;
	background-repeat: repeat-x;
	background-image: url(../Img/erdkante-footer.svg);
	background-size: 100%;
	background-position: center;
}
@media(min-width: 768px){
	footer:before {
		top: -199px;
	}
}
footer .row {
	justify-content: space-around;
    padding-top: 2rem;
}
footer p + table {
	margin-top: 20px;
}
footer tr {
	background: rgba(122,184,0, .15);
	border-bottom: solid#512B1B;
}
footer tr:nth-child(2n) {
	background: rgba(122,184,0, .26)
}
footer tr:hover, footer tr:focus {
	background: rgba(122,184,0, .35);
}
footer tr:last-child {
	border-bottom: none;
}
footer img {
	margin-bottom: 30px;
}
footer p:not(:last-child) {
	margin-bottom: 0;
}

footer td,footer th {
	vertical-align: initial;
	padding: 15px;
	border-right: solid #512B1B;
	font-size: 16px;
}
.footer-musthavecopy {
	background: #412418;
	margin-top: 30px;
	padding: 15px 0;
	font-size: .8rem;
}
footer .musthavecopy {
    display: flex;
    justify-content: space-between;
    align-items: center;
    list-style: none;
}
footer a {
	color: #fff;
}
footer .musthave {
    list-style: none;
    margin-bottom: 0;
}
footer .musthave li {
    display: inline-block;
    margin-right: 20px;
}
/* -------------- DCE ----------- */

/* .............. dce-image-tiles ...... */
.dce-image-tiles .tile .hover-content {
	max-height: 100%;
}
.dce-image-tiles h3 {
	font-size: 1.889rem;
}

@media (min-width: 768px){
	.dce-image-tiles .col-12:nth-child(n) .tile .text-wrap {
		align-items: flex-end;
		text-align: right;
	}
	.dce-image-tiles .col-12:nth-child(n) .tile .hover-content {
		margin-right: -40px;
	}
	.dce-image-tiles .col-12:nth-child(n) .tile:hover .hover-content{
		margin:0;
	}
	.dce-image-tiles .col-12:nth-child(2n) .tile .text-wrap {
		align-items: flex-start;
		text-align: left;
	}
	.dce-image-tiles .col-12:nth-child(2n) .tile .hover-content {
		margin-left: -40px
	}

	.dce-image-tiles .tile .text-wrap {
		background: rgba(81,43,27,.25);
	}
}
@media(max-width: 768px){
	.dce-image-tiles .tile .hover-content {
		opacity: 1;
	}
}

/* ---------- Powermail -------------------*/

.tx-powermail .container-fluid {
	padding: 0;
}
.tx-powermail h3,
.tx-powermail legend {
	display:none;
}
.tx-powermail fieldset.powermail_fieldset {
	background: #E4F0CC;
}
.tx-powermail label {
	font-size: 1.111rem;
}
.tx-powermail .powermail_fieldwrap {
	flex-direction: column;
}
@media(min-width: 500px){
	.tx-powermail .powermail_fieldwrap {
		flex-direction: row;
	}
}
@media(min-width: 991px) {
	.tx-powermail .powermail_fieldwrap > label {
		-ms-flex: 0 0 15%;
    	flex: 0 0 15%;
    	max-width: 15%;
	}
}

/* Genuss-Schein */
.powermail_form_68 .form-group {
    margin-bottom: 25px;
}
.powermail_form_68 input[type=text],
.powermail_form_68 input[type=tel],
.powermail_form_68 input[type=email] {
	max-width: 400px;
}
@media (min-width: 991px) {
	.tx-powermail .powermail_fieldwrap > label {
		-ms-flex: 0 0 25%;
		flex: 0 0 25%; 
		max-width: 25%; 
	}
}
.powermail_fieldwrap_gutscheinbetrag label {
	position: relative;
}
.powermail_fieldwrap_gutscheinbetrag input {
	width: 100px;
}
.powermail_form_68 .note {
    display: block;
    position: absolute;
	font-size: 0.75em;
    font-style: italic;
    opacity: 0.6;
}
.powermail_fieldwrap_pflichtfeldhinweis_01 .note {
	position: inherit !important;
}
.powermail_fieldwrap_dergutscheinistfuer {
	display: block !important;
}
.powermail_fieldwrap_dergutscheinistfuer label {
	width: 100%;
    max-width: 100% !important;
    flex: 0 0 100% !important;
	margin-bottom: 30px;
}
.powermail_fieldwrap_datenschutz > label {
	display: none;
}

/* ------------ PRINT STYLES ------------ */
@media print {
    .dce-keyvisual,
    .dce-image-tiles,
	.sitemap,
	.logo,
	.footer img,
	.footer-musthavecopy,
	.zertifikate,
	.ce-gallery,
	.dce-image-galerie
    {display:none!important}

	.collapse, .row {
		display:block!important;
	}
	
	 
	/** Seitenränder einstellen */       
	@page { margin: 2cm }

	/* Font auf 16px/13pt setzen, Background auf Weiß und Schrift auf Schwarz setzen.*/
	/* Das spart Tinte */
	body{
	font: 13pt Georgia, "Times New Roman", Times, serif;
	line-height: 1.3;
	background: #fff !important;
	color: #000;
	}
	main, .footer {padding: 0;}

	h1 {
	font-size: 24pt;
	}

	h2, h3, h4 {
	font-size: 14pt;
	margin-top: 25px;
	}    

	/* Alle Seitenumbrüche definieren */
	a {
		page-break-inside:avoid
	}
	blockquote {
		page-break-inside: avoid;
	}
	h1, h2, h3, h4, h5, h6 { page-break-after:avoid; 
		 page-break-inside:avoid }
	img { page-break-inside:avoid; 
		 page-break-after:avoid; }
	table, pre { page-break-inside:avoid }
	ul, ol, dl  { page-break-before:avoid }

	/* Linkfarbe und Linkverhalten darstellen */
	a:link, a:visited, a {
	background: transparent;
	color: #520;
	font-weight: bold;
	text-decoration: underline;
	text-align: left;
	}

	a {
		page-break-inside:avoid
	}

	a[href^=http]:after {
		  content:" <" attr(href) "> ";
	}

	li {
		margin-bottom: 0;
	}

	a:not(:local-link):after {
	   content:" <" attr(href) "> ";
	}

	/**
	 * Eingebundene Videos verschwinden lassen und den Whitespace der iframes auf null reduzieren.
	 */
	.entry iframe, ins {
		display: none;
		width: 0 !important;
		height: 0 !important;
		overflow: hidden !important;
		line-height: 0pt !important;
		white-space: nowrap;
	}
	.embed-youtube, .embed-responsive {
	  position: absolute;
	  height: 0;
	  overflow: hidden;
	}


	/* Wichtige Elemente definieren */    
	p, address, li, dt, dd, blockquote {
	font-size: 100%
	}



	ul, ol {
	list-style: square; margin-left: 18pt;
	margin-bottom: 20pt;    
	}

	li {
	line-height: 1.6em;
	}    

}