@charset "UTF-8";
@font-face {
  font-family: icomoon;
  src: url(/assets/icomoon-DZzlTYsl.eot?1raqk7);
  src:
    url(/assets/icomoon-DZzlTYsl.eot?1raqk7#iefix) format("embedded-opentype"),
    url(/assets/icomoon-DxjO4AiD.ttf?1raqk7) format("truetype"),
    url(/assets/icomoon-DUy7YJx5.woff?1raqk7) format("woff"),
    url(/assets/icomoon-u9fHnM8c.svg?1raqk7#icomoon) format("svg");
  font-weight: 400;
  font-style: normal;
  font-display: block;
}
[class^="icon-"],
[class*=" icon-"] {
  font-family: icomoon !important;
  speak: never;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.icon-home-outline:before {
  content: "";
}
.icon-home:before {
  content: "";
}
.icon-checkbox:before {
  content: "";
}
.icon-checkmark:before {
  content: "";
}
.icon-swap_vert:before {
  content: "";
}
.icon-arrow_drop_down:before {
  content: "";
}
.icon-arrow_drop_up:before {
  content: "";
}
.icon-keyboard_arrow_down:before {
  content: "";
}
.icon-keyboard_arrow_up:before {
  content: "";
}
.icon-file_download:before {
  content: "";
}
.icon-file_upload:before {
  content: "";
}
.icon-star_outline:before {
  content: "";
}
.icon-star_rate:before {
  content: "";
}
.icon-calendar:before {
  content: "";
}
.icon-Calendar-Heart-Fill--Streamline-Outlined-Fill-Material-Pro-converted:before {
  content: "";
}
.icon-credit:before {
  content: "";
}
.icon-lifebuoy:before {
  content: "";
}
.icon-chat:before {
  content: "";
}
.icon-phone1:before {
  content: "";
}
.icon-old-phone:before {
  content: "";
}
.icon-phone:before {
  content: "";
}
.icon-mobile:before {
  content: "";
}
.icon-phonelink_ring:before {
  content: "";
}
.icon-alternate_email:before {
  content: "";
}
.icon-Bed-Single--Streamline-Ultimate-converted:before {
  content: "";
}
.icon-motorcycle:before {
  content: "";
}
.icon-bike:before {
  content: "";
}
.icon-plane:before {
  content: "";
}
.icon-directions_bus:before {
  content: "";
}
.icon-directions_car:before {
  content: "";
}
.icon-directions_ferry:before {
  content: "";
}
.icon-directions_subway:before {
  content: "";
}
.icon-directions_walk:before {
  content: "";
}
.icon-directions_run:before {
  content: "";
}
.icon-emoji_people:before {
  content: "";
}
.icon-hand:before {
  content: "";
}
.icon-restaurant:before {
  content: "";
}
.icon-favorite_outline:before {
  content: "";
}
.icon-heart1:before {
  content: "";
}
.icon-favorite:before {
  content: "";
}
.icon-heart:before {
  content: "";
}
.icon-no_drinks:before {
  content: "";
}
.icon-wine:before {
  content: "";
}
.icon-cutlery:before {
  content: "";
}
.icon-map-signs:before {
  content: "";
}
.icon-address:before {
  content: "";
}
.icon-location:before {
  content: "";
}
.icon-bookmark:before {
  content: "";
}
.icon-map-pin:before {
  content: "";
}
.icon-map:before {
  content: "";
}
.icon-location_on:before {
  content: "";
}
.icon-bookmark1:before {
  content: "";
}
.icon-pin:before {
  content: "";
}
.icon-thumb-tack:before {
  content: "";
}
.icon-Sport-Bowling--Streamline-Nova-converted:before {
  content: "";
}
.icon-Wedding-Couple--Streamline-Ultimate-converted:before {
  content: "";
}
.icon-Rings-Couple--Streamline-Ultimate-converted:before {
  content: "";
}
.icon-Book-Heart--Streamline-Lucide-converted:before {
  content: "";
}
.icon-book:before {
  content: "";
}
.icon-gift:before {
  content: "";
}
.icon-gift1:before {
  content: "";
}
.icon-diamond:before {
  content: "";
}
.icon-arrow-out:before {
  content: "";
}
.icon-save:before {
  content: "";
}
.icon-local_printshop:before {
  content: "";
}
.icon-settings:before {
  content: "";
}
.icon-loading-flower:before {
  content: "";
}
.icon-drive_file_rename_outline:before {
  content: "";
}
.icon-delete_forever:before {
  content: "";
}
.icon-Qr-Code--Streamline-Carbon:before {
  content: "";
}
.icon-airbnb:before {
  content: "";
}
.icon-vrbo:before {
  content: "";
}
.icon-cozycozy:before {
  content: "";
}
.icon-facebook:before {
  content: "";
}
.icon-instagram:before {
  content: "";
}
.icon-snapchat:before {
  content: "";
}
.icon-sun:before {
  content: "";
}
.icon-moon:before {
  content: "";
}
@font-face {
  font-family: montserrat;
  src: url(/assets/Montserrat-CiIa1Ne8.ttf) format("truetype");
  font-display: swap;
}
@font-face {
  font-family: lucy;
  src: url(/assets/LucySaidOk-DzWIGZ15.ttf) format("truetype");
  font-display: swap;
}
@font-face {
  font-family: virnature;
  src: url(/assets/Virnature-Regular-CgBM2-ww.ttf) format("truetype");
  font-display: swap;
}
:root {
  --vt-c-white: hsl(0, 0%, 100%);
  --vt-c-white-soft: hsl(from var(--vt-c-white) h s calc(l - 5));
  --vt-c-white-mute: hsl(from var(--vt-c-white) h s calc(l - 10));
  --vt-c-black: hsl(from #181818 h s l);
  --vt-c-black-soft: hsl(from #222222 h s l);
  --vt-c-black-mute: hsl(from #282828 h s l);
  --vt-c-gray: hsl(from #3c3c3c h s l);
  --vt-c-gray-light: hsl(from var(--vt-c-gray) h s calc(l + 50));
  --vt-c-gray-dark: hsl(from var(--vt-c-gray) h s calc(l - 50));
  --vt-c-green: hsl(from #69764b h s l);
  --vt-c-green-light: hsl(from var(--vt-c-green) h s calc(l + 10));
  --vt-c-green-dark: hsl(from var(--vt-c-green) h s calc(l - 10));
  --vt-c-green-bright: hsl(from #a3d52e h s l);
  --vt-c-red: hsl(from #e50015 h s l);
  --vt-c-red-light: hsl(from var(--vt-c-red) h s calc(l + 10));
  --vt-c-red-dark: hsl(from var(--vt-c-red) h s calc(l - 10));
  --vt-c-divider-light-1: hsla(0, 0%, 24%, 0.29);
  --vt-c-divider-light-2: rgba(60, 60, 60, 0.12);
  --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65);
  --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48);
  --vt-c-text-dark-1: var(--vt-c-white);
  --vt-c-text-dark-2: rgba(235, 235, 235, 0.64);
  --blend-mode: soft-light;
  --font-primary: "montserrat", sans-serif;
  --font-primary-heading: "virnature", cursive;
  --font-secondary-heading: "lucy", cursive;
}
:root,
body.light-mode {
  --color-background: var(--vt-c-white);
  --color-background-soft: var(--vt-c-white-soft);
  --color-background-mute: var(--vt-c-white-mute);
  --color-border: var(--vt-c-divider-light-2);
  --color-border-hover: var(--vt-c-divider-light-1);
  --color-heading: var(--vt-c-green);
  --color-text: var(--vt-c-green);
  --color-link: var(--vt-c-green-light);
  --color-link-hover: var(---vt-c-green);
  --color-nav: var(--vt-c-green-light);
  --color-nav-hover: var(--vt-c-green);
  --color-nav-active: var(--vt-c-green-dark);
  --color-background-opaque: hsl(from var(--vt-c-white) h s l / 75%);
  --color-green-opaque: hsl(from var(--vt-c-green-light) h s l / 25%);
}
body.dark-mode {
  --color-background: var(--vt-c-black);
  --color-background-soft: var(--vt-c-black-soft);
  --color-background-mute: var(--vt-c-black-mute);
  --color-border: var(--vt-c-divider-dark-2);
  --color-border-hover: var(--vt-c-divider-dark-1);
  --color-heading: var(--vt-c-white-soft);
  --color-text: var(--vt-c-white-soft);
  --color-link: var(--vt-c-white-mute);
  --color-link-hover: var(--vt-c-black-mute);
  --color-nav: var(--vt-c-white-soft);
  --color-nav-hover: var(--vt-c-white-mute);
  --color-nav-active: var(--vt-c-white-soft);
  --color-background-opaque: hsl(from var(--vt-c-black) h s l / 85%);
  --color-green-opaque: hsl(from var(--vt-c-green-dark) h s l / 25%);
}
@media (prefers-color-scheme: dark) {
  :root:not(.light-mode):not(.dark-mode) {
    --color-background: var(--vt-c-black);
    --color-background-soft: var(--vt-c-black-soft);
    --color-background-mute: var(--vt-c-black-mute);
    --color-border: var(--vt-c-divider-dark-2);
    --color-border-hover: var(--vt-c-divider-dark-1);
    --color-heading: var(--vt-c-white-soft);
    --color-text: var(--vt-c-white-soft);
    --color-link: var(--vt-c-white-mute);
    --color-link-hover: var(--vt-c-black-mute);
    --color-nav: var(--vt-c-white-soft);
    --color-nav-hover: var(--vt-c-white-mute);
    --color-nav-active: var(--vt-c-white-soft);
    --color-background-opaque: hsl(from var(--vt-c-black) h s l / 85%);
    --color-green-opaque: hsl(from var(--vt-c-green-dark) h s l / 25%);
  }
}
body {
  min-height: 100vh;
  margin: 0;
  padding: 0;
  transition: color 0.5s;
  line-height: 1.6;
  color: var(--vt-c-green);
  font-family: var(--font-primary);
  text-wrap: balance;
  font-size: clamp(15px, 4.5vw, 18px);
  letter-spacing: -0.5px;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
h1,
h2,
h3 {
  position: relative;
  color: var(--color-heading);
  font-weight: 500;
  margin: 0;
}
h2,
h3 {
  font-family: var(--font-secondary-heading);
}
h1 {
  font-family: var(--font-primary-heading);
  font-size: max(50px, 5vw);
  width: 100%;
  text-align: center;
}
h1.hasHr {
  padding-top: 20px;
  margin-bottom: 30px;
  line-height: 1.2;
}
h1.hasHr:before,
h1.hasHr:after {
  content: "";
}
h1.hasHr:before {
  position: absolute;
  border-bottom: 2px solid var(--color-heading);
  width: 50%;
  left: 50%;
  transform: translate(-50%);
  height: 1px;
  bottom: 15px;
  z-index: 0;
}
h1.hasHr:after {
  position: relative;
  background: url(/assets/roses-C2f-ZiMA.webp);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  display: block;
  width: 100%;
  height: 50px;
  z-index: 1;
}
@media (max-width: 767px) {
  h1.hasHr {
    margin-top: 30px;
  }
}
h2 {
  font-size: max(40px, 4vw);
}
h3,
h2.likeh3 {
  font-size: max(35px, 2.8vw);
}
p,
li,
legend,
label {
  color: var(--color-text);
  -webkit-font-smoothing: subpixel-antialiased;
}
img {
  max-width: 100%;
  height: auto;
}
a,
a:link,
a:visited {
  transition: all 0.5s;
  opacity: 0.8;
  color: var(--color-nav);
}
a:hover,
a:active {
  opacity: 1;
  color: var(--color-nav-hover);
}
strong {
  font-weight: 700;
}
hr {
  display: block;
  width: 100%;
  border-top: 1px solid var(--vt-c-green);
}
.table-wrapper {
  margin-bottom: 2rem;
  overflow-x: auto;
}
table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
}
@media (prefers-color-scheme: dark) {
  table {
    background: #1a1a1a;
  }
}
tr {
  margin-bottom: 1.5rem;
  padding: 0.5rem;
  border: 2px solid var(--vt-c-green);
}
th,
td {
  padding: 0.5rem;
  border: 1px solid #ddd;
  text-align: left;
  font-size: 0.9rem;
  color: var(--color-text);
}
th {
  background: var(--vt-c-green);
  color: #fff;
  font-weight: 700;
}
@media (prefers-color-scheme: dark) {
  th {
    background: var(--vt-c-green-dark);
    color: var(--color-heading);
  }
}
tr:nth-child(2n) {
  background: #f9f9f9;
}
@media (prefers-color-scheme: dark) {
  tr:nth-child(2n) {
    background: #2a2a2a;
  }
}
tr:hover {
  background: #f1f1f1;
}
@media (prefers-color-scheme: dark) {
  tr:hover {
    background: #333;
  }
}
@media (max-width: 767px) {
  table,
  thead,
  tbody,
  th,
  td,
  tr {
    display: block;
  }
  thead {
    display: none;
  }
  tr {
    border: 1px solid var(--vt-c-green);
    margin-bottom: 1rem;
  }
  td {
    position: relative;
    padding: 0.5rem 0 0.5rem 150px;
    text-align: left;
    border: none;
    border-bottom: 1px solid #eee;
  }
}
@media (max-width: 767px) and (prefers-color-scheme: dark) {
  td {
    border-bottom: 1px solid #444;
  }
}
@media (max-width: 767px) {
  td:last-child {
    border-bottom: 0;
  }
  td:before {
    content: attr(data-label);
    position: absolute;
    left: 1rem;
    top: 0.5rem;
    font-weight: 700;
    font-size: 0.8em;
    color: var(--color-heading);
    white-space: nowrap;
  }
  td[data-label="Edit"]:before,
  td[data-label="Delete"]:before {
    content: none;
  }
  td[data-label="Edit"],
  td[data-label="Delete"] {
    padding: 0.5rem;
  }
}
.checkbox-group label,
.radio-group label {
  margin: 0 10px 0 0;
}
label {
  display: block;
  margin: 10px 0 0;
}
.subfield label {
  font-size: 0.9em;
}
.optional > label:after {
  content: " (optional):";
  text-transform: uppercase;
  font-size: 12px;
}
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
textarea,
select {
  width: 100%;
  padding: 10px;
  margin-bottom: 8px;
  border: none;
  border: 1px solid var(--vt-c-green-light);
  border-radius: 5px;
  font-size: 16px;
  transition: box-shadow 0.3s;
}
textarea {
  height: 100px;
}
input:focus,
textarea:focus {
  box-shadow: 0 2px 10px rgba(var(--vt-c-green-dark), 0.2);
  outline: none;
}
button,
input[type="submit"] {
  display: inline-block;
  width: auto;
  min-width: 100px;
  background: linear-gradient(var(--color-text), var(--color-link));
  color: var(--color-background-soft);
  border: unset;
  border-radius: 5px;
  margin-top: 20px;
  padding: 10px 15px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}
button:hover,
input[type="submit"]:hover {
  box-shadow: 0 2px 7px #0000004d;
  color: var(--color-background);
}
button:focus,
input[type="submit"]:focus,
button:active,
input[type="submit"]:active {
  box-shadow: 0 1px 3px #0000004d;
}
button[disabled],
input[type="submit"][disabled],
button[disabled]:hover,
input[type="submit"][disabled]:hover,
button.disabled,
input.disabled[type="submit"] {
  background: var(--vt-c-gray-light);
  color: var(--color-background-soft);
  box-shadow: none;
  cursor: not-allowed;
  pointer-events: auto;
}
.checkbox-group .error,
.radio-group .error {
  margin-top: 5px;
}
.checkbox-item,
.radio-item {
  margin: 5px 0;
}
.checkbox-item input[type="checkbox"],
.radio-item input[type="radio"] {
  margin-right: 10px;
}
.checkbox-group {
  display: grid;
  margin: 15px 0;
  width: 100%;
  max-width: 550px;
  grid-template-columns: 1fr 1fr;
}
@media (max-width: 767px) {
  .checkbox-group {
    grid-template-columns: 1fr;
  }
}
.radio-group {
  display: flex;
  margin: 15px 0;
  gap: 15px;
}
@media (max-width: 767px) {
  .radio-group {
    flex-direction: column;
    gap: 0;
  }
}
input[type="checkbox"],
input[type="radio"] {
  transform: scale(1.4);
}
input[type="radio"] {
  accent-color: #2563eb;
  scale: 1.3;
  margin-right: 5px;
}
.checkbox-item,
.radio-item {
  display: flex;
  align-items: center;
}
.required > label:after {
  content: "*";
}
* {
  box-sizing: border-box;
}
.container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 20px;
  width: calc(100% - 40px);
  max-width: 1024px;
  margin: 0 auto;
  padding-bottom: 30px;
}
@media (max-width: 767px) {
  .container {
    padding-bottom: 80px;
  }
}
.shadowed {
  padding: 20px;
  background: var(--color-background-opaque);
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  border-radius: 20px;
  box-shadow: 2px 2px 10px #0000001a;
}
@media (max-width: 767px) {
  .shadowed {
    padding: 10px;
    border-radius: 10px;
  }
}
.shadowed.--notransparency {
  background: var(--color-background);
}
a.has-icon {
  text-decoration: none;
  color: var(--vt-c-green);
  opacity: 1;
  font-size: 25px;
}
a.has-icon:hover {
  color: var(--vt-c-green-dark);
}
.center {
  text-align: center;
}
.toast {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%);
  padding: 10px 20px;
  color: var(--vt-c-white-soft);
  box-shadow: 0 10px 20px #00000059;
  border: 3px solid var(--vt-c-white-soft);
  border-radius: 10px;
}
.success.toast {
  background-color: var(--vt-c-green-dark);
}
.error.toast {
  background-color: var(--vt-c-red);
}
.error {
  color: var(--vt-c-red);
  font-size: 0.9em;
  margin: 5px 0 0;
}
.--green {
  font-weight: 700;
  color: var(--vt-c-green-bright);
}
.--red {
  font-weight: 700;
  color: var(--vt-c-red);
}
.fade-enter-active,
.fade-leave-active {
  transition: opacity 0.3s ease;
}
.fade-enter-from,
.fade-leave-to {
  opacity: 0;
}
.tippy-box[data-theme~="translucent"] {
  background: var(--vt-c-green-dark) !important;
}
body.route-home .site-footer {
  display: none;
}
@media print {
  body {
    background: #fff !important;
    color: #000 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .container,
  .shadowed {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
  }
  .header,
  .print,
  .logout-button,
  .toggle-button,
  h4,
  .error-message,
  nav,
  footer,
  #__vue-devtools-container__,
  .table-wrapper,
  .has-icon {
    display: none !important;
  }
  .table-wrapper {
    margin-bottom: 1rem;
  }
  body[data-printing-active="rsvp"] .table-wrapper[data-printing="rsvp"],
  body[data-printing-active="help"] .table-wrapper[data-printing="help"],
  body[data-printing-active="contact"] .table-wrapper[data-printing="contact"],
  body[data-printing-active="invites"] .table-wrapper[data-printing="invites"] {
    display: block !important;
    page-break-after: auto !important;
  }
  table,
  thead,
  tbody,
  th,
  td,
  tr {
    display: block;
  }
  thead {
    display: none;
  }
  tbody {
    display: flex;
    flex-wrap: wrap;
  }
  tr {
    width: 50%;
    margin-bottom: 0;
    padding: 0.5rem;
    border: 1px solid black;
  }
  tr:nth-child(2n) {
    border-left: 0;
  }
  td {
    position: relative;
    padding: 0 0 0 120px;
    text-align: left;
    border: none;
    border-bottom: 1px solid #ccc;
    font-size: 10pt;
    color: #000 !important;
  }
  td:last-child {
    border-bottom: 0;
  }
  td:before {
    content: attr(data-label);
    position: absolute;
    left: 0.5rem;
    top: 0.2em;
    font-weight: 700;
    font-size: 9pt;
    color: #000 !important;
    white-space: nowrap;
  }
  td[data-label="Message"] .message-content {
    white-space: normal !important;
    max-height: none !important;
    overflow: visible !important;
    display: block !important;
  }
  tr:nth-child(2n),
  tr:hover {
    background: transparent !important;
  }
  a.email-link,
  a.phone-link {
    text-decoration: none !important;
    color: #000 !important;
  }
  * {
    background: transparent !important;
    color: #000 !important;
  }
}
#app {
  display: flex;
  align-items: center;
  flex-direction: column;
  width: 100%;
  min-height: 100vh;
  margin: 0 auto;
}
#app > * {
  width: 100%;
}
@media (max-width: 767px) {
  #app {
    padding-top: 0;
  }
}
.tippy-box[data-animation="shift-away"][data-state="hidden"] {
  opacity: 0;
}
.tippy-box[data-animation="shift-away"][data-state="hidden"][data-placement^="top"] {
  transform: translateY(10px);
}
.tippy-box[data-animation="shift-away"][data-state="hidden"][data-placement^="bottom"] {
  transform: translateY(-10px);
}
.tippy-box[data-animation="shift-away"][data-state="hidden"][data-placement^="left"] {
  transform: translate(10px);
}
.tippy-box[data-animation="shift-away"][data-state="hidden"][data-placement^="right"] {
  transform: translate(-10px);
}
.tippy-box[data-animation="fade"][data-state="hidden"] {
  opacity: 0;
}
[data-tippy-root] {
  max-width: calc(100vw - 10px);
}
.tippy-box {
  position: relative;
  background-color: #333;
  color: #fff;
  border-radius: 4px;
  font-size: 14px;
  line-height: 1.4;
  white-space: normal;
  outline: 0;
  transition-property: transform, visibility, opacity;
}
.tippy-box[data-placement^="top"] > .tippy-arrow {
  bottom: 0;
}
.tippy-box[data-placement^="top"] > .tippy-arrow:before {
  bottom: -7px;
  left: 0;
  border-width: 8px 8px 0;
  border-top-color: initial;
  transform-origin: center top;
}
.tippy-box[data-placement^="bottom"] > .tippy-arrow {
  top: 0;
}
.tippy-box[data-placement^="bottom"] > .tippy-arrow:before {
  top: -7px;
  left: 0;
  border-width: 0 8px 8px;
  border-bottom-color: initial;
  transform-origin: center bottom;
}
.tippy-box[data-placement^="left"] > .tippy-arrow {
  right: 0;
}
.tippy-box[data-placement^="left"] > .tippy-arrow:before {
  border-width: 8px 0 8px 8px;
  border-left-color: initial;
  right: -7px;
  transform-origin: center left;
}
.tippy-box[data-placement^="right"] > .tippy-arrow {
  left: 0;
}
.tippy-box[data-placement^="right"] > .tippy-arrow:before {
  left: -7px;
  border-width: 8px 8px 8px 0;
  border-right-color: initial;
  transform-origin: center right;
}
.tippy-box[data-inertia][data-state="visible"] {
  transition-timing-function: cubic-bezier(0.54, 1.5, 0.38, 1.11);
}
.tippy-arrow {
  width: 16px;
  height: 16px;
  color: #333;
}
.tippy-arrow:before {
  content: "";
  position: absolute;
  border-color: transparent;
  border-style: solid;
}
.tippy-content {
  position: relative;
  padding: 5px 9px;
  z-index: 1;
}
.tippy-box[data-theme~="translucent"] {
  background-color: #000000b3;
}
.tippy-box[data-theme~="translucent"] > .tippy-arrow {
  width: 14px;
  height: 14px;
}
.tippy-box[data-theme~="translucent"][data-placement^="top"]
  > .tippy-arrow:before {
  border-width: 7px 7px 0;
  border-top-color: #000000b3;
}
.tippy-box[data-theme~="translucent"][data-placement^="bottom"]
  > .tippy-arrow:before {
  border-width: 0 7px 7px;
  border-bottom-color: #000000b3;
}
.tippy-box[data-theme~="translucent"][data-placement^="left"]
  > .tippy-arrow:before {
  border-width: 7px 0 7px 7px;
  border-left-color: #000000b3;
}
.tippy-box[data-theme~="translucent"][data-placement^="right"]
  > .tippy-arrow:before {
  border-width: 7px 7px 7px 0;
  border-right-color: #000000b3;
}
.tippy-box[data-theme~="translucent"] > .tippy-backdrop {
  background-color: #000000b3;
}
.tippy-box[data-theme~="translucent"] > .tippy-svg-arrow {
  fill: #000000b3;
}
.theme-toggle[data-v-d7ec558f] {
  position: absolute;
  right: 0.5rem;
  top: 0.75rem;
  z-index: 101;
}
.theme-toggle__input[data-v-d7ec558f] {
  display: none;
}
.theme-toggle__label[data-v-d7ec558f] {
  display: flex;
  align-items: center;
  width: 60px;
  height: 30px;
  background: var(--vt-c-green-light);
  border-radius: 20px;
  position: relative;
  cursor: pointer;
  transition: background 0.3s ease;
  padding: 2px;
  box-shadow: 0 2px 4px #0003;
}
.theme-toggle__input:checked + .theme-toggle__label[data-v-d7ec558f] {
  background: var(--vt-c-green-dark);
}
.theme-toggle__icon[data-v-d7ec558f],
.theme-toggle__text[data-v-d7ec558f] {
  position: absolute;
  transition: transform 0.3s ease;
}
.theme-toggle__text[data-v-d7ec558f] {
  display: none;
}
.theme-toggle__icon--sun[data-v-d7ec558f],
.theme-toggle__icon--moon[data-v-d7ec558f] {
  font-size: 24px;
  z-index: 1;
}
.theme-toggle__icon--sun[data-v-d7ec558f] {
  left: 3px;
  color: var(--color-link);
}
.theme-toggle__icon--moon[data-v-d7ec558f] {
  right: 3px;
  color: #fff;
}
.theme-toggle__input:checked
  + .theme-toggle__label
  .theme-toggle__icon--moon[data-v-d7ec558f] {
  color: #2c3e50;
}
.theme-toggle__text[data-v-d7ec558f] {
  font-size: 14px;
  color: #333;
  font-weight: 700;
}
.theme-toggle__text[data-v-d7ec558f]:nth-child(3) {
  left: 10px;
}
.theme-toggle__text[data-v-d7ec558f]:nth-child(4) {
  right: 10px;
  color: #ecf0f1;
}
.theme-toggle__label[data-v-d7ec558f]:after {
  content: "";
  position: absolute;
  width: 26px;
  height: 26px;
  background: #fff;
  border-radius: 50%;
  top: 2px;
  left: 2px;
  transition: transform 0.3s ease;
  box-shadow: 0 2px 4px #0003;
  z-index: 0;
}
.theme-toggle__input:checked + .theme-toggle__label[data-v-d7ec558f]:after {
  transform: translate(30px);
}
.theme-toggle__input:checked ~ .theme-toggle__icon--sun[data-v-d7ec558f],
.theme-toggle__input:checked
  ~ .theme-toggle__text[data-v-d7ec558f]:nth-child(3) {
  transform: translate(-50px);
  opacity: 0;
}
.theme-toggle__input:checked ~ .theme-toggle__icon--moon[data-v-d7ec558f],
.theme-toggle__input:checked
  ~ .theme-toggle__text[data-v-d7ec558f]:nth-child(4) {
  transform: translate(50px);
  opacity: 1;
}
.theme-toggle__input:not(:checked) ~ .theme-toggle__icon--moon[data-v-d7ec558f],
.theme-toggle__input:not(:checked)
  ~ .theme-toggle__text[data-v-d7ec558f]:nth-child(4) {
  transform: translate(50px);
  opacity: 0;
}
.theme-toggle__input:not(:checked) ~ .theme-toggle__icon--sun[data-v-d7ec558f],
.theme-toggle__input:not(:checked)
  ~ .theme-toggle__text[data-v-d7ec558f]:nth-child(3) {
  transform: translate(0);
  opacity: 1;
}
@media (max-width: 767px) {
  .theme-toggle[data-v-d7ec558f] {
    position: fixed;
    top: 0;
    right: 0;
  }
}
.site-footer {
  position: relative;
  font-size: 14px;
  padding: 50px 3px 10px;
  text-align: right;
  color: var(--color-link);
  z-index: 1;
}
.site-footer a {
  text-decoration: none;
  color: var(--color-link);
}
.site-footer a:hover {
  text-decoration: underline;
}
.modal-open .site-footer {
  filter: blur(5px);
}
.route-home .site-footer {
  display: none !important;
}
@media (max-width: 767px) {
  .site-footer {
    position: fixed;
    bottom: 85px;
    right: -2px;
    padding: 0;
    writing-mode: vertical-rl;
    text-orientation: mixed;
  }
  .site-footer .loko {
    display: none;
  }
}
main[data-v-7e257445] {
  position: relative;
  z-index: 1;
}
main[data-v-7e257445] > * {
  position: relative;
  z-index: 2;
}
.wrapper[data-v-7e257445] {
  min-height: 100vh;
  padding: 100px 0 0;
  background: url(/assets/hydrangea-A1OltzBY.webp);
  background-attachment: fixed;
  background-position: top left;
  background-size: cover;
  background-color: var(--color-background-opaque);
  background-blend-mode: var(--blend-mode);
  color: var(--vt-c-green);
}
.route-home .wrapper[data-v-7e257445] {
  background: transparent !important;
  padding: 0;
}
@media (max-width: 767px) {
  .wrapper[data-v-7e257445] {
    padding-top: 0;
  }
}
header[data-v-7e257445] {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  text-align: center;
  text-transform: uppercase;
  background: var(--color-background-opaque);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  box-shadow: 2px 2px 10px #00000040;
  border-top: 2px solid var(--color-nav);
  z-index: 100;
}
header nav[data-v-7e257445] {
  display: flex;
  justify-content: center;
  -webkit-font-smoothing: auto;
  padding: 1rem 0;
  z-index: 3;
}
header a[data-v-7e257445] {
  position: relative;
  display: flex;
  align-items: center;
  padding: 0 2rem 1.2rem;
  border-right: 1px solid var(--color-nav);
  text-decoration: none;
  white-space: nowrap;
  inline-size: min-content;
  transition: all 0.25s ease-in-out;
}
header a .nav-label[data-v-7e257445] {
  font-size: 9px;
  line-height: 1;
  transition: all 0.25s ease-in-out;
}
@media (min-width: 768px) {
  header a .nav-label[data-v-7e257445] {
    position: absolute;
    top: 30px;
    left: 50%;
    transform: translate(-50%);
    margin-top: 2px;
  }
}
@media (max-width: 767px) {
  header a .nav-label[data-v-7e257445] {
    font-size: 11px;
  }
  header a .nav-label .hide-on-mobile[data-v-7e257445] {
    display: none;
  }
}
header a i[data-v-7e257445] {
  font-size: 22px;
}
@media (max-width: 767px) {
  header a i[data-v-7e257445] {
    font-size: 28px;
  }
}
header a.router-link-exact-active[data-v-7e257445] {
  color: var(--color-nav-active);
}
header a.router-link-exact-active[data-v-7e257445]:hover {
  background-color: transparent;
}
header a[data-v-7e257445]:last-of-type {
  border: 0;
}
header a:hover .nav-label[data-v-7e257445] {
  background: linear-gradient(
    transparent 0,
    transparent 48%,
    var(--color-background-opaque) 48%,
    var(--color-background-opaque) 100%
  );
}
@media (min-width: 768px) {
  header a:hover .nav-label[data-v-7e257445] {
    font-size: 12px;
    top: 40px;
    padding: 10px;
    border-bottom-right-radius: 10px;
    border-bottom-left-radius: 10px;
  }
  header a:hover .nav-label[data-v-7e257445]:after {
    content: "";
    position: absolute;
    top: 48%;
    left: 0;
    filter: blur(10px);
    width: 100%;
    height: 52%;
    z-index: -1;
    border-bottom-right-radius: 10px;
    border-bottom-left-radius: 10px;
  }
}
.modal-open header[data-v-7e257445] {
  filter: blur(5px);
}
@media (max-width: 767px) {
  header[data-v-7e257445] {
    position: fixed;
    bottom: 0;
    top: auto;
    opacity: 0.95;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    box-shadow: 2px -2px 10px #00000080;
  }
  header nav[data-v-7e257445] {
    padding: 0;
    justify-content: space-evenly;
    align-items: flex-end;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
  }
  header nav a[data-v-7e257445] {
    flex-grow: 1;
    justify-content: center;
    flex-direction: column;
    gap: 8px;
    padding: 0.5rem 0;
    width: 16.6666666667%;
  }
  header nav a .nav-label[data-v-7e257445] {
    position: relative;
    top: initial;
    left: initial;
    transform: unset;
    white-space: normal;
  }
  header nav a:hover .nav-label[data-v-7e257445] {
    padding: 0;
  }
}
.rsvp-form form[data-v-5c010e52] {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  max-width: 800px;
  margin: 0 auto;
}
.rsvp-form .guest-section[data-v-5c010e52] {
  background: #fffc;
  padding: 1.5rem;
  border-radius: 12px;
  box-shadow: 0 4px 12px #0000000d;
}
.rsvp-form .guest-section.primary-guest[data-v-5c010e52] {
  border-left: 4px solid var(--vt-c-green);
}
.rsvp-form .guest-name[data-v-5c010e52] {
  margin: 0 0 1rem;
  font-size: 1.4rem;
  color: #333;
}
.rsvp-form .guest-name .primary-badge[data-v-5c010e52] {
  font-size: 0.8rem;
  color: #666;
  font-weight: 400;
  margin-left: 0.5rem;
}
.rsvp-form .radio-group[data-v-5c010e52] {
  border: none;
  padding: 0;
  margin: 1rem 0;
}
.rsvp-form .radio-group legend[data-v-5c010e52] {
  font-weight: 700;
  margin-bottom: 0.8rem;
  font-size: 1.1rem;
}
.rsvp-form .radio-group label[data-v-5c010e52] {
  display: block;
  margin: 0.8rem 0;
  cursor: pointer;
  font-size: 1.05rem;
}
.rsvp-form .radio-group label input[data-v-5c010e52] {
  margin-right: 0.8rem;
  transform: scale(1.2);
}
.rsvp-form .radio-group .required[data-v-5c010e52] {
  color: #d63031;
}
.rsvp-form .conditional-fields[data-v-5c010e52] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin: 1.5rem 0;
}
@media (max-width: 640px) {
  .rsvp-form .conditional-fields[data-v-5c010e52] {
    grid-template-columns: 1fr;
  }
}
.rsvp-form input[data-v-5c010e52],
.rsvp-form select[data-v-5c010e52] {
  width: 100%;
  padding: 0.8rem 1rem;
  border: 1px solid #ccc;
  border-radius: 8px;
  font-size: 1rem;
  margin-bottom: 1rem;
}
.rsvp-form input[data-v-5c010e52]:focus,
.rsvp-form select[data-v-5c010e52]:focus {
  outline: none;
  border-color: var(--vt-c-green);
  box-shadow: 0 0 0 3px #2ecc7133;
}
.rsvp-form .guest-of-select[data-v-5c010e52] {
  margin-top: 0.5rem;
}
.rsvp-form .contact-info[data-v-5c010e52] {
  background: #f8f9fa;
  padding: 1.5rem;
  border-radius: 12px;
  margin-top: 1rem;
}
.rsvp-form .contact-info h4[data-v-5c010e52] {
  margin: 0 0 1rem;
  color: #444;
}
.rsvp-form .submit-wrapper[data-v-5c010e52] {
  text-align: center;
  margin-top: 2rem;
}
.rsvp-form .submit-button[data-v-5c010e52] {
  background: var(--vt-c-green);
  color: #fff;
  padding: 1rem 2.5rem;
  font-size: 1.2rem;
  font-weight: 700;
  border: none;
  border-radius: 50px;
  cursor: pointer;
  transition: all 0.3s;
}
.rsvp-form .submit-button[data-v-5c010e52]:hover {
  background: var(--vt-c-green-dark);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px #2ecc714d;
}
@media (prefers-color-scheme: dark) {
  .rsvp-form .guest-section[data-v-5c010e52] {
    background: #1e1e1ecc;
  }
}
.home-view[data-v-b0910281] {
  position: relative;
}
.home-wrapper[data-v-b0910281] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}
.home-header[data-v-b0910281] {
  position: relative;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  text-align: center;
  width: 100%;
  height: 100vh;
  max-height: 100vh;
  background-position: 45% 45%;
  background: url(/assets/proposal-OYD_taXQ.jpg);
  background-position: top center;
  background-size: cover;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.8);
  z-index: 2;
}
.home-header[data-v-b0910281] * {
  position: relative;
  z-index: 3;
}
.home-header h1[data-v-b0910281] {
  position: relative;
  display: inline-block;
  font-size: clamp(38px, 6.5vw, 60px);
  color: var(--vt-c-white-soft);
  width: auto;
}
.home-header h1[data-v-b0910281]:before {
  content: "";
  position: absolute;
  top: 50%;
  left: -40px;
  width: 30px;
  border-bottom: 2px solid;
}
.home-header h1[data-v-b0910281]:after {
  content: "";
  position: absolute;
  top: 50%;
  right: -40px;
  width: 30px;
  border-bottom: 2px solid;
}
.landscape .home-header h1[data-v-b0910281] {
  margin-top: unset;
}
@media (max-width: 767px) {
  .home-header h1[data-v-b0910281] {
    font-weight: 600;
  }
}
@media (min-width: 1100px) {
  .home-header h1[data-v-b0910281] {
    margin-top: 0;
  }
}
.home-header h2[data-v-b0910281] {
  display: block;
  font-family: var(--font-primary);
  font-size: clamp(50px, 11vw, 90px);
  color: var(--vt-c-white-soft);
  line-height: 1;
  text-transform: uppercase;
}
.home-header p[data-v-b0910281] {
  margin-top: 30px;
  color: var(--vt-c-white-soft);
}
@media (max-width: 767px) {
  .home-header p[data-v-b0910281] {
    font-weight: 600;
  }
}
@media (max-width: 400px) or (max-height: 375px) {
  .home-header p[data-v-b0910281] {
    margin-top: 10px;
  }
}
.home-header .rsvp-button-wrapper[data-v-b0910281] {
  margin-bottom: 10vh;
}
.home-header .rsvp-button-wrapper button[data-v-b0910281] {
  background: linear-gradient(#eee, #ddd);
  color: var(--vt-c-black);
  margin: 0;
}
@media (min-width: 1100px) {
  .home-header .rsvp-button-wrapper[data-v-b0910281] {
    margin-bottom: 10vh;
  }
}
@media (max-width: 400px) or (max-height: 375px) {
  .home-header .rsvp-button-wrapper[data-v-b0910281] {
    margin: 0;
  }
}
.home-header[data-v-b0910281]:before {
  content: "test";
  mask: linear-gradient(
    rgba(255, 255, 255, 0.01) 0,
    rgba(255, 255, 255, 0.01) 50%,
    rgba(0, 0, 0, 0.5) 100%
  );
  -webkit-backdrop-filter: brightness(0.1);
  backdrop-filter: brightness(0.1);
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 1;
}
@media (max-width: 767px) {
  .home-header[data-v-b0910281] {
    padding-bottom: 100px;
  }
}
.slideshow-container[data-v-309d35f6] {
  position: relative;
  width: 100%;
  margin: 0 auto;
  text-align: center;
}
video[data-v-309d35f6] {
  width: 100%;
  height: auto;
}
.iframe-wrapper[data-v-309d35f6] {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  background: radial-gradient(#fff, #ccc);
  box-shadow: 0 2px 8px #3f455129;
  border-radius: 8px;
  aspect-ratio: 16/9;
  overflow: hidden;
}
.iframe-wrapper iframe[data-v-309d35f6] {
  width: 100%;
  height: 100%;
  border: none;
  padding: 0;
  margin: 0;
}
.iframe-wrapper.loaded[data-v-309d35f6] {
  background: transparent;
}
.loading-icon[data-v-309d35f6] {
  position: absolute;
  top: calc(50% - 12.5px);
  left: calc(50% - 12.5px);
  z-index: 999;
  display: inline-block;
  animation: spin-309d35f6 2s linear infinite;
  font-size: 1.5rem;
  width: 25px;
  color: var(--color-text);
  margin-bottom: 10px;
}
@keyframes spin-309d35f6 {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(360deg);
  }
}
.design-link[data-v-309d35f6] {
  display: block;
  margin-top: 10px;
  color: rgb(var(--vt-c-green));
  text-decoration: none;
  font-size: 0.9em;
  transition: color 0.25s ease-in-out;
}
.design-link[data-v-309d35f6]:hover {
  color: rgb(var(--vt-c-green-dark));
  text-decoration: underline;
}
.story .container[data-v-616170c6] {
  max-width: 807px;
  text-wrap: pretty;
}
.story .container .shadowed[data-v-616170c6] {
  width: 100%;
}
.story .container h2[data-v-616170c6] {
  margin-top: 30px;
}
.story .container a[data-v-616170c6],
.story .container a[data-v-616170c6]:link {
  color: rgb(var(--vt-c-green));
  text-decoration: none;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  transition: all 0.25s ease-in-out;
}
.story .container a i[data-v-616170c6],
.story .container a:link i[data-v-616170c6] {
  width: 35px;
  margin-top: 10px;
  font-size: 35px;
}
.story .container a i[data-v-616170c6]:before,
.story .container a:link i[data-v-616170c6]:before {
  display: inline-block;
  transform: rotate(15deg);
  transition: transform 0.25s ease-in-out;
}
.story .container a[data-v-616170c6]:hover,
.story .container a[data-v-616170c6]:active,
.story .container a:hover i[data-v-616170c6] {
  color: rgb(var(--vt-c-green-dark));
  text-decoration: underline;
}
.story .container a:hover i[data-v-616170c6]:before,
.story .container a:active i[data-v-616170c6]:before,
.story .container a:hover i i[data-v-616170c6]:before {
  transform: rotate(0);
}
.story .container small[data-v-616170c6] {
  display: none;
  width: 100%;
  text-align: center;
  background: rgb(var(--vt-c-white-soft));
  border: 1px solid rgb(var(--vt-c-green-light));
  border-radius: 3px;
  padding: 5px;
}
@media (max-width: 767px) {
  .story .container small[data-v-616170c6] {
    display: block;
  }
}
.tippy-box[data-theme~="light"] {
  color: #26323d;
  box-shadow:
    0 0 20px 4px #9aa1b126,
    0 4px 80px -8px #24282f40,
    0 4px 4px -2px #5b5e6926;
  background-color: #fff;
}
.tippy-box[data-theme~="light"][data-placement^="top"] > .tippy-arrow:before {
  border-top-color: #fff;
}
.tippy-box[data-theme~="light"][data-placement^="bottom"]
  > .tippy-arrow:before {
  border-bottom-color: #fff;
}
.tippy-box[data-theme~="light"][data-placement^="left"] > .tippy-arrow:before {
  border-left-color: #fff;
}
.tippy-box[data-theme~="light"][data-placement^="right"] > .tippy-arrow:before {
  border-right-color: #fff;
}
.tippy-box[data-theme~="light"] > .tippy-backdrop {
  background-color: #fff;
}
.tippy-box[data-theme~="light"] > .tippy-svg-arrow {
  fill: #fff;
}
.wedding .rsvp-button-wrapper[data-v-7f811a2d] {
  width: 100%;
  margin: 20px 0;
}
.wedding .rsvp-button-wrapper .rsvp-btn[data-v-7f811a2d] {
  display: block;
  margin: 0 auto;
}
.wedding .rsvp-button-wrapper .icon-check_box[data-v-7f811a2d] {
  font-size: 1.3em;
  vertical-align: -2px;
}
.wedding .rsvp-button-wrapper > div > p[data-v-7f811a2d],
.wedding .rsvp-button-wrapper > div > button[data-v-7f811a2d] {
  display: block;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.wedding h2[data-v-7f811a2d] {
  margin-bottom: 8px;
}
.wedding a[data-v-7f811a2d],
.wedding a[data-v-7f811a2d]:link {
  text-decoration: none;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  transition: all 0.25s ease-in-out;
}
.wedding a i[data-v-7f811a2d],
.wedding a:link i[data-v-7f811a2d] {
  width: 35px;
  margin-top: 10px;
  font-size: 35px;
}
.wedding a i[data-v-7f811a2d]:before,
.wedding a:link i[data-v-7f811a2d]:before {
  display: inline-block;
  transform: rotate(15deg);
  transition: transform 0.25s ease-in-out;
}
.wedding a[data-v-7f811a2d]:hover,
.wedding a[data-v-7f811a2d]:active,
.wedding a:hover i[data-v-7f811a2d] {
  text-decoration: underline;
}
.wedding a:hover i[data-v-7f811a2d]:before,
.wedding a:active i[data-v-7f811a2d]:before,
.wedding a:hover i i[data-v-7f811a2d]:before {
  transform: rotate(0);
}
.wedding .wedding-details[data-v-7f811a2d] {
  display: flex;
  gap: 20px;
}
@media (max-width: 767px) {
  .wedding .wedding-details[data-v-7f811a2d] {
    flex-direction: column-reverse;
  }
}
.wedding .where[data-v-7f811a2d],
.wedding .when[data-v-7f811a2d] {
  width: calc(50% - 10px);
}
@media (max-width: 767px) {
  .wedding .where[data-v-7f811a2d],
  .wedding .when[data-v-7f811a2d] {
    width: calc(100% - 10px);
  }
}
.wedding .address[data-v-7f811a2d],
.wedding .grid[data-v-7f811a2d] {
  width: calc(100% - 45px);
}
.wedding .grid[data-v-7f811a2d] {
  display: grid;
  grid-template-columns: 70px calc(100% - 70px);
}
.wedding .venue[data-v-7f811a2d] {
  width: 100%;
  margin-top: 20px;
}
.wedding figure[data-v-7f811a2d] {
  display: block;
}
.wedding figure img[data-v-7f811a2d] {
  object-fit: cover;
  object-position: center 60%;
  aspect-ratio: 1.75/1;
}
.wedding small[data-v-7f811a2d] {
  display: none;
  width: 100%;
  text-align: center;
  background: rgb(var(--vt-c-white-soft));
  border: 1px solid rgb(var(--vt-c-green-light));
  border-radius: 3px;
  padding: 5px;
}
@media (max-width: 767px) {
  .wedding small[data-v-7f811a2d] {
    display: block;
  }
}
.proposal .container .shadowed[data-v-e0043558] {
  width: 100%;
}
.proposal .container h2[data-v-e0043558] {
  margin-top: 30px;
}
.flex[data-v-d75ef4dc] {
  display: flex;
  text-wrap: pretty;
  width: 100%;
  gap: 20px;
}
.flex > div[data-v-d75ef4dc] {
  width: 50%;
}
@media (max-width: 767px) {
  .flex[data-v-d75ef4dc] {
    flex-direction: column;
  }
  .flex > div[data-v-d75ef4dc] {
    width: 100%;
  }
}
ul[data-v-d75ef4dc] {
  margin-bottom: 20px;
}
.strike[data-v-d75ef4dc] {
  text-decoration: line-through;
}
.travel .container[data-v-3654e87f] {
  max-width: 1064px;
  margin: 0 auto;
}
.travel .container h1[data-v-3654e87f] {
  position: relative;
  margin-bottom: 30px;
}
.travel .container h3[data-v-3654e87f] {
  line-height: 1;
}
.travel .container .airport[data-v-3654e87f] {
  max-width: 150px;
}
.travel .container table[data-v-3654e87f],
.travel .container tr[data-v-3654e87f],
.travel .container td[data-v-3654e87f],
.travel .container th[data-v-3654e87f] {
  background: #fff;
  white-space: nowrap;
}
.dark-mode .travel .container table[data-v-3654e87f],
.dark-mode .travel .container tr[data-v-3654e87f],
.dark-mode .travel .container td[data-v-3654e87f],
.dark-mode .travel .container th[data-v-3654e87f] {
  background: #222;
}
.travel .container td[data-v-3654e87f]:last-child,
.travel .container th[data-v-3654e87f]:last-child {
  width: 100%;
}
@media (max-width: 767px) {
  .travel .container td[data-v-3654e87f] {
    padding: 0.5rem;
    border-color: var(--color-text);
  }
}
.travel .container .error[data-v-3654e87f] {
  color: red;
  margin-bottom: 20px;
}
.travel .container .loading[data-v-3654e87f] {
  color: var(--color-text);
  font-style: italic;
  margin-bottom: 20px;
}
.travel .container .loading-icon[data-v-3654e87f] {
  display: inline-block;
  animation: spin-3654e87f 2s linear infinite;
  font-size: 1.5rem;
  width: 25px;
  color: var(--color-text);
  margin-bottom: 10px;
}
@keyframes spin-3654e87f {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(360deg);
  }
}
.travel .container a[data-v-3654e87f],
.travel .container a[data-v-3654e87f]:link {
  text-decoration: none;
  transition: all 0.25s ease-in-out;
}
.travel .container a.hasicon[data-v-3654e87f]:after,
.travel .container a:link.hasicon[data-v-3654e87f]:after {
  content: "";
}
.travel .container a.hasicon[data-v-3654e87f]:hover,
.travel .container a:link.hasicon[data-v-3654e87f]:hover {
  text-decoration: none;
}
.travel .container a[data-v-3654e87f]:hover,
.travel .container a[data-v-3654e87f]:active {
  text-decoration: underline;
}
.travel .container ul[data-v-3654e87f] {
  margin: 10px 0 0 23px;
  padding: 0;
}
.travel .container ul.shortterm[data-v-3654e87f] {
  list-style-type: none;
  margin-left: 0;
}
.travel .container ul.shortterm li[data-v-3654e87f] {
  margin: 0;
}
.travel .container ul li[data-v-3654e87f] {
  line-height: 1.3;
  margin-bottom: 10px;
}
@media (max-width: 1024px) {
  .travel .container ul li a[data-v-3654e87f] {
    display: flex;
    flex-direction: column;
  }
  .travel .container ul li a .pipe[data-v-3654e87f] {
    display: none;
  }
}
.travel .container ul li small[data-v-3654e87f] {
  display: block;
  color: var(--vt-c-text-light-2);
  font-size: 0.9rem;
}
.travel .container .flex[data-v-3654e87f] {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .travel .container .flex[data-v-3654e87f] {
    flex-direction: column;
  }
}
.travel .container .halves[data-v-3654e87f] > * {
  width: calc(50% - 20px);
}
@media (max-width: 767px) {
  .travel .container .halves[data-v-3654e87f] > * {
    width: 100%;
  }
}
@container icons (max-width: 3000px) {
  .travel .container .circle[data-v-3654e87f]:before {
    font-size: min(100cqh, 50cqw);
  }
}
.travel .container .type[data-v-3654e87f] {
  position: relative;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  text-wrap: pretty;
  margin: 0;
  padding: 30px;
  width: calc(50% - 20px);
  overflow: hidden;
  z-index: 1;
}
.travel .container .type[data-v-3654e87f]:first-child {
  width: 100%;
}
.travel .container .type .circle[data-v-3654e87f] {
  position: absolute;
  container: icons/size;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  max-height: 200px;
  z-index: -1;
}
.travel .container .type .circle[data-v-3654e87f]:before {
  position: absolute;
  bottom: 0;
  right: 0;
  line-height: 1;
  color: var(--color-green-opaque);
}
.travel .container .type .logo[data-v-3654e87f] {
  font-size: 35px;
  line-height: 1.5;
  transition: all 0.25s ease-in-out;
}
.travel .container .type .logo.icon-airbnb[data-v-3654e87f] {
  color: #ff5a5f;
}
.travel .container .type .logo.icon-vrbo[data-v-3654e87f] {
  color: #0e214b;
}
@media (prefers-color-scheme: dark) {
  .travel .container .type .logo.icon-vrbo[data-v-3654e87f] {
    color: #76c5f7;
  }
}
.travel .container .type .logo.icon-cozycozy[data-v-3654e87f] {
  color: #ba5092;
}
.travel .container .type small[data-v-3654e87f] {
  font-size: 10px;
  letter-spacing: 0;
}
.travel .container .type .prices[data-v-3654e87f] {
  position: relative;
  display: inline-flex;
  place-content: center;
  flex-wrap: initial;
  margin-left: 10px;
  padding: 0 10px;
  font-size: 12px;
  white-space: nowrap;
  letter-spacing: 0.5px;
  color: #fff;
  z-index: 1;
}
.travel .container .type .prices[data-v-3654e87f]:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: green;
  border-radius: 10px;
  z-index: -1;
}
.travel .container .type .stars[data-v-3654e87f] {
  display: inline-flex;
  align-items: center;
  position: relative;
}
.travel .container .type .stars[data-v-3654e87f] i {
  color: #f5c518;
  font-size: 14px;
  position: relative;
}
.travel .container .type .partial-star[data-v-3654e87f] {
  position: relative;
}
.travel .container .type .partial-star[data-v-3654e87f]:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  color: #f5c518;
  z-index: 1;
}
.travel .container .type .partial-star[data-v-3654e87f]:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  color: #ccc;
  z-index: 0;
}
@media (max-width: 767px) {
  .travel .container .type[data-v-3654e87f] {
    flex-direction: column;
    width: 100%;
  }
}
.contact-form[data-v-194de66c] {
  width: 100%;
  margin: 50px auto;
}
.contact-card[data-v-9b10ec24] {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 30px;
  flex-grow: 1;
}
.contact-card h2[data-v-9b10ec24] {
  margin-bottom: 10px;
}
.contact-card p[data-v-9b10ec24] {
  margin: 0;
}
.contact-card a[data-v-9b10ec24],
.contact-card a[data-v-9b10ec24]:link {
  text-decoration: none;
}
.contact-heading[data-v-9b10ec24] {
  display: flex;
  align-self: flex-start;
}
.contact-avatar img[data-v-9b10ec24] {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  margin-right: 1rem;
}
.social-links[data-v-9b10ec24] {
  padding: 0;
  margin: 20px 0 0;
  list-style-type: none;
  display: flex;
  gap: 10px;
}
.social-links .icon[data-v-9b10ec24] {
  display: block;
  width: 100%;
  height: 100%;
  transition: all 0.4s;
}
.social-links a[data-v-9b10ec24] {
  text-decoration: none;
}
.social-links a:hover .icon-facebook[data-v-9b10ec24] {
  color: #1877f2;
}
.social-links a:hover .icon-instagram[data-v-9b10ec24] {
  color: #c13584;
}
.social-links a:hover .icon-snapchat[data-v-9b10ec24] {
  color: #fffc00;
  text-shadow:
    -1px -1px 0 #000,
    1px -1px 0 #000,
    -1px 1px 0 #000,
    1px 1px 0 #000;
}
.social-icon[data-v-9b10ec24] {
  width: 24px;
  height: 24px;
}
.icon[data-v-9b10ec24]:before {
  font-size: 30px;
}
.flex[data-v-6bc82269] {
  display: flex;
  justify-content: center;
  gap: 2vw;
  width: 100%;
}
@media (max-width: 767px) {
  .flex[data-v-6bc82269] {
    flex-direction: column;
  }
}
.login-container[data-v-700973b3] {
  max-width: 400px;
  margin: 2rem auto;
  padding: 1.5rem;
  background: var(--color-background, #fff);
  box-shadow: 0 3px 10px #0003;
  border-radius: 8px;
}
.login-form[data-v-700973b3] {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.form-group[data-v-700973b3] {
  display: flex;
  flex-direction: column;
}
label[data-v-700973b3] {
  font-size: 0.9rem;
  margin-bottom: 0.25rem;
  color: #333;
}
input[data-v-700973b3] {
  padding: 0.5rem;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 1rem;
  transition: border-color 0.3s ease;
}
input[data-v-700973b3]:focus {
  border-color: var(--vt-c-green, #42b983);
  outline: none;
}
.error-message[data-v-700973b3] {
  color: #d32f2f;
  font-size: 0.85rem;
  text-align: center;
}
.submit-button[data-v-700973b3] {
  padding: 0.75rem;
  background: var(--vt-c-green, #42b983);
  color: #fff;
  border: none;
  border-radius: 4px;
  font-size: 1rem;
  cursor: pointer;
  transition: background 0.3s ease;
}
.toggle-text[data-v-700973b3] {
  margin-top: 1rem;
  text-align: center;
  font-size: 0.9rem;
}
.toggle-button[data-v-700973b3] {
  color: var(--color-nav);
  padding: 0;
  margin: 0;
  min-width: initial;
  background: none;
  border: none;
  text-decoration: underline;
  cursor: pointer;
}
.toggle-button[data-v-700973b3]:hover,
.toggle-button[data-v-700973b3]:focus,
.toggle-button[data-v-700973b3]:active {
  box-shadow: none;
  color: var(--color-nav-hover);
}
h3[data-v-6343ccf3] {
  font-family: var(--font-primary);
  font-size: 20px;
  display: flex;
  justify-content: space-between;
}
h3 + p[data-v-6343ccf3] {
  margin-top: 0;
}
.print[data-v-6343ccf3] {
  background: transparent;
  color: var(--vt-c-green);
  font-size: 25px;
  margin-top: 8px;
  min-width: initial;
}
.print[data-v-6343ccf3]:active,
.print[data-v-6343ccf3]:focus,
.print[data-v-6343ccf3]:hover {
  box-shadow: none;
  color: var(--vt-c-black-mute);
}
td[data-label="Name"][data-v-6343ccf3],
td[data-label="Phone"][data-v-6343ccf3] {
  white-space: nowrap;
}
td[data-label="Message"][data-v-6343ccf3] {
  padding-bottom: 5px;
}
td[data-label="Date"][data-v-6343ccf3] {
  width: 82px;
}
@media print {
  td[data-label="Date"][data-v-6343ccf3] {
    width: auto;
  }
}
.message-content[data-v-6343ccf3] {
  display: inline-block;
  overflow: hidden;
}
.toggle-button[data-v-6343ccf3]:before {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: var(--vt-c-green);
  color: var(--vt-c-white-soft);
  border-radius: 50%;
  padding: 5px;
  width: 25px;
  height: 25px;
  cursor: pointer;
  transition: all 0.2s;
}
.toggle-button[data-v-6343ccf3]:hover:before {
  background-color: var(--vt-c-black-soft);
}
.slide-enter-active[data-v-6343ccf3],
.slide-leave-active[data-v-6343ccf3] {
  transition:
    max-height 0.3s ease,
    opacity 0.3s ease;
}
h3[data-v-ab681ea1] {
  font-family: var(--font-primary);
  font-size: 20px;
  display: flex;
  justify-content: space-between;
}
h3 + p[data-v-ab681ea1] {
  margin-top: 0;
}
td[data-label="Name"][data-v-ab681ea1],
td[data-label="Phone"][data-v-ab681ea1] {
  white-space: nowrap;
}
.print[data-v-ab681ea1] {
  background: transparent;
  color: var(--vt-c-green);
  font-size: 25px;
  margin-top: 8px;
  min-width: initial;
}
.print[data-v-ab681ea1]:active,
.print[data-v-ab681ea1]:focus,
.print[data-v-ab681ea1]:hover {
  box-shadow: none;
  color: var(--vt-c-black-mute);
}
.table-wrapper[data-printing="help"][data-v-ab681ea1] {
  display: block;
}
td[data-label="Date"][data-v-ab681ea1] {
  width: 82px;
}
@media print {
  td[data-label="Date"][data-v-ab681ea1] {
    width: auto;
  }
}
h3[data-v-5b564e9e] {
  font-family: var(--font-primary);
  font-size: 20px;
  display: flex;
  justify-content: space-between;
}
h3 + p[data-v-5b564e9e] {
  margin-top: 0;
}
.print[data-v-5b564e9e] {
  background: transparent;
  color: var(--vt-c-green);
  font-size: 25px;
  margin-top: 8px;
  min-width: initial;
}
.print[data-v-5b564e9e]:active,
.print[data-v-5b564e9e]:focus,
.print[data-v-5b564e9e]:hover {
  box-shadow: none;
  color: var(--vt-c-black-mute);
}
th[data-v-5b564e9e] {
  cursor: pointer;
  position: relative;
  padding-right: 20px;
}
th.sortable[data-v-5b564e9e]:after {
  content: "↕";
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translateY(-50%);
}
th.sort-active[data-v-5b564e9e] {
  font-weight: 700;
}
th.sort-asc[data-v-5b564e9e]:after {
  content: "↑";
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translateY(-50%);
}
th.sort-desc[data-v-5b564e9e]:after {
  content: "↓";
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translateY(-50%);
}
td[data-label="Date"][data-v-5b564e9e] {
  width: 82px;
}
@media print {
  td[data-label="Date"][data-v-5b564e9e] {
    width: auto;
  }
}
.header[data-v-0acb78f6] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin-top: 1rem;
}
@media (max-width: 767px) {
  .header[data-v-0acb78f6] {
    flex-direction: column-reverse;
  }
}
h4[data-v-0acb78f6] {
  font-size: 14px;
  text-align: right;
}
h4 .username[data-v-0acb78f6] {
  text-transform: capitalize;
}
.logout-button[data-v-0acb78f6] {
  padding: 0.5rem 1rem;
  background: #d32f2f;
  color: #fff;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
}
@media (max-width: 767px) {
  .logout-button[data-v-0acb78f6] {
    min-width: auto;
    background: transparent;
    padding: 0;
    color: var(--vt-c-green);
    align-self: flex-end;
  }
  .logout-button[data-v-0acb78f6]:hover {
    box-shadow: none;
    color: var(--vt-c-black-mute);
  }
}
.error-message[data-v-0acb78f6] {
  color: #d32f2f;
  font-size: 0.9rem;
  text-align: center;
  margin-top: 1rem;
}
.auto-rsvp p[data-v-098831dd] {
  text-align: center;
  max-width: 600px;
  margin: 0 auto 1.5rem;
}
.auto-rsvp .accented[data-v-098831dd] {
  position: relative;
  font-size: 0.62em;
  top: -0.12em;
  left: -0.02em;
  transform: rotate(15deg);
  display: inline-block;
}
.auto-rsvp .intro[data-v-098831dd] {
  font-size: 1.1rem;
}
.auto-rsvp .intro strong[data-v-098831dd] {
  font-size: 1.3rem;
  color: var(--vt-c-text-dark-1);
}
.auto-rsvp .loading[data-v-098831dd] {
  font-style: italic;
  color: #666;
}
.auto-rsvp .error[data-v-098831dd] {
  color: #d63031;
  font-weight: 700;
  background: #ffebee;
  padding: 1rem;
  border-radius: 8px;
  margin: 1rem 0;
}
.auto-rsvp .confirmation[data-v-098831dd] {
  text-align: center;
  margin: 40px 0;
}
.auto-rsvp .confirmation p[data-v-098831dd] {
  font-size: 1.4rem;
  margin-bottom: 20px;
}
.auto-rsvp .confirmation p .icon-checkmark[data-v-098831dd] {
  color: var(--vt-c-green);
  font-size: 2rem;
  vertical-align: middle;
  margin-right: 10px;
}
.auto-rsvp .confirmation button[data-v-098831dd] {
  padding: 0.7rem 1.5rem;
  background: var(--vt-c-green);
  color: #fff;
  border: none;
  border-radius: 6px;
  font-size: 1rem;
  cursor: pointer;
  transition: background 0.2s;
}
.auto-rsvp .confirmation button[data-v-098831dd]:hover {
  background: var(--vt-c-green-dark);
}
.invites .container[data-v-5c3fd41c] {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
}
.invites h2[data-v-5c3fd41c] {
  text-align: left;
  font-family: var(--font-primary);
  font-size: 20px;
  display: flex;
  justify-content: space-between;
}
.invites .print[data-v-5c3fd41c] {
  background: transparent;
  color: var(--vt-c-green);
  font-size: 25px;
  margin-top: 8px;
  min-width: initial;
}
.invites .print[data-v-5c3fd41c]:active,
.invites .print[data-v-5c3fd41c]:focus,
.invites .print[data-v-5c3fd41c]:hover {
  box-shadow: none;
  color: var(--vt-c-black-mute);
}
.invites p[data-v-5c3fd41c] {
  margin-top: 0;
}
.invites .guest-form-wrapper[data-v-5c3fd41c],
.invites .guest-form[data-v-5c3fd41c] {
  width: 100%;
}
.invites .guest-form-fields[data-v-5c3fd41c] {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-column-gap: 30px;
  grid-row-gap: 10px;
}
@media (max-width: 767px) {
  .invites .guest-form-fields[data-v-5c3fd41c] {
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 10px;
  }
}
@media (max-width: 400px) {
  .invites .guest-form-fields[data-v-5c3fd41c] {
    grid-template-columns: 1fr;
  }
}
.invites .form-buttons[data-v-5c3fd41c] {
  display: flex;
  gap: 10px;
  margin-top: 20px;
}
.invites .filter-group[data-v-5c3fd41c] {
  display: flex;
  justify-content: flex-end;
  max-width: 300px;
  margin-left: auto;
  gap: 10px;
}
.invites .filter-group label[for="attending-filter"][data-v-5c3fd41c] {
  font-size: 14px;
  white-space: nowrap;
}
.invites .filter-group select[data-v-5c3fd41c] {
  font-size: 14px;
  padding: 5px 10px;
}
.invites .table-wrapper[data-v-5c3fd41c],
.invites table[data-v-5c3fd41c] {
  width: 100%;
}
.invites td[data-label="Name"][data-v-5c3fd41c] {
  min-width: 140px;
}
.invites td[data-label="Phone"][data-v-5c3fd41c],
.invites td[data-label="Address"][data-v-5c3fd41c],
.invites td[data-label="RSVP Date"][data-v-5c3fd41c] {
  white-space: nowrap;
}
.invites td[data-label="QR Code"][data-v-5c3fd41c] {
  text-align: center;
}
.invites .qr-btn[data-v-5c3fd41c] {
  color: #00f;
  width: 50px;
}
.invites .qr-btn[data-v-5c3fd41c]:hover,
.invites .qr-btn[data-v-5c3fd41c]:focus,
.invites .qr-btn[data-v-5c3fd41c]:active {
  color: #00008b;
}
.invites .qr-thumbnail[data-v-5c3fd41c] {
  width: 50px;
  height: 50px;
  cursor: pointer;
  display: block;
  margin: 0 auto;
  transition: transform 0.2s;
}
.invites .qr-thumbnail[data-v-5c3fd41c]:hover {
  transform: scale(1.1);
}
.invites .action-btn[data-v-5c3fd41c] {
  display: block;
  background: transparent;
  padding: 0;
  margin: 0 auto;
  min-width: auto;
  color: var(--vt-c-green);
  font-size: 1.5em;
  cursor: pointer;
}
.invites .action-btn[data-v-5c3fd41c]:hover,
.invites .action-btn[data-v-5c3fd41c]:focus,
.invites .action-btn[data-v-5c3fd41c]:active {
  color: var(--vt-c-green-dark);
  box-shadow: none;
}
.invites .action-btn.delete-btn[data-v-5c3fd41c] {
  color: var(--vt-c-red);
}
.invites .action-btn.delete-btn[data-v-5c3fd41c]:hover,
.invites .action-btn.delete-btn[data-v-5c3fd41c]:focus,
.invites .action-btn.delete-btn[data-v-5c3fd41c]:active {
  color: var(--vt-c-red-dark);
}
@media (max-width: 767px) {
  .invites .action-btn[data-v-5c3fd41c] {
    margin: 0;
    text-align: left;
  }
}
@media (max-width: 767px) {
  .invites td[data-label="Edit"][data-v-5c3fd41c],
  .invites td[data-label="Delete"][data-v-5c3fd41c] {
    display: inline-block;
    border-bottom: 0;
    font-size: 1em;
    line-height: 1.5;
    padding: 0.25rem 0;
  }
  .invites td[data-label="Delete"][data-v-5c3fd41c] {
    margin-left: 10px;
  }
}
@media (min-width: 400px) and (max-width: 767px) {
  .invites .hide-on-tablet[data-v-5c3fd41c] {
    display: none;
  }
}
@media print {
  .invites .hide-on-print[data-v-5c3fd41c] {
    display: none;
  }
}
