/* ---------------------------------------------------------------------------------------------

	Theme Name: Tak
	Text Domain: tak
	Version: 1.00
	Description: Startertema för Tak.
	Author: Divide & Conquer
	Author URI: https://divideconquer.se


/* ---------------------------------------------------------------------------------------------


	Terms of Content

	0.	CSS Reset
	1.	Document Setup
	2.  Element Base
	3.	Helper Classes
	X.	Site Header
	X.  Sub Page
	X.  Template: [Page Template Name]
	X.	[Post Type]: Archive
	X.	[Post Type]: Single
	X.	Entry Content
	X.	Comments
	X.	Site Pagination
	X.	Site Footer
	X.	Media Queries


/* --------------------------------------------------------------------------------------------- */


/* --------------------------------------------------------------------------------------------- */
/*	0. CSS Reset
/* --------------------------------------------------------------------------------------------- */


html, body {
	border: none;
	margin: 0;
	padding: 0;
}

body {
	width: 100%;
}

h1, h2, h3, h4, h5, h6, p, blockquote, address, big, cite, code, em, font, img, small, strike, sub, sup, li, ol, ul, fieldset, form, label, legend, button, table, caption, tr, th, td {
	border: none;
	color: inherit;
	font-size: 100%;
	font-style: normal;
	font-weight: normal;
	line-height: 1;
	margin: 0;
	padding: 0;
	text-align: left;
}

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


/* --------------------------------------------------------------------------------------------- */
/*	1. Document Setup
/* --------------------------------------------------------------------------------------------- */


html {
	font-size: 62.5%; /* 1rem = 10px */
}

body {
	background: #fff;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
	box-sizing: border-box;
	color: #003F23;
	font-family: 'futura-pt', sans-serif;
	font-size: 1.6rem; 
}

*,
*:before,
*:after {
		-webkit-box-sizing: inherit;
		-moz-box-sizing: inherit;
	box-sizing: inherit;
	-webkit-font-smoothing: antialiased;
}

::selection {
	background: #2D3741;
	color: #fff;
}


/* Clearing ---------------------------------- */


.group:after,
.entry-content:after {
	clear: both;
	content: "";
	display: block;
}


/* Base Transitions ------------------------------- */



/* Screen Reader Text ------------------------ */


.screen-reader-text {
	clip: rect( .1rem, .1rem, .1rem, .1rem );
	height: .1rem;
	overflow: hidden;
	position: absolute !important;
		left: -999999rem;
	width: .1rem;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: .3rem;
	box-shadow: 0 0 .2rem .2rem rgba( 0, 0, 0, 0.6 );
	clip: auto !important;
	display: block;
	font-size: 1.4rem;
	font-weight: 700;
	height: auto;
	left: .5rem;
	line-height: normal;
	padding: 1.5rem 2.3rem 1.4rem 2.3rem;
	text-decoration: none;
	top: .5rem;
	width: auto;
	z-index: 100000;
}


/* --------------------------------------------------------------------------------------------- */
/*	2. Element Base
/* --------------------------------------------------------------------------------------------- */


*:first-child { margin-top: 0; }
*:last-child { margin-bottom: 0; }


h1, h2, h3, h4, h5, h6 {
	letter-spacing: -0.015em;
}

p {
	line-height: 1.5;
	margin: 0 0 1.25em 0;
}

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

b,
strong {
	font-weight: 700;
}

ins {
	text-decoration: underline;
}

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

sup { top: -0.5em; }
sub { bottom: -0.25em; }

abbr,
acronym {
	cursor: help;
}

address {
	margin: 0 0 2rem 0;
}

hr {
	border: none;
	border-top: .1rem solid rgba( 0, 0, 0, 0.15 );
	margin: 2em 0;
}

a {
	color: inherit;
}


/* Lists ------------------------------------- */


ul,
ol {
	margin: 0 0 2rem 3rem;
}

ul { list-style: disc; }
ul ul { list-style: circle; }
ul ul ul { list-style: square; }

ol { list-style: decimal; }
ol ol { list-style: lower-alpha; }
ol ol ol { list-style: lower-roman; }

li {
	margin: 1rem 0;
}

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

.reset-list-style,
.reset-list-style ul,
.reset-list-style ol {
	list-style: none;
	margin: 0;
}

.reset-list-style li {
	margin: 0;
}

dt {
	font-weight: 700;
}

dd + dt {
	margin-top: 1.5rem;
}


/* Quotes ------------------------------------ */


blockquote {
	margin: 0;
	padding: 0 0 0 3rem;
}


/* Code -------------------------------------- */


pre {
	overflow: auto;
}

code,
kbd,
pre,
samp {
	background: #F0F1F2;
	border-radius: .2rem;
	font-family: monospace;
	font-size: 1em;
	padding: .4rem .6rem;
}


/* Media ------------------------------------- */


svg,
img,
embed,
iframe,
object {
	display: block;
	height: auto;
	max-width: 100%;
}

div.wp-caption {
	display: block;
	margin-bottom: 3rem;
}

.alignleft,
.alignright {
	margin-bottom: 2rem;
	max-width: 50%;
}

.alignleft {
	float: left;
	margin-right: 2rem;
}

.alignright {
	float: right;
	margin-left: 3rem;
}

.aligncenter,
.alignnone {
	margin: 0 auto;
}

.wp-caption-text {
	margin-top: 1rem;
	text-align: center;
}


/* GALLERIES */

.gallery {
	display: flex;
	flex-wrap: wrap;
	margin: 3em 0 3em -.8em;
	width: calc( 100% + 1.6em );
}

.gallery-item {
	margin: .8em 0;
	padding: 0 .8em;
}

.gallery-item img,
.gallery-item {
	display: block;
	width: 100%;
}

.gallery-caption {
	display: block;
	margin-top: .8em;
}
.wp-block-gallery {
	margin: auto;
}

/* Inputs ------------------------------------ */


label {
	color: #7D8791;
	display: block;
	font-size: 1.5rem;
	margin: 0 0 .5rem 0;
}

input,
select,
textarea,
button {
	font-family: inherit;
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="url"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="week"],
input[type="number"],
input[type="search"],
input[type="tel"],
input[type="color"],
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	background: #fff;
	border: .2rem solid #E1E1E6;
	border-radius: .4rem;
	box-shadow: none;
	display: block;
	font-size: inherit;
	margin: 0;
	max-width: 100%;
	outline: none;
	padding: 1.35rem 1.8rem;
	width: 100%;
}

textarea {
	height: 12rem;
	line-height: 1.5;
	width: 100%;
}

input::-webkit-input-placeholder { color: #919BA5; }
input:-ms-input-placeholder { color: #919BA5 !important; /* Req by IE11 */ }
input::-moz-placeholder { color: #919BA5; }

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

button,
.faux-button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	background: none;
	border: none;
	color: #fff;
	cursor: pointer;
	display: inline-block;
	font-size: 1em;
	margin: 0;
	padding: 1.4rem 2.4rem;
	text-align: center;
	text-decoration: none;
	transition: background-color .15s linear;
}

button:hover,
.faux-button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
button:focus,
.faux-button:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus {
	background: #003F23;
}


/* Tables ------------------------------------ */


table {
	border-collapse: collapse;
	border-spacing: 0;
	empty-cells: show;
	margin-bottom: 3rem;
	max-width: 100%;
	overflow: hidden;
	width: 100%;
}

th,
td {
	line-height: 1.4;
	margin: 0;
	overflow: visible;
	padding: 2.5%;
}

caption {
	border-bottom: .1rem solid #ddd;
	font-weight: 700;
	padding-bottom: 2.5%;
	text-align: center;
}

thead {
	vertical-align: bottom;
	white-space: nowrap;
}

th {
	border-bottom: .1rem solid #ddd;
	font-weight: 700;
}

tbody > tr:nth-child(even) {
	background-color: #f6f6f6;
}


/* --------------------------------------------------------------------------------------------- */
/*	3. Helper Classes
/* --------------------------------------------------------------------------------------------- */


/* Layout ------------------------------- */


.display-block { display: block; }
.display-inline { display: inline; }

.no-margin { margin: 0; }
.no-padding { padding: 0; }

.screen-height {
	min-height: 100vh;
}

.screen-width {
	position: relative;
		left: calc( 50% - 50vw );
	width: 100vw;
}

.center-vertically {
	align-items: center;
	display: flex;
	justify-content: center;
}

.no-scrollbars::-webkit-scrollbar { display: none; }

.scroll-lock {
	position: fixed;
}

/* Sections ------------------------------- */

section {
	padding: 4rem 0;
	width: 100%;	
}

.section-inner {
	margin: 0 auto;
	max-width: 168rem;
	width: calc( 100% - 5rem );
}

.section-inner.max-percentage {
	width: 100%;
}

.thin { max-width: 58rem; } /* Should match the entry-content width (and $content_width variable) */
.section-inner.small { max-width: 80rem; }
.section-inner.medium { max-width: 92.2rem; }

.section-inner.no-margin { margin: 0; }


/* Toggles ------------------------------- */

.toggle {
	-moz-appearance: none;
	-webkit-appearance: none;
	background: none;
	cursor: pointer;
	padding: 0;
	position: relative;
		-webkit-touch-callout: none;
		-webkit-user-select: none;
		-khtml-user-select: none;
		-moz-user-select: none;
		-ms-user-select: none;
	user-select: none;
}

.cover-toggle {
	opacity: 0;
	position: fixed;
		bottom: 0;
		left: -99999rem;
		right: 99999rem;
		top: 0;
	transition: opacity .4s linear, left 0s .4s, right 0s .4s;
	z-index: 9;
}

.cover-toggle.active {
	left: 0;
	opacity: 1;
	right: 0;
	transition: opacity .4s linear;
}

.cover-toggle.short-transition { transition: opacity .2s linear, left 0s .2s, right 0s .2s; }
.cover-toggle.short-transition.active { transition: opacity .2s linear; }


/* Padding Helpers ------------------------------- */

.mpad-u-0, .mpad-v-0 { padding-top: 0; }
.mpad-d-0, .mpad-v-0 { padding-bottom: 0; }
.mpad-l-0, .mpad-h-0 { padding-left: 0; }
.mpad-r-0, .mpad-h-0 { padding-right: 0; }
.mpad-all-0 { padding: 0; }

.mpad-u-5, .mpad-v-5 { padding-top: 0.5rem; }
.mpad-d-5, .mpad-v-5 { padding-bottom: 0.5rem; }
.mpad-l-5, .mpad-h-5 { padding-left: 0.5rem; }
.mpad-r-5, .mpad-h-5 { padding-right: 0.5rem; }
.mpad-all-5 { padding: 0.5rem; }

.mpad-u-6, .mpad-v-6 { padding-top: 0.6rem; }
.mpad-d-6, .mpad-v-6 { padding-bottom: 0.6rem; }
.mpad-l-6, .mpad-h-6 { padding-left: 0.6rem; }
.mpad-r-6, .mpad-h-6 { padding-right: 0.6rem; }
.mpad-all-6 { padding: 0.6rem; }

.mpad-u-10, .mpad-v-10 { padding-top: 1rem; }
.mpad-d-10, .mpad-v-10 { padding-bottom: 1rem; }
.mpad-l-10, .mpad-h-10 { padding-left: 1rem; }
.mpad-r-10, .mpad-h-10 { padding-right: 1rem; }
.mpad-all-10 { padding: 1rem; }

.mpad-u-15, .mpad-v-15 { padding-top: 1.5rem; }
.mpad-d-15, .mpad-v-15 { padding-bottom: 1.5rem; }
.mpad-l-15, .mpad-h-15 { padding-left: 1.5rem; }
.mpad-r-15, .mpad-h-15 { padding-right: 1.5rem; }
.mpad-all-15 { padding: 1.5rem; }

.mpad-u-16, .mpad-v-16 { padding-top: 1.6rem; }
.mpad-d-16, .mpad-v-16 { padding-bottom: 1.6rem; }
.mpad-l-16, .mpad-h-16 { padding-left: 1.6rem; }
.mpad-r-16, .mpad-h-16 { padding-right: 1.6rem; }
.mpad-all-16 { padding: 1.6rem; }

.mpad-u-18, .mpad-v-18 { padding-top: 1.8rem; }
.mpad-d-18, .mpad-v-18 { padding-bottom: 1.8rem; }
.mpad-l-18, .mpad-h-18 { padding-left: 1.8rem; }
.mpad-r-18, .mpad-h-18 { padding-right: 1.8rem; }
.mpad-all-18 { padding: 1.8rem; }

.mpad-u-19, .mpad-v-19 { margin-top: 1.9rem; }
.mpad-d-19, .mpad-v-19 { margin-bottom: 1.9rem; }
.mpad-l-19, .mpad-h-19 { margin-left: 1.9rem; }
.mpad-r-19, .mpad-h-19 { margin-right: 1.9rem; }
.mpad-all-19 { margin: 1.9rem; }

.mpad-all-20 { padding: 2rem; }
.mpad-u-20, .mpad-v-20 { padding-top: 2rem; }
.mpad-d-20, .mpad-v-20 { padding-bottom: 2rem; }
.mpad-l-20, .mpad-h-20 { padding-left: 2rem; }
.mpad-r-20, .mpad-h-20 { padding-right: 2rem; }

.mpad-u-23, .mpad-v-23 { padding-top: 2.3rem; }
.mpad-d-23, .mpad-v-23 { padding-bottom: 2.3rem; }
.mpad-l-23, .mpad-h-23 { padding-left: 2.3rem; }
.mpad-r-23, .mpad-h-23 { padding-right: 2.3rem; }
.mpad-all-23 { padding: 2.3rem; }

.mpad-u-25, .mpad-v-25 { padding-top: 2.5rem; }
.mpad-d-25, .mpad-v-25 { padding-bottom: 2.5rem; }
.mpad-l-25, .mpad-h-25 { padding-left: 2.5rem; }
.mpad-r-25, .mpad-h-25 { padding-right: 2.5rem; }
.mpad-all-25 { padding: 2.5rem; }

.mpad-u-26, .mpad-v-26 { padding-top: 2.6rem; }
.mpad-d-26, .mpad-v-26 { padding-bottom: 2.6rem; }
.mpad-l-26, .mpad-h-26 { padding-left: 2.6rem; }
.mpad-r-26, .mpad-h-26 { padding-right: 2.6rem; }
.mpad-all-26 { padding: 2.6rem; }

.mpad-u-30, .mpad-v-30 { padding-top: 3rem; }
.mpad-d-30, .mpad-v-30 { padding-bottom: 3rem; }
.mpad-l-30, .mpad-h-30 { padding-left: 3rem; }
.mpad-r-30, .mpad-h-30 { padding-right: 3rem; }
.mpad-all-30 { padding: 3rem; }

.mpad-u-40, .mpad-v-40 { padding-top: 4rem; }
.mpad-d-40, .mpad-v-40 { padding-bottom: 4rem; }
.mpad-l-40, .mpad-h-40 { padding-left: 4rem; }
.mpad-r-40, .mpad-h-40 { padding-right: 4rem; }
.mpad-all-40 { padding: 4rem; }

.mpad-u-45, .mpad-v-45 { padding-top: 4.5rem; }
.mpad-d-45, .mpad-v-45 { padding-bottom: 4.5rem; }
.mpad-l-45, .mpad-h-45 { padding-left: 4.5rem; }
.mpad-r-45, .mpad-h-45 { padding-right: 4.5rem; }
.mpad-all-45 { padding: 4.5rem; }

.mpad-u-46, .mpad-v-46 { padding-top: 4.6rem; }
.mpad-d-46, .mpad-v-46 { padding-bottom: 4.6rem; }
.mpad-l-46, .mpad-h-46 { padding-left: 4.6rem; }
.mpad-r-46, .mpad-h-46 { padding-right: 4.6rem; }
.mpad-all-46 { padding: 4.6rem; }

.mpad-u-50, .mpad-v-50 { padding-top: 5rem; }
.mpad-d-50, .mpad-v-50 { padding-bottom: 5rem; }
.mpad-l-50, .mpad-h-50 { padding-left: 5rem; }
.mpad-r-50, .mpad-h-50 { padding-right: 5rem; }
.mpad-all-50 { padding: 6rem; }

.mpad-u-60, .mpad-v-60 { padding-top: 6rem; }
.mpad-d-60, .mpad-v-60 { padding-bottom: 6rem; }
.mpad-l-60, .mpad-h-60 { padding-left: 6rem; }
.mpad-r-60, .mpad-h-60 { padding-right: 6rem; }
.mpad-all-60 { padding: 6rem; }

.mpad-u-70, .mpad-v-70 { padding-top: 7rem; }
.mpad-d-70, .mpad-v-70 { padding-bottom: 7rem; }
.mpad-l-70, .mpad-h-70 { padding-left: 7rem; }
.mpad-r-70, .mpad-h-70 { padding-right: 7rem; }
.mpad-all-70 { padding: 7rem; }

.mpad-u-80, .mpad-v-80 { padding-top: 8rem; }
.mpad-d-80, .mpad-v-80 { padding-bottom: 8rem; }
.mpad-l-80, .mpad-h-80 { padding-left: 8rem; }
.mpad-r-80, .mpad-h-80 { padding-right: 8rem; }
.mpad-all-80 { padding: 8rem; }


/* Grid Structure ------------------------------- */

.grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}

.grid .grid {
	margin-left: 0;
	width: 100%;
}

.grid .grid:last-child {
	margin-bottom: 0;
}

.grid {
	margin: 0 0 -3rem -1rem;
}

.grid + .grid { margin-top: 3rem; }

.grid-align-baseline { align-items: baseline; }
.grid-align-bottom { align-items: flex-end; }
.grid-align-top { align-items: flex-start; }

.grid .grid-item {
	margin: 0 0 3rem 1rem;
	width: calc( 100% - 1rem );
}

.grid.mcols-2 > .grid-item { width: calc( 50% - 1rem ); }

.grid.no-hgutter > .grid-item { width: 100%; }
.grid.mcols-2.no-hgutter > .grid-item { width: 50%; }

.grid.no-vgutter,
.grid.no-vgutter .grid-item {
	margin-bottom: 0;
}

.grid.no-hgutter,
.grid.no-hgutter .grid-item {
	margin-left: 0;
}

.grid.match-gutter { margin-bottom: -1rem; }
.grid.match-gutter + .grid.match-gutter { margin-top: 1rem; }
.grid.match-gutter .grid-item { margin-bottom: 1rem; }


/* Hiding and showing ------------------------------- */

.hide-mobile { display: none; }
.show-mobile { display: initial; }

.show-no-js { display: none; }
.no-js .show-no-js { display: initial; }

.no-js .hide-no-js { display: none !important; }


/* Typography ------------------------------- */

.font-default { font-family: 'futura-pt' sans-serif; }
.font-mono { font-family: monospace; }
.font-whatever { font-family: 'Whatever', sans-serif; }

.font-size-xl { font-size: 1.25em; }
.font-size-xs { font-size: 0.8em; }

.style-italic { font-style: italic; }

.weight-black { font-weight: 900; }
.weight-bold { font-weight: 700; }
.weight-semibold { font-weight: 600; }
.weight-medium { font-weight: 500; }
.weight-regular { font-weight: 400; }
.weight-light { font-weight: 300; }
.weight-thin { font-weight: 200; }
.weight-hairline { font-weight: 100; }

.text-align-inherit { text-align: inherit; }
.text-align-left { text-align: left; }
.text-align-center { text-align: center; }
.text-align-right { text-align: right; }

.lspacing-incr-5 { letter-spacing: 0.10em; }
.lspacing-incr-4 { letter-spacing: 0.08em; }
.lspacing-incr-3 { letter-spacing: 0.06em; }
.lspacing-incr-2 { letter-spacing: 0.04em; }
.lspacing-incr-1 { letter-spacing: 0.02em; }

.lspacing-decr-1 { letter-spacing: -.01em; }
.lspacing-decr-2 { letter-spacing: -.02em; }
.lspacing-decr-3 { letter-spacing: -.04em; }
.lspacing-decr-4 { letter-spacing: -.06em; }
.lspacing-decr-5 { letter-spacing: -.08em; }

.line-height-single { line-height: 1; }
.line-height-title { line-height: 1.25; }
.line-height-paragraph { line-height: 1.5; }

.text-decoration-none { text-decoration: none; }
.text-decoration-underline,
.text-decoration-hover-underline:hover { text-decoration: underline; }

.text-decoration-underline-none {
	text-decoration: none;
}

.text-shadow-dark { text-shadow: 0 .1rem 0 rgba( 0, 0, 0, 0.25 ); }

.lining-numerals {
	font-feature-settings: "lnum";
	font-variant-numeric: lining-nums;
}

.slashed-zero {
	font-feature-settings: "zero";
	font-variant-numeric: slashed-zero;
}

.smallcaps {
	font-variant-caps: small-caps;
	text-transform: lowercase;
}

.transform-uppercase {
	text-transform: uppercase;
}

.no-select {
		-webkit-touch-callout: none;
		-webkit-user-select: none;
		-khtml-user-select: none;
		-moz-user-select: none;
		-ms-user-select: none;
	user-select: none;
}


/* Text sizes ------------------------------------- */

.mfs-inherit { font-size: inherit; }

.mfs-10 { font-size: 1.0rem; }
.mfs-11 { font-size: 1.1rem; }
.mfs-12 { font-size: 1.2rem; }
.mfs-13 { font-size: 1.3rem; }
.mfs-14 { font-size: 1.4rem; }
.mfs-15 { font-size: 1.5rem; }
.mfs-16 { font-size: 1.6rem; }
.mfs-17 { font-size: 1.7rem; }
.mfs-18 { font-size: 1.8rem; }
.mfs-19 { font-size: 1.9rem; }
.mfs-20 { font-size: 2.0rem; }
.mfs-21 { font-size: 2.1rem; }
.mfs-22 { font-size: 2.2rem; }
.mfs-24 { font-size: 2.4rem; }
.mfs-25 { font-size: 2.5rem; }
.mfs-28 { font-size: 2.8rem; }
.mfs-30 { font-size: 3.0rem; }
.mfs-32 { font-size: 3.2rem; }
.mfs-34 { font-size: 3.4rem; }
.mfs-36 { font-size: 3.6rem; }
.mfs-40 { font-size: 4.0rem; }
.mfs-48 { font-size: 4.8rem; }
.mfs-64 { font-size: 6.4rem; }

/* Text Columns ------------------------------- */

.text-cols-m-2 { columns: 2 2rem; }


/* Position ------------------------------- */

.position-static { position: static !important; }
.position-relative { position: relative; }
.position-absolute { position: absolute; }

.position-cover {
	position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		top: 0;
}

.z-level-1 { z-index: 9; }
.z-level-2 { z-index: 99; }
.z-level-3 { z-index: 999; }
.z-level-4 { z-index: 9999; }
.z-level-5 { z-index: 99999; }


/* Colors ------------------------------- */

/* TEXT COLOR */

.color-white,
.color-white-hover:hover { color: #FFF; }

.color-gray,
.color-gray-hover:hover { color: #91969B; }
.color-dark-gray,
.color-dark-gray-hover:hover { color: #7D8791; }
.color-black,
.color-black-hover:hover { color: #152025; }

.color-accent,
.color-accent-hover:hover { color: #003F23; }
.color-accent-dark,
.color-accent-dark-hover:hover { color: #003F23; }

.color-inherit { color: inherit; }


/* BACKGROUND COLOR */

.bg-none { background: none; }

.bg-white,
.bg-white-hover:hover { background: #FFF; }
.bg-light-gray,
.bg-light-gray-hover:hover { background: #F5F7F9; }

.bg-gray,
.bg-gray-hover:hover { background: #E8EAEB; }
.bg-dark-gray,
.bg-dark-gray-hover:hover { background: #E8EAEB; }
.bg-black,
.bg-black-hover:hover { background: #152025; }

.bg-accent,
.bg-accent-hover:hover { background: #003F23; }
.bg-accent-dark,
.bg-accent-dark-hover:hover { background: #003F23; }

.bg-gold,
.bg-gold-hover:hover { background: #D6A90B; }
.bg-gold-dark,
.bg-gold-dark-hover:hover { background: #D6A90B; }


/* Pseudo Background --------------------------- */

.pseudo-background:before,
.pseudo-gradient:before {
	content: "";
	display: block;
	position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		top: 0;
}

.pseudo-background:before { background-color: rgba( 0, 0, 0, 0.25 ); }
.pseudo-background.medium:before { background-color: rgba( 0, 0, 0, 0.50 ); }
.pseudo-background.strong:before { background-color: rgba( 0, 0, 0, 0.75 ); }

.pseudo-gradient:before { background: linear-gradient( -180deg, rgba( 0, 0, 0, 0 ) 0%, rgba( 0, 0, 0, 0.25 ) 100% ); }
.pseudo-gradient.medium:before { background: linear-gradient( -180deg, rgba( 0, 0, 0, 0 ) 0%, rgba( 0, 0, 0, 0.50 ) 100% ); }
.pseudo-gradient.strong:before { background: linear-gradient( -180deg, rgba( 0, 0, 0, 0 ) 0%, rgba( 0, 0, 0, 0.75 ) 100% ); }

/* Pseudo bg ------------------------------- */

.pseudo-bg {
	position: relative;
}

.pseudo-bg:before {
	content: "";
	display: block;
	position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		top: 50%;
	z-index: -9;
}

.pseudo-bg-gray:before { background-color: #E8EAEB; }

/* Image Classes ------------------------------- */

.faux-image,
.bg-image,
.no-media {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.bg-contain {
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}

.bg-attachment-fixed {
	background-attachment: fixed;
}

.faux-image,
.no-media {
	position: relative;
	width: 100%;
}

a.faux-image,
a.no-media  {
	display: block;
}

.faux-image:after,
.no-media:after {
	content: "";
	display: block;
	padding-top: 62.5%;
	width: 100%;
}

.faux-image.half:after { padding-top: 100%; }

.no-media.half:after { padding-top: 100%; }

.faux-image.television:after,
.no-media.television:after { padding-top: 56.25%; }

.faux-image.three-quarters:after,
.no-media.three-quarters:after { padding-top: 75%; }

.faux-image.square:after,
.no-media.square:after { padding-top: 100%; }

.faux-image.square-mobile:after,
.no-media.square-mobile:after { padding-top: 100%; }


/* Cover Modal ------------------------------- */

.cover-modal {
	opacity: 0;
	overflow: auto;
	position: fixed;
		bottom: 0;
		left: -9999rem;
		right: 9999rem;
		top: 0;
	transition: opacity .25s ease-in, left 0s .25s, right 0s .25s;
	z-index: 9999;
	background-color: rgba( 0, 63, 35, .60 );
}

.cover-modal.active {
	left: 0;
	right: 0;
	opacity: 1;
	transition: opacity .25s ease-out;
}


/* Breadcrumbs ------------------------------------- */

.breadcrumbs-wrapper {
	overflow: hidden;
	position: relative;
}

.breadcrumbs-inner-wrapper {
	-ms-overflow-style: none;
	overflow: scroll;
	padding: .5rem 0;
}

.breadcrumbs-wrapper:after {
	background-image: linear-gradient( -90deg, #fff 0%, rgba( 255, 255, 255, 0 ) 100% );
	content: "";
	display: block;
	pointer-events: none;
	position: absolute;
		bottom: 0;
		right: 0;
		top: 0;
	width: 4rem;
}

.breadcrumbs {
	align-items: center;
	display: flex;
	line-height: 1;
	white-space: nowrap;
	width: auto;
}

.breadcrumbs li,
.breadcrumbs .sep {
	align-items: inherit;
	display: inherit;
	flex-shrink: 0;
	line-height: inherit;
}

.breadcrumbs li {
	color: rgba( 0, 63, 35, 0.75 );
	font-size: 1.2rem;
	font-weight: 600;
}

.breadcrumbs .sep {
	margin: 0 .8rem;
	opacity: .75;
}

.breadcrumbs a {
	color: inherit;
	text-decoration: none;
}


/* Loading Indicator ------------------------------- */

.loader {
	animation: spin 1.4s linear infinite;
    border: .5rem solid #E1E1E6;
	border-radius: 50%;
    border-top: .5rem solid #919BA5;
    height: 5rem;
	margin: auto;
    width: 5rem;
}

@keyframes spin {
    0% { transform: rotate( 0deg); }
    100% { transform: rotate(360deg); }
}


/* --------------------------------------------------------------------------------------------- */
/*	4. Site Header
/* --------------------------------------------------------------------------------------------- */


#site-header .section-inner {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	justify-content: left;
}

.site-title {
	z-index: 9;
}

.top-menu {
	padding: 2.3rem 0 2.7rem;
}

.top-menu .site-title svg {
	height: 4.9rem;
	width: 12rem;
}

.restaurant-name {
	margin-left: auto;
	margin-right: auto;
	left: 0;
	right: 0;
	top: .5rem;
}

/* Mobile Menu -------------------------------- */

.mobile-menu-wrapper {
	border-right: .1rem solid rgba( 0, 0, 0, .15 );
	display: flex;
	opacity: 0;
	overflow: auto;
	position: fixed;
		bottom: 0;
		left: -9999rem;
		top: 0;
	transition: opacity .15s linear, left 0s .15s;
	width: 100%;
}

.mobile-menu-wrapper.active {
	left: 0;
	opacity: 1;
	transition: opacity .25s linear;
}

.mobile-menu-cover {
	background: #fff;
	position: fixed;
		bottom: 0;
		left: -9999rem;
		right: 9999rem;
		top: 0;
	opacity: 0;
	transition: opacity .35s linear, left 0s .35s, right 0s .35s;
	z-index: 8;
}

.mobile-top-section {
	background: #D6A90B;
	display: none;
	height: 10rem;
    position: fixed;
		left: 0;
		top: 0;
	width: 100%;
	z-index: 9999999;
}

.mobile-menu-wrapper.active .mobile-top-section {
	display: block;
}

.mobile-menu-inner {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 100%;
}

.mobile-menu > li {
    border-top: .1rem solid rgba( 0, 0, 0, .15 );
    width: 100%;
}

.mobile-menu > li:last-child {
	border-bottom: .1rem solid rgba( 0, 0, 0, .15 );
}

.mobile-menu .ancestor-wrapper {
	padding-right: 5rem;
	position: relative;
	width: 100%;
}

.mobile-menu .sub-menu-toggle {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	padding-right: 1.2rem;
	position: absolute;
		bottom: 0;
		right: 0;
		top: 0;
	width: 5rem;
}

.mobile-menu .sub-menu-toggle:hover,
.mobile-menu .sub-menu-toggle:focus {
	background: none;
}

.mobile-menu .sub-menu-toggle.active svg {
	transform: rotate( 180deg );
}

.mobile-menu .sub-menu-toggle svg {
	height: .6rem;
	width: 1.2rem;
}

.mobile-menu a {
	color: #000;
	display: block;
	position: relative;
	text-decoration: none;
	width: 100%;
}

.mobile-menu .current-menu-item > a,
.mobile-menu .current-menu-item > .ancestor-wrapper a {
	text-decoration: underline;
}

.mobile-menu > li:not(.menu-item-has-children) > a:after {
	background: url(./assets/images/icons/arrow-right-black.svg) no-repeat center;
    background-size: contain;
    content: "";
    display: inline-block;
    height: 1.2rem;
	position: absolute;
		right: 1rem;
		top: 50%;
	transform: translateY( -50% );
	width: 2rem;
}

.mobile-menu > li > a,
.mobile-menu > li > .ancestor-wrapper a {
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.01em;
	padding: 1.8rem 0;
	text-transform: uppercase;
}

.mobile-menu > li > .sub-menu {
	display: none;
	padding-bottom: 2rem;
}

.mobile-menu .sub-menu .sub-menu {
	padding: 2rem 0 2rem 5%;
}

.mobile-menu .sub-menu a {
	font-size: 2rem;
	font-weight: 500;
	padding: .4rem 0;
}

/* ACTIVE MOBILE MENU */

.mobile-menu-active .mobile-menu-header {
	background-color: #D6A90B;
	padding: 0;
    height: 5rem;
    padding-bottom: 8rem;
}

.showing-mobile-menu .top-menu .site-title svg g {
	fill: #000;
}

.showing-mobile-menu .top-menu .restaurant-name {
	display: none;
}


/* Main Menu ------------------------------- */

.main-menu {
	display: none;
	margin: -1rem -3rem 0 0;
	padding-left: 34px;
}

.template-startpage .main-menu {
	padding-left: 0;
}

.main-menu li {
	position: relative;
}

.main-menu > li {
	margin: 1rem 3rem 0 0;
}

.main-menu a {
	color: inherit;
	display: block;
	text-decoration: none;
}

.main-menu > li > a {
	padding: 2rem 0;
	font-weight: 600;
}

.main-menu a:hover,
.main-menu .current-menu-item > a {
	text-decoration: underline;
}

.main-menu li.menu-item-has-children > a:after,
.main-menu li.menu-item-has-children > h3:after {
	background: url(./assets/images/icons/arrow-down.svg) no-repeat center;
	background-size: contain;
	content: "";
	display: inline-block;
	height: 1.2rem;
	margin-left: .8rem;
	transition: transform .15s linear;
	width: 1.2rem;
}

.main-menu .sub-menu {
	background: #003F23;
	color: #fff;
	min-width: 18rem;
	opacity: 0;
	padding: 1.5rem 1rem;
	position: absolute;
		left: -9999px;
		top: 100%;
	transform: translateY( 3px ) translateX( -50% );
	transition: opacity .15s linear, transform .15s linear, left 0s .15s;
	z-index: 9999;
}

.main-menu .sub-menu li {
	font-weight: 500;
	text-align: center;
}

.main-menu li:hover > .sub-menu,
.sub-menu.active {
	left: 50%;
	opacity: 1;
	transform: translateY( 0 ) translateX( -50% );
	transition: opacity .1s linear, transform .1s linear;
}

.main-menu > li > .sub-menu:before {
	content: "";
	display: block;
	position: absolute;
	z-index: 1000;
	top: -14px;
	left: 50%;
	margin-left: -7px;
	border: 7px solid transparent;
	border-bottom-color: #003F23;
}

.main-menu .sub-menu a {
	padding: 1rem 0;
}


/* Social Icons ------------------------------- */

.social-icons a svg {
	display: block;
}

.mobile-menu-footer {
	display: flex;
	flex-shrink: 0;
	justify-content: space-between;
	width: 100%;
}

.social-icons a + a  {
	margin-left: 1.8rem;
}

/* WPML Menu ------------------------------- */

.main-menu .wpml-lang {
	margin-right: 0;
	position: relative;
	right: 0;
}

li.wpml-lang button:hover,
li.wpml-lang button:focus {
	background: white;
}

.wpml-mobile .wpml-lang button:hover,
.wpml-mobile .wpml-lang button:focus {
	background: #D6A90B;
}

li.wpml-lang button {
	line-height: 1.2;
	padding: 2rem 0;
}

li.wpml-lang button:after {
	background: url(./assets/images/icons/arrow-down-black.svg) no-repeat center;
	background-size: contain;
	content: "";
	display: inline-block;
	height: 5px;
	width: 10px;
	margin-left: 8px;
	vertical-align: middle;
}

/* WPML Mobile Menu ------------------------------- */

.wpml-mobile {
	position: relative;
}

.wpml-mobile .sub-menu {
	background: #fff;
	min-width: 17.7rem;
	opacity: 0;
	position: absolute;
		bottom: 5rem;
		right: 9999rem;
		top: auto;
	padding: 1.8rem 1rem;
	transform: translateY( 1rem );
	transition: transform .15s linear, opacity .15s linear, right 0s .15s;
}

.wpml-mobile .sub-menu.active {
	left: auto;
	right: 0;
	opacity: 1;
	transform: translateY( 0 );
	transition: transform .15s linear, opacity .15s linear;
}

.wpml-mobile .sub-menu li {
	text-align: center;
}

.wpml-mobile .sub-menu li.current-menu-item {
	text-decoration: underline;
}

.wpml-mobile .sub-menu a {
	display: block;
	font-size: 2rem;
	font-weight: 500;
	padding: .8rem 0;
	text-decoration: none;
}

.wpml-mobile > li > .sub-menu:before {
	content: "";
    display: block;
    position: absolute;
    z-index: 1000;
	bottom: -14px;
	transform: rotate( 180deg );
    left: 75%;
    margin-left: -7px;
    border: 7px solid transparent;
    border-bottom-color: #fff;
}

/* -- Side menu ------------------------------- */

.side-menu .nav-toggle .bar {
	background: #003F23;
}

.nav-toggle.active .bar {
	background: #000;
}

.nav-toggle.active .show-menu,
.nav-toggle:not(.active) .hide-menu { 
	display: none; 
}

.nav-toggle .show-menu {
	color: #003F23;
}

.nav-toggle.active .hide-menu {
	color: #000;
}

.side-menu .show-menu,
.side-menu .hide-menu {
	padding-right: 40px;
}

.side-menu .book-table-sidebar {
	display: none;
}

/* Navigation Toggle ------------------------------- */

button.nav-toggle {
    align-items: center;
	background: none;
	display: flex;
	justify-content: center;
	margin-top: .2rem;
	padding: 0;
	position: absolute;
		right: 0;
		top: 50%;
	transform: translateY( -50% );
	z-index: 9;
}

.nav-toggle {
	cursor: pointer;
	height: 5rem;
	position: relative;
}

.nav-toggle-label {
	display: none;
	position: absolute;
		right: 4.6rem;
		top: 50%;
	transform: translateY( -50% );
	white-space: nowrap;
}

.nav-toggle:not(.active) .hide { display: none; }
.nav-toggle.active .show { display: none; }

.nav-toggle .bars {
	margin-top: .2rem;
	transform: rotate( 90deg );
}

.nav-toggle .bar {
	background: #fff;
	display: block;
	height: 2.6rem;
	position: absolute;
		right: 0;
		top: 30%;
	transition: transform .2s ease-in, opacity 0s ease-out .2s, margin .2s ease-out .2s;
	width: .2rem;
}

.nav-toggle .bar {
	background: #003F23;
}

.nav-toggle .bar:nth-child(1) { margin-right: -.8rem; }
.nav-toggle .bar:nth-child(3) { margin-right: 0.8rem; }

.nav-toggle.active .bar {
	margin-right: 0;
	transition: margin .2s ease-in, opacity 0s ease-in .2s, transform .2s ease-out .25s;
}

.nav-toggle.active .bar:nth-child(1) { transform: rotate( 45deg ); }
.nav-toggle.active .bar:nth-child(2) { opacity: 0; }
.nav-toggle.active .bar:nth-child(3) { transform: rotate( -45deg ); }


/* --------------------------------------------------------------------------------------------- */
/*	X. Sub Page
/* --------------------------------------------------------------------------------------------- */


.page-sub-menu-toggle {
	background: rgba( 255, 255, 255, 0.75 );
	justify-content: flex-start;
	padding-left: 0;
	padding-right: 0;
	width: 100%;
}

.page-sub-menu-toggle:hover,
.page-sub-menu-toggle:focus {
	background: rgba( 255, 255, 255, 0.75 );
}

.page-sub-menu-toggle .section-inner {
	align-items: center;
	display: flex;
}

.page-sub-menu-toggle svg {
	margin: 0 .8rem 0 0;
}

.page-sub-menu-toggle.active svg {
	transform: rotate( 180deg );
}

.page-sub-menu {
	display: none;
}

.page-sub-menu li {
	border-top: .1rem solid rgba( 255, 255, 255, 0.15 );
}

.page-sub-menu ul:first-child li:first-child {
	border-top: none;
}

.page-sub-menu a {
	color: inherit;
	display: block;
	padding: 1.5rem 2.5rem;
	text-decoration: none;
}

.page-sub-menu li.current-menu-item > a,
.page-sub-menu a:hover {
	text-decoration: underline;
}

/* PAGE CONTENT */

.has-flexible-content .entry-content-wrapper {
	padding-bottom: 0;
}


/* --------------------------------------------------------------------------------------------- */
/*	X. Template: Startpage
/* --------------------------------------------------------------------------------------------- */


.template-startpage .startpage-logo-header {
	display: none;
	justify-content: flex-start;
}

.show-booking-link {
	align-items: center;
	background-color: rgba( 0, 63, 35, .75 );
	display: flex;
	padding: 1.7rem 2.5rem;
	position: absolute;
		bottom: 0;
		left: 0;
	text-transform: uppercase;
}

.show-booking-link:after {
	background: url( ./assets/images/icons/arrow-right-white.svg ) no-repeat center;
	background-size: contain;
	content: "";
	display: block;
	height: 1.2rem;
	margin: 0 0 0 .8rem;
	width: 2rem;
}


/* --------------------------------------------------------------------------------------------- */
/*	X. Template: Booking Modal
/* --------------------------------------------------------------------------------------------- */


.booking-modal {
	max-width: 100%;
	position: fixed;
	margin-left: auto;
	margin-right: auto;
		left: 0;
		right: 0;
	flex-direction: column;
	overflow: auto;
}

.cover-modal .booking-modal { 
	display: none; 
}

.cover-modal.active .booking-modal {
	display: block;
    position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		top: 0;
    width: 100%;
}

.booking-modal-header,
.booking-modal-header .booking-modal-untoggle {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.booking-modal-untoggle svg {
	height: 1.7rem;
	margin-left: 1rem;
	width: 1.7rem;
}

.restaurant-book-preview {
	align-items: center;
	display: flex;
	justify-content: stretch;
}

.restaurant-book-preview + .restaurant-book-preview {
	border-top: .1rem solid rgba( 0, 63, 35, 0.25 );
}

.restaurant-book-preview .faux-image {
	flex: 8rem 0 0;
	margin-right: 2rem;
}

.restaurant-book-preview .booking-links {
	align-items: center;
	display: flex;
	justify-content: flex-start;
	margin: 1.5rem 0 0;
}

.restaurant-book-preview .booking-links .sep {
	margin: 0 1.5rem;
}

.restaurant-book-preview a {
	text-decoration: none;
}

.restaurant-book-preview .book-link {
	align-items: center;
	display: flex;
}

.restaurant-book-preview .book-link svg {
	margin-left: .6rem;
}


/* Location ----------------------------------- */

.directions-button {
	width: 100%;
}

.location-address {
	background: rgba( 255, 255, 255, 0.1 );
}

/* --------------------------------------------------------------------------------------------- */
/* Flexible section
 * 	1. Style all
	2. Content Block (image, video, link) 
 * 	3. Preamble
 * 	4. Text
 * 	5. Top Cover
/* --------------------------------------------------------------------------------------------- */

/*	1. Style all ------------------------------------------------------------------------------- */

.flexible-section {
	display: flex;
	justify-content: center;
	flex-direction: column;
}

.flexible-section.grouped-items + .flexible-section.grouped-items {
	padding-top: 0;
	margin-top: -2rem;
}

.flexible-section.grouped-items + .flexible-section.separator-items {
	margin-top: -4rem;
}

.flexible-section.separator-items + .flexible-section {
	padding-top: 0;
}

.flexible-section.video-section {
	flex-flow: row;
}

.section-number-2 {
	margin-top: 2rem;
}

.image-circle {
	border: .1rem solid #003F23;
	border-radius: 50%;
	box-shadow: 0 0 0 .5rem white;
	height: 15rem;
	position: absolute;
		right: -1rem;
		top: -2rem;
	text-align: center;
	width: 15.5rem;
	z-index: 1;
}

.image-circle a,
.image-circle button,
.image-circle h3 {
	cursor: pointer;
    display: flex;
	flex-direction: column;
    height: 100%;
	justify-content: center;
	line-height: 1.3;
	margin: 0 auto;
	max-width: 18rem;
	padding: 1rem;
	text-align: center;
	text-decoration: underline;
}

.image-circle button:hover,
.image-circle button:focus {
	background: none;
}


/* 	2. Content Block ----------------------------------------------------------------------------------- */

.content-block-section {
	position: relative;
}

.content-block-section {
	height: 100%; 
}

.content-block-section .flex-text {
	position: absolute;
		bottom: 0;
	padding: 5rem 2.5rem 2.5rem 2.5rem;
    width: 100%;
}

.content-block-section .flex-text h3,
.content-block-section .flex-text p {
	position: relative;
}

.content-block-section .flex-text p {
	line-height: 1.3;
}

.video-wrapper {
	height: 100%;
	overflow: hidden;
	position: absolute;
	width: 100%;
}

.video-wrapper.cover {
	position: relative;
}

.row-2 .video-wrapper video {
    position: absolute;
    top: 0;
    background-size: cover;
    background-repeat: no-repeat;
	background-position: 50% 50%;
	height: inherit;
}

.row-1 .video-wrapper video {
	width: auto;
	height: inherit;
}

.row-2 .video-wrapper:after {
	content: "";
    display: block;
    padding-bottom: calc( 50% - 4rem);
}

.video-wrapper .video-play {
	cursor: pointer;
	position: absolute;
		left: calc( 50% - 5rem);
		top: calc( 50% - 5.1rem);
	padding: 20px;
}

.video-wrapper .video-play:after {
	background: url(./assets/images/icons/play.svg) no-repeat center;
	background-size: contain;
	content: "";
	display: inline-block;
	height: 5.1rem;
	margin-left: .8rem;
	transition: transform .15s linear;
	width: 5rem;
}

.text-section {
	margin: 0 auto;
}


/* 	3. Preamble -------------------------------------------------------------------------------- */

.preamble-section p {
	line-height: 1.28;
}


/* 	4. Text ------------------------------------------------------------------------------------ */

/* 	5. Top Cover ------------------------------------------------------------------------------- */


/* --------------------------------------------------------------------------------------------- */
/*	X. Post: Archive
/* --------------------------------------------------------------------------------------------- */


/* --------------------------------------------------------------------------------------------- */
/*	X. Post: Single
/* --------------------------------------------------------------------------------------------- */


.post-navigation .nav-links {
	display: flex;
	justify-content: space-between;
	flex-flow: column;
}
.post-navigation .nav-links .nav-previous,
.post-navigation .nav-links .nav-next {
	max-width: 400px;
}

.post-navigation .nav-links .nav-previous a,
.post-navigation .nav-links .nav-next a {
	text-decoration: none;
	font-size: 1.8rem;
	font-weight: 600;
}

.post-navigation .nav-links .nav-previous:before {
	background: url(./assets/images/icons/arrow-right-green.svg) no-repeat center;
	background-size: contain;
	transform: rotate(180deg);
	content: "";
	display: inline-block;
	height: 10px;
	width: 17px;
	margin: 0 10px;
	transition: transform .15s linear;
	vertical-align: middle;
}

.post-navigation .nav-links .nav-next:before {
	background: url(./assets/images/icons/arrow-right-green.svg) no-repeat center;
	background-size: contain;
	content: "";
	display: inline-block;
	height: 10px;
	width: 17px;
	margin: 0 10px;
	transition: transform .15s linear;
	vertical-align: middle;
}

.share-links {
	display: flex;
}

.share-link {
	align-items: center;
	background-color: #003F23;
	display: flex;
	height: 5rem;
	justify-content: center;
	transition: transform .15s linear;
	width: 5rem;
}

.share-link:hover {
	transform: translateY( -.5rem );
}

.share-link.share-link-twitter,
.share-link.share-link-email {
	margin-left: 0.5rem;
}

.post-categories {
	list-style: none;
	display: inline-block;
	margin-left: 0;
}

.post-categories li:after {
	content: ',';
	font-weight: 600;
}

.post-categories li:last-child:after {
	content: '';
}

.post-categories li {
	display: inline-block;
}

.post-categories a {
	text-decoration: none;
	font-weight: 600;
}


/* --------------------------------------------------------------------------------------------- */
/*  X. Related Content 
/* --------------------------------------------------------------------------------------------- */


.page-top-section + .related-content {
	margin-top: 4rem;
}

.related-content-item {
	border-top: .3rem solid #003F23;
}

.related-content-item a:before {
	background: url(./assets/images/icons/arrow-right-green.svg) no-repeat center;
	background-size: contain;
	content: "";
	display: inline-block;
	height: 2.1rem;
	margin-right: 1.8rem;
	transition: transform .15s linear;
	width: 3.44rem;
}


/* --------------------------------------------------------------------------------------------- */
/*	X. Entry Content
/* --------------------------------------------------------------------------------------------- */


.entry-content { 
	font-size: 1.8rem;
	font-weight: 500; 
}

.entry-content p,
.entry-content li {
	font-weight: inherit;
}

.entry-content > *:first-child { margin-top: 0; }
.entry-content > *:last-child { margin-bottom: 0; }

.entry-content a:hover {
	opacity: .75;
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
	font-feature-settings: "lnum";
	font-variant-numeric: lining-nums;
	font-weight: 600;
	letter-spacing: -0.01em;
	line-height: 1.25;
	margin: 3rem 0 1.5rem;
}

.entry-content h1 { font-size: 2.8rem; }
.entry-content h2 { font-size: 2.4rem; }
.entry-content h3 { font-size: 2.2rem; }
.entry-content h4 { font-size: 2rem; }
.entry-content h5 { font-size: 1.8rem; }
.entry-content h6 { 
	font-size: 1.6rem; 
	letter-spacing: 0.025em;
	text-transform: uppercase;
}

.entry-content ul ul,
.entry-content ol ol,
.entry-content ul ol,
.entry-content ol ul {
	margin-bottom: 1rem;
}

.entry-content li {
	margin: .5rem 0;
}

.entry-content pre {
	border-radius: .4rem;
	line-height: 1.5;
	margin: 2rem 0;
	padding: 1.5rem;
}

.entry-content blockquote {
	border-left: .1rem solid #003F23;
	font-size: 0.95em;
	margin-bottom: 1.25em;
	padding-left: 2rem;
}

.entry-content blockquote p {
	font-style: italic;
}


/* Entry Content Media ------------------------- */

.entry-content .alignnone,
.entry-content .aligncenter,
.entry-content .alignwide,
.entry-content .alignfull {
	margin: 2.5rem 0;
}

.entry-content .alignnone,
.entry-content .aligncenter {
	max-width: 100%;
	width: 100%;
}

.entry-content .alignwide {
	width: calc( 100vw - 5rem );
    max-width: calc( 100vw - 5rem );
}

.entry-content .alignfull {
	width: 100vw;
	max-width: 100vw;
	margin-left: -2.5rem;
}

.entry-content img {
	display: block;
}

.entry-content .wp-caption-text {
	display: block;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.5;
	margin: .8rem 0 0;
	text-align: left;
}


/* --------------------------------------------------------------------------------------------- */
/*	X. Site Pagination
/* --------------------------------------------------------------------------------------------- */


.no-js .pagination-wrapper { 
	display: block !important;
}

.pagination-wrapper.pagination-type-button.loaded-last-page,
.pagination-wrapper.pagination-type-scroll.loaded-last-page { 
	display: none; 
}

.pagination-wrapper button:focus {
	background: none;
}

#pagination {
	height: 4.8rem;
	position: relative;
	text-align: center;
}

#load-more,
#pagination .out-of-posts,
#pagination .loading-icon,
#pagination .out-of-posts {
	position: absolute;
		left: 50%;
		top: 50%;
	transform: translate( -50%, -50% );
	transition: color .2s linear, opacity .2s linear, transform .2s ease-out;
	white-space: nowrap;

}

#load-more:hover {
	background: none;
}

#pagination:not(.last-page) .out-of-posts,
#pagination.loading #load-more,
#pagination.last-page #load-more,
#pagination:not(.loading) .loading-icon {
	left: -9999rem;
	opacity: 0;
	transform: translate( -50%, -50% ) scale( 0.5 );
	transition: opacity .2s linear, transform .2s ease-out, left 0s .2s, right 0s .2s;
}

#pagination:not(.pagination-type-button) #load-more {
	display: none;
}

html.js body:not(.pagination-type-links) .link-pagination {
	display: none;
}

.no-js #load-more,
.no-js #pagination .loading-icon {
	display: none;
}

#pagination .out-of-posts {
	margin: 0;
	text-align: center;
	width: 100%;
}

/* LINK PAGINATION */

.link-pagination {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.link-pagination.only-next {
	justify-content: flex-end;
}

.link-pagination a {
	text-decoration: none;
}


/* --------------------------------------------------------------------------------------------- */
/*	X. Site Footer
/* --------------------------------------------------------------------------------------------- */

#site-footer h3 {
	letter-spacing: .185rem;
	margin: 0 0 0.7em 0;
}

#site-footer p {
	margin: 0;
}

#site-footer a {
	display: block;
}

.footer-menu ul {
	margin: 0;
}

.footer-menu ul,
.footer-menu ul li,
.footer-menu ul li a {
	text-decoration: none;
	list-style: none;
	display: inline-block;
	font-size: 12px;
	font-weight: 500;
	text-align: center;
	margin-bottom: 0;
}

.footer-menu ul li {
	padding: 0 10px;
}

#menu-footer {
	margin: 0;
}

.map {
    height: 25rem;
	width: 100%;
}

.footer-inner-section {
	margin-bottom: 0;
}

/* --------------------------------------------------------------------------------------------- */
/*	X. Media Queries
/* --------------------------------------------------------------------------------------------- */


@media ( min-width: 350px ) {


	/* Sub Page ------------------------- */

	.image-circle {
		right: 1.5rem;
		top: -3rem;
	}

}


@media ( min-width: 700px ) {

	body {
		font-size: 1.8rem;
	}


	/* Element Base ------------------------- */

	/* VANILLA GALLERIES */

	.gallery-columns-2 .gallery-item { max-width: 50%; }
	.gallery-columns-3 .gallery-item { max-width: 33.33%; }
	.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%; }


	/* Helper Classes ------------------------- */

	.entry-content .alignfull {
		width: 100vw;
		max-width: 100vw;
		margin-left: -4rem;
	}

	.entry-content .alignwide {
		width: calc( 100vw - 8rem );
		max-width: calc( 100vw - 8rem );
	}

	.entry-content {
		font-size: 2rem;
	}


	/* SECTIONS */

	section {
		padding: 6rem 0;
	}

	.section-inner {
		width: calc( 100% - 8rem );
	}

	/* PADDING HELPERS */

	.tpad-all-0 { padding: 0; }
	.tpad-u-0, .tpad-v-0 { padding-top: 0; }
	.tpad-d-0, .tpad-v-0 { padding-bottom: 0; }
	.tpad-l-0, .tpad-h-0 { padding-left: 0; }
	.tpad-r-0, .tpad-h-0 { padding-right: 0; }
	
	.tpad-all-10 { padding: 1rem; }
	.tpad-u-10, .tpad-v-10 { padding-top: 1rem; }
	.tpad-d-10, .tpad-v-10 { padding-bottom: 1rem; }
	.tpad-l-10, .tpad-h-10 { padding-left: 1rem; }
	.tpad-r-10, .tpad-h-10 { padding-right: 1rem; }
	
	.tpad-all-18 { padding: 1.8; }
	.tpad-u-18, .tpad-v-18 { padding-top: 1.8; }
	.tpad-d-18, .tpad-v-18 { padding-bottom: 1.8; }
	.tpad-l-18, .tpad-h-18 { padding-left: 1.8; }
	.tpad-r-18, .tpad-h-18 { padding-right: 1.8; }
	
	.tpad-all-20 { padding: 2rem; }
	.tpad-u-20, .tpad-v-20 { padding-top: 2rem; }
	.tpad-d-20, .tpad-v-20 { padding-bottom: 2rem; }
	.tpad-l-20, .tpad-h-20 { padding-left: 2rem; }
	.tpad-r-20, .tpad-h-20 { padding-right: 2rem; }
	
	.tpad-all-24 { padding: 2.4rem; }
	.tpad-u-24, .tpad-v-24 { padding-top: 2.4rem; }
	.tpad-d-24, .tpad-v-24 { padding-bottom: 2.4rem; }
	.tpad-l-24, .tpad-h-24 { padding-left: 2.4rem; }
	.tpad-r-24, .tpad-h-24 { padding-right: 2.4rem; }
	
	.tpad-all-23 { padding: 2.3rem; }
	.tpad-u-23, .tpad-v-23 { padding-top: 2.3rem; }
	.tpad-d-23, .tpad-v-23 { padding-bottom: 2.3rem; }
	.tpad-l-23, .tpad-h-23 { padding-left: 2.3rem; }
	.tpad-r-23, .tpad-h-23 { padding-right: 2.3rem; }
	
	.tpad-all-30 { padding: 3rem; }
	.tpad-u-30, .tpad-v-30 { padding-top: 3rem; }
	.tpad-d-30, .tpad-v-30 { padding-bottom: 3rem; }
	.tpad-l-30, .tpad-h-30 { padding-left: 3rem; }
	.tpad-r-30, .tpad-h-30 { padding-right: 3rem; }
	
	.tpad-all-33 { padding: 3.3rem; }
	.tpad-u-33, .tpad-v-33 { padding-top: 3.3rem; }
	.tpad-d-33, .tpad-v-33 { padding-bottom: 3.3rem; }
	.tpad-l-33, .tpad-h-33 { padding-left: 3.3rem; }
	.tpad-r-33, .tpad-h-33 { padding-right: 3.3rem; }
	
	.tpad-all-37 { padding: 3.7rem; }
	.tpad-u-37, .tpad-v-37 { padding-top: 3.7rem; }
	.tpad-d-37, .tpad-v-37 { padding-bottom: 3.7rem; }
	.tpad-l-37, .tpad-h-37 { padding-left: 3.7rem; }
	.tpad-r-37, .tpad-h-37 { padding-right: 3.7rem; }
	
	.tpad-all-40 { padding: 4rem; }
	.tpad-u-40, .tpad-v-40 { padding-top: 4rem; }
	.tpad-d-40, .tpad-v-40 { padding-bottom: 4rem; }
	.tpad-l-40, .tpad-h-40 { padding-left: 4rem; }
	.tpad-r-40, .tpad-h-40 { padding-right: 4rem; }
	
	.tpad-all-50 { padding: 5rem; }
	.tpad-u-50, .tpad-v-50 { padding-top: 5rem; }
	.tpad-d-50, .tpad-v-50 { padding-bottom: 5rem; }
	.tpad-l-50, .tpad-h-50 { padding-left: 5rem; }
	.tpad-r-50, .tpad-h-50 { padding-right: 5rem; }
	
	.tpad-all-60 { padding: 6rem; }
	.tpad-u-60, .tpad-v-60 { padding-top: 6rem; }
	.tpad-d-60, .tpad-v-60 { padding-bottom: 6rem; }
	.tpad-l-60, .tpad-h-60 { padding-left: 6rem; }
	.tpad-r-60, .tpad-h-60 { padding-right: 6rem; }
	
	.tpad-all-80 { padding: 8rem; }
	.tpad-u-80, .tpad-v-80 { padding-top: 8rem; }
	.tpad-d-80, .tpad-v-80 { padding-bottom: 8rem; }
	.tpad-l-80, .tpad-h-80 { padding-left: 8rem; }
	.tpad-r-80, .tpad-h-80 { padding-right: 8rem; }
	
	.tpad-all-100 { padding: 10rem; }
	.tpad-u-100, .tpad-v-100 { padding-top: 10rem; }
	.tpad-d-100, .tpad-v-100 { padding-bottom: 10rem; }
	.tpad-l-100, .tpad-h-100 { padding-left: 10rem; }
	.tpad-r-100, .tpad-h-100 { padding-right: 10rem; }
	
	.tpad-all-120 { padding: 12rem; }
	.tpad-u-120, .tpad-v-120 { padding-top: 12rem; }
	.tpad-d-120, .tpad-v-120 { padding-bottom: 12rem; }
	.tpad-l-120, .tpad-h-120 { padding-left: 12rem; }
	.tpad-r-120, .tpad-h-120 { padding-right: 12rem; }
	
	.tpad-all-140 { padding: 14rem; }
	.tpad-u-140, .tpad-v-140 { padding-top: 14rem; }
	.tpad-d-140, .tpad-v-140 { padding-bottom: 14rem; }
	.tpad-l-140, .tpad-h-140 { padding-left: 14rem; }
	.tpad-r-140, .tpad-h-140 { padding-right: 14rem; }
	
	.tpad-all-160 { padding: 16rem; }
	.tpad-u-160, .tpad-v-160 { padding-top: 16rem; }
	.tpad-d-160, .tpad-v-160 { padding-bottom: 16rem; }
	.tpad-l-160, .tpad-h-160 { padding-left: 16rem; }
	.tpad-r-160, .tpad-h-160 { padding-right: 16rem; }

	.faux-image.square-mobile:after,
	.no-media.square-mobile:after { padding-top: 50%; }

	/* HIDING AND SHOWING */

	.hide-tablet { display: none; }
	.show-tablet { display: initial; }

	/* TEXT SIZES */

	.tfs-inherit { font-size: inherit; }

	.tfs-14 { font-size: 1.4rem; }
	.tfs-13	{ font-size: 1.3rem; }
	.tfs-15 { font-size: 1.5rem; }
	.tfs-16 { font-size: 1.6rem; }
	.tfs-17 { font-size: 1.7rem; }
	.tfs-18 { font-size: 1.8rem; }
	.tfs-19 { font-size: 1.9rem; }
	.tfs-20 { font-size: 2.0rem; }
	.tfs-21 { font-size: 2.1rem; }
	.tfs-22 { font-size: 2.2rem; }
	.tfs-23 { font-size: 2.3rem; }
	.tfs-24 { font-size: 2.4rem; }
	.tfs-28 { font-size: 2.8rem; }
	.tfs-32 { font-size: 3.2rem; }
	.tfs-36 { font-size: 3.6rem; }
	.tfs-40 { font-size: 4.0rem; }
	.tfs-48 { font-size: 4.8rem; }
	.tfs-56 { font-size: 5.6rem; }
	.tfs-64 { font-size: 6.4rem; }
	.tfs-76 { font-size: 7.6rem; }
	.tfs-96 { font-size: 9.6rem; }

	/* TEXT COLUMNS */

	.text-cols-t-2 { columns: 2 4rem; }
	.text-cols-t-3 { columns: 3 4rem; }

	/* GRID STRUCTURE */

	.grid {
		margin: 0 0 -6rem -4rem;
	}

	.grid + .grid { margin-top: 6rem; }
	
	.grid .grid-item {
		margin: 0 0 6rem 4rem;
		width: calc( 100% - 4rem );
	}

	.grid.mcols-2 > .grid-item,
	.grid.tcols-2 > .grid-item {
		width: calc( 50% - 4rem );
	}

	.grid.tcols-2.no-hgutter > .grid-item { width: 50%; }

	.grid.match-gutter { margin-bottom: -4rem; }
	.grid.match-gutter + .grid.match-gutter { margin-top: 4rem; }
	.grid.match-gutter .grid-item { margin-bottom: 4rem; }

	/* BREADCRUMBS */

	.breadcrumbs li {
		font-size: 1.4rem;
	}

	.breadcrumbs .sep {
		margin: 0 1rem;
	}


	/* Site Header ---------------------------- */

	.top-menu {
		padding: 3.3rem 0 4rem;
	}

	/* Sub Page ---------------------------- */

	/* PAGE SUB MENU */

	.page-sub-menu a {
		padding: 2rem 4rem;
	}

	/* IMAGE CIRCLE */

	.image-circle {
		border-width: .2rem;
		box-shadow: 0 0 0 1rem white;
		height: 25rem;
		right: 3rem;
		top: -10rem;
		width: 25rem;
	}


	/* Flexible sections ---------------------- */

	.flexible-section {
		display: flex;
		flex-direction: row;
		justify-content: center;
	}

	.flexible-section.grouped-items + .flexible-section.grouped-items {
		margin-top: -4rem;
	}

	.flexible-section.grouped-items + .flexible-section.separator-items {
		margin-top: -6rem;
	}

	.section-number-2 {
		margin: 0 0 0 2rem;
	}

	.row-2 .faux-image,
	.row-2 .no-media {
		padding-top: 50%;
		position: relative;
	}

	.row-1 .video-wrapper video {
		height: auto;
		width: inherit;
	}

	.video-wrapper {
		position: absolute;
		width: 100%;
		height: 100%;
		overflow: hidden;
		top: 0;
	}
	
	.original,
	.row-1 .original img {
		width: 100%;
		margin: 0 auto;
	}

	.section-number-1,
	.section-number-2 {
		width: 100%;
	}

	.no-media.half:after { padding-top: 50%; }

	.video-wrapper .video-play {
		position: absolute;
			left: calc( 50% - 7.1rem);
		cursor: pointer;
		padding: 20px;
	}

	.video-wrapper .video-play:after {
		background: url(./assets/images/icons/play.svg) no-repeat center;
		background-size: contain;
		content: "";
		display: inline-block;
		height: 82px;
		width: 81px;
		margin-left: 8px;
		transition: transform .15s linear;
	}

	.single-date:after {
		margin: 0 21px;
	}

	/* Post: Single ---------------------------- */

	.post-navigation .nav-links {
		flex-flow:row;
	}

	.post-navigation .nav-links .nav-next:after {
		background: url(./assets/images/icons/arrow-right-green.svg) no-repeat center;
		background-size: contain;
		content: "";
		display: inline-block;
		height: 10px;
		width: 17px;
		margin: 0 10px;
		transition: transform .15s linear;
		vertical-align: middle;
	}

	.post-navigation .nav-links .nav-next:before {
		content: none;
	}

	/* Entry Content ------------------------ */

	.entry-content .alignnone,
	.entry-content .aligncenter,
	.entry-content .alignwide,
	.entry-content .alignfull {
		margin: 4rem 0;
	}

	/* Related Content ------------------------ */

	.page-top-section + .related-content {
		margin-top: 6rem;
	}


	/* Fancy Box ------------------------ */

	.fancybox-content {
		width: 50% !important;
		min-width: 50rem !important;
	}

	/* Template: Booking Modal ----------------------- */

	.cover-modal.active .booking-modal { 
		background: none;
		bottom: auto;
		left: 50%;
		max-height: 100%;
		overflow: auto;
		right: auto;
		top: 50%;
		transform: translate( -50%, -50% );
		width: 60rem;
	}

	.restaurant-book-preview-inner {
		display: flex;
		justify-content: space-between;
		width: 100%;
	}

	.restaurant-book-preview .booking-links {
		margin: 0;
	}

	.restaurant-book-preview .booking-links .sep {
		margin: 0 2rem;
	}

	/* Related content ----------------------- */

	.related-content-item a:before {
		margin-right: 1.45rem;
	}

	/* Post: Archive ------------------------ */

	.content-block-section .flex-text {
		position: absolute;
			bottom: 0;
		padding: 6rem 3rem 3rem 3rem;
		width: 100%;
	}

	/* Site Footer ------------------------ */

	.map {
		height: 25rem;
		width: 100%;
	}

	.footer-inner-section {
		margin-bottom: 0;
	}

}


@media ( min-width: 1000px ) {


	body {
		font-size: 2rem;
		width: calc( 100% - 6rem );
	}

	/* Helper Classes ------------------------- */

	/* SECTIONS */

	.section-inner {
		width: calc( 100% - 10rem );
	}

	/* PADDING HELPERS */

	.tlpad-u-0, .tlpad-v-0 { padding-top: 0; }
	.tlpad-d-0, .tlpad-v-0 { padding-bottom: 0; }
	.tlpad-l-0, .tlpad-h-0 { padding-left: 0; }
	.tlpad-r-0, .tlpad-h-0 { padding-right: 0; }
	.tlpad-all-0 { padding: 0; }

	.tlpad-u-20, .tlpad-v-20 { padding-top: 2rem; }
	.tlpad-d-20, .tlpad-v-20 { padding-bottom: 2rem; }
	.tlpad-l-20, .tlpad-h-20 { padding-left: 2rem; }
	.tlpad-r-20, .tlpad-h-20 { padding-right: 2rem; }
	.tlpad-all-20 { padding: 2rem; }

	.tlpad-u-40, .tlpad-v-40 { padding-top: 4rem; }
	.tlpad-d-40, .tlpad-v-40 { padding-bottom: 4rem; }
	.tlpad-l-40, .tlpad-h-40 { padding-left: 4rem; }
	.tlpad-r-40, .tlpad-h-40 { padding-right: 4rem; }
	.tlpad-all-40 { padding: 4rem; }

	.tlpad-u-60, .tlpad-v-60 { padding-top: 6rem; }
	.tlpad-d-60, .tlpad-v-60 { padding-bottom: 6rem; }
	.tlpad-l-60, .tlpad-h-60 { padding-left: 6rem; }
	.tlpad-r-60, .tlpad-h-60 { padding-right: 6rem; }
	.tlpad-all-60 { padding: 6rem; }

	.tlpad-u-80, .tlpad-v-80 { padding-top: 8rem; }
	.tlpad-d-80, .tlpad-v-80 { padding-bottom: 8rem; }
	.tlpad-l-80, .tlpad-h-80 { padding-left: 8rem; }
	.tlpad-r-80, .tlpad-h-80 { padding-right: 8rem; }
	.tlpad-all-80 { padding: 8rem; }

	.tlpad-u-100, .tlpad-v-100 { padding-top: 10rem; }
	.tlpad-d-100, .tlpad-v-100 { padding-bottom: 10rem; }
	.tlpad-l-100, .tlpad-h-100 { padding-left: 10rem; }
	.tlpad-r-100, .tlpad-h-100 { padding-right: 10rem; }
	.tlpad-all-100 { padding: 10rem; }

	/* TEXT SIZES */

	.tlfs-inherit { font-size: inherit; }

	.tlfs-14 { font-size: 1.4rem; }
	.tlfs-15 { font-size: 1.5rem; }
	.tlfs-16 { font-size: 1.6rem; }
	.tlfs-17 { font-size: 1.7rem; }
	.tlfs-18 { font-size: 1.8rem; }
	.tlfs-19 { font-size: 1.9rem; }
	.tlfs-20 { font-size: 2.0rem; }
	.tlfs-21 { font-size: 2.1rem; }
	.tlfs-22 { font-size: 2.2rem; }
	.tlfs-23 { font-size: 2.3rem; }
	.tlfs-24 { font-size: 2.4rem; }
	.tlfs-26 { font-size: 2.6rem; }
	.tlfs-28 { font-size: 2.8rem; }
	.tlfs-32 { font-size: 3.2rem; }
	.tlfs-36 { font-size: 3.6rem; }
	.tlfs-40 { font-size: 4.0rem; }
	.tlfs-48 { font-size: 4.8rem; }
	.tlfs-56 { font-size: 5.6rem; }
	.tlfs-64 { font-size: 6.4rem; }
	.tlfs-72 { font-size: 7.2rem; }
	.tlfs-96 { font-size: 9.6rem; }

	/* HIDING AND SHOWING */

	.hide-tablet-landscape { display: none; }
	.show-tablet-landscape { display: initial; }

	/* Header Menus ------------------------------- */
	
	/* -- Main menu ------------------------------- */

	.main-menu {
		display: flex;
	}

	.nav-toggle .show-menu,
	.nav-toggle.active .hide-menu {
		color: #000;
	}

	.nav-toggle .show-menu {
		color: #000;
	}

	.side-menu .nav-toggle .bar,
	.nav-toggle:not(.active) .bar {
		background: #000;
	}
	
	.mobile-menu-active .top-menu .site-title svg g,
	.mobile-menu-active .top-menu .restaurant-name {
		fill: #003F23;
		color: #003F23;
		display: block;
	}

	.mobile-menu-active .mobile-menu-header {
		padding-bottom: 13rem;
	}

	/* -- Side menu ------------------------------- */

	.side-menu {
		background: #D6A90B;
		position: fixed;
			bottom: 0;
			right: 0;
			top: 0;
		width: 6rem;
	}

	.side-menu button {
		align-items: center;
		display: flex;
		height: 6rem;
		padding: 0 4rem;
		position: absolute;
		transform: rotate( -90deg );
		white-space: nowrap;
	}

	.side-menu button:hover,
	.side-menu button:focus {
		background: none;
	}

	.side-menu button:first-child {
		display: block;
		bottom: -10rem;
		top: 0;
		right: 3rem;
		transform-origin: center right;
	}

	.side-menu .book-table-sidebar {
		display: block;
		bottom: -4rem;
  		left: 3rem;
		transform-origin: center left;
	}
	
	.side-menu .book-table-sidebar:after {
		background: url(./assets/images/icons/arrow-right-black.svg) no-repeat center;
		background-size: contain;
		content: "";
		display: inline-block;
		height: 100%;
		position: absolute;
			bottom: 0;
			right: 0;
		width: 2.5rem;
	}

	.nav-toggle .bars {
		height: 1.8rem;
		margin: 0;
		position: absolute;
			right: 1rem;
			top: 1.3rem;
		transform: none;
		width: 2.6rem;
	}

	.side-menu .show-menu, .side-menu .hide-menu {
		padding-right: 0;
	}

	
	/* Mobile Menu ------------------ */

	.mobile-menu-wrapper {
		opacity: 1;
		left: auto;
		max-width: 80rem;
		right: 9999rem;
		transform: translateX( 100% );
		transition: transform .35s ease-in, right 0s .35s;
		width: calc( 50% - 3rem );
	}

	.mobile-menu-wrapper.active {
		left: auto;
		right: 0;
		transform: translateX( -6rem );
		transition: transform .35s ease-out;
	}

	.showing-mobile-menu .mobile-menu-cover {
		left: 0;
		right: 0;
		opacity: .5;
		transition: opacity .35s linear;
	}

	#site-content, #site-footer, .main-menu, .top-menu .site-title {
		transition: filter .3s linear;
	}

	.showing-mobile-menu .top-menu .site-title svg g {
		fill: #003F23;
	}
	
	.showing-mobile-menu .top-menu .restaurant-name {
		display: inline;
	}

	.showing-mobile-menu #site-content,
	.showing-mobile-menu #site-footer, 
	.showing-mobile-menu .main-menu, 
	.showing-mobile-menu .top-menu .site-title {
		filter: blur( .2rem );
	}

	.mobile-menu-wrapper .mobile-menu-inner {
		position: relative;
	}

	.mobile-menu-wrapper.active .mobile-top-section {
		display: none;
	}

	.mobile-menu-header {
		flex-shrink: 0;
		display: flex; 
		justify-content: space-between;
	}

	.mobile-menu-header-logo svg {
		display: block;
		max-width: 100%;
	}

	.mobile-menu-inner {
		justify-content: flex-start;
	}

	.social-icons a + a  {
		margin-left: 2.5rem;
	}

	.mobile-menu {
		padding-bottom: 4rem;
	}

	.mobile-menu > li > a, 
	.mobile-menu > li > .ancestor-wrapper a {
		font-size: 2rem;
		padding: 2.6rem 0 2.6rem;
	}

	.mobile-menu > li:not(.menu-item-has-children) > a:after {
		height: 1.5rem;
		width: 2.5rem;
	}

	.mobile-menu .ancestor-wrapper {
		padding-right: 8rem;
	}

	.mobile-menu > li > .sub-menu {
		padding-bottom: 3rem;
	}

	.mobile-menu .sub-menu-toggle {
		padding-right: 1.6rem;
		width: 8rem;
	}

	.mobile-menu .sub-menu-toggle svg {
		height: .75rem;
		width: 1.5rem;
	}

	.mobile-menu .sub-menu a {
		font-size: 2.4rem;
		padding: .6rem 0;
	}


	/* Template: Startpage ---------- */

	.template-startpage .site-title {
		display: none;
	}

	.template-startpage .startpage-logo-header {
		display: flex;
	}


	/* Sub Page ------------------------ */

	/* PAGE MENU */

	.page-sub-menu-wrapper {
		display: block;
		position: absolute;
		padding: 0 5rem;
		width: 100%;
		z-index: 1;
	}

	.page-sub-menu-wrapper:not(.set-height) {
		background-color: rgba( 0, 63, 35, .75 );
	}

	.page-sub-menu-wrapper.set-height {
		position: static;
		opacity: 1;
	}

	.page-sub-menu {
		display: block !important; /* Overwrite js toggle */
		left: 0;
		padding-right: 24rem;
		width: 100%;
	}

	.page-sub-menu ul {
		display: flex;
		flex-wrap: wrap;
		margin-left: -1.5rem;
	}

	.page-sub-menu li {
		border: none;
	}

	.page-sub-menu a {
		padding: 2.1rem 1.5rem;
	}

	.page-sub-menu-toggle {
		display: none;
	}

	/* IMAGE CIRCLE */

	.image-circle {
		top: -10.5rem;
	}

	/*	Flexible Sections ------------------------ */

	.flexible-section.grouped-items + .flexible-section.grouped-items {
		margin-top: -2rem;
	}

	.flexible-section.grouped-items + .flexible-section.separator-items {
		margin-top: -6rem;
	}

	.section-number-2 {
		margin: 0 0 0 4rem;
	}


	/*	Entry Content ------------------------ */

	.entry-content .alignnone,
	.entry-content .aligncenter,
	.entry-content .alignwide,
	.entry-content .alignfull {
		margin: 6rem 0;
	}

	.entry-content .alignfull {
		width: calc( 100vw - 6rem );
		max-width: calc( 100vw - 6rem );
		margin-left: -6rem;
	}

	.entry-content .alignwide {
		width: calc( 100vw - 6rem - 10rem );
		max-width: calc( 100vw - 6rem - 10rem );
	}


	/*	Fancy box ------------------------ */

	.fancybox-content {
		min-width: 80rem !important;
		width: 80% !important;
	}


	/* Related Content ------------------------ */

	.page-top-section + .related-content {
		margin-top: 8rem;
	}


	/*	Site Footer ------------------------ */

	.map {
		height: 39.5rem;
		width: 100%;
	}

	#site-footer h3 {
		margin: 0 0 1.8em 0;
	}
	
	.footer-menu ul li a {
		font-size: 1.6rem;
	}


}

@media ( min-width: 1100px ) {


	.main-menu {
		margin: -1rem -3.5rem 0 0;
		padding-left: 50px;
	}

	.main-menu > li {
		margin: 1rem 3.5rem 0 0;
	}

}


@media ( min-width: 1200px ) {


	body {
		width: calc( 100% - 8rem );
	}

	/* Helper Classes ------------------------------- */

	/* SECTIONS */

	section {
		padding: 8rem 0;
	}
	
	.section-inner {
		width: calc( 100% - 12rem );
	}

	/* PADDING HELPERS */

	.dpad-u-0, .dpad-v-0 { padding-top: 0; }
	.dpad-d-0, .dpad-v-0 { padding-bottom: 0; }
	.dpad-l-0, .dpad-h-0 { padding-left: 0; }
	.dpad-r-0, .dpad-h-0 { padding-right: 0; }
	.dpad-all-0 { padding: 0; }

	.dpad-u-5, .dpad-v-5 { padding-top: 0.5rem; }
	.dpad-d-5, .dpad-v-5 { padding-bottom: 0.5rem; }
	.dpad-l-5, .dpad-h-5 { padding-left: 0.5rem; }
	.dpad-r-5, .dpad-h-5 { padding-right: 0.5rem; }
	.dpad-all-5 { padding: 0.5rem; }

	.dpad-u-10, .dpad-v-10 { padding-top: 1rem; }
	.dpad-d-10, .dpad-v-10 { padding-bottom: 1rem; }
	.dpad-l-10, .dpad-h-10 { padding-left: 1rem; }
	.dpad-r-10, .dpad-h-10 { padding-right: 1rem; }
	.dpad-all-10 { padding: 1rem; }

	.dpad-u-20, .dpad-v-20 { padding-top: 2rem; }
	.dpad-d-20, .dpad-v-20 { padding-bottom: 2rem; }
	.dpad-l-20, .dpad-h-20 { padding-left: 2rem; }
	.dpad-r-20, .dpad-h-20 { padding-right: 2rem; }
	.dpad-all-20 { padding: 2rem; }

	.dpad-u-24, .dpad-v-24 { padding-top: 2.4rem; }
	.dpad-d-24, .dpad-v-24 { padding-bottom: 2.4rem; }
	.dpad-l-24, .dpad-h-24 { padding-left: 2.4rem; }
	.dpad-r-24, .dpad-h-24 { padding-right: 2.4rem; }
	.dpad-all-24 { padding: 2.4rem; }

	.dpad-d-15, .dpad-v-15 { padding-bottom: 1.5rem; }
	.dpad-u-15, .dpad-v-15 { padding-top: 1.5rem; }
	.dpad-l-15, .dpad-h-15 { padding-left: 1.5rem; }
	.dpad-r-15, .dpad-h-15 { padding-right: 1.5rem; }
	.dpad-all-15 { padding: 1.5rem; }

	.dpad-u-30, .dpad-v-30 { padding-top: 3rem; }
	.dpad-d-30, .dpad-v-30 { padding-bottom: 3rem; }
	.dpad-l-30, .dpad-h-30 { padding-left: 3rem; }
	.dpad-r-30, .dpad-h-30 { padding-right: 3rem; }
	.dpad-all-30 { padding: 3rem; }

	.dpad-u-40, .dpad-v-40 { padding-top: 4rem; }
	.dpad-d-40, .dpad-v-40 { padding-bottom: 4rem; }
	.dpad-l-40, .dpad-h-40 { padding-left: 4rem; }
	.dpad-r-40, .dpad-h-40 { padding-right: 4rem; }
	.dpad-all-40 { padding: 4rem; }

	.dpad-u-45, .dpad-v-45 { padding-top: 4.5rem; }
	.dpad-d-45, .dpad-v-45 { padding-bottom: 4.5rem; }
	.dpad-l-45, .dpad-h-45 { padding-left: 4.5rem; }
	.dpad-r-45, .dpad-h-45 { padding-right: 4.5rem; }
	.dpad-all-45 { padding: 4.5rem; }

	.dpad-u-50, .dpad-v-50 { padding-top: 5rem; }
	.dpad-d-50, .dpad-v-50 { padding-bottom: 5rem; }
	.dpad-l-50, .dpad-h-50 { padding-left: 5rem; }
	.dpad-r-50, .dpad-h-50 { padding-right: 5rem; }
	.dpad-all-50 { padding: 5rem; }

	.dpad-u-60, .dpad-v-60 { padding-top: 6rem; }
	.dpad-d-60, .dpad-v-60 { padding-bottom: 6rem; }
	.dpad-l-60, .dpad-h-60 { padding-left: 6rem; }
	.dpad-r-60, .dpad-h-60 { padding-right: 6rem; }
	.dpad-all-60 { padding: 6rem; }

	.dpad-u-80, .dpad-v-80 { padding-top: 8rem; }
	.dpad-d-80, .dpad-v-80 { padding-bottom: 8rem; }
	.dpad-l-80, .dpad-h-80 { padding-left: 8rem; }
	.dpad-r-80, .dpad-h-80 { padding-right: 8rem; }
	.dpad-all-80 { padding: 8rem; }

	.dpad-u-90, .dpad-v-90 { padding-top: 9rem; }
	.dpad-d-90, .dpad-v-90 { padding-bottom: 9rem; }
	.dpad-l-90, .dpad-h-90 { padding-left: 9rem; }
	.dpad-r-90, .dpad-h-90 { padding-right: 9rem; }
	.dpad-all-90 { padding: 9rem; }

	.dpad-u-96, .dpad-v-96 { padding-top: 9.6rem; }
	.dpad-d-96, .dpad-v-96 { padding-bottom: 9.6rem; }
	.dpad-l-96, .dpad-h-96 { padding-left: 9.6rem; }
	.dpad-r-96, .dpad-h-96 { padding-right: 9.6rem; }
	.dpad-all-96 { padding: 9.6rem; }

	.dpad-u-100, .dpad-v-100 { padding-top: 10rem; }
	.dpad-d-100, .dpad-v-100 { padding-bottom: 10rem; }
	.dpad-l-100, .dpad-h-100 { padding-left: 10rem; }
	.dpad-r-100, .dpad-h-100 { padding-right: 10rem; }
	.dpad-all-100 { padding: 10rem; }

	.dpad-u-120, .dpad-v-120 { padding-top: 12rem; }
	.dpad-d-120, .dpad-v-120 { padding-bottom: 12rem; }
	.dpad-l-120, .dpad-h-120 { padding-left: 12rem; }
	.dpad-r-120, .dpad-h-120 { padding-right: 12rem; }
	.dpad-all-120 { padding: 12rem; }

	.dpad-u-130, .dpad-v-130 { padding-top: 13rem; }
	.dpad-d-130, .dpad-v-130 { padding-bottom: 13rem; }
	.dpad-l-130, .dpad-h-130 { padding-left: 13rem; }
	.dpad-r-130, .dpad-h-130 { padding-right: 13rem; }
	.dpad-all-130 { padding: 13rem; }

	.dpad-u-140, .dpad-v-140 { padding-top: 14rem; }
	.dpad-d-140, .dpad-v-140 { padding-bottom: 14rem; }
	.dpad-l-140, .dpad-h-140 { padding-left: 14rem; }
	.dpad-r-140, .dpad-h-140 { padding-right: 14rem; }
	.dpad-all-140 { padding: 14rem; }

	.dpad-u-160, .dpad-v-160 { padding-top: 16rem; }
	.dpad-d-160, .dpad-v-160 { padding-bottom: 16rem; }
	.dpad-l-160, .dpad-h-160 { padding-left: 16rem; }
	.dpad-r-160, .dpad-h-160 { padding-right: 16rem; }
	.dpad-all-160 { padding: 16rem; }

	.dpad-u-180, .dpad-v-180 { padding-top: 18rem; }
	.dpad-d-180, .dpad-v-180 { padding-bottom: 18rem; }
	.dpad-l-180, .dpad-h-180 { padding-left: 18rem; }
	.dpad-r-180, .dpad-h-180 { padding-right: 18rem; }
	.dpad-all-180 { padding: 18rem; }

	/* HIDING AND SHOWING */

	.hide-desktop { display: none; }
	.show-desktop { display: initial; }

	/* FAUX IMAGE */

	.faux-image.cover-image,
	.no-media.cover-image { height: calc( 100vh - 8rem ); }

	/* TEXT SIZES */

	.dfs-inherit { font-size: inherit; }

	.dfs-12 { font-size: 1.2rem; }
	.dfs-13 { font-size: 1.3rem; }
	.dfs-14 { font-size: 1.4rem; }
	.dfs-15 { font-size: 1.5rem; }
	.dfs-16 { font-size: 1.6rem; }
	.dfs-17 { font-size: 1.7rem; }
	.dfs-18 { font-size: 1.8rem; }
	.dfs-19 { font-size: 1.9rem; }
	.dfs-20 { font-size: 2.0rem; }
	.dfs-22 { font-size: 2.2rem; }
	.dfs-24 { font-size: 2.4rem; }
	.dfs-28 { font-size: 2.8rem; }
	.dfs-32 { font-size: 3.2rem; }
	.dfs-36 { font-size: 3.6rem; }
	.dfs-40 { font-size: 4.0rem; }
	.dfs-48 { font-size: 4.8rem; }
	.dfs-64 { font-size: 6.4rem; }
	.dfs-76 { font-size: 7.6rem; }
	.dfs-86 { font-size: 8.6rem; }
	.dfs-128 { font-size: 12.8rem; }


	/* TEXT COLUMNS */

	.text-cols-d-2 { columns: 2 6rem; }
	.text-cols-d-3 { columns: 3 6rem; }
	.text-cols-d-4 { columns: 4 6rem; }


	/* GRID STRUCTURE */

	.grid.mcols-2 > .grid-item,
	.grid.tcols-2 > .grid-item,
	.grid.dcols-2 > .grid-item { width: calc( 50% - 4rem ); }

	.grid.dcols-2.no-hgutter > .grid-item { width: 50%; }

	.grid.dcols-3 > .grid-item { width: calc( 33.33% - 4rem ); }
	.grid.dcols-4 > .grid-item { width: calc( 25% - 4rem ); }

	.grid.dcols-3.no-hgutter > .grid-item { width: 33.33%; }
	.grid.dcols-4.no-hgutter > .grid-item { width: 25%; }


	/* Site Header ----------------------------- */

	.top-menu .site-title svg {
		height: 6rem;
		width: 14.7rem;
	}

	/* Header Menus ----------------------------- */
	
	.top-menu {
		min-height: 7rem;
		padding: 4rem 0 5rem;
	}

	/* Mobile Menu ------------------ */

	.mobile-menu-wrapper {
		width: calc( 50% - 4rem );
	}

	.mobile-menu-wrapper.active {
		transform: translateX( -8rem );
	}
	
	/* Side Menu ----------------------------- */

	.side-menu {
		width: 8rem;
	}

	.side-menu button {
		height: 8rem;
	}

	.side-menu button:first-child {
		bottom: -10rem;
		right: 4rem;
		top: -1rem;
	}

	.side-menu .book-table-sidebar {
		bottom: -4rem;
  		left: 4rem;
	}

	.nav-toggle .bars {
		top: 2.15rem;
	}

	/* Sub Page ---------------------- */

	.page-sub-menu-wrapper {
		padding: 0 6rem;
	}

	.page-sub-menu {
		padding-right: 31rem;
	}

	.image-circle {
		height: 28rem;
		right: 7rem;
		width: 28rem;
	}

	/* Flexible Sections ---------------------- */

	.flexible-section.grouped-items + .flexible-section.grouped-items {
		margin-top: -4rem;
	}

	.flexible-section.grouped-items + .flexible-section.separator-items {
		margin-top: -8rem;
	}


	/* Entry Content -------------------------------- */

	.entry-content .alignnone,
	.entry-content .aligncenter,
	.entry-content .alignwide,
	.entry-content .alignfull {
		margin: 8rem 0;
	}

	.entry-content .alignfull {
		width: calc( 100vw - 8rem );
		max-width: calc( 100vw - 8rem );
		margin-left: -6rem;
	}

	.entry-content .alignwide {
		width: calc( 100vw - 8rem - 12rem );
		max-width: calc( 100vw - 8rem - 12rem );
	}

	/* Fancy Box -------------------------------- */

	.fancybox-content {
		width: 50% !important;
		min-width: 50% !important;
	}

	/* Site Footer --------------------------- */

	.map {
		height: 39.5rem;
		width: 100%;
	}

	.footer-inner-section {
		margin-bottom: 0;
	}

}

@media ( min-width: 1260px ) {

	.main-menu .wpml-lang {
		position: absolute;
		right: 0;
	}

}