body {
  width: 100%;
  zoom: 1; }
  body:before, body:after {
    content: "";
    display: table; }
  body:after {
    clear: both; }

/* grid */
/* breakpoints */
/* other stuff */
/* ---variables--- */
/* light grey */
/* green */
/* dark green */
/* white */
/* wider grid */
.grid {
  max-width: 1200px; }

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

#footer {
  background: none; }

#navbar {
  background: url("/images/bg_texture_transparent.png") top center repeat; }

/*@media screen and (min-width: $tablet_min) {
  body.index #billboard {
    display: none;
  }
}*/
/* ---typography--- */
body, p {
  font-family: "sirba-web", serif;
  font-size: 19px;
  font-weight: 400;
  line-height: 1.6em;
  color: #8C8D8F;
  margin-bottom: 0.5em; }

h1, h2, h3, h4, h5 {
  font-family: "azo-sans-web", sans-serif;
  font-size: 1.2em;
  font-weight: 500;
  line-height: 1.4em;
  text-transform: uppercase;
  letter-spacing: 2px;
  word-spacing: 2px;
  color: #518F42;
  padding-top: 0;
  margin-bottom: 0.5em;
  margin-top: 0; }

.fine-print {
  font-family: "sirba-web", serif;
  font-size: 0.75em;
  font-style: italic;
  line-height: 1.4em;
  color: #518F42;
  margin-bottom: 2em; }

.employee .title, form label, .dresscode-title {
  font-family: "azo-sans-web", sans-serif;
  font-weight: 700;
  font-size: 0.8em;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  line-height: 1.7em;
  margin-bottom: 0.25em;
  margin-top: 1.5em; }

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

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

div.hours {
  margin-bottom: 1em;
  margin-top: 1em; }

/* font sizes on mobile */
@media screen and (max-width: 667px) {
  body, p {
    font-size: 17px; }

  .fine-print {
    font-size: 0.85em; }

  h1 {
    font-size: 1em;
    margin-bottom: 0.25em; } }
/* ---navigation - desktop--- */
/* type styles */
@media screen and (min-width: 668px) {
  #navbar .nav ul {
    height: 65px; }
    #navbar .nav ul li {
      line-height: 65px; }

  #logo {
    height: 65px;
    line-height: 65px; } }
#navbar .nav ul li {
  padding: 0 0.4em; }
  #navbar .nav ul li a, #navbar .nav ul li a:hover, #navbar .nav ul li a:focus {
    font-family: "azo-sans-web", sans-serif;
    font-size: 0.8em;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #518F42; }
  #navbar .nav ul li a:hover, #navbar .nav ul li a:focus, #navbar .nav ul li a.selected {
    color: #32572A; }
#navbar .nav ul li.reservation a, #navbar .nav ul li.reservation a:hover, #navbar .nav ul li.reservation a:focus {
  font-family: "sirba-web", serif;
  font-size: 1em;
  font-weight: 400;
  font-style: italic;
  text-transform: lowercase;
  letter-spacing: 0; }

/* size/position the logo */
#logo img {
  max-height: 100%;
  max-width: 90%;
  padding: 5px 0 12px 0; }

/* hide grey line after nav bar */
.seam.after:after {
  background: none; }

@media screen and (min-width: 668px) {
  #logo {
    display: inline;
    float: left;
    width: 12.893081761%;
    margin: 0 1.8867924528%; }

  #navbar .nav ul {
    display: inline;
    float: left;
    width: 79.5597484277%;
    margin: 0 1.8867924528%; } }
@media screen and (max-width: 1024px) and (min-width: 668px) {
  #navbar .nav ul li {
    padding: 0 0.2em; }
    #navbar .nav ul li a, #navbar .nav ul li a:focus, #navbar .nav ul li a:hover {
      font-size: 0.8em; }
  #navbar .nav ul li.reservation a, #navbar .nav ul li.reservation a:focus, #navbar .nav ul li.reservation a:hover {
    font-size: 0.9em; } }
/* wrap navigation to two lines */
/*@media screen and (max-width: 869px) {
  #navbar .nav ul {
    padding-top: $header_height / 6.0;
    height: $header_height / 3.0;
    line-height: $header_height / 3.0;
    li {
      line-height: $header_height / 3.0;
      a, a:focus, a:hover {
       font-size: 0.65em;
      }
    }
    li.reservation {
      a, a:focus, a:hover {
       font-size: 0.9em;
      }
    }
  }
}*/
/* ---buttons--- */
/* typography for buttons (a.button and li containing nav a) */
a.button, a.button:hover, a.button:focus, ul.buttons li,
form input.button[type="submit"], form input.button[type="submit"]:hover,
form input.button[type="submit"]:focus,
button, button:hover, button:focus {
  font-family: "azo-sans-web", sans-serif;
  font-size: 0.7em;
  line-height: 2.3em;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
  background: none;
  border: 2px solid #518F42;
  border-radius: 0;
  margin-bottom: 0.75em; }

@media screen and (min-width: 668px) and (max-width: 800px) {
  a.button, a.button:hover, a.button:focus, ul.buttons li {
    font-size: 0.65em; }

  ul.menus li {
    padding: 0 0.15em; } }
/* set color and padding for buttons */
a.button, ul.buttons li a, form input.button[type="submit"],
button {
  color: #518F42;
  padding: 0.3em 1.6em; }

@media screen and (max-width: 667px) {
  a.button, ul.buttons li a {
    padding: 0.6em 2em; } }
a.button:hover, a.button:focus,
ul.buttons li a:hover, ul.buttons li a:focus,
form input.button[type="submit"]:hover, form input.button[type="submit"]:focus,
button:hover, button:focus {
  color: #F5F3F2;
  background: #518F42; }

/* create button lists on mobile, for nav and menus */
@media screen and (max-width: 667px) {
  ul.buttons, ul.menus {
    border-top: 2px solid #518F42; }
    ul.buttons li, ul.menus li {
      margin-top: 0;
      margin-bottom: 0;
      padding-right: 0;
      border-top: none; }
      ul.buttons li a, ul.buttons li a:hover, ul.buttons li a:focus, ul.menus li a, ul.menus li a:hover, ul.menus li a:focus {
        padding: 0.75em 2em;
        margin-top: 0;
        margin-bottom: 0;
        border-top: none; }

  /* put menus div on the grid so margins match .blurb */
  ul.menus {
    display: inline;
    float: left;
    width: 96.2264150943%;
    margin: 0 1.8867924528%; }

  /* priority-nav button */
  #priority-nav {
    color: #F5F3F2;
    background: #518F42;
    font-family: "sirba-web", serif;
    font-size: 1.5em;
    font-style: italic;
    text-transform: lowercase;
    letter-spacing: 0;
    padding: 0; }

  #priority-nav:hover, #priority-nav:focus {
    background: #32572A;
    border: 2px solid #32572A; } }
/* ---site wide adjustments--- */
/* footer */
#footer p {
  font-size: 12px; }

@media screen and (max-width: 667px) {
  #scroll {
    padding-bottom: 200px; } }
/*custom back arrow */
@media screen and (max-width: 667px) {
  #back img {
    display: none; }

  #back {
    background-image: url("/images/back_green.png"); } }
/* blurb, mainbar, sidebar spacing */
.blurb, .sidebar, .mainbar {
  padding: 1.5em 0 1em 0; }

@media screen and (max-width: 667px) {
  .blurb, .sidebar, .mainbar {
    padding-top: 1em; } }
@media screen and (min-width: 668px) {
  .mobile-only {
    display: none; } }
/* ---page specific styles--- */
/* index page */
body.index #billboard {
  background-position: top center; }

@media screen and (max-width: 1024px) {
  body.index #billboard {
    background-size: cover;
    background-position: right top; } }
@media screen and (max-width: 667px) {
  body.index #billboard {
    background-size: 200%;
    background-position: left top; } }
@media screen and (min-width: 668px) {
  body.index #container > #about {
    display: inline;
    float: left;
    width: 62.893081761%;
    margin: 0 1.8867924528%;
    margin-left: 18.5534591195%;
    margin-right: 18.5534591195%;
    background: white;
    padding: 3em 4em;
    top: 200px;
    text-align: center; }
    body.index #container > #about p {
      font-size: 28px;
      line-height: 1.6em;
      margin-bottom: 0;
      color: #518F42; }

  body.index #footer p, body.index #footer a {
    color: white; } }
@media screen and (max-width: 1024px) and (min-width: 668px) {
  body.index #container > #about {
    padding: 2em;
    top: 300px;
    display: inline;
    float: left;
    width: 79.5597484277%;
    margin: 0 1.8867924528%;
    margin-left: 10.2201257862%;
    margin-right: 10.2201257862%; }
    body.index #container > #about p {
      font-size: 24px; } }
@media screen and (max-width: 667px) {
  body.index #container > #about {
    display: inline;
    float: left;
    width: 96.2264150943%;
    margin: 0 1.8867924528%;
    padding-top: 1em; }
    body.index #container > #about img {
      display: none; }
    body.index #container > #about a.button {
      display: none; } }
/* line through reservations link */
.strikethrough {
  border-bottom: 1px solid #518F42;
  height: 1em;
  margin: 2em 15%; }

@media screen and (max-width: 667px) {
  .strikethrough {
    display: none; } }
/* menus page */
.menu-list {
  text-align: center;
  zoom: 1; }
  .menu-list:before, .menu-list:after {
    content: "";
    display: table; }
  .menu-list:after {
    clear: both; }

/* all text left aligned on mobile */
@media screen and (max-width: 667px) {
  .blurb, body.index #container > #about {
    text-align: left; }
    .blurb h1, body.index #container > #about h1 {
      text-align: left; } }
/* gallery page */
.gallery {
  padding-top: 1em; }

/* gift card page, button positioning */
@media screen and (min-width: 668px) {
  .gift-left-block {
    display: inline;
    float: left;
    width: 21.2264150943%;
    margin: 0 1.8867924528%;
    margin-left: 26.8867924528%; }

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

  .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%; } }
/* contact page */
@media screen and (min-width: 668px) {
  .mainbar.contact-page {
    display: inline;
    float: left;
    width: 46.2264150943%;
    margin: 0 1.8867924528%;
    margin-right: 10.2201257862%; }

  .sidebar.contact-page {
    display: inline;
    float: left;
    width: 29.5597484277%;
    margin: 0 1.8867924528%;
    margin-left: 10.2201257862%; } }
/* size map img */
.map img {
  border: 6px double #518F42;
  max-width: 95%; }

/* hide map on mobile*/
@media screen and (max-width: 667px) {
  .sidebar.contact-page {
    display: none; } }
/* only stack employee name and title on small screens */
@media screen and (min-width: 668px) {
  .employee .title {
    display: inline;
    padding-right: 0.5em; }

  /* spacing for dining info and comments buttons */
  .employees {
    margin-bottom: 1.5em; }

  .contact-page a.button {
    margin-right: 0.5em; } }
.contact-info {
  margin-top: 1em; }

ul.social {
  margin-top: 2em;
  margin-bottom: 0; }

/* smaller text for contact info */
@media screen and (min-width: 668px) {
  .contact-info p, .contact-info table {
    font-size: 0.9em; }
  .contact-info table.hours td {
    line-height: 1.7em; } }
