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

/* grid */
/* breakpoints */
/* other stuff */
/* ---variables--- */
/* #F5F5ED off-white */
/* light grey */
/* dark grey */
/* wider grid */
.grid {
  max-width: 1024px; }

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

body.index #footer, #footer {
  background: none; }

/* grid lines */
@media screen and (min-width: 668px) {
  #navbar .nav {
    border-top: solid 2px #FAFAF5;
    border-bottom: solid 2px #FAFAF5; }

  .sidebar {
    border-left: solid 2px #FAFAF5; }

  .section + .section {
    border-top: solid 2px #FAFAF5; } }
/* ---typography--- */
body, p {
  font-family: "garamond-premier-pro-caption", serif;
  font-size: 22px;
  font-weight: 500;
  font-style: italic;
  line-height: 1.25em;
  margin-bottom: 1em;
  color: #FAFAF5; }

@media screen and (max-width: 930px) {
  body, p {
    font-size: 20px; } }
h1, h2, h3, h4, h5 {
  font-family: "ff-dagny-web-pro", sans-serif;
  font-size: 0.6em;
  font-weight: 700;
  line-height: 1.3em;
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #FAFAF5;
  text-align: left;
  padding: 0;
  margin-top: 0;
  margin-bottom: 0.75em; }

@media screen and (min-width: 668px) {
  h1 {
    font-size: 0.75em; } }
.employee .title, form label, .dresscode-title {
  font-family: "ff-dagny-web-pro", sans-serif;
  font-size: 0.6em;
  font-weight: 700;
  text-transform: uppercase;
  font-style: normal;
  letter-spacing: 0.18em;
  color: #FAFAF5; }

a {
  color: #FAFAF5;
  border-bottom: 1px dotted #FAFAF5; }

a:hover, a:focus {
  color: #FAFAF5;
  border-bottom: 1px solid #FAFAF5; }

/* ---navigation - desktop--- */
/* type styles */
#navbar .nav ul {
  height: 60px; }
  #navbar .nav ul li {
    line-height: 60px; }
    #navbar .nav ul li a, #navbar .nav ul li a:hover, #navbar .nav ul li a:focus {
      font-family: "ff-dagny-web-pro", sans-serif;
      font-size: 0.6em;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 2px;
      color: #FAFAF5; }
    #navbar .nav ul li a:hover, #navbar .nav ul li a:focus, #navbar .nav ul li a.selected {
      padding-bottom: 2px;
      border-bottom: 1px dotted #FAFAF5; }

/* larger logo */
@media screen and (min-width: 668px) {
  #logo {
    height: 125px;
    line-height: 125px; } }
@media screen and (min-width: 668px) and (max-width: 1024px) {
  #logo {
    height: 100px;
    line-height: 100px; }
    #logo img {
      margin-top: 10px; } }
/* custom white house logo welcome link */
#navbar .nav ul li.welcome a {
  display: inline-block;
  background-image: url("/images/house.png");
  background-position: center 40%;
  background-repeat: no-repeat;
  width: 55px;
  height: 100%;
  text-indent: -99999px;
  white-space: nowrap;
  border-bottom: none; }

/* smaller nav on tablet */
@media screen and (min-width: 668px) and (max-width: 930px) {
  #navbar .nav ul li {
    padding: 0 0.3em; } }
/* ---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: "ff-dagny-web-pro", sans-serif;
  font-size: 0.6em;
  line-height: 2em;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 2px;
  background: none;
  border: 2px dotted #96948D;
  border-radius: 0;
  /*margin-bottom: 0.5em;
  margin-top: 0.25em;*/ }

/* shift padding to the right side of bottons so left align works */
ul.menus li {
  padding: 0; }

a.button {
  margin-right: 0.5em; }

/* extra bottom margin on mobile */
@media screen and (max-width: 667px) {
  a.button {
    margin-bottom: 1em; } }
/* set color and padding for buttons */
a.button, ul.buttons li a, form input.button[type="submit"], button {
  color: #FAFAF5;
  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: #434240;
  background: #96948D; }

/* create button lists on mobile, for nav and menus */
@media screen and (max-width: 667px) {
  ul.buttons, ul.menus {
    border-top: 2px dotted #96948D; }
    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.85em 2em;
        margin-top: 0;
        margin-bottom: 0;
        border-top: none; }

  ul.buttons li:hover, ul.buttons li:focus {
    border: 2px solid #96948D;
    border-top: none; }

  /* hide priority nav */
  body.index #priority-nav {
    display: none; } }
/* ---site wide adjustments--- */
/* footer */
#footer .grid {
  border-top: none; }
#footer p {
  font-size: 0.85em; }

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

  #back {
    background-image: url("/images/shared/back_white.png"); } }
/* container padding */
.mainbar, .sidebar {
  padding-top: 2em; }

@media screen and (max-width: 930px) and (min-width: 668px) {
  .mainbar {
    padding-right: 0;
    padding-left: 1em; }

  .sidebar > * {
    padding-left: 1.5em; }

  .sidebar p, .sidebar table {
    font-size: 0.85em; } }
@media screen and (max-width: 667px) {
  .mainbar, .sidebar {
    padding-top: 1em; } }
/* sidebar spacing */
table.hours {
  margin: 0; }

.employees {
  margin-top: 0.5em; }

div.hours {
  margin-top: 0; }

/* position billboard images on mobile */
@media screen and (max-width: 667px) {
  #billboard {
    top: 50px; } }
/* ---page specific styling--- */
/* index page */
.mainbar img {
  max-width: 75%;
  margin-bottom: 1.5em; }

body.index .mainbar img {
  max-width: 100%;
  padding: 0.25em;
  margin: 0.5em 0;
  border: 2px dotted #96948D; }

img + h2 {
  margin-top: 1em; }

@media screen and (max-width: 667px) {
  img + h2 {
    margin-top: 2em; } }
@media screen and (max-width: 900px) {
  .mainbar img {
    max-width: 90%; } }
@media screen and (max-width: 667px) {
  body.index .mainbar img {
    display: none; } }
/* gallery page */
.gallery {
  padding-top: 2em; }
  .gallery img {
    padding: 5px;
    border: 2px dotted #96948D; }
  .gallery a:hover img, .gallery a:focus img {
    border: 2px solid #96948D; }
  .gallery a {
    margin-bottom: 1em; }

@media screen and (max-width: 667px) {
  .gallery {
    padding-top: 4em; } }
/* dark placeholder text */
::-webkit-input-placeholder {
  color: #333; }

:-moz-placeholder {
  color: #333; }

::-moz-placeholder {
  color: #333; }

:-ms-input-placeholder {
  color: #333; }

/* social */
.instagram a {
  background-image: url("/images/shared/instagram-icon-light.png"); }

.yelp a {
  background-image: url("/images/shared/yelp-icon-light.png"); }

.facebook a {
  background-image: url("/images/shared/facebook-icon-light.png"); }

.tripadvisor a {
  background-image: url("/images/shared/tripadvisor-icon-light.png"); }

ul.social li a {
  opacity: 0.85; }
