@charset "utf-8";
@import url('/css/fontraleway.css');
@import url('/css/fontawesome.min.css');
@keyframes slide {
	8.33333333333% { left: -0%; }
	11.1111111111% { left: -100%; }
	19.4444444444% { left: -100%; }
	22.2222222222% { left: -200%; }
	30.5555555555% { left: -200%; }
	33.3333333333% { left: -300%; }
	41.6666666667% { left: -300%; }
	44.4444444444% { left: -400%; }
	52.7777777778% { left: -400%; }
	55.5555555555% { left: -500%; }
	63.8888888889% { left: -500%; }
	66.6666666667% { left: -600%; }
	75% { left: -600%; }
	77.7777777778% { left: -700%; }
	86.1111111111% { left: -700%; }
	88.8888888889% { left: -800%; }
	97.2222222222% { left: -800%; }
	100% { left: -900%; }
}
@-webkit-keyframes slide {
	8.33333333333% { left: -0%; }
	11.1111111111% { left: -100%; }
	19.4444444444% { left: -100%; }
	22.2222222222% { left: -200%; }
	30.5555555555% { left: -200%; }
	33.3333333333% { left: -300%; }
	41.6666666667% { left: -300%; }
	44.4444444444% { left: -400%; }
	52.7777777778% { left: -400%; }
	55.5555555555% { left: -500%; }
	63.8888888889% { left: -500%; }
	66.6666666667% { left: -600%; }
	75% { left: -600%; }
	77.7777777778% { left: -700%; }
	86.1111111111% { left: -700%; }
	88.8888888889% { left: -800%; }
	97.2222222222% { left: -800%; }
	100% { left: -900%; }
}
@keyframes notify {
    0%, 100% {
		-moz-transform: translateY(-50px);
		-webkit-transform: translateY(-50px);
		transform: translateY(-50px);
	}
    10%, 90% {
		-moz-transform: translateY(0px);
		-webkit-transform: translateY(0px);
		transform: translateY(0px);
	}
}
@-webkit-keyframes notify {
    0%, 100% {
		-moz-transform: translateY(-50px);
		-webkit-transform: translateY(-50px);
		transform: translateY(-50px);
    }
    10%, 90% {
		-moz-transform: translateY(0px);
		-webkit-transform: translateY(0px);
		transform: translateY(0px);
	}
}
html, body {
	background-color: whitesmoke;
	background-image: url(../images/overlay.webp);
	background-repeat: repeat;
	/*background: whitesmoke;*/
	color: #787878;
	font-family: 'Raleway', sans-serif;
	font-size: 1.5vw;
	height: 100%;
	margin: 0;
	padding: 0;
	position: relative;
	width: 100%;
	z-index: 0;
}
/*body::after {
	background: url(../images/overlay.webp) repeat;
	bottom: 0;
	content: "";
	left: 0;
	opacity: 1.0;
	position: absolute;
	right: 0;
	top: 0;
	z-index: -1;
}*/
img {
	border: 0;
}
h1 {
	color: white;
	display: inline-block;
	font-size: 3vw;
	font-weight: 600;
	letter-spacing: 0.25vw;
	margin: 1vw 0 0 3vw;
	padding: 0;
	text-shadow: dimgray 2px 2px 2px, black 0 0 1px;
	vertical-align: bottom;
	width: auto;
}
h2 {
	color: dimgray;
	display: inline-block;
	font-size: 2.5vw;
	font-weight: 400;
	letter-spacing: 0.25vw;
	margin: 2vw 0 2vw 4vw;
	padding: 0;
	text-shadow: silver 3px 3px 3px, black 0 0 1px;
}
h3 {
	color: lightgray;
	display: inline-block;
	font-size: 2.5vw;
	font-weight: 400;
	letter-spacing: 0.25vw;
	margin: 0;
	padding: 0;
	text-shadow: silver 3px 3px 3px, black 0 0 1px;
}
h4 {
	border-bottom: 1px solid lightgray;
	color: #0053ad;
	font-size: 2vw;
	margin: 0 1vw 2vw 1vw;
	padding: 0 0 0.25vw 2vw;
}
h4.half {
	width: 50%;
}
h5 {
	color: black;
	font-size: 2vw;
	letter-spacing: 0.25vw;
	margin: 1.5vw 0 1.5vw 1.5vw;
	padding: 0;
	text-shadow: 2px 1px 3px lightgray;
}
h6 {
	color: #0053ad;
	font-size: 1.5vw;
	letter-spacing: 0.1vw;
	margin: 0 0 1.5vw 4.5vw;
	padding: 0;
	text-shadow: 2px 1px 3px lightgray;
}
h7 {
	color: #0053ad;
	display: block;
	font-size: 2vw;
	font-weight: 600;
	letter-spacing: 0.1vw;
	margin: 1vw 0;
	padding: 0;
}
h1 i.fa,
h5 i.fa {
	padding-right: 1vw;
}
h2 i.fa {
	color: #0053ad;
	padding-right: 1vw;
}
p {
	color: white;
	font-family: 'Gruppo', sans-serif;
	font-size: 1.5vw;
	font-weight: 600;
	letter-spacing: 0.05vw;
	margin: 0;
	padding: 0.75vw 0 1vw 4vw;
}
p a:link,
p a:focus,
p a:hover,
p a:active,
p a:visited {
	color: white;
	text-decoration: none;
}
.color-blue {
	color: #0053ad;
}
.color-red {
	color: firebrick;
}
.font-size-1-5 {
	font-size: 1.5vw;
}
.font-size-2vw {
	font-size: 2vw;
}
.display-inline-block {
	display: inline-block;
}
.list-style-position-inside {
	list-style-position: inside;
}
.list-style-position-outside {
	list-style-position: outside;
}
.list-style-type-disc {
	list-style-type: disc;
}
.list-style-type-none {
	list-style-type: none;
}
.margin-top-0 {
	margin-top: 0;
}
.margin-top-1vw {
	margin-top: 1vw;
}
.margin-top-3vw {
	margin-top: 3vw;
}
.strong {
	font-weight: bold;
}
.text-align-center {
	text-align: center;
}
.text-align-right {
	text-align: right;
}
.text-decoration-underline {
	text-decoration: underline;
}
nav#nav_main {
	background: linear-gradient(darkgray, #fdfdfd);
	height: 2.75vw;
	margin: 0;
	padding: 0;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 3;
}
nav#nav_main ul#nav_main_list {
	font-size: 1.5vw;
	list-style: none;
	margin: 0.5vw 0 0 2vw;
	padding: 0;
	width: 90vw;
}
nav#nav_main ul#nav_main_list li {
	display: inline;
	font-weight: 600;
	letter-spacing: 0.15vw;
	padding: 0 1vw;
}
nav#nav_main ul#nav_main_list img {
	-webkit-filter: drop-shadow(1px 1px 1px dimgray);
	height: 1.5vw;
	width: auto !important;
}
nav#nav_main ul#nav_main_list li a:link,
nav#nav_main ul#nav_main_list li a:visited {
	color: white;
	text-decoration: none;
	text-shadow: dimgray 2px 1px 2px, black 0 0 1px;
}
nav#nav_main ul#nav_main_list li a:focus,
nav#nav_main ul#nav_main_list li a:hover,
nav#nav_main ul#nav_main_list li a:active {
	color: lightgray;
	border-bottom: 1px solid lightgray;
	text-decoration: none;
	text-shadow: black 2px 1px 2px, black 0 0 1px;
}
nav#nav_main div#social {
	float: right;
	margin: 0.5vw 3vw 0 auto;
	padding: 0;
	text-align: right;
	width: 4vw;
}
nav#nav_main div#social a:first-child {
	margin-right: 0.5vw;
}
nav#nav_main div#social a:link,
nav#nav_main div#social a:visited {
	-webkit-filter: grayscale(1);
	-webkit-transition: all .3s ease;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	filter: grayscale(1);
	opacity: 0.5;
	text-decoration: none;
	transition: all .3s ease;
}
nav#nav_main div#social a:focus,
nav#nav_main div#social a:hover,
nav#nav_main div#social a:active {
	-webkit-filter: none;
	filter: none;
	opacity: 1;
	text-decoration: none;
}
nav#nav_main div#social img {
	display: inline;
	height: 1.5vw;
	margin:
	width: auto !important;
}
nav#nav_speisekarte {
	margin: 2vw auto 0 auto;
	padding: 0;
	width: 100% !important;
}
nav#nav_speisekarte ul#nav_speisekarte_list {
	display: flex;
	justify-content: space-evenly;
	list-style: none;
	margin: 0 4vw;
	padding: 0;
}
nav#nav_speisekarte ul#nav_speisekarte_list li {
	flex-grow: 1;
	height: auto;
	padding: 0;
	text-align: center;
	width: auto;
}
nav#nav_speisekarte ul#nav_speisekarte_list li a {
	background-color: gray;
	color: white;
	border-top: 1px solid dimgray;
	box-shadow: 0 0 10px dimgray;
	display: block;
	margin: 0;
	padding: 0.75vw 0;
	position: relative;
	text-decoration: none;
	width: auto;
	z-index: 0;
}
nav#nav_speisekarte ul#nav_speisekarte_list li:first-child a {
	border-left: 1px solid dimgray;
	border-top: 1px solid dimgray;
	border-top-left-radius: 0.75vw;
	box-shadow: 0 0 10px dimgray;
}
nav#nav_speisekarte ul#nav_speisekarte_list li:last-child a {
	border-right: 1px solid dimgray;
	border-top: 1px solid dimgray;
	border-top-right-radius: 0.75vw;
	box-shadow: 0 0 10px dimgray;
}
nav#nav_speisekarte ul#nav_speisekarte_list li a.active {
	background-color: white;
	position: relative;
	z-index: 1;
}
nav#nav_speisekarte ul#nav_speisekarte_list li a.active h3 {
	color: dimgray;
}
header#start {
	clear: both;
	height: auto !important;
	margin: 0;
	padding: 0;
	width: 100% !important;
}
header#start img {
	height: auto !important;
	vertical-align: bottom;
	width: 100% !important;
}
div.clear {
	clear: both;
	height: 0;
	margin: 0;
	padding: 0;
	width: 0;
}
div.placeholder {
	height: 2.75vw;
	width: 100%;
}
div.caption {
	margin-left: 4vw;
	margin-right: 4vw;
	padding: 0;
}
div.highlight {
	color: #0053ad;
	font-weight: 600;
	margin: 1vw 0;
	padding: 0;
	text-decoration: underline;
}
div#restaurant,
div#speisekarte,
div#catering,
div#kontakt {
	clear: both;
	height: auto !important;
	margin: 0;
	padding: 0 0 2vw 0;
	position: relative;
	width: 100% !important;
}
/*div#restaurant:after,
div#speisekarte:after,
div#catering:after,
div#kontakt:after {
	background: url(../images/overlay.webp) repeat;
	bottom: 0;
	content: "";
	left: 0;
	opacity: 1.0;
	position: absolute;
	right: 0;
	top: 0;
	z-index: -1;
}*/
header#restaurant_header {
	background: gray url(../images/header_restaurant.webp) no-repeat right;
	background-size: cover;
	box-shadow: 0 0.25vw 0.75vw 0.05vw black;
	height: 5vw;
	margin: 0;
	opacity: 0.9;
	padding: 0;
	width: 100%;
}
header#speisekarte_header {
	background: gray url(../images/header_speisekarte.webp) no-repeat right;
	background-position: 0% 80%;
	background-size: cover;
	box-shadow: 0 0.25vw 0.75vw 0.05vw black;
	height: 5vw;
	margin: 0;
	opacity: 0.9;
	padding: 0;
	width: 100%;
}
header#catering_header {
	background: gray url(../images/header_catering.webp) no-repeat right;
	background-position: 0% 0%;
	background-size: cover;
	box-shadow: 0 0.25vw 0.75vw 0.05vw black;
	height: 5vw;
	margin: 0;
	opacity: 0.9;
	padding: 0;
	width: 100%;
}
header#kontakt_header {
	background: gray url(../images/header_kontakt.webp) no-repeat right;
	background-size: cover;
	box-shadow: 0 0.25vw 0.75vw 0.05vw black;
	height: 5vw;
	margin: 0;
	opacity: 0.9;
	padding: 0;
	width: 100%;
}
div#restaurant_content,
div#catering_content {
	height: auto !important;
	margin: 0;
	padding: 0;
	width: 100% !important;
}
div#restaurant_slider,
div#catering_slider {
	border: 1px solid gray;
	border-radius: 0.75vw;
	box-shadow: 0 0 10px dimgray;
	height: 50%;
	margin: 2vw 4vw 0 4vw;
	overflow: hidden;
	padding: 0;
}
div#restaurant_slider figure.restaurant_slider,
div#catering_slider figure.catering_slider {
	-moz-animation-duration: 35s;
	-moz-animation-iteration-count: infinite;
	-moz-animation-name: slide;
	-moz-animation-timing-function: linear;
	-webkit-animation-duration: 35s;
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-name: slide;
	-webkit-animation-timing-function: linear;
	animation-duration: 35s;
	animation-iteration-count: infinite;
	animation-name: slide;
	animation-timing-function: linear;
	font-size: 0;
	left: 0;
	margin: 0;
	padding: 0;
	position: relative;
	text-align: left;
	width: 1000%;
}
div#restaurant_slider figure.restaurant_slider figure,
div#catering_slider figure.catering_slider figure {
	display: inline-block;
	height: auto;
	margin: 0;
	padding: 0;
	position: inherit;
	width: 10%;
}
div#restaurant_slider figure.restaurant_slider figcaption,
div#catering_slider figure.catering_slider figcaption {
	background: rgba(0,0,0,0.9);
	color: #ffffff;
	font-family: 'Raleway', sans-serif;
	font-size: 1.5vw;
	font-weight: 600;
	letter-spacing: 0.25vw;
	padding: 1vw;
	position: absolute;
	top: 0;
	width: 100%;
 }
div#restaurant_slider figure.restaurant_slider figure img,
div#catering_slider figure.catering_slider figure img {
	float: left;
	height: auto;
	width: 100%;
}
div#speisekarte_content {
	background-color: white;
	border-bottom: 1px solid gray;
	border-left: 1px solid gray;
	border-right: 1px solid gray;
	border-bottom-left-radius: 0.75vw;
	border-bottom-right-radius: 0.75vw;
	box-shadow: 0 0 10px dimgray;
	clear: both;
	margin: 0 4vw;
	padding: 0;
	width: auto !important;
}
div#vorspeisen,
div#hauptgerichte,
div#dessert,
div#mittagskarte,
div#getraenke {
	background-color: white;
	border-bottom-left-radius: 0.75vw;
	border-bottom-right-radius: 0.75vw;
	margin: 0;
	padding: 2vw 2vw 0 2vw;
	position: relative;
	z-index: 1;
}
div#vorspeisen {
	background: #ffffff url(../images/speisekarte_vorspeisen.webp) no-repeat;
	background-position: 95% 75%;
	background-size: 40%;
}
div#hauptgerichte {
	background: #ffffff url(../images/speisekarte_hauptgerichte.webp) no-repeat;
	background-position: 95% 45%;
	background-size: 37%;
}
div#mittagskarte {
	background: #ffffff url(../images/speisekarte_mittagskarte.webp) no-repeat;
	background-position: 95% 70%;
	background-size: 45%;
}
div#vorspeisen ul,
div#hauptgerichte ul,
div#dessert ul,
div#mittagskarte ul,
div#getraenke ul {
	list-style: none;
	margin: 0 0 1vw 3vw;
	overflow: hidden;
	padding: 0;
}
div#vorspeisen ul.half,
div#hauptgerichte ul.half,
div#dessert ul.half,
div#mittagskarte ul.half,
div#getraenke ul.half {
	width: 50%;
}
div#vorspeisen ul li,
div#hauptgerichte ul li,
div#dessert ul li,
div#mittagskarte ul li,
div#getraenke ul li {
	float: left;
	margin: 0;
	min-height: 8vw;
	padding: 0 5% 2% 0;
	width: 19%;
}
div#vorspeisen ul.half li,
div#hauptgerichte ul.half li,
div#dessert ul.half li,
div#mittagskarte ul.half li,
div#getraenke ul.half li {
	padding: 0 10% 0 0;
	width: 40%;
}
div#speisekarte_content div.headline {
	font-size: 1.5vw;
}
div#speisekarte_content div.number {
	color: #0053ad;
	display: inline-block;
	font-size: 1vw;
	height: 100%;
	line-height: 1;
	margin: 0.25vw 0.5vw 0 0;
	overflow: initial;
	text-align: right;
	width: 30%;
}
div#speisekarte_content div.ingredients {
	font-size: 0.9vw;
	height: 100%;
	line-height: 1;
	margin: 0 0 0 0.5vw;
	overflow: initial;
}
div#speisekarte_content div.price {
	color: #0053ad;
	display: inline-block;
	font-size: 1vw;
	height: 100%;
	line-height: 1;
	margin: 0.25vw 0 0 0.5vw;
	overflow: initial;
	width: 60%;
}
div#kontakt_content {
	height: auto !important;
	margin: 0;
	padding: 0;
	width: 100% !important;
}
div#kontakt_left {
	height: auto !important;
	margin: 0;
	padding: 0;
	width: 50% !important;
}
div#kontakt_address {
	margin: 0 0 2vw 4vw;
	padding: 0;
}
div#kontakt_googlemaps_container {
	margin: 0 0 0 4vw;
	padding: 0 0 75% 0;
	position: relative;
}
div#kontakt_googlemaps {
	border: 1px solid gray;
	border-radius: 0.75vw;
	box-shadow: 0 0 10px dimgray;
	left: 0;
	height: 100%;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1;
}
div#kontakt_right {
	float: right;
	height: auto !important;
	margin: 0;
	padding: 0;
	width: 50% !important;
}
div#kontakt_aktuelles,
div#kontakt_businesshours {
	margin: 0 4vw 0 4vw;
	padding: 0;
}
ul {
	margin: 0 0 1vw 0;
	padding: 0;
}
ul.list-left {
	width: 46% !important;
}
ul.list-right {
	float: right;
	width: 54% !important;
}
div#kontakt_phone {
	margin: 0 4vw 0 4vw;
	padding: 0;
}
div#kontakt_phone a {
	/*color: #787878;*/
	color: #0053ad;
	display: block;
	font-size: 2vw;
	font-weight: bold;
	line-height: 100%;
	margin: 1vw 0 0 0;
	text-decoration: none;
}
div#termsofuse {
	background-color: rgba(0,0,0,0.75);
	display: none;
	height: 100% !important;
	left: 0;
	position: fixed;
	top: 0;
	width: 100% !important;
	z-index: 2
}
div.termsofuse_lightbox {
	background-color: #fdfdfd;
	border-radius: 5px;
	height: 80%;
	left: 10%;
	margin: 0;
	padding: 0;
	position: fixed;
	top: 10%;
	width: 80%;
}
div.termsofuse_lightbox a.termsofuse_close {
	font-size: 2vw;
	margin: 1vw 1vw 0 0;
	position: absolute;
	right: 0;
	text-decoration: none;
	top: 0;
}
div.termsofuse_lightbox a.termsofuse_close:link,
div.termsofuse_lightbox a.termsofuse_close:visited {
	color: lightgray;
}
div.termsofuse_lightbox a.termsofuse_close:active,
div.termsofuse_lightbox a.termsofuse_close:focus,
div.termsofuse_lightbox a.termsofuse_close:hover {
	color: darkgray;
	text-shadow: 2px 1px 3px black;
}
div.termsofuse_content {
	height: 80% !important;
	overflow: auto;
}
div.termsofuse_content p {
	color: black;
	font-family: 'Raleway', sans-serif;
	font-weight: 400;
	margin: 0;
	padding: 0 5vw 1.5vw 5vw;
}
div.termsofuse_content a {
	color: black;
}
div#notification {
	-webkit-transform: translateY(-50px);
	transform: translateY(-50px);
	box-shadow: 0 0 5px black;
	font-family: 'Raleway', sans-serif;
	font-weight: 600;
	left: 0;
	line-height: 2.75vw;
	margin: 0;
	padding: 0;
	position: fixed;
	overflow: hidden;
	right: 0;
	text-align: center;
	top: 0;
	width: 100%;
	z-index: 101;
}
div#notification a:link,
div#notification a:visited {
	border-bottom: 1px solid black;
	color: royalblue;
	text-decoration: none;
}
div#notification a:active,
div#notification a:focus,
div#notification a:hover {
	color: black;
	border: none;
	text-decoration: none;
}
footer {
	clear: both;
	font-family: 'Raleway', sans-serif;
	font-size: 1.5vw;
	font-weight: 600;
	height: auto !important;
	margin: 0 auto;
	padding: 2vw 0 0;
	text-align: center;
	width: 100% !important;
}
footer a:link,
footer a:visited {
	color: dimgray;
	text-decoration: none;
}
footer a:active,
footer a:focus,
footer a:hover {
	border-bottom: 1px solid lightgray;
	text-decoration: none;
	text-shadow: 2px 1px 3px darkgray;
}
footer ul#termsofuse_list {
	border-top: 1px solid lightgray;
	list-style: none;
	margin: 0 auto;
	padding: 1vw 0;
	width: 90%;
}
footer ul#termsofuse_list li {
	display: inline-block;
	padding: 1vw;
}
