.carousel{position:relative;width:100%;--slide-size: 100%}.carousel__container{display:flex}.carousel__viewport{width:100vw;overflow-x:hidden}.carousel__slide{flex:0 0 70%;min-width:0;padding-right:1rem}.carousel__slide:last-child:not(:first-child){padding-right:0}.carousel__nav{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex:1 0 auto}.carousel__buttons{display:flex;gap:.75rem}.carousel__button{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:2px solid var(--Brand-Dark-Plum, #821545);border-radius:8px;background:transparent;cursor:pointer;transition:background-color .2s ease,opacity .2s ease}.carousel__button:hover:not(:disabled){background-color:var(--brand-purple, #590934)}.carousel__button:hover:not(:disabled) img{filter:brightness(0) invert(1)}.carousel__button:disabled{opacity:.4;cursor:not-allowed}.carousel__button:focus-visible{outline:2px solid var(--brand-purple, #590934);outline-offset:2px}.carousel__button img{width:20px;height:20px;object-fit:contain;transition:filter .2s ease}.carousel__indicator{flex:1;display:flex;align-items:center}.carousel__indicator-track{position:relative;width:100%;height:2px;background-color:#e0e0e0;border-radius:2px}.carousel__indicator-active{position:absolute;height:4px;top:-1px;left:0;background-color:var(--Brand-Dark-Plum, #821545);border-radius:2px;transition:transform .3s ease}.upcoming-events-carousel .carousel__nav{margin-top:3rem}.extra-content{margin-top:1.5rem;display:flex;gap:5rem}@media(max-width:1024px){.upcoming-events-carousel .carousel__nav{padding:0 1rem;margin-top:1.75rem}.upcoming-events-carousel .carousel__buttons,.carousel__buttons{display:none}.carousel__nav{margin:0 1rem 1.5rem}.carousel__children{padding:0 1rem}.extra-content{display:block}}@media(max-width:767px){.carousel__slide{flex:0 0 100%;padding:0 1rem}.carousel__viewport{width:100%;overflow-x:hidden}.carousel__nav{flex-direction:column-reverse;gap:1rem}.carousel__indicator{width:100%}.carousel__button{width:40px;height:40px}.carousel__button img{width:16px;height:16px}}@media(min-width:768px){.carousel__slide{flex:0 0 60%;padding-right:1.5rem}.carousel__slide:last-child:not(:first-child){padding-right:0}}.upcoming-event-card{display:flex;gap:2rem;border-radius:16px;border:1px solid var(--BG-2---Beige, #d8d6ce);background:var(--neutral-1-white, #fff);padding:1.5rem;transition:transform .3s ease,box-shadow .3s ease;position:relative;height:100%}.upcoming-event-card:hover{transform:translateY(-4px)}.upcoming-event-card .card-image-wrapper{position:relative;width:45%;flex-shrink:0;border-radius:8px;overflow:hidden}.upcoming-event-card .card-image-wrapper:after{content:"";position:absolute;top:50%;transform:translateY(-50%);right:0;width:0;height:0;border-top:32px solid transparent;border-bottom:32px solid transparent;border-right:24px solid white}.upcoming-event-card .card-image-wrapper img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:4 / 3}.upcoming-event-card .badge{position:absolute;top:0;left:2rem;display:inline-block;font-family:var(--font-body);font-weight:700;font-size:12px;text-transform:uppercase;padding:6px 12px;border-bottom-left-radius:8px;border-bottom-right-radius:8px;letter-spacing:.5px;background:linear-gradient(to right,#ff960b,#ff6632);color:#fff;z-index:2}.upcoming-event-card .badge--upcoming{background:linear-gradient(to right,#ff960b,#ff6632)}.upcoming-event-card .badge--completed{background:var(--gradient-green)}.upcoming-event-card .card-content{flex:1;display:flex;flex-direction:column;align-items:baseline}.upcoming-event-card .event-title{font-family:var(--font-display);font-weight:800;font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.2;color:var(--brand-purple);text-transform:uppercase;margin:0 0 1rem;text-align:left}.upcoming-event-card .event-meta{display:flex;flex-direction:row;align-items:center;gap:.75rem;margin:0 0 .5rem}.upcoming-event-card .event-location{font-family:var(--font-body);font-size:1.05rem;font-weight:700;color:#333;margin:0}.upcoming-event-card .event-venue-tag{display:flex;padding:2px 12px;align-items:center;gap:8px;border-left:1px solid var(--Neutral-10, #788099);color:var(--Neutral-10, #788099);font-family:var(--font-body);font-size:14px;font-weight:400;line-height:20px}.upcoming-event-card .event-training-type-tag{display:inline-block;margin-bottom:.5rem;border:1px solid var(--Brand-Dark-Plum, #821545);padding:.25rem .5rem;letter-spacing:.5px;white-space:nowrap;border-radius:100px;color:var(--Brand-Dark-Plum, #821545);font-family:var(--font-body);font-size:12px;font-weight:400;line-height:16px}.upcoming-event-card .event-date{color:var(--neutral-13-black, #131625);font-family:var(--font-body);font-size:14px;font-weight:300;line-height:20px;margin-bottom:1.25rem}.upcoming-event-card .event-description{overflow:hidden;color:var(--Neutral-11, #5a627d);text-overflow:ellipsis;font-family:var(--font-body);font-size:16px;font-style:normal;font-weight:400;line-height:24px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;align-self:stretch;margin-bottom:1.25rem}.upcoming-event-card .card-actions{display:flex;gap:1rem;margin-top:auto;text-transform:uppercase;width:100%}.upcoming-event-card .card-actions a{width:100%;justify-content:center}.upcoming-event-card .btn-outline{display:inline-flex;align-items:center;padding:.75rem 1.25rem;border:1px solid var(--Brand-Dark-Plum, #821545);color:var(--Brand-Dark-Plum, #821545);font-family:var(--font-body);font-size:16px;font-weight:500;line-height:22px;background:transparent;text-decoration:none;border-radius:8px;transition:all .3s ease;cursor:pointer}.upcoming-event-card .btn-outline:hover{background-color:var(--brand-purple);color:#fff}.upcoming-event-card .btn-outline:focus{outline:2px solid var(--brand-purple);outline-offset:2px}.upcoming-event-card .btn-filled{display:inline-flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;background:var(--Brand-Dark-Plum, #821545);color:#fff;text-decoration:none;font-family:var(--font-body);font-weight:500;font-size:.9rem;letter-spacing:.5px;text-transform:uppercase;border-radius:8px;transition:all .3s ease;cursor:pointer}.upcoming-event-card .btn-filled:hover{background-color:#450728;transform:translate(4px);color:#fff}.upcoming-event-card .btn-filled:focus{outline:2px solid var(--brand-purple);outline-offset:2px}.upcoming-event-card .arrow-icon{object-fit:contain;transition:transform .3s ease}.upcoming-event-card .btn-filled:hover .arrow-icon{transform:translate(4px)}@media(max-width:1024px){.upcoming-event-card{flex-direction:column;padding:1.25rem;gap:1.25rem}.upcoming-event-card .card-image-wrapper{width:100%}.upcoming-event-card .card-image-wrapper img{aspect-ratio:74 / 59}.upcoming-event-card .event-title{color:var(--Brand-Dark-Wine, #590934);font-family:var(--font-display);font-size:22px;font-weight:700;line-height:32px}.upcoming-event-card .event-description{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;align-self:stretch;color:var(--neutral-13-black, #131625);text-overflow:ellipsis;font-family:var(--font-body);font-size:14px;font-weight:400;line-height:20px;margin-bottom:1.25rem}.upcoming-event-card .event-date{color:var(--neutral-13-black, #131625);font-family:var(--font-body);font-size:12px;font-style:normal;font-weight:300;line-height:16px;margin-bottom:1.25rem}.upcoming-event-card .card-actions{flex-direction:column;margin-top:0}.upcoming-event-card .btn-outline,.upcoming-event-card .btn-filled{width:100%;justify-content:center}.upcoming-event-card .card-image-wrapper:after{position:absolute;bottom:0;right:auto;width:0;height:0;left:1rem;border-left:21px solid transparent;border-right:21px solid transparent;border-bottom:16px solid white;transform:none;top:auto}}
