html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6,
p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn,
em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var,
b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas,
details, embed, figure, figcaption, footer, header, hgroup, menu, nav,
output, ruby, section, summary, time, mark, audio, video, picture {
  -webkit-user-select: none;
  border: 0;
  box-sizing: border-box;
  cursor: default;
  font-size: 100%;
  font: inherit;
  margin: 0;
  padding: 0;
  user-select: none;
  vertical-align: baseline; }

  article, aside, details, figcaption, figure, footer, header, hgroup, menu,
  nav, section {
    -webkit-user-select: none;
    display: block;
    user-select: none; }

    body {
      line-height: 1.25em; }

      ol, ul {
        list-style: none; }

        blockquote, q {
          quotes: none; }

          blockquote:before, blockquote:after, q:before, q:after {
            content: '';
            content: none; }

            table {
              border-collapse: collapse;
              border-spacing: 0; }

              @font-face {
                font-family: "Futura LT Pro";
                src: url("/fonts/FuturaLTPro-Book.woff2") format("woff2");
                font-weight: normal;
                font-style: normal;
                font-display: swap; }

                @font-face {
                  font-family: "Source Sans 3";
                  src: url("/fonts/SourceSans3-Light.woff2") format("woff2");
                  font-weight: 300;
                  font-style: normal;
                  font-display: swap; }

                  @font-face {
                    font-family: "Source Sans 3";
                    src: url("/fonts/SourceSans3-LightItalic.woff2") format("woff2");
                    font-weight: 300;
                    font-style: italic;
                    font-display: swap; }

                    a {
                      cursor: pointer; }

                      body {
                        display: flex;
                        flex-flow: column;
                        justify-content: stretch;
                        font-family: "Source Sans 3", sans-serif;
                        font-size: 22px;
                        background: white;
                        color: #002609; }
                        body .c-page-header, body .c-page-content {
                          margin-bottom: 64px; }
                          body .c-page-content {
                            flex: 1 1 auto;
                            width: 100%;
                            max-width: 1280px;
                            align-self: center; }
                            body .c-page-footer {
                              margin-top: 64px; }

h1 {
  font-size: 46px; }

  h2 {
    font-size: 34px; }

    h3 {
      font-size: 22px; }

      h1, h2, h3, h4, h5, h6 {
        font-family: "Futura LT Pro", sans-serif;
        line-height: 1.25em; }
        h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child,
        h6:first-child {
          margin-top: 0; }

i {
  font-style: italic; }

  img {
    pointer-events: none; }

    p {
      font-family: "Source Sans 3", sans-serif;
      line-height: 1.25em; }
      p + p {
        margin-top: 16px; }

section {
  margin-top: 128px; }
  section:first-child {
    margin-top: 0; }

strong {
  font-weight: bold; }

  .c-concept-block {
    display: flex;
    flex-flow: column;
    align-items: center;
    max-width: 256px; }
    .c-concept-block h3 {
      margin: 8px 0;
      font-size: 22px; }
      .c-concept-block p {
        font-size: 16px;
        hyphens: auto;
        -webkit-hyphens: auto;
        text-align: center;
        padding: 0 16px;
        word-break: break-word;
        overflow-wrap: break-word; }

.c-concept-image {
  border: 1px solid #e5e5e5; }
  .c-concept-image img {
    display: block;
    max-width: 256px;
    max-height: 320px; }

.c-concept-row {
  display: flex;
  flex-flow: row wrap;
  column-gap: 32px;
  row-gap: 32px;
  justify-content: center; }

  @keyframes rarePulse {
    0%, 93.33% {
      transform: scale(1);
      background-position: 200% 0;
      background-color: #d82c4e;   }
      96.66% {
        transform: scale(1.05);
        background-position: 0 0;
        background-color: #dc4260;   }
        100% {
          transform: scale(1);
          background-position: 200% 0;
          background-color: #d82c4e;   }
}

.c-cta-button {
  border-radius: 16px;
  padding: 8px 64px;
  background-color: #d82c4e;
  background-image: linear-gradient(110deg, #d82c4e, #e05772 50%, #d82c4e);
  background-size: 200% 100%;
  border: 2px solid white;
  color: white;
  cursor: pointer;
  text-decoration: none;
  font-size: 18px;
  font-weight: bold;
  white-space: nowrap;
  animation: rarePulse 15s ease-in-out infinite;
  transition-property: border-color, box-shadow, transform;
  transition-duration: 0.05s;
  transition-timing-function: ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .c-cta-button {
      animation: none;
      transition: none;   }
}
    @media (max-width: 768px) {
      .c-cta-button {
        padding: 8px 32px;   }
}
      .c-cta-button:hover {
        animation: none;
        border-color: #85192e;
        box-shadow: 8px 8px 16px 0px rgba(0, 0, 0, 0.2);
        transform: scale(1.02); }

.c-hero-image {
  border: 1px solid #d26700;
  max-width: 896px;
  max-height: 512px; }

  .c-hero-image-section {
    display: flex;
    flex-flow: row nowrap; }
    .c-hero-image-section.reversed {
      flex-direction: row-reverse; }
      @media (max-width: 768px) {
        .c-hero-image-section {
          flex-flow: column;
          flex-direction: column;   }
          .c-hero-image-section.reversed {
            flex-direction: column;   }
            .c-hero-image-section .image {
              margin-top: 64px;   }
}
    .c-hero-image-section .text {
      flex: 0 0 384px;
      display: flex;
      flex-flow: column;
      padding: 0 32px;
      align-items: center; }
      .c-hero-image-section .text h2 {
        margin-bottom: 32px; }
        .c-hero-image-section .text p {
          font-size: 18px;
          line-height: 1.25em; }
          .c-hero-image-section .text a {
            margin-top: 64px;
            margin-bottom: 32px; }
    .c-hero-image-section .image {
      flex: 1 1 100%;
      display: flex;
      flex-flow: column; }
      .c-hero-image-section .image img {
        max-width: 100%;
        height: auto;
        display: block;
        align-self: stretch; }

.c-landing-page #title .text {
  padding-top: 16px; }
  .c-landing-page #title .text a {
    margin: 16px 0 32px 0;
    cursor: pointer; }
    .c-landing-page #title .text h1 {
      text-align: center;
      margin-bottom: 32px; }
      .c-landing-page #title .text p {
        font-size: 22px;
        text-align: center; }
        .c-landing-page #title .text p.detail {
          font-size: 18px; }
  .c-landing-page #title .text .c-cta-button {
    margin-top: 64px; }
.c-landing-page #examples {
  display: flex;
  flex-flow: column;
  align-items: center; }
  .c-landing-page #examples h2 {
    text-align: center; }
    .c-landing-page #examples .subscript {
      margin-top: 8px;
      max-width: 50%; }
      @media (max-width: 768px) {
        .c-landing-page #examples .subscript {
          max-width: 90%;   }
}
  .c-landing-page #examples .c-concept-row {
    margin-top: 32px; }
    .c-landing-page #examples .c-cta-button {
      margin-top: 32px; }
.c-landing-page #packages, .c-landing-page #addons {
  display: flex;
  flex-flow: column;
  align-items: center; }
  .c-landing-page #packages h2, .c-landing-page #addons h2 {
    font-size: 46px; }
    .c-landing-page #packages .subscript, .c-landing-page #addons .subscript {
      margin-top: 8px; }
      .c-landing-page #packages .c-price-row, .c-landing-page #addons .c-price-row {
        margin: 32px 0; }
        .c-landing-page #packages .c-cta-button, .c-landing-page #addons .c-cta-button {
          margin-top: 64px; }
.c-landing-page #addons {
  margin-top: 64px; }
  .c-landing-page #reviews .c-cta-button {
    margin-top: 64px; }
.c-landing-page .subscript {
  font-size: 16px;
  text-align: center; }
  .c-landing-page .subscript + .subscript {
    margin-top: 8px; }

.c-lgbtq-badge {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center; }
  .c-lgbtq-badge img {
    max-width: 48px;
    margin-right: 16px; }

.c-logotype {
  max-width: 345px;
  max-height: 75px; }

  .c-page-footer {
    border-top: 1px solid #002609;
    padding: 10px;
    background: #5c5c5c;
    color: white;
    font-size: 18px; }
    @media (max-width: 768px) {
      .c-page-footer {
        flex-flow: column;   }
}
      .c-page-footer #footer-links {
        margin-top: 8px;
        margin-bottom: 32px; }
        .c-page-footer #footer-links div {
          margin: 0;
          display: flex;
          flex-flow: row wrap;
          justify-content: center; }
          .c-page-footer #footer-links div a {
            color: white; }
            .c-page-footer #footer-links div a + a {
              margin-left: 32px; }
    .c-page-footer #footer-legal {
      padding-bottom: 32px;
      display: flex;
      flex-flow: row;
      justify-content: center;
      align-items: top; }
      .c-page-footer #footer-legal .center {
        text-align: center; }
        .c-page-footer #footer-legal .right {
          text-align: right; }
          .c-page-footer #footer-legal .left, .c-page-footer #footer-legal .center,
          .c-page-footer #footer-legal .right {
            flex: 1 1 33%;
            line-height: 1.25em;
            font-size: 16px;
            padding: 0 64px; }
            @media (max-width: 768px) {
              .c-page-footer #footer-legal .left, .c-page-footer #footer-legal .center,
              .c-page-footer #footer-legal .right {
                flex: 0 0 auto;
                margin-bottom: 32px;
                padding: 0 32px;
                text-align: center;   }
}
              @media (min-width: 769px) and (max-width: 1024px) {
                .c-page-footer #footer-legal .left, .c-page-footer #footer-legal .center,
                .c-page-footer #footer-legal .right {
                  padding: 0 32px;   }
}

.c-photo-print {
  background: white;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  box-shadow: 16px 16px 32px 0px rgba(0, 0, 0, 0.26);
  padding: 16px; }
  @media (width < 500px) {
    .c-photo-print {
      padding: 8px;   }
}

.c-price-block {
  display: flex;
  flex-flow: column;
  padding: 16px;
  width: 320px;
  border: 1px solid #002609; }
  .c-price-block h3 {
    font-size: 18px;
    align-self: center;
    margin-bottom: 32px; }
    .c-price-block p {
      margin-bottom: 16px;
      font-size: 18px; }
      .c-price-block ul {
        flex: 1 1 100%;
        list-style-type: disc;
        margin-left: 16px; }
        .c-price-block ul li {
          font-size: 18px;
          line-height: 1.25em; }
          .c-price-block ul li.tier-2 {
            margin-left: 32px; }
  .c-price-block .fee {
    align-self: center;
    margin-top: 32px;
    font-family: "Futura LT Pro", sans-serif;
    font-size: 18px; }

.c-price-row {
  display: flex;
  flex-flow: row wrap;
  column-gap: 32px;
  row-gap: 32px;
  justify-content: center; }

  .c-review {
    background: #ffe8d2;
    border: 1px solid #ffb46c;
    border-radius: 16px;
    font-size: 16px;
    padding: 32px 64px;
    line-height: 1.25em;
    font-family: "Source Sans 3", sans-serif; }
    @media (max-width: 768px) {
      .c-review {
        padding: 16px;   }
}
      .c-review.insert {
        border-color: #d26700;
        padding-top: 16px;
        padding-bottom: 16px;
        border-top-width: 0px;
        border-top-left-radius: 0;
        border-top-right-radius: 0; }

.c-reviews-section {
  display: flex;
  flex-flow: column;
  align-items: center; }
  .c-reviews-section .review-list {
    column-count: 2;
    column-gap: 32px;
    margin: 64px 64px 0 64px; }
    @media (max-width: 768px) {
      .c-reviews-section .review-list {
        column-count: 1;
        margin: 32px;   }
}
      .c-reviews-section .review-list .c-review {
        display: inline-block;
        margin: 0 0 32px 0; }

#page-company .c-page-header {
  display: none; }
  #page-company section#logo {
    margin-top: 32px;
    display: flex;
    flex-flow: column;
    align-items: center; }
    #page-company section#logo img {
      aspect-ratio: 690 / 150;
      max-width: 345px; }
      #page-company section#logo h1 {
        display: none; }
#page-company section#instructions {
  margin-top: 64px;
  display: flex;
  flex-flow: column;
  align-items: center;
  font-size: 22px;
  text-align: center; }
  #page-company section#offerings {
    margin: 32px auto 0 auto;
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    column-gap: 32px;
    row-gap: 64px; }
    #page-company section#offerings a {
      max-width: 280px;
      display: flex;
      flex-flow: column;
      align-items: center;
      color: #002609;
      cursor: pointer;
      font-family: "Futura LT Pro", sans-serif;
      font-size: 34px;
      text-decoration: none; }
      #page-company section#offerings a:hover picture {
        transform: scale(1.02);
        border-color: #b2b2b2;
        box-shadow: 16px 16px 32px 0px rgba(0, 0, 0, 0.2); }
      #page-company section#offerings a * {
        cursor: pointer; }
        #page-company section#offerings a picture {
          width: 100%;
          transition-property: border-color, box-shadow, transform;
          transition-duration: 0.1s;
          transition-timing-function: ease-in-out; }
          #page-company section#offerings a picture img {
            aspect-ratio: 4 / 5;
            display: block;
            width: 100%; }
      #page-company section#offerings a h2 {
        margin-top: 32px; }
        #page-company section#offerings a p {
          margin-top: 16px;
          font-family: "Source Sans 3", sans-serif;
          font-size: 18px;
          text-align: center;
          max-width: 224px; }
#page-company section#about {
  margin-top: 64px;
  display: flex;
  flex-flow: column;
  align-items: center; }
  #page-company section#about p {
    max-width: 640px; }
#page-company section#reviews .subscript {
  font-size: 18px; }
#page-company section#fallback {
  display: flex;
  flex-flow: column;
  align-items: center;
  font-size: 22px;
  text-align: center; }
  #page-company section#fallback .c-cta-button {
    margin-top: 64px; }
#page-company .c-page-content {
  margin-bottom: 0; }

#page-photo-book-preview .c-page-content {
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center; }
  #page-photo-book-preview .c-page-content img {
    margin: 32px;
    width: 50%; }
    #page-photo-book-preview .c-page-content iframe {
      width: 1200px;
      height: 490px;
      border: 0;
      overflow: hidden; }

#page-privacy section#logo {
  margin-top: 64px;
  display: flex;
  flex-flow: column;
  align-items: center; }
  #page-privacy section#logo img {
    max-width: 345px; }
#page-privacy section#privacy {
  margin-top: 64px; }
  #page-privacy section#privacy div.content {
    max-width: 640px;
    margin: 0 auto; }
    #page-privacy section#privacy div.content h2 {
      margin-top: 64px;
      margin-bottom: 16px; }
      #page-privacy section#privacy div.content h3 {
        margin-top: 32px; }
        #page-privacy section#privacy div.content p,
        #page-privacy section#privacy div.content li {
          font-size: 18px; }
          #page-privacy section#privacy div.content ul {
            list-style: disc; }
            #page-privacy section#privacy div.content ul li {
              margin-left: 32px; }
