1<!DOCTYPE html> 2<html lang="en"> 3<head> 4<!-- ================================================================================================================= --> 5<!-- 6o Well, hello there! :-) 7o The Content Management System for this website is RocketFusion.com 8o RocketFusion and the RocketFusion logo are copyright Montague WebWorks, Inc. 9o Please direct code comments/feedback to https://MontagueWebWorks.com/contact 10o All content updated by the client: Town of Charlemont 11--> 12<!-- ================================================================================================================= --> 13<!-- Title and App Tags --> 14<!-- 20260930205248 --> 15<title>News - Town of Charlemont</title> 16<meta property="og:title" content="News"> 17<meta property="twitter:title" content="News - Town of Charlemont"> 18<meta itemprop="name" content="News - Town of Charlemont"> 19<!-- safari --> 20<meta name="apple-mobile-web-app-title" content="News - Town of Charlemont"> 21<meta name="apple-mobile-web-app-capable" content="yes"> 22<meta name="apple-touch-fullscreen" content="yes"> 23<!-- chrome --> 24<meta name="mobile-web-app-capable" content="yes"> 25<!-- ie 10 --> 26<meta name="application-name" content="News - Town of Charlemont"> 27<meta name="msapplication-tooltip" content="News - Town of Charlemont"> 28<meta name="msapplication-starturl" content="/"> 29<!-- ================================================================================================================= --> 30<!-- Standard on all pages --> 31<meta charset="UTF-8" /> 32<meta http-equiv="content-type" content="text/html;charset=UTF-8"> 33<meta http-equiv="cache-control" content="public, max-age=86400"> 34<meta http-equiv="imagetoolbar" content="no"> 35<meta name="format-detection" content="telephone=yes"/><!-- was yes but Edge breaks it --> 36<!-- new google fonts --> 37<link rel="preconnect" href="https://fonts.googleapis.com"> 38<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 39<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Ek+Mukta"> 40<meta name="theme-color" content="white" /> 41<meta name="Language" content="en" /> 42<meta name="apple-mobile-web-app-status-bar-style" content="black" /> 43<meta name="verify-v1" content=" " /> 44<meta name="source" content="exists" /> 45<meta name="geo.placename" content="Charlemont" /> 46<meta name="google-site-verification" content=" " /> 47<meta name="p:domain_verify" content=" " /> 48<meta name="geo.position" content="" /> 49<meta name="msapplication-TileColor" content="white" /> 50<meta name="last-modified" content="2026-10-01" /> 51<meta name="geo.region" content="US-MA" /> 52<meta name="msvalidate.01" content=" " /> 53<!-- no Facebook Pixel ID --> 54<meta name="author" content="Town of Charlemont" /> 55<meta name="owner" content="Town of Charlemont" /> 56<meta name="copyright" content="Copyright 2026 Town of Charlemont" /> 57<meta name="expires" content="Oct 1, 2026"> 58<meta name="generator" content="RocketFusion CMS" /> 59<meta name="Robots" content="noodp,noydir" /> 60<meta name="slurp" content="noydir" /> 61<meta name="googlebot" content="noodp" /> 62<meta name="msnbot" content="noodp" /> 63<meta name="MSSmartTagsPreventParsing" content="TRUE" /><!-- stops MS browsers from adding parsed keyword advertising on websites --> 64<meta name="viewport" content="width=device-width, initial-scale=1"><!-- , maximum-scale=1 --> 65<meta property="og:site_name" content="Town of Charlemont"> 66<meta property="og:type" content="article" /> 67<!-- ================================================================================================================= --> 68<!-- FAVICONS start --> 69<link rel="shortcut icon" href="/favicon.ico" /> 70<link rel="icon" href="/favicon.ico" type="image/x-icon" /> 71<link rel="apple-touch-icon" href="/favicon.ico"> 72<meta name="msapplication-TileImage" content="/favicon.ico"> 73<link rel="apple-touch-icon" sizes="16x16" href="/icons/favicon-16x16.png"> 74<link rel="icon" sizes="16x16" href="/icons/favicon-16x16.png"> 75<meta name="msapplication-square16x16logo" content="/icons/favicon-16x16.png"/> 76<link rel="apple-touch-icon" sizes="24x24" href="/icons/favicon-24x24.png"> 77<link rel="icon" sizes="24x24" href="/icons/favicon-24x24.png"> 78<meta name="msapplication-square24x24logo" content="/icons/favicon-24x24.png"/> 79<link rel="apple-touch-icon" sizes="32x32" href="/icons/favicon-32x32.png"> 80<link rel="icon" sizes="32x32" href="/icons/favicon-32x32.png"> 81<meta name="msapplication-square32x32logo" content="/icons/favicon-32x32.png"/> 82<link rel="apple-touch-icon" sizes="48x48" href="/icons/favicon-48x48.png"> 83<link rel="icon" sizes="48x48" href="/icons/favicon-48x48.png"> 84<meta name="msapplication-square48x48logo" content="/icons/favicon-48x48.png"/> 85<link rel="apple-touch-icon" sizes="57x57" href="/icons/favicon-57x57.png"> 86<link rel="icon" sizes="57x57" href="/icons/favicon-57x57.png"> 87<meta name="msapplication-square57x57logo" content="/icons/favicon-57x57.png"/> 88<link rel="apple-touch-icon" sizes="60x60" href="/icons/favicon-60x60.png"> 89<link rel="icon" sizes="60x60" href="/icons/favicon-60x60.png"> 90<meta name="msapplication-square60x60logo" content="/icons/favicon-60x60.png"/> 91<link rel="apple-touch-icon" sizes="64x64" href="/icons/favicon-64x64.png"> 92<link rel="icon" sizes="64x64" href="/icons/favicon-64x64.png"> 93<meta name="msapplication-square64x64logo" content="/icons/favicon-64x64.png"/> 94<link rel="apple-touch-icon" sizes="70x70" href="/icons/favicon-70x70.png"> 95<link rel="icon" sizes="70x70" href="/icons/favicon-70x70.png"> 96<meta name="msapplication-square70x70logo" content="/icons/favicon-70x70.png"/> 97<link rel="apple-touch-icon" sizes="72x72" href="/icons/favicon-72x72.png"> 98<link rel="icon" sizes="72x72" href="/icons/favicon-72x72.png"> 99<meta name="msapplication-square72x72logo" content="/icons/favicon-72x72.png"/> 100<link rel="apple-touch-icon" sizes="76x76" href="/icons/favicon-76x76.png"> 101<link rel="icon" sizes="76x76" href="/icons/favicon-76x76.png"> 102<meta name="msapplication-square76x76logo" content="/icons/favicon-76x76.png"/> 103<link rel="apple-touch-icon" sizes="120x120" href="/icons/favicon-120x120.png"> 104<link rel="icon" sizes="120x120" href="/icons/favicon-120x120.png"> 105<meta name="msapplication-square120x120logo" content="/icons/favicon-120x120.png"/> 106<link rel="apple-touch-icon" sizes="96x96" href="/icons/favicon-96x96.png"> 107<link rel="icon" sizes="96x96" href="/icons/favicon-96x96.png"> 108<meta name="msapplication-square96x96logo" content="/icons/favicon-96x96.png"/> 109<link rel="apple-touch-icon" sizes="114x114" href="/icons/favicon-114x114.png"> 110<link rel="icon" sizes="114x114" href="/icons/favicon-114x114.png"> 111<meta name="msapplication-square114x114logo" content="/icons/favicon-114x114.png"/> 112<link rel="apple-touch-icon" sizes="128x128" href="/icons/favicon-128x128.png"> 113<link rel="icon" sizes="128x128" href="/icons/favicon-128x128.png"> 114<meta name="msapplication-square128x128logo" content="/icons/favicon-128x128.png"/> 115<link rel="apple-touch-icon" sizes="144x144" href="/icons/favicon-144x144.png"> 116<link rel="icon" sizes="144x144" href="/icons/favicon-144x144.png"> 117<meta name="msapplication-square144x144logo" content="/icons/favicon-144x144.png"/> 118<link rel="apple-touch-icon" sizes="150x150" href="/icons/favicon-150x150.png"> 119<link rel="icon" sizes="150x150" href="/icons/favicon-150x150.png"> 120<meta name="msapplication-square150x150logo" content="/icons/favicon-150x150.png"/> 121<link rel="apple-touch-icon" sizes="152x152" href="/icons/favicon-152x152.png"> 122<link rel="icon" sizes="152x152" href="/icons/favicon-152x152.png"> 123<meta name="msapplication-square152x152logo" content="/icons/favicon-152x152.png"/> 124<link rel="apple-touch-icon" sizes="196x196" href="/icons/favicon-196x196.png"> 125<link rel="icon" sizes="196x196" href="/icons/favicon-196x196.png"> 126<meta name="msapplication-square196x196logo" content="/icons/favicon-196x196.png"/> 127<link rel="apple-touch-icon" sizes="310x310" href="/icons/favicon-310x310.png"> 128<link rel="icon" sizes="310x310" href="/icons/favicon-310x310.png"> 129<meta name="msapplication-square310x310logo" content="/icons/favicon-310x310.png"/> 130<link rel="manifest" href="/icons/manifest.json"> 131<meta name="apple-mobile-web-app-status-bar-style" content="black"> 132<meta name="msapplication-TileColor" content="white"> 133<meta name="theme-color" content="white"> 134<!-- MS Application Tasks (off for now) --> 135<!-- FAVICONS end --> 136<meta property="og:url" content="/news"> 137<link rel="canonical" href="/news"> 138<meta itemprop="image" content="/library/seal-bg.png"> 139<meta property="og:image" content="/library/seal-bg.png"> 140<meta property="twitter:image" content="/library/seal-bg.png"> 141<link rel="image_src" href="/library/seal-bg.png"> 142<meta property="og:image:alt" content="News"> 143<meta name="description" content="Town of Charlemont"> 144<meta itemprop="description" content="Town of Charlemont"> 145<meta property="og:description" content="Town of Charlemont"> 146<meta property="twitter:description" content="Town of Charlemont"> 147<!-- ================================================================================================================= -->
148<script src="https://kit.fontawesome.com/d3bffd01a6.js" crossorigin="anonymous"></script>
148 149<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css" integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS" crossorigin="anonymous"> 150<link rel="stylesheet" href="/RFassets/css/datatables-bs4.min.css"> 151<link rel="stylesheet" href="/RFAssets/css/RFtables.css?ver=20260930205248"> 152<link rel="stylesheet" href="/RFAssets/css/joey.css?ver=20260930205248"> 153<link rel="stylesheet" href="/site_style.css?ver=20260930205248"> 154<link rel="stylesheet" href="/header_style.css?ver=20260930205248"> 155<link rel="stylesheet" href="/RFAssets/css/_admin.css?ver=20260930205248"> 156<!-- custom stylesheet --> 157<link rel="stylesheet" href="/tmpl_TMPL11.css?ver=20260930205248">
158<script src="/RFAssets/js/boxover.js" type="text/javascript"></script>
vendor: 1 bytes, line 158
158
159<script type="text/javascript"> 160function toggleLayer(whichLayer,what) { 161if (document.getElementById) 162{ 163var style2 = document.getElementById(whichLayer).style; 164style2.display = what; 165} 166else if (document.all) 167{ 168var style2 = document.all[whichLayer].style; 169style2.display = what; 170} 171else if (document.layers) 172{ 173var style2 = document.layers[whichLayer].style; 174style2.display = what; 175} 176} 177function toggleCheckbox(source) { 178checkboxes = document.getElementsByName('file_delete'); 179for(var i=0, n=checkboxes.length;i<n;i++) { 180checkboxes[i].checked = source.checked; 181} 182} 183</script>
vendor: 1 bytes, line 183
183
184<script> 185/** 186* Function that tracks a click on an outbound link in Analytics. 187* This function takes a valid URL string as an argument, and uses that URL string 188* as the event label. Setting the transport method to 'beacon' lets the hit be sent 189* using 'navigator.sendBeacon' in browser that support it. 190*/ 191var trackOutboundLink = function(url) { 192ga('send', 'event', 'outbound', 'click', url, { 193'transport': 'beacon', 194'hitCallback': function(){document.location = url;} 195}); 196} 197</script>
197 198<!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 64 bytes, lines 198-199
198 199<script async src="https://www.googletagmanager.com/gtag/js?id=
199UA-23762870-1
vendor: 12 bytes, line 199
199"></script>
200<script>
vendor: 127 bytes, lines 201-204
201window.dataLayer = window.dataLayer || []; 202function gtag(){dataLayer.push(arguments);} 203gtag('js', new Date()); 204gtag('config', '
204UA-23762870-1
vendor: 4 bytes, line 204
204');
205</script>
205 206<!-- No text_Google_Tag_Manager_ID defined --> 207<!-- end of metatags --> 208</head> 209<body class="notMobile" 210id="default"> 211<!-- THESE ARE HERE (ADMIN) BECAUSE THEY NEED TO BE AT THE TOP OF THE BODY, NOT IN THE META TAGS --> 212<!-- No text_Google_Tag_Manager_ID defined --> 213<nav style="position:sticky;top:0;z-index:2000;" class="navbar pagenav-dropshade navbar-expand-lg navbar-dark bg-blue stick-top " role="navigation"> 214<div class="container"> 215<button class="navbar-toggler" data-toggle="collapse" data-target="#navbarNav" aria-expanded="false" aria-controls="navbar"> 216<span class="navbar-toggler-icon"></span> 217<span class="sr-only">Menu</span> 218</button> 219<div class="navbar-collapse collapse" id="navbarNav"> 220<ul class="navbar-nav ml-auto mr-auto"> 221<!-- no navcat_13 --> 222<li class="nav-item dropdown"> 223<a href="/" class="nav-link">Home</a> 224</li><!-- yo2 --> 225<!-- no navcat_6 --> 226<li class="nav-item dropdown"> 227<a href="/e/6/Departments" class="nav-link dropdown-toggle">Departments</a> 228<div class="dropdown-menu columns-4" id="drop-shade_6"> 229<div class="row"> 230<div class="col-sm-3"> 231<ul class="multi-column-dropdown"> 232<li> 233<a id="menu_p57" href="/p/57/Agriculture-Commission" >Agriculture Commission</a> 234</li> 235<li> 236<a id="menu_p20" href="/p/20/Animal-Inspection-and-Control" >Animal Inspection and Control</a> 237</li> 238<li> 239<a id="menu_p50" href="/p/50/Board-of-Assessors" >Board of Assessors</a> 240</li> 241<li> 242<a id="menu_p51" href="/p/51/Board-of-Health" >Board of Health</a> 243</li> 244<li> 245<a id="menu_p83" href="/p/83/Building-Inspector" >Building Inspector</a> 246</li> 247<li> 248<a id="menu_p58" href="/p/58/Capital-Planning-Committee" >Capital Planning Committee</a> 249</li> 250<li> 251<a id="menu_p59" href="/p/59/Charlemont-Sewer-Commission" >Charlemont Sewer Commission</a> 252</li> 253<li> 254<a id="menu_p52" href="/p/52/Conservation-Commission" >Conservation Commission</a> 255</li> 256</ul><!-- a --> 257</div> 258<div class="col-sm-3"> 259<ul class="multi-column-dropdown"> 260<li> 261<a id="menu_p28" href="/p/28/Council-on-Aging" >Council on Aging</a> 262</li> 263<li> 264<a id="menu_p16" href="/p/16/Emergency-Management" >Emergency Management</a> 265</li> 266<li> 267<a id="menu_p17" href="/p/17/Emergency-Service-Ambulance" >Emergency Service Ambulance</a> 268</li> 269<li> 270<a id="menu_p29" href="/p/29/Fire-Department" >Fire Department</a> 271</li> 272<li> 273<a id="menu_p31" href="/p/31/Highway-Department" >Highway Department</a> 274</li> 275<li> 276<a id="menu_p53" href="/p/53/Historical-Commission" >Historical Commission</a> 277</li> 278<li> 279<a id="menu_p70" href="/p/70/Master-Plan" >Master Plan</a> 280</li> 281<li> 282<a id="menu_p21" href="/p/21/Moderator" >Moderator</a> 283</li> 284</ul><!-- a --> 285</div> 286<div class="col-sm-3"> 287<ul class="multi-column-dropdown"> 288<li> 289<a id="menu_p54" href="/p/54/Park-and-Recreation-Commission" >Park and Recreation Commission</a> 290</li> 291<li> 292<a id="menu_p55" href="/p/55/Planning-Board" >Planning Board</a> 293</li> 294<li> 295<a id="menu_p33" href="/p/33/Police-Department" >Police Department</a> 296</li> 297<li> 298<a id="menu_p19" href="/p/19/Public-Records-Access" >Public Records Access</a> 299</li> 300<li> 301<a id="menu_p49" href="/p/49/Select-Board" >Select Board</a> 302</li> 303<li> 304<a id="menu_p22" href="/p/22/Tax-Collector" >Tax Collector</a> 305</li> 306<li> 307<a id="menu_p23" href="/p/23/Town-Accountant" >Town Accountant</a> 308</li> 309<li> 310<a id="menu_p84" href="/p/84/Town-Administrator" >Town Administrator</a> 311</li> 312</ul><!-- a --> 313</div> 314<div class="col-sm-3"> 315<ul class="multi-column-dropdown"> 316<li> 317<a id="menu_p24" href="/p/24/Town-Clerk" >Town Clerk</a> 318</li> 319<li> 320<a id="menu_p32" href="/p/32/Transfer-Station" >Transfer Station</a> 321</li> 322<li> 323<a id="menu_p27" href="/p/27/Tree-Warden" >Tree Warden</a> 324</li> 325<li> 326<a id="menu_p25" href="/p/25/Tyler-Memorial-Library" >Tyler Memorial Library</a> 327</li> 328<li> 329<a id="menu_p48" href="/p/48/Upper-Pioneer-Valley-Veterans-Services-District" >Veteransâ Services District</a> 330</li> 331<li> 332<a id="menu_p56" href="/p/56/Zoning-Board-of-Appeals" >Zoning Board of Appeals</a> 333</li> 334</ul><!-- b --> 335</div> 336</div> 337</div><!-- was ul --> 338</li><!-- yo2 --> 339<!-- no navcat_1013 --> 340<li class="nav-item dropdown"> 341<a href="/e/1013/Committees" class="nav-link dropdown-toggle">Committees</a> 342<div class="dropdown-menu columns-4" id="drop-shade_1013"> 343<div class="row"> 344<div class="col-sm-3"> 345<ul class="multi-column-dropdown"> 346<li> 347<a id="menu_p61" href="/p/61/Broadband-Committee" >Broadband Committee</a> 348</li> 349<li> 350<a id="menu_p65" href="/p/65/Earth-Removal-Committee" >Earth Removal Committee</a> 351</li> 352</ul><!-- a --> 353</div> 354<div class="col-sm-3"> 355<ul class="multi-column-dropdown"> 356<li> 357<a id="menu_p66" href="/p/66/East-Charlemont-School-House" >East Charlemont School House</a> 358</li> 359<li> 360<a id="menu_p67" href="/p/67/Finance-Committee" >
360Finance Committee</a> 361</li> 362</ul><!-- a --> 363</div> 364<div class="col-sm-3"> 365<ul class="multi-column-dropdown"> 366<li> 367<a id="menu_p68" href="/p/68/Flag-Committee" >Flag Committee</a> 368</li> 369<li> 370<a id="menu_p85" href="/p/85/Mohawk-School-Committee" >Mohawk School Committee</a> 371</li> 372</ul><!-- a --> 373</div> 374<div class="col-sm-3"> 375<ul class="multi-column-dropdown"> 376<li> 377<a id="menu_p86" href="/p/86/Hawlemont-School-Committee" >Hawlemont School Committee</a> 378</li> 379<li> 380<a id="menu_p1085" href="/p/1085/Charlemont-Recall-Bylaw-Committee" >Charlemont Recall Bylaw Committee</a> 381</li> 382</ul><!-- b --> 383</div> 384</div> 385</div><!-- was ul --> 386</li><!-- yo2 --> 387<!-- no navcat_11 --> 388<li class="nav-item dropdown"> 389<a href="/files" class="nav-link dropdown-toggle">Files</a> 390<div class="dropdown-menu columns-4" id="drop-shade_11"> 391<div class="row"> 392<div class="col-sm-3"> 393<ul class="multi-column-dropdown"> 394<li> 395<a id="menu_f1031" href="/f/0/1031/Abandoned-and-Derelict-Properties-Task-Force" >Abandoned and Derelict Properties Task Force</a> 396</li> 397<li> 398<a id="menu_f1004" href="/f/0/1004/Agricultural-Commission-Meetings" >Agricultural Commission Meetings</a> 399</li> 400<li> 401<a id="menu_f2042" href="/f/0/2042/All-Board--Joint-Meetings" >All Board / Joint Meetings</a> 402</li> 403<li> 404<a id="menu_f1029" href="/f/0/1029/Annual-Town-Meetings" >Annual Town Meetings</a> 405</li> 406<li> 407<a id="menu_f1005" href="/f/0/1005/Board-of-Assessors-Meetings" >Board of Assessors Meetings</a> 408</li> 409<li> 410<a id="menu_f1007" href="/f/0/1007/Board-of-Health-Meetings" >Board of Health Meetings</a> 411</li> 412<li> 413<a id="menu_f2030" href="/f/0/2030/Broadband-Committee-Files" >Broadband Committee Files</a> 414</li> 415<li> 416<a id="menu_f1008" href="/f/0/1008/Broadband-Committee-Meetings" >Broadband Committee Meetings</a> 417</li> 418<li> 419<a id="menu_f2054" href="/f/0/2054/Cannabis-Business-Application" >Cannabis Business Application</a> 420</li> 421<li> 422<a id="menu_f1023" href="/f/0/1023/Capital-Improvement-Commission" >Capital Improvement Commission</a> 423</li> 424<li> 425<a id="menu_f1009" href="/f/0/1009/Capital-Planning-Meetings" >Capital Planning Meetings</a> 426</li> 427</ul><!-- a --> 428</div> 429<div class="col-sm-3"> 430<ul class="multi-column-dropdown"> 431<li> 432<a id="menu_f1010" href="/f/0/1010/Cemetery-Committee-Meetings" >Cemetery Committee Meetings</a> 433</li> 434<li> 435<a id="menu_f1032" href="/f/0/1032/Charlemont-250" >Charlemont 250</a> 436</li> 437<li> 438<a id="menu_f1011" href="/f/0/1011/Conservation-Commission-Meetings" >Conservation Commission Meetings</a> 439</li> 440<li> 441<a id="menu_f1012" href="/f/0/1012/Council-on-Aging-Meetings" >Council on Aging Meetings</a> 442</li> 443<li> 444<a id="menu_f1013" href="/f/0/1013/Deerfield-River-Commission-Meetings" >Deerfield River Commission Meetings</a> 445</li> 446<li> 447<a id="menu_f1033" href="/f/0/1033/Earth-Removal-Committee-Minutes" >Earth Removal Committee Minutes</a> 448</li> 449<li> 450<a id="menu_f1014" href="/f/0/1014/Economic-Development-Roundtable-Minutes" >Economic Development Roundtable Minutes</a> 451</li> 452<li> 453<a id="menu_f1015" href="/f/0/1015/Finance-Committee-Meetings" >Finance Committee Meetings</a> 454</li> 455<li> 456<a id="menu_f1024" href="/f/0/1024/Fire-Department" >Fire Department</a> 457</li> 458<li> 459<a id="menu_f2039" href="/f/0/2039/Flag-Committee-Minutes" >Flag Committee Minutes</a> 460</li> 461<li> 462<a id="menu_f1030" href="/f/0/1030/Flyers-and-Events" >Flyers and Events</a> 463</li> 464</ul><!-- a --> 465</div> 466<div class="col-sm-3"> 467<ul class="multi-column-dropdown"> 468<li> 469<a id="menu_f1034" href="/f/0/1034/Franklin-Regional-Council-of-Governments" >Franklin Regional Council of Governments</a> 470</li> 471<li> 472<a id="menu_f4" href="/f/0/4/General-Files" >General Files</a> 473</li> 474<li> 475<a id="menu_f1025" href="/f/0/1025/Highway-Department" >Highway Department</a> 476</li> 477<li> 478<a id="menu_f1016" href="/f/0/1016/Joint--All-Boards" >Joint / All Boards</a> 479</li> 480<li> 481<a id="menu_f1017" href="/f/0/1017/Master-Plan-Action-Commission-Meetings" >Master Plan Action Commission Meetings</a> 482</li> 483<li> 484<a id="menu_f2052" href="/f/0/2052/MVP-20" >MVP 2.0</a> 485</li> 486<li> 487<a id="menu_f1018" href="/f/0/1018/Park-and-Recreation-Meetings" >Park and Recreation Meetings</a> 488</li> 489<li> 490<a id="menu_f2047" href="/f/0/2047/Permits" >Permits</a> 491</li> 492<li> 493<a id="menu_f1019" href="/f/0/1019/Planning-Board-Meetings" >Planning Board Meetings</a> 494</li> 495<li> 496<a id="menu_f1026" href="/f/0/1026/Police-Department" >Police Department</a> 497</li> 498<li> 499<a id="menu_f1020" href="/f/0/1020/School-Committee-Meetings" >
499School Committee Meetings</a> 500</li> 501</ul><!-- a --> 502</div> 503<div class="col-sm-3"> 504<ul class="multi-column-dropdown"> 505<li> 506<a id="menu_f1006" href="/f/0/1006/Select-Board-Meetings" >Select Board Meetings</a> 507</li> 508<li> 509<a id="menu_f1022" href="/f/0/1022/Special-Town-Meetings" >Special Town Meetings</a> 510</li> 511<li> 512<a id="menu_f2053" href="/f/0/2053/Town-Administrator-Reports" >Town Administrator Reports</a> 513</li> 514<li> 515<a id="menu_f1028" href="/f/0/1028/Town-Clerk" >Town Clerk</a> 516</li> 517<li> 518<a id="menu_f1035" href="/f/0/1035/Vocational-Education-Advisory-Committee" >Vocational Education Advisory Committee</a> 519</li> 520<li> 521<a id="menu_f1021" href="/f/0/1021/Zoning-Board-Meetings" >Zoning Board Meetings</a> 522</li> 523<li> 524<a id="menu_f2048" href="/f/0/2048/Animal-Control-Documents" >Animal Control Documents</a> 525</li> 526<li> 527<a id="menu_f2049" href="/f/0/2049/Town-Administrator" >Town Administrator</a> 528</li> 529<li> 530<a id="menu_f2050" href="/f/0/2050/Recall-Bylaw-Committee" >Recall Bylaw Committee </a> 531</li> 532</ul><!-- b --> 533</div> 534</div> 535</div><!-- was ul --> 536</li><!-- yo2 --> 537<!-- no navcat_12 --> 538<li class="nav-item dropdown"> 539<a href="/calendar" class="nav-link dropdown-toggle">Calendar</a> 540<div class="dropdown-menu columns-4" id="drop-shade_12"> 541<div class="row"> 542<div class="col-sm-3"> 543<ul class="multi-column-dropdown"> 544<li> 545<a id="menu_p1007" href="/d/0/?cid=1007" >Board of Assessors</a> 546</li> 547<li> 548<a id="menu_p1008" href="/d/0/?cid=1008" >Board of Health</a> 549</li> 550<li> 551<a id="menu_p1010" href="/d/0/?cid=1010" >Broadband Committee</a> 552</li> 553<li> 554<a id="menu_p1017" href="/d/0/?cid=1017" >Capital Improvement Commission</a> 555</li> 556<li> 557<a id="menu_p1018" href="/d/0/?cid=1018" >Cemetery Committee</a> 558</li> 559</ul><!-- a --> 560</div> 561<div class="col-sm-3"> 562<ul class="multi-column-dropdown"> 563<li> 564<a id="menu_p1006" href="/d/0/?cid=1006" >Community Events</a> 565</li> 566<li> 567<a id="menu_p1012" href="/d/0/?cid=1012" >Conservation Commission</a> 568</li> 569<li> 570<a id="menu_p1019" href="/d/0/?cid=1019" >Economic Development</a> 571</li> 572<li> 573<a id="menu_p1013" href="/d/0/?cid=1013" >Finance Committee</a> 574</li> 575<li> 576<a id="menu_p1014" href="/d/0/?cid=1014" >Parks and Recreation</a> 577</li> 578</ul><!-- a --> 579</div> 580<div class="col-sm-3"> 581<ul class="multi-column-dropdown"> 582<li> 583<a id="menu_p1015" href="/d/0/?cid=1015" >Planning Board</a> 584</li> 585<li> 586<a id="menu_p1011" href="/d/0/?cid=1011" >School Committees</a> 587</li> 588<li> 589<a id="menu_p1009" href="/d/0/?cid=1009" >Select Board</a> 590</li> 591<li> 592<a id="menu_p1020" href="/d/0/?cid=1020" >Senior Center</a> 593</li> 594<li> 595<a id="menu_p5" href="/d/0/?cid=5" >Town Hall</a> 596</li> 597</ul><!-- a --> 598</div> 599<div class="col-sm-3"> 600<ul class="multi-column-dropdown"> 601<li> 602<a id="menu_p1021" href="/d/0/?cid=1021" >Town Nurse</a> 603</li> 604<li> 605<a id="menu_p1016" href="/d/0/?cid=1016" >Tyler Memorial Library</a> 606</li> 607<li> 608<a id="menu_p1022" href="/d/0/?cid=1022" >Zoning Board of Appeals</a> 609</li> 610</ul><!-- b --> 611</div> 612</div> 613</div><!-- was ul --> 614</li><!-- yo2 --> 615<!-- no navcat_14 --> 616<li class="nav-item dropdown"> 617<a href="/e/14/Community" class="nav-link dropdown-toggle">Community</a> 618<div class="dropdown-menu columns-4" id="drop-shade_14"> 619<div class="row"> 620<div class="col-sm-3"> 621<ul class="multi-column-dropdown"> 622<li> 623<a id="menu_p1090" href="/p/1090/Available-Assistance-for-Charlemont-Residents" >Available Assistance for Charlemont Residents</a> 624</li> 625<li> 626<a id="menu_p39" href="/p/39/Charlemont-Lions-Club" >Charlemont Lions Club</a> 627</li> 628</ul><!-- a --> 629</div> 630<div class="col-sm-3"> 631<ul class="multi-column-dropdown"> 632<li> 633<a id="menu_p1092" href="/p/1092/Electrical-Aggregation" >Electrical Aggregation</a> 634</li> 635<li> 636<a id="menu_p1091" href="/p/1091/FRTA-Bus-Charlemont-Route-Schedule" >FRTA Bus Charlemont Route Schedule</a> 637</li> 638</ul><!-- a --> 639</div> 640<div class="col-sm-3"> 641<ul class="multi-column-dropdown"> 642<li> 643<a id="menu_p37" href="/p/37/Mohawk-Trail-Concerts" >Mohawk Trail Concerts</a> 644</li> 645</ul><!-- b --> 646</div> 647</div> 648</div><!-- was ul --> 649</li><!-- yo2 --> 650<!-- no navcat_15 --> 651<li class="nav-item dropdown"> 652<a href="/e/15/History" class="nav-link dropdown-toggle">History</a> 653<div class="dropdown-menu columns-4" id="drop-shade_15"> 654<div class="row"> 655<div class="col-sm-3"> 656<ul class="multi-column-dropdown"> 657<li> 658<a id="menu_p41" href="/p/41/Underground-Railroad" >Underground Railroad</a> 659</li> 660<li> 661<a id="menu_p43" href="/p/43/Way-Back-in-Time" >Way Back in Time</a> 662</li> 663</ul><!-- a --> 664</div> 665<div class="col-sm-3"> 666<ul class="multi-column-dropdown"> 667<li> 668<a id="menu_p44" href="/p/44/Bissell-Bridge-Restoration" >Bissell Bridge Restoration</a> 669</li> 670<li> 671<a id="menu_p45" href="/p/45/Charlemont-Man-Listed-on-Revolutionary-War-Monument" >Revolutionary War Monument</a> 672</li> 673</ul><!-- a --> 674</div> 675<div class="col-sm-3"> 676<ul class="multi-column-dropdown"> 677<li> 678<a id="menu_p46" href="/p/46/Moses-Rice-Gravesite-Gets-Some-Much-Needed-Attention" >Moses Rice Gravesite</a> 679</li> 680<li> 681<a id="menu_p47" href="http://www.sec.state.ma.us/mhc/mhcpra/praslideshow07/praslideshow07_charlemont.html" target="_blank" >Taylor's Fort Excavation</a> 682</li> 683</ul><!-- b --> 684</div> 685</div> 686</div><!-- was ul --> 687</li><!-- yo2 --> 688<!-- qsCats --> 689</ul><!-- d --> 690</div> 691</div> 692</nav> 693<header> 694<div class="container-fluid top-container bg-blue-fade text-light"> 695<!-- Top-Section--> 696<div class="container"> 697<div class="row pt-2"> 698<div class="col-12 col-sm-6 col-md-3 seal d"> 699<a href="/"><img class="img-fluid" src="/site/seal.png" alt="Charlemont town seal" /></a> 700</div> 701<div class="col-12 col-sm-6 col-md-3"> 702<div class="h1">Charlemont</div> 703<div class="h4">Massachusetts</div> 704</div> 705<div class="col-12 col-sm-6 col-md-3 top-contact d-none d-sm-block"> 706<ul> 707<li><strong>Charlemont</strong></li> 708<li>
708157 Main Street, 01339</li> 709<li>413-339-4335</li> 710<li><a href="/contact">Contact Us</a></li> 711</ul> 712</div> 713<div class="col-12 col-sm-6 col-md-3"> 714<div class="top-search"> 715<search class="center inline-block" style=""> 716<form method="get" action="/z/0/" class="sitesearch noprint mb-0" role="search" aria-label="search" class="inline-block" id="search" style=""> 717<div class="input-group" > 718<label for="term" class="sr-only" aria-label="Search">Search</label> 719<input title="Search Term" type="search" class="form-control" maxlength="30" name="term" id="term" placeholder="Search our website" value="" style="background:white!important;color:black!important;"> 720<span class="input-group-btn"> 721<button id="go" type="submit" aria-label="submit" class="btn btn-default black">Go!</button> 722</span> 723</div> 724<input type="hidden" name="module" value=""> 725</form> 726</search> 727</div> 728</div> 729</div> 730</div> 731</div> 732</header> 733<main> 734<div class="container content-container-2 shadow"> 735<div class="row pb-5"> 736<!-- Jumbtron --> 737<div class="col-12 p-0"><img class="img-fit" src="/site/header-1.jpg" alt="Town of Charlemont forest view" /></div> 738<!-- Mobile Contact --> 739<div class="col-12 p-3 d-block d-sm-none mobile-contact"> 740<div class="static mobile"> 741<!-- from var application.static.mobile --> 742</div> 743</div> 744<!-- News --> 745<div class="col-12 col-sm-12 col-md-12 pt-2 mt-2"> 746<div class="content"> 747<main> 748<!-- START PAGE DIV --> 749<div class="page n n0 " style=""> 750<div class="container maincontent"> 751<div class="row"> 752<div class="col-sm-12"> 753<div class="newsPageItem newsPageItem_20258 yesprint" > 754<h3 class="news"> 755<a href="/n/20258/October-2026-Newsletter"> 756<span>October 2026 Newsletter</span> 757</a></h3> 758<!-- no synopsis --> 759<p class="updated"> 760<em> 761Posted: to <a href="/?p=n.0&cid=5">General News</a> on Tue, Sep 29, 2026 762<br />Updated: Tue, Sep 29, 2026 763</em> 764</p> 765</div> 766<div class="newsPageItem newsPageItem_20257 yesprint" > 767<h3 class="news"> 768<a href="/n/20257/Electrical-Aggregation-Quarter-2-2026-Report"> 769<span>Electrical Aggregation Quarter 2 2026 Report</span> 770</a></h3> 771<!-- no synopsis --> 772<p class="updated"> 773<em> 774Posted: to <a href="/?p=n.0&cid=5">General News</a> on Wed, Sep 23, 2026 775<br />Updated: Wed, Sep 23, 2026 776</em> 777</p> 778</div> 779<div class="newsPageItem newsPageItem_20256 yesprint" > 780<h3 class="news"> 781<a href="/n/20256/Annual-Property-Inspections-from-the-Assessors-Office"> 782<span>
782Annual Property Inspections from the Assessors Office</span> 783</a></h3> 784<!-- no synopsis --> 785<p class="updated"> 786<em> 787Posted: to <a href="/?p=n.0&cid=5">General News</a> on Tue, Sep 15, 2026 788<br />Updated: Tue, Sep 15, 2026 789</em> 790</p> 791</div> 792<div class="newsPageItem newsPageItem_20255 yesprint" > 793<h3 class="news"> 794<a href="/n/20255/Attorney-General-Approves-By-Laws-Approved-at-May-Town-Meeting"> 795<span>Attorney General Approves By Laws Approved at May Town Meeting</span> 796</a></h3> 797<!-- no synopsis --> 798<p class="updated"> 799<em> 800Posted: to <a href="/?p=n.0&cid=5">General News</a> on Tue, Sep 8, 2026 801<br />Updated: Wed, Sep 9, 2026 802</em> 803</p> 804</div> 805<div class="newsPageItem newsPageItem_20253 yesprint" > 806<h3 class="news"> 807<a href="/n/20253/Invitation-to-Bid-Propane-and-Equipment-Rental"> 808<span>Invitation to Bid Propane and Equipment Rental</span> 809</a></h3> 810<!-- no synopsis --> 811<p class="updated"> 812<em> 813Posted: to <a href="/?p=n.0&cid=5">General News</a> on Tue, Aug 25, 2026 814<br />Updated: Tue, Aug 25, 2026 815</em> 816</p> 817</div> 818<div class="newsPageItem newsPageItem_20248 yesprint" > 819<a href="/n/20248/Drought-Information"><span class="newslist"><img 820class="news" border="0" src="/news/news_20248_small.jpg?20260923094613" 821alt="" align="right"></span></a> 822<h3 class="news"> 823<a href="/n/20248/Drought-Information"> 824<span>Drought Information</span> 825</a></h3> 826<p class="synopsysList">updated on September 10,2026</p> 827<p class="updated"> 828<em> 829Posted: to <a href="/?p=n.0&cid=5">General News</a> on Mon, Jun 15, 2026 830<br />Updated: Wed, Sep 23, 2026 831</em> 832</p> 833</div> 834<div class="newsPageItem newsPageItem_20243 yesprint" > 835<h3 class="news"> 836<a href="/n/20243/Town-Meeting-Budget"> 837<span>Town Meeting Budget</span> 838</a></h3> 839<!-- no synopsis --> 840<p class="updated"> 841<em> 842Posted: to <a href="/?p=n.0&cid=5">General News</a> on Sat, May 23, 2026 843<br />Updated: Sat, May 23, 2026 844</em> 845</p> 846</div> 847<div class="newsPageItem newsPageItem_20242 yesprint" > 848<h3 class="news"> 849<a href="/n/20242/Town-Report-2025"> 850<span>Town Report 2025</span> 851</a></h3> 852<!-- no synopsis --> 853<p class="updated"> 854<em> 855Posted: to <a href="/?p=n.0&cid=5">General News</a> on Fri, May 22, 2026 856<br />Updated: Fri, May 22, 2026 857</em> 858</p> 859</div> 860<div class="newsPageItem newsPageItem_20241 yesprint" > 861<h3 class="news"> 862<a href="/n/20241/Composting-Presentation-for-Franklin-County-Solid-Waste-Towns"> 863<span>Composting Presentation for Franklin County Solid Waste Towns</span> 864</a></h3> 865<!-- no synopsis --> 866<p class="updated"> 867<em> 868Posted: to <a href="/?p=n.0&cid=5">General News</a> on Fri, May 8, 2026 869<br />Updated: Fri, May 8, 2026 870</em> 871</p> 872</div> 873<div class="newsPageItem newsPageItem_20236 yesprint" > 874<h3 class="news"> 875<a href="/n/20236/Electrical-Aggregation-Report-For-Quarter-4-of-2025"> 876<span>Electrical Aggregation Report For Quarter 4 of 2025</span> 877</a></h3> 878<!-- no synopsis --> 879<p class="updated"> 880<em> 881Posted: to <a href="/?p=n.0&cid=5">General News</a> on Fri, Mar 20, 2026 882<br />Updated: Fri, Mar 20, 2026 883</em> 884</p> 885</div> 886<div class="newsPageItem newsPageItem_20233 yesprint" > 887<a href="/n/20233/Drought-Update"><span class="newslist"><img 888class="news" border="0" src="/news/news_20233_small.jpg?20260513082300" 889alt="draught update poster" align="right"></span></a> 890<h3 class="news"> 891<a href="/n/20233/Drought-Update"> 892<span>Drought Update</span> 893</a></h3> 894<!-- no synopsis --> 895<p class="updated"> 896<em> 897Posted: to <a href="/?p=n.0&cid=5">General News</a> on Fri, Mar 13, 2026 898<br />Updated: Wed, May 13, 2026 899</em> 900</p> 901</div> 902<div class="newsPageItem newsPageItem_20231 yesprint" > 903<h3 class="news"> 904<a href="/n/20231/Electrical-Aggregation-Rate-Increase-Notification"> 905<span>Electrical Aggregation Rate Increase Notification</span> 906</a></h3> 907<!-- no synopsis --> 908<p class="updated"> 909<em> 910Posted: to <a href="/?p=n.0&cid=5">General News</a> on Fri, Feb 13, 2026 911<br />Updated: Fri, Feb 13, 2026 912</em> 913</p> 914</div> 915<div class="newsPageItem newsPageItem_20226 yesprint" > 916<h3 class="news"> 917<a href="/n/20226/Electrical-Aggregation-Consumer-Notification--NEW-SUPPLIER-and-PRICE"> 918<span>Electrical Aggregation Consumer Notification- NEW SUPPLIER and PRICE</span> 919</a></h3> 920<!-- no synopsis --> 921<p class="updated"> 922<em> 923Posted: to <a href="/?p=n.0&cid=5">General News</a> on Wed, Nov 19, 2025 924<br />Updated: Tue, Nov 25, 2025 925</em> 926</p> 927</div> 928<div class="newsPageItem newsPageItem_20217 yesprint" > 929<h3 class="news"> 930<a href="/n/20217/Annual-Town-Meeting-Minutes"> 931<span>Annual Town Meeting Minutes</span> 932</a></h3> 933<!-- no synopsis --> 934<p class="updated"> 935<em> 936Posted: to <a href="/?p=n.0&cid=5">General News</a> on Tue, Jul 22, 2025 937<br />Updated: Tue, Jul 22, 2025 938</em> 939</p> 940</div> 941<div class="newsPageItem newsPageItem_20209 yesprint" > 942<h3 class="news"> 943<a href="/n/20209/June-3-Election-Results"> 944<span>June 3 Election Results</span> 945</a></h3> 946<!-- no synopsis --> 947<p class="updated"> 948<em> 949Posted: to <a href="/?p=n.0&cid=5">General News</a> on Wed, Jun 4, 2025 950<br />Updated: Wed, Jun 4, 2025 951</em> 952</p> 953</div> 954<div class="newsPageItem newsPageItem_20207 yesprint" > 955<h3 class="news"> 956<a href="/n/20207/Master-Plan-for-Charlemont"> 957<span>Master Plan for Charlemont</span> 958</a></h3> 959<!-- no synopsis --> 960<p class="updated"> 961<em> 962Posted: to <a href="/?p=n.0&cid=5">General News</a> on Mon, Jun 2, 2025 963<br />Updated: Wed, Jul 2, 2025 964</em> 965</p> 966</div> 967<div class="newsPageItem newsPageItem_20206 yesprint" > 968<h3 class="news"> 969<a href="/n/20206/Town-Report-for-year-ending-December-31-2024"> 970<span>Town Report for year ending December 31, 2024</span> 971</a></h3> 972<!-- no synopsis --> 973<p class="updated"> 974<em> 975Posted: to <a href="/?p=n.0&cid=5">General News</a> on Tue, May 27, 2025 976<br />Updated: Tue, May 27, 2025 977</em> 978</p> 979</div> 980<div class="newsPageItem newsPageItem_20203 yesprint" > 981<h3 class="news"> 982<a href="/n/20203/School-Committee-Recommendation-on-Sustainability-Study-Models"> 983<span>School Committee Recommendation on Sustainability Study Models</span> 984</a></h3> 985<!-- no synopsis --> 986<p class="updated"> 987<em> 988Posted: to <a href="/?p=n.0&cid=5">General News</a> on Fri, May 16, 2025 989<br />Updated: Fri, May 16, 2025 990</em> 991</p> 992</div> 993<div class="newsPageItem newsPageItem_20190 yesprint" > 994<h3 class="news"> 995<a href="/n/20190/How-to-obtain-an-open-burn-permit"> 996<span>How to obtain an open burn permit.</span> 997</a></h3> 998<!-- no synopsis --> 999<p class="updated"> 1000<em> 1001Posted: to <a href="/?p=n.0&cid=5">General News</a> on Wed, Jan 15, 2025 1002<br />Updated: Wed, Jan 15, 2025 1003</em> 1004</p> 1005</div> 1006<div class="newsPageItem newsPageItem_20157 yesprint" > 1007<h3 class="news"> 1008<a href="/n/20157/How-Property-Values-And-Taxes-Are-Determined"> 1009<span>How Property Values And Taxes Are Determined</span> 1010</a></h3> 1011<!-- no synopsis --> 1012<p class="updated"> 1013<em> 1014Posted: to <a href="/?p=n.0&cid=5">General News</a> on Tue, Dec 26, 2023 1015<br />Updated: Tue, Dec 26, 2023 1016</em> 1017</p> 1018</div> 1019<div class="newsPageItem newsPageItem_20118 yesprint" > 1020<h3 class="news"> 1021<a href="/n/20118/Tax-Tips-for-Seniors-and-Retirees"> 1022<span>Tax Tips for Seniors and Retirees</span> 1023</a></h3> 1024<p class="synopsysList">See the attached document for some helpful tax information provided by the Board of Assessors</p> 1025<p class="updated"> 1026<em> 1027Posted: to <a href="/?p=n.0&cid=5">General News</a> on Wed, Nov 30, 2022 1028<br />Updated: Wed, Nov 30, 2022 1029</em> 1030</p> 1031</div> 1032<div class="newsPageItem newsPageItem_20085 yesprint" > 1033<a href="/n/20085/Elevator-Feasibility-Study-For-Town-Hall"><span class="newslist"><img 1034class="news" border="0" src="/news/news_20085_small.jpg?20260318141600" 1035alt="rendering of town hall" align="right"></span></a> 1036<h3 class="news"> 1037<a href="/n/20085/Elevator-Feasibility-Study-For-Town-Hall"> 1038<span>Elevator Feasibility Study For Town Hall</span> 1039</a></h3> 1040<!-- no synopsis --> 1041<p class="updated"> 1042<em> 1043Posted: to <a href="/?p=n.0&cid=5">General News</a> on Thu, Apr 28, 2022 1044<br />Updated: Thu, Apr 28, 2022 1045</em> 1046</p> 1047</div> 1048</div> 1049</div> 1050</div> 1051</div> 1052<!-- END PAGE DIV --> 1053<div class="lowercontent"> 1054<!-- START PAGE SECTIONS --> 1055<!-- inside page sections --> 1056<!-- this is NOT a p (62) --> 1057<!-- canview = 1 (83) --> 1058<!-- END PAGE SECTIONS --> 1059</div> 1060</main> 1061</div> 1062</div> 1063</div> 1064</div> 1065</main> 1066<!-- Footer --> 1067<footer class="footer row"> 1068<div class="col-12 pb-5"> 1069<div class="static footer-head"> 1070<!-- from var application.static.footer_head --> 1071</div> 1072</div> 1073<div class="col-12 col-sm-6 col-md-6 col-lg-3"> 1074<div class="static footer-one"> 1075<!-- from var application.static.footer_one --> 1076</div> 1077</div> 1078<div class="col-12 col-sm-6 col-md-6 col-lg-3"> 1079<div class="static footer-two"> 1080<!-- from var application.static.footer_two --> 1081</div> 1082</div> 1083<div class="col-12 col-sm-6 col-md-6 col-lg-3"> 1084<div class="static footer-three"> 1085<!-- from var application.static.footer_three --> 1086</div> 1087</div> 1088<div class="col-12 col-sm-6 col-md-6 col-lg-3"> 1089<div class="static footer-four"> 1090<!-- from var application.static.footer_four --> 1091</div> 1092</div> 1093<div class="col-12 pt-3 text-center"> 1094<p> 1095<div id="footer"> 1096<span class="footerO"> 1097<span class="footerL"> 1098© 2026 Town of Charlemont 1099| 1100Software by <a href=http://MontagueWebWorks.com target=_blank>Montague WebWorks</a> 1101</span> 1102<span class="footerM"> 1103| 1104</span> 1105<span class="footerR">
1106<a href="https://RocketFusion.com" target="_blank">Powered by RocketFusion 123</a> 1107</span> 1108</span> 1109</div> 1110</p> 1111<p> 1112<span class="login-link"> 1113<a class="login noprint" href="" style="cursor:pointer;" rel="nofollow" aria-label="log in" data-toggle="modal" data-target="#Login" data-remote="/inc/divLogin.cfm?edit=Login">Admin Login</a> 1114<div class="modal fade" id="Login" role="dialog"><div class="modal-dialog" role="document"><div class="modal-content"><div class="modal-body"></div></div></div></div> 1115</span> 1116</p> 1117</div> 1118</footer> 1119<!-- BS4 Init --> 1120<div class="modal fade" id="reserve" role="dialog"><div class="modal-dialog" role="document"><div class="modal-content"><div class="modal-body"></div></div></div><div id="load-res" class="loading-reserve d-none"></div></div>
1121<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
vendor: 1 bytes, line 1121
1121
1122<script type="text/javascript" src="https://scaleflex.cloudimg.io/v7/plugins/filerobot-image-editor/latest/filerobot-image-editor.min.js?func=proxy"></script>
vendor: 1 bytes, line 1122
1122
1123<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-Fy6S3B9q64WdZWQUiU+q4/2Lc9npb8tCaSX9FK7E8HnRr0Jz8D6OP9dO5Vg3Q9ct" crossorigin="anonymous"></script>
vendor: 1 bytes, line 1123
1123
1124<script> 1125// Assuming we have a div with id="editor_container" 1126const filerobotImageEditor = new window.FilerobotImageEditor( 1127document.querySelector("#rf-image-editor-edit") 1128); 1129const image_file_upload = document.getElementById("rf-image-upload"); 1130// const btn_image_upload_edit = document.getElementById("btn-image-upload-edit"); 1131var source_image = ''; // the HTMLImageElement 1132var save_image_name = ''; // name to save image with 1133var global_fr_folder = ''; // where to upload 1134var global_fr_table = ''; // db table to update 1135var global_fr_prefix = ''; // image file prefix, ie; blocks_ 1136var global_fr_pid = 0; // image ID, ie; blocks_2323 1137var dropzone_website_dir = 'Charlemont-MA.us\\httpdocs'; 1138const file_robot_defaults = { 1139save_image_quality : 1, // 0.1 - 1 (default 0.92) - applies to jpeg, jpg and webp images only 1140}; 1141function renderFileRobotEditor(source,fr_folder=global_fr_folder,fr_table=global_fr_table,fr_prefix=global_fr_prefix,fr_pid=global_fr_pid) { 1142console.group("renderFileRobotEditor() called"); 1143console.log('source:', source); 1144console.log('fr_folder:', fr_folder); 1145console.log('fr_table:', fr_table); 1146console.log('fr_prefix:', fr_prefix); 1147console.log('fr_pid:', fr_pid); 1148console.groupEnd(); 1149source_image = source; 1150filerobotImageEditor.render({ 1151source: source_image, 1152useBackendTranslations: false, 1153defaultSavedImageName: save_image_name, 1154defaultSavedImageQuality: file_robot_defaults.save_image_quality, 1155tabsIds: [ 1156window.FilerobotImageEditor.TABS.ADJUST, 1157window.FilerobotImageEditor.TABS.FINETUNE, 1158window.FilerobotImageEditor.TABS.FILTERS, 1159window.FilerobotImageEditor.TABS.ANNOTATE, 1160window.FilerobotImageEditor.TABS.WATERMARK], // or ['Adjust', 'Annotate', 'Watermark'] 1161defaultTabId: window.FilerobotImageEditor.TABS.ADJUST, 1162Crop: { 1163minWidth: 14, 1164minHeight: 14, 1165maxWidth: null, 1166maxHeight: null, 1167ratio: 'custom', 1168ratioTitleKey: 'custom', 1169noPresets: false, 1170autoResize: false, 1171presetsItems: [], 1172presetsFolders: [], 1173lockCropAreaAt: null, // 'top-left' 1174}, 1175// disable save modal 1176onBeforeSave: () => { 1177return false; 1178}, 1179onSave: async (imageInfo, designState) => { 1180// console.log('onSave() imageInfo', imageInfo); 1181// console.log('onSave() designState', designState); 1182// create formData object to populate and send with fetch request 1183const formData = new FormData(); 1184formData.append('image64', imageInfo.imageBase64); 1185formData.append('image_extension', imageInfo.extension); 1186formData.append('image_height', imageInfo.height); 1187formData.append('image_name', imageInfo.name); 1188formData.append('image_name_with_extension', imageInfo.fullName); 1189formData.append('image_quality', imageInfo.quality); 1190formData.append('image_width', imageInfo.width); 1191formData.append('dropzone_website_dir', dropzone_website_dir); // e.g. MikMuller.com\httpdocs 1192formData.append('rf_dropzone_dir', fr_folder); 1193console.log('onSave() formData [2]', formData); 1194// add dropzone options for compatibility with current upload script 1195const drop_zone_options = { 1196tbl: fr_table, 1197imgbase: `${fr_prefix}${fr_pid}`, 1198imgname: imageInfo.fullName, 1199id: fr_pid 1200} 1201formData.append("dropzone_options", JSON.stringify(drop_zone_options)); 1202console.log('onSave() drop_zone_options', drop_zone_options); 1203try { 1204// _dropzone-file-upload-ajax.cfm 1205// _upload-base64.cfm (for testing) 1206console.log('renderFileRobotEditor.onSave() imageInfo', imageInfo); 1207const upload_request = await fetch('/inc/_dropzone-file-upload-ajax.cfm', { 1208method: 'POST', 1209body: formData 1210}); 1211const upload_result = await upload_request.json(); 1212// console.log('DEBUG: [onSave] upload_result', upload_result); 1213// close modal 1214$('#rfImageModalEdit').modal('hide'); 1215// page reload 1216window.location.reload(); 1217} catch (error) { 1218console.log('onSave() error', error); 1219const upload_result = { 1220code: 1, 1221message: error.message, 1222success: false 1223} 1224} 1225}, 1226onClose: (closingReason) => { 1227console.log("Closing reason", closingReason); 1228filerobotImageEditor.terminate(); 1229// reset the input field 1230document.getElementById('rf-image-upload').value = ''; 1231}, 1232}); 1233} 1234/** 1235* Function to handle image selection from the file input field 1236* async as we use a promise to await image load 1237*/ 1238async function onImageSelected(event, file_obj, fr_folder, fr_table, fr_prefix, fr_pid) { 1239let file; 1240if (file_obj) { 1241console.log('onImageSelected file_obj', file_obj, fr_folder, fr_table, fr_prefix, fr_pid); 1242file = file_obj; 1243} else { 1244file = event.target.files[0]; 1245} 1246save_image_name = file.name; 1247console.log('onImageSelected file', file); 1248// const reader = new FileReader(); 1249const image = new Image(); 1250const img_max_width = 1600; 1251image.src = URL.createObjectURL(file); 1252// Promise to await image load 1253await new Promise((resolve) => { 1254image.onload = () => { 1255const img_width = image.width; 1256const img_height = image.height; 1257// console.log('onImageSelected img load', img_width, img_height); 1258if (img_width > img_max_width) { 1259const img_scale = img_max_width / img_width;
1260image.width = img_width * img_scale; 1261image.height = img_height * img_scale; 1262} 1263// resolve the promise 1264resolve(); 1265}; 1266}); 1267// open the modal 1268$('#rfImageModalEdit').modal('show'); 1269// Render file robot 1270renderFileRobotEditor(image, fr_folder, fr_table, fr_prefix, fr_pid); 1271} 1272/** Function to handle image editing */ 1273function editExistingImage(image_url, image_name, fr_folder=global_fr_folder, fr_table=global_fr_table, fr_prefix=global_fr_prefix, fr_pid=global_fr_pid) { 1274console.log('[DEBUG] editExistingImage() called.'); 1275console.log('image_url:', image_url); 1276console.log('image_name:', image_name); 1277console.log('fr_folder:', fr_folder); 1278console.log('fr_table:', fr_table); 1279console.log('fr_prefix:', fr_prefix); 1280console.log('fr_pid:', fr_pid); 1281save_image_name = image_name; 1282renderFileRobotEditor(image_url, fr_folder, fr_table, fr_prefix, fr_pid); 1283} 1284/** Function to open the hidden input file field */ 1285function openFileInput(fr_folder='', fr_table='', fr_prefix='', fr_pid=0) { 1286console.log('[DEBUG] openFileInput() called.', fr_folder, fr_table, fr_prefix, fr_pid); 1287global_fr_folder = fr_folder; // where to upload 1288global_fr_table = fr_table; // db table to update 1289global_fr_prefix = fr_prefix; // image file prefix, ie; blocks_ 1290global_fr_pid = fr_pid; 1291image_file_upload.click(); 1292} 1293/** Function to open RF File Manager in a modal 1294* Will be used by ckeditor/plugins/rffilemanager/browse.cfm 1295* Need the image full url to make a copy of for ai images 1296*/ 1297function openRFFileManager(current_image_url, fr_folder=global_fr_folder, fr_table=global_fr_table, fr_prefix=global_fr_prefix, fr_pid=global_fr_pid) { 1298// $($(this).data( "target" ) + ' .modal-body').load( data_remote ); 1299console.group("bs4_init openRFFileManager() called"); 1300console.log("current_image_url:", current_image_url); 1301console.log("fr_folder:", fr_folder); 1302console.log("fr_table:", fr_table); 1303console.log("fr_prefix:", fr_prefix); 1304console.log("fr_pid:", fr_pid); 1305console.groupEnd(); 1306const rfFileManagerModalIframe = document.getElementById('rfFileManagerModalIframe'); 1307rfFileManagerModalIframe.src = `/ckeditor/plugins/rffilemanager/browse.cfm?CKEditor=editor1&CKEditorFuncNum=1&langCode=en&direct=true&rf_website_dir=${fr_folder}&pid=` + fr_pid + `&image_url=` + encodeURIComponent(current_image_url) + `&page_parent_directory=${fr_folder}&image_prefix=${fr_prefix}&image_table=${fr_table}`; ; 1308$('#rfFileManagerModal').modal('show'); 1309} 1310/** Function to close the RF File Manager modal 1311* Will be used by ckeditor/plugins/rffilemanager/browse.cfm 1312* Need to upload the image and then close the modal 1313*/ 1314function closeRFFileManagerModal(image_path, img_name='', fr_folder='', fr_table='', fr_prefix='', fr_pid=0) { 1315console.group("bs4_init closeRFFileManagerModal() called"); 1316console.log("image_path:",image_path); 1317console.log("img_name:",img_name); 1318console.log("fr_folder:",fr_folder); 1319console.log("fr_table:",fr_table); 1320console.log("fr_prefix:",fr_prefix); 1321console.log("fr_pid:",fr_pid); 1322console.groupEnd(); 1323$('#rfFileManagerModal').modal('hide'); 1324$('#rfImageModalEdit').modal('show'); 1325save_image_name = img_name; 1326// renderFileRobotEditor(image_path); 1327renderFileRobotEditor(image_path, fr_folder, fr_table, fr_prefix, fr_pid); 1328} 1329/** Function to close the RF File Manager modal without opening File Robot 1330* Will be used by ckeditor/plugins/rffilemanager/browse.cfm 1331*/ 1332function closeRFFileManagerModalOnly(reload=false) { 1333$('#rfFileManagerModal').modal('hide');
1334if (reload) { 1335setTimeout(() => { 1336window.location.reload(); 1337}, 500); 1338} 1339} 1340// Handle closing of modal without saving (must cleanup file robot editor) 1341$('#rfImageModalEdit').on('hidden.bs.modal', function (event) { 1342// console.log('modal closed'); 1343filerobotImageEditor.terminate(); 1344image_file_upload.value = ''; 1345}); 1346/** Rocketfusion - enable drag/drop zone on an image with the .rf-image-dropzone class */ 1347// Create dropzone object for all images with the .rf-image-dropzone class 1348const rf_image_drop_zone = document.querySelectorAll('.rf-image-dropzone'); 1349// Attach event listeners to all instances of rf_image_drop_zone 1350rf_image_drop_zone.forEach(function (i) { 1351// Handle drag over event 1352i.addEventListener('dragover', function(e) { 1353event.target.classList.add('image-dragover'); 1354dragOverHandler(e); 1355}); 1356// Handle drag leave event 1357i.addEventListener('dragleave', function(e) { 1358// console.log('Image dropzone dragleave'); 1359event.target.classList.remove('image-dragover'); 1360}); 1361// Handle drop event 1362i.addEventListener('drop', function(e) { 1363event.target.classList.remove('image-dragover'); 1364dropHandler(e); 1365}); 1366}); 1367/** 1368* Handles the drop event of files in the drop zone. 1369* Prevents the default behavior of opening the file and logs the names of the dropped files. 1370* 1371* @param {Event} ev - The drop event. 1372* @returns {undefined} 1373*/ 1374function dropHandler(ev) { 1375// console.log('File(s) dropped'); 1376// Prevent default behavior (Prevent file from being opened) 1377ev.preventDefault(); 1378if (ev.dataTransfer.items) { 1379// Use DataTransferItemList interface to access the file(s) 1380[...ev.dataTransfer.items].forEach((item, i) => { 1381// If dropped items aren't files, reject them 1382if (item.kind === 'file') { 1383const file = item.getAsFile(); 1384console.log(`file[${i}].name = ${file.name}`); 1385onImageSelected(i, file); 1386} 1387}); 1388} else { 1389// Use DataTransfer interface to access the file(s) 1390[...ev.dataTransfer.files].forEach((file, i) => { 1391console.log(`file[${i}].name = ${file.name}`); 1392onImageSelected(i, file); 1393}); 1394} 1395} 1396/** 1397* Handles the drag over event of files in the drop zone. 1398* Prevents the default behavior of opening the file. 1399* 1400* @param {Event} ev - The drag over event. 1401* @returns {undefined} 1402*/ 1403function dragOverHandler(ev) { 1404// Prevent default behavior (Prevent file from being opened) 1405ev.preventDefault(); 1406} 1407</script>
1407 1408<style> 1409.modal-fullscreen { 1410width: 100vw; 1411max-width: none; 1412height: 100%; 1413margin: 0; 1414} 1415.modal-content { 1416height: 100%; 1417border: 0; 1418@include border-radius(0); 1419} 1420.modal-body { 1421overflow-y: auto; 1422} 1423.image-dragover { 1424opacity: 0.5; 1425} 1426</style>
1427<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
vendor: 1 bytes, line 1427
1427
1428<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
vendor: 1 bytes, line 1428
1428
1429<script type="text/javascript" src="/RFAssets/js/joey.js?ver=20260930205248" charset="UTF-8"></script>
vendor: 1 bytes, line 1429
1429
1430<script type="text/javascript"> 1431$( 'body' ).on( 'click', '[data-toggle="modal"]', function(){ 1432let data_remote = $(this).data( "remote" ); 1433if ( data_remote && data_remote.length >= 2 ) { 1434$($(this).data( "target" ) + ' .modal-content').load( data_remote ); 1435} 1436}); 1437</script>
vendor: 1 bytes, line 1437
1437
1438<script> 1439$(document).ready(function() { 1440//$('nav').animate({opacity:'1'}, 50);<!-- set to 0.25 to make see thru --> 1441//$(img).animate({opacity:'1'}); 1442$initNavHgt = $('nav').outerHeight(); 1443$initHeadLogoHgt = $('#headerLogo').outerHeight(); 1444}); 1445</script>
vendor: 1 bytes, line 1445
1445
1446<script> 1447(function(d) 1448{ 1449var s = d.createElement("script"); 1450s.setAttribute("data-account", "efy2WEGV1m"); 1451s.setAttribute("src", "https://cdn.userway.org/widget.js"); 1452(d.body || d.head).appendChild(s); 1453} 1454) 1455(document) 1456</script>
1456 1457<noscript> 1458<p>Please ensure Javascript is enabled for purposes of <a href="https://userway.org" target="_blank">website accessibility</a></p> 1459</noscript> 1460</body> 1461</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.