html, body, div, span, img, ul, li, input, select, option, textarea, table, h1, h2, h3 {
    font-family: 'Lato', sans-serif;
    font-weight:300;
    font-size: 14px; position:relative; outline:none;
    padding: 0; margin:0; border: 0; list-style: none;
    color:#333333;
    -webkit-appearance:none;
    -webkit-tap-highlight-color:transparent;
    -webkit-font-smoothing: antialiased;
}
a { outline:none; color: inherit; text-decoration: inherit; }
html { touch-action: manipulation; }
* ::selection { color:white; background: #4a4a4a; }
body { width:100%; overflow-x:hidden; left:0px; --bgcolor:white; --txtcolor:#333333; --align:center; --align-margin:auto } 
:root {--mobFontAdj:1; }
body.font-small { --fontsize-regular:16px; --fontsize-small:14px; }
body.font-medium { --fontsize-regular:18px; --fontsize-small:16px; }
body.font-large { --fontsize-regular:20px; --fontsize-small:17px; }
body.align-left { --align:left; --align-margin:0; }
@media (min-width: 600px) { 
	#background.contain img { object-fit:contain; }
	#background.cover img { object-fit:cover; }
	#background.stretch img { object-fit:fill; }
	body.splitscreen #photo-desc-container { flex-direction:column; justify-content:center; }
	body.splitscreen #photo-desc-container { align-items:var(--align); }
	body.splitscreen :not(:has(#photo.elemhide ~ #description.elemhide)) #photo-desc-container { min-height:calc(100vh - 100px); }
	body.splitscreen:has(#dateloc.above:not(.elemhide)) #photo-desc-container { min-height:calc(100vh - 200px); }
	body.splitscreen #dateloc { gap:20px; z-index:2; box-sizing:border-box; padding-inline:60px 20px; max-width:min(800px,calc(40vw - 10px)); }
	body.splitscreen #dateloc.side { grid-area:below; max-width:min(calc(40vw - 6px),800px); }
	body.splitscreen #dateloc .dateloc-desc br.mobonly { display:initial !important; }
	body:not(.splitscreen) #dateloc.side { grid-area:side; position:sticky; top:0px; width:250px; height:fit-content; display:flex; flex-direction:column; gap:25px; padding-block:50px; justify-content:unset; }
	body:not(.splitscreen) #dateloc.side .dateloc-block { max-width:unset; }
	body:not(.splitscreen) #dateloc.side.icon { padding-left:50px; width:220px !important; }
	#description.two-col { column-count:2; column-gap:30px; }
	body.fixwidth:has(#dateloc.side) #content { max-width:650px; }
	#dateloc:is(.above,.footer):after, body.splitscreen #dateloc.side:after { width:200vw; left:-50vw; height:100%; top:0; }
}

main { display:grid; grid-template-areas:'map-top map-top' 'dateloc-above dateloc-above' 'above above' 'background background' 'below below' 'content side' 'footer footer' 'map-bottom map-bottom'; }
#background { grid-area:background; display:flex; justify-content:center; transition:height 0.4s; }
#content { grid-area:content; background-color:var(--bgcolor); z-index:2; justify-self:center; padding-top:50px; padding-inline:50px; max-width:800px; }
#dateloc { grid-area:dateloc; justify-self:center; grid-area:background; }
#title-subtitle-container { grid-area:background; height:fit-content; justify-self:center; z-index:4 }
#background img { height:100%; width:100%; object-fit:cover; object-position:50% var(--bgposition-y); --bgposition-y:50%; transition:object-position 0.2s }


body.fullscreen #background { height:100vh; max-height:100vh; height:100svh; max-height:100svh; width:100%; position:fixed; transition:margin-top 0.2s; }
body.fullscreen #title-subtitle-container { position:fixed; transition:margin-top 0.2s; }
body.fullscreen #title-subtitle-container.above { align-self:start; margin-block:5%; } 
body.fullscreen #title-subtitle-container.top { top:0%; }
body.fullscreen #title-subtitle-container.middle { top:50%; transform:translateY(-50%); }
body.fullscreen #title-subtitle-container.bottom { bottom:0%; }
body.fullscreen #title-subtitle-container.below { position:relative; z-index:5; }
body.fullscreen #dateloc.above { position:fixed; top:0; /* top:0 ok? */ }
body.fullscreen #content { z-index:5; }
body.fullscreen #background-block { grid-area:background; height:100vh; height:100svh; }
body.fullscreen #content-block { inset:0; z-index:5; background:var(--bgcolor); position:relative; grid-row-start:below; grid-row-end:-1; grid-column-start:1; grid-column-end:-1; box-shadow:0px -12px 15px -15px rgb(0 0 0 / 12%); }
body.fullscreen #title-subtitle-container:is(.shadow,.wideshadow,.whiteshadow,.grey).below { margin-block:30px; z-index:6; }
body.fullscreen #dateloc { transition:top 0.1s, opacity 0.2s; }
body.fullscreen #dateloc.above.close { opacity:0; top:10px; pointer-events:none; }
body.fullscreen #background.map { margin-top:150px; }
body.fullscreen #background.map ~ #title-subtitle-container { margin-top:150px; }

body:is(.fullscreen,.regular):has(#dateloc.side:not(.elemhide)) #content { justify-self:right; }
body:is(.fullscreen,.regular) #dateloc.side { justify-self:left; }
body:is(.fullscreen,.regular,.fixwidth):not(:has(#dateloc.side:not(.elemhide))) main { grid-template-columns:1fr auto; }
body.regular #background { height:600px; width:100%; }
body.regular #content-block { background:var(--bgcolor); inset:0; grid-row-start:below; grid-row-end: -1; grid-column-start:1; grid-column-end:-1; }

body.splitscreen main { display:grid; grid-template-areas:'background map-top' 'background dateloc-above' 'background above' 'background below' 'background content' 'background footer' 'background map-bottom' ; grid-template-columns:0.6fr 0.4fr; }
body.splitscreen #background { height:100vh; height:100svh; width:100%; position:sticky; top:0; z-index:4; box-shadow: 5px 0px 15px 5px rgb(0 0 0 / 15%); }
body.splitscreen #title-subtitle-container {position:sticky;align-self:unset;}
body.splitscreen #title-subtitle-container.above { grid-area:background; top:0; }
body.splitscreen #title-subtitle-container.top { top:10%; }
body.splitscreen #title-subtitle-container.middle { top:50%; transform:translateY(-50%); }
body.splitscreen #title-subtitle-container.bottom { top:50%; transform:translateY(calc(-50% + 25vh)); }
body.splitscreen #title-subtitle-container.below { z-index:3; position:relative; }
body.splitscreen #content { box-sizing:border-box; overflow:hidden; height:max-content; width:min(800px,100%); z-index:2; }
body.splitscreen :is(#photo,.livestream) { box-sizing:border-box; max-width:100%; }

body.fixwidth { background-color:whitesmoke; }
body.fixwidth main { width:1000px; background:var(--bgcolor); margin:50px auto; border-radius:5px; }
body.fixwidth main:has(#dateloc.above,#dateloc.footer) { overflow:hidden; }
body.fixwidth main:after { content:''; position:absolute; width:inherit; height:500px; background:linear-gradient(to bottom,rgba(0,0,0,0.08),transparent); transform:translateY(0px); z-index:-1; filter:blur(3px); }
body.fixwidth main:before { content:''; position:absolute; width:inherit; height:800px; background:linear-gradient(to top,rgba(0,0,0,0.12),transparent); transform:translateY(2px); z-index:-1; filter:blur(4px); bottom:0; }
body.fixwidth #content { border-radius:10px; padding-inline:30px }
body.fixwidth #background { height:500px; width:100%; border-radius:5px 5px 0 0; overflow:hidden; }
body.fixwidth .footerlogo { margin-block:20px 50px }

#title-subtitle-container { padding:25px 40px 35px; box-sizing: border-box; max-width:100vw; word-break:break-word; line-height:0; }
#title-subtitle-container:after { content:''; background-color:var(--block-bgcolor); opacity:var(--block-bgtransp); inset:0; position:absolute; z-index:-1; }
#title-subtitle-container.above { grid-area:above; }
#title-subtitle-container.top { align-self:start; /* margin-block:5%; */ } /* removed margin:5% */
#title-subtitle-container.middle { align-self:center; }
#title-subtitle-container.bottom { align-self:end; /* margin-block:5%; */ }
#title-subtitle-container.below { grid-area:below; }

#dateloc { display:flex; max-width:800px; width:100%; justify-content:space-between; padding:20px; order:20; z-index:1; text-align:var(--dateloc-align); justify-items:var(--dateloc-align); transition:top 0.1s, opacity 0.2s; }
#dateloc:after { content:''; background:var(--block-bgcolor); opacity:var(--block-bgtransp); inset:0; z-index:-1; position:absolute; }
#dateloc.above { grid-area:dateloc-above; }
#dateloc.footer { grid-area:footer; z-index:5; }
#dateloc .dateloc-block:only-child { margin-inline:auto; max-width:100% }
body:is(.fullscreen,.regular) #dateloc.side { z-index:5; }
.dateloc-block { max-width:35%; min-width:25%; display:grid; justify-items:inherit; height:fit-content; }

#rsvp-module, #rsvptitle, #rsvpsubtitle, .footerlogo, .rsvpquestions, #act-ro-acc, .notactive { text-align:var(--align); }
#countdown, .schedule, hr, .livestream, .registry, #rsvpguests > div, .rsvpbuttons { margin-inline:var(--align-margin); }
#rsvpguests > div { justify-content:var(--align); }
#photo-desc-container { align-items:var(--align); }
#photo-desc-container:is(.left,.right) { align-items:flex-start; justify-content:var(--align); }


/*-- Content --*/
#photo, #description { max-width:100%; box-sizing:border-box; }
#description { order:1; line-height:1.6 }
#photo img { width:100%; display:block; border-radius:inherit; }
#photo-desc-container { display:flex; gap:30px; }
#photo-desc-container:is(.left,.top) #photo { order:2; }
#photo-desc-container:is(.top,.bottom) { flex-direction:column; }
#photo.square img { aspect-ratio:1; object-fit:cover; }
#content.thankyou { margin-bottom:100px; text-align:var(--align); }

#dateloc:is(.above,.side) + #map { grid-area:map-top; }
#dateloc.footer + #map { grid-area:map-bottom; }
#dateloc.icon .dateloc-title:before { font-family:simple-line-icons; font-size:16px; position:absolute; color:var(--accent); left:-35px; margin-top:-1px; top:50%; transform:translateY(-50%); font-style:normal; }
#dateloc.icon .dateloc-block:nth-of-type(1) .dateloc-title:before { content:'\e619';  }
#dateloc.icon .dateloc-block:nth-of-type(2) .dateloc-title:before { content:'\e096'; }
#dateloc.icon .dateloc-block:nth-of-type(3) .dateloc-title:before { content:'\e02c'; transform:translateY(calc(-50% + 2px)); }
.dateloc-title { width:fit-content; margin-bottom:8px; }
#dateloc .link { color: var(--accent); font-family:var(--pfont); font-style:var(--pfonti); font-size:var(--fontsize-small); margin-top:10px; display: inline-block; transition: text-decoration 0.2s, filter 0.2s; cursor:pointer; text-align:inherit; background:none; }
#dateloc .link:hover { color: var(--darkaccent); text-decoration: underline; }
#map { width:100%; height:300px; z-index:5; transition:height 0.3s; }
#map.hide { height:0px; }
#map .title { font-weight:400 !important; font-size:15px !important; border:none; margin:-15px auto 10px; color:var(--accent) !important; text-transform:uppercase; }
#map .title:after { content:none; }
#map .view-link { margin:8px 0 5px; }
#map .view-link span { font-size:13px !important; color:var(--accent) !important; }


/*-- Mobile --*/
@media (max-width: 600px) {
	body.font-small { --fontsize-regular:18px; --fontsize-small:16px; }
	body.font-medium { --fontsize-regular:20px; --fontsize-small:18px; }
	body.font-large { --fontsize-regular:22px; --fontsize-small:19px; }	
	#title-subtitle-container { padding:20px 20px; }

    main { grid-template-areas:'map-top' 'dateloc-above' 'above' 'background' 'below' 'side' 'content' 'footer' 'map-bottom' !important; grid-template-columns:unset !important; }
    body.splitscreen #content, body.splitscreen #dateloc { z-index:5; }
    body.splitscreen #content:before, body.splitscreen #dateloc.footer:before, body.splitscreen #title-subtitle-container.below:before, body:not(.fixwidth) #dateloc.side:before { content:''; width:100vw; height:100%; position:absolute; top:0; left:50%; transform:translateX(-50%); background:var(--bgcolor); z-index:-1; }
    body.splitscreen #title-subtitle-container.below:before { top:unset; box-shadow:0px -12px 15px -15px rgb(0 0 0 / 12%); }
    body.splitscreen :not(#title-subtitle-container.below) + #content:before, #dateloc.side:before { box-shadow:0px -12px 15px -15px rgb(0 0 0 / 12%); }
    body.splitscreen #title-subtitle-container.bottom { top:unset; bottom:5%; transform:unset; position:fixed; }
	body.splitscreen #background-block { grid-area:background; height:100vh; height:100svh; }
	body.splitscreen #content:before { box-shadow:0px -12px 15px -15px rgb(0 0 0 / 12%); }
    body.original #background{ height:unset; }
	body.fixwidth #background:not(.mobpreserve) { height:unset; aspect-ratio:2 / 1; }
    body.fixwidth main { width:calc(100% - 20px) !important; margin-block:20px }
    body.fixwidth #content { width:calc(100vw - 20px); padding-inline:15px; }
	body.fixwidth #dateloc.footer { border-radius:0 0 4px 4px;}
	body.fixwidth .footerlogo { margin-bottom:20px; }
	body.fullscreen #content:before, body.fullscreen #dateloc.footer:before, body.fullscreen #title-subtitle-container.below:before { left:0; width:100%; transform:unset; }
	body.fullscreen.align-left .footerlogo { width:auto; }
	body.fullscreen:not(.align-left) .footerlogo { left:0; text-align:center }

	#content { max-width:100vw; box-sizing:border-box; padding-inline:20px; overflow:hidden; }
	#photo-desc-container { flex-direction:column; }
	#photo, #description { width:100% !important; max-width:100% !important; }
	#dateloc { box-sizing:border-box; gap:15px; max-width:100vw; padding:20px 15px; }
	#dateloc:not(:has(.dateloc-block:nth-child(3))) { padding-inline:25px; }
	#dateloc:not(:has(.dateloc-block:nth-child(3))) .dateloc-block { max-width:45%;}
	#dateloc.side { grid-area:side !important; left:unset !important; width:100%; position:relative; flex-direction:row; padding-block:20px 0; z-index:2; }
	.dateloc-desc { font-size:2.9vw !important; }
	.dateloc-title { font-size:3.7vw !important; }
	.footerlogo { position:relative; }
	#dateloc .link { font-size:12px; }

	#background.mobleft img { object-position: 0 var(--bgposition-y) !important; }
	#background.mobrotate img { transform-origin:50%; transform:rotate(90deg); width:100vh; width:100svh; object-fit:contain; }
	#background.mobzoom img { transform:scale(1.25); }
	#background.mobpreserve { position:relative !important; height:unset !important }
	#background.mobpreserve + #background-block { display:none; }
	#background.mobpreserve ~ #title-subtitle-container { grid-area:below !important; top:unset; transform:unset; position:relative; z-index:6; }
	body.regular #background.mobrotate img { object-fit:cover; height:100vw; width:550px; }

	#dateloc.icon .dateloc-title:before { font-size:13px; left:0px; margin-top:0; }
	#dateloc.icon .dateloc-title { padding-left:25px; display:inline-block; }

	#countdown { max-width:100%; justify-content:center; }
}







/*-- Old --*/

body:not(.fullscreen):not(.splitscreen).background,
body:not(.fullscreen):not(.splitscreen).background-block,
body:not(.fullscreen):not(.splitscreen).content  { transform:translateZ(0); }


#title.shadow, #subtitle.shadow, #nameplusname div.shadow { filter: drop-shadow(0.5px 1px 1px rgba(0,0,0,0.4)); }
#title.stroke, #subtitle.stroke, #nameplusname div.stroke { text-shadow: 1px 0 0 rgba(0, 0, 0, 0.2), -1px 0 0 rgba(0, 0, 0, 0.2), 0 1px 0 rgba(0, 0, 0, 0.2), 0 -1px 0 rgba(0, 0, 0, 0.2), 1px 1px rgba(0, 0, 0, 0.8), -1px -1px 0 rgba(0, 0, 0, 0.2), 1px -1px 0 rgba(0, 0, 0, 0.2), -1px 1px 0 rgba(0, 0, 0, 0.2); }
#title.accent, #subtitle.accent, #nameplusname div.accent { text-shadow: 1px 0 0 var(--accent), -1px 0 0 var(--accent), 0 1px 0 var(--accent), 0 -1px 0 var(--accent), 1px 1px var(--accent), -1px -1px 0 var(--accent), 1px -1px 0 var(--accent), -1px 1px 0 var(--accent); }
#title.vintage, #subtitle.vintage, #nameplusname div.vintage { text-shadow:-1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000, 2px 2px rgb(0 0 0 / 80%); }
#title.topbottom, #subtitle.topbottom, #nameplusname div.topbottom { border-top:1px solid; border-bottom:1px solid; line-height:0.9; }
#title.skew, #subtitle.skew, #nameplusname div.skew { transform:skew(-10deg,-10deg); }
#title.tbskew, #subtitle.tbskew, #nameplusname div.tbskew { border-top:1px solid; border-bottom:1px solid; line-height:0.9; transform:skew(-10deg,-10deg); }

#title, #subtitle { display:block; line-height:initial; }
#nameplusname { display:flex; flex-direction:column; align-items:center; flex-wrap:wrap; justify-content:center; line-height:initial; /* width:fit-content; (ex: green-plants theme) */ }
#nameplusname div { font-family:Lato; }
#nameplusname.left { align-items:start; }
#title-subtitle-container:is([style*="text-align:left"],[style*="text-align: left"]) #nameplusname { justify-content:left; }
#nameplusname.row { flex-direction:row; }
#nameplusname.row #npn-plus { margin-left:15px; margin-right:15px; }
#nameplusname.row.left { align-items:baseline; }

@keyframes rotation { to { transform: rotate(360deg); } }

.drop { width:100%; height:0px; box-sizing:border-box; display:inline-block; margin: 0 auto; transition:width 0.2s, height 0.2s, background-color 0.1s, opacity 0.2s; pointer-events:initial; text-align:center; z-index:3; }
.drop.inside { height:auto; visibility: visible; }
.drop.below.inside { margin-bottom: 20px; }



:is(#title-subtitle-container,#photo).insideborder:before { width:calc(100% - 30px); height:calc(100% - 30px); content:''; border: 1px solid lightgrey; display:block; margin-top:15px; margin-left:15px; top:0; left:0; position:absolute; box-sizing:border-box; pointer-events:none; }
:is(#title-subtitle-container,#photo).insideborder { padding:45px 50px 55px }
:is(#title-subtitle-container,#photo).grey { border: 1px solid rgba(0,0,0,0.5); }
:is(#title-subtitle-container,#photo).shadow { box-shadow:0 1px 2px rgba(0,0,0,0.07), 0 2px 4px rgba(0,0,0,0.07), 0 4px 8px rgba(0,0,0,0.07), 0 8px 16px rgba(0,0,0,0.07),0 16px 32px rgba(0,0,0,0.07), 0 32px 64px rgba(0,0,0,0.07); }
:is(#title-subtitle-container,#photo).whiteshadow { border:10px solid white; box-shadow:1px 1px 5px rgba(0,0,0,0.2); }
:is(#title-subtitle-container,#photo).wideshadow { box-shadow:0 0 20px 0px #c9c9c9; }


.button { display: inline-block; background-color: var(--accent); font-family: Montserrat; font-weight:bold; text-transform: uppercase; position: relative;
	color: white; border-radius: 100px; padding: 7px 16px; letter-spacing:0; transition: color 0.15s ease, letter-spacing 0.7s ease, background-color 0.2s ease; cursor:pointer; text-align:center; }
.button div { width: 18px; height: 18px; border: 1px solid rgba(255,255,255,0.3); border-radius: 100px; position: absolute; align-self: center; margin-left: -100%; border-top:1.5px solid white; opacity:0; transition:opacity 0.3s ease; }
.button.loading { color: transparent; letter-spacing: -12px; height: 32px; box-sizing: border-box; }
.button.loading:hover { background-color: var(--accent) }
.button div { pointer-events: none; }
.button.loading div { margin-left: initial; opacity:1; animation: rotation 0.5s infinite linear; right: 6px; top: 5px; }
.button:hover { background-color:var(--accent); }
.button.ghost { background-color:white; border:1px solid #00bcd4; color: #00bcd4; transition: border-color 0.2s, color 0.2s; }
.button.ghost:hover { border-color:var(--darkaccent); color: var(--darkaccent); }
.button.minor { font-family: 'Lato'; font-weight: 400; background-color:white; color: grey; border:none; }
.button.minor:hover { color:var(--darkaccent); text-decoration:underline; }
.button.disabled { border:1px solid lightgrey; color:lightgrey; background-color:white; cursor:default; user-select:none; -webkit-user-select:none; }

.option > a { display:block; padding:10px 25px 10px 45px; transition:padding 0.2s, background-color 0.2s; cursor:pointer; }
.option > a:hover { padding:10px 20px 10px 50px ; background-color: whitesmoke }
.addtocal:focus + .option, .option:active { opacity:1; transform:translateY(0px); pointer-events: initial; }
.option.addtc > a i { color:#b5b5b5; font-size:11px; }
.option.addtc > a:hover:before { left:22px; filter:grayscale(0); }
.option.addtc > a:before { position:absolute; content:''; width:15px; height:25px; left:17px; filter:grayscale(1); opacity:0.9; transition:left 0.2s, filter 0.2s;  }
.option.addtc > a:nth-of-type(1):before { background:url(/static/atc-apple.svg) no-repeat; }
.option.addtc > a:nth-of-type(2):before { background:url(/static/atc-google.svg) no-repeat; opacity:1; }
.option.addtc > a:nth-of-type(3):before, .option.addtc > a:nth-of-type(4):before { background:url(/static/atc-outlook.svg) no-repeat; opacity:0.95; }
.option.addtc > a:nth-of-type(5):before { background:url(/static/atc-yahoo.svg) no-repeat; }
#dateloc.footer .option.addtc { top:-212px }
#dateloc.footer .option.addtc:after { bottom: -10px; top:initial; }
#dateloc.footer .option.addtc:before {top:100%; margin-top:0px; transform:scaleY(-1); }

.copyx { display:none !important; }

.dispnone { display:none !important; }

.btn { display: inline-block; cursor: pointer; box-sizing: border-box; text-align:center; padding: 7px 12px; opacity:1; transition:background 0.2s, border 0.2s, opacity 0.1s, transform 0.25s, color 0.2s, filter 0.2s, padding-left 0.2s; font-family:var(--pfont); font-style:var(--pfonti); font-size:var(--fontsize-small); }
.btn:hover { background-color: var(--accent); color:#fff; }
.btn.btn1 { border: 1px solid var(--accent); color:black; border-radius:3px; }
.btn.btn1:hover { color:white; }
.btn.btn1.icon:before { color:var(--accent); }
.btn.btn1.icon:hover:before { color:white; }
.btn.btn6 { border: 1px solid var(--accent); color:var(--accent); border-radius:3px; }
.btn.btn6:hover { background-color:white; color:var(--darkaccent); }
.btn.btn6.icon:before { color:var(--accent); }
.btn.btn6.icon:hover:before { color:var(--darkaccent); }
.btn.btn2 { border: 1px solid var(--accent); background:var(--accent); color:white; border-radius:3px; }
.btn.btn2:hover { background:var(--darkaccent); }
.btn.btn3 { border: 3px solid var(--accent); text-transform: uppercase; }
.btn.btn3.icon:before { color:var(--accent); }
.btn.btn3.icon:hover:before { color:white; }
.btn.btn4 {  border: 1px solid var(--accent); background-color: var(--accent); color:white; border-radius:40px; }
.btn.btn4:hover { background:var(--darkaccent); border:1px solid var(--darkaccent); }
.btn.btn5 { border: 1px solid var(--accent); background:var(--accent); color:white; }
.btn.btn5:hover { background:var(--darkaccent); }
.btn.btn7 { border: 1px solid var(--accent); color:black; border-radius:40px; }
.btn.btn7:hover { background-color:white; color:var(--darkaccent); }
.btn.btn7.icon:before { color:var(--accent); }
.btn.btn7.icon:hover:before { color:var(--darkaccent); }
.btn.icon:before { font-family:simple-line-icons; margin-right:10px; vertical-align:-1px; font-style:normal; }
.btn.plusone:before { content:'\e095'; }
.btn.cal:before { content:'\e619'; }
.btn.remove:before { content:'\e615'; }
.btn.edit:before { content:'\e05f'; }
.btn.back:before { content:'\e605'; font-size:0.75em; vertical-align:0px; }
.btn.hidden { opacity:0; transform:translateY(10px); pointer-events: none; }
.btn.plusone.hidden { display:none; }

.btn:not(.submit).loading:after { height: 16px; width: 16px; content: ''; position: absolute; top: calc(50% - 8px); left: 10px; border-radius:100%; border: 1px solid #e8e8e8b5; border-top:1.5px solid #b1b1b1; animation: rotation 0.4s infinite linear; }
.btn:not(.submit).loading { filter: grayscale(1); padding-left: 40px; }
.btn:not(.submit).loading:hover { filter: grayscale(1); cursor:not-allowed; }
.btn:not(.submit).loading:before { content:''; }


.description { font-size: 15px; padding: 0 20px; display: inline-block; color: #4a4a4a; line-height: 1.6; }
.details { display:inline-block; margin-top: 10px; color:#b3b3b3; transition:color 0.2s; cursor:pointer; }
.details:hover { text-decoration: underline; color:#666; }
.photo { overflow:hidden; background-position:center center; background-repeat: no-repeat; background-size: cover; z-index:2; }
.photo img { width:100%; visibility:hidden; }
.photo.no { border:none;  }
.photo.grey { border: 1px solid rgba(0,0,0,0.5); }
.photo.whiteshadow { border: 10px solid white; filter: drop-shadow(rgba(0, 0, 0, 0.3) 2px 2px 5px); }
.photo.shadow { border:none; filter: drop-shadow(rgba(0, 0, 0, 0.15) 1.5px 1.5px 4px); }
.photo.wideshadow { box-shadow: 0 0 20px 0px #c9c9c9; }

.elemhide { display:none !important; }
#background.elemhide + #background-block { display:none; }
body.fullscreen #background.elemhide ~ #title-subtitle-container { position:relative; grid-area:below; }
body.fullscreen #background.elemhide ~ #dateloc.above { grid-area:dateloc-above; position:relative; }


hr { border:none; width: 60%; max-width:400px; height: 50px; overflow: hidden; }
hr:after { content:''; display:block; margin:-30px auto 0; width:100%; height:25px; border-radius:150px / 10px; box-shadow:0 0 20px #ccc; }

.rsvpguests input[type=text], .donation input[type=number], .rsvpask input, textarea { display:block; height:40px; width:170px; font-size:var(--fontsize-regular); border-radius: 3px; border: 1px solid lightgrey; padding: 8px 8px 8px 12px; caret-color: var(--accent); box-sizing: border-box; transition:border 0.2s ease, padding 0.2s ease; font-family:var(--pfont); font-style: var(--pfonti); }
.rsvpguests input[type=text]:-webkit-autofill, .donation input[type=number]:-webkit-autofill, .rsvpask input:-webkit-autofill, textarea:-webkit-autofill { -webkit-box-shadow: 0 0 0 30px white inset; }
.rsvpguests input[type=text]:focus, .donation input[type=number]:focus, .rsvpask input:focus, textarea:focus { border-bottom:2px solid var(--accent); padding-bottom:7px; }
.rsvpguests input[type=text]::placeholder, .donation input[type=number]::placeholder, .rsvpask input::placeholder, textarea::placeholder { color:#dcdcdc; }
.rsvpguests input[type=text].error, .donation input[type=numer].error, .rsvpask input.error, textarea.error { border: 1px solid #FF5722; }
.rsvpguests label:is([for=firstname],[for=lastname]), .rsvpask label { position:absolute; left:10px; top:-13px; text-transform:lowercase; z-index:2; color:#9E9E9E; background:white; padding:0 2px; font-size:15px; }
.rsvpask input { width: 220px; padding-left:35px; }
label[for=email]:before { font-family:simple-line-icons; content:''; position:absolute; color:var(--accent); top:27px; }
label[for=mobile]:before { font-family:simple-line-icons; content:''; position:absolute; color:var(--accent); top:27px; }
textarea { display: inline-block; width:500px; height:100px; resize:none; }
label[for$='stname']:after, label.mandatory1:after { content: '*';font-size: 14px;margin: 2px 1px;color:#F44336;position:absolute; }

.rsvpbuttons { display:inline-flex; width:fit-content; max-width:min(100%,800px); gap:20px; box-sizing:border-box;flex-wrap:wrap;justify-content:center; transition: max-height 0.3s, margin-top 0.2s, opacity 0.2s;}
#rsvpguests > div { display:flex; flex-wrap:wrap; width:fit-content; gap:20px; align-items:center; box-sizing:border-box; max-width:100%; margin-block:40px }
.rsvpbuttons > input[type=radio] { display: none; }
.rsvpbuttons.hidden { margin-top:-20px; max-height:0; opacity:0; pointer-events:none; display: block; }
.rsvpbuttons:not(.hidden) ~ #rsvpaddguest { opacity:0; pointer-events:none; }
#rsvpaddguest { transition:opacity 0.3s; }
#guestmessage { font-size:13px; color:#F44336; margin-bottom:20px; }

#rsvp-already.show { display:block !important; z-index:2; margin-bottom:100px; }
#rsvp-already.show ~ * { display:none !important; }
.rsvp-already-options { display:flex; width:auto; justify-content:center; gap:20px; margin-block:35px; }

.btrsvp { padding:1.05em 30px 1.15em; display:inline-block; box-sizing:border-box; border:1px solid lightgray; color:darkgray; border-radius:5px; font-size:var(--fontsize-regular); line-height:1.3; background-color:white; transition:filter 0.2s, color 0.2s; cursor:pointer; }
.btrsvp.rsvp { padding: 1.1em 40px 1.2em; }
.btrsvp:before { font-family:simple-line-icons; margin-right:6px; color:lightgray; transition:color 0.2s; font-style:normal; vertical-align:-1px; }
.btrsvp.no:before { content:''; }
.btrsvp.yes:before { content:''; }
.btrsvp.rsvp:before { content:'\e619'; margin-right:15px; }
.btrsvp:hover { color:#333333; filter: drop-shadow(0 1.5px 2.5px rgba(0,0,0,.2)); }
.btrsvp:hover.yes:before { color:#00BCD4 }
.btrsvp:hover.no:before { color:#F44336 }
.btrsvp:hover.rsvp:before { color: var(--accent); }
input[type=radio]:checked + .btrsvp { filter: drop-shadow(2px 2.5px 0 rgba(0,0,0,.1)); }
input[type=radio]:checked + .btrsvp.yes { color:#595959;  border:1px solid #01bcd4; }
input[type=radio]:checked + .btrsvp.yes:before { color:#00BCD4 }
input[type=radio]:checked + .btrsvp.no { color:#595959; border:1px solid #F44336 }
input[type=radio]:checked + .btrsvp.no:before { color:#F44336 }
.rsvpbuttons.small .btrsvp { font-size:var(--fontsize-small); padding:0.65em 25px 0.7em; }

.btrsvp.block { border:2px solid lightgray; border-radius:0px; font-size:15px; background-color:white; transition:filter 0.2s, background-color 0.15s; text-transform:uppercase; letter-spacing:3px; font-weight:bold; }
.btrsvp.block:before { color:lightgray; transition: color 0.2s; }
.btrsvp.block:hover { border:2px solid gray; background-color:gray; color:white; }
.btrsvp.block:hover.rsvp { border:2px solid #585858; background-color:#585858; color:white; }
.btrsvp.block:hover.yes:before { color:#00BCD4 }
.btrsvp.block:hover.no:before { color:#F44336 }
input[type=radio]:checked + .btrsvp.block { background-color:#333; color:white; filter: none; border:2px solid #333; }
.small .btrsvp.block { font-size: 13px; padding: 0.7em 15px; }

.btrsvp.radio { border:none; font-size:16px; transition: color 0.2s; letter-spacing:1px; }
.btrsvp.radio:before { margin-right:10px; font-size:25px; vertical-align:-5px; color:lightgray; transition:color 0.2s; }
.btrsvp.radio.rsvp { padding: 1em 40px; border-radius:0; }
.btrsvp.radio.rsvp:before { margin-right:18px; font-size: 15px; vertical-align: 0px; }
.btrsvp.radio:hover { filter:none; }
.btrsvp.radio:hover.yes:before { color:#00BCD4 }
.btrsvp.radio:hover.no:before { color:#F44336 }
input[type=radio]:checked + .btrsvp.radio { font-weight:bold; filter:none; border:none }
.small .btrsvp.radio { padding: 0.5em 10px; }
.small .btrsvp.radio:before { font-size:22px; vertical-align:-4px; margin-right:5px }

.btrsvp.white { border:none; box-shadow:inset 0 -1px 0 0.75px rgba(0, 0, 0, 0.15), inset 0 -10px 15px rgba(0, 0, 0, 0.02); filter:drop-shadow(0 1.5px 3px rgba(0,0,0,.075)); border-radius:0px; }
.btrsvp.white:hover { border:none; box-shadow:inset 0 -1px 0 0.75px rgba(0, 0, 0, 0.2), inset 0 -10px 18px rgba(0, 0, 0, 0.04); filter:drop-shadow(0 1.5px 3.5px rgba(0,0,0,.2)); }
input[type=radio]:checked + .btrsvp.white { border:none; filter: drop-shadow(0 1.5px 3px rgba(0,0,0,.075)); box-shadow: inset 0 -1px 0 0.75px rgba(0, 0, 0, 0.15), inset 0 -10px 15px rgba(0, 0, 0, 0.03); }
input[type=radio]:checked + .btrsvp.white.yes { color:#00BCD4; }
input[type=radio]:checked + .btrsvp.white.no { color:#F44336; }
input[type=radio]:checked + .btrsvp.no.white:after { content:''; position:absolute; left:0; top:0; height:100%; width:1px; background:#F44336; }
input[type=radio]:checked + .btrsvp.yes.white:after { content:''; position:absolute; left:0; top:0; height:100%; width:1px; background:#00BCD4; }

.btrsvp.gradient { vertical-align:2px; padding:1.4em 25px; letter-spacing:2px; font-size:12px; text-transform:uppercase; background-image:linear-gradient(120deg, #ececec, #c3c3c3); border:none; z-index:1; position:relative; }
.btrsvp.gradient:after { content:''; z-index:-1; background-color:white; display:block; width:calc(100% - 2px); height:calc(100% - 2px); position:absolute; left:1px; top:1px; border-radius:4px; }
.btrsvp.gradient.rsvp { background-image:linear-gradient(100deg,#cecece,#676767); }
.btrsvp.gradient.rsvp:after { height: calc(100% - 3px); }
input[type=radio]:checked + .btrsvp.no.gradient { background-image: linear-gradient(100deg,#ff864b,#ef3f32); }
input[type=radio]:checked + .btrsvp.yes.gradient { background-image: linear-gradient(100deg,#00BCD4,#1575a7); }
input[type=radio]:checked + .btrsvp.gradient { border:none; filter:none; color:black; }
input[type=radio]:checked + .btrsvp.gradient:after { height:calc(100% - 3px); }
.small.btrsvp.gradient { padding: 1.05em 15px; }
.tiny.btrsvp.gradient { font-size: 11px; padding: .9em 15px; letter-spacing:1.5px; }

.btrsvp.flat { background-color:var(--accent); border:1px solid var(--accent); color:white; border-radius:3px; padding:.75em 30px; transition:background-color 0.3s, transform 0.2s; }
.btrsvp.flat span, .btrsvp.flat:before, .btrsvp.flat:hover:before { color:white; }
.btrsvp.flat:hover { background-color:var(--darkaccent); transform:translateY(-3px); }
.btrsvp.flat.rsvp:before { margin-right:10px; }
.small .btrsvp.flat, .btrsvp.flat { color:white !important; }
input[type=radio]:checked + .btrsvp.flat { filter:none; }
.small .btrsvp.flat { padding:.7em 25px; }
.small .btrsvp.flat:hover { transform:translateY(-2px); }

.rsvpbuttons .removeguest { width:25px; height:25px; line-height: 25px; border-radius:50px; text-align:center; display: inline-block; position: absolute; border:1px solid #e8e8e8; color: #9a9a9a; align-self:center; right:-50px; transition: border 0.2s, color 0.2s, transform 0.2s; cursor:pointer; }
.rsvpbuttons .removeguest:hover { border:1px solid var(--accent); color: #6d6d6d; transform: scale(1.2); }
.removeguest.disabled { display:none; }

.select { transition:color 0.2s, background-color 0.3s; cursor:pointer; color:var(--accent); font-size:var(--fontsize-regular); vertical-align:-2px; text-overflow:ellipsis; padding:3px 8px; border:1px solid whitesmoke; border-radius:3px; font-family:var(--pfont); font-style: var(--pfonti); min-width:100px; }
.select:hover, .select:focus { color:var(--darkaccent); background-color:#fcfcfc; }
.select:focus + .option, .option:active { opacity:1; transform: translateY(0px); pointer-events:initial; z-index:200; }
.option { display:block; position:absolute; text-align:left; z-index:2; background-color:white; padding:10px 0; border-radius:6px; filter:drop-shadow(0 1.5px 1.5px rgba(0,0,0,.4)); margin-top:10px; 
    transition:opacity 0.2s, transform 0.2s; opacity:0; transform: translateY(-10px); pointer-events:none; width: max-content; max-width:300px; font-family:var(--pfont); font-style: var(--pfonti); }
.option > label { font-size:var(--fontsize-small); display:block; padding:5px 25px 5px 20px; transition:padding 0.2s, background-color 0.2s; cursor:pointer }
.option > label:hover { padding:5px 20px 5px 25px ; background-color: whitesmoke }
input[type=text]:checked + label:after { content:'✓'; color:var(--accent); margin-left:10px }
.option:before { content: '';position: absolute;top: 0px;left: 20px;margin: -8px 0 0; pointer-events: none; border-right: 8px solid transparent;border-left: 8px solid transparent;border-bottom: 8px solid #fff;}
.option > input { display:none; }
.option > input[disable] + label { color:#adadad; pointer-events:none; padding-right:50px; }
.option > input[disable] + label:after { content:'FULL'; position:absolute; font-family:Lato; right:0px; margin-top:0; font-size:10px; font-weight:bold; background-color:#d0d0d0; color:white; padding:3px 6px; border-radius:3px 0 0 3px; }


.rsvpquestions { border:1px solid white; border-radius:6px; padding:0 50px 50px; box-sizing:border-box; background-color:white; filter:drop-shadow(0.5px 2px 3px rgba(0,0,0,0.1)); transition:opacity 0.3s, transform 0.3s; max-width:750px; width:100%; margin:auto; z-index:1; }
.rsvpquestions.hide { opacity:0; transform: translateY(-50px); height:0; overflow: hidden; }
#numguests { color:var(--txtcolor); opacity:0.7; letter-spacing:1px; padding:10px 0 20px; transition:opacity 0.2s; font-family:var(--pfont); font-style:var(--pfonti); font-size:var(--fontsize-regular); }
#numguests.hide { max-height:0; opacity:0; padding:0; }
#notfound { color:#F44336; font-size:16px; font-family: var(--pfont); font-style: var(--pfonti); }

#rsvptitle { margin-top:45px; }
#rsvpsubtitle { font-size:var(--fontsize-regular); color:var(--txtcolor); line-height:1.6; margin-block:10px 20px; font-family:var(--pfont); font-style: var(--pfonti); }
.rsvpquestions #rsvpsubtitle { color:#333333; }
.guestname { margin:5px auto; }
.guestname div span:nth-of-type(-n+2) { width:80px; font-size:var(--fontsize-regular); margin-block:10px; vertical-align: middle; display:inline-block; text-align:left; overflow:hidden; white-space: nowrap; text-overflow: ellipsis; padding-bottom: 2px; border-bottom: 1px solid whitesmoke; font-family:var(--pfont); font-style: var(--pfonti); }
#rsvptitle + .guestname { margin-top:25px; }
.firstname { margin-right:10px; }
.lastname { margin-right:20px; }
.firstname:after, .lastname:after { content:" "; white-space:pre; }
.q-guest { margin-bottom: 15px; }

.btn.submit { width:180px; transition:padding 0.2s; padding:8px 12px; margin-top:65px; align-self:center; }
.btn.submit:hover { padding-left:20px; }
.btn.submit:before { content: "\e06e"; }
.rsvpquestions:not(:has(.rsvpask,.subquestion)) [data-action="submitRSVP"] { margin-top:45px; }
.btn.submit.loading:after { height: 16px; width: 16px; content: ''; position: absolute; top: calc(50% - 10px); left: 10px; border-radius:100%; border: 1px solid #e0f7fab5; border-top:1.5px solid #ffffff; animation: rotation 0.4s infinite linear; }
.btn.submit.loading { background-color:grey; border:1px solid grey; color:white; }
.btn.submit.loading:hover { padding-left:12px; filter: none; cursor:not-allowed; }
.btn.submit.loading:before { content:''; }
.btn.submit.guestnotfound { display:none; }
.btn.submit.guestnotfound + #rsvptitle.guestnotfound_msg { display:block; }
.btn.submit + #rsvptitle.guestnotfound_msg { display:none; order:13; margin-block:70px 25px; font-size:18px; }
.btn.submit + #rsvptitle.guestnotfound_msg a { display:block; margin-top:10px; color:var(--darkaccent); font-size:22px; }
.notactive { margin-top:15px }
.notactive:before { font-family:simple-line-icons; content:'\e617'; color:#F44336; margin-right:8px; vertical-align:-2px; }
.notactive a { color:var(--accent); text-decoration:underline; cursor:pointer; }
.notactive a:hover { filter:brightness(0.8); }
.btn.submit:hover ~ .notactive { animation: shake 0.5s cubic-bezier(.36,.07,.19,.97) both; }
@keyframes shake { 
	10%, 90% { transform: translate3d(-1px, 0, 0); } 
	20%, 80% { transform: translate3d(2px, 0, 0); } 
	30%, 50%, 70% { transform: translate3d(-2px, 0, 0); } 
	40%, 60% { transform: translate3d(2px, 0, 0); } 
}

a.linktext { text-decoration:underline; color:var(--accent); transition:color 0.2s; white-space:nowrap; max-width:min(300px,100%); overflow:hidden; display:inline-block; text-overflow:ellipsis; vertical-align:bottom; }
a.linktext:hover { color:var(--darkaccent); }

.rsvpbuttons.error:after { content:attr(data-translationmandatory); position: absolute; right:0px; top:40px; color:#F44336; padding:0 5px; background-color:white; }
.rsvpbuttons.error:before { content:''; position:absolute; display:block; left:-12px; top:-12px; width:calc(100% + 22px); height:calc(100% + 22px); border:1px solid #F44336; border-radius:5px; pointer-events:none; }
.q-guest.error .rsvpbuttons:before { content:''; position:absolute; display:block; left:-8px; top:-8px; width:calc(100% + 14px); height:calc(100% + 14px); border:1px solid #F44336; border-radius:5px; pointer-events:none; }

.subquestion { margin-bottom:20px; }
.subquestion[data-attendantsonly='1'] .q-guest[data-answer='0'] { display:none; }
.subquestion[data-mandatory='1'][data-attendantsonly='0'] .q-guest:after,
.subquestion[data-mandatory='1'] .q-guest[data-answer='1']:after { content:'*'; font-size:15px; position:absolute; color:#F44336; background-color:white; height:12px; margin-left:5px; border-radius:20px; }
.subquestion[data-mandatory='1'] .q-guest.error:after { content:'* 'attr(data-translationmandatory); }
.subquestion[data-mandatory='1'] .guestname.type4:after { content:'*'; font-size:15px; position:absolute; color:#F44336; right:60px; }
.subquestion.labelhide { display:none !important; }

#pass { width:100%; text-align:center; display:flex; flex-direction:column; justify-content:center; }
#password { padding-left:35px; }
label[for="password"] { position:absolute; z-index: 1; top:-12px; left:8px; background:white; padding:0 4px; }
label[for=password]:before { font-family:simple-line-icons; color: var(--accent); position: absolute; margin: 26px 0 0 2px; content:'\e08e'; z-index:1; }
#passmsg { float: left; max-width: 140px; font-size: 12px; margin-top: 15px; color:#ff5722; }

.fixedfooter { bottom: 0; width: 100%; padding: 15px; position: fixed; text-align: center; background-color: rgba(255,255,255,0.9); box-shadow: 0px 0px 20px rgba(0,0,0,0.08); box-sizing: border-box; z-index:19; }
.fixedfooter a.after:after { position: absolute; margin-left: 15px; width: 190px; text-align: left; color: #9e9e9e; pointer-events: none; white-space: pre; }
.fixedfooter a.after.afterdemo:after { content: "This is a demo page...\A Start editing your RSVP now!"; }

#schacc { margin-top:20px; }
.schedule { display: grid; grid-template-columns: 1fr 2fr; max-width:600px; text-align:left; }
.schedule div { font-family: var(--pfont); font-style: var(--pfonti); }
.sch_left { border-right:1px solid var(--accent); }
.sch_right { padding:0 0 0 20px; margin-bottom:25px; }
.sch_right:last-of-type { margin-bottom:10px }
.sch_time:before { content:''; display:block; width:7px; height:7px; border-radius:100%; background-color:var(--lightaccent); position:absolute; top:4px; left:-26px; border:2px solid var(--bgcolor); }
.sch_time { color:var(--darkaccent); font-size:var(--fontsize-regular); }
.sch_time text { font-style:normal; text-transform:lowercase; }
.sch_time a { font-size:16px; line-height:0; margin:0 3px; }
.sch_time u { color:var(--txtcolor); text-decoration:none; text-transform:uppercase; }
.sch_day { color:var(--accent); font-size:var(--fontsize-small); text-transform:capitalize; }
.sch_left.hidden div { color:transparent; user-select:none; }
.sch_left.hidden ~ .sch_left:not(.hidden), .sch_left.hidden ~ .sch_left:not(.hidden) + .sch_right { padding-top:25px; }
.sch_desc { margin-top:12px; margin-bottom:10px; font-size:var(--fontsize-small); color:var(--txtcolor); }
.sch_date { font-size:var(--fontsize-regular); color:var(--txtcolor); text-transform:capitalize; }
.sch_location { color:var(--txtcolor); opacity:0.7; text-transform:uppercase; font-size:var(--fontsize-small); margin-top:5px; }
.sch_location:before { content:'\e096'; font-family:simple-line-icons; font-size:10px; color:var(--accent); margin-right:5px; }
.sch_location.hidden { display:none }
.schedule .labelhide { display:none; }
.sch_right.labelhide + .sch_left.hidden .sch_date { color:var(--txtcolor); user-select:initial }
.sch_right.labelhide + .sch_left.hidden .sch_day { color:var(--accent); user-select:initial }
.accommodation .acclink { margin:0 10px 20px; }


.regill { background-image:url('/static/registry.gif?v=0.96'); background-size:cover; width:200px; height:120px; border:1px solid #e7e7e7; border-radius:3px; transition:border 0.2s, transform 0.2s; }
.registry { display:flex; margin-top:-15px; margin-bottom:-15px; width:fit-content; width:-moz-fit-content; flex-wrap:wrap; justify-content:center; }
.reglink { width:min-content; margin:15px; }
.regdesc { text-align:left; margin-top:10px; font-size:var(--fontsize-small); font-family:var(--pfont); font-style:var(--pfonti); color:#a9a9a9; transition:color 0.2s; }
.reglink:hover .regdesc { color:var(--darkaccent); cursor:pointer; }
.reglink:hover .regill { border:1px solid var(--accent); cursor:pointer; transform:translateY(-3px); }
.regill.honeyfund { background-position-y: -100%; }
.regill.amazon { background-position-y: -200%; }
.regill.zola { background-position-y: -300%; }
.regill.paypal { background-position-y: -400%; }
.regill.crate { background-position-y: -500%; }
.regill.venmo { background-position-y: -600%; }
.regill.bbbaby { background-position-y: -700%; }
.regill.myregistry { background-position-y: -800%; }
.regill.target { background-position-y: -900%; }
.regill.babylist { background-position-y: -1000%; }
.regill.mrphome { background-position-y: -1100%; }
.regill.athome { background-position-y: -1200%; }
.regill.mywedding { background-position-y: -1300%; }
.regill.bbb { background-position-y: -1400%; }
.regill.dreamlist { background-position-y: -1500%; }
.regill.hmregistry { background-position-y: -1600%; }
.regill.ychef { background-position-y: -1700%; }
.regill.prezola { background-position-y: -1800%; }
.regill.blueprint { background-position-y: -1900%; }
.regill.wrapistry { background-position-y: -2000%; }
.regill.snugglebugz { background-position-y: -2100%; }
.regill.travelersjoy { background-position-y: -2200%; }
.regill.walmart { background-position-y: -2300%; }
.regill.cashapp { background-position-y: -2400%; }
.regill.dillards { background-position-y: -2500%; }
.regill.potterybarn { background-position-y: -2600%; }
.regill.volpes { background-position-y: -2700%; }
.regill.johnlewis { background-position-y: -2800%; }
.regill.justgiving { background-position-y: -2900%; }
.regill.myer { background-position-y: -3000%; }
.regill.flyus { background-position-y: -3100%; }
.regill.gofundme { background-position-y: -3200%; }
.regill.gifty { background-position-y: -3300%; }
.regill.weddingpresent { background-position-y: -3400%; }
.regill.takealot { background-position-y: -3500%; }
.regill.honeymoonwishes { background-position-y: -3600%; }
.regill.selfridges { background-position-y: -3700%; }
.regill.theknot { background-position-y: -3800%; }
.regill.giftster { background-position-y: -3900%; }
.regill.macys { background-position-y: -4000%; }
.regill.easyregistry { background-position-y: -4100%; }
.regill.milirose { background-position-y: -4200%; }
.regill.mrp { background-position-y: -4300%; }
.regill.woolworths { background-position-y: -4400%; }
.regill.collectionpot { background-position-y: -4500%; }
.regill.weddingshop { background-position-y: -4600%; }
.regill.hitchd { background-position-y: -4700%; }
.regill.delta { background-position-y: -4800%; }
.regill.coastal { background-position-y: -4900%; }
.regill.carrol { background-position-y: -5000%; }
.regill.withjoy { background-position-y: -5100%; }
.regill.blooming { background-position-y: -5200%; }
.regill.lettuce { background-position-y: -5300%; }


.livestream { border-left: 3px solid var(--accent); filter:drop-shadow(0.5px 2px 3px rgba(0,0,0,0.1)); background-color:white; width:400px; margin-block:15px; padding:20px 20px 20px 25px; border-radius:3px; display:grid; grid-template:1fr / 2fr 1fr; grid-gap:20px; text-align:left; }
.livetitle { font-family:var(--pfont); font-style:var(--pfonti); font-size:var(--fontsize-regular); text-align:left; margin-bottom:8px; }
.livedesc { font-family:var(--pfont); font-style:var(--pfonti); font-size:var(--fontsize-small); text-align:left; color:grey; }
.livebutton { background-color: var(--darkaccent); font-size:var(--fontsize-small); color:white; padding: 6px 15px; border-radius: 3px; cursor:pointer; display:inline-block; transition:filter 0.2s, transform 0.2s; }
.livebutton:hover { filter:brightness(0.9) contrast(1.2); transform:translateY(-2px); }
.livebutton:before { content:'\e07e'; font-family:simple-line-icons; font-size:12px; margin-right: 10px; }
.livebutton.disable { background-color:lightgrey; cursor:not-allowed; }
.livebutton.disable:before { margin:0 10px 0 2px; font-size:11px; } 
.liveright { text-align:right; }
.livestream a.linktext { white-space:unset; }
.livepowered { font-family:Lato; color:grey; font-size:12px; margin-top:8px; }
.livepowered:after { content:''; vertical-align:-1px; height:12px; width:45px; margin-left:3px; display:inline-block; background-size:cover; background-image:url('/static/livestream-poweredby.gif?v=0.2'); }
.livepowered:not(.meet):not(.zoom):not(.youtube):not(.lovecast):not(.instagram):not(.eventlive) { visibility:hidden }
.livepowered.meet:after { background-position-y:-100%; }
.livepowered.zoom:after { background-position-y:-200%; }
.livepowered.youtube:after { background-position-y:-300%; }
.livepowered.lovecast:after { background-position-y:-400%; }
.livepowered.instagram:after { background-position-y:-500%; transform:translateY(3px); }
.livepowered.eventlive:after { background-position-y:-600%; }

.footerlogo { order:10; color:rgba(0 0 0 / 50%); letter-spacing:2px; font-size:12px; font-family:'work sans','Lato'; margin-block:30px; opacity:0.5; transition:opacity 0.3s; }
.footerlogo:hover { opacity:1; }
.footerlogo img { vertical-align:-1px; width:80px; filter:grayscale(1); transition:filter 0.3s }
.footerlogo img:hover { filter:grayscale(0); }
body.regular .footerlogo, body.splitscreen .footerlogo { margin-block:50px; }


body.fullscreen #background:after { font-family:simple-line-icons; content:"\e604"; font-size: 20px;color:var(--accent); text-align: center;position:absolute; bottom:85px; width:100%; animation: bounce 2s infinite; }
body.fullscreen .footerlogo { position: absolute; bottom:30px; width:100%; }
body.fullscreen:not(.align-left) .footerlogo { left:0 }
body.fullscreen #ro-container { padding-bottom:100px; }
body.fullscreen #details { display:none; }

body.splitscreen .content { position:absolute; width:39vw; right:0; top:0; padding: 0 20px; box-sizing:border-box; box-shadow:inset 13px 0px 20px -15px rgba(0, 0, 0, 0.2); }
body.splitscreen #title-subtitle-container[style*="text-align: left"] { float:left; }
body.splitscreen #dateloccont-container { left:-20px; width:calc(100% + 40px); }
body.splitscreen #dateloccont-container:not(.noicon) { padding-left: 50px; }
body.splitscreen #schacc { margin-top:-15px; }
body.splitscreen textarea { max-width: 100% }
body.splitscreen #map { z-index:2; }
body.splitscreen hr:first-of-type.close:before { opacity:0; }
body.splitscreen #description-container { margin-left:0 !important; }

body.fixw #background { width:1000px; height:500px; position:relative; margin:auto; margin-top:50px; border-radius:4px; }
body.fixw #background:after { content:''; position:absolute; width:100%; height:100%; background:rgba(0,0,0,0.05); z-index:-1; transform: perspective(1900px) rotateX(-2deg) translateY(-1px); filter:blur(3px); }
body.fixw .background-block { display: none; }
body.fixw { background-color: whitesmoke; }
body.fixw .content { max-width:calc(1000px - 25%); margin:auto; margin-bottom:50px; border-radius:0 0 4px 4px; padding-right:25%; overflow:visible; }
body.fixw .content:after { content:''; position:absolute; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.08); z-index:-1; transform: perspective(1900px) rotateX(2deg) translateY(-1px) scale(0.99); filter:blur(3px); }
body.fixw #dateloccont-container { width:25%; position:absolute; top:0; right:20px; padding-top:35px; }
body.fixw #dateloccont-container div { flex-direction:column; width:210px; }
body.fixw #dateloccont-container > div > div { width:100%; max-width:100%; text-align:left; margin-bottom:15px; }
body.fixw #dateloccont-container.sticky { position:fixed; padding-right:0; width:250px; right:calc(50vw - 500px + 30px); }

@media (min-width: 600px) {
	body:not(.splitscreen,.fixwidth) :not(#pass) #title-subtitle-container[style*="width: 100%"][style*="text-align: left"],
	body:not(.splitscreen,.fixwidth) :not(#pass) #title-subtitle-container[style*="width: 100%"][style*="text-align:left"],
	body:not(.splitscreen,.fixwidth) :not(#pass) #title-subtitle-container[style*="width:100%"][style*="text-align: left"],
	body:not(.splitscreen,.fixwidth) :not(#pass) #title-subtitle-container[style*="width:100%"][style*="text-align:left"] { padding-left:calc(50% - 60px); }
	body:not(.splitscreen,.fixwidth) :not(#pass) #title-subtitle-container[style*="width: 100%"][style*="text-align: left"] #nameplusname,
	body:not(.splitscreen,.fixwidth) :not(#pass) #title-subtitle-container[style*="width: 100%"][style*="text-align:left"] #nameplusname,
	body:not(.splitscreen,.fixwidth) :not(#pass) #title-subtitle-container[style*="width:100%"][style*="text-align: left"] #nameplusname,
	body:not(.splitscreen,.fixwidth) :not(#pass) #title-subtitle-container[style*="width:100%"][style*="text-align:left"] #nameplusname { justify-content:start; }
	#pass #title-subtitle-container[style*="width: 100%"][style*="text-align: left"], 
	#pass #title-subtitle-container[style*="width: 100%"][style*="text-align:left"], 
	#pass #title-subtitle-container[style*="width:100%"][style*="text-align: left"], 
	#pass #title-subtitle-container[style*="width:100%"][style*="text-align:left"] { max-width: max-content; }
}
body:not(.splitscreen) #title-subtitle-container[style*="text-align: left"] #nameplusname { justify-content:left; }
body.embed, body.embed .content { background:transparent !important; }
body.embed2 #photo-desc-container, body.embed2 #act-ro-sch, body.embed2 #act-ro-liv, body.embed2 #act-ro-gal, body.embed2 #act-ro-acc, body.embed2 #act-ro-reg, body.embed2 #dateloccont-container, body.embed2 .footerlogo, body.embed2 #language, body.embed2 #act-ro-cou { display:none !important; }
body.embed2 .rsvpquestions { filter:none; }

.gallery-carousel { display:flex; max-width:1000px; margin:auto; }
.gallery-img { display:flex; max-width:1000px; margin:0 auto 20px; overflow:hidden; }
.gallery-div { display:grid; margin:0 15px; width:min-content; height:fit-content; }
.gallery-div img { height:180px; border-radius:2px; filter: drop-shadow(1px 2px 3px rgba(0,0,0,0.1)) drop-shadow(0px 0px 1px rgba(0,0,0,0.08)); -webkit-overflow-scrolling:touch; cursor:pointer; }
.gallery-div span { text-align:left; margin-top:8px; padding:3px 0; font-family:var(--pfont); font-style:var(--pfonti); font-size:var(--fontsize-small); }
.gallery-arrow { position:absolute; width:50px; height:50px; top:63px; background:white; z-index:2; display:flex; justify-content:center; align-items:center; font-family:simple-line-icons; border-radius:100px; filter:drop-shadow(1px 2px 4px rgba(0,0,0,0.1)) drop-shadow(0px 0px 1px rgba(0,0,0,0.05)); transition:color 0.2s, transform 0.3s, opacity 0.3s; }
.gallery-arrow:hover { color:#00bcd4; transform:translateY(-5px); cursor:pointer; }
.gallery-arrow.disabled { pointer-events:none; color:lightgray; opacity:0.9; transform:scale(0); }
.gallery-shadow { position:absolute; top:-10px; right:0; width: 25px; height:100%; display:block; overflow:hidden; pointer-events:none; }
.gallery-shadow:after { position:absolute; right:0; content: ""; width:25px; margin-right:-25px; height: 70%; top:10%; z-index:5; border-radius: 50px / 10px; box-shadow: 0 0 20px rgb(0 0 0 / 0.2); opacity:1; transition:opacity 0.35s; }
.gallery-shadow.left { z-index:1; left:0; }
.gallery-shadow.left:after { left:0; margin-left:-25px; }
.gallery-arrow:nth-of-type(1).disabled ~ .gallery-shadow.left:after { opacity:0 }
.gallery-arrow:nth-of-type(2).disabled ~ .gallery-shadow:not(.left):after { opacity:0 }		
.gallery-img .sch_delete { position:absolute; right:10px; top:10px; }
#gallery, #gallery-el { max-width:700px; }
#gallery:not(.dispnone) ~ .gallery_add { display:none; }
#gallery.dispnone ~ .gallery-carousel, #gallery.dispnone ~ .minibutton, #gallery.dispnone ~ #gallery-el { display:none; }
.gallery-div:after { content:""; width:80px; height:80px; border-radius:100px; justify-self:center; top:50px; background:var(--accent); position:absolute; transform:translateY(20px) scale(0.9); opacity:0; transition:transform 0.3s, opacity 0.3s; pointer-events:none; }
.gallery-div:hover:after { transform:translateY(0) scale(1); opacity:0.6;  }
.gallery-div:before { content: "+"; font-weight:100; color:white; font-size:35px; z-index:2; width:100%; height:80px;display:flex; align-items:center; justify-content:center; top:50px; position:absolute; transform:translateY(20px) scale(0.9); opacity:0; transition:transform 0.3s, opacity 0.3s; pointer-events:none; }
.gallery-div:hover:before { transform:translateY(0) scale(1); opacity:1; }

#countdown { display:flex; width:fit-content; margin-block:0px 30px; text-align:center; }
.count_block { margin: 0 10px; }
.count_num { font-size:30px; }
.count_label { color:var(--accent); }
#countdown.blocks .count_label { background:whitesmoke; color:var(--darkaccent); padding:5px 10px; margin-top:5px; border-radius:3px }
#countdown.blocks .count_num { font-size:40px; color:var(--accent); }
#countdown.blocks2 .count_label { background:var(--accent); color:white; padding:5px 10px; margin-top:5px; border-radius:3px }
#countdown.blocks2 .count_num { font-size:35px; }
#countdown.wheel .count_block { border:1px solid whitesmoke; width:100px; height:100px; display:grid; align-items:center; border-radius:100px; }
#countdown.wheel .count_block:before { content:''; border-radius:50%; background:var(--accent); inset:-1px; display:block; position:absolute; 
    background: radial-gradient(farthest-side,var(--accent) 98%,#0000) top/1px 1px no-repeat, conic-gradient(var(--accent) calc(var(--p)*1%),#0000 0);
    -webkit-mask: radial-gradient(farthest-side,#0000 calc(100% - 2px),#000 calc(100% - 1px));
    mask: radial-gradient(farthest-side,#0000 calc(99% - 1px),#000 calc(100% - 1px)); }
#countdown.wheel .count_label { align-self:start; }
#countdown.wheel .count_num { align-self:end; }
#countdown.grey .count_num { background:whitesmoke; padding:10px 20px; margin:5px 5px 10px; border-radius:3px; border-bottom:1px solid #e5e5e5; }
#countdown.grey .count_label { color:var(--txtcolor); opacity:0.5; font-size:10px; letter-spacing:5px; text-transform:uppercase; }
#countdown.space .count_num { margin:5px 25px 10px; }
#countdown.space .count_block:not(:last-of-type) .count_num:after { position:absolute; content:':'; margin-left:25px; animation:c-pulse 1s infinite; }
#countdown.space .count_label { color:var(--darkaccent); font-size:10px; letter-spacing:5px; text-transform:uppercase; }
@keyframes c-pulse { 0% { color:var(--accent); } 100% { color:white; } }

#act-ro-rsv, #ro-container, .rsvpquestions { display:flex !important; flex-direction:column; }
#act-ro-rsv { margin-top:60px; }
#act-ro-rsv [id^=act-ro-rsv-] { margin-bottom:30px }
#act-ro-acc, #act-ro-sch, #act-ro-reg { margin-bottom:20px; }
#act-ro-you { margin-block:40px; }
.reverse-rsvpbuttons .btrsvp.no { order:1; }


#popup { position:fixed; left:0; top:0; right:0; bottom:0; display:flex; align-items:center; justify-content:center; z-index:101; transform:translateY(-30px); opacity:0; pointer-events:none; transition:transform 0.3s, opacity 0.3s; }
#popup.active { transform:translateY(0px); opacity:1; }
.popup-content { padding:10px; background:white; border-radius:5px; filter: drop-shadow(0 1.5px 3px rgba(0,0,0,.5)); max-width:min(90%,1000px); max-height:90vh; }
#popup.active .popup-content, #payment.active .popup-content { pointer-events:initial; }
.popup-content img { border-radius:3px; max-width:100%; max-height:90vh; }
.popup-content span { position:absolute; font-size:18px; color:#7b7b7b; right:20px; top:18px; background:rgb(255 255 255 / 0.8); width:30px; height:30px; display:flex; align-items:center; justify-content:center; border-radius:3px; cursor:pointer; transition:transform 0.2s, color 0.2s; }
.popup-content span:hover, .payment-content span:hover { color:var(--accent); transform:scale(1.1); }
#popup-bg { position:fixed; display:block; left:0; top:0; width:100%; height:100%; background-color:rgba(0,0,0,0); pointer-events:none; z-index:100; transition:background-color 0.3s; }
#popup.active + #popup-bg, #payment.active + #popup-bg { background-color:rgba(0,0,0,0.5); pointer-events:initial; }

#payment { position:fixed; height:100%; width:500px; transform:translateX(500px); right:0; top:0; z-index:1000; filter:drop-shadow(0 1.5px 3px rgba(0,0,0,.5)); transition:transform 0.3s; background:white; padding:50px 60px 30px 85px; box-sizing:border-box; }
#payment.active { transform:translateX(0); }
#payment svg { margin-right:10px; margin-left:-35px; transform:translateY(3px); stroke:#02bcd4; width:20px; height:20px; fill:none; stroke-width:1; stroke-linecap:round; stroke-linejoin:round; }
.payment-content span { display:none !important; position:absolute; font-size:25px; color:#7b7b7b; left:-40px; top:-65px; background:rgb(255 255 255 / 0.8); width:30px; height:30px; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:transform 0.2s, color 0.2s; }
.payment_ttl { margin:100px 0 40px; display:grid; grid-auto-flow:column; grid-template-columns:1fr 1.3fr; grid-gap:25px; }
.pay_reass { background:whitesmoke; padding:12px 16px; border-radius:4px; }
.pay_title { color:var(--accent); font-size:18px; margin-bottom:10px; }
.pay_atten { color:grey; }
.pay_total { color:#607D8B; border-top:1px solid lightgrey; margin-top:6px; padding-top:3px; padding-right:20px; }
.pay_total donation_amount { font-weight:bold; }


#playpause { position:fixed; left:20px; bottom:20px; background:rgba(255,255,255,0.5); border:1px solid white; height:50px; width:50px; border-radius:50px; cursor:pointer; display:flex; justify-content:center; align-items:center; font-family:simple-line-icons; font-size:18px; color:var(--accent); z-index:100; backdrop-filter:blur(2px); background-color:rgba(255,255,255,0.75); }
#playpause.play:after { content:"\e072"; position:absolute; }
#playpause:not(.play):before { content:"\e0a0"; position:absolute; }

.donation { margin-top:15px; margin-bottom:25px; display:grid; grid-template:1fr / 1.5fr 1fr; grid-gap:20px }
.donation > div { padding:12px 20px; border-radius:3px; text-align:left; }
.don_box { border:1px solid #e7e7e7; display:grid; grid-template:1fr / 1.8fr 1fr; }
.don_amount { display:block; color:var(--accent); font-size:24px; }
.don_reass { background-color:whitesmoke; }
.don_reass svg { width:15px; height:15px; stroke-width:1.5; stroke:var(--accent); fill:none; stroke-linecap:round; stroke-linejoin:round; margin-right:2px; vertical-align:-2px; }
.don_total *, .don_total input, .don_total:after { transition:color 0.3s; }
.don_total.disabled * { color:#dadada !important; }
.don_total.disabled *:after { color:#c3c3c3 !important; }
.don_total.disabled input { border:1px solid #dadada; }
.donation input[type="number"] { margin-top:10px; padding:6px 6px 6px 30px; height:auto; font-size:20px; }
.donation label[for="don_amount"]:is([data-curr="S$"],[data-curr="A$"],[data-curr="RM"]) + input[type="number"] { padding-left:45px; }
.donation label[for="don_amount"]:is([data-curr="ZAR"],[data-curr="NZ$"],[data-curr="CA$"],[data-curr="ZAR"],[data-curr="AED"],[data-curr="HK$"]) + input[type="number"] { padding-left:50px; }
.donation .don_total:not(.disabled).error input { border:1px solid #FF5722; }
.donation .don_total:not(.error) .don_errmsg, .donation .don_total.disabled .don_errmsg { display:none; }
.donation .don_total:not(.disabled).error .don_errmsg { color:#FF5722; font-size:13px; margin:8px 0 3px; }
.donation label[for="don_amount"] { position:absolute; z-index:2; margin:-3px 0 0 5px; padding:2px; background:white; color:#9E9E9E; font-size:14px; }
.donation label[for="don_amount"]:after { content:attr(data-curr); position:absolute; top:22px; left:10px; font-size:16px; color:var(--accent) }
.donation input[type=number]:focus { padding-bottom:5px }
.don_warning { margin-top:25px; display:grid; text-align:left; grid-auto-flow:column; grid-gap:20px; border:1px solid #fecdd2; border-radius:3px; padding:20px 25px;}
.don_warning a { background:#FFCDD2; border:1px solid #F44336; padding:2px 5px; border-radius:3px; color:#F44336; font-weight:bold; font-size:11px; letter-spacing:1px; }

.iframe_loader { width:100%; height:400px; position:absolute; background:white; opacity:0; transition:opacity 0.3s; display:grid; align-items:center; justify-items:center; pointer-events:none; }
.iframe_loader.loading { opacity:1; }
.iframe_loader.loading:after { content:''; width:50px; height:50px; border-radius:50%; border:1px solid #dedede; border-bottom:2px solid var(--accent); box-sizing:border-box; animation:rotation 0.3s infinite linear; }

#language { position:fixed; top:20px; right:20px; background:white; height:30px; width:30px; border-radius:4px; filter:drop-shadow(1px 2px 3px rgba(0,0,0,0.1)) drop-shadow(0px 0px 1px rgba(0,0,0,0.05)); display:flex; align-items:center; justify-content:center; z-index:5; cursor:pointer; opacity:0; transform:translateY(-10px); pointer-events:none; transition:filter 0.3s, opacity 0.3s, transform 0.3s; }
#language.show { opacity:1; transform:translateY(0); pointer-events:initial; }
#language:hover { filter:drop-shadow(1px 2px 4px rgba(0,0,0,0.15)) drop-shadow(0px 0px 2px rgba(0,0,0,0.05)); }
#language > img { width:60%; height:60% }
#language input { inset:0; padding:0; min-width:unset; position:absolute; opacity:0; }
#language .option { top:35px; right:-12px; max-width:unset; filter:none; }
#language .option img { width:15px; margin-right:10px; top:2px; }
#language .option:before { right:20px; left:unset; }
#language .option .hide + label { display:none; }
#language label[for="hk"] { font-size:11px; }


.or-radio { display:block; position:relative; }
.or-radio input { display:none; }
.or-radio label { font-size:14px; color:#9E9E9E; background-color:transparent; cursor:pointer; display:inline-grid; grid-auto-flow: column; margin:5px 0 5px 10px;transition:color 0.3s; align-items:center; grid-gap:8px; }
.or-radio label:before { content:''; height:15px; width:15px; border-radius:50%; border:1px solid lightgrey; background-color:white; transition:border 0.3s; }
.or-radio input:checked ~ label { color:#607D8B; }
.or-radio input:checked ~ label:before { border:1px solid var(--accent); }
.or-radio input ~ label:after { content:''; height:5px; width:5px; border-radius:50%; background-color:white; left: 16px; display:block; position:absolute; transition:background-color 0.3s; }
.or-radio input:checked ~ label:after { background-color:grey; }
.or-radio.disabled label { color:#d2d2d2 !important; pointer-events:none; }
.or-radio.disabled label:before { border:1px solid #ebebeb !important; background-color:#f5f5f5; }

.minibutton { padding:8px 10px 8px 15px; background-color:hsl(0, 0%, 100%); color:#607D8B; font-size:12px; width:fit-content; width:-moz-fit-content; border-radius:4px; display:inline-block; justify-self:center; cursor:pointer; box-shadow:0px 1px 3px rgba(0,0,0,0.1); transition:color 0.2s, box-shadow 0.2s, transform 0.2s; }
.minibutton:before { margin-right:10px; color:#00BCD4; font-family:lato; content:'+'; font-size:15px; line-height:0; vertical-align:-1px; transition:color 0.2s; }
.minibutton:hover { color:#00BCD4; box-shadow:0px 1px 5px rgba(0,0,0,0.2); transform:translateY(-2px); }
.minibutton:hover:before { color:#00838F; }
.minibutton.loading { color:#a8a8a8; pointer-events:none; padding-left:30px; }
.minibutton.loading:before { height:14px; width:14px; content:'' !important; position:absolute; top:calc(50% - 7px); left:10px; border-radius:100%; border:1px solid #B2EBF2; border-top:1.5px solid #00BCD4; box-sizing:border-box; animation:rotation 0.4s infinite linear; }
.qcmquestion .minibutton { margin-top:15px; }
.minibutton[data-icon]:before { content:attr(data-icon); font-family:'simple-line-icons'; font-size:12px; vertical-align:0; }


@keyframes bounce {
  0%, 20%, 50%, 80%, 100% { transform: translateY(0); }
  40% { transform: translateY(-20px); }
  60% { transform: translateY(-10px); }
}

@font-face {
  font-family: 'simple-line-icons';
  src: url('https://cdnjs.cloudflare.com/ajax/libs/simple-line-icons/2.4.1/fonts/Simple-Line-Icons.eot?v=2.4.0');
  src: url('https://cdnjs.cloudflare.com/ajax/libs/simple-line-icons/2.4.1/fonts/Simple-Line-Icons.eot?v=2.4.0#iefix') format('embedded-opentype'), url('https://cdnjs.cloudflare.com/ajax/libs/simple-line-icons/2.4.1/fonts/Simple-Line-Icons.woff2?v=2.4.0') format('woff2'), url('https://cdnjs.cloudflare.com/ajax/libs/simple-line-icons/2.4.1/fonts/Simple-Line-Icons.ttf?v=2.4.0') format('truetype'), url('https://cdnjs.cloudflare.com/ajax/libs/simple-line-icons/2.4.1/fonts/Simple-Line-Icons.woff?v=2.4.0') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/simple-line-icons/2.4.1/fonts/Simple-Line-Icons.svg?v=2.4.0#simple-line-icons') format('svg');
  font-weight: normal;
  font-style: normal;
}

@media (max-width: 600px) {
	:root {--mobFontAdj:1.2; }

	#background, .background-block { height:550px; max-height:550px; overflow:hidden } 
	#details { display:none; }
	
	.rsvpguests input[type=text], .donation input[type=number], .rsvpask input { height:44px; }
	label:is([for=mobile],[for=email]):before { top:28px; }
	.rsvpguests { padding-inline:20px; }
	.rsvpguests .name-block { flex-basis:180px; flex-grow:1; }
	.rsvpguests input { width:100% !important; }
	.rsvpbuttons .removeguest { right:-40px; }

	.rsvpquestions { width:100%; padding:20px; box-sizing:border-box; margin-top:-40px !important; }
	.firstname { width:auto !important; margin:0 5px; }
	.lastname { width:auto !important; margin:0 5px; }
	.subquestion[data-mandatory='1'] .q-guest.error:after { content:'*'; margin-left:5px !important; }
	.option { max-width:100%; }
	.option > label { padding: 8px 35px 8px 30px; }
	.option > label:hover { padding: 8px 25px 8px 40px; }
	input.select:focus { caret-color:transparent !important; color: transparent !important;text-shadow: 0 0 0 #607D8B !important; }
	textarea { width:100%; }

	#rsvptitle { margin-bottom:20px; }
	#rsvpsubtitle { margin-bottom:25px; }

	.rsvpquestions .guestname.type2 .rsvpbuttons, .rsvpquestions .guestname.type3 .rsvpbuttons { margin:10px 0 25px; }
	.guestname.type2 .lastname, .guestname.type3 .lastname { margin-right:20px }
	.guestname.type2 .q-guest, .guestname.type3 .q-guest { margin:0; }
	.btn.btn2.submit { width:100%; padding:10px; border-radius:5px; }
	.subquestion[data-mandatory='1'][data-attendantsonly='0'] .q-guest:after, .subquestion[data-mandatory='1'] .q-guest[data-answer='1']:after { margin-left:5px !important; }
	.subquestion[data-mandatory='1'][data-attendantsonly='0'] .guestname.type1 .q-guest:after, .subquestion[data-mandatory='1'] .guestname.type1 .q-guest[data-answer='1']:after { margin-top:18px; }
	.subquestion[data-mandatory='1'][data-attendantsonly='0'] .guestname.type2 .q-guest:after, .subquestion[data-mandatory='1'] .guestname.type2 .q-guest[data-answer='1']:after { margin-top:10px; }
	.subquestion[data-mandatory='1'][data-attendantsonly='0'] .guestname.type3 .q-guest:after, .subquestion[data-mandatory='1'] .guestname.type3 .q-guest[data-answer='1']:after { margin-top:10px; }
	.subquestion[data-mandatory='1'] .guestname.type4:after { right: -11px; }

	#guestmessage { margin-top: 0px;text-align:center;width: 150%;left: -25%;}
	.btn.hidden { margin-top:0 !important; }
	.rsvpask span { margin:15px 0 !important; width:100%; }
	.rsvpask input { width:100%; }

	.datetime { font-size: 3.7vw !important; }
	.datetime-c { font-size: 2.9vw !important; }
	.btn.submit { width:100%; line-height:1.5; margin-bottom:25px; }
	.rsvpquestions:not(:has(.rsvpask,.subquestion)) [data-action="submitRSVP"] { margin-top:20px; }
	#dateloccont-container > div { gap:10px; }

	.schedule { width:100%; box-sizing:border-box; grid-template-columns:0.8fr 2fr; }
	.sch_right { max-width:calc(71.4vw - 20px - 30px); }
	.livestream { margin:0 auto; box-sizing:border-box; width:100%; grid-template:auto auto / 1fr; grid-gap:30px }
	.livebutton { padding:8px 25px; }
	.liveright { text-align:left }
	.livepowered { float:right; margin-top:10px; }
	.registry { max-width:90%; }
	.gallery-img { max-width:calc(100vw - 30px); border-radius:3px; overflow:scroll; padding-bottom:20px; scroll-snap-type:x mandatory; }
	.gallery-div img { height:200px; }
	.gallery-div { scroll-snap-align:start; scroll-margin-left:5px; }
	.gallery-arrow { display:none; }

	#countdown.grey .count_num { padding:8px 16px; margin:5px 0px 10px; font-size:25px }
	#countdown.space .count_num { margin:5px 20px 10px; font-size:28px; }
	#countdown.wheel .count_num { font-size:20px; }
	#countdown.wheel .count_label { font-size:12px; }
	#countdown.wheel .count_block { width:70px; height:70px; margin-inline:8px }

	body.fullscreen .background:after { bottom:120px; }
	body.splitscreen #background { width:100%; height:100vh; height:100svh; max-height:100vh; max-height:100svh; position:fixed; background-position: 50%; z-index:1; }
	body.splitscreen .content { min-height:101vh; width:100%; margin-top:100vh; margin-top:100svh; background-color:white; z-index:3; box-shadow: 0px 0px 10px rgba(0,0,0,0.7); }
	body.splitscreen #title-subtitle-container:not([style*="text-align: left"]) { display:flex; flex-direction:column; align-items:center; }

	.option.addtc { max-width:80vw; }
	.option.addtc a { font-size:15px; }
	body:not(.fullscreen):not(.fixw) #dateloc:not(.side) .option.addtc { top:-220px }
	
	.mobpreserve ~ #title-subtitle-container[style*="--block-bgcolor:rgba(255, 255, 255, 0)"][style*="--block-bgtransp:1"] #title:is([style*="color:rgb(255, 255, 255)"],[style*="color:#ffffff"]):not(.shadow):not(.stroke):not(.accent):not(.vintage),
	.mobpreserve ~ #title-subtitle-container[style*="--block-bgcolor:rgba(255, 255, 255, 0)"][style*="--block-bgtransp:1"] #subtitle:is([style*="color:rgb(255, 255, 255)"],[style*="color:#ffffff"]):not(.shadow):not(.stroke):not(.accent):not(.vintage),
	.mobpreserve ~ #title-subtitle-container[style*="--block-bgcolor:rgba(255, 255, 255, 0)"][style*="--block-bgtransp:1"] #npn-name1:is([style*="color:rgb(255, 255, 255)"],[style*="color:#ffffff"]):not(.shadow):not(.stroke):not(.accent):not(.vintage),
	.mobpreserve ~ #title-subtitle-container[style*="--block-bgcolor:rgba(255, 255, 255, 0)"][style*="--block-bgtransp:1"] #npn-name2:is([style*="color:rgb(255, 255, 255)"],[style*="color:#ffffff"]):not(.shadow):not(.stroke):not(.accent):not(.vintage),
	.mobpreserve ~ #title-subtitle-container[style*="--block-bgcolor:rgba(255, 255, 255, 0)"][style*="--block-bgtransp:1"] #npn-plus:is([style*="color:rgb(255, 255, 255)"],[style*="color:#ffffff"]):not(.shadow):not(.stroke):not(.accent):not(.vintage)
	{ color:#525252 !important; }

	#act-ro-you { width:100%; }

	#payment { width:100%; height:calc(100% - 50px); transform:translateY(100%); top:50px; border-radius:4px; padding: 10px 20px 10px 40px; }
	#payment svg { margin-right:5px; margin-left:-5px; }
	.payment_ttl { margin:50px 0 20px; }
	.donation { grid-template:1fr / 1fr }
	.or-radio label { margin-left:0; }
	.or-radio input ~ label:after { left:6px }
	.donation input[type="number"] { width:150px }
	.don_warning { grid-template:1fr auto / auto auto; padding:20px 20px 25px; }
	.don_warning a { font-size:9px; letter-spacing:0px; }
	.don_warning .minibutton { margin-left:0 !important; grid-area: 2 / 1 / 3 / 3; }

}
@media (min-width: 600px) and (max-width: 1000px) {
	body.fullscreen .background:after { bottom:90px; }
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { /* IE 10, 11 */
	.content { z-index: 3; }
	.background { z-index: 2; }
}
@media screen and (min-width:0) and (min-resolution:.001dpcm) {  /* IE 9 */
	#dateloccont-container > div > div { display: inline-block; vertical-align: top; }
}

@media not all and (min-resolution:.001dpcm) { @media { /* Safari only */
	#title.shadow, #subtitle.shadow, #nameplusname div.shadow { filter:unset; text-shadow:0.5px 1px 1px rgba(0, 0, 0, 0.4); }
	body.fullscreen #title-subtitle-container.middle { left:50%; transform:translate(-50%,-50%) }
	body.fullscreen #title-subtitle-container:not(.middle) { left:50%; transform:translateX(-50%) }
	body.fullscreen #dateloc.above { left:50%; transform:translateX(-50%) }
	.or-radio input ~ label:after { top: calc(50% - 2.5px); }
	@media (min-width: 600px) { 
		.gallery-img { overflow-x:scroll; padding-bottom:10px; }
	}
	@media (max-width: 600px) { 
		#title-subtitle-container { width:100% !important }
	}
} }
@supports (-webkit-hyphens:none) {  /*-- Safari 16+ is the new IE --*/
	#title.shadow, #subtitle.shadow, #nameplusname div.shadow { filter:unset; text-shadow:0.5px 1px 1px rgba(0, 0, 0, 0.4); }
	body.fullscreen #title-subtitle-container.middle { left:50%; transform:translate(-50%,-50%) }
	body.fullscreen #title-subtitle-container:not(.middle) { left:50%; transform:translateX(-50%) }
	body.fullscreen #dateloc.above { left:50%; transform:translateX(-50%) }
	.or-radio input ~ label:after { top: calc(50% - 2.5px); }
	@media (min-width: 600px) { 
		.gallery-img { overflow-x:scroll; padding-bottom:10px; }
	}
	@media (max-width: 600px) { 
		#title-subtitle-container { width:100% !important }
	}
}


@media (max-width: 600px) { .mobhide { display:none !important; } }
@media (min-width: 600px) { .mobonly { display:none !important; } }