.loading-spinner{margin:2em auto;width:64px;height:64px}.pin-digit{box-sizing:border-box;width:calc((100% - (var(--pin-count) - 1) * var(--pin-gap)) / var(--pin-count));aspect-ratio:1/1.5;max-width:3.5rem;min-width:2.25rem;font-size:clamp(1.5rem,60vw / var(--pin-count),3.75rem);text-align:center;font-family:Gill Sans,Gill Sans MT,Calibri,Trebuchet MS,sans-serif;background-color:#f9f8f5;border:1px groove #BEBEBE;border-radius:.5rem;box-shadow:0 0 4px #0000001a;transition:all .2s ease-in-out}.pin-digit:focus{outline:none;box-shadow:0 0 4px #0006}.pin-input{--pin-count: 4;--pin-gap: clamp(.25em, 2.5vw, .5em);display:flex;flex-direction:row;justify-content:center;align-items:center;flex-wrap:nowrap;gap:var(--pin-gap);overflow:hidden;width:100%;max-width:100%}.turnstyle{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1em;width:100%;height:100%;color:#1e1e1e;background-color:#f2ede3;text-align:center;font-family:Passions Conflict,cursive;font-size:clamp(2rem,12vw,4rem);line-height:2rem;gap:.5em}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}header{grid-area:header;padding:.5em 0}header h1{color:#546634;font-size:4.5em!important;font-weight:700;cursor:pointer}header nav{display:block;width:100%;z-index:10}header nav ul{display:flex;justify-content:space-evenly;list-style:none}header nav a{color:#1e1e1e!important}header nav a:hover{text-decoration:underline!important}header a{text-decoration:none!important}header .flowers{position:absolute;top:0;z-index:2;pointer-events:none}header .flowers.tl{left:0;width:25vw}header .flowers.tr{right:0;width:17vw}.flowerRowContainer{position:absolute;width:100svw;left:50%;transform:translate(-50%);bottom:0;z-index:0;pointer-events:none;overflow:hidden}.flowerRow{display:block;width:100%;height:auto;z-index:0}footer{grid-area:footer;position:relative;display:flex;justify-content:center;align-items:center;padding:0 0 4em;z-index:0}footer .copyright{position:absolute;bottom:1.5em;color:#f9f8f5;font-weight:800;text-shadow:0px 0px 4px rgba(0,0,0,.75)}footer .flowers-b{position:absolute;left:2.5%;width:15em;overflow:hidden}#hero{width:100%}#hero img{width:100%;height:33svw;object-fit:cover;object-position:center;display:block;background-size:110%}.card{--card-width-multiplier: 1;--card-height-multiplier: 1;width:calc(12.5em * var(--card-width-multiplier));height:calc(15.5em * var(--card-height-multiplier));display:flex;flex-direction:column;justify-content:center;align-items:center;padding:1em;margin:.5em;text-align:center;border-radius:1em;background-color:#f2ede3;box-shadow:0 2px 4px #00000040;background-repeat:no-repeat;z-index:1}.button{width:10rem;min-height:2rem;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-width:-webkit-fill-available;min-width:fit-content;font-family:Playfair Display,Georgia,serif;font-weight:700;font-size:1.2em;line-height:normal;white-space:nowrap;text-align:center;background-color:#5f6e09;color:#f9f8f5;border:none;border-radius:7px;padding:4px 17px;cursor:pointer;transition:background-color .33s ease}.button:hover{background-color:#4b5607}.button:active{background-color:#363f05}.button:disabled{background-color:#bebebe;color:#a5a5a5;border:1px solid rgb(151.75,151.75,151.75);cursor:not-allowed}.button.dotted{background-color:transparent;color:#656464;border:2px dashed #656464;border-radius:.66em}.button.dotted:hover{background-color:#656464;color:#f9f8f5;border-color:#656464}.button.dotted:active{background-color:#4b4b4b;color:#f9f8f5}.content-box{position:relative;display:flex;justify-content:center;align-items:center;width:100%;padding:2.5em 4em 3.5em;text-align:center;z-index:1}.content-box.is-horizontal .content{display:flex;flex-direction:row;justify-content:center;align-items:center}.content-box.is-vertical .content{display:flex;flex-direction:column;justify-content:center;align-items:center}.content-box.is-callout{justify-content:center;width:100%;background-color:#f2ede3;padding:2.5em 3em;margin-bottom:1em;text-align:center}.content-box.is-popout .content,.content-box.is-callout .content{max-width:1440px!important}.content-box .content{width:100%;max-width:1024px}.content-box .content>p{margin:1em 2em}.content-container{margin:.5em 1em 1.5em}.content-card{width:100%;max-width:80vw;margin:1em 0 1.25em;padding:1em 2.5em;background-color:#f2eee9;border-radius:.5em;box-shadow:0 2px 4px #00000040;display:flex;flex-direction:column;align-items:center;gap:1em}.content-card>p{width:100%}.content-card h1,.content-card h2,.content-card h3,.content-card h4,.content-card h5,.content-card h6{text-align:center}.countdown{display:flex;flex-direction:column;align-items:center;gap:0;font-family:Georgia,serif;font-size:1.2em;color:#333}.countdown .time-segment{display:flex;flex-direction:column;align-items:center;gap:0;text-shadow:1px 1px 2px rgba(0,0,0,.1)}.countdown .time-segment .number{font-size:1.8em;font-weight:700;color:#546634}.countdown .time-segment .label{font-size:.8em;text-transform:uppercase;color:#777}.page{grid-area:content;display:flex;flex-direction:column;align-items:center}.page .content-box:first-child{padding-top:1em}.page iframe{outline:1px solid #BEBEBE;border-radius:.25em}.timeline{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:0}.timeline:before{content:"";position:absolute;top:0;left:50%;transform:translate(-1px);width:2px;height:100%;background-color:#5f6e09;pointer-events:none}.timeline .timeline-cell{position:relative;background-color:var(--color-secondary);padding:1rem;width:75%}.timeline .timeline-cell b{color:#546634;font-size:1.1em}.timeline .timeline-cell.left{text-align:right;margin-left:auto;margin-right:1em;margin-bottom:5em}.timeline .timeline-cell.right{text-align:left;margin-right:auto;margin-left:1em;margin-top:5em}.badge{display:inline-block;font-weight:700;font-size:.85rem;border-radius:4px;padding:.2rem .5rem}.badge--gold{background-color:#f5f0e8;border:1px solid #c8a96e;color:#7a5c2e}.badge--red{background-color:#faeaea;border:1px solid #A63434;color:#a63434}.badge--green{background-color:#eef1e8;border:1px solid #546634;color:#546634}.badge--blue{background-color:#e8eef5;border:1px solid #4a6a9c;color:#2d4a73}.hotel-card{display:grid;grid-template-columns:10em 1fr;gap:1rem;align-items:center;padding:1rem;border-radius:6px;background-color:#f3f1ed;border:1px solid rgba(0,0,0,.1)}.hotel-card__image-link{display:block;width:100%;height:100%;overflow:hidden;border-radius:4px;border:1px solid rgba(0,0,0,.1)}.hotel-card__image{width:100%;height:100%;object-fit:cover;display:block}.hotel-card__content{text-align:left;display:flex;flex-direction:column;justify-content:space-between;height:100%}.hotel-card__title{font-size:1.4em!important;text-align:left!important;margin:0 0 .25rem}.hotel-card__title a{text-decoration-thickness:1px!important;text-underline-offset:2px!important}.hotel-card__description{padding:.5rem 0}.hotel-card__address{font-size:.9rem;color:#333}.gallery{width:100%;z-index:1}.gallery-status{padding:2rem;text-align:center;color:#bebebe}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;margin:1em 10%}.gallery-item{position:relative;margin:0;overflow:hidden;background:#f7f7f7;content-visibility:auto;contain-intrinsic-size:220px 300px;cursor:pointer}.gallery-item img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:3/4;transition:transform .2s ease-out,filter .2s ease-out;will-change:transform}.gallery-item:hover img,.gallery-item:focus-within img{transform:scale(1.03);filter:saturate(1.05)}.gallery-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:.35rem .6rem;font-size:.9rem;color:#fff;background:linear-gradient(to bottom,#0000,#0009);opacity:0;transition:opacity .2s ease-in-out}.gallery-item:hover figcaption,.gallery-item:focus-within figcaption{opacity:1}.gallery-item img:focus-visible{outline:2px solid #BEBEBE;outline-offset:-2px}@media(min-width:768px){.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content{position:relative;border-radius:8px;box-shadow:0 10px 30px #00000059;background:transparent}.modal-image{display:block;width:auto;height:auto;max-width:90vw;max-height:90vh;object-fit:contain;background:#000}.modal-close{position:absolute;top:.25rem;right:.4rem;border:none;background:transparent;color:#fff;font-size:2rem;line-height:1;cursor:pointer;padding:.25rem .5rem}.modal-caption{position:absolute;left:0;right:0;bottom:0;color:#fff;padding:.5rem .75rem;font-size:.95rem;background:linear-gradient(to top,#0009,#0000)}.rsvp-card{display:grid;position:relative;width:36em;grid-template-columns:2em auto 2em;grid-template-areas:"name name name" "left attending right" "left diet right" "left song right" "left comment right" "left delete right";padding:1.5em 3em 1em;margin-bottom:-.5em;background-color:#f3f1ed;background-image:url(/paper_texture_2.png);background-size:cover;box-shadow:0 4px 4px #00000040;z-index:2;transition:transform .25s ease-out}.rsvp-card:not(:only-child):nth-child(odd){transform:translate(-1em)}.rsvp-card:not(:only-child):nth-child(2n){transform:translate(1em)}.rsvp-card:nth-child(1){z-index:10}.rsvp-card:nth-child(2){z-index:9}.rsvp-card:nth-child(3){z-index:8}.rsvp-card:nth-child(4){z-index:7}.rsvp-card:nth-child(5){z-index:6}.rsvp-card .form-group{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;margin:.5em 0}.rsvp-card .form-group.name{grid-area:name}.rsvp-card .form-group.attending{grid-area:attending}.rsvp-card .form-group.dietary-restrictions{grid-area:diet}.rsvp-card .form-group.song-request{grid-area:song}.rsvp-card .form-group.comment{grid-area:comment}.rsvp-card .form-group.delete{grid-area:delete}.rsvp-card .form-row{display:flex;flex-direction:row;align-items:center;justify-content:space-evenly;width:100%}.rsvp-card .form-row label{flex:0 0 auto;width:auto;margin-right:.75em}.rsvp-card .form-row select{flex:1 1 0;min-width:0;width:auto}.rsvp-card .form-item{display:flex;flex-direction:row;align-items:center;justify-content:center}.rsvp-card .form-item label{flex:0 0 auto;width:auto;margin-right:.75em}.rsvp-card .form-item select{flex:1 1 0;min-width:0;width:auto}.rsvp-card .form-item.attending-option *{cursor:pointer}.rsvp-card .form-button{background-color:#a63434;color:#fff;border:none;border-radius:10%;padding:.25em .5em;font-size:.66em;font-style:italic;cursor:pointer;transition:background-color .2s ease}.rsvp-card .form-button:hover{background-color:#932e2e}.rsvp-card input,.rsvp-card label{width:100%;text-align:left}.rsvp-card input,.rsvp-card select{background-color:#fff;font-family:Playfair,Georgia,serif;border:1px solid #D9D9D9;border-radius:8px;transition:all .2s ease}.rsvp-card input:hover,.rsvp-card select:hover{border-color:#ccc;background-color:#fcfcfc}.rsvp-card input:focus,.rsvp-card input:active,.rsvp-card select:focus,.rsvp-card select:active{border-color:silver;background-color:#fafafa;outline:none}.rsvp-card label{transition:all .2s ease}.rsvp-card label:hover{text-shadow:1px 1px 1px rgba(0,0,0,.1)}.rsvp-card input[type=text]{padding:.5em;height:1.8rem}.rsvp-card input[type=text].guest-name-input{height:.75em;line-height:.1em;padding:0;text-align:center;font-family:Passions Conflict,cursive;font-size:5em}.rsvp-card input[type=radio]{position:absolute;opacity:0;width:1.33em;height:1.33em;margin:0 1em}.rsvp-card input[type=radio]+label{position:relative;cursor:pointer}.rsvp-card input[type=radio]+label:before{content:"";display:inline-block;width:1.33em;height:1.33em;border-radius:20%;background-color:#fff;border:1px solid #D9D9D9;vertical-align:middle;margin:0 1em;transition:all .2s ease}.rsvp-card input[type=radio]+label:hover:before{border-color:#ccc;background-color:#fcfcfc}.rsvp-card input[type=radio]:focus+label:before{outline:2px solid rgb(191.5,191.5,191.5);outline-offset:2px}.rsvp-card input[type=radio]:checked+label:after{content:"";display:inline-block;position:absolute;width:1.2em;height:1.2em;border-radius:20%;background-color:#546634;left:1.1em;top:50%;transform:translateY(-50%)}.rsvp-card select.dietary-restrictions-select{height:1.8rem}.monospaced{font-family:Libertinus Mono,Courier,monospace}#app{margin:0;padding:0;width:100%;height:100%;min-height:100dvh;display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:auto 1fr auto;gap:.5em;grid-template-areas:"topleft header topright" "content content content" "footer footer footer";font-family:Playfair,Georgia,serif;font-size:min(2vw,24px);background:#f9f8f5;color:#1e1e1e;overflow-x:clip}#app h1,#app h2,#app h3{font-family:Playfair Display,Georgia,serif}#app h1{font-size:3em;font-weight:400}#app h2{font-size:2em}#app h4{font-size:1.1em;margin-bottom:.1em}#app a{text-decoration:underline;color:#546634}#app hr{width:50%;border:1px solid #BEBEBE;margin:1em 0 0}.route-fade-appear,.route-fade-enter{opacity:0}.route-fade-appear-active,.route-fade-enter-active{opacity:1;transition:opacity .3s ease-in}.route-fade-exit{opacity:1}.route-fade-exit-active{opacity:0;transition:opacity .3s ease-out}.route-slot{grid-area:content}
