.CCDIndex{--hero-height: 56vw;--fade-height: 10vw;--content-bg-color: rgba(35, 35, 35, .826);--mobile-map-height: 200px;--hero-height-mobile: 56vw;--fade-height-mobile: 10vw;--bg-dark: #17171B;--primary-red: rgba(218, 21, 21, .9);--text-white-dim: rgba(255, 255, 255, .6);--text-white-bright: rgba(255, 255, 255, .9);--border-subtle: rgba(255, 255, 255, .1);--glass-bg: rgba(30, 30, 30, .8)}.CCDIndex .hero-container{position:relative;top:0;left:0;width:100%;height:var(--hero-height);overflow:hidden;z-index:0;pointer-events:none}.CCDIndex .hero-background{position:fixed;width:100%;top:0;z-index:0;opacity:.9;height:var(--hero-height)}.CCDIndex .hero-background-image{width:100%;height:100%;object-fit:cover;opacity:1}.CCDIndex .simon-parent{min-height:100vh;position:relative;z-index:1}.CCDIndex .simon-parent .simon-card-cont{margin-top:-5vw;padding-bottom:calc(5vw + 100px);position:relative;z-index:1}.CCDIndex .simon-parent .simon-bg-cont{height:100%;width:100%;position:absolute;pointer-events:none;z-index:0}.CCDIndex .simon-parent .simon-bg-cont .simon-gradient{height:5vw;background:linear-gradient(to bottom,#17171b00,#17171be2)}.CCDIndex .simon-parent .simon-bg-cont .simon-bg{background:#17171be2;height:100%}.CCDIndex .andy-simon{position:relative;min-height:100vh;margin-top:90vh;width:100%}.CCDIndex .andy-simon .andy-gradient{height:10vh;left:0;top:0;width:100%;background:linear-gradient(to bottom,#17171b00,#17171b)}.CCDIndex .hero-gradient{position:absolute;top:calc(var(--hero-height) * .9);width:100%;height:100%;min-height:105vh;background:linear-gradient(to bottom,#17171b00 0%,#17171B var(--fade-height),#17171B 100%);z-index:1}.CCDIndex .hero-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0 5%}.CCDIndex .hero-logo-container{width:100%;display:flex;justify-content:center;align-items:center}.CCDIndex .hero-logo{max-width:min(50vw,500px);height:auto;filter:drop-shadow(0 .5rem 2rem rgba(0,0,0,.8))}.CCDIndex .hero-logo-slot .hero-logo,.CCDIndex .hero-logo-slot .skeleton-logo{width:min(50vw,500px);max-width:none;aspect-ratio:var(--hero-logo-aspect)}.CCDIndex .hero-logo-slot .hero-logo{object-fit:contain}.CCDIndex .hero-logo-slot .skeleton-logo{border-radius:1rem}.CCDIndex .index-hero-title{margin:.75rem 0 0;color:var(--text-white-bright);font-size:clamp(1.125rem,2.2vw,1.875rem);font-weight:700;line-height:1.25;text-align:center;text-wrap:balance;text-shadow:0 .125rem 1rem rgba(0,0,0,.85)}.CCDIndex .tab-selector-wrapper{position:sticky;top:calc(0rem + var(--top-nav-height, 90px));z-index:110;font-size:.9rem;display:flex;justify-content:center;gap:.5rem;pointer-events:none;transition:opacity .35s cubic-bezier(.4,0,.2,1),transform .35s cubic-bezier(.4,0,.2,1)}.CCDIndex .tab-selector-wrapper.tab-bar-hidden{opacity:0;transform:translateY(-10px);pointer-events:none}.CCDIndex .tab-selector{display:flex;justify-content:center;align-items:center;gap:.5rem;max-width:600px;background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:50px;padding:.4rem;border:1px solid var(--border-subtle);box-shadow:0 .5rem 1.5rem #000000a8;pointer-events:auto}.CCDIndex .tab-button{flex:1;padding:.75rem 1.5rem;background:transparent;border:none;border-radius:50px;color:var(--text-white-dim);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap;text-decoration:none;text-align:center}.CCDIndex .tab-button:hover{color:var(--text-white-bright);background:#ffffff1a}.CCDIndex .tab-button.active{background:var(--primary-red);color:#fff;box-shadow:0 2px 8px #da15154d}.CCDIndex .loading-container{padding:4rem 2vw;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;position:relative;z-index:10;min-height:300px}.CCDIndex .loading-text{color:#fffc;font-size:1rem;font-weight:500;margin:0;letter-spacing:.5px}.CCDIndex .week-view-toggle{display:flex;justify-content:center;align-items:center;gap:.5rem;max-width:400px;margin:0 auto 1rem;background:#14141499;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:8px;padding:.4rem;border:1px solid rgba(255,255,255,.05)}.CCDIndex .toggle-button{flex:1;padding:.6rem 1rem;background:transparent;border:none;border-radius:6px;color:#ffffff80;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:.5rem}.CCDIndex .toggle-button:hover{color:#fffc;background:#ffffff0d}.CCDIndex .toggle-button.active{background:#da151533;color:#fff;border:1px solid rgba(218,21,21,.3)}.CCDIndex .toggle-button i{font-size:.9em}@media(max-width:768px){.CCDIndex .hero-container{height:var(--hero-height-mobile)}.CCDIndex .hero-logo{max-width:40vw}.CCDIndex .hero-logo-slot .hero-logo,.CCDIndex .hero-logo-slot .skeleton-logo{width:40vw}.CCDIndex .tab-selector-wrapper{padding-inline:10vw}.CCDIndex .tab-selector{gap:.35rem;padding:.3rem}.CCDIndex .tab-button{padding:.6rem 1rem;font-size:.85rem}.CCDIndex .week-view-toggle{max-width:100%;margin-bottom:.75rem}.CCDIndex .toggle-button{font-size:.8rem;padding:.5rem .75rem}}@media(max-width:480px){.CCDIndex .tab-selector-wrapper{padding-inline:10vw}.CCDIndex .tab-selector{gap:.25rem;padding:.25rem}.CCDIndex .tab-button{padding:.5rem .75rem;font-size:.8rem}.CCDIndex .toggle-button{font-size:.75rem;padding:.45rem .6rem;gap:.3rem}.CCDIndex .toggle-button i{font-size:.85em}.CCDIndex .loading-container{padding:3rem 2vw;min-height:250px}.CCDIndex .loading-text{font-size:.9rem}}.CampsIndex{--hero-logo-aspect: 300 / 81}.CampsIndex .tab-selector-secondary{max-width:none;margin:0}.CampsIndex .tab-button.tab-button-icon{flex:0;padding:.75rem;font-size:1.1rem}.CampsIndex .tab-button.tab-button-icon:hover{background:#ffffff26}.CampsIndex .camp-city-links{position:relative;z-index:2;padding:0 5vw 2rem;margin:0 0 1rem}.CampsIndex .camp-city-links-inner{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:1rem 2rem;align-items:center;padding:1.25rem 0;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}.CampsIndex .camp-city-links-heading h2{color:var(--text-white-bright);font-size:1.25rem;line-height:1.2;margin:0 0 .35rem}.CampsIndex .camp-city-links-heading p{color:var(--text-white-dim);font-size:.95rem;line-height:1.45;margin:0}.CampsIndex .camp-city-links-list{display:flex;flex-wrap:wrap;gap:.6rem}.CampsIndex .camp-city-link{color:var(--text-white-bright);background:color-mix(in srgb,var(--text-white-bright) 7%,transparent);border:1px solid var(--border-subtle);border-radius:8px;padding:.65rem .85rem;font-size:.9rem;font-weight:700;line-height:1.2;text-decoration:none;transition:background .2s ease,border-color .2s ease,transform .2s ease}.CampsIndex .camp-city-link:hover,.CampsIndex .camp-city-link:focus-visible{background:color-mix(in srgb,var(--primary-red) 20%,transparent);border-color:color-mix(in srgb,var(--primary-red) 45%,transparent);transform:translateY(-1px)}.CampsIndex .camp-city-link:focus-visible{outline:2px solid var(--text-white-bright);outline-offset:3px}@media(max-width:768px){.CampsIndex .camp-city-links{padding:0 5vw 1.5rem}.CampsIndex .camp-city-links-inner{grid-template-columns:1fr;align-items:start}.CampsIndex .camp-city-links-list{gap:.5rem}.CampsIndex .camp-city-link{flex:1 1 calc(50% - .5rem);text-align:center}}@media(max-width:480px){.CampsIndex .camp-city-links{padding-inline:1rem}.CampsIndex .camp-city-link{flex-basis:100%}}.SessionSelectionModal{--text-gray: #666;--text-dark: #1a1a1a;--text-medium: #333;--border-color: rgba(0, 0, 0, .1);--primary-red: rgba(218, 21, 21, .5);--primary-red-bg: rgba(218, 21, 21, .02);--icon-color: rgba(0, 0, 0, .4);--card-transition: all .2s ease}.SessionSelectionModal .modal-subtitle{margin:0 0 .75rem;color:var(--text-gray);font-size:.9rem}.SessionSelectionModal .sessions-list{display:flex;flex-direction:column;gap:.625rem}.SessionSelectionModal .session-card{padding:.75rem 1rem;border:1.5px solid var(--border-color);border-radius:8px;background:#fff;display:flex;align-items:center;gap:1rem;transition:var(--card-transition);cursor:pointer;text-decoration:none;color:inherit}.SessionSelectionModal .session-card:hover{border-color:var(--primary-red);background:var(--primary-red-bg);transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.SessionSelectionModal .session-card:hover .session-meta>i{color:#da1515b3;transform:translate(3px)}.SessionSelectionModal .session-card:focus-visible{outline:2px solid rgba(218,21,21,.8);outline-offset:2px}.SessionSelectionModal .session-info{flex:1;display:flex;flex-direction:column;gap:.375rem}.SessionSelectionModal .session-location{font-size:.9rem;font-weight:700;color:var(--text-dark);margin-bottom:.125rem}.SessionSelectionModal .session-dates{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-medium);font-weight:500}.SessionSelectionModal .session-dates i{color:var(--icon-color);width:.875rem;font-size:.8rem;flex-shrink:0}.SessionSelectionModal .session-days{font-size:.8rem;color:var(--text-gray);line-height:1.3;padding-left:1.375rem}.SessionSelectionModal .session-time{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-medium);font-weight:500}.SessionSelectionModal .session-time i{color:var(--icon-color);width:.875rem;font-size:.75rem;flex-shrink:0}.SessionSelectionModal .session-age-grade{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-medium);font-weight:500}.SessionSelectionModal .session-age-grade i{color:var(--icon-color);width:.875rem;font-size:.8rem;flex-shrink:0}.SessionSelectionModal .session-age-grade span:not(:last-child):after{content:" • ";margin:0 .25rem}.SessionSelectionModal .session-meta{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.SessionSelectionModal .session-meta>i{color:#0000004d;font-size:.9rem;transition:var(--card-transition)}.SessionSelectionModal .reg-status{padding:.5rem .875rem;border-radius:6px;font-size:.8rem;font-weight:600;text-transform:uppercase;display:flex;align-items:center;gap:.5rem;background:#6b728026;color:#9ca3af;border:1px solid rgba(107,114,128,.25);white-space:nowrap}.SessionSelectionModal .reg-status.open{background:#10b9811f;color:#6ee7b7;border-color:#10b98140}.SessionSelectionModal .reg-status.full{background:#ef44441f;color:#fca5a5;border-color:#ef444440}.SessionSelectionModal .reg-status.closed{background:#6b72801f;color:#9ca3af;border-color:#6b728040}.SessionSelectionModal .reg-status.limited{background:#f59e0b1f;color:#fbbf24;border-color:#f59e0b40}.SessionSelectionModal .reg-status i{font-size:.9em}@media(max-width:968px){.SessionSelectionModal .session-card{padding:.625rem .875rem;gap:.75rem}.SessionSelectionModal .session-info{gap:.25rem}.SessionSelectionModal .session-location{font-size:.85rem}.SessionSelectionModal .session-dates,.SessionSelectionModal .session-time,.SessionSelectionModal .session-age-grade,.SessionSelectionModal .session-days{font-size:.8rem}.SessionSelectionModal .session-meta{gap:.625rem}}@media(max-width:768px){.SessionSelectionModal .sessions-list{gap:.5rem}.SessionSelectionModal .session-card{padding:.625rem .75rem;flex-direction:column;align-items:flex-start;gap:.625rem}.SessionSelectionModal .session-info{width:100%;gap:.25rem}.SessionSelectionModal .session-location{font-size:.85rem}.SessionSelectionModal .session-dates{font-size:.8rem}.SessionSelectionModal .session-days,.SessionSelectionModal .session-time,.SessionSelectionModal .session-age-grade{font-size:.75rem}.SessionSelectionModal .session-meta{align-self:flex-start;gap:.5rem}}
