/*
Theme Name: Franceso's
Author: Twangry Productions
Author URI: http://twangry.com/
Description: Custom WordPress theme for Francesco's Ristorante & Pizzaria
Version: 1.0
Text Domain: franc

*/

@import url('fonts.css');	/* Grab font styles from other file */

html {
	font-family: sans-serif;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

html, body {
	margin: 0;
}

body {
	background: #ddd4ba;
	/* Fallback for when there is no custom background color defined. */
}


article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
	display: block;
}

body,
button,
input,
select,
textarea {
	color: #1a1a1a;
	font-family: 'Josefin Sans', sans-serif;
	font-weight: 400;
	font-size: 16px;
	font-size: 1rem;
	line-height: 1;
}


audio,
canvas,
progress,
video {
	display: inline-block;
	vertical-align: baseline;
}

audio:not([controls]) {
	display: none;
	height: 0;
}

[hidden],
template {
	display: none;
}

a {
	background-color: transparent;
	color: #cc4105;
	text-decoration: none;
	cursor: pointer;
}

a:hover { color: #a41600; }


abbr[title] {
	border-bottom: 1px dotted;
}

b,
strong {
	font-weight: 700;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

img {
	border: 0;
}

svg:not(:root) {
	overflow: hidden;
}

figure {
	margin: 0;
}

hr {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}

.clear:before,
.clear:after,
blockquote:before,
blockquote:after,
.entry-content:before,
.entry-content:after,
.entry-summary:before,
.entry-summary:after,
.comment-content:before,
.comment-content:after,
.site-content:before,
.site-content:after,
.site-main > article:before,
.site-main > article:after,
.primary-menu:before,
.primary-menu:after,
.social-links-menu:before,
.social-links-menu:after,
.textwidget:before,
.textwidget:after,
.content-bottom-widgets:before,
.content-bottom-widgets:after {
	content: "";
	display: table;
}

.clear:after,
blockquote:after,
.entry-content:after,
.entry-summary:after,
.comment-content:after,
.site-content:after,
.site-main > article:after,
.primary-menu:after,
.social-links-menu:after,
.textwidget:after,
.content-bottom-widgets:after {
	clear: both;
}


*,
*:before,
*:after { /* apply a natural box layout model to all elements; see http://www.paulirish.com/2012/box-sizing-border-box-ftw/ */
	-webkit-box-sizing: border-box; /* Not needed for modern webkit but still used by Blackberry Browser 7.0; see http://caniuse.com/#search=box-sizing */
	-moz-box-sizing:    border-box; /* Still needed for Firefox 28; see http://caniuse.com/#search=box-sizing */
	box-sizing:         border-box;
}

* { 
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    outline: medium none;
} 

code,
kbd,
pre,
samp {
	font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
	/*color: inherit;*/
	font: inherit;
	margin: 0;
}

select {
	text-transform: none;
}

button {
	overflow: visible;
}

button,
input,
select,
textarea {
	max-width: 100%;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer;
}

button[disabled],
html input[disabled] {
	cursor: default;
	opacity: .5;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input[type="checkbox"],
input[type="radio"] {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin-right: 0.4375em;
	padding: 0;
}

input[type="date"]::-webkit-inner-spin-button,
input[type="date"]::-webkit-outer-spin-button,
input[type="time"]::-webkit-inner-spin-button,
input[type="time"]::-webkit-outer-spin-button,
input[type="datetime-local"]::-webkit-inner-spin-button,
input[type="datetime-local"]::-webkit-outer-spin-button,
input[type="week"]::-webkit-inner-spin-button,
input[type="week"]::-webkit-outer-spin-button,
input[type="month"]::-webkit-inner-spin-button,
input[type="month"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

input[type="search"] {
	-webkit-appearance: textfield;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

fieldset {
	border: 1px solid #d1d1d1;
	margin: 0 0 1.75em;
	min-width: inherit;
	padding: 0.875em;
}

fieldset > :last-child {
	margin-bottom: 0;
}

legend {
	border: 0;
	padding: 0;
}

textarea {
	overflow: auto;
	vertical-align: top;
}

optgroup {
	font-weight: bold;
}



/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object,
video {
	/*margin-bottom: 1.75em;*/
	max-width: 100%;
	vertical-align: middle;
}

p > embed,
p > iframe,
p > object,
p > video {
	margin-bottom: 0;
}

.entry-content .wp-audio-shortcode a,
.entry-content .wp-playlist a {
	box-shadow: none;
}

.wp-audio-shortcode,
.wp-video,
.wp-playlist.wp-audio-playlist {
	margin-top: 0;
	margin-bottom: 1.75em;
}

.wp-playlist.wp-audio-playlist {
	padding-bottom: 0;
}

.wp-playlist .wp-playlist-tracks {
	margin-top: 0;
}

.wp-playlist-item .wp-playlist-caption {
	border-bottom: 0;
	padding: 0.7142857143em 0;
}

.wp-playlist-item .wp-playlist-item-length {
	top: 0.7142857143em;
}

/* Captions */

.wp-caption {
	margin-bottom: 1.75em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin: 0;
}

.wp-caption .wp-caption-text {
	font-family: Montserrat, sans-serif;
	font-size: 14px;
	font-size: 0.9rem;
	font-style: italic;
	color: #111;
	line-height: 1.6153846154;
	padding-top: 0.5384615385em;
}


/* TinyMCE Editor */
body#tinymce {
	padding: 20px !important;
}


h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
	font-weight: 300;
	margin: 0;
	text-rendering: optimizeLegibility;
}

p {
	margin: 0 0 1.75em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	border: 0 solid #1a1a1a;
	border-left-width: 4px;
	color: #686868;
	font-size: 19px;
	font-size: 1.1875rem;
	font-style: italic;
	line-height: 1.4736842105;
	margin: 0 0 1.4736842105em;
	overflow: hidden;
	padding: 0 0 0 1.263157895em;
}

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
}

blockquote p {
	margin-bottom: 1.4736842105em;
}

blockquote cite,
blockquote small {
	color: #1a1a1a;
	display: block;
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.75;
}

blockquote cite:before,
blockquote small:before {
	content: "\2014\00a0";
}

blockquote em,
blockquote i,
blockquote cite {
	font-style: normal;
}

blockquote strong,
blockquote b {
	font-weight: 400;
}

blockquote > :last-child {
	margin-bottom: 0;
}

address {
	font-style: italic;
	margin: 0 0 1.75em;
}

code,
kbd,
tt,
var,
samp,
pre {
	font-family: Inconsolata, monospace;
}

pre {
	border: 1px solid #d1d1d1;
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.3125;
	margin: 0 0 1.75em;
	max-width: 100%;
	overflow: auto;
	padding: 1.75em;
	white-space: pre;
	white-space: pre-wrap;
	word-wrap: break-word;
}

code {
	background-color: #d1d1d1;
	padding: 0.125em 0.25em;
}

abbr,
acronym {
	border-bottom: 1px dotted #d1d1d1;
	cursor: help;
}

mark,
ins {
	background: #007acc;
	color: #fff;
	padding: 0.125em 0.25em;
	text-decoration: none;
}

big {
	font-size: 125%;
}


html {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}


hr {
	background-color: #000;
	border: 0;
	height: 2px;
	margin: 2em auto;
	width: 60%;
}

ul,
ol {
	margin: 0 0 1.75em 1.25em;
	padding: 0;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
	margin-left: 1.5em;
}

li > ul,
li > ol {
	margin-bottom: 0;
}

dl {
	margin: 0 0 1.75em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 0 1.75em;
}

img {
	height: auto;
	/* Make sure images are scaled correctly. */
	max-width: 100%;
	/* Adhere to container width. */
	vertical-align: middle;
}

del {
	opacity: 0.8;
}

table,
th,
td {
	border: 1px solid #d1d1d1;
}

table {
	border-collapse: separate;
	border-spacing: 0;
	border-width: 1px 0 0 1px;
	margin: 0 0 1.75em;
	table-layout: fixed;
	/* Prevents HTML tables from becoming too wide */
	width: 100%;
}

caption,
th,
td {
	font-weight: normal;
	text-align: left;
}

th {
	border-width: 0 1px 1px 0;
	font-weight: 700;
}

td {
	border-width: 0 1px 1px 0;
}

th,
td {
	padding: 0.4375em;
}

.alignleft {
	float: left;
	margin: 0.375em 1.75em 1.75em 0;
}

.alignright {
	float: right;
	margin: 0.375em 0 1.75em 1.75em;
}

.aligncenter {
	clear: both;
	display: block;
	margin: 0 auto 1.75em;
}

blockquote.alignleft {
	margin: 0.3157894737em 1.4736842105em 1.473684211em 0;
}

blockquote.alignright {
	margin: 0.3157894737em 0 1.473684211em 1.4736842105em;
}

blockquote.aligncenter {
	margin-bottom: 1.473684211em;
}




/* Placeholder text color -- selectors need to be separate to work. */
::-webkit-input-placeholder {
	color: #686868;
	font-family: Montserrat, "Helvetica Neue", sans-serif;
}

:-moz-placeholder {
	color: #686868;
	font-family: Montserrat, "Helvetica Neue", sans-serif;
}

::-moz-placeholder {
	color: #686868;
	font-family: Montserrat, "Helvetica Neue", sans-serif;
	opacity: 1;
	/* Since FF19 lowers the opacity of the placeholder by default */
}

:-ms-input-placeholder {
	color: #686868;
	font-family: Montserrat, "Helvetica Neue", sans-serif;
}


.skip-link {
	/*display: none;*/
}

/* Prevent FOUC with wow.js */
.wowX {
  visibility: hidden !important;
}


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

/** Colors **/

.orange	{ color: #cc4105; }
.red		{ color: #a41600; }
.tan		{ color: #ddd4ba; }	
.copper	{ color: #b09975; }	
.blk		{ color: #000000; }


/*********** STRUCTURE ***********/

.site {
	width: 100%;
	overflow-x: hidden;
}

.site-inner {
	width: 100%;
	margin: 0 auto;
}


.content-inner {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}



h1 {
	font-family: 'Cinzel', 'Georgia', serif;
	font-weight: 400;
	font-size: 3em;
	text-transform: uppercase;
}

h2 {
	font-weight: 400;
	font-size: 2em;
	text-transform: uppercase;
	color: #cc4105;
}

h3 {
	font-weight: 400;
	font-size: 1.6em;
	text-transform: uppercase;
	color: #cc4105;
}

.entry-content h2 {
	margin-bottom: 0.5em;
}



/*** HEADER / MASTHEAD ***/

.site-header {
	background: rgba(0, 0, 0, 0.8);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 88888;
	width: 100%;
	margin: 0 auto;
	padding: 20px;
	clear: both;
	transition: padding 0.3s;
	transition: background 0.3s;
}


.home .site-header {
	background: transparent;
	padding: 30px;
}


.home .site-header.small {
	background: rgba(0, 0, 0, 0.8);
	padding: 20px;
}


.admin-bar .site-header {
	top: 32px;
}

.site-header .site-branding {
	width: auto;
	float: left;
}

.site-header .site-branding .logo {
	max-width: 200px;
}

.home .site-header .site-branding .logo {
	max-width: 300px;
}

.home .site-header.small .site-branding .logo {
	transition: max-width 0.3s;
	max-width: 200px;
}


.site-header .menu-toggle {
	float: right;
	padding: 8px 10px;
	text-align: center;
	background: rgba(0, 0, 0, 0.7);
	border: 1px solid #b09977;
	color: #ddd4ba;
	font-size: 0.9em;
	line-height: 0.8;
	cursor: pointer;
	transition: height 0.3s;
}


.site-header .menu-toggle .fa {
	font-size: 2em;
	display: block;
	margin-bottom: 8px;
}

.site-header .menu-toggle:hover {
	color: #fff;
	background: #000;
}

.site-header .menu-toggle .menu-label {
	display: none;
}

.site-header .menu-toggle .fa {
	margin-bottom: 0px;
}


/*** NAVIGATION ***/

.menuOverlay {
	width: 100%;
	height: 100vh;
	padding: 30px;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99999;
	background: rgba(0, 0, 0, 0.8);
	color: #fff;
	display: none;
}

.admin-bar .menuOverlay {
	height: calc(100vh - 32px);
}

.menuOverlay .menu-close {
	position: absolute;
	top: 20px;
	right: 20px;
	padding: 10px;
	text-align: center;
	background: rgba(0, 0, 0, 0.7);
	border: 2px solid #b09977;
	border-radius: 60px;
	font-size: 1.8em;
	line-height: 0.8;
	color: #ddd4ba;
	cursor: pointer;
}

.menuOverlay .menu-close:hover {
	border: 2px solid #fff;
	color: #fff;
}

.admin-bar .menuOverlay .menu-close {
	top: 52px;
}

.menuOverlay .menuOverlay-inner {
	max-width: 800px;
	margin: 0 auto;
	position: relative;
	display: table;
	/*padding: 42px 0px;*/
	margin-top: 15vh;
}


.menuOverlay .col {
	display: table-cell;
	vertical-align: middle;
}

.menuOverlay .main-navigation {
	margin: 20px 0px 20px 0px;
	font-family: 'Josefin Sans', sans-serif;
	text-transform: uppercase;
}

.menuOverlay .main-navigation ul {
	padding-left: 0px;
	margin: 0px;
}

.menuOverlay .main-navigation li {
	list-style: none;
}

.menuOverlay .menu-header {
	color: #ddd4ba;
	font-size: 1.6rem;
	line-height: 1.2;
}

.menuOverlay .menu-header .menu-logo {
	margin-bottom: 1.5em;
}

.menuOverlay .main-navigation a { color: #fff; }

.menuOverlay .main-navigation .highlight a { color: #d59d55; }

.menuOverlay .main-navigation a:hover { color: #cc4105; }



.menuOverlay .menu-header {
	text-align: center;
	line-height: 1.4;
	padding-right: 30px;
}

.menuOverlay .menu-address {
	font-size: 1rem;
	line-height: 1.5;
	text-transform: uppercase;
}

.menuOverlay .menu-address span {
	white-space: nowrap; 
}

.menuOverlay .menu-social {
	margin-top: 0.6em;
}

.menuOverlay .main-navigation.main-nav {
	text-align: left;
	font-size: 1.5rem;
	line-height: 1.7;
	padding-left: 30px;
}


.menuOverlay .menu-divider {
	display: table-cell;
	vertical-align: middle;
	height: 100%;
	width: 1px;
	background: #ddd4ba;
	margin: 0px 34px;
}




/*** HOME PAGE ***/

.home-hero {
	width: 100%;
	height: 100vh;
	position: relative;
	background-position: 50% 50%;
	background-size: cover;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-color: #000;
}

.admin-bar .home-hero {
	height: calc(100vh - 32px);
}

.home-hero .hero-content {
	position: absolute;
	bottom: 70px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	width: auto;
	max-width: 80%;
	max-width: 1100px;
	padding: 28px 50px;
	text-align: center;
	background: rgba(0, 0, 0, 0.7);
	border: 1px solid #b09977;
	font-size: 1rem;
	line-height: 1.2;
	color: #fff;
}

.home-hero .hero-content .address {
	color: #ddd4ba;
	text-transform: uppercase;
	line-height: 1.5;
}

.home-hero .hero-content .address .location_hours {
	margin-bottom: 3em;
}

.home-hero .hero-content .address span {
	white-space: nowrap; 
}


.home-hero .hero-content .address .phone {
	color: #fff;
}

.home-hero .hero-content .address .loc_times {
	white-space: nowrap;
}

.home-hero .hero-content .address .loc_hours {
	color: #fff;
}

.home-hero .hero-content a { color: #ddd4ba; }
.home-hero .hero-content a:hover { color: #cc4105; }

.home-hero .hero-content h1 {
	width: auto;
	white-space: nowrap;
	font-size: 2.5rem;
	margin-bottom: 0.5em;
}

.home .section.boxes {
	display: flex;
	/*max-width: 1200px;*/
	/*padding: 50px;*/
	padding: 2vw;
	margin: 0 auto;
	align-items: center;
	justify-content: center;
}


/* HOME ABOUT */

.home .section.home-about {
	color: #fff;
	position: relative;
	background-position: 50% 50%;
	background-size: cover;
	background-repeat: no-repeat;
	background-attachment: fixed;
	line-height: 1.5;
	display: flex;
}

.section-inner.dark {
	width: 100%;
	height: 100%;
	background: rgba( 0, 0, 0, .56 );
}

.home .section.home-about .section-inner {
	/*padding: 5%;*/
}

.home .section.home-about .boxleft {
	width: 80%;
	margin: 0 auto;
	padding: 5%;
	float: none;
}

.home .section.home-about .boxright {
	width: 33%;
	padding: 5%;
	text-transform: uppercase;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	min-height: 230px;
}

.home .section.home-about .boxright .box-content {
	vertical-align: middle;
	height: 100%;
}

.box-content .biglink {
	display: table;
	margin: 0 auto;
	margin-top: 2em;
	width: auto;
	text-transform: uppercase;
	text-align: center;
	line-height: 1;
}

.box-content .biglink a {
	color: #ddd4ba;
}

.box-content .biglink a:hover {
	color: #fff;
}

.box-content .biglink::after {
	content: "";
	display: block;
	border-top: 2px solid #cc4105;
	margin: 0 auto;
	margin-top: 0.5em;
	padding-top: 1em;
	width: 65%;
}



.home .section.home-about h3 {
	color: #fff;
	font-size: 1.4em;
	text-align: center;
	text-transform: uppercase;
	margin-bottom: 1em;
}

.home .section.home-about p:last-of-type {
	margin-bottom: 0;
}

.home .section.home-about .divider {
	margin: 1em auto 1.5em;
	width: 50%;
	height: 1px;
	background: #cc4105;
}



/* REVIEWS */

.section.reviews {
	width: 100%;
	height: 100vh;
	position: relative;
	background-position: 50% 50%;
	background-size: cover;
	background-repeat: no-repeat;
	background-attachment: fixed;
}

.admin-bar .section.reviews {
	height: calc(100vh - 32px);
}

.section.reviews .blackbox {
	text-align: center;
}

.section.reviews .review-quote {
	font-size: 2.5rem;
	line-height: 1.2;
	margin-top: 30px;
	margin-bottom: 2.5rem;
	padding: 50px;
	padding-top: 70px;
	padding-bottom: 0;
}

.section.reviews .review-attrib {
	text-transform: uppercase;
	color: #cc4105;
	font-size: 0.9rem;
}

.section.reviews .review-more {
	position: absolute;
	left: 0;
	bottom: 50px;
	width: 100%;
	text-align: center;
}

.section.reviews .review-more a {
	text-transform: uppercase;
	color: #ddd4ba;
}

.section.reviews .review-more a:hover {
	color: #fff;
}

.section.reviews .reviews-slider {
	/*position: relative;*/
}

.section.reviews .review-item {
	display: none;
	/*-webkit-animation: fadeIn 1s;*/
	/*animation: fadeIn 1s;*/
	position: absolute;
	top: 0;
	left: 0;
	z-index: 9999;
	width: 100%;
}


/* GALLLERIES - GALLERY BAR */

.gallery-bar {
	background: #fff;
	width: 100vw;
	/*height: 50vh;*/
	min-height: 100px;
	position: relative;
	overflow: hidden;
	padding-right: 1.3vw;
}

.gallery-bar .gslides {
	width: 100%;
	height: 100%;
}

.gallery-bar .gslides .slide-wrap {
	background-position: 50% 50%;
	background-size: cover;
	background-repeat: no-repeat;
	width: 33vw;
	height: 50vh;
	overflow: hidden;
	float: left;
	position: relative;
	margin: 4px 4px;
	margin-right: 0px;
}


@keyframes slideshow {
  100%  {
	-webkit-transform: translateX(-100%);
	transform: translateX(-100%);
	}
}

@-webkit-keyframes slideRight {
    0% { left: 33vw; }
    100% { left: 0; }
}

@keyframes slideRight {
    0% { left: 33vw; }
    100% { left: 0; }
}

.gallery-bar .gslides .slide-wrap a {
	display: block;
	width: 100%;
	height: 100%;
	/*background-color: rgba(0, 0, 0, 0.2);*/
	/*background-color: rgba(204, 65, 6, 0.1);*/
}

.gallery-bar .gslides .slide-wrap a:hover {
	/*background-color: rgba(0, 0, 0, 0.0);*/
	background-color: rgba(255, 255, 255, 0.1);
}

.gallery,
.rl-gallery-container {
	display: none;
}

#swipebox-overlay {
	background: rgba(0, 0, 0, 0.85) !important;
}

#swipebox-slider .slide .swipebox-inline-container,
#swipebox-slider .slide .swipebox-video-container,
#swipebox-slider .slide img {
	max-height: 75% !important;
	max-width: 75% !important;
}

#swipebox-slider .slide img {
	background: rgba(212, 212, 212, 0.5) !important;
	padding: 20px !important;
	border: 0px solid #ddd4ba !important;
}

#swipebox-bottom-bar, #swipebox-top-bar {
	display: none;
}


/* FOOD MENUS */

.section.menus {
	width: 100%;
	height: 100vh;
	position: relative;
	/*background-position: 50% 50%;*/
	/*background-size: cover;*/
	/*background-repeat: no-repeat;*/
	/*background-attachment: fixed;*/
}

.admin-bar .section.menus {
	height: calc(100vh - 32px);
}

.menus .menus-header {
	float: right;
	position: absolute;
	width: 50vw;
	top: 180px;
	right: 0;
	text-align: center;
	/*margin-top: 5vh;*/
	/*padding: 20vh 5vw;*/
	color: #fff;
}

article.menus .menus-header {
	/*margin-top: 0;*/
	padding: 0 5vw;
	width: 50vw;
}

.menus .menus-content {
	float: left;
	position: absolute;
	top: 150px;
	left: 100px;
	padding: 50px;
	text-align: center;
	color: #fff;
	font-size: 1rem;
	height: 75%;
	width: 45vw;
	max-width: 550px;
	line-height: 1.2;
}

.menus .menus-content .foodmenu {
	display: none;
	-webkit-animation: fadeIn 1s;
	animation: fadeIn 1s;
	padding-bottom: 200px;
}


.menus .menus-content .foodmenu.first {
	display: block;
}

.menus .menus-header h1 {
	margin-bottom: 0.5em;
}

.menus .menus-header .menus-nav {
	text-align: center;
}

.menus .menus-header ul {
	margin: 0 auto;
	/*margin-bottom: 0.5em;*/
	margin-bottom: 0;
	max-width: 400px;
}

.menus .menus-header ul li {
	font-size: 1.1rem;
	text-transform: uppercase;
	list-style: none;
	display: inline-block;
	margin-bottom: 10px;
}

.menus .menus-header ul li:after {
	content: "\2022";
	padding: 10px;
}

.menus .menus-header ul li.last:after {
	content: "";
	padding: 0px;
}

.menus .menus-header ul li a {
	color: #fff;
	cursor: pointer;
	display: inline-block;
	padding-bottom: 2px;
	margin-bottom: 2px;
}

.menus .menus-header ul li.selected a,
.menus .menus-header ul li a:hover {
	border-bottom: 2px solid #fff;
	margin-bottom: 0px;
}

.menus-content .blackbox-inner > p:first-child {
	display: none;
}	/* This hides an annoying p tag at the beginning of menu page content */


/* Food Menu Items */

h3.fdm-menu-title {
	font-size: 1.6em !important;
	margin-bottom: 0.5em; !important;
	color: #fff;
}

.fdm-section-header h3 {
	font-size: 1.3em !important;
	margin-bottom: 0.2em !important;
	color: #b09977 !important;
}

.fdm-section-header {
	border-top: 0px solid #b09977 !important;
	border-bottom: 0px solid #b09977 !important;
	padding-top: 0.5em;
	padding-bottom: 1em;
	margin-bottom: 0 !important;
}

.fdm-section-headerX p:last-of-type {
	padding-bottom: 0.5em !important;
}

.fdm-item-has-price .fdm-item-panel p {
	padding-right: 0px !important;
}

.fdm-item-panel .fdm-item-title {
	font-size: 1.2rem;
	font-weight: normal !important;
	text-transform: uppercase !important;
}

.fdm-item-price-wrapper {
	position: relative !important;
	width: auto !important;
	text-align: center !important;
}




/*** BOXES ***/

.boxes .box {
	width: 23vw;
	/*min-width: 252px;*/
	margin: 0 1vw;
	min-height: 230px;
	background: #fff;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	padding: 20px;
	flex-grow: 1;
}

.boxes .box.dbl {
	width: 48vw;
	/*min-width: 572px;*/
}

.boxes .box.fullwidth {
	width: auto;
}

.boxes .box .sep {
	display: none;
	width: 2px;
	height: 100%;
	min-height: 170px;
	background: #000;
	vertical-align: middle;
}

.boxes .box .box-content {
	width: 100%;
	height: 100%;
	text-align: center;
	vertical-align: middle;
	position: relative;
}

.boxes .box .details,
.boxes .box p {
	font-size: 1.1rem;
	line-height: 1.3;
	text-align: center;
}

.boxes .box p {
	margin: 0 0 1.3em;
}

.boxes .box .box-content a {
	text-transform: uppercase;
}

.boxes .box .box-content p:last-of-type {
	margin-bottom: 0;
}

.boxes .box h3 {
	display: table;
	margin: 0 auto;
}

.boxes .box h3:after {
	content: "";
	display: block;
	margin: 0 auto;
	border-top: 2px solid #000;
	margin-top: 0.5em;
	padding-top: 1em;
	width: 65%;
}

.boxes .box.dbl h3 {
	display: inline-block;
	vertical-align: middle;
	height: 100%;
	width: 48%;
	font-size: 2em;
	text-align: center;
	padding-right: 20px;
}

.boxes .box.dbl h3:after {
	display: none;
}

.boxes .box.dbl .sep {
	display: inline-block;
}

.boxes .box.dbl .details {
	display: inline-block;
	vertical-align: middle;
	padding-left: 20px;
	width: 48%;
	font-size: 1.3rem;
}

.boxes .box .details a,
.boxes .box p a {
	font-size: 1.1rem;
}

.boxes .box.dbl.eventbox .details a {
	display: block;
	width: auto;
	margin-top: 0.5em;
}

.boxes .box.dbl.eventbox .event-date {
	font-size: 1rem;
}

.boxes .box.dbl.eventbox .event-title {
	margin-bottom: 0.5rem;
}

.boxes .box.dbl.eventbox .event-title a {
	font-size: 1.5rem !important;
	text-transform: none !important;
}

.boxes .box.dbl.eventbox .event-desc {
	font-size: 1rem;
	margin-bottom: 1rem;
}


.boxes .box .contentonly {
	display: inline-block;
	vertical-align: middle;
	padding-left: 20px;
	width: 48%;
	font-size: 1.5rem;
}

.boxes .box .contentonly p {
	font-size: 1.5rem;
}

.boxes .box .contentonly a {
	font-size: 1.1rem;
}

.boxes .box .titleonly {
	display: inline-block;
	vertical-align: middle;
	height: 100%;
	width: 48%;
	font-size: 1em;
	text-align: center;
}

.boxes .box .titleonly h3 {
	width: auto;
}


.boxes .box .titleonly p { display: none; }
.boxes .box .contentonly h3.widget-title { display: none; }


.blackbox {
	background: rgba(0, 0, 0, 0.8);
	position: absolute;
	top: 100px;
	left: 100px;
	padding: 50px;
	color: #fff;
	height: 70vh;
	width: 35vw;
	max-width: 500px;
	overflow: hidden;
}

.clearbox.boxleft {
	float: left;
}

.clearbox.boxright {
	float: right;
}

.blackbox h3 {
	font-size: 1.3em;
	margin-bottom: 0.5em;
	color: #fff;
}

.blackbox .list-item {
	margin-bottom: 2em;
}

.blackbox .list-item .item-title {
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 0.5em;
}


/* Perfect Scrollbar overrides */
.ps--active-y > .ps__rail-y {
}

.ps__thumb-y {
	width: 8px !important;
}

.ps .ps__rail-x:hover, .ps .ps__rail-y:hover, .ps .ps__rail-x:focus, .ps .ps__rail-y:focus, .ps .ps__rail-x.ps--clicking, .ps .ps__rail-y.ps--clicking {
	background-color: transparent !important;
}

.ps__rail-x, .ps__rail-y {
	opacity: 0.6 !important;		/* Keeps Perfect Scrollbar visible */
}




/*** CONTACT / MAP SECTION ***/

.section.contact {
	width: 100%;
	height: 50vh;
	display: flex;
	align-items: center;
	justify-content: center;
}


.section.contact .split {
	height: 100%;
	width: 50%;
	flex-basis: 50%;
	flex-grow: 1;
}

.section.contact .contact-info {
	float: left;
	text-align: center;
	padding: 35px;
}

.section.contact .contact-info .box {
	background: #fff;
	height: 100%;
	width: 100%;
	/*max-width: 600px;*/
	margin: 0 auto;
	padding: 5%;
	text-align: center;
	text-transform: uppercase;
	font-size: 1.1em;
	line-height: 1.5;
}

.section.contact .contact-info .site-logo {
	margin-bottom: 1em;
}

.section.contact .contact-info .hours { color: #cabba4; }

.section.contact .contact-info a { color: #cabba4; }
.section.contact .contact-info a:hover { color: #cc4105; }


.section.contact .contact-map {
	float: right;
	text-align: center;
	flex-grow: 1;
}

.section.contact .contact-map iframe {
	border: none;
	height: 100%;
	width: 100%;
	min-height: 100%;
}

.section.contact table { border: 0px; }
.section.contact td { border: 0px; padding: 2px 5px; }
.section.contact td.days { text-align: right; }


/*** FOOTER ***/

.site-footer {
	background: #000;
	padding: 10px 20px;
	font-size: 0.8em;
	color: #fff;
	text-transform: uppercase;
	clear: both;
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 999999;
	width: 100%;
}

.site-footer .site-info { float: left; }
.site-footer .footer-menu { float: right; }

.site-footer a { color: #fff; }
.site-footer a:hover { color: #cc4105; }

.site-footer ul {
	margin: 0;
}

.site-footer li {
	list-style: none;
	padding: 0px 4px;
	display: inline-block;
}



/*********** CONTENT ***********/

#background,
.background {
	background-position: 50% 50%;
	background-size: cover;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-color: #cc4105;	/* orange */
	width: 100vw;
	height: 100vh;
	position: fixed;
	z-index: -1;
}

.page-template-page-menus #background,
.page-template-page-menus .background {
	transition: opacity 1s ease-in-out;
	opacity: 0;
}

.section.menus #background,
.section.menus .background {
	transition: opacity 1s ease-in-out;
	position: absolute;
	opacity: 0;
}

#background.first, .background.first {
	opacity: 1 !important; 
}

#background.opaque, .background.opaque { 
	opacity: 1 !important;
}

#background, .background {
	transition: opacity 1s ease-in-out;
}

#primary {
	margin-top: 5vh;
}

.home #primary {
	margin-top: 0px;
}


article {
	margin: 0 auto;
	width: 90%;
	max-width: 90%;
	color: #fff;
	padding-bottom: 10vw;
}

article .entry-header {
	float: right;
	width: 40vw;
	text-align: center;
	margin-top: 5vh;
	padding: 7vh 5vw;
	color: #fff;
	font-size: 1em;
}

article .entry-header h1 {
	text-shadow: 0px 0px 10px rgba(0,0,0,0.3);
}

.page-template-page-contact article .entry-header {
	text-transform: uppercase;
	line-height: 1.3;
}

article .blackbox {
	float: left;
	position: absolute;
	top: 150px;
	left: 7vw;
	padding: 50px;
	color: #fff;
	height: 75vh;
	width: 45vw;
	max-width: 1000px;
	font-size: 1.2rem;
	line-height: 1.2;
}


.blackbox.full {
	float: none;
	width: 85vw;
	top: 150px;
	left: 0;
	right: 0;
	margin: 0 auto;
	max-width: none;
}

.blackbox .entry-header {
	float: none;
	width: auto;
	padding: 0;
	margin-top: 0;
	margin-bottom: 3em;
}

.blackbox .entry-header h1 {
	font-size: 2em;
	text-shadow: none;
}

.home-about {
	padding: 5vw;
	height: auto;
}

.home-about .blackbox.full {
	top: auto;
	left: auto;
	height: auto;
	position: relative;
	margin: 0 auto;
	width: 100%;
}

.home-about .blackbox .boxleft {
	font-size: 1.1rem;
}

.blackbox.full .entry-header h1 {
	font-size: 2.6em;
}




/* Light Style Pages */
.page-template-page-light #background,
.page-template-page-light .background {
	background-color: #ddd4ba;
}

.page-template-page-light article .entry-content {
	background: #fff;
	color: #000;
	margin: 0 auto;
	margin-top: 10vh;
	padding: 5vw;
	font-size: 1.1rem;
	line-height: 1.3;
	max-width: 1200px;
}

.page-template-page-light article .entry-header {
	float: none;
	width: auto;
	text-align: center;
	margin: 0 auto;
	padding: 0;
	margin-bottom: 3em;
	color: #cc4105;
}

.page-template-page-light article .entry-header h1 {
	display: table;
	margin: 0 auto;
	text-shadow: none;
	line-height: 1;
	font-family: 'Josefin Sans', sans-serif;
}

.page-template-page-light article .entry-header h1::after {
	content: "";
	display: block;
	margin: 0 auto;
	border-top: 3px solid #000;
	margin-top: 0.3em;
	width: 60%;
}




/* Blog / News */


.blog .site-main {
	margin-bottom: 5vh;
}

.single-post .site-main {
	margin-top: 15vh;
}


.blog .blog-header,
.blog .page-header {
	margin: 0 auto;
	margin-top: 15vh;
	margin-bottom: 3em;
	text-align: center;
	background: #fff;
	padding: 5vw;
	width: 90vw;
	max-width: 1200px;
	color: #cc4105;
}

.single-post .entry-header {
	margin: 0 auto;
	margin-bottom: 3em;
	text-align: center;
	width: 90vw;
	color: #cc4105;
}

.blog .blog-header h1,
.blog .page-header h1,
.single-post .entry-header h1 {
	display: table;
	margin: 0 auto;
	text-shadow: none;
	line-height: 1;
	font-family: 'Josefin Sans', sans-serif;
}

.blog .blog-header h1::after,
.blog .page-header h1::after,
.single-post .entry-header h1::after {
	content: "";
	display: block;
	margin: 0 auto;
	border-top: 3px solid #000;
	margin-top: 0.3em;
	width: 60%;
}

.single-post .entry-header h1 {
	font-size: 1.5em;
	text-transform: none;
}

.blog article,
.single-post article,
.blog .page-content {
	margin: 0 auto;
	margin-top: 2em;
	text-align: center;
	font-size: 1.1em;
	line-height: 1.3;
	background: #fff;
	padding: 5vw;
	width: 90vw;
	max-width: 1200px;
	color: #000;
}

.blog article .entry-header,
.single-post article .entry-header {
	float: none;
	width: auto;
	text-align: center;
	font-size: 1.5em;
	padding: 0;
	margin-top: 0;
}

.blog article .entry-header h2,
.single-post article .entry-header h2 {
	display: table;
	font-weight: 400;
	margin: 0 auto;
	margin-bottom: 1em;
}

.blog article .entry-header h2::after,
.single-post article .entry-header h2::after {
	content: "";
	display: block;
	margin: 0 auto;
	border-top: 3px solid #000;
	margin-top: 0.3em;
	width: 60%;
}

.blog article .entry-content,
.single-post article .entry-content {
	margin: 0 auto;
	max-width: 900px;
}

.blog article .entry-content p,
.single-post article .entry-content p {
	font-size: 1.2em;
	line-height: 1.5em;
}

.blog article .byline,
.blog article .updated,
.single-post article .byline,
.single-post article .updated {
	display: none;
}

.blog article .posted-on,
.single-post article .posted-on {
	display: block;
}

.blog article .edit-link,
.single-post article .edit-link {
	margin-top: 1em;
}






/** Reviews **/

.entry-content .review-item {
	margin: 0 auto;
	/*margin-bottom: 1.5em;*/
	min-height: 230px;
	background: #fff;
	color: #000;
	text-align: center;
	width: auto;
	max-width: 800px;
	height: 100%;
	padding: 50px;
	padding-bottom: 0;
}

.entry-content .review-item::after {
	content: "";
	display: block;
	margin: 0 auto;
	border-top: 1px solid #000;
	margin-top: 50px;
	width: 60%;
}

.entry-content .review-item:last-of-type::after {
	display: none;
}

.entry-content .review-quote {
	font-size: 2.5em;
	line-height: 1.3em;
	margin-bottom: 1em;
}

.entry-content .review-attrib {
	text-transform: uppercase;
	font-size: 1.1em;
}




/** Contact Page **/

.page-template-page-contact article .entry-header {
	padding: 7vh 2vw;
}




/***** Events *****/

#tribe-events-pg-template {
	margin-top: 15vh;
}


#tribe-events .tribe-events-title-bar {
	margin: 0 auto !important;
	margin-bottom: 3em !important;
	text-align: center !important;
	background: #fff !important;
	padding: 5vw !important;
	width: 100% !important;
	max-width: 1200px !important;
	color: #cc4105 !important;
}

#tribe-events h1.tribe-events-page-title {
	display: table;
	margin: 0 auto;
	text-shadow: none;
	line-height: 1;
	font-family: 'Josefin Sans', sans-serif;
	font-weight: 400;n
}

#tribe-events h1.tribe-events-page-title::after {
	content: "";
	display: block;
	margin: 0 auto;
	border-top: 3px solid #000;
	margin-top: 0.3em;
	width: 60%;
}

.tribe-events-page-title {
	font-size: 3em !important;
}

.tribe-events-list-separator-month::after {
	border-bottom: 0 !important;
	height: 0px !important;
}

#tribe-events h2.tribe-events-list-separator-month  {
	background-color: transparent !important;
	display: block !important;
	padding: 0 !important;
	background: #fff !important;
	padding: 2vw !important;
	width: 100% !important;
	max-width: 1200px !important;
	color: #cc4105 !important;
	font-weight: 400 !important;
	font-size: 2em !important;
}	

#tribe-events #tribe-events-content table.tribe-events-calendar {
	background: #fff !important;
}

#tribe-events #tribe-events-content .tribe-events-calendar td.tribe-events-othermonth {
	background: #eaeaea !important;
}

#tribe-events .tribe-events-button, #tribe-events .tribe-events-button:hover, #tribe_events_filters_wrapper input[type="submit"], .tribe-events-button, .tribe-events-button.tribe-active:hover, .tribe-events-button.tribe-inactive, .tribe-events-button:hover, .tribe-events-calendar td.tribe-events-present div[id*="tribe-events-daynum-"], .tribe-events-calendar td.tribe-events-present div[id*="tribe-events-daynum-"] > a {
	background-color: #cc4105 !important;
}


.events-list .tribe-events-loop, .single-tribe_organizer .tribe-events-loop, .single-tribe_venue .tribe-events-loop, .tribe-events-day .tribe-events-loop {
	max-width: none;
}

.tribe-events-loop.boxes .box {
	margin-bottom: 2em;
	margin-left: 0;
	margin-right: 0;
}

.tribe-events-loop.boxes .tribe-events-event-header {
	width: 50%;
	/*text-align: left;*/
}

.tribe-events-loop.boxes h3 {
	/*text-align: left;*/
	/*margin: 0;*/
}

.tribe-events-loop.boxes h3::after {
	display: none;
}

.tribe-events-loop.boxes .tribe-event-schedule-details {
	margin-bottom: 1.5em;
}

.tribe-events-list .tribe-events-loop.boxes .tribe-events-content {
	width: 50%;
	padding: 0;
}

.tribe-events-loop.boxes .sep {
	display: inline-block;
}

.tribe-events-ical,
.tribe-events-cal-links {
	display: none !important;
}

#tribe-events-footer {
	border-top: 0 !important;
	margin: 0 auto !important;
	padding: 0 !important;
}

.events-footer {
	width: 100%;
	margin: 0 auto;
	margin-bottom: 5vh;
	background: #fff;
	padding: 50px;
	font-size: 1.1em;
	line-height: 1.3;
}

.events-footer h2 {
	font-weight: 400;
	font-size: 1.6em;
	text-transform: uppercase;
	color: #cc4105;
	margin-bottom: 1.1em;
}

.events-footer h3 {
	font-size: 1.3em;
	margin-bottom: 0.5em;
}

.events-footer p:last-of-type {
	margin-bottom: 0;
}

/* Single Event */

#tribe-events-content.tribe-events-single {
	width: 100%;
	margin: 0 auto;
	margin-bottom: 5vh;
	background: #fff;
	padding: 50px;
	font-size: 1.1em;
	line-height: 1.3;
}

#tribe-events-content.tribe-events-single .tribe-events-event-image {
	width: auto;
	max-width: 49%;
	display: inline-block;
}

#tribe-events-content.tribe-events-single .tribe-events-content {
	width: auto;
	text-align: center;
}

#tribe-events-content.tribe-events-single .has-post-thumbnail .tribe-events-content {
	width: 49%;
	display: inline-block;
	padding-left: 50px;
}

.single #tribe-events-content.tribe-events-single .tribe-events-event-image {
	max-width: 100%;
	display: block;
	margin: 0 auto;
	margin-bottom: 2em;
	text-align: center;
}
.single #tribe-events-content.tribe-events-single .has-post-thumbnail .tribe-events-content {
	width: 100%;
	max-width: 100%;
	display: block;
	padding-left: 0;
	margin: 0 auto;
	margin-bottom: 4em;
	text-align: left;
}
.single #tribe-events-content.tribe-events-single .tribe-events-schedule {
	text-align: center;
}

h1.tribe-events-single-event-title {
	font-family: 'Josefin Sans', Arial Narrow, sans-serif;
	font-size: 2.2em !important;
	color: #cc4105;
	width: auto !important;
	display: table !important;
	margin: 0 auto !important;
}

h1.tribe-events-single-event-title::after {
	content: "";
	display: block;
	margin: 0 auto;
	border-top: 2px solid #000;
	margin-top: 0.5em;
	padding-top: 1em;
	width: 65%;
}

#tribe-events-content.tribe-events-single .tribe-events-schedule {
	margin: 0 auto !important;
	margin-bottom: 2em !important;
}

#tribe-events-content.tribe-events-single h2 {
	margin: 0 auto !important;
	margin-bottom: 0.3em !important;
}

#tribe-events-content.tribe-events-single p {
	font-size: 1.2em;
	line-height: 1.5;
}





/************** SOCIAL TOOLS **************/

.menuOverlay a.button-socicon { color: #ddd4ba; display: inline-block; padding: 0 3px; }
.menuOverlay a.button-socicon:hover { color: #cc4105; }

.box .socialicons {
	margin: 0.5em auto;
}

.box .socialicons a.button-socicon {
	display: inline-block;
	padding: 0 3px;
	font-size: 1.5rem !important;
}


.sharing-tools {
	display: none;
	position: fixed;
	z-index: 99999;
	top: 0;
	left: 0;
	height: 100vh;
	width: 100vw;
	padding: 30px;
	background-color: rgba(255, 255, 255, 0.95);
	text-align: center;
	line-height: 1.3;
	transition: opacity 0.3s;
}

.sharing-tools .sharing-tools-inner {
	position: absolute;
	z-index: 99999;
	top: 50%;
	/*left: 50%;*/
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: auto;
	max-width: 90%;
	padding: 5vw;
}

.sharing-tools i,
.sharing-tools .icon.share {
	font-size: 52px;
}

.sharing-tools a {
	margin: 0 8px;
}

.sharing-tools div {
	display: inline-block;
	vertical-align: middle;
}

.sharing-tools .sharing-box-close i {
	position: absolute;
	top: 30px;
	right: 30px;
	color: #9f9d9d;
	font-size: 32px;
}

.sharing-tools .sharing-box-close i:hover {
	cursor: pointer;
	color: #c92e0a !important;
}

.sharing-tools .sharing-header {
	font-family: 'Josefin Sans', Arial Narrow, sans-serif;
	font-size: 2.4rem;
	color: #000;
	display: block;
}

.sharing-tools a .socicon { color: #cc4105 !important; }

.sharing-tools a .socicon-facebook:hover { color: #45629d !important; }
.sharing-tools a .socicon-twitter:hover { color: #56adf2 !important; }
.sharing-tools a .socicon-pinterest:hover { color: #000 !important; }
.sharing-tools a .socicon-mail:hover { color: #b09977 !important; }

.sharing-toggle {
	background-color: transparent;
	color: #cc4105;
	text-decoration: none;
	text-transform: uppercase;
	cursor: pointer;
}

.sharing-toggle:hover {
	color: #a41600;
}


/************** END SOCIAL TOOLS **************/



/************** MODALS & OVERLAYS **************/

.modal {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: calc(100vh - 32px);
	z-index: 99999;
	background: rgba(0, 0, 0, 0.8);
	color: #fff;
}

.modal .modal-inner {
	margin: 0 auto;
	padding: 10vw;
	text-align: center;
	position: relative;
}

.modal .modal-close {
	position: absolute;
	top: 20px;
	right: 20px;
	z-index: 99999;
	padding: 10px;
	text-align: center;
	background: rgba(0, 0, 0, 0.7);
	border: 2px solid #b09977;
	border-radius: 60px;
	font-size: 1.8em;
	line-height: 0.8;
	color: #ddd4ba;
	cursor: pointer;
}

.modal .modal-close:hover {
	border: 2px solid #fff;
	color: #fff;
}

.admin-bar .modal .modal-close {
	top: 52px;
}

.modal .modal-inner h3 {
	font-family: 'Cinzel', 'Georgia', serif;
	font-weight: 400;
	font-size: 3em;
	text-transform: uppercase;
	width: auto;
	margin: 0 auto;
	margin-bottom: 1em;
	color: #fff;
}


/**** THEME SWITCHER ****/

footer .style-switcher {
	display: inline-block;
}



/************** FORMS **************/

input {
	line-height: normal;
}

button,
button[disabled]:hover,
button[disabled]:focus,
input[type="button"],
input[type="button"][disabled]:hover,
input[type="button"][disabled]:focus,
input[type="reset"],
input[type="reset"][disabled]:hover,
input[type="reset"][disabled]:focus,
input[type="submit"],
input[type="submit"][disabled]:hover,
input[type="submit"][disabled]:focus {
	background: #cc4105;
	border: 0;
	/*border-radius: 2px;*/
	color: #fff;
	font-family: Montserrat, "Helvetica Neue", sans-serif;
	letter-spacing: 0.046875em;
	line-height: 1;
	padding: 0.84375em 0.875em 0.78125em;
	text-transform: uppercase;
}

button:hover,
button:focus,
input[type="button"]:hover,
input[type="button"]:focus,
input[type="reset"]:hover,
input[type="reset"]:focus,
input[type="submit"]:hover,
input[type="submit"]:focus {
	background: #b09977;
}

button:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus {
	outline: thin dotted;
	outline-offset: -4px;
}

input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="week"],
input[type="month"],
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="number"],
textarea {
	background: #f7f7f7;
	background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0));
	border: 1px solid #d1d1d1;
	border-radius: 2px;
	color: #686868;
	padding: 0.625em 0.4375em;
	width: 100%;
}

input[type="date"]:focus,
input[type="time"]:focus,
input[type="datetime-local"]:focus,
input[type="week"]:focus,
input[type="month"]:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
textarea:focus {
	background-color: #fff;
	border-color: #007acc;
	color: #1a1a1a;
	outline: 0;
}

.post-password-form {
	margin-bottom: 1.75em;
}

.post-password-form label {
	color: #686868;
	display: block;
	font-family: Montserrat, "Helvetica Neue", sans-serif;
	font-size: 13px;
	font-size: 0.8125rem;
	letter-spacing: 0.076923077em;
	line-height: 1.6153846154;
	margin-bottom: 1.75em;
	text-transform: uppercase;
}

.post-password-form input[type="password"] {
	margin-top: 0.4375em;
}

.post-password-form > :last-child {
	margin-bottom: 0;
}

.search-form {
	position: relative;
}

input[type="search"].search-field {
	border-radius: 2px 0 0 2px;
	width: -webkit-calc(100% - 42px);
	width: calc(100% - 42px);
}

.search-submit:before {
	content: "\f400";
	font-size: 24px;
	left: 2px;
	line-height: 42px;
	position: relative;
	width: 40px;
}

.search-submit {
	border-radius: 0 2px 2px 0;
	bottom: 0;
	overflow: hidden;
	padding: 0;
	position: absolute;
	right: 0;
	top: 0;
	width: 42px;
}


/** Gravity Forms **/

.gform_wrapper.contact-form_wrapper {
	margin-top: 0 !important;
	font-size: 1rem;
}

.gform_wrapper .top_label .gfield_label {
	margin-top: 1.5em !important;
	margin-bottom: 0 !important;
}

.contact-form .gform_heading {
	display: none !important;
	margin-bottom: 0 !important;
}

.contact-form .gfield_label {
	display: none !important;
}

.gform_wrapper.contact-form_wrapper .top_label input.large {
	width: 100% !important;
}

.contact-form .name_first {
	width: 100% !important;
	margin-right: 0 !important;
	min-height: 0 !important;
}

.gform_wrapper.contact-form_wrapper .ginput_complex input[type="text"],
.gform_wrapper.contact-form_wrapper .top_label textarea.textarea {
	width: 100% !important;
}

.contact-form .name_first label {
	display: none !important;
}

.gform_wrapper.contact-form_wrapper .gform_footer input.button,
.gform_wrapper.contact-form_wrapper .gform_footer input[type="submit"] {
	float: right;
}

.contact-form #field_1_5 .gfield_label {
	display: block !important;
}

.gform_wrapper.contact-form_wrapper.gf_browser_gecko ul.gform_fields li.gfield select {
	color: #000;
}

.gforms_confirmation_message {
	color: #000 !important;
}



/**** Galleries ****/

.gallery {
	margin: 0 -1.1666667% 1.75em;
}

.gallery-item {
	display: inline-block;
	max-width: 33.33%;
	padding: 0 1.1400652% 2.2801304%;
	text-align: center;
	vertical-align: top;
	width: 100%;
}

.gallery-columns-1 .gallery-item {
	max-width: 100%;
}

.gallery-columns-2 .gallery-item {
	max-width: 50%;
}

.gallery-columns-4 .gallery-item {
	max-width: 25%;
}

.gallery-columns-5 .gallery-item {
	max-width: 20%;
}

.gallery-columns-6 .gallery-item {
	max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
	max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
	max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
	max-width: 11.11%;
}

.gallery-icon img {
	margin: 0 auto;
}

.gallery-caption {
	color: #686868;
	display: block;
	font-size: 13px;
	font-size: 0.8125rem;
	font-style: italic;
	line-height: 1.6153846154;
	padding-top: 0.5384615385em;
}

.gallery-columns-6 .gallery-caption,
.gallery-columns-7 .gallery-caption,
.gallery-columns-8 .gallery-caption,
.gallery-columns-9 .gallery-caption {
	display: none;
}





/***** Media Queries *****/

@-ms-viewport {
	width: device-width;
}

@viewport {
	width: device-width;
}


@media (max-width: 1130px) {

	.home-hero .hero-content {
		width: 85%;
		max-width: none;
	}

	.home-hero .hero-content h1 {
		white-space: normal;
	}
	
	.home .site-header .site-branding .logo {
		max-width: 200px;
	}

	.home .section.boxes {
		padding: 2vw 1vw;
	}

	.boxes .box {
		/*padding: 12px;*/
	}

	.boxes.split1-2 .box {
	}
	
	.boxes.split1-2 .box.dbl {
		width: 40vw;
	}

	.boxes.split1-1 .box.dbl {
		width: 98%;
		margin: 0 auto;
		margin-bottom: 2vw;
	}

	.boxes .box.dbl:last-of-type {
		margin-bottom: 0px;
	}

	.blackbox {
		left: 5vw;
		width: 55vw;
	}

	.home .section.boxes.split1-1 {
		display: block;
	}
	
	.menus .menus-content {
		left: 5vw;
		width: 50vw;
	}

	.menus .menus-header {
		width: 45vw;
	}

	.section.reviews .review-quote {
		margin-top: 0;
	}


}

@media (max-width: 1030px) {

	.section.reviews .review-quote {
		font-size: 2.2rem;
	}

}




@media (max-width: 950px) {

	.home .section.boxes.split1-2 {
		flex-wrap: wrap;
	}

	.home .boxes.split1-2 .box {
		width: 45vw;
	}
	
	.home .boxes.split1-2 .box.dbl {
		width: 98%;
		margin: 0 auto;
		margin-bottom: 2vw;
		flex-grow: unset;
	}

	.home .boxes.split1-2 .box:not(:first-child) {
		flex: 1;
	}

	.home .section.home-about .boxleft {
		width: 100%;
	}

	.section.contact {
		height: auto;
		padding: 3vw;
		display: block
	}
	
	.section.contact .split {
		flex-grow: unset;
		flex-basis: unset;
		width: 100%;
		height: auto;
	}

	.section.contact .contact-info,
	.section.contact .contact-map {
		width: 100%;
		float: none;
		margin: 0 auto;
		padding: 0;
	}

	.section.contact .contact-info {
		margin-bottom: 3vw;
	}

	.section.contact .contact-map {
		height: 70vh;
	}

	.boxes .box .contentonly p {
		font-size: 1.3rem;
	}


}


@media (max-width: 800px) {

	h1 { font-size: 2.6em; }

	.menus .menus-header ul li {
		font-size: 1rem;
	}

	.page-template-page-contact article .entry-header {
		float: none;
		width: 100%;
		padding: 0;
		padding-bottom: 30px;
		max-width: none;
		margin-top: 20vh;
	}

	.page-template-page-contact article .blackbox {
		float: none;
		position: relative;
		width: 80%;
		height: auto;
		max-height: none;
		top: unset;
		left: unset;
		margin: 0 auto;
	}

	.sharing-tools i, .sharing-tools .icon.share {
		font-size: 2em;
	}

}


@media (max-height: 750px) {		/* height-based */

	.home-hero .hero-content h1 {
		font-size: 2rem;
	}

	.blackbox,
	article .blackbox {
		top: 15vh;
		max-height: 70vh;
	}
	
	.section.reviews .blackbox {
		height: 80vh;
		max-height: none;
	}
		
	.section.reviews .review-quote {
		font-size: 2.2rem;
	}

	.blackbox.full {
		top: 15vh;
	}

	.blog .blog-header, .blog .page-header {
		margin-top: 20vh;
	}

}

@media (max-height: 500px) {		/* height-based */

	.blackbox,
	article .blackbox {
		max-height: 50vh;
	}

	.page-template-page-light article .entry-content {
		margin-top: 15vh;
	}
	

}

@media (max-width: 700px) {

	.menuOverlay .menu-header .menu-logo img {
		max-width: 100%;
	}
		
	.menuOverlay .col {
		max-width: 48vw;
	}
		
	.menuOverlay .main-navigation.main-nav {
		font-size: 1.3rem;
	}

	.menuOverlay .menuOverlay-inner {
		margin-top: 3vh;
	}

	.home-hero .hero-content {
		padding: 20px;
		width: 90%;
	}

	.home-about {
		padding: 10vw;
	}

	.site-footer .site-info,
	.site-footer .footer-menu {
		float: none;
		width: 100%;
		text-align: center;
	}

	.site-footer .site-info {
		padding-bottom: 1em;
	}
	
	.blackbox,
	article .blackbox {
		float: none;
		position: relative;
		/*top: unset;*/
		left: unset;
		width: 90%;
		margin: 0 auto;
		padding: 7vw;
	}
	
	article .blackbox {
		height: auto;
		min-height: 60vh;
		max-height: none;
		margin-bottom: 15vh;
	}

	.blackbox.full {
		top: 15vh;
	}

	.menus .menus-header {
		float: none;
		position: relative;
		top: unset;
		right: unset;
		width: 100%;
		margin-top: 100px;
		text-shadow: 0px 0px 8px rgba( 0, 0, 0, 0.5 );
	}

	.home	.menus .menus-header {
		margin-top: 10vh;
	}

	.menus .menus-content {
		float: none;
		position: relative;
		top: unset;
		left: unset;
		width: 90%;
		height: 60vh;
		margin: 0 auto;
	}

	article.menus .menus-header {
		width: 100%;
	}

	.menus .menus-header h1,
	.menus .menus-header .menus-nav {
	}

	.page-template-page-light article .entry-content {
		margin-top: 15vh;
	}
		
}


@media (max-width: 650px) {

	.home .hero-content .address {
		font-size: 0.8rem;
	}
	.home .hero-content .address .location_hours {
		display: none;
	}

	.home .boxes.split1-2 .box,
	.home .boxes.split1-2 .box.dbl {
		width: 98%;
		margin: 0 auto;
		margin-bottom: 2vw;
		flex: unset;
		flex-grow: unset;
	}
	
	.home .boxes.split1-2 .box:not(:first-child) {
		flex: unset;
	}

	.home .boxes .box.dbl h3 {
		display: table;
		margin: 0 auto;
		padding-right: 0;
		font-size: 1.6em;
		width: auto;
	}

	.boxes .box.dbl h3::after {
		content: "";
		display: block;
		margin: 0 auto;
		border-top: 2px solid #000;
		margin-top: 0.5em;
		padding-top: 1em;
		width: 65%;
	}
	
	.boxes .box.dbl .sep {
		display: none;
	}

	.boxes .box .contentonly h3.widget-title {
		display: none;
	}

	.boxes .box .contentonly,
	.boxes .box.dbl .details {
		display: block;		
		width: auto;
		padding-left: 0;
	}
	
	#tribe-events .tribe-events-title-bar {
		margin-bottom: 1em !important;
	}
	
	#tribe-bar-views {
		display: none;
	}
	
	.tribe-events-loop.boxes .box {
		display: block;
	}
	.tribe-events-loop .tribe-events-content {
		float: none;
	}

	.tribe-events-loop.boxes .tribe-events-event-header,
	.tribe-events-list .tribe-events-loop.boxes .tribe-events-content {
		width: 100%;
	}
	
	.tribe-events-loop.boxes .sep {
		display: none;
	}
	
	.sharing-tools .sharing-tools-inner {
		width: 100%;
		max-width: none;
	}

	.modal .modal-inner {
		padding-top: 20vh;
	}

	.modal .modal-inner h3 {
		font-size: 2.4em;
	}

}



@media (max-width: 500px) {

	.menuOverlay .navHeader,
	.menuOverlay .menu-divider {
		display: none;
	}
	
	.menuOverlay .mainNav {
		width: 100%;
	}

	.menuOverlay .col {
		max-width: 90%;
	}

	.menuOverlay .main-navigation.main-nav {
		padding-left: 0;
		text-align: center;
	}

	.home-hero .hero-content {
		bottom: 30vh;
	}

	.home-hero .hero-content h1 {
		font-size: 1.6rem;
	}
	
	.section.reviews .review-quote {
		font-size: 1.8rem;
		padding: 10vw;
		padding-bottom: 0;
	}

	.blackbox .entry-header {
		margin-bottom: 1.5em;
	}

	.blackbox .entry-header h1 {
		font-size: 1.8rem;
	}

	article .entry-header {
		font-size: 0.9em;
	}

	.tribe-events-page-title {
		font-size: 1.8em !important;
	}

	.blackbox.full .entry-header h1 {
		font-size: 1.8rem;
	}

	.modal .modal-inner h3 {
		font-size: 2.2em;
	}

}



@media (max-width: 900px) and (min-width: 801px)  {

}

