/* impact MOLDOVA, warm ball design applied to every page (loads after style.css and ball.css). */
.im{--ink:#401209;--muted:#6b4a3b;--yellow:#f0b866;--tint:#efdcb6;--line:#d9c298;--paper:#f6e6c8;--card:#fbf1dc;--night:#2f0f08;--velvet:#6f261a;--carpet:#a02f29;--gold:#f0b866;--ivory:#f6e6c8;--bodoni:'Bodoni Moda',Georgia,serif;--over:'Cormorant Garamond',Garamond,Georgia,serif;
font-family:var(--over);font-size:21px;line-height:1.55;color:var(--ink);background:var(--paper);font-variant-numeric:lining-nums}
body.im{background:var(--paper)}
.im h1,.im h2,.im h3,.im h4,.im .disp{font-family:var(--bodoni);font-weight:500;letter-spacing:0;line-height:1.1}
.im h2.big{font-size:clamp(34px,4.6vw,56px);font-weight:500;max-width:18ch}
.im :focus-visible{outline:3px solid var(--carpet);outline-offset:3px}
.im .hdr :focus-visible,.im .ftr :focus-visible,.im .hero :focus-visible,.im .phero :focus-visible,.im .dh :focus-visible,.im .cont :focus-visible,.im #values :focus-visible,.im .rep-s :focus-visible{outline-color:#fff}

/* buttons */
.im .btn{border-radius:4px;font:700 20px var(--over);min-height:50px;padding:0 30px;border:1.5px solid var(--gold);letter-spacing:0}
.im .btn-y{background:var(--gold);color:#2f0f08;border-color:var(--gold)}
.im .btn-y:hover{background:#f6c672}
.im .btn-o{border-color:var(--gold);color:var(--ivory)}
.im .btn-o:hover{background:rgba(240,184,102,.16)}
.im .btn-d{border-color:var(--ink);color:var(--ink);background:transparent}
.im .btn-d:hover{background:var(--ink);color:var(--ivory)}
.im .btn-sm{min-height:42px;padding:0 20px;font-size:18px}

/* header */
.im .hdr{color:var(--ivory)}
.im .hdr-solid{background:var(--night);border-bottom:1px solid rgba(240,184,102,.25)}
.im .nav a{font:600 19px var(--over)}
.im .nav .btn{font:700 18px var(--over)}
.im .nav a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:8px;text-decoration-thickness:2px}
.im .menu summary{border:1.5px solid var(--gold);border-radius:4px;font:700 19px var(--over);color:var(--ivory)}
.im .menu .sheet{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:6px}
.im .menu .sheet a{font:600 20px var(--over);border-radius:4px}
.im .menu .sheet a:hover{background:var(--tint)}

/* hero (home) and page heroes */
.im .hero{background:var(--night);color:var(--ivory)}
.im .hero:after{background:linear-gradient(90deg,rgba(42,13,9,.92) 0%,rgba(42,13,9,.7) 45%,rgba(42,13,9,.25) 100%),linear-gradient(180deg,rgba(42,13,9,.55),rgba(42,13,9,0) 22%,rgba(42,13,9,0) 70%,#2a0d09)}
.im .hero-o h1,.im .phero h1,.im .dh h1{font-family:var(--bodoni);font-weight:600;line-height:1;color:var(--gold);background:linear-gradient(180deg,#f6d28a,#f0b866 52%,#e6a650);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.im .hero-o h1{font-size:clamp(44px,7vw,92px);max-width:13ch}
.im .hero-o h1 span{display:block}
.im .phero{background:var(--night);color:var(--ivory)}
.im .phero .lede,.im .dh .lede{font:400 24px/1.45 var(--over);color:rgba(246,230,200,.88)}
.im .phero h1 span{display:block;font-family:var(--bodoni);font-style:italic;font-weight:500;font-size:.38em;margin-top:14px;-webkit-text-fill-color:var(--ivory);color:var(--ivory);background:none}
.im .phero-img::after{background:linear-gradient(90deg,rgba(42,13,9,.94) 0%,rgba(42,13,9,.6) 55%,rgba(42,13,9,.25) 100%)}
.im .phero-img>img{opacity:.6}
.im .crumb{color:rgba(246,230,200,.8);font-size:18px}
.im .jump a{border:1.5px solid var(--gold);border-radius:4px;color:var(--ivory);font:600 19px var(--over)}
.im .jump a:hover{background:rgba(240,184,102,.16)}
.im .dh{background:var(--night)}
.im .dh img{opacity:.5}

/* sections */
.im .sec,.im .grp{color:var(--ink)}
.im .tint{background:var(--tint)}
.im .story-lead{font:500 clamp(24px,2.6vw,34px)/1.25 var(--bodoni);letter-spacing:0;color:var(--ink)}
.im .story-p{font-size:23px;color:#5a3425}
.im .story-img,.im .pimg{border-radius:4px;box-shadow:0 18px 44px rgba(64,18,9,.25)}
.im .mission{background:var(--velvet);color:var(--ivory)}
.im .mission h2{color:var(--gold)}
.im .mission .story-lead{color:var(--ivory)}
.im #values{background:var(--night);color:var(--ivory)}
.im #values h2{color:var(--gold)}
.im .vals-g .val{border-top:1px solid rgba(240,184,102,.5)}
.im .val h3{font:500 28px var(--bodoni);color:var(--gold)}
.im .val p{font-size:21px;color:rgba(246,230,200,.88)}
.im .team .person img{border-radius:4px;box-shadow:0 12px 30px rgba(64,18,9,.22)}
.im .person h3{font:500 21px var(--bodoni);color:var(--ink)}
.im .person p{font-size:18px;color:#5a3425}

/* contact */
.im .cont{background:var(--night);color:var(--ivory)}
.im .cont h2{color:var(--gold)}
.im .cont-sub{font-family:var(--bodoni);font-style:italic;font-size:22px;color:var(--ivory)}
.im .cont .ci li{border-color:rgba(240,184,102,.3)}
.im .ci .k{font:600 17px var(--over);color:var(--gold);letter-spacing:.06em}
.im .ci .v{font:500 25px var(--bodoni);color:var(--ivory)}
.im .soc a{border:1.5px solid var(--gold);border-radius:4px;color:var(--ivory);font:700 19px var(--over)}
.im .soc a:hover{background:var(--gold);color:#2f0f08}
.im .box{background:var(--paper);color:var(--ink);border:1.5px solid var(--gold);border-radius:6px;box-shadow:0 24px 60px rgba(0,0,0,.4)}
.im .field span{font:600 19px var(--over)}
.im .field input,.im .field textarea,.im .field select{border:1.5px solid var(--line);border-radius:4px;background:#fffaf0;font:400 21px var(--over)}
.im .field input:focus,.im .field textarea:focus{border-color:var(--carpet);outline:3px solid rgba(160,47,41,.3)}
.im .field span b{color:var(--carpet)}

/* our results */
.im .years{border-top:2px solid var(--carpet)}
.im .yr{border-bottom:1px solid var(--line)}
.im .yr .y{font:500 44px var(--bodoni);color:var(--carpet)}
.im .yr-t .yt p,.im .yr-t .yt p+p{font-size:22px;color:#3d1a10}
.im .mas img{border-radius:4px}
.im .tq figure{border-top:1.5px solid var(--carpet)}
.im .tq blockquote{font:italic 400 23px/1.45 var(--over);color:#3d1a10}
.im .tq figcaption{font:600 18px var(--bodoni);color:var(--carpet)}
.im .rep-s{background:var(--velvet);color:var(--ivory)}
.im .rep h2{font:500 clamp(30px,3.4vw,44px) var(--bodoni);color:var(--gold)}
.im .rep-s p{color:rgba(246,230,200,.9)!important;font-size:22px!important}
.im .rep-s .btn-d{border-color:var(--gold);color:var(--ivory)}
.im .rep-s .btn-d:hover{background:var(--gold);color:#2f0f08}

/* our projects */
.im .grp h2{font:500 clamp(32px,4vw,50px) var(--bodoni);color:var(--ink)}
.im .grp .gi{font-size:23px;color:#5a3425}
.im .prow h3{font:500 clamp(28px,3vw,38px) var(--bodoni)}
.im .prow p{font-size:22px;color:#3d1a10}
.im .res{border-left:3px solid var(--carpet)}
.im .res h4{font:600 20px var(--bodoni);color:var(--carpet)}
.im .res p{font-size:21px}
.im .facts li{font:500 21px var(--over)}
.im .facts li:before{background:var(--carpet)}

/* donate */
.im .tier{background:var(--card);border:1.5px solid var(--ink);border-radius:6px;box-shadow:0 18px 44px rgba(64,18,9,.18)}
.im .tier.hot{background:var(--gold)}
.im .tier h3{font:600 28px/1.1 var(--bodoni)}
.im .tier p{font-size:21px}
.im .tier .pop{background:var(--night);color:var(--gold);font:700 14px var(--over);letter-spacing:.1em;border-radius:3px}
.im .tier.hot .btn{background:var(--night);color:var(--ivory);border-color:var(--night)}
.im .donate-body h3{font:500 26px var(--bodoni)}
.im .donate-body p,.im .donate-body li{font-size:22px;color:#3d1a10}
.im .manage p{font-size:22px}

/* terms and conditions */
.im .prose{color:#3d1a10}
.im .prose p,.im .prose li{font-size:21px;color:#3d1a10}
.im .prose h2{font:500 30px var(--bodoni)}
.im .prose-t h3{font:600 22px var(--bodoni)}
.im .prose a{color:var(--carpet);text-underline-offset:4px}
.im .prose .eff{color:var(--muted)}

/* footer */
.im .ftr{background:var(--night);color:var(--ivory)}
.im .ftr a{font:600 19px var(--over)}
.im .ftr .legal{border-top:1px solid rgba(240,184,102,.3);color:rgba(246,230,200,.75);font:400 17px var(--over)}
.im .ftr .legal a{font:400 17px var(--over)}

@media (max-width:900px){
.im{font-size:19px}
.im .story-p,.im .prow p,.im .yr-t .yt p,.im .tq blockquote{font-size:20px}
.im .hero-o h1{font-size:clamp(40px,12vw,64px)}
}
.im .hero-o-in{width:100%}
.im .hero-o h1{max-width:17ch;font-size:clamp(42px,6vw,84px)}

/* Ball page header = same as the other pages: transparent over the photo, Nunito 17px. */
.im .hdr-ov{position:absolute;top:0;left:0;right:0;z-index:30;background:transparent;border:0;color:#f6f8f5}
.im .hdr-ov .hdr-in{max-width:1240px;padding-left:20px;padding-right:20px;min-height:84px}
.im .hdr-ov .logo{width:264px;height:auto}
.im .hdr-ov .nav{gap:0}
.im .hdr-ov .nav a,.im .hdr-ov .nav .btn{font:400 17px/70px Nunito,sans-serif;text-transform:capitalize;color:#f6f8f5;padding:0 17px;background:none;border:0;min-height:0;border-radius:0;text-decoration:none}
.im .hdr-ov .nav a:hover{opacity:.8}
.im .hdr-ov .nav a[aria-current="page"]{text-decoration:none}
.im .hdr-ov .nav .btn{text-transform:none}

/* user menu in the header */
.im-user{position:relative;list-style:none;display:inline-flex;align-items:center;margin-left:6px}
.im-user-btn{background:none;border:2px solid currentColor;color:inherit;width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background .15s}
.im-user-btn:hover,.im-user.open .im-user-btn{background:rgba(255,255,255,.16)}
.im-user-menu{position:absolute;right:0;top:100%;min-width:190px;background:#fff;border-radius:12px;box-shadow:0 14px 34px rgba(0,0,0,.25);padding:8px;margin:10px 0 0;list-style:none;display:none;z-index:99}
.im-user-menu:before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.im-user:hover .im-user-menu,.im-user.open .im-user-menu,.im-user:focus-within .im-user-menu{display:block}
.im-user-menu li{margin:0;list-style:none}
.im .hdr .im-user-menu a,.im-user-menu a{display:block!important;padding:11px 14px!important;color:#2b2017!important;font:600 15px/1.25 Nunito,sans-serif!important;text-transform:none!important;border-radius:8px;text-decoration:none!important;white-space:nowrap;background:none!important;min-height:0!important}
.im .hdr .im-user-menu a:hover,.im-user-menu a:hover{background:#f6ead2!important;opacity:1!important}
.im-donate>a,.im .hdr-ov .nav .btn-y,.im .hdr .nav .btn-y{background:#f0b02b!important;color:#2b2017!important;border-radius:999px!important;padding:0 22px!important;font-weight:800!important;line-height:44px!important;box-shadow:0 4px 14px rgba(240,176,43,.35)}
.im-donate>a:hover,.im .hdr .nav .btn-y:hover{background:#ffc247!important;opacity:1!important}
.im-donate{display:flex;align-items:center}
@media (max-width:921px){.ast-mobile-popup-drawer .im-user-btn{display:none}.ast-mobile-popup-drawer .im-user-menu{display:block;position:static;box-shadow:none;background:none;padding:0;margin:0}.ast-mobile-popup-drawer .im-user-menu a{color:inherit!important;padding:12px 20px!important}.ast-mobile-popup-drawer .im-user{display:block;margin:0}}

/* logo keeps a readable size at every width */
.im .hdr .hdr-in>a:first-child{flex:0 0 auto;display:block;line-height:0}
.im .hdr .hdr-in .logo,.im .hdr-ov .hdr-in .logo{width:clamp(168px,38vw,264px);max-width:none;height:auto;aspect-ratio:264/50;object-fit:contain}
@media (max-width:420px){.im .hdr .hdr-in .logo,.im .hdr-ov .hdr-in .logo{width:min(200px,52vw)}}

/* DONATE NOW: compact pill, never stretches with the header height */
.im-donate{display:flex!important;align-items:center!important;align-self:center!important;height:auto!important;flex:0 0 auto}
.im-donate>a,.im .hdr-ov .nav .btn-y,.im .hdr .nav .btn-y{display:inline-flex!important;align-items:center;justify-content:center;align-self:center!important;height:40px!important;min-height:0!important;line-height:1!important;padding:0 20px!important;margin:0 8px!important;font-size:15px!important;font-weight:800!important;letter-spacing:.01em;border-radius:999px!important;box-shadow:0 3px 10px rgba(240,176,43,.3)!important;white-space:nowrap;transform:none!important}
.im-donate>a:hover,.im .hdr .nav .btn-y:hover{transform:none!important;box-shadow:0 4px 14px rgba(240,176,43,.45)!important}
.im-user{align-self:center!important;height:auto!important}

/* user dropdown: always out of flow, whatever the host menu CSS says */
.im-user .im-user-menu,.main-header-menu .im-user .im-user-menu,.ast-nav-menu .im-user .im-user-menu{position:absolute!important;top:100%!important;right:0!important;left:auto!important;bottom:auto!important;width:auto!important;min-width:190px!important;height:auto!important;float:none!important;margin:10px 0 0!important;opacity:1!important;visibility:visible!important;transform:none!important;border:0!important;display:none!important;background:#fff!important}
.im-user:hover .im-user-menu,.im-user.open .im-user-menu,.im-user:focus-within .im-user-menu{display:block!important}
.im-user .im-user-menu li{display:block!important;width:auto!important;float:none!important;position:static!important}

/* user dropdown spacing */
.im-user .im-user-menu{padding:10px!important;min-width:220px!important;box-sizing:border-box!important;border-radius:14px!important}
.im-user .im-user-menu li{margin:0!important;padding:0!important}
.im-user .im-user-menu li+li{margin-top:2px!important}
.im .hdr .im-user-menu a,.im-user .im-user-menu a{padding:12px 18px!important;line-height:1.3!important;border-radius:10px!important}

/* mobile sheet: icons, Donate last and smaller */
.im .menu .sheet a{display:flex;align-items:center}
.im .menu .sheet a::before{content:"";flex:none;width:20px;height:20px;margin-right:14px;background:currentColor;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.im .menu .sheet a[href$="/"]:first-child::before{--ic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3 11l9-8 9 8%22/%3E%3Cpath d=%22M5 10v10h14V10%22/%3E%3Cpath d=%22M10 20v-6h4v6%22/%3E%3C/svg%3E")}
.im .menu .sheet a[href$="/impact/"]::before{--ic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 20V10%22/%3E%3Cpath d=%22M10 20V4%22/%3E%3Cpath d=%22M16 20v-8%22/%3E%3Cpath d=%22M22 20H2%22/%3E%3C/svg%3E")}
.im .menu .sheet a[href$="/projects/"]::before{--ic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z%22/%3E%3C/svg%3E")}
.im .menu .sheet a[href$="/events/"]::before{--ic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 3l2.6 5.6 6.1.7-4.5 4.2 1.2 6L12 16.5 6.6 19.5l1.2-6L3.3 9.3l6.1-.7z%22/%3E%3C/svg%3E")}
.im .menu .sheet a[href$="/my-tickets/"]::before{--ic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3 9a2 2 0 0 0 0 6v3h18v-3a2 2 0 0 1 0-6V6H3z%22/%3E%3Cpath d=%22M13 6v12%22 stroke-dasharray=%222 3%22/%3E%3C/svg%3E")}
.im .menu .sheet a[href*="billing.stripe"]::before{--ic:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%222%22 y=%225%22 width=%2220%22 height=%2214%22 rx=%222%22/%3E%3Cpath d=%22M2 10h20%22/%3E%3Cpath d=%22M6 15h4%22/%3E%3C/svg%3E")}
.im .menu .sheet a.sheet-donate{display:inline-flex;justify-content:center;height:38px;padding:0 22px;margin:10px 0 4px 14px;border-radius:999px;background:#f0b02b;color:#2b2017;font:800 13px/1 Nunito,sans-serif;letter-spacing:.05em;text-transform:uppercase}
.im .menu .sheet a.sheet-donate::before{display:none}

/* same burger button on every page, in gold */
.im .menu summary{border:0;border-radius:0;padding:0;min-width:44px;width:44px;background:none;color:#f0b02b}
.im .menu summary svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round}
.im .menu summary .im-x{display:none}
.im .menu[open] summary .im-bars{display:none}
.im .menu[open] summary .im-x{display:block}
