PageSourceSearch

https://convergenteradio.com/contacto.html

html convergenteradio.com collected 2026-10-08 10:19:34 UTC 13,832 bytes, 243 lines download raw bytes

1<!DOCTYPE html>
2<html lang="es">
3<head>
4<meta charset="utf-8"/>
5<meta content="width=device-width, initial-scale=1.0" name="viewport"/>
6<title>Contacto | Convergente Radio</title>
7<meta content="Contacta a Convergente Radio por formulario, WhatsApp, correo o ubicación en Guadalajara." name="description"/>
8<link href="https://convergenteradio.com/contacto.html" rel="canonical"/>
9<link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;600;800;900&amp;display=swap" rel="stylesheet"/>
10<script src="https://cdn.jsdelivr.net/npm/@hotwired/[email protected]/dist/turbo.es2017-umd.js"></script>
10
11<link href="css/style.css" rel="stylesheet"/>
12<link href="css/tailwind.css" rel="stylesheet"/>
13<!-- Open Graph -->
14<meta content="website" property="og:type"/>
15<meta content="Contacto | Convergente Radio" property="og:title"/>
16<meta content="Escríbenos tus dudas, sugerencias o mensajes para Convergente Radio." property="og:description"/>
17<meta content="assets/og-image.png" property="og:image"/>
18<meta content="https://convergenteradio.com/contacto.html" property="og:url"/>
19<meta content="summary_large_image" name="twitter:card"/>
19<script type="application/ld+json">{"@context": "https://schema.org", "@type": "Organization", "name": "Contacto | Convergente Radio", "url": "https://convergente.mx/contacto.html", "description": "Explora el contenido exclusivo de Contacto | Convergente Radio en Convergente. Descubre nuestra programación, locutores y más."}</script>
19</head>
20<body>
21<!-- DECORATIVE BLOBS -->
22<div class="glass-blob blob-1"></div>
23<div class="glass-blob blob-2"></div>
24<!-- FLOATING WHATSAPP -->
25<a aria-label="WhatsApp" class="floating-ws" href="https://wa.me/3321178297" rel="noopener noreferrer" target="_blank">
26<img alt="" class="invert" loading="lazy" src="https://cdn.jsdelivr.net/gh/simple-icons/simple-icons/icons/whatsapp.svg"/>
27</a>
28<!-- MOBILE HEADER -->
29<header class="mobile-header">
30<a href="index.html">
31<img alt="C" class="w-10 h-10" loading="lazy" src="assets/logo.svg"/>
32</a>
33<button aria-label="Menu" class="nav-toggle" onclick="toggleMenu()">
34<span></span>
35<span></span>
36<span></span>
37</button>
38</header>
39<!-- NAVIGATION (Side) -->
40<nav class="nav-dock">
41<a class="mb-0" href="index.html">
42<img alt="C" class="w-10 h-10" loading="lazy" src="assets/logo.svg"/>
43</a>
44<a class="nav-link" href="index.html#hero">Inicio</a>
45<a class="nav-link" href="index.html#programas">Programación</a>
46<a class="nav-link" href="index.html#nosotros">Nosotros</a>
47<a class="nav-link" href="index.html#locutores">Voces</a>
48<a class="nav-link active" href="contacto.html">Contacto</a>
49</nav>
50<!-- MOBILE OVERLAY -->
51<div class="nav-overlay" id="mobileNav">
52<div class="nav-overlay-content">
53<a class="nav-link" href="index.html#hero">Inicio</a>
54<a class="nav-link" href="index.html#programas">Programación</a>
55<a class="nav-link" href="index.html#nosotros">Nosotros</a>
56<a class="nav-link" href="index.html#locutores">Voces</a>
57<a class="nav-link" href="contacto.html">Contacto</a>
58</div>
59</div>
60<!-- MAIN CONTENT -->
61<main class="max-w-nexus mx-auto px-6 py-16 md:py-32 reveal">
62<!-- 1. HEADER TEXT -->
63<div class="mb-20 text-center">
64<h2 class="text-accent text-xs font-black uppercase tracking-[0.5em] mb-4">ESCRÍBENOS</h2>
65<h1 class="text-white md:text-8xl font-black mb-8 leading-none uppercase" style="font-size: clamp(2.75rem, 10vw, 6rem); overflow-wrap: anywhere;">DUDAS O<br/><span class="text-accent">SUGERENCIAS</span></h1>
66<p class="text-white/40 text-lg md:text-xl max-w-2xl mx-auto leading-relaxed">
67                Completa el formulario y nos pondremos en contacto contigo a la brevedad posible. Tu opinión es fundamental para nosotros.
68            </p>
69</div>
70<!-- 2. CONTACT CARDS -->
71<div class="grid grid-cols-1 md:grid-cols-3 gap-8 mb-24">
72<!-- WhatsApp / Tel -->
73<a class="nexus-card-style hover:scale-[1.02] transition-all group p-8 text-center flex flex-col items-center" href="https://wa.me/3321178297" rel="noopener noreferrer" target="_blank">
74<div class="mb-6 w-12 h-12 bg-green-500/20 rounded-xl flex items-center justify-center group-hover:bg-green-500/30 transition-colors">
75<img alt="WA" class="w-6 h-6 invert opacity-80" loading="lazy" src="https://cdn.jsdelivr.net/gh/simple-icons/simple-icons/icons/whatsapp.svg"/>
76</div>
77<h3 class="text-white text-xl font-bold mb-1 uppercase tracking-tight">WhatsApp</h3>
78<p class="text-white/60 font-bold mb-4">Tel. 33 2117 8297</p>
79<span class="text-accent font-black text-[10px] uppercase tracking-widest">Atención Inmediata</span>
80</a>
81<!-- Email -->
82<a class="nexus-card-style hover:scale-[1.02] transition-all group p-8 text-center flex flex-col items-center" href="#" onclick="window.location.href='mailto:'+['contacto','convergenteradio.com'].join('@'); return false;">
83<div class="mb-6 w-12 h-12 bg-accent/20 rounded-xl flex items-center justify-center group-hover:bg-accent/30 transition-colors">
84<img alt="Email" class="w-6 h-6 invert opacity-80" loading="lazy" src="https://cdn.jsdelivr.net/gh/simple-icons/simple-icons/icons/maildotru.svg"/>
85</div>
86<h3 class="text-white text-xl font-bold mb-1 uppercase tracking-tight">Email</h3>
87<p class="text-white/60 font-bold mb-4">
88<span id="email-obf">contacto [arroba] convergenteradio.com</span>
89<script>
90                        document.getElementById('email-obf').textContent = ['contacto', 'convergenteradio.com'].join('@');
91                    </script>
91
92</p>
93<span class="text-accent font-black text-[10px] uppercase tracking-widest">Escribir Ahora</span>
94</a>
95<!-- Location -->
96<a class="nexus-card-style hover:scale-[1.02] transition-all group p-8 text-center flex flex-col items-center" href="https://www.google.com/maps/search/?api=1&amp;query=Av+de+Las+Rosas+46+Chapalita+Guadalajara+Jal" rel="noopener noreferrer" target="_blank">
97<div class="mb-6 w-12 h-12 bg-white/10 rounded-xl flex items-center justify-center group-hover:bg-accent/20 transition-colors">
98<span class="text-2xl">📍</span>
99</div>
100<h3 class="text-white text-xl font-bold mb-1 uppercase tracking-tight">Ubicación</h3>
101<p class="text-white/60 font-medium mb-4 leading-relaxed">Av de Las Rosas 46-int. 7, Chapalita,<br/>45040 Guadalajara, Jal.</p>
102<span class="text-accent font-black text-[10px] uppercase tracking-widest">Abrir en Google Maps</span>
103</a>
104</div>
105<!-- 3. FORM SECTION -->
106<div class="max-w-3xl mx-auto reveal">
107<div class="nexus-card-style !p-10 border border-white/5">
108<form action="./send-email.php" class="space-y-6" data-turbo="false" id="contact-official-form" method="POST">
109<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
110<div class="space-y-2">
111<label class="text-[10px] font-black text-white/30 uppercase tracking-widest ml-2" for="contact-name">Nombre</label>
112<input autocomplete="name" class="input-nexus" id="contact-name" name="name" required="" type="text"/>
113</div>
114<div class="space-y-2">
115<label class="text-[10px] font-black text-white/30 uppercase tracking-widest ml-2" for="contact-phone">Whatsapp / Tel.</label>
116<input autocomplete="tel" class="input-nexus" id="contact-phone" name="phone" required="" type="tel"/>
117</div>
118</div>
119<div class="space-y-2">
120<label class="text-[10px] font-black text-white/30 uppercase tracking-widest ml-2" for="contact-email">Email</label>
121<input autocomplete="email" class="input-nexus" id="contact-email" name="email" required="" type="email"/>
122</div>
123<div class="space-y-2">
124<label class="text-[10px] font-black text-white/30 uppercase tracking-widest ml-2" for="contact-message">Mensaje</label>
125<textarea class="input-nexus" id="contact-message" name="message" required="" rows="5"></textarea>
126</div>
127<!-- Status -->
128<div class="hidden text-sm font-bold uppercase tracking-widest p-4 rounded-xl text-center" id="form-status"></div>
129<button class="btn-nexus btn-nexus-accent w-full py-6" id="contact-submit" type="submit">
130<span class="btn-text">Enviar Mensaje</span>
131<span class="btn-loader hidden">
132<svg class="animate-spin h-5 w-5 text-white mx-auto" fill="none" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
133<circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
134<path class="opacity-75" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" fill="currentColor"></path>
135</svg>
136</span>
137</button>
138<p class="text-[10px] text-white/20 text-center uppercase tracking-widest">
139                        Seguridad por reCAPTCHA v3
140                    </p>
141</form>
142<!-- Processing Script -->
vendor: 61 bytes, lines 142-143
142
143<script src="https://www.google.com/recaptcha/api.js?render=
1436LdFm8EsAAAAAOReZUTIxJusl52g3MTBxQTzmKta
vendor: 12 bytes, line 143
143"></script>
144<script>
145                    (function() {
146                        const form = document.getElementById('contact-official-form');
147                        if (!form) return;
148
149                        form.addEventListener('submit', function(e) {
150                            e.preventDefault();
151                            const statusEl = document.getElementById('form-status');
152                            const submitBtn = document.getElementById('contact-submit');
153                            const btnText = submitBtn.querySelector('.btn-text');
154                            const btnLoader = submitBtn.querySelector('.btn-loader');
155                            const SITE_KEY = '6LdFm8EsAAAAAOReZUTIxJusl52g3MTBxQTzmKta';
156
157                            // UI reset
158                            statusEl.classList.add('hidden');
159                            submitBtn.disabled = true;
160                            if (btnText) btnText.classList.add('hidden');
161                            if (btnLoader) btnLoader.classList.remove('hidden');
162
163                            const sendData = (token) => {
164                                const controller = new AbortController();
165                                const timeoutId = setTimeout(() => controller.abort(), 15000);
166
167                                const formData = new FormData(form);
168                                formData.append('g-recaptcha-response', token);
169
170                                fetch(form.getAttribute('action'), {
171                                    method: 'POST',
172                                    body: formData,
173                                    headers: { 'Accept': 'application/json' },
174                                    signal: controller.signal
175                                })
176                                .then(r => r.json())
177                                .then(result => {
178                                    clearTimeout(timeoutId);
179                                    if (result.status === 'success') {
180                                        statusEl.textContent = result.message;
181                                        statusEl.className = 'text-sm font-bold uppercase p-4 rounded-xl text-center bg-green-500/20 text-green-400';
182                                        form.reset();
183                                    } else {
184                                        let errorInfo = result.message || 'Error';
185                                        throw new Error(errorInfo);
186                                    }
187                                })
188                                .catch(err => {
189                                    let errMsg = err.message;
190                                    if (err.name === 'AbortError') errMsg = "Tiempo agotado.";
191                                    statusEl.textContent = "Error: " + errMsg;
192                                    statusEl.className = 'text-sm font-bold uppercase p-4 rounded-xl text-center bg-red-500/20 text-red-100';
193                                })
194                                .finally(() => {
195                                    statusEl.classList.remove('hidden');
196                                    submitBtn.disabled = false;
197                                    if (btnText) btnText.classList.remove('hidden');
198                                    if (btnLoader) btnLoader.classList.add('hidden');
199                                });
200                            };
201
202                            if (typeof grecaptcha !== 'undefined' && grecaptcha.execute) {
203                                grecaptcha.ready(() => {
204                                    grecaptcha.execute(SITE_KEY, { action: 'submit' }).then(sendData);
205                                });
206                            } else {
207                                statusEl.textContent = "Cargando reCAPTCHA...";
208                                statusEl.classList.remove('hidden');
209                                submitBtn.disabled = false;
210                            }
211                        });
212                    })();
213                </script>
213
214</div>
215</div>
216</main>
217<!-- FOOTER -->
218<div id="footer-placeholder"></div>
219<!-- PLAYER -->
220<div class="player-nexus" data-turbo-permanent="" id="main-player">
221<audio id="audio" preload="none"></audio>
222<div class="player-info">
223<span class="en-vivo-badge">En Vivo</span>
224<span class="station-name">Convergente Radio</span>
225<span class="now-playing" id="now-playing-text"></span>
226</div>
227<div id="spectrum-bars">
228<div class="spectrum-bar"></div>
229<div class="spectrum-bar"></div>
230<div class="spectrum-bar"></div>
231<div class="spectrum-bar"></div>
232<div class="spectrum-bar"></div>
233</div>
234<div class="player-btn-container">
235<button aria-label="Reproducir" class="play-btn-nexus" id="play-btn" onclick="togglePlay()"><svg fill="currentColor" height="22" style="margin-left: 2px;" viewbox="0 0 24 24" width="22"><path d="M8 5v14l11-7z"></path></svg></button>
236</div>
237</div>
238<script defer="" src="https://cdn.jsdelivr.net/npm/[email protected]/dist/hls.min.js"></script>
vendor: 1 bytes, line 238
238
239<script defer="" src="js/versiculos.js"></script>
vendor: 1 bytes, line 239
239
240<script defer="" src="js/footer.js?v=1.2"></script>
vendor: 1 bytes, line 240
240
241<script defer="" src="js/main.js?v=1.2"></script>
241
242</body>
243</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.