/*--------------------*/
/* Variables
/*--------------------*/
/* Higher values are slower */
/*--------------------*/
/* Mixins
/*--------------------*/
/*--------------------*/
/* Global
/*--------------------*/
* {
  box-sizing: border-box;
  --vh: 0px;
}

html {
  width: 100%;
  height: 100%;
  background-image: linear-gradient(to top, #005D69, #101022);
}

body {
  position: relative;
  min-height: 100%;
  min-width: 320px;
  margin: 0;
  padding: 0;
  background-color: #101022;
  font-family: t26-carbon, monospace;
  font-weight: 100;
  font-style: normal;
  line-height: 2;
  color: #E6E7E8;
  font-size: 18px;
  background-image: linear-gradient(to top, #005D69, #101022);
  background-size: cover;
  z-index: 1;
  --pageScroll: 0px;
}

/*----------------------*/
/* Page Background
/*----------------------*/
.background-container {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
  pointer-events: none;
  --scroll-multiplier: 0.75;
}
.background-container > * {
  position: absolute;
  top: 0;
  left: 0;
  width: max(3840px, 200vw);
  transform-origin: 0% 0%;
  height: 101vh;
  transform: translateZ(0) translateY(calc(var(--pageScroll) * var(--scroll-multiplier) * var(--layer-index)));
}
.background-container > *:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-size: 1920px auto;
}
.background-container .stars--small {
  --layer-index: 1;
}
.background-container .stars--small:before {
  background-image: url("../media/stars_sm.svg");
  -webkit-animation: starfield-bg 360s linear infinite;
          animation: starfield-bg 360s linear infinite;
}
.background-container .stars--medium {
  --layer-index: 2;
}
.background-container .stars--medium:before {
  background-image: url("../media/stars_med.svg");
  -webkit-animation: starfield-bg 280s linear infinite;
          animation: starfield-bg 280s linear infinite;
}
.background-container .stars--large {
  --layer-index: 3;
}
.background-container .stars--large:before {
  background-image: url("../media/stars_lg.svg");
  -webkit-animation: starfield-bg 200s linear infinite;
          animation: starfield-bg 200s linear infinite;
}
@media (max-width: 768px) {
  .background-container > *:before {
    background-size: 1200px auto;
  }
  .background-container .stars--small:before {
    background-image: url("../media/stars_sm-mobile.svg");
    -webkit-animation: starfield-bg-mobile 360s linear infinite;
            animation: starfield-bg-mobile 360s linear infinite;
  }
  .background-container .stars--medium:before {
    background-image: url("../media/stars_med-mobile.svg");
    -webkit-animation: starfield-bg-mobile 280s linear infinite;
            animation: starfield-bg-mobile 280s linear infinite;
  }
  .background-container .stars--large:before {
    background-image: url("../media/stars_lg-mobile.svg");
    -webkit-animation: starfield-bg-mobile 200s linear infinite;
            animation: starfield-bg-mobile 200s linear infinite;
  }
}

@-webkit-keyframes starfield-bg {
  0% {
    transform: translateX(0px);
  }
  100% {
    transform: translateX(-1920px);
  }
}

@keyframes starfield-bg {
  0% {
    transform: translateX(0px);
  }
  100% {
    transform: translateX(-1920px);
  }
}
@-webkit-keyframes starfield-bg-mobile {
  0% {
    transform: translateX(0px);
  }
  100% {
    transform: translateX(-1350px);
  }
}
@keyframes starfield-bg-mobile {
  0% {
    transform: translateX(0px);
  }
  100% {
    transform: translateX(-1350px);
  }
}
/*--------------------*/
/* Layout
/*--------------------*/
.container {
  padding: 0 10vw;
}
@media (max-width: 960px) {
  .container {
    padding: 0 8vw;
  }
}
@media (max-width: 768px) {
  .container {
    padding: 0 32px;
  }
}

.hero-container {
  width: 100%;
  max-width: 1920px;
  min-height: 100vh;
  padding: 10vw;
  margin: 6rem auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.hero-container > img {
  max-width: 90%;
}
.hero-container p {
  text-align: center;
}
@media (max-width: 960px) {
  .hero-container {
    padding: 8vw;
  }
}
@media (max-width: 768px) {
  .hero-container {
    padding: 1rem;
    min-height: 100vh;
    min-height: -webkit-stretch;
  }
}

#header + .hero-container {
  margin-top: 0;
}

.hex-container {
  padding-top: 351px;
  padding-bottom: 278px;
  text-align: center;
  background-image: url("../media/hex-container-top-min.svg"), url("../media/hex-container-bottom-min.svg"), linear-gradient(#101022, #101022);
  background-position: top, bottom, 0px 350px;
  background-size: auto 351px, auto 278px, 100% calc(100% - 627px);
  background-repeat: repeat-x;
}

.image-container {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
}
.image-container img {
  max-width: 100%;
  height: auto;
}

.registry-container {
  max-width: 1200px;
  margin: 0 auto;
}

.mt-large {
  margin-top: 18rem !important;
}

.mb-large {
  margin-bottom: 18rem !important;
}

.mb-small {
  margin-bottom: 4rem !important;
}

.m-center {
  margin-left: auto !important;
  margin-right: auto !important;
}

/*--------------------*/
/* Style Modifiers
/*--------------------*/
.frame--ornate, .image-frame--ornate, .sl-wrapper .sl-image, .recommendation__title, .image-title {
  position: relative;
  z-index: 1;
}
.frame--ornate:after, .image-frame--ornate:after, .sl-wrapper .sl-image:after, .recommendation__title:after, .image-title:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  border-width: 50px;
  border-style: solid;
  -o-border-image: url("../media/frame-ornate.svg") 25% stretch;
     border-image: url("../media/frame-ornate.svg") 25% stretch;
  z-index: 2;
  pointer-events: none;
}
.frame--ornate img, .image-frame--ornate img, .sl-wrapper .sl-image img, .recommendation__title img, .image-title img, .frame--ornate iframe, .image-frame--ornate iframe, .sl-wrapper .sl-image iframe, .recommendation__title iframe, .image-title iframe {
  display: block;
  -webkit-clip-path: polygon(32px 0px, calc(100% - 32px) 0px, 100% 32px, 100% calc(100% - 32px), calc(100% - 32px) 100%, 32px 100%, 0px calc(100% - 32px), 0px 32px);
          clip-path: polygon(32px 0px, calc(100% - 32px) 0px, 100% 32px, 100% calc(100% - 32px), calc(100% - 32px) 100%, 32px 100%, 0px calc(100% - 32px), 0px 32px);
}
.frame--ornate.frosted:before, .frosted.image-frame--ornate:before, .sl-wrapper .frosted.sl-image:before, .frosted.recommendation__title:before, .frosted.image-title:before {
  content: "";
  position: absolute;
  top: 8px;
  bottom: 8px;
  left: 8px;
  right: 8px;
  background-color: rgba(0, 6, 34, 0.1);
  background-image: linear-gradient(#E6E7E8, #E6E7E8);
  background-size: 0% 100%;
  background-position: center;
  background-repeat: no-repeat;
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
  z-index: -1;
  transition: all 0.2s ease-out;
}

.frame--simple, .btn--default {
  position: relative;
  z-index: 1;
}
.frame--simple:after, .btn--default:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  border-width: 32px;
  border-style: solid;
  -o-border-image: url("../media/frame-simple.svg") 25% stretch;
     border-image: url("../media/frame-simple.svg") 25% stretch;
  z-index: 2;
  pointer-events: none;
}
.frame--simple img, .btn--default img, .frame--simple iframe, .btn--default iframe {
  display: block;
  -webkit-clip-path: polygon(32px 0px, calc(100% - 32px) 0px, 100% 32px, 100% calc(100% - 32px), calc(100% - 32px) 100%, 32px 100%, 0px calc(100% - 32px), 0px 32px);
          clip-path: polygon(32px 0px, calc(100% - 32px) 0px, 100% 32px, 100% calc(100% - 32px), calc(100% - 32px) 100%, 32px 100%, 0px calc(100% - 32px), 0px 32px);
}

.image-frame--ornate:after, .sl-wrapper .sl-image:after, .recommendation__title:after, .image-title:after {
  border-image-source: url("../media/frame-ornate-image.svg");
}

.hex-strip {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 255px 0 278px 0;
  text-align: center;
  background-image: url("../media/hex-border-top.svg"), url("../media/hex-border-bottom.svg"), linear-gradient(#005D69, #005D69);
  background-position: top, bottom, 0px 350px;
  background-size: auto 351px, auto 278px, 100% calc(100% - 627px);
  background-repeat: repeat-x;
}

/*--------------------*/
/* Typography
/*--------------------*/
h1 {
  font-family: lust-script-display, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 6rem;
}
@media (max-width: 960px) {
  h1 {
    font-size: 4rem;
  }
}
@media (max-width: 768px) {
  h1 {
    font-size: 2.5rem;
  }
}

p {
  max-width: 75ch;
}

a {
  color: inherit;
}
a:hover, a:focus-visible {
  color: #27AAE1;
}

.hex-title {
  position: relative;
  text-align: center;
  line-height: 1;
  z-index: 2;
}
.hex-title .accent {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(calc(-50% + (var(--pageScroll) * -10 * 0.1)));
  width: auto;
  height: 2.5em;
  max-width: unset;
  z-index: -1;
}

.image-title {
  width: 100%;
  padding: 10vw 5vw;
  text-align: center;
}
.image-title h1 {
  position: relative;
  margin: 0;
  line-height: 1.25em;
  z-index: 2;
}
.image-title img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 1;
  -webkit-clip-path: polygon(32px 0px, calc(100% - 32px) 0px, 100% 32px, 100% calc(100% - 32px), calc(100% - 32px) 100%, 32px 100%, 0px calc(100% - 32px), 0px 32px);
          clip-path: polygon(32px 0px, calc(100% - 32px) 0px, 100% 32px, 100% calc(100% - 32px), calc(100% - 32px) 100%, 32px 100%, 0px calc(100% - 32px), 0px 32px);
}
@media (max-width: 768px) {
  .image-title {
    padding: 30vw 5vw;
  }
}

.section-title {
  display: flex;
  justify-content: stretch;
  align-items: center;
  gap: 1em;
  margin: 0 0 4rem 0;
  color: #27AAE1;
  text-transform: uppercase;
  font-weight: 400;
}
.section-title:before, .section-title:after {
  content: "";
  flex-grow: 1;
  height: 1px;
  background: #27AAE1;
}

.text-large {
  font-size: 1.5rem;
}

.text-center {
  text-align: center;
}

/*--------------------*/
/* Buttons
/*--------------------*/
.btn {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: inline-block;
}

.btn--default {
  padding: 0.5rem 4rem;
  color: #E6E7E8;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  font-size: 1.5rem;
  transition: color 0.3s ease;
}
.btn--default:before {
  content: "";
  position: absolute;
  top: 4px;
  bottom: 4px;
  left: 4px;
  right: 4px;
  background-color: rgba(0, 6, 34, 0.1);
  background-image: linear-gradient(#E6E7E8, #E6E7E8);
  background-size: 0% 100%;
  background-position: center;
  background-repeat: no-repeat;
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  z-index: -1;
  transition: all 0.2s ease-out;
}
.btn--default:hover, .btn--default:focus {
  color: #101022;
}
.btn--default:hover:before, .btn--default:focus:before {
  background-size: 100% 100%;
}
@media (max-width: 768px) {
  .btn--default {
    padding: 1rem 3rem;
    font-size: 1rem;
  }
}

/*--------------------*/
/* Lists
/*--------------------*/
.list--basic {
  max-width: 75ch;
  list-style-image: url("../media/bullet.svg");
}
.list--basic li:not(:last-child) {
  margin-bottom: 3rem;
}
.list--basic li::marker {
  display: inline-block;
  vertical-align: middle;
}
.list--basic h3 {
  margin: 0;
  color: #27AAE1;
}
.list--basic p {
  margin: 0;
}

.list--schedule {
  max-width: 800px;
  margin: 0 auto;
  padding: 6rem 10rem;
  list-style-type: none;
}
.list--schedule li {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding: 0;
}
.list--schedule li:not(:last-child):after {
  content: "";
  display: block;
  width: 100%;
  height: 32px;
  margin: 6rem 0;
  background-image: url("../media/divider1.svg");
  background-size: auto 100%;
  background-position: center;
  background-repeat: no-repeat;
}
.list--schedule li h2 {
  margin: 0;
  font-size: 3rem;
  font-weight: normal;
  text-align: center;
}
.list--schedule li p {
  margin: 0;
  text-align: center;
}
@media (max-width: 960px) {
  .list--schedule {
    padding: 4rem 6rem;
  }
  .list--schedule li:not(:last-child):after {
    margin: 4rem 0;
  }
}
@media (max-width: 768px) {
  .list--schedule {
    padding: 2rem 3rem;
  }
  .list--schedule li:not(:last-child):after {
    height: 16px;
    margin: 2rem 0;
  }
  .list--schedule li h2 {
    font-size: 1.5rem;
  }
}

.list--questions {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style-type: none;
  text-align: center;
}
.list--questions li {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.list--questions li:not(:last-child):after {
  content: "";
  display: block;
  width: 100%;
  height: 32px;
  margin: 4rem 0;
  background-image: url("../media/divider2.svg");
  background-position: center;
  background-repeat: no-repeat;
}
.list--questions li h3 {
  color: #27AAE1;
}
.list--questions li p {
  text-align: left;
}

.list--things-to-do {
  margin: 0;
  padding: 0;
  list-style-type: none;
  text-align: center;
}
.list--things-to-do > li:not(:last-child) {
  margin-bottom: 12rem;
}
.list--things-to-do .things-to-do__recommendations {
  display: flex;
  flex-direction: row;
  gap: 4rem;
}
@media (max-width: 960px) {
  .list--things-to-do .things-to-do__recommendations {
    flex-direction: column;
  }
}

.recommendation {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  min-width: 0px;
  flex: 1;
}
.recommendation__title {
  width: 100%;
  padding: 5vw 2.5vw;
  text-align: center;
}
.recommendation__title h3 {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 4em;
  margin: 0;
  font-family: lust-script-display, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 3rem;
  letter-spacing: 1px;
  z-index: 2;
}
.recommendation__title img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 1;
  filter: brightness(70%);
  -webkit-clip-path: polygon(32px 0px, calc(100% - 32px) 0px, 100% 32px, 100% calc(100% - 32px), calc(100% - 32px) 100%, 32px 100%, 0px calc(100% - 32px), 0px 32px);
          clip-path: polygon(32px 0px, calc(100% - 32px) 0px, 100% 32px, 100% calc(100% - 32px), calc(100% - 32px) 100%, 32px 100%, 0px calc(100% - 32px), 0px 32px);
}
.recommendation__subtitle {
  margin: 0;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.recommendation .btn--default {
  align-self: center;
}
@media (max-width: 960px) {
  .recommendation .recommendation__title h3 {
    font-size: 2rem;
  }
}

/*--------------------*/
/* Animations
/*--------------------*/
@-webkit-keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/*--------------------*/
/* Header
/*--------------------*/
header {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 100;
  pointer-events: none;
}
header ul {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  padding-bottom: calc(env(safe-area-inset-bottom) + 2rem) !important;
  list-style-type: none;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  background-color: rgba(0, 6, 34, 0.75);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  opacity: 0;
  z-index: 10;
  pointer-events: none;
  transition: all 0.5s ease;
}
header ul li {
  display: inline-block;
}
header ul li a {
  position: relative;
  padding: 1rem 2rem;
  font-size: 0.875rem;
  color: #E6E7E8;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s ease;
}
header ul li a:before, header ul li a:after {
  content: "";
  position: absolute;
  left: calc(2rem - 8px);
  right: calc(2rem - 8px);
  height: 4px;
  border: solid 2px #005D69;
  opacity: 0;
  transition: all 0.3s ease;
}
header ul li a:before {
  top: 1rem;
  border-bottom-width: 0px;
}
header ul li a:after {
  bottom: 1rem;
  border-top-width: 0px;
}
header ul li a:hover, header ul li a:focus-visible {
  color: #E6E7E8;
}
header ul li a:hover:before, header ul li a:focus-visible:before {
  top: calc(1rem - 8px);
  opacity: 1;
}
header ul li a:hover:after, header ul li a:focus-visible:after {
  bottom: calc(1rem - 8px);
  opacity: 1;
}
header ul li a.active {
  background-image: linear-gradient(#E6E7E8, #E6E7E8);
  background-size: calc(100% - 3.5rem) 1px;
  background-repeat: no-repeat;
  background-position: bottom 0.75rem center;
}
header .header__toggle {
  position: absolute;
  bottom: 2rem;
  left: 50vw;
  transform: translateX(-50%);
  padding: 0.875rem 1.02075rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  color: transparent;
  font-size: 0;
  cursor: pointer;
  pointer-events: all;
  z-index: 11;
  transition: all 0.5s ease;
}
header .header__toggle .background {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(0, 6, 34, 0.2);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  -webkit-clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
          clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
  transition: all 0.5s ease;
  z-index: -1;
}
header .header__toggle:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 25%;
  background-color: #E6E7E8;
  opacity: 0;
  -webkit-clip-path: polygon(100% 0%, 1.5px 50%, 100% 100%, calc(100% - 1.5px) 100%, 0% 50%, calc(100% - 1.5px) 0%);
          clip-path: polygon(100% 0%, 1.5px 50%, 100% 100%, calc(100% - 1.5px) 100%, 0% 50%, calc(100% - 1.5px) 0%);
  transition: all 0.5s ease;
}
header .header__toggle:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 25%;
  background-color: #E6E7E8;
  opacity: 0;
  -webkit-clip-path: polygon(0% 0%, calc(100% - 1.5px) 50%, 0% 100%, 1.5px 100%, 100% 50%, 1.5px 0%);
          clip-path: polygon(0% 0%, calc(100% - 1.5px) 50%, 0% 100%, 1.5px 100%, 100% 50%, 1.5px 0%);
  transition: all 0.5s ease;
}
header .header__toggle:focus:not(:focus-visible) {
  outline: none;
}
header .header__toggle:hover .background, header .header__toggle:focus-visible .background {
  background-color: #E6E7E8;
}
header .header__toggle:hover:before, header .header__toggle:focus-visible:before {
  left: -16px;
  opacity: 1;
}
header .header__toggle:hover:after, header .header__toggle:focus-visible:after {
  right: -16px;
  opacity: 1;
}
header .header__toggle:hover span, header .header__toggle:focus-visible span {
  background-color: #101022;
}
header .header__toggle .icon {
  position: relative;
  height: 1.75rem;
  width: 2rem;
}
header .header__toggle span {
  display: block;
  position: absolute;
  height: 1px;
  width: 50%;
  background: #E6E7E8;
  opacity: 1;
  z-index: 1;
  transform: rotate(0deg);
  transition: 0.25s ease-in-out;
}
header .header__toggle span:nth-child(even) {
  right: 0;
}
header .header__toggle span:nth-child(odd) {
  left: 0;
}
header .header__toggle span:nth-child(1), header .header__toggle span:nth-child(2) {
  top: 0.25rem;
}
header .header__toggle span:nth-child(3), header .header__toggle span:nth-child(4) {
  top: 50%;
}
header .header__toggle span:nth-child(5), header .header__toggle span:nth-child(6) {
  bottom: 0.25rem;
}
header.open {
  pointer-events: all;
}
header.open ul {
  opacity: 1;
}
header.open ul li {
  pointer-events: all;
  opacity: 0;
  -webkit-animation: menu-fade 0.3s ease-out forwards;
          animation: menu-fade 0.3s ease-out forwards;
}
header.open ul li:nth-child(2) {
  -webkit-animation-delay: 0.05s;
          animation-delay: 0.05s;
}
header.open ul li:nth-child(3) {
  -webkit-animation-delay: 0.1s;
          animation-delay: 0.1s;
}
header.open ul li:nth-child(4) {
  -webkit-animation-delay: 0.15s;
          animation-delay: 0.15s;
}
header.open ul li:nth-child(5) {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
header.open ul li:nth-child(6) {
  -webkit-animation-delay: 0.25s;
          animation-delay: 0.25s;
}
header.open ul li:nth-child(7) {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}
header.open ul li:nth-child(8) {
  -webkit-animation-delay: 0.35s;
          animation-delay: 0.35s;
}
header.open ul li:nth-child(9) {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}
header.open ul li:nth-child(10) {
  -webkit-animation-delay: 0.45s;
          animation-delay: 0.45s;
}
header.open ul li:nth-child(11) {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
}
header.open .header__toggle:not(:hover, :focus-visible) .background {
  background-color: transparent;
}
header.open .header__toggle span:nth-child(1), header.open .header__toggle span:nth-child(6) {
  transform: rotate(45deg);
}
header.open .header__toggle span:nth-child(2), header.open .header__toggle span:nth-child(5) {
  transform: rotate(-45deg);
}
header.open .header__toggle span:nth-child(1) {
  left: 0.15rem;
  top: 0.5rem;
}
header.open .header__toggle span:nth-child(2) {
  right: 0.15rem;
  top: 0.5rem;
}
header.open .header__toggle span:nth-child(3) {
  left: -50%;
  opacity: 0;
}
header.open .header__toggle span:nth-child(4) {
  right: -50%;
  opacity: 0;
}
header.open .header__toggle span:nth-child(5) {
  left: 0.15rem;
  bottom: 0.5rem;
}
header.open .header__toggle span:nth-child(6) {
  right: 0.15rem;
  bottom: 0.5rem;
}
@media (max-width: 960px) {
  header ul {
    flex-direction: column;
    gap: 1rem;
  }
  header .header__toggle {
    bottom: 2rem;
  }
}

#home header,
#rsvp header {
  display: block;
  top: unset;
  bottom: 1rem;
  height: unset;
  pointer-events: all;
}
#home header ul,
#rsvp header ul {
  position: relative;
  background-color: transparent;
  -webkit-backdrop-filter: none;
          backdrop-filter: none;
  opacity: 1;
  pointer-events: all;
}
#home header .header__toggle,
#rsvp header .header__toggle {
  display: none;
}
@media (max-width: 960px) {
  #home header,
#rsvp header {
    position: relative;
    margin-top: 8rem;
  }
  #home header ul,
#rsvp header ul {
    padding: 0;
  }
}
@media (max-width: 768px) {
  #home header ul,
#rsvp header ul {
    background-color: transparent;
    -webkit-backdrop-filter: none;
            backdrop-filter: none;
  }
  #home header ul:before,
#rsvp header ul:before {
    display: none;
  }
}

@-webkit-keyframes menu-fade {
  0% {
    transform: translateY(-2rem);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes menu-fade {
  0% {
    transform: translateY(-2rem);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
/*--------------------*/
/* Footer
/*--------------------*/
footer {
  padding: 300px 0;
}
footer img {
  display: block;
  max-width: 60vw;
  margin: 0 auto;
}
@media (max-width: 768px) {
  footer {
    padding-bottom: 300px;
  }
}

/*--------------------*/
/* Home
/*--------------------*/
#home {
  background-image: url("../media/bg_hexagons.svg"), linear-gradient(30deg, #005D69, #101022);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed !important;
}
#home header {
  display: block;
  top: unset;
  bottom: 1rem;
  height: unset;
  pointer-events: all;
}
#home header ul {
  position: relative;
  background-color: transparent;
  -webkit-backdrop-filter: none;
          backdrop-filter: none;
  opacity: 1;
  pointer-events: all;
}
#home header .header__toggle {
  display: none;
}
@media (max-width: 960px) {
  #home {
    display: flex;
    flex-direction: column;
    gap: 8rem;
    padding: 8rem 0 4rem 0;
  }
  #home #home-circle {
    position: relative;
  }
  #home header {
    position: relative;
    margin-top: 8rem;
  }
  #home header ul {
    padding: 0;
  }
}
@media (max-width: 768px) {
  #home header ul {
    background-color: transparent;
    -webkit-backdrop-filter: none;
            backdrop-filter: none;
  }
  #home header ul:before {
    display: none;
  }
}

#home-circle {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 60vw;
  height: 60vw;
  max-width: 60vh;
  max-height: 60vh;
  margin: auto;
  border-radius: 50%;
  overflow: hidden;
  background-image: linear-gradient(30deg, #005D69, #101022);
  background-position: 50% calc(50% + 3rem);
  background-size: 100vw 100vh;
  --coordinatePadding: 3rem;
}
#home-circle:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  border-radius: 50%;
  border: solid 1.5px #005D69;
}
#home-circle .coordinates {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../media/coordinate_lines_01.svg");
  background-size: 100% 100%;
  border-radius: 50%;
  overflow: hidden;
  transform-origin: 50% 50%;
  -webkit-animation: spin 240s linear infinite;
          animation: spin 240s linear infinite;
}
#home-circle .coordinates:before {
  content: "";
  display: block;
  position: absolute;
  top: calc(var(--coordinatePadding) / 2);
  bottom: calc(var(--coordinatePadding) / 2);
  left: calc(var(--coordinatePadding) / 2);
  right: calc(var(--coordinatePadding) / 2);
  background-image: url("../media/coordinate_lines_02.svg");
  background-size: 100% 100%;
}
#home-circle .graphic {
  position: absolute;
  top: calc(var(--coordinatePadding) - 2px);
  bottom: calc(var(--coordinatePadding) - 2px);
  left: calc(var(--coordinatePadding) - 2px);
  right: calc(var(--coordinatePadding) - 2px);
  border-radius: 50%;
  border: solid 1.5px #005D69;
  background-image: url("../media/starmap.svg"), linear-gradient(30deg, #005D69, #101022);
  background-position: center, 50% calc(50% + 3rem);
  background-size: cover, 100vw 100vh;
  overflow: hidden;
}
#home-circle .graphic:hover .photo {
  opacity: 1;
}
#home-circle .graphic:hover .names:after {
  opacity: 0;
}
#home-circle .graphic .photo {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
  opacity: 0;
  transition: opacity 1s ease;
  z-index: 1;
}
#home-circle .graphic .info {
  display: block;
  position: absolute;
  top: calc(var(--coordinatePadding) / 3);
  bottom: calc(var(--coordinatePadding) / 3);
  left: calc(var(--coordinatePadding) / 3);
  right: calc(var(--coordinatePadding) / 3);
  z-index: 2;
}
#home-circle .graphic .names {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../media/home-names_outline.svg");
  background-size: cover;
  z-index: 2;
}
#home-circle .graphic .names:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../media/home-names_solid.svg");
  background-size: cover;
  transition: opacity 1s ease;
}
@media (max-width: 960px) {
  #home-circle {
    --coordinatePadding: 2rem;
  }
}
@media (max-width: 768px) {
  #home-circle {
    width: 80vw;
    height: 80vw;
    max-width: 80vh;
    max-height: 80vh;
    --coordinatePadding: 1rem;
  }
}

.home-info {
  display: none;
  position: absolute;
  margin: 0;
  padding: 0;
  line-height: 1em;
  color: #005D69;
  text-transform: uppercase;
}
.home-info#date {
  top: 2rem;
  left: 2rem;
  -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
  text-orientation: mixed;
}
.home-info#location {
  bottom: 2rem;
  right: 2rem;
  -ms-writing-mode: tb-lr;
      writing-mode: vertical-lr;
  text-orientation: mixed;
  transform-origin: 50% 50%;
  transform: rotate(180deg);
}

/*--------------------*/
/* Photo Gallery
/*--------------------*/
.hex-grid {
  display: flex;
  justify-content: center;
}
.hex-grid__list {
  --amount: 5;
  --grid-gap: 3rem;
  position: relative;
  padding: 0;
  margin: 0;
  list-style-type: none;
  display: grid;
  grid-template-columns: repeat(var(--amount), 1fr 2fr) 1fr;
  grid-gap: calc(var(--grid-gap) / 2) var(--grid-gap);
}
.hex-grid__item {
  position: relative;
  grid-column: 1/span 3;
  grid-row: calc(var(--counter) + var(--counter))/span 2;
  filter: drop-shadow(0 0 10px rgba(68, 68, 68, 0.08));
  height: 0;
  padding-bottom: 90%;
}
.hex-grid__content {
  position: absolute;
  height: 100%;
  width: 100%;
  -webkit-clip-path: polygon(75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%, 25% 0);
          clip-path: polygon(75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%, 25% 0);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  text-align: center;
  transition: transform 0.24s ease-out;
}
.hex-grid__content:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #005D69;
  opacity: 0.25;
  pointer-events: none;
  transition: all 0.5s ease;
}
.hex-grid__content img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transform-origin: 50% 50%;
  filter: saturate(0%);
  transition: all 0.5s ease;
}
.hex-grid__content:hover:after, .hex-grid__content:focus:after {
  opacity: 0;
}
.hex-grid__content:hover img, .hex-grid__content:focus img {
  transform: scale(1.1);
  filter: saturate(100%);
}

@media screen and (min-width: 1440px) {
  .hex-grid__list {
    --amount: 5;
    --counter: 1;
  }
  .hex-grid__item:nth-of-type(5n + 1) {
    grid-column: 1/span 3;
  }
  .hex-grid__item:nth-of-type(5n + 2) {
    grid-column: 3/span 3;
    grid-row: calc(var(--counter) + var(--counter) - 1)/span 2;
  }
  .hex-grid__item:nth-of-type(5n + 3) {
    grid-column: 5/span 3;
  }
  .hex-grid__item:nth-of-type(5n + 4) {
    grid-column: 7/span 3;
    grid-row: calc(var(--counter) + var(--counter) - 1)/span 2;
  }
  .hex-grid__item:nth-of-type(5n + 5) {
    grid-column: 9/span 3;
  }
  .hex-grid__item:nth-of-type(n + 6) {
    --counter: 2;
  }
  .hex-grid__item:nth-of-type(n + 11) {
    --counter: 3;
  }
  .hex-grid__item:nth-of-type(n + 16) {
    --counter: 4;
  }
  .hex-grid__item:nth-of-type(n + 21) {
    --counter: 5;
  }
  .hex-grid__item:nth-of-type(n + 26) {
    --counter: 6;
  }
  .hex-grid__item:nth-of-type(n + 31) {
    --counter: 7;
  }
  .hex-grid__item:nth-of-type(n + 36) {
    --counter: 8;
  }
  .hex-grid__item:nth-of-type(n + 41) {
    --counter: 9;
  }
  .hex-grid__item:nth-of-type(n + 46) {
    --counter: 10;
  }
  .hex-grid__item:nth-of-type(n + 51) {
    --counter: 11;
  }
  .hex-grid__item:nth-of-type(n + 56) {
    --counter: 12;
  }
  .hex-grid__item:nth-of-type(n + 61) {
    --counter: 13;
  }
  .hex-grid__item:nth-of-type(n + 66) {
    --counter: 14;
  }
  .hex-grid__item:nth-of-type(n + 71) {
    --counter: 15;
  }
  .hex-grid__item:nth-of-type(n + 76) {
    --counter: 16;
  }
  .hex-grid__item:nth-of-type(n + 81) {
    --counter: 17;
  }
  .hex-grid__item:nth-of-type(n + 86) {
    --counter: 18;
  }
  .hex-grid__item:nth-of-type(n + 91) {
    --counter: 19;
  }
  .hex-grid__item:nth-of-type(n + 96) {
    --counter: 20;
  }
  .hex-grid__item:nth-of-type(n + 101) {
    --counter: 21;
  }
}
@media screen and (min-width: 1120px) and (max-width: 1439px) {
  .hex-grid__list {
    --amount: 4;
    --counter: 1;
  }
  .hex-grid__item:nth-of-type(4n + 1) {
    grid-column: 1/span 3;
  }
  .hex-grid__item:nth-of-type(4n + 2) {
    grid-column: 3/span 3;
    grid-row: calc(var(--counter) + var(--counter) - 1)/span 2;
  }
  .hex-grid__item:nth-of-type(4n + 3) {
    grid-column: 5/span 3;
  }
  .hex-grid__item:nth-of-type(4n + 4) {
    grid-column: 7/span 3;
    grid-row: calc(var(--counter) + var(--counter) - 1)/span 2;
  }
  .hex-grid__item:nth-of-type(n + 5) {
    --counter: 2;
  }
  .hex-grid__item:nth-of-type(n + 9) {
    --counter: 3;
  }
  .hex-grid__item:nth-of-type(n + 13) {
    --counter: 4;
  }
  .hex-grid__item:nth-of-type(n + 17) {
    --counter: 5;
  }
  .hex-grid__item:nth-of-type(n + 21) {
    --counter: 6;
  }
  .hex-grid__item:nth-of-type(n + 25) {
    --counter: 7;
  }
  .hex-grid__item:nth-of-type(n + 29) {
    --counter: 8;
  }
  .hex-grid__item:nth-of-type(n + 33) {
    --counter: 9;
  }
  .hex-grid__item:nth-of-type(n + 37) {
    --counter: 10;
  }
  .hex-grid__item:nth-of-type(n + 41) {
    --counter: 11;
  }
  .hex-grid__item:nth-of-type(n + 45) {
    --counter: 12;
  }
  .hex-grid__item:nth-of-type(n + 49) {
    --counter: 13;
  }
  .hex-grid__item:nth-of-type(n + 53) {
    --counter: 14;
  }
  .hex-grid__item:nth-of-type(n + 57) {
    --counter: 15;
  }
  .hex-grid__item:nth-of-type(n + 61) {
    --counter: 16;
  }
  .hex-grid__item:nth-of-type(n + 65) {
    --counter: 17;
  }
  .hex-grid__item:nth-of-type(n + 69) {
    --counter: 18;
  }
  .hex-grid__item:nth-of-type(n + 73) {
    --counter: 19;
  }
  .hex-grid__item:nth-of-type(n + 77) {
    --counter: 20;
  }
  .hex-grid__item:nth-of-type(n + 81) {
    --counter: 21;
  }
}
@media screen and (min-width: 840px) and (max-width: 1119px) {
  .hex-grid__list {
    --amount: 3;
    --counter: 1;
    grid-gap: 1.5rem 3rem;
  }
  .hex-grid__item:nth-of-type(3n + 1) {
    grid-column: 1/span 3;
  }
  .hex-grid__item:nth-of-type(3n + 2) {
    grid-column: 3/span 3;
    grid-row: calc(var(--counter) + var(--counter) - 1)/span 2;
  }
  .hex-grid__item:nth-of-type(3n + 3) {
    grid-column: 5/span 3;
  }
  .hex-grid__item:nth-of-type(n + 4) {
    --counter: 2;
  }
  .hex-grid__item:nth-of-type(n + 7) {
    --counter: 3;
  }
  .hex-grid__item:nth-of-type(n + 10) {
    --counter: 4;
  }
  .hex-grid__item:nth-of-type(n + 13) {
    --counter: 5;
  }
  .hex-grid__item:nth-of-type(n + 16) {
    --counter: 6;
  }
  .hex-grid__item:nth-of-type(n + 19) {
    --counter: 7;
  }
  .hex-grid__item:nth-of-type(n + 22) {
    --counter: 8;
  }
  .hex-grid__item:nth-of-type(n + 25) {
    --counter: 9;
  }
  .hex-grid__item:nth-of-type(n + 28) {
    --counter: 10;
  }
  .hex-grid__item:nth-of-type(n + 31) {
    --counter: 11;
  }
  .hex-grid__item:nth-of-type(n + 34) {
    --counter: 12;
  }
  .hex-grid__item:nth-of-type(n + 37) {
    --counter: 13;
  }
  .hex-grid__item:nth-of-type(n + 40) {
    --counter: 14;
  }
  .hex-grid__item:nth-of-type(n + 43) {
    --counter: 15;
  }
  .hex-grid__item:nth-of-type(n + 46) {
    --counter: 16;
  }
  .hex-grid__item:nth-of-type(n + 49) {
    --counter: 17;
  }
  .hex-grid__item:nth-of-type(n + 52) {
    --counter: 18;
  }
  .hex-grid__item:nth-of-type(n + 55) {
    --counter: 19;
  }
  .hex-grid__item:nth-of-type(n + 58) {
    --counter: 20;
  }
  .hex-grid__item:nth-of-type(n + 61) {
    --counter: 21;
  }
}
@media screen and (max-width: 839px) {
  .hex-grid__list {
    --amount: 2;
    --counter: 1;
    grid-gap: 1.5rem 3rem;
  }
  .hex-grid__item:nth-of-type(2n + 1) {
    grid-column: 1/span 3;
  }
  .hex-grid__item:nth-of-type(2n + 2) {
    grid-column: 3/span 3;
    grid-row: calc(var(--counter) + var(--counter) - 1)/span 2;
  }
  .hex-grid__item:nth-of-type(n + 3) {
    --counter: 2;
  }
  .hex-grid__item:nth-of-type(n + 5) {
    --counter: 3;
  }
  .hex-grid__item:nth-of-type(n + 7) {
    --counter: 4;
  }
  .hex-grid__item:nth-of-type(n + 9) {
    --counter: 5;
  }
  .hex-grid__item:nth-of-type(n + 11) {
    --counter: 6;
  }
  .hex-grid__item:nth-of-type(n + 13) {
    --counter: 7;
  }
  .hex-grid__item:nth-of-type(n + 15) {
    --counter: 8;
  }
  .hex-grid__item:nth-of-type(n + 17) {
    --counter: 9;
  }
  .hex-grid__item:nth-of-type(n + 19) {
    --counter: 10;
  }
  .hex-grid__item:nth-of-type(n + 21) {
    --counter: 11;
  }
  .hex-grid__item:nth-of-type(n + 23) {
    --counter: 12;
  }
  .hex-grid__item:nth-of-type(n + 25) {
    --counter: 13;
  }
  .hex-grid__item:nth-of-type(n + 27) {
    --counter: 14;
  }
  .hex-grid__item:nth-of-type(n + 29) {
    --counter: 15;
  }
  .hex-grid__item:nth-of-type(n + 31) {
    --counter: 16;
  }
  .hex-grid__item:nth-of-type(n + 33) {
    --counter: 17;
  }
  .hex-grid__item:nth-of-type(n + 35) {
    --counter: 18;
  }
  .hex-grid__item:nth-of-type(n + 37) {
    --counter: 19;
  }
  .hex-grid__item:nth-of-type(n + 39) {
    --counter: 20;
  }
  .hex-grid__item:nth-of-type(n + 41) {
    --counter: 21;
  }
}
@media screen and (max-width: 479px) {
  .hex-grid__list {
    grid-gap: 1rem 2rem;
  }
}
.sl-wrapper .sl-counter {
  font-weight: 800;
  color: #E6E7E8;
}
.sl-wrapper .sl-image.loading:after {
  display: none !important;
}
.sl-wrapper .sl-close, .sl-wrapper .sl-next, .sl-wrapper .sl-prev {
  color: transparent !important;
  background-size: 32px 32px;
  background-position: center;
  background-repeat: no-repeat;
}
.sl-wrapper .sl-close {
  background-image: url("../media/icon-close.svg");
}
.sl-wrapper .sl-next {
  background-image: url("../media/icon-next.svg");
}
.sl-wrapper .sl-prev {
  background-image: url("../media/icon-prev.svg");
}
.sl-wrapper .sl-spinner {
  border-color: #E6E7E8;
}

.sl-overlay {
  background: #005D69;
}

/*--------------------*/
/* RSVP
/*--------------------*/
#rsvp .hero-container {
  min-height: unset;
}/*# sourceMappingURL=style.css.map */