PageSourceSearch

https://www.spanishcourseinspain.com/users/login/

html spanishcourseinspain.com collected 2026-09-26 06:16:55 UTC 23,450 bytes, 853 lines download raw bytes

1
2
3
4<!DOCTYPE html>
5<!-- BEGIN templates/base.html -->
6<html>
7<head>
8    <meta charset="UTF-8">
9    <meta name="viewport" content="initial-scale=1.0,maximum-scale=1.0,user-scalable=no">
10    <meta http-equiv="X-UA-Compatible" content="IE=edge">
11    <meta name="msapplication-tap-highlight" content="no" />
12    <meta name="robots" content="noindex,nofollow">
13
14    <title>
15        Qvadix
16    </title>
17
18    <!-- Favicon -->
19    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/css/flag-icons.min.css">
20    <link rel="icon" href="/static/img/favicon-qvadix.ico" type="image/vnd.microsoft.icon" />
21
22
23    <!-- Bootstrap -->
24    <link rel="stylesheet" as="style" href="https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap">
25    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/7.0.1/css/all.min.css" integrity="sha512-2SwdPD6INVrV/lHTZbO2nodKhrnDdJK9/kg2XD1r9uGqPo1cUbujc+IYdlYdEErWNu69gVcYgdxlmVmzTWnetw==" crossorigin="anonymous" referrerpolicy="no-referrer" />
26    <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css" rel="stylesheet"
27          type='text/css'>
28    <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet"
29          integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
30    <!-- From bower-components -->
31    <link rel="stylesheet" type='text/css'
32          href="/static/bower_components/weather-icons/css/weather-icons.min.css" media="all">
33    <link rel="stylesheet" type='text/css'
34          href="/static/bower_components/metrics-graphics/dist/metricsgraphics.css">
35    <link rel="stylesheet" type='text/css' href="/static/bower_components/chartist/dist/chartist.min.css">
36    <link rel="stylesheet" type='text/css' href="/static/bower_components/uikit/css/uikit.almost-flat.min.css"
37          media="all">
38
39    <!-- From assert -->
40    <link rel="stylesheet" type='text/css' href="/static/assets/icons/flags/flags.css" media="all">
41    <link rel="stylesheet" type='text/css' href="/static/assets/css/style_switcher.min.css" media="all">
42    <link rel="stylesheet" type='text/css' href="/static/assets/css/main.css" media="all">
43    <link rel="stylesheet" type='text/css' href="/static/assets/css/ckeditor-custom.css" media="all">
44    <link rel="stylesheet" type='text/css' href="/static/assets/css/new_back.css" media="all">
45    <link rel="stylesheet" type='text/css' href="/static/assets/css/themes/themes_combined.min.css" media="all">
46    <link rel="stylesheet" type='text/css' href="/static/assets/skins/dropify/css/dropify.css">
47
48    <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
49    <link href="https://fonts.googleapis.com/icon?family=Material+Icons+Outlined" rel="stylesheet">
50
51    <!-- Custom -->
52    <link rel="stylesheet" type='text/css' href="/static/css/custom.css" media="all">
53    <link rel="stylesheet" type='text/css' href="/static/css/breadcrumbs.css" media="all">
54    <link rel="stylesheet" type='text/css' href="/static/css/pnotify.custom.min.css" media="all">
55
56    
57    
58    
59
60        <link rel="stylesheet" href="/static/css/base/base.css">
61    
62<style>
63    /* ========================================
64       LOGIN PAGE - QVADIX TECH REDESIGN
65       ======================================== */
66
67    :root {
68        --primary: #1E3A8A;
69        --primary-dark: #152b66;
70        --secondary: #717c9a;
71        --secondary-light: #8e99b5;
72        --dark: #1e293b;
73        --light: #ffffff;
74        --gray-bg: #f8fafc;
75        --gray-border: #e2e8f0;
76        --success: #10b981;
77        --warning: #f59e0b;
78        --error: #ef4444;
79        --header-height: 70px;
80    }
81
82    /* Reset y estructura base */
83    body.login_page {
84        min-height: 100vh;
85        display: flex;
86        align-items: center;
87        font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
88        margin: 0;
89        padding: 0;
90        position: relative;
91        background-color: var(--light);
92    }
93
94    /* Fondo con imagen + overlay */
95    body.login_page::before {
96        content: '';
97        position: fixed;
98        top: 0;
99        left: 0;
100        right: 0;
101        bottom: 0;
102        background-image: linear-gradient(rgba(255,255,255,0.9), rgba(255,255,255,0.8)), url("/static/img/qvadix/bgsaas.jpg");
103        background-size: cover;
104        background-position: center;
105        background-repeat: no-repeat;
106        pointer-events: none;
107        z-index: 0;
108    }
109
110    /* Grid tecnológico superpuesto (sutil) */
111    body.login_page::after {
112        content: '';
113        position: fixed;
114        top: 0;
115        left: 0;
116        right: 0;
117        bottom: 0;
118        background-image:
119            linear-gradient(var(--primary) 0.5px, transparent 0.5px),
120            linear-gradient(90deg, var(--primary) 0.5px, transparent 0.5px);
121        background-size: 50px 50px;
122        opacity: 0.02;
123        pointer-events: none;
124        z-index: 1;
125    }
126
127    /* Header superior */
128    .top-header {
129        position: fixed;
130        top: 0;
131        left: 0;
132        right: 0;
133        height: var(--header-height);
134        background: rgba(255, 255, 255, 0.95);
135        backdrop-filter: blur(10px);
136        border-bottom: 1px solid var(--gray-border);
137        display: flex;
138        align-items: center;
139        padding: 0 40px;
140        z-index: 100;
141    }
142
143    .header-content {
144        display: flex;
145        align-items: center;
146        justify-content: space-between;
147        width: 100%;
148        max-width: 1400px;
149        margin: 0 auto;
150    }
151
152    .header-logo {
153        height: 40px;
154    }
155
156    .header-logo img {
157        height: 100%;
158        width: auto;
159    }
160
161    .header-nav {
162        display: flex;
163        gap: 32px;
164        align-items: center;
165    }
166
167    .header-nav a {
168        color: var(--dark);
169        text-decoration: none;
170        font-size: 14px;
171        font-weight: 500;
172        transition: color 0.2s;
173    }
174
175    .header-nav a:hover {
176        color: var(--primary);
177    }
178
179    .header-demo {
180        background: var(--primary);
181        color: white !important;
182        padding: 8px 20px;
183        border-radius: 40px;
184        font-weight: 600;
185    }
186
187    .header-demo:hover {
188        background: var(--primary-dark);
189        color: white !important;
190    }
191
192    /* Contenedor principal */
193    .login-container {
194        width: 100%;
195        max-width: 1400px;
196        margin: 0 auto;
197        padding: calc(var(--header-height) + 40px) 40px 40px;
198        display: grid;
199        grid-template-columns: 1fr 1fr;
200        gap: 60px;
201        align-items: center;
202        position: relative;
203        z-index: 10;
204    }
205
206    /* Lado izquierdo - Contenido de marketing */
207    .marketing-side {
208        padding-right: 40px;
209    }
210
211    .badge {
212        display: inline-flex;
213        align-items: center;
214        gap: 8px;
215        background: rgba(30, 58, 138, 0.08);
216        color: var(--primary);
217        padding: 8px 16px;
218        border-radius: 40px;
219        font-size: 13px;
220        font-weight: 600;
221        margin-bottom: 24px;
222    }
223
224    .badge i {
225        font-size: 16px;
226    }
227
228    .marketing-title {
229        font-size: 55px;
230        font-weight: 800;
231        line-height: 1.1;
232        color: var(--dark);
233        margin: 0 0 24px 0;
234        letter-spacing: -0.02em;
235    }
236
237    .marketing-title span {
238        color: var(--primary);
239        position: relative;
240    }
241
242    .marketing-title span::after {
243        content: '';
244        position: absolute;
245        bottom: 4px;
246        left: 0;
247        width: 100%;
248        height: 8px;
249        background: rgba(30, 58, 138, 0.2);
250        z-index: -1;
251    }
252
253    .marketing-description {
254        font-size: 22px;
255        color: var(--secondary);
256        line-height: 1.6;
257        margin-bottom: 40px;
258        max-width: 500px;
259    }
260
261    /* Estadísticas / Features */
262    .stats-grid {
263        display: grid;
264        grid-template-columns: repeat(3, 1fr);
265        gap: 30px;
266        margin-bottom: 50px;
267    }
268
269    .stat-item {
270        text-align: left;
271    }
272
273    .stat-number {
274        font-size: 32px;
275        font-weight: 700;
276        color: var(--primary);
277        margin-bottom: 8px;
278    }
279
280    .stat-label {
281        font-size: 14px;
282        color: var(--secondary);
283        line-height: 1.4;
284    }
285
286    /* Lado derecho - Login */
287    .login-side {
288        background: var(--light);
289        border-radius: 24px;
290        box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15);
291        padding: 48px;
292        border: 1px solid var(--gray-border);
293    }
294
295    .login-header {
296        margin-bottom: 32px;
297    }
298
299    .login-header h3 {
300        font-size: 24px;
301        font-weight: 700;
302        color: var(--dark);
303        margin: 0 0 8px 0;
304    }
305
306    .login-header p {
307        font-size: 15px;
308        color: var(--secondary);
309        margin: 0;
310    }
311
312    /* Formulario */
313    .form-group {
314        margin-bottom: 24px;
315    }
316
317    .form-group label {
318        display: block;
319        font-size: 13px;
320        font-weight: 600;
321        color: var(--dark);
322        margin-bottom: 8px;
323    }
324
325    .input-wrapper {
326        position: relative;
327        display: flex;
328        align-items: center;
329    }
330
331    .input-icon {
332        position: absolute;
333        left: 16px;
334        color: var(--secondary);
335        font-size: 20px;
336        z-index: 2;
337    }
338
339    .toggle-password {
340        position: absolute;
341        right: 16px;
342        color: var(--secondary);
343        font-size: 20px;
344        cursor: pointer;
345        z-index: 2;
346        transition: all 0.2s ease;
347        background: none;
348        border: none;
349        display: flex;
350        align-items: center;
351        justify-content: center;
352        padding: 0;
353    }
354
355    .toggle-password:hover {
356        color: var(--primary);
357    }
358
359    .form-control {
360        width: 100%;
361        padding: 16px 48px 16px 48px;
362        font-size: 15px;
363        color: var(--dark);
364        background-color: var(--gray-bg);
365        border: 1px solid var(--gray-border);
366        border-radius: 12px;
367        transition: all 0.2s;
368        outline: none;
369    }
370
371    .form-control:hover {
372        background-color: var(--light);
373        border-color: var(--secondary);
374    }
375
376    .form-control:focus {
377        background-color: var(--light);
378        border-color: var(--primary);
379        box-shadow: 0 0 0 4px rgba(30, 58, 138, 0.1);
380    }
381
382    /* Opciones del formulario */
383    .form-options {
384        display: flex;
385        align-items: center;
386        justify-content: space-between;
387        margin: 16px 0 32px;
388    }
389
390    .remember-me {
391        display: flex;
392        align-items: center;
393        gap: 8px;
394    }
395
396    .remember-me input[type="checkbox"] {
397        width: 18px;
398        height: 18px;
399        accent-color: var(--primary);
400    }
401
402    .remember-me label {
403        font-size: 14px;
404        color: var(--secondary);
405    }
406
407    .forgot-link {
408        font-size: 14px;
409        color: var(--primary);
410        text-decoration: none;
411        font-weight: 500;
412    }
413
414    .forgot-link:hover {
415        text-decoration: underline;
416    }
417
418    /* Botón de login */
419    .btn-login {
420        width: 100%;
421        padding: 16px;
422        background: var(--primary);
423        color: white;
424        border: none;
425        border-radius: 12px;
426        font-size: 16px;
427        font-weight: 600;
428        cursor: pointer;
429        transition: background 0.2s;
430        margin-bottom: 24px;
431    }
432
433    .btn-login:hover {
434        background: var(--primary-dark);
435    }
436
437    /* Registro */
438    .register-prompt {
439        text-align: center;
440        padding-top: 24px;
441        border-top: 1px solid var(--gray-border);
442    }
443
444    .register-prompt p {
445        font-size: 14px;
446        color: var(--secondary);
447        margin: 0;
448    }
449
450    .register-prompt a {
451        color: var(--primary);
452        text-decoration: none;
453        font-weight: 600;
454    }
455
456    .register-prompt a:hover {
457        text-decoration: underline;
458    }
459
460    /* Mensajes de error/aviso */
461    .alert-error, .alert-warning {
462        background: #fff;
463        border-left: 4px solid;
464        border-radius: 12px;
465        padding: 16px 20px;
466        margin-bottom: 24px;
467        display: flex;
468        align-items: center;
469        gap: 12px;
470        font-size: 14px;
471        box-shadow: 0 2px 8px rgba(0,0,0,0.05);
472    }
473
474    .alert-error {
475        border-left-color: var(--error);
476        color: var(--error);
477    }
478
479    .alert-warning {
480        border-left-color: var(--warning);
481        color: var(--warning);
482    }
483
484    .error-message {
485        margin-top: 6px;
486        font-size: 12px;
487        color: var(--error);
488        display: flex;
489        align-items: center;
490        gap: 4px;
491    }
492
493    /* Panel de ayuda */
494    .help-section {
495        background: var(--gray-bg);
496        border-radius: 12px;
497        padding: 20px;
498        margin: 24px 0 0;
499        border: 1px solid var(--gray-border);
500    }
501
502    .help-section p {
503        margin: 0;
504        font-size: 14px;
505        color: var(--dark);
506    }
507
508    .help-section strong {
509        color: var(--primary);
510    }
511
512    /* Footer */
513    .login-footer {
514        grid-column: 1 / -1;
515        text-align: center;
516        padding-top: 60px;
517        border-top: 1px solid var(--gray-border);
518        margin-top: 10px;
519    }
520
521    .footer-links {
522        display: flex;
523        justify-content: center;
524        gap: 40px;
525        margin-bottom: 24px;
526        flex-wrap: wrap;
527    }
528
529    .footer-links a {
530        color: var(--secondary);
531        text-decoration: none;
532        font-size: 14px;
533        transition: color 0.2s;
534    }
535
536    .footer-links a:hover {
537        color: var(--primary);
538    }
539
540    .footer-logos {
541        display: flex;
542        align-items: center;
543        justify-content: center;
544        gap: 30px;
545        margin: 30px 0 20px;
546        flex-wrap: wrap;
547    }
548
549    .footer-logos img {
550        opacity: 0.8;
551        transition: opacity 0.2s;
552        max-width: 140px;
553        height: auto;
554    }
555
556    .footer-logos img:hover {
557        opacity: 1;
558        filter: brightness(1);
559    }
560
561    .footer-copyright {
562        color: var(--secondary);
563        font-size: 13px;
564    }
565
566    /* Responsive */
567    @media (max-width: 1024px) {
568        .login-container {
569            grid-template-columns: 1fr;
570            gap: 40px;
571        }
572
573        .marketing-side {
574            padding-right: 0;
575            text-align: center;
576        }
577
578        .marketing-description {
579            margin-left: auto;
580            margin-right: auto;
581        }
582
583        .stats-grid {
584            justify-content: center;
585        }
586    }
587
588    @media (max-width: 768px) {
589        .login-container {
590            padding: calc(var(--header-height) + 20px) 20px 20px;
591        }
592
593        .marketing-title {
594            font-size: 36px;
595        }
596
597        .stats-grid {
598            grid-template-columns: 1fr;
599            gap: 20px;
600        }
601
602        .login-side {
603            padding: 32px 24px;
604        }
605
606        .header-nav {
607            gap: 16px;
608        }
609
610        .footer-links {
611            gap: 20px;
612        }
613    }
614</style>
615
616    
617
618    
619        <!-- jQuery (una sola vez) -->
620        
620<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
620
621        
621<script src="/static/js/cookie_post_csrf.js"></script>
621
622        
622<script>
623            
624                LANGUAGES = ["es", "en", "pl", "it", "nl"];
625                LANGUAGE_NAMES = { "es": "Español", "en": "Inglés", "pl": "Polaco", "it": "Italiano", "nl": "Neerlandés" };
626            
627        </script>
627
628        <!-- Google Tag Manager -->
629        
629<script>
vendor: 534 bytes, lines 629-641
629(function (w, d, s, l, i) {
630            w[l] = w[l] || [];
631            w[l].push({
632                'gtm.start':
633                    new Date().getTime(), event: 'gtm.js'
634            });
635            var f = d.getElementsByTagName(s)[0],
636                j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : '';
637            j.async = true;
638            j.src =
639                'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
640            f.parentNode.insertBefore(j, f);
641        })(window, document, 'script', 'dataLayer', '
641GTM-WBVF25D
vendor: 3 bytes, line 641
641');
641</script>
641
642        <!-- End Google Tag Manager -->
643    
644
645    
646
647</head>
648
649
650<body class="
651login_page
652 app_theme_h boxed_layout">
653
654    <!-- Google Tag Manager (noscript) -->
vendor: 81 bytes, lines 654-656
654
655    <noscript>
656        <iframe src="https://www.googletagmanager.com/ns.html?id=
656GTM-WBVF25D
vendor: 108 bytes, lines 656-659
656"
657                height="0" width="0" style="display:none;visibility:hidden"></iframe>
658    </noscript>
659    
659<!-- End Google Tag Manager (noscript) -->
660
661
662<!-- Bloque principal, con el contenido de la página -->
663
664
665<!-- Header superior -->
666<header class="top-header">
667    <div class="header-content">
668        <img src="/static/img/logos/qvadix.png" alt="Qvadix" class="header-logo">
669        <nav class="header-nav">
670            <a href="#">Producto</a>
671            <a href="#" class="header-demo">Solicitar demo</a>
672        </nav>
673    </div>
674</header>
675
676<!-- Contenedor principal -->
677<div class="login-container">
678
679    <!-- Lado izquierdo - Marketing -->
680    <div class="marketing-side">
681        <div class="badge">
682            <i class="material-icons">stars_2</i>
683            Plataforma centralizada de gestión educativa #1 en España
684        </div>
685
686        <h1 class="marketing-title">
687            Powering the global <br> student journey
688        </h1>
689
690        <p class="marketing-description">
691            Qvadix te ayuda a gestionar mejor tus estudiantes, vender más y aprovecha cada leads.
692        </p>
693
694        <!-- Estadísticas -->
695        <div class="stats-grid">
696            <div class="stat-item">
697                <div class="stat-number">+500</div>
698                <div class="stat-label">Centros educativos</div>
699            </div>
700            <div class="stat-item">
701                <div class="stat-number">50K+</div>
702                <div class="stat-label">Estudiantes</div>
703            </div>
704            <div class="stat-item">
705                <div class="stat-number">60%</div>
706                <div class="stat-label">Velocidad en gestión</div>
707            </div>
708        </div>
709    </div>
710
711    <!-- Lado derecho - Login -->
712    <div class="login-side">
713        <div class="login-header">
714            <h3>Accede a tu cuenta</h3>
715            <p>Introduce tus credenciales para continuar</p>
716        </div>
717
718        
719
720        
721
722        <form role="form" action="/users/login/" method="POST">
723            <input type="hidden" name="csrfmiddlewaretoken" value="osdSNrRygQfkpLH6sLcw0kAHGsoji5vLtMaKBuY8IVhjnHwZkLdLxyD2NbbUnQIO">
724
725            <!-- Campo Usuario -->
726            <div class="form-group">
727                <label for="login_username">Username</label>
728                <div class="input-wrapper">
729                    <i class="material-icons input-icon">person_outline</i>
730                    <input class="form-control" type="text" id="login_username"
731                           placeholder="[email protected]" name="username" autocomplete="username">
732                </div>
733                
734            </div>
735
736            <!-- Campo Contraseña con botón de mostrar/ocultar -->
737            <div class="form-group">
738                <label for="login_password">Password</label>
739                <div class="input-wrapper">
740                    <i class="material-icons input-icon">lock_outline</i>
741                    <input class="form-control" type="password" id="login_password"
742                           placeholder="••••••••" name="password" autocomplete="current-password">
743                    <button type="button" class="toggle-password" data-target="login_password">
744                        <i class="material-icons">visibility_off</i>
745                    </button>
746                </div>
747                
748            </div>
749
750            <div class="form-options">
751                <label class="remember-me">
752                    <input type="checkbox" name="remember">
753                    <span>Recordarme</span>
754                </label>
755                <a href="#" class="forgot-link">¿Olvidaste tu contraseña?</a>
756            </div>
757
758            <button type="submit" class="btn-login">
759                Iniciar sesión
760            </button>
761
762        </form>
763    </div>
764
765    <!-- Footer -->
766    <footer class="login-footer">
767        <div class="footer-links">
768            <a href="#">Política de privacidad</a>
769            <a href="#">Términos de uso</a>
770            <a href="#">Cookies</a>
771        </div>
772
773        <div class="footer-logos">
774            <img loading="lazy" src="/static/img/logos/financiado_eu_horizontal_white.png" alt="Unión Europea"/>
775            <img loading="lazy" src="/static/img/logos/logo_PRTR_BLANCO.png" alt="PRTR"/>
776        </div>
777
778        <div class="footer-copyright">
779            © 2026 Qvadix. Todos los derechos reservados.
780        </div>
781    </footer>
782
783</div>
784
785<script>
786    // Funcionalidad para mostrar/ocultar contraseña
787    document.querySelectorAll('.toggle-password').forEach(button => {
788        button.addEventListener('click', function() {
789            const targetId = this.getAttribute('data-target');
790            const input = document.getElementById(targetId);
791            const icon = this.querySelector('i');
792
793            if (input.type === 'password') {
794                input.type = 'text';
795                icon.textContent = 'visibility';
796            } else {
797                input.type = 'password';
798                icon.textContent = 'visibility_off';
799            }
800        });
801    });
802
803    // Prevención de doble envío
804    document.addEventListener('DOMContentLoaded', function() {
805        const form = document.querySelector('form');
806        if (form) {
807            form.addEventListener('submit', function() {
808                const btn = this.querySelector('button[type="submit"]');
809                if (btn) {
810                    btn.disabled = true;
811                    btn.textContent = 'Iniciando sesión...';
812                }
813            });
814        }
815    });
816</script>
816
817
818
819<!-- Javascript que deben insertarse al final del documento -->
820<!-- Javascript que deben insertarse al final del documento -->
821
822
823    <!-- Primero jQuery (ya está arriba, pero asegúrate que solo hay una versión) -->
824
825    <!-- Después CKEditor -->
826    
826<script src="https://cdn.ckeditor.com/4.25.1-lts/standard/ckeditor.js"></script>
826
827
828    <!-- Luego tu script de inicialización -->
829    
830    
830<script src="/static/assets/js/ckeditor-init.js"></script>
830
831    
832    <!-- El resto de scripts -->
833    
833<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.13.0/moment.min.js"></script>
833
834    
834<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.37/js/bootstrap-datetimepicker.min.js"></script>
834
835    
835<script src="https://cdnjs.cloudflare.com/ajax/libs/selectize.js/0.12.6/js/standalone/selectize.min.js"></script>
835
836
837    
837<script src="/static/assets/js/common.min.js"></script>
837
838    
838<script src="/static/assets/js/uikit_custom.min.js"></script>
838
839    
839<script src="/static/assets/js/altair_admin_common.min.js"></script>
839
840    
840<script src="/static/assets/js/custom/dropify/src/js/dropify.js"></script>
840
841    
841<script src="/static/js/django-uploader.js"></script>
841
842    
842<script src="/static/js/base.js"></script>
842
843    
843<script src="/static/js/libs/pnotify.custom.min.js"></script>
843
844
845
846
847<!-- Javascript en linea -->
848 
849
850
851</body>
852</html>
853<!-- END templates/base.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.