/* The Schools Challenge calendar content only.
   Load after the existing site CSS. Header, menus and footer are untouched. */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600&display=swap');

body#calendar #container{--tsc-navy:#192b6d;--tsc-blue:#2f5caa;--tsc-sky:#91c5ed;--tsc-pale:#edf6fc;--tsc-paper:#fff;--tsc-ink:#172243;--tsc-muted:#5e6981;--tsc-line:rgba(25,43,109,.16);--tsc-serif:'Playfair Display',Georgia,serif;--tsc-sans:'DM Sans',Arial,sans-serif;box-sizing:border-box;width:min(1160px,calc(100% - 2*clamp(20px,4vw,64px)))!important;max-width:none!important;margin:0 auto!important;padding:clamp(55px,7vw,90px) clamp(18px,3vw,40px)!important;background:linear-gradient(180deg,var(--tsc-pale),#fff 540px)!important;color:var(--tsc-ink);font:400 16px/1.65 var(--tsc-sans);-webkit-font-smoothing:antialiased}
body#calendar #container{--tsc-navy:#192b6d;--tsc-blue:#2f5caa;--tsc-sky:#91c5ed;--tsc-pale:#edf6fc;--tsc-paper:#fff;--tsc-ink:#172243;--tsc-muted:#5e6981;--tsc-line:rgba(25,43,109,.16);--tsc-serif:'Playfair Display',Georgia,serif;--tsc-sans:'DM Sans',Arial,sans-serif;box-sizing:border-box;width:min(1000px,calc(100% - 2*clamp(20px,4vw,64px)))!important;max-width:1000px!important;margin:0 auto!important;padding:clamp(28px,3.5vw,42px) clamp(18px,3vw,40px)!important;background:linear-gradient(180deg,var(--tsc-pale),#fff 360px)!important;color:var(--tsc-ink);font:400 16px/1.65 var(--tsc-sans);-webkit-font-smoothing:antialiased}
body#calendar #container *,body#calendar #container *:before,body#calendar #container *:after{box-sizing:border-box}
body#calendar #container img{max-width:100%;height:auto}
body#calendar #container a{color:var(--tsc-blue);text-decoration-thickness:1px;text-underline-offset:4px}
body#calendar #container a:hover{color:var(--tsc-navy)}
body#calendar #container h1,body#calendar #container h2,body#calendar #container h3,body#calendar #container h4{font-family:var(--tsc-serif);font-weight:500;line-height:1.1;letter-spacing:-.02em}
body#calendar #container .contentfullwidth,body#calendar #container .subcontainer{float:none!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
body#calendar #container .subcontainer>h1{max-width:760px;margin:0 auto 28px!important;padding:0!important;color:var(--tsc-navy)!important;text-align:center;font-size:clamp(2.25rem,4vw,3rem)!important;line-height:1.08!important}
body#calendar #container .subcontainer>h1:before{content:'The Schools Challenge';display:block;margin-bottom:18px;color:var(--tsc-blue);font:700 11px/1 var(--tsc-sans);letter-spacing:.2em;text-transform:uppercase}
body#calendar #container .subcontainer>h1{max-width:760px;margin:0 auto 16px!important;padding:0!important;color:var(--tsc-navy)!important;text-align:center;font-size:clamp(2rem,3vw,2.5rem)!important;line-height:1.08!important}
body#calendar #container .subcontainer>h1:before{content:none!important;display:none!important}
body#calendar #container .subcontainer>br{display:none}

/* Existing subscription link */
body#calendar #container .subcontainer>#calendarcontainer{margin-top:55px!important}
body#calendar #container .subcontainer>a[title*='Subscribe']{display:flex;width:max-content;max-width:100%;margin:0 auto;padding:12px 17px;align-items:center;gap:9px;background:#fff;border:1px solid var(--tsc-line);box-shadow:0 8px 25px rgba(25,43,109,.07);font:600 12px/1.3 var(--tsc-sans);text-decoration:none}
body#calendar #container .subcontainer>#calendarcontainer{margin-top:28px!important}
body#calendar #container .subcontainer>a[title*='Subscribe']{display:flex;width:max-content;max-width:100%;margin:0 auto;padding:9px 14px;align-items:center;gap:8px;background:#fff;border:1px solid var(--tsc-line);box-shadow:0 5px 18px rgba(25,43,109,.06);font:600 11px/1.3 var(--tsc-sans);text-decoration:none}
body#calendar #container .subcontainer>a[title*='Subscribe'] br{display:none}
body#calendar #container .subcontainer>a[title*='Subscribe'] img{width:20px!important;height:20px!important;margin:0!important}
body#calendar #container .whatisrsslink{font:inherit!important;color:var(--tsc-navy)!important}

/* Calendar list */
body#calendar #container #calendarcontainer{width:100%!important;max-width:none!important;display:grid;grid-template-columns:140px minmax(220px,.8fr) minmax(320px,1.6fr);align-items:stretch}
body#calendar #container #calendarcontainer>hr,body#calendar #container #calendarcontainer>.clearallclass,body#calendar #container .calendarmonthdivider,body#calendar #container .calendarmonthdividerthin{display:none!important}
body#calendar #container .calendaryearrow{grid-column:1/-1;float:none!important;width:auto!important;height:auto!important;margin:64px 0 18px!important;padding:0 0 16px!important;background:transparent!important;border:0!important;border-bottom:3px solid var(--tsc-sky)!important;color:var(--tsc-navy)!important;text-align:left!important;font:500 clamp(1.75rem,2.8vw,2.25rem)/1.1 var(--tsc-serif)!important;letter-spacing:-.02em}
body#calendar #container .calendaryearrow:first-of-type{margin-top:0!important}
body#calendar #container .eventdateheading,body#calendar #container .eventnameheading,body#calendar #container .eventdetailsheading{float:none!important;width:auto!important;height:auto!important;padding:12px 18px!important;background:var(--tsc-navy)!important;border:0!important;color:rgba(255,255,255,.78)!important;font:700 10px/1 var(--tsc-sans)!important;letter-spacing:.14em;text-transform:uppercase}
body#calendar #container .eventdateheading{grid-column:1}body#calendar #container .eventnameheading{grid-column:2}body#calendar #container .eventdetailsheading{grid-column:3}
body#calendar #container .eventdate,body#calendar #container .eventname,body#calendar #container .eventdetails{float:none!important;width:auto!important;min-height:100%!important;margin:0!important;padding:24px 18px!important;background:#fff!important;border:0!important;border-bottom:1px solid var(--tsc-line)!important;color:var(--tsc-ink)!important}
body#calendar #container .eventdate{grid-column:1;border-left:1px solid var(--tsc-line)!important}body#calendar #container .eventname{grid-column:2}body#calendar #container .eventdetails{grid-column:3;border-right:1px solid var(--tsc-line)!important}
body#calendar #container .eventdate p,body#calendar #container .eventname p,body#calendar #container .eventdetails p{margin:0!important;padding:0!important;font-family:var(--tsc-sans)!important}
body#calendar #container .eventdate>p>a:first-child{display:block;color:var(--tsc-navy);font-size:14px;font-weight:700;line-height:1.35;text-decoration:none}
body#calendar #container .eventdate img{width:20px!important;height:20px!important;margin-top:12px!important;opacity:.75;transition:opacity .2s}
body#calendar #container .eventdate img:hover{opacity:1}
body#calendar #container .eventname p{color:var(--tsc-ink)!important;font:600 18px/1.4 var(--tsc-serif)!important}
body#calendar #container .eventname p{color:var(--tsc-ink)!important;font:600 15px/1.5 var(--tsc-sans)!important}
body#calendar #container .eventdetails p{color:var(--tsc-muted)!important;font:400 13px/1.65 var(--tsc-sans)!important}
body#calendar #container .eventdetails a{display:inline-block;margin-top:8px;color:var(--tsc-blue)!important;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
body#calendar #container .highlight{background:#fff!important}
body#calendar #container .boldtext{background:#f1f6fc!important}
body#calendar #container .boldtext.eventdate{border-left:4px solid var(--tsc-blue)!important}
body#calendar #container .boldtext.eventname p{color:var(--tsc-navy)!important}

@media(max-width:900px){body#calendar #container #calendarcontainer{grid-template-columns:115px minmax(180px,.8fr) minmax(250px,1.4fr)}body#calendar #container .eventdate,body#calendar #container .eventname,body#calendar #container .eventdetails{padding:20px 14px!important}body#calendar #container .eventname p{font-size:16px!important}}
@media(max-width:650px){body#calendar #container{width:calc(100% - 24px)!important;padding:42px 12px!important;font-size:15px}body#calendar #container .subcontainer>h1{font-size:2.15rem!important}body#calendar #container .subcontainer>#calendarcontainer{margin-top:44px!important}body#calendar #container #calendarcontainer{display:grid!important;grid-template-columns:86px 1fr}body#calendar #container .calendaryearrow{grid-column:1/-1;margin-top:50px!important;font-size:1.75rem!important}body#calendar #container .eventdateheading,body#calendar #container .eventnameheading,body#calendar #container .eventdetailsheading{display:none!important}body#calendar #container .eventdate{grid-column:1!important;grid-row:span 2;padding:18px 10px!important;border-left:3px solid var(--tsc-blue)!important;border-top:1px solid var(--tsc-line)!important}body#calendar #container .eventname{grid-column:2!important;padding:18px 15px 4px!important;border-top:1px solid var(--tsc-line)!important;border-right:1px solid var(--tsc-line)!important}body#calendar #container .eventdetails{grid-column:2!important;padding:5px 15px 20px!important;border-right:1px solid var(--tsc-line)!important}body#calendar #container .eventname p{font-size:17px!important}body#calendar #container .eventdetails p{font-size:12px!important}}
@media(max-width:650px){body#calendar #container{width:calc(100% - 24px)!important;padding:26px 12px!important;font-size:15px}body#calendar #container .subcontainer>h1{font-size:1.9rem!important}body#calendar #container .subcontainer>#calendarcontainer{margin-top:24px!important}body#calendar #container #calendarcontainer{display:grid!important;grid-template-columns:86px 1fr}body#calendar #container .calendaryearrow{grid-column:1/-1;margin-top:50px!important;font-size:1.75rem!important}body#calendar #container .eventdateheading,body#calendar #container .eventnameheading,body#calendar #container .eventdetailsheading{display:none!important}body#calendar #container .eventdate{grid-column:1!important;grid-row:span 2;padding:18px 10px!important;border-left:3px solid var(--tsc-blue)!important;border-top:1px solid var(--tsc-line)!important}body#calendar #container .eventname{grid-column:2!important;padding:18px 15px 4px!important;border-top:1px solid var(--tsc-line)!important;border-right:1px solid var(--tsc-line)!important}body#calendar #container .eventdetails{grid-column:2!important;padding:5px 15px 20px!important;border-right:1px solid var(--tsc-line)!important}body#calendar #container .eventname p{font-size:15px!important}body#calendar #container .eventdetails p{font-size:12px!important}}
@media(prefers-reduced-motion:reduce){body#calendar #container *,body#calendar #container *:before,body#calendar #container *:after{transition:none!important}}
