@charset "utf-8";

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, main {
	display: block;
}
body { line-height: 1; }

ol, ul { list-style: none; }

blockquote, q { quotes: none; }
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table { border-collapse: collapse; border-spacing: 0; }

a { text-decoration: none; display:inline-block; cursor: pointer; color: inherit; }

*, *:after, *:before { box-sizing: border-box; }

button, input, select, textarea { font-size: inherit; font-family: inherit; border:0; margin:0; }

input:focus, select:focus, textarea:focus, button:focus { outline-width: 0; }

em { font-style: italic; }

strong { font-weight: bold; }

button { background: transparent; padding:0; }

button:hover { cursor: pointer; }

a:not([href]) { cursor: default; }


/****** FONT DEFINITIONS *********/

/****** FONT DEFINITIONS END *********/





/****** VARIABLES  *********/

:root {
	--mainColor: #0e4798;
	--subColor: #d5aa50;
	--brown: #60553c;
	--white: #fafaf8;
	--mainFont: 'Saira Semi Condensed', sans-serif;
	--subFont: 'Cormorant SC', serif;
	--accentFont: 'Meddon', cursive;
}

.christmas {
	--mainColor: #273100;
}

/****** VARIABLES END  *********/





/****** ANIMATIONS  *********/

@keyframes logoIn {
	from { opacity: 0; }
	to { opacity: 1; }
}

@keyframes play {
	to { background-position: 0 -14400px; }
}

@keyframes fadeOut {
	to { opacity: 0; }
}

@keyframes fadeIn {
	from { opacity: 0; }
}

@keyframes fadeLeft {
	from { opacity: 0; transform: translateX(5em); }
}

@keyframes fadeLeftLH {
	from { opacity: 0; transform: translateX(5em); padding: 0; }
}

@keyframes fadeRight {
	from { opacity: 0; transform: translateX(-5em); }
}

@keyframes fadeDown {
	from { opacity: 0; transform: translateY(-5em); }
}

@keyframes exitUp {
	to { opacity: 0; transform: translateY(-5em) scale(.5,.5);}
}

@keyframes scaleIn {
	from { opacity: 0; transform: scale(.5,.5);}
}

@keyframes keystoneOG {
	0% { transform: rotateX(90deg); }
	40% { transform: rotateX(-20deg); }
	80% { transform: rotateX(5deg); }
	100% { transform: rotateX(0deg); }
}

@keyframes keystone {
	0% { transform: rotate3d(1, 0, 0, 90deg); }
	40% { transform: rotate3d(1, 0, 0, -20deg); }
	80% { transform: rotate3d(1, 0, 0, 5deg); }
	100% { transform: rotate3d(0, 0, 0, 0deg); }
}

@keyframes shake {
	0%, 100% { transform: rotate(0deg); }
	20% { transform: rotate(20deg); }
	40% { transform: rotate(-20deg); }
	60% { transform: rotate(10deg); }
	80% { transform: rotate(-8deg); }
}

@keyframes shakeR {
	0%, 100% { transform: rotate(180deg); }
	20% { transform: rotate(200deg); }
	50% { transform: rotate(160deg); }
	70% { transform: rotate(190deg); }
	90% { transform: rotate(172deg); }
}

@keyframes logoLight {
	0% { transform: translate(-100%, 100%) rotate(0deg); }
	70% { transform: translate(100%, -100%) rotate(0deg); }
	70.1% { transform: translate(-100%, 100%) rotate(-30deg); }
}

@keyframes golden {
	from { background: var(--subColor); }
}


/****** ANIMATIONS END  *********/






/****** COMMON ELEMENTS *********/

html {
	min-height: 100%;
}

body {
	-webkit-font-smoothing: antialiased;
	font-family: var(--mainFont);
	background: var(--white);
	min-height: 100vh;
}

.sfont, h1, h2, h3, h4 {
	font-family: var(--subFont);
}

.xfont, .xb4::before {
	font-family: var(--accentFont);
}

h1 {
	color: var(--brown);
	font-size: 3.438em;
	text-align: center;
	padding: 1.5em 0;
}


img {
	max-width: 100%;
	display: block;
}

mark {
	background: rgba(236,207,146,.5);
}


/****** COMMON ELEMENTS END  *********/






/****** FRAMEWORK *********/

.wrapper {
	max-width: 90%;
	margin-left: auto;
	margin-right: auto;
}

#overflow {
	display: flex;
    flex-direction: column;
    min-height: inherit;
}

body:not(.page-restaurant) #overflow {
	overflow: hidden;
}

#main {
	flex-grow: 1;
}

#head > nav {
	font-family: var(--subFont);
}

.underline {
	position: absolute;
	z-index:2;
	left:0;
	right:0;
	bottom: -.4em;
	margin: 0 auto;
	pointer-events: none;
	width: 6.063em;
	height: .625em;
	visibility: hidden;
}

.nav_link:hover + .underline, a.main:hover + .underline {
	visibility: visible;
}

.path, .path-2 {
	fill:none;
	stroke:#fff3d9;
	stroke-linecap:round;
	stroke-miterlimit:10;
    stroke-dasharray: 200;
    stroke-dashoffset: 200;
    transition: stroke-dashoffset linear;
}

.path-2 {
	stroke-linejoin:round;
}

.loaded .path, .loaded .path-2 {
	transition-duration: 1s;
}

a.nav_link:hover + .underline .path, a.nav_link:hover + .underline .path-2, a.main:hover + .underline .path, a.main:hover + .underline .path-2 {
    stroke-dashoffset: 0;
	transition-duration: 2s;
}

a.nav_link, a.main {
	color: #503600;
	text-transform: capitalize;
	text-shadow: 0 0 .313em rgba(255,255,255,.6);
	position: relative;
	z-index:2;
}

.sub {
	color: #593e05;
}

body:not(.page-home) #head {
	padding-top: 2.875em;
	background: var(--mainColor);
}

.keystone {
	position: absolute;
	max-width: 12em;
	left:0;
	right: 0;
	margin: 0 auto;
}

.page-home .keystone {
	padding-top: 3%;
	max-width: 24.375em;
}

#head .keystone {
	z-index:5;
}

body:not(.page-home) #head .keystone {
	top: .313em;
}

.keystone.full {
	height: 100%;
	max-height: 56.250em;
	background: url("../images/keystone.svg") no-repeat center top;
}

.christmas .keystone.full {
	background-image: url("../images/keystone_christmas.svg");
}

.independence-day .keystone.full {
	background-image: url("../images/keystone_indy.svg");
}

.christmas .keystone.full::after {
	content:"";
	position: absolute;
	pointer-events: none;
	bottom: -6.5em;
	background: url("../images/wreath.png") no-repeat center;
	background-size: 100% auto;
	width: 18.688em;
	height: 18.938em;
	transform: scale(0);
	transition: transform .3s;
}

.christmas.loaded .keystone.full::after {
	transform: scale(1);
	transition-delay: .4s;
}

.logo {
	display: flex;
    padding: 1.29% 0;
	border-radius: 50%;
	position: relative;
	z-index: 1;
	background-color: #d5aa50;
}

.registered {
	position: absolute;
	right: 13%;
	width: 4%;
}

.mask_light {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height: 100%;
	pointer-events: none;
	overflow: hidden;
	border-radius: inherit;
}

.perch .mask_light, .perch .registered {
	display: none;
}

.mask_light::before {
	content:"";
	background: linear-gradient(45deg, rgba(236,207,146,0) 25%,#eccf92 54%,rgba(236,207,146,0) 75%);
	display: block;
	height: 100%;
}

.page-home .mask_light::before {
	animation: logoLight 2s .8s backwards cubic-bezier(0.595, 0.005, 0.345, 1.000);
}

.logo > a {
	position: relative;
	z-index:2;
}

#head .logo {
	margin: 0 auto;
	box-shadow: inset 2px 0 #f6d694, inset -2px 0 #f6d694;
}

.page-home #head .logo {
	width: 62.821%;
	box-shadow: inset 2px 0 #f6d694, inset -2px 0 #f6d694, 0 .438em .5em rgba(21,43,58,.7);
}

.logo img {
	max-width: 94.7%;
	margin: 0 auto;
}

.phone {
	color: var(--white);
	font-size: 1.375em;
}

#foot {
	padding: 4.688em 0 3.438em;
	position: relative;
	background: var(--image) no-repeat left top 27em fixed var(--mainColor);
	background-size: 48.25em 35.625em;
}

#foot::before, #foot::after {
	content:"";
	position: absolute;
	z-index:2;
	height: 1px;
	background: #b0812c;
	left: 0; right: 0;
}

#foot::before {
	top: -4px;
}

#foot::after {
	top: 3px;
}

#foot > .wrapper {
	display: grid;
	grid-template-columns: 30% auto 25%;
	position: relative;
	z-index: 2;
}

#foot .logo {
	width: 8.125em;
	padding: .188em 0;
}

.location {
	padding: 1.5em 0 1.2em;
}

.col.center {
	display: grid;
    grid-template-columns: 30% 30% 30%;
}

.copyright {
	color:#fafaf8;
	font-size: 1.125em;
	opacity: .5;
	grid-column-start: 1;
    grid-column-end: 4;
	align-self: center;
}

.logos {
	position: relative;
	/*display: flex;*/
    flex-direction: column;
	justify-content: center;
	/*align-items: center;*/
	padding: 5% 0;
	background: url("../images/divider_foot.svg") no-repeat left center;
	overflow: hidden;
	
	display: grid;
    grid-template-columns: auto auto;
    align-items: center;
    grid-column-gap: 3em;
    min-height: 23.4em;
    justify-items: center;
}

.logos::before, .logos::after {
	content:"";
	position: absolute;
	height: calc(50% - 1.125em);
	width: 1px;
	background: var(--subColor);
	opacity: .43;
	left:.5em;
	transition: height .4s .3s;
}

#foot[data-emergence=hidden] .logos::before, #foot[data-emergence=hidden] .logos::after  {
	height:0;
}

.logos::before {
	bottom: calc(50% + 1.125em);
}

.logos::after {
	top: calc(50% + 1.125em);
}

.logos > li {
	flex-grow: 1;
	display: flex;
    align-items: center;
}

#foot[data-emergence=hidden] .logos > li {
	transform: translateX(-9em);
	opacity:0;
}

#foot[data-emergence=visible] .logos > li {
	transition-delay: .4s;
}

#foot[data-emergence=visible] .logos > li:nth-of-type(2) {
	transition-delay: .6s;
}

#foot[data-emergence=visible] .logos > li:nth-of-type(3) {
	transition-delay: .8s;
}

.logos > li:first-child {
	padding-top: 0;
}

.f_links, .logos> li {
	transition: transform .6s cubic-bezier(0.000, 0.245, 0.200, 1.155), opacity .3s linear;
}

#foot[data-emergence=hidden] .f_links {
	transform: translateY(-4em);
	opacity: 0;
}

#foot[data-emergence=visible] .f_links:nth-of-type(2){
	transition-delay: .2s;
}

#foot[data-emergence=visible] .f_links:nth-of-type(3){
	transition-delay: .4s;
}

.f_links > ul {
	display: inline-block;
}

.f_links.follow > ul {
	display: inline-flex;
    flex-direction: column;
    flex-wrap: wrap;
    max-height: 9em;
}

.f_links.follow li::after {
	width: 1px;
	height: .75em;
	background: var(--subColor);
	display: block;
	margin: 0 auto;
}

.f_links.follow  li:nth-of-type(2n+1)::after, .f_links.follow  li:first-child::after {
	content:"";
}

.f_links.follow li {
	padding-right: .688em;
}

.f_links:not(.follow) li {
	padding: .3em 0;
}

.f_links:not(.follow) li:first-child {
	padding-top:0;
}

.logos figure {
	max-width: 8.125em;
}

.logos figure a {
	display: block;
}

.f_links > h4 {
	color: var(--subColor);
	font-size: 1.75em;
	padding-bottom: 1.321em;
	letter-spacing: .03em;
}

.f_links a, .f_links button, .location {
	color: var(--white);
	font-size: 1.125em;
	display: block;
}

.f_links:not(.follow) a {
	padding: .3em 0;
}

.f_links:not(.follow) li:first-child a {
	padding:0;
}

.location {
	line-height: 1.4em;
}

address.col {
	display: flex;
	flex-direction: column;
}

.member_gh {
	max-width: 8.375em;
	display: flex;
	align-items: flex-end;
	flex-grow: 1;
}

.social {
	display: block;
	width: 2.278em;
	height: 2.278em;
	border-radius: 50%;
	border: 1px solid var(--subColor);
	background-repeat: no-repeat;
	background-position: center;
	position: relative;
	overflow: hidden;
	user-select: none;
}

.f_links .social {
	color: transparent;
}

.social:hover {
	background-color: var(--subColor);
}

.social.tw, .social.tw::before  {
	background-image: url("../images/icon_tw.svg");
}

.social.fb, .social.fb::before {
	background-image: url("../images/icon_fb.svg");
}

.social.yt, .social.yt::before {
	background-image: url("../images/icon_yt.svg");
}

.social.ta, .social.ta::before {
	background-image: url("../images/icon_ta.svg");
}

.social.ig, .social.ig::before {
	background-image: url("../images/icon_ig.svg");
}

.social::before, .social::after  {
	content:"";
	position: absolute;
	top: 0;
	left:0;
	right:0;
	bottom:0;
	margin: auto;
	width: 0%;
	height: 0%;
	border-radius: 50%;
	transition: .3s;
}

.social::before {
	z-index:2;
	background-repeat: no-repeat;
	background-position: center;
	filter: brightness(400%);
}

.social::after {
	z-index:1;
	background: var(--subColor);
}

.social:hover::before, .social:hover::after  {
	width: 100%;
	height: 100%;
}

.newsletter {
	border: 1px solid var(--subColor);
    width: max-content;
    margin: 1em 0 0;
    padding: .3em .5em;
    border-radius: .1em;
}

.newsletter > span {
	color: var(--subColor);
    letter-spacing: .04em;
}

.newsletter:hover > span {
	color: var(--white);
}

.imp {
	color: var(--subColor);
	font-family: var(--accentFont);
	display: inline-block;
	transition: font-size .8s cubic-bezier(0.000, 0.500, 0.345, 1.130), opacity linear .4s;
}

.imp[data-emergence=hidden], .imp.lg[data-emergence=hidden] {
	font-size:0em;
	opacity: 0;
}

.imp[data-emergence=visible], .imp.lg[data-emergence=visible] {
	font-size:1em;
	transition-delay: .3s;
	opacity:1;
}

.imp.lg, .imp.lg[data-emergence=visible] {
	font-size: 1.204em; 
}

#main p {
	font-size: 1.125em;
	color: #3f3a30;
	line-height: 1.8em;
	max-width: 56.944em;
	margin-left: auto;
	margin-right: auto;
}

.field {
	position: relative;
	border: 1px solid #a68129;
	padding: 0 .3em 0 1.688em;
	background: linear-gradient(to bottom, rgba(244,236,220,1) 0%,rgba(244,236,220,0) 25%,rgba(244,236,220,0) 75%,rgba(244,236,220,1) 100%) #fffcf8;
	box-shadow: inset 0 0 .5em rgba(233,202,139,.4), 0 .313em .313em rgba(159,143,112,.25);
}

.field.error {
	background: linear-gradient(to bottom, rgba(244,220,220,1) 0%,rgba(244,220,220,0) 25%,rgba(244,220,220,0) 75%,rgba(244,220,220,1) 100%);
}


.field::before, .field::after, .f-wrap::before, .f-wrap::after {
	content:"";
	background: url("../images/field_edge.svg") no-repeat center;
	background-size: contain;
	width: 1.313em;
	height: 1.25em;
	position: absolute;
	z-index:2;
	pointer-events: none;
}

.field::before {
	left:0;
	top:0;
	transform: scaleX(-1);
}

.field::after {
	right:0;
	top:0;
}

label {
	position: absolute;
	z-index:3;
	right:100%;
	top: .3em;
    margin: auto 0;
	height: 29px;
	display: flex;
    align-items: center;
	transform: translate(calc(100% + 4em), 0);
	pointer-events: none;
	transition: right .5s, transform .5s .1s, padding .3s .1s;
}

.show-label label {
	padding: 0 1em 0 1.5em;
	right:0;
	/*transform: translate(calc(100% - 1.25em), -1.2em);*/
	transform: translate(calc(0% + 2em), -1.4em);
}

label::before, label::after {
	content:"";
	position: absolute;
	top:0;
	z-index:1;
	height: 100%;
	opacity: 0;
	transition: opacity .3s linear;
}

.show-label label::before, .show-label label::after {
	opacity: .7;
}

label::before {
	content:"";
	background: url("../images/label_edge.svg") no-repeat 0 0;
	background-size: auto 100%;
	width: 22px;
	left:0;
}

label::after {
	flex-grow:1;
	background: #3b3525;
	border-radius: 0 2em 2em 0;
	left: 22px;
	right:0;
}

label > span {
	position: relative;
	z-index:2;
	color: #b8aa8b;
	white-space: nowrap;
	transition: color .3s linear, font-size .4s .2s;
}

.show-label label > span {
	color: #fffbf0;
	font-size: .938em;
}

.f-wrap::before {
	left:0;
	bottom:0;
	transform: scale(-1,-1);
}

.f-wrap::after {
	right:0;
	bottom:0;
	transform: scaleY(-1);
}

.f-wrap {
	display: flex;
}

.icon {
	width: 1.313em;
	background-repeat: no-repeat;
	background-position: center;
}

.icon.calendar {
	background-image: url("../images/icon_calendar.svg");
	background-size: 100% auto;
}

.icon.time {
	background-image: url("../images/icon_time.svg");
	background-size: 100% auto;
}

.icon.person {
	background-image: url("../images/icon_person.svg");
	background-size: 1.125em auto;
}

.if {
	color: #57451b;
	background-color: transparent;
	height: 2.5em;
	flex-grow: 1;
	padding-left: 1em;
}

.field.error .if {
	color: #963c3c;
}

textarea.if {
	height: auto;
	min-height: 2.5em;
	padding-top: .4em;
}

select.if {
	text-indent: .6em;
}

.if:focus {
	outline: 0;
}

.datePicker {
	bottom: -1px;
    position: absolute;
    left: -1px;
	right: -1px;
}

.loaded .Zebra_DatePicker {
	background: #fffcf8;
	box-shadow: none;
	border: 1px solid #a68129; border-top:0;
	border-radius: 0 0 .5em .5em;
	font-family: inherit;
	padding: 0;
    overflow: hidden;
    line-height: 1.4em;
	width: 100% !important;
}

.Zebra_DatePicker:not(.dp_hidden){
	animation: fadeDown .3s;
}

.loaded .Zebra_DatePicker.dp_hidden{
	animation: exitUp forwards .4s;
	pointer-events: none;
	display: block;
}

.loaded .Zebra_DatePicker .dp_body td {
	background: #fffcf8;
}

.loaded .Zebra_DatePicker .dp_body .dp_disabled {
	background: #f3ede2;
}

.dp_previous, .dp_next, .dp_caption {
	color: #a68129;
}

.loaded .Zebra_DatePicker .dp_body .dp_current {
	border-color: var(--mainColor);
	color: var(--mainColor);
}

.loaded .Zebra_DatePicker .dp_body .dp_selected {
	background: var(--mainColor);
	border-color: var(--mainColor);
	color: #fff;
}

.loaded .Zebra_DatePicker .dp_actions .dp_hover {
	background: var(--mainColor);
	color: var(--subColor);
}

.loaded .Zebra_DatePicker .dp_body .dp_hover {
	color: var(--subColor);
}

.loaded .Zebra_DatePicker .dp_daypicker th {
	background: transparent;
	color: #726650;
}

.dummy {
	position: absolute;
	visibility: hidden;
	pointer-events: none;
}

.preload {
	animation: fadeIn .7s linear paused;
}

.preload.loaded {
	animation-play-state: running;
}

.preload.no-in {
	animation: none;
}

.page_title {
	position: relative;
	overflow: hidden;
	margin-bottom: 1.688em;
	height: 14.688em;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.page_title > h1 {
	color: var(--brown);
	padding: 0;
}

.page_title .cover {
	width: 54%;
}

.page_title .cover:first-of-type {
	transform-origin: right top;
	transform: translateY(calc(100% - .375em)) rotate(10deg);
	right: calc(50% - 1px);
}

.page_title .cover:last-of-type {
	transform-origin: left top;
	transform: translateY(calc(100% - .375em)) rotate(-10deg);
	left: calc(50% - 1px);
}

.family_links {
	width: 100%;
	max-width: 23.625em;
	border-top: 2px solid #b9ac90;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	font-family: var(--subFont);
	margin-top: .2em;
}

.family_links a {
	display: block;
	text-transform: uppercase;
	font-size: 1.25em;
	color: var(--brown);
	padding: .550em;
	letter-spacing: .03em;
}

.information {
	padding: 5%;
	min-height: calc(100vh - 90px);
}

#main .information > p {
	color: var(--brown);
	font-size: 1.375em;
	text-align: center;
}

.information .imp {
	color: var(--mainColor);
}

.reservation.modal {
	position: fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	display: flex;
    align-items: center;
	justify-content: center;
	overflow-y: auto;
	z-index:10;
	background: rgba(55,51,38,.8);
	pointer-events: none;
	opacity: 0;
	transition: opacity .3s linear;
}

.reservation.modal.show {
	pointer-events: all;
	opacity: 1;
}

.reservation.modal.show .card {
	opacity: 1;
}

.modal .close {
	position: absolute;
	z-index:3;
	right:0;
	top:0;
	border: 1px solid #c9ac74;
	background: #f1e5ce;
	border-right:0;
	border-top:0;
	width: 2em;
	height: 2em;
}

.modal .close::before {
	content: "x";
	font-size: 2em;
	color: #c9ac74;
	line-height: .7em;
	transition: transform .3s;
	display:inline-block;
}

.modal .close:hover::before {
	transform: scale(.8,.8);
}

.modal .close:hover {
	background: #fffbf3;
}

.reservation.modal nav {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	padding-bottom: 1.4em;
}

.reservation.modal nav > button {
	padding: 0em 1em .1em;
    font-size: 1.2em;
	color: var(--brown);
}

.reservation.modal nav > button.active {
	border-bottom: 2px solid #a68129;
	color: #a68129;
}

/****** FRAMEWORK END *********/







/****** HOME PAGE *********/

.page-home #head .logo {
	animation: logoIn .4s .9s backwards;
	transform: translateZ(0);
}

#actions {
	height: 100vh;
	max-height: 56.250em;
	position: relative;
	z-index:1;
	display: flex;
	overflow: hidden;
}

#actions, .keystone.full {
	min-height: 40.625em;
}

#actions::before {
	content:"";
	position: absolute;
	left:0;
	top:0;
	width: 100%;
	height: 100%;
	z-index:1;
	background-color: transparent;
	background-image: linear-gradient(90deg, transparent 50%, rgba(230,180,75,.1) 50%);
	background-size: 4px 1px;
	pointer-events: none;
}

#action_btns {
	z-index:2;
	position: relative;
}

.lg-btn {
	background-color: #ddd;
	flex-grow: 1;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
	z-index:1;
	overflow: hidden;
	display: flex;
    justify-content: center;
    align-items: center;
	max-width: 50%;
	/*animation: fadeIn 2s .2s both paused;*/
}

.loaded .lg-btn {
	/*animation-play-state: running;*/
}

.hover:not(.show).lg-btn {
	cursor: pointer;
}

#book-now {
	background-image: url("../images/book_now@1,5x.jpg");
	background-position: right top;
}

.christmas #book-now {
	background-image: url("../images/book_now_christmas.jpg");
}

.choice_link {
	position: absolute;
	pointer-events: all;
	left:0;
	top:0;
	width:100%;
	height:100%;
}

#dine-in {
	background-image: url("../images/dine_in@1,5x.jpg");
	background-position: right top;
}

.christmas #dine-in {
	background-image: url("../images/dine_in_christmas.jpg");
}

.lg-btn::before, .lg-btn::after, .rings::before, .rings::after {
	content:"";
	position: absolute;
	z-index:2;
	left:0;
	right:0;
	height: 90%;
	transform: translateY(calc(-100% + 4.5em));
	background-image: url("../images/pattern_circles.svg");
	transition: transform 1s cubic-bezier(0.210, 0.720, 0.485, 1.115);
}

.lg-btn::before, .rings::before {
	background-position: 0 bottom;
	top:0;
}

.lg-btn::after, .rings::after {
	background-position: 13px bottom;
	top:-14px;
	transition-delay: .1s;
}

.lg-btn.show::before, .lg-btn.show::after {
	transform: translateY(0);	
}

#main .keystone {
	z-index:4;
	display: flex;
    justify-content: center;
    align-items: center;
    padding-bottom: 9%;
	transform-origin: center top;
	animation: keystone 2.2s paused;
	background-size: auto 0%;
	transition: background-size 0s .4s;
	width:100%;
}

.loaded #main .keystone {
	background-size: auto 100%;
	animation-play-state: running;
}

.cover {
	position: absolute;
	z-index:3;
	bottom:0;
	width: 104%;
    height: 100%;
	background: var(--white);
	pointer-events: none;
}

.cover::before {
	content:"";
	height: .750em;
	display: block;
	border: 1px solid #b0812c; border-left:0; border-right: 0;
	position: relative;
	top: -.375em;
}

#book-now > .cover {
	transform-origin: left top;
	transform: translateY(calc(100% - .375em)) rotate(-10deg);
	left: 0;
}

#dine-in > .cover {
	transform-origin: right top;
	transform: translateY(calc(100% - .375em)) rotate(10deg);
	right: 0;
}

.reservation {
	pointer-events: none;
	width:100%;
}

.lg-btn.show .reservation {
	pointer-events: all;
}

.reservation::before {
	content:"";
	position: absolute;
	z-index:1;
	top:0;
	left:0;
	right:0;
	bottom:0;
	opacity: 0;
	background: radial-gradient(ellipse at center, rgba(163,140,90,0.56) 38%,rgba(106,88,52,0.56) 55%,rgba(65,52,26,0.71) 67%,rgba(65,52,26,0.95) 86%);
	transition: opacity .4s linear;
}

.lg-btn.show .reservation::before {
	transition-delay: .1s;
	opacity:1;
}

.card, .bgc {
	background: url("../images/card_texture@2x.png"), radial-gradient(ellipse at center, #fffbf4 0%,#fff5e4 54%,#ddd0b3 100%);
	background-size: 7.875em auto, 100%;
	outline: 3px solid rgba(173,126,44,.48);
}

.card {
    z-index: 3;
	padding: 2.5em;
	position: relative;
	width:100%;
	max-width: 33.125em;
	margin: 0 auto;
	opacity: 0;
	transition: opacity .3s linear, transform .6s cubic-bezier(0.040, 0.735, 0.485, 1.115);
}

#book-now .card {
	transform: translateX(10em);
}

#dine-in .card {
	transform: translateX(-10em);
}

#book-now.show .card, #dine-in.show .card {
	transform: translateX(0);
}

.lg-btn.show .card {
	transition-delay: .5s;
	opacity: 1;
}

.card::before, .card::after, .bgc::before, .bgc::after  {
	content:"";
	position: absolute;
	border: 1px solid #c9ac74;
	pointer-events: none;
	z-index:2;
}

.card::before, .bgc::before {
	top: .75em;
	bottom: .75em;
	left: 1em;
	right:1em;
}

.card::after, .bgc::after {
	top: 1em;
	bottom: 1em;
	left: .75em;
	right: .75em;
}

.card h3 {
	font-size: 2.125em;
	color: #726650;
	padding-bottom: .941em;
	text-align: center;
}

.ccontent {
	display: flex;
    flex-direction: column;
    align-items: center;
}

.ccontent .field {
	margin-top: 1em;
}

.ccontent .field:first-of-type {
	margin-top: 0em;
}

.ccontent .f-wrap {
	width: 13.125em;
}

.ccontent .btn {
	margin-top: 1em;
}

#action_btns > button, #action_btns > a {
	color: var(--white);
	font-size: 1.75em;
	width: 100%;
	text-align: center;
	transition: transform .3s, text-shadow .4s linear;
}

#action_btns > button.hover:not(.show), #action_btns > button:not(.show):hover, #action_btns > a.hover:not(.show), #action_btns > a:not(.show):hover {
	color: var(--subColor);
}

#action_btns > button.show, #action_btns > a.show {
	transform: scale(1.1,1.1);
	text-shadow: 0 0 .5em var(--subColor);
}

#action_btns > a:first-child {
	margin-bottom: .7em;
	animation: fadeLeft .6s .8s backwards cubic-bezier(0.000, 0.540, 0.000, 1.195);
}

#action_btns > button:last-child {
	animation: fadeRight .6s .8s backwards cubic-bezier(0.000, 0.540, 0.000, 1.195);
}

#action_btns > button::before, #action_btns > button::after, #action_btns > a::before, #action_btns > a::after {
	background: url(../images/arrow.svg) no-repeat center;
	background-size: contain;
	width: .714em;
	height: .429em;
	display:inline-block;
	vertical-align: middle;
}

#action_btns > a:first-child::before, #action_btns > button:last-child::after {
	content:"";
}

#action_btns > a:first-child::before {
	margin: 0 .2em 0 0;
}

#action_btns > button:last-child::after {
	transform: scaleX(-1);
	margin: 0 0 0 .2em;
}

.call-to-act {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding: 7.813em 7%;
}

.divide + .call-to-act {
	border-top: 1px solid var(--brown);
}

.call-to-act.dark {
	background: url("../images/diag_lines.png"), linear-gradient(83deg, #1c3237 13%,#334d53 31%,#1c3237 45%,#334d53 63%,#1c3237 84%);
}

.call-to-act h2 {
	color: var(--brown);
	font-size: 3.375em;
	margin-right: 1em;
}

.call-to-act.dark h2 {
	color: var(--white);
}

.call-to-act .imp {
	color: inherit;
}

.btn {
	width: 13.750em;
	height: 4.688em;
	background: url("../images/btn.png") no-repeat center;
	background-size: contain;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	position: relative;
	transition: filter .3s .1s linear;
}

.btn.light {
	background-image: url("../images/btn_light.png");
}

.btn:hover {
	filter: drop-shadow(0 0 .5em var(--subColor));
}

.btn::before, .btn::after {
	content:"";
	position: absolute;
	z-index:2;
	top:0;
	bottom:0;
	margin: auto 0;
	width: 2.625em;
	height: .938em;
	background: url(../images/feather.svg) no-repeat center;
	background-size: contain;
	transform-origin: .313em center;
	transition: transform .4s;
	pointer-events: none;
}

.call-to-act[data-emergence="visible"] .btn::before, .shake[data-emergence="visible"] .btn::before {
	animation: shake .5s .9s backwards;
}

.call-to-act[data-emergence="visible"] .btn::after, .shake[data-emergence="visible"] .btn::after {
	animation: shakeR .5s .9s backwards;
}

.btn::before {
	left:0;
}

.btn:hover::before {
	transform: rotate(180deg);
}

.btn::after {
	right:-1.875em;
	transform: scaleX(-1);
}

.btn:hover::after {
	transform: scaleX(-1) rotate(-180deg);
}

.btn > strong {
	color: var(--subColor);
	font-size: .938em;
	text-transform: uppercase;
}

.btn.light > strong {
	color: #806d42;
}

.btn:hover > strong {
	color: var(--white);
	text-shadow: 0 0 1.5em var(--subColor);
}

.btn.light:hover > strong {
	color: var(--subColor);
}

#main .intro p {
	text-align: center;
	margin-bottom: 8%;
}

.divide, .call-to-act.light, .feathers {
	background: url(../images/feathers.svg) fixed #d6cab0;
	background-size: 32.125em auto;
}

.divide {
	padding: 7em 7%;
	position: relative;
	overflow: hidden;
}

.divide > .wrapper {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

.divide h2, .divide h3 {
	position: relative;
	z-index:2;
}

.divide h2 {
	font-size: 4.063em;
	color:var(--brown);
	opacity: 0;
	transform: translateX(4rem);
	transition: opacity .4s linear, transform .7s;
}

.divide h3 {
	color: #6d5e3c;
	font-size:2.188em;
	text-transform: uppercase;
	letter-spacing: .4em;
	transform: translateX(-4rem);
	opacity: 0;
	transition: opacity .4s linear, transform .7s;
}

.divide[data-emergence=visible] h2, .divide[data-emergence=visible] h3 {
	opacity: 1;
	transform: translateX(0);
}

.divide[data-emergence=visible] h2 {
	transition-delay: .3s
}

.divide[data-emergence=visible] h3 {
	transition-delay: .5s
}

.divider {
	background: url("../images/divider.svg") no-repeat center;
	background-size: contain;
	width: 1.563em;
	height: 1.313em;
	opacity: .7;
	margin: 0 3.125em;
	transform: scale(0,0) rotate(360deg);
	transition: transform .5s;
}

.divide[data-emergence=visible] .divider {
	transition-delay: .1s;
	transform: scale(1,1) rotate(0deg);
}

.grid {
	display: grid;
	grid-template-columns:  minmax(200px, 27.313em) minmax(200px, 46.875em);
	grid-column-gap: 2em;
	justify-content: center;
}

.page-home .grid {
	padding: 8% 0;
	max-width: none;
}

.page-home .grid.single {
	display: flex;
}

.page-home .grid.single > .col {
	width: 100%;
	max-width: 46.875em;
}

.page-home .grid > .one {
	max-width: 27.313em;
}

.page-home .grid > .two {
	max-width: 46.875em;
}

.callout {
	height: 34.25em;
	position: relative;
	margin-bottom: 2em;
	transition: filter .4s;
	display:block;
}

.callout[data-emergence=hidden] {
	filter: saturate(10%);
}

.callout[data-emergence=visible] {
	transition-delay: .4s;
}

.col > .callout:last-child {
	margin-bottom:0;
}

.callout.landscape {
	height: 16.750em;
}

.loaded .callout::before {
	content:"";
	background: var(--image) center no-repeat;
	background-size: cover;
	display: block;
	height:100%;
}

.loaded .callout::after {
	content:"";
	background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.64) 67%,rgba(0,0,0,0.64) 100%);
	position: absolute;
	left:0;
	width: 100%;
	height: 100%;
	transform: scaleY(.2);
	bottom: 0;
	opacity: 0;
    transform-origin: center bottom;
	transition: transform .4s, opacity .9s linear;
}

.co_txt {
	position: absolute;
	z-index:3;
	bottom:0;
	left:0;
	right:0;
	color:#fff;
    padding: 0 6% 3%;
	transition: color .4s linear, text-indent .9s;
}

.co_txt > h4 {
	font-size: 2.25em;
	padding-bottom: .1em;
}

.callout[data-emergence=visible]::after {
	opacity:1;
}

.callout[data-emergence=visible][href]:hover::after {
	transform: scaleY(1);
	transition-delay: 0s;
}

.callout[data-emergence=hidden] .co_txt {
	height: 0;
	color: transparent;
	text-indent: -3em;
}

.callout[data-emergence=visible] .co_txt {
	transition-delay: .7s;
}

.c_price {
	position: absolute;
    top: 0;
    right: 0;
    color: #fff;
    background: rgba(0,0,0,.1);
    padding: .4em .5em;
    font-size: 1.4em;
	border: 1px solid rgba(255,255,255,.5);
    border-radius: 0 0 0 1em;
}

.c_price::before {
	content:"$";
}

.context {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 0;
	position: absolute;
	z-index:2;
	left:0;
	right:0;
	top:0;
	bottom:0;
	margin: auto;
	overflow: hidden;
	background: var(--subColor);
	transition: height .4s;
}

.hover:not(.show) .context {
	height: 5.5em;
}

.context > span {
	color: var(--white);
	font-size: 1.75em;
	opacity: 0;
	transition: transform .3s, opacity .2s linear;
}

#book-now .context > span {
	transform: translateX(10em);
}

#dine-in .context > span {
	transform: translateX(-10em);
}

#actions .hover:not(.show) .context > span {
	transform: translateX(0);
	transition-delay: .1s;
	opacity: 1;
}

.news {
	text-align: center;
	margin: -3% 0 5%;
}

.news a {
	border: 1px solid var(--subColor);
	border-left:0;
	border-right: 0;
	font-size: 1.125em;
	padding: .7em 5%;
}

.news span {
	padding-right: 1em;
}

.news strong {
	color: var(--mainColor);
	text-decoration: underline;
	text-transform: uppercase;
}

.page-news .news {
	margin:0;
	padding: 2em 0 5%;
}

.news > li {
	margin-bottom: .5em;
}


/****** HOME PAGE END *********/






/****** HOTEL PAGE *********/

.rooms {
	padding: 0 1.563em;
}

.rooms > li, .slide  {
	display: grid;
	grid-template-columns: 50% auto;
	grid-template-areas:
		"info photos";
	column-gap: 1.563em;
	margin-bottom: 4.688em;
}

.rooms > li:nth-of-type(even) {
	grid-template-columns: auto 50%;
	grid-template-areas: "photos info";
}

.room_info, .item_info {
	background: #fff;
	display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
	position: relative;
	grid-area: info;
	transition: transform 1s cubic-bezier(0.000, 0.155, 0.000, 1.215), opacity .7s linear;
}

li[data-emergence=hidden] .room_info {
	transform: translateX(2em);
	opacity: 0;
}

li[data-emergence=hidden]:nth-of-type(even) .room_info {
	transform: translateX(-2em);
}

.room_info > h2, .slide_title > h2 {
	font-size: 2.75em;
	color: var(--brown);
}

.room_info > h2, .slide_title {
	padding: 0 7% 1.375rem;
    margin-bottom: 2.188rem;
    border-bottom: 1px solid #e1ddd3;
}

#main .room_info p, #main .item_info p {
	/*max-width: 21em;*/
	max-width: 60%;
	text-align: center;
}

.room_photos {
	overflow: hidden;
	max-width: 100%;
	position: relative;
	grid-area: photos;
}

.slider figure {
	height: 28.5em;
	position: relative;
}

li[data-emergence=hidden] img{
	filter: saturate(10%) brightness(150%);
	opacity: .9;
}

.slider img {
	transition: filter .7s .3s linear, opacity .5s linear;
	max-width: none;
	max-height: 100%;
}

.room_info .btn, .item_info .btn {
	margin-top: 2em;
}

.more {
	position: absolute;
	z-index: 3;
	right:0;
	bottom:0;
	font-size: 1.125em;
	text-transform: uppercase;
	color: #8b7342;
	text-decoration: underline;
	padding: 1em 1.5em;
}

.more.active {
	color: var(--white);
	text-decoration: none;
}

.more::before {
	content:"Close";
	color:var(--white);
	max-width: 0;
	display: inline-block;
	opacity: 0;
	margin-right: .2em;
}

.more.active::before {
	opacity: 1;
	max-width: 3.25em;
}

.rooms > li:nth-of-type(even) .more {
	right: auto;
	left:0;
}

.expand {
	position: absolute;
	z-index:2;
	bottom:0;
	left:0;
	background: #d6cab0;
	width: 50%;
    max-width: 12.5em;
	text-transform: uppercase;
	color: var(--brown);
	letter-spacing: .05em;
	padding: 1.188em 0;
	text-align: center;
	transform: scale(0,0);
	transform-origin: left bottom;
	transition: transform .4s;
}

.expand::before {
	content:"";
	display:inline-block;
	width: 1.063em;
	height: 1.188em;
	background: url("../images/icon_zoom.svg") no-repeat center;
	background-size: 100% auto;
	vertical-align: middle;
    margin-right: .4em;
	transition: filter .4s;
}

.expand:hover::before {
	filter: brightness(400%);
}

.expand::after {
	content:"Expand";
}

.active .expand {
	transform: scale(1,1);
	transition-delay: .2s;
}

.rooms > li:nth-of-type(even) .expand {
	left: auto;
	right: 0;
	transform-origin: right bottom;
}

.more_info {
	position: absolute;
	z-index:2;
	right:0;
	top:0;
	transform-origin: right bottom;
	width: 100%;
	max-width: 42.5em;
	height: 100%;
	background: #373326;
	transform: scale(0,0);
	opacity: 0;
	padding: 5% 7%;
	display: grid;
	grid-template-columns: 40% 60%;
	transition: opacity .3s linear, transform .5s;
}

li:nth-of-type(even) .more_info {
	transform-origin: left bottom;
	right: auto;
	left: 0;
}

.more_info.show {
	transform: scale(1,1);
	opacity: 1;
}

.room_info h3 {
	color: #d6cab0;
	font-size: 1.875em;
	padding-bottom: 1.2rem;
}

.room_info li {
	padding: 0 0 .2em 7%;
    line-height: 1.5em;
}

.amenities li {
	color: var(--white);
	font-size: 1.125em;
}

.details li {
	display: grid;
	grid-template-columns: 6.4em auto;
	padding-bottom:.8em;
}

.detail {
	color: #726650;
	font-size: 1.063em;
	width: 5.5em;
	display: inline-block;
}

.de_value {
	color: #d6cab0;
	font-size: 1.188em;
}

.featherlight .featherlight-previous, .featherlight .featherlight-next {
	filter: brightness(400%) drop-shadow(0 0 .3em rgba(0,0,0,.7));
	opacity: .9;
	background: url("../images/arrow.svg") no-repeat center;
	background-size: 0% auto;
	transition: background-size .3s;
}

.featherlight .featherlight-next {
	transform: scaleX(-1);
	right:0;
}

.featherlight .featherlight-previous {
	left:0;
}

.featherlight .featherlight-previous:hover, .featherlight .featherlight-next:hover {
	background: url("../images/arrow.svg") no-repeat center;
	background-size: 25% auto;
}

.featherlight .featherlight-next:hover span, .featherlight .featherlight-previous:hover span{
	display: none;
}

.three60 {
	width: 3.125em;
	height: 3.125em;
	position: absolute;
	z-index:2;
	display: flex;
	justify-content: center;
	align-items: center;
	top: .813em;
	right: .813em;
}

.three60::before {
	content:"";
	position: absolute;
	margin: auto;
	z-index: 2;
	width: 2.25em;
	height: 2.125em;
	background: url('../images/icon_360.svg') no-repeat center;
	background-size: 100% auto;
	opacity: .8;
	transition: transform .5s .1s cubic-bezier(0.285, -0.170, 0.000, 1.220);
}

.three60:hover::before {
	transform: rotate(-180deg);
}

.three60::after {
	content:"";
	position: absolute;
	z-index:1;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background: radial-gradient(ellipse at center, rgba(214,202,176,1) 0%,rgba(199,186,158,1) 100%);
	border: 1px solid var(--white);
	opacity: .7;
	transition: opacity .3s linear;
}

.three60:hover::after {
	opacity: 1;
}

.three60 > strong {
	position: relative;
	z-index:3;
	color: #60553c;
	font-size: .938em;
	padding-right: .4rem;
}

.rooms > li:nth-of-type(even) .three60 {
	right: auto;
	left: .813em;
}

.overlay {
	position: fixed;
	z-index:9;
	top:0;
	left:0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	opacity: 0;
	background: rgba(55,51,38,.8);
}

.overlay.show {
	opacity: 1;
	pointer-events: all;
}

.tour360 {
	display: flex;
	justify-content: center;
	align-items: center;
}

.tour360 iframe {
	max-width:1500px;
	max-height: 854px;
	box-shadow: 0 0 1em rgba(0,0,0,.5);
	background: rgba(0,0,0,.5);
}

.overlay .close {
	position: absolute;
	z-index:3;
	top:0;
	right:0;
	background: var(--white);
	width: 2.5em;
	height: 2.5em;
}

.overlay .close:hover {
	background: var(--subColor);
}

.overlay .close::before {
	content:"x";
	font-size: 1.8em;
    line-height: 0rem;
    color: var(--brown);
}

.overlay .close:hover::before {
	color: var(--white);
}

/****** HOTEL PAGE END *********/






/****** RESTAURANT PAGE *********/

.perch .logo {
	background: radial-gradient(ellipse at center, var(--white) 60%,#f4f1e9 70%);
	height: 100%;
}

.perch .logo::before {
	content:"";
	position: absolute;
	background: none;
	border: 2px solid #c2a140;
	border-radius: inherit;
	width: 94%;
    height: 96%;
	bottom:0;
	right:0;
	top:0;
	left:0;
	margin: auto;
}

.perch .logo a {
	display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.perch .logo img {
	max-width: 8.813em;
	position: relative;
    bottom: .2em;
}

.perch .keystone {
	width: 12em;
	height: 7.313em;
}

.pseudo-hl {
	font-size: 1.9em;
	font-family: var(--mainFont);
    margin: 2em auto .8em;
    max-width: 29em;
    text-align: center;
    color: var(--brown);
	line-height: 1.3em;
}

#main .top_p {
	text-align: center;
    max-width: 46em;
    margin-bottom: 2em;
}

.cols {
	display: grid;
}

.page-restaurant .cols {
	grid-template-columns: 20.25em calc(100% - 40.5em) 20.25em;
}

.cols aside {
	background: #fff;
	border: 1px solid #dcdcd7;
	border-top:0; border-bottom: 0;
	padding-bottom: 2.375em;
	position: relative;
	z-index: 2;
}

.menus {
	border-left:0;
}

.menu_info {
	border-right: 0;
	text-align: center;
}

.mi_box {
	height: 100%;
}

.menus > h3, .menu_info > h3 {
	font-family: var(--accentFont);
	font-size: 2em;
	color: var(--white);
	justify-content: center;
	display: flex;
	align-items: center;
	height: 1.313em;
}

.menu_filtering {
	padding: 2.375em 6% 0;
	text-align: right;
}

.search_menus {
	background: #fffcf8;
	border: 1px solid #a68129;
	border-top: 0;
	display: inline-block;
	border-radius: 0 0 .6rem .6rem ;
	padding: .1rem 1rem;
	font-size: .875em;
	color: #60553c;
	letter-spacing: .03em;
}

.search_menus:hover {
	background: #a68129;
	color: var(--white);
}

.menus > h3 {
	background: var(--subColor);
	position: relative;
	overflow: hidden;
}

.menus > h3::after {
	content:"";
	position: absolute;
	z-index:1;
	right:5%;
	top:0;
	bottom:0;
	width: 35%;
	background: linear-gradient(to right, rgba(236,207,146,0) 0%,rgba(236,207,146,1) 50%,rgba(236,207,146,0) 100%);
}

.menus > h3 > span {
	position: relative;
	z-index:2;
}

.menu_info > h3 {
	background: var(--mainColor);
}

.stick {
	position: sticky;
	top:0;
}

.menu_list button, .menu_list a {
	font-size: 1.375em;
	border-bottom: 1px solid #dcdcd7;
	height: 2.727em;
	color: #60553c;
	width: 100%;
	text-align: center;
}

.menu_list a {
	display: flex;
    justify-content: center;
    align-items: center;
}

.menu_list a::before {
	content:"";
	display: inline-block;
}

.menu_list > .active > button {
	color: var(--subColor);
	border-color: var(--subColor);
	animation: golden .4s;
}

.menu_items {
	padding-bottom: 5%;
}

.cols.not-done .menu_items{
	opacity:0;
	transition: opacity .5s linear;
}

.cols.done .menu_items {
	opacity: 1;
	animation: fadeRight .4s .2s backwards;
}

.menu_items > h2 {
	font-size: 3.25em;
	color: var(--mainColor);
	line-height: .6;
	text-transform: uppercase;
	display: flex;
	align-items: flex-end;
	margin-bottom: 4rem;
}

.temp-callout .menu_items > h2, .temp-event .menu_items > h2 {
	display: none;
}

.menu_items > h2::before, .menu_items > h2::after {
	content:"";
	flex-grow:1;
	height: .625rem;
	background: var(--mainColor);
}

.menu_items > h2::before {
	margin-right: 3%;
}

.menu_items > h2::after {
	margin-left: 3%;
}

.menu_items > section:last-child {
	margin-bottom: 0;
}

.menu_group {
	border: 2px dotted #cbc8bf;
	border-left:0;
	border-right:0;
	margin-bottom: 4rem;
}

.menu_items > h2 + .menu_group {
	border-top:0;
}

.menu_group > h3 {
	font-size: 2.75em;
	text-align: center;
	color: var(--mainColor);
	padding: 1em 0 1.25em;
	text-transform: uppercase;
	max-width: 20em;
    margin: 0 auto;
}

.cat_main {
	padding: 0em 8% 4em;
}

.cat_main > h3 {
	color: var(--brown);
	font-size: 2.625em;
	text-align: center;
}

.divider.hr {
	width: 100%;
	height: .813em;
	margin: .9em 0 0;
	display: flex;
	align-items: center;
	transform: none;
}

.divider.hr::before, .divider.hr::after {
	content:"";
	height: 1px;
	background: #cbc8bf;
	flex-grow: 1;
}

.divider.hr::before {
	margin-right: 1em;
}

.divider.hr::after {
	margin-left: 1em;
}

.cat_list {
	column-width: 30em;
}

.cat_list > li {
	padding-top: 2.875em;
	color: var(--brown);
	break-inside: avoid;
}

.cat_list > li:only-child {
	display:inline-block;
}

.cat_list h4 {
	font-size: 1.5em;
	font-weight: bold;
	font-family: var(--mainFont);
	margin-bottom: .25rem;
	display:inline-block;
}

.cat_list p {
	font-size: 1.25em;
}

#main .cat_list p {
	max-width: 22rem;
    margin: 0;
	vertical-align: top;
}

.price {
	padding-left: .688rem;
}

.price::after {
	content:".";
}

.price.two {
	padding-left:0;
}

.cat_list h4 + .price {
	font-size: 1.125em;
}

.addon {
	padding-top: .4em;
    display: inline-block;
}

.addon.price, .addon > .price {
	padding-left: .3em;
}

.cat_sub {
	background: none;
	position: relative;
	outline: none;
	padding: 0 11% 2.5em;
	text-align: center;
	margin-bottom: 2.313em;
}

.cat_sub > h3 {
	color: #a68028;
	font-size: 2em;
	background: var(--white);
	position: relative;
	z-index:3;
	display: inline-block;
	padding: 0 .8rem;
    top: -.1em;
	margin-bottom: .6em;
}

.cat_sub > h3::before {
	content:"";
	position: absolute;
	left:0;
	right:0;
	top:.938rem;
	margin: auto;
	pointer-events: none;
	border: 1px solid #c9ac74;
	height: 5px;
	border-top:0; border-bottom:0;
}

.cat_sub .cat_list {
	column-width: 320px;
    text-align: left;
}

.cat_sub .cat_list > li {
	break-inside: avoid-column;
	page-break-inside: avoid;
	padding: 1.875em 0 0;
}

#main .menu p {
	line-height: 1.5em;
}

.availability, .rest_hours {
	border-bottom: 2px solid #dcdcd7;
	padding-bottom: 1.7em;
    margin-bottom: 1.6em;
	background: #fff;
	overflow: hidden;
	transition: padding .4s;
}

.availability.hide {
	max-height:0;
	padding-bottom:0;
}

.availability > h4, .rest_hours > h4 {
	color: var(--brown);
	font-size: 1.688em;
	padding: 1.45rem 0 .6em;
}

.menu_info .btn {
	margin-bottom: 2em;
}

.extra_info {
	text-align: left;
	padding: 0 10%;
	overflow: hidden;
}

#main .disclaimer {
	font-size: .875em;
	color: #9b968b;
	line-height: 1.3em;
}

.chefs {
	padding-bottom: .8em;
}

#main .chefs > p {
	line-height: 1.3em;
}

.menu_time {
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.cols.not-done .menu_time {
	opacity:0;
	transition: opacity .5s linear, transform .4s;
	transform: translateX(3em);
}

.cols.done .menu_time {
	animation: fadeLeft .5s .3s backwards;
}

.time_today {
	width: 7.375em;
	height: 6.375em;
	background: #b8aa8b;
	display: flex;
	flex-direction: column;
	padding: .313em;
	margin-right: 1.3em;
}

.time_today.unavailable {
	filter: saturate(20%);
	opacity: .5;
}

.time_today > h5 {
	font-size: .938em;
	color: #fff;
	text-transform: uppercase;
	font-weight: bold;
	padding-bottom: .313rem;
	letter-spacing: .1em;
}

.today_hours {
	background: #fff;
	flex-grow: 1;
	display: flex;
    justify-content: center;
    align-items: center;
	color: var(--brown);
}

.today_hours strong {
	font-size: 2em;
}

.today_hours .close, .today_hours .now {
	font-size: 1.2em;
	position: relative;
    top: .15em;
}

.hyphen {
    margin: .1em .1em 0 -.2em;
}

.now + .hyphen {
	margin-left:.1em;
}

.today_hours span {
	font-weight: normal;
	font-size: .875rem;
	display: inline-block;
	vertical-align: super;
	text-transform: uppercase;
	position: relative;
	top: -.1em;
}

.menu_hours {
	padding: 0 6% 1em;
}

.menu_hours h5 {
    font-family: var(--subFont);
    font-size: 1.3em;
    padding-bottom: .4em;
	display: flex;
	align-items: center;
}

.menu_hours h5::before, .menu_hours h5::after {
	content: "";
    flex-grow: 1;
	height: 1px;
	background: #dcdcd7;
}

.menu_hours h5 > span {
	padding: 0 .2em;
	display: inline-block;
}

.time_list {
	display: inline-block;
}

.times, .time_list {
	text-align: left;
	color: var(--brown);
	font-size: .938em;
}

.times > li {
	padding-top: .938em;
}

.time_list > li {
	display: grid;
    grid-template-columns: 6em auto;
	padding-bottom:.4em;
}

.times > li:first-child, .time_list > li:first-child {
	padding-top: 0;
}

.times strong {
	display: block;
	padding-bottom: .2em;
}

.conveyor {
	width: 100%;
	margin-bottom: 3.125em;
	overflow: hidden;
	position: relative;
}

.conveyor::before, .conveyor::after {
	content:"";
	position: absolute;
	z-index:2;
	pointer-events: none;
	top:0;
	bottom: 0;
	width: 4em;
	background: linear-gradient(to right, rgba(250,250,248,1) 0%,rgba(250,250,248,0) 100%);
}

.conveyor::before {
	left:0;
}

.conveyor::after {
	right:0;
	transform: scaleX(-1);
}

.page-restaurant .owl-nav {
	display: none;
}

.owl-item {
	float: left;
	touch-action: none;
}

.owl-nav {
	position: absolute;
	bottom: 0;
	width: 10em;
	right: 0;
    margin: auto;
	z-index:2;
	height: 2.375em;
	pointer-events: none;
	display: grid;
	grid-template-columns: 50% 50%;
	opacity: .5;
	transition: opacity linear .3s;
}

li:nth-of-type(even) .owl-nav {
	right: auto;
}

.room_photos:hover .owl-nav {
	opacity: 1;
}

.owl-nav > button {
	width: 80%;
	height: inherit;
	max-width: 2.875em;
	pointer-events: all;
	background: url("../images/arrow.svg") no-repeat center;
	background-size: 80% auto;
	filter: brightness(400%) drop-shadow(0 0 .3em #000);
}

.owl-nav > .owl-next {
	transform: scaleX(-1);
	justify-self: end;
}

.owl-nav span {
	display: none;
}

.conveyor figure {
	width: 100%;
	height: 10.5em;
	background-size: 100% auto;
	background-position: center;
	position: relative;
}

.conveyor figcaption {
	position: absolute;
	bottom:0;
	left:0;
	right: 0;
	background: rgba(255,255,255,.9);
	padding: .5em 1em;
	transform: translateY(100%);
	opacity: 0;
	transition: opacity .3s linear, transform .6s;
}

.conveyor .owl-item:hover figcaption {
	transform: translateY(0%);
	opacity: 1;
}

.food_name, .food_menu {
	display: block;
}

.food_name {
	color: var(--mainColor);
	padding-bottom: .1em;
}

.food_menu {
	font-size: .813em;
	color: var(--brown);
	padding-top: .4em;
}

.menu_footer {
	padding-top: 1.5em;
}

.diet {
	display: inline-block;
	margin-left: .7em;
}

.diet + .diet {
	margin-left: .4em;
}

.diet_icons {
	display: flex;
	flex-wrap: wrap;
	padding-top: 1em;
}

.diet_icons > li {
	margin: 0 .5em .25em;
}

.diet_icons .diet {
	margin: 0 .1em 0 0;
	max-width: none;
	max-height: 10px;
}

.diet_icons span {
	color: var(--brown);
	font-size: .938em;
}

.s_content {
	padding: 1rem 0 .5rem;
	font-size: 1.188em;
	color: #3f3a30;
	line-height: 1.3em;
}

.group_foot {
    font-size: 1.7em;
	color: var(--brown);
	text-align: center;
}

h3 + .group_foot {
	margin-top: -1.4em;
	padding-bottom: 1em;
	color: var(--mainColor);
}

.minfo:not(:empty) {
	border-bottom: 1px solid #dcdcd7;
	padding-bottom: 1em;
	margin-bottom: 1em;
	color: #3f3a30;
	line-height: 1.25rem;
	animation: fadeLeftLH .6s .4s backwards;
}

.minfo .price {
	color: var(--brown);
	padding-left: .3rem;
}

.no_results {
	text-align: center;
}

.take_out {
	background: url("../images/takeout.jpg") no-repeat center;
	background-size: cover;
	height: 17.625em;
	margin: 0 0 1.438em;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.take_out h4 {
	background: linear-gradient(to right, rgba(255,255,255,0) 0%,rgba(255,255,255,0) 20%,rgba(255,255,255,1) 100%);
	padding: 1.4em 8%;
}

.take_out span {
	display: block;
	text-align: center;
}

.take_out span:first-child {
	font-size: 2.438em;
	color: var(--mainColor);
}

.take_out span:last-child {
	color: #a99465;
	text-transform: uppercase;
	font-size: 1.75em;
}

.cat_main > h3 sup {
	font-size: .6em;
    vertical-align: super;
}

/****** RESTAURANT PAGE END *********/






/****** ABOUT PAGE *********/

.page-about #main {
	text-align: center;
}

.building {
	max-width: 34.125em;
	position: relative;
	top:-9em;
	transition: filter .5s .2s linear, opacity .4s linear;
}

.present[data-emergence=hidden] .building {
	filter: saturate(10%);
	opacity: .2;
}

[data-emergence="visible"].present .building {
	opacity: 1;
}

.hl2 {
	font-size: 2.375em;
	color: var(--subColor);
	padding-bottom: .5rem;
	text-align: left;
}

.hl2.center {
	text-align: center;
}

.history {
	max-width: 1400px;
    margin: 0 auto;
	padding: 0 5% 9em;
	white-space: pre-line;
}

[data-emergence="hidden"].present .history {
	opacity: 0;
}

[data-emergence="visible"].present .history {
	opacity: 1;
	animation: fadeLeft .7s backwards;
}

.history .cols {
	display: block;
	column-width: 35em;
	column-gap: 5.5em;
}

.cols > p {
	break-inside: avoid;
	display: inline-block;
}

.history p {
	margin-bottom: .2rem;
	text-align: justify;
}

.cols.present {
	display: inline-grid;
    grid-template-columns: auto 35.625em;
    grid-column-gap: 6em;
}

.page-about .cat_sub {
	max-width: 80%;
    margin: -3em auto 5em;
	padding-left:1em;
	padding-right: 6em;
}

[data-emergence="hidden"].cat_sub {
	opacity: 0;
}

[data-emergence="visible"].cat_sub {
	opacity: 1;
	animation: fadeDown .5s .1s backwards;
}

.page-about .cat_sub .cols {
	grid-template-columns: 28% auto;
	grid-column-gap: 5.438em;
    text-align: left;
	padding: 2em 0;
}

.managers {
	padding-top: .5em;
}

.m_name {
	color: #60553c;
	font-size: 1.375em;
}

.m_title {
	color: #b8aa8b;
	text-transform: uppercase;
	font-size: .938em;
	letter-spacing: .05em;
}

button.active .m_title {
	color: var(--subColor);
}

.managers button {
	display: block;
	width: 100%;
	line-height: 1.5em;
	margin-bottom: 1em;
	text-align: left;
	padding-left: 20%;
	position: relative;
	overflow: hidden;
}

.managers button:last-of-type {
	margin-bottom: 0;
}

.managers strong {
	display: block;
}

.tab_content {
	 align-self: center;
}

.tab_content > li {
	display: none;
}

.tab_content > li.active {
	display: block;
}

.tab_content p {
	text-align: justify;
	margin-bottom: 1em;
}

.tab_content p:last-of-type {
	margin-bottom: 0;
}

.managers .arrow {
	position: absolute;
	top:0;
	bottom:0;
	left:0;
	width:100%;
	height: .813em;
	pointer-events: none;
	margin: auto 0;
	display: flex;
	align-items: center;
	transform: translateX(-100%);
	transition: transform .5s ease-out;
}

.managers .active .arrow {
	transform: translateX(0);
	transition-delay: .55s;
	transition-timing-function: ease-in;
}

.managers .arrow::before {
	content:"";
	flex-grow: 1;
	height: 1px;
	background: var(--subColor);
}

.managers .arrow::after {
	content:"";
	background: url(../images/arrow.svg) no-repeat center;
    background-size: contain;
    width: 1.375em;
    height: 100%;
	transform: scaleX(-1);
	
}

/****** ABOUT PAGE END *********/






/****** EVENTS PAGE *********/

.item_list {
	margin-bottom: 1.625em;
}

.item_list .owl-item, .events .slide {
	max-height: 28.5em;
}

.events .owl-stage::after {
	content:"";
	display: block;
	clear:both;
}

.item_list, .event_slider {
	position: relative;
	overflow: hidden;
}

.item_list figure {
	max-height: inherit;
    overflow: hidden;
	max-width: 45.875em;
}

.item_list .owl-nav {
	left: 50%;
	right: auto;
	transform: translateX(-4.2em);
    bottom: 1em;
	opacity: 1;
}

.item_list .owl-nav.disabled {
	display: none;
}

.slide_title > h3 {
	color: var(--subColor);
	font-size: 1.063em;
	text-align: center;
	font-family: var(--mainFont);
	text-transform: uppercase;
	letter-spacing: .1em;
	padding-top: .2em;
}

.events .item_info {
	position: relative;
}

.date_calendar {
	width: 4.125em;
	height: 4em;
	background: #b8aa8b;
	display: flex;
	flex-direction: column;
	padding: .188em;
	text-align: center;
}

.date_calendar + .date_calendar {
	padding-left: 0;
	margin-left: -.188em;
}

.date_calendar + .date_calendar .day::before {
	content:"-";
	position: absolute;
	left:0;
	right:0;
	margin: 0 auto;
}

.event_time {
	position: absolute;
	top: .625em;
	right:.625em;
	display: flex;
    align-items: center;
}

.event_time > strong {
	font-size: .938em;
	padding-right: .9rem;
	color: #b8aa8b;
}

.date_calendar .month {
	color: #fff;
    text-transform: uppercase;
	font-size: .938em;
	letter-spacing: .1em;
}

.date_calendar .day {
	background: var(--white);
	flex-grow: 1;
	display: flex;
    justify-content: center;
    align-items: center;
	color: #60553c;
	font-size: 2.188em;
}

.events .slide {
	margin-bottom: 0;
}

.event_slider {
	background: #373326;
}

.event_slider .owl-item {
	height: 53.125em;
}

.eslide {
	height: inherit;
	background: radial-gradient(ellipse at center, rgba(55,51,38,0.38) 0%,rgba(55,51,38,0.38) 20%,rgba(55,51,38,0.75) 67%,rgba(55,51,38,0.75) 100%), var(--image) center;
	background-size: cover;
	display: grid;
	grid-template-columns: auto 40%;
	grid-template-areas: 'photos content';
}

.cloned.active .eslide { animation-play-state: running;}

.econtent {
	grid-area: content;
	padding: 7.375em 0;
	display: flex;
    flex-direction: column;
}

.ephotos {
	grid-area: photos;
	padding: 0 10% 5em;
    align-self: end;
    justify-self: end;
}

.ephotos.single {
	justify-self: center;
	align-self: center;
	padding-top: 6em;
}

.econtent h2 {
	font-size: 3.875em;
	color: var(--white);
	text-shadow: 0 0 .813rem #373326;
	flex-grow: 1;
	opacity:0;
}

[data-emergence="visible"] .event_slider .owl-item.active .econtent h2 {
	opacity:1;
	animation: fadeLeft .8s .5s backwards;
}

.event_spaces {
	position: relative;
	margin-bottom: .625em;
}

.event_spaces::before, .event_spaces::after {
	content:"";
	pointer-events: none;
	position: absolute;
	z-index: 2;
	height: .438em;
	left:0;
	right:0;
	background: url("../images/section_border.svg") repeat-x;
	background-size: auto 100%;
}

.event_spaces::before {
	top: 0;
	transform: scaleY(-1);
}

.event_spaces::after {
	bottom:0;
}

.sect_title {
	position: absolute;
	z-index: 2;
	top: 3.125em;
	left:0;
	right:0;
	display: flex;
	align-items: center;
	opacity:0;
}

[data-emergence="hidden"] > .sect_title {
	opacity:0;
}

[data-emergence="visible"] > .sect_title {
	opacity: 1;
	animation: fadeRight .7s forwards;
}

.sect_title::before, .sect_title::after {
	content:"";
	height: 1px;
	background: var(--subColor);
}

.sect_title::before {
	width: 9%;
}

.sect_title::after {
	flex-grow: 1;
}

.sect_title h3 {
	color: var(--subColor);
	font-size: 2.25em;
	border: 1px solid var(--subColor);
	background: #373326;
	flex-grow: 1;
	max-width: 25.875rem;
	text-align: center;
	padding: .6rem 0 .75rem 0;
	box-shadow: inset .313rem .313rem 0 #2c281b, inset -.313rem -.313rem 0 #2c281b;
}

#main .econtent p {
	color: var(--white);
	margin: 0 0 1.5em;
    line-height: 1.5em;
	text-shadow: 0 0 .313rem #373326;
	text-align: justify;
	max-width: 27rem;
	opacity: 0;
}

#main [data-emergence="visible"] .owl-item.active  .econtent p {
	opacity: 1;
	animation: fadeLeft .7s .9s backwards;
}

.accent_photos {
	border: 2px solid var(--subColor);
	position: relative;
	box-shadow: 0 0 2em rgba(0,0,0,.2);
	opacity:0;
	transform-origin: center;
}

[data-emergence="visible"] .owl-item.active .accent_photos {
	opacity: 1;
	animation: scaleIn .8s .7s backwards;
}

[data-emergence="visible"] .owl-item.active .accent_photos.sm {
	animation-delay: .9s;
}

.accent_photos.lg {
	max-width: 28.875em;
    bottom: -4em;
    transform: translateX(-80%);
}

.accent_photos.sm {
	max-width: 21.375em;
	z-index: 2;
}

.grid.event_btns {
	grid-template-columns: 50% 50%;
	grid-template-rows: 18.688em;
	grid-gap: .625em;
	
}

.event_btns .feathers {
	display: flex;
    align-items: center;
	padding-left: 24%;
	text-align: center;
}

.event_btns .feathers:first-child {
	justify-content: flex-end;
	padding: 0 24% 0 0;
}

.event_btns h4 {
	color: var(--brown);
	font-size: 3.375em;
	margin-bottom: 1.5rem;
	opacity: 0;
}

.event_btns [data-emergence="visible"] > h4 {
	opacity: 1;
	animation: fadeDown .7s .1s backwards;
}

.event_btns .col:last-child [data-emergence="visible"] > h4 {
	animation-delay: .3s;
}


.event_slider .owl-nav {
	opacity: 1;
	right: 25%;
    font-size: 1.2em;
    width: 8em;
	bottom: 3em;
}

.event_slider .owl-nav > button, .item_list .owl-nav > button {
	filter: none;
}

/****** EVENTS PAGE END *********/






/****** EVENT TEMPLATE PAGE *********/

.event_title {
	height: 27.313em;
	background: #4b370c;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

.event_title::before, .event_title::after {
	content:"";
	pointer-events: none;
	position: absolute;
	height:100%;
	width:100%;
	max-width: 93.75em;
}

.event_title::before {
	background: var(--image) center #4b370c;
	background-blend-mode: luminosity;
	opacity: .38;
	z-index:1;
}

.event_title::after {
	z-index:2;
	background: linear-gradient(to right, rgba(75,55,12,1) 0%,rgba(75,55,12,0) 100%) no-repeat, linear-gradient(to right, rgba(75,55,12,0) 0%,rgba(75,55,12,1) 100%) no-repeat right 0;
	background-size: 13.375em 100%;
}

.event_title > h1 {
	position: relative;
	z-index:2;
	color: var(--white);
	text-shadow: 0 0 .563rem rgba(59,40,0,.5);
}

.events.wrapper {
	max-width: 64.5em;
	position: relative;
	min-height: 25em;
}

.event_img {
	max-width: 32.438em;
	width:100%;
	padding: 1.375em 1.375em 0 1.375em;
	background: var(--white);
	position: relative;
	z-index:3;
	top: -7.25em;
	margin-bottom: -2.25em;
}

.events.cols {
	grid-template-columns: 55% 45%;
}

.event_info {
	grid-column-start: 2;
	padding: 3.3em 0 0 10%;
}

.event_info > h3 {
	font-family: var(--accentFont);
    font-size: 2em;
	color: var(--mainColor);
	padding-bottom: .5em;
}

.event_info strong {
	display: block;
}

.schedule {
	border: 5px solid #b8aa8b;
	width: 100%;
	margin-bottom: 5em;
}

.schedule th {
	background: #b8aa8b;
	color: var(--white);
	font-size: .938em;
	letter-spacing: .05rem;
	text-transform: uppercase;
	font-weight: bold;
	text-align: left;
	padding: .5rem 7%;
}

.schedule td {
	color: #60553c;
	font-size: 1.125em;
	border-top: 1px solid #b8aa8b;
	padding: 1.2rem 7%;
}

.schedule .old > td, .schedule tr:first-child td  {
	border-top: 0;
}

.schedule .old:not(:first-child) > td {
	padding-top: 0;
}

.e_price {
	border-top: 1px solid #ccbfa3;
	margin-top: 1.563em;
	padding-top: 1.563em;
}

.e_price > span {
	font-size: 2.25rem;
	display: inline-block;
	margin-right:.5rem;
}

.wrapper.events .hl2 {
	text-align: center;
	padding-bottom: 1.7rem;
}

tr.old {
	opacity: .35;
}

/****** EVENT TEMPLATE PAGE END *********/






/****** TEATIME PAGE *********/

.page-tea-time .events.wrapper {
	min-height: 0;
}

.temp-callout .menu {
	max-width: 81.25em;
	margin: 0 auto;
}


/****** TEATIME PAGE *********/






/****** TEATIME PAGE *********/

.wine-pairing-dinner .cat_list > li {
	display: block;
	text-align: center;
}

.wine-pairing-dinner .cat_list h4 {
	line-height: 1.4em;
}

.wine-pairing-dinner #main .cat_list p {
	max-width: 23em;
	margin: 0 auto;
}


/****** TEATIME PAGE *********/






/****** GALLERY PAGE *********/

.page-gallery #main {
	text-align: center;
}

.page-gallery .field {
	max-width: 17.75em;
	margin: 0 auto;
}

.pgBox {
	/*display: inline-flex;*/
	margin: 0 auto;
	padding: 3.875em;
	max-width: 90%;
	min-height: 70vh;
	transition: max-width .4s, transform .4s;
}

.photoG {
	column-width: 320px;
	column-gap: 22px;
	column-fill: balance;
}

.pgBox.filtered .photoG {}

.photoG figure {
	break-inside: avoid;
	column-break-inside:avoid;
	max-width:100%;
	vertical-align: top;
	display: inline-block;
	cursor: pointer;
	transform-origin: center;
	position: relative;
	overflow: hidden;
	transition: padding .4s linear, max-width .9s .3s, opacity .3s .4s linear, transform .9s;
}

.photoG figure[title]::before {
	content: attr(title);
	position: absolute;
	top:0;
	left:0;
	right:0;
	background: rgba(255,255,255,.7);
	z-index:2;
	font-weight: bold;
    padding: .8em;
    text-shadow: 0 0 0.5em #fff;
	transform: translateY(-100%);
	transition: transform .4s;
}

.photoG figure[title]:hover::before {
	transform: translateY(0);
}

.photoG figure::after {
	content:"";
	display: block;
	height: 22px;
	transition: height 0s linear;
}

.photoG .hide::after {
	height: 0;
}

.photoG .hide {
	max-width:0;
	position: absolute;
	opacity:0;
	padding:0;
	margin:0;
	transform: scale(0,0);
	filter: grayscale(100%);
}


/****** GALLERY PAGE END *********/






/****** CONTACT PAGE *********/

.page-contact .cols {
	background: url("../images/bg_contact.jpg") no-repeat top left;
	background-size: 100% auto;
	max-width: 75.625em;
	margin: 0 auto 7.75em;
	position: relative;
	padding-bottom: 12.75em;
}

.cform {
	width: 57%;
	background: var(--white);
	padding: 3em 7.75em 7.75em 0;
}

.cform > h2 {
	font-size: 2.375em;
	color: var(--subColor);
	padding-bottom: .8em;
	text-align: center;
}

.cform > p {
	border-bottom: 1px solid #ccbfa3;
	padding: 0 5% 1.7em;
	margin-bottom: 2.1em;
}

.field_wrap {
	display: grid;
	grid-template-columns: auto auto;
	grid-column-gap: 1.375em;
}

.fullCol {
	grid-column-start: 1;
    grid-column-end: 3;
}

.cform .field {
	margin-bottom: 1.375em;
}

.form_bot {
	display: flex;
	justify-content: center;
	padding-top: .5em;
}

.contact_info {
	position: absolute;
	z-index:2;
	right:0;
	background: var(--white);
	width: 28%;
    top: 12em;
	padding: 2.625em 0 2.625em 7%;
}

.contact_info > .phone {
	color: var(--brown);
}

.contact_info > .location {
	padding: 1em 0 .7em;
}

#main .contact_info > .location {
	line-height: 1.4em;
}

.directions {
	display: flex;
	align-items: center;
}
.directions::before {
	content:"";
	display: inline-block;
	width: 1.063em;
	height: 1.688em;
	background: url("../images/icon_map.svg") no-repeat center;
	background-size: contain;
	margin-right: .7em;
}

.directions > strong {
	font-size: 1.063em;
	color: #a68028;
}

.formsg {
	background: var(--brown);
	text-align: center;
	position: relative;
	top:-1.2em;
	border-radius: 2px;
	animation: fadeDown .4s;
}

.formsg.success {
	background: var(--mainColor);
	animation-duration: .7s;
}

#main .formsg > p {
	color: #fff;
}

h4.status:not(:empty) {
	padding: 0 0 5%;
    text-align: center;
    color: var(--mainColor);
    font-size: 1.8em;
}

/****** CONTACT PAGE END *********/






/****** RESERVATION POLICY PAGE *********/

.reservation-policy #main {
	padding-bottom: 4em;
}

.reservation-policy #main p {
	border-bottom: 1px solid #e1ddd3;
	padding: 1.5rem .5rem;
	line-height: 1.4rem;
}

.reservation-policy #main p:last-child {
	border: 0;
}

/****** RESERVATION POLICY PAGE END *********/






/****** MEDIA QUERIES *********/


/* At least 900px tall */
@media screen and (min-height: 56.250em) and (min-width: 70em) {
	#main .keystone::before {
		content:"";
		position: absolute;
		z-index:1;
		top:0;
		left:0;
		right:0;
		margin:0 auto;
		width: 24.375em;
		height: 56.250em;
		background: url("../images/fold_blue.png") no-repeat 0 0;
		animation: play .5s steps(16) forwards paused, fadeOut 0s .6s forwards paused;
		pointer-events: none;
	}
	
	.christmas #main .keystone::before {
		filter: hue-rotate(213deg) brightness(66%);
	}
	
	.loaded #main .keystone::before {
		animation-play-state: running;
	}
}




/* At least 1700px wide */
@media screen and (min-width: 106.250em) {
	.slider img {
		max-width: 100%;
		max-height: none;
	}
	
	.cat_main { padding-left:11%; padding-right: 11%; }
}




/* At least 1120px wide */
@media screen and (min-width: 70em) {
	#tog_menu { display: none;}
	
	.main_nav, #main_nav {
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
		z-index:4;
		left:0;
		width: 100%;
		background: linear-gradient(to bottom, #bf9e64 0%,#f7e7c4 49%,#d7c08e 100%);
		height: 2.75em;
		box-shadow: inset 0 1px 1.313em #7b6436;
	}
	
	.temp-interior .main_nav, .temp-interior #main_nav {
		background: linear-gradient(to right, rgba(0,0,0,0) 0%,rgba(0,0,0,0.3) 30%,rgba(0,0,0,0.3) 70%,rgba(0,0,0,0) 100%) no-repeat center, linear-gradient(to bottom, #bf9e64 0%,#f7e7c4 49%,#d7c08e 100%);
		
		background-size: 14em auto, auto 100%;
	}
	
	.page-home .main_nav, .page-home #main_nav {
		position: absolute;
	}

	.main_nav::after, #main_nav::after {
		content:"";
		position:absolute;
		left:0; top:0;
		width: 100%;
		height: 100%;
		background: url(../images/bg_line.svg) center;
		opacity: .15;
		z-index:1;
	}

	.main_nav > li, #main_nav > li {
		flex-grow: 1;
		text-align: center;
		position: relative;
		z-index:2;
	}

	.main_nav > .spacer, #main_nav > .spacer {
		width: 18em;
		flex-grow: 0;
	}
	
	.page-home .main_nav > .spacer, .page-home #main_nav > .spacer {
		width: 25.5em;
	}

	a.nav_link, a.main {
		font-size: 1.375em;
		display: inline-block;
		padding: .3em 1.25rem;
	}

	a.nav_link::before, a.nav_link::after, a.main::before, a.main::after {
		content:"";
		position: absolute;
		left:0;
		right:0;
		margin: 0 auto;
	}

	a.nav_link::before, a.main::before {
		bottom: .3rem;
		width:0;
		height: 1px;
		background:#fff3d9;
		z-index:2;
		transition: width .5s .1s;
	}

	a.nav_link::after, a.main::after {
		background: radial-gradient(ellipse at center, rgba(169,141,87,1) 0%,rgba(169,141,87,1) 30%,rgba(169,141,87,0) 70%,rgba(169,141,87,0) 100%);
		height: 110%;
		width: 80%;
		z-index: -1;
		top: -5%;
		opacity:0;
		transition: opacity .3s linear;
	}

	a.nav_link:hover, a.main:hover {
		color:#fff3d9;
	}

	a.nav_link:hover::before, a.main:hover::before {
		width: 100%;
	}

	a.nav_link.current-parent::before, a.main.current-parent::before {
		background: #000;
		width: 100%;
	}

	a.nav_link:hover::after, a.main:hover::after {
		opacity:1;
	}

	a.nav_link.current, .active-page .nav_link, a.main.current, .active-page a.main {
		color: #fff;
	}

	.submenu {
		position: absolute;
		top:0;
		left: 0;
		right: 0;
		margin: 0 auto;
		background: linear-gradient(to bottom, rgba(162,138,89,0.34) 0%,rgba(162,138,89,1) 2.75em,rgba(162,138,89,1) 100%);
		padding: 2.5em .125em .125em;
		width: 10.25em;
		overflow: hidden;
		visibility: hidden;
	}

	.submenu.ready {
		visibility: visible;
		height:0;
		opacity:0;
		transition: height .6s, opacity .2s;
	}

	.nav_link:hover + .underline + .submenu.ready, .submenu.ready:hover, a.main:hover + .underline + .submenu.ready {
		height: var(--subHeight);
		opacity: 1;
		transition-delay: .5s, 0;
	}

	.submenu > ul {
		background: linear-gradient(to bottom, #f4e3bf 42%,#fff4dd 100%);
		padding: 0 0 1em;
		box-shadow: inset 0 0 1.5em rgba(165,137, 83, .17);
	}

	.submenu > ul::before {
		content:"";
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 21px 80px 0 80px;
		border-color: #a28a59 transparent transparent transparent;
		display: block;
	}

	.submenu > ul::after {
		content:"";
		position: absolute;
		z-index:2;
		border-radius: .8em;
		left:0;
		right:0;
		bottom: -3px;
		height: 1.5em;
		background: linear-gradient(to bottom, #f4e7cb 0%,#f4e3bf 44%,#d9c69d 74%);
		border: 3px solid #a28a59; border-top:0; border-bottom: 0;
		transform: translateY(100%);
		box-shadow: 0 -.1em .1em rgba(123,99,53,.1);
		transition: transform .1s, height .6s, border-radius .6s, border-width .6s;
	}

	.nav_link:hover + .underline + .submenu > ul::after, a.main:hover + .underline + .submenu > ul::after {
		height: 0;
		border-radius: 0em;
		border-width: 2px;
		transform: translateY(0%);
		transition-delay: 0s, .3s, .3s, .3s;
	}

	.sub {
		font-size: 1.25em;
		display: block;
		padding: .563rem 0;
		line-height: .5;
	}
}


/* Max height the Keystone will be on home page */
@media screen and (max-height: 56.250em) {
	.logo { padding: .4vh 0; }
	#head .logo { width: 25vh; min-width: 10.125em; max-width: 100%; }
}


/*
Min 1120px and Max 1700
*/
@media screen and (min-width: 70em) and (max-width: 106.250em) {
	.page-restaurant .cols {
		grid-template-columns: 22% 56% 22%;
	}
}


/*
1119px
*/
@media screen and (max-width: 69.938em) {
	.main_nav, #main_nav {
		transform: translateY(105%);
		background: url("../images/card_texture@2x.png"), radial-gradient(ellipse at center, #fffbf4 0%,#fff5e4 54%,#ddd0b3 100%);
		background-size: 7.875em auto, 100%;
		outline: 3px solid rgba(173,126,44,.48);
		position: fixed;
		right: 0;
		left: 0;
		top: 0;
    	bottom: 0;
		z-index:6;
		overflow-y: auto;
    	padding: 0 7%;
		pointer-events: none;
		transition: transform .7s;
	}
	
	.main_nav.show, #main_nav.show {
		pointer-events: all;
		transform: translateY(0);
	}
	
	.main_nav::before, #main_nav::before {
		content:"Menu";
		font-family: var(--accentFont);
		display: block;
		color: var(--mainColor);
		font-size: 2.5em;
		text-align: center;
		padding: 8% 0;
	}
	
	.main_nav > li, #main_nav > li {
		display: grid;
		grid-template-columns: 13em auto;
		position: relative;
		padding: 0 3% .75em 10%;
	}
	
	.main_nav > li:last-child, #main_nav > li:last-child {
		margin-bottom: 8%;
	}
	
	.main_nav .spacer, #main_nav .spacer { display: none; }
	
	a.nav_link, a.main {
		margin-top: .4rem;
		font-size: 1.563em;
		letter-spacing: .05em;
	}
	
	a.nav_link.current, .active-page .nav_link, a.main.current, .active-page a.main { color: var(--subColor) ;}
	
	.submenu::before {
		content:"";
		position: absolute;
		z-index:3;
		transform: translate(-1.5em, .75em) rotate(180deg);
		background: url(../images/arrow.svg) no-repeat center;
		background-size: contain;
		width: 1.25rem;
		height: .75rem;
	}
	
	.submenu::after {
		content:"";
		position: absolute;
		bottom: 0;
		left:0;
		right: 0;
		height: .188em;
		background: linear-gradient(to right, rgba(221,208,179,0) 0%,rgba(221,208,179,1) 50%,rgba(221,208,179,0) 100%);
	}
	
	.submenu > ul {
		display: flex;
    	flex-wrap: wrap;
	}
	
	.submenu li {
		padding: .6em .313em 0;
	}
	
	.submenu li:last-child {
		padding-right:0;
	}
	
	a.sub {
		display: block;
		font-size: 1.125em;
		text-transform: uppercase;
		padding: 0 1.063rem;
		letter-spacing: .07em;
	}
	
	
	#head .logo {
		width: 100%;
	}
	
	.mobile_bar {
		background: linear-gradient(to bottom, #bf9e64 0%,#f7e7c4 49%,#d7c08e 100%);
		height: 2.75em;
		box-shadow: inset 0 1px 1.313em #7b6436;
		text-align: right;
		position: relative;
		overflow: hidden;
	}
	
	.mobile_bar::after {
		content: "";
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		background: url(../images/bg_line.svg) center;
		opacity: .15;
		z-index: 1;
	}
	
	.page-home .mobile_bar {
		width: 100%;
		position: absolute;
		z-index:2;
	}
	
	.page-home .show + .mobile_bar {
		z-index: auto;
	}
	
	#tog_menu {
		z-index:6;
		right:0;
		width:35%;
		height:100%;
		position: relative;
		max-width: 13em;
		display: inline-flex;
    	flex-direction: column;
		align-items: center;
		overflow: hidden;
	}
	
	#tog_menu > span {
		flex-grow: 1;
		min-height: 100%;
		font-size: 1.375em;
		line-height: 1.9em;
		transition: transform .5s;
	}
	
	#tog_menu.active > span {
		transform: translateY(-100%);
	}
	
	.default::before {
		content:"";
		background: url("../images/icon_menu.svg") no-repeat center;
		border-radius: 50%;
		display: inline-block;
		vertical-align: middle;
		width: 1.136em;
		height: 1.136em;
		border: 1px solid #503600;
		margin-right: .438rem;
	}
	
	#dine-in .reservation { text-align: right; }
	#main .keystone { padding-bottom: 16%; animation: none; transition: none; }
	#actions, .keystone.full {
		min-height: 48.563em;
	}
	#actions { z-index: auto;}
	#action_btns > a:first-child { margin-bottom: .4em; }
	.card { width: 80%; margin: 0; display: inline-block; }
	.call-to-act { padding-left: 5%; padding-right: 5%; }
	.call-to-act h2 { margin-right: .5em; }
	.divide { padding-left: 0; padding-right: 0;}
	.divider { margin: 0 2%; }
	.divide h3 { letter-spacing: .3em; }
	
	
	.rooms { padding: 0; }
	.rooms > li, .slide { column-gap: 0; }
	#main .room_info p, #main .item_info p { max-width: none; font-size: 1em;}
	.room_info, .item_info { padding: 2em 5%; }
	
	
	.page-restaurant .cols {
		grid-template-columns: 50% 50%;
		grid-template-areas:
			"menus menuInfo"
			"currentMenu currentMenu";
		grid-gap: .5em;
	}
	.menu { grid-column-start: 1; grid-column-end: 4; grid-area: currentMenu; }
	.menus { grid-area: menus; display: flex; justify-content: flex-end; }
	.menu_info { grid-area: menuInfo; }
	.menus form, .mi_box {
		position: fixed;
		background: #fff;
		z-index:7;
		top:0;
		bottom:0;
		max-width: 50em;
		width: 100%;
		display: flex;
		flex-direction: column;
		justify-content: center;
		max-height: 100%;
		overflow-y: auto;
		transition: transform .4s;
	}
	.cols aside { z-index: auto;}
	.menus.show form, .menu_info.show .mi_box { transform: translateX(0);}
	.menus form { transform: translateX(-100%); left:0; }
	.mi_box { transform: translateX(100%); right:0; }
	.page-restaurant #overflow { overflow: hidden;}
	.cols aside { padding-bottom: 0; background: transparent; border:0; }
	.menus > h3, .menu_info > h3 { max-width: 10em; width: 100%; }
	.cat_list { column-width: 20em; }
	.times { display: flex; align-items: center; }
	.times > li { padding-bottom: 0; padding-top: 0;  padding-right: 1em; border-right: 2px solid #b8aa8b; margin-right: 1em; }
	.times > li:last-child { border: 0; }
	
	.event_btns .feathers:first-child, .event_btns .feathers { justify-content: center; padding:0; }
	.econtent { padding-right: 7%; }
	.ephotos { align-self: center; justify-self: flex-end; padding: 0 10% 0em 0; }
	.accent_photos.lg { transform: translateX(-10%); }
	.accent_photos.sm { margin-left: auto; }
	
	#main .history p { max-width: 40em; }
	.page-about .cat_sub { margin: 0 auto 5%; max-width: 98%; }
	.cols.present { grid-column-gap: 3%; max-width:94%; grid-template-columns: 40% auto; }
	.history { padding: 0 0 10%; }
	.building { top: auto; }
	
	.cform {width: 68%; padding: 3em 6%; }
	.field_wrap { grid-template-columns: 48% 48%; grid-column-gap: 4%; }
	.page-contact .cols { margin: 0 0 3em; padding-bottom: 7%; background-size: auto 100%; }
	
	#foot { background-position: -14em 27em; }
	#foot > .wrapper { grid-template-columns: 25% auto 25%; }
	.logos { grid-column-gap: 1em; }
}


/*
1024px
*/
@media screen and (max-width: 64em) {
	.keystone.full, #actions { max-height: none; height: 44em; }
	#head .logo { width: 11em; }
	
	#foot { background-attachment: local; background-position: -15em top; padding-top: 3.2em; }
	.col.center { grid-area: links; }
	#foot address { grid-area: address; }
	.logos { grid-area: logos; }
	#foot > .wrapper {
		grid-template-columns: 30% auto;
		grid-row-gap: 2em; 
		grid-template-areas:
			"address logos"
			"address links";
	}
	.logos { flex-direction: row; flex-wrap: wrap; padding-top: 0; background-position: center bottom; padding-bottom: 3em; display: flex; min-height: 0; }
	.logos::before, .logos::after { height: 1px; width: calc(50% - 1.125em); bottom: .7em; top: auto; transition: width .4s .3s; }
	#foot[data-emergence=hidden] .logos::before, #foot[data-emergence=hidden] .logos::after { width: 0; height: 1px; }
	.logos::before { left: 0; right: auto; }
	.logos::after { right: 0; left: auto; }
	.logos > li { padding-top: 0; justify-content: center; }
	.logos > li:first-child figure { max-width: 7.438em; }
	.logos > li:last-child figure { max-width: 7.625em; }
	.col.center { grid-row-gap: 2em; justify-content: center; }
	
	.pgBox { max-width: none; }
}


/*
960px
*/
@media screen and (max-width: 64em) {
	.divide { padding: 7% 0; }
	.divide > .wrapper { flex-direction: column; }
	.divider { margin: .7em 0; }
	.call-to-act { flex-direction: column; align-items: center; padding: 7% 5%; }
	.call-to-act h2 { margin: 0 0 5% 0; font-size: 6.5vw; }
	
	
	.room_photos { max-width: 800px; margin: auto; width: 100%; }
	.rooms > li, .slide, .rooms > li:nth-of-type(even) { display: flex; flex-direction: column-reverse; margin-bottom: 0; }
	.room_info, .item_info { padding: 5% 7% 6%;}
	.slider figure { height: 24em; overflow: hidden; }
	.slider img { max-height: none; max-width: 100%;}
	.rooms > li:nth-of-type(even) .expand { left: 0; right: auto; transform-origin: left bottom; }
	li:nth-of-type(even) .owl-nav { right: 0; }
	.rooms > li:nth-of-type(even) .more { right:0; left: auto; }
	.more { bottom: 3%; }
	
	.pseudo-hl, .top_p { padding: 0 4%; }
	.menu_items > h2 + .menu_group > h3 { padding-top: 0; }
	.perch .logo img { max-width: 73%; }
	.perch .keystone { height: 6.688em; }
	
	.event_btns h4 { font-size: 3em; }
	.sect_title { top: 4%; }
	.sect_title::before { width: 5%; }
	.ephotos { font-size: .8em; }
	.event_slider .owl-nav { right: 21%; }
	
	.page-about .cat_sub { padding: 0% 5% 1.4em 1em; }
	.page-about .cat_sub .cols { grid-column-gap: 5%; }
	
	.form_bot { grid-template-columns: auto; justify-items: center; row-gap: 1em; }
	.form_bot .btn { justify-self: center; }
	.contact_info { width: 32%; }
	
	#foot { background-position: -17em 7.2em; }
}


/*
768px
*/
@media screen and (max-width: 48em) {
	h1 { font-size: 3em; padding: 11% 0 8%; }
	
	
	#tog_menu { width: 25%; display: inline-block;  }
	#tog_menu > span { display: flex; align-items: center; line-height: 0em;}
	.default::before { margin-right: .2em; }
	#head .logo { width: 9em; min-width: 0; }
	body:not(.page-home) #head .keystone { top: .2em; }
	body:not(.page-home) #head {  padding-top: 1.6em; }
	.mobile_bar { height: 2.4em; }
	.page_title { height: 10em; }
	.family_links { margin-top: 0; }
	.family_links a { font-size: 1em; padding-top: .2em;}
	
	
	.keystone.full, #actions { height: 48em; min-height: 0;}
	.page-home .keystone { padding-top: 2em; max-width: 22em;}
	.page-home .keystone, .keystone.full, #actions { font-size: 2.3vw }
	#main .keystone { padding-bottom: 12em; }
	.grid { grid-template-columns: 100%; }
	.page-home .grid > .one { max-width: none; }
	.callout { height: 16em; margin-bottom: 0; }
	.loaded .callout::after { transform: scaleY(.4); }
	.page-home .divide { padding: 4em 0; font-size: 2.2vw;}
	.page-home .grid { padding: 0; }
	#main .intro p { margin-bottom: 12%; }
	.lg-btn { z-index: auto; }
	.lg-btn .reservation {
		position: fixed;
		z-index: 30;
		top: 0;
		left: 0;
		height: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 16px;
	}
	.lg-btn::before, .lg-btn::after, .rings::before, .rings::after { z-index: 1; }
	#dine-in, #book-now { background-position: center top; }
	.choice_link { max-width: 50%; display: none; }
	
	
	.more_info { font-size: .938em; }
	.slider figure { height: 16em; }
	.room_photos { max-width: 37.5em; }
	.expand { max-width: 10em; padding: 1em 0; }
	.room_info > h2, .slide_title > h2 { font-size: 2.4em; }
	.room_info, .item_info { padding: 8% 7% 9%; }
	.more { font-size: .938em; }
	.owl-nav { width: 25%; max-width: 9em; }
	
	
	.perch .keystone { height: 5.5em; }
	.menus > h3, .menu_info > h3 { font-size: 1.8em; height: 2.5rem; }
	.menu_items { font-size: .938em;}
	.menu_items > h2::before, .menu_items > h2::after { position: relative; bottom: .12em; height: .15em; }
	.menu_items > h2 { line-height: .85em; margin-bottom: 3rem; text-align: center; font-size: 2.9em; }
	.conveyor { margin-bottom: 3rem; }
	.conveyor::before, .conveyor::after { content:none; }
	h2 + .cat_main > .cat_list:first-child > li:first-child { padding: 0; }
	.menu_filtering { max-width: 24em; margin: 0 auto; width: 100%;}
	.pseudo-hl { font-size: 1.75em; margin-top: 0;}
	#main .top_p { text-align: left; }
	.pseudo-hl, #main .top_p { max-width: 38rem; }
	.take_out { height: 12em; font-size: 2vw; }
	
	.event_btns h4 { margin-bottom: 4%; font-size: 2.8em; }
	.event_btns .feathers, .event_btns .feathers:first-child { padding: 6% 0; }
	.grid.event_btns { grid-template-columns: auto; grid-template-rows: auto; width: 100%; justify-content: normal; grid-gap: .25em; }
	.eslide { display: block; padding-top: 8em;}
	.sect_title::before { width: auto; }
	.sect_title::before, .sect_title::after { flex-grow: 1; }
	.sect_title h3 { font-size: 2em; }
	.econtent { display: block; padding: 0 5%; }
	.econtent h2 { text-align: center; font-size: 3.1em; padding-bottom: .4em; }
	.ephotos { padding: 0 3%; max-width: 50em; margin: 0 auto; }
	.ephotos.single { padding-top: 0; text-align: center; }
	.ephotos.single .accent_photos { display: inline-block; }
	.accent_photos.lg { bottom: auto; margin-bottom: -4em; transform: translateX(0); }
	.event_slider .owl-nav { right: auto; left: 4%; }
	#main .econtent p { margin: 0 auto 1.5em; }
	
	.page-contact .cols { padding: 0; margin: 0; background-size: 135% auto; background-position: 64% 0; }
	.cform { width: auto; }
	.contact_info { position: relative; top: auto; width: auto; grid-row: 1; margin-bottom: 4%; max-width: 55%; grid-template-columns: auto; justify-items: center; padding: 5%; }
	.contact_info > .phone { grid-column: 1; }
	#main .contact_info > .location { margin: 0; }
	
	.history { padding: 4% 4% 10%;  white-space: normal;}
	.history p { margin-bottom: 1.2em; }
	.history p:last-child { margin-bottom: 0; }
	.cols.present { grid-template-columns: auto; }
	.building { max-width: 80%; margin: 0 auto; }
	.page-about .cat_sub { padding: 0 1em 1em; }
	.page-about .cat_sub .cols { grid-template-columns: auto; padding: 4% 0 8%; }
	.managers { padding-bottom: 5%; }
	.managers button { display: flex; align-items: baseline; }
	.m_name { margin-right: 5%; }
	.managers .arrow { bottom: -1.2em; }
	.page-about .tab_content { padding: 0 5%; }
	.hl2 { padding-bottom: .5em; }
	
	
	#foot { background-position: -17em bottom; }
	#foot > .wrapper { grid-template-columns: 100%; grid-template-areas: "address" "logos" "links"; }
	address.col { display: grid; grid-template-columns: auto auto auto; align-items: center; column-gap: 5%; }
	.member_gh { grid-row: 1/3; grid-column: 3; }
	.location { padding-top: 0; padding-bottom: .3em; }
	.phone { grid-column-start: 2; }
	.copyright { text-align: center; }
	.col.center { grid-template-columns: 1fr 30% 1fr; }
	.f_links, .logos> li { text-align: center; }
	.f_links ul { text-align: left; display: inline-block; }
	.f_links.follow > ul { display: inline-grid;
    grid-template-columns: auto auto;
    grid-column-gap: .688em; }
	.f_links.follow li { padding: 0; }
	.f_links.follow li:nth-of-type(2)::after { content:""; }
	.f_links.follow li:last-of-type::after, .f_links.follow li:nth-of-type(3)::after { content: none; }
	.newsletter { margin-left: auto; margin-right: auto; }
	#foot .logo { justify-self: self-end; grid-row: 1/ 3; }
}


/*
480px
*/
@media screen and (max-width: 30em) {
	.callout { font-size: .813em; }
	.callout, .callout.landscape { height: 15.625em; }
	.call-to-act, .page-home .divide { padding: 11% 5%; }
	.call-to-act h2 { font-size: 2em; text-align: center; line-height: 1.3em; }
	.divide { background-size: 16.063em auto; }
	.divide > .wrapper { font-size: .563em; }
	#main .intro p { text-align: left; }
	.page-home .divide { font-size: 1em; }
	.page-home .keystone, .keystone.full, #actions { font-size: 2.7vw;}
	
	h1 { font-size: 2.375em; padding: 10% 0; }
	.btn { font-size: .875em; }
	#main p { font-size: .938em; }
	#main .intro p { margin-bottom: 10%; }
	.main_nav, #main_nav { font-size: .9em; padding-top: 2%; }
	.main_nav::before, #main_nav::before { font-size: 2.125em; text-align: left; text-indent: .7em; }
	.main_nav > li, #main_nav > li { display: block; font-size: .938em; }
	
	.submenu { padding: 3% 0; }
	.submenu::before { transform: translate(0, .75em) rotate(180deg); }
	.submenu > ul { padding-left: .7em; flex-direction: column; }
	.mobile_bar { height: 2.5em; }
	#tog_menu { font-size: .813em; }
	#head .logo { width: 8em; }
	.mobile_bar { height: 2.1em; }
	body:not(.page-home) #head { padding-top: 1.4em; }
	.page_title { height: 8em; }
	.family_links a { font-size: .938em;}
	
	
	.room_photos .owl-item { font-size: 3.3vw; }
	.room_info > h2, .slide_title > h2 { font-size: 2.1em; }
	.room_info > h2, .slide_title { margin-bottom: .7em; padding: 0 0 1.375rem }
	#main .room_info p, #main .item_info p { font-size: .938em; text-align: justify; }
	.more_info { display: block; overflow-y: auto; padding-bottom: 2em; font-size: .875em; }
	.amenities, .details { padding-bottom: 2em; }
	.amenities ul { display: grid; grid-template-columns: auto auto; }
	.more { position: relative; }
	.room_info .btn, .item_info .btn { margin-top: 1em; }
	.three60 { font-size: .8em; }
	
	
	.perch .keystone { height: 4.875em; }
	.menu_items { font-size: .875em;}
	.cat_list > li { padding-top: 1.8em; }
	.menu_items > h2, .conveyor { margin-bottom: 1.8rem; }
	.cat_list .diet { height: .7em; }
	.menu_group > h3 { font-size: 2.5em; }
	.menus > h3, .menu_info > h3 { font-size: 1.6em; height: 2rem; }
	.page-restaurant .cols { grid-gap: .3em; }
	.card { width: 100%; }
	.conveyor figure { height: 9em; }
	.cat_main { padding-left: 6%; padding-right: 6%; }
	.time_today { font-size: .8em;  }
	.times { padding: 1em 0; flex-wrap: wrap; justify-content: center;}
	.times > li { margin-bottom: .5em; }
	.perch .logo::before { border-width: 1px;}
	.pseudo-hl { font-size: 1.4em; }
	.menu_items > h2 { font-size: 2.7em; }
	.menu_group > h3 { font-size: 2.3em; }
	.cat_main > h3 { font-size: 2.4em; }
	.cat_list h4 { font-size: 1.3em;  }
	
	
	.sect_title h3 { font-size: 1.5em; }
	.econtent h2 { font-size: 2.6em; }
	.eslide { padding-top: 7em; }
	.ephotos { padding-top: 1em; }
	.accent_photos.lg { max-width: 90%; }
	.accent_photos.sm { max-width: 60%; }
	.event_slider .owl-item { height: 47em; }
	.event_slider .owl-nav { left: 0; right: 0; bottom: 1em; font-size: .9em;}
	.event_btns .feathers, .event_btns .feathers:first-child { padding: 7% 0; }
	.event_btns h4 { font-size: 2.4em; }
	.event_spaces::before, .event_spaces::after { height: .3em; }
	
	.managers button { padding-bottom: .3em; font-size: .9em; padding-left: 0; justify-content: center; }
	.hl2 { font-size: 2em; }
	.page-about .cat_sub { max-width: none; }
	.cat_sub > h3 { font-size: 1.7em; }
	
	.pgBox { padding: 8% 5%; }
	.photoG figure::after { height: 1em; }
	
	.page-contact .cols { background-position: 50% 0; }
	.contact_info { max-width: 65%; }
	.cform { padding: 10% 4%; }
	.field_wrap { grid-template-columns: auto; }
	.field { max-width: 22em; margin: 0 auto; width: 100%; }
	.cform > h2 { font-size: 1.9em;}
	.g-recaptcha { max-width: 100%; overflow: hidden; }
	
	
	#foot { padding: 11% 0; background-size: 33.75em 24.938em; background-position: right bottom; }
	#foot > .wrapper { grid-row-gap: 1em; }
	#foot .logo { width: 6.625em; }
	address { grid-template-columns: 45% 55%; }
	.col.center { display: flex; flex-wrap: wrap; }
	.logos { display: grid; grid-template-columns: auto auto auto; grid-column-gap: 7%; padding-bottom: 11%; }
	.logos > li:first-child figure { max-width: 90%; }
	.logos > li:last-child figure { max-width: 80%; }
	.f_links { margin-bottom: 7%; }
	.f_links a { font-size: 1em; }
	.location { font-size: .938em; }
	.phone { font-size: 1.188em; }
	.f_links:nth-of-type(2){ margin-right: 10%; }
	.f_links.follow { width: 100%; }
	.f_links.follow > ul { max-height: none; flex-direction: row; justify-content: center; display: inline-flex; width: auto; vertical-align: middle; }
	.f_links.follow li:nth-of-type(odd)::after, .f_links.follow li:nth-of-type(2)::after { content: none; }
	.f_links > h4 { padding-bottom: .7em; font-size: 1.625em; }
	.f_links:not(:first-child) > h4{ text-align: left; }
	.copyright { font-size: .938em;}
	.f_links .newsletter { display: inline-block; margin-left: 1em;  }
}

/*
320px
*/
@media screen and (max-width: 20em) {
	h1 { font-size: 2em; }
	#tog_menu { font-size: .75em; }
	#head .logo { width: 7em; }
	.page_title { height: 7em; }
	#foot .logo { width: 5.5em; }
	.menu_items { font-size: .813em; }
	address.col { grid-template-columns: auto auto; }
	.member_gh { grid-row: 3; grid-column: 1/3; max-width: 7em; justify-self: center; margin-top: 6%;}
	
	.perch .keystone { height: 4.25em; }
	
	.sect_title h3 { font-size: 1.3em; }
	.econtent h2 { font-size: 2.4em; }
	.event_btns h4 { font-size: 2.2em; }
	
	.hl2 { font-size: 1.7em; }
	
	.cform > h2 { font-size: 1.7em; }
}



/****** MEDIA QUERIES END *********/