@charset "UTF-8";
body {
  width: 100%;
  zoom: 1; }
  body:before, body:after {
    content: "";
    display: table; }
  body:after {
    clear: both; }

/* grid */
/* breakpoints */
/* other stuff */
/* ---variables--- */
/* dark brown */
/* burnt orange */
/* ochre */
/* off-white */
/* white */
/* wider grid */
.grid {
  max-width: 1200px; }

/* ---background colors/styles--- */
body, #scroll, #footer, div.lbox {
  background: #F7F5F2 url("/images/bg_texture.png") top center repeat; }

#navbar {
  background: #F7F5F2;
  opacity: 0.95; }

@media screen and (min-width: 668px) {
  body.index #footer {
    background: none; }
    body.index #footer p, body.index #footer a, body.index #footer div {
      color: #F7F5F2;
      border-bottom: none; } }
/* positioning billboard images on mobile, needs more work */
@media screen and (max-width: 667px) {
  #navbar {
    opacity: 1; }

  #billboard {
    top: 40px; }

  body.index #billboard {
    top: 0; } }
/* logo size */
#logo img {
  max-height: 80%;
  max-width: 100%; }

/* ----container padding/margin resets---- */
.blurb {
  padding-top: 1.6em; }

@media screen and (max-width: 667px) {
  .blurb {
    padding-top: 0.8em;
    padding-bottom: 1em;
    text-align: left; } }
.mainbar {
  padding-top: 0.5em; }

.sidebar {
  padding: 0.5em 2em 1.5em 0em; }

/* ----start font styling---- */
/* default typography */
body, p {
  font-family: "expo-serif-pro", serif, serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.5em;
  color: #362f2d; }

@media screen and (max-width: 667px) {
  body, p {
    font-size: 17px;
    line-height: 1.4em; } }
.person p {
  padding-top: 0.5em; }

h1, .blurb h1 {
  font-family: "expo-serif-pro", serif, serif;
  font-size: 1.7em;
  line-height: 1.3em;
  font-weight: 600;
  text-transform: capitalize;
  letter-spacing: 0;
  margin: 0em 0em 0.5em 0em;
  padding: 0; }

/* Dining Info page */
ul.bullets {
  list-style-position: outside;
  margin-left: 1.25em; }
  ul.bullets li {
    margin-bottom: 1em; }

ul.bullets li:before {
  content: "•";
  float: left;
  color: #A0410D;
  font-size: 1.8em;
  margin-left: -0.65em; }

/* for history, contact and careers pages */
#container > h1:first-child {
  margin-top: 1em; }

@media screen and (max-width: 667px) {
  #container > h1:first-child {
    margin-top: 0.5em; } }
/* make h1 look like an h2 on index page */
@media screen and (min-width: 668px) {
  h1#intro {
    font-family: "proxima-nova", sans-serif, sans-serif;
    font-size: 0.85em;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.13em;
    color: #A0410D;
    text-align: left;
    /*padding-left: 1.887%;*/
    /*make up for margin on #about. ghetto */ } }
h2 {
  font-family: "proxima-nova", sans-serif, sans-serif;
  font-size: 0.85em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.13em;
  color: #A0410D;
  padding: 0;
  margin-bottom: 0.25em;
  margin-top: 1.75em; }

.new-section {
  margin-top: 3em; }

/* history page, h2 following a p gets top margin */
p + h2 {
  margin-top: 2em; }

h3 {
  font-family: "expo-serif-pro", serif, serif;
  font-size: 1.2em;
  font-weight: 600;
  text-transform: capitalize;
  letter-spacing: 0;
  padding: 0;
  margin-bottom: 0.25em; }

.fine-print {
  font-size: 0.9em;
  line-height: 1.4em;
  font-style: italic;
  color: #A0410D;
  margin-bottom: 1.5em; }
  .fine-print a, .fine-print a:hover, .fine-print a:focus {
    color: #A0410D;
    border-bottom: 1px dotted #A0410D; }
  .fine-print a:focus, .fine-print a:hover {
    border-bottom: 1px solid #A0410D; }

#about .fine-print {
  margin-bottom: 0; }

.announcement {
  font-style: italic;
  font-size: 1.1em;
  line-height: 1.4em;
  margin-top: 0.75em;
  margin-bottom: 1.5em;
  color: #A0410D; }
  .announcement a {
    color: #A0410D;
    border-bottom: 1px dotted #A0410D; }
  .announcement a:hover, .announcement a:focus {
    border-bottom: 1px solid #A0410D; }

@media screen and (max-width: 667px) {
  .announcement {
    font-size: 1em; } }
form label, .ajax label {
  font-family: "proxima-nova", sans-serif, sans-serif;
  font-size: 0.6em;
  font-weight: 600; }

#footer {
  font-size: 1em; }
  #footer p {
    font-size: 0.85em; }

/* links */
a {
  color: #362f2d;
  border-bottom: 1px dotted #362f2d; }

a:hover, a:focus {
  color: #A0410D;
  border-bottom: 1px dotted #A0410D; }

/* nav - desktop */
#navbar .nav ul li a, #navbar .nav ul li a:hover, #navbar .nav ul li a:focus {
  font-family: "proxima-nova", sans-serif, sans-serif;
  font-weight: 700;
  font-size: 0.7em;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #362f2d; }
#navbar .nav ul li a:hover, #navbar .nav ul li a:focus {
  color: #A0410D; }
#navbar .nav ul li a.selected {
  color: #A0410D; }

/* buttons */
a.button, a.button:hover, a.button:focus, ul.buttons li,
form input[type="submit"], form input[type="submit"]:hover, form input[type="submit"]:focus,
form input[type="submit"]:hover:disabled, form input[type="submit"]:focus:disabled,
button, button:hover, button:focus {
  font-family: "proxima-nova", sans-serif, sans-serif;
  font-weight: 700;
  font-size: 0.8em;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  border: 2px solid #A0410D;
  border-radius: 0; }

form input[type="submit"]:disabled, button:disabled {
  opacity: 0.5; }

a.button, a.button:hover, a.button:focus, ul.buttons li a {
  padding: 0.65em 1.4em; }

@media screen and (max-width: 667px) {
  a.button, a.button:hover, a.button:focus, ul.buttons li a {
    padding: 1em 1.4em; } }
a.button, ul.buttons a, form input[type="submit"], form input[type="submit"]:active, button {
  color: #A0410D;
  background: none; }

a.button:hover, a.button:focus,
ul.buttons li a:hover, ul.buttons li a:focus,
form input[type="submit"]:hover:enabled, form input[type="submit"]:focus:enabled,
button:hover, button:focus {
  color: #F7F5F2;
  background: #A0410D; }

@media screen and (max-width: 667px) {
  a.button, form input[type="submit"], button {
    width: 100%;
    margin-right: 0;
    margin-left: 0; } }
/*nav buttons - mobile */
ul.buttons {
  border-top: 2px solid #A0410D; }
  ul.buttons li {
    border: 2px solid #A0410D;
    border-top: none;
    background: none; }

/*priority-nav button */
#priority-nav {
  font-family: "expo-serif-pro", serif;
  font-size: 1.4em;
  font-weight: 400;
  font-style: italic;
  text-transform: capitalize;
  letter-spacing: 0;
  color: #F7F5F2;
  background: #A0410D;
  padding: 0.75em 0; }

/* ----page specific styles---- */
/* sidebar changes for tablet - careers and contact pages */
@media screen and (max-width: 800px) and (min-width: 668px) {
  .sidebar {
    padding-right: 0.5em; }
    .sidebar li, .sidebar p {
      font-size: 0.9em; } }
/* index page */
/* about info on index page */
body.index #about {
  display: none;
  /* hidden at mobile size */ }
  body.index #about p {
    line-height: 1.4em;
    font-size: 0.9em; }

@media screen and (max-width: 667px) {
  ul.concepts {
    margin-top: 1em; } }
/* style ABOUT US header */
body.index h1 {
  margin: 1em 0em 0.75em 0em; }

/* gift cards */
@media screen and (min-width: 668px) {
  .gift-left-block {
    display: inline;
    float: left;
    width: 29.5597484277%;
    margin: 0 1.8867924528%;
    margin-left: 18.5534591195%; }

  .gift-right-block {
    display: inline;
    float: left;
    width: 29.5597484277%;
    margin: 0 1.8867924528%;
    margin-right: 18.5534591195%; }

  .gift-left-block a.button, .gift-right-block a.button {
    width: 100%; } }
@media screen and (min-width: 668px) and (max-width: 1024px) {
  .gift-left-block {
    display: inline;
    float: left;
    width: 37.893081761%;
    margin: 0 1.8867924528%;
    margin-left: 10.2201257862%; }

  .gift-right-block {
    display: inline;
    float: left;
    width: 37.893081761%;
    margin: 0 1.8867924528%;
    margin-right: 10.2201257862%; } }
@media screen and (max-width: 667px) {
  .gift-left-block, .gift-right-block {
    display: inline;
    float: left;
    width: 96.2264150943%;
    margin: 0 1.8867924528%; } }
/*careers page, space between sections */
.career-listing {
  padding-bottom: 0.5em; }

.careers-form {
  padding-top: 1em; }

form p, .ajax p {
  display: inline;
  float: left;
  width: 62.893081761%;
  margin: 0 1.8867924528%;
  margin-left: 18.5534591195%;
  margin-right: 18.5534591195%;
  margin-bottom: 1em; }

form hr, .ajax hr {
  display: inline;
  float: left;
  width: 62.893081761%;
  margin: 0 1.8867924528%;
  margin-left: 18.5534591195%;
  margin-right: 18.5534591195%;
  margin-top: 1em;
  margin-bottom: 1em;
  border: none;
  /*  border-top: solid 1px #CCC;*/ }

form .follow-up, .ajax .follow-up {
  display: inline;
  float: left;
  width: 79.5597484277%;
  margin: 0 1.8867924528%;
  margin-left: 18.5534591195%;
  margin-right: 18.5534591195%; }
  form .follow-up *, .ajax .follow-up * {
    line-height: 1.5em; }
  form .follow-up input, form .follow-up select, form .follow-up textarea, .ajax .follow-up input, .ajax .follow-up select, .ajax .follow-up textarea {
    width: auto;
    display: inline;
    float: none;
    margin: 0;
    margin-bottom: 1em; }
  form .follow-up .conditional, .ajax .follow-up .conditional {
    display: none; }
  form .follow-up span, .ajax .follow-up span {
    padding: 0.5em 1em 0.5em 0.5em; }

@media screen and (max-width: 667px) {
  form p, form hr, form .follow-up,
  .ajax p, .ajax hr, .ajax .follow-up {
    display: inline;
    float: left;
    width: 96.2264150943%;
    margin: 0 1.8867924528%; }

  form .conditional, .ajax .conditional {
    display: none; }

  form hr, .ajax hr {
    margin-top: 1em;
    margin-bottom: 1em; }

  form p, .ajax p {
    margin-bottom: 1em; } }
ul.link-list li {
  line-height: 1.75em; }

/* Locations */
/* state divider */
h1.divider, .grid > h1.divider {
  position: relative;
  height: 0.75em;
  border-bottom: 3px solid #A0410D;
  color: #A0410D;
  margin: 2em 0em 1.5em 0em;
  padding: 0;
  text-align: center;
  width: 100%; }

@media screen and (max-width: 667px) {
  h1.divider, .grid > h1.divider {
    margin: 1.5em 0em 1em 0em; } }
/* state name */
h1.divider span {
  font-family: "proxima-nova", sans-serif, sans-serif;
  font-size: 20px;
  display: inline-block;
  padding: 0 0.5em;
  margin-top: -0.5em;
  background: #F7F5F2 url("/images/bg_texture.png") top center repeat;
  text-transform: uppercase;
  font-style: normal;
  font-weight: bold;
  letter-spacing: 0.25em; }

@media screen and (min-width: 668px) {
  h1.divider span {
    font-size: 24px;
    padding: 0em 1em; } }
/* from here down styled for mobile first */
#map {
  display: none;
  /* mobile */ }

/* location blob */
.location {
  display: inline;
  float: left;
  width: 96.2264150943%;
  margin: 0 1.8867924528%;
  zoom: 1;
  padding-bottom: 3em; }
  .location:before, .location:after {
    content: "";
    display: table; }
  .location:after {
    clear: both; }
  .location .photo {
    display: inline;
    float: left;
    width: 96.2264150943%;
    margin: 0 1.8867924528%;
    max-height: 250px;
    overflow: hidden; }
    .location .photo img {
      width: 100%; }
  .location .info {
    display: inline;
    float: left;
    width: 96.2264150943%;
    margin: 0 1.8867924528%; }
  .location .text-block {
    display: block;
    margin-bottom: 1em; }
  .location a.button {
    width: 100%;
    margin: inherit 0; }
  .location h3 {
    margin-top: 0; }

/* state buttons on mobile */
#state-index {
  display: inline;
  float: left;
  width: 79.5597484277%;
  margin: 0 1.8867924528%;
  margin-left: 10.2201257862%;
  display: block;
  text-align: center;
  margin-bottom: 2em; }
  #state-index li {
    display: inline-block;
    border: solid 2px #A0410D;
    margin-top: 0.2em;
    border-radius: 0; }
    #state-index li a, #state-index li a:hover, #state-index li a:active {
      display: inline-block;
      min-width: 2em;
      text-transform: uppercase;
      font-family: "proxima-nova", sans-serif;
      color: #A0410D;
      font-weight: 600;
      border: none;
      margin: 2px; }
    #state-index li a:hover, #state-index li a:focus, #state-index li a:active {
      color: #F7F5F2; }
  #state-index li:hover, #state-index li:active, #state-index li:focus {
    background: #A0410D; }

/* on tablet switch to two column grid */
@media screen and (min-width: 668px) {
  .location {
    display: inline;
    float: left;
    width: 46.2264150943%;
    margin: 0 1.8867924528%; } }
/* on desktop switch to three column grid */
@media screen and (min-width: 1025px) {
  .location {
    display: inline;
    float: left;
    width: 29.5597484277%;
    margin: 0 1.8867924528%; } }
/* ---end Locations--- */
/* people page */
/* style person listing at mobile */
.person {
  display: inline;
  float: left;
  width: 96.2264150943%;
  margin: 0 1.8867924528%;
  margin-bottom: 3em; }
  .person img {
    width: 100%; }

/* ----changes styles for desktop---- */
@media screen and (min-width: 668px) {
  /* overriding an @include column(12) for mobile? */
  #logo {
    display: inline;
    float: left;
    width: 21.2264150943%;
    margin: 0 1.8867924528%; }

  #navbar .nav {
    display: block; }
    #navbar .nav ul {
      display: inline;
      float: left;
      width: 71.2264150943%;
      margin: 0 1.8867924528%; }

  body.index {
    /* hide priority nav and duplicate navigation on desktop */
    /* hide scroll to allow for full bleed img on index page */
    /* style about container on index page */ }
    body.index #scroll #priority-nav, body.index #scroll .nav {
      display: none; }
    body.index #scroll {
      background: none;
      margin-top: 0;
      padding-bottom: 0; }
    body.index #container {
      display: block;
      z-index: 3;
      display: inline;
      float: left;
      width: 79.5597484277%;
      margin: 0 1.8867924528%;
      margin-right: 18.5534591195%;
      background-color: #F7F5F2;
      opacity: 0.9;
      padding: 1.75em 1.75em 2.5em 1.75em;
      margin-top: 130px;
      margin-bottom: 65px; }
    body.index #about {
      display: inline;
      float: left;
      width: 46.2264150943%;
      margin: 0 1.8867924528%;
      display: block; }
    body.index #footer {
      display: block;
      position: fixed;
      bottom: 0;
      padding: 0.5em 0; }
    body.index #footer.seam.before:before {
      display: table;
      height: 3px; }

  /* styling for concept names on index page, desktop size */
  ul.concepts, ul.buttons {
    display: inline;
    float: left;
    width: 46.2264150943%;
    margin: 0 1.8867924528%;
    border: none;
    margin-top: 1em;
    margin-right: 0; }
    ul.concepts li, ul.buttons li {
      /* scoot the concept names to the right on tablet */
      display: inline;
      float: left;
      width: 79.5597484277%;
      margin: 0 1.8867924528%;
      margin-left: 18.5534591195%;
      display: inline-block;
      background: none;
      border: none;
      padding: 0;
      text-transform: none;
      text-align: left; }
      ul.concepts li a, ul.buttons li a {
        font-family: "expo-serif-pro", serif, serif;
        font-size: 17px;
        font-weight: 600;
        letter-spacing: 0;
        color: #362f2d;
        line-height: 1.75em;
        padding: 0; }
      ul.concepts li a:hover, ul.concepts li a:focus, ul.buttons li a:hover, ul.buttons li a:focus {
        color: #A0410D;
        background: none; }

  /* map sizing for desktop */
  #map {
    display: inline;
    float: left;
    width: 62.893081761%;
    margin: 0 1.8867924528%;
    margin-left: 18.5534591195%;
    margin-top: 1em;
    margin-bottom: 1em;
    position: relative; }
    #map img {
      width: 100%; }

  .star {
    display: block;
    position: absolute;
    margin-top: -18px;
    margin-left: -18px;
    width: 36px;
    height: 36px;
    background: url("/images/star_off.png");
    background-size: 100%;
    text-decoration: none;
    border-bottom: none;
    z-index: 10; }

  .star > .banner {
    position: absolute;
    background-color: white;
    line-height: 36px;
    top: 0;
    left: 36px;
    width: auto;
    white-space: nowrap;
    display: none;
    text-transform: uppercase;
    font-size: 80%;
    padding-right: 1em; }

  .star:hover {
    background: url("/images/star_on.png");
    /*background-color: white;*/
    background-size: 100%;
    text-decoration: none;
    border-bottom: none; }
    .star:hover .banner {
      /*display: inline;*/ }

  /* hide state list on desktop */
  ul#state-index {
    display: none; }

  /* two column people grid at tablet */
  .person {
    display: inline;
    float: left;
    width: 46.2264150943%;
    margin: 0 1.8867924528%;
    float: none;
    display: inline-block;
    vertical-align: top;
    margin-bottom: 3em; } }
/* smaller text size for location listings on desktop */
@media screen and (min-width: 668px) {
  .location .info p {
    font-size: 0.9em; }
  .location .info h3 {
    font-size: 1em; } }
/* override restaurant listing on index page at tablet sizes */
@media screen and (min-width: 668px) and (max-width: 1024px) {
  body.index #about {
    display: inline;
    float: left;
    width: 96.2264150943%;
    margin: 0 1.8867924528%;
    display: block;
    margin-bottom: 1em; }
  body.index ul.concepts, body.index ul.buttons {
    display: inline;
    float: left;
    width: 96.2264150943%;
    margin: 0 1.8867924528%;
    margin-left: 0; }
    body.index ul.concepts li, body.index ul.buttons li {
      display: inline;
      float: left;
      width: 46.2264150943%;
      margin: 0 1.8867924528%;
      display: inline-block; } }
/* override restaurant listing in partial tablet range */
@media screen and (min-width: 800px) and (max-width: 1024px) {
  body.index ul.concepts li, body.index ul.buttons li {
    display: inline;
    float: left;
    width: 29.5597484277%;
    margin: 0 1.8867924528%;
    display: inline-block; } }
@media screen and (min-width: 800px) {
  /* 3 column people grid, before we hit "desktop" */
  .person {
    display: inline;
    float: left;
    width: 29.5597484277%;
    margin: 0 1.8867924528%;
    float: none;
    display: inline-block;
    vertical-align: top;
    margin-bottom: 3em; } }
/* desktop changes that weren't already taken care of at tablet size */
@media screen and (min-width: 1025px) {
  /* two column concept names */
  ul.concepts li, ul.buttons li {
    display: inline;
    float: left;
    width: 46.2264150943%;
    margin: 0 1.8867924528%; } }
/* stack navigation items once they don't fit */
@media screen and (max-width: 1111px) {
  #navbar .nav ul {
    padding-top: 10.8333333333px;
    height: 18.5714285714px;
    line-height: 18.5714285714px; }
    #navbar .nav ul li {
      line-height: 18.5714285714px; } }
@media screen and (max-width: 800px) {
  #navbar .nav ul li a, #navbar .nav ul li a:hover, #navbar .nav ul li a:focus {
    font-size: 0.6em; }

  #navbar .nav ul li {
    padding: 0 0.15em; } }
/* styles for temporary concept pages */
/* location cards */
.location.card {
  background: rgba(97, 63, 27, 0.05);
  padding: 1em;
  margin-bottom: 2em;
  min-height: 23em;
  font-size: 17px; }
  .location.card .hours {
    margin: 1em 0; }
  .location.card p {
    font-size: 17px; }

@media screen and (min-width: 668px) {
  .location.half {
    display: inline;
    float: left;
    width: 46.2264150943%;
    margin: 0 1.8867924528%;
    margin-bottom: 2em; } }
/* apply form */
.blurb.apply {
  padding-bottom: 4em; }
  .blurb.apply p {
    margin-bottom: 1.5em; }

/* history page */
.history {
  display: inline;
  float: left;
  width: 96.2264150943%;
  margin: 0 1.8867924528%; }
  .history p {
    margin-bottom: 1.5em; }
  .history .fine-print {
    margin-top: 0;
    margin-bottom: 2em; }
  .history img {
    margin-top: 0.5em; }

@media screen and (min-width: 668px) {
  .history {
    display: inline;
    float: left;
    width: 71.2264150943%;
    margin: 0 1.8867924528%;
    margin-left: 14.3867924528%;
    margin-right: 14.3867924528%;
    margin-top: 2em; } }
/* gc balance dev form */
.gc-balance-dev {
  display: inline;
  float: left;
  width: 46.2264150943%;
  margin: 0 1.8867924528%;
  margin-left: 26.8867924528%; }
  .gc-balance-dev #textResults {
    width: 100%;
    height: 400px;
    border: solid 1px #362f2d;
    font-family: Courier New, Courier;
    font-size: 16px;
    line-height: 1.4em; }

/* egift card page */
#store_selector {
  margin: 0.5em 0 3.5em;
  width: auto; }

@media screen and (max-width: 667px) {
  #store_selector {
    width: 100%; } }
#cart-embed {
  transform: translateY(70px); }
