.song-phung-invitation--song-phung-do{--sp-paper:url(/images/demo/songphung-red/nen-giay.jpg);--sp-line:url(/images/demo/songphung-red/phuong-line.webp);--sp-flower:url(/images/demo/songphung-red/hoa.webp)}.song-phung-invitation--song-phung-xanh{--sp-paper:url(/images/demo/songphung-green/nen-giay.jpg);--sp-line:url(/images/demo/songphung-green/phuong-line.webp);--sp-flower:url(/images/demo/songphung-green/hoa.webp)}.song-phung-invitation{position:relative;isolation:isolate}.song-phung-invitation:before{content:"";background:var(--sp-paper) center top /100% auto repeat-y;opacity:.3}.song-phung-invitation:before,.song-phung-marks{position:absolute;inset:0;z-index:-1;pointer-events:none}.song-phung-marks i{position:absolute;opacity:.1;background:var(--sp-line) center /contain no-repeat;aspect-ratio:1966/4119;height:850px}.song-phung-marks i:first-child{right:50%;top:800px}.song-phung-marks i:nth-child(2){left:50%;top:2000px;transform:scaleX(-1)}.song-phung-marks i:nth-child(n+3){background-image:var(--sp-flower);aspect-ratio:964/1095}.song-phung-marks i:nth-child(3){left:50%;top:1050px;height:390px;transform:scaleX(-1)}.song-phung-marks i:nth-child(4){right:50%;top:1750px;height:600px}.inv-body.song-phung-invitation h2,.inv-body.song-phung-invitation h3{letter-spacing:.05em}.song-phung-hero{padding:48px 0 200px}.song-phung-hero__names{margin:0 0 24px;padding-left:24px;text-align:left;text-transform:uppercase;font:400 36px/1.11 Playfair Display,serif}.song-phung-hero__names span{display:block;margin-left:15px;overflow-wrap:anywhere}.song-phung-hero__names span+span{margin:10px 0 0 50px}.song-phung-hero__art{position:relative;display:flex;align-items:center;justify-content:center;height:260px;margin-bottom:16px}.song-phung-hero__art>i{position:absolute;left:0;top:50%;width:100%;height:110px;background:var(--inv-primary)}.song-phung-hero__art img{max-width:none;object-fit:contain}.song-phung-hero__left{position:absolute;left:-90px;top:0;width:230px;height:480px;object-position:left center}.song-phung-hero__hy{position:relative;z-index:1;width:155px;height:155px}.song-phung-hero__right{position:absolute;left:calc(50% + 77.5px);top:-120px;width:155px;height:320px;object-position:right center;transform:scaleX(-1)}.song-phung-ceremony{position:relative;padding:40px 24px 0}.song-phung-flower{position:absolute;right:0;top:-220px;width:192px;height:auto;transform:scaleX(-1);pointer-events:none}.song-phung-ceremony h2{position:relative}.song-phung-ceremony .song-hy-families{padding:0}.song-phung-invitation .song-hy-couple{gap:8px;margin:24px 0}.song-phung-invitation .song-hy-couple__and{font-size:35px}.song-phung-invitation .song-hy-event{padding:0}.song-phung-invitation .song-hy-event__place{font-size:14px;line-height:1.5!important}.song-phung-invitation .song-hy-event__time,.song-phung-invitation .song-hy-lunar,.song-phung-invitation .song-hy-year{margin-top:12px!important}.song-phung-invitation .song-hy-date{margin-top:12px}.song-phung-invitation .song-hy-date i{margin:0 8px}.song-phung-album-heading{margin:48px 0 8px!important}.inv-body.song-phung-invitation .inv-album{max-width:336px;color:var(--inv-primary)}.song-phung-reception{padding:48px 24px}.song-phung-reception .song-hy-event__place{margin-top:24px!important;font-size:18px}.song-phung-reception .song-hy-hour{margin-top:16px!important;font-size:18px}.song-phung-reception .song-hy-date{margin-top:16px}.song-phung-date--feast span{width:auto;font-size:18px;font-weight:600}.song-phung-date--feast time{font-size:30px;font-weight:600}.song-phung-date--feast i{width:auto;height:auto;background:none;font-size:14px;font-style:normal}.song-phung-date--feast i:before{content:"/"}.song-phung-reception .song-hy-lunar{margin-top:16px!important}.song-phung-feast{display:flex;justify-content:center;gap:32px;margin-top:32px}.song-phung-feast .song-hy-feast{margin-top:0!important}.song-phung-feast span{letter-spacing:.05em}.song-phung-feast strong{font-size:18px}.song-phung-reception .inv-calendar{margin-top:24px}.song-phung-invitation .song-hy-rsvp{margin:24px 0 0;color:#fff}.song-phung-reception h3{margin-top:64px}.song-phung-invitation .song-hy-venue{width:auto;max-width:384px;margin-top:16px!important;padding:0 0 12px;border-bottom:1px solid #8b000022;font-weight:400}.song-phung-reception .inv-map{width:100%}.song-phung-reception .inv-directions{margin-bottom:0}.song-phung-guestbook{padding:40px 16px 32px}.inv-body.song-phung-invitation .song-phung-guestbook h2{margin-bottom:24px;font:400 22px/1.5 Pattaya,cursive;letter-spacing:0;text-transform:none}.inv-body.song-phung-invitation .invitation-responses{padding:0}.inv-body.song-phung-invitation .invitation-response-grid fieldset{border-color:color-mix(in srgb,var(--inv-primary) 20%,transparent);box-shadow:none}.inv-body.song-phung-invitation .invitation-response-grid input,.inv-body.song-phung-invitation .invitation-response-grid select,.inv-body.song-phung-invitation .invitation-response-grid textarea{border-color:var(--inv-primary);border-radius:6px;color:var(--inv-primary)}.song-phung-invitation .inv-wishes{padding-inline:0}.song-phung-invitation .inv-wishes li{padding:12px;border-color:color-mix(in srgb,var(--inv-primary) 20%,transparent);box-shadow:none;font-size:13.5px}.song-phung-invitation .inv-wishes strong{font:600 13.5px/1.5 var(--inv-sans)}.song-phung-invitation .inv-wishes p{font-size:13.5px}.song-phung-invitation .song-hy-gift{padding:32px 16px 48px}.inv-body.song-phung-invitation .song-hy-gift h2{font-family:Times New Roman,Times,serif}.song-phung-invitation .inv-gift__hint{color:var(--inv-primary)}.song-phung-footer{padding:24px 16px;background:var(--inv-primary);color:var(--inv-on-primary);font-size:12px;line-height:1.5}@media (min-width:768px){.song-phung-marks i{height:1594px}.song-phung-marks i:first-child{top:1150px}.song-phung-marks i:nth-child(2){top:2050px}.song-phung-marks i:nth-child(3){top:1200px;height:731px}.song-phung-marks i:nth-child(4){top:2900px;height:1125px}.song-phung-hero{padding:64px 0 220px}.song-phung-hero__names{margin:0 0 32px 40px;padding-left:32px;font-size:44px}.song-phung-hero__art{height:488px;margin-bottom:24px}.song-phung-hero__art>i{height:206px}.song-phung-hero__left{left:-169px;width:431px;height:900px}.song-phung-hero__hy{width:291px;height:291px}.song-phung-hero__right{left:calc(50% + 145.5px);top:-225px;width:291px;height:600px}.song-phung-ceremony{padding:56px 16px 0}.song-phung-flower{top:-270px;width:360px}.song-phung-invitation .song-hy-couple{margin:32px 0}.song-phung-invitation .song-hy-couple__and{font-size:48px}.song-phung-invitation .song-hy-event__place{font-size:15px}.song-phung-invitation .song-hy-date i{margin:0 12px}.song-phung-album-heading{margin-top:64px!important}.inv-body.song-phung-invitation .inv-album{max-width:566px}.song-phung-reception{padding:64px 40px}.song-phung-reception .song-hy-event__place{margin-top:32px!important;font-size:20px}.song-phung-reception .song-hy-hour{margin-top:24px!important;font-size:20px}.song-phung-reception .song-hy-date,.song-phung-reception .song-hy-lunar{margin-top:24px!important}.song-phung-date--feast span,.song-phung-feast strong{font-size:20px}.song-phung-date--feast time{font-size:36px}.song-phung-feast{margin-top:40px}.song-phung-reception .inv-calendar{margin-top:32px}.song-phung-reception h3{margin-top:72px}.song-phung-invitation .song-hy-venue{max-width:600px}.song-phung-guestbook{padding:48px 32px 40px}.inv-body.song-phung-invitation .song-phung-guestbook h2{font-size:24px}.song-phung-invitation .song-hy-gift{padding:32px 32px 64px}.song-phung-footer{font-size:15px}}@media (min-width:1024px){.song-phung-marks i:first-child{top:1200px}.song-phung-marks i:nth-child(2){top:2100px}.song-phung-marks i:nth-child(3){top:1250px}.song-phung-marks i:nth-child(4){top:2950px}.song-phung-hero{padding-bottom:240px}.song-phung-hero__names{font-size:52px}.song-phung-flower{top:-290px}.song-phung-footer{font-size:18px}}[class*=inv-cover--song-phung-] h1{display:flex;flex-direction:column-reverse}[class*=inv-cover--song-phung-] .inv-cover__ornament{opacity:.9}[class*=inv-cover--song-phung-] .inv-cover__ornament--top{width:120px;top:-20px;left:-20px;transform:rotate(10deg)}[class*=inv-cover--song-phung-] .inv-cover__ornament--bottom{width:140px;bottom:-120px;right:-40px;transform:rotate(5deg) scaleX(-1)}[class*=inv-cover--song-phung-] .inv-cover__art:after,[class*=inv-cover--song-phung-] .inv-cover__art:before{content:"";position:absolute;aspect-ratio:964/1095;opacity:.6;background:url(/images/demo/songphung-red/hoa.webp) 50%/contain no-repeat}.inv-cover--song-phung-xanh .inv-cover__art:after,.inv-cover--song-phung-xanh .inv-cover__art:before{background-image:url(/images/demo/songphung-green/hoa.webp)}[class*=inv-cover--song-phung-] .inv-cover__art:before{width:120px;bottom:-20px;left:-20px}[class*=inv-cover--song-phung-] .inv-cover__art:after{width:100px;top:-15px;right:-15px;transform:rotate(180deg)}@media (min-width:768px){[class*=inv-cover--song-phung-] .inv-cover__ornament--top{width:220px;left:-50px}[class*=inv-cover--song-phung-] .inv-cover__ornament--bottom{width:220px;bottom:-110px;right:-50px}[class*=inv-cover--song-phung-] .inv-cover__art:before{width:160px;bottom:-30px;left:-30px}[class*=inv-cover--song-phung-] .inv-cover__art:after{width:140px;top:-20px;right:-20px}}.song-phung-ceremony .song-hy-date span{white-space:normal}.song-phung-ceremony .song-hy-date i{width:7px;height:auto;background:none;font:normal 14px/21px var(--inv-serif);text-align:center}.song-phung-ceremony .song-hy-date i:before{content:"|"}.song-phung-invitation .song-hy-couple{margin-bottom:30px}.song-phung-reception{padding-top:32px}.song-phung-reception .song-hy-lunar{font-family:var(--inv-sans);font-weight:300}.song-phung-invitation .song-hy-add-calendar{margin-top:25px;font-family:inherit}.song-phung-invitation .song-hy-rsvp{margin-top:22px}.song-phung-reception h3{margin-top:83px}.song-phung-reception .inv-map{box-sizing:border-box;max-width:342px;height:262px;margin-top:24px;border:1px solid color-mix(in srgb,var(--inv-primary) 20%,transparent);border-radius:16px}.inv-body.song-hy-invitation.song-phung-invitation .song-phung-guestbook h2{margin-bottom:0}.inv-body.song-hy-invitation.song-phung-invitation .invitation-responses>p{min-height:30px;margin:9px auto;font-size:10px;line-height:15px;color:var(--inv-primary)}.inv-body.song-hy-invitation.song-phung-invitation .inv-album__count{color:var(--inv-primary)}.song-phung-invitation .inv-credit{margin-top:6px}.inv-body.song-hy-invitation.song-phung-invitation .invitation-response-grid fieldset{padding:0;border:0;border-radius:0;background:none;box-shadow:none}.inv-body.song-hy-invitation.song-phung-invitation .invitation-response-grid label{top:9px;color:color-mix(in srgb,var(--inv-primary) 55%,transparent)}.inv-body.song-hy-invitation.song-phung-invitation .invitation-response-grid label[for]:after{font:300 10px/15px var(--inv-sans)}.inv-body.song-hy-invitation.song-phung-invitation .invitation-response-grid :is(input,textarea){padding:8px 16px;background:#fff;font:300 10px/15px var(--inv-sans)}.inv-body.song-hy-invitation.song-phung-invitation .invitation-response-grid input{margin-bottom:28px}.inv-body.song-hy-invitation.song-phung-invitation .invitation-response-grid textarea{height:78px}.inv-body.song-hy-invitation.song-phung-invitation .invitation-response-grid button{min-height:27px;margin:30px 0 3px auto;padding:6px 16px;font:600 10px/15px var(--inv-sans)}.song-hy-invitation.song-phung-invitation .inv-wishes{box-sizing:border-box;width:100%;max-width:600px;padding:0 8px 0 0;margin-bottom:0}.song-hy-invitation.song-phung-invitation .inv-wishes li{font-size:12px}.song-hy-invitation.song-phung-invitation .inv-wishes strong{font:600 12px/16px var(--inv-sans)}.song-hy-invitation.song-phung-invitation .inv-wishes p{font-size:12px;line-height:19.5px}[class*=inv-cover--song-phung-] .inv-cover__guest strong{padding:10px 20px;line-height:28px;background:color-mix(in srgb,var(--cover-ink) 10%,transparent)}@media (max-width:767px){.song-phung-invitation .song-hy-couple__name{font-size:40px}}@media (min-width:640px){[class*=inv-cover--song-phung-] .inv-cover__guest strong{font-size:20px;font-weight:500}}@media (min-width:768px){.song-phung-ceremony .song-hy-families{margin-top:31px}.song-phung-invitation .song-hy-couple{margin-bottom:36px}.song-phung-reception{padding-top:48px}.song-phung-invitation .song-hy-add-calendar{margin-top:33px}.song-phung-reception h3{margin-top:104px}.song-phung-reception .inv-map{max-width:602px;height:362px;margin-top:35px}}.song-phung-invitation .inv-gift__card{translate:-25px 0}.inv-fx{display:none}@media (prefers-reduced-motion:no-preference){.inv-fx{display:block;position:fixed;inset:0;z-index:4;overflow:hidden;pointer-events:none;--fx-a:var(--demo-accent,#e7c98a);--fx-p:var(--inv-primary,#c8102e)}.inv-fx__light{position:absolute;left:-30%;top:-20%;width:90vmax;height:90vmax;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--fx-a) 55%,#fff),transparent);opacity:.16;mix-blend-mode:soft-light;animation:inv-fx-drift 26s ease-in-out infinite alternate}.inv-fx__light--second{left:auto;right:-35%;top:35%;background:radial-gradient(closest-side,color-mix(in srgb,var(--fx-p) 45%,#fff),transparent);animation-duration:34s;animation-direction:alternate-reverse}.inv-fx__particle{position:absolute;top:-6vh;left:var(--fx-left);width:var(--fx-size);height:var(--fx-size);opacity:0;animation:inv-fx-fall var(--fx-time) linear var(--fx-delay) infinite;will-change:transform,opacity}.inv-fx__particle--petal{border-radius:80% 0 55% 50%/55% 0 80% 50%;background:linear-gradient(135deg,color-mix(in srgb,var(--fx-p) 55%,#fff),color-mix(in srgb,var(--fx-a) 60%,#fff))}.inv-fx__particle--glow{border-radius:50%;background:radial-gradient(closest-side,#ffffffd9,color-mix(in srgb,var(--fx-a) 70%,transparent) 55%,transparent);filter:blur(1px);width:calc(var(--fx-size) * 1.6);height:calc(var(--fx-size) * 1.6);top:auto;bottom:-4vh;width:calc(var(--fx-size) * .45);height:calc(var(--fx-size) * .45);filter:blur(.5px);background:#fff;box-shadow:0 0 8px 2px color-mix(in srgb,var(--fx-a) 80%,#fff);animation-name:inv-fx-dust;animation-duration:calc(var(--fx-time) * 1.6)}.inv-fx__particle--spark{background:color-mix(in srgb,var(--fx-a) 75%,#fff);clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);animation-name:inv-fx-twinkle}.inv-fx__beam{position:absolute;top:-30%;left:-60%;width:34%;height:160%;rotate:18deg;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--fx-a) 55%,#fff) 50%,transparent);opacity:.16;filter:blur(22px);mix-blend-mode:screen;animation:inv-fx-sweep 11s ease-in-out infinite}.inv-fx__beam--second{width:16%;opacity:.16;animation-duration:17s;animation-delay:-6s}.inv-fx__thread{position:absolute;top:0;right:7px;width:2px;height:calc(var(--fx-progress, 0) * (100% - 130px));background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--fx-p) 80%,#fff) 12%,var(--fx-p));box-shadow:0 0 8px color-mix(in srgb,var(--fx-p) 70%,transparent);border-radius:2px}.inv-fx__thread b{position:absolute;left:50%;bottom:-11px;translate:-50% 0;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--fx-p);color:#fff;font:400 12px/1 serif;box-shadow:0 0 0 2px #ffffffcc,0 4px 10px #00000059;animation:inv-fx-pulse 2.4s ease-in-out infinite}.inv-fx__burst[data-hue="0"]{--fx-c:var(--fx-p)}.inv-fx__burst[data-hue="1"]{--fx-c:#f5b83d}.inv-fx__burst[data-hue="2"]{--fx-c:#ff8fa3}.inv-fx__burst[data-hue="3"]{--fx-c:color-mix(in srgb,var(--fx-a) 70%,#fff)}.inv-fx__burst{position:absolute;left:50%;top:42%;width:9px;height:15px;border-radius:2px;background:var(--fx-c,#f5b83d);opacity:0;animation:inv-fx-burst 1.9s cubic-bezier(.1,.7,.3,1) .15s 1 both}.invitation-demo--fx [data-fx]:not([data-fx-in]){opacity:0}.invitation-demo--fx [data-fx][data-fx-in]{animation-composition:replace,add;animation-fill-mode:backwards}.invitation-demo--fx [data-fx^=block][data-fx-in]{animation-name:inv-fx-fade,inv-fx-rise;animation-duration:.9s;animation-timing-function:ease-out,cubic-bezier(.2,.7,.2,1);animation-delay:calc(var(--fx-order, 0) * 70ms)}.invitation-demo--fx [data-fx^=photo][data-fx-in]{animation-name:inv-fx-iris,inv-fx-none;animation-duration:1.4s;animation-timing-function:cubic-bezier(.65,0,.2,1)}.invitation-demo--fx .inv-album .inv-album__slide[data-active] .invitation-gallery__image{animation:inv-fx-pan 12s ease-in-out infinite alternate}@keyframes inv-fx-none{0%{translate:0 0}to{translate:0 0}}@keyframes inv-fx-fade{0%{opacity:0}}@keyframes inv-fx-rise{0%{translate:0 34px}to{translate:0 0}}@keyframes inv-fx-iris{0%{opacity:0;clip-path:circle(0 at 50% 45%);scale:1.3;filter:brightness(2) contrast(.8)}25%{opacity:1}to{clip-path:circle(150% at 50% 45%);filter:brightness(1) contrast(1)}}@keyframes inv-fx-pan{0%{scale:1.16;translate:-3% 0}to{scale:1.16;translate:3% 0}}@keyframes inv-fx-drift{0%{transform:translate(0) scale(1)}to{transform:translate(18vw,22vh) scale(1.25)}}@keyframes inv-fx-fall{0%{transform:translate(0) rotate(0);opacity:0}8%,85%{opacity:.5}50%{transform:translate(var(--fx-sway),55vh) rotate(160deg)}to{transform:translateY(112vh) rotate(320deg);opacity:0}}@keyframes inv-fx-twinkle{0%{transform:translate(0) scale(.4);opacity:0}20%,60%{opacity:.75}40%{transform:translate(var(--fx-sway),45vh) scale(1.2) rotate(90deg)}80%{opacity:.2}to{transform:translateY(112vh) scale(.5) rotate(180deg);opacity:0}}@keyframes inv-fx-dust{0%{transform:translate(0);opacity:0}15%,80%{opacity:.8}50%{transform:translate(var(--fx-sway),-55vh)}to{transform:translate(calc(var(--fx-sway) * -1),-112vh);opacity:0}}@keyframes inv-fx-sweep{0%,15%{translate:0 0}70%,to{translate:520% 0}}@keyframes inv-fx-pulse{50%{scale:1.18}}@keyframes inv-fx-burst{0%{transform:translate(-50%,-50%) scale(.2);opacity:1}60%{opacity:1}to{transform:translate(calc(var(--fx-x) - 50%),calc(var(--fx-y) + 26vmin)) rotate(var(--fx-spin));opacity:0}}}.invitation-music{position:fixed;z-index:40;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));display:flex;align-items:flex-end;flex-direction:column;gap:10px;max-width:min(260px,calc(100vw - 40px))}.invitation-music__toggle{display:grid;place-items:center;width:52px;height:52px;border:1px solid #efd8b0;border-radius:50%;background:#631b2b;color:#fff6e8;box-shadow:0 3px 15px #25070d33;cursor:pointer}.invitation-music__toggle:focus-visible{outline:3px solid #fff6e8;outline-offset:3px;box-shadow:0 0 0 6px #631b2b}.invitation-music__status{margin:0;padding:12px 16px;border:1px solid #631b2b;border-radius:12px;background:#fff6e8;color:#631b2b;font:14px/1.5 system-ui,sans-serif}.invitation-music__toggle{position:relative}.invitation-music__icon{display:block;width:22px;height:22px}.invitation-music__icon line{stroke:currentColor;stroke-width:2;stroke-linecap:round}@media (prefers-reduced-motion:no-preference){.invitation-music__toggle[aria-pressed=true] .invitation-music__icon{animation:invitation-music-sway 1.6s ease-in-out infinite alternate}.invitation-music__toggle[aria-pressed=true]:after{content:"";position:absolute;inset:0;border:1.5px solid;border-radius:50%;pointer-events:none;animation:invitation-music-ripple 1.8s ease-out infinite}@keyframes invitation-music-sway{0%{transform:rotate(-9deg)}to{transform:rotate(9deg)}}@keyframes invitation-music-ripple{0%{transform:scale(1);opacity:.55}to{transform:scale(1.55);opacity:0}}}.invitation-responses{background:var(--demo-paper);color:#443d32}.invitation-responses>p{max-width:700px;margin:16px auto;font-size:14px}.invitation-response-grid{max-width:860px;display:grid;grid-template-columns:1fr 1fr;gap:36px;margin:40px auto 0;text-align:left}.invitation-response-grid fieldset{margin:0;padding:24px;border:1px solid #443d3230;min-width:0;height:100%}.invitation-response-grid legend{padding:0 12px;font:23px Georgia,serif}.invitation-response-grid label{display:block;font-size:13px;margin:16px 0 8px}.invitation-response-grid input,.invitation-response-grid select,.invitation-response-grid textarea{display:block;width:100%;padding:12px;border:1px solid #443d3250;background:#fffdf8;color:#443d32;border-radius:0;font:inherit}.invitation-response-grid textarea{resize:vertical}.invitation-response-grid button{min-height:44px;padding:12px 20px;margin-top:22px;border:1px solid #443d32;background:#443d32;color:#fffdf8}.invitation-response-status{padding:16px;border:1px solid #54714a}.invitation-response-error{padding:16px;border:1px solid #a51c28;color:#8f1420}.invitation-saved-responses{max-width:860px;list-style:none;padding:0;margin:30px auto 0;text-align:left;overflow-wrap:anywhere}.invitation-saved-responses li{padding:20px;border-bottom:1px solid #443d3230;font-size:14px}.invitation-saved-responses p{white-space:pre-wrap}@media (prefers-reduced-motion:no-preference){@keyframes invitation-reveal{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}}@media (max-width:700px){.invitation-response-grid{grid-template-columns:1fr;gap:30px}}