utn-cli 2.1.54 → 2.1.55
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/templates/backend/package.json +3 -3
- package/templates/backend/rutas/DatosMiscelaneos.js +50 -0
- package/templates/backend/rutas/misc.js +177 -5
- package/templates/backend/rutas/rutas.js +2 -0
- package/templates/backend/servicios/Nucleo/DatosMiscelaneos.js +36 -0
- package/templates/backend/servicios/Nucleo/Miscelaneas.js +192 -25
- package/templates/frontend/Dockerfile +1 -0
- package/templates/frontend/src/app/Componentes/Nucleo/boton-ayuda/boton-ayuda.component.css +7 -0
- package/templates/frontend/src/app/Componentes/Nucleo/boton-ayuda/boton-ayuda.component.html +28 -0
- package/templates/frontend/src/app/Componentes/Nucleo/boton-ayuda/boton-ayuda.component.ts +78 -0
- package/templates/frontend/src/app/Componentes/Nucleo/estadisticas-del-modulo/estadisticas-del-modulo.component.html +43 -8
- package/templates/frontend/src/app/Componentes/Nucleo/estadisticas-del-modulo/estadisticas-del-modulo.component.ts +5 -4
- package/templates/frontend/src/app/Componentes/Nucleo/gestion-actividad/gestion-actividad.component.ts +1 -0
- package/templates/frontend/src/app/Componentes/Nucleo/mensaje-confirmacion/mensaje-confirmacion.component.css +4 -2
- package/templates/frontend/src/app/Componentes/Nucleo/mensaje-institucional/mensaje-institucional.component.html +3 -3
- package/templates/frontend/src/app/Componentes/Nucleo/mensaje-institucional/mensaje-institucional.component.ts +1 -1
- package/templates/frontend/src/app/Componentes/Nucleo/subir-archivo/subir-archivo.component.ts +1 -1
- package/templates/frontend/src/app/Paginas/Nucleo/accesibilidad/accesibilidad.component.css +25 -0
- package/templates/frontend/src/app/Paginas/Nucleo/accesibilidad/accesibilidad.component.html +2 -0
- package/templates/frontend/src/app/Paginas/Nucleo/accesibilidad/accesibilidad.component.ts +31 -2
- package/templates/frontend/src/app/Paginas/Nucleo/acercade/acercade.component.css +67 -18
- package/templates/frontend/src/app/Paginas/Nucleo/acercade/acercade.component.html +56 -46
- package/templates/frontend/src/app/Paginas/Nucleo/acercade/acercade.component.ts +21 -1
- package/templates/frontend/src/app/Paginas/Nucleo/conozcanos/conozcanos.component.css +190 -375
- package/templates/frontend/src/app/Paginas/Nucleo/conozcanos/conozcanos.component.html +92 -91
- package/templates/frontend/src/app/Paginas/Nucleo/conozcanos/conozcanos.component.ts +19 -2
- package/templates/frontend/src/app/Paginas/Nucleo/contenedor-componentes/contenedor-componentes.component.ts +2 -2
- package/templates/frontend/src/app/Paginas/Nucleo/declaracion-ia/declaracion-ia.component.css +25 -0
- package/templates/frontend/src/app/Paginas/Nucleo/declaracion-ia/declaracion-ia.component.html +2 -0
- package/templates/frontend/src/app/Paginas/Nucleo/declaracion-ia/declaracion-ia.component.ts +33 -3
- package/templates/frontend/src/app/Paginas/Nucleo/politicas/politicas.component.css +69 -15
- package/templates/frontend/src/app/Paginas/Nucleo/politicas/politicas.component.html +129 -107
- package/templates/frontend/src/app/Paginas/Nucleo/politicas/politicas.component.ts +51 -9
- package/templates/frontend/src/app/Paginas/Nucleo/preguntasFrecuentes/preguntasFrecuentes.component.css +68 -15
- package/templates/frontend/src/app/Paginas/Nucleo/preguntasFrecuentes/preguntasFrecuentes.component.html +161 -88
- package/templates/frontend/src/app/Paginas/Nucleo/preguntasFrecuentes/preguntasFrecuentes.component.ts +63 -10
- package/templates/frontend/src/app/Paginas/Nucleo/sabiasque/sabiasque.component.css +100 -24
- package/templates/frontend/src/app/Paginas/Nucleo/sabiasque/sabiasque.component.html +269 -339
- package/templates/frontend/src/app/Paginas/Nucleo/sabiasque/sabiasque.component.ts +94 -6
|
@@ -1,97 +1,170 @@
|
|
|
1
|
-
<div class="
|
|
2
|
-
<
|
|
3
|
-
</div>
|
|
4
|
-
<div class="politicas-container">
|
|
5
|
-
|
|
6
|
-
<!-- Árbol-->
|
|
7
|
-
<div class="tree-container">
|
|
1
|
+
<div class="ia-layout">
|
|
2
|
+
<main class="ia-main">
|
|
8
3
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
<div
|
|
12
|
-
<
|
|
13
|
-
<span class="tree-title">1. ¿Cómo recuperar la clave acceso en SIGU?</span>
|
|
4
|
+
<header class="ia-encabezado">
|
|
5
|
+
<mat-icon class="ia-icono-header">help_outline</mat-icon>
|
|
6
|
+
<div>
|
|
7
|
+
<h1>Preguntas frecuentes</h1>
|
|
14
8
|
</div>
|
|
15
|
-
|
|
16
|
-
<p><strong>Para restablecer la contraseña de acceso, siga el siguiente procedimiento:</strong></p>
|
|
9
|
+
</header>
|
|
17
10
|
|
|
18
|
-
|
|
11
|
+
<section class="ia-seccion">
|
|
12
|
+
<div class="tree-container">
|
|
19
13
|
|
|
20
|
-
<
|
|
14
|
+
<div
|
|
15
|
+
*ngFor="let pregunta of preguntas"
|
|
16
|
+
class="tree-item"
|
|
17
|
+
[class.expanded-item]="expandedItems[pregunta.id]"
|
|
18
|
+
>
|
|
19
|
+
|
|
20
|
+
<div class="tree-header" (click)="toggleItem(pregunta.id)">
|
|
21
|
+
<span class="tree-icon">
|
|
22
|
+
{{ expandedItems[pregunta.id] ? '▼' : '▶' }}
|
|
23
|
+
</span>
|
|
24
|
+
<span class="tree-title">
|
|
25
|
+
{{ pregunta.titulo }}
|
|
26
|
+
</span>
|
|
27
|
+
</div>
|
|
28
|
+
|
|
29
|
+
<div class="tree-content" [class.expanded]="expandedItems[pregunta.id]">
|
|
30
|
+
|
|
31
|
+
<ng-container [ngSwitch]="pregunta.id">
|
|
32
|
+
|
|
33
|
+
<!-- ITEM 1 -->
|
|
34
|
+
<ng-container *ngSwitchCase="'item1'">
|
|
35
|
+
|
|
36
|
+
<p><strong>Para restablecer la contraseña de acceso, siga el siguiente procedimiento:</strong></p>
|
|
37
|
+
|
|
38
|
+
<p>1.1 Ingrese al portal de inicio de sesión de SIGU y digite su número de identificación.</p>
|
|
39
|
+
|
|
40
|
+
<p>1.2 Seleccione la opción <strong>¿Olvidó su clave de acceso?</strong>.</p>
|
|
41
|
+
|
|
42
|
+
<div class="conozcanos-image">
|
|
43
|
+
<img src="preguntasF-1.png" alt="Equipo SIGU">
|
|
44
|
+
</div>
|
|
45
|
+
|
|
46
|
+
<p>
|
|
47
|
+
El sistema mostrará un mensaje de confirmación indicando:
|
|
48
|
+
<strong>
|
|
49
|
+
Por favor revise su correo electrónico, se han enviado las instrucciones para continuar con el cambio de clave
|
|
50
|
+
</strong>.
|
|
51
|
+
Haga clic en <strong>continuar</strong>.
|
|
52
|
+
</p>
|
|
53
|
+
|
|
54
|
+
<p>
|
|
55
|
+
1.4 Acceda a la bandeja de entrada del correo electrónico registrado en su cuenta.
|
|
56
|
+
Allí encontrará un mensaje automático con una clave nueva.
|
|
57
|
+
</p>
|
|
58
|
+
|
|
59
|
+
<p>
|
|
60
|
+
1.5 Regrese a la página de inicio de sesión de SIGU e ingrese su número de identificación
|
|
61
|
+
junto con la clave nueva proporcionada.
|
|
62
|
+
</p>
|
|
63
|
+
|
|
64
|
+
<p>
|
|
65
|
+
1.6 El sistema solicitará una verificación de identidad. Se enviará un código de verificación
|
|
66
|
+
a su correo electrónico registrado.
|
|
67
|
+
</p>
|
|
68
|
+
|
|
69
|
+
<p>
|
|
70
|
+
1.7 Copie el código recibido, péguelo en el campo indicado y haga clic en
|
|
71
|
+
<strong>siguiente</strong>.
|
|
72
|
+
</p>
|
|
73
|
+
|
|
74
|
+
<div class="conozcanos-image">
|
|
75
|
+
<img src="preguntasF-2.png" alt="Equipo SIGU">
|
|
76
|
+
</div>
|
|
77
|
+
|
|
78
|
+
<p>
|
|
79
|
+
1.8 Una vez validado el código, recibirá el mensaje
|
|
80
|
+
<strong>verificación exitosa</strong> y será redirigido automáticamente
|
|
81
|
+
al panel principal de su cuenta.
|
|
82
|
+
</p>
|
|
83
|
+
|
|
84
|
+
<p>
|
|
85
|
+
<strong>Nota:</strong>
|
|
86
|
+
Se recomienda cambiar la contraseña temporal por una nueva una vez dentro del sistema.
|
|
87
|
+
</p>
|
|
88
|
+
|
|
89
|
+
</ng-container>
|
|
90
|
+
|
|
91
|
+
<!-- ITEM 2 -->
|
|
92
|
+
<ng-container *ngSwitchCase="'item2'">
|
|
93
|
+
|
|
94
|
+
<p><strong>Para cambiar su clave, realice los siguientes pasos:</strong></p>
|
|
95
|
+
|
|
96
|
+
<p>2.1 Inicie sesión en SIGU con sus credenciales actuales.</p>
|
|
97
|
+
|
|
98
|
+
<p>
|
|
99
|
+
2.2 En el panel principal, diríjase al menú superior y ubique el ícono de usuario
|
|
100
|
+
(representado por silueta de persona) en el extremo derecho.
|
|
101
|
+
</p>
|
|
102
|
+
|
|
103
|
+
<div class="preguntados-image">
|
|
104
|
+
<img src="preguntasF-3.png" alt="Equipo SIGU">
|
|
105
|
+
</div>
|
|
106
|
+
|
|
107
|
+
<p>
|
|
108
|
+
2.3 Haga clic en el ícono y seleccione su cuenta
|
|
109
|
+
(el nombre de usuario asociado).
|
|
110
|
+
</p>
|
|
111
|
+
|
|
112
|
+
<p>
|
|
113
|
+
2.4 Se abrirá una nueva ventana. Dentro de este, seleccione la pestaña o tarjeta denominada
|
|
114
|
+
<strong>cambio de contraseña</strong>.
|
|
115
|
+
</p>
|
|
116
|
+
|
|
117
|
+
<p>
|
|
118
|
+
2.5 El sistema mostrará un panel con las instrucciones técnicas.
|
|
119
|
+
Ingrese la nueva contraseña en el campo correspondiente respetando los requisitos
|
|
120
|
+
de seguridad (longitud, caracteres especiales, etc.).
|
|
121
|
+
</p>
|
|
122
|
+
|
|
123
|
+
<div class="conozcanos-image">
|
|
124
|
+
<img src="preguntasF-4.png" alt="Equipo SIGU">
|
|
125
|
+
</div>
|
|
126
|
+
|
|
127
|
+
<p>
|
|
128
|
+
2.6 Confirme la nueva contraseña y haga clic en <strong>cambiar</strong>.
|
|
129
|
+
</p>
|
|
130
|
+
|
|
131
|
+
<p>
|
|
132
|
+
<strong>
|
|
133
|
+
La contraseña quedará actualizada de forma inmediata para futuros inicios de sesión.
|
|
134
|
+
</strong>
|
|
135
|
+
</p>
|
|
136
|
+
|
|
137
|
+
</ng-container>
|
|
138
|
+
|
|
139
|
+
<!-- ITEM 3 -->
|
|
140
|
+
<ng-container *ngSwitchCase="'item3'">
|
|
141
|
+
|
|
142
|
+
<p>
|
|
143
|
+
3.1 Para acceder mediante <strong>login con google</strong>,
|
|
144
|
+
el usuario debe tener una cuenta registrada previamente como oferente
|
|
145
|
+
o personal administrativo bajo el dominio <strong>@utn.ac.cr</strong>.
|
|
146
|
+
Al seleccionar la cuenta institucional asociada,
|
|
147
|
+
el sistema lo redirigirá automáticamente al panel de su perfil.
|
|
148
|
+
</p>
|
|
149
|
+
|
|
150
|
+
<div class="conozcanos-image">
|
|
151
|
+
<img src="preguntasF-5.png" alt="Equipo SIGU">
|
|
152
|
+
</div>
|
|
153
|
+
|
|
154
|
+
</ng-container>
|
|
155
|
+
|
|
156
|
+
</ng-container>
|
|
157
|
+
|
|
158
|
+
</div>
|
|
159
|
+
|
|
160
|
+
<div class="line"></div>
|
|
21
161
|
|
|
22
|
-
<div class="conozcanos-image">
|
|
23
|
-
<img src="preguntasF-1.png" alt="Equipo SIGU">
|
|
24
|
-
</div>
|
|
25
|
-
<p>El sistema mostrará un mensaje de confirmación indicando: <strong>Por favor revise su correo electrónico, se
|
|
26
|
-
han enviado las instrucciones para continuar con el cambio de clave</strong>”. Haga clic en
|
|
27
|
-
<strong>continuar</strong>.
|
|
28
|
-
</p>
|
|
29
|
-
<p>1.4 Acceda a la bandeja de entrada del correo electrónico registrado en su cuenta. Allí encontrará un mensaje
|
|
30
|
-
automático con una clave nueva.</p>
|
|
31
|
-
<p>1.5 Regrese a la página de inicio de sesión de SIGU e ingrese su número de identificación junto con la clave
|
|
32
|
-
nueva proporcionada.</p>
|
|
33
|
-
<p>1.6 El sistema solicitará una verificación de identidad. Se enviará un código de verificación a su correo
|
|
34
|
-
electrónico registrado.</p>
|
|
35
|
-
<p>1.7 Copie el código recibido, péguelo en el campo indicado y haga clic en <strong>siguiente</strong>.</p>
|
|
36
|
-
<div class="conozcanos-image">
|
|
37
|
-
<img src="preguntasF-2.png" alt="Equipo SIGU">
|
|
38
|
-
</div>
|
|
39
|
-
<p>1.8 Una vez validado el código, recibirá el mensaje <strong>verificación exitosa</strong> y será redirigido
|
|
40
|
-
automáticamente al panel principal de su cuenta.</p>
|
|
41
|
-
<p><strong>Nota:</strong> Se recomienda cambiar la contraseña temporal por una nueva una vez dentro del sistema.
|
|
42
|
-
</p>
|
|
43
|
-
</div>
|
|
44
|
-
<div class="line"></div>
|
|
45
|
-
</div>
|
|
46
|
-
|
|
47
|
-
<!-- Item 2-->
|
|
48
|
-
<div class="tree-item" [class.expanded-item]="expandedItems['item2']">
|
|
49
|
-
<div class="tree-header" (click)="toggleItem('item2')">
|
|
50
|
-
<span class="tree-icon">{{ expandedItems['item2'] ? '▼' : '▶' }}</span>
|
|
51
|
-
<span class="tree-title">2. ¿Cómo cambiar mi clave en SIGU?</span>
|
|
52
|
-
</div>
|
|
53
|
-
<div class="tree-content" [class.expanded]="expandedItems['item2']">
|
|
54
|
-
<p><strong>Para cambiar su clave, realice los siguientes pasos:</strong></p>
|
|
55
|
-
<P>2.1 Inicie sesión en SIGU con sus credenciales actuales.</P>
|
|
56
|
-
<p>2.2 En el panel principal, diríjase al menú superior y ubique el ícono de usuario (representado por silueta
|
|
57
|
-
de persona) en el extremo derecho.</p>
|
|
58
|
-
<div class="preguntados-image">
|
|
59
|
-
<img src="preguntasF-3.png" alt="Equipo SIGU">
|
|
60
|
-
</div>
|
|
61
|
-
<p>2.3 Haga clic en el ícono y seleccione su cuenta (el nombre de usuario asociado).</p>
|
|
62
|
-
<p>2.4 Se abrirá una nueva ventana. Dentro de este, seleccione la pestaña o tarjeta denominada <strong>cambio
|
|
63
|
-
de contraseña</strong>.</p>
|
|
64
|
-
<p>2.5 El sistema mostrará un panel con las instrucciones técnicas. Ingrese la nueva contraseña en el campo
|
|
65
|
-
correspondiente respetando los requisitos de seguridad (longitud, caracteres especiales, etc.).</p>
|
|
66
|
-
<div class="conozcanos-image">
|
|
67
|
-
<img src="preguntasF-4.png" alt="Equipo SIGU">
|
|
68
|
-
</div>
|
|
69
|
-
<p>2.6 Confirme la nueva contraseña y haga clic en <strong>cambiar</strong>.</p>
|
|
70
|
-
<p><strong>La contraseña quedará actualizada de forma inmediata para futuros inicios de sesión.</strong></p>
|
|
71
|
-
</div>
|
|
72
|
-
<div class="line"></div>
|
|
73
|
-
</div>
|
|
74
|
-
|
|
75
|
-
<!-- Item 3-->
|
|
76
|
-
<div class="tree-item" [class.expanded-item]="expandedItems['item3']">
|
|
77
|
-
<div class="tree-header" (click)="toggleItem('item3')">
|
|
78
|
-
<span class="tree-icon">{{ expandedItems['item3'] ? '▼' : '▶' }}</span>
|
|
79
|
-
<span class="tree-title">3. ¿Cómo inicio sesión con google en SIGU?</span>
|
|
80
|
-
</div>
|
|
81
|
-
<div class="tree-content" [class.expanded]="expandedItems['item3']">
|
|
82
|
-
<p>3.1 Para acceder mediante <strong>login con google</strong>, el usuario debe tener una cuenta registrada
|
|
83
|
-
previamente como
|
|
84
|
-
oferente o personal administrativo bajo el dominio <strong>@utn.ac.cr</strong>. Al seleccionar la cuenta
|
|
85
|
-
institucional
|
|
86
|
-
asociada, el sistema lo redirigirá automáticamente al panel de su perfil.</p>
|
|
87
|
-
|
|
88
|
-
<div class="conozcanos-image">
|
|
89
|
-
<img src="preguntasF-5.png" alt="Equipo SIGU">
|
|
90
162
|
</div>
|
|
163
|
+
|
|
91
164
|
</div>
|
|
92
|
-
|
|
93
|
-
</div>
|
|
165
|
+
</section>
|
|
94
166
|
|
|
95
|
-
|
|
167
|
+
<button *ngIf="mostrarBotonInicio" class="btn-volver-arriba" (click)="irAlInicio()" title="Volver arriba">↑ Volver arriba</button>
|
|
96
168
|
|
|
97
|
-
</
|
|
169
|
+
</main>
|
|
170
|
+
</div>
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Component, OnInit } from '@angular/core';
|
|
2
2
|
import { MatIconModule } from '@angular/material/icon';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
3
4
|
import { DatosGlobalesService } from '../../../datos-globales.service';
|
|
4
5
|
import { HttpClient } from '@angular/common/http';
|
|
5
6
|
import { takeUntil } from 'rxjs/operators';
|
|
@@ -7,17 +8,41 @@ import { Subject } from 'rxjs';
|
|
|
7
8
|
@Component({
|
|
8
9
|
selector: 'app-preguntasfrecuentes',
|
|
9
10
|
standalone: true,
|
|
10
|
-
imports: [MatIconModule],
|
|
11
|
+
imports: [CommonModule, MatIconModule],
|
|
11
12
|
templateUrl: './preguntasFrecuentes.component.html',
|
|
12
13
|
styleUrl: './preguntasFrecuentes.component.css'
|
|
13
14
|
})
|
|
14
15
|
export class PreguntasFrecuentesComponent implements OnInit {
|
|
15
|
-
|
|
16
|
+
|
|
16
17
|
private _destroy$ = new Subject<void>();
|
|
18
|
+
mostrarBotonInicio = false;
|
|
19
|
+
private _scrollListener?: EventListener;
|
|
20
|
+
|
|
17
21
|
constructor(private http: HttpClient, private datosGlobalesService: DatosGlobalesService) { }
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
22
|
+
ngOnInit(): void {
|
|
23
|
+
this.http.get(`${this.datosGlobalesService.ObtenerURL()}misc/VistaDePreguntasFrecuentes`).pipe(takeUntil(this._destroy$)).subscribe({ error: () => { } });
|
|
24
|
+
|
|
25
|
+
this.http.get<any>(`${this.datosGlobalesService.ObtenerURL()}misc/obtenerRankingDeItemsPreguntasFrecuentes`).pipe(takeUntil(this._destroy$)).subscribe({
|
|
26
|
+
next: (respuesta) => {
|
|
27
|
+
const ranking = respuesta.body ?? {};
|
|
28
|
+
this.preguntas.sort(
|
|
29
|
+
(a, b) =>
|
|
30
|
+
(ranking[b.id] ?? 0) - (ranking[a.id] ?? 0));
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
setTimeout(() => {
|
|
34
|
+
const c = document.querySelector('.zona-scrollable');
|
|
35
|
+
if (c) {
|
|
36
|
+
this._scrollListener = () => { this.mostrarBotonInicio = (c as HTMLElement).scrollTop > 200; };
|
|
37
|
+
c.addEventListener('scroll', this._scrollListener);
|
|
38
|
+
}
|
|
39
|
+
}, 0);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
ngOnDestroy(): void {
|
|
43
|
+
this._destroy$.next(); this._destroy$.complete();
|
|
44
|
+
if (this._scrollListener) { document.querySelector('.zona-scrollable')?.removeEventListener('scroll', this._scrollListener); }
|
|
45
|
+
}
|
|
21
46
|
// items expandidos
|
|
22
47
|
expandedItems: { [key: string]: boolean } = {
|
|
23
48
|
item1: false,
|
|
@@ -27,10 +52,38 @@ export class PreguntasFrecuentesComponent implements OnInit {
|
|
|
27
52
|
item5: false,
|
|
28
53
|
item6: false,
|
|
29
54
|
};
|
|
30
|
-
|
|
55
|
+
|
|
56
|
+
|
|
31
57
|
toggleItem(itemId: string) {
|
|
32
|
-
|
|
58
|
+
const estabaAbierto = this.expandedItems[itemId];
|
|
59
|
+
this.expandedItems[itemId] = !estabaAbierto;
|
|
60
|
+
if (!estabaAbierto) {
|
|
61
|
+
this.http.post(
|
|
62
|
+
`${this.datosGlobalesService.ObtenerURL()}misc/registrarVistaDeItemsDePreguntaFrecuente`,
|
|
63
|
+
{ itemId }
|
|
64
|
+
).subscribe({
|
|
65
|
+
error: (error) => console.error(error)
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
preguntas = [
|
|
71
|
+
{
|
|
72
|
+
id: 'item1',
|
|
73
|
+
titulo: '¿Cómo recuperar la clave acceso en SIGU?'
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
id: 'item2',
|
|
77
|
+
titulo: '¿Cómo cambiar mi clave en SIGU?'
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
id: 'item3',
|
|
81
|
+
titulo: '¿Cómo inicio sesión con google en SIGU?'
|
|
82
|
+
}
|
|
83
|
+
];
|
|
84
|
+
irAlInicio(): void {
|
|
85
|
+
const contenedor = document.querySelector('.zona-scrollable');
|
|
86
|
+
if (contenedor) { contenedor.scrollTo({ top: 0, behavior: 'smooth' }); this.mostrarBotonInicio = false; }
|
|
87
|
+
else { window.scrollTo({ top: 0, behavior: 'smooth' }); }
|
|
33
88
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
89
|
+
}
|
|
@@ -1,22 +1,61 @@
|
|
|
1
|
-
.
|
|
2
|
-
max-width:
|
|
3
|
-
padding-bottom: 20px;
|
|
4
|
-
font-family: 'Roboto', sans-serif;
|
|
5
|
-
background-color: white;
|
|
6
|
-
text-align: left;
|
|
1
|
+
.ia-layout {
|
|
2
|
+
max-width: 820px;
|
|
7
3
|
margin: 0 auto;
|
|
4
|
+
padding: 24px 16px;
|
|
5
|
+
font-family: 'Roboto', sans-serif;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.ia-main {
|
|
9
|
+
display: flex;
|
|
10
|
+
flex-direction: column;
|
|
11
|
+
gap: 28px;
|
|
8
12
|
}
|
|
9
13
|
|
|
10
|
-
.
|
|
11
|
-
|
|
12
|
-
|
|
14
|
+
.ia-encabezado {
|
|
15
|
+
display: flex;
|
|
16
|
+
align-items: center;
|
|
17
|
+
gap: 14px;
|
|
18
|
+
padding: 20px 24px;
|
|
19
|
+
background: linear-gradient(90deg, rgba(1, 33, 105, 1) 0%, rgba(63, 97, 171, 1) 100%);
|
|
13
20
|
color: white;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
21
|
+
border-radius: 12px;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.ia-icono-header {
|
|
25
|
+
font-size: 40px !important;
|
|
26
|
+
width: 40px !important;
|
|
27
|
+
height: 40px !important;
|
|
28
|
+
flex-shrink: 0;
|
|
29
|
+
opacity: 0.9;
|
|
17
30
|
}
|
|
18
|
-
|
|
19
|
-
|
|
31
|
+
|
|
32
|
+
.ia-encabezado h1 {
|
|
33
|
+
margin: 0;
|
|
34
|
+
font-size: 22px;
|
|
35
|
+
font-weight: 700;
|
|
36
|
+
line-height: 1.2;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.ia-seccion {
|
|
40
|
+
background: white;
|
|
41
|
+
border: 1px solid #d0daea;
|
|
42
|
+
border-radius: 10px;
|
|
43
|
+
padding: 20px 24px;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
@media (max-width: 768px) {
|
|
47
|
+
.ia-seccion {
|
|
48
|
+
border: none;
|
|
49
|
+
border-radius: 0;
|
|
50
|
+
padding: 8px 0;
|
|
51
|
+
background: transparent;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.ia-seccion .tree-container {
|
|
56
|
+
padding-left: 0;
|
|
57
|
+
padding-right: 0;
|
|
58
|
+
margin-top: 0;
|
|
20
59
|
}
|
|
21
60
|
|
|
22
61
|
|
|
@@ -96,6 +135,7 @@
|
|
|
96
135
|
color: #4D4D4D;
|
|
97
136
|
margin-bottom: 20px;
|
|
98
137
|
font-size: 16px;
|
|
138
|
+
text-align: justify;
|
|
99
139
|
}
|
|
100
140
|
|
|
101
141
|
.tree-content ul {
|
|
@@ -126,11 +166,11 @@
|
|
|
126
166
|
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
|
|
127
167
|
}
|
|
128
168
|
@media (max-width: 768px) {
|
|
129
|
-
|
|
169
|
+
|
|
130
170
|
.tree-title {
|
|
131
171
|
font-size: 14px;
|
|
132
172
|
}
|
|
133
|
-
|
|
173
|
+
|
|
134
174
|
.tree-content p {
|
|
135
175
|
font-size: 14px;
|
|
136
176
|
}
|
|
@@ -138,6 +178,19 @@
|
|
|
138
178
|
.tree-content li{
|
|
139
179
|
font-size: 14px;
|
|
140
180
|
}
|
|
181
|
+
|
|
182
|
+
.sub-tree-item {
|
|
183
|
+
margin: 6px 0;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
.tree-item {
|
|
187
|
+
padding-left: 4px;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
.tree-content.expanded {
|
|
191
|
+
padding: 8px 4px;
|
|
192
|
+
}
|
|
193
|
+
|
|
141
194
|
}
|
|
142
195
|
|
|
143
196
|
/* sub items*/
|
|
@@ -193,16 +246,15 @@
|
|
|
193
246
|
|
|
194
247
|
.imagenes-comparacion {
|
|
195
248
|
display: flex;
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
align-items: flex-start;
|
|
199
|
-
flex-wrap: wrap;
|
|
249
|
+
flex-direction: column;
|
|
250
|
+
gap: 16px;
|
|
200
251
|
margin-bottom: 20px;
|
|
201
252
|
}
|
|
202
253
|
|
|
203
254
|
.imagen-item {
|
|
204
|
-
|
|
205
|
-
|
|
255
|
+
display: flex;
|
|
256
|
+
flex-direction: column;
|
|
257
|
+
align-items: center;
|
|
206
258
|
text-align: center;
|
|
207
259
|
}
|
|
208
260
|
|
|
@@ -211,7 +263,7 @@
|
|
|
211
263
|
max-width: 420px;
|
|
212
264
|
height: auto;
|
|
213
265
|
border-radius: 8px;
|
|
214
|
-
box-shadow: 0 10px 30px rgba(0,0,0,0.1);
|
|
266
|
+
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
|
|
215
267
|
}
|
|
216
268
|
|
|
217
269
|
.video-container {
|
|
@@ -226,4 +278,28 @@
|
|
|
226
278
|
max-width: 700px;
|
|
227
279
|
border-radius: 8px;
|
|
228
280
|
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
|
|
229
|
-
}
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
/* Botón volver arriba */
|
|
284
|
+
.btn-volver-arriba {
|
|
285
|
+
display: none;
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
@media (max-width: 768px) {
|
|
289
|
+
.btn-volver-arriba {
|
|
290
|
+
display: flex;
|
|
291
|
+
align-items: center;
|
|
292
|
+
justify-content: center;
|
|
293
|
+
margin: 2rem auto 1rem;
|
|
294
|
+
padding: 0.6rem 1.4rem;
|
|
295
|
+
background: linear-gradient(90deg, rgba(1, 33, 105, 1) 0%, rgba(63, 97, 171, 1) 100%);
|
|
296
|
+
color: white;
|
|
297
|
+
border: none;
|
|
298
|
+
border-radius: 24px;
|
|
299
|
+
font-family: 'Roboto', sans-serif;
|
|
300
|
+
font-size: 0.9rem;
|
|
301
|
+
font-weight: 500;
|
|
302
|
+
cursor: pointer;
|
|
303
|
+
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
|
|
304
|
+
}
|
|
305
|
+
}
|