PageSourceSearch

https://business.hastingschamber.com/contact/

html hastingschamber.com collected 2026-09-29 06:27:13 UTC 43,346 bytes, 908 lines download raw bytes

1
2<!DOCTYPE html>
3<html>
4<!--
5Request for https://www.hastingschamber.com/growthzone-template failed at 1:27 AM 9/29/2026
6ERROR: Page not found - Hastings Area Chamber of Commerce - NE
7Request Headers:
8  x-localrequest=1
9  User-Agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36
10-->
11<head>
12<!-- start injected HTML (CCID=2898) -->
13<!-- page template: https://www.hastingschamber.com/growthzone-template -->
14<title>Contact Us</title>
15<base href="https://www.hastingschamber.com/" />
16<meta name="keywords" content="Hastings Area Chamber of Commerce - NE,Hastings,directory,business search,member search,information request" />
17<meta name="description" content="Hastings Area Chamber of Commerce - NE is the best place to find a member or business in the Hastings NE area." />
18<link href="https://business.hastingschamber.com/integration/customerdefinedcss?_=0QMZQw2" rel="stylesheet" type="text/css" />
19<!-- link for rss not inserted -->
20<link rel="canonical" href="https://business.hastingschamber.com/contact" />
21<!-- end injected HTML -->
22
23    <!-- jQuery first, then Popper.js, then Bootstrap JS -->
24    
24<script src="https://code.jquery.com/jquery-3.7.1.min.js" crossorigin="anonymous"></script>
24
25    
25<script type="text/javascript" src="https://code.jquery.com/ui/1.13.2/jquery-ui.min.js"></script>
vendor: 2 bytes, line 25
25
26<script src="https://business.hastingschamber.com/Content/bundles/SEO4?v=jX-Yo1jNxYBrX6Ffq1gbxQahkKjKjLSiGjCSMnG9UuU1"></script>
26
27    
27<script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/globalize/0.1.1/globalize.min.js"></script>
27
28    
28<script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/globalize/0.1.1/cultures/globalize.culture.en-US.js"></script>
28
29    <!-- Required meta tags -->
30    <meta charset="utf-8">
31    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
32    <link rel="stylesheet" href="https://code.jquery.com/ui/1.13.2/themes/base/jquery-ui.css" type="text/css" media="all" />
33    
33<script type="text/javascript">
34        var MNI = MNI || {};
35        MNI.CurrentCulture = 'en-US';
36        MNI.CultureDateFormat = 'M/d/yyyy';
37        MNI.BaseUrl = 'https://business.hastingschamber.com';
38        MNI.jQuery = jQuery.noConflict(true);
39        MNI.Page = {
40            Domain: 'business.hastingschamber.com',
41            Context: 205,
42            Category: null,
43            Member: null,
44            MemberPagePopup: true
45        };
46        MNI.LayoutPromise = new Promise(function (resolve) {
47            MNI.LayoutResolution = resolve;
48        });
49        MNI.MemberFilterUrl = '';
50    </script>
vendor: 77 bytes, lines 50-53
50
51
52
53    <script src="https://www.google.com/recaptcha/enterprise.js?render=
536LfI_T8rAAAAAMkWHrLP_GfSf3tLy9tKa839wcWa
vendor: 29 bytes, lines 53-54
53" async defer></script>
54    
54<script>
55
56        const SITE_KEY = '6LfI_T8rAAAAAMkWHrLP_GfSf3tLy9tKa839wcWa';
57
58        // Repeatedly check if grecaptcha has been loaded, and call the callback once it's available
59        function waitForGrecaptcha(callback, retries = 10, interval = 1000) {
60            if (typeof grecaptcha !== 'undefined' && grecaptcha.enterprise.execute) {
61                callback();
62            } else if (retries > 0) { 
63                setTimeout(() => {
64                    waitForGrecaptcha(callback, retries - 1, interval);
65                }, interval);
66            } else {
67                console.error("grecaptcha is not available after multiple attempts");
68            }
69        }
70
71        // Copies the solved v2 checkbox token into the given form when the widget's
72        // response field ended up outside it. Customer site templates can re-load the
73        // reCAPTCHA api script, which re-renders the checkbox widget detached from the
74        // form, so its g-recaptcha-response never posts and validation always fails.
75        function setV2ResponseToken($, formElement) {
76            const $form = $(formElement);
77            const inForm = $form.find('[name="g-recaptcha-response"]');
78
79            // Prefer the reCAPTCHA-managed textarea in the target form; otherwise only consider an orphaned textarea
80            // (not inside any <form>) to avoid copying a token from a different form when multiple widgets exist.
81            let token = inForm.filter('textarea').filter(function () { return this.value; }).first().val();
82            if (!token) {
83                token = $('textarea[name="g-recaptcha-response"]').filter(function () { return this.value && $(this).closest('form').length === 0; }).first().val();
84            }
85            if (!token) {
86                return;
87            }
88
89            if (inForm.length > 0) {
90                inForm.val(token);
91            }
92            else {
93                $('<input>', {
94                    type: 'hidden',
95                    name: 'g-recaptcha-response',
96                    value: token
97                }).appendTo(formElement);
98            }
99        }
100
101        // Generates a reCAPTCHA v3 token using grecaptcha.enterprise and injects it into the given form.
102        // If the token input doesn't exist, it creates one. Then it executes the callback with the token.
103        function setReCaptchaToken(formElement, callback, action = 'submit') {
104            grecaptcha.enterprise.ready(function () {
105                grecaptcha.enterprise.execute(SITE_KEY, { action: action }).then(function (token) {
106
107                    MNI.jQuery(function ($) {
108                        let input = $(formElement).find("input[name='g-recaptcha-v3']");
109
110                        if (input.length === 0) {
111                            input = $('<input>', {
112                                type: 'hidden',
113                                name: 'g-recaptcha-v3',
114                                value: token
115                            });
116                            $(formElement).append(input);
117                        }
118                        else
119                            $(input).val(token);
120
121                        setV2ResponseToken($, formElement);
122                        if (typeof callback === 'function') callback(token);
123                    })
124
125                });
126            });
127        }
128
129    </script>
129
130
131
132
133
134<script src="https://business.hastingschamber.com/Content/bundles/MNI?v=34V3-w6z5bLW9Yl7pjO3C5tja0TdKeHFrpRQ0eCPbz81"></script>
vendor: 112 bytes, lines 134-138
134
135
136    
137    <script src='https://www.google.com/recaptcha/api.js?onload=onloadCaptchaCallback'></script>
138    
138<script type="text/javascript">
139
140        // Recaptcha fix for IOS
141        var HEADER_HEIGHT = 0;
142        var isIOS = /iPhone|iPad|iPod/i.test(navigator.userAgent);
143        var grecaptchaPosition;
144
145        var isScrolledIntoView = function (elem) {
146            var elemRect = elem.getBoundingClientRect();
147            var isVisible = (elemRect.top - HEADER_HEIGHT >= 0 && elemRect.bottom <= window.innerHeight);
148            return isVisible;
149        };
150        // End initial Recaptcha fix for IOS.See below verifyRecaptchaCallback and ISIOS for it's usage.
151
152        // Recaptcha aria attributes after load
153        function onloadCaptchaCallback() {
154            MNI.jQuery('#g-recaptcha-response').attr('aria-hidden', true);
155            MNI.jQuery('#g-recaptcha-response').attr('aria-label', 'Captcha response');
156        }
157
158        MNI.jQuery(function ($) {
159        $(function () {
160            var $form = $('form.needs-validation');
161            var form = $form[0];
162            $form.find('button.btn').click(function (e) {
163                e.preventDefault();
164                if (form.checkValidity() === false) {
165                    form.classList.add('was-validated');
166                    scrollToTop();
167                } else {
168                    waitForGrecaptcha(() => {
169                        setReCaptchaToken($form, () => form.submit(), "contactUs");
170                    })
171                }
172            });
173            function scrollToTop() {
174                $('html, body').animate({
175                    scrollTop: $('#gzns').offset().top
176                }, 500, 'linear');
177            }
178            $('#ContactFormPref').change(function () {
179                var selected = parseInt($('select#ContactFormPref option:selected').val());
180
181                clearRequired();
182
183                switch (selected) {
184                    case 1:
185                        $('#ContactFormEmail').attr("required", true);
186                        $('label[for="ContactFormEmail"]').append('<span class="gz-form-req" title="Required field">*</span>');
187                        break;
188                    case 3:
189                        $('#ContactFormPhone').attr("required", true);
190                        $('label[for="ContactFormPhone"]').append('<span class="gz-form-req" title="Required field">*</span>');
191                        break;
192                    case 4:
193                        $('#ContactFormAddress').attr("required", true);
194                        $('label[for="ContactFormAddress"]').append('<span class="gz-form-req" title="Required field">*</span>');
195                        if (!false)
196                        {
197                            $('#ContactFormCity').attr("required", true);
198                            $('label[for="ContactFormCity"]').append('<span class="gz-form-req" title="Required field">*</span>');
199                            $('#ContactFormState').attr("required", true);
200                            $('label[for="ContactFormState"]').append('<span class="gz-form-req" title="Required field">*</span>');
201                            $('#ContactFormZip').attr("required", true);
202                            $('label[for="ContactFormZip"]').append('<span class="gz-form-req" title="Required field">*</span>');
203                            $('#ContactFormCountry').attr("required", true);
204                            $('label[for="ContactFormCountry"]').append('<span class="gz-form-req" title="Required field">*</span>');
205                        }
206                        break;
207                    default:
208                        break;
209                  }
210            });
211            });
212            function clearRequired() {
213                // Clear ones not set for required by settings
214                if ((!false))
215                {
216                    $('#ContactFormEmail').removeAttr("required");
217                    $('label[for="ContactFormEmail"] span.gz-form-req').remove();
218                }
219                if ((!false))
220                {
221                    $('#ContactFormPhone').removeAttr("required");
222                    $('label[for="ContactFormPhone"] span.gz-form-req').remove();
223                }
224                if ((!false))
225                {
226                    $('#ContactFormAddress').removeAttr("required");
227                    $('label[for="ContactFormAddress"] span.gz-form-req').remove();
228                    $('#ContactFormCity').removeAttr("required");
229                    $('label[for="ContactFormCity"] span.gz-form-req').remove();
230                    $('#ContactFormState').removeAttr("required");
231                    $('label[for="ContactFormState"] span.gz-form-req').remove();
232                    $('#ContactFormZip').removeAttr("required");
233                    $('label[for="ContactFormZip"] span.gz-form-req').remove();
234                    $('#ContactFormCountry').removeAttr("required");
235                    $('label[for="ContactFormCountry"] span.gz-form-req').remove();
236                }
237            }
238
239        window.verifyRecaptchaCallback = function (response) {
240            $('input[data-recaptcha]').val(response).trigger('change');
241            if (isIOS && grecaptchaPosition !== undefined) {
242                window.scrollTo(0, grecaptchaPosition);
243            }
244        }
245
246        window.expiredRecaptchaCallback = function () {
247            $('input[data-recaptcha]').val("").trigger('change');
248            }
249
250            clearRequired();
251
252            if (isIOS) {
253                var recaptchaElements = document.querySelectorAll('.g-recaptcha');
254
255                window.addEventListener('scroll', function () {
256                    Array.prototype.forEach.call(recaptchaElements, function (element) {
257                        if (isScrolledIntoView(element)) {
258                            grecaptchaPosition = document.documentElement.scrollTop || document.body.scrollTop;
259                        }
260                    });
261                }, false);
262            }
263    });
264    </script>
264
265    <!-- Bootstrap CSS -->
266    <link type="text/css" href="https://business.hastingschamber.com/Content/SEO4/css/bootstrap/bootstrap-ns.min.css" rel="stylesheet" />
267<link href="https://business.hastingschamber.com/Content/SEO4/css/fontawesome/css/fa.bundle?v=ruPA372u21djZ69Q5Ysnch4rq1PR55j8o6h6btgP60M1" rel="stylesheet"/>
268<link href="https://business.hastingschamber.com/Content/SEO4/css/v4-module.bundle?v=qwhSjNuPqeeGP6P-IaHNEkcnGmDy0rKab7USXmcnhsI1" rel="stylesheet"/>
269<meta name="referrer" content="origin" /></head>
270<body>
271    <div id="gzns">
272        
273<div class="container-fluid gz-contactus">
274    <!-- pagetitle and deals buttons row, deals buttons are now removed but leaving div incase we add back in -->
275    <div class="d-flex w-100 gz-pagetitle-dealsbuttons">
276        <div class="flex-grow-1 gz-pagetitle">
277            <h1>Contact Us</h1>
278        </div>
279        
280
281<div class="gz-dealsbuttons"></div>
282
283    </div>
284    <div class="row gz-intro-paragraph">
285        <div class="col">Send us your questions or comments using the form below. We will respond promptly to your inquiry.</div>
286    </div>
287    <!--banner ad -->
288
289
290
291<div class="row gz-banner"><div class="col"><div class="mn-banner mn-banner-premier"><div id="mn-banner"><noscript><iframe src="https://business.hastingschamber.com/sponsors/adsframe?context=205&amp;maxWidth=720&amp;maxHeight=90&amp;max=1&amp;rotate=False" width="720" height="90" scrolling="no" frameborder="0" allowtransparency="true" marginwidth="0" marginheight="0"></iframe></noscript></div></div></div></div>
292<script type="text/javascript">
293    var _mnisq=_mnisq||[];
294    _mnisq.push(["domain","business.hastingschamber.com"],["context",205],["max",5],["rotate",1],["maxWidth",720],["maxHeight",90],["create","mn-banner"]);
295    (function(b,d,a,c){b.getElementById(d)||(c=b.getElementsByTagName(a)[0],a=b.createElement(a),a.type="text/javascript",a.async=!0,a.src="https://business.hastingschamber.com/Content/Script/Ads.min.js",c.parentNode.insertBefore(a,c))})(document,"mni-ads-script","script");
296</script>
296
297    <div class="row gz-contact-form">
298        <div class="col">
299            <h3 class="gz-subtitle">Contact Information</h3>
300            <small class="text-muted gz-form-reqnote" title="Asterisk denotes a required field">
301                <span>*</span>
302                Required field
303            </small>
304            
305<form action="https://business.hastingschamber.com/contact" class="needs-validation" method="post" name="formMain">                <div class="form-row gz-contact-form-who">
306                    <div class="form-group col-12">
307                                <label for="ContactFirstName">
308            Name
309                <span class="gz-form-req" title="Required field">*</span>
310            
311        </label>
312<input class="form-control" id="ContactFirstName" name="Name" placeholder="Joe Smith" required="" type="text" value="" />    
313        <div class="valid-feedback">
314Looks good!
315        </div>
316        <div class="invalid-feedback">
317Please add your name.
318        </div>
319    
320
321                    </div>
322                    <div class="form-group col-12">
323                                <label for="ContactFormOrganization">
324            Organization
325            
326        </label>
327<input class="form-control" id="ContactFormOrganization" name="Organization" placeholder="Company, Inc." type="text" value="" />    
328        
329        
330    
331
332                    </div>
333                </div>
334                <div class="form-row gz-contact-form-add">
335                    <div class="form-group col">
336                                <label for="ContactFormAddress">
337            Mailing Address
338                <span class="gz-form-req" title="Required field">*</span>
339            
340        </label>
341<input class="form-control" id="ContactFormAddress" name="Street" placeholder="123 Example Street" required="" type="text" value="" />    
342        <div class="valid-feedback">
343Looks good!
344        </div>
345        <div class="invalid-feedback">
346Please add your mailing address.
347        </div>
348    
349
350                    </div>
351                    <div class="form-group col">
352                                <label for="ContactFormAddress2">
353            Mailing Address line 2
354            
355        </label>
356<input class="form-control" id="ContactFormAddress2" name="POBox" placeholder="Suite 900" type="text" value="" />    
357        
358        
359    
360
361                    </div>
362                </div>
363                <div class="form-row gz-Contact-form-city-state">
364                    <div class="form-group col-6 col-sm-3">
365                                <label for="ContactFormCity">
366            City
367                <span class="gz-form-req" title="Required field">*</span>
368            
369        </label>
370<input class="form-control" id="ContactFormCity" name="City" placeholder="Orlando" required="" type="text" value="" />    
371        <div class="valid-feedback">
372Looks good!
373        </div>
374        <div class="invalid-feedback">
375Please add your City
376        </div>
377    
378
379                    </div>
380                    <div class="form-group col-6 col-sm-3">
381                                <label for="ContactFormState">
382            State
383                <span class="gz-form-req" title="Required field">*</span>
384            
385        </label>
386<input class="form-control" id="ContactFormState" name="StateProvince" placeholder="MN" required="" type="text" value="" />    
387        <div class="valid-feedback">
388Looks good!
389        </div>
390        <div class="invalid-feedback">
391Please add your State
392        </div>
393    
394
395                    </div>
396                    <div class="form-group col-6 col-sm-3">
397                                <label for="ContactFormZip">
398            Postal Code
399                <span class="gz-form-req" title="Required field">*</span>
400            
401        </label>
402<input class="form-control" id="ContactFormZip" name="ZipPostal" placeholder="54321" required="" type="text" value="" />    
403        <div class="valid-feedback">
404Looks good!
405        </div>
406        <div class="invalid-feedback">
407Please add your Postal Code
408        </div>
409    
410
411                    </div>
412                    <div class="form-group col-6 col-sm-3">
413                                <label for="ContactFormCountry">
414            Country
415                <span class="gz-form-req" title="Required field">*</span>
416            
417        </label>
418<select class="form-control" id="ContactFormCountry" name="Country" required=""><option value="">Choose...</option>
419<option value="AF">Afghanistan</option>
420<option value="AL">Albania</option>
421<option value="DZ">Algeria</option>
422<option value="AR">Argentina</option>
423<option value="AM">Armenia</option>
424<option value="AU">Australia</option>
425<option value="AT">Austria</option>
426<option value="AZ">Azerbaijan</option>
427<option value="BS">Bahamas</option>
428<option value="BH">Bahrain</option>
429<option value="BD">Bangladesh</option>
430<option value="BE">Belgium</option>
431<option value="BZ">Belize</option>
432<option value="BM">Bermuda</option>
433<option value="BT">Bhutan</option>
434<option value="BO">Bolivia</option>
435<option value="BA">Bosnia &amp; Herzegovina</option>
436<option value="BA">Bosnia and Herzegovina</option>
437<option value="BW">Botswana</option>
438<option value="BR">Brazil</option>
439<option value="VG">British Virgin Islands</option>
440<option value="BN">Brunei</option>
441<option value="BG">Bulgaria</option>
442<option value="KH">Cambodia</option>
443<option value="CM">Cameroon</option>
444<option value="CA">Canada</option>
445<option value="029">Caribbean</option>
446<option value="CL">Chile</option>
447<option value="CN">China</option>
448<option value="CO">Colombia</option>
449<option value="CD">Congo (DRC)</option>
450<option value="CR">Costa Rica</option>
451<option value="CI">C&#244;te d’Ivoire</option>
452<option value="HR">Croatia</option>
453<option value="CZ">Czechia</option>
454<option value="DK">Denmark</option>
455<option value="DO">Dominican Republic</option>
456<option value="EC">Ecuador</option>
457<option value="EG">Egypt</option>
458<option value="SV">El Salvador</option>
459<option value="ER">Eritrea</option>
460<option value="EE">Estonia</option>
461<option value="ET">Ethiopia</option>
462<option value="FO">Faroe Islands</option>
463<option value="FI">Finland</option>
464<option value="FR">France</option>
465<option value="GE">Georgia</option>
466<option value="DE">Germany</option>
467<option value="GH">Ghana</option>
468<option value="GR">Greece</option>
469<option value="GL">Greenland</option>
470<option value="GT">Guatemala</option>
471<option value="HT">Haiti</option>
472<option value="HN">Honduras</option>
473<option value="HK">Hong Kong SAR</option>
474<option value="HU">Hungary</option>
475<option value="IS">Iceland</option>
476<option value="IN">India</option>
477<option value="ID">Indonesia</option>
478<option value="IE">Ireland</option>
479<option value="IL">Israel</option>
480<option value="IT">Italy</option>
481<option value="JM">Jamaica</option>
482<option value="JP">Japan</option>
483<option value="JO">Jordan</option>
484<option value="KZ">Kazakhstan</option>
485<option value="KE">Kenya</option>
486<option value="KR">Korea</option>
487<option value="KW">Kuwait</option>
488<option value="KG">Kyrgyzstan</option>
489<option value="LA">Laos</option>
490<option value="419">Latin America</option>
491<option value="LV">Latvia</option>
492<option value="LI">Liechtenstein</option>
493<option value="LT">Lithuania</option>
494<option value="LU">Luxembourg</option>
495<option value="MO">Macao SAR</option>
496<option value="MY">Malaysia</option>
497<option value="MV">Maldives</option>
498<option value="ML">Mali</option>
499<option value="MT">Malta</option>
500<option value="MX">Mexico</option>
501<option value="MD">Moldova</option>
502<option value="MC">Monaco</option>
503<option value="MN">Mongolia</option>
504<option value="ME">Montenegro</option>
505<option value="MA">Morocco</option>
506<option value="MM">Myanmar</option>
507<option value="NP">Nepal</option>
508<option value="NL">Netherlands</option>
509<option value="NZ">New Zealand</option>
510<option value="NI">Nicaragua</option>
511<option value="NG">Nigeria</option>
512<option value="MK">North Macedonia</option>
513<option value="NO">Norway</option>
514<option value="OM">Oman</option>
515<option value="PK">Pakistan</option>
516<option value="PA">Panama</option>
517<option value="PY">Paraguay</option>
518<option value="PE">Peru</option>
519<option value="PH">Philippines</option>
520<option value="PL">Poland</option>
521<option value="PT">Portugal</option>
522<option value="PR">Puerto Rico</option>
523<option value="RE">R&#233;union</option>
524<option value="RO">Romania</option>
525<option value="RU">Russia</option>
526<option value="RW">Rwanda</option>
527<option value="SA">Saudi Arabia</option>
528<option value="SN">Senegal</option>
529<option value="RS">Serbia</option>
530<option value="SG">Singapore</option>
531<option value="SK">Slovakia</option>
532<option value="SI">Slovenia</option>
533<option value="SO">Somalia</option>
534<option value="ZA">South Africa</option>
535<option value="ES">Spain</option>
536<option value="LK">Sri Lanka</option>
537<option value="SE">Sweden</option>
538<option value="CH">Switzerland</option>
539<option value="TW">Taiwan</option>
540<option value="TJ">Tajikistan</option>
541<option value="TH">Thailand</option>
542<option value="TT">Trinidad &amp; Tobago</option>
543<option value="TN">Tunisia</option>
544<option value="TR">T&#252;rkiye</option>
545<option value="TM">Turkmenistan</option>
546<option value="UA">Ukraine</option>
547<option value="AE">United Arab Emirates</option>
548<option value="GB">United Kingdom</option>
549<option selected="selected" value="US">United States</option>
550<option value="UY">Uruguay</option>
551<option value="UZ">Uzbekistan</option>
552<option value="VA">Vatican City</option>
553<option value="VE">Venezuela</option>
554<option value="VN">Vietnam</option>
555<option value="001">world</option>
556<option value="YE">Yemen</option>
557</select>    
558        <div class="valid-feedback">
559Looks good!
560        </div>
561        <div class="invalid-feedback">
562Please add your country.
563        </div>
564    
565
566                    </div>
567                </div>
568                <div class="form-row gz-contact-form-contact">
569                    <div class="form-group col">
570                                <label for="ContactFormPhone">
571            Phone
572                <span class="gz-form-req" title="Required field">*</span>
573            
574        </label>
575<input class="form-control" id="ContactFormPhone" name="Phone" placeholder="(000) 000-0000" required="" type="text" value="" />    
576        <div class="valid-feedback">
577Looks good!
578        </div>
579        <div class="invalid-feedback">
580Please add your phone number.
581        </div>
582    
583
584                    </div>
585                    <div class="form-group col">
586                                <label for="ContactFormEmail">
587            Email
588                <span class="gz-form-req" title="Required field">*</span>
589            
590        </label>
591<input class="form-control" id="ContactFormEmail" name="Email" placeholder="[email protected]" required="" type="email" value="" />    
592        <div class="valid-feedback">
593Looks good!
594        </div>
595        <div class="invalid-feedback">
596Please add a valid email.
597        </div>
598    
599
600                    </div>
601                    <div class="form-group-col" style="display:none">
602                                <label for="ContactFormAlternateEmail">
603            Leave Blank
604            
605        </label>
606<input class="form-control" id="ContactFormAlternateEmail" name="AlternateEmail" type="text" value="" />    
607        
608        
609    
610
611                    </div>
612                </div>
613                <div class="form-row gz-contact-form-pref">
614                    <div class="form-group col">
615                                <label for="ContactFormPref">
616            Contact Preference
617                <span class="gz-form-req" title="Required field">*</span>
618            
619        </label>
620<select class="form-control" id="ContactFormPref" name="ContactPreference" required=""><option value="">Choose...</option>
621<option value="3">Phone</option>
622<option value="1">Email</option>
623<option value="4">Mail</option>
624</select>    
625        <div class="valid-feedback">
626Looks good!
627        </div>
628        <div class="invalid-feedback">
629Please select a contact preference.
630        </div>
631    
632
633                    </div>
634                </div>
635                    <div class="form-row gz-contact-form-comments">
636                        <div class="form-group col">
637                                    <label for="ContactFormComments">
638            Comments/Questions
639            
640        </label>
641<textarea class="form-control" id="ContactFormComments" maxlength="9999" name="Comments" placeholder="Type comments here." rows="5">
642</textarea>    
643        
644        
645    
646
647                        </div>
648                    </div>
649                    <div class="form-row gz-contact-form-disclaimer">
650                        <div class="form-group col">
651                            <fieldset>
652                            <legend style="display: none">Release this information</legend>
653                                <p class="gz-contact-disclaimer-text">The Hastings Area Chamber of Commerce - NE will not sell your contact or email information. In order to serve your request, our office shares information with chamber member businesses who can provide you with additional information. Please indicate below if we may share your request for information:</p>
654                                    <div class="form-check radio-lg form-check-inline mr-5">
655        <input checked="checked" class="form-check-input" id="InfoReleaseTrue" name="ReleaseToMembers" type="radio" value="True" />
656        <label class="form-check-label" for="InfoReleaseTrue">Yes, you may release this information.</label>
657    </div>
658
659                                    <div class="form-check radio-lg form-check-inline mr-5">
660        <input class="form-check-input" id="InfoReleaseFalse" name="ReleaseToMembers" type="radio" value="False" />
661        <label class="form-check-label" for="InfoReleaseFalse">No, please do not release this information.</label>
662    </div>
663
664                            </fieldset>
665                        </div>
666                    </div>
667                <div class="form-row gz-contact-captcha">
668                    <div class="col-12 gz-comm-captcha">
669                        <label style="display:none" for="captchavalidation">Captcha Validation</label>
670                        <input style="display:none" id="captchavalidation" class="form-control" data-recaptcha="true" required aria-hidden="true">
671                        <div class="invalid-feedback">
672                            Please complete the Captcha
673                        </div>
674                        <div class="g-recaptcha" data-sitekey="6LcpNUMUAAAAAB5iVpO_rzGG2TK_vFp7V6SCw_4s" data-callback="verifyRecaptchaCallback" data-expired-callback="expiredRecaptchaCallback"></div>
675                    </div>
676                </div>
677                <div class="form-row gz-contact-form-submit">
678                    <div class="form-group col">
679                        <button class="btn" type="button">Submit form</button>
680                    </div>
681                </div>
682</form>            <div class="gz-contact-association">
683                <div class="gz-association-name">Hastings Area Chamber of Commerce - NE</div>
684                    <div class="gz-association-street">P.O. Box 1104</div>
685                                    <div class="gz-association-citystatezip">
686                        Hastings, NE 68902-1104
687                    </div>
688                                        <div class="gz-association-phone">(402) 461-8400 Fax: (402) 461-4400</div>
689
690                    <div class="gz-association-email"><a href="mailto:[email protected]">[email protected]</a></div>
691            </div>
692        </div>
693    </div>
694</div>
695
696        
697        <!-- JavaScript for Bootstrap 4 components -->
698        <!-- js to make 4 column layout instead of 3 column when the module page content area is larger than 950, this is to accomodate for full-width templates and templates that have sidebars-->
698
699        
699<script type="text/javascript">
700            (function ($) {
701                $(function () {
702                    var $gzns = $('#gzns');
703                    var $info = $('#gzns').find('.col-sm-6.col-md-4');
704                    if ($gzns.width() > 950) {
705                        $info.addClass('col-lg-3');
706                    }
707
708                    var store = window.localStorage;
709                    var key = "10-list-view";
710                    var printKey = "24-list-view";
711                    $('.gz-view-btn').click(function (e) {
712                        e.preventDefault();
713                        $('.gz-view-btn').removeClass('active');
714                        $(this).addClass('active');
715                        if ($(this).hasClass('gz-list-view')) {
716                            store.setItem(key, true);
717                            store.setItem(printKey, true);
718                            $('.gz-list-card-wrapper').removeClass('col-sm-6 col-md-4').addClass('gz-list-col');
719                        } else {
720                            store.setItem(key, false);
721                            store.setItem(printKey, false);
722                            $('.gz-list-card-wrapper').addClass('col-sm-6 col-md-4').removeClass('gz-list-col');
723                        }
724                    });
725                    
726                    var isListView = store.getItem(key) == null ? MNI.DEFAULT_LISTING : store.getItem(key) == "true";
727                    if (isListView) $('.gz-view-btn.gz-list-view').click();
728                    store.setItem(printKey, isListView);
729                    MNI.LayoutResolution();
730
731                    (function ($modal) {
732                        if ($modal[0]) {
733                            $('#gz-info-contactfriend').on('shown.bs.modal', function (e) {
734                                $modal.css('max-height', $(window).height() + 'px');
735                                $modal.addClass('isLoading');
736                                $.ajax({ url: MNI.BaseUrl + '/inforeq/contactFriend?itemType='+MNI.ITEM_TYPE+'&itemId='+MNI.ITEM_ID })
737                                    .then(function (r) {
738                                        $modal.find('.modal-body')
739                                            .html($.parseHTML(r.Html));
740                                        $modal.removeClass('isLoading');
741                                        $('#gz-info-contactfriend').addClass('in');
742                                        $.getScript("https://www.google.com/recaptcha/api.js");
743                                    });
744                            });
745                            $('#gz-info-contactfriend .send-btn').click(function () {
746                                var $form = $modal.find('form');
747                                $modal.addClass('isLoading');
748                                $.ajax({
749                                    url: $form.attr('action'),
750                                    type: 'POST',
751                                    data: $form.serialize(),
752                                    dataType: 'json'
753                                }).then(function (r) {
754                                    if (r.Success) $('#gz-info-contactfriend').modal('hide');
755                                    else $modal.find('.modal-body').html($.parseHTML(r.Html));
756                                    $.getScript("https://www.google.com/recaptcha/api.js");
757                                    $modal.removeClass('isLoading');
758                                });
759                            });
760                        }
761                    })($('#gz-info-contactfriend .modal-content'));
762
763                    (function ($modal) {
764                        if ($modal[0]) {
765                            $('#gz-info-subscribe').on('shown.bs.modal', function (e) {
766                            $('#gz-info-subscribe .send-btn').show();
767                            $modal.addClass('isLoading');
768                                $.ajax({ url: MNI.SUBSCRIBE_URL })
769                                .then(function (r) {
770                                    $modal.find('.modal-body')
771                                        .html(r);
772
773                                    $modal.removeClass('isLoading');
774                                });
775                            });
776                            $('#gz-info-subscribe .send-btn').click(function () {
777                                var $form = $modal.find('form');
778                                $modal.addClass('isLoading');
779
780                                waitForGrecaptcha(() => {
781                                    setReCaptchaToken($form, () => {
782                                        $.ajax({
783                                            url: $form.attr('action'),
784                                            type: 'POST',
785                                            data: $form.serialize()
786                                        }).then(function (r) {
787                                            if (r.toLowerCase().search('thank you') != -1) {
788                                                $('#gz-info-subscribe .send-btn').hide();
789                                            }
790                                            $modal.find('.modal-body').html(r);
791                                            $modal.removeClass('isLoading');
792                                        });
793                                    }, "hotDealsSubscribe");
794                                })                        
795                            });
796                        }
797                    })($('#gz-info-subscribe .modal-content'));
798
799                    (function ($modal) {
800                        $('#gz-info-calendarformat').on('shown.bs.modal', function (e) {
801                            var backdropElem = "<div class=\"modal-backdrop fade in\" style=\"height: 731px;\" ></div >";
802                            $('#gz-info-calendarformat').addClass('in');                           
803                            if (!($('#gz-info-calendarformat .modal
803-backdrop').length)) {
804                                $('#gz-info-calendarformat').prepend(backdropElem);
805                            }
806                            else {
807                                $('#gz-info-calendarformat .modal-backdrop').addClass('in');
808                            }
809                        });
810                        $('#gz-info-calendarformat').on('hidden.bs.modal', function (e) {
811                            $('#gz-info-calendarformat').removeClass('in');
812                            $('#gz-info-calendarformat .modal-backdrop').remove();
813                        });
814                        if ($modal[0]) {
815                            $('.calendarLink').click(function (e) {
816                                $('#gz-info-calendarformat').modal('hide');
817                            });
818                        }
819                    })($('#gz-info-calendarformat .modal-content'));
820
821                    // Constructs the Find Members type ahead suggestion engine. Tokenizes on the Name item in the remote return object. Case Sensitive usage.
822                    var members = new Bloodhound({
823                        datumTokenizer: Bloodhound.tokenizers.whitespace,
824                        queryTokenizer: Bloodhound.tokenizers.whitespace,
825                        remote: {
826                            url: MNI.BaseUrl + '/list/find?q=%searchTerm',
827                            wildcard: '%searchTerm',
828                            replace: function () {
829                                var q = MNI.BaseUrl + '/list/find?q=' + encodeURIComponent($('.gz-search-keyword').val());
830                                var categoryId = $('#catgId').val();
831                                var quickLinkId = $('#qlId').val();
832                                if (categoryId) {
833                                    q += "&catgId=" + encodeURIComponent(categoryId);
834                                }
835                                if (quickLinkId) {
836                                    q += "&qlid=" + encodeURIComponent(quickLinkId);
837                                }
838                                return q;
839                            }
840                        }
841                    });
842
843                    // Initializing the typeahead using the Bloodhound remote dataset. Display the Name and Type from the dataset via the suggestion template. Case sensitive.
844                    $('.member-typeahead').typeahead({
845                        hint: false,
846                    },
847                        {
848                            display: 'Name',
849                            source: members,
850                            limit: Infinity,
851                            templates: {
852                                suggestion: function (data) { return '<div class="mn-autocomplete"><span class="mn-autocomplete-name">' + data.Name + '</span></br><span class="mn-autocomplete-type">' + data.Type + '</span></div>' }
853                            }
854                    });
855
856                    $('.member-typeahead').on('typeahead:selected', function (evt, item) {
857                        var openInNewWindow = MNI.Page.MemberPagePopup
858                        var doAction = openInNewWindow ? MNI.openNewWindow : MNI.redirectTo;
859
860                        switch (item.ResultType) {
861                            case 1: // AutocompleteSearchResultType.Category
862                                doAction(MNI.Path.Category(item.SlugWithID));
863                                break;
864                            case 2: // AutocompleteSearchResultType.QuickLink
865                                doAction(MNI.Path.QuickLink(item.SlugWithID));
866                                break;
867                            case 3: // AutocompleteSearchResultType.Member
868                                if (item.MemberPageAction == 1) {
869                                    MNI.logHitStat("mbrws", item.ID).then(function () {
870                                        var location = item.WebParticipation < 10 ? MNI.Path.MemberKeywordSearch(item.Name) : MNI.Path.Member(item.SlugWithI
870D);
871                                        doAction(location);
872                                    });
873                                }
874                                else {
875                                    var location = item.WebParticipation < 10 ? MNI.Path.MemberKeywordSearch(item.Name) : MNI.Path.Member(item.SlugWithID);
876                                    doAction(location);
877                                }
878                                break;
879                        }
880                    })
881
882                    $('#category-select').change(function () {
883                        // Store the category ID in a hidden field so the remote fetch can use it when necessary
884                        var categoryId = $('#category-select option:selected').val();
885                        $('#catgId').val(categoryId);
886                        // Don't rely on prior locally cached data when the category is changed.
887                        $('.member-typeahead').typeahead('destroy');
888                        $('.member-typeahead').typeahead({
889                            hint: false,
890                        },
891                            {
892                                display: 'Name',
893                                source: members,
894                                limit: Infinity,
895                                templates: {
896                                    suggestion: function (data) { return '<div class="mn-autocomplete"><span class="mn-autocomplete-name">' + data.Name + '</span></br><span class="mn-autocomplete-type">' + data.Type + '</span></div>' }
897                                }
898                            });
899                    });
900                    MNI.Plugins.AutoComplete.Init('#mn-search-geoip input', { path: '/' + MNI.MemberFilterUrl + '/find-geographic' });
901                });
902            })(MNI.jQuery);
903        </script>
903
904    </div>
905
906</body>
907</html>
908

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.