/* pssclub.ca header extras: weather card (see _weather.php) and phone header tweaks. Version via PSSC_WX_CSSV. */
.wxw{position:absolute;left:0;right:0;top:100%;height:0;margin:0 auto;pointer-events:none;z-index:1}
.wxc{pointer-events:auto;position:relative;display:inline-block;margin-top:-1px;overflow:hidden;border-radius:0 0 18px 18px;color:#052d66;background:linear-gradient(120deg,#eaf2fd,#f4f8fe);border:1px solid rgba(5,45,102,.09);border-top:0;box-shadow:0 12px 26px -8px rgba(5,45,102,.22);transition:opacity .35s ease,transform .35s ease,background .8s ease}
.wxc[hidden]{display:none}
.wxc.is-tucked{opacity:0;transform:translateY(-10px);pointer-events:none}
.wxc-sky{position:absolute;inset:0;pointer-events:none}
.wxc-in{position:relative;z-index:2;display:flex;align-items:center;gap:10px;height:62px;padding:0 16px 0 12px}
.wxc-wx{display:flex;align-items:center;gap:9px}
.wxc.no-wx .wxc-wx,.wxc.no-wx .wxc-sep{display:none}
.wxc-ic{width:40px;height:40px;flex:0 0 40px;display:block}
.wxc-ic svg{width:100%;height:100%;overflow:visible;display:block}
.wxc-t{font:700 1.75rem/1 "Barlow Semi Condensed",Inter,system-ui,sans-serif;letter-spacing:-.01em}
.wxc-d,.wxc-ck{display:flex;flex-direction:column;gap:3px;white-space:nowrap}
.wxc-d b{font:700 .84rem/1.1 Inter,system-ui,sans-serif}
.wxc-d small,.wxc-ck small{font:500 .72rem/1.1 Inter,system-ui,sans-serif;opacity:.78}
.wxc-sep{align-self:stretch;width:1px;margin:14px 4px;background:currentColor;opacity:.16}
.wxc-ck b{font:700 1.15rem/1 "Barlow Semi Condensed",Inter,system-ui,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.01em}
.wxc-ck b s{text-decoration:none;font-size:.8em;opacity:.6}
.wxc-ck b em{font-style:normal;font-size:.72em;font-weight:600;margin-left:3px;opacity:.8;text-transform:lowercase}
/* skies */
.wxc.k-sun{background:linear-gradient(120deg,#fff1c7 0%,#fdf6e3 30%,#e8f1fd 100%)}
.wxc.k-psun{background:linear-gradient(120deg,#fff2d2 0%,#eaf1fb 45%,#e2ecfa 100%)}
.wxc.k-moon,.wxc.k-pmoon{background:linear-gradient(120deg,#0a2250 0%,#163a75 60%,#10306a 100%);color:#fff;border-color:rgba(255,255,255,.06)}
.wxc.k-cloud{background:linear-gradient(120deg,#dde4ee,#ebeff5 60%,#e1e7f0)}
.wxc.k-fog{background:linear-gradient(120deg,#e3e6eb,#eff1f4 50%,#e2e5ea)}
.wxc.k-rain,.wxc.k-drizzle{background:linear-gradient(120deg,#ccd7e5,#dbe3ed 60%,#d0d9e6)}
.wxc.k-snow{background:linear-gradient(120deg,#e7eef8,#f6f9fc 55%,#e8eef7)}
.wxc.k-storm{background:linear-gradient(120deg,#243249,#33445f 55%,#283650);color:#fff}
.wxc.n.k-rain,.wxc.n.k-drizzle,.wxc.n.k-cloud,.wxc.n.k-fog,.wxc.n.k-snow{background:linear-gradient(120deg,#1b2b46,#293c5b 60%,#1f304d);color:#fff}
/* scene */
.wxc-glow{position:absolute;left:32px;top:50%;width:120px;height:120px;margin:-60px 0 0 -60px;border-radius:50%;background:radial-gradient(circle,rgba(255,200,61,.6),rgba(255,200,61,0) 66%);animation:wxc-pulse 5s ease-in-out infinite}
.wxc.k-moon .wxc-glow,.wxc.k-pmoon .wxc-glow{background:radial-gradient(circle,rgba(220,232,255,.3),rgba(220,232,255,0) 66%)}
@keyframes wxc-pulse{0%,100%{transform:scale(.88);opacity:.8}50%{transform:scale(1.1);opacity:1}}
.wxc-cl{position:absolute;left:0;width:90px;height:33px;animation:wxc-drift linear infinite;will-change:transform}
.wxc-cl svg{width:100%;height:100%;display:block}
.wxc-cl path{fill:#fff}
.wxc.k-storm .wxc-cl path,.wxc.n .wxc-cl path{fill:#8293b1}
.wxc.k-storm .wxc-cl,.wxc.n .wxc-cl,.wxc.k-moon .wxc-cl,.wxc.k-pmoon .wxc-cl{opacity:.32!important}
.wxc-in{text-shadow:0 1px 0 rgba(255,255,255,.35)}.wxc.n .wxc-in,.wxc.k-storm .wxc-in{text-shadow:0 1px 2px rgba(0,0,0,.35)}
@keyframes wxc-drift{from{transform:translateX(-100px)}to{transform:translateX(var(--w,420px))}}
.wxc-fg{position:absolute;left:-50%;width:200%;height:18px;border-radius:50%;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.95) 20%,rgba(255,255,255,.35) 45%,rgba(255,255,255,.95) 70%,rgba(255,255,255,0));filter:blur(5px);animation:wxc-fog ease-in-out infinite alternate}
.wxc.n .wxc-fg{background:linear-gradient(90deg,rgba(190,205,230,0),rgba(190,205,230,.4) 25%,rgba(190,205,230,.12) 50%,rgba(190,205,230,.4) 75%,rgba(190,205,230,0))}
@keyframes wxc-fog{from{transform:translateX(-14%)}to{transform:translateX(14%)}}
.wxc-rd{position:absolute;top:-20px;width:1.5px;height:14px;border-radius:2px;background:linear-gradient(rgba(47,111,214,0),rgba(47,111,214,.7));animation:wxc-rain linear infinite}
.wxc.k-storm .wxc-rd,.wxc.n .wxc-rd{background:linear-gradient(rgba(200,220,255,0),rgba(200,220,255,.75))}
@keyframes wxc-rain{to{transform:translate(-12px,92px)}}
.wxc-sn{position:absolute;top:-8px;border-radius:50%;background:#fff;box-shadow:0 0 2px rgba(5,45,102,.3);animation:wxc-snow linear infinite}
@keyframes wxc-snow{0%{transform:translate(0,0)}25%{transform:translate(5px,19px)}50%{transform:translate(-4px,38px)}75%{transform:translate(4px,57px)}100%{transform:translate(0,76px)}}
.wxc-st{position:absolute;width:2px;height:2px;border-radius:50%;background:#fff;animation:wxc-tw ease-in-out infinite}
@keyframes wxc-tw{0%,100%{opacity:.12}50%{opacity:.95}}
.wxc-fl{position:absolute;inset:0;background:#fff;opacity:0;animation:wxc-flash 7s infinite}
@keyframes wxc-flash{0%,88%,100%{opacity:0}89%{opacity:.55}90%{opacity:.05}91.5%{opacity:.4}93%{opacity:0}}
/* animated icon parts */
.wxi-rays{transform-origin:24px 24px;animation:wxc-spin 14s linear infinite}
.wxi-core{transform-origin:24px 24px;animation:wxc-breathe 4s ease-in-out infinite}
.wxi-bob{animation:wxc-bob 4.5s ease-in-out infinite}
.wxi-bob2{animation:wxc-bob 5.5s ease-in-out infinite reverse}
.wxi-fog line{animation:wxc-slide 3.2s ease-in-out infinite alternate}
.wxi-fog line:nth-child(2){animation-delay:-1.1s}.wxi-fog line:nth-child(3){animation-delay:-2.2s}
.wxi-drop{animation:wxc-fall 1.1s linear infinite}
.wxi-drop:nth-child(2){animation-delay:-.37s}.wxi-drop:nth-child(3){animation-delay:-.74s}
.wxi-flake{animation:wxc-flake 2.6s linear infinite}
.wxi-flake:nth-child(2){animation-delay:-.9s}.wxi-flake:nth-child(3){animation-delay:-1.8s}
.wxi-bolt{animation:wxc-bolt 3.5s infinite}
.wxi-star{animation:wxc-tw 2.6s ease-in-out infinite}.wxi-star+.wxi-star{animation-delay:-1.3s}
.wxc-ck i{font-style:normal;animation:wxc-blink 1s steps(1) infinite}
@keyframes wxc-spin{to{transform:rotate(360deg)}}
@keyframes wxc-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
@keyframes wxc-bob{0%,100%{transform:translateX(0)}50%{transform:translateX(2.5px)}}
@keyframes wxc-slide{from{transform:translateX(-3px)}to{transform:translateX(3px)}}
@keyframes wxc-fall{0%{transform:translate(0,-3px);opacity:0}20%{opacity:1}100%{transform:translate(-2px,9px);opacity:0}}
@keyframes wxc-flake{0%{transform:translate(0,-3px);opacity:0}20%{opacity:1}100%{transform:translate(1.5px,9px);opacity:0}}
@keyframes wxc-bolt{0%,60%,100%{opacity:1}64%{opacity:.2}68%{opacity:1}72%{opacity:.3}}
@keyframes wxc-blink{0%{opacity:1}50%{opacity:.25}}
.wxc.is-tucked *,.wxc.is-off *{animation-play-state:paused!important}
.wxc-aq{display:flex;flex-direction:column;gap:4px;white-space:nowrap}
.wxc.no-aq .wxc-aq,.wxc.no-aq .wxc-sep2,.wxc.no-wx .wxc-aq,.wxc.no-wx .wxc-sep2{display:none}
.wxc-q{display:inline-flex;align-items:center;gap:5px;font:700 .78rem/1.1 Inter,system-ui,sans-serif}
.wxc-aq small .wxc-q{font-weight:600;font-size:.72rem;opacity:.85}
.wxc-q .x{font-weight:500;opacity:.8}
.wxc-q i{display:inline-block;width:8px;height:8px;border-radius:50%;flex:0 0 8px;background:#2e9e4f;box-shadow:0 0 0 2px rgba(255,255,255,.55)}
.wxc-q.l1 i{background:#e0a100}.wxc-q.l2 i{background:#e8710a}.wxc-q.l3 i{background:#d9381e}.wxc-q.l4 i{background:#8e44ad}
.wxc.n .wxc-q i,.wxc.k-storm .wxc-q i{box-shadow:0 0 0 2px rgba(255,255,255,.18)}
@media (max-width:760px){.wxc-in{height:54px;gap:8px;padding:0 12px 0 9px}.wxc-ic{width:34px;height:34px;flex-basis:34px}.wxc-t{font-size:1.45rem}.wxc-ck b{font-size:1.02rem}.wxc-glow{left:26px}}
@media (max-width:560px){.wxc-ck .x,.wxc-q .x{display:none}}
@media (max-width:440px){.wxc-d,.wxc-ck b s{display:none}.wxc-in{gap:7px}.wxc-sep{margin:14px 1px}}
@media (prefers-reduced-motion:reduce){.wxc *{animation:none!important}}

/* 2026-10-27 phones: the card sits in the home page's opening band instead of hanging over each page */
.wx-slot{display:none}
@media (max-width:760px){.wxw{display:none}.wx-slot{display:flex;justify-content:center;padding:0 16px;margin:0 0 18px}.wx-slot .wxc{border-radius:18px;border-top:1px solid rgba(5,45,102,.09);margin-top:0;box-shadow:0 10px 24px -12px rgba(5,45,102,.3)}}
/* phones: the slim top strip only shows when it has something to say (the next event) */
@media (max-width:760px){.sh2 .sh-top:not(:has(.sh-next a)){display:none}}
/* menus (and their dropdowns) always above the weather card: the glass menu bar is its own layer */
.site-header .bar{position:relative;z-index:2}