/*
Heebo
thin: 100
light: 300
regular: 400
medium: 500
bold: 700
extra-bold: 800
black: 900
*/
html {
  width: 100%;
  overflow-x: hidden;
  font-size: 16px !important;
}

section {
  padding: 2em 4.38%;
}
@media (min-width: 768px) {
  section {
    padding: 7em 13.59%;
  }
}
section .section-headline {
  text-align: center;
}

main {
  background-color: #fff;
}

.arrow-pager {
  position: absolute;
  top: 0;
  width: 15%;
  height: 100%;
  margin: 0;
}
@media (min-width: 768px) {
  .arrow-pager {
    display: inline;
  }
}
.arrow-pager img {
  position: absolute;
  top: 50%;
}
.arrow-pager.pager-left {
  left: 0;
}
.arrow-pager.pager-left img {
  left: 15%;
}
.arrow-pager.pager-left.testimonial {
  margin: 145px 45px;
}
.arrow-pager.pager-right {
  right: 0;
}
.arrow-pager.pager-right img {
  right: 15%;
}
.arrow-pager.pager-right.testimonial {
  margin: 145px 45px;
}

.additional-feature {
  margin-top: 3.5rem;
  padding: 0 2%;
  text-align: center;
}
.additional-feature .additional-feature-content a.learn-more {
  display: none;
  margin-top: 1.2rem;
  font-size: 0.939rem;
  text-transform: uppercase;
  color: #1c78d8;
}
@media (min-width: 768px) {
  .additional-feature .additional-feature-content a.learn-more {
    display: block;
  }
}
.additional-feature .additional-feature-content a.title {
  color: #1C79D9;
}
@media (min-width: 768px) {
  .additional-feature .additional-feature-content a.title {
    color: #091840;
  }
}
.additional-feature .additional-feature-content a.title h4 {
  font-size: 0.875rem;
  font-weight: 400;
}
@media (min-width: 768px) {
  .additional-feature .additional-feature-content a.title h4 {
    font-size: 1.4rem;
  }
}
@media (min-width: 1200px) {
  .additional-feature .additional-feature-content a.title h4 {
    margin-bottom: inherit;
    font-size: 1.375rem;
  }
}
@media (min-width: 768px) {
  .additional-feature .additional-feature-content a.title:hover {
    text-decoration: none;
  }
}
.additional-feature .additional-feature-content .image-frame {
  display: none;
  position: relative;
  height: 6rem;
}
@media (min-width: 768px) {
  .additional-feature .additional-feature-content .image-frame {
    display: block;
  }
}
.additional-feature .additional-feature-content .image-frame img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.additional-feature .additional-feature-content p {
  display: none;
  margin-top: 0.7rem;
  margin-bottom: 0;
  font-size: 0.875rem;
  color: #5b698f;
}
@media (min-width: 768px) {
  .additional-feature .additional-feature-content p {
    display: block;
  }
}

::-webkit-input-placeholder {
  /* Chrome/Opera/Safari */
  font-weight: 300;
  color: #091840 !important;
}

::-moz-placeholder {
  /* Firefox 19+ */
  font-weight: 300;
  color: #091840 !important;
}

:-ms-input-placeholder {
  /* IE 10+ */
  font-weight: 300;
  color: #091840 !important;
}

:-moz-placeholder {
  /* Firefox 18- */
  font-weight: 300;
  color: #091840 !important;
}

body {
  overflow: hidden;
}

section {
  width: 100%;
  margin: 0;
  padding: 0;
}

.headline {
  font-family: "Heebo", sans-serif;
  font-weight: 300;
  font-size: 35px;
  line-height: 35px;
}
@media (min-width: 768px) {
  .headline {
    font-size: 45px;
    line-height: 60px;
  }
}
.headline span {
  font-family: "Heebo", sans-serif;
  font-weight: 700;
}

.subheader {
  font-family: "Heebo", sans-serif;
  font-weight: 700;
}

section.header .banner-content {
  min-height: 262px;
}
section.header .banner-content .banner-button,
section.header .banner-content .banner-button-2,
section.header .banner-content .pager {
  display: none;
}
section.header img.foreground {
  display: block;
  position: absolute;
  left: 50%;
  top: 56%;
  transform: translate(-50%, -50%);
  max-width: 275px;
}
@media (min-width: 768px) {
  section.header img.foreground {
    max-width: 260px;
  }
}

.intro {
  background-color: #f3f3f3;
  color: #004D76;
}
.intro .content-container {
  width: 92%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 30px 0;
  text-align: center;
}
@media (min-width: 768px) {
  .intro .content-container {
    width: 80%;
    padding: 80px 0;
  }
}
.intro .content-container .headline {
  font-size: 30px;
  line-height: 35px;
  width: 75%;
  margin: 0 auto;
}
@media (min-width: 1200px) {
  .intro .content-container .headline {
    width: 100%;
    font-size: 45px;
    line-height: 60px;
  }
}
.intro .content-container p {
  margin: 30px 0 0 0;
  font-family: "Heebo", sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 26px;
}
@media (min-width: 768px) {
  .intro .content-container p {
    font-size: 22px;
    line-height: 33px;
  }
}

.birthday-card {
  position: relative;
  /* book-section */
}
.birthday-card .card-container {
  position: relative;
  width: 92%;
  margin: 0 auto;
  padding: 45px 0;
  text-align: center;
}
@media (min-width: 768px) {
  .birthday-card .card-container {
    padding: 80px 0;
  }
}
.birthday-card .headline {
  position: relative;
  font-size: 35px;
  line-height: 35px;
  text-align: center;
  z-index: 2;
}
.birthday-card .subheader {
  position: relative;
  font-size: 18px;
  line-height: 26px;
  text-align: center;
  z-index: 2;
}
@media (min-width: 768px) {
  .birthday-card .subheader {
    font-size: 22px;
  }
}
.birthday-card .book-section {
  position: relative;
  z-index: 2;
  /* button */
}
.birthday-card .book-section .pager {
  margin: 0 auto;
  text-align: center;
}
@media (min-width: 768px) {
  .birthday-card .book-section .pager {
    margin: 43px auto 0 auto;
  }
}
.birthday-card .book-section .pager .page {
  width: 8px;
  height: 8px;
  border: none;
  border-radius: 8px;
  fill: #091840;
  opacity: 0.4;
}
.birthday-card .book-section .pager .page-holder {
  display: inline-block;
  margin: 0 4px;
}
.birthday-card .book-section .pager .page-holder.active .page {
  opacity: 1;
}
.birthday-card .book-section .page-flip {
  position: absolute;
  width: 36px;
  height: 36px;
  border: 1px solid #FB7900;
  border-radius: 62px;
  background-color: #FB7900;
  bottom: 0;
}
@media (min-width: 400px) {
  .birthday-card .book-section .page-flip {
    width: 48px;
    height: 48px;
  }
}
@media (min-width: 600px) {
  .birthday-card .book-section .page-flip {
    width: 62px;
    height: 62px;
  }
}
@media (min-width: 1200px) {
  .birthday-card .book-section .page-flip {
    bottom: auto;
    top: 50%;
    transform: translateY(-114%);
  }
}
.birthday-card .book-section .page-flip svg {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 25px;
  height: 25px;
  fill: #fff;
}
.birthday-card .book-section .page-flip.flip-left {
  left: 32%;
}
@media (min-width: 768px) {
  .birthday-card .book-section .page-flip.flip-left {
    left: 38%;
  }
}
@media (min-width: 1200px) {
  .birthday-card .book-section .page-flip.flip-left {
    left: 2%;
  }
}
@media (min-width: 1400px) {
  .birthday-card .book-section .page-flip.flip-left {
    left: 8%;
  }
}
@media (min-width: 1600px) {
  .birthday-card .book-section .page-flip.flip-left {
    left: 14%;
  }
}
.birthday-card .book-section .page-flip.flip-right {
  right: 32%;
}
@media (min-width: 768px) {
  .birthday-card .book-section .page-flip.flip-right {
    right: 38%;
  }
}
@media (min-width: 1200px) {
  .birthday-card .book-section .page-flip.flip-right {
    right: 2%;
  }
}
@media (min-width: 1400px) {
  .birthday-card .book-section .page-flip.flip-right {
    right: 8%;
  }
}
@media (min-width: 1600px) {
  .birthday-card .book-section .page-flip.flip-right {
    right: 14%;
  }
}
.birthday-card .book-section .page-flip:hover svg {
  fill: #091840;
}
.birthday-card .balloon {
  position: absolute;
  display: none;
}
@media (min-width: 768px) {
  .birthday-card .balloon {
    display: block;
  }
}
.birthday-card .balloon.orange {
  left: -20px;
  top: 52px;
}
.birthday-card .balloon.blue-green {
  right: -20px;
  bottom: 83px;
}

/* birthday-card */
.timeline {
  padding: 40px 0;
  background-color: #0887C2;
  color: #fff;
  /* date-line-container */
  /* detail-panels */
}
@media (min-width: 768px) {
  .timeline {
    padding: 88px 0 90px 0;
  }
}
.timeline .container {
  margin: 0 auto;
}
.timeline .headline {
  width: 92%;
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}
.timeline .subheader {
  width: 92%;
  max-width: 800px;
  margin: 20px auto 0 auto;
  font-size: 18px;
  line-height: 26px;
  text-align: center;
}
@media (min-width: 768px) {
  .timeline .subheader {
    font-size: 16px;
    line-height: 24px;
  }
}
.timeline .mobile-image-container {
  display: block;
  width: 100%;
  height: 200px;
  margin: 20px 0 0 0;
}
@media (min-width: 768px) {
  .timeline .mobile-image-container {
    display: none;
  }
}
.timeline .mobile-image-container .mobile-image-panel {
  display: none;
  width: 100%;
  height: 100%;
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}
.timeline .mobile-image-container .mobile-image-panel.active {
  display: block;
}
.timeline .date-line-container {
  position: relative;
  width: 80%;
  height: 100px;
  max-width: 1094px;
  margin: 20px auto 0 auto;
  padding: 0;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  /* dates */
  /* indicator-container */
}
@media (min-width: 768px) {
  .timeline .date-line-container {
    width: 68%;
    margin: 0 auto;
    height: 145px;
  }
}
@media (min-width: 1024px) {
  .timeline .date-line-container {
    height: 240px;
  }
}
.timeline .date-line-container .dates .date {
  display: inline-block;
  font-size: 28px;
  opacity: 0.5;
}
@media (min-width: 1024px) {
  .timeline .date-line-container .dates .date {
    font-size: 61px;
  }
}
.timeline .date-line-container .dates .date.focused {
  font-size: 42px;
  font-weight: bold;
  opacity: 1;
}
@media (min-width: 768px) {
  .timeline .date-line-container .dates .date.focused {
    font-size: 62px;
  }
}
@media (min-width: 1024px) {
  .timeline .date-line-container .dates .date.focused {
    font-size: 110px;
  }
}
.timeline .date-line-container .indicator-container {
  position: relative;
  /* indicator-bar */
  /* indicator */
  /* button */
}
.timeline .date-line-container .indicator-container .indicator-bar {
  width: 80%;
  height: 2px;
  margin: 0 auto;
  background-color: #fff;
}
@media (min-width: 768px) {
  .timeline .date-line-container .indicator-container .indicator-bar {
    width: 88%;
  }
}
.timeline .date-line-container .indicator-container .indicator {
  position: absolute;
  top: 50%;
  width: 15px;
  height: 15px;
  border-radius: 15px;
  border: 1px solid #fff;
  background-color: #ccc;
}
.timeline .date-line-container .indicator-container .indicator:nth-child(1) {
  left: 16%;
  transform: translate(0, -50%);
}
.timeline .date-line-container .indicator-container .indicator:nth-child(2) {
  left: 50%;
  transform: translate(-50%, -50%);
}
.timeline .date-line-container .indicator-container .indicator:nth-child(3) {
  right: 16%;
  transform: translate(0, -50%);
}
.timeline .date-line-container .indicator-container .indicator.active {
  background-color: #fff;
}
.timeline .date-line-container .indicator-container button {
  position: absolute;
  width: 32px;
  height: 32px;
  border: 2px solid #fff;
  border-radius: 62px;
  background-color: transparent;
  top: 50%;
  transform: translateY(-50%);
}
@media (min-width: 600px) {
  .timeline .date-line-container .indicator-container button {
    width: 42px;
    height: 42px;
  }
}
@media (min-width: 768px) {
  .timeline .date-line-container .indicator-container button {
    width: 49px;
    height: 49px;
  }
}
.timeline .date-line-container .indicator-container button.prev-date {
  left: 0;
}
.timeline .date-line-container .indicator-container button.next-date {
  right: 0;
}
.timeline .date-line-container .indicator-container button svg {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 20px;
  height: 20px;
  fill: #fff;
}
.timeline .date-line-container .indicator-container button:hover {
  background-color: #091840;
  border-color: #091840;
}
.timeline .date-line-container .indicator-container button:hover svg {
  fill: #A4C639;
}
.timeline .detail-panels {
  width: 78%;
  max-width: 1094px;
  margin: 0 auto;
  padding: 20px 0 0 0;
  /* detail-panel */
}
@media (min-width: 768px) {
  .timeline .detail-panels {
    width: 68%;
    padding: 0;
  }
}
.timeline .detail-panels .detail-panel {
  /*
  @media (min-width: 768px) {
         height: 250px;
     }
     */
}
.timeline .detail-panels .detail-panel:after {
  content: "";
  display: table;
  clear: both;
}
.timeline .detail-panels .detail-panel .image-panel {
  display: none;
  width: 100%;
  min-height: 200px;
  background-size: contain;
  background-position: center bottom;
  background-repeat: no-repeat;
}
@media (min-width: 768px) {
  .timeline .detail-panels .detail-panel .image-panel {
    display: block;
    float: left;
    width: 30%;
    height: 400px;
    background-position: center top;
  }
}
.timeline .detail-panels .detail-panel .copy-panel {
  margin: 0;
}
@media (min-width: 768px) {
  .timeline .detail-panels .detail-panel .copy-panel {
    float: right;
    width: 68%;
    padding-left: 2%;
  }
}
.timeline .detail-panels .detail-panel .copy-panel h3 {
  margin-top: 0;
}

/* timeline */
.revealer {
  position: relative;
  min-height: 450px;
  padding: 40px 0 0 0;
  background-color: #B9C72E;
  color: #fff;
}
@media (min-width: 500px) {
  .revealer {
    min-height: 640px;
  }
}
@media (min-width: 768px) {
  .revealer {
    min-height: 815px;
    padding: 80px 0 0 0;
  }
}
@media (min-width: 1024px) {
  .revealer {
    min-height: 1050px;
  }
}
.revealer .overlay {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: transparent linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.7215686275) 80%, #FFFFFF 100%) 0% 0% no-repeat padding-box;
  z-index: 2;
}
.revealer .headline {
  position: relative;
  width: 92%;
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
  z-index: 3;
}
.revealer .subheader {
  position: relative;
  width: 92%;
  max-width: 800px;
  margin: 0 auto;
  padding: 20px 0 0 0;
  font-size: 18px;
  line-height: 26px;
  text-align: center;
  z-index: 3;
}
@media (min-width: 768px) {
  .revealer .subheader {
    line-height: 24px;
  }
}
.revealer .laptop-container {
  position: absolute;
  left: 50%;
  top: 45%;
  transform: translate(-50%, 0);
  width: 300px;
  height: 195px;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  z-index: 3;
}
@media (min-width: 500px) {
  .revealer .laptop-container {
    width: 500px;
    height: 325px;
    top: 33%;
  }
}
@media (min-width: 768px) {
  .revealer .laptop-container {
    width: 780px;
    height: 507px;
    top: 25%;
  }
}
@media (min-width: 1024px) {
  .revealer .laptop-container {
    width: 927px;
    height: 603px;
    top: 20%;
  }
}
.revealer .circles {
  display: none;
  position: absolute;
  z-index: 2;
}
@media (min-width: 768px) {
  .revealer .circles {
    display: block;
  }
}
.revealer .circles.left-side {
  width: 348px;
  left: -118px;
  bottom: 180px;
}
.revealer .circles.right-side {
  width: 233px;
  right: -88px;
  top: 121px;
}

/* revealer */
.gallery {
  padding: 0 0 90px 0;
  /* clearfix */
  /* ---- grid-item ---- */
  /* grid-item */
}
.gallery .headline {
  position: relative;
  width: 92%;
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
  z-index: 3;
}
.gallery .subheader {
  position: relative;
  width: 92%;
  max-width: 800px;
  margin: 20px auto 0 auto;
  font-size: 18px;
  line-height: 26px;
  text-align: center;
  z-index: 3;
}
@media (min-width: 768px) {
  .gallery .subheader {
    line-height: 24px;
  }
}
.gallery .grid-container {
  padding: 50px 0 75px 0;
  background-size: cover;
}
.gallery .grid {
  width: 82.5%;
  margin: 0 auto;
}
.gallery .grid:after {
  content: "";
  display: block;
  clear: both;
}
.gallery .grid-sizer,
.gallery .grid-item {
  width: 100%;
  height: 352px;
  margin: 9px 0;
}
@media (min-width: 768px) {
  .gallery .grid-sizer,
.gallery .grid-item {
    width: 48%;
  }
}
@media (min-width: 1024px) {
  .gallery .grid-sizer,
.gallery .grid-item {
    width: 24%;
  }
}
.gallery .grid-sizer {
  width: 25%;
}
.gallery .grid-item {
  position: relative;
  float: left;
  background: #D26;
  min-height: auto;
  background-size: cover;
  background-position: center center;
}
.gallery .grid-item.short {
  height: 251px;
}
.gallery .grid-item .overlay {
  display: none;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 77, 118, 0.9);
}
.gallery .grid-item .overlay .open {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.gallery .grid-item .overlay .open.play {
  width: 52px;
  height: 52px;
  border-radius: 52px;
  border: 3px solid #A4C639;
}
.gallery .grid-item .overlay .open.play img {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  fill: #A4C639;
}
.gallery .grid-item:hover .overlay {
  display: block;
}
.gallery .load {
  display: block;
  border: none;
  margin: 0 auto;
  padding: 11px 84px;
  background-color: #A4C639;
  font-size: 16px;
  text-align: center;
  text-transform: uppercase;
  color: #fff;
}
.gallery .load:hover {
  background-color: #1C79D9;
}
.gallery .loading {
  display: none;
  margin: 0 auto;
}

/* gallery */

/*# sourceMappingURL=twenty-years.css.map */
