html, body {
  margin: 0;
  overflow-x: hidden;
}

.preloader {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100vh;
  z-index: 501;
  position: relative;
  background-color: #FCEDE8;
}

body {
  background-color: #FCEDE8;
}

#confetti-box {
  padding-top: 48px;
}

.timer {
  position: fixed;
  bottom: 0;
  background: #ffffff;
  margin: 0;
  border-top: 1px solid #B12929;
  padding: 8px;
  z-index: 500;
}
.timer #countdown {
  font-family: futura-pt, sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-align: center;
  margin-bottom: 0;
}

h1 {
  font-family: IvyPresto Headline, serif;
  font-weight: 500;
}

h2 {
  font-family: IvyPresto Headline, serif;
  font-weight: 500;
  margin-top: 0;
  margin-bottom: 8px;
  font-size: 32px;
  margin-bottom: 24px;
}

h3 {
  font-family: IvyPresto Headline, serif;
  font-weight: 500;
  margin-top: 0;
  margin-bottom: 8px;
  font-size: 20px;
}

h4 {
  font-family: futura-pt, sans-serif;
  font-weight: 500;
  font-size: 16px;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 8px;
}

p {
  font-weight: 400;
  margin-top: 0;
  font-family: "Futura-PT", sans-serif;
  font-size: 18px;
  line-height: 150%;
  margin-bottom: 8px;
}

a {
  text-decoration: none;
  color: #B12929;
}

.sheet {
  scroll-margin-top: 48px;
  box-sizing: border-box;
  padding: 24px 16px;
  margin: 24px 16px;
  background-color: #ffffff;
  border: 1px solid #D88080;
  max-width: 720px;
}
.sheet h2 {
  text-align: center;
  margin-bottom: 8px;
}
.sheet .about {
  border-bottom: 1px solid #D88080;
  padding-bottom: 24px;
  text-align: center;
}

.innerSheet {
  box-sizing: border-box;
  padding: 16px;
  background: #ffffff;
  border: 1px solid #D88080;
  display: flex;
  flex-direction: column;
  margin-top: 24px;
}
.innerSheet h3 {
  margin-bottom: 16px;
}
.innerSheet a {
  width: 100%;
  background: #8AA391;
  color: #ffffff;
  text-align: center;
  font-family: "futura-pt", sans-serif;
  font-weight: 500;
  font-size: 18px;
  text-transform: uppercase;
  border: none;
  padding: 12px 16px;
  text-decoration: none;
  box-sizing: border-box;
  margin-bottom: 24px;
}

.publicGreeting {
  scroll-margin-top: 48px;
  margin-top: 48px;
}

#introCard {
  display: flex;
  flex-direction: row;
  color: #ffffff;
  background-image: url(../assets/shuangxi.png);
  background-color: #D88080;
  border: 1px solid #B12929;
  width: 100%;
  padding: 80px 24px;
  width: 100%;
  box-sizing: border-box;
  justify-content: center;
}
#introCard #hero {
  display: flex;
  width: 100%;
  flex-direction: column;
  position: relative;
  max-width: 400px;
}
#introCard #hero #ampersand {
  position: absolute;
  top: 50%;
  left: 50%;
  font-family: IvyPresto Headline, serif;
  font-size: 104px;
  opacity: 0.5;
  text-align: center;
  transform: translate(-50%, -55%);
}
#introCard #hero img {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 120px;
}
#introCard #wedding, #introCard #date {
  font-family: "Futura-PT", sans-serif;
  font-size: 20px;
}
#introCard #date {
  text-align: right;
  margin-top: 16px;
}
#introCard #engCalvin, #introCard #engLucy {
  font-family: IvyPresto Headline, serif;
  font-size: 80px;
  line-height: 120%;
  font-weight: 500;
  letter-spacing: 0.03em;
  width: 100%;
}
#introCard #engLucy {
  text-align: right;
  margin-top: 48px;
}
#introCard #engCalvin {
  margin-bottom: 16px;
}
#introCard #cnCalvin, #introCard #cnLucy {
  font-family: "Futura-PT", sans-serif;
  font-size: 24px;
  font-weight: 400;
}
#introCard .names {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}
#introCard .names #calvin, #introCard .names #lucy {
  display: flex;
  flex-direction: column;
}
#introCard span {
  font-family: "Futura-PT", sans-serif;
  font-weight: 400;
}

#nav {
  position: fixed;
  box-sizing: border-box;
  width: 100%;
  font-family: "Futura-PT", sans-serif;
  font-style: normal;
  text-transform: uppercase;
  line-height: 120%;
  margin: 0;
  text-align: center;
  z-index: 100;
  background: #ffffff;
  padding: 24px;
  border-bottom: 1px solid #B12929;
  top: 0;
  text-decoration: none;
}
#nav p {
  padding: 16px;
  margin: 0;
  color: #B12929;
  font-weight: 500;
}
#nav ul {
  display: flex;
  justify-content: center;
  gap: 24px;
  margin: 0;
  padding-inline-start: 0;
  height: 26px;
}
#nav ul li {
  list-style: none;
  margin-bottom: 0;
  font-weight: 500;
}
#nav ul li a {
  text-decoration: none;
  color: #3B2C29;
  white-space: nowrap;
}
#nav ul li.ch {
  font-family: "Futura-PT", sans-serif;
  font-style: normal;
  font-weight: 500;
  line-height: 120%;
}

#links {
  padding: 24px;
}
#links #directory {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
  gap: 8px;
}

.linky {
  font-family: "Futura-PT", sans-serif;
  font-size: 24px;
  font-weight: 500;
  color: #000000;
  text-decoration: none;
  display: flex;
  align-items: center;
  flex-direction: column;
  padding: 8px;
  border: 1px solid #F0B9AD;
  flex: 100%;
  gap: 8px;
  box-sizing: border-box;
  width: 100%;
}

#plsRSVP {
  background-color: #FFF9F7;
  padding-top: 24px;
  padding-bottom: 96px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
#plsRSVP #footer {
  margin-bottom: 24px;
  height: 200px;
  width: auto;
}
#plsRSVP #credits {
  font-family: "Futura-PT", sans-serif;
  font-size: 16px;
  font-weight: 400;
}

#password {
  height: calc(100% - 64px);
  display: flex;
  border-bottom: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
#password div {
  max-width: 720px;
}
#password h1 {
  margin-top: 0;
  margin-bottom: 8px;
}
#password #id-error {
  color: #B12929;
}
#password form {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 16px;
}
#password form #code {
  font-family: "futura-pt", sans-serif;
  font-size: 18px;
  padding: 12px 16px;
  border: 1px solid #697687;
}
#password form #button {
  background: #8AA391;
  color: #ffffff;
  text-align: center;
  font-family: "futura-pt", sans-serif;
  font-weight: 500;
  font-size: 18px;
  text-transform: uppercase;
  border: none;
  padding: 12px 16px;
  border: 1px solid #8AA391;
}

#comingSoon {
  margin-top: 64px;
}
@keyframes rotating {
  to {
    transform: rotate(0deg);
  }
  from {
    transform: rotate(360deg);
  }
}
.spinner {
  position: relative;
  top: 0;
  left: 0;
}
.spinner #spinner {
  position: relative;
  top: 0;
  left: 0;
  width: 120px;
  height: 120px;
  animation: rotating 16s linear infinite;
}
.spinner #names {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 80px;
  height: 80px;
  transform: translate(-50%, -50%);
}

.lineBorder {
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-bottom: 24px;
  margin-top: 32px;
  gap: 16px;
}
.lineBorder .lines {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0px;
  gap: 2px;
  flex-grow: 1;
}
.lineBorder .lines .line {
  height: 1px;
  width: 100%;
  background: #3B2C29;
}

.select2-results {
  font-family: "Futura-PT", sans-serif;
}

.select2-results__option {
  padding: 8px 16px;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
  font-family: "Futura-PT", sans-serif;
  background-color: #697687;
  color: #ffffff;
  border: none;
  margin-bottom: 10px;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  color: #ffffff;
  text-align: center;
  line-height: 23px;
}

#seatingChart {
  margin-top: 72px;
}
#seatingChart .select2-selection {
  min-height: initial;
}
#seatingChart .select2-container--default .select2-selection--multiple {
  padding: 0;
}
#seatingChart .select2-search__field {
  margin: 0;
  height: 40px;
  vertical-align: middle;
  font-family: "Futura-PT", sans-serif;
  line-height: 40px;
  padding: 0 16px;
}
#seatingChart #chart {
  -ms-overflow-style: none; /* for Internet Explorer, Edge */
  scrollbar-width: none; /* for Firefox */
  overflow-y: scroll;
  margin-top: 16px;
  padding: 8px;
  border-radius: 4px;
  border: 1px solid #697687;
}
#seatingChart #chart .table-name {
  font-family: IvyPresto Headline, serif;
}
#seatingChart #chart table tr .wall {
  font-family: "futura-pt", sans-serif;
  font-size: 12px;
  font-weight: 500;
  border: 1px solid #C6CCD2;
  text-transform: uppercase;
}
#seatingChart #chart table tr .section-name {
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  border: 1px solid #C6CCD2;
  background: none;
  min-width: 1px;
}
#seatingChart #chart table tr td {
  border-radius: 4px;
}
#seatingChart #chart::-webkit-scrollbar {
  display: none;
}
#seatingChart .Britannia, #seatingChart .Wedgemount, #seatingChart .Blackcomb, #seatingChart .Porteau, #seatingChart .Garibaldi, #seatingChart .Stawamus, #seatingChart .Bowen, #seatingChart .Murrin, #seatingChart .Brunswick {
  font-family: "Futura-PT", sans-serif;
  min-width: 100px;
}
#seatingChart .Sweetheart {
  font-family: "futura-pt", sans-serif;
  min-width: 100px;
}

#directions {
  gap: 48px;
}
#directions ul {
  font-family: "Futura-PT", sans-serif;
  font-size: 18px;
}
#directions .map-responsive {
  width: 100%;
  height: 360px;
  border: 1px solid #B12929;
}
#directions .map-responsive iframe {
  height: 100%;
  width: 100%;
}

#schedule .timelineItem {
  display: flex;
}
#schedule .timelineItem .time {
  min-width: 96px;
  font-family: "Futura-PT", sans-serif;
  font-size: 20px;
  margin-top: 4px;
}

#venue {
  flex-direction: column;
}
#venue #legendList {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
#venue #legendList .legend p {
  margin-bottom: 0;
}
#venue #mapContainer {
  width: 100%;
}
#venue #mapContainer img {
  width: 100%;
}
#venue #chiefMap, #venue #suspensionMap, #venue #diamondMap, #venue #platformMap {
  display: none;
}
#venue .legend {
  flex: 44%;
  border: 1px solid #B12929;
  padding: 24px;
}
#venue .legend:hover {
  background: #ffffff;
}

#faq {
  flex-direction: column;
}
#faq .content {
  width: 100%;
}
#faq details {
  margin-bottom: 24px;
}
#faq details summary {
  font-family: IvyPresto Headline, serif;
  font-size: 20px;
}
#faq details p {
  background: #ffffff;
  border: 1px solid #F0B9AD;
  padding: 16px;
  margin-top: 8px;
  margin-bottom: 0;
}

#activities {
  display: flex;
  flex-direction: column;
  background-color: #FFF9F7;
}
#activities .content {
  flex-direction: column;
  margin: 0 48px;
  gap: 8px;
}
#activities .content .row {
  gap: 8px;
}

#activities .fave {
  background: #ffffff;
  padding: 24px;
  text-align: center;
  border: 2px solid #ffffff;
}
#activities .fave img {
  width: 96px;
}
#activities .fave h3 {
  margin-bottom: 0;
}
#activities .fave :hover {
  transform: scale(1.01);
}
#activities .fave:hover {
  border: 2px solid #F0B9AD;
}

#weddingParty {
  text-align: center;
}
#weddingParty .profile {
  display: flex;
  flex-direction: column;
  align-items: center;
}
#weddingParty .col-2 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#weddingParty .col-2 .profile {
  flex: 50%;
}
#weddingParty .col-2 h3 {
  flex: 100%;
}

#confirmation {
  display: flex;
  flex-direction: column;
}
#confirmation p {
  text-align: center;
}
#confirmation a {
  text-decoration: none;
  color: #ffffff;
  font-family: "Futura-PT", sans-serif;
  font-size: 20px;
  text-align: center;
  padding: 8px 16px;
  background: #8AA391;
}

#publicIntro {
  flex-direction: column;
  padding: 24px 16px;
  border-bottom: 1px solid #D88080;
  max-width: 720px;
  margin: 0 auto;
}
#publicIntro h1 {
  margin-top: 0;
}
#publicIntro form {
  width: 100%;
}
#publicIntro form textarea {
  padding: 16px;
  border-radius: 4px;
  border: 1px solid #697687;
  height: 96px;
}
#publicIntro button {
  width: 100%;
  background: #8AA391;
  color: #ffffff;
  text-align: center;
  font-family: "futura-pt", sans-serif;
  font-weight: 500;
  font-size: 18px;
  text-transform: uppercase;
  border: none;
  padding: 12px 16px;
}

#aboutus #bios {
  padding-top: 16px;
  text-align: center;
}

#vendors #vendorList {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 24px 0;
  padding-bottom: 0;
}
#vendors #vendorList a {
  width: 100%;
  text-decoration: none;
  text-align: center;
}
#vendors #vendorList a h4 {
  color: #697687;
}
#vendors #vendorList a h3 {
  font-size: 24px;
  color: #B12929;
}
#vendors #vendorList a:hover h4, #vendors #vendorList :focus h4 {
  color: #B12929;
}
#vendors #vendorList a:hover h3, #vendors #vendorList :focus h3 {
  font-size: 24px;
  color: #B12929;
}

@media screen and (min-width: 501px) {
  #nav p {
    padding: 0;
  }
  .timer {
    width: 100%;
  }
  #introCard {
    max-width: 720px;
    margin: 0 auto;
    margin-top: 24px;
  }
  .publicGreeting {
    scroll-margin-top: 76px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: 100px !important;
  }
  #directory {
    max-width: 720px;
    margin: 0 auto;
  }
  #confetti-box {
    padding-top: 76px;
  }
  .sheet {
    scroll-margin-top: 76px;
    margin: 24px auto;
    padding: 24px;
  }
  #seatingChart {
    margin-top: 100px;
  }
  #plsRSVP #footer {
    height: auto;
  }
}
@media screen and (max-width: 500px) {
  #nav {
    padding: 0;
  }
  #nav .navList {
    height: 48px;
    align-items: center;
    justify-content: flex-start;
    overflow-x: scroll;
    gap: 0;
    padding: 0 8px;
  }
  #nav .navList li a {
    margin: 0 8px;
  }
  #venue {
    flex-direction: column;
  }
  #venue .content {
    flex-direction: column;
  }
  #venue .content .col-4 .legend {
    flex-basis: 100%;
  }
  #venue #mapContainer {
    width: 100%;
    overflow: scroll;
  }
  #venue #mapContainer img {
    width: auto;
  }
  #directions .content {
    flex-direction: column;
  }
  #directions .content .col-3 .map-responsive {
    height: 450px;
  }
  #activities .content {
    margin: 0;
  }
  #activities .content .row {
    flex-direction: column;
  }
  #activities .content .row .col-2 {
    width: auto;
  }
}/*# sourceMappingURL=stylesheet.css.map */