@import url(http://fonts.googleapis.com/css?family=Droid+Serif:400,700);
* {
  box-sizing: border-box; }

.text-center {
  text-align: center; }

h2 {
  font-size: 1.5em; }

.wrapper {
  min-height: 100%; }

html {
  height: 100%;
  background-color: #f2f3f3;
  margin: 0;
  padding: 0; }

body {
  min-height: 100%;
  margin: 0;
  padding: 0;
  font-family: "Droid Serif", serif;
  color: #040407;
  background-image: url(/images/cove.jpg);
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
  padding-bottom: 1em; }

body.photos {
  background-image: none;
  background-color: #f2f3f3; }
  body.photos .top-container {
    background-color: transparent;
    width: 100%;
    max-width: none;
    padding: 0; }
  body.photos .menu {
    background-color: transparent; }
  body.photos h1 {
    font-size: 2.5em;
    font-weight: 400;
    margin-bottom: 0; }
  body.photos .subheading {
    text-align: center;
    font-size: 1.25em;
    margin-bottom: 1em; }
  body.photos .footer {
    color: #5e6565; }

.photo-container {
  width: 100%;
  min-height: 300px; }
  .photo-container .photo .caption p:first-child {
    margin-top: 0; }
  .photo-container .photo {
    width: 100%;
    font-size: 1.25em;
    margin-bottom: 1em; }
    .photo-container .photo img {
      width: 100%;
      max-width: 100%; }
    @media screen and (max-width: 768px) {
      .photo-container .photo {
        font-size: 1em; }
        .photo-container .photo .caption {
          position: static !important;
          margin: 1em 0 3em !important;
          width: 100% !important;
          padding: 0 1em !important; } }
  .photo-container.kp-2 .photo {
    position: relative; }
    .photo-container.kp-2 .photo:before {
      display: block;
      content: "";
      width: 100%;
      padding-top: 72.42413%; }
    .photo-container.kp-2 .photo > .content, .photo-container.kp-2 .photo > img {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0; }
  .photo-container.overlay .caption {
    padding: 0 1em;
    margin: 1em auto 3em; }
  @media screen and (min-width: 1140px) {
    .photo-container.overlay .caption {
      position: absolute;
      width: 75%;
      left: 12.5%;
      bottom: 1em;
      margin: 0;
      padding: 0; } }
  .photo-container.plan .photo {
    position: relative; }
    .photo-container.plan .photo:before {
      display: block;
      content: "";
      width: 100%;
      padding-top: 133.33333%; }
    .photo-container.plan .photo > .content, .photo-container.plan .photo > img {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0; }
  .photo-container.plan .caption {
    top: 1em;
    bottom: auto; }
  .photo-container.dinghy-clay .photo-ratio {
    position: relative; }
    .photo-container.dinghy-clay .photo-ratio:before {
      display: block;
      content: "";
      width: 100%;
      padding-top: 78.64793%; }
    .photo-container.dinghy-clay .photo-ratio > .content, .photo-container.dinghy-clay .photo-ratio > img {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0; }
  .photo-container.left .photo, .photo-container.right .photo {
    width: 100%; }
    .photo-container.left .photo .photo-ratio, .photo-container.right .photo .photo-ratio {
      width: 100%;
      margin-bottom: 1em; }
    .photo-container.left .photo .caption, .photo-container.right .photo .caption {
      margin-bottom: 3em; }
    @media screen and (min-width: 800px) {
      .photo-container.left .photo, .photo-container.right .photo {
        position: relative; }
        .photo-container.left .photo .photo-ratio, .photo-container.right .photo .photo-ratio {
          width: 67%; }
        .photo-container.left .photo .caption, .photo-container.right .photo .caption {
          position: absolute;
          top: 50%;
          width: 33%;
          transform: translateY(-50%);
          padding: 0 0.5em; }
        .photo-container.left .photo:after, .photo-container.right .photo:after {
          content: ' ';
          clear: both;
          display: block; } }
  .photo-container.left .photo .photo-ratio {
    float: left;
    margin-right: 1em; }
  .photo-container.left .photo .caption {
    right: 0;
    left: auto; }
  .photo-container.right .photo .photo-ratio {
    float: right;
    margin-left: 1em; }
  .photo-container.right .photo .caption {
    left: 0;
    right: auto; }
  .photo-container.center .caption {
    margin: 1em 1em 3em; }
  .photo-container.square .photo {
    max-width: 800px;
    margin: 0 auto; }
  .photo-container.square .caption {
    margin: 0; }
  .photo-container.nixon {
    background-color: black;
    color: #f2f3f3;
    padding: 1em; }
    .photo-container.nixon .photo-ratio {
      position: relative; }
      .photo-container.nixon .photo-ratio:before {
        display: block;
        content: "";
        width: 100%;
        padding-top: 80.19148%; }
      .photo-container.nixon .photo-ratio > .content, .photo-container.nixon .photo-ratio > img {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0; }
  .photo-container.jefferson .photo {
    position: relative; }
    .photo-container.jefferson .photo:before {
      display: block;
      content: "";
      width: 100%;
      padding-top: 133.33333%; }
    .photo-container.jefferson .photo > .content, .photo-container.jefferson .photo > img {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0; }
  .photo-container.homeward .photo-ratio {
    position: relative; }
    .photo-container.homeward .photo-ratio:before {
      display: block;
      content: "";
      width: 100%;
      padding-top: 128.08399%; }
    .photo-container.homeward .photo-ratio > .content, .photo-container.homeward .photo-ratio > img {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0; }
  .photo-container.towndock .photo {
    position: relative; }
    .photo-container.towndock .photo:before {
      display: block;
      content: "";
      width: 100%;
      padding-top: 124.29668%; }
    .photo-container.towndock .photo > .content, .photo-container.towndock .photo > img {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0; }

.menu-wrapper {
  width: 100%;
  height: 5em;
  padding-top: 1em; }

.menu {
  width: 95%;
  text-align: center;
  max-width: 900px;
  margin: 0 auto;
  background-color: rgba(242, 243, 243, 0.75);
  height: 100%;
  font-size: 0.85em;
  padding-top: 1em; }
  @media screen and (min-width: 768px) {
    .menu {
      padding-top: 0.5em;
      font-size: 1em;
      padding-top: 1.5em; } }

.menu a, .menu a:visited {
  text-decoration: none;
  color: #919898 !important;
  white-space: nowrap;
  -moz-transition: color, 0.3s, ease-in-out;
  -o-transition: color, 0.3s, ease-in-out;
  -webkit-transition: color, 0.3s, ease-in-out;
  transition: color, 0.3s, ease-in-out; }
  .menu a:hover, .menu a:visited:hover {
    color: #5e6565 !important; }

@media screen and (max-width: 768px) {
  .menu-separator.middle {
    display: block;
    color: transparent; } }
.menu a.selected {
  color: black !important; }

body.home {
  background-image: none;
  padding-bottom: 0; }

body.home .menu {
  background-color: transparent;
  text-shadow: 0 0 5px rgba(255, 255, 255, 0.5); }

.menu-separator {
  margin: 0 0.5em;
  color: #abb1b1;
  font-size: 0.5em;
  position: relative;
  bottom: 0.25em; }
  @media screen and (min-width: 860px) {
    .menu-separator {
      margin: 0 1.5em; } }

body.press .top-container img {
  display: block;
  margin: 0 auto;
  width: 100%;
  max-width: 200px; }
  body.press .top-container img.wide-press-photo {
    max-width: 600px; }

p, .quote {
  line-height: 1.75em; }

.container {
  width: 95%;
  max-width: 900px;
  padding: 1em 2em;
  margin: 0 auto; }

.container.top-container {
  background-color: #f2f3f3;
  padding-bottom: 4em;
  margin-bottom: 2em; }

.cove-wrapper {
  position: fixed;
  z-index: -1;
  top: 0;
  width: 100%;
  height: 100%;
  background-image: url(/images/cove.jpg);
  background-position: top center;
  background-size: cover;
  width: 100%; }

.main-quote {
  padding-top: 0.25em;
  margin-bottom: 1em; }

.quote-attribution {
  font-size: 0.85em; }

h1.title {
  margin-top: 0.5em;
  font-weight: 400;
  font-size: 3.5em;
  text-align: center;
  letter-spacing: 0.075em;
  margin-bottom: 0.5em; }
  @media screen and (min-width: 800px) {
    h1.title {
      font-size: 4.5em; } }
  @media screen and (min-height: 768px) {
    h1.title {
      margin-top: 1em;
      margin-bottom: 1em; } }

h1 {
  font-size: 1.5em; }

a, a:visited {
  color: #6B6B84; }

.cove-content {
  color: black;
  width: 95%;
  max-width: 900px;
  margin: 0 auto 1em;
  padding: 0 2em;
  text-shadow: 0 0 20px rgba(255, 255, 255, 0.75); }

.book-image {
  display: block;
  position: relative;
  width: 80%;
  margin: 0 auto;
  background-image: url(/images/cover.jpg);
  background-size: 100%;
  margin-right: 2em;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5); }
  .book-image:before {
    display: block;
    content: "";
    width: 100%;
    padding-top: 154.5%; }
  .book-image > .content, .book-image > img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }
  @media screen and (min-width: 480px) {
    .book-image {
      float: left;
      width: 150px; } }
  @media screen and (min-width: 768px) {
    .book-image {
      width: 200px; } }

.below-fold {
  position: absolute;
  top: 85%;
  width: 100%; }

.below-fold-content {
  padding: 0 2em 3em;
  max-width: 800px;
  margin: 0 auto; }

.book-summary {
  padding-top: 2em;
  background-color: #f2f3f3; }

.other-quotes {
  background-color: #5e6565;
  color: #f2f3f3;
  padding-top: 2em; }

.quote-text {
  margin: 1em auto 0.25em; }

.quote-attribution {
  margin-bottom: 3em; }

span.colon {
  margin-left: 2px; }

.book-link {
  margin: 0 0.5em; }

.bio-image {
  margin: 0 auto 1em;
  position: relative;
  max-width: 80%; }
  .bio-image:before {
    display: block;
    content: "";
    width: 100%;
    padding-top: 66.66667%; }
  .bio-image > .content, .bio-image > img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }
  @media screen and (min-width: 768px) {
    .bio-image {
      width: 400px;
      margin: 1em 0 0.5em 1em;
      float: right; } }
  .bio-image img {
    width: 100%;
    height: 100%;
    -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
    -moz-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3); }

.dream-house-main-image {
  position: relative;
  max-width: 80%;
  margin: 0 auto 2em; }
  .dream-house-main-image:before {
    display: block;
    content: "";
    width: 100%;
    padding-top: 154.5%; }
  .dream-house-main-image > .content, .dream-house-main-image > img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }
  @media screen and (min-width: 768px) {
    .dream-house-main-image {
      margin: 0 0 1em auto;
      max-width: 40%; } }
  .dream-house-main-image img {
    width: 100%;
    height: 100%;
    -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
    -moz-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3); }

.image-and-menu {
  margin: 0 auto;
  position: relative; }

.dream-house-menu {
  background-color: #eaecec;
  padding: 0.5em 1em;
  line-height: 2.25em;
  color: #141616;
  margin-bottom: 1em;
  float: left;
  margin: 0 2em 1em 0;
  font-size: 0.85em;
  width: 100%; }
  @media screen and (min-width: 768px) {
    .dream-house-menu {
      width: auto; } }
  @media screen and (min-width: 860px) {
    .dream-house-menu {
      font-size: 1em; } }
  .dream-house-menu a, .dream-house-menu a:visited {
    text-decoration: none;
    color: #141616;
    -moz-transition: color, 0.3s, ease-in-out;
    -o-transition: color, 0.3s, ease-in-out;
    -webkit-transition: color, 0.3s, ease-in-out;
    transition: color, 0.3s, ease-in-out; }
    .dream-house-menu a:hover, .dream-house-menu a:visited:hover {
      color: #5e6565 !important; }
    .dream-house-menu a.selected, .dream-house-menu a:visited.selected {
      color: black !important; }
  .dream-house-menu li li a, .dream-house-menu li li a:visited {
    color: #919898; }
  .dream-house-menu ul {
    margin: 0;
    padding: 0;
    list-style-type: none; }
    .dream-house-menu ul li {
      margin: 0;
      padding: 0; }
      .dream-house-menu ul li ul {
        margin-left: 1em; }

.dream-house-home-container .dream-house-menu {
  float: none; }
  @media screen and (min-width: 768px) {
    .dream-house-home-container .dream-house-menu {
      width: 57.5%;
      position: absolute;
      top: 0;
      left: 0; } }

.description-intro {
  font-size: 1.15em; }
  @media screen and (min-width: 925px) {
    .description-intro {
      font-size: 1.35em; } }
  @media screen and (min-width: 768px) {
    .description-intro {
      position: absolute;
      bottom: 0;
      left: 0;
      width: 57.5%; } }

.dream-house-home-container {
  position: relative; }

.event {
  margin-bottom: 1em; }

.event-location {
  font-weight: 800; }

.events-body {
  font-size: 0.85em; }

.dream-house-basic-container {
  min-height: 500px; }

.hidden-stories {
  display: none; }

.before-story {
  font-size: 0.85em; }

.story .story-author {
  font-size: 0.85em; }
.story h3 {
  margin-top: 2em; }

.switch-story {
  font-size: 1.25em; }

.displayed-story {
  margin: 3em 0; }

.after-story {
  font-size: 0.85em; }

.footer {
  font-size: 0.85em;
  text-align: center;
  margin-bottom: 0.5em;
  color: rgba(242, 243, 243, 0.75); }

.buy-links {
  text-align: center; }
  @media screen and (min-width: 480px) {
    .buy-links {
      text-align: left; } }
  .buy-links .buy-links-text {
    display: block; }
    @media screen and (min-width: 800px) {
      .buy-links .buy-links-text {
        display: inline; } }
  .buy-links a {
    display: block;
    padding: 0.05em 0.5em;
    background-color: rgba(229, 231, 231, 0.8);
    margin: 0.5em;
    border-radius: 5px;
    text-decoration: none;
    -moz-transition: box-shadow, 0.3s, ease-in-out;
    -o-transition: box-shadow, 0.3s, ease-in-out;
    -webkit-transition: box-shadow, 0.3s, ease-in-out;
    transition: box-shadow, 0.3s, ease-in-out; }
    @media screen and (min-width: 480px) {
      .buy-links a {
        display: inline-block; } }
    @media screen and (min-width: 800px) {
      .buy-links a {
        display: inline-block; } }
    .buy-links a:hover {
      box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3); }

body.buy .top-container {
  text-align: center; }
  body.buy .top-container img {
    display: block;
    margin: 0 auto;
    max-width: 200px; }

.blog-container img {
  display: block;
  width: 100%;
  margin: 0 auto;
  max-width: 400px; }

.blog-post {
  margin-top: 3em;
  margin-bottom: 3em; }
