.event-overlay{background-color:#000000a0;width:100%;height:100%;position:fixed;top:0;left:0;display:flex;align-items:center;justify-content:center;z-index:5;animation:fadein .5s}.event-overlay.fade-out{animation:fadeout .5s forwards}@keyframes fadein{0%{opacity:0}to{opacity:1}}@keyframes fadeout{0%{opacity:1}to{opacity:0}}.event-overlay>.event-close{position:absolute;top:25px;right:25px;font-size:30px;padding:0;box-shadow:none}.event-overlay>.event-content{border-radius:10px;background-color:#1b1f22;padding:15px;filter:drop-shadow(0 0 50px var(--event-color, goldenrod));max-width:70%;max-height:80%;margin:auto}.event-overlay>.event-content::-webkit-scrollbar{width:8px}.event-overlay>.event-content::-webkit-scrollbar-track{background:transparent}.event-overlay>.event-content::-webkit-scrollbar-thumb{background-color:#fff3;border-radius:4px}.event-overlay>.event-content::-webkit-scrollbar-thumb:hover{background-color:#ffffff4d}.event-overlay>.event-content:has(.event-banner):has(.event-description){display:flex;flex-direction:row;gap:15px;align-items:center}.event-content>.event-banner,.event-content>.event-description{min-width:0;max-width:100%;max-height:100%}.event-content>.event-banner>img{contain:cover;width:100%;height:auto;border-radius:5px}.event-content>.event-banner:not(:only-child),.event-content>.event-description:not(:only-child){flex:1 1 0px}.event-content>.event-description:only-child{width:100%}.event-content>.event-banner{object-fit:contain;height:auto;max-height:100%;align-self:center}.event-icon{z-index:4;position:fixed;right:0;bottom:0;width:75px;height:75px;margin:25px;cursor:pointer;display:flex;align-items:center;justify-content:center;overflow:hidden;background-color:#fff;border-radius:100%;box-shadow:0 0 50px var(--event-color, goldenrod)}.event-icon>img,.event-icon>div{max-width:100%;max-height:100%}.event-icon svg{font-size:28px;color:#1b1f22}@media screen and (max-width:720px){.event-overlay>.event-content{max-width:90%;max-height:90%}.event-overlay>.event-content:has(.event-banner):has(.event-description){flex-direction:column;overflow-y:auto}.event-content>.event-banner,.event-content>.event-description{width:100%;flex:none}}@media screen and (max-width:480px){.event-icon{width:60px;height:60px}}.overlay{display:flex;position:fixed;top:0;left:0;max-width:100%;max-height:100%;height:100%;width:100%;background-color:#00000080;align-items:center;justify-content:center;z-index:4;pointer-events:auto}.overlay.visible{display:flex;opacity:1;visibility:visible;transition:opacity .3s ease-in-out,visibility .3s ease-in-out}.overlay.hidden{opacity:0;visibility:hidden;transition:opacity .3s ease-in-out,visibility .3s ease-in-out}.overlay>.overlay-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px}.overlay>.overlay-loading>.overlay-spinner{border:5px solid #f3f3f3;border-top:5px solid #2b2b2b;border-radius:50%;width:60px;height:60px;animation:spin 1.3s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.overlay>.overlay-loading>.overlay-loading-message{text-align:center}.overlay>.overlay-content{background-color:#1b1f22f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);padding:2.2rem;border-radius:4px;color:#fff;max-width:90%;min-width:300px;max-height:85%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent;box-shadow:0 4px 15px #00000080;position:relative;letter-spacing:.05em;text-transform:uppercase;font-size:.8rem}.overlay>.overlay-content>.overlay-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;border-bottom:solid 1px rgba(255,255,255,.15);padding-bottom:1.2rem;margin-bottom:1.5rem}.overlay>.overlay-content>.overlay-header>.overlay-title{margin:0;text-align:left;font-weight:600;font-size:1.1rem;letter-spacing:.2rem}.overlay>.overlay-content>.overlay-header>.overlay-close{box-shadow:none;color:#ffffff80;font-size:1.2rem;cursor:pointer;padding:0 0 0 2px;border-radius:100%;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background:transparent;border:none;transition:all .2s ease-in-out}.overlay>.overlay-content>.overlay-header>.overlay-close:hover{color:#fff;border-color:#fff;background-color:#ffffff1a}.overlay>.overlay-content>.overlay-body{line-height:1.8;color:#fffc;font-weight:300}.overlay>.overlay-content>.overlay-body>p{font-size:.9rem;margin-bottom:1rem;text-transform:none}.overlay>.overlay-content>.overlay-body>form input[type=submit].confirm{color:#fff!important;background-color:#00ad0038}.overlay>.overlay-content>.overlay-body>form input[type=reset].cancel{color:#fff!important;background-color:#ad000038}.overlay>.overlay-content::-webkit-scrollbar{width:8px}.overlay>.overlay-content::-webkit-scrollbar-track{background:transparent}.overlay>.overlay-content::-webkit-scrollbar-thumb{background-color:#fff3;border-radius:4px}.overlay>.overlay-content::-webkit-scrollbar-thumb:hover{background-color:#ffffff4d}:root{--user-color: #880808;--occupied-color: #e3c209;--event-color: #e3c209}.legend span{font-weight:700;margin-right:15px}.calendar{width:500px;background:#fff;border-radius:10px;box-shadow:0 15px 40px #0000001f}.calendar>.header{display:flex;align-items:center;padding:25px 30px 10px;justify-content:space-between}.calendar>.header>.arrows{display:flex}.calendar>.header>.arrows>button{background:none;border:none;padding:5px;border-radius:50%;height:2.5rem;width:2.5rem}.calendar>.header>.arrows svg{height:100%;width:100%;cursor:pointer;color:#878787;-webkit-user-select:none;user-select:none}.calendar>.header>.arrows>button:last-child{margin-right:-10px}.calendar>.header>.arrows>button:hover{background:#f2f2f2}.calendar>.header>.current-date{color:#333;font-size:1.45rem;font-weight:700}.calendar>.body{padding:20px;position:relative}.calendar>.body>.weekdays,.calendar>.body>.days{display:flex;flex-wrap:wrap;list-style:none;text-align:center}.calendar>.body>.loading{position:absolute;top:0;left:0;width:100%;height:calc(100% - 10px);background:#ffffffb3;overflow:hidden;z-index:1}.calendar>.body>.weekdays{margin-bottom:1px}.calendar>.body>.days{margin-bottom:20px}.calendar>.body>.weekdays>li,.calendar>.body>.days>.day{width:calc(100% / 7);font-size:1.07rem}.calendar>.body>.weekdays>li{color:#333;font-weight:500;cursor:default}.calendar>.body>.days>.day{color:#333;z-index:1;cursor:pointer;position:relative;margin-top:20px;padding-left:0}.calendar>.body>.days>.day:before{position:absolute;content:"";left:50%;top:50%;height:40px;width:40px;z-index:-1;border-radius:50%;transform:translate(-50%,-50%);padding-left:0!important}.calendar>.body>.days>.day.user,.calendar>.body>.days>.day.occupied,.calendar>.body>.days>.day.event{color:#fff}.calendar>.body>.days>.day.disabled{cursor:not-allowed}.calendar>.body>.days>.day.today:before{border:2px solid #1b1f22}.calendar>.body>.days>.day:hover:before{filter:brightness(.9)}.calendar>.body>.days>.day:before,.calendar>.body>.days>.day.selected:before{background:#f0f0f0}.calendar>.body>.days>.day.user:before,.calendar>.body>.days>.day.selected.user:before{background:var(--user-color)}.calendar>.body>.days>.day.occupied:before,.calendar>.body>.days>.day.selected.occupied:before{background:var(--occupied-color)}.calendar>.body>.days>.day.event:before,.calendar>.body>.days>.day.selected.event:before{background:var(--event-color)}.calendar>.body>.days>.day.invalid,.calendar>.body>.days>.day.other-month{color:#bdbdbd}.calendar>.body>.days>.day.invalid.user:before,.calendar>.body>.days>.day.other-month.user:before{background:var(--user-color);opacity:.5}.calendar>.body>.days>.day.invalid.occupied:before,.calendar>.body>.days>.day.other-month.occupied:before{background:var(--occupied-color);opacity:.5}.calendar>.body>.days>.day.invalid.event:before,.calendar>.body>.days>.day.other-month.event:before{background:var(--event-color);opacity:.5}.calendar>.body>.days>.day.selected:before{filter:drop-shadow(0 0 5px #cecece)}.calendar>.body>.days>.day.selected.user:before{filter:drop-shadow(0 0 5px var(--user-color))}.calendar>.body>.days>.day.selected.occupied:before{filter:drop-shadow(0 0 5px var(--occupied-color))}.calendar>.body>.days>.day.selected.event:before{filter:drop-shadow(0 0 5px var(--event-color))}@media screen and (max-width:480px){.calendar>.header>.current-date{margin:0}.calendar>.body>.weekdays,.calendar>.body>.days{margin:0;padding-left:0}.calendar>.body>.days>.day:before{height:28px;width:28px}}
