/* JHHS Events v1.1 — layout correction for WordPress block themes.
   Never use left:50% / margin-left:-50vw inside a WordPress shortcode container.
   events.js aligns the content to the browser viewport after the theme lays out the page.
   The fallback here is a normal, centered width:100% block. */
#jhhs-events-app{--jhhs-navy:#082b3d;--jhhs-ink:#203743;--jhhs-teal:#137b81;--jhhs-gold:#dbb05b;--jhhs-cream:#f8f6f0;--jhhs-border:#e8e6de;--jhhs-muted:#687b83;color:var(--jhhs-ink);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.55;background:#fff;isolation:isolate;position:relative;left:auto;right:auto;width:100%;max-width:100%;margin:0;transform:none;overflow-x:clip}
#jhhs-events-app *,#jhhs-events-app *::before,#jhhs-events-app *::after{box-sizing:border-box}
#jhhs-events-app button,#jhhs-events-app input,#jhhs-events-app select{font:inherit}
#jhhs-events-app button{cursor:pointer}
#jhhs-events-app a{text-decoration:none}
#jhhs-events-app a:focus-visible,#jhhs-events-app button:focus-visible,#jhhs-events-app input:focus-visible,#jhhs-events-app select:focus-visible{outline:3px solid #e1a52b;outline-offset:3px}
#jhhs-events-app .jhhs-container{width:min(1220px,calc(100% - 64px));margin-inline:auto}
#jhhs-events-app h1,#jhhs-events-app h2,#jhhs-events-app h3,#jhhs-events-app p{margin-top:0}
#jhhs-events-app h1,#jhhs-events-app h2,#jhhs-events-app h3{line-height:1.14}
#jhhs-events-app h1,#jhhs-events-app h2,#jhhs-events-app .jhhs-visit h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.032em}
#jhhs-events-app em{font-family:Georgia,"Times New Roman",serif;font-weight:400}
#jhhs-events-app .jhhs-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#jhhs-events-app .jhhs-overline{font-size:11px;line-height:1.4;letter-spacing:.19em;font-weight:800;color:var(--jhhs-teal);text-transform:uppercase}
#jhhs-events-app .jhhs-btn{display:inline-flex;justify-content:center;align-items:center;gap:28px;min-height:50px;padding:11px 23px;border-radius:3px;font-size:12px;font-weight:800;letter-spacing:.05em;transition:transform .2s ease,background .2s ease}
#jhhs-events-app .jhhs-btn:hover{transform:translateY(-2px)}
#jhhs-events-app .jhhs-btn--gold{background:var(--jhhs-gold);color:#092a3a}
#jhhs-events-app .jhhs-btn--gold:hover{background:#f1c777}
#jhhs-events-app .jhhs-btn--outline{border:1px solid #8aa4ab;color:#fff}
#jhhs-events-app .jhhs-btn--outline:hover{background:#ffffff1a}
#jhhs-events-app .jhhs-hero{min-height:535px;background:#06283a;position:relative;overflow:hidden;display:flex;align-items:center}
#jhhs-events-app .jhhs-hero__image{position:absolute;inset:0 0 0 39%;background-image:linear-gradient(90deg,#06283a 0%,rgba(6,40,58,.42) 35%,rgba(6,40,58,.1) 100%),url('https://www.johnsonhouse.org/wp-content/uploads/2023/03/5-1.jpeg');background-position:center,center 47%;background-size:cover;opacity:.84;transform:scale(1.025)}
#jhhs-events-app .jhhs-hero::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,#06283a 0%,#06283a 20%,rgba(6,40,58,.96) 38%,rgba(6,40,58,.25) 85%),linear-gradient(0deg,rgba(6,40,58,.57) 0%,transparent 26%);pointer-events:none}
#jhhs-events-app .jhhs-hero__content{position:relative;z-index:1;padding-top:70px;padding-bottom:42px}
#jhhs-events-app .jhhs-eyebrow{display:flex;align-items:center;gap:13px;color:#e7c989;letter-spacing:.16em;font-size:10px;font-weight:800;flex-wrap:wrap}
#jhhs-events-app .jhhs-eyebrow__rule{display:inline-block;width:25px;height:2px;background:#e6c17a}
#jhhs-events-app .jhhs-eyebrow__dot{opacity:.7}
#jhhs-events-app .jhhs-hero h1{max-width:710px;color:white;font-size:clamp(45px,6vw,79px);margin:29px 0 19px}
#jhhs-events-app .jhhs-hero h1 em{color:#e7c17b;font-style:italic}
#jhhs-events-app .jhhs-hero__content>p{color:#d1dce0;font-size:16px;line-height:1.85;max-width:490px;margin-bottom:26px}
#jhhs-events-app .jhhs-hero__actions{display:flex;align-items:center;gap:29px;flex-wrap:wrap}
#jhhs-events-app .jhhs-hero__secondary{font-size:12px;font-weight:700;color:#fff;border-bottom:1px solid #8cabb0;padding-bottom:6px}
#jhhs-events-app .jhhs-hero__secondary:hover{color:#e7c17b}
#jhhs-events-app .jhhs-hero__footer{margin-top:74px;color:#dae1e3;font-size:10px;font-weight:800;letter-spacing:.2em;display:flex;align-items:center;gap:15px}
#jhhs-events-app .jhhs-hero__line{height:1px;width:45px;background:#ddbf81}
#jhhs-events-app .jhhs-hero__year{color:#e3bb76;margin-left:20px}
#jhhs-events-app .jhhs-main{padding-top:36px;padding-bottom:70px}
#jhhs-events-app .jhhs-alert{display:grid;grid-template-columns:38px 1fr auto;gap:20px;align-items:center;padding:21px 26px;background:#f8f3e8;border:1px solid #eadebf;border-left:4px solid #c99c4b;border-radius:4px}
#jhhs-events-app .jhhs-alert__icon{width:31px;height:31px;border:1.5px solid #b1873a;color:#b1873a;border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;font-size:19px;font-style:italic}
#jhhs-events-app .jhhs-alert .jhhs-overline{font-size:10px;color:#97702e;margin-bottom:3px}
#jhhs-events-app .jhhs-alert h2{font-size:20px;letter-spacing:0;color:#1d3e4c;font-family:Georgia,serif;font-weight:700;margin-bottom:5px}
#jhhs-events-app .jhhs-alert p{font-size:12px;line-height:1.7;color:#586970;margin:0}
#jhhs-events-app .jhhs-alert__link{font-size:12px;white-space:nowrap;color:#1a5261;font-weight:800;border-bottom:1px solid #9eb0ad;padding-bottom:4px}
#jhhs-events-app .jhhs-section{padding-top:88px}
#jhhs-events-app .jhhs-section__heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:29px}
#jhhs-events-app .jhhs-section__heading h2{font-size:clamp(31px,3.5vw,46px);color:var(--jhhs-navy);margin:8px 0 0}
#jhhs-events-app .jhhs-section__heading h2 em{color:var(--jhhs-teal)}
#jhhs-events-app .jhhs-section__heading>p{max-width:330px;color:#61747b;line-height:1.75;font-size:13px;margin:0 0 3px}
#jhhs-events-app .jhhs-signature__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}
#jhhs-events-app .jhhs-feature{border:1px solid var(--jhhs-border);background:white;box-shadow:0 5px 17px rgba(15,48,57,.035);min-width:0}
#jhhs-events-app .jhhs-feature__image{height:218px;display:block;position:relative;overflow:hidden;background:#eaece8}
#jhhs-events-app .jhhs-feature__image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .4s ease}
#jhhs-events-app .jhhs-feature__image:hover img{transform:scale(1.035)}
#jhhs-events-app .jhhs-feature--juneteenth .jhhs-feature__image{background:#ee2a24}
#jhhs-events-app .jhhs-feature--juneteenth .jhhs-feature__image img{object-fit:contain;padding:14px 0}
#jhhs-events-app .jhhs-feature--ball .jhhs-feature__image{background:#f5f4ee}
#jhhs-events-app .jhhs-feature--ball .jhhs-feature__image img{object-fit:contain;padding:10px}
#jhhs-events-app .jhhs-feature--jazz .jhhs-feature__image{background:#0a3746}
#jhhs-events-app .jhhs-feature--jazz .jhhs-feature__image img{filter:brightness(.48) saturate(.7)}
#jhhs-events-app .jhhs-feature__art-text{position:absolute;top:48px;left:24px;color:#f6d27f;font-family:Georgia,serif;font-style:italic;font-size:36px;line-height:1;letter-spacing:-.04em;text-shadow:0 1px 10px #0019}
#jhhs-events-app .jhhs-feature__art-text small{display:block;font-family:Inter,"Segoe UI",sans-serif;color:white;font-style:normal;font-size:11px;font-weight:900;letter-spacing:.22em;margin-top:8px}
#jhhs-events-app .jhhs-feature__image-tag{position:absolute;bottom:14px;left:15px;background:rgba(6,40,58,.91);color:#fff;font-size:9px;letter-spacing:.08em;font-weight:800;padding:7px 9px;border-radius:2px}
#jhhs-events-app .jhhs-feature__copy{padding:23px 21px 24px}
#jhhs-events-app .jhhs-feature__copy .jhhs-overline{font-size:9px}
#jhhs-events-app .jhhs-feature__copy h3{font-family:Georgia,serif;font-weight:600;font-size:22px;color:var(--jhhs-navy);margin:10px 0 10px;min-height:52px}
#jhhs-events-app .jhhs-feature__copy p{font-size:12px;line-height:1.8;color:#63747a;margin:0 0 22px;min-height:66px}
#jhhs-events-app .jhhs-feature__copy>a{color:#096a77;font-size:12px;font-weight:800;border-bottom:1px solid #a8c6c7;padding-bottom:5px}
#jhhs-events-app .jhhs-feature__copy>a:hover{color:#003b48}
#jhhs-events-app .jhhs-calendar-section{padding-top:99px}
#jhhs-events-app .jhhs-section__heading--calendar{align-items:end}
#jhhs-events-app .jhhs-section__heading--calendar p{font-size:13px;margin:10px 0 0;max-width:650px;color:#61747b}
#jhhs-events-app .jhhs-text-button{background:transparent;border:0;border-bottom:1px solid #78afb3;padding:4px 0;color:#0b6872;font-size:12px;font-weight:800;white-space:nowrap}
#jhhs-events-app .jhhs-toolbar{display:flex;justify-content:space-between;align-items:center;gap:13px;background:var(--jhhs-cream);padding:15px;border:1px solid var(--jhhs-border);border-bottom:0}
#jhhs-events-app .jhhs-search{height:43px;width:min(390px,100%);display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #dcded7;border-radius:2px;padding:0 14px;color:#60777f}
#jhhs-events-app .jhhs-search input{border:0;background:none;box-shadow:none;outline:none;width:100%;min-width:0;color:#253f4b;font-size:13px;padding:8px 0}
#jhhs-events-app .jhhs-search input:focus-visible{outline:none}
#jhhs-events-app .jhhs-search:focus-within{outline:2px solid #b9cfcf;outline-offset:1px}
#jhhs-events-app .jhhs-select-wrap select{appearance:none;min-height:43px;border:1px solid #dcded7;border-radius:2px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7' viewBox='0 0 10 7'%3E%3Cpath d='m1 1 4 4 4-4' fill='none' stroke='%23243f49' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 13px center;padding:0 37px 0 14px;font-size:12px;color:#263e47;font-weight:700}
#jhhs-events-app .jhhs-calendar-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(285px,.9fr);align-items:stretch;gap:0}
#jhhs-events-app .jhhs-calendar-card{border:1px solid var(--jhhs-border);padding:30px;background:#fff;min-width:0}
#jhhs-events-app .jhhs-calendar-card__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:25px}
#jhhs-events-app .jhhs-calendar-card__head .jhhs-overline{font-size:10px;margin-bottom:5px}
#jhhs-events-app .jhhs-calendar-card__head h3{font-family:Georgia,serif;font-size:26px;font-weight:500;color:var(--jhhs-navy);margin:0}
#jhhs-events-app .jhhs-calendar-nav{display:flex;gap:7px}
#jhhs-events-app .jhhs-calendar-nav button{width:38px;height:38px;background:#f5f6f3;border:1px solid #e6e9e5;border-radius:2px;color:#365361;font-size:26px;line-height:1;display:grid;place-items:center;transition:background .2s}
#jhhs-events-app .jhhs-calendar-nav button:hover{background:#dce8e7}
#jhhs-events-app .jhhs-weekdays,#jhhs-events-app .jhhs-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
#jhhs-events-app .jhhs-weekdays{padding-bottom:12px;border-bottom:1px solid var(--jhhs-border)}
#jhhs-events-app .jhhs-weekdays span{text-align:center;font-size:10px;font-weight:800;letter-spacing:.09em;color:#73858a}
#jhhs-events-app .jhhs-days{gap:5px;padding-top:12px}
#jhhs-events-app .jhhs-day{position:relative;min-height:63px;display:flex;align-items:flex-start;justify-content:flex-start;padding:9px 8px;background:#fff;border:1px solid transparent;border-radius:3px;font-size:13px;color:#3c535d;transition:background .15s ease,border .15s ease}
#jhhs-events-app .jhhs-day--outside{color:#afbbbe;background:#fbfbf9}
#jhhs-events-app .jhhs-day--today{border-color:#82b9bd}
#jhhs-events-app .jhhs-day--selected{background:#eaf3f1;border-color:#16838a;color:#044958;font-weight:800}
#jhhs-events-app .jhhs-day:hover:not(.jhhs-day--selected){background:#f2f6f4;border-color:#d5e1df}
#jhhs-events-app .jhhs-day__dots{position:absolute;bottom:10px;left:9px;display:flex;gap:3px}
#jhhs-events-app .jhhs-day__dots i{height:5px;width:5px;background:#c69e58;border-radius:50%}
#jhhs-events-app .jhhs-day__dots i:nth-child(2){background:#0d8990}
#jhhs-events-app .jhhs-day__dots i:nth-child(3){background:#557a86}
#jhhs-events-app .jhhs-day--outside .jhhs-day__dots{opacity:.5}
#jhhs-events-app .jhhs-calendar-legend{display:flex;gap:22px;align-items:center;border-top:1px solid var(--jhhs-border);padding-top:17px;margin-top:19px;flex-wrap:wrap}
#jhhs-events-app .jhhs-calendar-legend span{display:flex;align-items:center;gap:8px;font-size:10px;color:#6a7b82}
#jhhs-events-app .jhhs-legend-dot{width:7px;height:7px;border-radius:50%;background:#c69e58;display:block}
#jhhs-events-app .jhhs-legend-today{height:11px;width:11px;border:1px solid #82b9bd;display:block}
#jhhs-events-app .jhhs-calendar-aside{background:#082f40;color:#fff;padding:30px;display:flex;flex-direction:column;min-width:0}
#jhhs-events-app .jhhs-aside-label{color:#c7d8d8;font-size:10px;font-weight:800;letter-spacing:.16em;border-bottom:1px solid #355665;padding-bottom:18px}
#jhhs-events-app .jhhs-detail{padding-top:26px;flex:1}
#jhhs-events-app .jhhs-detail__date{font-size:11px;color:#e6bd71;font-weight:800;letter-spacing:.13em;text-transform:uppercase;margin-bottom:13px}
#jhhs-events-app .jhhs-detail h3{font-family:Georgia,serif;color:#fff;font-size:27px;font-weight:400;line-height:1.24;margin:0 0 16px}
#jhhs-events-app .jhhs-detail p{color:#d1dee1;font-size:12px;line-height:1.85;margin:0 0 22px}
#jhhs-events-app .jhhs-detail__meta{border-top:1px solid #345667;padding-top:17px;margin-top:16px;display:grid;gap:9px}
#jhhs-events-app .jhhs-detail__meta span{color:#e6eded;font-size:11px;display:block}
#jhhs-events-app .jhhs-detail__meta b{color:#d4aa5c;font-weight:800;letter-spacing:.07em;font-size:9px;display:block;text-transform:uppercase;margin-bottom:2px}
#jhhs-events-app .jhhs-detail__link{display:inline-flex;gap:14px;align-items:center;border-bottom:1px solid #d4aa5c;color:#f3c979;font-size:12px;font-weight:800;margin-top:24px;padding-bottom:6px}
#jhhs-events-app .jhhs-detail__link:hover{color:#fff}
#jhhs-events-app .jhhs-detail__empty-title{color:#fff;font-family:Georgia,serif;font-size:26px;margin-bottom:12px}
#jhhs-events-app .jhhs-aside-footer{display:flex;gap:14px;align-items:center;border-top:1px solid #345667;padding-top:18px;margin-top:30px}
#jhhs-events-app .jhhs-aside-footer__mark{height:38px;min-width:38px;border:1px solid #d8b878;color:#e2c283;display:grid;place-items:center;font-family:Georgia,serif;font-size:18px}
#jhhs-events-app .jhhs-aside-footer strong,#jhhs-events-app .jhhs-aside-footer span:not(.jhhs-aside-footer__mark){display:block}
#jhhs-events-app .jhhs-aside-footer strong{font-family:Georgia,serif;font-size:13px;font-weight:400;color:#e6ca91}
#jhhs-events-app .jhhs-aside-footer span:not(.jhhs-aside-footer__mark){font-size:10px;color:#b8cbcd;line-height:1.65}
#jhhs-events-app .jhhs-month-events{margin-top:32px}
#jhhs-events-app .jhhs-month-events__head{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid #dcded7;padding-bottom:14px}
#jhhs-events-app .jhhs-month-events__head h3{font-family:Georgia,serif;color:var(--jhhs-navy);font-weight:400;font-size:23px;margin:0}
#jhhs-events-app #jhhs-event-count{color:#617a80;font-size:11px;font-weight:800;letter-spacing:.08em}
#jhhs-events-app .jhhs-event-list{display:grid;gap:0}
#jhhs-events-app .jhhs-event-row{display:grid;grid-template-columns:69px 1fr auto;align-items:center;gap:20px;padding:17px 7px;border-bottom:1px solid var(--jhhs-border)}
#jhhs-events-app .jhhs-event-row__date{border-right:1px solid #dbe1dc;padding-right:12px;color:#0a6971;font-size:10px;letter-spacing:.09em;font-weight:800;text-align:center}
#jhhs-events-app .jhhs-event-row__date b{display:block;color:#093b4d;font-size:27px;letter-spacing:-.03em;line-height:1.1;font-family:Georgia,serif;font-weight:400}
#jhhs-events-app .jhhs-event-row h4{font-size:14px;margin:0 0 3px;color:#163946;font-weight:800}
#jhhs-events-app .jhhs-event-row__meta{font-size:11px;color:#74848a}
#jhhs-events-app .jhhs-event-row__link{color:#0d7078;font-size:12px;font-weight:800;white-space:nowrap}
#jhhs-events-app .jhhs-event-row__link:hover{text-decoration:underline}
#jhhs-events-app .jhhs-event-row__tag{display:inline-block;margin-right:9px;color:#b08b47;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
#jhhs-events-app .jhhs-empty{border:1px dashed #d8dfd8;text-align:center;padding:38px 22px;margin-top:18px;background:#fafbf9}
#jhhs-events-app .jhhs-empty h4{font-size:17px;font-family:Georgia,serif;color:#193e4c;margin:0 0 8px}
#jhhs-events-app .jhhs-empty p{font-size:12px;color:#6a7a80;margin:0 0 15px}
#jhhs-events-app .jhhs-empty button{border:0;background:none;border-bottom:1px solid #84aeb0;color:#0b6e77;font-size:12px;font-weight:800;padding:4px 0}
#jhhs-events-app .jhhs-visit{margin-top:87px;background:#082b3d;color:#fff;padding:48px 50px 28px;display:grid;grid-template-columns:1fr auto;gap:28px;position:relative;overflow:hidden}
#jhhs-events-app .jhhs-visit::after{content:"1768";position:absolute;right:-6px;top:-82px;font-family:Georgia,serif;font-size:210px;color:#ffffff08;pointer-events:none}
#jhhs-events-app .jhhs-visit .jhhs-overline{color:#e2bf7a}
#jhhs-events-app .jhhs-visit h2{font-size:clamp(31px,4vw,45px);margin:12px 0 13px;color:white;position:relative;z-index:1}
#jhhs-events-app .jhhs-visit h2 em{color:#e4c184}
#jhhs-events-app .jhhs-visit p{max-width:530px;font-size:12px;line-height:1.85;color:#c6d6d9;margin:0}
#jhhs-events-app .jhhs-visit__links{display:flex;align-items:center;gap:13px;z-index:1;flex-wrap:wrap}
#jhhs-events-app .jhhs-visit__address{grid-column:1/-1;font-size:10px;letter-spacing:.1em;border-top:1px solid #315767;padding-top:20px;color:#b7ccd1;z-index:1}
@media(max-width:1000px){#jhhs-events-app .jhhs-calendar-layout{grid-template-columns:minmax(0,1.4fr) minmax(245px,1fr)}#jhhs-events-app .jhhs-calendar-card,#jhhs-events-app .jhhs-calendar-aside{padding:24px}#jhhs-events-app .jhhs-feature__copy h3{font-size:19px}#jhhs-events-app .jhhs-feature__image{height:175px}#jhhs-events-app .jhhs-visit{grid-template-columns:1fr}#jhhs-events-app .jhhs-visit__links{justify-content:flex-start}}
@media(max-width:720px){#jhhs-events-app .jhhs-container{width:calc(100% - 34px)}#jhhs-events-app .jhhs-hero{min-height:490px}#jhhs-events-app .jhhs-hero__image{inset:0;background-position:center,right center}#jhhs-events-app .jhhs-hero::after{background:linear-gradient(90deg,rgba(6,40,58,.97),rgba(6,40,58,.69))}#jhhs-events-app .jhhs-hero__content{padding-top:51px;padding-bottom:25px}#jhhs-events-app .jhhs-hero h1{font-size:48px}#jhhs-events-app .jhhs-hero__content>p{font-size:14px}#jhhs-events-app .jhhs-hero__footer{margin-top:54px}#jhhs-events-app .jhhs-alert{grid-template-columns:30px 1fr;padding:20px;gap:12px}#jhhs-events-app .jhhs-alert__link{grid-column:2;justify-self:start}#jhhs-events-app .jhhs-section{padding-top:65px}#jhhs-events-app .jhhs-section__heading{display:block}#jhhs-events-app .jhhs-section__heading>p{margin-top:13px}#jhhs-events-app .jhhs-signature__grid{grid-template-columns:1fr;gap:17px}#jhhs-events-app .jhhs-feature{display:grid;grid-template-columns:38% 1fr}#jhhs-events-app .jhhs-feature__image{height:100%;min-height:210px}#jhhs-events-app .jhhs-feature__image-tag{font-size:8px;line-height:1.4;right:8px;left:8px;bottom:8px}#jhhs-events-app .jhhs-feature__copy{padding:18px 17px}#jhhs-events-app .jhhs-feature__copy h3{min-height:0;font-size:19px;margin:8px 0}#jhhs-events-app .jhhs-feature__copy p{min-height:0;margin-bottom:13px;font-size:11px}#jhhs-events-app .jhhs-feature__art-text{font-size:24px;left:12px;top:35px}#jhhs-events-app .jhhs-feature__art-text small{font-size:8px}#jhhs-events-app .jhhs-calendar-section{padding-top:70px}#jhhs-events-app .jhhs-section__heading--calendar .jhhs-text-button{margin-top:15px}#jhhs-events-app .jhhs-calendar-layout{grid-template-columns:1fr}#jhhs-events-app .jhhs-calendar-card{padding:21px}#jhhs-events-app .jhhs-calendar-aside{padding:25px}#jhhs-events-app .jhhs-detail h3{font-size:25px}#jhhs-events-app .jhhs-aside-footer{margin-top:30px}#jhhs-events-app .jhhs-visit{margin-top:65px;padding:32px 25px 23px}#jhhs-events-app .jhhs-visit__links{gap:12px}}
@media(max-width:480px){#jhhs-events-app .jhhs-eyebrow{font-size:9px;gap:8px}#jhhs-events-app .jhhs-hero h1{font-size:41px}#jhhs-events-app .jhhs-hero__actions{gap:17px}#jhhs-events-app .jhhs-hero__footer{font-size:8px;gap:8px}#jhhs-events-app .jhhs-hero__year{margin-left:2px}#jhhs-events-app .jhhs-section__heading h2{font-size:33px}#jhhs-events-app .jhhs-feature{grid-template-columns:1fr}#jhhs-events-app .jhhs-feature__image{height:165px;min-height:0}#jhhs-events-app .jhhs-feature__copy h3{font-size:23px}#jhhs-events-app .jhhs-toolbar{display:grid;grid-template-columns:1fr}#jhhs-events-app .jhhs-search{width:100%}#jhhs-events-app .jhhs-select-wrap select{width:100%}#jhhs-events-app .jhhs-calendar-card{padding:17px 12px}#jhhs-events-app .jhhs-calendar-card__head h3{font-size:24px}#jhhs-events-app .jhhs-days{gap:1px}#jhhs-events-app .jhhs-day{min-height:51px;padding:6px 5px;font-size:11px}#jhhs-events-app .jhhs-day__dots{bottom:7px;left:6px}#jhhs-events-app .jhhs-calendar-legend{gap:12px}#jhhs-events-app .jhhs-event-row{grid-template-columns:48px 1fr;gap:12px}#jhhs-events-app .jhhs-event-row__link{grid-column:2;justify-self:start}#jhhs-events-app .jhhs-event-row__date{padding-right:7px}#jhhs-events-app .jhhs-event-row__date b{font-size:24px}}
@media(prefers-reduced-motion:reduce){#jhhs-events-app *,#jhhs-events-app *::before,#jhhs-events-app *::after{transition:none!important;scroll-behavior:auto!important}}

/* v1.2 Accessible typography and editable annual artwork. Maintain v1.1 full-width fix. */
#jhhs-events-app{font-size:19px;line-height:1.65}
#jhhs-events-app .jhhs-overline{font-size:14px;letter-spacing:.11em}
#jhhs-events-app .jhhs-eyebrow,#jhhs-events-app .jhhs-hero__footer{font-size:13px}
#jhhs-events-app .jhhs-hero__content>p{font-size:20px;line-height:1.65;max-width:570px}
#jhhs-events-app .jhhs-hero__secondary,#jhhs-events-app .jhhs-btn{font-size:17px;min-height:51px}
#jhhs-events-app .jhhs-alert .jhhs-overline,#jhhs-events-app .jhhs-calendar-card__head .jhhs-overline{font-size:13px}
#jhhs-events-app .jhhs-alert h2{font-size:26px}
#jhhs-events-app .jhhs-alert p{font-size:18px;line-height:1.65}
#jhhs-events-app .jhhs-alert__link{font-size:17px}
#jhhs-events-app .jhhs-section__heading h2{font-size:clamp(38px,3.7vw,57px)}
#jhhs-events-app .jhhs-section__heading>p,#jhhs-events-app .jhhs-section__heading--calendar p{font-size:19px;line-height:1.6;max-width:440px}
#jhhs-events-app .jhhs-feature__copy{padding:25px 23px 27px}
#jhhs-events-app .jhhs-feature__copy .jhhs-overline{font-size:13px;letter-spacing:.08em}
#jhhs-events-app .jhhs-feature__copy h3{font-size:clamp(25px,2vw,31px);min-height:72px}
#jhhs-events-app .jhhs-feature__copy p{font-size:18px;line-height:1.6;min-height:112px;color:#4c656d}
#jhhs-events-app .jhhs-feature__copy>a{font-size:18px}
#jhhs-events-app .jhhs-feature__image-tag{font-size:13px;line-height:1.25;letter-spacing:.04em;padding:9px 11px}
#jhhs-events-app .jhhs-feature--custom-art .jhhs-feature__image img{filter:none;object-fit:contain;background:#092f3c;padding:10px}
#jhhs-events-app .jhhs-text-button{font-size:17px}
#jhhs-events-app .jhhs-search{height:54px}
#jhhs-events-app .jhhs-search input,#jhhs-events-app .jhhs-select-wrap select{font-size:17px}
#jhhs-events-app .jhhs-select-wrap select{min-height:54px}
#jhhs-events-app .jhhs-calendar-card__head h3{font-size:31px}
#jhhs-events-app .jhhs-calendar-nav button{width:46px;height:46px}
#jhhs-events-app .jhhs-weekdays span{font-size:14px;color:#526970}
#jhhs-events-app .jhhs-day{font-size:18px;min-height:68px}
#jhhs-events-app .jhhs-calendar-legend span{font-size:15px}
#jhhs-events-app .jhhs-aside-label{font-size:14px;letter-spacing:.07em}
#jhhs-events-app .jhhs-detail__date{font-size:15px;letter-spacing:.07em}
#jhhs-events-app .jhhs-detail h3{font-size:34px}
#jhhs-events-app .jhhs-detail p{font-size:18px;line-height:1.7;color:#eef3f3}
#jhhs-events-app .jhhs-detail__meta span{font-size:17px}
#jhhs-events-app .jhhs-detail__meta b{font-size:14px}
#jhhs-events-app .jhhs-detail__link{font-size:17px}
#jhhs-events-app .jhhs-aside-footer strong{font-size:19px}
#jhhs-events-app .jhhs-aside-footer span:not(.jhhs-aside-footer__mark){font-size:16px}
#jhhs-events-app .jhhs-month-events__head h3{font-size:29px}
#jhhs-events-app #jhhs-event-count{font-size:14px}
#jhhs-events-app .jhhs-event-row h4{font-size:21px;line-height:1.35}
#jhhs-events-app .jhhs-event-row__meta,#jhhs-events-app .jhhs-event-row__link{font-size:17px}
#jhhs-events-app .jhhs-event-row__tag{font-size:14px}
#jhhs-events-app .jhhs-event-row__date{font-size:14px}
#jhhs-events-app .jhhs-empty h4{font-size:24px}
#jhhs-events-app .jhhs-empty p,#jhhs-events-app .jhhs-empty button{font-size:17px}
#jhhs-events-app .jhhs-visit p{font-size:18px}
#jhhs-events-app .jhhs-visit__address{font-size:15px}
@media(max-width:1000px){
 #jhhs-events-app .jhhs-feature__copy h3{font-size:25px;min-height:70px}
 #jhhs-events-app .jhhs-feature__image{height:200px}
}
@media(max-width:720px){
 #jhhs-events-app .jhhs-hero__content>p{font-size:19px}
 #jhhs-events-app .jhhs-section__heading h2{font-size:clamp(36px,6vw,47px)}
 #jhhs-events-app .jhhs-section__heading>p{font-size:18px}
 #jhhs-events-app .jhhs-feature__copy h3{font-size:26px;min-height:0}
 #jhhs-events-app .jhhs-feature__copy p{font-size:18px;min-height:0}
 #jhhs-events-app .jhhs-feature__image-tag{font-size:12px}
 #jhhs-events-app .jhhs-detail h3{font-size:29px}
 #jhhs-events-app .jhhs-calendar-card,#jhhs-events-app .jhhs-calendar-aside{padding:26px 22px}
}
@media(max-width:480px){
 #jhhs-events-app{font-size:18px}
 #jhhs-events-app .jhhs-eyebrow,#jhhs-events-app .jhhs-hero__footer{font-size:12px}
 #jhhs-events-app .jhhs-hero__content>p{font-size:18px}
 #jhhs-events-app .jhhs-feature__image{height:205px}
 #jhhs-events-app .jhhs-feature__copy h3{font-size:27px}
 #jhhs-events-app .jhhs-feature__copy p{font-size:18px}
 #jhhs-events-app .jhhs-section__heading h2{font-size:37px}
 #jhhs-events-app .jhhs-weekdays span{font-size:13px}
 #jhhs-events-app .jhhs-day{min-height:55px;font-size:17px;padding:8px 6px}
 #jhhs-events-app .jhhs-calendar-card{padding:18px 12px}
 #jhhs-events-app .jhhs-calendar-aside{padding:25px 22px}
 #jhhs-events-app .jhhs-event-row h4{font-size:19px}
 #jhhs-events-app .jhhs-event-row__meta,#jhhs-events-app .jhhs-event-row__link{font-size:17px}
 #jhhs-events-app .jhhs-feature__copy .jhhs-overline{font-size:13px}
 #jhhs-events-app .jhhs-feature__image-tag{font-size:12px}
}

/* Extra readability for calendar navigation and small text on white. */
#jhhs-events-app .jhhs-event-row__tag{color:#76561c}
#jhhs-events-app .jhhs-day--outside{color:#62777d;background:#f5f7f6}
#jhhs-events-app .jhhs-day__dots i{height:7px;width:7px}


/* v1.3 Signature cards: editorial descriptions FIRST, artwork BELOW, link LAST.
   The fixed three-column layout and large-type accessibility improvements remain. */
#jhhs-events-app .jhhs-feature{
  display:flex!important;
  flex-direction:column!important;
  min-width:0;
}
#jhhs-events-app .jhhs-feature__copy{
  display:flex;flex-direction:column;flex:1 1 auto;
  padding:26px 24px 23px;
}
#jhhs-events-app .jhhs-feature__copy h3{min-height:0!important;margin:12px 0 13px;line-height:1.15}
#jhhs-events-app .jhhs-feature__copy p{min-height:0!important;margin:0;font-size:18px;line-height:1.6}
#jhhs-events-app .jhhs-feature__image{
  display:block;flex:none;width:100%;height:218px!important;min-height:0!important;
}
#jhhs-events-app .jhhs-feature__footer{
  padding:19px 24px 22px;min-height:66px;display:flex;align-items:center;
  border-top:1px solid #edf0ec;background:#fff;
}
#jhhs-events-app .jhhs-feature__cta{
  font-size:18px;font-weight:800;color:#096a77!important;
  border-bottom:1px solid #a8c6c7;padding-bottom:4px;
}
#jhhs-events-app .jhhs-feature__cta:hover{color:#003b48!important}
#jhhs-events-app .jhhs-feature__image:focus-visible,#jhhs-events-app .jhhs-feature__cta:focus-visible{outline:3px solid #c59d44;outline-offset:3px}
@media(max-width:1000px){
  #jhhs-events-app .jhhs-feature__image{height:190px!important}
}
@media(max-width:720px){
  #jhhs-events-app .jhhs-feature{display:flex!important;flex-direction:column!important}
  #jhhs-events-app .jhhs-feature__copy{padding:23px 22px}
  #jhhs-events-app .jhhs-feature__copy h3{font-size:27px;min-height:0!important}
  #jhhs-events-app .jhhs-feature__copy p{font-size:18px!important}
  #jhhs-events-app .jhhs-feature__image{height:235px!important}
  #jhhs-events-app .jhhs-feature__footer{padding:20px 22px}
}
@media(max-width:480px){
  #jhhs-events-app .jhhs-feature__image{height:210px!important}
}

/* v1.4 Featured fall programs: portrait event artwork, TBA schedule kept outside month grid. */
#jhhs-events-app .jhhs-featured-programs{padding-top:72px}
#jhhs-events-app .jhhs-programs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
#jhhs-events-app .jhhs-program-card{background:#fff;border:1px solid #dce5e3;display:flex;flex-direction:column;min-width:0;box-shadow:0 8px 24px rgba(13,52,61,.04)}
#jhhs-events-app .jhhs-program-card__copy{padding:26px 28px 22px;flex:1 0 auto}
#jhhs-events-app .jhhs-program-card__eyebrow{font-size:14px;font-weight:850;letter-spacing:.1em;color:#087980;margin-bottom:12px}
#jhhs-events-app .jhhs-program-card h3{font:normal clamp(27px,3vw,36px)/1.16 Georgia,serif;margin:0 0 14px;color:#082f40}
#jhhs-events-app .jhhs-program-card__copy p{font-size:18px;line-height:1.7;color:#486570;margin:0 0 17px}
#jhhs-events-app .jhhs-program-card__copy p strong{color:#173945}
#jhhs-events-app .jhhs-program-card__facts{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}
#jhhs-events-app .jhhs-program-card__facts span{display:inline-block;background:#edf6f4;border:1px solid #c9e0dd;color:#174f56;padding:8px 11px;font-size:16px;line-height:1.4;font-weight:750}
#jhhs-events-app .jhhs-program-card--tbd .jhhs-program-card__facts span{background:#fbf4e4;border-color:#e8d6ad;color:#72521b}
#jhhs-events-app .jhhs-program-card__media{display:grid;place-items:center;background:#f5f2ea;padding:20px;min-height:260px}
#jhhs-events-app .jhhs-program-card__media img{display:block;max-height:420px;width:auto;max-width:100%;height:auto;object-fit:contain;box-shadow:0 9px 23px rgba(0,0,0,.12)}
#jhhs-events-app .jhhs-program-card__footer{padding:20px 28px;min-height:73px;display:flex;align-items:center;border-top:1px solid #e3ebe8}
#jhhs-events-app .jhhs-program-card__footer a{font-size:18px;color:#006975;font-weight:800;border-bottom:1px solid #7bb5ba;padding-bottom:3px}
#jhhs-events-app .jhhs-program-card__footer span{font-size:17px;color:#607780;font-weight:700}
@media(max-width:760px){#jhhs-events-app .jhhs-programs-grid{grid-template-columns:1fr;gap:18px}#jhhs-events-app .jhhs-program-card__copy{padding:24px 20px 20px}#jhhs-events-app .jhhs-program-card__media{padding:16px}#jhhs-events-app .jhhs-program-card__footer{padding:18px 20px}}


/* v1.5 — accessible, featured Community Is Magic fundraiser artwork. */
#jhhs-events-app .jhhs-program-card--magic{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,36%);grid-template-rows:1fr auto;grid-template-areas:"copy media" "footer media"}
#jhhs-events-app .jhhs-program-card--magic .jhhs-program-card__copy{grid-area:copy;padding:32px 35px 20px}
#jhhs-events-app .jhhs-program-card--magic .jhhs-program-card__media{grid-area:media;min-height:420px;padding:18px;background:#f5f0e3}
#jhhs-events-app .jhhs-program-card--magic .jhhs-program-card__media a{display:flex;justify-content:center;align-items:center;width:100%;height:100%}
#jhhs-events-app .jhhs-program-card--magic .jhhs-program-card__media img{max-height:475px;box-shadow:0 8px 26px rgba(0,0,0,.18)}
#jhhs-events-app .jhhs-program-card--magic .jhhs-program-card__footer{grid-area:footer;padding:18px 35px 27px}
#jhhs-events-app .jhhs-program-card__location{margin-top:19px!important}
#jhhs-events-app .jhhs-detail__flyer{display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px;background:#f1f0e9;border-radius:3px;margin:22px 0 16px;text-decoration:none!important}
#jhhs-events-app .jhhs-detail__flyer img{display:block;width:auto;max-height:340px;max-width:100%;object-fit:contain}
#jhhs-events-app .jhhs-detail__flyer span{font-size:16px;font-weight:800;color:#075864;text-decoration:underline}
#jhhs-events-app .jhhs-detail__flyer:focus-visible,#jhhs-events-app .jhhs-program-card--magic .jhhs-program-card__media a:focus-visible{outline:3px solid #ddb35e;outline-offset:3px}
@media(max-width:850px){
 #jhhs-events-app .jhhs-program-card--magic{display:flex;flex-direction:column}
 #jhhs-events-app .jhhs-program-card--magic .jhhs-program-card__copy{padding:25px 24px 16px}
 #jhhs-events-app .jhhs-program-card--magic .jhhs-program-card__media{min-height:0;padding:18px}
 #jhhs-events-app .jhhs-program-card--magic .jhhs-program-card__media img{max-height:440px}
 #jhhs-events-app .jhhs-program-card--magic .jhhs-program-card__footer{padding:18px 24px}
}

/* v1.6 secure Zeffy checkout — intentionally scoped to the Events shortcode. */
#jhhs-events-app .jhhs-program-card__footer{flex-wrap:wrap;gap:10px 24px}
#jhhs-events-app .jhhs-program-card__footer .jhhs-zeffy-external{font-size:16px;color:#456c72}
#jhhs-events-app .jhhs-zeffy-registration{margin:26px 0 14px;scroll-margin-top:32px}
#jhhs-events-app .jhhs-zeffy-details{background:#f4f3e9;border:1px solid #cbdeda;box-shadow:0 6px 18px rgba(8,40,51,.06)}
#jhhs-events-app .jhhs-zeffy-details>summary{padding:24px 28px;cursor:pointer;list-style:none;color:#073944;font-weight:800;font-size:clamp(20px,2.1vw,26px);background:#e8f2ef}
#jhhs-events-app .jhhs-zeffy-details>summary:focus-visible{outline:4px solid #c49a36;outline-offset:-5px}
#jhhs-events-app .jhhs-zeffy-details[open]>summary{border-bottom:1px solid #ccded9}
#jhhs-events-app .jhhs-zeffy-registration__inner{padding:26px 28px 30px}
#jhhs-events-app .jhhs-zeffy-registration__inner h3{font:normal clamp(27px,3vw,38px)/1.18 Georgia,serif;color:#0b3745;margin:0 0 14px}
#jhhs-events-app .jhhs-zeffy-registration__inner p{font-size:19px;line-height:1.6;color:#45626a;max-width:850px;margin:0 0 18px}
#jhhs-events-app .jhhs-zeffy-frame{display:block;width:100%;height:660px;min-height:500px;border:1px solid #d6e2df;background:#fff;border-radius:3px}
#jhhs-events-app .jhhs-zeffy-registration__fallback{margin:18px 0 0;font-size:17px}
#jhhs-events-app .jhhs-zeffy-registration__fallback a{font-weight:800;color:#006c78;text-decoration:underline}
#jhhs-events-app .jhhs-detail__link{margin-right:14px}
@media(max-width:680px){
 #jhhs-events-app .jhhs-zeffy-details>summary{padding:18px 20px;font-size:20px}
 #jhhs-events-app .jhhs-zeffy-registration__inner{padding:20px 12px}
 #jhhs-events-app .jhhs-zeffy-frame{height:680px}
}

#jhhs-events-app .jhhs-zeffy-details>summary::-webkit-details-marker{display:none}
#jhhs-events-app .jhhs-zeffy-details>summary::before{content:"▸";display:inline-block;margin-right:14px;color:#a87916;transition:transform .2s ease}
#jhhs-events-app .jhhs-zeffy-details[open]>summary::before{transform:rotate(90deg)}
@media(prefers-reduced-motion:reduce){#jhhs-events-app .jhhs-zeffy-details>summary::before{transition:none}}
