body{font-family:Helvetica,Arial,sans-serif;background:linear-gradient(0deg,#0b3d91,#0a2849,#0a0a26,#0a0a0a);height:100vh;color:#333;margin:0;padding:0;overflow:auto;background-attachment:fixed}.page-content{display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative}.customMaskClass{opacity:.3!important}.app{text-align:center;padding:20px}h1{font-size:2em;margin-top:12px}h2,h3{color:#1b2c3e}.dark-mode-text-color{color:#f0f0f0}.dark-mode-shadow{text-shadow:1px 1px 2px black}.light-mode-shadow{text-shadow:1px 1px 2px white}.controls{display:flex;justify-content:center;align-items:center;gap:10px;margin-bottom:40px;position:relative}.date-controls,.date-nav{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.date-controls{min-width:250px}@media (max-width:768px){.date-controls,.date-nav,button,span{font-size:.95em}}.location-form{display:flex;flex-direction:column;align-items:center;gap:10px}button{color:black;border:none;border-radius:5px;cursor:pointer}button:hover{background-color:#777777;border-radius:5px}.date-picker-popup{position:absolute;top:20px;right:0;transform:translateX(-50%);z-index:1;background-color:white;box-shadow:0 4px 10px rgba(0,0,0,.1)}.label{font-weight:700;text-align:right}.date{flex:1 1;text-align:left}.form-input{height:60px;width:245px;margin-right:10px;padding:0 10px;font-size:1.2em;border:1px solid #ccc;border-radius:5px}.form-input-small{height:30px}.form-input-medium{height:40px}.form-input-large{height:60px}.underlined{text-decoration:underline}.warning{color:red}.link{text-decoration:underline;color:#d96800}.link:hover{cursor:pointer;color:#ff5733}.link-dark{text-decoration:underline;color:#ff8b1a}.link-dark:hover{cursor:pointer;color:#ff5733}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.content-box{padding:1.5em;background:rgba(255,255,255,.7);border-radius:8px;min-width:20%;border:1px solid #ccc;box-shadow:2px 2px 3px rgba(0,0,0,.3);max-width:calc(100vw - 40px);max-height:calc(100vh - 40px);margin:auto;position:absolute;top:0;bottom:0;left:0;right:0;display:flex;flex-direction:column;justify-content:center;overflow:auto}.social-icons{position:fixed;bottom:20px;left:20px;display:flex;gap:18px;z-index:999}.social-icons.inline{position:static;bottom:auto;left:auto;display:flex}.social-icons a{color:white;font-size:24px;text-decoration:none;transition:transform .2s ease,color .2s ease;text-shadow:-1px -1px 0 #69240344,1px -1px 0 #69240344,-1px 1px 0 #69240344,1px 1px 0 #69240344,1px 1px 2px #ff5100aa}.social-icons a:hover{transform:scale(1.2);color:#ffcc70}.social-icons .fab:before{text-shadow:-1px -1px 0 #69240344,1px -1px 0 #69240344,-1px 1px 0 #69240344,1px 1px 0 #69240344,1px 1px 2px #ff5100aa}.content-main rect{stroke:#2e2e43}.share-banner-overlay{position:fixed;bottom:0;left:0;right:0;background-color:rgba(0,0,0,.5);display:flex;flex-direction:column;justify-content:flex-end;z-index:9999;animation:slideUp .3s ease-out}.share-banner{background-color:#fff;border-top-left-radius:12px;border-top-right-radius:12px;padding:1rem;box-shadow:0 -2px 10px rgba(0,0,0,.1);color:#333}.share-banner-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #eee}.share-banner-header h3{margin:0;font-size:1.2rem;font-weight:500;color:#1b2c3e}.close-button{background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:.5rem;border-radius:50%;color:#333;transition:transform .2s ease}.close-button:hover{transform:scale(1.2);background-color:rgba(0,0,0,.05)}.share-banner .close-button{color:#2e2e43}.share-options{display:flex;justify-content:space-around;padding:1rem 0}.share-option{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:#333;text-decoration:none;cursor:pointer;padding:.75rem;border-radius:8px;transition:transform .2s ease,background-color .2s ease}.share-option:hover{transform:scale(1.1);background-color:rgba(0,0,0,.05)}.share-option i{font-size:24px}.share-option span{font-size:.8rem;font-weight:500}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}