:host{background-color:#fff}h3{margin:15px 10px 5px}.scroll-container{overflow-x:scroll;display:block;width:100%;max-width:100%;white-space:nowrap;margin-top:10px}.event-table{min-width:2962px;display:inline-block}.table-header,.title-column{display:flex;background-color:#f0f0f0;font-weight:700}.title-column{position:-webkit-sticky;position:sticky;left:0;z-index:2;width:25px;text-align:left;border-right:1px solid #ccc;align-items:center;justify-content:center}.second-title-column{border-bottom:1px solid #ccc}.legend-toggle{display:flex;align-items:center;justify-content:left;flex-wrap:nowrap}.legend-toggle a{cursor:pointer;display:flex;align-items:center;text-decoration:none;color:inherit;padding:2px;margin:2px;border:1px solid #ccc;border-radius:4px}.legend-toggle a span{margin-left:2px;margin-right:4px}.legend-toggle a img{width:24px;height:24px}.legend-toggle a:hover{background-color:#ccc}.legend-visible{width:94px;justify-content:left;white-space:normal;word-wrap:break-word;overflow:visible}.legend{font-size:10px;margin-left:5px}.hour-column{width:60px;text-align:center;border-bottom:1px solid #ccc}.hour-day-content{padding:2px}.hour-column-content{border-right:1px solid #ddd;border-bottom:1px solid gray;padding:2px}.day-column-content{text-align:left;padding-left:2px}.table-body{display:flex;flex-direction:column}.event-row{display:flex;border-bottom:1px solid #dbdada}.event-cell{position:relative;height:40px;background-color:#fff;transition:background-color .3s ease;display:flex;align-items:flex-end;justify-content:center;border-left:1px solid gray}.event-cell:hover{background-color:#f9f9f9}.event-cell-container{position:absolute;cursor:pointer}.event{display:flex;align-items:center;justify-content:space-between;top:5px;height:30px;background-color:#007bff;color:#fff;line-height:30px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;padding:2px;border:1px solid #000;margin:1px}.img-icon{width:20px;height:20px;vertical-align:middle}.condition-img{margin-right:100px}.numeric-value{margin-right:105px}.half-numeric-value,.numeric-value{width:15px;display:inline-block;white-space:nowrap;overflow:visible}.half-numeric-value{margin-right:60px}.floating{margin-top:-7px;animation:float 6s ease-in-out infinite;position:relative}.menu-items{display:flex;flex-wrap:wrap;align-items:center;justify-content:left;margin-left:20px;margin-right:5px}.menu-items div{margin-right:10px}.button{color:inherit;padding:2px;margin:2px;border:1px solid #ccc;border-radius:4px;cursor:pointer}.button:hover{background-color:#ccc}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-4px)}to{transform:translateY(0)}}.rotating{animation:rotate 20s linear infinite}.no-animation,.rotating{margin-top:-7px}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;padding:10px 20px 20px;border-radius:8px;width:400px;box-shadow:0 2px 10px rgba(0,0,0,.1)}.close-button-container{display:flex;justify-content:flex-end;align-items:flex-start}.close-button{background:none;border:none;margin:0;padding:0;font-size:2rem;font-weight:700;color:#333;width:100%;cursor:pointer}.close-button:hover{color:#000}.details-location-title{font-size:1.2rem;margin-bottom:10px}.weather-event-card{display:flex;flex-direction:column;align-items:center;margin-bottom:20px}.event-icon{width:50px;height:50px}.event-date-flex{display:flex;justify-content:center;margin-top:10px}.event-date-item{margin:0 5px}.last-updated-text{font-size:.9rem;color:gray;text-align:center}.modal-actions-title{text-align:center;margin-top:10px}.modal-actions{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:5px;margin-top:10px}.event-button{padding:10px 20px;font-size:14px;text-decoration:none;color:#fff;background-color:#007bff;border:none;border-radius:4px;text-align:center;cursor:pointer}.event-button:hover{background-color:#0056b3}.calendar-icon{width:20px;height:20px;margin-right:5px}.calendar-button{display:flex;align-items:center;padding:10px;font-size:14px;text-decoration:none;background-color:#fff;border:1px solid #ccc;border-radius:4px;cursor:pointer}.calendar-button:hover{background-color:#ccc}