PageSourceSearch

https://marylyonchurch.org/gallery

html marylyonchurch.org collected 2026-09-28 18:14:29 UTC 34,893 bytes, 900 lines download raw bytes

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: First Congregational Church of Buckland - The Mary Lyon Church
11-->
12<!-- ================================================================================================================= -->
13<!-- Title and App Tags -->
14<!-- 20260911135327 -->
15<title>Photos - First Congregational Church of Buckland - The Mary Lyon Church</title>
16<meta property="og:title" content="Photos">
17<meta property="twitter:title" content="Photos - First Congregational Church of Buckland - The Mary Lyon Church">
18<meta itemprop="name" content="Photos - First Congregational Church of Buckland - The Mary Lyon Church">
19<!-- safari -->
20<meta name="apple-mobile-web-app-title" content="Photos - First Congregational Church of Buckland - The Mary Lyon Church">
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="Photos - First Congregational Church of Buckland - The Mary Lyon Church">
27<meta name="msapplication-tooltip" content="Photos - First Congregational Church of Buckland - The Mary Lyon Church">
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=Open+Sans|Raleway">
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="Buckland" />
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-09-27" />
51<meta name="geo.region" content="US-MA" />
52<meta name="msvalidate.01" content=" " />
53<!-- no Facebook Pixel ID -->
54<meta name="author" content="The First Congregational Church of Buckland 'The Mary Lyon Church'" />
55<meta name="owner" content="The First Congregational Church of Buckland 'The Mary Lyon Church'" />
56<meta name="copyright" content="Copyright 2026 The First Congregational Church of Buckland 'The Mary Lyon Church'" />
57<meta name="expires" content="Sep 28, 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="First Congregational Church of Buckland - The Mary Lyon Church">
66<meta property="og:type" content="website" />
67<!-- ================================================================================================================= -->
68<!-- FAVICONS start -->
69<!-- favicon info -->
70<link rel="shortcut icon" href="/favicon.ico" />
71<link rel="icon" href="/favicon.ico" type="image/x-icon" />
72<link rel="apple-touch-icon" href="/favicon.ico">
73<meta name="msapplication-TileImage" content="/favicon.ico">
74<link rel="manifest" href="/icons/manifest.json">
75<meta name="apple-mobile-web-app-status-bar-style" content="black">
76<meta name="msapplication-TileColor" content="white">
77<meta name="theme-color" content="white">
78<!-- MS Application Tasks (off for now) -->
79<!-- FAVICONS end -->
80<!-- this is a photo gallery page -->
81<meta property="og:url" content="/gallery/">
82<link rel="canonical" href="/gallery/">
83<meta itemprop="image" content="/library/logo.png">
84<meta property="og:image" content="/library/logo.png">
85<meta property="twitter:image" content="/library/logo.png">
86<link rel="image_src" href="/library/logo.png">
87<meta property="og:image:alt" content="Photos">
88<meta name="description" content="Mary Lyon Church">
89<meta itemprop="description" content="Mary Lyon Church">
90<meta property="og:description" content="Mary Lyon Church">
91<meta property="twitter:description" content="Mary Lyon Church">
92<!-- ================================================================================================================= -->
93<script src="https://kit.fontawesome.com/d3bffd01a6.js" crossorigin="anonymous"></script>
93
94<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css" integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS" crossorigin="anonymous">
95<link rel="stylesheet" href="/RFassets/css/datatables-bs4.min.css">
96<link rel="stylesheet" href="/RFAssets/css/RFtables.css?ver=20260911135327">
97<link rel="stylesheet" href="/RFAssets/css/joey.css?ver=20260911135327">
98<link rel="stylesheet" href="/site_style.css?ver=20260911135327">
99<link rel="stylesheet" href="/header_style.css?ver=20260911135327">
100<link rel="stylesheet" href="/RFAssets/css/_admin.css?ver=20260911135327">
101<!-- custom stylesheet -->
102<link rel="stylesheet" href="/tmpl_TMPL04.css?ver=20260911135327">
103<script src="/RFAssets/js/boxover.js" type="text/javascript"></script>
vendor: 1 bytes, line 103
103
104<script type="text/javascript">
105function toggleLayer(whichLayer,what) {
106if (document.getElementById)
107{
108var style2 = document.getElementById(whichLayer).style;
109style2.display = what;
110}
111else if (document.all)
112{
113var style2 = document.all[whichLayer].style;
114style2.display = what;
115}
116else if (document.layers)
117{
118var style2 = document.layers[whichLayer].style;
119style2.display = what;
120}
121}
122function toggleCheckbox(source) {
123checkboxes = document.getElementsByName('file_delete');
124for(var i=0, n=checkboxes.length;i<n;i++) {
125checkboxes[i].checked = source.checked;
126}
127}
128</script>
128
129<!-- No text_Google_Analytics_account defined -->
130<!-- No text_Google_Tag_Manager_ID defined -->
131<!-- end of metatags -->
132</head>
133<body class="notMobile"
134id="default">
135<!-- THESE ARE HERE (ADMIN) BECAUSE THEY NEED TO BE AT THE TOP OF THE BODY, NOT IN THE META TAGS -->
136<!-- No text_Google_Tag_Manager_ID defined -->
137<!-- ************************** start of head_header ***********************-->
138<style>
139nav .navbar-brand img {
140height: 100px; /*!important*/
141transition: all .25s ease-in-out;
142-webkit-transition: all .25s ease-in-out;
143}
144nav.shrink .navbar-brand img {
145height: 60px; /*!important*/
146transition: all .25s ease-in-out;
147-webkit-transition: all .25s ease-in-out;
148}
149</style>
150<header class="header_default sticky ">
151<div class=" inside-header-container">
152<div class=" inside-header-row">
153<div class=" inside-header-col">
154<div class="NavInfoBar">
155<!-- woot navbar -->
156<div class="nav-info-bar pl-0 pr-0 pt-2 pb-2 mt-0 mb-0 noprint">
157<div class="brand-not-info-bar-1">
158<div class="brand-not-info-bar-2">
159<div class="container pl-0 pr-0">
160<div class="row m-0 pl-0 pr-0 align-items-center">
161<div class="col-sm-6 iconset-list text-left pl-0">
162<span class="iconset text1">
163<a id="infobar_1" href="/d/0/Worship-Schedule?cid=3" class="IBTextColorClass">
164<i class="fa fa-clock" aria-hidden="true" aria-label="clock icon"></i>
165<span class="IBTextColorClass">10:30 AM Sunday Worship</span>
166</a>
167</span>
168<span class="iconset text4">
169<i class="fa fa-phone" aria-hidden="true" aria-label="phone icon"></i>
170<span class="">413-625-9440</span>
171</span>
172</div>
173<div class="col-sm-6 pr-0 text-right">
174<span class="iconset text8">
175<a id="infobar_8" href="/contact" class="">
176<i class="fa fa-envelope" aria-hidden="true" aria-label="envelope icon"></i>
177<span class="">Contact Us</span>
178</a>
179</span>
180<span class="social fa-size" style="">
181<span class="text-info iconset"><a href="https://www.facebook.com/profile.php?id=61590635027718&mibextid=wwXIfr&rdid=mvhCbSNzAoUBy6Sm&share_url=https%3A%2F%2Fwww.facebook.com%2Fshare%2F1K3GQfc6Dh%2F%3Fmibextid%3DwwXIfr" target="_blank" alt="facebook"><i aria-label="facebook icon" class="fab fa-facebook"></i><span class="sr-only">facebook</span></a></span>
182</span>
183</div>
184</div>
185</div>
186</div>
187</div>
188</div>
189</div>
190<!-- start pagenav tag -->
191<nav id="navmainpageNavID2" class="navbar pagenav-dropdown navbar-expand-md
192pl-0 pr-0 pt-0 pb-0 mt-0 mb-0 ml-0 mr-0">
193<div class="container pl-0 pr-0">
194<a class="navbar-brand-img navbar-brand pt-0 pb-0 pl-2 pr-2 d-flex align-items-center" href="/">
195<span class="brand-image"><img src="/header/mary-lyon-church-logo.png" alt="First Congregational Church of Buckland - The Mary Lyon Church" class="img-responsive mb-0 navbar-image mr-2" id="headerLogo"></span>
196</a>
197<button class="navbar-toggler navbar-light" data-toggle="collapse" aria-label="Open Menu" data-target="#navbar-1">
198<span class="navbar-toggler-icon navbar-light"></span>
199</button>
200<div id="navbar-1" class="navbar-collapse collapse">
201<!-- REALESTATE ERROR 161 Invalid object name 'custom_MLSPIN.dbo.mls_listing_all'.: -->
202<ul class='nav navbar-nav ml-auto'><li class='nav-item'>
203<!-- IMAGES!! -->
204</li><li class='dropdown nav-item'>
205<a id="menu_i"
206class="nav-link dropdown-toggle"
207href="/gallery">
208<span>Photos</span>
209</a>
210<div class='subnav_p[id] dropdown-menu dropdown-menu-left'><ul><li class='dropdown-item'>
211<!-- RECORD COUNT LT 20, COLNUM = 1 -->
212<!-- start loop -->
213<a id="menu_i6" href="/gallery/6/0/Easter-Blessings">Easter Blessings</a>
214</li><li class='dropdown-item'>
215<a id="menu_i3" href="/gallery/3/0/General-Images">General Images</a>
216</li><li class='dropdown-item'>
217<a id="menu_i4" href="/gallery/4/0/Historic-Stained-Glass-Windows-c1909">Historic Stained Glass Windows c.1909</a>
218</li><li class='dropdown-item'>
219<a id="menu_i5" href="/gallery/5/0/Our-Church-Building-Over-the-Years">Our Church Building Over the Years</a>
220</li><li class='dropdown-item'>
221<a id="menu_i7" href="/gallery/7/0/Quilts">Quilts</a>
222<!-- end loop -->
223</li></ul></div>
224</li><li class='dropdown nav-item'>
225<a id="menu_p14"
226class="nav-link dropdown-toggle"
227href="/p/14/About-the-Mary-Lyon-Church"><span>About</span></a><!-- yo1 -->
228<!-- yo2 -->
229<!-- hello from pagenav! -->
230<!-- sub-nav start -->
231<!-- qsImagesCat.recordCount = 5 -->
232<div class='subnav_p14 dropdown-menu dropdown-menu-left'><ul><li class='dropdown-item'>
233<!-- hoohah 167 -->
234<!-- PAGES! -->
235<!-- hoohah 202 -->
236<!-- thecount = 1 -->
237<a id="menu_p26" 
238href="/p/26/Mary-Lyon-Messenger-1950s-weekly-newsletter">
239<span>Mary Lyon Messenger</span>
240</a>
241<!-- thecount = 2 -->
242</li><li class='dropdown-item'>
243<a id="menu_p27" 
244href="/p/27/1949-1950s-Summertime-Buckland-Center-News">
245<span>Our Buckland</span>
246</a>
247<!-- thecount = 3 -->
248</li><li class='dropdown-item'>
249<a id="menu_p15" 
250href="/p/15/Meet-our-Pastor">
251<span>Pastor's Page</span>
252</a>
253<!-- thecount = 4 -->
254</li><li class='dropdown-item'>
255<a id="menu_p24" 
256href="/p/24/Historic-Stain-Glass-Windows">
257<span>Stain Glass Windows</span>
258</a>
259<!-- thecount = 5 -->
260</li><li class='dropdown-item'>
261<a id="menu_p20" 
262href="/p/20/Messages-of-Hope">
263<span>Messages of Hope</span>
264</a>
265<!-- thecount = 6 -->
266</li><li class='dropdown-item'>
267<a id="menu_p16" 
268href="/p/16/Typical-Weekly-Worship">
269<span>Typical Weekly Worship</span>
270</a>
271<!-- thecount = 7 -->
272</li><li class='dropdown-item'>
273<a id="menu_p18" 
274href="/p/18/History-of-the-Mary-Lyon-Church">
275<span>History of our Church</span>
276</a>
277<!-- thecount = 8 -->
278</li><li class='dropdown-item'>
279<a id="menu_p17" 
280href="/p/17/Community-Links">
281<span>Community Links</span>
282</a>
283<!-- thecount = 9 -->
284</li><li class='dropdown-item'>
285<a id="menu_p23" 
286href="/p/23/Orders-of-Worship">
287<span>Orders of Worship</span>
288</a>
289<!-- thecount = 10 -->
290</li><li class='dropdown-item'>
291<a id="menu_p21" 
292href="/p/21/Lots-of-church-news-and-news-from-our-wider-community">
293<span>Monthly Newletters</span>
294</a>
295</li></ul></div>
296<!-- yo3 -->
297<!-- yo4 -->
298</li><li class='dropdown nav-item'>
299<a id="menu_p19"
300class="nav-link dropdown-toggle"
301href="/p/19/Buckland-Public-Hall"><span>Buckland Public Hall</span></a><!-- yo1 -->
302<!-- yo2 -->
303<!-- hello from pagenav! -->
304<!-- sub-nav start -->
305<!-- qsImagesCat.recordCount = 5 -->
306<div class='subnav_p19 dropdown-menu dropdown-menu-left'><ul><li class='dropdown-item'>
307<!-- hoohah 167 -->
308<!-- PAGES! -->
309<!-- hoohah 202 -->
310<!-- thecount = 1 -->
311<a id="menu_p28" 
312href="/p/28/2026-Capital-Campaign-Buckland-Public-Hall">
313<span>2026 Capital Campaign Buckland Public Hall</span>
314</a>
315</li></ul></div>
316<!-- yo3 -->
317<!-- yo4 -->
318</li><li class='dropdown nav-item'>
319<a id="menu_d"
320class="nav-link dropdown-toggle"
321href="/calendar"><span>Calendar</span></a>
322<div class='subnav_p[id] dropdown-menu dropdown-menu-left'><ul><li class='dropdown-item'>
323<a id="menu_d4" href="/d/0/Special-Events?cid=4"><span>Special Events</span></a>
324</li><li class='dropdown-item'>
325<a id="menu_d3" href="/d/0/Worship-Schedule?cid=3"><span>Worship Schedule</span></a>
326</li></ul></div>
327</li></ul>
328</div><!-- /.nav-collapse -->
329</div>
330</nav>
331<!-- end pagenav tag -->
332</div>
333</div>
334</div>
335</header>
336<!-- ************************** end of header head ***********************-->
337<main>
338<!-- START PAGE DIV -->
339<div class="page i i0 " style="">
340<div class="container maincontent">
341<div class="row">
342<div class="col-sm-12">
343<!-- CONTENT IMAGES -->
344<h1 class="images mainimages page">
345<span>Photos</span>
346</h1>
347<div class="static imagespage">
348<!-- from var application.static.imagespage -->
349<p>&nbsp;</p>
350</div>
351<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/baguettebox.js/1.10.0/baguetteBox.min.css" />
352<link rel="stylesheet" href="/RFAssets/css/_cards-gallery.css">
353<style>
354.card-caption { opacity: 0; }
355</style>
356<section class="gallery-block cards-gallery">
357<div class="row" id="my-gallery-container">
358<div class="item" data-order="0">
359<div class="card-container">
360<div class="card border-0 transform-on-hover">
361<a class="card-text" href="/gallery/6/0/Easter-Blessings">
362<img src="/images/58_small.jpg" alt="Easter Blessings" class="card-img-top" >
363</a>
364<div class="card-body card-caption">
365<h6 class="card-title">Easter Blessings</h6>
366</div>
367</div>
368</div>
369</div>
370<div class="item" data-order="0">
371<div class="card-container">
372<div class="card border-0 transform-on-hover">
373<a class="card-text" href="/gallery/3/0/General-Images">
374<img src="/images/2094_small.jpg" alt="General Images" class="card-img-top" >
375</a>
376<div class="card-body card-caption">
377<h6 class="card-title">General Images</h6>
378</div>
379</div>
380</div>
381</div>
382<div class="item" data-order="0">
383<div class="card-container">
384<div class="card border-0 transform-on-hover">
385<a class="card-text" href="/gallery/4/0/Historic-Stained-Glass-Windows-c1909">
386<img src="/images/71_small.jpg" alt="Historic Stained Glass Windows c.1909" class="card-img-top" >
387</a>
388<div class="card-body card-caption">
389<h6 class="card-title">Historic Stained Glass Windows c.1909</h6>
390</div>
391</div>
392</div>
393</div>
394<div class="item" data-order="0">
395<div class="card-container">
396<div class="card border-0 transform-on-hover">
397<a class="card-text" href="/gallery/5/0/Our-Church-Building-Over-the-Years">
398<img src="/images/28_small.jpg" alt="Our Church Building Over the Years" class="card-img-top" >
399</a>
400<div class="card-body card-caption">
401<h6 class="card-title">Our Church Building Over the Years</h6>
402</div>
403</div>
404</div>
405</div>
406<div class="item" data-order="0">
407<div class="card-container">
408<div class="card border-0 transform-on-hover">
409<a class="card-text" href="/gallery/7/0/Quilts">
410<img src="/images/73_small.jpg" alt="Quilts" class="card-img-top" >
411</a>
412<div class="card-body card-caption">
413<h6 class="card-title">Quilts</h6>
414</div>
415</div>
416</div>
417</div>
418</div>
419</section>
420</div>
421</div>
422</div>
423</div>
424<!-- END PAGE DIV -->
425<div class="lowercontent">
426<!-- START PAGE SECTIONS -->
427<!-- inside page sections -->
428<!-- this is NOT a p (62) -->
429<!-- canview = 1 (83) -->
430<!-- END PAGE SECTIONS -->
431</div>
432</main>
433<footer>
434<div class="footer_default noprint">
435<div id="footer" class="container">
436<div class="footerO row pt-2">
437<!-- starting from 1 -->
438<!-- this is c: 1 -->
439<div class="col-sm-12 col-md-6 col-lg-3 text-center" id="footerRow1">
440<!-- listfind(attributes.staticPageCol,'col1') -->
441<!-- yes -->
442<div class="static footer-defaultcol1">
443<!-- from var application.static.footer_defaultcol1 -->
444</div>
445<!-- attributes.footerSocialCol eq 'col1' -->
446<!-- attributes.footerNavCol eq 'col1' -->
447<!-- yes -->
448<!-- hello from pagenav! -->
449<!-- SHOW PARENT = 0 -->
450<!-- qsImagesCat.recordCount = 5 -->
451<ul><li>
452<!-- hoohah 167 -->
453<a id="menu_i" title="Photos"
454rel="images"
455class="active"
456href="/gallery"><span>Photos</span></a>
457<!-- PAGES! -->
458<!-- hoohah 202 -->
459<!-- thecount = 1 -->
460</li><li>
461<a id="menu_p14" 
462href="/p/14/About-the-Mary-Lyon-Church">
463<span>About</span>
464</a>
465<!-- thecount = 2 -->
466</li><li>
467<a id="menu_p19" 
468href="/p/19/Buckland-Public-Hall">
469<span>Buckland Public Hall</span>
470</a>
471</li><li><a id="menu_d"
472title="Calendar"
473href="/calendar"><span>Calendar</span></a>
474</li></ul>
475<!-- attributes.footerShowSearchCol eq 'col1' -->
476<!-- attributes.loginCol eq 'col1' -->
477</div>
478<!-- this is c: 2 -->
479<div class="col-sm-12 col-md-6 col-lg-3 text-center" id="footerRow2">
480<!-- listfind(attributes.staticPageCol,'col2') -->
481<!-- yes -->
482<div class="static footer-defaultcol2">
483<!-- from var application.static.footer_defaultcol2 -->
484<p style="text-align:center"><img alt="handicapped icon" class="img-fluid library-image" src="/l
484ibrary/handicapped.gif" /></p>
485<p style="text-align: center;">Our church is completely accessible with a lift serving every floor of the building.</p>
486</div>
487<!-- attributes.footerSocialCol eq 'col2' -->
488<!-- attributes.footerNavCol eq 'col2' -->
489<!-- attributes.footerShowSearchCol eq 'col2' -->
490<!-- attributes.loginCol eq 'col2' -->
491</div>
492<!-- this is c: 3 -->
493<div class="col-sm-12 col-md-6 col-lg-3 text-center" id="footerRow3">
494<!-- listfind(attributes.staticPageCol,'col3') -->
495<!-- yes -->
496<div class="static footer-defaultcol3">
497<!-- from var application.static.footer_defaultcol3 -->
498<p>Our church building, and the <strong><a href="/p/19/Buckland-Public-Hall">Buckland Public Hall</a></strong> next door are locations of weekly 12-Step groups Wednesdays at 7:30 PM and Sundays at 1:00 PM.</p>
499<p>For more info on these groups visit <strong><a href="https://westernmassaa.net/?tsml-day=any&amp;tsml-region=buckland" target="_blank">Western Mass Intergroup</a></strong></p>
500</div>
501<!-- attributes.footerSocialCol eq 'col3' -->
502<!-- attributes.footerNavCol eq 'col3' -->
503<!-- attributes.footerShowSearchCol eq 'col3' -->
504<!-- attributes.loginCol eq 'col3' -->
505</div>
506<!-- this is c: 4 -->
507<div class="col-sm-12 col-md-6 col-lg-3 text-center" id="footerRow4">
508<!-- listfind(attributes.staticPageCol,'col4') -->
509<!-- yes -->
510<div class="static footer-defaultcol4">
511<!-- from var application.static.footer_defaultcol4 -->
512<p><strong>Mary Lyon Church</strong></p>
513<p>17 Upper St., P.O.Box 87<br />
514Buckland MA 01338<br />
515413-625-9440<br />
516<a href="https://www.google.com/maps/place/17+Upper+St,+Buckland,+MA+01338/@42.5894706,-72.796199,17z/data=!3m1!4b1!4m5!3m4!1s0x89e0d6d0f4dc7b61:0x146f64bdad8f2021!8m2!3d42.5894706!4d-72.7940103" target="_blank">Directions/Google Maps</a></p>
517</div>
518<!-- attributes.footerSocialCol eq 'col4' -->
519<!-- yes -->
520<span class="social fa-size" style="">
521<span class="text-info iconset"><a href="https://www.facebook.com/profile.php?id=61590635027718&mibextid=wwXIfr&rdid=mvhCbSNzAoUBy6Sm&share_url=https%3A%2F%2Fwww.facebook.com%2Fshare%2F1K3GQfc6Dh%2F%3Fmibextid%3DwwXIfr" target="_blank" alt="facebook"><i aria-label="facebook icon" class="fab fa-facebook"></i><span class="sr-only">facebook</span></a></span>
522</span>
523<!-- attributes.footerNavCol eq 'col4' -->
524<!-- attributes.footerShowSearchCol eq 'col4' -->
525<!-- attributes.loginCol eq 'col4' -->
526</div>
527</div>
528</div>
529</div>
530<div id="lowerFooter" class="text-center">
531<div id="footer">
532<span class="footerO">
533<span class="footerL">
534&copy; 2026 The First Congregational Church of Buckland 'The Mary Lyon Church'
535|
536Software by <a href=http://MontagueWebWorks.com target=_blank>Montague WebWorks</a>
537</span>
538<span class="footerM">
539|
540</span>
541<span class="footerR">
542<a href="https://RocketFusion.com" target="_blank">Powered by RocketFusion 123</a>
543</span>
544</span>
545</div>
546<span class="login-link">
547<a class="login noprint p-3" 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>
548<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>
549</span>
550</div>
551</footer>
552<!-- BS4 Init -->
553<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>
554<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
vendor: 1 bytes, line 554
554
555<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 555
555
556<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 556
556
557<script>
558// Assuming we have a div with id="editor_container"
559const filerobotImageEditor = new window.FilerobotImageEditor(
560document.querySelector("#rf-image-editor-edit")
561);
562const image_file_upload = document.getElementById("rf-image-upload");
563// const btn_image_upload_edit = document.getElementById("btn-image-upload-edit");
564var source_image = ''; // the HTMLImageElement
565var save_image_name = ''; // name to save image with
566var global_fr_folder = ''; // where to upload
567var global_fr_table = ''; // db table to update
568var global_fr_prefix = ''; // image file prefix, ie; blocks_
569var global_fr_pid = 0; // image ID, ie; blocks_2323
570var dropzone_website_dir = 'MaryLyonChurch.org\\httpdocs';
571const file_robot_defaults = {
572save_image_quality : 1, // 0.1 - 1 (default 0.92) - applies to jpeg, jpg and webp images only
573};
574function renderFileRobotEditor(source,fr_folder=global_fr_folder,fr_table=global_fr_table,fr_prefix=global_fr_prefix,fr_pid=global_fr_pid) {
575console.group("renderFileRobotEditor() called");
576console.log('source:', source);
577console.log('fr_folder:', fr_folder);
578console.log('fr_table:', fr_table);
579console.log('fr_prefix:', fr_prefix);
580console.log('fr_pid:', fr_pid);
581console.groupEnd();
582source_image = source;
583filerobotImageEditor.render({
584source: source_image,
585useBackendTranslations: false,
586defaultSavedImageName: save_image_name,
587defaultSavedImageQuality: file_robot_defaults.save_image_quality,
588tabsIds: [
589window.FilerobotImageEditor.TABS.ADJUST,
590window.FilerobotImageEditor.TABS.FINETUNE,
591window.FilerobotImageEditor.TABS.FILTERS,
592window.FilerobotImageEditor.TABS.ANNOTATE,
593window.FilerobotImageEditor.TABS.WATERMARK], // or ['Adjust', 'Annotate', 'Watermark']
594defaultTabId: window.FilerobotImageEditor.TABS.ADJUST,
595Crop: {
596minWidth: 14,
597minHeight: 14,
598maxWidth: null,
599maxHeight: null,
600ratio: 'custom',
601ratioTitleKey: 'custom',
602noPresets: false,
603autoResize: false,
604presetsItems: [],
605presetsFolders: [],
606lockCropAreaAt: null, // 'top-left'
607},
608// disable save modal
609onBeforeSave: () => {
610return false;
611},
612onSave: async (imageInfo, designState) => {
613// console.log('onSave() imageInfo', imageInfo);
614// console.log('onSave() designState', designState);
615// create formData object to populate and send with fetch request
616const formData = new FormData();
617formData.append('image64', imageInfo.imageBase64);
618formData.append('image_extension', imageInfo.extension);
619formData.append('image_height', imageInfo.height);
620formData.append('image_name', imageInfo.name);
621formData.append('image_name_with_extension', imageInfo.fullName);
622formData.append('image_quality', imageInfo.quality);
623formData.append('image_width', imageInfo.width);
624formData.append('dropzone_website_dir', dropzone_website_dir); // e.g. MikMuller.com\httpdocs
625formData.append('rf_dropzone_dir', fr_folder);
626console.log('onSave() formData [2]', formData);
627// add dropzone options for compatibility with current upload script
628const drop_zone_options = {
629tbl: fr_table,
630imgbase: `${fr_prefix}${fr_pid}`,
631imgname: imageInfo.fullName,
632id: fr_pid
633}
634formData.append("dropzone_options", JSON.stringify(drop_zone_options));
635console.log('onSave() drop_zone_options', drop_zone_options);
636try {
637// _dropzone-file-upload-ajax.cfm
638// _upload-base64.cfm (for testing)
639console.log('renderFileRobotEditor.onSave() imageInfo', imageInfo);
640const upload_request = await fetch('/inc/_dropzone-file-upload-ajax.cfm', {
641method: 'POST',
642body: formData
643});
644const upload_result = await upload_request.json();
645// console.log('DEBUG: [onSave] upload_result', upload_result);
646// close modal
647$('#rfImageModalEdit').modal('hide');
648// page reload
649window.location.reload();
650} catch (error) {
651console.log('onSave() error', error);
652const upload_result = {
653code: 1,
654message: error.message,
655success: false
656}
657}
658},
659onClose: (closingReason) => {
660console.log("Closing reason", closingReason);
661filerobotImageEditor.terminate();
662// reset the input field
663document.getElementById('rf-image-upload').value = '';
664},
665});
666}
667/**
668* Function to handle image selection from the file input field
669* async as we use a promise to await image load
670*/
671async function onImageSelected(event, file_obj, fr_folder, fr_table, fr_prefix, fr_pid) {
672let file;
673if (file_obj) {
674console.log('onImageSelected file_obj', file_obj, fr_folder, fr_table, fr_prefix, fr_pid);
675file = file_obj;
676} else {
677file = event.target.files[0];
678}
679save_image_name = file.name;
680console.log('onImageSelected file', file);
681// const reader = new FileReader();
682const image = new Image();
683const img_max_width = 1600;
684image.src = URL.createObjectURL(file);
685// Promise to await image load
686await new Promise((resolve) => {
687image.onload = () => {
688const img_width = image.width;
689const img_height = image.height;
690// console.log('onImageSelected img load', img_width, img_height);
691if (img_width > img_max_width) {
692const img_scale = img_max_width / img_width;
693image.width = img_width * img_scale;
694image.height = img_height * img_scale;
695}
696// resolve the promise
697resolve();
698};
699});
700// open the modal
701$('#rfImageModalEdit').modal('show');
702// Render file robot
703renderFileRobotEditor(image, fr_folder, fr_table, fr_prefix, fr_pid);
704}
705/** Function to handle image editing */
706function 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) {
707console.log('[DEBUG] editExistingImage() called.');
708console.log('image_url:', image_url);
709console.log('image_name:', image_name);
710console.log('fr_folder:', fr_folder);
711console.log('fr_table:', fr_table);
712console.log('fr_prefix:', fr_prefix);
713console.log('fr_pid:', fr_pid);
714save_image_name = image_name;
715renderFileRobotEditor(image_url, fr_folder, fr_table, fr_prefix, fr_pid);
716}
717/** Function to open the hidden input file field */
718function openFileInput(fr_folder='', fr_table='', fr_prefix='', fr_pid=0) {
719console.log('[DEBUG] openFileInput() called.', fr_folder, fr_table, fr_prefix, fr_pid);
720global_fr_folder = fr_folder; // where to upload
721global_fr_table = fr_table; // db table to update
722global_fr_prefix = fr_prefix; // image file prefix, ie; blocks_
723global_fr_pid = fr_pid;
724image_file_upload.click();
725}
726/** Function to open RF File Manager in a modal
727* Will be used by ckeditor/plugins/rffilemanager/browse.cfm
728* Need the image full url to make a copy of for ai images
729*/
730function openRFFileManager(current_image_url, fr_folder=global_fr_folder, fr_table=global_fr_table, fr_prefix=global_fr_prefix, fr_pid=global_fr_pid) {
731// $($(this).data( "target" ) + ' .modal-body').load( data_remote );
732console.group("bs4_init openRFFileManager() called");
733console.log("current_image_url:", current_image_url);
734console.log("fr_folder:", fr_folder);
735console.log("fr_table:", fr_table);
736console.log("fr_prefix:", fr_prefix);
737console.log("fr_pid:", fr_pid);
738console.groupEnd();
739const rfFileManagerModalIframe = document.getElementById('rfFileManagerModalIframe');
740rfFileManagerModalIframe.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}`; ;
741$('#rfFileManagerModal').modal('show');
742}
743/** Function to close the RF File Manager modal
744* Will be used by ckeditor/plugins/rffilemanager/browse.cfm
745* Need to upload the image and then close the modal
746*/
747function closeRFFileManagerModal(image_path, img_name='', fr_folder='', fr_table='', fr_prefix='', fr_pid=0) {
748console.group("bs4_init closeRFFileManagerModal() called");
749console.log("image_path:",image_path);
750console.log("img_name:",img_name);
751console.log("fr_folder:",fr_folder);
752console.log("fr_table:",fr_table);
753console.log("fr_prefix:",fr_prefix);
754console.log("fr_pid:",fr_pid);
755console.groupEnd();
756$('#rfFileManagerModal').modal('hide');
757$('#rfImageModalEdit').modal('show');
758save_image_name = img_name;
759// renderFileRobotEditor(image_path);
760renderFileRobotEditor(image_path, fr_folder, fr_table, fr_prefix, fr_pid);
761}
762/** Function to close the RF File Manager modal without opening File Robot
763* Will be used by ckeditor/plugins/rffilemanager/browse.cfm
764*/
765function closeRFFileManagerModalOnly(reload=false) {
766$('#rfFileManagerModal').modal('hide');
767if (reload) {
768setTimeout(() => {
769window.location.reload();
770}, 500);
771}
772}
773// Handle closing of modal without saving (must cleanup file robot editor)
774$('#rfImageModalEdit').on('hidden.bs.modal', function (event) {
775// console.log('modal closed');
776filerobotImageEditor.terminate();
777image_file_upload.value = '';
778});
779/** Rocketfusion - enable drag/drop zone on an image with the .rf-image-dropzone class */
780// Create dropzone object for all images with the .rf-image-dropzone class
781const rf_image_drop_zone = document.querySelectorAll('.rf-image-dropzone');
782// Attach event listeners to all instances of rf_image_drop_zone
783rf_image_drop_zone.forEach(function (i) {
784// Handle drag over event
785i.addEventListener('dragover', function(e) {
786event.target.classList.add('image-dragover');
787dragOverHandler(e);
788});
789// Handle drag leave event
790i.addEventListener('dragleave', function(e) {
791// console.log('Image dropzone dragleave');
792event.target.classList.remove('image-dragover');
793});
794// Handle drop event
795i.addEventListener('drop', function(e) {
796event.target.classList.remove('image-dragover');
797dropHandler(e);
798});
799});
800/**
801* Handles the drop event of files in the drop zone.
802* Prevents the default behavior of opening the file and logs the names of the dropped files.
803*
804* @param {Event} ev - The drop event.
805* @returns {undefined}
806*/
807function dropHandler(ev) {
808// console.log('File(s) dropped');
809// Prevent default behavior (Prevent file from being opened)
810ev.preventDefault();
811if (ev.dataTransfer.items) {
812// Use DataTransferItemList interface to access the file(s)
813[...ev.dataTransfer.items].forEach((item, i) => {
814// If dropped items aren't files, reject them
815if (item.kind === 'file') {
816const file = item.getAsFile();
817console.log(`file[${i}].name = ${file.name}`);
818onImageSelected(i, file);
819}
820});
821} else {
822// Use DataTransfer interface to access the file(s)
823[...ev.dataTransfer.files].forEach((file, i) => {
824console.log(`file[${i}].name = ${file.name}`);
825onImageSelected(i, file);
826});
827}
828}
829/**
830* Handles the drag over event of files in the drop zone.
831* Prevents the default behavior of opening the file.
832*
833* @param {Event} ev - The drag over event.
834* @returns {undefined}
835*/
836function dragOverHandler(ev) {
837// Prevent default behavior (Prevent file from being opened)
838ev.preventDefault();
839}
840</script>
840
841<style>
842.modal-fullscreen {
843width: 100vw;
844max-width: none;
845height: 100%;
846margin: 0;
847}
848.modal-content {
849height: 100%;
850border: 0;
851@include border-radius(0);
852}
853.modal-body {
854overflow-y: auto;
855}
856.image-dragover {
857opacity: 0.5;
858}
859</style>
860<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 860
860
861<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 861
861
862<script>$(window).scroll(function() { if ($(document).scrollTop() > 50) { $('nav').addClass('shrink'); } else { $('nav').removeClass('shrink'); } }); </script>
vendor: 1 bytes, line 862
862
863<script type="text/javascript" src="/RFAssets/js/joey.js?ver=20260911135327" charset="UTF-8"></script>
vendor: 1 bytes, line 863
863
864<script type="text/javascript">
865$( 'body' ).on( 'click', '[data-toggle="modal"]', function(){
866let data_remote = $(this).data( "remote" );
867if ( data_remote && data_remote.length >= 2 ) {
868$($(this).data( "target" ) + ' .modal-content').load( data_remote );
869}
870});
871</script>
vendor: 1 bytes, line 871
871
872<script type="text/javascript" src="/RFAssets/js/mp.mansory.js"></script>
vendor: 1 bytes, line 872
872
873<script>
874jQuery(document).ready(function ( $ ) {
875$("#my-gallery-container").mpmansory(
876{
877childrenClass: 'item',
878columnClasses: 'padding',
879breakpoints:{ lg: 4, md: 6, sm: 12, xs: 12 },
880distributeBy: { order: false, height: false, attr: 'data-order', attrOrder: 'asc' },
881onload: function (items) { }
882}
883);
884});
885</script>
vendor: 1 bytes, line 885
885
886<script src="/RFAssets/js/baguetteBox.min.js"></script>
vendor: 1 bytes, line 886
886
887<script>
888baguetteBox.run('.do-baguettebox', { animation: 'slideIn', imageLocation: 'data-href' });
889</script>
vendor: 1 bytes, line 889
889
890<script>
891$(document).ready(function() {
892//$('nav').animate({opacity:'1'}, 50);<!-- set to 0.25 to make see thru -->
893//$(img).animate({opacity:'1'});
894$initNavHgt = $('nav').outerHeight();
895$initHeadLogoHgt = $('#headerLogo').outerHeight();
896});
897</script>
897
898<!-- no userway account -->
899</body>
900</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.