/* One navigation pattern for the wedding site, previews and every theme. */
.w-nav-toggle{display:none}
.w-nav-dialog{display:none;position:fixed;inset:0 0 0 auto;margin:0;width:min(370px,calc(100vw - 28px));max-width:none;height:100dvh;max-height:none;box-sizing:border-box;padding:calc(24px + env(safe-area-inset-top,0px)) 24px calc(28px + env(safe-area-inset-bottom,0px));border:0;background:var(--theme-paper,#fffaf1);color:var(--theme-ink,#183f35);box-shadow:-18px 0 70px #0002;overflow:auto;overscroll-behavior:contain}
.w-nav-dialog[open]{display:flex;flex-direction:column;animation:wedding-menu-in .24s cubic-bezier(.22,.7,.2,1)}
.w-nav-dialog::backdrop{background:#081b1590;backdrop-filter:blur(5px);animation:wedding-menu-shade .2s ease-out}
.w-nav-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:24px;border-bottom:1px solid var(--w-line,#ccd4ce)}
.w-nav-dialog-heading>div{min-width:0}
.w-nav-dialog-heading span{display:block;margin:5px 0 10px;font:500 8px/1.5 Montserrat,Arial,sans-serif;letter-spacing:.18em;color:var(--theme-accent,#b58f54)}
.w-nav-dialog-heading h2{margin:0;font:400 28px/1.2 var(--name-font,var(--w-font,Georgia));font-style:var(--name-style,normal);overflow-wrap:anywhere}
.w-nav-dialog-heading button,.w-nav-toggle{border:1px solid var(--w-line,#ccd4ce);color:var(--theme-ink,#183f35);background:transparent;cursor:pointer;flex:none;border-radius:50%;padding:11px;width:44px;height:44px;align-items:center;justify-content:center}
.w-nav-dialog-heading button{display:inline-flex}
.w-nav-dialog-heading svg,.w-nav-toggle svg{display:block;width:20px;height:20px;stroke:currentColor;stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round}
.w-nav-dialog-links{display:flex;flex-direction:column;padding-top:12px;gap:0}
.w-nav-dialog-links a{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:48px;padding:12px 3px;box-sizing:border-box;border-bottom:1px solid var(--w-line,#ccd4ce);color:var(--theme-ink,#183f35);text-decoration:none;font:500 13px/1.5 Montserrat,Arial,sans-serif}
.w-nav-dialog-links a::after{content:'';display:block;width:6px;height:6px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg);opacity:.6}
.w-nav-dialog-links a[aria-current=location]{color:var(--theme-accent,#b58f54)}
.w-nav-dialog-links a[href="#rsvp"]{margin-top:16px;padding:14px 16px;border:0;border-radius:10px;background:var(--theme-ink,#183f35);color:var(--theme-paper,#fffaf1)}
.w-nav-dialog a:focus-visible,.w-nav-dialog button:focus-visible,.w-nav-toggle:focus-visible{outline:2px solid var(--theme-accent,#b58f54);outline-offset:4px}
html.w-nav-lock,body.w-nav-open{overflow:hidden;overscroll-behavior:none}
@keyframes wedding-menu-in{from{transform:translateX(100%);opacity:.6}to{transform:translateX(0);opacity:1}}
@keyframes wedding-menu-shade{from{background:#081b1500}to{background:#081b1590}}
@media(max-width:1024px){
 .wedding-body.has-wedding-menu .wedding-nav{height:64px;min-height:64px;max-height:64px;padding:8px 16px;gap:16px;overflow:visible;flex-wrap:nowrap}
 .wedding-body.has-wedding-menu .wedding-nav.demo-navigation{top:var(--w-demo-bar-height,58px)}
 .wedding-body.has-wedding-menu .wedding-nav>div{display:none}
 .wedding-body.has-wedding-menu .wedding-nav .wedding-monogram{width:48px;flex:0 0 48px;height:48px;padding:0}
 .wedding-body.has-wedding-menu .wedding-monogram>svg,.wedding-body.has-wedding-menu .wedding-monogram>img{width:48px;height:48px;object-fit:contain}
 .wedding-body.has-wedding-menu .w-nav-toggle:not([hidden]){display:inline-flex;margin-left:auto}
 .w-nav-dialog{width:min(370px,calc(100vw - 28px))}
}
@media(prefers-reduced-motion:reduce){.w-nav-dialog[open],.w-nav-dialog::backdrop{animation:none}}
