body{margin:0;font-family:sans-serif;background-color:#f5f5f5}html,body,#root{height:100%;width:100%;margin:0;padding:0}body,#root{display:flex;flex-direction:column;min-height:100vh}.app-content{flex:1;display:flex;flex-direction:column}.navbar{background-color:#005696;padding:1rem;gap:1rem;justify-content:center;display:flex;flex-wrap:wrap}.nav-link{display:flex;justify-content:space-around;color:#fff;text-decoration:none;font-weight:600;font-size:1.1rem;padding:.5rem 1rem;position:relative;transition:color .3s ease}.nav-link:after{content:"";position:absolute;left:0;bottom:4px;width:100%;height:2px;background-color:#fff;transform:scaleX(0);transform-origin:right;transition:transform .3s ease}.nav-link:hover{color:#ffdede}.nav-link:hover:after{transform:scaleX(1);transform-origin:left}.calendar-container{display:flex;justify-content:center;padding:2rem}iframe{border:none;border-radius:12px;box-shadow:0 4px 20px #0003;width:100%;height:600px;max-width:1000px}.iframe-container{position:relative;padding-bottom:75%;height:0;overflow:hidden}.iframe-container iframe{position:absolute;top:0;left:0;width:100%;height:100%}.wrapper{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2rem}.AddLink{display:inline-block;border:solid 2px #005696;border-radius:8px;padding:.5rem 1rem;margin:.5rem;background-color:#fff;color:#005696;text-decoration:none;font-weight:600;transition:background .2s,color .2s}.AddLink:hover{color:#ffdede;background:#005696;text-decoration:underline;font-weight:700}.home{text-align:center}.homephoto{width:100%;height:auto;display:block}@media (min-width: 921px) and (min-height: 919px){.homephoto{width:50%;margin-left:auto;margin-right:auto}}body{font-family:Inter,Segoe UI,Roboto,sans-serif;color:#222}.carousel-container{padding:2rem 1rem;text-align:center;max-width:900px;margin:auto}.gallery-title{font-size:2rem;font-weight:700;margin-bottom:1rem;color:#1a1a1a}.gallery-error{color:#e53e3e;margin-bottom:1rem}.carousel{position:relative;width:100%;max-width:700px;height:450px;margin:auto;overflow:hidden;border-radius:14px;background:#f7f7f7;box-shadow:0 4px 18px #0000001f;display:flex;align-items:center;justify-content:center}.carousel-slide{height:100%;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;animation:slideIn .6s ease-out}@keyframes slideIn{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.carousel-image{width:100%;height:100%;object-fit:contain;border-radius:14px;transition:transform .4s ease}.carousel-image:hover{transform:scale(1.03)}.carousel-caption{margin-top:10px;font-size:1.1rem;color:#444;font-weight:500;letter-spacing:-.2px;min-height:40px}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:#ffffffe6;border:none;font-size:2.8rem;cursor:pointer;color:#333;padding:12px;border-radius:50%;transition:transform .25s ease,background .25s ease;-webkit-user-select:none;user-select:none;box-shadow:0 2px 10px #00000026}.carousel-btn:hover{background:#fff;transform:translateY(-50%) scale(1.18)}.left{left:15px}.right{right:15px}.carousel-dots{margin-top:18px}.dot{height:13px;width:13px;margin:0 6px;background-color:#c4c4c4;border-radius:50%;display:inline-block;cursor:pointer;transition:background-color .3s ease,transform .2s ease}.dot.active{background-color:#333;transform:scale(1.25)}.loading{width:180px;height:180px;border-radius:50%;border:14px solid #d6d6d6;border-top:14px solid #555;animation:spin 1.4s ease-in-out infinite;margin:3rem auto}.loading-container{display:flex;justify-content:center;align-items:center;height:100vh}.announcement-single{max-width:600px;margin:2rem auto;width:100%;overflow-x:hidden;padding:1rem;box-sizing:border-box}.announcement-title{font-size:1.5rem;font-weight:700;color:#2c3e50;margin-bottom:1rem;text-align:center}.announcement-content{font-size:1.1rem;color:#333;margin-bottom:1rem;white-space:pre-wrap;text-align:left;max-width:100%;word-wrap:break-word;overflow-wrap:break-word;white-space:normal;padding:1rem;box-sizing:border-box}.announcement-date{font-size:.9rem;color:#888;display:block;text-align:right}.loading{width:400px;height:400px;border-radius:50%;border:20px solid lightgray;border-top:20px solid darkgray;animation:spin 2s ease-in-out infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
