/*!
    * Vue.js Calendar Application
    * (c) 2025 Threshold Media
    * Developed by: Andrew Hickman (Lead Engineer and Visual Designer)
    * https://thresholdmedia.com
*//*!
    * Vue.js Calendar Application
    * (c) 2025 Threshold Media
    * Developed by: Andrew Hickman (Lead Engineer and Visual Designer)
    * https://thresholdmedia.com
*/.calendar-page-container{max-width:1200px;margin:42px auto;padding:20px}.calendar-page-container[v-cloak]{display:none}.calendar-loading{text-align:center;padding:60px 40px}.calendar-loading .loading-spinner{display:inline-block;width:40px;height:40px;margin:0 auto 20px;border:3px solid #e6eef8;border-top:3px solid #132f6a;border-radius:50%;animation:spin 1s linear infinite}.calendar-loading p{font-size:18px;color:#2c313a;margin:0;font-weight:500}.loading-more,.loading-next-month,.loading-next-day{text-align:center;padding:30px 20px;margin-top:20px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.loading-more .loading-spinner,.loading-next-month .loading-spinner,.loading-next-day .loading-spinner{display:inline-block;width:30px;height:30px;margin:0 auto 15px;border:2px solid #e6eef8;border-top:2px solid #132f6a;border-radius:50%;animation:spin 1s linear infinite}.loading-more p,.loading-next-month p,.loading-next-day p{font-size:14px;color:#6c757d;margin:0;font-weight:500}.loading-next-day{background:linear-gradient(135deg, #f0f4f9 0%, #e6eef8 100%);border:1px solid #3260a0;box-shadow:0 2px 8px rgba(50,96,160,.1)}.loading-next-day p{color:#132f6a;font-weight:600}.loading-next-day .loading-spinner{border:2px solid #e6eef8;border-top:2px solid #3260a0}.load-more-container{text-align:center;padding:30px 20px;margin-top:20px}.load-more-container .load-more-btn{background:#132f6a;color:#fff;border:none;border-radius:8px;padding:14px 28px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 6px rgba(19,47,106,.2)}.load-more-container .load-more-btn:hover{background:#3260a0;transform:translateY(-2px);box-shadow:0 6px 16px rgba(19,47,106,.3)}.load-more-container .load-more-btn:active{transform:translateY(-1px);box-shadow:0 3px 8px rgba(19,47,106,.25)}.load-more-container .load-more-btn:focus{outline:3px solid rgba(50,96,160,.4);outline-offset:2px}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.calendar-interface{display:flex;flex-direction:column;gap:20px}@media(min-width: 768px){.calendar-interface{flex-direction:row;gap:40px}}.calendar-controls{display:flex;flex-direction:column;gap:20px}@media(min-width: 768px){.calendar-controls{flex-direction:row;gap:40px;align-items:flex-start}}.calendar-sidebar{flex:0 0 auto;min-width:280px;background:#f8f9fa;border-radius:8px;padding:20px;border:1px solid #e9ecef;position:sticky;top:170px}@media(max-width: 767px){.calendar-sidebar{min-width:auto;width:100%}}.date-selector{margin-bottom:30px}.date-selector h3{margin:0 0 20px 0;font-size:18px;font-weight:600;color:#132f6a;text-align:center}.year-navigation{display:flex;justify-content:center;align-items:center;margin-bottom:20px;gap:15px}.year-navigation .nav-btn{background:#132f6a;color:#fff;border:none;border-radius:50%;width:38px;height:38px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;transition:all .3s ease;box-shadow:0 2px 6px rgba(19,47,106,.2)}.year-navigation .nav-btn:hover{background:#3260a0;transform:scale(1.1);box-shadow:0 4px 12px rgba(19,47,106,.3)}.year-navigation .nav-btn:active{transform:scale(1.05);box-shadow:0 2px 6px rgba(19,47,106,.25)}.year-navigation .nav-btn:focus{outline:3px solid rgba(50,96,160,.4);outline-offset:2px}.year-navigation .current-year{font-size:24px;font-weight:700;color:#132f6a;min-width:80px;text-align:center}.month-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:8px;margin-bottom:20px}.month-grid .month-btn{background:#fff;border:2px solid #dee2e6;border-radius:8px;padding:10px 6px;cursor:pointer;font-size:12px;font-weight:500;transition:all .3s ease;text-align:center;color:#495057;box-shadow:0 1px 3px rgba(0,0,0,.1)}.month-grid .month-btn:hover{border-color:#3260a0;background:#f0f4f9;transform:translateY(-1px);box-shadow:0 3px 8px rgba(50,96,160,.15);color:#132f6a}.month-grid .month-btn.active{background:#132f6a;color:#fff;border-color:#132f6a;font-weight:600;transform:translateY(-1px);box-shadow:0 4px 12px rgba(19,47,106,.3)}.month-grid .month-btn:focus{outline:2px solid rgba(50,96,160,.4);outline-offset:2px}.jump-today-btn{width:100%;background:#132f6a;color:#fff;border:none;border-radius:8px;padding:14px 18px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-bottom:20px;box-shadow:0 2px 6px rgba(19,47,106,.2)}.jump-today-btn:hover{background:#3260a0;transform:translateY(-2px);box-shadow:0 6px 16px rgba(19,47,106,.3)}.jump-today-btn:active{transform:translateY(-1px);box-shadow:0 3px 8px rgba(19,47,106,.25)}.jump-today-btn:focus{outline:3px solid rgba(50,96,160,.4);outline-offset:2px}.calendar-mini-grid{background:#fff;border-radius:6px;border:1px solid #dee2e6;overflow:hidden}.calendar-header{display:grid;grid-template-columns:repeat(7, 1fr);background:#132f6a}.calendar-header .day-header{padding:10px 4px;text-align:center;font-size:12px;font-weight:600;color:#fff;border-right:1px solid rgba(255,255,255,.1)}.calendar-header .day-header:last-child{border-right:none}.calendar-body .calendar-row{display:grid;grid-template-columns:repeat(7, 1fr);border-bottom:1px solid #e9ecef}.calendar-body .calendar-row:last-child{border-bottom:none}.calendar-body .calendar-day{min-height:38px;padding:6px 4px;border-right:1px solid #e9ecef;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;background:#fff;border-radius:2px}.calendar-body .calendar-day:last-child{border-right:none}.calendar-body .calendar-day:hover{background:#f0f4f9;transform:scale(1.05);border-radius:4px;box-shadow:0 2px 6px rgba(50,96,160,.1)}.calendar-body .calendar-day.today{background:#e6eef8;color:#132f6a;font-weight:600;border:2px solid #3260a0;border-radius:6px;box-shadow:0 2px 8px rgba(50,96,160,.2)}.calendar-body .calendar-day.selected{background:#132f6a;color:#fff;font-weight:600;border-radius:6px;box-shadow:0 3px 10px rgba(19,47,106,.3);transform:scale(1.05)}.calendar-body .calendar-day.other-month{color:#adb5bd;background:#f8f9fa}.calendar-body .calendar-day.other-month:hover{background:#e9ecef;transform:scale(1.02)}.calendar-body .calendar-day.has-events .event-indicator{position:absolute;bottom:2px;right:2px;width:6px;height:6px;background:#132f6a;border-radius:50%}.calendar-body .calendar-day .day-number{font-size:12px;line-height:1}.events-display{flex:1;min-height:500px}.events-header{margin-bottom:30px;text-align:center}.events-header h2{font-size:24px;color:#132f6a;margin:0;font-weight:600}@media(max-width: 767px){.events-header h2{font-size:20px}}.events-list .no-events{text-align:center;padding:40px 20px}.events-list .no-events p{font-size:16px;color:#6c757d;margin:0}.event-date-group{margin-bottom:30px}.event-date-group .event-date{font-size:18px;color:#132f6a;margin:0 0 20px 0;padding-bottom:8px;border-bottom:2px solid #132f6a;font-weight:600}.event-item{display:flex;gap:18px;padding:24px;background:#fff;border:1px solid #e9ecef;border-radius:12px;margin-bottom:18px;transition:all .3s ease;box-shadow:0 2px 6px rgba(0,0,0,.05)}.event-item:hover{box-shadow:0 8px 24px rgba(19,47,106,.15);transform:translateY(-3px);border-color:#3260a0}.event-item .event-time-wrapper{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:8px;min-width:80px}@media(max-width: 767px){.event-item .event-time-wrapper{min-width:70px}}.event-item .event-time{font-size:14px;font-weight:600;color:#3260a0;text-align:center;background:#f0f4f9;border-radius:4px;padding:8px 12px;width:100%}@media(max-width: 767px){.event-item .event-time{font-size:12px;padding:6px 8px}}.event-item .event-thumbnail{width:100%;max-width:200px;height:auto;border-radius:8px;overflow:hidden;box-shadow:0 3px 10px rgba(19,47,106,.15);transition:all .3s ease}@media(max-width: 767px){.event-item .event-thumbnail{width:50px;height:38px}}.event-item .event-thumbnail:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(19,47,106,.25)}.event-item .event-thumbnail img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.event-item .event-thumbnail img:hover{transform:scale(1.08)}.event-item .event-details{flex:1}.event-item .event-details .event-title{margin:0 0 12px 0;font-size:19px;font-weight:600;line-height:1.3}.event-item .event-details .event-title a{color:#132f6a;text-decoration:none;transition:all .3s ease;position:relative}.event-item .event-details .event-title a:hover{color:#3260a0}.event-item .event-details .event-title a:hover::after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:2px;background:linear-gradient(90deg, #3260a0, #132f6a);border-radius:1px;animation:underlineSlide .3s ease}@media(max-width: 767px){.event-item .event-details .event-title{font-size:17px}}.event-item .event-details .event-description{margin-bottom:10px;color:#6c757d;font-size:14px;line-height:1.5}.event-item .event-details .event-location{margin-bottom:15px;font-size:14px;color:#495057}.event-item .event-details .event-location .location-label{color:#3260a0;font-weight:600}.event-item .event-details .event-location strong{color:#132f6a}.event-item .event-details .view-details-btn{display:inline-block;background:#132f6a !important;color:#fff !important;text-decoration:none !important;border:none;border-radius:6px;padding:10px 18px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px rgba(19,47,106,.2)}.event-item .event-details .view-details-btn:hover,.event-item .event-details .view-details-btn:focus{background:#3260a0 !important;color:#fff !important;text-decoration:none !important;transform:translateY(-2px);box-shadow:0 6px 16px rgba(19,47,106,.3)}.event-item .event-details .view-details-btn:active{transform:translateY(-1px);box-shadow:0 3px 8px rgba(19,47,106,.25)}.event-item .event-details .view-details-btn:focus{outline:3px solid rgba(50,96,160,.4);outline-offset:2px}@media(max-width: 767px){.calendar-page-container{padding:15px}.calendar-interface{flex-direction:column}.calendar-controls{flex-direction:column}.calendar-sidebar{margin-bottom:20px}}@media screen and (max-width: 767px)and (max-width: 767px){.calendar-sidebar{position:relative;top:0}}@media(max-width: 767px){.month-grid{grid-template-columns:repeat(3, 1fr)}.event-item{flex-direction:column;gap:10px}.event-item .event-time-wrapper{align-self:flex-start;min-width:auto;flex-direction:row;gap:12px}.event-item .event-time{flex:0 0 auto;width:auto}}.calendar-loading,.calendar-interface{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes underlineSlide{from{width:0;opacity:0}to{width:100%;opacity:1}}/*# sourceMappingURL=styles.min.css.map */