﻿/* Copied unchanged from the Contentful block 1gquI7VdsVnIcI6SB2Q5Oy on Nov 13 2026. Do not edit in place: upload a new version. */
/* ═══════════════════════════════════════════════════════════
     TRACKERS 4: DIRECTORY PICKER  v3.5 (needs Universal 1 v2.5, engine v2.11)
     One entry per site, linked on every directory page (winter
     break, no-school hubs, summer), never edited. Contains:
     directory CSS, directory markup, and the extras module (seat
     counts + JSON-LD). Replaces the separate Directory css /
     markup / extras entries. Still needed alongside it:
     the photo library entry, the engine entry, and the per-page
     config block.
     v3.5 (Nov 12 2026): extras v2.4, seat counts can no longer be
     requested twice or added twice (see D5).
═══════════════════════════════════════════════════════════ */
/* ═══════════════════════════════════════════════════════════
     TRACKERS DIRECTORY (tcm) D1: CSS  v3.1
     Layout only: grid cells, View Session buttons, scroll hints, sections,
     dense mode, availability. Shell, tabs, banner, filters, grid chrome and
     phone cards live in Universal 1 (U1b shared components).
═══════════════════════════════════════════════════════════ */

.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;}
#tcm-camp-count .tcm-banner-name{font-size:18px;font-weight:800;line-height:1.2;letter-spacing:.01em;white-space:nowrap;}
#tcm-camp-count .tcm-banner-sep{font-size:18px;font-weight:400;opacity:.6;margin:0 10px;line-height:1.2;}
.tcm-tb[title]{position:relative;cursor:pointer;}
.tcm-tb[title]:hover::after{content:attr(title);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:#2c2c2c;color:#fff;font-size:11px;font-weight:500;text-transform:none;letter-spacing:0;padding:6px 10px !important;border-radius:6px !important;white-space:normal;width:220px;line-height:1.4 !important;z-index:200;pointer-events:none;box-shadow:0 2px 8px rgba(0,0,0,.25);}
.tcm-tb[title]:hover::before{content:'';position:absolute;bottom:calc(100% + 3px);left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:#2c2c2c;z-index:200;pointer-events:none;}
#tcm-filter-active{display:none;align-items:center;gap:8px;padding:4px 24px 10px;background:var(--soft);}
#tcm-filter-active.tcm-fa-on{display:flex;}
#tcm-filter-active-label{font-size:12px;font-weight:700;color:#7a5c28;letter-spacing:.02em;}
#tcm-filter-active-reset{font-size:12px;font-weight:700;color:#fff;background:#c89030;border:none;border-radius:20px;padding:4px 12px !important;cursor:pointer;transition:background .1s;line-height:1.2 !important;}
#tcm-filter-active-reset:hover{background:#9a6818;}
#tcm-desktop{display:block;}
#tcm-mobile{display:none;}
#tcm-sticky-clone th:last-child{border-right:none;}
#tcm-tbl-wrap col.tcm-c0{width:var(--tcm-c0-w,290px);}
#tcm-tbl-wrap col.tcm-cw{width:88px;}
#tcm-tbl-wrap tbody tr{}
#tcm-tbl-wrap .tcm-c0-cell{position:sticky;left:0;z-index:12;padding:0 !important;vertical-align:top;border-right:none;width:var(--tcm-c0-w,290px);box-shadow:4px 0 8px rgba(0,0,0,.12), inset 0 -1px 0 #ccc8be;font-weight:inherit;}
#tcm-tbl-wrap th.tcm-c0-cell{text-transform:none;letter-spacing:normal;font-size:inherit;color:inherit;background:inherit;text-align:left;white-space:normal;position:sticky;top:auto;box-shadow:4px 0 8px rgba(0,0,0,.12);border-right:none;}
#tcm-tbl-wrap .tcm-c0-cell a{display:block;text-decoration:none;color:inherit;padding:10px 14px !important;}
#tcm-tbl-wrap tbody tr:nth-child(odd) .tcm-c0-cell{background:#fff;}
#tcm-tbl-wrap tbody tr:nth-child(even) .tcm-c0-cell{background:var(--paper);}
#tcm-tbl-wrap .tcm-c0-cell a:hover .tcm-camp-name{text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;}
.tcm-cell-inner{display:flex;gap:14px;align-items:center;}
.tcm-thumb,.tcm-thumb-ph{width:72px;height:72px;border-radius:9px;flex-shrink:0;border:1px solid #d0c8b0;}
.tcm-thumb{object-fit:cover;}
.tcm-thumb-ph{background:linear-gradient(160deg,#c8b890,#a89870);display:flex;align-items:center;justify-content:center;font-size:30px;}
.tcm-cell-text{flex:1;min-width:0;}
.tcm-type-badge{display:inline-block;font-size:10px;font-weight:700;padding:4px 9px !important;border-radius:5px !important;text-transform:uppercase;letter-spacing:.03em;line-height:1.1 !important;white-space:nowrap;cursor:help;position:relative;}
.tcm-type-badge:hover::after{content:attr(title);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:#2c2c2c;color:#fff;font-size:11px;font-weight:500;text-transform:none;letter-spacing:0;padding:6px 10px !important;border-radius:6px !important;white-space:normal;width:200px;line-height:1.4 !important;z-index:100;pointer-events:none;box-shadow:0 2px 8px rgba(0,0,0,.25);}
.tcm-type-badge:hover::before{content:'';position:absolute;bottom:calc(100% + 1px);left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:#2c2c2c;z-index:100;pointer-events:none;}
.tcm-ov-b{background:#e8e4f0;color:#2a2a5a;border:1px solid #8888c0;}
.tcm-ex-b{background:#e4f0ec;color:#1a4a38;border:1px solid #6ab49a;}
.tcm-bc-b{background:#e3f0dc;color:#234b17;border:1px solid #7fb16c;}
.tcm-tr-b{background:#dce8f4;color:#12305a;border:1px solid #80a8d8;}
.tcm-lit-b{background:#efe5d7;color:#5d4518;border:1px solid #ba9860;}
.tcm-st-b{background:#f4dce0;color:#6a1828;border:1px solid #c87080;}
#tcm-tbl-wrap td.tcm-wk{padding:0 !important;text-align:center;vertical-align:middle;width:88px;cursor:pointer;transition:background .12s;box-shadow:inset -1px 0 0 #d0cbbe, inset 0 -1px 0 #ccc8be;}
#tcm-tbl-wrap td.tcm-wk a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;height:100%;min-height:72px;padding:10px 6px !important;text-decoration:none;}
#tcm-tbl-wrap td.tcm-wk:not(.tcm-wk-empty){background-color:var(--tcm-loc-tint,#e8f0f8);}
#tcm-tbl-wrap tbody tr:nth-child(even) td.tcm-wk:not(.tcm-wk-empty){background-color:var(--tcm-loc-tint,#e8f0f8);}
#tcm-tbl-wrap td.tcm-wk:not(.tcm-wk-empty):hover{background:var(--tcm-loc-tint-hover,#cfe0f2) !important;}
#tcm-tbl-wrap td.tcm-wk:last-child{box-shadow:none;}
.tcm-lm-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;width:calc(100% - 6px) !important;margin:0 auto !important;font-size:11px;font-weight:700;background:#c89030;color:#fff;border:none !important;border-radius:5px !important;padding:11px 10px !important;text-align:center;line-height:1.3 !important;letter-spacing:.04em;text-transform:uppercase;transition:background .1s,transform .1s;}
.tcm-lm-btn:hover{background:#9a6818;transform:scale(1.02);}
#tcm-tbl-wrap td.tcm-wk:not(.tcm-wk-empty):hover .tcm-lm-btn{transform:scale(1.06);}
#tcm-scroll-hint{position:absolute;right:0;top:0;bottom:0;width:72px;pointer-events:none;border-radius:0 0 18px 0;background:linear-gradient(to right,rgba(255,255,255,0) 0%,rgba(255,248,235,.96) 100%);z-index:30;display:flex;justify-content:flex-end;padding-right:10px;transition:opacity .3s;}
#tcm-scroll-hint.tcm-sh-hide{opacity:0;pointer-events:none;}
#tcm-scroll-hint-btn{width:40px;height:40px;border-radius:50%;background:#c89030;display:flex;align-items:center;justify-content:center;cursor:pointer;pointer-events:auto;box-shadow:0 3px 8px rgba(0,0,0,.28);transition:background .15s,transform .1s;border:none;flex-shrink:0;}
#tcm-scroll-hint-btn:active{transform:scale(.93);}
#tcm-scroll-hint-btn:hover{background:#9a6818;}
#tcm-scroll-hint-btn svg{display:block;}
#tcm-col-divider{position:absolute;top:0;bottom:0;width:1px;background:#aaa;z-index:25;pointer-events:none;}
#tcm-scroll-hint-left{position:absolute;left:calc(var(--tcm-c0-w,290px) + 1px);top:0;bottom:0;width:72px;pointer-events:none;background:linear-gradient(to right,rgba(255,248,235,1) 0px,rgba(255,248,235,1) 4px,transparent 56px);z-index:30;display:flex;justify-content:flex-start;padding-left:10px;transition:opacity .3s;opacity:0;}
#tcm-scroll-hint-left.tcm-sh-show{opacity:1;pointer-events:auto;}
#tcm-scroll-hint-left-btn{width:40px;height:40px;border-radius:50%;background:#c89030;display:flex;align-items:center;justify-content:center;cursor:pointer;pointer-events:auto;box-shadow:0 3px 8px rgba(0,0,0,.28);transition:background .15s,transform .1s;border:none;flex-shrink:0;position:absolute;}
#tcm-scroll-hint-left-btn:active{transform:scale(.93);}
#tcm-scroll-hint-left-btn:hover{background:#9a6818;}
#tcm-scroll-hint-left-btn svg{display:block;}
.tcm-card-photo,.tcm-card-photo-ph{width:92px;height:88px;border-radius:9px;flex-shrink:0;border:1px solid #d0c8b0;}
.tcm-card-photo{object-fit:cover;}
.tcm-card-photo-ph{background:linear-gradient(160deg,#c8b890,#a89870);display:flex;align-items:center;justify-content:center;font-size:32px;}
.tcm-card-btns{padding:0 14px 14px !important;}
.tcm-card-single-btn{width:100%;padding:13px 16px !important;border:none !important;border-radius:6px !important;background:#c89030;color:#fff;font-size:14px;font-weight:800;line-height:1 !important;letter-spacing:.02em;transition:opacity .12s;display:flex;align-items:center;justify-content:center;gap:8px;}
.tcm-card-single-btn:active{opacity:.85;}
.tcm-vd-label{flex:1;text-align:left;}
.tcm-card-vd{width:100%;}
.tcm-vd-count{font-size:12px;font-weight:700;opacity:.75;white-space:nowrap;}
.tcm-date-copy{min-width:0;}
.tcm-date-label{font-size:15px;font-weight:700;color:#2c2c2c;line-height:1.25 !important;}
.tcm-date-full{display:inline-block;margin-top:5px !important;font-size:10px;font-weight:700;padding:3px 8px !important;border-radius:12px !important;background:#888;color:#fff;line-height:1 !important;}
.tcm-sel-btn{padding:11px 20px !important;border:none !important;border-radius:7px !important;background:#c89030;color:#fff;font-size:13px;font-weight:800;white-space:nowrap;line-height:1 !important;letter-spacing:.02em;transition:background .1s;flex-shrink:0;min-width:90px;text-align:center;}
.tcm-sel-btn:active{background:#9a6818;}
.tcm-empty-reset:hover{background:#1a2210;}
#tcm-tbody,#tcm-mobile-list{transition:opacity .15s ease;will-change:opacity;-webkit-transform:translateZ(0);transform:translateZ(0);}
#tcm-tbody.tcm-fading,#tcm-mobile-list.tcm-fading{opacity:0;}
@media (max-width:680px){
#tcm-desktop{display:none;}
#tcm-mobile{display:block;}
#tcm-camp-count .tcm-banner-name{font-size:15px;}
#tcm-camp-count .tcm-banner-sep{display:none;}
.tcm-card-meta{margin-top:2px !important;margin-bottom:2px !important;gap:8px;}
.tcm-card-btns{padding:0 14px 14px !important;}
}
#tcm .tcm-thumb{transition:transform .22s ease,box-shadow .22s ease;box-shadow:0 1px 3px rgba(60,45,20,.18)}
#tcm tbody tr:hover .tcm-thumb{transform:scale(1.06);box-shadow:0 3px 8px rgba(60,45,20,.28)}
#tcm tbody tr{transition:background .15s ease}
#tcm tbody tr:hover .tcm-c0-cell,
#tcm tbody tr:hover td.tcm-wk:not(.tcm-wk-empty){background-color:var(--tcm-loc-tint) !important}
#tcm tbody td.tcm-wk,#tcm tbody .tcm-c0-cell{border-bottom:1px solid rgba(120,105,75,.22) !important}
#tcm tbody td.tcm-wk,#tcm tbody .tcm-c0-cell{background-image:linear-gradient(to top,rgba(120,105,75,.28) 0,rgba(120,105,75,.28) 1px,rgba(0,0,0,0) 1px) !important}
#tcm .tcm-lm-btn{transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;box-shadow:0 1.5px 4px rgba(120,85,20,.25);max-width:118px}
#tcm .tcm-lm-btn span{display:block}
#tcm td.tcm-wk{text-align:center}
#tcm td.tcm-wk a:hover .tcm-lm-btn{transform:translateY(-1.5px);box-shadow:0 5px 12px rgba(120,85,20,.35);filter:brightness(1.06)}
#tcm td.tcm-wk a:active .tcm-lm-btn{transform:translateY(0);box-shadow:0 1px 3px rgba(120,85,20,.3)}
#tcm thead th{letter-spacing:.04em}
#tcm .tcm-wk-line1{opacity:.82;font-size:11px;letter-spacing:.08em}
#tcm .tcm-wk-line2{font-size:14px;font-weight:800}
#tcm .tcm-camp-name{letter-spacing:-.01em;line-height:1.2}
#tcm .tcm-camp-sub{opacity:.85;line-height:1.3}
#tcm .tcm-type-badge{letter-spacing:.05em;font-weight:800}
#tcm .tcm-card{transition:box-shadow .2s ease,transform .2s ease}
#tcm .tcm-card:hover{box-shadow:0 4px 14px rgba(60,45,20,.14);transform:translateY(-1px)}
#tcm .tcm-card-photo{box-shadow:0 1px 4px rgba(60,45,20,.2)}
#tcm .tcm-sel-btn,#tcm .tcm-card-single-btn,#tcm .tcm-card-vd{transition:filter .15s ease,transform .15s ease}
#tcm .tcm-sel-btn:hover,#tcm .tcm-card-single-btn:hover{filter:brightness(1.07)}
#tcm .tcm-sel-btn:active,#tcm .tcm-card-single-btn:active{transform:scale(.98)}
#tcm-narrow-hint{margin:2px 0 10px;font-size:13px;color:#6b6252;text-align:center;font-weight:600}
#tcm .tcm-sec td{padding:8px 12px !important;position:relative;z-index:26;border-bottom:1px solid rgba(0,0,0,.06)}
#tcm .tcm-sec span{position:sticky;left:12px;display:inline-block;font-weight:800;font-size:14px;letter-spacing:.1em;text-transform:uppercase}
#tcm .tcm-sec-basecamp td{background:#e3f0dc !important;color:#234b17}
#tcm .tcm-sec-adventure td{background:#dce8f4 !important;color:#12305a}
#tcm .tcm-sec-leadership td{background:#e6d6bc !important;color:#4a3510}
#tcm .tcm-sec-studio td{background:#f4dce0 !important;color:#6a1828}
#tcm .tcm-sec-m{margin:16px 2px 8px;font-weight:800;font-size:13px;letter-spacing:.1em;text-transform:uppercase;border-radius:8px;padding:7px 12px}
#tcm .tcm-sec-m.tcm-sec-basecamp{background:#e3f0dc;color:#234b17}
#tcm .tcm-sec-m.tcm-sec-adventure{background:#dce8f4;color:#12305a}
#tcm .tcm-sec-m.tcm-sec-leadership{background:#e6d6bc;color:#4a3510}
#tcm .tcm-sec-m.tcm-sec-studio{background:#f4dce0;color:#6a1828}
#tcm.tcm-dense .tcm-thumb{width:56px !important;height:56px !important}
#tcm.tcm-dense .tcm-cell-inner{padding:4px 8px 4px 2px !important;gap:7px !important}
#tcm.tcm-dense .tcm-camp-name{font-size:15.5px !important;line-height:1.15 !important}
#tcm.tcm-dense .tcm-camp-sub{font-size:11px !important;line-height:1.2 !important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal;max-width:245px}
#tcm.tcm-dense .tcm-col-grade{font-size:10px !important;letter-spacing:0 !important}
#tcm.tcm-dense .tcm-type-badge{font-size:8px !important;padding:1px 4px !important}
#tcm.tcm-dense .tcm-lm-btn{padding:5px 8px !important;font-size:10px !important;line-height:1.2 !important}
#tcm.tcm-dense td.tcm-wk{height:auto !important}
#tcm.tcm-dense .tcm-grade-badge-row{margin-top:1px !important}
#tcm.tcm-dense .tcm-grade-badge-row{display:flex !important;flex-wrap:nowrap !important;align-items:center;gap:4px;white-space:nowrap;margin-top:1px !important}
#tcm.tcm-dense .tcm-grade-badge-row .tcm-col-grade{overflow:hidden;text-overflow:ellipsis}
#tcm.tcm-dense .tcm-type-badge{flex-shrink:0}
#tcm .tcm-lm-btn{background:#fbefd2;color:#8a5a12;box-shadow:none;border:1px solid #ead9ad !important}
#tcm td.tcm-wk:not(.tcm-wk-empty):hover .tcm-lm-btn,
#tcm td.tcm-wk a:hover .tcm-lm-btn,
#tcm td.tcm-wk a:focus-visible .tcm-lm-btn{background:#c89030;color:#fff;border-color:#c89030 !important;box-shadow:0 5px 12px rgba(120,85,20,.35)}
#tcm .tcm-lm-btn.tcm-soldout,
#tcm td.tcm-wk:not(.tcm-wk-empty):hover .tcm-lm-btn.tcm-soldout,
#tcm td.tcm-wk a:hover .tcm-lm-btn.tcm-soldout{background:#e8e3d9;color:#6f685c;border-color:#d8d2c6 !important;box-shadow:none;transform:none;filter:none}
#tcm .tcm-sel-btn.tcm-soldout,#tcm .tcm-card-single-btn.tcm-soldout{background:#d9d3c8;color:#5f584d}
#tcm.tcm-dense .tcm-left{font-size:11px}
#tcm .tcm-card-btns .tcm-date-left{text-align:center;margin-top:6px}
#tcm .tcm-thumb-ph,#tcm .tcm-card-photo-ph{font-family:'Nunito',system-ui,sans-serif;font-weight:900;color:#fff}
#tcm .tcm-empty-icon{line-height:0}
/* v3.4 (Oct 28 2026): site tabs are pills with the ring badge and label inside, the
   cart picker's .cp-site markup one size larger; the selected site shows as a white
   card with a colored top edge (was a full-width band); ov type pill styled. */
#tcm #tcm-loc-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;padding:6px 24px 14px!important;overflow:visible}
#tcm .tcm-lt{flex-direction:row;align-items:center;gap:.65rem;padding:.55rem 1.05rem .55rem .6rem!important;border:2px solid var(--line,#e9ecef)!important;border-radius:999px!important;background:#fff;opacity:1;font-size:16px;font-weight:800;color:#121212;line-height:1.15!important;transition:border-color .15s,background .15s}
#tcm .tcm-lt:hover{opacity:1;border-color:var(--lc)!important}
#tcm .tcm-lt .cp-site-dot{width:36px;height:36px;border-radius:50%;background:var(--lc);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:900;letter-spacing:.02em;flex-shrink:0}
#tcm .tcm-lt.tcm-on{border-color:var(--lc)!important;background:var(--lc);color:#fff}
#tcm .tcm-lt.tcm-on .cp-site-dot{box-shadow:0 0 0 2px #fff}
#tcm .tcm-lt .cp-site-name{white-space:nowrap}
#tcm #tcm-addr-bar{margin:16px 24px 4px;border:1.5px solid var(--line,#e9ecef);border-top:5px solid var(--loc);border-radius:14px;background:#fff;color:#121212}
#tcm #tcm-tab-pointer{top:-15px}
#tcm #tcm-camp-count{color:#121212;padding:14px 18px 12px!important;flex-wrap:wrap;align-items:baseline;gap:.35rem .5rem}
#tcm #tcm-camp-count .tcm-banner-name{font-family:'Nunito',system-ui,sans-serif;font-size:1.15rem;font-weight:900;color:#121212}
#tcm #tcm-camp-count .tcm-banner-sep{opacity:.45;margin:0 .15rem!important;font-size:1rem}
#tcm #tcm-camp-count .tcm-banner-addr{font-size:.92rem;font-weight:600;opacity:1;color:#3a3f46}
#tcm .tcm-tb-ov{background:#e8e4f0;color:#2a2a5a;border-color:#8888c0!important}
#tcm .tcm-tb-ov.tcm-on{background:#4a4a6a;color:#fff;border-color:#4a4a6a!important}
@media (max-width:900px){#tcm #tcm-addr-bar{margin:14px 14px 4px}#tcm #tcm-loc-tabs{padding:6px 14px 14px!important}}
@media (max-width:680px){#tcm .tcm-lt{font-size:15px;padding:.45rem .9rem .45rem .5rem!important}#tcm .tcm-lt .cp-site-dot{width:32px;height:32px;font-size:.74rem}#tcm #tcm-camp-count .tcm-banner-addr{white-space:normal}}
