:root {
	font-size: 16px;
	--c-light-gold: #fbf4a1;
	--c-dark-gold: #906027;
	--c-dark-gray: #212121;
	--c-deep-red: #BB2F25;
	--c-light-blue: #d1e9f9;
	--c-light-alpha: rgba(255,255,255,0.70);
	--c-deep-blue: #204E96;
	--c-white: #fff;
	--c-black: #000;
}
html, body {
    font-family: Baskerville, "Palatino Linotype", Palatino, "Century Schoolbook L", "Times New Roman", "serif";
	font-family: 'Zilla Slab', serif;
	height: 100%;
	margin: 0;
	background: #212121;
	color: #212121;
	overflow-x: hidden;
}
.row {
	margin: auto;
	max-width: 1200px;
}
.slideshow {
	float: left;
	width: 100%;
	padding-top: 50%;
	background: #383837;
}
.slideshow .slideshow-slides {
	float: left;
	position: static;
}
header {
	height: 180px;
	background: #212121;
	padding: 10px;
	box-shadow: rgba(0,0,0,0.25) 0 4px 8px;
	z-index: 1000;
	border-bottom: solid 1px var(--c-light-blue);
	position: absolute;
	top: 0;
    color: var(--c-light-blue);
}

section {
	background-image: url(/images/marble-bg.jpg);
	background-position: top left;
	background-size: 100% auto;
	background-repeat: repeat-y;
}
footer {
	height: 100px;
	display: table;
	width: 100%;
	color: #fff;
	padding: 10px;
	background: #212121;
	box-shadow: rgba(0,0,0,0.25) 0 -4px 8px;
}
footer a {
    color: var(--c-light-blue);
}
footer>div {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	margin: auto;
	line-height: 1.5em;
}
#offerings {
	background-color: #dedede;
}
#offerings span {
	display: block;
	font-size: 2em;
	text-align: center;
	margin-bottom: 20px;
	font-weight: bold;
}
.offers-box {
	width: 100%;
	padding-top: 50%;
}
.offers-box>div {
	padding: 20px;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
}
.offering {
	border: solid 10px #383837;
	width: 100%;
	height: 100%;
	float: left;
	display: inline-block;
	overflow: hidden;
	background: #212121;
	box-shadow: 0 4px 8px rgba(0,0,0,0.25);
}
.header-info {
	display: none;
}
@media (min-width:720px) {
	section {
		background-size: cover;
	}
	.header-info {
		display: inline-block;
		position: absolute;
		top: 0;
		right: 20px;
	}
	.header-info h4 {
		margin: 10px 0;
	}
}
.offering>div {
	width: 100%;
	height: 100%;
	float: left;
	display: inline-block;
	background-position: center center;
	background-size: cover;
	-webkit-transform-origin: center center;
	transform-origin: center center;
	-webkit-transform: scale(1,11);
	transform: scale(1,1);
	-webkit-transition: -webkit-transform 1s 0s;
	transition: transform 1s 0s;
}
.offering:hover>div {
	-webkit-transform: scale(1.1,1.1);
	transform: scale(1.1,1.1);
}
a, nav span {
	color: inherit;
	cursor: pointer;
}

.slideshow-controls {
	width: 100%;
	height: 40px;
	position: absolute;
	bottom: 0;
	left: 0;
	display: table;
	background: rgba(56,56,55,0.5);
	padding: 10px;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	z-index: 1;

}
.slideshow-paginations {
	margin: auto;
	border-collapse: collapse;
	text-align: center;
	height: 20px;
}
.slideshow-paginations>div {
	display: inline-block;
}
.slideshow-paginations button {
	width: 20px;
	height: 20px;
	border: solid 2px #fff;
	border-radius: 20px;
	display: inline-block;
	margin: 0 10px;
	background: none;
	float: left;
	-webkit-transition: background 0.2s 0s;
	transition: background 0.2s 0s;
	cursor: pointer;
}
.slideshow-paginations button:not(.active):hover {
	background: rgba(255,255,255,0.5);
}
.slideshow-paginations button.active {
	background: #fff;

}

.home-logo {
	float: left;
    width: auto;
	height: 160px;
}
.home-logo>img {
    width: auto;
	height: 160px;
}
@media (max-width:719px) {
	header {
		height: 100px;
	}
	.home-logo {
		height: 80px;
	}
    .home-logo>img {
        height: 80px;
    }
}
.slideshow-slides .slide {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	background-position: top center;
	background-size: cover;
	opacity: 0;
	-webkit-transition: opacity 0.5s 0s;
	transition: opacity 0.5s 0s;
	z-index: -1;
	-webkit-transform-origin: center;
	transform-origin: center;
	-webkit-transform: scale(1,1);
	transform: scale(1,1);
}


.slide.prev {
	opacity: 1;
	z-index: 0;
	-webkit-transform: scale(0,0);
	transform: scale(0,0);
	-webkit-animation: scaler 1s 0s;
	animation: scaler 1s 0s;
}
.slide.active {
	opacity: 1;
	z-index: 1;
	-webkit-transform: scale(1,1);
	transform: scale(1,1);
}
@-webkit-keyframes scaler {
	0% {
		-webkit-transform: scale(1,1);
		transform: scale(1,1);
	}
	100% {
		-webkit-transform: scale(0,0);
		transform: scale(0,0);
	}
}
@keyframes scaler {
	0% {
		-webkit-transform: scale(1,1);
		transform: scale(1,1);
	}
	100% {
		-webkit-transform: scale(0,0);
		transform: scale(0,0);
	}
}




.mobile-menu {
	display: none;
}

.submenu {
	width: 100%;
	display: none;
}

@media (max-width:519px) {
	.mobile-menu {
		display: block;
		float: right; margin: 20px 0 20px 20px; height: 40px; padding: 0 20px; border: none; background: rgba(255,255,255,0.25); border-radius: 5px; font-size: 1.5em;
		
		-webkit-transition: background 0.1s 0s;
		transition: background 0.1s 0s;
		cursor: pointer;
        color: #fff;
	}
	.mobile-menu:hover {
		background: #fff;
		color: #000;
	}
	header {
		height: auto;
		position: absolute;
	}
	nav {
		clear: both;
		padding: 0;
		margin: 0;
		overflow-y: auto;
		display: none;
	}
	nav ul, nav li {
		width: 100%;
		float: left;
		list-style: none;
		text-align: center;
		margin: 0;
		padding: 0;
		display: block;
	}
	nav a, nav .menus-button {

		width: 100%;
		display: block;
		height: 60px;
		line-height: 60px;
		border-bottom: solid 1px #fff;
		font-size: 1.5em;
		font-weight: bold;
	}
	nav span a {
		background: rgba(255,255,255,0.25);
	}
	nav {
		margin-bottom: 30px;
	}
}

@media (min-width:520px) {
	.submenu {
		width: 200px; 
		background: var(--c-deep-red); 
		padding: 10px; 
		color: #fff; 
		position: absolute; 
		top: 11px; 
		left: -100px; 
		border-radius: 0 0 10px 10px; 
		box-shadow: rgba(0,0,0,0.25) 0 5px 10px; 
		text-align: center; 
		z-index: 0; 
		margin: auto;
	}
	.submenu-anchor {
		width: 0;
		height: 0;
		background: #eee;
		display: block;
		margin: auto;
	}
	.submenu::before {
		content: "";
		display: inline-block;
		position: absolute;
		top: -16px;
		left: 84px;
		background: none;
		border: solid 16px rgba(0,0,0,0);
		border-top-width: 0;
		border-bottom: solid 16px var(--c-deep-red);
	}
	.submenu span {
        width: 100%;
		display: block; margin-bottom: 10px;
	}
    .submenu span:last-of-type {
        margin-bottom: 0;
    }
	nav {
		display:inline-block; float: right; right: 0; position: absolute; bottom: 0;
	}
	nav ul {
		width: 100%;
		list-style: none;
		padding: 0;
		font-size: 1.25em;
		font-weight: bold;
	}
	nav ul li {
		margin: 0 10px;
		float: left;

	}
}

@media (min-width:960px) {
	nav ul {
		font-size: 1.5em;
	}
	nav ul li {
		margin: 0 20px;

	}
}

header a, header span {
	text-decoration: none;
	cursor: pointer;
}
header a:hover, header span:hover{
	text-decoration: underline;
}


.slideshow-prev, .slideshow-next {
	height: 100%;
	position: absolute;
	top: 0;
	display: block;
	z-index: 1;
}
.slideshow-prev {left: 0;}
.slideshow-next {right: 0;}

.slideshow-prev>div>div, .slideshow-next>div>div {
	display: table-cell;
	text-align: center;
	margin: auto;
	vertical-align: middle;
}
.slideshow-prev>div, .slideshow-next>div {
	display: table;
	height: 100%;
}

.slideshow-prev svg, .slideshow-next svg {
	 vertical-align: bottom;
}

.slideshow-prev button {
	height: 160px; 
	width: 80px; 
	border-radius: 0 40px 40px 0; 
	background: rgba(56,56,55,0.5); 
	color: #fff; 
	border: none; 
	-webkit-backdrop-filter: blur(10px); 
	backdrop-filter: blur(10px); 
	cursor: pointer;
	-webkit-transition: background 0.1s 0s;
	transition: background 0.1s 0s;
}

.slideshow-next button {
	height: 160px; 
	width: 80px; 
	border-radius: 40px 0 0  40px; 
	background: rgba(56,56,55,0.5); 
	color: #fff; 
	border: none; 
	-webkit-backdrop-filter: blur(10px); 
	backdrop-filter: blur(10px); 
	cursor: pointer;
	-webkit-transition: background 0.1s 0s;
	transition: background 0.1s 0s;
}

.slideshow-prev button:hover, .slideshow-next button:hover {
	background: rgba(56,56,55,1);
}

@media (max-width:639px) {
	.slideshow-controls {
		display: none;
	}
	.slideshow-prev button, .slideshow-next button {
		max-height: 80px;
		max-width: 60px;
		padding: 10px;
	}
}

.banner-text {
	float: left; 
	width: 100%; 
	background: var(--c-deep-red); 
	padding: 10px 20px; 
	color: #fff; 
	text-align: center; 
	font-size: 1.5em;
	font-weight: bold;
}

.page-heading {
	height: 360px;
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	background-color: #000;
}
@media (max-width:719px) {
	.page-heading {
		height: 160px;
	}
	
}
@media (min-width:720px) {
	header+* {
		margin-top: 200px;
	}
}
@media (max-width:719px) {
	header+* {
		margin-top: 100px;
	}
}
#message-sent {
	width: 100%; display: none; text-align: center; padding: 8px 16px; font-size: 24px; height: 48px;
	border-radius: 5px;
}

.yellow-bg {background-color: #f90; color: #212121; display: block;}
.red-bg {background-color: var(--c-deep-red); color: #fff; display: block;}
.info-bg {background-color: var(--c-light-blue); color: #212121; display: block;}
.black-bg {background-color: #212121; color: #fff; display: block;}
.white-bg {background-color: #fff; color: #212121; display: block;}



.menu-container {
	width: 100%;
	float:left;
	background-color: var(--c-light-alpha);
	box-shadow: 0 2px 8px 0 rgba(0,0,0,0.2);
	padding: 20px;
	border-radius: 8px;
}
.menu-nav-container {
	width:100%;
	background-color: #212121;
	position: relative;
	position: -webkit-sticky;
	position: sticky;
	top:0;
	z-index: 500;
	box-shadow: 0 2px 4px 0 rgba(0,0,0,0.2);
	justify-self: center;
	display: flex;
}
.menu-navigation {
	overflow-x: scroll;
	display: flex;
	min-height:40px;
	padding: 10px;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-self: center;
	margin: auto;
}
.menu-navigation-break {
	flex: 0 0 10px;
}
.menu-navigation a {
	font-weight: bold;
	min-width: 120px;
	max-width:auto;
	flex: 1 0 auto;
	color: var(--c-deep-blue);
	text-decoration: none;
	border-radius: 10px;
	text-align: center;
	padding: 6px 12px;
	margin: auto 10px;
	background: #fff;
	-webkit-transition: all 0.1s 0s;
	transition: all 0.1s 0s;
}
.menu-navigation a:first-of-type {
	margin-left: 0;
}
.menu-navigation a:last-of-type {
	margin-right: 0;
}
.menu-navigation a:hover, .menu-navigation a:focus {
	text-decoration: underline;
	background: var(--c-deep-blue);
	color: #fff;
	
}

.menu h2, .menu h3 {
	padding-top: 60px;
	padding-top: calc(20px + 2rem);
	text-align: center;
	font-size: 2rem;
	text-decoration: underline;
	display: block;
	width:100%;
	color: var(--c-deep-blue);
}
.menu h3 {
	font-size: 1.5rem;
}

.menu-item {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 2rem;
	width: 100%;
	text-align: left;
	padding-bottom:1rem;
	border-bottom: solid 1px;
}
.menu-item::before {
	
	content: "";
	position: absolute;
	width:100%;
	height: 100%;
	-webkit-transition: all 0.25s 0s;
	transition: all 0.25s 0s;
}
.menu-item:focus::before, .menu-item:hover::before {
	background: rgba(255,255,255,0.5);
}
.menu-item-name {
	font-size: 1.5rem;
	font-weight: bold;
	flex: 1 0 0;
	color: var(--c-deep-red);
}
.menu-item-price {
	text-align: right;
	font-size: 1.5rem;
	font-weight: bold;
	flex: 0 0 auto;
	color: var(--c-deep-red);
}
.menu-item-price::before {
	content: "$"
}
/*.menu-item-price::after {
	margin: 0;
	padding: 0;
	content: ".00";
	position: relative;
	font-size: 60%;
	bottom: 0.4rem;
}*/
.menu-item-description {
	flex: 100%;
}
@media (min-width:1200px) {
	.menu-mr {
		padding-right: 20px;
	}
	.menu-ml {
		padding-left: 20px;
	}
}