#root{max-width:1280px;margin:0;padding:0;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}@font-face{font-family:ImperialScript;src:url(/ImperialScript-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:MonotypeCorsivaBoldItalic;src:url(/Monotype-Corsiva-Bold-Italic.ttf) format("truetype");font-weight:400;font-style:normal}.fullpage-container{height:100dvh}.fullpage-wrapper{transition:transform .6s ease}.section{width:100%;height:100dvh;display:flex;align-items:center;justify-content:center;font-size:28px;text-align:center}.hero{width:100vw;height:100dvh;background-image:url(/hero.jpg);background-size:cover;background-position:center center;background-repeat:no-repeat;display:flex;justify-content:center;align-items:center;font-family:ImperialScript,cursive}.hero-overlay{width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:0;margin:0}.hero-names{margin:0;padding:0;position:relative}.name{display:block;color:#000;font-size:72px;margin:0;text-shadow:2px 2px 4px rgba(0,0,0,.35)}.name.left{text-align:left;padding-left:10px}.name.right{text-align:right;margin-top:20px;padding-right:10px}.and{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);font-size:64px;color:#000;text-shadow:2px 2px 4px rgba(0,0,0,.35)}.hero-subtitle{text-align:center;font-size:72px;margin-bottom:5dvh;color:#000;text-shadow:2px 2px 4px rgba(0,0,0,.35)}.invite-section{background-color:#e7cdb6;width:100vw;height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;font-family:MonotypeCorsivaBoldItalic;text-align:center}.invite-title{font-size:36px;font-weight:400;text-decoration:none;margin-top:3vh;margin-bottom:10px}.invite-text{width:85%;font-size:24px;line-height:1.6;font-style:italic;margin-bottom:10px}.invite-month{font-size:32px;font-weight:700;margin-bottom:20px}.calendar-grid-box{padding:20px;background:white;border:2px solid #a0846c;border-radius:8px;box-shadow:2px 2px 5px #0003}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;width:280px}.day-name{font-family:Arial,sans-serif;font-size:14px;font-weight:700;color:#333;text-align:center;padding:5px 0;border-bottom:1px solid #ccc;margin-bottom:5px}.day-number,.day-empty{font-family:Arial,sans-serif;font-size:16px;color:#333;text-align:center;height:40px;line-height:40px;padding:0;position:relative;z-index:1}.wedding-day{font-weight:700;font-size:18px;color:#fff;background-color:transparent;background-image:url(/heart.svg);background-size:150% 100%;background-repeat:no-repeat;background-position:center center;border-radius:0;box-shadow:none;overflow:visible}.wedding-day:before,.wedding-day:after{content:none!important}.invite-year{margin-top:20px;font-size:32px;font-weight:400}.location-section{background-color:#e7cdb6;width:100vw;height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;font-family:MonotypeCorsivaBoldItalic;text-align:center}.location-title{font-size:32px;font-weight:700;margin-top:5vh;margin-bottom:30px}.location-restaurant{font-size:42px;font-weight:700;margin-bottom:30px;font-style:italic}.location-address{font-size:22px;line-height:1.5;margin-bottom:40px}.location-map{width:90%;height:300px;border:2px solid #a0846c;border-radius:8px;box-shadow:2px 2px 5px #0003}.timing-section{width:100vw;height:100dvh;background-image:url(/timing.jpg);background-size:cover;background-position:center center;background-repeat:no-repeat;display:flex;justify-content:center;align-items:center;font-family:MonotypeCorsivaBoldItalic,cursive}.timing-overlay{width:100%;height:100%;display:flex;flex-direction:column;align-items:center}.timing-title{font-size:72px;color:#fff;margin-top:0;margin-bottom:0;text-shadow:2px 2px 5px rgba(0,0,0,.7)}.timing-timeline{width:90%;max-width:450px;position:relative;align-self:center;margin-left:auto;margin-right:auto;padding:20px 0}.timing-timeline:before{content:"";position:absolute;top:0;left:100px;width:2px;height:100%;background-color:#fff;box-shadow:0 0 5px #00000080;z-index:1}.timing-event{position:relative;z-index:2;text-align:left;min-height:40px}.timing-time{position:absolute;top:0;left:0;font-size:32px;color:#fff;width:90px;text-align:right;line-height:1.1;text-shadow:1px 1px 3px rgba(0,0,0,.6);margin:0}.timing-description{font-size:24px;color:#fff;text-align:left;line-height:1.5;padding-top:0;text-shadow:1px 1px 3px rgba(0,0,0,.6);padding-left:120px;width:100%;box-sizing:border-box}.timing-event:before{content:"•";position:absolute;left:92px;top:-2px;font-size:24px;color:#fff;line-height:1.3;z-index:3}.dresscode-section{width:100vw;height:100dvh;background-color:#f5f0e9;display:flex;justify-content:center;align-items:flex-start;font-family:MonotypeCorsivaBoldItalic;color:#333}.dresscode-content{width:90%;max-width:450px;text-align:center}.dresscode-title{font-size:42px;margin-top:5dvh;margin-bottom:20px;text-shadow:1px 1px 2px rgba(0,0,0,.1);font-family:ImperialScript}.dresscode-text{font-size:20px;font-style:italic;line-height:1.6;margin-bottom:40px}.dresscode-palette{display:flex;flex-wrap:wrap;justify-content:center;gap:30px 10%;padding:0 5%}.color-item{display:flex;flex-direction:column;align-items:center;width:40%;margin-bottom:15px}.color-swatch{width:70px;height:70px;border-radius:50%;box-shadow:3px 3px 8px #00000026,inset 0 0 5px #ffffffb3;border:1px solid rgba(0,0,0,.1)}.color-name{font-size:20px;font-style:italic;margin-top:10px;white-space:nowrap}.waiting-section{width:100vw;height:100dvh;background-image:url(/waitingforyou.jpg);background-size:cover;background-position:center center;background-repeat:no-repeat;display:flex;justify-content:center;align-items:center;font-family:MonotypeCorsivaBoldItalic,cursive;color:#fff;text-align:center}.waiting-overlay{width:100%;height:100%;background:linear-gradient(180deg,rgba(0,0,0,.1) 0%,rgba(0,0,0,.2) 70%,rgba(0,0,0,.5) 100%);display:flex;flex-direction:column;justify-content:space-between;align-items:center}.waiting-title{font-size:52px;margin-top:5dvh;margin-bottom:5px;text-shadow:2px 2px 5px rgba(0,0,0,.7)}.waiting-subtitle{font-size:36px;margin:0;text-shadow:2px 2px 5px rgba(0,0,0,.7)}.countdown-timer{flex-grow:1;display:flex;align-items:center;justify-content:center}.timer-display{font-weight:700;font-size:32px;color:#fff;line-height:1.2;text-shadow:2px 2px 5px rgba(0,0,0,.7)}.timer-unit{font-size:48px}.timer-labels{font-size:16px;font-weight:400;display:block;margin-top:5px}.event-passed-message{font-size:24px;text-shadow:2px 2px 5px rgba(0,0,0,.7)}.confirmation-block{margin-bottom:5dvh}.confirmation-text{font-size:36px;line-height:1.3;margin-bottom:20px;text-shadow:1px 1px 3px rgba(0,0,0,.7)}.confirmation-button{background-color:#a0846c;color:#fff;border:none;border-radius:5px;padding:10px 25px;font-size:28px;cursor:pointer;transition:background-color .3s ease;box-shadow:0 4px 6px #0000004d}.confirmation-button:hover{background-color:#8c7163}.survey-completed-message{display:flex;flex-direction:column;align-items:center}.checkmark-icon{font-size:60px;font-weight:700;color:#a0846c;margin-top:5px;text-shadow:2px 2px 5px rgba(0,0,0,.7);line-height:1}.withlove-section{width:100vw;height:100dvh;background-image:url(/withlove.jpg);background-size:cover;background-position:center center;background-repeat:no-repeat;display:flex;justify-content:center;align-items:center;font-family:MonotypeCorsivaBoldItalic;color:#000;text-align:center}.withlove-overlay{width:100%;height:100%;background:rgba(255,255,255,.2);display:flex;flex-direction:column;align-items:center}.contact-info-top{background-color:transparent;padding:20px 0;width:100%;margin-bottom:20px;box-shadow:none}.heart-icon-wrapper{margin:0 auto 5px;line-height:1}.heart-icon{font-size:50px;color:#d9534f;text-shadow:1px 1px 3px rgba(0,0,0,.5)}.love-text{font-size:42px;margin:0;color:#000;text-shadow:1px 1px 2px rgba(255,255,255,.7)}.couple-names{font-size:48px;margin:5px 0 0;color:#000;text-shadow:1px 1px 2px rgba(255,255,255,.7)}.contact-details{background-color:#fffffff2;padding:20px 30px;border-radius:10px;box-shadow:0 4px 8px #0003}.contact-prompt{font-style:italic;font-size:24px;line-height:1.5;margin-bottom:15px}.phone-numbers{font-size:18px;line-height:2;text-align:left}.phone-item{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.phone-numbers .label{font-weight:700;display:inline-block;width:110px}.phone-numbers .number a{color:#000;text-decoration:none;margin-right:15px}.copy-container{position:relative;display:flex;align-items:center}.copy-button{background:none;border:1px solid #a0846c;color:#a0846c;border-radius:5px;cursor:pointer;font-size:18px;padding:5px 8px;margin-left:10px;transition:all .2s ease}.copy-button:hover{background-color:#a0846c;color:#fff}.copy-button.copied{background-color:green;border-color:green;color:#fff}.copy-notification{position:absolute;top:-30px;right:0;background-color:#333;color:#fff;padding:3px 8px;border-radius:4px;font-size:12px;white-space:nowrap;opacity:.9;animation:fadeout 2s forwards}@keyframes fadeout{0%{opacity:.9;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.final-section{width:100vw;height:100dvh;background-image:url(/final.jpg);background-size:cover;background-position:center bottom;background-repeat:no-repeat;display:flex;justify-content:center;align-items:flex-end;font-family:ImperialScript,cursive}.final-overlay{width:100%;height:100%;background:linear-gradient(0deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,.1) 50%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding-bottom:5dvh}.final-message{font-size:48px;color:#fff;text-align:center;text-shadow:2px 2px 5px rgba(0,0,0,.7);margin:0}.survey-container{width:100vw;height:100dvh;position:fixed;top:0;left:0;background-color:#f5f0e9;z-index:100;transform:translate(0);transition:transform .4s ease-out;font-family:MonotypeCorsivaBoldItalic}.survey-content{padding:20px;height:100%;overflow-y:auto;color:#333;text-align:left}.survey-header{display:flex;align-items:center;margin-bottom:30px}.back-button{background:none;border:none;font-size:32px;margin-right:15px;cursor:pointer;color:#333;padding:0}.header-title{font-size:24px;font-weight:700;margin:0;line-height:1.2}.input-label{display:block;margin-top:15px;margin-bottom:5px;padding:5px 10px;background-color:#e5d3ae;width:fit-content;font-size:24px;box-shadow:1px 1px 3px #0000001a}.text-input{width:calc(100% - 20px);padding:10px;margin-bottom:20px;border:1px solid #ccc;border-radius:5px;font-size:16px;display:block}.radio-group,.checkbox-group{margin-bottom:25px;padding:10px 0;text-align:left}.question-title{font-size:18px;font-weight:700;margin-top:0;margin-bottom:15px;display:block}.radio-label,.checkbox-label{display:flex;align-items:center;font-size:20px;margin-bottom:12px;cursor:pointer;text-align:left}.radio-label input,.checkbox-label input{display:none}.custom-radio{width:24px;height:24px;border:2px solid #8c7163;border-radius:50%;margin-right:12px;position:relative;flex-shrink:0;background-color:#fff}.radio-label input:checked+.custom-radio:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:14px;height:14px;background-color:#8c7163;border-radius:50%}.custom-checkbox{width:24px;height:24px;border:2px solid #8c7163;border-radius:4px;margin-right:12px;position:relative;flex-shrink:0;background-color:#fff;display:flex;align-items:center;justify-content:center}.checkbox-label input:checked+.custom-checkbox{background-color:#8c7163}.checkbox-label input:checked+.custom-checkbox:after{content:"✔";color:#fff;font-size:16px;font-weight:700}.label-text{line-height:1.2}.submit-button{background-color:#e5d3ae;color:#333;border:none;border-radius:5px;padding:10px 40px;font-size:28px;cursor:pointer;transition:background-color .3s ease;display:block;margin:40px auto 20px;box-shadow:0 2px 5px #0003}.submit-button:hover:not(:disabled){background-color:#d8c199}.submit-button:disabled{opacity:.6;cursor:not-allowed}.error-message{color:#d9534f;text-align:center;margin-top:15px;font-weight:700;font-family:Arial,sans-serif;font-size:16px}.success-message{position:relative;width:100%;height:100dvh}.success-bg{width:100%;height:100%;object-fit:cover;position:absolute;top:0;left:0;z-index:1}.success-text-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#fff;background:rgba(0,0,0,.3)}.success-main{font-size:52px;margin-top:0;margin-bottom:5px;text-shadow:2px 2px 5px rgba(0,0,0,.7)}.success-through{font-size:36px;margin:0;text-shadow:2px 2px 5px rgba(0,0,0,.7)}.success-thanks-message{font-family:ImperialScript,cursive;font-size:30px;text-align:center;margin-top:15dvh;line-height:1.3;text-shadow:1px 1px 3px rgba(0,0,0,.7)}.success-checkmark{font-family:ImperialScript,cursive;font-size:40px;margin-top:10px;text-shadow:1px 1px 3px rgba(0,0,0,.7)}.loader-container{background-color:#f5f0e9;display:flex;flex-direction:column;justify-content:center;align-items:center;width:100vw;height:100dvh;position:fixed;top:0;left:0;z-index:1000}.loader-ring-wrapper{position:relative;width:80px;height:80px;margin-bottom:20px}.loader-ring{position:absolute;width:100%;height:100%;border-radius:50%;border:4px solid transparent;border-top-color:#a0846c;box-sizing:border-box;animation:rotate 1.5s linear infinite}.ring1{animation-direction:normal;border-color:#e5d3ae;border-top-color:#a0846c}.ring2{width:60px;height:60px;top:10px;left:10px;border-color:#a0846c;border-top-color:#8c7163;animation-direction:reverse}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loader-text{font-family:ImperialScript,cursive;font-size:24px;color:#333;animation:pulse 2s infinite ease-in-out}@keyframes pulse{0%{opacity:.7}50%{opacity:1}to{opacity:.7}}.not-found-container{width:100vw;height:100dvh;display:flex;justify-content:center;align-items:center;background-color:#f5f0e9;position:fixed;top:0;left:0;z-index:999;font-family:MonotypeCorsivaBoldItalic;text-align:center}.not-found-content{padding:20px;max-width:90%}.not-found-title{font-family:ImperialScript,cursive;font-size:120px;color:#a0846c;margin:0;text-shadow:2px 2px 5px rgba(0,0,0,.1)}.not-found-message{font-size:20px;line-height:1.5;color:#333;margin-top:10px}.not-found-hint{font-size:14px;color:#888;margin-top:20px;font-style:italic}.admin-container{min-height:100vh;padding:20px;background-color:#f4f4f4;font-family:Arial,sans-serif;display:flex;flex-direction:column;transition:background-color .3s,color .3s}.login-view{align-items:center;justify-content:center}.login-box{background:white;padding:30px;border-radius:8px;box-shadow:0 4px 10px #0000001a;width:300px}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;font-weight:700}.form-group input{width:100%;padding:8px;box-sizing:border-box;border:1px solid #ccc;border-radius:4px}.login-btn{width:100%;padding:10px;background-color:#333;color:#fff;border:none;cursor:pointer;border-radius:4px}.error-text{color:red;font-size:14px;margin-bottom:10px}.dashboard-view{align-items:stretch}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.logout-btn{padding:5px 15px;background:#d9534f;color:#fff;border:none;cursor:pointer}.table-wrapper{overflow-x:auto;background:white;border-radius:8px;box-shadow:0 2px 5px #0000000d}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:12px 15px;text-align:left;border-bottom:1px solid #ddd;color:inherit}.admin-table th{background-color:#f8f9fa;font-weight:700}.user-row{font-size:14px;margin-bottom:2px}.yes{color:green;font-weight:700}.no{color:red;font-weight:700}.tag-universal{font-size:.8em;color:#8c7163;font-weight:700}.universal-row{background-color:#fcfcfc}tbody tr{border-bottom:1px solid #eee}@media (prefers-color-scheme: dark){.admin-container{background-color:#121212;color:#e0e0e0}.login-box,.table-wrapper{background-color:#1e1e1e;color:#e0e0e0;box-shadow:0 4px 10px #00000080}.form-group input{background-color:#2c2c2c;border-color:#444;color:#fff}.login-btn{background-color:#444;border:1px solid #666}.login-btn:hover{background-color:#555}.admin-table th{background-color:#2c2c2c;border-bottom-color:#444;color:#fff}.admin-table td,tbody tr{border-bottom-color:#333}.universal-row{background-color:#1a1a1a}.yes{color:#4caf50}.no{color:#ff5252}.tag-universal{color:#c4a493}.error-text{color:#ff5252}}.upload-container{width:100vw;height:100dvh;display:flex;justify-content:center;align-items:center;background-color:#f5f0e9;position:fixed;top:0;left:0;z-index:999;font-family:MonotypeCorsivaBoldItalic,cursive;text-align:center}.upload-content{padding:20px;max-width:90%;width:400px;display:flex;flex-direction:column;align-items:center}.upload-title{font-family:ImperialScript,cursive;font-size:64px;color:#a0846c;margin:0 0 20px;text-shadow:2px 2px 5px rgba(0,0,0,.1);line-height:1.2}.upload-message{font-size:20px;line-height:1.5;color:#333;margin-bottom:30px}.hidden-input{display:none}.upload-select-btn,.upload-submit-btn{display:inline-block;padding:15px 30px;font-size:22px;border-radius:5px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 6px #0000001a;border:none;margin-bottom:15px;width:100%;box-sizing:border-box}.upload-select-btn{background-color:#fff;border:2px solid #a0846c;color:#a0846c}.upload-select-btn:hover{background-color:#f9f9f9}.upload-submit-btn{background-color:#a0846c;color:#fff}.upload-submit-btn:hover{background-color:#8c634a}.upload-error{color:#d9534f;margin-top:10px;font-weight:700}.upload-success-block{animation:fadeIn .5s ease}.heart-icon-large{font-size:60px;margin-bottom:10px;color:#d9534f}.upload-success-title{font-family:ImperialScript,cursive;font-size:48px;color:#a0846c;margin:0 0 10px}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}html,body{overflow:hidden;margin:0;padding:0;display:flex;place-items:center;min-width:320px;min-height:100dvh;justify-content:center}body.admin-scroll-enabled{overflow:auto!important;display:block!important;place-items:unset!important;justify-content:unset!important;height:auto!important;min-height:100vh}html:has(body.admin-scroll-enabled){overflow:auto!important}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
