PageSourceSearch

https://www.bergesinstitutespanish.com/help/contact

html bergesinstitutespanish.com collected 2026-10-02 03:00:41 UTC 43,225 bytes, 707 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3<head>
4    <meta charset="UTF-8">
5    <meta http-equiv="X-UA-Compatible" content="IE=edge">
6    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
7
8    
9    <title>Contact us - Berges Institute Spanish Classes</title>
10
11    <meta name="description" content="Send us your question and we will get back to you by email.">
12
13    <link rel="canonical" href="https://www.bergesinstitutespanish.com/help/contact">
14
15    
16    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
17    <link rel="preconnect" href="https://unpkg.com" crossorigin>
18
19    <style>
20    /* latin-ext */
21    @font-face {
22        font-family: 'Roboto';
23        font-style: italic;
24        font-weight: 100 900;
25        font-stretch: 100%;
26        font-display: swap;
27        src: url(https://fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkCHkaSTbQWt4N.woff2) format('woff2');
28        unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
29    }
30    /* latin */
31    @font-face {
32        font-family: 'Roboto';
33        font-style: italic;
34        font-weight: 100 900;
35        font-stretch: 100%;
36        font-display: swap;
37        src: url(https://fonts.gstatic.com/s/roboto/v50/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkBnkaSTbQWg.woff2) format('woff2');
38        unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
39    }
40    /* latin-ext */
41    @font-face {
42        font-family: 'Roboto';
43        font-style: normal;
44        font-weight: 100 900;
45        font-stretch: 100%;
46        font-display: swap;
47        src: url(https://fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3KUBHMdazTgWw.woff2) format('woff2');
48        unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
49    }
50    /* latin */
51    @font-face {
52        font-family: 'Roboto';
53        font-style: normal;
54        font-weight: 100 900;
55        font-stretch: 100%;
56        font-display: swap;
57        src: url(https://fonts.gstatic.com/s/roboto/v50/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBHMdazQ.woff2) format('woff2');
58        unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
59    }
60</style>
61
62    <link rel="preload" as="style" href="https://www.bergesinstitutespanish.com/build/assets/app-x_qLNQJa.css" /><link rel="stylesheet" href="https://www.bergesinstitutespanish.com/build/assets/app-x_qLNQJa.css" data-navigate-track="reload" />
63        <style>
64        #navbar .navbar-logo {
65            width: 230px;
66            height: auto;
67        }
68
69        #navbar .nav-link {
70            color: var(--bs-body-color);
71        }
72
73        @media (hover: hover) {
74            #navbar .nav-link:hover {
75                text-decoration: underline;
76            }
77        }
78
79        @media (min-width: 992px) {
80            #navbar .navbar-logo {
81                width: 250px;
82            }
83        }
84    </style>
85
86    
87    <meta property="og:title" content="Contact us - Berges Institute Spanish Classes">
88    <meta property="og:description" content="Send us your question and we will get back to you by email.">
89    <meta property="og:url" content="https://www.bergesinstitutespanish.com/help/contact">
90    <meta property="og:type" content="website">
91    <meta property="og:site_name" content="Berges Institute Spanish Classes">
92    <meta property="og:locale" content="en_US">
93            <meta property="og:image" content="https://www.bergesinstitutespanish.com/img/app.jpg">
94        <meta name="twitter:card" content="summary_large_image">
95    <meta name="twitter:title" content="Contact us - Berges Institute Spanish Classes">
96    <meta name="twitter:description" content="Send us your question and we will get back to you by email.">
97            <meta name="twitter:image" content="https://www.bergesinstitutespanish.com/img/app.jpg">
98    
99    <!-- Favicon -->
100    <link rel="icon" href="https://www.bergesinstitutespanish.com/img/favicon.png">
101</head>
102<body class="bg-white">
103    <header>
104    <div id="navbar" class="container-fluid px-0 border-bottom bg-white" style="z-index: 40">
105        <nav class="d-flex align-items-center px-4 py-2" style="min-height: 64px" aria-label="Main">
106            <a href="https://www.bergesinstitutespanish.com"
107               class="d-flex align-items-center text-black flex-shrink-0 me-lg-4">
108                <img class="navbar-logo" alt="Berges Institute" width="250" height="26"
109                     src="https://www.bergesinstitutespanish.com/img/berges_logo.svg">
110            </a>
111
112            
113            <ul class="nav d-none d-lg-flex align-items-center">
114                <li class="nav-item"><a class="nav-link px-2" href="/levels-and-schedule">Spanish courses</a></li>
115<li class="nav-item"><a class="nav-link px-2" href="/online-tests/online-placement-test?source=main_menu">Placement test</a></li>
116<li class="nav-item"><a class="nav-link px-2" href="/prices">Prices</a></li>
117<li class="nav-item"><a class="nav-link px-2" href="/deal-for-beginners">Deal for absolute beginners</a></li>
118            </ul>
119            <ul class="nav d-none d-lg-flex align-items-center ms-auto">
120                                    <li class="nav-item"><a class="nav-link px-2" href="https://www.bergesinstitutespanish.com/login">Sign in</a></li>
121                                    <li class="nav-item"><a class="nav-link px-2" href="https://www.bergesinstitutespanish.com/register">Sign up</a></li>
122                            </ul>
123
124            
125            <div class="dropdown d-lg-none d-flex align-items-center ms-auto">
126                <button type="button"
127                        class="nav-button d-flex align-items-center justify-content-center text-black border-0 bg-white p-1"
128                        id="dropdownMenuButton"
129                        data-bs-toggle="dropdown"
130                        aria-expanded="false"
131                        aria-label="Open the menu">
132                    <i data-feather="menu" class="d-block" style="width: 30px; height: 30px;"></i>
133                </button>
134
135                <ul class="dropdown-menu dropdown-menu-end" aria-labelledby="dropdownMenuButton">
136                    <li><a class="dropdown-item py-2 px-3" href="/levels-and-schedule">Spanish courses</a></li>
137<li><a class="dropdown-item py-2 px-3" href="/online-tests/online-placement-test?source=main_menu">Placement test</a></li>
138<li><a class="dropdown-item py-2 px-3" href="/prices">Prices</a></li>
139<li><a class="dropdown-item py-2 px-3" href="/deal-for-beginners">Deal for absolute beginners</a></li>
140                    <li><hr class="dropdown-divider"></li>
141                                            <li><a class="dropdown-item py-2 px-3" href="https://www.bergesinstitutespanish.com/login">Sign in</a></li>
142                                            <li><a class="dropdown-item py-2 px-3" href="https://www.bergesinstitutespanish.com/register">Sign up</a></li>
143                                    </ul>
144            </div>
145        </nav>
146    </div>
147</header>
148
149
150
151    <main role="main">
152        <div class="pb-5">
153            <div class="container col-xxl-6 px-4 py-5">
154                <h1 class="mb-4">Contact us</h1>
155
156                                    <p class="mb-4">
157                        Send us your question and we will get back to you by email. We try to respond within 3 business days.
158                    </p>
159
160                    <form method="POST">
161                        <input type="hidden" name="_token" value="pMHpHxK7pY6f2UgoxZDnzrYzS6eoQwwJdULYu4Br" autocomplete="off">
162                        <div style="position: absolute; left: -9999px;" aria-hidden="true">
163                            <label>Company <input type="text" name="company" tabindex="-1" autocomplete="off"></label>
164                        </div>
165
166                        <div class="mb-3">
167                            <label class="form-label" for="name">Name</label>
168                            <input class="form-control " type="text" id="name"
169                                   name="name" value="">
170                                                    </div>
171
172                        <div class="mb-3">
173                            <label class="form-label" for="email">Email</label>
174                            <input class="form-control " type="email" id="email"
175                                   name="email" value="" required>
176                                                    </div>
177
178                        <div class="mb-3">
179                            <label class="form-label" for="subject">Subject</label>
180                            <input class="form-control " type="text" id="subject"
181                                   name="subject" value="" required>
182                                                    </div>
183
184                        <div class="mb-4">
185                            <label class="form-label" for="message">Message</label>
186                            <textarea class="form-control " id="message"
187                                      name="message" rows="7" required></textarea>
188                                                    </div>
189
190                        <button type="submit" class="btn btn-dark">
191                            Send
192                        </button>
193                    </form>
194                            </div>
195        </div>
196    </main>
197
198    <footer class="footer mt-auto pb-2 small bg-dark">
199        <div class="bg-light">
200            <div class="container col-xxl-8 px-4 py-5">
201                <div class="h3">Spanish Learning Categories</div>
202                <ul class="d-flex flex-wrap px-0" style="list-style: none">
203                                            <li class="mb-2">
204                            <a class="text-dark" href="https://www.bergesinstitutespanish.com/spanish-learning-categories/spanish-for-professionals">
205                                Spanish for Professionals
206                            </a>
207                             <span class="mx-2">|</span>                         </li>
208                                            <li class="mb-2">
209                            <a class="text-dark" href="https://www.bergesinstitutespanish.com/spanish-learning-categories/spanish-by-learning-goal">
210                                Spanish by Learning Goal
211                            </a>
212                                                    </li>
213                                    </ul>
214
215                <div class="h3">Learn Spanish in your city</div>
216                <ul class="d-flex flex-wrap px-0" style="list-style: none">
217                                            <li class="mb-2">
218                            <a class="text-dark" href="https://www.bergesinstitutespanish.com/spanish-classes/cities/new-york-city">
219                                Spanish classes in New York City
220                            </a>
221                             <span class="mx-2">|</span>                         </li>
222                                            <li class="mb-2">
223                            <a class="text-dark" href="https://www.bergesinstitutespanish.com/spanish-classes/cities/chicago">
224                                Spanish classes in Chicago
225                            </a>
226                             <span class="mx-2">|</span>                         </li>
227                                            <li class="mb-2">
228                            <a class="text-dark" href="https://www.bergesinstitutespanish.com/spanish-classe
228s/cities/los-angeles">
229                                Spanish classes in Los Angeles
230                            </a>
231                             <span class="mx-2">|</span>                         </li>
232                                            <li class="mb-2">
233                            <a class="text-dark" href="https://www.bergesinstitutespanish.com/spanish-classes/cities/san-francisco">
234                                Spanish classes in San Francisco
235                            </a>
236                             <span class="mx-2">|</span>                         </li>
237                                            <li class="mb-2">
238                            <a class="text-dark" href="https://www.bergesinstitutespanish.com/spanish-classes/cities/miami">
239                                Spanish classes in Miami
240                            </a>
241                             <span class="mx-2">|</span>                         </li>
242                                            <li class="mb-2">
243                            <a class="text-dark" href="https://www.bergesinstitutespanish.com/spanish-classes/cities/boston">
244                                Spanish classes in Boston
245                            </a>
246                             <span class="mx-2">|</span>                         </li>
247                                            <li class="mb-2">
248                            <a class="text-dark" href="https://www.bergesinstitutespanish.com/spanish-classes/cities/toronto">
249                                Spanish classes in Toronto
250                            </a>
251                             <span class="mx-2">|</span>                         </li>
252                                            <li class="mb-2">
253                            <a class="text-dark" href="https://www.bergesinstitutespanish.com/spanish-classes/cities/vancouver">
254                                Spanish classes in Vancouver
255                            </a>
256                             <span class="mx-2">|</span>                         </li>
257                                            <li class="mb-2">
258                            <a class="text-dark" href="https://www.bergesinstitutespanish.com/spanish-classes/cities/london">
259                                Spanish classes in London
260                            </a>
261                             <span class="mx-2">|</span>                         </li>
262                                            <li class="mb-2">
263                            <a class="text-dark" href="https://www.bergesinstitutespanish.com/spanish-classes/cities/dublin">
264                                Spanish classes in Dublin
265                            </a>
266                             <span class="mx-2">|</span>                         </li>
267                                            <li class="mb-2">
268                            <a class="text-dark" href="https://www.bergesinstitutespanish.com/spanish-classes/cities/mumbai">
269                                Spanish classes in Mumbai
270                            </a>
271                             <span class="mx-2">|</span>                         </li>
272                                            <li class="mb-2">
273                            <a class="text-dark" href="https://www.bergesinstitutespanish.com/spanish-classes/cities/new-delhi">
274                                Spanish classes in New Delhi
275                            </a>
276                             <span class="mx-2">|</span>                         </li>
277                                            <li class="mb-2">
278                            <a class="text-dark" href="https://www.bergesinstitutespanish.com/spanish-classes/cities/dubai">
279                                Spanish classes in Dubai
280                            </a>
281                             <span class="mx-2">|</span>                         </li>
282                                            <li class="mb-2">
283                            <a class="text-dark" href="https://www.bergesinstitutespanish.com/spanish-classes/cities/melbourne">
284                                Spanish classes in Melbourne
285                            </a>
286                             <span class="mx-2">|</span>                         </li>
287                                            <li class="mb-2">
288                            <a class="text-dark" href="https://www.bergesinstitutespanish.com/spanish-classes/cities/sydney">
289                                Spanish classes in Sydney
290                            </a>
291                                                    </li>
292                                    </ul>
293            </div>
294        </div>
295        <div class="container col-xxl-8 px-4 py-5">
296            <div class="row">
297                <div class="col-md-3">
298                    <div class="h4 my-3 text-white">Company</div>
299                    <div class="mt-2"><a href="https://www.bergesinstitutespanish.com/help">Help center</a></div>
300                    <div class="mt-2"><a href="https://www.bergesinstitutespanish.com/help/contact">Contact us</a></div>
301                    <div class="mt-2"><a href="https://www.bergesinstitutespanish.com/the-berges-story">The Berges story</a></div>
302                    <div class="mt-2"><a href="/people">Instructors</a></div>
303                </div>
304                <div class="col-md-3">
305                    <div class="h4 my-3 text-white">Resources</div>
306                    <div class="mt-2"><a href="/levels-and-schedule">Spanish courses</a></div>
307                    <div class="mt-2"><a href="/prices">Prices</a></div>
308                    <div class="mt-2"><a href="/deal-for-beginners">Deal for absolute beginners</a></div>
309                    <div class="mt-2"><a href="https://www.bergesinstitutespanish.com/the-graf-method">The Graf Method</a></div>
310                    <div class="mt-2"><a href="https://www.bergesinstitutespanish.com/holiday-schedule">Holiday schedule</a></div>
311                    <div class="mt-2"><a href="https://www.bergesinstitutespanish.com/blog">Blog</a></div>
312                    <div class="mt-2"><a href="https://www.bergesinstitutespanish.com/spanish-verb-conjugations">Spanish verb conjugations</a></div>
313                    <div class="mt-2"><a href="https://www.bergesinstitutespanish.com/how-to-say-in-spanish">Common words and phrases in Spanish</a></div>
314                    <div class="mt-2"><a href="https://www.bergesinstitutespanish.com/podcasts">Podcasts</a></div>
315                    <div class="mt-2"><a href="https://www.bergesinstitutespanish.com/papers">Papers</a></div>
316                    <div class="mt-2"><a href="/online-tests/online-placement-test?source=footer">Online placement test</a></div>
317                    <div class="mt-2"><a href="https://www.bergesinstitutespanish.com/spanish-speaking-countries">Spanish-speaking countries</a></div>
318                    <div class="mt-2"><a href="https://www.bergesinstitutespanish.com/spanish-native-speakers">Native Spanish speakers worldwide: an estimate</a></div>
319                </div>
320                <div class="col-md-3">
321                    <div class="h4 my-3 text-white">Stuff</div>
322                    <div class="mt-2"><a href="/affiliate-program">Affiliate program</a></div>
323                    <div class="mt-2"><a href="/gift-cards">Gift cards</a></div>
324                    <div class="mt-2"><a href="https://www.bergesinstitutespanish.com/deep-spanish">Deep Spanish</a></div>
325                    <div class="mt-2"><a href="https://www.amazon.com/s?k=graf+method+spanish&i=stripbooks&ref=nb_sb_noss">Books</a></div>
326                    <div class="mt-2"><a href="https://www.bergesinstitutespanish.com/download">Desktop app</a></div>
327                                            <div class="mt-2"><a href="https://apps.apple.com/app/berges-textbooks/id6759491393">Berges Textbooks for iOS</a></div>
328                                                                <div class="mt-2"><a href="https://play.google.com/store/apps/details?id=com.berges.spanishclasses">Berges Textbooks for Android</a></div>
329                                        <div class="mt-2"><a href="https://www.bergesinstitutespanish.com/in-the-press">In the press</a></div>
330                    <div class="mt-2"><a href="https://www.bergesenglish.com">Clases de inglés</a></div>
331                    <div class="mt-2"><a href="https://berges.ai">Berges AI</a></div>
332                </div>
333                <div class="col-md-3">
334                    <div class="h4 my-3 text-white">Social</div>
335                                            <div class="mt-2"><a href="https://www.youtube.com/c/BergesInstitute">YouTube</a></div>
336                                            <div class="mt-2"><a href="https://www.linkedin.com/company/berges-institute">LinkedIn</a></div>
337                                            <div class="mt-2"><a href="https://x.com/bergesinstitute">Twitter</a></div>
338                                            <div class="mt-2"><a href="https://www.instagram.com/berges_institute">Instagram</a></div>
339                                            <div class="mt-2"><a href="https://www.facebook.com/bergesinstitute">Facebook</a></div>
340                                    </div>
341            </div>
342
343            <hr class="my-4 border border-white">
344
345            <div class="row">
346                <div class="col-md-12">
347                    <div class="h4 mb-3 text-white">Mailing Address</div>
348                    <div class="mt-2 text-white">
349                        <div class="mt-2">
350    <div>Berges Institute SLU</div>
351    <div>Calle Valgrande 8, Pl. 2</div>
352    <div>28108 Alcobendas, Comunidad de Madrid, Spain</div>
353</div>
354                    </div>
355                </div>
356            </div>
357
358            <hr class="my-4 border border-white">
359
360            <div class="h4 mt-3 text-white mb-3">Spanish Classes Near You</div>
361            <div class="d-flex flex-wrap">
362                                                            <div class="me-3 mb-3"><a class="text-white" href="https://www.bergesinstitutespanish.com/spanish-classe
362s/states-and-countries/new-york">Spanish classes in New York</a></div>
363                                                                                <div class="me-3 mb-3"><a class="text-white" href="https://www.bergesinstitutespanish.com/spanish-classes/states-and-countries/california">Spanish classes in California</a></div>
364                                                                                <div class="me-3 mb-3"><a class="text-white" href="https://www.bergesinstitutespanish.com/spanish-classes/states-and-countries/illinois">Spanish classes in Illinois</a></div>
365                                                                                <div class="me-3 mb-3"><a class="text-white" href="https://www.bergesinstitutespanish.com/spanish-classes/states-and-countries/texas">Spanish classes in Texas</a></div>
366                                                                                                                                                        <div class="me-3 mb-3"><a class="text-white" href="https://www.bergesinstitutespanish.com/spanish-classes/states-and-countries/florida">Spanish classes in Florida</a></div>
367                                                                                                                                                                                                                                                                    <div class="me-3 mb-3"><a class="text-white" href="https://www.bergesinstitutespanish.com/spanish-classes/states-and-countries/massachusetts">Spanish classes in Massachusetts</a></div>
368                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <div class="me-3 mb-3"><a class="text-white" href="https://www.bergesinstitutespanish.com/spanish-classes/states-and-countries/new-jersey">Spanish classes in New Jersey</a></div>
369                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <div class="me-3 mb-3"><a class="text-white" href="https://www.bergesinstitutespanish.com/spanish-classes/states-and-countries/british-columbia">Spanish classes in British Columbia</a></div>
370                                                                                <div class="me-3 mb-3"><a class="text-white" href="https://www.bergesinstitutespanish.com/spanish-classes/states-and-countries/quebec">Spanish classes in Quebec</a></div>
371                                                                                <div class="me-3 mb-3"><a class="text-white" href="https://www.bergesinstitutespanish.com/spanish-classes/states-and-countries/england">Spanish classes in England</a></div>
372                                                                                <div class="me-3 mb-3"><a class="text-white" href="https://www.bergesinstitutespanish.com/spanish-classe
372s/states-and-countries/scotland">Spanish classes in Scotland</a></div>
373                                                                                                                                                        <div class="me-3 mb-3"><a class="text-white" href="https://www.bergesinstitutespanish.com/spanish-classes/states-and-countries/ireland">Spanish classes in Ireland</a></div>
374                                                                                                                                                                                                                                                                                                        <div class="me-3 mb-3"><a class="text-white" href="https://www.bergesinstitutespanish.com/spanish-classes/states-and-countries/maharashtra">Spanish classes in Maharashtra</a></div>
375                                                                                <div class="me-3 mb-3"><a class="text-white" href="https://www.bergesinstitutespanish.com/spanish-classes/states-and-countries/delhi">Spanish classes in Delhi</a></div>
376                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <div class="me-3 mb-3"><a class="text-white" href="https://www.bergesinstitutespanish.com/spanish-classes/states-and-countries/victoria">Spanish classes in Victoria</a></div>
377                                                                                <div class="me-3 mb-3"><a class="text-white" href="https://www.bergesinstitutespanish.com/spanish-classes/states-and-countries/new-south-wales">Spanish classes in New South Wales</a></div>
378                                                                                                                                                                                                    <div class="me-3 mb-3"><a class="text-white" href="https://www.bergesinstitutespanish.com/spanish-classes/all-states-and-countries">
379                    Spanish classes in other states and countries</a></div>
380            </div>
381
382            <div class="my-5 pt-5 text-white">
383                <div>© 2026, Berges Institute SLU</div>
384                <div class="mt-2">
385                    <a href="https://www.bergesinstitutespanish.com/privacy-policy">Privacy Policy</a>
386                    | <a href="https://www.bergesinstitutespanish.com/cookie-policy">Cookie Policy</a>
387                    | <a href="#" onclick="event.preventDefault(); window.showCookiePreferences && window.showCookiePreferences();">Cookie preferences</a>
388                    | <a href="https://www.bergesinstitutespanish.com/terms-of-service">Terms of Service</a>
389                </div>
390            </div>
391        </div>
392    </footer>
393
394    <link rel="modulepreload" as="script" href="https://www.bergesinstitutespanish.com/build/assets/pages-DrmaPRPz.js" /><link rel="modulepreload" as="script" href="https://www.bergesinstitutespanish.com/build/assets/bootstrap.esm-CjE0EDlS.js" />
394<script type="module" src="https://www.bergesinstitutespanish.com/build/assets/pages-DrmaPRPz.js" data-navigate-track="reload"></script>
394<script>
395    (function () {
396        const popImages = document.querySelectorAll('.pop');
397
398        pop();
399
400        window.addEventListener('scroll', () => pop());
401
402        function pop() {
403            popImages.forEach(item => {
404                if (item.getBoundingClientRect().top < window.innerHeight && item.getBoundingClientRect().bottom >= 0) {
405                    if (!item.classList.contains('top')) item.classList.add('img-popup');
406                }
407            });
408        }
409
410        const zoomEls = document.querySelectorAll('.zoom');
411
412        zoom();
413
414        window.addEventListener('scroll', () => zoom());
415
416        function zoom() {
417            zoomEls.forEach(item => {
418                if (item.getBoundingClientRect().top < window.innerHeight && item.getBoundingClientRect().bottom >= 0) {
419                    item.classList.add('el-zoom');
420                }
421            });
422        }
423
424        // No zoom on iOS Safari
425        if (navigator.userAgent.indexOf('iPhone') > -1) {
426            document.querySelector("[name=viewport]")
427                .setAttribute("content", "width=device-width, initial-scale=1, maximum-scale=1");
428        }
429    })();
430</script>
430
431
432
433    
433<script>
434        document.addEventListener('DOMContentLoaded', function() {
435            // Handle close button click
436            const closeButton = document.getElementById('closeMenuButton');
437            const dropdownToggle = document.getElementById('dropdownMenuButton');
438
439            if (closeButton && dropdownToggle) {
440                closeButton.addEventListener('click', function() {
441                    // Use Bootstrap's dropdown instance to hide
442                    const dropdown = bootstrap.Dropdown.getInstance(dropdownToggle);
443                    if (dropdown) {
444                        dropdown.hide();
445                    }
446                });
447            }
448        });
449    </script>
449
450    
450<script>
451    if (window.electronAPI?.isElectron) {
452        // Electron app: no analytics, no cookie banner
453        window.dataLayer = window.dataLayer || [];
454        window.gtag = function() {};
455    }
456</script>
456
457
458<style>
459    body { padding-bottom: var(--cookie-bar-height, 0); }
460    #consent-bar .consent-configure { display: none; }
461    #consent-bar.is-configuring .consent-configure { display: block; }
462    #consent-bar.is-configuring #consent-configure-btn { display: none; }
463    #consent-bar.is-configuring .consent-primary-actions #cookie-consent-btn,
464    #consent-bar.is-configuring .consent-primary-actions #cookie-reject-btn { display: none; }
465</style>
466<div id="consent-bar" class="fixed-bottom bg-white border-top border-bottom d-none p-4" role="dialog" aria-live="polite" aria-label="Your privacy">
467    <div>
468        <div class="small mb-3">
469            We use our own and third-party cookies for analytics and advertising. You can accept, reject, or configure them.
470            <a href="https://www.bergesinstitutespanish.com/cookie-policy" target="_blank" rel="noopener">Cookie policy</a>.
471        </div>
472        <div class="d-flex gap-2 flex-wrap consent-primary-actions">
473            <a href="#" id="consent-configure-btn" class="btn btn-sm btn-outline-dark">Manage</a>
474            <a href="#" id="cookie-reject-btn" class="btn btn-sm btn-primary">Reject</a>
475            <a href="#" id="cookie-consent-btn" class="btn btn-sm btn-primary">Accept</a>
476        </div>
477    </div>
478    <div class="consent-configure">
479        <div class="small">
480            <div class="mb-2">
481                <label class="d-flex align-items-center gap-2">
482                    <input type="checkbox" disabled checked>
483                    <span><strong>Strictly necessary</strong> — always on</span>
484                </label>
485            </div>
486            <div class="mb-2">
487                <label class="d-flex align-items-center gap-2">
488                    <input type="checkbox" id="consent-analytics">
489                    <span><strong>Analytics</strong> — Google Analytics, Microsoft Clarity</span>
490                </label>
491            </div>
492            <div class="mb-3">
493                <label class="d-flex align-items-center gap-2">
494                    <input type="checkbox" id="consent-advertising">
495                    <span><strong>Advertising</strong> — Google Ads, Meta Pixel</span>
496                </label>
497            </div>
498        </div>
499        <div>
500            <a href="#" id="consent-save-btn" class="btn btn-sm btn-primary">Save preferences</a>
501        </div>
502    </div>
503</div>
504
505<script>
506    document.addEventListener('DOMContentLoaded', () => {
507        if (window.electronAPI?.isElectron) return;
508
509        const GA_ID = "G-ZSV58WYSZ0";
510        const CLARITY_ID = "u2fd8n3b0i";
511        const FB_PIXEL_ID = "2327647080993486";
512
513        // Load GA script dynamically
514        const gaScript = document.createElement('script');
515        gaScript.defer = true;
516        gaScript.src = 'https://www.googletagmanager.com/gtag/js?id=' + GA_ID;
517        document.head.appendChild(gaScript);
518
519        window.dataLayer = window.dataLayer || [];
520        window.gtag = function() {dataLayer.push(arguments);}
521
522        gtag('consent', 'default', {
523            'ad_storage': 'denied',
524            'ad_user_data': 'denied',
525            'ad_personalization': 'denied',
526            'analytics_storage': 'denied'
527        });
528
529        gtag('js', new Date());
530        gtag('config', GA_ID);
531
532        const consentBarEl = document.getElementById('consent-bar');
533        const acceptBtn = document.getElementById('cookie-consent-btn');
534        const rejectBtn = document.getElementById('cookie-reject-btn');
535        const configureBtn = document.getElementById('consent-configure-btn');
536        const saveBtn = document.getElementById('consent-save-btn');
537        const analyticsToggle = document.getElementById('consent-analytics');
538        const advertisingToggle = document.getElementById('consent-advertising');
539
540        // Consent storage — JSON shape {v:1, analytics, advertising, ts}.
541        // Legacy values ('granted'/'denied') are migrated on first read.
542        const readPrefs = () => {
543            const raw = window.localStorage.getItem('cookieConsent');
544            if (!raw) return null;
545            if (raw === 'granted') return { v: 1, analytics: true, advertising: true, ts: Date.now() };
546            if (raw === 'denied')  return { v: 1, analytics: false, advertising: false, ts: Date.now() };
547            try {
548                const parsed = JSON.parse(raw);
549                if (parsed && typeof parsed === 'object') return parsed;
550            } catch (_) {}
551            return null;
552        };
553
554        const writePrefs = (prefs) => {
555            const payload = { v: 1, analytics: !!prefs.analytics, advertising: !!prefs.advertising, ts: Date.now() };
556            window.localStorage.setItem('cookieConsent', JSON.stringify(payload));
557            const cats = [];
558            if (payload.analytics) cats.push('analytics');
559            if (payload.advertising) cats.push('advertising');
560            const cookieValue = cats.length ? cats.join(',') : 'none';
561            document.cookie = `cookie_consent=${cookieValue}; max-age=31536000; path=/; SameSite=Lax; Secure`;
562        };
563
564        // Honor Global Privacy Control: treat as reject-all, never show the bar.
565        const gpcEnabled = navigator.globalPrivacyControl === true;
566
567        const stored = readPrefs();
568
569        // Re-affirm the server-visible cookie on every load so it can't drift
570        // from localStorage (cookie expires after a year, localStorage forever).
571        if (stored) writePrefs(stored);
572
573        const updateBarHeight = () => {
574            document.documentElement.style.setProperty('--cookie-bar-height', consentBarEl.offsetHeight + 'px');
575        };
576        const barResizeObserver = new ResizeObserver(updateBarHeight);
577
578        const hideBar = () => {
579            barResizeObserver.unobserve(consentBarEl);
580            consentBarEl.classList.add('d-none');
581            consentBarEl.classList.remove('is-configuring');
582            document.documentElement.style.removeProperty('--cookie-bar-height');
583        };
584
585        const showBar = (prefill) => {
586            analyticsToggle.checked = !!(prefill && prefill.analytics);
587            advertisingToggle.checked = !!(prefill && prefill.advertising);
588            consentBarEl.classList.remove('d-none');
589            consentBarEl.classList.remove('is-configuring');
590            updateBarHeight();
591            barResizeObserver.observe(consentBarEl);
592        };
593
594        const commit = (prefs) => {
595            writePrefs(prefs);
596            applyConsent(prefs);
597            hideBar();
598        };
599
600        acceptBtn.addEventListener('click', (e) => {
601            e.preventDefault();
602            commit({ analytics: true, advertising: true });
603        });
604
605        rejectBtn.addEventListener('click', (e) => {
606            e.preventDefault();
607            commit({ analytics: false, advertising: false });
608        });
609
610        configureBtn.addEventListener('click', (e) => {
611            e.preventDefault();
612            consentBarEl.classList.add('is-configuring');
613            updateBarHeight();
614        });
615
616        saveBtn.addEventListener('click', (e) => {
617            e.preventDefault();
618            commit({ analytics: analyticsToggle.checked, advertising: advertisingToggle.checked });
619        });
620
621        // Fetch geo client-side so the response cache can't freeze it to one visitor's location.
622        const resolveCountry = () => {
623            const cached = window.sessionStorage.getItem('geoCountry');
624            if (cached) return Promise.resolve(cached);
625
626            return fetch('https://www.bergesinstitutespanish.com/geo', { headers: { 'Accept': 'application/json' } })
627                .then((res) => res.json())
628                .then((data) => {
629                    if (data.country) {
630                        window.sessionStorage.setItem('geoCountry', data.country);
631                    }
632                    return data.country || null;
633                })
634                .catch(() => null);
635        };
636
637        if (gpcEnabled && !stored) {
638            // GPC: record a reject and move on without showing the bar.
639            writePrefs({ analytics: false, advertising: false });
640        } else if (stored) {
641            applyConsent(stored);
642        } else {
643            resolveCountry().then((country) => {
644                if (country === 'US' || country === 'MX') {
645                    // Outside GDPR scope — treat auto-skip as implicit consent for ad attribution.
646                    const prefs = { analytics: true, advertising: true };
647                    writePrefs(prefs);
648                    applyConsent(prefs);
649                } else {
650                    showBar(null);
651                }
652            });
653        }
654
655        // Footer "Cookie preferences" link calls this.
656        window.showCookiePreferences = () => {
657            const current = readPrefs() || { analytics: false, advertising: false };
658            showBar(current);
659            consentBarEl.classList.add('is-configuring');
660            updateBarHeight();
661        };
662
663        function applyConsent(prefs) {
664            gtag('consent', 'update', {
665                'analytics_storage': prefs.analytics ? 'granted' : 'denied',
666                'ad_storage': prefs.advertising ? 'granted' : 'denied',
667                'ad_user_data': prefs.advertising ? 'granted' : 'denied',
668                'ad_personalization': prefs.advertising ? 'granted' : 'denied'
669            });
670
671            if (prefs.analytics && !window.__clarityLoaded) {
672                window.__clarityLoaded = true;
673                (function(c,l,a,r,i,t,y){
674                    c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
675                    t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
676                    y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
677                })(window, document, "clarity", "script", CLARITY_ID);
678            }
679
680            if (prefs.advertising && !window.__fbPixelLoaded) {
681                window.__fbPixelLoaded = true;
682                !function(f,b,e,v,n,t,s)
683                {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
684                    n.callMethod.apply(n,arguments):n.queue.push(arguments)};
685                    if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
686                    n.queue=[];t=b.createElement(e);t.async=!0;
687                    t.src=v;s=b.getElementsByTagName(e)[0];
688                    s.parentNode.insertBefore(t,s)}(window, document,'script',
689                    'https://connect.facebook.net/en_US/fbevents.js');
690                fbq('init', FB_PIXEL_ID);
691                fbq('track', 'PageView');
692            }
693        }
694    });
695</script>
vendor: 1 bytes, line 695
695
696<script>
697    if (window.electronAPI?.isElectron) {
698        const s = document.createElement('script');
699        s.defer = true;
700        s.src = 'https://cloud.umami.is/script.js';
701        s.dataset.websiteId = '2e842327-995f-40ff-96f6-f13f98e2bd08';
702        document.head.appendChild(s);
703    }
704</script>
vendor: 1 bytes, line 704
704
705<script defer src="https://unpkg.com/feather-icons" onload="feather.replace()"></script>
705
706</body>
707</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.