@keyframes magmaPulse{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.jam-link-block{max-width:45rem;height:20rem;min-height:30svh;justify-self:center;padding:.8rem;display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;border-radius:8px;box-shadow:0 0 20px 0 var(--second-yellow),0 0 40px -10px var(--shadow-purple);background-size:400% 400%;background:linear-gradient(140deg,var(--second-orange),var(--main-yellow),var(--second-orange));background-position:0% 50%;animation:magmaPulse 15s infinite ease-in-out;transition:background-position 2s cubic-bezier(.45,.05,.55,.95)}.jam-link-block:hover{background-position:100% 50%}#jam-list-heading{font-size:var(--fs-title);margin:2rem}.events-list{margin:.8rem 0}.events-wrapper{max-width:1200px;margin:0 auto}.suggestion-item{font-size:var(--fs-caption);padding:.2rem}.location-options-list{position:absolute;top:100%;left:0;width:90%;max-height:250px;overflow-y:auto;box-shadow:0 4px 6px #0000004d;margin:0;padding:.3rem;list-style:none;z-index:5;background-color:var(--ob-teal);color:var(--text-white)}.location-options-list:hover .suggestion-item{color:var(--grey-teal)}.location-options-list:hover .suggestion-item:hover{cursor:pointer;color:var(--ow-purple);color:var(--text-white)}.filter-bar{display:flex;flex-wrap:wrap;flex-direction:column;gap:1rem;padding:1.5rem;background:var(--special-teal);color:var(--text-black);font-weight:800;border-radius:12px;margin-bottom:2.3rem;align-items:center}#filter-title{text-align:left;align-self:flex-start}.filter-section{display:flex;flex-direction:row;gap:1rem;max-width:100%;justify-content:space-evenly;background-color:var(--shadow-teal);border-radius:8px;border-top:1.2px dotted var(--shadow-brown-2);border-bottom:1.2px dotted var(--shadow-brown-2)}.divider{padding-inline:.5rem}.filter-section.expanded{max-height:1000px;opacity:1;pointer-events:auto;padding-bottom:1rem}.filter-section.collapsed{display:none;pointer-events:none}.filter-field{border:0;display:flex;flex-direction:column;justify-content:space-evenly;flex:0 1 50%}.filter-group{display:flex;flex-direction:column;gap:8px;padding:1.2rem;border-radius:14px}fieldset{padding-block:0;padding-inline:0}.filter-group .input-label{font-size:.85rem;font-weight:600;color:var(--text-black);font-family:var(--font-rose-body);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.filter-group span{margin-top:.4rem}.filter-group .input-box{font-family:var(--font-rose-body);width:100%;padding:.6rem 1rem;font-size:.9rem;letter-spacing:.1rem;border:2px solid #ddd;border-radius:8px;background-color:#fff;cursor:pointer;transition:border-color .2s;font-family:Red Rose;font-weight:400}.filter-group .input-box:focus{border-color:var(--ow-purple);border-width:.15rem;outline:none}select option:disabled{color:var(--highlight-2);font-style:italic}.button-div{display:flex;flex-direction:row;gap:3rem;justify-items:space-between}.reset-button.hidden{display:block}.reset-button.visible{display:none}.reset-button{color:var(--ob-teal);font-family:var(--font-rose-body);transition:background .2s;padding:1rem 1.2rem;background:#f0f0f0;border:1px solid #ddd;border-radius:8px;cursor:pointer;font-weight:500}.reset-button:hover{background-color:var(--black);background:#e0e0e0;color:#d9534f}.expand-filter-button:hover{background-color:var(--black);background:var(--mid-yellow)}.expand-filter-button{padding:.5rem 1rem;background-color:var(--ow-yellow);color:var(--text-black);border-radius:18px;border:1px solid var(--text-black);cursor:pointer;font-family:var(--font-rose-body);font-weight:500;transition:background .2s}@media(max-width:690px){.filter-bar{gap:.8rem;flex-direction:column}.filter-bar select{padding:.2rem .5rem;font-size:.8rem;height:2.5rem}.filter-section{display:flex;flex-direction:column;gap:.6rem;max-width:100%}.filter-group{display:flex;flex-direction:column;gap:.8rem;max-width:100%;width:90%}.reset-button{align-self:center}}@media(max-width:350px){.filter-bar select{width:95%;height:2.2rem}}.results-meta{margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:1px solid #eee;color:#555;font-size:.95rem}.event-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,310px));gap:1rem;margin-top:2rem;grid-auto-flow:dense;justify-content:center}.scroll-hint{display:none}@media(max-width:750px){.event-grid{overflow-y:scroll;padding:2.2rem 4rem;max-height:580px;justify-self:center;border-radius:18px;background-color:var(--highlight);border:3px dotted var(--shadow-brown)}.scroll-hint{display:block;justify-self:center}}.no-events-fallback{grid-column:1 / -1;text-align:center;padding:3rem 2.3rem;border:2px dashed #eee;color:var(--black);border-radius:8px;background-color:var(--shadow-teal)}.event-card-link{text-decoration:none;color:inherit;display:block;height:450px}.event-card{display:grid;grid-template-rows:repeat(5,20%);grid-template-columns:100%;border-radius:12px;overflow:hidden;height:100%;background:var(--shadow-orange);box-shadow:0 0 4px 0 var(--box-teal),0 0 40px 0 var(--shadow-teal);transition:transform 1s .1s ease,box-shadow .5s ease,grid-row .5s ease;border:2px solid #eee}.event-card:hover{transform:translateY(-5px);box-shadow:0 7px 20px var(--mid-orange)}.event-card.featured{grid-column:span 2;border:2px solid #ff4500;background:#fff5f2;transform:scale(1.02);box-shadow:0 10px 20px #0000001a}.event-card.featured:hover{box-shadow:0 10px 10px #0000001a}@media(max-width:420px){.event-grid{grid-template-columns:repeat(auto-fill,320px);width:98%}.event-card-link{width:280px;justify-self:center}.event-card{width:250px;justify-self:center}}@media(max-width:320px){.event-grid{grid-template-columns:repeat(auto-fill,320px)}.event-card-link{width:290px;justify-self:center}.event-card{width:270px;justify-self:center}}.card-image-container{grid-row:1 / 4;grid-column:1 / -1;position:relative;aspect-ratio:16 / 9;background:var(--shadow-teal);z-index:10;transition:transform 1.4s ease}.card-image-container img.event-image{object-fit:cover;aspect-ratio:4 / 5;display:block}.event-type-label{position:absolute;top:1rem;right:1rem;background:var(--main-orange);text-transform:uppercase;color:#fff;padding:.3rem .8rem;border-radius:8px;font-size:.75rem;font-weight:600;backdrop-filter:blur(10px)}@media(max-width:420px){.card-image-container img.event-image{object-fit:cover;width:100%;aspect-ratio:4 / 5;display:block}.event-type-label{padding:.3rem .8rem;border-radius:8px;font-size:.63rem}}.card-body{grid-row:3 / 6;grid-column:1 / -1;z-index:15;padding:1.5rem;display:flex;flex-direction:column;flex-grow:1;overflow:hidden;gap:1.2rem;border-radius:26px 26px 0 0;background-color:var(--ow-brown);background-color:var(--grey-brown);margin:0;transition:transform .4s cubic-bezier(.175,.885,.32,1.275)}.card-header{display:flex;flex-direction:column;background-color:inherit;box-shadow:none;text-align:center;margin:.3rem 0}.event-title{width:100%;font-size:1.35rem;line-height:1.2;color:var(--second-orange);color:var(--text-white);text-align:center;word-wrap:balance;overflow-wrap:anywhere;text-transform:uppercase;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;height:3.2rem}.sub-title{color:var(--ow-brown);font-size:var(--fs-footer)}.title-wrap{display:flex;height:max-content;width:100%;grid-row:1 / 2;z-index:30}.event-card:hover .event-title{color:var(--grey);color:var(--main-orange)}.event-card:hover .card-body{transform:translateY(55%)}.age-tag{padding:.2rem .3rem;border:5px double var(--main-pink);font-size:var(--fs-footer);background-color:var(--shadow-pink);color:var(--main-pink);position:absolute;top:1rem;left:1rem;border-radius:8px;font-weight:600}.card-meta{height:62%;display:flex;flex-direction:column;justify-content:space-evenly}.sub-meta{display:grid;grid-template-columns:1fr 1fr;gap:1rem;width:100%}.meta-item{display:flex;width:100%;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.9rem;color:var(--ow-orange);color:var(--text-white)}.discipline{background-color:var(--main-yellow);padding:.3rem .6rem;font-size:.64rem;border-radius:3px 8px 8px;color:var(--main-black);text-transform:uppercase}.level{background-color:var(--main-purple);font-size:.64rem;padding:.3rem .6rem;border-radius:3px 8px 8px;color:var(--main-light);text-transform:uppercase}@keyframes shimmer{0%{background-position:-468px 0}to{background-position:468px 0}}.placeholder-image{width:100%;height:100%;background:#f6f7f8;background-image:linear-gradient(to right,#ebe8ea,#edeef1,#ebdbe4 40%,#faeef5);background-repeat:no-repeat;background-size:800px 100%;animation:shimmer 1.5s infinite linear;display:flex;align-items:center;justify-content:center;font-size:3rem}@media(max-width:420px){.card-body{padding:1rem;gap:1rem}.event-title{width:90%;font-size:1.15rem}.meta-item{gap:.4rem;font-size:.8rem}.discipline{width:40%;padding:.3rem .6rem;font-size:.54rem}.level{width:40%;font-size:.54rem}}.pagination-controls{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem;margin-bottom:3rem;padding-bottom:1.5rem}.pagination-controls button:disabled{opacity:.5;cursor:none}.page-button{cursor:pointer;padding:.3rem .5rem;color:var(--main-brown);border-color:var(--grey);background-color:transparent;border-radius:5px;font-weight:650;letter-spacing:.1ch;font-family:var(--font-rose-body)}.page-button:hover,button:active{border-color:var(--ow-brown)}.page-button.back{border-radius:10px 5px 5px 10px}.page-button.forward{border-radius:5px 10px 10px 5px}.fifty-fifty-section{margin:60px 0;padding:10px}.half-box{display:flex;flex-direction:row;width:100%;align-items:stretch;overflow:hidden}.half-box .image,.half-box .content-wrap{flex:1 1 50%;min-width:0}.half-box .image{line-height:0;overflow:hidden}#half-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}.half-box:hover #half-img{transform:scale(1.1)}.content-wrap{padding:2rem;background-color:var(--second-orange);display:flex;flex-direction:column;justify-content:center}.inner-wrap{display:flex;flex-direction:column;gap:1.5rem;align-items:center;text-align:center}.inner-wrap>p{max-width:45ch;font-size:var(--fs-p2);line-height:1.6}.inner-wrap>h2{align-self:center;font-size:var(--fs-heading-xl);text-wrap:balance;text-align:center}.btn-wrap{display:flex;margin:.2rem 0;width:100%;box-sizing:border-box;justify-content:space-around}@media(max-width:720px){.fifty-fifty-section{margin:2rem 0;padding:.3rem}.half-box{flex-direction:column;height:auto}.half-box .image{aspect-ratio:16 / 9;object-fit:cover}.half-box .content-wrap{flex:1 1 auto}}.past-events{margin-top:100px;min-height:300px}
