ACT_BannerAB_1

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> 

ACT_AnclaURL_demo

ACT_FormularioAB

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>