@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUpFade{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.event-notification{background:var(--gradient-primary);color:#fff;padding:1rem 0;position:relative;z-index:10}.event-notification .container{display:flex;justify-content:space-between;align-items:center}.event-meta span,.notification-content{display:flex;align-items:center;gap:1rem}.notification-icon{width:50px;height:50px;background:rgba(255,255,255,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.notification-text h3{margin-bottom:.25rem;font-size:1.1rem}.notification-text p{margin-bottom:0;color:rgba(255,255,255,.9);font-size:.9rem}.notification-close{background:0 0;border:0;color:#fff;font-size:1.2rem;cursor:pointer;transition:var(--transition)}.notification-close:hover{transform:scale(1.1)}.featured-event{padding-top:3rem}.featured-event-card{background:var(--bg-tertiary);border-radius:24px;overflow:hidden;box-shadow:var(--shadow-lg);display:grid;grid-template-columns:1fr 1fr}.event-image{position:relative;height:100%;min-height:400px}.event-image img,.highlight-image img{width:100%;height:100%;object-fit:cover}.event-badge{position:absolute;top:1rem;left:1rem;padding:.5rem 1rem;border-radius:50px;font-weight:600;font-size:.85rem;text-transform:uppercase}.event-badge.upcoming{background:var(--primary-color);color:#fff}.event-badge.current{background:var(--secondary-color);color:#fff}.event-badge.past{background:var(--text-light);color:#fff}.event-details{padding:2.5rem}.event-meta{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.event-meta span{gap:.5rem;font-size:.9rem;color:var(--text-secondary)}.event-info i,.event-meta i{color:var(--primary-color-light)}.event-category{padding:.25rem .75rem;border-radius:50px;font-size:.8rem;font-weight:600}.event-category.academic,span.academic{background:rgba(212,175,55,.1);color:var(--primary-color-light)}.event-category.cultural,span.cultural{background:rgba(255,127,36,.1);color:var(--secondary-color)}.event-category.sports,span.sports{background:rgba(193,58,56,.1);color:var(--accent-color)}.event-category.community,span.community{background:rgba(229,199,96,.1);color:var(--primary-color-light)}.event-category.holidays,span.holidays{background:rgba(193,58,56,.1);color:var(--accent-color)}.event-card p,.event-details h2{margin-bottom:1rem;color:var(--text-primary)}.event-description{margin-bottom:2rem;line-height:1.7}.event-cta{display:flex;gap:1rem}.events-calendar{padding-top:5rem}.calendar-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:2.5rem}.month-selector{gap:1rem}.month-selector h3{margin-bottom:0;min-width:150px;text-align:center}.event-info span,.month-nav,.month-selector{display:flex;align-items:center}.month-nav{width:40px;height:40px;border-radius:50%;background:var(--bg-tertiary);border:0;color:var(--text-primary);font-size:1rem;cursor:pointer;transition:var(--transition);justify-content:center}.month-nav:hover{background:var(--primary-color);color:#fff}.calendar-download{display:flex;color:var(--primary-color-light);transition:var(--transition)}.calendar-download:hover{color:var(--primary-color);text-decoration:underline}.event-item,.events-timeline{position:relative}.events-timeline::before{content:"";position:absolute;top:0;bottom:0;left:120px;width:2px;background:var(--bg-tertiary)}.event-item{display:flex;gap:2rem;margin-bottom:2.5rem;opacity:1;transition:opacity .3s ease}.event-date{min-width:120px;position:relative;z-index:2}.event-card,.event-date .date-box{background:var(--bg-tertiary);border-radius:16px;transition:var(--transition)}.event-date .date-box{pointer-events:none;cursor:default;padding:1rem;text-align:center;border-left:4px solid var(--primary-color)}.date-box.current{background:var(--primary-color);color:#fff;border-left-color:var(--secondary-color)}.date-box.past{opacity:.7;border-left-color:var(--text-light)}.date-box .day,.date-box .month{display:block;margin-bottom:.25rem}.date-box .month{font-size:.85rem;font-weight:600;text-transform:uppercase}.date-box .day{font-size:1.5rem;font-weight:700;line-height:1.2}#noEventsMessage i,.date-box .year{font-size:.85rem;color:var(--text-light)}.date-box.current .day,.date-box.current .month,.date-box.current .year{color:#fff}.event-card{flex:1;overflow:hidden}.event-card.highlight{border-left:4px solid var(--secondary-color)}.event-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.event-content{padding:1.5rem}.event-header,.event-info{display:flex;margin-bottom:1rem}.event-header{justify-content:space-between;align-items:flex-start}.event-header h3{font-size:1.25rem;margin-bottom:0;color:var(--text-primary)}.event-info{gap:1.5rem;flex-wrap:wrap}.event-info span{gap:.5rem;font-size:.9rem;color:var(--text-secondary)}.event-card p{color:var(--text-secondary)}.event-details-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--primary-color-light);font-weight:600;text-decoration:none;transition:var(--transition);padding:.25rem .5rem;border-radius:4px;background-color:rgba(212,175,55,.1)}.event-details-link:hover{color:var(--primary-color);gap:.75rem;background-color:rgba(212,175,55,.2)}.load-more-container{text-align:center;margin-top:3rem}#noEventsMessage{text-align:center;padding:3rem 0;color:var(--text-light);display:none}#noEventsMessage i{font-size:3rem;margin-bottom:1rem;opacity:.5}#noEventsMessage h3,.highlight-content h3{color:var(--text-primary);margin-bottom:.5rem}#noEventsMessage p{color:var(--text-secondary);max-width:500px;margin:0 auto}.event-highlights{background:var(--bg-secondary);padding:5rem 0}.highlights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.highlight-card{background:var(--bg-tertiary);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-md);transition:var(--transition)}.highlight-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.highlight-image{height:200px;position:relative}.highlight-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,rgba(0,0,0,.1),rgba(0,0,0,.6));display:flex;justify-content:space-between;padding:1rem;align-items:flex-start}.highlight-category,.highlight-icon{background:rgba(255,255,255,.2);backdrop-filter:blur(8px);color:#fff}.highlight-category{padding:.25rem .75rem;border-radius:50px;font-size:.8rem;font-weight:600}.highlight-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;cursor:pointer;transition:var(--transition)}.highlight-icon:hover{background:rgba(255,255,255,.3);transform:scale(1.1)}.highlight-content{padding:1.5rem}.highlight-content h3{font-size:1.2rem}.highlight-date{color:var(--text-light);font-size:.9rem;margin-bottom:.75rem;display:block}.highlight-description{color:var(--text-secondary);margin-bottom:1rem}.highlight-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--primary-color-light);font-weight:600;text-decoration:none;transition:var(--transition);font-size:.9rem}.highlight-link:hover{color:var(--primary-color);gap:.75rem}.academic-calendar{background:var(--bg-primary);padding:5rem 0}.calendar-download-container{text-align:center;margin:2rem auto 3rem;max-width:800px}.calendar-download{background:var(--primary-color);color:#fff;padding:.9rem 2.5rem;border-radius:50px;font-size:1.1rem;font-weight:600;text-decoration:none;transition:all .3s ease;display:inline-flex;align-items:center;gap:.7rem;box-shadow:0 8px 20px rgba(212,175,55,.3);width:100%;justify-content:center}.calendar-download:hover{transform:translateY(-3px);box-shadow:0 12px 25px rgba(212,175,55,.4);background:linear-gradient(to right,var(--primary-color),var(--secondary-color))}.calendar-download i{font-size:1.2rem}.calendar-container{display:flex;flex-wrap:wrap;gap:2rem;margin-bottom:3rem}.term-section{flex:1;min-width:300px}.term-section h3{color:var(--primary-color-light);margin-bottom:1.5rem;position:relative;padding-bottom:.75rem}.term-section h3::after{content:"";position:absolute;bottom:0;left:0;width:60px;height:3px;background:var(--gradient-primary);border-radius:2px}.calendar-dates{display:flex;flex-direction:column;gap:1.5rem}.calendar-event{display:flex;gap:1rem;align-items:flex-start}.calendar-date{background:var(--bg-tertiary);padding:.75rem;border-radius:12px;text-align:center;min-width:60px;border-left:3px solid var(--primary-color)}.calendar-date.current-date{background:var(--primary-color);color:#fff;border-left-color:var(--secondary-color)}.calendar-date span{display:block}.calendar-date span:first-child{font-size:.8rem;font-weight:600;text-transform:uppercase}.calendar-date span:last-child{font-size:1.2rem;font-weight:700;line-height:1;margin-top:.25rem}.calendar-detail h4{font-size:1.1rem;margin-bottom:.25rem;color:var(--text-primary)}.calendar-detail p{color:var(--text-secondary);font-size:.9rem;margin-bottom:0}.event-card,.event-item,.highlight-card{will-change:transform,opacity;backface-visibility:hidden;transform:translateZ(0)}@media (max-width:992px){.featured-event-card{grid-template-columns:1fr}.event-image{min-height:300px}.events-timeline::before{left:70px}.event-date{min-width:70px}.date-box{padding:.75rem}.date-box .day{font-size:1.25rem}}@media (max-width:768px){.event-cta{flex-direction:column;gap:1rem}.event-meta{gap:.75rem}.calendar-controls{flex-direction:column;gap:1rem;align-items:flex-start}.month-selector{width:100%;justify-content:space-between}.calendar-download-container{margin:1.5rem auto 2.5rem}.calendar-download{padding:.8rem 2rem;font-size:1rem}}@media (max-width:576px){.events-timeline::before{display:none}.event-item{flex-direction:column;gap:1rem}.event-date{min-width:100%}.date-box{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem}.date-box .day,.date-box .month,.date-box .year{margin-bottom:0;display:inline}.notification-content{flex-direction:column;text-align:center;align-items:center}.calendar-download-container{margin:1rem auto 2rem}.calendar-download{padding:.7rem 1.5rem;font-size:.9rem}}.calendar-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:10000;opacity:0;animation:fadeIn .3s ease forwards}.calendar-modal-content{background:var(--bg-tertiary);border-radius:16px;padding:2rem;width:90%;max-width:500px;text-align:center;box-shadow:var(--shadow-xl);transform:translateY(20px);animation:slideUpFade .3s ease forwards}.calendar-option{background:var(--bg-secondary);border:0;border-radius:12px;padding:1rem .5rem;color:var(--text-primary);cursor:pointer;transition:var(--transition);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;will-change:transform}.calendar-option:hover{background:var(--primary-color);color:#fff;transform:translateY(-3px);box-shadow:var(--shadow-md)}