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

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

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

/* open-sans-700italic - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 700;
  src: url('../fonts/open-sans-v15-latin-700italic.eot'); /* IE9 Compat Modes */
  src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'),
       url('../fonts/open-sans-v15-latin-700italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/open-sans-v15-latin-700italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/open-sans-v15-latin-700italic.woff') format('woff'), /* Modern Browsers */
       url('../fonts/open-sans-v15-latin-700italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/open-sans-v15-latin-700italic.svg#OpenSans') format('svg'); /* Legacy iOS */
}


/* calligraffitti-regular - latin */
@font-face {
  font-display: swap;
  font-family: 'Calligraffitti';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/calligraffitti-v19-latin-regular.woff2') format('woff2');
}

/* gfs-didot-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: 'GFS Didot';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/gfs-didot-v17-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}



/**********************************/
/**********************************/
/**********************************/

html {
  scroll-padding-top: 4.5rem;
  scroll-behavior: smooth;
}

body {
  position: relative;
  font-family: 'GFS Didot', 'Open Sans', Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  color: #555;
}

.wrap {
	margin-top: 100px;
}

@media (min-width: 992px) {

	.wrap {
		margin-top: 120px;
	}

}

#mainNav {
	/* background-image: url("../images/ornament.png"); */
	background: url("../images/ornament.png") repeat-x, url("../images/bg.jpg") repeat;
	background-size: auto 30%, 20%;
	background-color: rgba(247, 229, 209, .5);	
}

header.masthead {
	margin-top: 80px;
	background-color: rgba(247, 229, 209, .5);
}

header.masthead > .container {
	position: relative;
	height: 148px;
	color: #5d4816;
	background-image: url("../images/titel1.jpg");
	background-repeat: no-repeat;
	background-attachment: scroll;
	background-position: center center;
	background-size: cover;
	border-left: 6px solid #fff;
	border-right: 6px solid #fff;
}

header.masthead .titel {
	padding: 1.6rem 0.5rem;	
}

header.masthead .ribbon {
	display: none;
}

header.masthead h1.masthead-heading {
  font-size: 1.2rem;
  font-weight: 700;
  z-index: 1;
}

header.masthead h2.masthead-subheading {
  font-size: 1rem;
}

header.masthead h3.masthead-subheading {
  font-size: 1.3rem;
  line-height: 1.5rem;
  font-weight: normal;
  margin-top: 0;
  margin-bottom: .5rem;
  display: none;
}

#mainNav {
	padding-top: 1rem;
	padding-bottom: 1rem;
 	background-color: #fff;
}

#mainNav .navbar-toggler {
	margin-top: 15px;
	padding: 0.5rem .75rem;
	font-size: 1rem;
	text-transform: uppercase;
	font-weight: 700;
	color: #292b82;
	border: 2px solid #292b82;
	background-color: #fff;
}

#mainNav .navbar-toggler:hover, #mainNav .navbar-toggler:focus {
	color: #292b82;
	border: 1px solid #292b82;
	background-color: rgba(255, 255, 255, .3);
	transition: 0.5s background ease-in-out;
	box-shadow: 0px 0px 3px;
}

#mainNav .navbar-brand {
  color: #292b82;
  font-weight: bold;
  font-size: 20px;
  line-height: 1.6;
  margin-top: 7px;
}

#mainNav .navbar-brand img {
  height: 1.5rem;
}

#mainNav .navbar-brand br.onlyxxs {
	display: block;
}

#mainNav .navbar-nav .nav-item .nav-link {
	color: #444;
	letter-spacing: 0.0625em;
	font-size: 1.3rem;
	transition: font-size .5s ease;
	padding-left: 10px;
}

#mainNav.navbar-shrink .nav-item .nav-link {
	transition: font-size .5s ease;
}

a.nav-link {
	padding-top: 14px;
}

#mainNav.navbar-shrink .nav-item .nav-link {
	color: #666;
	
}

#mainNav .navbar-nav .nav-item.active, #mainNav .navbar-nav .nav-item:hover {
	background-color: rgba(147, 109, 29, .1);
}

#mainNav .navbar-nav .nav-item.active .nav-link, #mainNav .navbar-nav .nav-item .nav-link:hover {
  color: #936d1d;
  padding-left: 10px;
}

#mainNav.navbar-shrink .nav-item.active .nav-link, #mainNav.navbar-shrink .nav-item .nav-link:hover {
	color: #936d1d;
}

/**********************************/
/**********************************/

@media (max-width: 403px) {

	#mainNav .navbar-brand {
  		font-size: 14px;
 	}

 	#mainNav .navbar-toggler {
		margin-top: 15px;
		padding: 0.2rem .5rem;
		font-size: .7rem;
	}

}

@media (min-width: 430px) {

	header.masthead > .container {
		min-height: 148px;
		background-size: cover;
	}

}

@media (min-width: 768px) {

	header.masthead {
		margin-top: 120px;
	}

	header.masthead > .container {
		height: 190px;
	}


	header.masthead .titel {
		padding: 2rem;
	}

	header.masthead h1.masthead-heading {
  		font-size: 1.6rem;
	}

	header.masthead h2.masthead-subheading {
  		font-size: 1.3rem;
	}
	
	section {
		padding: 9rem 0;
	}

	#mainNav .navbar-brand {
		font-size: 1.25rem;
	}
	
	#mainNav .navbar-brand br.onlyxxs {
		display: none;
	}


}

@media (min-width: 992px) {

	body {
		font-size: 1.1rem;
	}

	header.masthead {
		margin-top: 100px;
	}

	header.masthead > .container {
		height: 240px;
	}

	header.masthead.klein > .container {
		height: 150px;
	}
			
	header.masthead .ribbon {
   	top: -15px;
	}
	
	header.masthead .titel {
		padding: 2rem 2rem;
		padding-top: 3rem;
	}
	
	#mainNav {
		padding-top: 2.5rem;
		padding-bottom: 1.5rem;
		transition: padding-top 0.3s ease-in-out, padding-bottom 0.3s ease-in-out;
	}

	#mainNav .navbar-brand {
		font-size: 1.2rem;
		transition: font-size 0.3s ease-in-out;
	}
	
	#mainNav .navbar-brand img {
		height: 2rem;
		transition: height 0.3s ease-in-out;
	}
	#mainNav.navbar-shrink {
		padding-top: 1rem;
		padding-bottom: 1rem;
		font-size: 1rem;
		background-color: #fff;
	}
	#mainNav.navbar-shrink .navbar-brand {
		font-size: 1rem;
	}
	#mainNav.navbar-shrink .navbar-brand svg,
	#mainNav.navbar-shrink .navbar-brand img {
		height: 1.5rem;
	}
	#mainNav .navbar-nav .nav-item {
		margin-right: 0;
	}
	#mainNav .navbar-nav .nav-item:last-child {
		margin-right: 0;
	}

	#mainNav .navbar-nav .nav-item.active, #mainNav .navbar-nav .nav-item:hover {
		background-color: transparent;
	}

 	#mainNav .navbar-nav .nav-item .nav-link {
    	font-size: 1.1rem;
  	}

}

@media (min-width: 1200px) {

	header.masthead > .container {
		height: 300px;
	}

	header.masthead.klein > .container {
		height: 170px;
	}
	
	header.masthead .titel {
		padding: 3rem 3rem;
	}
	
	#mainNav .navbar-brand {
		font-size: 1.5rem;
		transition: font-size 0.3s ease-in-out;
	}

	#mainNav.navbar-shrink .navbar-brand {
		font-size: 1.2rem;
	}

	#mainNav .navbar-nav .nav-item {
		margin-right: .7rem;
	}
	
	#mainNav .navbar-nav .nav-item .nav-link {
		font-size: 1.1rem;
	}

	#mainNav.navbar-shrink .nav-item .nav-link {
		font-size: 1rem;
	}
	
}

@media (min-width: 1400px) {
	
	header.masthead > .container {
		height: 500px;
	}

	header.masthead.klein > .container {
		height: 200px;
	}	
}

/**********************************/
/**********************************/
/**********************************/

p {
  line-height: 1.5;
}

a {
	text-decoration: none;
	color: #292b82;
}

a:hover {
	text-decoration: none;
	color: #1770b8;
}

a[href$=".pdf"]:before  {
  font-family: "Font Awesome 6 Free";
  content: "\f1c1";
  font-weight: 900;
  font-size: 1.4rem;
  color: #292b82;
  margin-right: 5px;
}

a[href$=".pdf"]:hover::before  {
  color: #1770b8;
}

h1, h2, h3, h4 {
	hyphens: none !important;
	font-family: 'GFS Didot', 'Open Sans', Arial;
}

h2 {
	color: #1770b8;
}

h3 {
	font-size: 1.4rem;
	margin-bottom: 1rem;
	color: #666;
}

h3.section-heading {
	color: #1770b8;
	font-size: 1.8rem;
}

h5 {
  font-size: 1.1rem;
}

input, a.btn {
	hyphens: none;
}

.rot {
	color: #e44a5a;
}

.grau {
	color: #bbb;
}

.blau {
	color: #292b82;
}

.gruen {
	color: #389039;
}

.kleiner {
	font-size: 90%;
}

.hide {
	display: none;
}

.box {
	border: 2px solid #1770b8;
	background-color: rgba(182, 212, 234, .5);
	padding: 20px 20px 10px 20px;
	margin-bottom: 40px;
}

.bgpaper {
	background-image:url(../images/bg.jpg);
}


.page-section {
  padding: 4rem 0;
}

.page-section + .page-section {
  padding: 0 0 4rem 0;
}

.page-section h2.section-heading, .page-section .section-heading.h2 {
  font-size: 2rem;
  color: #292b82;
  margin-top: 0;
  margin-bottom: 1rem;
}
.page-section h3.section-subheading, .page-section .section-subheading.h3 {
  font-size: 1rem;
  font-weight: 400;
  font-style: italic;
  margin-bottom: 4rem;
  color: #1770b8;
}

.masthead .btn-primary {
	background-color: #f7e5d1;
	border-color: #ffc800;
}

blockquote {
	margin: 2rem;
	border-left: 4px solid #ecaa48;
	padding-left: 2rem;
}

blockquote.zitat {
	margin-bottom: 5rem;
	margin: 2rem 0;
	hyphens: none;
}

blockquote.zitat p.zitat {
	font-family: "Calligraffitti", serif;
	font-weight: 400;
	font-size: 1.8rem;
	line-height: 1.3;
	font-style: normal;
	color: #c18f24;
	text-align: left;
}

blockquote.zitat p {
	text-align: right;
	font-size: 90%;
	color: #777;
}

br.xl {
	display: none;
}

img.rahmen {
	margin: inherit auto;
	text-align: center;
	margin-top: 1rem;
	border: 2px solid #ecaa48;
	padding: 5px;
}

.btn-primary {
	background-color: #292b82;
}

.kontaktformular input, .kontaktformular textarea, .kontaktformular select {
	background-color: rgba(23, 112, 184, .03);
	box-shadow: inset 0 0 4px rgba(0, 0, 0, .2);
}

.kontaktformular input.checkbox-lg, .formular input.checkbox-lg {
	font-size: 1.75rem !important;
	margin-left: -15px !important;
	margin-top: 0 !important;
	margin-right: 20px;
}

@media (min-width: 992px) {

	.page-section h2.section-heading, .page-section .section-heading.h2 {
  		font-size: 2.4rem;
	}

	h1.section-heading {
		font-size: 2.2rem;
		font-weight: bold;
		color: #1770b8;
	}
		
	h3 {
		font-size: 1.6rem;
	}
	
	h3.section-heading {
		font-size: 1.6rem;
	}

	h5 {
		font-size: 1.25rem;
	}

}

/*******************/
/***    Cover   ****/

.bg-wrap {
	 max-width: 1980px;
	 margin: 0 auto;
}

.bg-cover {
	 background-image: url('../images/titel1.jpg');
	 background-size: cover;
	 background-position: center;
	 background-repeat: no-repeat;
	 height: 40vh;
	 margin-top: 0;
}

.overlay {
	 background-color: rgba(0, 0, 0, 0.1); /* Dunkler Overlay-Effekt */
	 height: 100%;
	 display: flex;
	 justify-content: center;
	 /* align-items: center; */
	 color: white;
	 z-index: 1;
}

.overlay .container {
	position: relative;
}

.overlay .socialmedia {
	position: absolute;
	top: 100px;
	z-index: 2;
	left: 20px;
}

.overlay .socialmedia a {
	color: #fff;
	font-size: 1.6rem;
	opacity: .8;
}

.overlay .socialmedia a:hover {
	opacity: 1;
}

.bg-cover .overlay h1 {
	text-shadow: 0px 1px 4px #000;
}

.bg-cover .overlay h2.lead {
	font-size: 2rem !important;
	text-shadow: 0px 1px 4px #000;
}

/*******************/

	
@media (min-width: 768px) {	

	.bg-cover {
		margin-top: 35px;
		height: 65vh;
	}

	.overlay .socialmedia {
		top: 60px;
	}	

	img.portrait {
		margin-bottom: 3rem;
	}
	
	blockquote {
		margin: 2rem;
	}
	
	blockquote.zitat {
		margin-bottom: 5rem;
		margin: 2rem 6rem 2rem 4rem;
	}

	blockquote.zitat p.zitat {
		font-size: 2.2rem;
		line-height: 1.4;
	}

}

@media (min-width: 992px) {	
	
	.overlay .socialmedia {
		top: 100px;
		right: 30px;	
	}

	.overlay .socialmedia a {
		font-size: 2.2rem;
	}
	
	blockquote {
		margin: 2rem 4rem;
	}
	
	blockquote.zitat {
		margin-bottom: 5rem;
		margin: 2rem 6rem 2rem 4rem;
	}

	blockquote.zitat p.zitat {
		font-size: 2.4rem;
		line-height: 1.5;
	}

}

@media (min-width: 1200px) {

	br.xl {
		display: inline;
	}

}



section.imagesection {
	position: relative;
	max-width: 1980px;
	margin: auto;
	background-size: 100%;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-position: center;
	height: 250px;
}

.btn-xl {
  padding: 1.25rem 2.5rem;
  font-size: 1.125rem;
  font-weight: 700;
}

.btn-social {
  height: 2.5rem;
  width: 2.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border-radius: 100%;
}

.btn.willkommen {
	color: #936d1d;
}

.btn.willkommen:hover {
	color: #fff;
	background-color: #c18f24;
}

/*** Bestellen   *******************/

.formular .accordion-item {
	margin-bottom: 20px;
}

.formular .accordion-item .accordion-header {
	background-color: #bbb;
}

.formular .accordion-item .accordion-header .accordion-button {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	padding-left: 2rem;
	padding-right: 2rem;
	color: #fff;
	text-shadow: 0 2px 3px #000;
	font-size: 2rem;
	font-weight: bold;
	min-height: 100px;
}

.formular .accordion-item .accordion-header .accordion-button:hover {
	opacity: .8;
}

.formular .accordion-item .accordion-body sup {
	font-size: .7rem;
	color: #666;
	white-space: nowrap;
}

.accordion-button:after {
 	background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>") !important;
	transform: scale(2);
	border-radius: 4px;
}

.formular .accordion-item table {
	border: 1px solid #bbb;
	min-height: 155px;
}

.formular .accordion-item table td {
	font-size: 90%;
	hyphens: none;
}


.formular .input-group-text.warenkorb {
	background-color: #1770b8;
}

.formular .input-group-text.warenkorb:hover {
	background-color: #b6d4ea;
}

.formular .input-group-text.warenkorb a {
	color: #fff;
}

.formular .input-group-text.warenkorb a:hover {
	color: #000;
}

.formular input, .formular select, .formular textarea {
	box-shadow: inset 0 0 4px rgba(0, 0, 0, .2);
}

.formular input:not([type=checkbox]):not([type=radio]), .formular select, .formular textarea {
	background-color: rgba(23, 112, 184, .05);
}

.kontaktformular .form-check-label, .formular .form-check-label {
	display: block !important;
}

#allergene .container {
	font-size: .8rem;
}

.formular table p {
	margin: 0;
}

.table > :not(caption) > * > * {
	border: none !important;
}

.input-number {
	max-width: 80px;
}

.raising-number:after {
  font-family: "Font Awesome 6 Free";
  content: "\f07a";
  font-weight: 900;
  margin-left: 5px;
}

.cartformInfo table {
	font-size: 80%;
}

.table .optionen {
	margin-top: 10px;
}



/**********************/

.galerie a {
	margin-bottom: 1rem;
}

.galerie img:hover {
	opacity: 0.8;
}

.page-section {
  padding: 2rem 0;
  hyphens: auto;
}

img.rand {
	border: 2px solid #292b82;
	padding: 2px;
	border-radius: 0;
}

.cta {
	border: 2px solid #292b82;
	background-color: rgba(182, 212, 234, .3);
	padding: 1rem;
	border-radius: 0;
}

.cta h3 {
	margin-top: 0;
	margin-bottom: 10px;
	color: #292b82;
	font-size: 1.6rem;
}

.cta .btn-primary {
	background-color: #292b82;
	border-color: #292b82;
	padding: 10px 30px;
	font-weight: bold;
}

.cta .btn-primary:hover {
	background-color: #936d1d;
	border-color: #c18f24;
}

.table.oeffnungszeiten {
	font-size: 90%;
	max-width: 700px;
}

.table.oeffnungszeiten > :not(caption) > * > * {
	background-color: #1770b8;
	color: #fff;
}

@media (min-width: 768px) {

	.cta {
		padding: 2rem;
	}

}

@media (min-width: 992px) {

	.page-section {
  		padding: 3rem 0;
	}

	.cta {
		width: 80%
	}

}

/**** SWITCH    *******************/

.material-switch > input[type="checkbox"] {
    display: none;
}

.material-switch > label.switch {
    cursor: pointer;
    height: 0px;
    position: relative;
    width: 40px;
    padding: inherit !important;
    margin: 20px;
}

.material-switch > label.switch::before {
    background: rgb(0, 0, 0);
    box-shadow: inset 0px 0px 10px rgba(0, 0, 0, 0.5);
    border-radius: 8px;
    content: '';
    height: 16px;
    margin-top: -8px;
    position:absolute;
    opacity: 0.3;
    transition: all 0.4s ease-in-out;
    width: 40px;
}
.material-switch > label.switch::after {
    background: rgb(255, 255, 255);
    border-radius: 16px;
    box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
    content: '';
    height: 24px;
    left: -4px;
    margin-top: -8px;
    position: absolute;
    top: -4px;
    transition: all 0.3s ease-in-out;
    width: 24px;

    font-family: "Font Awesome 6 Free";
    content: "\f00c";
    font-weight: 900;
    color: #fff;
    font-size: 16px;
    padding-left: 4px;
}
.material-switch > input[type="checkbox"]:checked + label.switch::before {
    background: inherit;
    opacity: 0.3;
}
.material-switch > input[type="checkbox"]:checked + label.switch::after {
    background: inherit;
    left: 20px;
}

.material-switch.switchreadonly > label.switch, .material-switch.switchreadonly > label.switch::after {
    background-color: #bbb;
}

.label-success {
    background-color: #5cb85c;
}

.btn:disabled {
	border: none !important;
}






/**********************************/
/****** FOOTER  *******************/
/**********************************/

footer p {
	font-size: 90%;
	margin: 0;
}

footer.footer {
	padding-top: 4rem;
	padding-bottom: 1rem;
	background-color: #b6d4ea;
	background-size: cover;
	background-image: url("../images/ornament.png");
	background-repeat: repeat-x;
	background-size: auto 30px;
	color: #555;
}

footer a {
	color: #555;
}

footer a:hover {
	color: #999;
}

footer .ans {
	margin-top: 5px;
	margin-bottom: 2rem;
}

footer .ans p {
	font-size: .8rem;
}

footer .ans a {
	font-size: 11px;
	color: #aaa;
}

@media (min-width: 768px) {

	footer .ans .anslink {
		text-align: right !important;
	}

}

.cartLoading {
	height: 15px;
	width: 15px;
}
