PageSourceSearch

https://sheatheater.org/contact

html sheatheater.org collected 2026-09-26 01:43:10 UTC 41,000 bytes, 864 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: Shea Theater Arts Center
11-->
12<!-- ================================================================================================================= -->
13<!-- Title and App Tags -->
14<!-- 20260911135311 -->
15<title>Contact - Shea Theater Arts Center</title>
16<meta property="og:title" content="Contact">
17<meta property="twitter:title" content="Contact - Shea Theater Arts Center">
18<meta itemprop="name" content="Contact - Shea Theater Arts Center">
19<!-- safari -->
20<meta name="apple-mobile-web-app-title" content="Contact - Shea Theater Arts Center">
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="Contact - Shea Theater Arts Center">
27<meta name="msapplication-tooltip" content="Contact - Shea Theater Arts Center">
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=Glass+Antiqua|Oxygen|Roboto+Condensed">
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="Turners Falls" />
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-24" />
51<meta name="geo.region" content="US-MA" />
52<meta name="msvalidate.01" content="" />
53<!-- no Facebook Pixel ID -->
54<meta name="author" content="Shea Theater Arts Center" />
55<meta name="owner" content="Shea Theater Arts Center" />
56<meta name="copyright" content="Copyright 2026 Shea Theater Arts Center" />
57<meta name="expires" content="Sep 25, 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="Shea Theater Arts Center">
66<meta property="twitter:site" content="@SheaTheater" />
67<meta property="og:type" content="website" />
vendor: 77 bytes, lines 67-68
67
68<script src="https://www.google.com/recaptcha/api.js" async defer></script>
69<!-- ================================================================================================================= -->
70<!-- FAVICONS start -->
71<link rel="shortcut icon" href="/icons/favicon.ico" />
72<link rel="icon" href="/icons/favicon.ico" type="image/x-icon" />
73<link rel="apple-touch-icon" href="/icons/favicon.ico">
74<meta name="msapplication-TileImage" content="/icons/favicon.ico">
75<link rel="manifest" href="/icons/manifest.json">
76<meta name="apple-mobile-web-app-status-bar-style" content="black">
77<meta name="msapplication-TileColor" content="white">
78<meta name="theme-color" content="white">
79<!-- MS Application Tasks (off for now) -->
80<!-- FAVICONS end -->
81<!-- this is the contact page -->
82<meta property="og:url" content="/contact">
83<link rel="canonical" href="/contact">
84<meta itemprop="image" content="/library/SheaTheater-front_small.jpg">
85<meta property="og:image" content="/library/SheaTheater-front_small.jpg">
86<meta property="twitter:image" content="/library/SheaTheater-front_small.jpg">
87<link rel="image_src" href="/library/SheaTheater-front_small.jpg">
88<meta property="og:image:alt" content="Contact">
89<meta name="description" content="The Shea is a venue to encourage the growing local arts scene. The Shea Theater Arts Center will provide a dynamic center for performing arts.">
90<meta itemprop="description" content="The Shea is a venue to encourage the growing local arts scene. The Shea Theater Arts Center will provide a dynamic center for performing arts.">
91<meta property="og:description" content="The Shea is a venue to encourage the growing local arts scene. The Shea Theater Arts Center will provide a dynamic center for performing arts.">
92<meta property="twitter:description" content="The Shea is a venue to encourage the growing local arts scene. The Shea Theater Arts Center will provide a dynamic center for performing arts.">
93<!-- ================================================================================================================= -->
94<script src="https://kit.fontawesome.com/d3bffd01a6.js" crossorigin="anonymous"></script>
94
95<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css" integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS" crossorigin="anonymous">
96<link rel="stylesheet" href="/RFassets/css/datatables-bs4.min.css">
97<link rel="stylesheet" href="/RFAssets/css/RFtables.css?ver=20260911135311">
98<link rel="stylesheet" href="/RFAssets/css/joey.css?ver=20260911135311">
99<link rel="stylesheet" href="/site_style.css?ver=20260911135311">
100<link rel="stylesheet" href="/header_style.css?ver=20260911135311">
101<link rel="stylesheet" href="/RFAssets/css/_admin.css?ver=20260911135311">
102<!-- custom stylesheet -->
103<link rel="stylesheet" href="/tmpl_Carousel-Nav-1-3.css?ver=20260911135311">
104<script src="/RFAssets/js/boxover.js" type="text/javascript"></script>
vendor: 1 bytes, line 104
104
105<script type="text/javascript">
106function toggleLayer(whichLayer,what) {
107if (document.getElementById)
108{
109var style2 = document.getElementById(whichLayer).style;
110style2.display = what;
111}
112else if (document.all)
113{
114var style2 = document.all[whichLayer].style;
115style2.display = what;
116}
117else if (document.layers)
118{
119var style2 = document.layers[whichLayer].style;
120style2.display = what;
121}
122}
123function toggleCheckbox(source) {
124checkboxes = document.getElementsByName('file_delete');
125for(var i=0, n=checkboxes.length;i<n;i++) {
126checkboxes[i].checked = source.checked;
127}
128}
129</script>
vendor: 1 bytes, line 129
129
130<script>
131/**
132* Function that tracks a click on an outbound link in Analytics.
133* This function takes a valid URL string as an argument, and uses that URL string
134* as the event label. Setting the transport method to 'beacon' lets the hit be sent
135* using 'navigator.sendBeacon' in browser that support it.
136*/
137var trackOutboundLink = function(url) {
138ga('send', 'event', 'outbound', 'click', url, {
139'transport': 'beacon',
140'hitCallback': function(){document.location = url;}
141});
142}
143</script>
143
144<!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 64 bytes, lines 144-145
144
145<script async src="https://www.googletagmanager.com/gtag/js?id=
145UA-91585429-1
vendor: 12 bytes, line 145
145"></script>
146<script>
vendor: 127 bytes, lines 147-150
147window.dataLayer = window.dataLayer || [];
148function gtag(){dataLayer.push(arguments);}
149gtag('js', new Date());
150gtag('config', '
150UA-91585429-1
vendor: 4 bytes, line 150
150');
151</script>
151
152<!-- No text_Google_Tag_Manager_ID defined -->
153<!-- end of metatags -->
154</head>
155<body class="notMobile"
156>
157<!-- THESE ARE HERE (ADMIN) BECAUSE THEY NEED TO BE AT THE TOP OF THE BODY, NOT IN THE META TAGS -->
158<!-- No text_Google_Tag_Manager_ID defined -->
159<!-- ************************** start of head_header ***********************-->
160<style>
161@media (min-width:993px) {
162body { margin-top:110px!important; }
163}
164@media (min-width:769px) and (max-width:992px) {
165body { margin-top:106.7px!important; }
166}
167@media (min-width:577px) and (max-width:768px) {
168body { margin-top:101.2px!important; }
169}
170@media (min-width:516px) and (max-width:576px) {
171body { margin-top:110px!important; }
172}
173@media (min-width:471px and max-width:515px) {
174body { margin-top:126.5px!important; }
175}
176@media (max-width:470px) {
177body { margin-top:181.5px!important; }
178}
179</style>
180<style>
181nav .navbar-brand img {
182height: 70px; /*!important*/
183transition: all .25s ease-in-out;
184-webkit-transition: all .25s ease-in-out;
185}
186nav.shrink .navbar-brand img {
187height: 50px; /*!important*/
188transition: all .25s ease-in-out;
189-webkit-transition: all .25s ease-in-out;
190}
191</style>
192<header class="header_default fixed-top ">
193<div class=" inside-header-container">
194<div class=" inside-header-row">
195<div class=" inside-header-col">
196<div class="NavInfoBar">
197<!-- woot navbar -->
198<div class="nav-info-bar pl-0 pr-0 pt-1 pb-1 mt-0 mb-0 noprint">
199<div class="brand-not-info-bar-1">
200<div class="brand-not-info-bar-2">
201<div class="container pl-0 pr-0">
202<div class="row m-0 pl-0 pr-0 align-items-center">
203<div class="col-sm-12 pr-0 text-right">
204<span class="iconset text5">
205<a id="infobar_5" target="_blank" href="https://goo.gl/maps/Gv1YDXat7HQtr6EX8" class="">
206<i class="fa fa-map-marker-alt" aria-hidden="true" aria-label="map-marker-alt icon"></i>
207<span class="">71 Avenue A, Turners Falls, MA</span>
208</a>
209</span>
210<span class="iconset text6">
211<i class="fa fa-phone" aria-hidden="true" aria-label="phone icon"></i>
212<span class="">413-648-SHEA</span>
213</span>
214<span class="social fa-size" style="">
215<span class="text-info iconset"><a href="https://www.facebook.com/sheatheater/" target="_blank" alt="facebook"><i aria-label="facebook icon" class="fab fa-facebook"></i><span class="sr-only">facebook</span></a></span>
216<span class="text-info iconset"><a href="https://www.instagram.com/sheatheater/" target="_blank" alt="instagram"><i aria-label="instagram icon" class="fab fa-instagram"></i><span class="sr-only">instagram</span></a></span>
217<span class="text-info iconset"><a href="https://twitter.com/SheaTheater" target="_blank" alt="twitter"><i aria-label="twitter icon" class="fab fa-twitter"></i><span class="sr-only">twitter</span></a></span>
218</span>
219</div>
220</div>
221</div>
222</div>
223</div>
224</div>
225</div>
226<!-- start pagenav tag -->
227<nav id="navmainpageNavID2" class="navbar pagenav-dropdown navbar-expand-md
228pl-0 pr-0 pt-1 pb-1 mt-0 mb-0 ml-0 mr-0">
229<div class="container pl-0 pr-0">
230<a class="navbar-brand-img navbar-brand pt-0 pb-0 pl-2 pr-2 d-flex align-items-center" href="/">
231<span class="brand-image"><img src="/header/SheaTheater-tiny-Logo.png" alt="Shea Theater Arts Center" class="img-responsive mb-0 navbar-image mr-2" id="headerLogo"></span>
232</a>
233<button class="navbar-toggler navbar-dark" data-toggle="collapse" aria-label="Open Menu" data-target="#navbar-1">
234<span class="navbar-toggler-icon navbar-dark"></span>
235</button>
236<div id="navbar-1" class="navbar-collapse collapse">
237<!-- REALESTATE ERROR 161 Invalid object name 'custom_MLSPIN.dbo.mls_listing_all'.: -->
238<ul class='nav navbar-nav ml-auto'><li class='nav-item'>
239<!-- IMAGES!! -->
240<!-- no images drop-down -->
241<a id="menu_p8"
242class="nav-link"
243href="/p/8/Shea-Theater-Arts-Center"><span>About</span></a><!-- yo1 -->
244<!-- yo4 -->
245</li><li class='nav-item'>
246<a id="menu_p7"
247class="nav-link"
248href="/p/7/The-History-of-the-Shea-Theater-Turners-Falls-MA"><span>History</span></a><!-- yo1 -->
249<!-- yo4 -->
250</li><li class='nav-item'>
251<a id="menu_p10"
252class="nav-link"
253href="/p/10/Help-the-Shea-keep-dreaming-on-Avenue-A"><span>Donate</span></a><!-- yo1 -->
254<!-- yo4 -->
255</li><li class='dropdown nav-item'>
256<a id="menu_d"
257class="nav-link"
258href="/calendar"><span>Shows & Tickets</span></a>
259</li><li class='nav-item'>
260<a id="menu_c"
261class="nav-link"
262href="/contact"><span>Contact</span></a>
263</li></ul>
264</div><!-- /.nav-collapse -->
265</div>
266</nav>
267<!-- end pagenav tag -->
268</div>
269</div>
270</div>
271</header>
272<!-- ************************** end of header head ***********************-->
273<main>
274<!-- START PAGE DIV -->
275<div class="page c c0 " style="">
276<div class="container maincontent">
277<div class="row">
278<div class="col-sm-12">
279<h1 class="contact page"><span>Contact</span></h1>
280<h3>
280<strong class="textownername">Shea Theater Arts Center</strong></h3>
281<span class="social fa-size" style="float:right;font-size:2em">
282<span class="text-info iconset"><a href="https://www.facebook.com/sheatheater/" target="_blank" alt="facebook"><i aria-label="facebook icon" class="fab fa-facebook"></i><span class="sr-only">facebook</span></a></span>
283<span class="text-info iconset"><a href="https://www.instagram.com/sheatheater/" target="_blank" alt="instagram"><i aria-label="instagram icon" class="fab fa-instagram"></i><span class="sr-only">instagram</span></a></span>
284<span class="text-info iconset"><a href="https://twitter.com/SheaTheater" target="_blank" alt="twitter"><i aria-label="twitter icon" class="fab fa-twitter"></i><span class="sr-only">twitter</span></a></span>
285</span>
286<p>
287<p>All information on upcoming events and tickets is available on our website.</p>
288<p>For box office questions or inquiries, please call the Shea at:</p>
289<h3>413-648-7432&nbsp; (SHEA)</h3>
290<p><strong>Please note that we are primarily a<span style="color:#c0392b;"> virtual box office</span>. All tickets can be purchased through our website or in person at the door starting one hour before show time on the evening on of the show pending availability.</strong></p>
291<p><strong>Tours and office hours are set up&nbsp;<em>by appointment</em>. Please reach out to [email protected] to schedule a tour.</strong></p>
292<p><strong><em><span style="color:#c0392b;">For rental inquiries and booking information, please fill out our </span><a href="/x/1/Booking-Inquiries"><span style="color:#3498db;">Booking Inquiries</span></a><span style="color:#c0392b;"> form.&nbsp;</span></em></strong></p>
293<p><strong>For All Mailings:</strong> Shea Theater Arts Center, P.O Box 773, Turners Falls, MA 01376</p>
294<p><strong>Street Address:</strong> <a href="https://goo.gl/maps/oQeWV6HTEMiTmF6Y6" target="_blank">Shea Theater Arts Center, <span class="LrzXr">71 Avenue A, </span>Turners Falls, MA 01376</a></p>
295</p>
296<span class="contactIntro">
297<p>To get in touch with us via email or to join our mailing list,&nbsp;please fill out the form below. To request booking info, please fill out the <a href="/x/1/Booking-Inquiries">Booking Request form</a>.</p>
298</span>
299<form action="/action.cfm?p=c.add" method="post" role="form">
300<input type="hidden" name="cc" value="">
301<input type="hidden" name="cc_email" value="">
302<input type="hidden" name="include" value="contact">
303<input type="hidden" name="run" value="1">
304<input type="hidden" name="referer" value="">
305<input type="hidden" name="site" value="http://sheatheater.org">
306<input type="Hidden" name="fu" value="%)=,&^=L">
307<input type="Hidden" name="fullform" value="1">
308<div class="form-group">
309<label for="email">Your Email: (required)</label>
310<input type="text" name="email" id="email" class="email form-control" placeholder="Your email address" required="yes">
311</div>
312<div class="form-group">
313<label for="Name">Your Name:</label>
314<input type="Text" name="Name" id="Name" class="Name form-control" maxlength="250">
315</div>
316<div class="form-group">
317<label for="City">Your City:</label>
318<input type="Text" name="City" id="City" class="City form-control" maxlength="250">
319</div>
320<div class="form-group">
321<label for="State">Your State:</label>
322<input type="Text" name="State" id="State" class="State form-control" maxlength="2">
323</div>
324<div class="form-group">
325<label for="custom1">Where did you hear about us?</label>
326<input type="Text" name="custom1" id="custom1" class="custom1 form-control" maxlength="250">
327</div>
328<div class="form-group">
329<label for="Comments">Your Questions / Comments:<br/>(1000 char max)</label>
330<script type="text/javascript">
331/***********************************************
332* Textarea Maxlength script- Dynamic Drive (www.dynamicdrive.com)
333* This notice must stay intact for legal use.
334* Visit http://www.dynamicdrive.com/ for full source code
335***********************************************/
336function ismaxlength(obj){
337var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : ""
338if (obj.getAttribute && obj.value.length>mlength)
339obj.value=obj.value.substring(0,mlength)
340}
341</script>
341
342<textarea name="Comments" id="Comments" class="Comments form-control" rows="5" maxlength="1000" onkeyup="return ismaxlength(this)"></textarea>
343</div>
344<div class="form-groop">
345<label for="field_0"><h5>Your Friday Color*</h5></label>
346<input class="form-control" type="text" name="field_0" maxlength="25" value="">
347</div>
348<div class="form-group row">
349<div class="col-sm-4">
350<label for="typeid">Please inform me of:</label>
351</div>
352<div class="col-sm-8">
353<div class="contactListItem" title="list">
354<input type="Checkbox" name="typeid" value="4" CHECKED="checked" >
355General information
356</div>
357<div class="contactListItem" title="list">
358<input type="Checkbox" name="typeid" value="5" >
359Upcoming shows
360</div>
361</div>
362</div>
363<div class="form-group row">
364<div class="col-sm-12">
365<div class="g-recaptcha" data-sitekey="6Lfo-HAUAAAAABch_SFTJZYTJnx2X40d-Uc217Ib"></div>
366</div>
367</div>
368<div class="form-group row">
369<div class="col-sm-12">
370<span class="privacyPolicy button btn btn-default pull-right"
371title="cssbody=[ttbdy] cssheader=[tthdr] offsety=[-100] offsetx=[5] header=[Privacy Notice:] body=[By filling in this form and checking any of the boxes above, you are opting-in to receive emails from this website. All emails you receive from this website will have instructions at the bottom on how to unsubscribe. When filling in the form, please do not include any sensitive personal information, such as financial or social security numbers. That type of information will never be requested from this website.]"
372>Privacy Notice</span>
373<p><button type="Submit" name="submit" id="submitbutton" class="btn btn-primary pull-left mt-4 mb-3" onclick="document.getElementById('submitbutton').style.opacity='0.5';" title="Click only ONCE!">Send Now</button></p>
374</div>
375</div>
376<div class="form-group row">
377<div class="col-sm-12"><p style="font-size:10px;"><input type="Checkbox" name="neversend" style="float:left;margin-right:10px;" value="1"><em>On occasion we send out newsletters, announcements or alerts to those who fill out this form. If you would like to never receive this kind of email from us, check the box to the left to opt-out.</em></p></div>
378</div>
379</form>
380</div>
381</div>
382</div>
383</div>
384<!-- END PAGE DIV -->
385<div class="lowercontent">
386<!-- START PAGE SECTIONS -->
387<!-- inside page sections -->
388<!-- this is NOT a p (62) -->
389<!-- canview = 1 (83) -->
390<!-- END PAGE SECTIONS -->
391</div>
392</main>
393<div class="thanks"><div class="container"><div class="row">
394<div class="static sponsors">
395<!-- from var application.static.sponsors -->
396<h3 style="text-align: center;">Special Thanks to Our Sponsors and Underwriters</h3>
397<p style="text-align: center;"><a href="http://thebetterfish.com" target="_blank">Australis Aquaculture</a> &bull; <a href="http://artbev.coop" target="_blank">Artisan Beverage Cooperative</a> &bull; <a href="http://www.thebenjamincompany.net/" target="_blank">Benjamin Company</a> &bull; <a href="http://www.berkshire-brewing.com/" target="_blank">Berkshire Brewing Company</a> &bull; <a href="http://bigdaddysrv.com/">Big Daddy&#39;s RV Sales and Service</a> &bull; <a href="http://cohnandcompany.com/" target="_blank">Cohn and Company Real Estate Agency</a> &bull; <a href="https://myccu.org/" target="_blank">Community Credit</a> &bull; <a href="https://www.common-capital.org/" target="_blank">Common Capital</a> &bull; <a href="http://communityfoundation.org">Community Foundation of Western Massachusetts</a> &bull; <a href="http://ctriverinternists.com" target="_blank">Connecticut River Internists</a> &bull; <a href="https://deansbeans.com/" target="_blank">Dean&#39;s Beans</a> &bull; <a href="https://www.bankesb.com/" target="_blank">Easthampton Savings Bank</a> &bull; <a href="gdfsuezna.com/firstlight-power-resources" target="_blank">FirstLight GDF Suezna</a> &bull;<a href="https://www.northwesternmutual.com/financial/advisor/m-gagne/">Gagne Wealth Management Group</a> &bull; <a href="http://thegilltavern.com" target="_blank">Gill Tavern</a> &bull; <a href="https://www.gilmoreandfarrell.com/">Gilmore and Farrell Insurance Agency</a> &bull; <a href="http://goffmedia.com" target="_blank">Goff Media</a> &bull; <a href="http://greatfallsharvest.com" target="_blank">Great Falls Harvest</a> &bull; <a href="http://greenriverfestival.com" target="_blank">Green River Festival</a> &bull; <a href="http://www.gcc.mass.edu" target="_blank">Greenfield Community College</a> &bull; <a href="https://www.greenfieldcoopbank.com" target="_blank">Greenfield Cooperative Bank</a> &bull; <a href="https://www.greenfieldsavings.com/" target="_blank">Greenfield Savings Bank</a> &bull; <a href="https://loottheshop.com" target="_blank">Loot</a> &bull; <a href="https://massculturalcouncil.org/">Massachusetts Cultural Council</a> &bull; <a href="https://montaguebookmill.com/" target="_blank">Montague Bookmill</a> &bull; <a href="https://MontagueWebWorks.com" target="_blank">Montague WebWorks</a> &bull; <a href="https://northeast-solar.com" target="_blank">Northeast Solar</a> &bull; <a href="https://thepeoplespint.com" target="_blank">People&#39;s Pint</a> &bull; <a href="https://rainmkr.com/" target="_blank">Rainmaker Consulting</a> &bull; <a href="http://rendezvoustfma.com/" target="_blank">The Rendezvous</a> &bull; <a href="http://solarstoreofgreenfield.com" target="_blank">Solar Store of Greenfield</a> &bull; <a href="http://stobierski.com" target="_blank">Stobierski and Connor</a> &bull; <a href="http://toldvideo.com" target="_blank">Told Video</a> &bull; <a href="http://www.ridemaxbus.com/tntg" target="_blank">True North Transit</a> &bull; <a href="http://www.turnitup.com/" target="_blank">Turn It Up</a></p>
398<p style="text-align: center;"> </p>
399<p style="text-align: center;"><strong>Thanks to the Mass Cultural Council for their vital support this year. </strong><strong>We&#39;d also like to thank the Community Foundation of Western Massachusetts for their support in the form of a Flexible Funding grant. We couldn&#39;t do this work without you!</strong></p>
400<p style="text-align: center;"> </p>
401<p style="text-align: center;"><strong>
401<img alt="" class="img-responsive" height="88" src="/library/mcc-logo-rgb-notag.jpg" width="242" /> <img alt="" class="img-responsive" src="/library/CF.jpg" /></strong></p>
402</div>
403</div></div></div>
404<footer>
405<div class="footer_default noprint">
406<div id="footer" class="container">
407<div class="footerO row pt-2">
408<!-- starting from 1 -->
409<!-- this is c: 1 -->
410<div class="col-sm-12 col-md-6 text-center" id="footerRow1">
411<!-- listfind(attributes.staticPageCol,'col1') -->
412<!-- attributes.footerSocialCol eq 'col1' -->
413<!-- attributes.footerNavCol eq 'col1' -->
414<!-- yes -->
415<!-- hello from pagenav! -->
416<!-- SHOW PARENT = 0 -->
417<!-- qsImagesCat.recordCount = 1 -->
418<ul><li>
419<!-- hoohah 167 -->
420<!-- PAGES! -->
421<!-- hoohah 202 -->
422<!-- thecount = 1 -->
423<a id="menu_p8" 
424href="/p/8/Shea-Theater-Arts-Center">
425<span>About</span>
426</a>
427<!-- thecount = 2 -->
428</li><li>
429<a id="menu_p7" 
430href="/p/7/The-History-of-the-Shea-Theater-Turners-Falls-MA">
431<span>History</span>
432</a>
433<!-- thecount = 3 -->
434</li><li>
435<a id="menu_p10" 
436href="/p/10/Help-the-Shea-keep-dreaming-on-Avenue-A">
437<span>Donate</span>
438</a>
439</li><li><a id="menu_d"
440title="Shows & Tickets"
441href="/calendar"><span>Shows & Tickets</span></a>
442</li><li><a id="menu_c"
443title="Contact"
444class="active"
445href="/contact"><span>Contact</span></a>
446</li></ul>
447<!-- attributes.footerShowSearchCol eq 'col1' -->
448<!-- attributes.loginCol eq 'col1' -->
449</div>
450<!-- this is c: 2 -->
451<div class="col-sm-12 col-md-6 text-center" id="footerRow2">
452<!-- listfind(attributes.staticPageCol,'col2') -->
453<!-- yes -->
454<div class="static footer-defaultcol2">
455<!-- from var application.static.footer_defaultcol2 -->
456<p style="text-align: center;"><strong>SHEA THEATER ARTS CENTER</strong><br />
457<a href="https://goo.gl/maps/oQeWV6HTEMiTmF6Y6" target="_blank"><span class="LrzXr">71 Avenue A, </span>Turners Falls, MA 01376</a></p>
458<p style="text-align: center;"><strong>Mailing Address:</strong> P.O Box 773, Turners Falls, MA 01376</p>
459<p style="text-align: center;"><a href="/x/1/Booking-Inquiries">Booking and Rental Inquiries</a></p>
460</div>
461<!-- attributes.footerSocialCol eq 'col2' -->
462<!-- yes -->
463<span class="social fa-size" style="">
464<span class="text-info iconset"><a href="https://www.facebook.com/sheatheater/" target="_blank" alt="facebook"><i aria-label="facebook icon" class="fab fa-facebook"></i><span class="sr-only">facebook</span></a></span>
465<span class="text-info iconset"><a href="https://www.instagram.com/sheatheater/" target="_blank" alt="instagram"><i aria-label="instagram icon" class="fab fa-instagram"></i><span class="sr-only">instagram</span></a></span>
466<span class="text-info iconset"><a href="https://twitter.com/SheaTheater" target="_blank" alt="twitter"><i aria-label="twitter icon" class="fab fa-twitter"></i><span class="sr-only">twitter</span></a></span>
467</span>
468<!-- attributes.footerNavCol eq 'col2' -->
469<!-- attributes.footerShowSearchCol eq 'col2' -->
470<!-- attributes.loginCol eq 'col2' -->
471</div>
472</div>
473</div>
474</div>
475<div id="lowerFooter" class="text-center">
476<div id="footer">
477<span class="footerO">
478<span class="footerL">
479&copy; 2026 Shea Theater Arts Center
480|
48171 Avenue A, Turners Falls, MA 01376. 413-648-SHEA | <a href=http://MontagueWebWorks.com target=_blank>MWW</a>
482</span>
483<span class="footerM">
484|
485</span>
486<span class="footerR">
487<a href="https://RocketFusion.com" target="_blank">Powered by RocketFusion 123</a>
488</span>
489</span>
490</div>
491<span class="login-link">
492<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>
493<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>
494</span>
495</div>
496</footer>
497<!-- BS4 Init -->
498<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>
499<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
vendor: 1 bytes, line 499
499
500<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 500
500
501<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 501
501
502<script>
503// Assuming we have a div with id="editor_container"
504const filerobotImageEditor = new window.FilerobotImageEditor(
505document.querySelector("#rf-image-editor-edit")
506);
507const image_file_upload = document.getElementById("rf-image-upload");
508// const btn_image_upload_edit = document.getElementById("btn-image-upload-edit");
509var source_image = ''; // the HTMLImageElement
510var save_image_name = ''; // name to save image with
511var global_fr_folder = ''; // where to upload
512var global_fr_table = ''; // db table to update
513var global_fr_prefix = ''; // image file prefix, ie; blocks_
514var global_fr_pid = 0; // image ID, ie; blocks_2323
515var dropzone_website_dir = 'SheaTheater.org\\httpdocs';
516const file_robot_defaults = {
517save_image_quality : 1, // 0.1 - 1 (default 0.92) - applies to jpeg, jpg and webp images only
518};
519function renderFileRobotEditor(source,fr_folder=global_fr_folder,fr_table=global_fr_table,fr_prefix=global_fr_prefix,fr_pid=global_fr_pid) {
520console.group("renderFileRobotEditor() called");
521console.log('source:', source);
522console.log('fr_folder:', fr_folder);
523console.log('fr_table:', fr_table);
524console.log('fr_prefix:', fr_prefix);
525console.log('fr_pid:', fr_pid);
526console.groupEnd();
527source_image = source;
528filerobotImageEditor.render({
529source: source_image,
530useBackendTranslations: false,
531defaultSavedImageName: save_image_name,
532defaultSavedImageQuality: file_robot_defaults.save_image_quality,
533tabsIds: [
534window.FilerobotImageEditor.TABS.ADJUST,
535window.FilerobotImageEditor.TABS.FINETUNE,
536window.FilerobotImageEditor.TABS.FILTERS,
537window.FilerobotImageEditor.TABS.ANNOTATE,
538window.FilerobotImageEditor.TABS.WATERMARK], // or ['Adjust', 'Annotate', 'Watermark']
539defaultTabId: window.FilerobotImageEditor.TABS.ADJUST,
540Crop: {
541minWidth: 14,
542minHeight: 14,
543maxWidth: null,
544maxHeight: null,
545ratio: 'custom',
546ratioTitleKey: 'custom',
547noPresets: false,
548autoResize: false,
549presetsItems: [],
550presetsFolders: [],
551lockCropAreaAt: null, // 'top-left'
552},
553// disable save modal
554onBeforeSave: () => {
555return false;
556},
557onSave: async (imageInfo, designState) => {
558// console.log('onSave() imageInfo', imageInfo);
559// console.log('onSave() designState', designState);
560// create formData object to populate and send with fetch request
561const formData = new FormData();
562formData.append('image64', imageInfo.imageBase64);
563formData.append('image_extension', imageInfo.extension);
564formData.append('image_height', imageInfo.height);
565formData.append('image_name', imageInfo.name);
566formData.append('image_name_with_extension', imageInfo.fullName);
567formData.append('image_quality', imageInfo.quality);
568formData.append('image_width', imageInfo.width);
569formData.append('dropzone_website_dir', dropzone_website_dir); // e.g. MikMuller.com\httpdocs
570formData.append('rf_dropzone_dir', fr_folder);
571console.log('onSave() formData [2]', formData);
572// add dropzone options for compatibility with current upload script
573const drop_zone_options = {
574tbl: fr_table,
575imgbase: `${fr_prefix}${fr_pid}`,
576imgname: imageInfo.fullName,
577id: fr_pid
578}
579formData.append("dropzone_options", JSON.stringify(drop_zone_options));
580console.log('onSave() drop_zone_options', drop_zone_options);
581try {
582// _dropzone-file-upload-ajax.cfm
583// _upload-base64.cfm (for testing)
584console.log('renderFileRobotEditor.onSave() imageInfo', imageInfo);
585const upload_request = await fetch('/inc/_dropzone-file-upload-ajax.cfm', {
586method: 'POST',
587body: formData
588});
589const upload_result = await upload_request.json();
590// console.log('DEBUG: [onSave] upload_result', upload_result);
591// close modal
592$('#rfImageModalEdit').modal('hide');
593// page reload
594window.location.reload();
595} catch (error) {
596console.log('onSave() error', error);
597const upload_result = {
598code: 1,
599message: error.message,
600success: false
601}
602}
603},
604onClose: (closingReason) => {
605console.log("Closing reason", closingReason);
606filerobotImageEditor.terminate();
607// reset the input field
608document.getElementById('rf-image-upload').value = '';
609},
610});
611}
612/**
613* Function to handle image selection from the file input field
614* async as we use a promise to await image load
615*/
616async function onImageSelected(event, file_obj, fr_folder, fr_table, fr_prefix, fr_pid) {
617let file;
618if (file_obj) {
619console.log('onImageSelected file_obj', file_obj, fr_folder, fr_table, fr_prefix, fr_pid);
620file = file_obj;
621} else {
622file = event.target.files[0];
623}
624save_image_name = file.name;
625console.log('onImageSelected file', file);
626// const reader = new FileReader();
627const image = new Image();
628const img_max_width = 1600;
629image.src = URL.createObjectURL(file);
630// Promise to await image load
631await new Promise((resolve) => {
632image.onload = () => {
633const img_width = image.width;
634const img_height = image.height;
635// console.log('onImageSelected img load', img_width, img_height);
636if (img_width > img_max_width) {
637const img_scale = img_max_width / img_width;
638image.width = img_width * img_scale;
639image.height = img_height * img_scale;
640}
641// resolve the promise
642resolve();
643};
644});
645// open the modal
646$('#rfImageModalEdit').modal('show');
647// Render file robot
648renderFileRobotEditor(image, fr_folder, fr_table, fr_prefix, fr_pid);
649}
650/** Function to handle image editing */
651function 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) {
652console.log('[DEBUG] editExistingImage() called.');
653console.log('image_url:', image_url);
654console.log('image_name:', image_name);
655console.log('fr_folder:', fr_folder);
656console.log('fr_table:', fr_table);
657console.log('fr_prefix:', fr_prefix);
658console.log('fr_pid:', fr_pid);
659save_image_name = image_name;
660renderFileRobotEditor(image_url, fr_folder, fr_table, fr_prefix, fr_pid);
661}
662/** Function to open the hidden input file field */
663function openFileInput(fr_folder='', fr_table='', fr_prefix='', fr_pid=0) {
664console.log('[DEBUG] openFileInput() called.', fr_folder, fr_table, fr_prefix, fr_pid);
665global_fr_folder = fr_folder; // where to upload
666global_fr_table = fr_table; // db table to update
667global_fr_prefix = fr_prefix; // image file prefix, ie; blocks_
668global_fr_pid = fr_pid;
669image_file_upload.click();
670}
671/** Function to open RF File Manager in a modal
672* Will be used by ckeditor/plugins/rffilemanager/browse.cfm
673* Need the image full url to make a copy of for ai images
674*/
675function openRFFileManager(current_image_url, fr_folder=global_fr_folder, fr_table=global_fr_table, fr_prefix=global_fr_prefix, fr_pid=global_fr_pid) {
676// $($(this).data( "target" ) + ' .modal-body').load( data_remote );
677console.group("bs4_init openRFFileManager() called");
678console.log("current_image_url:", current_image_url);
679console.log("fr_folder:", fr_folder);
680console.log("fr_table:", fr_table);
681console.log("fr_prefix:", fr_prefix);
682console.log("fr_pid:", fr_pid);
683console.groupEnd();
684const rfFileManagerModalIframe = document.getElementById('rfFileManagerModalIframe');
685rfFileManagerModalIframe.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}`; ;
686$('#rfFileManagerModal').modal('show');
687}
688/** Function to close the RF File Manager modal
689* Will be used by ckeditor/plugins/rffilemanager/browse.cfm
690* Need to upload the image and then close the modal
691*/
692function closeRFFileManagerModal(image_path, img_name='', fr_folder='', fr_table='', fr_prefix='', fr_pid=0) {
693console.group("bs4_init closeRFFileManagerModal() called");
694console.log("image_path:",image_path);
695console.log("img_name:",img_name);
696console.log("fr_folder:",fr_folder);
697console.log("fr_table:",fr_table);
698console.log("fr_prefix:",fr_prefix);
699console.log("fr_pid:",fr_pid);
700console.groupEnd();
701$('#rfFileManagerModal').modal('hide');
702$('#rfImageModalEdit').modal('show');
703save_image_name = img_name;
704// renderFileRobotEditor(image_path);
705renderFileRobotEditor(image_path, fr_folder, fr_table, fr_prefix, fr_pid);
706}
707/** Function to close the RF File Manager modal without opening File Robot
708* Will be used by ckeditor/plugins/rffilemanager/browse.cfm
709*/
710function closeRFFileManagerModalOnly(reload=false) {
711$('#rfFileManagerModal').modal('hide');
712if (reload) {
713setTimeout(() => {
714window.location.reload();
715}, 500);
716}
717}
718// Handle closing of modal without saving (must cleanup file robot editor)
719$('#rfImageModalEdit').on('hidden.bs.modal', function (event) {
720// console.log('modal closed');
721filerobotImageEditor.terminate();
722image_file_upload.value = '';
723});
724/** Rocketfusion - enable drag/drop zone on an image with the .rf-image-dropzone class */
725// Create dropzone object for all images with the .rf-image-dropzone class
726const rf_image_drop_zone = document.querySelectorAll('.rf-image-dropzone');
727// Attach event listeners to all instances of rf_image_drop_zone
728rf_image_drop_zone.forEach(function (i) {
729// Handle drag over event
730i.addEventListener('dragover', function(e) {
731event.target.classList.add('image-dragover');
732dragOverHandler(e);
733});
734// Handle drag leave event
735i.addEventListener('dragleave', function(e) {
736// console.log('Image dropzone dragleave');
737event.target.classList.remove('image-dragover');
738});
739// Handle drop event
740i.addEventListener('drop', function(e) {
741event.target.classList.remove('image-dragover');
742dropHandler(e);
743});
744});
745/**
746* Handles the drop event of files in the drop zone.
747* Prevents the default behavior of opening the file and logs the names of the dropped files.
748*
749* @param {Event} ev - The drop event.
750* @returns {undefined}
751*/
752function dropHandler(ev) {
753// console.log('File(s) dropped');
754// Prevent default behavior (Prevent file from being opened)
755ev.preventDefault();
756if (ev.dataTransfer.items) {
757// Use DataTransferItemList interface to access the file(s)
758[...ev.dataTransfer.items].forEach((item, i) => {
759// If dropped items aren't files, reject them
760if (item.kind === 'file') {
761const file = item.getAsFile();
762console.log(`file[${i}].name = ${file.name}`);
763onImageSelected(i, file);
764}
765});
766} else {
767// Use DataTransfer interface to access the file(s)
768[...ev.dataTransfer.files].forEach((file, i) => {
769console.log(`file[${i}].name = ${file.name}`);
770onImageSelected(i, file);
771});
772}
773}
774/**
775* Handles the drag over event of files in the drop zone.
776* Prevents the default behavior of opening the file.
777*
778* @param {Event} ev - The drag over event.
779* @returns {undefined}
780*/
781function dragOverHandler(ev) {
782// Prevent default behavior (Prevent file from being opened)
783ev.preventDefault();
784}
785</script>
785
786<style>
787.modal-fullscreen {
788width: 100vw;
789max-width: none;
790height: 100%;
791margin: 0;
792}
793.modal-content {
794height: 100%;
795border: 0;
796@include border-radius(0);
797}
798.modal-body {
799overflow-y: auto;
800}
801.image-dragover {
802opacity: 0.5;
803}
804</style>
805<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 805
805
806<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 806
806
807<script>$(window).scroll(function() { if ($(document).scrollTop() > 50) { $('nav').addClass('shrink'); } else { $('nav').removeClass('shrink'); } }); </script>
807
808<!-- contact and forms -->
809<script src="//cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.15/jquery.mask.min.js"></script>
vendor: 1 bytes, line 809
809
810<script src="//cdnjs.cloudflare.com/ajax/libs/parsley.js/2.8.1/parsley.js"></script>
vendor: 1 bytes, line 810
810
811<script src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.8.0/js/bootstrap-datepicker.min.js"></script>
vendor: 1 bytes, line 811
811
812<script>
813function limitText(limitField, limitNum) {
814if (limitField.value.length > limitNum) {
815limitField.value = limitField.value.substring(0, limitNum);
816}
817}
818$(document).ready(function(){
819// this code is in bs4_init
820// Real time formatting, added by Andrew Kelly, 2/14/19
821// (US phone formatter) - on document load, attach handler to the phone-us class and mask the input
822$('.phone-us').mask('000-000-0000');
823// Max length of a number input
824$('.numbers-only').keyup(function() {
825var maxLen = $(this).data('max-length');
826var input = $('.numbers-only').val()
827var inputLen = input.length;
828console.log('[DEBUG] inputLen:' + inputLen);
829console.log('[DEBUG] maxLen:' + maxLen);
830if ( inputLen >= 9 ) {
831console.log('[DEBUG] Trim to 9 chars');
832$('.numbers-only').val( input.substring(0, 9) );
833}
834});
835});
836// Validation performed on form SUBMIT
837$("#fRocketfusion").parsley({
838errorClass: 'is-invalid text-danger',
839//successClass: 'is-valid', // Comment this option if you don't want the field to become green when valid. Recommended in Google material design to prevent too many hints for user experience. Only report when a field is wrong.
840errorsWrapper: '<span class="form-text text-danger"></span>',
841errorTemplate: '<span></span>',
842trigger: 'change'
843});
844</script>
vendor: 1 bytes, line 844
844
845<script type="text/javascript" src="/RFAssets/js/joey.js?ver=20260911135311" charset="UTF-8"></script>
vendor: 1 bytes, line 845
845
846<script type="text/javascript">
847$( 'body' ).on( 'click', '[data-toggle="modal"]', function(){
848let data_remote = $(this).data( "remote" );
849if ( data_remote && data_remote.length >= 2 ) {
850$($(this).data( "target" ) + ' .modal-content').load( data_remote );
851}
852});
853</script>
vendor: 1 bytes, line 853
853
854<script>
855$(document).ready(function() {
856//$('nav').animate({opacity:'1'}, 50);<!-- set to 0.25 to make see thru -->
857//$(img).animate({opacity:'1'});
858$initNavHgt = $('nav').outerHeight();
859$initHeadLogoHgt = $('#headerLogo').outerHeight();
860});
861</script>
861
862<!-- no userway account -->
863</body>
864</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.