.approval-card-img{align-items:center;background:#fff;border:1px solid #eee;border-radius:.5rem;box-shadow:0 1px 4px rgba(0,0,0,.04);display:flex;height:180px;justify-content:center;overflow:hidden;width:100%}.approval-card-img img{display:block;margin:auto;max-height:100%;max-width:100%;object-fit:contain}.approval-card-img .no-image{align-items:center;color:#bbb;display:flex;flex-direction:column;font-size:1.2rem;justify-content:center;width:100%}.approval-card-img .no-image i,.approval-card-img .no-image svg{font-size:2.5rem;margin-bottom:.25rem}.metric-card{border:1px solid #eee;box-shadow:0 1px 4px rgba(0,0,0,.04)}.metric-card .card-body{gap:.75rem}.metric-icon{align-items:center;border-radius:50%;display:inline-flex;height:44px;justify-content:center;width:44px}.metric-icon.primary{background:rgba(13,110,253,.1);color:#0d6efd}.metric-icon.success{background:rgba(25,135,84,.12);color:#198754}.metric-icon.info{background:rgba(13,202,240,.12);color:#0dcaf0}.metric-icon.warning{background:rgba(255,193,7,.18);color:#b58100}.metric-label{color:#6c757d;font-size:.9rem;letter-spacing:.02em;margin-bottom:.15rem;text-transform:uppercase}.metric-value{font-size:1.75rem;font-weight:700;line-height:1.1}.metric-deltas{font-size:.875rem}h1{font-size:1.6em;padding-bottom:10px}h2{font-size:1.4em;padding-bottom:8px}h3{font-size:1.2em;padding-bottom:6px}h4{font-size:1em}.navbar:not(.fixed-top){position:sticky;top:0;z-index:1030}.navbar.navbar-dark{background-color:#5e1f7a}.navbar-brand .navbar-logo{height:26px;margin-right:8px;width:26px}.navbar-brand .navbar-site-name{font-size:1.25rem;font-weight:700;line-height:1}@media (max-width:575.98px){.navbar-brand .navbar-site-name{display:none}}.navbar-search-form{max-width:320px;width:100%}.navbar-search-input{max-width:180px;min-width:120px}@media (max-width:991.98px){.navbar-search-form,.navbar-search-input{max-width:100%}}@media (max-width:767.98px){#cb-cookie-banner{padding:1rem}#cb-cookie-banner .btn{margin-top:.5rem;width:100%}}.home-banner-wrapper{aspect-ratio:2/1;color:#fff;max-height:400px;overflow:hidden;position:relative;text-align:center;width:100%}.home-banner-img{height:100%;inset:0;object-fit:cover;position:absolute;width:100%;z-index:1}.home-banner-overlay{align-items:center;background-color:rgba(0,0,0,.6);display:flex;flex-direction:column;inset:0;justify-content:center;position:absolute;z-index:2}.visually-hidden{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}.profile-photo{border-radius:10px;height:auto;max-height:100px;max-width:100px;width:auto}.candidate-card{border-radius:15px;height:200px}.candidate-logo-photo-box{width:120px}.party-logo{max-height:50px;max-width:120px}.council-logo{height:auto;max-height:120px;max-width:200px;width:auto}.councillor-card{height:380px}.highlight-on-hover:hover circle{fill:#000}#councillor-header{position:relative}#councillor-header .councillor-pin{height:30px;position:absolute;right:10px;top:10px;width:30px}.councillor-photo{border-radius:10px;max-height:200px}.bg-warn-colour{background-color:#f8d7da;border-color:#f5c2c7}.bg-success-colour{background-color:#d1e7dd;border-color:#badbcc}.bg-amber-colour{background-color:#ffecb3;border-color:#ffe082}.upcoming_icon_link:hover i{transform:scale(1.3);transition:transform .3s ease}.embed-container{height:0;max-width:100%;overflow:hidden;padding-bottom:56.25%;position:relative}.embed-container embed,.embed-container iframe,.embed-container object{height:100%;left:0;position:absolute;top:0;width:100%}.embed-youtube{background-color:#000;cursor:pointer;margin-bottom:30px;overflow:hidden;padding-top:56.25%;position:relative}.embed-youtube img{left:0;opacity:.7;top:-16.84%;width:100%}.embed-youtube .embed-youtube-play{background-color:#333;border-radius:6px;box-shadow:0 0 30px rgba(0,0,0,.6);height:48px;opacity:.8;width:68px;z-index:1}.embed-youtube .embed-youtube-play:before{border-color:transparent transparent transparent #fff;border-style:solid;border-width:15px 0 15px 26px;content:""}.embed-youtube .embed-youtube-play,.embed-youtube img{cursor:pointer}.embed-youtube .embed-youtube-play,.embed-youtube .embed-youtube-play:before,.embed-youtube iframe,.embed-youtube img{position:absolute}.embed-youtube .embed-youtube-play,.embed-youtube .embed-youtube-play:before{left:50%;top:50%;transform:translate3d(-50%,-50%,0)}.embed-youtube iframe{height:100%;left:0;top:0;width:100%}.embed-youtube .embed-youtube-play:hover{background-color:red}.nav-underline{padding-left:20px}.bg-slide{background-color:#f0ebe0}#div_id_cf_turnstile_response{display:none!important}body,html{overflow-x:hidden}html{scroll-behavior:smooth}.modal-body img.zoomable{cursor:zoom-in;transition:transform .3s ease}.modal-body img.zoomed{cursor:zoom-out;transform:scale(2)}.promoted-card{background:linear-gradient(to bottom right,#fff8e1,#fff3cd);border:2px solid #ffc107;box-shadow:0 .5rem 1rem rgba(255,193,7,.2);position:relative;transition:transform .2s ease-in-out}.promoted-card:hover{transform:translateY(-3px)}.promoted-badge{background-color:#ffc107;border-radius:1rem;box-shadow:0 .25rem .5rem rgba(0,0,0,.1);color:#000;font-size:.75rem;font-weight:600;padding:.25rem .75rem;z-index:10}.wibble-card:hover{box-shadow:0 6px 12px rgba(0,0,0,.15);transform:scale(1.01)}.mobile-navbar{background:#5e1f7a;bottom:0;left:0;pointer-events:auto;position:fixed;right:0;z-index:1020}.offcanvas .offcanvas-body{padding-bottom:env(safe-area-inset-bottom)}.mobile-navbar a{pointer-events:auto}#cb-cookie-banner{background-color:#ffe484;bottom:0;color:#000;left:0;opacity:0;padding:1rem;pointer-events:none;position:fixed;right:0;transition:opacity .3s ease,visibility 0s linear .3s;visibility:hidden;z-index:1040}#cb-cookie-banner.show{opacity:1;pointer-events:auto;transition:opacity .3s ease;visibility:visible}#toastWrapper{bottom:0;display:none;padding:1rem;position:fixed;right:0;z-index:1050}body{display:flex;flex-direction:column;min-height:100vh}#id_password1_helptext,#id_password2_helptext,#id_password_helptext{display:none}main#main-content{flex:1 0 auto}footer{flex-shrink:0}.navbar .nav-link.active{background:none;border-bottom:2px solid gold;border-radius:0;box-shadow:none;color:#fff!important;font-weight:700;text-decoration:none;transition:color .15s,border-bottom .15s}.bg-auth-gradient{background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.floating-logo-offset{margin-top:-24px}.min-h-64{min-height:64px}body.has-fixed-top main#main-content{padding-top:64px}@media (min-width:992px){body.has-fixed-top main#main-content{padding-top:72px}}h1,h2,h3{scroll-margin-top:64px}@media (max-width:991.98px){main#main-content{padding-bottom:calc(54px + env(safe-area-inset-bottom))}}body.cookie-banner-visible main#main-content{padding-bottom:calc(126px + env(safe-area-inset-bottom))}.form-group.loading,.mb-3.loading{position:relative}.form-group.loading:after,.mb-3.loading:after{background:hsla(0,0%,100%,.9);border-radius:4px;box-shadow:0 2px 6px rgba(0,0,0,.2);color:#333;content:"✏️ Loading editor…";font-size:1rem;left:50%;padding:.4rem .8rem;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:10}.cursor-not-allowed{cursor:not-allowed!important}.form-group.loading textarea,.mb-3.loading textarea{background:repeating-linear-gradient(45deg,#f0f0f0,#f0f0f0 10px,#e0e0e0 0,#e0e0e0 20px);color:transparent}.profile-avatar{height:160px;width:160px}.profile-avatar .svg-bi{font-size:5rem}.profile-image{height:160px;width:160px}.object-cover{object-fit:cover}.object-contain{object-fit:contain}@media (min-width:768px){.object-md-contain{object-fit:contain}}.hero-clamp{max-height:clamp(220px,28vh,360px)}.max-h-400{max-height:400px}.max-h-350{max-height:350px}.max-h-200{max-height:200px}.aspect-16x9{aspect-ratio:16/9;overflow:hidden;position:relative;width:100%}.aspect-16x9 .aspect-media{height:100%;inset:0;object-fit:cover;position:absolute;width:100%}.business-profile-image{border-radius:10px;box-shadow:0 4px 6px rgba(0,0,0,.1);height:auto;margin-left:20px;object-fit:cover;width:200px}.banner-overlay{display:inline-block;position:relative;width:100%}.banner-text{background:rgba(0,0,0,.5);border-radius:5px;bottom:10px;color:#fff;font-size:1.5rem;font-weight:700;left:10px;padding:10px 15px;position:absolute}.profile-image{border:4px solid #fff;border-radius:10px;box-shadow:2px 2px 10px rgba(0,0,0,.15);height:auto;margin-bottom:10px;max-height:400px;object-fit:cover;width:180px}.btn-bump{background:linear-gradient(135deg,#fc0,#f90);color:#000;font-weight:700;transition:.3s}.btn-bump:hover{background:linear-gradient(135deg,#f90,#f60)}.progress{border-radius:5px;height:8px;overflow:hidden}.progress-bar{background:#fc0}.business-update-img{object-fit:cover}.business-card-img{max-height:200px;object-fit:cover}.business-detail-img{max-width:300px;object-fit:cover}.business-category-img{height:80px;object-fit:cover;width:80px}.business-updates-list{max-width:100%}.business-update-card{border-radius:8px;overflow:hidden;transition:transform .15s ease-in-out,box-shadow .15s ease-in-out}.business-update-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.08)!important;transform:translateY(-1px)}.business-update-card .card-body{transition:background-color .15s ease-in-out}.business-update-card:hover .card-body{background-color:#f8f9fa}.business-update-image{flex-shrink:0}.business-update-image img{transition:transform .15s ease-in-out}.business-update-card:hover .business-update-image img{transform:scale(1.02)}@media (max-width:768px){.business-update-card .card-body{padding:.75rem!important}.business-update-image img{height:36px!important;width:36px!important}.business-update-card .fs-5{font-size:1rem!important}.business-update-card .badge{font-size:.7rem!important;padding:.25rem .5rem!important}}@media (max-width:576px){.d-flex.flex-wrap.gap-1.gap-md-2{gap:.25rem!important}.btn-sm{font-size:.8rem;padding:.25rem .5rem}}.event-title{color:#0056b3;font-size:1.2rem;font-weight:700}.event-date{color:#6c757d;font-weight:600}.event-image{align-items:center;background-color:#f8f9fa;border-radius:10px;display:flex;justify-content:center;max-height:200px;min-height:200px;object-fit:cover}.htmx-request #upload-btn{opacity:.6;pointer-events:none}.htmx-request #loading-spinner{display:inline-block!important}#map{max-width:100%;overflow:hidden;width:100%!important}.mobile-navbar.fixed-bottom{background-color:#772a9c;border-top:1px solid #772a9c;bottom:0;height:54px;left:0;padding-bottom:env(safe-area-inset-bottom);position:fixed;right:0;z-index:1020}.mobile-navbar .btn{background-color:transparent;border:1px solid #fff;border-radius:6px;color:#fff;font-size:12px;font-weight:700;margin:0 4px;min-height:44px;padding:10px 12px;transition:none;width:auto}.mobile-navbar.fixed-bottom .btn.active{background:transparent!important;border-bottom:3px solid gold!important;border-radius:0!important;color:#fff!important;font-weight:700}.mobile-navbar .btn i,.mobile-navbar .btn svg{font-size:14px}.mobile-navbar .btn:hover{background-color:hsla(0,0%,100%,.1);color:#fff}.mobile-navbar .btn:active{background-color:hsla(0,0%,100%,.2);box-shadow:none;color:#fff;transform:scale(.96);transition:transform .1s ease}.mobile-navbar .btn{touch-action:manipulation}