html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline; }

audio:not([controls]) {
  display: none;
  height: 0; }

[hidden],
template {
  display: none; }

a {
  background-color: transparent; }
  a:active, a:hover {
    outline: 0; }

abbr[title] {
  border-bottom: 1px dotted; }

b,
strong {
  font-weight: bold; }

dfn {
  font-style: italic; }

h1 {
  font-size: 2em; }

mark {
  background: #ff0;
  color: #000; }

small {
  font-size: 80%; }

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

img {
  border: 0; }

svg:not(:root) {
  overflow: hidden; }

hr {
  height: 0; }

pre {
  overflow: auto; }

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit; }

button {
  overflow: visible; }

button,
select {
  text-transform: none; }

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer; }

button[disabled],
html input[disabled] {
  cursor: default; }

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

input {
  line-height: normal; }
  input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button {
    height: auto; }
  input[type="search"] {
    -webkit-appearance: textfield; }

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

fieldset {
  border: 1px solid #c0c0c0; }

legend {
  border: 0; }

textarea {
  overflow: auto; }

optgroup {
  font-weight: bold; }

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

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

ul {
  list-style-type: none; }

body {
  padding: 0;
  margin: 0px;
  background-color: #36486b; }

#container {
  padding: 30px 0 0 0;
  margin: auto;
  width: 90vw; }

h1 {
  font-family: 'Mulish';
  font-weight: 200;
  text-transform: uppercase;
  font-size: 30pt;
  line-height: 28pt;
  letter-spacing: .5pt;
  color: white; }

h2 {
  font-family: 'Playfair Display';
  font-weight: 900;
  font-style: italic;
  font-size: 60pt;
  letter-spacing: 1pt;
  color: #85d0ca;
  text-shadow: rgba(255, 255, 255, 0.5) 0px 3px 3px;
  margin: 0 0 60px 0; }

h3 {
  font-family: 'Playfair Display';
  font-weight: 900;
  font-size: 40pt;
  line-height: 30pt;
  letter-spacing: 4pt;
  text-transform: uppercase;
  color: #85d0ca; }

h4 {
  font-family: 'Mulish';
  font-weight: 200;
  font-size: 30pt;
  line-height: 30pt;
  text-transform: lowercase;
  font-style: italic;
  letter-spacing: .25pt;
  color: #36486b; }

h5 {
  font-family: 'Mulish';
  font-weight: 700;
  font-size: 13pt;
  line-height: 20pt;
  letter-spacing: 4pt;
  color: #85d0ca;
  text-transform: uppercase;
  margin: 0;
  padding: 0; }

h6 {
  font-family: 'Playfair Display';
  font-weight: 400;
  font-size: 12pt;
  text-transform: uppercase;
  line-height: 30pt;
  letter-spacing: 6pt;
  color: white; }

p {
  font-family: 'Mulish';
  font-weight: 300;
  font-size: 16pt;
  line-height: 22pt;
  letter-spacing: .5pt;
  color: #36486b;
  padding: 0px;
  margin: 20px 0 0 0; }

a {
  text-decoration: none;
  color: #36486b;
  border-bottom: 1.5pt solid #85d0ca;
  padding-bottom: 1px; }

a:hover {
  color: #85d0ca; }

::selection {
  background: #A9d9ca;
  /* WebKit/Blink Browsers */ }

::-moz-selection {
  background: #A9d9ca;
  /* Gecko Browsers */ }

body {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column; }
  body div#clear-sleeve {
    flex-grow: 1; }

nav {
  width: 90vw;
  margin: 10px auto; }
  @media only screen and (max-width: 800px) {
    nav {
      margin: 0 auto; } }
  nav ul {
    margin: auto;
    color: white;
    font-family: 'Playfair Display';
    font-weight: 900;
    font-size: 20px;
    display: flex;
    align-items: center;
    justify-content: center; }
    @media only screen and (max-width: 800px) {
      nav ul {
        display: block;
        height: auto; } }
    nav ul .button-left {
      text-align: right; }
      @media only screen and (max-width: 800px) {
        nav ul .button-left {
          text-align: center; } }
    nav ul .button-right {
      text-align: left; }
      @media only screen and (max-width: 800px) {
        nav ul .button-right {
          text-align: center; } }
    nav ul li {
      margin: 0px 20px;
      display: inline-block;
      top: 0;
      width: 30vw;
      text-align: center; }
      @media only screen and (max-width: 800px) {
        nav ul li {
          display: block;
          position: relative;
          top: 170px;
          width: 90vw;
          margin: 0; } }
      nav ul li h5 {
        color: white;
        font-size: 15pt;
        top: 10px;
        font-style: normal; }
        @media only screen and (max-width: 800px) {
          nav ul li h5 {
            line-height: 12px;
            margin-bottom: 10px; } }
        nav ul li h5 a {
          color: white;
          border: none;
          font-size: 13pt; }
        nav ul li h5 a:hover {
          color: #85d0ca;
          font-style: italic; }
  nav h1 {
    display: inline-block;
    padding: 10px;
    margin: 0px;
    z-index: -6; }
    @media only screen and (max-width: 800px) {
      nav h1 {
        position: absolute;
        top: 0;
        margin: 0;
        width: 90vw;
        padding: 0;
        display: flex;
        justify-content: center; } }
    nav h1 a {
      text-decoration: none;
      border: 0 none; }
    nav h1 img {
      width: 200px;
      text-decoration: none;
      border: 0; }
      @media only screen and (max-width: 800px) {
        nav h1 img {
          width: 130px;
          margin: 10px 0; } }

footer {
  width: 100%;
  padding: 20px;
  text-align: center;
  font-size: 32px;
  color: white; }
  @media only screen and (max-width: 800px) {
    footer {
      font-size: 14px;
      padding: 10px;
      margin-bottom: 20px; } }

footer h6 {
  display: inline-block;
  line-height: 20px;
  vertical-align: 6px;
  color: white; }
  @media only screen and (max-width: 800px) {
    footer h6 {
      font-size: 10px;
      letter-spacing: 2pt;
      vertical-align: 1px; } }

#clear-sleeve {
  padding-top: 16.66667vh; }
  @media only screen and (max-width: 800px) {
    #clear-sleeve {
      padding-top: 170px; } }

#envelope {
  width: 50vw;
  height: 50vh;
  position: relative;
  margin: auto; }
  @media only screen and (max-width: 800px) {
    #envelope {
      width: 80vw;
      margin: 20px auto;
      position: relative; } }

#envelope-flap {
  width: 100%;
  height: 100%;
  border-left: 25vw solid transparent;
  border-right: 25vw solid transparent;
  border-top: 31.25vh solid white;
  position: absolute;
  z-index: 5;
  transform-origin: top; }
  @media only screen and (max-width: 800px) {
    #envelope-flap {
      display: none; } }

#envelope-back-left {
  width: 0;
  height: 0;
  border-bottom: 50vh solid #f5f5f5;
  border-right: 50vw solid transparent;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2; }
  @media only screen and (max-width: 800px) {
    #envelope-back-left {
      display: none; } }

#envelope-back-right {
  width: 0;
  height: 0;
  border-bottom: 50vh solid #f5f5f5;
  border-left: 50vw solid transparent;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1; }
  @media only screen and (max-width: 800px) {
    #envelope-back-right {
      display: none; } }

#envelope-back-bottom {
  width: 0;
  height: 0;
  border-left: 25vw solid transparent;
  border-right: 25vw solid transparent;
  border-bottom: 26.31579vh solid #fcfcfc;
  bottom: 0;
  position: absolute;
  z-index: 3; }
  @media only screen and (max-width: 800px) {
    #envelope-back-bottom {
      display: none; } }

#notecard {
  background-color: white;
  background-image: url(../img/paper.png);
  width: 96%;
  height: 98%;
  margin: 1% 2%;
  padding: 10% 10%;
  position: absolute;
  z-index: 0;
  text-align: center; }
  @media only screen and (max-width: 800px) {
    #notecard {
      width: 100%;
      padding: 30px;
      margin: 0;
      height: auto;
      display: block; } }
  #notecard h2 {
    margin: 0;
    font-size: 6vw;
    color: #7cc9c3;
    text-shadow: 0 2px 1px rgba(255, 255, 255, 0.85), 0 -1px 2px rgba(25, 70, 75, 0.35);
    opacity: .9; }
    @media only screen and (max-width: 800px) {
      #notecard h2 {
        font-size: 35pt;
        padding-top: 10px; } }
  #notecard p {
    margin: 0px;
    font-size: 1.4vw;
    line-height: 1.5; }
    @media only screen and (max-width: 800px) {
      #notecard p {
        font-size: 12pt;
        margin: 15px 0;
        line-height: 15pt; } }

/* The sign-up form: the email field shrinks to fit the card, and the button keeps
   an 8px gap from it whether it sits beside it or wraps underneath. */
#notecard #mc_embed_signup_scroll {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px; }
  #notecard #mc_embed_signup_scroll label {
    flex-basis: 100%;
    padding-bottom: 2px; }
  #notecard #mc_embed_signup_scroll input.email {
    max-width: 100%;
    margin: 0; }

#envelope-front {
  width: 100%;
  height: 100%;
  background-color: #79c9c3;
  position: absolute;
  z-index: -5; }
  @media only screen and (max-width: 800px) {
    #envelope-front {
      display: none; } }

#wax-seal {
  background: url(../img/seal.svg) center/100% 100% no-repeat;
  position: absolute;
  margin: 0 auto;
  width: 12.5vh;
  height: 12.5vh;
  top: 50%;
  left: calc(50% - 6.25vh);
  z-index: 10;
  color: #DF0000;
  border-color: #808080;
  filter: drop-shadow(0 1px 2.5px rgba(0, 0, 0, 0.6));
  text-align: center;
  line-height: 4.2rem;
  font-size: 2.2rem;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  transform-origin: center; }
  @media only screen and (max-width: 800px) {
    #wax-seal {
      display: none; } }
  #wax-seal h5 {
    color: white;
    font-size: 8px;
    line-height: 8px;
    text-align: center;
    letter-spacing: 1px; }
  #wax-seal .embossed {
    width: 73%;
    display: block;
    position: absolute;
    top: 13.5%;
    left: 13.5%;
    box-shadow: 0 -2px 2px rgba(205, 205, 205, 0.1) inset, 0 3px 3px rgba(30, 30, 30, 0.1) inset, 0 1px 2px rgba(30, 30, 30, 0.6) inset;
    border-radius: 999rem;
    background-image: -webkit-linear-gradient(top, rgba(31, 31, 31, 0.3) 0%, rgba(21, 21, 21, 0.2) 100%); }

#wax-seal:before, #wax-seal:after {
  display: block;
  content: ' ';
  position: absolute;
  line-height: 0;
  font-size: 0;
  background: #DF0000;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.8), 0 3px 3px rgba(205, 205, 205, 0.4) inset; }

#wax-seal:after {
  width: 0.7rem;
  height: 0.7rem;
  top: 84%;
  left: 94%;
  border-radius: 1rem 0.9rem 0.95rem 0.8rem; }

#wax-seal:before {
  width: 0.3rem;
  height: 0.3rem;
  top: 103%;
  left: 85%;
  border-radius: 1rem 0.9rem 0.95rem 0.8rem; }

/* Envelope on scroll, only where the envelope shows. js/envelope.js adds .v2 and .scrolly. */
#scroll-hint {
  display: none; }

@media only screen and (min-width: 801px) {
  .v2 #envelope {
    perspective: 1400px; }
  .v2 #envelope-flap {
    border: 0;
    height: 62.5%;
    transform-style: preserve-3d; }
  .v2 #envelope-flap::before, .v2 #envelope-flap::after {
    content: "";
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; }
  .v2 #envelope-flap::before {
    background: white; }
  .v2 #envelope-flap::after {
    background: #85d0ca;
    transform: rotateY(180deg); }
  .v2 #envelope-flap #wax-seal {
    top: 80%;
    transform: translateZ(1px);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; }
  .v2 #notecard {
    will-change: transform; }
  .scrolly body {
    justify-content: flex-start; }
  .scrolly nav {
    position: sticky;
    top: 10px; }
  .scrolly #clear-sleeve {
    position: sticky;
    flex-grow: 0; }
  .scrolly #scroll-hint {
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    top: calc(16.67vh - 48px);
    margin: 0;
    text-align: center;
    transition: opacity .3s; }
  .scrolly #wax-seal {
    cursor: pointer; }
  .scrolly #scroll-spacer {
    height: 1400px; } }
