/*
 * http://meyerweb.com/eric/tools/css/reset/
 * v2.0 | 20110126
 * License: none (public domain)
 */
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;
}

/* HTML5 display-role reset for older browsers */
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;
}
@font-face {
  font-family: "Source Sans 3";
  src: url("/fonts/SourceSans3-Bold.woff2") format("woff2");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
/* Colors */
/* Font Families */
/* Font Sizes */
/* Page Dimensions */
/* Image Sizes */
/* Spaces */
/* Breakpoints */
a {
  cursor: pointer;
}

body {
  display: flex;
  flex-flow: column;
  justify-content: stretch;
  font-family: "Source Sans 3", sans-serif;
  font-size: 22px;
  background: rgb(255, 255, 255);
  color: rgb(0, 38, 9);
}
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: 0;
}

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 rgb(229, 229, 229);
}
.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;
}

.c-consult-scheduler {
  display: flex;
  flex-flow: column;
  justify-content: stretch;
}
.c-consult-scheduler .c-tabbed-selector {
  width: 100%;
}
.c-consult-scheduler .c-tabbed-selector .consult-option {
  display: none;
  flex-flow: column;
  align-items: stretch;
}
.c-consult-scheduler .c-tabbed-selector .consult-option .calendly-inline-widget {
  flex: 1 1 100%;
  height: 700px;
}
.c-consult-scheduler .c-tabbed-selector .consult-option.selected {
  display: flex;
}

section.c-contact-section {
  display: flex;
  flex-flow: column;
  align-items: stretch;
  margin: 64px 64px 0 64px;
}
section.c-contact-section h1 {
  align-self: center;
  margin-bottom: 32px;
}
section.c-contact-section .c-send-message-panel {
  width: 100%;
  max-width: 640px;
  margin: 0 auto;
}

@keyframes rarePulse {
  0%, 93.33% {
    transform: scale(1);
    background-position: 200% 0;
    background-color: rgb(216, 44, 78);
  }
  96.66% {
    transform: scale(1.05);
    background-position: 0 0;
    background-color: rgb(219.978, 65.522, 96.054);
  }
  100% {
    transform: scale(1);
    background-position: 200% 0;
    background-color: rgb(216, 44, 78);
  }
}
.c-cta-button {
  border-radius: 16px;
  padding: 8px 64px;
  background-color: rgb(216, 44, 78);
  background-image: linear-gradient(110deg, rgb(216, 44, 78) 0%, rgb(223.956, 87.044, 114.108) 50%, rgb(216, 44, 78) 100%);
  background-size: 200% 100%;
  border: 2px solid rgb(255, 255, 255);
  color: rgb(255, 255, 255);
  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: rgb(133.352, 24.648, 46.136);
  box-shadow: 8px 8px 16px 0px rgba(0, 0, 0, 0.2);
  transform: scale(1.02);
}

.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-hero-image {
  border: 1px solid rgb(210, 102.6666666667, 0);
  max-width: 896px;
  max-height: 512px;
}

.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 rgb(0, 38, 9);
  padding: 10px;
  background: rgb(92, 92, 92);
  color: rgb(255, 255, 255);
  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: rgb(255, 255, 255);
}
.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: rgb(255, 255, 255);
  border: 1px solid rgb(229, 229, 229);
  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 rgb(0, 38, 9);
}
.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: rgb(255, 232, 210);
  border: 1px solid rgb(255, 179.8666666667, 108);
  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: rgb(210, 102.6666666667, 0);
  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;
}

.c-send-message-panel {
  position: relative;
}
.c-send-message-panel .pre-send {
  display: flex;
  flex-flow: column;
  z-index: 0;
}
.c-send-message-panel .pre-send input, .c-send-message-panel .pre-send textarea {
  border: 1px solid rgb(156, 156, 156);
  font-size: 18px;
  font-family: sans-serif;
  margin-bottom: 16px;
  padding: 8px 8px;
}
.c-send-message-panel .pre-send div {
  column-gap: 16px;
  display: flex;
  flex-flow: row;
  justify-content: flex-end;
}
.c-send-message-panel .pre-send div button {
  background: rgb(216, 44, 78);
  border: 2px solid rgb(216, 44, 78);
  border-radius: 8px;
  color: rgb(255, 255, 255);
  cursor: pointer;
  font-size: 18px;
  font-weight: bold;
  padding: 8px 16px;
}
.c-send-message-panel .pre-send div button:hover {
  border-color: rgb(0, 38, 9);
}
.c-send-message-panel .post-send {
  align-items: center;
  background: rgb(255, 255, 255);
  display: none;
  flex-flow: row;
  height: 100%;
  justify-content: center;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}
.c-send-message-panel.message-sent .post-send {
  display: flex;
}

.c-tabbed-selector {
  display: flex;
  flex-flow: column;
  align-items: stretch;
}
.c-tabbed-selector > .tab-row {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  column-gap: 32px;
  margin-bottom: 32px;
}
.c-tabbed-selector > .tab-row li {
  border-bottom: 2px solid rgba(0, 0, 0, 0);
  cursor: pointer;
}
.c-tabbed-selector > .tab-row li:hover {
  border-color: rgb(229, 229, 229);
}
.c-tabbed-selector > .tab-row li.selected {
  border-color: rgb(216, 44, 78);
  font-weight: bold;
}
.c-tabbed-selector > .panels {
  display: flex;
  flex-flow: column;
  align-items: stretch;
}
.c-tabbed-selector > .panels > [data-tab-name] {
  display: none;
  flex-flow: column;
  align-items: stretch;
}
.c-tabbed-selector > .panels > [data-tab-name].selected {
  display: flex;
}

#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: rgb(0, 38, 9);
  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-consult .c-page-content {
  display: flex;
  flex-flow: column;
  align-items: stretch;
  padding: 64px 64px 0 64px;
  width: 100%;
}

#page-consult-confirmed .c-page-content {
  display: flex;
  flex-flow: column;
  align-items: center;
  max-width: 640px;
}
#page-consult-confirmed .c-page-content img.logotype {
  margin-top: 32px;
  max-width: 345px;
}
#page-consult-confirmed .c-page-content picture {
  margin-top: 32px;
}
#page-consult-confirmed .c-page-content picture img {
  border-radius: 32px;
  max-width: 640px;
}
#page-consult-confirmed .c-page-content p {
  margin-top: 32px;
}

#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;
}
