header { box-shadow: none; }
/*#global-logo { display: none; }*/
#swoop {
  position: absolute;
  width: 100%;
  height: 5vw;
  max-height: 40px;
  z-index: 1;
}

#hero {
  position: relative;
  height: 73.82vw;
  max-height: 85vh;
  padding-top: 5vw;
  background-image: url(/images/hero.jpg);
  background-position: top center;
  background-size: cover;
  color: #fff;
  box-shadow: 0 -10px 0 #667d4d inset, 0 -20px 0 #1a321c inset;
}

#hero h1 {
  font-family: "PT Sans Caption";
  text-transform: uppercase;
  font-weight: normal;
  text-align: center;
  font-size: 3.6vw;
  margin-top: 2vw;
}

#hero-consult-btn {
  display: block;
  position: absolute;
  left: auto;
  right: 16vw;
  bottom: 7vw;
  transform: none;
  margin: 0;
  padding: 16px 32px;
  font-size: 24px;
  border-radius: 4px;
}

#step-columns {
  margin-top: 48px;
  text-align: center;
}
#step-columns img {
  max-width: 100%;
}
#step-columns .global-button-link {
  left: auto;
  transform: none;
}

#blurb {
  margin: 30px 0 0;
}
#blurb p {
  max-width: 600px;
  margin: 10px auto;
}
#blurb-show { display: none; }
#blurb-more {
  overflow: hidden;
  transition: height .2s ease-out;
  height: 0;
}
/*#blurb-more { display: none; }
#blurb-show:checked ~ #blurb-more { display: block; }*/
label[for=blurb-show] {
  display: block;
  text-align: center;
  cursor: pointer;
  padding-bottom: 20px;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}
label[for=blurb-show]:hover {
  color: rgba(0,0,0,.7);
}
label[for=blurb-show]::after {
  content: "";
  display: inline-block;
  margin-left: 5px;
  height: 0; width: 0;
  border: 6px solid transparent;
  border-top-color: rgba(0,0,0,.87);
  border-bottom-width: 0;
  border-top-width: 10px;
}
#blurb-show:checked ~ label[for=blurb-show]::after {
  border-bottom-color: rgba(0,0,0,.87);
  border-top-color: transparent;
  border-bottom-width: 10px;
  border-top-width: 0;
}

#social-btns {
  display: none;
  padding: 8px;
  /*word-spacing: 8px;*/
  font-size: 0;
  line-height: 40px;
  vertical-align: middle;
  width: 112px;
}
#social-btns a {
  display: inline-block;
  height: 32px;
  width: 32px;
  margin: 0 4px;
  background-image: url("/images/social.svg");
  border-radius: 32px;
  box-shadow: 0 1px 1.5px rgba(0,0,0,.12), 0 1px 1px rgba(0,0,0,.24);
}
#social-btns a:hover {
  opacity: .8;
}
#social-btns a[data-social="facebook"] { background-position: 0 0; }
#social-btns a[data-social="twitter"] { background-position: -32px 0; }
#social-btns a[data-social="gplus"] { background-position: -64px 0; }
#social-btns a[data-social="blog"] { background-position: -96px 0; }
#social-btns a[data-social="mail"] { background-position: -128px 0; }
#social-btns a[data-social="instagram"] { background-position: -160px 0; }
#social-btns a[data-social="pinterest"] { background-position: -192px 0; }
#social-btns a[data-social="youtube"] { background-position: -224px 0; }
#social-btns a[data-social="calendar"] { background-position: -256px 0; }

#newsletter-signup {
  text-align: left;
}
#newsletter-signup h2 {
  font-family: "PT Sans Caption";
  font-weight: normal;
  font-size: 32px;
  margin: 20px 0;
}
#newsletter-signup input[type=email] {
  width: 80vw;
}
.newsletter-fineprint {
  font-size: 10px;
  line-height: 1.4em;
  margin: 20px 0 40px;
}
#newsletter-form-text.hide {
  display: none;
}
#newsletter-form-complete {
  display: none;
  text-align: left;
}
#newsletter-form-complete.show {
  display: block;
}

#instawidget {
  display: block;
  width: 100%;
  line-height: 0;
  text-align: center;
  /*background-color: #fff;*/
  background-image: url("/images/instagram.jpg");
  background-size: cover;
  transition: filter .1s;
}
#instawidget:hover { filter: saturate(.8) brightness(.9); }
/*#instawidget img { max-width: 100%;
  transition: opacity .2s ease, box-shadow .2s, transform .2s; }
#instawidget li {
  display: inline-block;
  width: 33.33333333%;
  / *overflow: hidden;* /
}
#instawidget img:hover {
  box-shadow: 0 2px 4px 2px rgba(0,0,0,.16), 0 2px 4px 2px rgba(0,0,0,.3);
  z-index: 1;
  opacity: .7;
  / *transform: scale(1.07);* /
}*/

@media screen and (min-width: 768px) {
  #email-chunk {
    text-align: center;
    padding: 48px 0;
    box-shadow: 0 3px 3px rgba(0,0,0,.16), 0 3px 3px rgba(0,0,0,.23);
  }
  #email-chunk > * {
    display: inline-block;
    vertical-align: middle;
  }
  #newsletter-signup {
    background-color: #1a321c;
    color: #fff;
    margin-right: 5vw;
    height: 20vw;
    border-radius: 1.5vw;
    line-height: 20vw;
    text-align: center;
  }
  #newsletter-signup h2 { margin-top: 0; }
  #newsletter-form-text { display: inline-block; }
  #newsletter-form-text, #newsletter-form-complete {
    vertical-align: middle;
    width: 40vw;
    line-height: 1.4em;
    text-align: left;
  }
  #newsletter-signup input[type=email] {
    width: 25vw;
  }
  .newsletter-fineprint {
    margin: 20px 0 0;
    max-width: 60ch;
  }
  #newsletter-form-text.hide { display: none; }
  #newsletter-form-complete.show { display: inline-block; padding-right: 1.5vw; }
  #social-btns { display: inline-block; }
  #instawidget { width: 30vw; height: 20vw; border-radius: 1.5vw;
    box-shadow: 0 3px 3px rgba(0,0,0,.16), 0 3px 3px rgba(0,0,0,.23); }
  #instawidget li:first-child     img { border-top-left-radius: 15%; }
  #instawidget li:nth-child(6n+3) img { border-top-right-radius: 15%; }
  #instawidget li:nth-child(4n)   img { border-bottom-left-radius: 15%; }
  #instawidget li:last-child      img { border-bottom-right-radius: 15%; }
}

#partnerships {
  text-align: center;
  /*background-color: #fff;
  box-shadow: 0 -6px 8px 8px rgba(0, 0, 0, 0.3);*/
  padding: 1.5em;
}
#partnerships h2 {
  font-weight: normal;
  margin: 1em auto;
  padding: 0 1em;
  color: rgba(0,0,0,.87);
  font-size: 24px;
  line-height: 1.4em;
  max-width: 768px;
}
#partnerships img {
  display: inline-block;
  width: 20vw;
  margin: 1.5vw 4vw;
  vertical-align: middle;
}

#review-carousel {
  position: relative;
  box-sizing: content-box;
  padding: 32px 0;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}

.review-quote {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  width: 100%;
  max-width: 768px;
  padding: 1em;
  margin: auto;
  color: #fff;
  text-align: center;
  transition: opacity .5s;
}
.review-quote:not(.show) {
  opacity: 0;
}

.review-quote p {
  font-size: 24px;
  line-height: 1.4em;
}
.review-quote p::before { content: open-quote; }
.review-quote p::after { content: close-quote; }

.review-author {
  margin-top: 1em;
  font-size: 24px;
}
.review-author::before { content: "\2014"; padding-right: .3em; }

/*@media (max-width: 767px) { }
@media (min-width: 768px) { }
@media (min-width: 992px) { }
@media (min-width: 1200px) { }*/

.content-block {
  width: 100%;
  display: block;
  text-decoration: none;
  color: #000;
  padding: 20px 0;
}
.content-block .global-button-link {
  margin-right: 0.5em;
}
#working {
  background-image: url(/nimages/tileable-working-chart.png);
  background-position: 0 -50pt;
  box-shadow: 0 7px 5px -5px rgba(0, 0, 0, 0.4) inset, 0 -5px 5px -5px rgba(0, 0, 0, 0.4) inset;
  text-decoration: none;
  display: table;
  width: 100%;
  height: 4in
}
#working .container,
#precreated .container,
#giftcerts .container,
#genealogy-coach .container,
#zap .container {
  max-width: 10in;
  margin: auto
}
#working .container-2 {
  background-color: #667d4d;
  color: #fff;
  padding: 20pt 30pt;
  width: 52%;
  float: right;
  border-radius: 3px;
  box-shadow: 0 6px 5px -4px rgba(0, 0, 0, 0.9)
}
#working .global-button-link { background: #405835; }
#working .global-button-link:hover { background: #536B41; }
#working .global-button-link,
#precreated .global-button-link,
#giftcerts .global-button-link,
#genealogy-coach .global-button-link,
#zap .global-button-link {
  margin: 1em 0.5em 0 0;
}
#precreated, #giftcerts, #email-chunk, #review-carousel {
  background: #667d4d url(/nimages/noise.png);
  box-shadow: 0 10px 8px -8px rgba(0, 0, 0, 0.5) inset, 0 -8px 8px -8px rgba(0, 0, 0, 0.5) inset;
  display: table;
  width: 100%;
  text-decoration: none
}
#precreated { height: 4in; }
#giftcerts { height: 5in; }
#genealogy-coach {
  background: #405d6e;
  box-shadow: 0 10px 8px -8px rgba(0, 0, 0, 0.5) inset, 0 -8px 8px -8px rgba(0, 0, 0, 0.5) inset;
  display: table;
  width: 100%;
  height: 4in;
  text-decoration: none
}
#genealogy-coach img { max-width: 600px; }
#genealogy-coach img, #precreated img {
  margin: .5in 0 0 -.8in;
  display: table-cell
}
#giftcerts img {
  margin: .5in 0 0 -.8in;
  display: table-cell
}
#dna-img { border-radius: 2px;
  box-shadow: 0 3px 3px rgba(0,0,0,.16), 0 3px 3px rgba(0,0,0,.23); }
#zap .red-container,
#genealogy-coach .beige-container,
#giftcerts .beige-container,
#precreated .beige-container {
  padding: 20pt 30pt;
  border-radius: 3px;
  box-shadow: 0 6px 5px -4px rgba(0, 0, 0, 0.9)
}
.beige-container {
  background-color: #fffaeb;
  color: #000
}
#zap {
  background-image: url(/nimages/zap-sky.png);
  background-position: 0 -50pt;
  box-shadow: 0 7px 5px -5px rgba(0, 0, 0, 0.4) inset, 0 -5px 5px -5px rgba(0, 0, 0, 0.4) inset;
  text-decoration: none;
  color: #000;
  display: table;
  width: 100%;
  height: 4in
}
#zap .container,
#genealogy-coach .container,
#giftcerts .container,
#precreated .container {
  display: table
}
#zap .rocket {
  display: table-cell;
  margin: .3in 0 0 -.8in;
  height: 3.6in
}
#zap .container-2,
#genealogy-coach .container-2,
#giftcerts .container-2,
#precreated .container-2 {
  display: table-cell;
  vertical-align: middle;
  padding-left: 5%
}
.red-container {
  /*background-color: #900020;*/
  color: #fff;
  background: #9b150d;
  background: -moz-linear-gradient(top, #9b150d 0%, #800000 100%);
  background: -webkit-linear-gradient(top, #9b150d 0%,#800000 100%);
  background: linear-gradient(to bottom, #9b150d 0%,#800000 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9b150d', endColorstr='#800000',GradientType=0 );
}
.vertical-center {
  display: table-cell;
  vertical-align: middle
}
h3 {
  margin-bottom: 12px;
  font-size: 1.3em;
}
h3.green {
  color: #475735
}

@media (max-width: 320px) {
  #zap .container-2,
  #genealogy-coach .container-2,
  #giftcerts .container-2,
  #precreated .container-2 {
    display: block;
    vertical-align: left;
    padding: 10px;
    width: 80%;
    font-size: .6em;
  }
}

@media (max-width: 479px) {
  #zap .container-2,
  #genealogy-coach .container-2,
  #giftcerts .container-2,
  #precreated .container-2 {
    display: block;
    vertical-align: left;
    padding: 10px;
    width: 80%;
    font-size: .7em
  }
}

@media (min-width: 480px) and (max-width: 900px) {
  #zap .container-2,
  #genealogy-coach .container-2,
  #gift-certs .container-2,
  #precreated .container-2 {
    display: block;
    vertical-align: left;
    padding: 5%;
    font-size: .7em
  }
}
