.mailingListModal .wrap form .smInput:after, footer .wrap:after {
  content: "";
  display: block;
  clear: both;
}

.bookingModal .wrap .chooseRestaurant button, .mailingListModal .wrap form button, .mailingListModal .wrap form .input #card-element, .contactPanel .wrap .joinMailing, .news.jobsArticle .wrap article .text .downloads a, .textPanel .wrap .view, .reservations .wrap .cols .col form > button, .hero button, .hero a, form .input input, form .input select, form .input textarea, .thoughtco-cookiepanel .cookiepanel-sidebar .toggler label, .thoughtco-cookiepanel .cookiepanel-sidebar .buttons button {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
}

.bookingModal .wrap .close, .mailingListModal .wrap .close, footer .wrap .links .social a:before, .news.mainArticle .wrap article .social a:before, .reservations .wrap .cols .col form .input.select:after, .reservations .wrap .cols .col form .quantity .input button, header[role=banner] .wrap .secondaryNav .contain > button, header[role=banner] .wrap .mainMenu .contain > button, header[role=banner] .wrap .whiteNav:before, header[role=banner] .wrap .selectRest:after, header[role=banner] .wrap h1 {
  background-image: url("../sprites/sprite.svg");
  background-size: 500px 500px;
  font-size: 20px;
}

.bookingModal .wrap .chooseRestaurant button, .mailingListModal .wrap form button, .mailingListModal .wrap form .smInput h5, .mailingListModal .wrap form .input ::-webkit-file-upload-button, .mailingListModal .wrap form .input input, .mailingListModal .wrap form .input textarea, .mailingListModal .wrap form .input label, .mailingListModal .wrap form .input select, footer .wrap .links button, footer .wrap nav ul li, .contactPanel .wrap .cols .col .text .link, .contactPanel .wrap .joinMailing, .news .wrap article .text time, .news .wrap .link, .news.jobsArticle .wrap article .text h5, .news.jobsArticle .wrap article .text .downloads a, .textPanel .wrap .view, .textPanel .wrap .link, .textPanel.featuredPanel .wrap .contain .text time, .reservations .wrap .cols .col form > button, .hero button, .hero a, header[role=banner] .wrap .secondaryNav .contain .restaurants .cols .col .text h2, header[role=banner] .wrap .secondaryNav .contain h3, header[role=banner] .wrap .mainMenu .contain nav ul li a, header[role=banner] .wrap .seperateMenu ul li, header[role=banner] .wrap .selectRest, .thoughtco-cookiepanel .cookiepanel-sidebar .toggler label, .thoughtco-cookiepanel .cookiepanel-sidebar .buttons button {
  font-family: "Gotham A", "Gotham B";
  font-weight: 400;
}

.news .wrap article .text h3, .news.jobsArticle .wrap article .text h4, .textPanel.featuredPanel .wrap .contain .text h3 {
  font-family: "Gotham A", "Gotham B";
  font-weight: 500;
}

.news.jobsArticle .wrap article .text h3, .reservations .wrap .cols .col form .input input, .reservations .wrap .cols .col form .input select, .reservations .wrap .cols .col form .quantity .input label, header[role=banner] .wrap .secondaryNav .contain .restaurants .cols .col .text p, header[role=banner] .wrap .secondaryNav .contain h3 span, body {
  font-family: "EB Garamond", serif;
}

.placeholder {
  pointer-events: none;
  -webkit-transition: 0.3s opacity linear;
  -ms-transition: 0.3s opacity linear;
  transition: 0.3s opacity linear;
  position: absolute;
}
.placeholder.faded {
  opacity: 0.5;
}
.placeholder.hide {
  display: none;
}

.video {
  position: relative;
  padding-bottom: 56.25%;
  /* 16:9 */
  height: 0;
  width: 100%;
  display: block;
}
.video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.hide {
  display: none !important;
}

.desktop {
  display: none;
}

.thoughtco-cookiepanel {
  z-index: 100000000000;
  position: relative;
}

.thoughtco-cookiepanel .cookiepanel-open {
  z-index: 100000;
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  line-height: 1;
  height: 40px;
  padding: 10px 10px 4px 10px;
}

.thoughtco-cookiepanel .cookiepanel-sidebar {
  z-index: 10000000;
  overflow: auto;
  height: 100%;
}
.thoughtco-cookiepanel .cookiepanel-sidebar h2 {
  font-size: 1rem !important;
  text-transform: uppercase;
  font-family: "Gotham A", "Gotham B" !important;
  font-weight: 500 !important;
}
.thoughtco-cookiepanel .cookiepanel-sidebar .heading {
  font-size: 1.25rem;
  text-transform: uppercase;
  font-family: "Gotham A", "Gotham B" !important;
  font-weight: 500 !important;
}
.thoughtco-cookiepanel .cookiepanel-sidebar p {
  font-size: 0.875rem;
  line-height: 1.4;
  font-family: "Gotham A", "Gotham B" !important;
}
.thoughtco-cookiepanel .cookiepanel-sidebar p.heading {
  font-size: 1rem;
  text-transform: uppercase;
}
.thoughtco-cookiepanel .cookiepanel-sidebar .buttons {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-pack: space-between;
  margin-top: 50px;
}
.thoughtco-cookiepanel .cookiepanel-sidebar .buttons button {
  display: inline-block;
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 0;
  border-radius: 0;
  padding: 6px 10px;
  text-align: center;
  margin: 0;
  display: block;
  width: calc(50% - 2px);
  font-family: "Gotham A", "Gotham B" !important;
  height: 40px;
  text-transform: uppercase;
  font-size: 0.75rem;
  display: block;
  background-color: black;
  color: white;
  text-align: center;
  letter-spacing: 0.05em;
}
.thoughtco-cookiepanel .cookiepanel-sidebar .buttons button:hover {
  background-color: white;
  color: black;
}
.thoughtco-cookiepanel .cookiepanel-sidebar .buttons button:last-of-type {
  width: 100%;
  margin-top: 4px;
}
.thoughtco-cookiepanel .cookiepanel-sidebar .toggler {
  z-index: -1;
}
.thoughtco-cookiepanel .cookiepanel-sidebar .toggler label {
  text-transform: uppercase;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0;
  padding: 0;
  text-align: center;
  text-transform: uppercase;
  font-size: 0.75rem;
  display: block;
  color: white;
  text-align: center;
  letter-spacing: 0.05em;
}
.thoughtco-cookiepanel .cookiepanel-sidebar .toggler label:first-of-type {
  float: right;
}
.thoughtco-cookiepanel .cookiepanel-sidebar .toggler label:before {
  z-index: -1;
}

body {
  padding-top: 40px;
  /*


  	background-image: url('../images/desktop-jobs.png');
  	width: 1024px;
  	margin: 0 auto;
  	background-position: top center;
  	background-repeat: no-repeat;
  	position: relative;
  */
}
body.individualRestaurant {
  padding-top: 80px;
}
body.individualRestaurant header[role=banner] .wrap .whiteNav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  text-align: center;
}
body.individualRestaurant header[role=banner] .wrap .seperateMenu {
  top: 0;
}
body.showMainMenu header[role=banner] .wrap .mainMenu {
  right: 0;
}
body.showRestaurantList header[role=banner] .wrap .selectRest:after {
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}
body.showRestaurantList header[role=banner] .wrap .secondaryNav {
  top: 30px;
  visibility: visible;
}
body.showBooking .bookingModal {
  opacity: 1;
  pointer-events: all;
}
body.showMailingList .mailingListModal {
  opacity: 1;
  pointer-events: all;
  /*
  			@include x-animation(1s ease forwards fade);
  			@include x-keyframes(fade) {
  				0% { background-color: transparent; }
  				100% { background-color: rgba(255, 255, 255, 0.5);}
  			}
  */
}
body.groupHome {
  padding-top: 30px;
}
body.groupHome header[role=banner] .wrap h1 {
  background-position: -170px -300px;
  width: 165px;
  height: 25px;
}
body a {
  text-decoration: none;
}
body h1, body h2, body h3, body h4, body h5, body p {
  padding: 0;
  margin: 0;
}

form.success .input, form.success button, form.success .smInput {
  display: none !important;
}
form.success .message {
  display: block;
}
form .message {
  line-height: 1.4;
  margin-bottom: 20px;
  font-weight: 300;
  font-size: 1rem;
  display: none;
  text-align: center;
  margin: 0 auto;
}
form .input {
  position: relative;
}
form .input input, form .input select, form .input textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  width: 100%;
  font-family: inherit;
}
form .input ul li {
  display: none;
}
form .input input[type=number]::-webkit-inner-spin-button,
form .input input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
form .input [data-invalid=true] {
  padding: 0;
  margin: 0;
  border: 1px solid red !important;
}
form .input label {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0;
}

header[role=banner] .wrap {
  position: relative;
}
header[role=banner] .wrap h1 {
  text-indent: -9999px;
  background-position: -20px -50px;
  width: 141px;
  height: 34px;
  margin: 40px auto;
}
header[role=banner] .wrap > figure {
  width: 140px;
  height: 34px;
  margin: 40px auto;
}
header[role=banner] .wrap .selectRest {
  background-color: black;
  width: 100%;
  text-transform: uppercase;
  font-size: 0.625rem;
  letter-spacing: 0.05em;
  color: white;
  height: 30px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  text-align: center;
}
header[role=banner] .wrap .selectRest:after {
  content: "";
  background-position: -130px -20px;
  width: 5px;
  height: 8px;
  display: inline-block;
  margin-left: 10px;
  position: relative;
  top: 1px;
  -webkit-transition-timing-function: linear;
  -webkit-transition-duration: 300ms;
  -webkit-transition-property: all;
  -moz-transition-timing-function: linear;
  -moz-transition-duration: 300ms;
  -moz-transition-property: all;
  -o-transition-timing-function: linear;
  -o-transition-duration: 300ms;
  -o-transition-property: all;
  -ms-transition-timing-function: linear;
  -ms-transition-duration: 300ms;
  -ms-transition-property: all;
  transition-timing-function: linear;
  transition-duration: 300ms;
  transition-property: all;
}
header[role=banner] .wrap .whiteNav {
  position: relative;
  width: 100%;
  height: 40px;
  margin: 0 auto;
  background-color: white;
  z-index: 1000000;
  font-size: 0;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  text-align: center;
  /*
  			&:before {
  				content: '';
  				background-color: rgb(255, 255, 255);
  				width: 100vw;
  				left: 50%;
  				margin-left: -50vw;
  				position: absolute;
  				top: 0;
  				display: block;
  				height: 100%;
  				z-index: -1;
  			}
  */
  /*
  			&:after {
  				content: '';
  				@extend %sprite;
  				background-position: -20px -20px;
  				width: 16px;
  				height: 9px;
  				display: block;
  				position: absolute;
  			    top: 15px;
  			    left: 50%;
  			    margin-left: 70px;
  			}
  */
}
header[role=banner] .wrap .whiteNav:before {
  content: "";
  background-position: -20px -460px;
  width: 108px;
  height: 17px;
  display: block;
  margin: 0 auto;
  position: relative;
  top: 12px;
}
header[role=banner] .wrap .navButton {
  position: absolute;
  top: 0;
  right: 30px;
}
header[role=banner] .wrap .navButton:before {
  content: "";
  width: 60px;
  height: 60px;
  position: absolute;
  display: block;
  top: -18px;
  left: -20px;
}
header[role=banner] .wrap .navButton span {
  height: 1px;
  width: 20px;
  background-color: black;
  display: block;
  pointer-events: none;
}
header[role=banner] .wrap .navButton span + span {
  margin-top: 6px;
}
header[role=banner] .wrap .seperateMenu {
  background-color: black;
  white-space: nowrap;
  padding: 12px 10px;
  text-align: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
}
header[role=banner] .wrap .seperateMenu ul {
  width: 100%;
  padding-right: 40px;
}
header[role=banner] .wrap .seperateMenu ul li {
  list-style: none;
  color: white;
  display: inline-block;
  font-size: 0.625rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  position: relative;
}
header[role=banner] .wrap .seperateMenu ul li + li {
  margin-left: 20px;
}
header[role=banner] .wrap .seperateMenu ul li:hover ul {
  display: block;
}
header[role=banner] .wrap .seperateMenu ul li:hover:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  height: 18px;
  background: transparent;
  z-index: 999;
}
header[role=banner] .wrap .seperateMenu ul li ul {
  position: absolute;
  top: 24px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  background-color: black;
  padding: 16px 10px;
  display: none;
  min-width: 200px;
  z-index: 1000;
}
header[role=banner] .wrap .seperateMenu ul li ul li {
  display: block;
}
header[role=banner] .wrap .seperateMenu ul li ul li + li {
  margin-top: 20px;
}
header[role=banner] .wrap .mainMenu {
  position: fixed;
  top: 0;
  right: -100%;
  z-index: 10000000;
  width: 100%;
  height: 100%;
  background-color: #f1f1f1;
  -webkit-transition: all 300ms cubic-bezier(0.55, 0.085, 0.68, 0.53);
  -ms-transition: all 300ms cubic-bezier(0.55, 0.085, 0.68, 0.53);
  transition: all 300ms cubic-bezier(0.55, 0.085, 0.68, 0.53);
}
header[role=banner] .wrap .mainMenu .contain > button {
  background-position: -80px -170px;
  width: 15px;
  height: 15px;
  text-indent: -9999px;
  margin: 60px 30px 0 auto;
}
header[role=banner] .wrap .mainMenu .contain nav {
  margin-top: 26px;
  margin-left: 40px;
}
header[role=banner] .wrap .mainMenu .contain nav ul li a {
  font-size: 1rem;
  color: black;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  line-height: 2.5;
}
header[role=banner] .wrap .secondaryNav {
  position: fixed;
  top: -100%;
  left: 0;
  z-index: 1000000000;
  width: 100%;
  height: 100%;
  overflow: auto;
  visibility: hidden;
  background-color: #f1f1f1;
  -webkit-transition: all 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  -ms-transition: all 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition: all 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
header[role=banner] .wrap .secondaryNav .contain {
  padding: 40px;
  padding-bottom: 100px;
}
header[role=banner] .wrap .secondaryNav .contain > button {
  background-position: -80px -170px;
  width: 15px;
  height: 15px;
  text-indent: -9999px;
  position: absolute;
  top: 40px;
  right: 30px;
}
header[role=banner] .wrap .secondaryNav .contain h3 {
  font-size: 0.625rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  display: block;
  margin-bottom: 34px;
}
header[role=banner] .wrap .secondaryNav .contain h3 span {
  display: block;
  font-size: 1.25rem;
  font-variant: small-caps;
  text-transform: lowercase;
}
header[role=banner] .wrap .secondaryNav .contain .restaurants .cols .col + .col {
  margin-top: 34px;
}
header[role=banner] .wrap .secondaryNav .contain .restaurants .cols .col figure {
  margin-bottom: 20px;
}
header[role=banner] .wrap .secondaryNav .contain .restaurants .cols .col .text h2 {
  font-size: 0.625rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  display: block;
  font-size: 0.75rem;
  padding-bottom: 12px;
}
header[role=banner] .wrap .secondaryNav .contain .restaurants .cols .col .text p {
  font-size: 0.875rem;
  line-height: 1.28;
}

.hero {
  background-position: center center;
  background-size: cover;
  padding-top: 65%;
  position: relative;
}
.hero button, .hero a {
  width: 100%;
  height: 40px;
  text-transform: uppercase;
  font-size: 0.75rem;
  display: block;
  background-color: black;
  color: white;
  text-align: center;
  letter-spacing: 0.05em;
  width: 180px;
  background-color: rgba(0, 0, 0, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.75);
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -20px;
  margin-left: -90px;
}
.hero a {
  padding-top: 13px;
}

.hero + .slider {
  margin-top: 100px;
}

.reservations .wrap h2 {
  text-align: center;
  text-transform: lowercase;
  font-size: 1.25rem;
  letter-spacing: 0.025em;
  font-variant: small-caps;
  padding-bottom: 12px;
  padding-bottom: 40px;
}
.reservations .wrap .cols {
  margin: 40px 10px 20px 10px;
}
.reservations .wrap .cols .col {
  position: relative;
}
.reservations .wrap .cols .col.contactCol {
  margin: 0 30px;
}
.reservations .wrap .cols .col.contactCol:before {
  content: "";
  background-image: -webkit-radial-gradient(circle closest-side, black 99%, transparent 0);
  background-image: -moz-radial-gradient(circle closest-side, black 99%, transparent 0);
  background-image: -ms-radial-gradient(circle closest-side, black 99%, transparent 0);
  background-image: radial-gradient(circle closest-side, black 99%, transparent 0);
  background-repeat: repeat-x;
  background-size: 6px 2px;
  background-position: left top;
  overflow: hidden;
  width: 300px;
  min-height: 4px;
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  bottom: -4px;
}
.reservations .wrap .cols .col .text h2 {
  padding-bottom: 12px;
}
.reservations .wrap .cols .col .text h4, .reservations .wrap .cols .col .text p {
  text-align: center;
  font-size: 1rem;
  line-height: 1.375;
}
.reservations .wrap .cols .col .text h4 {
  font-weight: 600;
  font-variant: small-caps;
  text-transform: lowercase;
}
.reservations .wrap .cols .col .text p + h4 {
  margin-top: 30px;
}
.reservations .wrap .cols .col + .col {
  padding-bottom: 35px;
  padding-top: 35px;
}
.reservations .wrap .cols .col form > button {
  width: 100%;
  height: 40px;
  text-transform: uppercase;
  font-size: 0.75rem;
  display: block;
  background-color: black;
  color: white;
  text-align: center;
  letter-spacing: 0.05em;
  margin-top: 16px;
  margin-bottom: 10px;
}
.reservations .wrap .cols .col form .quantity .input {
  position: relative;
  border-bottom: 1px solid black;
  padding: 0 0 10px 0;
}
.reservations .wrap .cols .col form .quantity .input input {
  padding-right: 32px;
}
.reservations .wrap .cols .col form .quantity .input label {
  position: absolute;
  top: 12px;
  left: 50%;
  margin-left: -6px;
  font-size: 1.125rem;
}
.reservations .wrap .cols .col form .quantity .input button {
  background-position: -20px -160px;
  width: 20px;
  height: 20px;
  display: block;
  position: absolute;
  top: 0;
  left: 20px;
}
.reservations .wrap .cols .col form .quantity .input button:before {
  content: "";
  background-color: transparent;
  width: 40px;
  height: 40px;
  display: block;
  position: absolute;
  top: -10px;
  left: -10px;
}
.reservations .wrap .cols .col form .quantity .input button + button {
  background-position: -50px -170px;
  width: 20px;
  height: 1px;
  left: auto;
  top: 10px;
  right: 20px;
}
.reservations .wrap .cols .col form .input {
  padding: 18px 0;
  position: relative;
}
.reservations .wrap .cols .col form .input + .input {
  border-top: 1px solid black;
}
.reservations .wrap .cols .col form .input.select select {
  position: absolute;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0;
  opacity: 0.01;
  top: 0;
  left: 0;
}
.reservations .wrap .cols .col form .input.select label.hidden-select-replace {
  position: relative;
  top: 10px;
  font-size: 1.125rem;
  text-align: center;
  display: block;
  pointer-events: none;
}
.reservations .wrap .cols .col form .input.select:after {
  content: "";
  background-position: -20px -190px;
  width: 18px;
  height: 10px;
  display: block;
  position: absolute;
  top: 25px;
  right: 21px;
  pointer-events: none;
}
.reservations .wrap .cols .col form .input input, .reservations .wrap .cols .col form .input select {
  text-align: center;
  font-size: 1.125rem;
}

.textPanel + .slider {
  margin-top: 100px;
}
.textPanel.greyBg {
  background-color: #f1f1f1;
}
.textPanel.featuredPanel.whiteBg .wrap .text {
  background-color: #f1f1f1;
}
.textPanel.featuredPanel .wrap h2 {
  padding-bottom: 25px;
}
.textPanel.featuredPanel .wrap .contain .text {
  background-color: white;
  padding: 25px 25px 40px 25px;
  margin: 0 12px;
  position: relative;
  -webkit-transform: translateY(-44px);
  -ms-transform: translateY(-44px);
  transform: translateY(-44px);
}
.textPanel.featuredPanel .wrap .contain .text time {
  font-size: 0.625rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  display: block;
  padding-bottom: 10px;
}
.textPanel.featuredPanel .wrap .contain .text h3 {
  text-transform: uppercase;
  line-height: 1.4;
  padding-bottom: 8px;
}
.textPanel.introduction {
  text-align: center;
}
.textPanel .wrap {
  padding: 40px 20px;
}
.textPanel .wrap h2 {
  text-align: center;
  text-transform: lowercase;
  font-size: 1.25rem;
  letter-spacing: 0.025em;
  font-variant: small-caps;
  padding-bottom: 12px;
  padding-bottom: 30px;
}
.textPanel .wrap p {
  font-size: 1.125rem;
  letter-spacing: 0.025em;
  line-height: 1.4;
  text-align: center;
}
.textPanel .wrap p strong {
  font-weight: 600;
}
.textPanel .wrap p + p {
  margin-top: 26px;
}
.textPanel .wrap p a {
  font-weight: 600;
}
.textPanel .wrap .link {
  margin-top: 8px;
  font-size: 0.625rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  display: block;
  text-align: center;
  display: block;
  padding-bottom: 6px;
  position: relative;
}
.textPanel .wrap .link:after {
  content: "";
  width: 140px;
  height: 1px;
  background-color: black;
  display: block;
  margin: 8px auto 0 auto;
}
.textPanel .wrap figure {
  margin-bottom: 30px;
}
.textPanel .wrap .view {
  width: 100%;
  height: 40px;
  text-transform: uppercase;
  font-size: 0.75rem;
  display: block;
  background-color: black;
  color: white;
  text-align: center;
  letter-spacing: 0.05em;
  padding-top: 14px;
  position: absolute;
  bottom: -16px;
  left: 0;
  right: 0;
  width: 220px;
  margin: 0 auto;
}

.menus {
  margin-bottom: 60px;
  margin-top: 60px;
}
.menus.hours .wrap .links .menu {
  padding-bottom: 100px;
}
.menus.hours .wrap .links .menu p {
  margin-top: 0;
}
.menus .wrap {
  margin: 0 20px;
}
.menus .wrap h2 {
  text-align: center;
  text-transform: lowercase;
  font-size: 1.25rem;
  letter-spacing: 0.025em;
  font-variant: small-caps;
  padding-bottom: 12px;
  font-size: 1.875rem;
  padding-bottom: 60px;
}
.menus .wrap p {
  margin-top: 30px;
  text-align: center;
}
.menus .wrap .links .menu {
  position: relative;
  display: block;
  text-align: center;
  border: 1px solid gray;
  width: auto;
  margin: 0 auto;
  padding: 0 20px 55px 20px;
}
.menus .wrap .links .menu + .menu {
  margin-top: 60px;
}
.menus .wrap .links .menu .contain {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  margin: 0 auto;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
.menus .wrap .links .menu h3 {
  background: white;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  display: inline-block;
  padding: 0 20px;
  text-transform: uppercase;
  font-size: 1.25rem;
  letter-spacing: 0.01em;
}
.menus .wrap .links .menu h3 + h4 {
  margin-top: 40px;
}
.menus .wrap .links .menu h3 + p {
  margin-top: 40px;
}
.menus .wrap .links .menu p + h4 {
  margin-top: 25px;
}
.menus .wrap .links .menu h4 {
  font-size: 1.375rem;
  padding-bottom: 10px;
  text-transform: none;
}
.menus .wrap .links .menu p {
  line-height: 1.15;
  font-size: 1rem;
}
.menus .wrap .links .menu span {
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.01em;
  display: block;
  margin-top: 50px;
  font-weight: 700;
}
.menus .wrap .links .menu span + span {
  margin-top: 0;
}
.menus .wrap .text {
  padding: 38px 40px;
}
.menus .wrap .text h2 {
  padding-bottom: 12px;
}
.menus .wrap .text h4, .menus .wrap .text p {
  text-align: center;
  font-size: 1rem;
  line-height: 1.375;
}
.menus .wrap .text h4 {
  font-weight: 600;
  font-variant: small-caps;
  text-transform: lowercase;
}

.slider {
  margin-left: 10px;
  margin-bottom: 120px;
  overflow: hidden;
}
.slider .wrap .swiper-container .swiper-wrapper .swiper-slide {
  background-size: cover;
  padding-top: 72%;
  width: -moz-calc(100% - 36px);
  width: -o-calc(100% - 36px);
  width: -webkit-calc(100% - 36px);
  width: calc(100% - 36px);
  margin-right: 24px;
}

.news {
  margin-top: 22px;
  margin-bottom: 80px;
}
.news.jobsArticle .wrap article .text .downloads {
  margin-top: 35px;
}
.news.jobsArticle .wrap article .text .downloads a {
  width: 100%;
  height: 40px;
  text-transform: uppercase;
  font-size: 0.75rem;
  display: block;
  background-color: black;
  color: white;
  text-align: center;
  letter-spacing: 0.05em;
  padding-top: 14px;
}
.news.jobsArticle .wrap article .text .downloads a + a {
  margin-top: 20px;
}
.news.jobsArticle .wrap article .text .vacancy {
  padding-bottom: 40px;
  position: relative;
}
.news.jobsArticle .wrap article .text .vacancy + .vacancy {
  padding-top: 40px;
}
.news.jobsArticle .wrap article .text .vacancy + .vacancy:before {
  content: "";
  height: 1px;
  background-color: black;
  display: block;
  width: 140px;
  position: absolute;
  top: 0;
  left: 0;
}
.news.jobsArticle .wrap article .text h3 {
  text-align: center;
  font-weight: normal;
  font-size: 1.25rem;
  text-transform: lowercase;
  font-variant: small-caps;
  letter-spacing: 0.025em;
}
.news.jobsArticle .wrap article .text h5 {
  font-size: 0.625rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  display: block;
  margin-top: 14px;
}
.news.jobsArticle .wrap article .text p {
  font-size: 1.125rem;
}
.news.jobsArticle .wrap article .text p + h3 {
  margin-top: 26px;
}
.news.jobsArticle .wrap article .text h3 + .vacancy {
  margin-top: 30px;
}
.news.jobsArticle .wrap article .text h3 + p {
  margin-top: 30px;
}
.news.jobsArticle .wrap article .text h4 {
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding-bottom: 16px;
}
.news.mainArticle .wrap article {
  margin: 0;
}
.news.mainArticle .wrap article .text {
  margin: 34px 40px;
}
.news.mainArticle .wrap article .text figure {
  margin: 40px 0;
}
.news.mainArticle .wrap article .text h3 {
  padding-top: 0;
}
.news.mainArticle .wrap article .text time {
  padding-top: 34px;
  padding-bottom: 20px;
}
.news.mainArticle .wrap article .social {
  margin-top: 32px;
}
.news.mainArticle .wrap article .social a {
  font-size: 0;
  display: inline-block;
  position: relative;
  height: 40px;
}
.news.mainArticle .wrap article .social a:before {
  content: "";
  background-position: -260px -20px;
  width: 9px;
  height: 17px;
  display: block;
  position: relative;
  top: 13px;
}
.news.mainArticle .wrap article .social a + a {
  margin-left: 20px;
  padding-left: 20px;
  border-left: 1px solid black;
}
.news.mainArticle .wrap article .social a.twitter:before {
  background-position: -230px -20px;
  width: 18px;
  height: 15px;
}
.news.mainArticle .wrap article .social a.instagram:before {
  background-position: -280px -20px;
  width: 18px;
  height: 18px;
}
.news .wrap .link {
  font-size: 0.625rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  display: block;
  text-align: center;
  display: block;
  padding-bottom: 6px;
  position: relative;
}
.news .wrap .link:after {
  content: "";
  width: 140px;
  height: 1px;
  background-color: black;
  display: block;
  margin: 8px auto 0 auto;
}
.news .wrap header {
  margin: 0 10px 26px 10px;
}
.news .wrap header h2 {
  font-variant: small-caps;
  font-size: 1.25rem;
  text-align: center;
  border-top: 1px solid black;
  border-bottom: 1px solid black;
  letter-spacing: 0.025em;
  text-transform: lowercase;
  padding: 10px 0;
}
.news .wrap article {
  margin: 0 40px 40px 40px;
}
.news .wrap article .text h3 {
  font-size: 1.125rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  line-height: 1.4;
  padding-top: 18px;
}
.news .wrap article .text time {
  font-size: 0.625rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding-top: 12px;
  display: block;
}
.news .wrap article .text ul {
  margin: 20px 0 20px 20px;
}
.news .wrap article .text ul li {
  font-size: 1rem;
  line-height: 1.35;
}
.news .wrap article .text ul li + li {
  margin-top: 10px;
}
.news .wrap article .text ul + p {
  margin-top: 40px;
}
.news .wrap article .text p {
  font-size: 1rem;
  line-height: 1.35;
}
.news .wrap article .text p a {
  font-weight: 600;
}
.news .wrap article .text p + p {
  margin-top: 15px;
}
.news .wrap article .text blockquote {
  margin: 50px 0;
}
.news .wrap article .text blockquote p {
  font-size: 1.375rem;
}
.news .wrap article figure a {
  display: block;
  height: 100%;
  width: 100%;
}

.contactPanel.contactPage .wrap {
  margin-top: 22px;
}
.contactPanel .wrap {
  margin: 40px 38px 40px 38px;
  text-align: center;
}
.contactPanel .wrap header h2 {
  padding: 10px 0;
  border-top: 1px solid black;
  border-bottom: 1px solid black;
}
.contactPanel .wrap h2 {
  text-align: center;
  text-transform: lowercase;
  font-size: 1.25rem;
  letter-spacing: 0.025em;
  font-variant: small-caps;
  padding-bottom: 12px;
  padding-bottom: 30px;
}
.contactPanel .wrap .joinMailing {
  width: 100%;
  height: 40px;
  text-transform: uppercase;
  font-size: 0.75rem;
  display: block;
  background-color: black;
  color: white;
  text-align: center;
  letter-spacing: 0.05em;
}
.contactPanel .wrap .cols {
  margin-top: 30px;
}
.contactPanel .wrap .cols .col {
  padding-bottom: 26px;
  position: relative;
}
.contactPanel .wrap .cols .col:before {
  content: "";
  background-image: -webkit-radial-gradient(circle closest-side, black 99%, transparent 0);
  background-image: -moz-radial-gradient(circle closest-side, black 99%, transparent 0);
  background-image: -ms-radial-gradient(circle closest-side, black 99%, transparent 0);
  background-image: radial-gradient(circle closest-side, black 99%, transparent 0);
  background-repeat: repeat-x;
  background-size: 6px 2px;
  background-position: left top;
  overflow: hidden;
  width: 300px;
  min-height: 4px;
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  bottom: -4px;
}
.contactPanel .wrap .cols .col figure {
  margin: 0 auto 30px auto;
}
.contactPanel .wrap .cols .col.jamesSt figure {
  width: 120px;
  height: 29px;
}
.contactPanel .wrap .cols .col.cookerySchool figure {
  width: 84px;
  height: 64px;
}
.contactPanel .wrap .cols .col.hadskis figure {
  width: 194px;
  height: 21px;
}
.contactPanel .wrap .cols .col:last-of-type:before {
  display: none;
}
.contactPanel .wrap .cols .col + .col {
  margin-top: 48px;
}
.contactPanel .wrap .cols .col .text p {
  font-size: 1rem;
  line-height: 1.3;
}
.contactPanel .wrap .cols .col .text p + p {
  margin-top: 30px;
}
.contactPanel .wrap .cols .col .text .link {
  font-size: 0.625rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  display: block;
  text-align: center;
  display: block;
  padding-bottom: 6px;
  position: relative;
  margin-top: 33px;
}
.contactPanel .wrap .cols .col .text .link:after {
  content: "";
  width: 140px;
  height: 1px;
  background-color: black;
  display: block;
  margin: 8px auto 0 auto;
}
.contactPanel .wrap .cols .col .text .link + .link {
  margin-top: 0;
}

footer {
  background-color: black;
  color: white;
}
footer .wrap {
  padding: 24px;
}
footer .wrap .logos {
  float: left;
}
footer .wrap .logos figure {
  width: 100px;
}
footer .wrap .logos figure + figure {
  margin-top: 20px;
}
footer .wrap nav ul li {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  line-height: 1.8;
  list-style: none;
}
footer .wrap nav ul + ul {
  margin-top: 30px;
}
footer .wrap .links {
  float: right;
}
footer .wrap .links button {
  color: white;
  font-size: 0.625rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  line-height: 1.8;
  border-bottom: 1px solid white;
  width: auto;
  text-align: left;
}
footer .wrap .links .social {
  margin-top: 7px;
}
footer .wrap .links .social a {
  font-size: 0;
  display: inline-block;
  position: relative;
}
footer .wrap .links .social a:before {
  content: "";
  background-position: -20px -330px;
  width: 9px;
  height: 16px;
  display: block;
}
footer .wrap .links .social a + a {
  margin-left: 12px;
}
footer .wrap .links .social a.twitter:before {
  background-position: -40px -330px;
  width: 16px;
  height: 14px;
}
footer .wrap .links .social a.instagram:before {
  background-position: -60px -330px;
  width: 16px;
  height: 16px;
}

.mailingListModal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100000000;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.5);
  height: 100%;
  -webkit-transition-timing-function: linear;
  -webkit-transition-duration: 300ms;
  -webkit-transition-property: all;
  -moz-transition-timing-function: linear;
  -moz-transition-duration: 300ms;
  -moz-transition-property: all;
  -o-transition-timing-function: linear;
  -o-transition-duration: 300ms;
  -o-transition-property: all;
  -ms-transition-timing-function: linear;
  -ms-transition-duration: 300ms;
  -ms-transition-property: all;
  transition-timing-function: linear;
  transition-duration: 300ms;
  transition-property: all;
  opacity: 0;
  pointer-events: none;
}
.mailingListModal.certificate, .mailingListModal.contactForm {
  opacity: 1;
  pointer-events: all;
  background-color: transparent;
  position: static;
}
.mailingListModal.certificate .wrap, .mailingListModal.contactForm .wrap {
  box-shadow: 0 0 0 0px rgba(0, 0, 0, 0);
}
.mailingListModal .wrap {
  background-color: white;
  margin: 80px 10px 0 10px;
  padding: 20px;
  position: relative;
  -webkit-box-shadow: 2px 2px 5px 0px rgba(0, 0, 0, 0.5);
  -ms-box-shadow: 2px 2px 5px 0px rgba(0, 0, 0, 0.5);
  box-shadow: 2px 2px 5px 0px rgba(0, 0, 0, 0.5);
}
.mailingListModal .wrap h2 {
  text-align: center;
  text-transform: lowercase;
  font-size: 1.25rem;
  letter-spacing: 0.025em;
  font-variant: small-caps;
  padding-bottom: 12px;
  padding-bottom: 30px;
}
.mailingListModal .wrap .close {
  text-indent: -9999px;
  background-position: -80px -170px;
  width: 15px;
  height: 15px;
  position: absolute;
  top: 0;
  right: 20px;
}
.mailingListModal .wrap form.success p.success {
  display: block !important;
}
.mailingListModal .wrap form p.success {
  margin: 0 auto;
}
.mailingListModal .wrap form .errors {
  width: 100%;
  margin-bottom: 20px;
  color: red;
}
.mailingListModal .wrap form .input {
  margin-bottom: 12px;
}
.mailingListModal .wrap form .input #card-element {
  font-family: "Gotham A", "Gotham B" !important;
  height: 40px;
  padding: 10px 18px 0;
  border: 1px solid black;
}
.mailingListModal .wrap form .input #InputElement {
  font-family: "Gotham A", "Gotham B" !important;
}
.mailingListModal .wrap form .input input, .mailingListModal .wrap form .input textarea, .mailingListModal .wrap form .input select {
  border: 1px solid black;
  height: 40px;
  padding: 0 18px;
}
.mailingListModal .wrap form .input input, .mailingListModal .wrap form .input textarea, .mailingListModal .wrap form .input label, .mailingListModal .wrap form .input select {
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #989898;
}
.mailingListModal .wrap form .input input[type=file] {
  border: 0;
  margin-top: 10px;
  padding: 0;
}
.mailingListModal .wrap form .input ::-webkit-file-upload-button {
  border: 1px solid black;
  height: 40px;
  text-transform: uppercase;
  background-color: transparent;
  letter-spacing: 0.05em;
  color: #989898;
  font-size: 0.75rem;
  padding: 0 20px;
}
.mailingListModal .wrap form .input textarea {
  height: 120px;
  padding-top: 10px;
}
.mailingListModal .wrap form .input label {
  left: 18px;
}
.mailingListModal .wrap form .smInput {
  margin-top: 12px;
}
.mailingListModal .wrap form .smInput h5 {
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding-bottom: 12px;
}
.mailingListModal .wrap form .smInput .input {
  float: left;
  width: -moz-calc(100% / 3 - 8px);
  width: -o-calc(100% / 3 - 8px);
  width: -webkit-calc(100% / 3 - 8px);
  width: calc(100% / 3 - 8px);
}
.mailingListModal .wrap form .smInput .input + .input {
  margin-top: 0;
  margin-left: 12px;
}
.mailingListModal .wrap form button {
  width: 100%;
  height: 40px;
  text-transform: uppercase;
  font-size: 0.75rem;
  display: block;
  background-color: black;
  color: white;
  text-align: center;
  letter-spacing: 0.05em;
  margin-top: 12px;
}

.bookings .wrap {
  padding: 28px 20px;
  position: relative;
}
.bookings .wrap .chooseRestaurant h2 {
  font-weight: 700;
  font-size: 1.375rem;
  line-height: 1.3;
  padding: 38px 0 9px 0;
}
.bookings .wrap .chooseRestaurant h2 a {
  text-decoration: underline !important;
}
.bookings .wrap .chooseRestaurant p {
  line-height: 1.3;
  font-size: 1.125rem;
  padding: 0.5em 0;
}
.bookings .wrap .chooseRestaurant p a {
  font-weight: 600;
}
.bookings .wrap .bookRestaurant {
  margin-top: 40px;
}
.bookings .wrap .bookRestaurant iframe {
  width: 100% !important;
  height: 600px !important;
}

.bookingModal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100000;
  width: 100%;
  background-color: white;
  height: 100%;
  -webkit-transition-timing-function: linear;
  -webkit-transition-duration: 300ms;
  -webkit-transition-property: all;
  -moz-transition-timing-function: linear;
  -moz-transition-duration: 300ms;
  -moz-transition-property: all;
  -o-transition-timing-function: linear;
  -o-transition-duration: 300ms;
  -o-transition-property: all;
  -ms-transition-timing-function: linear;
  -ms-transition-duration: 300ms;
  -ms-transition-property: all;
  transition-timing-function: linear;
  transition-duration: 300ms;
  transition-property: all;
  opacity: 0;
  pointer-events: none;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.bookingModal .wrap {
  padding: 28px 40px;
  position: relative;
  overflow: auto;
  height: 100%;
  -webkit-overflow-scrolling: touch;
}
.bookingModal .wrap .chooseRestaurant h2 {
  font-weight: 700;
  font-size: 1.375rem;
  line-height: 1.3;
  padding: 38px 0 9px 0;
}
.bookingModal .wrap .chooseRestaurant h2 a {
  text-decoration: underline !important;
}
.bookingModal .wrap .chooseRestaurant p {
  line-height: 1.3;
  font-size: 1.125rem;
  padding: 0.5em 0;
}
.bookingModal .wrap .chooseRestaurant p a {
  font-weight: 600;
}
.bookingModal .wrap .chooseRestaurant button {
  width: 100%;
  height: 40px;
  text-transform: uppercase;
  font-size: 0.75rem;
  display: block;
  background-color: black;
  color: white;
  text-align: center;
  letter-spacing: 0.05em;
  background-color: white;
  color: black;
  border: 1px solid black;
}
.bookingModal .wrap .chooseRestaurant button.active {
  background-color: black;
  border: 0;
  color: white;
}
.bookingModal .wrap .chooseRestaurant button + button {
  margin-top: 20px;
}
.bookingModal .wrap .close {
  text-indent: -9999px;
  background-position: -80px -170px;
  width: 15px;
  height: 15px;
  position: absolute;
  top: 28px;
  right: 40px;
}
.bookingModal .wrap .bookRestaurant {
  display: none;
}
.bookingModal .wrap .bookRestaurant iframe {
  width: 320px !important;
  height: 600px !important;
}
.bookingModal .wrap .bookRestaurant.showRestaurant {
  display: block;
}

#CDSWIDWRL {
  margin: -20px auto 0 auto !important;
  width: 100% !important;
  max-width: unset !important;
}
#CDSWIDWRL .widWRLData {
  max-height: unset !important;
  overflow: visible !important;
  padding-right: 7px !important;
}
#CDSWIDWRL .widWRLData.border {
  border: 0 !important;
}
#CDSWIDWRL .widWRLRate {
  margin-right: 0 !important;
}
#CDSWIDWRL .widWRLBranding, #CDSWIDWRL .widWRLLink {
  display: none !important;
}
#CDSWIDWRL .widWRLRating {
  height: unset !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
}
#CDSWIDWRL .widWRLRating span {
  float: unset !important;
  display: block !important;
  width: unset !important;
  height: unset !important;
  overflow: visible !important;
  font-size: 1rem !important;
}
#CDSWIDWRL .widWRLRating .ui_bubble_rating {
  font-size: 3rem !important;
  -webkit-text-stroke: 4px white !important;
  margin-left: 3px !important;
}
#CDSWIDWRL .widWRLRating .ui_bubble_rating:after {
  color: black !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
}
#CDSWIDWRL .widWRLRatingText {
  color: #999999 !important;
  font-family: "EB Garamond", serif !important;
  text-align: center !important;
  margin-bottom: 35px !important;
  margin-top: 15px !important;
  margin-right: 8px !important;
  flex-basis: 100% !important;
}
#CDSWIDWRL .widWRLReview {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 560px !important;
  margin-top: -15px !important;
}
#CDSWIDWRL .widWRLReview textarea {
  font-family: "EB Garamond", serif !important;
  color: black !important;
  resize: none !important;
  width: calc(100% - 30px) !important;
  padding: 15px 10px 0 15px !important;
  max-width: 560px !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  max-height: unset !important;
  height: 115px !important;
}
#CDSWIDWRL .widWRLButton {
  max-width: 290px !important;
  margin: 0 auto !important;
}
#CDSWIDWRL .widWRLButton input {
  font-family: "EB Garamond", serif !important;
  border-radius: 0 !important;
  font-size: 1rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  text-transform: uppercase !important;
  width: 260px !important;
  height: 55px !important;
}

/*# sourceMappingURL=mobile.css.map */
