PageSourceSearch

https://www.ref-sg.ch/neue-kirchenverfassung.html

html ref-sg.ch collected 2026-10-02 10:27:37 UTC 100,247 bytes, 2,188 lines download raw bytes

1<!DOCTYPE html>
2<html lang="de" class="no-js">
3<head>
4
5        <meta charset="UTF-8">
6    <title>Neue Kirchenverfassung - Evangelisch-reformierte Kirche des Kantons St.Gallen</title>
7    <base href="https://www.ref-sg.ch/">
8    <link rel="icon" href="/favicon.ico" type="image/x-icon">
9
10        <meta name="robots" content="index,follow">
11    <meta name="description" content="">
12    <meta name="generator" content="Contao Open Source CMS">
13    <meta name="google-site-verification" content="SEb1l4oJW_KJMjPrASAkT07B0MCYm5BODt5rYVtjl8s"/>
14    
15    
16    <meta name="viewport" content="width=device-width,initial-scale=1.0">
17        <link rel="stylesheet" href="/assets/css/layout.min.css,responsive.min.css,reset.min.css,mmenu.css,column...-f43dfc31.css">        
17<script src="/assets/js/jquery.min.js,mmenu.js-7d709994.js"></script>
17<script src="/bundles/calendarextended/js/event-register.js?v=65fbb9bd"></script>
17<meta name="search:type" content="page"/>
17<script src="/assets/js/vue.min.js,vue-resource.min.js-4467e5c0.js"></script>
17<script src="/assets/js/autoComplete.min.js-be8066c1.js"></script>
17<link href="/assets/css/default.scss,autoComplete.scss-155e173d.css" rel="stylesheet"><link href="/assets/css/elasticsearch.scss-9384fcaf.css" rel="stylesheet">    
18</head>
19<body
20    id="top">
21
22
23  
24<div id="overlay">
25  <div class="inside">
26    
27<div class="info-overlay">
28	<div class="rs-columns ce_rs_columns_start">
29
30	<div class="ce_rs_column_start  rs-column -large-col-2-1 -large-first -large-first-row -medium-col-2-1 -medium-first -medium-first-row -small-col-1-1 -small-first -small-last -small-first-row">
31
32	
33<div class="ce_text block">
34
35            <h1>Evangelisch-reformierte Kirche des Kantons St.Gallen</h1>
36      
37  
38      <p>«Willkommen, unsere Türen sind offen». Dies gilt für fast alle reformierten Kirchen im Kanton St.Gallen. Gleiches gilt auch, wenn Sie ein Anliegen an uns haben. Wenden Sie sich an Ihre Kirchgemeinde.</p>  
39  
40  
41
42</div>
43</div>
44<div class="ce_rs_column_start  rs-column -large-col-2-1 -large-last -large-first-row -medium-col-2-1 -medium-last -medium-first-row -small-col-1-1 -small-first -small-last">
45
46	
47<div class="ce_text second-row block">
48
49        
50  
51      <p>Oder Sie setzen sich direkt mit der Kantonalkirche, also der Evangelisch-reformierten Kirche des Kantons St.Gallen, in Verbindung. Sie finden uns am Oberen Graben 31 in 9000 St.Gallen. Erreichbar sind wir in der Regel werktags von 8 bis 12 Uhr und von 14 bis 17 Uhr unter 071 227 05 00 oder per Mail unter &#105;&#x6E;&#102;&#x6F;&#64;&#x72;&#101;&#x66;&#45;&#x73;&#103;&#x2E;&#99;&#x68;.</p>  
52  
53  
54
55</div>
56</div>
57</div>
58
59<a href="javascript:;" id="overlay_close">
60	<img src="files/template/img/close_overlay.png" alt="Schliessen" />	
61</a>  
62
63</div>  </div>
64</div>
65  
66<div id="search">
67  <div class="inside">
68        <div></div>  </div>
69</div>
70
71<div id="wrapper" class="main-wrapper">
72
73                <header id="header" class="main-header">
74            <div class="inside">
75                
76<!-- indexer::stop -->
77<nav class="mod_navigation headernav block">
78
79  
80  <a href="/neue-kirchenverfassung.html#skipNavigation1" class="invisible">Navigation überspringen</a>
81
82  <ul class="level_1" role="menubar">
83    
84        
85                    <li class="submenu trail not-clickable">
86                <a                     href="/ueberuns.html"                    title="St.Galler Kirche" class="submenu trail not-clickable"                    role="menuitem" aria-haspopup="true">St.Galler Kirche</a><ul class="level_2" role="menu">
87    
88        
89                    <li>
90                <a                     href="/ueberuns.html"                    title="Über uns"                    role="menuitem">Über uns</a>            </li>
91            
92        
93                    <li class="forward"><span class="forward"
94                                                    role="menuitem">Neue Kirchenverfassung</span>            </li>
95            
96        
97                    <li>
98                <a                     href="/Kirchgemeinden.html"                    title="Unsere Kirchgemeinden"                    role="menuitem">Unsere Kirchgemeinden</a>            </li>
99            
100        
101                    <li>
102                <a                     href="/synode.html"                    title="Synode"                    role="menuitem">Synode</a>            </li>
103            
104        
105                    <li class="trail">
106                <a                     href="/kirchenrat.html"                    title="Kirchenrat" class="trail"                    role="menuitem">Kirchenrat</a>            </li>
107            
108        
109                    <li>
110                <a                     href="/st-galler-kirche/team.html"                    title="team"                    role="menuitem">Team der Kantonalkirche</a>            </li>
111            
112        
113                    <li>
114                <a                     href="/fuerdiekirchearbeiten.html"                    title="Für die Kirche arbeiten"                    role="menuitem">Für die Kirche arbeiten</a>            </li>
115            
116        
117                    <li>
118                <a                     href="/persoenlichkeitsschutz.html"                    title="Gewährleistung des Persönlichkeitsschutzes in der Kirche"                    role="menuitem">Persönlichkeitsschutz</a>            </li>
119            </ul>
120            </li>
121            
122        
123                    <li class="submenu not-clickable">
124                <a                     href="/gottesdienste.html"                    title="Kirche für alle" class="submenu not-clickable"                    role="menuitem" aria-haspopup="true">Kirche für alle</a><ul class="level_2" role="menu">
125    
126        
127                    <li>
128                <a                     href="/gottesdienste.html"                    title="Gottesdienste"                    role="menuitem">Gottesdienste</a>            </li>
129            
130        
131                    <li>
132                <a                     href="/Musik.html"                    title="Musik"                    role="menuitem">Musik</a>            </li>
133            
134        
135                    <li>
136                <a                     href="/seelsorge-beratung.html"                    title="Seelsorge und Beratung"                    role="menuitem">Seelsorge und Beratung</a>            </li>
137            
138        
139                    <li>
140                <a                     href="/diakonie.html"                    title="Diakonie"                    role="menuitem">Diakonie</a>            </li>
141            
142        
143                    <li>
144                <a                     href="/junge-menschen-begleiten.html"                    title="Junge Menschen begleiten"                    role="menuitem">Junge Menschen begleiten</a>            </li>
145            
146        
147                    <li>
148                <a                     href="/bildung.html"                    title="Bildung"                    role="menuitem">Bildung</a>            </li>
149            
150        
151                    <li>
152                <a                     href="/eintreten.html"                    title="In die Kirche eintreten"                    role="menuitem">In die Kirche eintreten</a>            </li>
153            
154        
155                    <li>
156                <a                     href="https://www.kirche-tut-gut.ch/"                    title="kirche tut gut"                    role="menuitem">Kirche tut gut</a>            </li>
157            </ul>
158            </li>
159            
160        
161                    <li class="submenu not-clickable">
162                <a                     href="/fuer-mitarbeitende/zentrale-dienste.html"                    title="Mitarbeitende und Behörden" class="submenu not-clickable"                    role="menuitem" aria-haspopup="true">Mitarbeitende und Behörden</a><ul class="level_2" role="menu">
163    
164        
165                    <li>
166                <a                     href="/fuer-mitarbeitende/zentrale-dienste.html"                    title="Zentrale Dienste"                    role="menuitem">Zentrale Dienste</a>            </li>
167            
168        
169                    <li>
170                <a                     href="/arbeitsstellen.html"                    title="Arbeitsstellen"                    role="menuitem">Arbeitsstellen</a>            </li>
171            
172        
173                    <li>
174                <a                     href="/seelsorge-und-beratung.html"                    title="Seelsorge und Beratung"                    role="menuitem">Seelsorge und Beratung</a>            </li>
175            
176        
177                    <li>
178                <a                     href="/veranstaltungen.html"                    title="Veranstaltungen und Weiterbildungen"                    role="menuitem">Veranstaltungen und Weiterbildungen</a>            </li>
179            
180        
181                    <li>
182                <a                     href="/Verfassung-und-gueltige-Erlasse.html"                    title="Verfassung und gültige Erlasse"                    role="menuitem">Verfassung und gültige Erlasse</a>            </li>
183            </ul>
184            </li>
185            
186        
187                    <li class="submenu not-clickable">
188                <a                     href="/Kontakt.html"                    title="Service" class="submenu not-clickable"                    role="menuitem" aria-haspopup="true">Service</a><ul class="level_2" role="menu">
189    
190        
191                    <li>
192                <a                     href="/Kontakt.html"                    title="Kontakt"                    role="menuitem">Kontakt</a>            </li>
193            
194        
195                    <li>
196                <a                     href="/Medien.html"                    title="Medien"                    role="menuitem">Medien</a>            </li>
197            
198        
199                    <li>
200                <a                     href="/finanzielle-unterstuetzung.html"                    title="Finanzielle Unterstützung"                    role="menuitem">Finanzielle Unterstützung</a>            </li>
201            
202        
203                    <li>
204                <a                     href="/newsletter-anmeldung.html"                    title="Newsletter"                    role="menuitem">Newsletter</a>            </li>
205            
206        
207                    <li>
208                <a                     href="/pfefferstern.html"                    title="Pfefferstern und Reforum"                    role="menuitem">Pfefferstern und Reforum</a>            </li>
209            
210        
211                    <li>
212                <a                     href="/Material.html"                    title="Zum Mieten"                    role="menuitem">Zum Mieten</a>            </li>
213            
214        
215                    <li>
216                <a                     href="/shop.html"                    title="Zum Bestellen"                    role="menuitem">Zum Bestellen</a>            </li>
217            
218        
219                    <li>
220                <a                     href="/stellen.html"                    title="Stellen"                    role="menuitem">Stellen</a>            </li>
221            </ul>
222            </li>
223            </ul>
224
225  <span id="skipNavigation1" class="invisible"></span>
226
227</nav>
228<!-- indexer::continue -->
229<!-- indexer::stop -->
230<nav class="mod_mmenu mobilenavi" id="mobile-show">
231
232    
233<ul class="level_1" role="menubar">
234                        <li class="submenu trail"><a
235                    href="/ueberuns.html"
236                    title="St.Galler Kirche" class="submenu trail"                    role="menuitem" aria-haspopup="true">St.Galler Kirche</a><ul class="level_2" role="menu">
237                        <li><a
238                    href="/ueberuns.html"
239                    title="Über uns"                    role="menuitem">Über uns</a>            </li>
240                                <li class="forward"><span class="forward"
241                                                    role="menuitem">
241Neue Kirchenverfassung</span>            </li>
242                                <li><a
243                    href="/Kirchgemeinden.html"
244                    title="Unsere Kirchgemeinden"                    role="menuitem">Unsere Kirchgemeinden</a>            </li>
245                                <li><a
246                    href="/synode.html"
247                    title="Synode"                    role="menuitem">Synode</a>            </li>
248                                <li class="trail"><a
249                    href="/kirchenrat.html"
250                    title="Kirchenrat" class="trail"                    role="menuitem">Kirchenrat</a>            </li>
251                                <li><a
252                    href="/st-galler-kirche/team.html"
253                    title="team"                    role="menuitem">Team der Kantonalkirche</a>            </li>
254                                <li><a
255                    href="/fuerdiekirchearbeiten.html"
256                    title="Für die Kirche arbeiten"                    role="menuitem">Für die Kirche arbeiten</a>            </li>
257                                <li><a
258                    href="/persoenlichkeitsschutz.html"
259                    title="Gewährleistung des Persönlichkeitsschutzes in der Kirche"                    role="menuitem">Persönlichkeitsschutz</a>            </li>
260            </ul>
261            </li>
262                                <li class="submenu"><a
263                    href="/gottesdienste.html"
264                    title="Kirche für alle" class="submenu"                    role="menuitem" aria-haspopup="true">Kirche für alle</a><ul class="level_2" role="menu">
265                        <li><a
266                    href="/gottesdienste.html"
267                    title="Gottesdienste"                    role="menuitem">Gottesdienste</a>            </li>
268                                <li><a
269                    href="/Musik.html"
270                    title="Musik"                    role="menuitem">Musik</a>            </li>
271                                <li><a
272                    href="/seelsorge-beratung.html"
273                    title="Seelsorge und Beratung"                    role="menuitem">Seelsorge und Beratung</a>            </li>
274                                <li><a
275                    href="/diakonie.html"
276                    title="Diakonie"                    role="menuitem">Diakonie</a>            </li>
277                                <li><a
278                    href="/junge-menschen-begleiten.html"
279                    title="Junge Menschen begleiten"                    role="menuitem">Junge Menschen begleiten</a>            </li>
280                                <li><a
281                    href="/bildung.html"
282                    title="Bildung"                    role="menuitem">Bildung</a>            </li>
283                                <li><a
284                    href="/eintreten.html"
285                    title="In die Kirche eintreten"                    role="menuitem">In die Kirche eintreten</a>            </li>
286                                <li><a
287                    href="https://www.kirche-tut-gut.ch/"
288                    title="kirche tut gut"                    role="menuitem">Kirche tut gut</a>            </li>
289            </ul>
290            </li>
291                                <li class="submenu"><a
292                    href="/fuer-mitarbeitende/zentrale-dienste.html"
293                    title="Mitarbeitende und Behörden" class="submenu"                    role="menuitem" aria-haspopup="true">Mitarbeitende und Behörden</a><ul class="level_2" role="menu">
294                        <li><a
295                    href="/fuer-mitarbeitende/zentrale-dienste.html"
296                    title="Zentrale Dienste"                    role="menuitem">Zentrale Dienste</a>            </li>
297                                <li><a
298                    href="/arbeitsstellen.html"
299                    title="Arbeitsstellen"                    role="menuitem">Arbeitsstellen</a>            </li>
300                                <li><a
301                    href="/seelsorge-und-beratung.html"
302                    title="Seelsorge und Beratung"                    role="menuitem">Seelsorge und Beratung</a>            </li>
303                                <li><a
304                    href="/veranstaltungen.html"
305                    title="Veranstaltungen und Weiterbildungen"                    role="menuitem">Veranstaltungen und Weiterbildungen</a>            </li>
306                                <li><a
307                    href="/Verfassung-und-gueltige-Erlasse.html"
308                    title="Verfassung und gültige Erlasse"                    role="menuitem">Verfassung und gültige Erlasse</a>            </li>
309            </ul>
310            </li>
311                                <li class="submenu"><a
312                    href="/Kontakt.html"
313                    title="Service" class="submenu"                    role="menuitem" aria-haspopup="true">Service</a><ul class="level_2" role="menu">
314                        <li><a
315                    href="/Kontakt.html"
316                    title="Kontakt"                    role="menuitem">Kontakt</a>            </li>
317                                <li><a
318                    href="/Medien.html"
319                    title="Medien"                    role="menuitem">Medien</a>            </li>
320                                <li><a
321                    href="/finanzielle-unterstuetzung.html"
322                    title="Finanzielle Unterstützung"                    role="menuitem">Finanzielle Unterstützung</a>            </li>
323                                <li><a
324                    href="/newsletter-anmeldung.html"
325                    title="Newsletter"                    role="menuitem">Newsletter</a>            </li>
326                                <li><a
327                    href="/pfefferstern.html"
328                    title="Pfefferstern und Reforum"                    role="menuitem">Pfefferstern und Reforum</a>            </li>
329                                <li><a
330                    href="/Material.html"
331                    title="Zum Mieten"                    role="menuitem">Zum Mieten</a>            </li>
332                                <li><a
333                    href="/shop.html"
334                    title="Zum Bestellen"                    role="menuitem">Zum Bestellen</a>            </li>
335                                <li><a
336                    href="/stellen.html"
337                    title="Stellen"                    role="menuitem">Stellen</a>            </li>
338            </ul>
339            </li>
340            </ul>
341
342<div class="mm-menu__close">
343    <span class="icon"></span>
344</div>
345
346</nav>
347<!-- indexer::continue -->
348
349<div id="sidenavigation"><a href="#mobile-show"><span></span></a></div>
350<div class="logo"><div class="ce_image only-desktop block">
351
352        
353  
354<figure class="image_container">
355
356        <a href="/evang-ref-kirche-st-gallen.html" title="Reformierte Kirche St.Gallen">
357        
358        
359
360<img src="/files/content/bilder-logos/Logo_2025_rgb_vektor.svg" alt="Reformierte Kirche St.Gallen">
361
362
363            </a>
364
365            
366</figure>
367
368
369</div>
370  
371</div>
372<div class="logo"><div class="ce_image only-mobile block">
373
374        
375  
376<figure class="image_container">
377
378        <a href="/evang-ref-kirche-st-gallen.html" title="Reformierte Kirche St.Gallen">
379        
380        
381
382<img src="/files/content/bilder-logos/Logo_2025_rgb_vektor.png" width="339" height="256" alt="Reformierte Kirche St.Gallen">
383
384
385            </a>
386
387            
388</figure>
389
390
391</div>
392  
393</div>
394<!-- indexer::stop -->
395<div class="mod_elasticsearch block">
396
397        
398      <div id="id_search_6abf87179c6f563" class="elasticsearch-container" v-bind:class="{results_open: hasResults}">
399
400        <div class="elasticsearch-container-inside" ref="elasticsearchContainerInside">
401            <form method="GET">
402                <div class="elasticsearch-search-panel">
403                    <div class="elasticsearch-input">
404                        <input id="ctrl_keywords_63" type="search" @keyup="search" @search="search" v-model="keywords" placeholder="Wer sucht, der findet..." spellcheck=false autocomplete="off" autocapitalize="off">
405                        <button @click.stop.prevent="search" class="elasticsearch-input-button">
406                            <img v-if="!loading" src="/files/template/img/new/search.svg" alt="Suchen" class="button-search-icon">
407                            <img v-else src="/files/template/img/new/loading.svg" alt="" class="button-loading-icon">
408                        </button>
409                    </div>
410                </div>
411            </form>
412
413            <div class="elasticsearch-results-panel" v-if="hasResults">
414
415                <div class="close-results">
416                    <button @click.stop.prevent="close" class="close button"><span>Schließen</span></button>
417                </div>
418
419                <div class="suggest-results">
420                    <p v-if="keywords" class="suggest-results-for">Ergebnisse für <span>{{ keywords }}</span></p>
421                    <p v-if="views.didYouMean.length" class="suggest-results-mean">Meinten Sie  <a @click.stop.prevent="setDidYouMeanToKeyword" v-for="didYouMean in views.didYouMean" v-if="didYouMean !== keywords"><span>{{ didYouMean }}</span></a></p>
422                </div>
423
424                <div class="categories-results">
425                    <div class="categories-headline">
426                        <p>Kategorien</p>
427                    </div>
428                    <nav v-if="Object.keys(views.categories).length">
429                        <ul>
430                            <li v-for="category in views.categories" class="category-item" v-bind:class="{active: activeCategory(category.key)}">
431                                <button @click.stop.prevent="setCategory(category.key)" class="category-item-button"><span v-html="category.label"></span><i v-if="category.count">({{ category.count }})</i></button>
432                            </li>
433                        </ul>
434                    </nav>
435                </div>
436
437                <div v-if="Object.keys(views.results).length" class="search-results">
438                    <div v-if="Object.keys(views.globalRichSnippets).length && views.globalRichSnippets.hasOwnProperty('FAQPage')" class="search-rich-snippets">
439                        <div class="faq-rich-snippet" v-if="Object.keys(richSnippets['faq']).length">
440                            <div v-for="(faq,name) in richSnippets['faq']" class="faq-container" v-bind:class="{active:faq.active}">
441                                <div class="faq-question" @click="toggleFaqSnippet(name)">
442                                    <p><strong>{{ faq.question }}</strong></p>
443                                </div>
444                                <div class="faq-answer" v-show="faq.active">
445                                    <p>{{ faq.answer }}</p>
446                                </div>
447                            </div>
448                        </div>
449                    </div>
450
451                    <div v-for="result in views.results" class="results-group" v-if="result.hits.length">
452                        <div class="result-category" v-if="result.label">
453                            <p class="category-name">{{ result.label }} <span class="category-count">({{ result.hits.length }})</span></p>
454                        </div>
455                        <div class="result-hit" v-for="hit in result.hits" v-html="hit.template" @click="sendStat"></div>
456                    </div>
457
458                </div>
459            </div>
460            <div v-if="!hasResults && !initial && !loading && keywords" class="no-search-results">
461                <p>Keine Suchergebnisse gefunden.</p>
462            </div>
463        </div>
464    </div>
465<script>
466    window.elasticInstaces = window.elasticInstaces || [];
467    (function () {
468        let objState = {
469            keywords: '',
470            initial: true,
471            timeout: null,
472            categories: [],
473            loading: false,
474            hasResults: false,
475            resultsOnly: false,
476            autoCompleteJS: null,
477            loadMoreButton: true,
478            lastSort: '',
479            timer: null,
480            time: 0,
481            showOpenAiText: false,
482            openAi: false,
483            views: {
484                total: 0,
485                results: [],
486                didYouMean: [],
487                autocompletion: [],
488                categories: [],
489                globalRichSnippets: {}
490            },
491            options: {
492                categories: {"event":{"id":4,"key":"event","label":"Veranstaltungen"},"news":{"id":3,"key":"news","label":"News"},"page":{"id":1,"key":"page","label":"Seiten"},"pdf":{"id":5,"key":"pdf","label":"pdf"}}            },
493            richSnippets: {
494                faq: {}
495            },
496            urls: []
497        };
498        let elasticComponent = new Vue({
499            el: "#id_search_6abf87179c6f563",
500            data: function () {
501                return objState
502            },
503            methods: {
504                hasHits: function (hits) {
505                    if (!hits) {
506                        return false;
507                    }
508                    if (Array.isArray(hits)) {
509                        return false;
510                    }
511                    for (let type in hits) {
512                        if (hits.hasOwnProperty(type)) {
513                            if (hits[type]['hits'].length) {
514                                return true;
515                            }
516                        }
517                    }
518                    return false;
519                },
520                fetch: function (params) {
521
522                    
523                    if (this.keywords.length && this.keywords.length < 0 && !this.categories.length) {
524                        return;
525                    }
526
527                    this.loading = true;
528                    this.initial = false;
529
530                    if (!this.keywords && !this.categories.length) {
531                        this.hasResults = false;
532                        this.views.results = [];
533                        this.views.didYouMean = [];
534                        this.views.autocompletion = [];
535                        this.loading = false;
536                        return;
537                    }
538
539                    this.startAiTimer();
540
541                    let searchAfter = params && params.hasOwnProperty('searchAfter') && params.searchAfter ? ('&search_after=' + params.searchAfter) : ''
542                    this.$http.post('/elastic/search/results?query=' + this.keywords + searchAfter, {
543                            categories: this.categories,
544                            module: "63",
545                            root: "1",
546                            group: true,
547                            source: window.location.href
548                        },
549                        {
550                            emulateJSON: true,
551                            'Content-Type': 'application/x-www-form-urlencoded',
552                            before: function (request) {
553                                if (this.previousRequest) {
554                                    this.previousRequest.abort();
555                                }
556                                this.previousRequest = request;
557                            }
558                        }
559                    ).then(function (res) {
560
561                        let results = res.body.results['hits'] ? res.body.results['hits'] : [];
562                        let arrResults = this.groupResults(results);
563
564                        if (params && params.hasOwnProperty('merge') && params.merge) {
565                            let hasMatches = false;
566                            for (let i = 0; i < arrResults.length; i++) {
567                                if (this.add2ResultsByCategory(arrRe
567sults[i]['value'], arrResults[i])) {
568                                    hasMatches = true;
569                                }
570                            }
571
572                            if (!hasMatches) {
573                                this.loadMoreButton = false;
574                            }
575
576                        } else {
577                            this.views.results = arrResults;
578                        }
579
580                        this.views.didYouMean = res.body.results['didYouMean'];
581                        this.views.autocompletion = res.body.results['autocomplete'];
582
583                        for (let i = 0; i < arrResults.length; i++) {
584                            for (let j = 0; j < arrResults[i]['hits'].length; j++) {
585                                this.urls.push(arrResults[i]['hits'][j]['url']);
586                            }
587                        }
588
589                        if (this.hasHits(results)) {
590                            this.hasResults = true;
591                        } else {
592                            this.categories = [];
593                            this.hasResults = false;
594                        }
595
596                        this.countResults();
597                        this.views.globalRichSnippets = res.body.globalRichSnippets;
598                        this.maxScore = res.body.results['max_score'];
599                        this.setFaqRichSnippets();
600                        this.loading = false;
601                        this.resultsOnly = false;
602                        this.stopAiTimer();
603                        this.clickOutside();
604                        this.autoFocusFirstInputField();
605
606                    }.bind(this));
607                },
608                autoFocusFirstInputField: function () {
609                    setTimeout(function () {
610                        if (this.$refs['elasticsearchResultsContainer']) {
611                            this.$refs['elasticsearchResultsContainer'].querySelector('input[type="search"]').focus();
612                        }
613                    }.bind(this), 50);
614                },
615                startAiTimer: function () {
616                    if (!this.openAi) {
617                        return;
618                    }
619                    this.timer = setInterval(function () {
620                        this.time += 1;
621                        if (this.time > 6 && !this.showOpenAiText) {
622                            this.showOpenAiText = true;
623                        }
624                    }.bind(this), 1000);
625                },
626                stopAiTimer: function () {
627                    clearInterval(this.timer);
628                    this.showOpenAiText = false;
629                    this.timer = null;
630                    this.time = 0;
631                },
632                add2ResultsByCategory: function (category, results) {
633                    let added = false;
634                    let exist = false;
635                    for (let i = 0; i < this.views.results.length; i++) {
636                        if (this.views.results[i]['value'] === category) {
637                            for (let j = 0; j < results['hits'].length; j++) {
638                                if (!this.urls.includes(results['hits'][j]['url'])) {
639                                    this.views.results[i]['hits'].push(results['hits'][j]);
640                                    added = true;
641                                }
642                            }
643                            exist = true;
644                        }
645                    }
646                    if (!exist) {
647                        this.views.results.push(results)
648                    }
649                    return added;
650                },
651                loadMoreResults: function () {
652                    this.fetch({
653                        'searchAfter': this.lastSort,
654                        'merge': true
655                    })
656                },
657                setDidYouMeanToKeyword: function () {
658                    this.keywords = this.views.didYouMean[0];
659                    this.views.didYouMean = [];
660                    this.fetch({})
661                },
662                setFaqRichSnippets: function () {
663                    this.richSnippets['faq'] = {};
664                    if (Object.keys(this.views.globalRichSnippets).length && this.views.globalRichSnippets.hasOwnProperty('FAQPage')) {
665                        for (let i = 0; i < this.views.globalRichSnippets['FAQPage'].length; i++) {
666                            let faqPages = this.views.globalRichSnippets['FAQPage'][i];
667                            for (let j = 0; j < faqPages['mainEntity'].length; j++) {
668                                let page = faqPages['mainEntity'][j];
669                                if (page['name'] && page['acceptedA
669nswer'] && page['acceptedAnswer']['text'] && page['_matched']) {
670                                    this.richSnippets['faq'][page.name] = {
671                                        question: page['name'],
672                                        answer: page['acceptedAnswer']['text'],
673                                        active: false
674                                    }
675                                }
676                            }
677                        }
678                    }
679                },
680                toggleFaqSnippet: function (name) {
681                    this.richSnippets['faq'][name]['active'] = !this.richSnippets['faq'][name]['active'];
682                    this.$forceUpdate();
683                },
684                groupResults: function (hits) {
685
686                    if (Array.isArray(hits)) {
687                        return [];
688                    }
689
690                    let group = {};
691                    this.views.total = 0;
692                    let onlyCategories = [];
693                    for (let type in hits) {
694                        if (hits.hasOwnProperty(type)) {
695                            let val = hits[type]['value'];
696                            if ((this.categories.length && this.categories.indexOf(val) === -1) || (onlyCategories.length && onlyCategories.indexOf(val) === -1)) {
697                                continue;
698                            }
699                            group[type] = hits[type];
700                            this.lastSort = hits[type]['hits'].length ? hits[type]['hits'][hits[type]['hits'].length - 1]['sort'].join() : '';
701                            this.views.total = this.views.total + hits[type]['hits'].length;
702                        }
703                    }
704
705                    let _sortedGroup = [];
706                    if (onlyCategories.length) {
707                        for (let i = 0; i < onlyCategories.length; i++) {
708                            for (let groupLabel in group) {
709                                if (group[groupLabel]['value'] === onlyCategories[i]) {
710                                    _sortedGroup.push(group[groupLabel]);
711                                }
712                            }
713                        }
714                        return _sortedGroup;
715                    } else {
716                        _sortedGroup = this.sortObject(group);
717                    }
718
719                    return _sortedGroup;
720                },
721                countResults: function () {
722
723                    let categories = [];
724
725                    for (let i = 0; i < this.views.results.length; i++) {
726
727                        let val = this.views.results[i]['value'];
728                        let category = this.options.categories[val];
729                        if (typeof category === 'undefined' || !category) {
730                            category = {};
731                        }
732
733                        category['count'] = Array.isArray(this.views.results[i]['hits']) ? this.views.results[i]['hits'].length : 0;
734
735                        if (typeof categories[i] === 'undefined') {
736                            categories[i] = this.options.categories[val];
737                        }
738                    }
739
740                    if (!this.resultsOnly) {
741                        this.views.categories = categories;
742                    }
743                },
744                sortObject: function (obj) {
745                    let arrReturn = [];
746                    Object.keys(obj).sort(function (a, b) {return a.toLowerCase().localeCompare(b.toLowerCase())}).forEach(function (v) {
747                        arrReturn.push(obj[v]);
748                    });
749                    return arrReturn;
750                },
751                startsWithUppercase: function (str) {
752                    return str.substr(0, 1).match(/[A-Z\u00C0-\u00DC]/);
753                },
754                setCategory: function (category) {
755                    this.resultsOnly = true;
756                    let index = this.categories.indexOf(category);
757                    if (index === -1) {
758                        this.categories.push(category);
759                    } else {
760                        this.categories.splice(index, 1);
761                    }
762                    this.fetch({});
763                },
764                activeCategory: function (category) {
765                    let index = this.categories.indexOf(category);
766                    return index !== -1;
767                },
768                search: function () {
769
770                    
771                    this.loadMoreButton = true;
772                    clearTimeout(this.timeout);
773                    this.timeout = setTimeout(function () {
774                        this.fetch({});
775                    }.bind(this), 800);
776                },
777                submit: function () {
778
779                    let match = this.autoCompleteJS.feedback && this.autoCompleteJS.feedback.hasOwnProperty('cursor') ? this.autoCompleteJS.feedback.matches[this.autoCompleteJS.feedback.cursor] : '';
780                    if (match) {
781                        this.keywords = match.value;
782                        this.fetch({})
783                    } else {
784                        this.keywords = '';
785                        this.fetch({})
786                    }
787                },
788                sendStat: function (e) {
789                    let href = e.currentTarget.querySelector('a').href;
790                    if (!href) {
791                        return;
792                    }
793                    this.$http.post('/stat/click?query=' + this.keywords, {
794                            url: href,
795                            categories: this.categories
796                        },
797                        {
798                            emulateJSON: true,
799                            'Content-Type': 'application/x-www-form-urlencoded'
800                        }
801                    ).then(function (res) {
802                        //
803                    });
804                },
805                clickOutside: function () {
806                    if (this.$refs['elasticsearchContainerInside']) {
807                        window.addEventListener('click', function () {
808                            this.close();
809                        }.bind(this));
810                        this.$refs['elasticsearchContainerInside'].addEventListener('click', function (e) {
811                            e.stopPropagation();
812                        });
813                    }
814                },
815                close: function () {
816                    this.hasResults = false;
817                    this.keywords = "";
818                    this.categories = []
819                },
820                setAutoComplete: function () {
821                    let self = this;
822                    this.autoCompleteJS = new autoComplete({
823                        selector: "#ctrl_keywords_63",
824                        placeHolder: "Wer sucht, der findet...",
825                        threshold: 2,
826                        debounce: 600,
827                        submit: true,
828                        data: {
829                            src: async function (query) {
830                                let headers = new Headers();
831                                headers.append('Accept', 'application/json');
832                                headers.append('Content-Type', 'application/json');
833                                const source = await fetch('/elastic/search/autocompletion?query=' + query, {
834                                    method: "POST",
835                                    headers: headers,
836                                    cache: "no-cache",
837                                    redirect: "follow",
838                                    credentials: "same-origin",
839                                    referrerPolicy: "no-referrer",
840                                    body: JSON.stringify({
841                                        categories: self.categories,
842                                        module: "63",
843                                        root: "1"
844                                    })
845                                });
846                                let results = [];
847                                let data = await source.json();
848                                for (let i = 0; i < data.results['hits'].length; i++) {
849                                    results.push(data.results['hits'][i]['term']);
850                                }
851                                return results;
852                            }
853                        },
854                        resultsList: {
855                            maxResults: 50,
856                            tabSelect: true
857                        },
858                        resultItem: {
859                            highlight: true
860                        },
861                        events: {
862                            input: {
863                                selection: (event) => {
864                                    self.keywords = event.detail.selection.value;
865                                    self.fetch({});
866                                },
867                                keydown(event) {
868                                    switch (event.keyCode) {
869                                        case 40:
870                                        case 38:
871                                            event.preventDefault();
872                                            event.keyCode === 40 ? objState.autoCompleteJS.next() : objState.autoCompleteJS.previous();
873                                            break;
874                                        case 9:
875                                            event.preventDefault();
876                                            if (objState.autoCompleteJS.resultsList.tabSelect) {
877                                                objState.autoCompleteJS.next()
878                                            }
879                                            break;
880                                        case 27:
881                                            objState.autoCompleteJS.input.value = "";
882                                            objState.autoCompleteJS.close();
883                                            break;
884                                        case 13:
885                                            event.preventDefault()
886                                            self.submit();
887                                            objState.autoCompleteJS.close();
888                                            break;
889                                    }
890                                }
891                            }
892                        }
893                    });
894                }
895            },
896            watch: {
897                'hasResults': {
898                    handler: function (val) {
899                        let objBody = document.querySelector('body');
900                        if (val) {
901                            objBody.classList.add('search-panel-open');
902                        } else {
903                            objBody.classList.remove('search-panel-open');
904                        }
905                    }
906                }
907            },
908            mounted: function () {
909                this.fetch({});
910            }
911        });
912        window.elasticInstaces.push(elasticComponent);
913    })();
914</script>
914
915</div>
916<!-- indexer::continue -->
917            </div>
918        </header>
919        
920    
921        <div id="container" class="main-container">
922
923                <main id="main" class="main">
924            <div class="inside">
925                
926<!-- indexer::stop -->
927<div class="mod_breadcrumb block">
928
929        
930  
931<ul>
932                                                    <li>
933                    <a
934                        href="/ueberuns.html" title="St.Galler Kirche">St.Galler Kirche</a></li>
935                                                            <li>
936                    <a
937                        href="/kirchenrat.html" title="Kirchenrat">Kirchenrat</a></li>
938                                                            <li class="active last">Neue Kirchenverfassung</li>
939                        </ul>
940
941
942</div>
943<!-- indexer::continue -->
944
945
946  <div class="mod_article block" id="article-272">
947    
948          <div class="ce_rsce_bild_mit_claim block">
949
950    
951    
952        <div class="pic-with-claim">
953                            
954<figure class="image_container">
955  
956  
957  <picture>
958          <source srcset="/assets/images/5/front_verfassung_1-sjx2q9pnxqk1jjy.avif 1280w, /assets/images/q/front_verfassung_1-vqqy5t9ptzs8y0x.avif 360w, /assets/images/1/front_verfassung_1-9x3tmcyxb2st80j.avif 720w" sizes="100%" type="image/avif" width="1280" height="590">
959          <source srcset="/assets/images/1/front_verfassung_1-h53sggjxy857tfa.webp 1280w, /assets/images/7/front_verfassung_1-tvk19jsdw66w1er.webp 360w, /assets/images/m/front_verfassung_1-a8z9a4nnyxtzrde.webp 720w" sizes="100%" type="image/webp" width="1280" height="590">
960    
961<img src="/assets/images/f/front_verfassung_1-aycjwhj40bk4y6d.jpg" srcset="/assets/images/f/front_verfassung_1-aycjwhj40bk4y6d.jpg 1280w, /assets/images/8/front_verfassung_1-c096wvzt9hh21jb.jpg 360w, /assets/images/t/front_verfassung_1-vzpszfyd0p09xgs.jpg 720w" sizes="100%" width="1280" height="590" alt="">
962
963  </picture>
964
965  
966  </figure>
967
968                        <div class="claim color-sheme color-sheme--nohover color-sheme--wert6">
969                <h1>Totalrevision Kirchenverfassung</h1>
970<p>Damit die St.Galler Kirche in guter Verfassung bleibt, braucht sie eine neue Verfassung.</p>
971<p>&nbsp;</p>            </div>
972        </div>
973
974        </div>
975
976<div class="ce_text block">
977
978        
979  
980      <h3>Die Verfassung der Evangelisch-reformierten Kirche des Kantons St.Gallen stammt aus dem Jahr 1974. Über fünfzig Jahre alt ist sie also. In dieser Zeit hat sich viel verändert, gesellschaftlich und kirchlich. Darum ist es höchste Zeit, die Verfassung grundlegend zu überarbeiten. <br>Sicher ist, die Botschaft bleibt. Die Verkündigung des Evangeliums steht im Zentrum einer Kirche, die in Wort und Tat aktiv ist und dadurch in der Gesellschaft relevant. Um diesen Auftrag erfüllen zu können, ist über die zeitgemässe Umsetzung nachzudenken;
980 in welcher Organisation, in welchen Strukturen und Prozessen. Dabei leitet uns der Slogan der St.Galler Kirche ‹nahe bei Gott – nahe bei den Menschen›.</h3>
981<p>&nbsp;</p>  
982  
983  
984
985</div>
986
987	
988		<div class="ce_refsg_subpages">
989
990			
991				<div class="subpage color-sheme color-sheme--wert6">
992
993					<a href="/auftakt-zur-verfassungsreform.html" title="">
994						<h2>Auftakt zur Verfassungsreform</h2>
995					</a>
996
997				</div>
998
999			
1000				<div class="subpage color-sheme color-sheme--wert6">
1001
1002					<a href="/ausgangslage-und-ziel.html" title="">
1003						<h2>Ausgangslage und Ziele</h2>
1004					</a>
1005
1006				</div>
1007
1008			
1009				<div class="subpage color-sheme color-sheme--wert6">
1010
1011					<a href="/prozess.html" title="">
1012						<h2>Projektorganisation und Prozess</h2>
1013					</a>
1014
1015				</div>
1016
1017			
1018				<div class="subpage color-sheme color-sheme--wert6">
1019
1020					<a href="/mitwirken.html" title="">
1021						<h2>Mitwirken</h2>
1022					</a>
1023
1024				</div>
1025
1026			
1027		</div>
1028
1029	
1030
1031<!-- indexer::stop -->
1032<div class="mod_newslist arbeitsstellen block">
1033
1034            <h1>Informiert</h1>
1035      
1036  
1037                <div class="layout_latest box_arbeitsstellen no-content arc_1 block featured">
1038            <div class="details">
1039                <h2>Keine Nachrichten</h2>
1040
1041                <div class="teaser">
1042                    <p>Dieser Arbeitsstelle wurden noch keine Nachrichten zugewiesen.</p>
1043                </div>
1044            </div>
1045
1046        </div>
1047                                                                                                    <div class="layout_latest box_arbeitsstellen arc_1 block featured">
1048        <a href="/aktuelles-details/st-galler-kirche-startet-verfassungsreform.html" title="">
1049            <div class="details">
1050                <h2>St.Galler Kirche startet Verfassungsreform</h2>
1051
1052                <div class="teaser">
1053                    <p>Die Verfassung der Evangelisch-reformierten Kirche des Kantons St.Gallen ist in die Jahre gekommen. Es braucht eine neue. Nun erfolgte der Start zur Gesamtrevision.</p>                </div>
1054
1055                                    <!--<p class="more"><a href="/aktuelles-details/st-galler-kirche-startet-verfassungsreform.html" title="Den Artikel lesen: St.Galler Kirche startet Verfassungsreform">Weiterlesen<span class="invisible"> St.Galler Kirche startet Verfassungsreform</span></a></p>-->
1056                            </div>
1057        </a>
1058    </div>
1059                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <div class="all"><a href="/informiert.html" class="button"
1060       title="">Alle Beiträge anzeigen</a></div>
1061    
1062
1063</div>
1064<!-- indexer::continue -->
1065
1066<!-- indexer::stop -->
1067<div class="mod_eventlist arbeitsstellen block">
1068
1069            <h1>Nächste Veranstaltungen</h1>
1070      
1071              <div
1072            class="event box_arbeitsstellen layout_teaser no-content arc_ block  current even first last cal_4294967295">
1073            <h2>Keine Veranstaltungen</h2>
1074            <div class="details">
1075                <div class="teaser">
1076                    <p>Dieser Arbeitsstelle wurden noch keine Veranstaltungen zugewiesen.</p>
1077                </div>
1078            </div>
1079        </div>
1080                                                                                                                                                                                                                                                                            
1081<div class="all"><a href="/veranstaltungen.html" title="" class="button">Alle
1082        Veranstaltungen laden</a></div>
1083
1084
1085</div>
1086<!-- indexer::continue -->
1087
1088
1089
1090<h2 class="ce_headline" style="color:rgba(0,0,0,1)">
1091Projektleitung Neue Kirchenverfassung</h2>
1092
1093
1094    <div class="team-list team-list--new">
1095        
1096<div class="team-element team-element--new grid-sizer ">
1097            <div id="id-42" class="toggle"></div>
1098        <div class="team-element--wrapper">
1099        <div class="side">
1100            <div class="team-image">
1101                
1102<figure class="image_container">
1103  
1104  
1105  <picture>
1106          <source srcset="/assets/images/f/Martin_Schmidt_0922_web-f3cx0mnpagy3d0d.avif" type="image/avif" width="385" height="230">
1107          <source srcset="/assets/images/6/Martin_Schmidt_0922_web-23qqgvr4q11cssf.webp" type="image/webp" width="385" height="230">
1108    
1109<img src="/assets/images/4/Martin_Schmidt_0922_web-a96eycw9hxt5eey.jpg" width="385" height="230" alt="" loading="lazy">
1110
1111  </picture>
1112
1113  
1114  </figure>
1115
1116            </div>
1117        </div>
1118        <div class="main">
1119            <ul>
1120                <li><h4>Martin Schmidt</h4></li>
1121                                    <li>
1122                        <span><img src="files/custom-elements-assets/icons/location.png"/></span>
1123                        <a href="http://maps.google.com/?q=Oberer Graben 31, 9000 St.Gallen"
1124                           target="_map"
1125                           title="Google Maps öffnen">Oberer Graben 31</a>
1126                    </li>
1127                    <li>
1128                        <span><img src="files/custom-elements-assets/icons/spacer.png"/></span>
1129                        <a href="http://maps.google.com/?q=Oberer Graben 31, 9000 St.Gallen"
1130                           target="_map"
1131                           title="Google Maps öffnen">9000 St.Gallen</a>
1132                    </li>
1133                                                    <li>
1134                        <span><img src="files/custom-elements-assets/icons/phone.png"/></span>
1135                                                <a href="tel:+41712270507"
1136                           title="Martin Schmidt anrufen">071 227 05 07</a>
1137                    </li>
1138                                <li>
1139                    <span><img src="files/custom-elements-assets/icons/e-mail.png"/></span>
1140                    <a href="mailto:[email protected]" target="_mail"
1141                       title="E-Mail an Martin Schmidt senden">[email protected]</a>
1142                </li>
1143            </ul>
1144        </div><!-- main -->
1145    </div>
1146
1147    <div id="details-id-42" class="details">
1148                    <p><strong>«Ich glaube, dass wir nicht ‹ärmer, älter und kleiner werden› sondern ‹kleiner, klarer und kostbarer›.»<br></strong><br>Martin Schmidt ist Theologe und Religionspädagoge. Seit März 2014 ist er Kirchenratspräsident der St.Galler Kirche mit dem Ressort «Theologie, Pastorales und Musik», nachdem er zuvor 12 Jahre im Kirchenrat mit dem Ressort «Religionsunterricht/Schulische Bildung» betraut war. Er war von 1991 an 20 Jahre im Gemeindepfarramt in den Kirchgemeinden Sevelen und Berneck-Au-Heerbrugg tätig, das er sich jeweils mit seiner Frau geteilt hat. Danach war er von 2009 bis 2014 Dozent und Titularprofessor an der Pädagogischen Hochschule St.Gallen. Er ist verheiratet und Vater von drei erwachsenen Kindern.<br>Da ihm die kirchenpolitische Vernetzung ein Anliegen ist, engagiert er sich in verschiedenen Kommissionen, Beiräten und Patronatskomitees, um die Anliegen einer mittelgrossen Kantonalkirche einzubringen. Er ist Präsident der Schweizerischen Liturgie- und Gesangbuchkonferenz (LGBK), Delegierter in der EKS und der Deutschschweizer Kirchenkommission KIKO, sowie Mitglied des Büros des Konkordates und des Schweizerischen Weiterbildungsrates.</p>            </div>
1149
1150</div>
1151
1152<div class="team-element team-element--new grid-sizer ">
1153            <div id="id-235" class="toggle"></div>
1154        <div class="team-element--wrapper">
1155        <div class="side">
1156            <div class="team-image">
1157                
1158<figure class="image_container">
1159  
1160  
1161  <picture>
1162          <source srcset="/assets/images/h/Roland_Plattner_1225_9707%20web-907ydgzf24gpm46.avif" type="image/avif" width="385" height="230">
1163          <source srcset="/assets/images/g/Roland_Plattner_1225_9707%20web-1e2hvem9e8g4tkv.webp" type="image/webp" width="385" height="230">
1164    
1165<img src="/assets/images/p/Roland_Plattner_1225_9707%20web-ra2fme46f7czftr.jpg" width="385" height="230" alt="" loading="lazy">
1166
1167  </picture>
1168
1169  
1170  </figure>
1171
1172            </div>
1173        </div>
1174        <div class="main">
1175            <ul>
1176                <li><h4>Roland Plattner</h4></li>
1177                                    <li>
1178                        <span><img src="files/custom-elements-assets/icons/location.png"/></span>
1179                        <a href="http://maps.google.com/?q=Oberer Graben 31, 9000 St.Gallen"
1180                           target="_map"
1181                           title="Google Maps öffnen">Oberer Graben 31</a>
1182                    </li>
1183                    <li>
1184                        <span><img src="files/custom-elements-assets/icons/spacer.png"/></span>
1185                        <a href="http://maps.google.com/?q=Oberer Graben 31, 9000 St.Gallen"
1186                           target="_map"
1187                           title="Google Maps öffnen">9000 St.Gallen</a>
1188                    </li>
1189                                                <li>
1190                    <span><img src="files/custom-elements-assets/icons/e-mail.png"/></span>
1191                    <a href="mailto:[email protected]" target="_mail"
1192                       title="E-Mail an Roland Plattner senden">[email protected]</a>
1193                </li>
1194            </ul>
1195        </div><!-- main -->
1196    </div>
1197
1198    <div id="details-id-235" class="details">
1199                    <p>Roland Plattner koordiniert auf Mandatsbasis das Projekt der Verfassungsreform. Roland Plattner ist promovierter Jurist und hat als Kirchenschreiber der Evangelisch-reformierten Kirche des Kantons Basellandschaft die dortige Verfassungsreform begleitet.</p>            </div>
1200
1201</div>
1202
1203<div class="team-element team-element--new grid-sizer ">
1204            <div id="id-220" class="toggle"></div>
1205        <div class="team-element--wrapper">
1206        <div class="side">
1207            <div class="team-image">
1208                
1209<figure class="image_container">
1210  
1211  
1212  <picture>
1213          <source srcset="/assets/images/2/Kai_Kellenberger_0825_web-rx0kf3w9vrdsh6d.avif 1x, /assets/images/n/Kai_Kellenberger_0825_web-bzf13z4cn51ymbd.avif 2x" type="image/avif" width="385" height="230">
1214          <source srcset="/assets/images/8/Kai_Kellenberger_0825_web-6jb72d5fyavf29c.webp 1x, /assets/images/f/Kai_Kellenberger_0825_web-8cvgjdwv64xc40p.webp 2x" type="image/webp" width="385" height="230">
1215    
1216<img src="/assets/images/2/Kai_Kellenberger_0825_web-fpyhfsbjyw6mn30.jpg" srcset="/assets/images/2/Kai_Kellenberger_0825_web-fpyhfsbjyw6mn30.jpg 1x, /assets/images/x/Kai_Kellenberger_0825_web-zvtkwk30rcvnpjh.jpg 2x" width="385" height="230" alt="" loading="lazy">
1217
1218  </picture>
1219
1220  
1221  </figure>
1222
1223            </div>
1224        </div>
1225        <div class="main">
1226            <ul>
1227                <li><h4>Kai Kellenberger</h4></li>
1228                                    <li>
1229                        <span><img src="files/custom-elements-assets/icons/location.png"/></span>
1230                        <a href="http://maps.google.com/?q=Oberer Graben 31, 9000 St.Gallen"
1231                           target="_map"
1232                           title="Google Maps öffnen">Oberer Graben 31</a>
1233                    </li>
1234                    <li>
1235                        <span><img src="files/custom-elements-assets/icons/spacer.png"/></span>
1236                        <a href="http://maps.google.com/?q=Oberer Graben 31, 9000 St.Gallen"
1237                           target="_map"
1238                           title="Google Maps öffnen">9000 St.Gallen</a>
1239                    </li>
1240                                                    <li>
1241                        <span><img src="files/custom-elements-assets/icons/phone.png"/></span>
1242                                                <a href="tel:+41712270505"
1243                           title="Kai Kellenberger anrufen">071 227 05 05</a>
1244                    </li>
1245                                <li>
1246                    <span><img src="files/custom-elements-assets/icons/e-mail.png"/></span>
1247                    <a href="mailto:[email protected]" target="_mail"
1248                       title="E-Mail an Kai Kellenberger senden">[email protected]</a>
1249                </li>
1250            </ul>
1251        </div><!-- main -->
1252    </div>
1253
1254    <div id="details-id-220" class="details">
1255                    <p>Kai Kellenberger ist Kirchenschreiberin.</p>            </div>
1256
1257</div>
1258
1259<div class="team-element team-element--new grid-sizer ">
1260            <div id="id-234" class="toggle"></div>
1261        <div class="team-element--wrapper">
1262        <div class="side">
1263            <div class="team-image">
1264                
1265<figure class="image_container">
1266  
1267  
1268  <picture>
1269          <source srcset="/assets/images/2/Annina_Frei_web-xw2n3awh2wx3wrs.avif" type="image/avif" width="385" height="230">
1270          <source srcset="/assets/images/3/Annina_Frei_web-qegcmg5gt590na1.webp" type="image/webp" width="385" height="230">
1271    
1272<img src="/assets/images/8/Annina_Frei_web-01apprfjgnnzqfq.jpg" width="385" height="230" alt="" loading="lazy">
1273
1274  </picture>
1275
1276  
1277  </figure>
1278
1279            </div>
1280        </div>
1281        <div class="main">
1282            <ul>
1283                <li><h4>Annina Frei</h4></li>
1284                                    <li>
1285                        <span><img src="files/custom-elements-assets/icons/location.png"/></span>
1286                        <a href="http://maps.google.com/?q=Oberer Graben 31, 9000 St.Gallen"
1287                           target="_map"
1288                           title="Google Maps öffnen">Oberer Graben 31</a>
1289                    </li>
1290                    <li>
1291                        <span><img src="files/custom-elements-assets/icons/spacer.png"/></span>
1292                        <a href="http://maps.google.com/?q=Oberer Graben 31, 9000 St.Gallen"
1293                           target="_map"
1294                           title="Google Maps öffnen">9000 St.Gallen</a>
1295                    </li>
1296                                                    <li>
1297                        <span><img src="files/custom-elements-assets/icons/phone.png"/></span>
1298                                                <a href="tel:+41712270543"
1299                           title="Annina Frei anrufen">071 227 05 43</a>
1300                    </li>
1301                                <li>
1302                    <span><img src="files/custom-elements-assets/icons/e-mail.png"/></span>
1303                    <a href="mailto:[email protected]" target="_mail"
1304                       title="E-Mail an Annina Frei senden">[email protected]</a>
1305                </li>
1306            </ul>
1307        </div><!-- main -->
1308    </div>
1309
1310    <div id="details-id-234" class="details">
1311                    <p>Annina Frei führt während der Verfassungsrevision die Assistenz des Projektes.</p>            </div>
1312
1313</div>
1314    </div>
1315
1316
1317<section
1318    class="ce_accordionStart accordion ce_accordion block">
1319
1320    <div
1321        class="toggler accordion__overview ">
1322        FAQ - oder, was ich schon immer wissen wollte    </div>
1323
1324    <div class="accordion">
1325        <div>
1326
1327<div class="ce_text block">
1328
1329        
1330  
1331      <h3>Warum soll die Kirchenverfassung vom 13. Januar 1974 einer Totalrevision unterzogen werden?</h3>
1332<p>In der Kirchenverfassung, auch als ‘Grundgesetz’ bezeichneten Rechtserlass, werden grundlegende Aussagen zum Kirche sein, zur kirchlichen Organisation, ihren Strukturen und Prozessen gemacht. Dies soll im Lichte der Entwicklung überprüft und dort, wo es sich als sinnvoll erweist, in zukunftstauglicher Form neu geordnet werden.<br>Die Entwicklung der Kirchen in der Schweiz geht aufgrund von Megatrends insbesondere seit der Jahrtausendwende in Richtung “kleiner, älter und ärmer”. Dies ist mit ein Grund, sich mit der aus dem Jahre 1974 stammenden und folglich in die Jahre gekommenen Kirchenverfassung auseinander zu setzen.<br>Die Kirchenverfassungsrevision ist der richtige und auch geeignete Rahmen für eine solch grosse und umfassende Aufgabe.</p>
1333<hr>
1334<h3>Was ist eine Kirchenverfassung und was wird darin geregelt?</h3>
1335<p>In ihrer Kirchenverfassung regeln die (vier) vom Kanton öffentlich-rechtlich anerkannten Religionsgemeinschaften die Grundzüge ihrer Organisation. Dazu gehören nach allgemeinem Verständnis neben den organisatorischen Grundlagen insbesondere grundsätzliche Aussagen zum Kirche Sein, zu den Strukturen und Prozessen. Eine Verfassung ist mit Vorteil zukunftsoffen sowie ‘so kurz und offen wie möglich und so ausführlich wie nötig’.</p>
1336<p>Die heutige <a href="/files/content/dokumente-pdf/gueltige_erlasse/10/11_10_verfassung_der_evangelisch_reformierten_kirche_des_kantons_st_gallen.pdf" target="_blank" rel="noopener">Kirchenverfassung</a> besteht aus den folgenden Teilen:</p>
1337<p><strong>Präambel:</strong> 1. Kor. 3,11<br><strong>Erster Teil:</strong> Allgemeine Bestimmungen; Bekenntnis, Auftrag, Volkskirche <br><strong>Zweiter Teil:</strong> die Kirchgemeinden; Aufgaben, Bestand und Organisation, Kirchgemeindeversammlung, Kirchenvorsteherschaft, GPK<br><strong>Dritter Teil:</strong> Dienste und Ämter<br><strong>Vierter Teil:</strong> Kirchenbezirke<br><strong>Fünfter Teil:</strong> Die Kantonalkirche; Aufgaben und Mittel, Evangelisch-reformierte Aktiv-bürgerschaft, Synode, Kirchenrat<br><strong>Sechster Teil:</strong> Gemeinsame Bestimmungen für Kirchgemeinden, Kirchenbezirke und Kantonalkirche<br><strong>Siebter Teil:</strong> Schlussbestimmungen</p>
1338<hr>
1339<h3>Welche Bedeutung hat eine Kirchenverfassung bzw. was kann sie leisten?</h3>
1340<p>Eine Verfassung als höchster Erlass einer öffentlich-rechtlichen Organisation kann nicht mehr leisten als das, was das verfassungsgebende Organ (konkret die Synode bzw. letztlich die Aktivbürgerschaft) als grundlegend wichtig erachten und darin auch aufzunehmen bereit sind.<br>Um dies herauszufinden und auf Basis des IST ein neues SOLL festzulegen, ist es entscheidend, einen breit abgestützten, zukunftsoffenen, umsichtig und mit Wertschätzung für das historisch Gewachsene gestalteten Prozess der Verfassungsrevision zu führen.<br>Unter dieser Prämisse kann eine Kirchenverfassung im Rahmen der Vorgaben übergeordneten Rechts (<a href="https://www.gesetzessammlung.sg.ch/app/de/texts_of_law/111.1" target="_blank" rel="noopener">Artikel 109 – 111 der Kantonsverfassung</a> sowie <a href="https://www.lexfind.ch/tolv/85313/de" target="_blank" rel="noopener">Gesetz über die öffentlich-rechtlich anerkannten Religionsgemeinschaften</a>) fast ‘alles’. Die Kirchen verfügen auf der Grundlage ihres Selbstverständnisses über einen sehr hohen Grad an Autonomie.</p>
1341<hr>
1342<p>&nbsp;</p>
1343<p>&nbsp;</p>  
1344  
1345  
1346
1347</div>
1348
1349    </div>
1350  </div>
1351
1352</section>
1353    
1354      </div>
1355
1356            </div>
1357            
1358            <div class="scroll-down hidden"><a href="#infos-anmeldung" class="button button--big active">Infos und Anmeldung</a></div>
1359        </main>
1360        
1361                        
1362                        
1363    </div>
1364    
1365    
1366                <footer id="footer" class="main-footer">
1367            <div class="inside">
1368                
1369<div class="footer"><div class="rs-columns ce_rs_columns_start">
1370
1371	<div class="ce_rs_column_start address rs-column -large-col-4-1 -large-first -large-first-row -medium-col-2-1 -medium-first -medium-first-row -small-col-1-1 -small-first -small-last -small-first-row">
1372
1373	
1374<div class="ce_text block">
1375
1376        
1377  
1378      <p>Evang.-ref.&nbsp;Kirche des Kantons St. Gallen<br>Oberer&nbsp;Graben&nbsp;31<br>9000&nbsp;St.Gallen<br><a href="tel:+41712270500">T&nbsp;+41&nbsp;(0)71&nbsp;227&nbsp;05&nbsp;00</a><a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#105;&#x6E;&#102;&#x6F;&#64;&#x72;&#101;&#x66;&#45;&#x73;&#103;&#x2E;&#99;&#x68;" target="_blank" rel="noopener">&#105;&#x6E;&#102;&#x6F;&#64;&#x72;&#101;&#x66;&#45;&#x73;&#103;&#x2E;&#99;&#x68;</a></p>  
1379  
1380  
1381
1382</div>
1383</div>
1384<div class="ce_rs_column_start navigation rs-column -large-col-4-1 -large-first-row -medium-col-2-1 -medium-last -medium-first-row -small-col-1-1 -small-first -small-last">
1385
1386	
1387<!-- indexer::stop -->
1388<nav class="mod_customnav first-column block">
1389
1390  
1391  <a href="/neue-kirchenverfassung.html#skipNavigation54" class="invisible">Navigation überspringen</a>
1392
1393  <ul class="level_1" role="menubar">
1394    
1395        
1396                    <li>
1397                <a                     href="/kirchgemeinden-von-a-z.html"                    title="Kirchgemeinden von A-Z"                    role="menuitem">Kirchgemeinden von A-Z</a>            </li>
1398            
1399        
1400                    <li>
1401                <a                     href="/kirchgemeinden-kantonalkirche-adressen.html"                    title="Kirchgemeinden / Kantonalkirche Adressen"                    role="menuitem">Kirchgemeinden / Kantonalkirche Adressen</a>            </li>
1402            
1403        
1404                    <li>
1405                <a                     href="http://www.kirchenbote-sg.ch/startseite/"                    title="Kirchenbote" target="_blank"                    role="menuitem">Kirchenbote</a>            </li>
1406            </ul>
1407
1408  <span id="skipNavigation54" class="invisible"></span>
1409
1410</nav>
1411<!-- indexer::continue -->
1412
1413<div id="scrolltop">
1414	<a href="#" class="scrollup" title="Scroll to top" style="display: inline;">
1415		<img src="files/template/img/icons/scrolltop.svg" alt="Scroll to top">
1416	</a>
1417</div></div>
1418<div class="ce_rs_column_start navigation-2 rs-column -large-col-4-1 -large-first-row -medium-col-2-1 -medium-first -small-col-1-1 -small-first -small-last">
1419
1420	
1421<!-- indexer::stop -->
1422<nav class="mod_customnav third-column block">
1423
1424  
1425  <a href="/neue-kirchenverfassung.html#skipNavigation55" class="invisible">Navigation überspringen</a>
1426
1427  <ul class="level_1" role="menubar">
1428    
1429        
1430                    <li>
1431                <a                     href="/Verfassung-und-gueltige-Erlasse.html"                    title="Gültige Erlasse"                    role="menuitem">Gültige Erlasse</a>            </li>
1432            
1433        
1434                    <li>
1435                <a                     href="/neue-kirchenverfassung.html"                    title="St.Galler Kirche 2025"                    role="menuitem">St.Galler Kirche 2025</a>            </li>
1436            
1437        
1438                    <li>
1439                <a                     href="/stellen.html"                    title="Stellen"                    role="menuitem">Stellen</a>            </li>
1440            
1441        
1442                    <li>
1443                <a                     href="/persoenlichkeitsschutz.html"                    title="Persönlichkeitsschutz in der Kirche"                    role="menuitem">Persönlichkeitsschutz in der Kirche</a>            </li>
1444            </ul>
1445
1446  <span id="skipNavigation55" class="invisible"></span>
1447
1448</nav>
1449<!-- indexer::continue -->
1450</div>
1451<div class="ce_rs_column_start social-media rs-column -large-col-4-1 -large-last -large-first-row -medium-col-2-1 -medium-last -small-col-1-1 -small-first -small-last">
1452
1453	
1454<div class="ce_text block">
1455
1456        
1457  
1458  
1459      
1460<figure class="image_container float_above">
1461      <a href="https://www.google.com/maps/place/Evang.-ref.+Kirche+des+Kantons+St.Gallen/@47.422964,9.3725055,17z/data&#61;!3m1!4b1!4m5!3m4!1s0x479b1ff56897219f:0xf5e1e7f2ea85841d!8m2!3d47.4229613!4d9.3746824" target="_blank" rel="noreferrer noopener">
1462  
1463  
1464
1465<img src="/files/template/img/icons/google_maps.svg" width="17" height="24" alt="">
1466
1467
1468      </a>
1469  
1470  </figure>
1471
1472  
1473      <p><a href="https://www.google.com/maps/place/Evang.-ref.+Kirche+des+Kantons+St.Gallen/@47.422964,9.3725055,17z/data=!3m1!4b1!4m5!3m4!1s0x479b1ff56897219f:0xf5e1e7f2ea85841d!8m2!3d47.4229613!4d9.3746824" target="_blank" rel="noopener">Google Maps</a></p>  
1474
1475</div>
1476
1477<div class="ce_text block">
1478
1479        
1480  
1481  
1482      
1483<figure class="image_container float_above">
1484      <a href="https://www.youtube.com/channel/UCYRDpJLQCVbNvjHJ9bI90LA" target="_blank" rel="noreferrer noopener">
1485  
1486  
1487
1488<img src="/files/template/img/icons/youtube.svg" width="24" height="18" alt="">
1489
1490
1491      </a>
1492  
1493  </figure>
1494
1495  
1496      <p><a href="https://www.youtube.com/channel/UCYRDpJLQCVbNvjHJ9bI90LA" target="_blank" rel="noopener">Youtube</a></p>  
1497
1498</div>
1499
1500<div class="ce_text block">
1501
1502        
1503  
1504  
1505      
1506<figure class="image_container float_above">
1507      <a href="https://www.instagram.com/ref_st_gallen/" target="_blank" rel="noreferrer noopener">
1508  
1509  
1510
1511<img src="/files/template/img/icons/instagram.svg" width="24" height="24" alt="">
1512
1513
1514      </a>
1515  
1516  </figure>
1517
1518  
1519      <p><a href="https://www.instagram.com/ref_st_gallen/" target="_blank" rel="noopener">Instagram</a></p>  
1520
1521</div>
1522
1523<div class="ce_text block">
1524
1525        
1526  
1527  
1528      
1529<figure class="image_container float_above">
1530      <a href="https://vimeo.com/gedankenzurzeit" title="zu Vimeo" target="_blank" rel="noreferrer noopener">
1531  
1532  
1533
1534<img src="/files/template/img/icons/vimeo.svg" width="24" height="22" alt="">
1535
1536
1537      </a>
1538  
1539  </figure>
1540
1541  
1542      <p><a title="Gedanken zur Zeit" href="https://vimeo.com/gedankenzurzeit" target="_blank" rel="noopener">Vimeo</a></p>  
1543
1544</div>
1545</div>
1546</div>
1547
1548<!-- indexer::stop -->
1549<nav class="mod_customnav first-column meta block">
1550
1551  
1552  <a href="/neue-kirchenverfassung.html#skipNavigation56" class="invisible">Navigation überspringen</a>
1553
1554  <ul class="level_1" role="menubar">
1555    
1556        
1557                    <li>
1558                <a                     href="/impressum.html"                    title="Impressum"                    role="menuitem">Impressum</a>            </li>
1559            
1560        
1561                    <li>
1562                <a                     href="/disclaimer.html"                    title="Disclaimer"                    role="menuitem">Disclaimer</a>            </li>
1563            
1564        
1565                    <li>
1566                <a                     href="/datenschutz.html"                    title="Datenschutz"                    role="menuitem">Datenschutz</a>            </li>
1567            </ul>
1568
1569  <span id="skipNavigation56" class="invisible"></span>
1570
1571</nav>
1572<!-- indexer::continue -->
1573  
1574</div>
1575<div class="newsletter-footer"></div>
1576<div id="scrolltop">
1577	<a href="#" class="scrollup" title="Scroll to top" style="display: inline;">
1578		<img src="files/template/img/icons/scrolltop.svg" alt="Scroll to top">
1579	</a>
1580</div>            </div>
1581        </footer>
1582        
1583</div>
1584
1585
1586
1587<script src="/assets/colorbox/js/colorbox.min.js?v=1.6.4.2"></script>
vendor: 1 bytes, line 1587
1587
1588<script>
1589
1590    jQuery(function ($) {
1591        $('a[data-lightbox]').map(function () {
1592            if ($(this).hasClass('colorbox_iframe')) {
1593                $(this).colorbox({
1594                    iframe: true,
1595                    width: "900px",
1596                    height: "600px",
1597                    maxWidth: '95%',
1598                    maxHeight: '80%',
1599                    onOpen: function () {
1600                        $('html:not(.lightbox)').addClass('no-scroll');
1601                    },
1602                    onClosed: function () {
1603                        $('html:not(.lightbox)').removeClass('no-scroll');
1604                    }
1605                });
1606            } else {
1607                $(this).colorbox({
1608                    loop: false,
1609                    rel: $(this).attr('data-lightbox'),
1610                    maxWidth: '95%',
1611                    maxHeight: '80%'
1612                });
1613            }
1614
1615
1616        });
1617    });
1618</script>
vendor: 1 bytes, line 1618
1618
1619<script src="/assets/jquery-ui/js/jquery-ui.min.js?v=1.13.2"></script>
vendor: 1 bytes, line 1619
1619
1620<script>
1621    jQuery(function ($) {
1622        $(document).accordion({
1623            // Put custom options here
1624            heightStyle: 'content',
1625            header: '.toggler',
1626            collapsible: true,
1627            active: false,
1628            create: function (event, ui) {
1629                ui.header.addClass('active');
1630                $('.toggler').attr('tabindex', 0);
1631            },
1632            activate: function (event, ui) {
1633                ui.newHeader.addClass('active');
1634                ui.oldHeader.removeClass('active');
1635                $('.toggler').attr('tabindex', 0);
1636            }
1637        });
1638    });
1639</script>
vendor: 1 bytes, line 1639
1639
1640<script>
1641    window.elasticInstaces = window.elasticInstaces || [];
1642    (function () {
1643        let objState = {
1644            keywords: '',
1645            initial: true,
1646            timeout: null,
1647            categories: null,
1648            loading: false,
1649            hasResults: false,
1650            resultsOnly: false,
1651            autoCompleteJS: null,
1652            loadMoreButton: true,
1653            lastSort: '',
1654            timer: null,
1655            time: 0,
1656            showOpenAiText: false,
1657            openAi: false,
1658            views: {
1659                total: 0,
1660                results: [],
1661                didYouMean: [],
1662                autocompletion: [],
1663                categories: [],
1664                globalRichSnippets: {}
1665            },
1666            options: {
1667                categories: null            },
1668            richSnippets: {
1669                faq: {}
1670            },
1671            urls: []
1672        };
1673        let elasticComponent = new Vue({
1674            el: "#",
1675            data: function () {
1676                return objState
1677            },
1678            methods: {
1679                hasHits: function (hits) {
1680                    if (!hits) {
1681                        return false;
1682                    }
1683                    if (Array.isArray(hits)) {
1684                        return false;
1685                    }
1686                    for (let type in hits) {
1687                        if (hits.hasOwnProperty(type)) {
1688                            if (hits[type]['hits'].length) {
1689                                return true;
1690                            }
1691                        }
1692                    }
1693                    return false;
1694                },
1695                fetch: function (params) {
1696
1697                    
1698                    if (this.keywords.length && this.keywords.length < 0 && !this.categories.length) {
1699                        return;
1700                    }
1701
1702                    this.loading = true;
1703                    this.initial = false;
1704
1705                    if (!this.keywords && !this.categories.length) {
1706                        this.hasResults = false;
1707                        this.views.results = [];
1708                        this.views.didYouMean = [];
1709                        this.views.autocompletion = [];
1710                        this.loading = false;
1711                        return;
1712                    }
1713
1714                    this.startAiTimer();
1715
1716                    let searchAfter = params && params.hasOwnProperty('searchAfter') && params.searchAfter ? ('&search_after=' + params.searchAfter) : ''
1717                    this.$http.post('/elastic/search/results?query=' + this.keywords + searchAfter, {
1718                            categories: this.categories,
1719                            module: "",
1720                            root: "",
1721                            group: true,
1722                            source: window.location.href
1723                        },
1724                        {
1725                            emulateJSON: true,
1726                            'Content-Type': 'application/x-www-form-urlencoded',
1727                            before: function (request) {
1728                                if (this.previousRequest) {
1729                                    this.previousRequest.abort();
1730                                }
1731                                this.previousRequest = request;
1732                            }
1733                        }
1734                    ).then(function (res) {
1735
1736                        let results = res.body.results['hits'] ? res.body.results['hits'] : [];
1737                        let arrResults = this.groupResults(results);
1738
1739                        if (params && params.hasOwnProperty('merge') && params.merge) {
1740                            let hasMatches = false;
1741                            for (let i = 0; i < arrResults.length; i++) {
1742                                if (this.add2ResultsByCategory(arrResults[i]['value'], arrResults[i])) {
1743                                    hasMatches = true;
1744                                }
1745                            }
1746
1747                            if (!hasMatches) {
1748                                this.loadMoreButton = false;
1749                            }
1750
1751                        } else {
1752                            this.views.results = arrResults;
1753                        }
1754
1755                        this.views.didYouMean = res.body.results['didYouMean'];
1756                        this.views.autocompletion = res.body.results['autocomplete'];
1757
1758                        for (let i = 0; i < arrResults.length; i++) {
1759                            for (let j = 0; j < arrResults[i]['hits'].length; j++) {
1760                                this.urls.push(arrResults[i]['hits'][j]['url']);
1761                            }
1762                        }
1763
1764                        if (this.hasHits(results)) {
1765                            this.hasResults = true;
1766                        } else {
1767                            this.categories = [];
1768                            this.hasResults = false;
1769                        }
1770
1771                        this.countResults();
1772                        this.views.globalRichSnippets = res.body.globalRichSnippets;
1773                        this.maxScore = res.body.results['max_score'];
1774                        this.setFaqRichSnippets();
1775                        this.loading = false;
1776                        this.resultsOnly = false;
1777                        this.stopAiTimer();
1778                        this.clickOutside();
1779                        this.autoFocusFirstInputField();
1780
1781                    }.bind(this));
1782                },
1783                autoFocusFirstInputField: function () {
1784                    setTimeout(function () {
1785                        if (this.$refs['elasticsearchResultsContainer']) {
1786                            this.$refs['elasticsearchResultsContainer'].querySelector('input[type="search"]').focus();
1787                        }
1788                    }.bind(this), 50);
1789                },
1790                startAiTimer: function () {
1791                    if (!this.openAi) {
1792                        return;
1793                    }
1794                    this.timer = setInterval(function () {
1795                        this.time += 1;
1796                        if (this.time > 6 && !this.showOpenAiText) {
1797                            this.showOpenAiText = true;
1798                        }
1799                    }.bind(this), 1000);
1800                },
1801                stopAiTimer: function () {
1802                    clearInterval(this.timer);
1803                    this.showOpenAiText = false;
1804                    this.timer = null;
1805                    this.time = 0;
1806                },
1807                add2ResultsByCategory: function (category, results) {
1808                    let added = false;
1809                    let exist = false;
1810                    for (let i = 0; i < this.views.results.length; i++) {
1811                        if (this.views.results[i]['value'] === category) {
1812                            for (let j = 0; j < results['hits'].length; j++) {
1813                                if (!this.urls.includes(results['hits'][j]['url'])) {
1814                                    this.views.results[i]['hits'].push(results['hits'][j]);
1815                                    added = true;
1816                                }
1817                            }
1818                            exist = true;
1819                        }
1820                    }
1821                    if (!exist) {
1822                        this.views.results.push(results)
1823                    }
1824                    return added;
1825                },
1826                loadMoreResults: function () {
1827                    this.fetch({
1828                        'searchAfter': this.lastSort,
1829                        'merge': true
1830                    })
1831                },
1832                setDidYouMeanToKeyword: function () {
1833                    this.keywords = this.views.didYouMean[0];
1834                    this.views.didYouMean = [];
1835                    this.fetch({})
1836                },
1837                setFaqRichSnippets: function () {
1838                    this.richSnippets['faq'] = {};
1839                    if (Object.keys(this.views.globalRichSnippets).length && this.views.globalRichSnippets.hasOwnProperty('FAQPage')) {
1840                        for (let i = 0; i < this.views.globalRichSnippets['FAQPage'].length; i++) {
1841                            let faqPages = this.views.globalRichSnippets['FAQPage'][i];
1842                            for (let j = 0; j < faqPages['mainEntity'].length; j++) {
1843                                let page = faqPages['mainEntity'][j];
1844                                if (page['name'] && page['acceptedA
1844nswer'] && page['acceptedAnswer']['text'] && page['_matched']) {
1845                                    this.richSnippets['faq'][page.name] = {
1846                                        question: page['name'],
1847                                        answer: page['acceptedAnswer']['text'],
1848                                        active: false
1849                                    }
1850                                }
1851                            }
1852                        }
1853                    }
1854                },
1855                toggleFaqSnippet: function (name) {
1856                    this.richSnippets['faq'][name]['active'] = !this.richSnippets['faq'][name]['active'];
1857                    this.$forceUpdate();
1858                },
1859                groupResults: function (hits) {
1860
1861                    if (Array.isArray(hits)) {
1862                        return [];
1863                    }
1864
1865                    let group = {};
1866                    this.views.total = 0;
1867                    let onlyCategories = [];
1868                    for (let type in hits) {
1869                        if (hits.hasOwnProperty(type)) {
1870                            let val = hits[type]['value'];
1871                            if ((this.categories.length && this.categories.indexOf(val) === -1) || (onlyCategories.length && onlyCategories.indexOf(val) === -1)) {
1872                                continue;
1873                            }
1874                            group[type] = hits[type];
1875                            this.lastSort = hits[type]['hits'].length ? hits[type]['hits'][hits[type]['hits'].length - 1]['sort'].join() : '';
1876                            this.views.total = this.views.total + hits[type]['hits'].length;
1877                        }
1878                    }
1879
1880                    let _sortedGroup = [];
1881                    if (onlyCategories.length) {
1882                        for (let i = 0; i < onlyCategories.length; i++) {
1883                            for (let groupLabel in group) {
1884                                if (group[groupLabel]['value'] === onlyCategories[i]) {
1885                                    _sortedGroup.push(group[groupLabel]);
1886                                }
1887                            }
1888                        }
1889                        return _sortedGroup;
1890                    } else {
1891                        _sortedGroup = this.sortObject(group);
1892                    }
1893
1894                    return _sortedGroup;
1895                },
1896                countResults: function () {
1897
1898                    let categories = [];
1899
1900                    for (let i = 0; i < this.views.results.length; i++) {
1901
1902                        let val = this.views.results[i]['value'];
1903                        let category = this.options.categories[val];
1904                        if (typeof category === 'undefined' || !category) {
1905                            category = {};
1906                        }
1907
1908                        category['count'] = Array.isArray(this.views.results[i]['hits']) ? this.views.results[i]['hits'].length : 0;
1909
1910                        if (typeof categories[i] === 'undefined') {
1911                            categories[i] = this.options.categories[val];
1912                        }
1913                    }
1914
1915                    if (!this.resultsOnly) {
1916                        this.views.categories = categories;
1917                    }
1918                },
1919                sortObject: function (obj) {
1920                    let arrReturn = [];
1921                    Object.keys(obj).sort(function (a, b) {return a.toLowerCase().localeCompare(b.toLowerCase())}).forEach(function (v) {
1922                        arrReturn.push(obj[v]);
1923                    });
1924                    return arrReturn;
1925                },
1926                startsWithUppercase: function (str) {
1927                    return str.substr(0, 1).match(/[A-Z\u00C0-\u00DC]/);
1928                },
1929                setCategory: function (category) {
1930                    this.resultsOnly = true;
1931                    let index = this.categories.indexOf(category);
1932                    if (index === -1) {
1933                        this.categories.push(category);
1934                    } else {
1935                        this.categories.splice(index, 1);
1936                    }
1937                    this.fetch({});
1938                },
1939                activeCategory: function (category) {
1940                    let index = this.categories.indexOf(category);
1941                    return index !== -1;
1942                },
1943                search: function () {
1944
1945                    
1946                    this.loadMoreButton = true;
1947                    clearTimeout(this.timeout);
1948                    this.timeout = setTimeout(function () {
1949                        this.fetch({});
1950                    }.bind(this), 800);
1951                },
1952                submit: function () {
1953
1954                    let match = this.autoCompleteJS.feedback && this.autoCompleteJS.feedback.hasOwnProperty('cursor') ? this.autoCompleteJS.feedback.matches[this.autoCompleteJS.feedback.cursor] : '';
1955                    if (match) {
1956                        this.keywords = match.value;
1957                        this.fetch({})
1958                    } else {
1959                        this.keywords = '';
1960                        this.fetch({})
1961                    }
1962                },
1963                sendStat: function (e) {
1964                    let href = e.currentTarget.querySelector('a').href;
1965                    if (!href) {
1966                        return;
1967                    }
1968                    this.$http.post('/stat/click?query=' + this.keywords, {
1969                            url: href,
1970                            categories: this.categories
1971                        },
1972                        {
1973                            emulateJSON: true,
1974                            'Content-Type': 'application/x-www-form-urlencoded'
1975                        }
1976                    ).then(function (res) {
1977                        //
1978                    });
1979                },
1980                clickOutside: function () {
1981                    if (this.$refs['elasticsearchContainerInside']) {
1982                        window.addEventListener('click', function () {
1983                            this.close();
1984                        }.bind(this));
1985                        this.$refs['elasticsearchContainerInside'].addEventListener('click', function (e) {
1986                            e.stopPropagation();
1987                        });
1988                    }
1989                },
1990                close: function () {
1991                    this.hasResults = false;
1992                    this.keywords = "";
1993                    this.categories = []
1994                },
1995                setAutoComplete: function () {
1996                    let self = this;
1997                    this.autoCompleteJS = new autoComplete({
1998                        selector: "#ctrl_keywords_",
1999                        placeHolder: "",
2000                        threshold: 2,
2001                        debounce: 600,
2002                        submit: true,
2003                        data: {
2004                            src: async function (query) {
2005                                let headers = new Headers();
2006                                headers.append('Accept', 'application/json');
2007                                headers.append('Content-Type', 'application/json');
2008                                const source = await fetch('/elastic/search/autocompletion?query=' + query, {
2009                                    method: "POST",
2010                                    headers: headers,
2011                                    cache: "no-cache",
2012                                    redirect: "follow",
2013                                    credentials: "same-origin",
2014                                    referrerPolicy: "no-referrer",
2015                                    body: JSON.stringify({
2016                                        categories: self.categories,
2017                                        module: "",
2018                                        root: ""
2019                                    })
2020                                });
2021                                let results = [];
2022                                let data = await source.json();
2023                                for (let i = 0; i < data.results['hits'].length; i++) {
2024                                    results.push(data.results['hits'][i]['term']);
2025                                }
2026                                return results;
2027                            }
2028                        },
2029                        resultsList: {
2030                            maxResults: 50,
2031                            tabSelect: true
2032                        },
2033                        resultItem: {
2034                            highlight: true
2035                        },
2036                        events: {
2037                            input: {
2038                                selection: (event) => {
2039                                    self.keywords = event.detail.selection.value;
2040                                    self.fetch({});
2041                                },
2042                                keydown(event) {
2043                                    switch (event.keyCode) {
2044                                        case 40:
2045                                        case 38:
2046                                            event.preventDefault();
2047                                            event.keyCode === 40 ? objState.autoCompleteJS.next() : objState.autoCompleteJS.previous();
2048                                            break;
2049                                        case 9:
2050                                            event.preventDefault();
2051                                            if (objState.autoCompleteJS.resultsList.tabSelect) {
2052                                                objState.autoCompleteJS.next()
2053                                            }
2054                                            break;
2055                                        case 27:
2056                                            objState.autoCompleteJS.input.value = "";
2057                                            objState.autoCompleteJS.close();
2058                                            break;
2059                                        case 13:
2060                                            event.preventDefault()
2061                                            self.submit();
2062                                            objState.autoCompleteJS.close();
2063                                            break;
2064                                    }
2065                                }
2066                            }
2067                        }
2068                    });
2069                }
2070            },
2071            watch: {
2072                'hasResults': {
2073                    handler: function (val) {
2074                        let objBody = document.querySelector('body');
2075                        if (val) {
2076                            objBody.classList.add('search-panel-open');
2077                        } else {
2078                            objBody.classList.remove('search-panel-open');
2079                        }
2080                    }
2081                }
2082            },
2083            mounted: function () {
2084                this.fetch({});
2085            }
2086        });
2087        window.elasticInstaces.push(elasticComponent);
2088    })();
2089</script>
2089<script>
2090    document.addEventListener(
2091        "DOMContentLoaded", function () {
2092            const menu = document.querySelector('#mobile-show');
2093            if (null !== menu && 0 === menu.querySelectorAll('li.active').length) {
2094                const trails = menu.querySelectorAll('li.trail');
2095                if (0 < trails.length) {
2096                    trails.item(trails.length - 1).classList.add('active');
2097                }
2098            }
2099            new Mmenu('#mobile-show', {"navbar":{"title":"Men\u00fc"},"offCanvas":{"position":"left-front"},"slidingSubmenus":false,"theme":"white"}, {"classNames":{"selected":"active"}});
2100        }
2101    );
2102</script>
vendor: 1 bytes, line 2102
2102
2103<script src="/files/template/js/main.js?v=9fdcece1"></script>
2103<script src="/files/template/js/masonry/imagesloaded.pkgd.min.js?v=58bf596a"></script>
2103<script src="/files/template/js/masonry/masonry-config.js?v=7a3f53d5"></script>
2103<script src="/files/template/js/masonry/masonry.pkgd.js?v=66e69a74"></script>
2103<script src="/files/template/js/toggle_overlay.js?v=6ff317e0"></script>
2103<script src="/files/template/js/jquery-migrate-3.0.0.min.js?v=9c9b2812"></script>
2103<script src="/files/template/libs/featherlight/featherlight.js?v=51e6593a"></script>
2103<script src="/files/template/libs/slick/slick.min.js?v=51e6593a"></script>
2103<script src="/files/template/libs/nlwaypoints/lib/jquery.waypoints.min.js?v=262720f3"></script>
2103<script src="/files/template/libs/nlwaypoints/lib/noframework.waypoints.min.js?v=262720f3"></script>
2103<script src="/files/template/libs/Blob.js/Blob.js?v=262720f3"></script>
2103<script src="/files/template/libs/FileSaver.js/dist/FileSaver.min.js?v=262720f3"></script>
2103<script src="/files/template/js/isotope/isotope.pkgd.min.js?v=262720f3"></script>
2103<script src="/files/template/libs/ics.js/ics.min.js?v=262720f3"></script>
vendor: 1 bytes, line 2103
2103
2104<script>
2105var j = jQuery.noConflict();
2106j( document ).ready(function() {
2107	if (j('#cbp-ntaccordion').length > 0) {
2108		j('#cbp-ntaccordion').cbpNTAccordion();
2109	}
2110});
2111</script>
vendor: 1 bytes, line 2111
2111
2112<script type="application/ld+json">
2113{
2114    "@context": "https:\/\/schema.org",
2115    "@graph": [
2116        {
2117            "@type": "WebPage"
2118        },
2119        {
2120            "@id": "#\/schema\/image\/f79312dd-0cd1-11f1-b7c1-02000a1e000d",
2121            "@type": "ImageObject",
2122            "contentUrl": "\/assets\/images\/f\/front_verfassung_1-aycjwhj40bk4y6d.jpg"
2123        },
2124        {
2125            "@id": "#\/schema\/image\/3d737b76-674a-11ed-9c44-02000a1e000d",
2126            "@type": "ImageObject",
2127            "contentUrl": "\/assets\/images\/4\/Martin_Schmidt_0922_web-a96eycw9hxt5eey.jpg"
2128        },
2129        {
2130            "@id": "#\/schema\/image\/1f46fbbb-da8d-11f0-b44c-02000a1e000d",
2131            "@type": "ImageObject",
2132            "contentUrl": "\/assets\/images\/p\/Roland_Plattner_1225_9707%20web-ra2fme46f7czftr.jpg"
2133        },
2134        {
2135            "@id": "#\/schema\/image\/6a17dd40-7d00-11f0-8603-02000a1e000d",
2136            "@type": "ImageObject",
2137            "contentUrl": "\/assets\/images\/2\/Kai_Kellenberger_0825_web-fpyhfsbjyw6mn30.jpg"
2138        },
2139        {
2140            "@id": "#\/schema\/image\/51130d06-bb1f-11f0-b44c-02000a1e000d",
2141            "@type": "ImageObject",
2142            "contentUrl": "\/assets\/images\/8\/Annina_Frei_web-01apprfjgnnzqfq.jpg"
2143        },
2144        {
2145            "@id": "#\/schema\/image\/945bc5f8-6333-11ec-912e-02000a1e000d",
2146            "@type": "ImageObject",
2147            "contentUrl": "\/files\/template\/img\/icons\/google_maps.svg"
2148        },
2149        {
2150            "@id": "#\/schema\/image\/719332b5-6333-11ec-912e-02000a1e000d",
2151            "@type": "ImageObject",
2152            "contentUrl": "\/files\/template\/img\/icons\/youtube.svg"
2153        },
2154        {
2155            "@id": "#\/schema\/image\/b59436a4-6333-11ec-912e-02000a1e000d",
2156            "@type": "ImageObject",
2157            "contentUrl": "\/files\/template\/img\/icons\/instagram.svg"
2158        },
2159        {
2160            "@id": "#\/schema\/image\/d0282b42-6333-11ec-912e-02000a1e000d",
2161            "@type": "ImageObject",
2162            "contentUrl": "\/files\/template\/img\/icons\/vimeo.svg",
2163            "name": "zu Vimeo"
2164        }
2165    ]
2166}
2167</script>
vendor: 1 bytes, line 2167
2167
2168<script type="application/ld+json">
2169{
2170    "@context": "https:\/\/schema.contao.org",
2171    "@graph": [
2172        {
2173            "@type": "Page",
2174            "fePreview": false,
2175            "groups": [],
2176            "noSearch": false,
2177            "pageId": 217,
2178            "protected": false,
2179            "title": "Neue Kirchenverfassung"
2180        }
2181    ]
2182}
2183</script>
2183
2184
2185
2186
2187</body>
2188</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.