Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing: ==> dev [in template "20101#20128#6582593" at line 28, column 10] ---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: #if dev == "true" [in template "20101#20128#6582593" at line 28, column 5] ----
1<#--
2***************************************************************************
3ACT_BannerAB.ftl
4Clave: 6582593
5***************************************************************************
6-->
7
8<#--
9onclick="_gaq.push(['_trackEvent', 'Actinvercom-Acceso-btnCasaBolsaIngresar', 'clicked'])"
10onclick="dataLayer.push({'event' : 'ev_login','category' : 'login','action' :'succesful'});"
11-->
12
13
14
15<#assign serverName = themeDisplay.getURLHome()?replace("http://", "")?replace("https://", "")?split("/")[0]>
16
17<#attempt>
18 <#if serverName == "webserver-actinver-prd.lfr.cloud" || serverName == "webserver-actinver-uat.lfr.cloud">
19 <#assign dev = "true">
20 <#assign ambiente = "Desarrollo">
21 </#if>
22<#recover>
23 <#assign dev = "false">
24 <#assign ambiente = "Productivo">
25</#attempt>
26
27<script>
28 <#if dev == "true" >
29 function imprime(cadena1, cadena2){
30 if(cadena2 != "" && cadena2 != undefined){
31 console.info(cadena1, cadena2);
32 }else{
33 console.info(cadena1);
34 }
35 }
36 <#else>
37 function imprime(cadenas){}
38 </#if>
39</script>
40
41
42<#assign article_id = "${randomNamespace}">
43<#assign currentURL = themeDisplay.getURLCurrent()>
44<#assign miPaginaCompleta = currentURL?split("/")[1] >
45<#assign miPagActual = miPaginaCompleta?split('?')[0] />
46
47<script>
48 imprime('Ambiente', '${ambiente}');
49 imprime('ID Random', '${article_id}');
50 imprime('Página actual', '${miPagActual}');
51</script>
52
53<#list banner.getSiblings() as banner>
54 <#if banner.campaignURL.getData()?has_content>
55 <#assign idBanner = "bannerAB_" + banner?index >
56 <#assign campaignURL = banner.campaignURL.getData() >
57 <#assign temaColor = banner.temaColor.getData() >
58 <#assign imgBanner = banner.imgBanner.getData() >
59 <#assign titulo = banner.titulo.getData() >
60 <#assign subtitulo = banner.subtitulo.getData() >
61 <#assign textoBanner = banner.textoBanner.getData() >
62 <#assign textoBoton = banner.boton.textoBoton.getData() >
63 <#assign tipoBoton = banner.boton.tipoBoton.getData() >
64 <#assign paramGA = banner.boton.paramGA.getData() >
65 <#assign URLInterna = banner.boton.URLInterna.getFriendlyUrl() >
66 <#assign URLExterna = banner.boton.URLExterna.getData() >
67 <#assign target = banner.boton.target.getData() >
68 </#if>
69
70 <#if campaignURL == miPagActual >
71 <script>
72 imprime('ID Banner', '${idBanner}');
73 imprime('temaColor', '${temaColor}');
74 </script>
75
76 <style>
77
78 :root{
79
80 <#if banner.imgBanner.getData()?has_content>
81 --tipografia-color${banner?index}: #FFF;
82
83 --fondo-banner-color-rgb${banner?index}: #FFF;
84 --fondo-banner-color-moz${banner?index}: #FFF;
85 --fondo-banner-color-webkit${banner?index}: #FFF;
86
87 --fondo-banner-imagen${banner?index}: url('${imgBanner}');
88 --fondo-banner-position${banner?index}: center center;
89 --fondo-banner-size${banner?index}: cover;
90 <#else>
91 --fondo-banner-imagen${banner?index}: none;
92 --fondo-banner-position${banner?index}: unset;
93 --fondo-banner-size${banner?index}: unset;
94 </#if>
95
96 <#if temaColor == "azul1">
97 --tipografia-color${banner?index}: #FFF;
98
99 --fondo-banner-color-rgb${banner?index}: rgb(4,30,66);
100 --fondo-banner-color-moz${banner?index}: -moz-linear-gradient(90deg, rgba(48,49,63,1) 0%, rgba(4,30,66,1) 25%);
101 --fondo-banner-color-webkit${banner?index}: -webkit-linear-gradient(90deg, rgba(48,49,63,1) 0%, rgba(4,30,66,1) 25%);
102 --fondo-banner-color-linear${banner?index}: linear-gradient(90deg, rgba(48,49,63,1) 0%, rgba(4,30,66,1) 25%);
103 <#-- #30313f -> #041E42 -->
104
105 <#elseif temaColor == "azul2">
106 --tipografia-color${banner?index}: #FFF;
107
108 --fondo-banner-color-rgb${banner?index}: rgb(5,39,86);
109 --fondo-banner-color-moz${banner?index}: -moz-linear-gradient(90deg, rgba(48,49,63,1) 0%, rgba(5,39,86,1) 25%);
110 --fondo-banner-color-webkit${banner?index}: -webkit-linear-gradient(90deg, rgba(48,49,63,1) 0%, rgba(5,39,86,1) 25%);
111 --fondo-banner-color-linear${banner?index}: linear-gradient(90deg, rgba(48,49,63,1) 0%, rgba(5,39,86,1) 25%);
112 <#-- #30313f -> #052756 -->
113
114 <#elseif temaColor == "negro">
115 --tipografia-color${banner?index}: #222;
116 <#--
117 --fondo-banner-color-rgb${banner?index}: rgb(244,242,234);
118 --fondo-banner-color-moz${banner?index}: -moz-linear-gradient(90deg, rgba(255,242,248,1) 0%, rgba(244,242,234,1) 25%);
119 --fondo-banner-color-webkit${banner?index}: -webkit-linear-gradient(90deg, rgba(255,242,248,1) 0%, rgba(244,242,234,1) 25%);
120 --fondo-banner-color-linear${banner?index}: linear-gradient(90deg, rgba(255,242,248,1) 0%, rgba(244,242,234,1) 25%);
121 -->
122 <#-- #fff2f8 -> #fff2f8 -->
123
124 <#elseif temaColor == "blanco">
125 --tipografia-color${banner?index}: #FFF;
126
127 <#--
128 --fondo-banner-color-rgb${banner?index}: rgb(226,220,198);
129 --fondo-banner-color-moz${banner?index}: -moz-linear-gradient(90deg, rgba(89,78,44,1) 0%, rgba(226,220,198,1) 25%);
130 --fondo-banner-color-webkit${banner?index}: -webkit-linear-gradient(90deg, rgba(89,78,44,1) 0%, rgba(226,220,198,1) 25%);
131 --fondo-banner-color-linear${banner?index}: linear-gradient(90deg, rgba(89,78,44,1) 0%, rgba(226,220,198,1) 25%);
132 -->
133 <#-- #594e2c -> #e2dcc6; -->
134 <#else>
135 --tipografia-color${banner?index}: #FFF;
136 --fondo-banner-color-linear${banner?index}: #041E42;
137 </#if>
138
139 }
140
141 #${idBanner}{
142 background: var(--fondo-banner-color-rgb${banner?index});
143 background: var(--fondo-banner-color-moz${banner?index});
144 background: var(--fondo-banner-color-webkit${banner?index});
145 background: var(--fondo-banner-color-linear${banner?index});
146
147 background-image: var(--fondo-banner-imagen${banner?index});
148 background-position: var(--fondo-banner-position${banner?index});
149 background-size: var(--fondo-banner-size${banner?index});
150 padding: 100px 0;
151 /*margin-top: 120px;*/
152 }
153
154 #${idBanner} h1 {
155 font-family: 'Noto Sans', sans-serif;
156 font-weight: 700;
157 font-size: 48px;
158 color: var(--tipografia-color${banner?index});
159 font-style: inherit;
160 text-shadow: none;
161 margin: 0 0 26px;
162 padding: 0;
163 border: 0;
164 }
165
166 #${idBanner} h2{
167 font-family: 'Noto Sans', sans-serif;
168 color: var(--tipografia-color${banner?index});
169 font-weight: 600;
170 font-size: 24px;
171 }
172
173 #${idBanner} p{
174 color: var(--tipografia-color${banner?index});
175 font-weight: 400;
176 font-size: 18px;
177 font-family: 'Noto Sans', sans-serif;
178 }
179
180 #${idBanner} .btn {
181 font-family: 'Noto Sans', sans-serif;
182 font-size: 16px;
183 padding: 18px 26px;
184 border-radius: 32px;
185 box-shadow: 0px 2px 5px 0px rgba(103, 110, 118, 0.08), 0px 0px 0px 1px rgba(103, 110, 118, 0.16), 0px 1px 1px 0px rgba(0, 0, 0, 0.12);
186 border: none;
187 margin-top: 15px;
188 transition: all .4s ease;
189 -ms-transition: all .4s ease;
190 -webkit-transition: all .4s ease;
191 -o-transition: all .4s ease;
192 -moz-transition: all .4s ease
193 }
194
195 #${idBanner} .btn.btn-white {
196 color: #2178F1;
197 background: #FFFFFF;
198 background: -moz-linear-gradient(to right, #2178F1 50%, #fff 50%);
199 background: -webkit-gradient(linear, to right, color-stop(0%, #2178F1), color-stop(50%, #fff));
200 background: -webkit-linear-gradient(to right, #2178F1 50%, #fff 50%);
201 background: -o-linear-gradient(to right, #2178F1 50%, #fff 50%);
202 background: -ms-linear-gradient(to right, #2178F1 50%, #fff 50%);
203 background: linear-gradient(to right, #2178F1 50%, #fff 50%);
204 background-size: 200% 100%;
205 background-position: right bottom
206 }
207
208 #${idBanner} .btn.btn-white:hover {
209 color: #FFF;
210 background-position: left bottom
211 }
212
213
214 #${idBanner} .btn.btn-blue {
215 color: #fff;
216 background: #0F6FF5;
217 background: -moz-linear-gradient(to right,#fff 50%,#0F6FF5 50%);
218 background: -webkit-gradient(linear,to right,color-stop(0,#fff),color-stop(50%,#0f6ff5));
219 background: -webkit-linear-gradient(to right,#fff 50%,#0f6ff5 50%);
220 background: -o-linear-gradient(to right,#fff 50%,#0f6ff5 50%);
221 background: -ms-linear-gradient(to right,#fff 50%,#0f6ff5 50%);
222 background: linear-gradient(to right,#fff 50%,#0f6ff5 50%);
223 background-size: 200% 100%;
224 background-position: right bottom
225 }
226
227 #${idBanner} .btn.btn-blue:hover {
228 color: #0f6ff5;
229 background-position: left bottom
230 }
231
232
233
234 @media screen and (max-width: 991px) {
235 #${idBanner}{
236 /*margin-top: 105px;*/
237 }
238 #${idBanner} h1 {
239 margin: 0 0 20px;
240 }
241 }
242
243 </style>
244
245 <#assign URLFinal = "#" >
246
247 <#if URLInterna?has_content && URLExterna?has_content >
248 <#assign URLFinal = URLInterna >
249 <#elseif URLInterna?has_content>
250 <#assign URLFinal = URLInterna >
251 <#elseif URLExterna?has_content>
252 <#assign URLFinal = URLExterna >
253 </#if>
254
255 <div id="${idBanner}" class="section">
256 <div class="container">
257 <div class="row">
258 <div class="col-md-6">
259 <#if titulo?has_content> <h1>${titulo}</h1> </#if>
260
261 <#if subtitulo?has_content> <h2>${subtitulo}</h1> </#if>
262 <#if textoBanner?has_content> <p>${textoBanner}</p> </#if>
263 <#if textoBoton?has_content> <a class="btn ${tipoBoton}" onclick="${paramGA}" href="${URLFinal}" target="${target}"> ${textoBoton} </a> </#if>
264
265 </div>
266 </div>
267 </div>
268 </div>
269
270 </#if>
271</#list>
272<#include "${templatesPath}/6679309" /> <#-- ACT_snow.ftl -->
273<div id="snow" data-count="200"></div>
Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing: ==> dev [in template "20101#20128#6583137" at line 23, column 10] ---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: #if dev == "true" [in template "20101#20128#6583137" at line 23, column 5] ----
1<#--
2***************************************************************************
3ACT_FormularioAB.ftl
4Clave: 6583137
5***************************************************************************
6-->
7
8
9<#assign serverName = themeDisplay.getURLHome()?replace("http://", "")?replace("https://", "")?split("/")[0]>
10
11<#attempt>
12 <#if serverName == "webserver-actinver-prd.lfr.cloud" || serverName == "webserver-actinver-uat.lfr.cloud">
13 <#assign dev = "true">
14 <#assign ambiente = "Desarrollo">
15 </#if>
16<#recover>
17 <#assign dev = "false">
18 <#assign ambiente = "Productivo">
19</#attempt>
20
21<script>
22
23 <#if dev == "true" >
24 function imprime(cadena1, cadena2){
25 if(cadena2 != "" && cadena2 != undefined){
26 console.info(cadena1, cadena2);
27 }else{
28 console.info(cadena1);
29 }
30 }
31 <#else>
32 function imprime(cadenas){}
33 </#if>
34</script>
35
36<#assign article_id = "${randomNamespace}">
37<#assign currentURL = themeDisplay.getURLCurrent()>
38<#assign miPaginaCompleta = currentURL?split("/")[1] >
39<#assign miPagActual = miPaginaCompleta?split('?')[0] />
40
41 <script>
42 //imprime('Ambiente', '${ambiente}');
43 //imprime('ID Random', '${article_id}');
44 //imprime('Página actual', '${miPagActual}');
45 </script>
46
47
48 <#list formulario.getSiblings() as formulario>
49 <#assign formABTestSectionID = "formularioSectionAB_" + formulario?index >
50 <#assign formABTestID = "formularioAB_" + formulario?index >
51 <#assign campaignURL = formulario.campaignURL.getData() >
52 <#assign titulo = formulario.titulo.getData() >
53 <#assign legales = formulario.legales.getData() >
54 <#assign tipoForm = formulario.tipoForm.getData() >
55
56 <#if formulario.campaignURL.getData()?has_content && campaignURL == miPagActual >
57
58 <#assign nombre = formulario.nombre.getData() >
59 <#if formulario.nombre.reqNombre.getData() == "true" >
60 <#assign reqNombre = "requerido" >
61 <#else>
62 <#assign reqNombre = "" >
63 </#if>
64
65 <#assign apPat = formulario.apPat.getData()>
66 <#if formulario.apPat.reqApPat.getData() == "true" >
67 <#assign reqApPat = "requerido" >
68 <#else >
69 <#assign reqApPat = "" >
70 </#if>
71
72 <#assign apMat = formulario.apMat.getData()>
73 <#if formulario.apMat.reqApMat.getData() == "true" >
74 <#assign reqApMat = "requerido" >
75 <#else>
76 <#assign reqApMat = "" >
77 </#if>
78
79 <#assign email = formulario.email.getData()>
80 <#if formulario.email.reqMail.getData() = "true" >
81 <#assign reqMail = "requerido" >
82 <#else>
83 <#assign reqMail = "" >
84 </#if>
85
86 <#assign celular = formulario.celular.getData()>
87 <#if formulario.celular.reqCelular.getData() == "true" >
88 <#assign reqCelular = "requerido" >
89 <#else>
90 <#assign reqCelular = "" >
91 </#if>
92
93 <#assign contacto = formulario.contacto.getData()>
94 <#if formulario.contacto.reqContacto.getData() == "true" >
95 <#assign reqContacto = "requerido" >
96 <#else>
97 <#assign reqContacto = "" >
98 </#if>
99
100
101 <#if tipoForm == "horizontal" >
102 <style>
103
104 #${formABTestSectionID} .container{
105 margin:80px auto;
106 border-radius: 24px;
107 background: #FFF;
108 box-shadow: 0px 20px 24px -4px rgba(16, 24, 40, 0.08), 0px 8px 8px -4px rgba(16, 24, 40, 0.03);
109 }
110
111 .formABTest{
112 display: flex;
113 max-width: 650px;
114 width: 100%;
115 flex-direction: column;
116 align-items: flex-start;
117 gap: 24px;
118 margin: 50px auto;
119 width: 90%;
120 flex-flow: row wrap;
121 justify-content: space-between;
122 font-family: 'Noto Sans', sans-serif;
123 }
124
125 .formABTest .md {
126 flex: 45%;
127 }
128
129 .formABTest .lg {
130 flex: 100%;
131 }
132
133 form h2{
134 margin-bottom:15px;
135 color: #222;
136 text-align: center;
137 font-family: 'Noto Sans', sans-serif;
138 font-size: 30px;
139 font-style: normal;
140 font-weight: 700;
141 line-height: 38px; /* 126.667% */
142 }
143 .comp_input_txt,
144 .comp_select_txt {
145 position: relative;
146 font-family: 'Noto Sans', sans-serif;
147 /*margin: 15px 0px;*/
148 }
149
150 .comp_input_txt label{
151 color: var(--Gray-700, #344054);
152 font-family: 'Noto Sans', sans-serif;
153 font-size: 14px;
154 font-style: normal;
155 font-weight: 500;
156 line-height: 20px; /* 142.857% */
157 /*
158 position: absolute;
159 font-size: 16px;
160 color: #1a1a1a;
161 top: -10px;
162 left: 10px;
163 background: #fff;
164 padding: 0px 10px;
165 */
166 }
167
168 .comp_input_txt input[type="text"], .comp_input_txt input[type="email"],
169 .comp_input_txt input,
170 .comp_select_txt {
171 width: 100%;
172 max-width: 320px;
173 height: 45px;
174 box-sizing: border-box;
175 padding: 15px 10px;
176 border: 1px solid #D0D5DD;
177 border-radius: 4px;
178 background: #ffffff;
179 font-size: 14px;
180 color: #121212;
181 box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05);
182 }
183
184 .comp_select_txt label {
185 font-size: 16px;
186 color: #1a1a1a;
187 display: block;
188 }
189
190 .btn_prin {
191 width: fit-content;
192 padding: 15px 50px;
193 border-radius: 15px;
194 background: #de2f1b;
195 font-family: Arial;
196 font-size: 16px;
197 color: #ffffff;
198 text-align: center;
199 font-weight: bold;
200 margin: 5px auto;
201 cursor: pointer;
202 }
203
204 .btn_prin:hover {
205 background-color: #b73b2e;
206 }
207
208 .aui .select_sim {
209 padding: 10px 2%;
210 border-radius: 4px;
211 font-family: Arial;
212 font-size: 14px;
213 color: #121212;
214 height: 45px;
215 width: 100%;
216 max-width: 320px;
217 }
218
219 .link,
220 a {
221 font-family: 'Noto Sans', sans-serif;
222 font-size: 16px;
223 color: #0276BA;
224 }
225
226 .sepBloq {
227 background: #dadada;
228 height: 1px;
229 margin: 40px auto;
230 }
231
232 .error_input {
233 display: none;
234 width: 90%;
235 padding: 5px 15px;
236 font-family: 'Noto Sans', sans-serif;
237 font-size: 12px;
238 color: #b73b2e;
239 }
240
241 .centrado{
242 text-align: center;
243 margin: auto;
244 }
245
246 .mt15 {
247 margin-top: 15px !important;
248 }
249
250
251
252 #${formABTestID} .btn {
253 font-family: 'Noto Sans', sans-serif;
254 font-size: 16px;
255 padding: 8px 41px;
256 border: none;
257 margin-top: 15px;
258 transition: all .4s ease;
259 -ms-transition: all .4s ease;
260 -webkit-transition: all .4s ease;
261 -o-transition: all .4s ease;
262 -moz-transition: all .4s ease
263 }
264
265 #${formABTestID} .btn.btn-white {
266 color: #2178F1;
267 border: 1px solid #2178F1;
268 background: #FFFFFF;
269 background: -moz-linear-gradient(to right, #2178F1 50%, #fff 50%);
270 background: -webkit-gradient(linear, to right, color-stop(0%, #2178F1), color-stop(50%, #fff));
271 background: -webkit-linear-gradient(to right, #2178F1 50%, #fff 50%);
272 background: -o-linear-gradient(to right, #2178F1 50%, #fff 50%);
273 background: -ms-linear-gradient(to right, #2178F1 50%, #fff 50%);
274 background: linear-gradient(to right, #2178F1 50%, #fff 50%);
275 background-size: 200% 100%;
276 background-position: right bottom
277 }
278
279 #${formABTestID} .btn.btn-white:hover {
280 color: #FFF;
281 background-position: left bottom
282 }
283
284
285 #${formABTestID} .btn.btn-blue {
286 color: #fff;
287 border: 1px solid #2178F1;
288 background: #0f6ff5;
289 background: -moz-linear-gradient(to right,#fff 50%,#0f6ff5 50%);
290 background: -webkit-gradient(linear,to right,color-stop(0,#fff),color-stop(50%,#0f6ff5));
291 background: -webkit-linear-gradient(to right,#fff 50%,#0f6ff5 50%);
292 background: -o-linear-gradient(to right,#fff 50%,#0f6ff5 50%);
293 background: -ms-linear-gradient(to right,#fff 50%,#0f6ff5 50%);
294 background: linear-gradient(to right,#fff 50%,#0f6ff5 50%);
295 background-size: 200% 100%;
296 background-position: right bottom
297 }
298
299 #${formABTestID} .btn.btn-blue:hover {
300 color: #0f6ff5;
301 background-position: left bottom
302 }
303
304
305 #${formABTestID}_exito{
306 display:none;
307 }
308 #${formABTestID}_error{
309 display:none;
310 }
311
312 .leglesForm{
313 margin-top:10px;
314 }
315
316 .leglesForm p, .leglesForm p a{
317 color: #000;
318 text-align: center;
319 font-family: 'Noto Sans', sans-serif;
320 font-size: 12px;
321 font-style: normal;
322 font-weight: 400;
323 line-height: 18px; /* 150% */
324 }
325 .leglesForm p a, .leglesForm p a:hover, .leglesForm p a, .leglesForm p a:visited {
326 cursor:pointer;
327 text-decoration:underline;
328 }
329
330 @media only screen and (max-width: 768px) {
331 .formABTest .md {
332 flex: 100%;
333 }
334
335 .comp_input_txt {
336 max-width: 100%;
337 }
338
339 .comp_input_txt input[type="text"], .comp_input_txt input[type="email"],
340 .comp_input_txt input,
341 .select_sim {
342 max-width: 100%;
343 }
344 }
345 </style>
346 </#if>
347 <#if tipoForm == "banner" >
348 <style>
349
350 #${formABTestSectionID} .container{
351 position: absolute;
352 /*margin:80px auto;*/
353 border-radius: 24px;
354 background: #FFF;
355 box-shadow: 0px 20px 24px -4px rgba(16, 24, 40, 0.08), 0px 8px 8px -4px rgba(16, 24, 40, 0.03);
356 }
357
358 .formABTest{
359 display: flex;
360 z-index: 15;
361 position: relative;
362 max-width: 650px;
363 width: 100%;
364 flex-direction: column;
365 align-items: flex-start;
366 gap: 12px;
367 margin: 50px auto;
368 width: 90%;
369 flex-flow: row wrap;
370 justify-content: space-between;
371 font-family: 'Noto Sans', sans-serif;
372 /*background:red; */
373 }
374
375 .formABTest .md {
376 flex: 100%;
377 }
378
379 .formABTest .lg {
380 flex: 100%;
381 }
382
383 form h2{
384 margin-bottom:15px;
385 color: #222!important;
386 text-align: center;
387 font-family: 'Noto Sans', sans-serif;
388 font-size: 20px;
389 font-style: normal;
390 font-weight: 700;
391 line-height: 25px; /* 126.667% */
392 }
393 .comp_input_txt,
394 .comp_select_txt {
395 position: relative;
396 font-family: 'Noto Sans', sans-serif;
397 /*margin: 15px 0px;*/
398 }
399
400 .comp_input_txt label{
401 color: var(--Gray-700, #344054);
402 font-family: 'Noto Sans', sans-serif;
403 font-size: 14px;
404 font-style: normal;
405 font-weight: 500;
406 line-height: 20px; /* 142.857% */
407 /*
408 position: absolute;
409 font-size: 16px;
410 color: #1a1a1a;
411 top: -10px;
412 left: 10px;
413 background: #fff;
414 padding: 0px 10px;
415 */
416 }
417
418 .comp_input_txt input[type="text"], .comp_input_txt input[type="email"],
419 .comp_input_txt input,
420 .comp_select_txt {
421 width: 100%;
422 max-width: 320px;
423 height: 45px;
424 box-sizing: border-box;
425 padding: 15px 10px;
426 border: 1px solid #D0D5DD;
427 border-radius: 4px;
428 background: #ffffff;
429 font-size: 14px;
430 color: #121212;
431 box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05);
432 }
433
434 .comp_select_txt label {
435 font-size: 16px;
436 color: #1a1a1a;
437 display: block;
438 }
439
440 .btn_prin {
441 width: fit-content;
442 padding: 15px 50px;
443 border-radius: 15px;
444 background: #de2f1b;
445 font-family: Arial;
446 font-size: 16px;
447 color: #ffffff;
448 text-align: center;
449 font-weight: bold;
450 margin: 5px auto;
451 cursor: pointer;
452 }
453
454 .btn_prin:hover {
455 background-color: #b73b2e;
456 }
457
458 .aui .select_sim {
459 padding: 10px 2%;
460 border-radius: 4px;
461 font-family: Arial;
462 font-size: 14px;
463 color: #121212;
464 height: 45px;
465 width: 100%;
466 max-width: 320px;
467 }
468
469 .link,
470 a {
471 font-family: 'Noto Sans', sans-serif;
472 font-size: 16px;
473 color: #0276BA;
474 }
475
476 .sepBloq {
477 background: #dadada;
478 height: 1px;
479 margin: 40px auto;
480 }
481
482 .error_input {
483 display: none;
484 width: 90%;
485 padding: 5px 15px;
486 font-family: 'Noto Sans', sans-serif;
487 font-size: 12px;
488 color: #b73b2e;
489 }
490
491 .centrado{
492 text-align: center;
493 margin: auto;
494 }
495
496 .mt15 {
497 margin-top: 15px !important;
498 }
499
500
501
502 #${formABTestID} .btn {
503 font-family: 'Noto Sans', sans-serif;
504 font-size: 16px;
505 padding: 8px 41px;
506 border: none;
507 margin-top: 15px;
508 transition: all .4s ease;
509 -ms-transition: all .4s ease;
510 -webkit-transition: all .4s ease;
511 -o-transition: all .4s ease;
512 -moz-transition: all .4s ease
513 }
514
515 #${formABTestID} .btn.btn-white {
516 color: #2178F1;
517 border: 1px solid #2178F1;
518 background: #FFFFFF;
519 background: -moz-linear-gradient(to right, #2178F1 50%, #fff 50%);
520 background: -webkit-gradient(linear, to right, color-stop(0%, #2178F1), color-stop(50%, #fff));
521 background: -webkit-linear-gradient(to right, #2178F1 50%, #fff 50%);
522 background: -o-linear-gradient(to right, #2178F1 50%, #fff 50%);
523 background: -ms-linear-gradient(to right, #2178F1 50%, #fff 50%);
524 background: linear-gradient(to right, #2178F1 50%, #fff 50%);
525 background-size: 200% 100%;
526 background-position: right bottom
527 }
528
529 #${formABTestID} .btn.btn-white:hover {
530 color: #FFF;
531 background-position: left bottom
532 }
533
534
535 #${formABTestID} .btn.btn-blue {
536 color: #fff;
537 border: 1px solid #2178F1;
538 background: #0f6ff5;
539 background: -moz-linear-gradient(to right,#fff 50%,#0f6ff5 50%);
540 background: -webkit-gradient(linear,to right,color-stop(0,#fff),color-stop(50%,#0f6ff5));
541 background: -webkit-linear-gradient(to right,#fff 50%,#0f6ff5 50%);
542 background: -o-linear-gradient(to right,#fff 50%,#0f6ff5 50%);
543 background: -ms-linear-gradient(to right,#fff 50%,#0f6ff5 50%);
544 background: linear-gradient(to right,#fff 50%,#0f6ff5 50%);
545 background-size: 200% 100%;
546 background-position: right bottom
547 }
548
549 #${formABTestID} .btn.btn-blue:hover {
550 color: #0f6ff5;
551 background-position: left bottom
552 }
553
554
555 #${formABTestID}_exito{
556 display:none;
557 }
558 #${formABTestID}_error{
559 display:none;
560 }
561
562 .leglesForm{
563 margin-top:10px;
564 }
565
566 .leglesForm p, .leglesForm p a{
567 color: #000!important;
568 text-align: center!important;
569 font-family: 'Noto Sans', sans-serif!important;
570 font-size: 12px!important;
571 font-style: normal;
572 font-weight: 400!important;
573 line-height: 18px!important; /* 150% */
574 }
575 .leglesForm p a, .leglesForm p a:hover, .leglesForm p a, .leglesForm p a:visited {
576 cursor:pointer;
577 text-decoration:underline!important;
578 }
579
580 @media only screen and (max-width: 768px) {
581 .formABTest .md {
582 flex: 100%;
583 }
584
585 .comp_input_txt {
586 max-width: 100%;
587 }
588
589 .comp_input_txt input[type="text"], .comp_input_txt input[type="email"],
590 .comp_input_txt input,
591 .select_sim {
592 max-width: 100%;
593 }
594 }
595 </style>
596 </#if>
597
598
599 <script>
600 /*
601 imprime('nombre:', '${nombre}');
602 imprime('requerido:', '${reqNombre}');
603 imprime('apPat:', '${apPat}');
604 imprime('requerido:', '${reqApPat}');
605 imprime('apMat:', '${apMat}');
606 imprime('requerido:', '${reqApMat}');
607 imprime('email:', '${email}');
608 imprime('requerido:', '${reqMail}');
609 imprime('celular:', '${celular}');
610 imprime('requerido:', '${reqCelular}');
611 imprime('contacto:', '${contacto}');
612 imprime('requerido:', '${reqContacto}');
613 */
614 </script>
615
616 <div id="${formABTestSectionID}" class="section">
617 <div class="container">
618 <div class="row">
619 <div class="col-md-12">
620
621 <form id="${formABTestID}" class="formABTest " >
622 <h2>${titulo}</h2>
623
624 <#if nombre == 'true'>
625 <div class="comp_input_txt md">
626 <label for="Nombre">Nombre completo</label> <input type="text" id="Nombre" class="${reqNombre}" maxlength="25" onkeyup="value = reempv2(this.value);" autocomplete="new-password"/>
627 <div class="error_input">Error</div>
628 </div>
629 </#if>
630 <#if apPat == 'true'>
631 <div class="comp_input_txt md">
632 <label for="apPat"> Apellido paterno</label> <input type="text" id="apPat" class="${reqApPat}" maxlength="25" onkeyup="value = reempv2(this.value);" autocomplete="new-password" />
633 <div class="error_input">Error</div>
634 </div>
635 </#if>
636 <#if apMat == 'true'>
637 <div class="comp_input_txt md">
638 <label for="apMat">Apellido materno</label> <input type="text" id="apMat" class="${reqApMat}" maxlength="25" onkeyup="value = reempv2(this.value);" autocomplete="new-password" />
639 <div class="error_input">Error</div>
640 </div>
641 </#if>
642 <#if contacto == 'true'>
643 <div class="comp_input_txt md">
644 <label for="contacto">Teléfono de contacto</label> <input type="text" id="contacto" class="${reqContacto}" maxlength="10" onkeypress="return check(event);" onpaste="return false" autocomplete="new-password"/>
645 <div class="error_input">Error</div>
646 </div>
647 </#if>
648 <#if celular == 'true'>
649 <div class="comp_input_txt md">
650 <label for="celular">Celular de contacto</label> <input type="text" id="celular" class="${reqCelular}" maxlength="10" onkeypress="return check(event);" onpaste="return false" autocomplete="new-password"/>
651 <div class="error_input">Error</div>
652 </div>
653 </#if>
654 <#if email == 'true'>
655 <div class="comp_input_txt md">
656 <label for="email">Correo electrónico</label> <input type="email" id="email" class="${reqMail}" maxlength="45" autocomplete="new-password" />
657 <div class="error_input">Error</div>
658 </div>
659 <!--
660 <div class="comp_input_txt md">
661 <label for="confEmail">Confirmación de Correo electrónico</label> <input type="email" id="confEmail" class="${reqMail}" maxlength="45" autocomplete="new-password"/>
662 <div class="error_input">Error</div>
663 </div>
664 -->
665 </#if>
666
667
668
669 <#-- <div class="sepBloq lg"></div> -->
670 <#-- <div class="lg centrado mt15"> <input type="checkbox"> <a href="#" class="link">Aceptar aviso de privacidad</a> </div> -->
671 <div class="lg centrado"> <button type="submit" class="btn btn-blue">Enviar</button>
672
673 <div class="leglesForm">${legales}</div>
674
675 </div>
676 </div>
677 </form>
678
679 <div id="${formABTestID}_exito">
680 <p class="centrado">Datos enviados correctamente</p>
681 </div>
682
683 <div id="${formABTestID}_error">
684 <p class="centrado">Favor de intentar nuevamente</p>
685 </div>
686
687 </div>
688 </div>
689 </div>
690 </div>
691
692 <script>
693 <#if tipoForm == "banner" >
694 $('#bannerAB_1 .container .row').append( '<div class="formBanner col-md-4">' );
695 $('#bannerAB_1 .container .row .formBanner').append( $('#formularioSectionAB_1') );
696 </#if>
697
698 var nombreVal="", apPatVal="", apMatVal="", emailVal="", celularVal="", contactoVal="";
699
700 isValidEmailAddress = function(emailAddress) {
701 var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
702 if ( emailPattern.test(emailAddress) == true ) {
703 return true;
704 } else {
705 return false;
706 }
707 }
708
709 check = function(e) {
710 tecla = (document.all) ? e.keyCode : e.which;
711
712 //Tecla de retroceso para borrar, siempre la permite
713 if (tecla == 8) {
714 return true;
715 }
716 }
717
718 reempv2 = function( txt ) {
719 txt = txt.toUpperCase();
720 var chars = {'Á':'A', 'É':'E', 'Í':'I', 'Ó':'O', 'Ú':'U'};
721 txt = txt.replace(/[ÁÉÍÓÚ]/g, m => chars[m]);
722 txt = txt.replace(/[^A-ZÑ\s]/gi, '');
723 return txt;
724 }
725
726 if ( $('#email').length){
727 $('#email').change( function() {
728 if ( $('#email').val() !="" )
729 if ( ! isValidEmailAddress( $('#email').val().toLowerCase() ) ) {
730 $('#email').parent('.comp_input_txt').find('.error_input').html( 'Ingresa un correo válido.' ).show().focus();
731 }
732 });
733
734 $('#confEmail').change( function() {
735 if( $('#email').val().toLowerCase() != $('#confEmail').val().toLowerCase() ) {
736 $('#confEmail').parent('.comp_input_txt').find('.error_input').html( 'El correo no coincide.' ).show().focus();
737 }
738 });
739 }
740
741
742 $('#${formABTestID}').on('submit', function (event) {
743 event.preventDefault();
744 $('.error_input').html('').hide();
745
746 var bndCont = true;
747
748 $(".requerido").each(function() {
749 if ($(this).val() == ""){
750 bndCont = false;
751 $(this).parent('.comp_input_txt').find('.error_input').html('Campo obligatorio.').show().focus();
752 }
753 });
754
755
756
757 if( $('#email').length && $('#email').hasClass('requerido') && $("#email").val().toLowerCase() == "" ){
758 $('#email').parent('.comp_input_txt').find('.error_input').html( 'Ingresa un correo válido.' ).show().focus();
759 bndCont = false;
760 }
761
762 if( $('#email').length && $("#email").val().toLowerCase() != "" && !isValidEmailAddress( $("#email").val().toLowerCase() ) ){
763 $('#email').parent('.comp_input_txt').find('.error_input').html( 'Ingresa un correo válido.' ).show().focus();
764 bndCont = false;
765 }
766
767 /*
768 if( $('#confEmail').length && $('#confEmail').hasClass('requerido') && $("#confEmail").val().toLowerCase() == "" ){
769 $('#confEmail').parent('.comp_input_txt').find('.error_input').html( 'Ingresa un correo válido.' ).show().focus();
770 bndCont = false;
771 }
772
773 if ( ($('#email').length && $("#email").val().toLowerCase() != "") && ($('#confEmail').length && $("#confEmail").val().toLowerCase() != "") && ($("#email").val().toLowerCase() != $("#confEmail").val().toLowerCase() ) ) {
774 $('#confEmail').parent('.comp_input_txt').find('.error_input').html( 'El correo no coincide.' ).show().focus();
775 bndCont = false;
776 }
777 */
778
779
780 if( $("#celular").length ){
781 cel = $("#celular").val();;
782 if( cel.length !=10 ) {
783 $('#celular').parent('.comp_input_txt').find('.error_input').html( 'Ingresa un teléfono a 10 dígitos.' ).show().focus();
784 bndCont = false;
785 }
786 }
787
788 if( $("#contacto").length ){
789
790 contacto = $("#contacto").val();
791 if( contacto.length !=10 ) {
792 $('#contacto').parent('.comp_input_txt').find('.error_input').html( 'Ingresa un teléfono a 10 dígitos.' ).show().focus();
793 bndCont = false;
794 } else if( contacto==cel ) {
795 $('#contacto').parent('.comp_input_txt').find('.error_input').html( 'Ingresa un teléfono diferente a celular.' ).show().focus();
796 bndCont = false;
797 } else if( contacto[0]=='0' ) {
798 $('#contacto').parent('.comp_input_txt').find('.error_input').html( 'Ingresa un teléfono válido.' ).show().focus();
799 bndCont = false;
800 }
801 }
802
803 if( bndCont ) {
804 <#-- Continuar -->
805 imprime('Pasa...');
806 if( $('#Nombre').length ){ nombreVal = $('#Nombre').val(); }
807 if( $('#apPat').length ){ apPatVal = $('#apPat').val(); }
808 if( $('#apMat').length ){ apMatVal = $('#apMat').val(); }
809 if( $('#email').length ){ emailVal = $('#email').val(); }
810 if( $('#celular').length ){ celularVal = $('#celular').val(); }
811 if( $('#contacto').length ){ contactoVal = $('#contacto').val(); }
812 enviaForm();
813
814 }
815 });
816
817
818 function enviaForm(){
819 jQuery.ajax({
820 data: JSON.stringify({"draft":false,"formFieldValues":[{"name":"campourl","value":'${miPagActual}'},{"name":"nombre","value":nombreVal},{"name":"apPat","value":apPatVal},{"name":"apMat","value":apMatVal},{"name":"email","value":emailVal},{"name":"celular","value":celularVal},{"name":"contacto","value":contactoVal}]}),
821 url: 'https://webserver-actinver-prd.lfr.cloud/o/headless-form/v1.0/forms/6587963/form-records',
822 type: 'POST',
823 dataType: "json",
824 contentType: "application/json",
825 beforeSend: function () {
826 imprime('Aqui poner loading')
827 },
828 success: function (response) {
829 console.log ('respuesta Form: ', JSON.stringify(response ) );
830 $('#${formABTestID}_exito').show();
831 $('#${formABTestID}').hide();
832
833 }, error: function(jqXHR, textStatus) {
834 $('#${formABTestID}_error').show();
835 $('#${formABTestID}').hide();
836
837 }
838 });
839 }
840
841 </script>
842
843
844 </#if>
845 </#list>