/* A bright invitation using the site's aqua, orange and handwritten title font. */
#open-house-announcement{font-family:Nunito,Arial,sans-serif;color:var(--heading,#316573)}
#open-house-announcement [hidden],.oh-footer-access[hidden]{display:none!important}
.oh-banner{background:#eff6f2;color:#203f4d;position:relative;isolation:isolate}
.oh-banner::after{content:"";position:absolute;bottom:0;left:0;right:0;height:5px;background:var(--paper,#fffdf8);clip-path:polygon(0 60%,10% 15%,23% 55%,40% 0,58% 50%,73% 10%,88% 55%,100% 15%,100% 100%,0 100%);pointer-events:none}
.oh-banner-inner{max-width:1216px;min-height:104px;margin:auto;padding:13px 24px 17px;display:flex;align-items:center;justify-content:center;gap:24px}
.oh-banner-link{display:flex;align-items:center;justify-content:center;gap:44px;flex:1;min-width:0;text-decoration:none;color:inherit;line-height:1.4}
.oh-banner-heading{display:grid;gap:0;flex-shrink:0}
.oh-banner-heading>strong{position:relative;isolation:isolate;width:max-content;font:700 37px/1.2 Kalam,cursive;letter-spacing:-.6px}
.oh-banner-heading>strong::after{content:"";position:absolute;z-index:-1;left:0;right:-5px;bottom:3px;height:7px;background:#cfdd51;border-radius:60% 15% 55% 20%;transform:rotate(-1deg)}
.oh-banner-heading>span{font-size:13px;font-weight:700;margin-top:4px}
.oh-banner-date{display:grid;gap:4px;font-size:17px;font-weight:800;line-height:1.4}
.oh-banner-date>span{font-size:15px;font-weight:700}
.oh-banner-date b{font-weight:800}
.oh-banner-link:hover .oh-banner-date{text-decoration:underline;text-underline-offset:4px}
.oh-banner-cta{display:inline-flex;text-decoration:none;align-items:center;justify-content:center;gap:14px;flex-shrink:0;padding:12px 20px;min-height:46px;border:0;border-radius:4px 20px 4px 20px;background:var(--paper,#fffdf8);color:#203f4d;cursor:pointer;font:800 14px/1.4 Nunito,Arial,sans-serif;box-shadow:0 3px 0 #203f4d20}
.oh-banner-cta>span{font-size:23px;line-height:1}
.oh-banner-cta:hover{background:#f5efdb;box-shadow:0 4px 0 #203f4d30}
.oh-close{display:grid;place-items:center;width:44px;height:44px;min-width:44px;padding:10px;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer}
.oh-close svg{width:21px;height:21px}
.oh-close:hover{background:#203f4d12}
#open-house-announcement :is(a,button):focus-visible,.oh-footer-access button:focus-visible{outline:3px solid #203f4d;outline-offset:4px}
.oh-card{position:fixed;z-index:90;right:24px;bottom:24px;width:390px;max-height:calc(100dvh - 48px);overflow:auto;background:var(--paper,#fffdf8);border:1px solid #dce5dd;border-radius:6px 30px 6px 6px;box-shadow:0 12px 44px #294c5b24}
.oh-card>.oh-close{position:absolute;top:6px;right:7px;z-index:1;color:var(--heading,#316573)}
.oh-card-heading{display:grid;grid-template-columns:96px minmax(0,1fr);gap:23px;margin:30px 24px 0;color:var(--heading,#316573)}
.oh-card-calendar{display:flex;flex-direction:column;align-items:center;align-self:center;border-right:1px solid #d7e4dc;padding:3px 20px 3px 0;text-align:center}
.oh-calendar-weekday{font-size:10px;line-height:1.5;letter-spacing:1.8px;text-transform:uppercase;font-weight:800}
.oh-card-calendar>strong{font:700 68px/.95 Kalam,cursive;letter-spacing:-3px;padding-top:11px}
.oh-calendar-month{font:700 16px/1.25 Kalam,cursive;text-transform:uppercase;margin-top:5px}
.oh-calendar-year{font:700 20px/1.2 Kalam,cursive;margin-top:1px}
.oh-card-title-group{padding-top:8px}
.oh-card h2{position:relative;isolation:isolate;display:inline-block;font:700 41px/1.04 Kalam,cursive;color:var(--heading,#316573);letter-spacing:-.8px;margin:0 0 11px}
.oh-card h2::after{content:"";position:absolute;bottom:-4px;left:0;right:1px;height:5px;border-radius:50% 20% 55% 10%;background:#dce8af;transform:rotate(-1.5deg);z-index:-1}
.oh-card .oh-card-welcome{font-size:13px;font-weight:700;line-height:1.4;margin:0 0 12px}
.oh-card .oh-card-hours{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:800;line-height:1.3;margin:0;padding:5px 8px;background:#fbecd6;border-radius:4px;color:#765434;white-space:nowrap}
.oh-card-hours>span{border-left:1px solid #dcc8a9;padding-left:7px;font-size:10px;font-weight:700}
.oh-card-art{height:184px;margin:10px 14px 0;background:#fff}
.oh-card-art img{width:100%;height:100%;object-fit:contain}
.oh-card-copy{padding:13px 23px 24px}
.oh-card-programme{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:15px 16px 16px;background:#f0f5e8;border-radius:4px 22px 4px 4px;margin-bottom:19px}
.oh-card-programme>div+div{border-left:1px solid #d5e2cb;padding-left:15px}
.oh-card-programme h3{font:700 25px/1.25 Kalam,cursive;color:var(--heading,#316573);margin:0 0 7px;letter-spacing:-.25px}
.oh-card .oh-card-programme p{font:400 12px/1.55 Nunito,Arial,sans-serif;color:var(--body,#385567);margin:0}
.oh-card-programme strong{font-weight:800}
.oh-card-button{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:47px;padding:12px 21px;border-radius:28px;background:var(--orange,#f89141);color:#203f4d;font-size:14px;line-height:1.4;font-weight:800;text-decoration:none}
.oh-card-button:hover{background:#ffa35b}
.oh-footer-access{margin-top:24px}
.oh-footer-access button{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:0;border:0;background:transparent;color:var(--heading,#316573);font:800 14px/1.5 Nunito,Arial,sans-serif;text-align:left;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
@media(max-width:1050px){.oh-banner-inner{gap:16px}.oh-banner-link{gap:22px}.oh-banner-heading>strong{font-size:32px}.oh-banner-date{font-size:15px}.oh-banner-cta{padding:11px 16px;font-size:13px}}
@media(max-width:760px){
 .oh-banner-inner{position:relative;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;padding:14px 58px 18px 22px}
 .oh-banner-link{display:contents}
 .oh-banner-link:focus-visible .oh-banner-heading{outline:3px solid #203f4d;outline-offset:4px}
 .oh-banner-heading{grid-column:1/-1}
 .oh-banner-heading>strong{font-size:30px;line-height:1.15}
 .oh-banner-heading>span{font-size:12px;margin-top:4px}
 .oh-banner-date{font-size:14px;gap:2px}
 .oh-banner-date>span{font-size:13px}
 .oh-banner-cta{padding:9px 12px;font-size:12px;gap:7px;min-height:44px;border-radius:3px 14px 3px 14px}
 .oh-banner-cta>span{font-size:21px}
 .oh-banner-inner>.oh-close{position:absolute;right:9px;top:8px}
}
@media(max-width:480px){
 .oh-banner-inner{padding:14px 16px 17px 20px;gap:10px 8px}
 .oh-banner-heading{padding-right:36px}
 .oh-banner-heading>span{font-size:11px}
 .oh-banner-date{font-size:13px;letter-spacing:-.2px}
 .oh-banner-date>span{font-size:12px}
 .oh-banner-cta{max-width:110px;font-size:12px;padding:8px 10px;gap:4px}
 .oh-card{right:12px;bottom:max(12px,env(safe-area-inset-bottom));width:calc(100% - 24px);max-height:calc(100dvh - 24px)}
 .oh-card-heading{margin:28px 20px 0;grid-template-columns:90px minmax(0,1fr);gap:20px}
 .oh-card h2{font-size:38px}
 .oh-card-art{height:177px;margin-top:9px}
 .oh-card-copy{padding:12px 20px 20px}
 .oh-card-programme{padding:14px;gap:12px}
 .oh-card-programme>div+div{padding-left:12px}
}
@media(max-width:350px){.oh-banner-heading>strong{font-size:28px}.oh-banner-date{font-size:12px}.oh-banner-cta{max-width:96px}.oh-card-heading{margin-left:16px;margin-right:16px;grid-template-columns:76px minmax(0,1fr);gap:15px}.oh-card-calendar{padding-right:13px}.oh-card-calendar>strong{font-size:60px}.oh-calendar-month{font-size:13px}.oh-card h2{font-size:33px}.oh-card .oh-card-hours{gap:7px;padding:5px 8px;font-size:13px}.oh-card-hours>span{padding-left:7px;font-size:10px}.oh-card-art{height:156px}.oh-card-copy{padding-left:16px;padding-right:16px}.oh-card-programme h3{font-size:22px}.oh-card-programme{padding:12px;gap:10px}.oh-card-programme>div+div{padding-left:10px}.oh-card .oh-card-programme p{font-size:11px}}
@media print{#open-house-announcement,.oh-footer-access{display:none!important}}
