An error occurred while processing the template.
Invocation of method 'getImageProperties' in  class com.liferay.portal.util.IterTemplateContent threw exception XYZ_E_INVALIDARG_ZYX at 21736/F/SCROLL_INFINITO[line 85, column 38]
1$iterVelocityTools.setRenderArticleMode(1)
 
2#set($sectionID = "#printAssignedSectionID_v1")
 
3#set($canonicalUrl = $articleToolbox.getArticleViewer('canonical'))
 
4#set($title = $!articleToolbox.getTag(null,'Headline').data)
 
5#set($hostName = "#siteUrl()")
 
6#set($fullUrl = "${hostName}${canonicalUrl}")
 
7
 
8#set($titleRaw = $!title)
 
9#if(!$titleRaw) #set($titleRaw = "") #end
 
10#set($titleClean = $titleRaw.replaceAll('"', "'").replaceAll('\n', ' ').replaceAll('\r', '').replaceAll('\\', '\\\\').replaceAll('<', '').replaceAll('>', '').trim())
 
11
 
12#set($descRaw = $!articleToolbox.getTag(null, 'Resumen_News').data)
 
13#if(!$descRaw || $descRaw == "") #set($descRaw = $!articleToolbox.getTag(null, 'Subheadline').data) #end
 
14#if(!$descRaw || $descRaw == "") #set($descRaw = $!articleToolbox.getTag(null, 'Lead_Text').data) #end
 
15#if(!$descRaw || $descRaw == "") #set($descRaw = $titleClean) #end
 
16#set($descClean = $htmlUtil.stripHtml($descRaw).replaceAll('"', "'").replaceAll('\n', ' ').replaceAll('\r', '').replaceAll('\\', '\\\\').replaceAll('<', '').replaceAll('>', '').trim())
 
17
 
18#set($rawModify = $reserved-article-modified-date.data)
 
19#set($rawPublish = $reserved-article-display-date.data)
 
20#set($fmtIn = "EEE, d MMM yyyy HH:mm:ss Z")
 
21#set($fmtOutISO = "yyyy-MM-dd'T'HH:mm:ssXXX")
 
22#set($fmtOutDisplay = "d MMMM yyyy")
 
23
 
24#set($dateObjP = $dateTool.toDate($fmtIn, $rawPublish))
 
25#if($dateObjP)
 
26    #set($datePublished = $dateTool.format($fmtOutISO, $dateObjP))
 
27    #set($dateDisplay = $dateTool.format($fmtOutDisplay, $dateObjP))
 
28#else
 
29    #set($datePublished = $dateTool.get($fmtOutISO))
 
30    #set($dateDisplay = $dateTool.get($fmtOutDisplay))
 
31#end
 
32
 
33#set($dateObjM = $dateTool.toDate($fmtIn, $rawModify))
 
34#if($dateObjM)
 
35    #set($dateModified = $dateTool.format($fmtOutISO, $dateObjM))
 
36#else
 
37    #set($dateModified = $datePublished)
 
38#end
 
39
 
40#set($hmTemas = {})       #getAcAssignedCatExtended_v1($hmTemas "Topic")
 
41#set($hmGeografico = {})  #getAcAssignedCatExtended_v1($hmGeografico "Location")
 
42#set($hmCompanies = {})   #getAcAssignedCatExtended_v1($hmCompanies "Companies")
 
43#set($hmPersonajes = {})  #getAcAssignedCatExtended_v1($hmPersonajes "People")
 
44#set($hmAutores = {})     #getAcAssignedCatExtended_v1($hmAutores "Author")
 
45#set($AuthorNoFoto = $!iterVelocityTools.getVariable($sectionID, "authorNoFoto"))
 
46
 
47#set($section = "#printAssignedSection_v1")
 
48#set($sectionSlug = $section.toLowerCase().replaceAll(" ", "-").replaceAll("á","a").replaceAll("é","e").replaceAll("í","i").replaceAll("ó","o").replaceAll("ú","u").replaceAll("ñ","n"))
 
49
 
50#set($imgDefault = "https://vanguardia.com.mx/base-portlet/webrsrc/theme/13d16cf89ee0b324585019c9998ec6dd.svg")
 
51#set($img16x9 = $articleToolbox.getImageURL("Image","0","crop_1200x675"))
 
52#if(!$img16x9 || $img16x9 == "")
 
53  #set($img16x9 = $articleToolbox.getImageURL("Image","0",""))
 
54#end
 
55#if(!$img16x9 || $img16x9 == "")
 
56  #set($img16x9 = $imgDefault)
 
57#end
 
58
 
59#set($img4x3 = $articleToolbox.getImageURL("Image","0","crop_1200x900"))
 
60#set($img1x1 = $articleToolbox.getImageURL("Image","0","crop_1200x1200"))
 
61
 
62#set($imgOG = $articleToolbox.getImageURL("Image","0","social"))
 
63
 
64#set($imgTwitter = $img16x9)
 
65#set($imgLCP = $articleToolbox.getImageURL("Image","0","crop_1152x648"))
 
66#if(!$imgLCP || $imgLCP == "")
 
67  #set($imgLCP = $articleToolbox.getImageURL("Image","0",""))
 
68#end
 
69
 
70#set($imgProps = false)
 
71#if($img16x9 && $img16x9 != $imgDefault)
 
72  #set($imgProps = $articleToolbox.getImageProperties($img16x9))
 
73#end
 
74#set($imgWidth = 1200)
 
75#set($imgHeight = 675)
 
76#if($imgProps && $imgProps.width)
 
77  #set($imgWidth = $imgProps.width)
 
78#end
 
79#if($imgProps && $imgProps.height)
 
80  #set($imgHeight = $imgProps.height)
 
81#end
 
82
 
83#set($imgOGProps = false)
 
84#if($imgOG && $imgOG != $imgDefault && $imgOG != $img16x9)
 
85  #set($imgOGProps = $articleToolbox.getImageProperties($imgOG))
 
86#end
 
87#set($imgOGWidth = 1200)
 
88#set($imgOGHeight = 630)
 
89#if($imgOGProps && $imgOGProps.width)
 
90  #set($imgOGWidth = $imgOGProps.width)
 
91#end
 
92#if($imgOGProps && $imgOGProps.height)
 
93  #set($imgOGHeight = $imgOGProps.height)
 
94#end
 
95
 
96#set($img4x3Width = 1200)
 
97#set($img4x3Height = 900)
 
98#if($img4x3 && $img4x3 != "")
 
99  #set($img4x3Props = $articleToolbox.getImageProperties($img4x3))
 
100  #if($img4x3Props && $img4x3Props.width)
 
101    #set($img4x3Width = $img4x3Props.width)
 
102  #end
 
103  #if($img4x3Props && $img4x3Props.height)
 
104    #set($img4x3Height = $img4x3Props.height)
 
105  #end
 
106#end
 
107
 
108#set($img1x1Width = 1200)
 
109#set($img1x1Height = 1200)
 
110#if($img1x1 && $img1x1 != "")
 
111  #set($img1x1Props = $articleToolbox.getImageProperties($img1x1))
 
112  #if($img1x1Props && $img1x1Props.width)
 
113    #set($img1x1Width = $img1x1Props.width)
 
114  #end
 
115  #if($img1x1Props && $img1x1Props.height)
 
116    #set($img1x1Height = $img1x1Props.height)
 
117  #end
 
118#end
 
119
 
120#set($ac-url = $articleContext.selectNodes('articlectx/url'))
 
121#set($xml-url = $ac-url.get(0).text)
 
122#set($url_actual = $!xml-url)
 
123
 
124#set($arrayListContenidos = [])
 
125#macro(regEl $name $type $class $tag)
 
126  #set($e = {})
 
127  #set($x = $e.put("name", $name))
 
128  #set($x = $e.put("type", $type))
 
129  #set($x = $e.put("cssclass", $class))
 
130  #set($x = $e.put("tag", $tag))
 
131  #set($x = $arrayListContenidos.add($e))
 
132#end
 
133
 
134#regEl("Text", "paragraph", "texto", "div")
 
135#regEl("ArticleText", "article_text", "article_text", "div")
 
136#regEl("Lead_Text", "text", "intertitulo", "div")
 
137#regEl("Quote", "text", "quote", "div")
 
138#regEl("Quote_byline", "text", "Quote_byline", "div")
 
139#regEl("Lead", "text", "lead destacado", "div")
 
140#regEl("Parrafo_Lista", "text", "Parrafo_Lista", "div")
 
141#regEl("Image_Text", "image", "img text", "div")
 
142#regEl("Image_Text_GIF", "image", "imagen", "div")
 
143#regEl("TikTok_Text", "tiktok", "tiktok_text", "div")
 
144#regEl("Twitter_Text", "twitter", "twitter_text", "div")
 
145#regEl("Facebook_Text", "facebook", "facebook_text", "div")
 
146#regEl("Instagram_Text", "instagram", "instagram_text", "div")
 
147#regEl("Youtube_Text", "youtube", "youtube_video", "div")
 
148#regEl("Multimedia_Text", "multimedia", "video", "div")
 
149#regEl("HTML_Text", "html", "html_text", "div")
 
150#regEl("Flourish_Text", "text", "flourish_text", "div")
 
151#regEl("linkTitle_Text", "text", "link_tpi", "div")
 
152#regEl("title_list", "microformat", "microformat", "div")
 
153#regEl("image_list", "microformat", "microformat", "div")
 
154#regEl("text_list", "microformat", "microformat", "div")
 
155#regEl("Titulo_News", "text", "titulo_news", "div")
 
156#regEl("Resumen_News", "text", "resumen_news", "div")
 
157#regEl("Boton", "text", "Boton", "div")
 
158#regEl("Ficha_Titulo", "text", "Ficha_Titulo", "div")
 
159#regEl("Ficha_Foto", "image", "Ficha_Foto", "div")
 
160#regEl("Ficha_Texto", "text", "Ficha_Texto", "div")
 
161#regEl("Ficha_Social", "text", "Ficha_Social", "div")
 
162#regEl("Entrevista_Pregunta", "text", "Entrevista_Pregunta", "div")
 
163#regEl("Entrevista_Respuesta", "text", "Entrevista_Respuesta", "div")
 
164#regEl("URLCanonical", "text", "URLCanonical", "div")
 
165#regEl("Titulo_App", "text", "Titulo_App", "div")
 
166#regEl("resena_titulo", "text", "resena_titulo", "div")
 
167#regEl("resena_imagen", "image", "resena_imagen", "div")
 
168#regEl("resena_texto", "text", "resena_texto", "div")
 
169
 
170#set($FacebookText_ = $articleToolbox.getTag(null,"Facebook_Text"))
 
171#if($FacebookText_ && $FacebookText_.data != "")
 
172<div id="fb-root"></div>
 
173<script async defer src="https://connect.facebook.net/es_LA/sdk.js#xfbml=1&version=v21.0" crossorigin="anonymous"></script>
 
174#end
 
175
 
176#set($sectionUrl = "${hostName}/${sectionSlug}")
 
177#set($bcLevel1 = "")
 
178#set($bcLevel1Url = "")
 
179#set($bcLevel2 = "")
 
180#set($bcLevel2Url = "")
 
181#set($hasLevel2 = false)
 
182
 
183#if($canonicalUrl && $canonicalUrl.lastIndexOf("/") > 0)
 
184  #set($lastSlashIdx = $canonicalUrl.lastIndexOf("/"))
 
185  #set($sectionPath = $canonicalUrl.substring(0, $lastSlashIdx))
 
186  #set($tempPath = $sectionPath)
 
187  #if($tempPath.startsWith("/"))
 
188    #set($tempPath = $tempPath.substring(1))
 
189  #end
 
190  #set($firstSlash = $tempPath.indexOf("/"))
 
191  #if($firstSlash > 0)
 
192    #set($bcLevel1 = $tempPath.substring(0, $firstSlash))
 
193    #set($bcLevel1Url = "${hostName}/${bcLevel1}")
 
194    #set($nextIdx = $firstSlash + 1)
 
195    #set($bcLevel2 = $tempPath.substring($nextIdx))
 
196    #set($bcLevel2Url = "${hostName}${sectionPath}")
 
197    #set($hasLevel2 = true)
 
198  #else
 
199    #set($bcLevel1 = $tempPath)
 
200    #set($bcLevel1Url = "${hostName}/${bcLevel1}")
 
201  #end
 
202#end
 
203
 
204#if($bcLevel1 == "")
 
205  #set($bcLevel1 = $sectionSlug)
 
206  #set($bcLevel1Url = "${hostName}/${sectionSlug}")
 
207#end
 
208
 
209#set($articleBodyText = "")
 
210#set($bodyTextTags = ["Lead_Text", "Text", "ArticleText", "Entrevista_Pregunta", "Entrevista_Respuesta", "Quote", "Parrafo_Lista"])
 
211#foreach($bodyTagName in $bodyTextTags)
 
212  #set($bodyTag = $articleToolbox.getTag(null, $bodyTagName))
 
213  #if($bodyTag && $bodyTag.data && $bodyTag.data.trim() != "")
 
214    #set($bodyStripped = $htmlUtil.stripHtml($bodyTag.data).trim())
 
215    #if($bodyStripped != "")
 
216      #if($articleBodyText != "") #set($articleBodyText = "${articleBodyText} ") #end
 
217      #set($articleBodyText = "${articleBodyText}${bodyStripped}")
 
218    #end
 
219  #end
 
220  #if($bodyTag)
 
221    #set($bodySiblings = $bodyTag.getSiblings())
 
222    #if($bodySiblings && $bodySiblings.size() > 1)
 
223      #set($sibIdx = 0)
 
224      #foreach($sib in $bodySiblings)
 
225        #if($sibIdx > 0 && $sib.data && $sib.data.trim() != "")
 
226          #set($sibStripped = $htmlUtil.stripHtml($sib.data).trim())
 
227          #if($sibStripped != "")
 
228            #if($articleBodyText != "") #set($articleBodyText = "${articleBodyText} ") #end
 
229            #set($articleBodyText = "${articleBodyText}${sibStripped}")
 
230          #end
 
231        #end
 
232        #set($sibIdx = $sibIdx + 1)
 
233      #end
 
234    #end
 
235  #end
 
236#end
 
237#set($articleBodyClean = $articleBodyText.replaceAll('"', "'").replaceAll('\n', ' ').replaceAll('\r', '').replaceAll('\t', ' ').replaceAll('\\', '\\\\').replaceAll('<', '').replaceAll('>', '').trim())
 
238#if($articleBodyClean.length() > 18000)
 
239  #set($articleBodyClean = $articleBodyClean.substring(0, 18000))
 
240#end
 
241
 
242#set($imgDescClean = $titleClean)
 
243#if($imgDescClean.length() > 200)
 
244  #set($imgDescClean = $imgDescClean.substring(0, 200))
 
245#end
 
246
 
247#set($contentLocationName = "")
 
248#if($hmGeografico && !$hmGeografico.isEmpty())
 
249  #set($geoNames = [])
 
250  #foreach($geoItem in $hmGeografico)
 
251    #set($geoClean = $geoItem.name.replaceAll('"', "'").trim())
 
252    #if(!$geoNames.contains($geoClean))
 
253      #set($x = $geoNames.add($geoClean))
 
254    #end
 
255  #end
 
256  #foreach($gn in $geoNames)
 
257    #if($contentLocationName != "")
 
258      #set($contentLocationName = "${contentLocationName}, ${gn}")
 
259    #else
 
260      #set($contentLocationName = $gn)
 
261    #end
 
262  #end
 
263#end
 
264
 
265<script type="application/ld+json">
 
266{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Vanguardia","item":"https://vanguardia.com.mx"},{"@type":"ListItem","position":2,"name":"$htmlUtil.escape($bcLevel1)","item":"$htmlUtil.escape($bcLevel1Url)"}#if($hasLevel2),{"@type":"ListItem","position":3,"name":"$htmlUtil.escape($bcLevel2)","item":"$htmlUtil.escape($bcLevel2Url)"},{"@type":"ListItem","position":4,"name":"$htmlUtil.escape($titleClean)","item":"$htmlUtil.escape($fullUrl)"}#else,{"@type":"ListItem","position":3,"name":"$htmlUtil.escape($titleClean)","item":"$htmlUtil.escape($fullUrl)"}#end]}
 
267</script>
 
268
 
269#set($keywordsStr = "")
 
270#macro(addKeywordsToMap $mapInput)
 
271  #if($mapInput && !$mapInput.isEmpty())
 
272    #foreach($item in $mapInput)
 
273       #if($keywordsStr != "") #set($keywordsStr = "${keywordsStr}, ") #end
 
274       #set($cleanName = $item.name.replaceAll('"', "'").trim())
 
275       #set($keywordsStr = "${keywordsStr}${cleanName}")
 
276    #end
 
277  #end
 
278#end
 
279
 
280#addKeywordsToMap($hmTemas)
 
281#addKeywordsToMap($hmGeografico)
 
282#addKeywordsToMap($hmPersonajes)
 
283#addKeywordsToMap($hmCompanies)
 
284
 
285<script type="application/ld+json" id="vangdata-schema-newsarticle">
 
286{
 
287  "@context": "https://schema.org",
 
288  "@type": "NewsArticle",
 
289  "mainEntityOfPage": {
 
290    "@type": "WebPage",
 
291    "@id": "$htmlUtil.escape($fullUrl)"
 
292  },
 
293  "headline": "$!{titleClean}",
 
294  "description": "$!{descClean}",
 
295  #if($articleBodyClean && $articleBodyClean != "")
 
296  "articleBody": "$!{articleBodyClean}",
 
297  #end
 
298  "keywords": "$!{keywordsStr}",
 
299  "inLanguage": "es-MX",
 
300  "image": [
 
301    {
 
302      "@type": "ImageObject",
 
303      "url": "$htmlUtil.escape($img16x9)",
 
304      "width": $imgWidth,
 
305      "height": $imgHeight,
 
306      "description": "$!{imgDescClean}"
 
307    }
 
308    #if($img4x3 && $img4x3 != "")
 
309    ,{
 
310      "@type": "ImageObject",
 
311      "url": "$htmlUtil.escape($img4x3)",
 
312      "width": $img4x3Width,
 
313      "height": $img4x3Height,
 
314      "description": "$!{imgDescClean}"
 
315    }
 
316    #end
 
317    #if($img1x1 && $img1x1 != "")
 
318    ,{
 
319      "@type": "ImageObject",
 
320      "url": "$htmlUtil.escape($img1x1)",
 
321      "width": $img1x1Width,
 
322      "height": $img1x1Height,
 
323      "description": "$!{imgDescClean}"
 
324    }
 
325    #end
 
326  ],
 
327  "datePublished": "$!{datePublished}",
 
328  "dateModified": "$!{dateModified}",
 
329  "author": [
 
330    #if($hmAutores && !$hmAutores.isEmpty())
 
331      #set($authorIdx = 0)
 
332      #foreach($elem in $hmAutores)
 
333        #set($authorNameClean = $!elem.name.replaceAll('"', "'").replaceAll('\n', ' ').replaceAll('\\', '\\\\').replaceAll('<', '').replaceAll('>', '').trim())
 
334        #set($authorNameLower = $authorNameClean.toLowerCase())
 
335        #set($esAgencia = false)
 
336        #if($authorNameLower.contains("efe") || $authorNameLower.contains("ap ") || $authorNameLower.equals("ap") || $authorNameLower.contains("espn") || $authorNameLower.contains("new york times") || $authorNameLower.contains("reforma") || $authorNameLower.contains("el universal") || $authorNameLower.contains("reuters") || $authorNameLower.contains("afp") || $authorNameLower.contains("notimex") || $authorNameLower.contains("dpa"))
 
337          #set($esAgencia = true)
 
338        #end
 
339        #if($authorIdx > 0),#end
 
340        #if($esAgencia)
 
341          {"@type": "Organization", "name": "$!{authorNameClean}", "url": "${hostName}/autor/-/meta/$htmlUtil.escapeURL($!elem.friendlyname)"}
 
342        #else
 
343          {"@type": "Person", "name": "$!{authorNameClean}", "url": "${hostName}/autor/-/meta/$htmlUtil.escapeURL($!elem.friendlyname)"}
 
344        #end
 
345        #set($authorIdx = $authorIdx + 1)
 
346      #end
 
347    #else
 
348      {"@type": "Organization", "name": "Vanguardia", "url": "https://vanguardia.com.mx"}
 
349    #end
 
350  ],
 
351  "publisher": {
 
352    "@type": "Organization",
 
353    "name": "Vanguardia",
 
354    "url": "https://vanguardia.com.mx",
 
355    "logo": {
 
356      "@type": "ImageObject",
 
357      "url": "https://vanguardia.com.mx/base-portlet/webrsrc/ctxvar/9d387887-99eb-4c1e-bb4a-7cbec97451dd.png",
 
358      "width": 380,
 
359      "height": 35
 
360    },
 
361    "sameAs": [
 
362      "https://www.facebook.com/VanguardiaMx",
 
363      "https://www.instagram.com/vanguardiamx",
 
364      "https://x.com/vanguardiamx",
 
365      "https://www.tiktok.com/@vanguardia_mx",
 
366      "https://www.youtube.com/channel/UCQtlgxJiZmFmaH7RsCtANsQ",
 
367      "https://es.wikipedia.org/wiki/Vanguardia_(peri%C3%B3dico_mexicano)",
 
368      "https://whatsapp.com/channel/0029Va2n3TCA2pL9rkrqWx2b"
 
369    ]
 
370  },
 
371  "articleSection": "$htmlUtil.escape($section)",
 
372  "isAccessibleForFree": true
 
373  #if($contentLocationName && $contentLocationName != "")
 
374  ,"contentLocation": {
 
375    "@type": "Place",
 
376    "name": "$htmlUtil.escape($contentLocationName)"
 
377  }
 
378  #end
 
379}
 
380</script>
 
381
 
382<script type="application/ld+json">
 
383{
 
384  "@context": "https://schema.org",
 
385  "@type": "NewsMediaOrganization",
 
386  "name": "Vanguardia",
 
387  "description": "Vanguardia es el periódico líder de noticias en Coahuila y el noreste de México, con cobertura local, nacional e internacional desde Saltillo.",
 
388  "url": "https://vanguardia.com.mx",
 
389  "logo": {
 
390    "@type": "ImageObject",
 
391    "url": "https://vanguardia.com.mx/base-portlet/webrsrc/ctxvar/9d387887-99eb-4c1e-bb4a-7cbec97451dd.png",
 
392    "width": 380,
 
393    "height": 35
 
394  },
 
395  "sameAs": [
 
396    "https://www.facebook.com/VanguardiaMx",
 
397    "https://www.instagram.com/vanguardiamx",
 
398    "https://x.com/vanguardiamx",
 
399    "https://www.tiktok.com/@vanguardia_mx",
 
400    "https://www.youtube.com/channel/UCQtlgxJiZmFmaH7RsCtANsQ",
 
401    "https://es.wikipedia.org/wiki/Vanguardia_(peri%C3%B3dico_mexicano)",
 
402    "https://whatsapp.com/channel/0029Va2n3TCA2pL9rkrqWx2b"
 
403  ],
 
404  "email": "contacto@vanguardia.com.mx",
 
405  "foundingDate": "1975-10-04",
 
406  "verificationFactCheckingPolicy": "https://vanguardia.com.mx/politicas-de-privacidad"
 
407}
 
408</script>
 
409
 
410<script type="application/ld+json">
 
411{
 
412  "@context": "https://schema.org",
 
413  "@type": "WebSite",
 
414  "name": "Vanguardia",
 
415  "url": "https://vanguardia.com.mx",
 
416  "potentialAction": {
 
417    "@type": "SearchAction",
 
418    "target": "https://vanguardia.com.mx/resultados-busqueda/-/search/{search_term_string}/false/false/19840101/29991231/date/true/true/0/0/meta/0/0/0/1",
 
419    "query-input": "required name=search_term_string"
 
420  }
 
421}
 
422</script>
 
423
 
424#set($youtubeContent = $articleToolbox.getTag(null,"Youtube_Text"))
 
425#if($youtubeContent && $youtubeContent.data && $youtubeContent.data != "")
 
426#set($youtubeRaw = $youtubeContent.data)
 
427#set($youtubeId = "")
 
428#if($youtubeRaw.contains("youtube.com/embed/"))
 
429  #set($startIdx = $youtubeRaw.indexOf("youtube.com/embed/"))
 
430  #set($startIdx = $startIdx + 18)
 
431  #set($tempStr = $youtubeRaw.substring($startIdx))
 
432  #if($tempStr.contains('"'))
 
433    #set($endIdx = $tempStr.indexOf('"'))
 
434    #set($youtubeId = $tempStr.substring(0, $endIdx))
 
435  #elseif($tempStr.contains("?"))
 
436    #set($endIdx = $tempStr.indexOf("?"))
 
437    #set($youtubeId = $tempStr.substring(0, $endIdx))
 
438  #else
 
439    #set($youtubeId = $tempStr.substring(0, 11))
 
440  #end
 
441#elseif($youtubeRaw.contains("youtu.be/"))
 
442  #set($startIdx = $youtubeRaw.indexOf("youtu.be/"))
 
443  #set($startIdx = $startIdx + 9)
 
444  #set($tempStr = $youtubeRaw.substring($startIdx))
 
445  #if($tempStr.contains('"'))
 
446    #set($endIdx = $tempStr.indexOf('"'))
 
447    #set($youtubeId = $tempStr.substring(0, $endIdx))
 
448  #else
 
449    #set($youtubeId = $tempStr.substring(0, 11))
 
450  #end
 
451#elseif($youtubeRaw.contains("watch?v="))
 
452  #set($startIdx = $youtubeRaw.indexOf("watch?v="))
 
453  #set($startIdx = $startIdx + 8)
 
454  #set($tempStr = $youtubeRaw.substring($startIdx))
 
455  #if($tempStr.contains("&"))
 
456    #set($endIdx = $tempStr.indexOf("&"))
 
457    #set($youtubeId = $tempStr.substring(0, $endIdx))
 
458  #elseif($tempStr.contains('"'))
 
459    #set($endIdx = $tempStr.indexOf('"'))
 
460    #set($youtubeId = $tempStr.substring(0, $endIdx))
 
461  #else
 
462    #set($youtubeId = $tempStr.substring(0, 11))
 
463  #end
 
464#end
 
465#set($youtubeIdClean = $youtubeId.replaceAll("[^a-zA-Z0-9_-]", ""))
 
466#if($youtubeIdClean && $youtubeIdClean.length() == 11)
 
467<script type="application/ld+json">
 
468{"@context":"https://schema.org","@type":"VideoObject","name":"$!{titleClean}","description":"$!{descClean}","thumbnailUrl":"https://img.youtube.com/vi/${youtubeIdClean}/maxresdefault.jpg","uploadDate":"$!{datePublished}","embedUrl":"https://www.youtube.com/embed/${youtubeIdClean}","contentUrl":"https://www.youtube.com/watch?v=${youtubeIdClean}"}
 
469</script>
 
470#end
 
471#end
 
472
 
473#set($metaOG = {}) #set($temp = $metaOG.put("property","og:site_name")) #set($temp = $metaOG.put("content", "Vanguardia")) $iterVelocityTools.addMetaTag($metaOG)
 
474#set($metaOG = {}) #set($temp = $metaOG.put("property","og:type")) #set($temp = $metaOG.put("content", "article")) $iterVelocityTools.addMetaTag($metaOG)
 
475#set($metaOG = {}) #set($temp = $metaOG.put("property","og:title")) #set($temp = $metaOG.put("content", "$htmlUtil.escape($titleClean)")) $iterVelocityTools.addMetaTag($metaOG)
 
476#set($metaOG = {}) #set($temp = $metaOG.put("property","og:description")) #set($temp = $metaOG.put("content", "$htmlUtil.escape($descClean)")) $iterVelocityTools.addMetaTag($metaOG)
 
477#set($metaOG = {}) #set($temp = $metaOG.put("property","og:url")) #set($temp = $metaOG.put("content", "$htmlUtil.escape($fullUrl)")) $iterVelocityTools.addMetaTag($metaOG)
 
478#set($metaOG = {}) #set($temp = $metaOG.put("property","og:image")) #set($temp = $metaOG.put("content", "$htmlUtil.escape($imgOG)")) $iterVelocityTools.addMetaTag($metaOG)
 
479#set($metaOG = {}) #set($temp = $metaOG.put("property","og:image:width")) #set($temp = $metaOG.put("content", "$imgOGWidth")) $iterVelocityTools.addMetaTag($metaOG)
 
480#set($metaOG = {}) #set($temp = $metaOG.put("property","og:image:height")) #set($temp = $metaOG.put("content", "$imgOGHeight")) $iterVelocityTools.addMetaTag($metaOG)
 
481#set($metaOG = {}) #set($temp = $metaOG.put("property","article:published_time")) #set($temp = $metaOG.put("content", "$datePublished")) $iterVelocityTools.addMetaTag($metaOG)
 
482#set($metaOG = {}) #set($temp = $metaOG.put("property","article:modified_time")) #set($temp = $metaOG.put("content", "$dateModified")) $iterVelocityTools.addMetaTag($metaOG)
 
483#set($metaOG = {}) #set($temp = $metaOG.put("property","article:section")) #set($temp = $metaOG.put("content", "$htmlUtil.escape($section)")) $iterVelocityTools.addMetaTag($metaOG)
 
484
 
485#set($metaTW = {}) #set($temp = $metaTW.put("name","twitter:card")) #set($temp = $metaTW.put("content", "summary_large_image")) $iterVelocityTools.addMetaTag($metaTW)
 
486#set($metaTW = {}) #set($temp = $metaTW.put("name","twitter:site")) #set($temp = $metaTW.put("content", "@vanguardiamx")) $iterVelocityTools.addMetaTag($metaTW)
 
487#set($metaTW = {}) #set($temp = $metaTW.put("name","twitter:title")) #set($temp = $metaTW.put("content", "$htmlUtil.escape($titleClean)")) $iterVelocityTools.addMetaTag($metaTW)
 
488#set($metaTW = {}) #set($temp = $metaTW.put("name","twitter:description")) #set($temp = $metaTW.put("content", "$htmlUtil.escape($descClean)")) $iterVelocityTools.addMetaTag($metaTW)
 
489#set($metaTW = {}) #set($temp = $metaTW.put("name","twitter:image")) #set($temp = $metaTW.put("content", "$htmlUtil.escape($imgTwitter)")) $iterVelocityTools.addMetaTag($metaTW)
 
490#set($metaTW = {}) #set($temp = $metaTW.put("name","twitter:image:alt")) #set($temp = $metaTW.put("content", "$htmlUtil.escape($titleClean)")) $iterVelocityTools.addMetaTag($metaTW)
 
491#set($metaTW = {}) #set($temp = $metaTW.put("name","twitter:url")) #set($temp = $metaTW.put("content", "$htmlUtil.escape($fullUrl)")) $iterVelocityTools.addMetaTag($metaTW)
 
492
 
493#set($metaCSP = {}) #set($temp = $metaCSP.put("http-equiv","Content-Security-Policy")) #set($temp = $metaCSP.put("content", "upgrade-insecure-requests")) $iterVelocityTools.addMetaTag($metaCSP)
 
494
 
495<script>console.log("%c VNG-ESTANDAR-30 v9.0","background:#179d30ff;color:white;padding:4px;font-weight:bold");</script>
 
496
 
497<script>
 
498(function(){
 
499  function applyNativeLazy(img) {
 
500    if (img.closest('.image_main')) return;
 
501    if (img.src && img.src.includes('placeholder/svg')) return;
 
502    if (img.hasAttribute('loading')) return;
 
503    img.loading = 'lazy';
 
504    img.decoding = 'async';
 
505  }
 
506  new MutationObserver(function(mutations) {
 
507    mutations.forEach(function(mutation) {
 
508      mutation.addedNodes.forEach(function(node) {
 
509        if (node.nodeName === 'IMG') applyNativeLazy(node);
 
510        if (node.querySelectorAll) {
 
511          node.querySelectorAll('img').forEach(applyNativeLazy);
 
512        }
 
513      });
 
514    });
 
515  }).observe(document.documentElement, {childList: true, subtree: true});
 
516  document.querySelectorAll('img').forEach(applyNativeLazy);
 
517})();
 
518</script>
 
519
 
520#if($imgLCP && $imgLCP != "")
 
521<link rel="preload" as="image" href="$htmlUtil.escape($imgLCP)" fetchpriority="high">
 
522#end
 
523
 
524## ═══════════════════════════════════════════════════════════════
 
525## ESTRUCTURA HTML PRINCIPAL
 
526## template-infinity > container > article > row.middle(A)
 
527##   ├─ col-md-8 (B) contenido principal
 
528##   │    ├─ image_main
 
529##   │    └─ row.middle(C) interior
 
530##   │         ├─ col-md-3 (autor + compartir + temas desktop)
 
531##   │         └─ col-md-9 (texto del artículo)
 
532##   └─ col-md-4 (D) sidebar lateral
 
533## ═══════════════════════════════════════════════════════════════
 
534
 
535<div class="template-infinity idart_$reserved-article-id.data detail col-100-top-one-col col-xs-12 v2" id-next="$htmlUtil.escape($!art_next.reserved-article-id.data)" id-section="$htmlUtil.escape($sectionID)">
 
536
 
537<style>
 
538.block_URLCanonical{display:none}
 
539#iter-content-wrapper{min-height:1000px}
 
540@media (min-width:769px){
 
541  .row.middle{align-items:flex-start !important;overflow:visible !important}
 
542  .row.middle>.col-md-3{align-self:flex-start !important;overflow:visible !important}
 
543  .col-60-40-top-two-col{overflow:visible !important}
 
544  .col-60-40-top-one-col{overflow:visible !important}
 
545  .portlet-column{overflow:visible !important}
 
546  .mrf-article-body{overflow:visible !important}
 
547  .template-infinity{overflow:visible !important}
 
548  .container{overflow:visible !important}
 
549  article{overflow:visible !important}
 
550}
 
551/* ── Publicidad containers responsivos al creative servido ─── */
 
552.publicidad-container{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;width:100%}
 
553.publicidad-container--top{min-height:250px}
 
554.publicidad-container--mid{min-height:600px}
 
555.publicidad-container--bot{min-height:600px}
 
556
 
557div.block_Parrafo_Lista p{margin:0px !important}
 
558div.media_block1 a div img{border-radius:50% !important;border:#ff6d00 3px solid}
 
559.misarticulos{font-size:1rem;text-transform:uppercase;font-family:"PT Sans",helvetica,arial,sans-serif;font-weight:400;letter-spacing:1px;border-bottom:solid 2.5px #ff7c2c;max-width:168px;margin:0 auto}
 
560.author-card2{border:#c7c7c7d1 1px solid;margin-block:50px;width:90%;margin-inline:auto;padding-inline:5%;padding-top:30px;background-color:#F2F2F2}
 
561.author-description{padding-inline:5%;margin-bottom:20px}
 
562.author-description a{color:#ff6d00 !important}
 
563.btn-follow-wrapper{position:relative;display:inline-block;margin-bottom:15px}
 
564.btn-follow-google{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;min-height:32px;border:1px solid #dadce0;border-radius:999px;font-family:Arial,Helvetica,sans-serif;font-size:14px;font-weight:500;color:#1f1f1f;background-color:#fff;text-decoration:none;cursor:pointer;transition:background-color .2s ease,box-shadow .2s ease;box-sizing:border-box}
 
565.btn-follow-google:hover{background-color:#f8f9fa;box-shadow:0 1px 3px rgba(0,0,0,.08);text-decoration:none;color:#1f1f1f}
 
566.btn-follow-google:active{background-color:#f1f3f4}
 
567.btn-follow-plus{font-size:18px;font-weight:300;line-height:1;color:#5f6368;margin-right:2px}
 
568.btn-follow-text{white-space:nowrap;color:#3c4043}
 
569.btn-follow-google-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0}
 
570.btn-follow-google-icon svg{width:18px;height:18px}
 
571.btn-follow-tooltip{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);background-color:#3c4043;color:#fff;font-size:12px;padding:6px 10px;border-radius:4px;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;pointer-events:none;z-index:10}
 
572.btn-follow-tooltip::before{content:'';position:absolute;bottom:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-bottom-color:#3c4043}
 
573.btn-follow-wrapper:hover .btn-follow-tooltip{opacity:1;visibility:visible}
 
574.thrd-pty-wgn{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:24px 0;max-width:100%;box-sizing:border-box}
 
575.thrd-pty-ch{display:flex;align-items:center;justify-content:space-between;text-decoration:none;border:1px solid #e0e0e0;border-radius:999px;padding:12px 16px;transition:all .2s ease;background:#fff;min-width:0}
 
576.thrd-pty-ch:hover{border-color:#bdbdbd;background:#fafafa}
 
577.thrd-pty-ch-ctn{display:flex;align-items:center;gap:12px;min-width:0;flex:1}
 
578.thrd-pty-txt{font-size:14px;line-height:1.3;color:#111;margin:0}
 
579.g-nws-tg-icon{position:relative;width:48px;height:48px;flex-shrink:0}
 
580.g-nws-tg-icon img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:block}
 
581.glo-wsp-icon{width:50px;height:50px;flex-shrink:0}
 
582.lnk-icon-arrow{flex-shrink:0}
 
583.lnk-icon-arrow-rect,.lnk-icon-arrow-path{transition:all .2s ease}
 
584.thrd-pty-ch:hover .lnk-icon-arrow-rect{stroke:#999}
 
585.thrd-pty-ch:hover .lnk-icon-arrow-path{fill:#999}
 
586@media(max-width:768px){.thrd-pty-wgn{grid-template-columns:1fr}.thrd-pty-txt{font-size:16px}}
 
587.article_text .teaser-container{display:grid;grid-template-columns:200px 1fr;gap:0;border-left:3px solid #f07a2b;border-top:1px solid #e8e0d4;border-right:1px solid #e8e0d4;border-bottom:1px solid #e8e0d4;border-radius:4px;background:#f7f4ef;overflow:hidden;transition:box-shadow .2s ease,border-color .2s ease;margin:1.5rem 0}
 
588.article_text .teaser-container:hover{box-shadow:0 2px 12px rgba(240,122,43,.12);border-left-color:#ff6d00}
 
589.article_text .teaser-image-container{overflow:hidden;min-height:120px}
 
590.article_text .teaser-image-container a{display:block;height:100%}
 
591.article_text .teaser-image-container img.teaser-image{width:100%;height:100%;object-fit:cover;display:block}
 
592.article_text .teaser-content{display:flex;flex-direction:column;justify-content:center;padding:14px 18px}
 
593.article_text .teaser-content::before{content:"TE PUEDE INTERESAR:";font-family:"PT Sans",Helvetica,Arial,sans-serif;font-size:.8rem;font-weight:700;letter-spacing:1.5px;color:#f07a2b;margin-bottom:6px}
 
594.article_text .teaser-title a{font-family:"PT Serif",Georgia,serif;font-size:1.05rem;font-weight:400;line-height:1.35;color:#1a1a1a;text-decoration:none;transition:color .2s ease}
 
595.article_text .teaser-title a:hover{color:#f07a2b}
 
596@media(max-width:600px){
 
597  .article_text .teaser-container{grid-template-columns:140px 1fr}
 
598  .article_text .teaser-content{padding:10px 14px}
 
599  .article_text .teaser-title a{font-size:1rem}
 
600}
 
601</style>
 
602
 
603<div class="container">
 
604    <script>
 
605        window.esNotaEstandar = true;
 
606
 
607        var group_id="$htmlUtil.escape($!request.theme-display.scope-group-id)";
 
608        var id_art_infinity="$htmlUtil.escape($!reserved-article-id.data)";
 
609        if(typeof n_noticia==="undefined") n_noticia=0;
 
610        #if($iterVelocityTools.getVelocityVariable("teaseritemposition") == 1)
 
611            var teaser_first=true;
 
612            n_noticia=1;
 
613            idart_view="$htmlUtil.escape($reserved-article-id.data)";
 
614        #else
 
615            var teaser_first=false;
 
616            n_noticia=n_noticia+1;
 
617        #end
 
618    </script>
 
619
 
620    #set($titleForJS = $titleClean.replaceAll('"', '\\"').replaceAll("'", "\\'").replaceAll('\n', ' ').replaceAll('<', '').replaceAll('>', '').replaceAll('/', '\\/'))
 
621
 
622    <script>
 
623        document.addEventListener("DOMContentLoaded",function(){
 
624            if(typeof sendHitUser==="function"){
 
625                sendHitUser("$titleForJS");
 
626            }
 
627        });
 
628    </script>
 
629
 
630    <div class="banner-bg">
 
631        <div class="banner-flex">
 
632            <div class="publicidad-container publicidad-container--top">
 
633                <span class="publicidad-label">Publicidad</span>
 
634                <div id="div-gpt-ad-1733160976056-0" style="width: 100%; margin: 0 auto; display: flex; justify-content: center;">
 
635                    <script>googletag.cmd.push(function() { googletag.display('div-gpt-ad-1733160976056-0'); });</script>
 
636                </div>
 
637            </div>
 
638        </div>
 
639    </div>
 
640
 
641    <article class="mrf-article-body" style="min-height: 1000px;">
 
642        #set($NombreAutor = "")
 
643        #set($IDAutor = "")
 
644        #if($hmAutores && $hmAutores.size() > 0)
 
645            #foreach($elem in $hmAutores)
 
646                #set($NombreAutor = $htmlUtil.escape($elem.name))
 
647                #set($IDAutor = $htmlUtil.escape($elem.id))
 
648                <div data-author-name="$NombreAutor" class="meta-author-name"></div>
 
649                <div data-author-id="$IDAutor" class="meta-author-id"></div>
 
650                <div class="categoryListItem categoryPageItem" data-categoryid="$IDAutor" data-categoryname="$NombreAutor"></div>
 
651            #end
 
652        #end
 
653
 
654        <div id="eww-general" style="display:none;"></div>
 
655        <h1 class="headline artit font-1 medium bold" canonicalUrl="$htmlUtil.escape($canonicalUrl)" idart="$htmlUtil.escape($reserved-article-id.data)">#getTitle_v1</h1>
 
656
 
657        <div class="btn-follow-wrapper">
 
658            <a href="https://profile.google.com/cp/CgsvZy8xdGN6d2Nqa" class="btn-follow-google" aria-label="Seguir a VANGUARDIA en Google Discover" target="_blank" rel="noopener">
 
659                <span class="btn-follow-plus">+</span>
 
660                <span class="btn-follow-text">Seguir en</span>
 
661                <span class="btn-follow-google-icon">
 
662                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18">
 
663                        <path fill="#4285F4" d="M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z"/>
 
664                        <path fill="#34A853" d="M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z"/>
 
665                        <path fill="#FBBC05" d="M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z"/>
 
666                        <path fill="#EA4335" d="M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z"/>
 
667                    </svg>
 
668                </span>
 
669            </a>
 
670            <span class="btn-follow-tooltip">Seguir en Google</span>
 
671        </div>
 
672
 
673        <div class="info">
 
674            <span class="secc">#printTopcontainer_v1("section" "")</span> / 
 
675            <span class="date">$htmlUtil.escape($dateDisplay)</span>
 
676        </div>
 
677
 
678        ## ── ROW MIDDLE (A) ── contenedor exterior: col-md-8 + col-md-4
 
679        <div class="row middle">
 
680
 
681            ## ── COL-MD-8 (B) ── columna principal de contenido
 
682            <div class="col-60-40-top-one-col col-xs-12 col-md-8 col-lg-8 portlet-column nopadding" id="col-60-40-top-one-col">
 
683                #set($hasImages = $articleToolbox.getNumImageTags("Image", "true"))
 
684                #if($section == "Opinión" || $section == "Politicón")
 
685                    #if($hasImages > 0)
 
686                        <div class="image_main">
 
687                            #getMultimediaMixed_v1("fullcontent", "crop_1152x648", "100%", "432", "100%")
 
688                        </div>
 
689                    #elseif($hmAutores && $hmAutores.size() > 0)
 
690                        #foreach($elem in $hmAutores)
 
691                            #set($articuloInstrumental = $aboutCategoryArticles.getArticle($elem.id))
 
692                            #set($authorNameEsc = $htmlUtil.escape($elem.name))
 
693                            #set($imgColumn = $!articuloInstrumental.getImageTag("ImagenColumnista","0","crop_1152x648","","","","","true","",""))
 
694                            #if($imgColumn && $imgColumn != "")
 
695                                <div class="image_main">$!imgColumn</div>
 
696                            #end
 
697                        #end
 
698                    #end
 
699                #else
 
700                    <div class="image_main">
 
701                        #getMultimediaMixed_v1("fullcontent", "crop_1152x648", "100%", "432", "100%")
 
702                    </div>
 
703                #end
 
704                <script>
 
705                (function(){
 
706                    var img=document.querySelector('.image_main img');
 
707                    if(!img) return;
 
708                    var real=img.getAttribute('data-src')||'';
 
709                    if(real){
 
710                        img.src=real;
 
711                        img.removeAttribute('data-src');
 
712                    }
 
713                    var realSet=img.getAttribute('data-srcset')||'';
 
714                    if(realSet){
 
715                        img.srcset=realSet;
 
716                        img.removeAttribute('data-srcset');
 
717                    }
 
718                    img.setAttribute('loading','eager');
 
719                    img.setAttribute('fetchpriority','high');
 
720                    img.removeAttribute('decoding');
 
721                    img.classList.remove('lazyload','lazyloading','lazyloaded');
 
722                })();
 
723                </script>
 
724
 
725                ## ── ROW MIDDLE (C) ── interior: col-md-3 (autor) + col-md-9 (texto)
 
726                <div class="row middle">
 
727
 
728                    ## ── COL-MD-3 ── autor + compartir + temas (desktop)
 
729                    <div class="col-60-40-top-two-col col-xs-12 col-md-3 col-lg-3 portlet-column nopadding" id="col-60-40-top-two-col">
 
730                        <div class="author">
 
731                            #if($hmAutores && $hmAutores.size() > 0)
 
732                                #foreach($elem in $hmAutores)
 
733                                    #set($articuloInstrumental = $aboutCategoryArticles.getArticle($elem.id))
 
734                                    #set($authorNameEsc = $htmlUtil.escape($elem.name))
 
735                                    #set($imgAuthor = $!articuloInstrumental.getImageTag("Image","0","crop_250x250","","","","","$authorNameEsc","",""))
 
736                                    <div class="img_author">
 
737                                        #if($imgAuthor && $imgAuthor != "")
 
738                                            $!imgAuthor
 
739                                        #else
 
740                                           <img class="img-fluid" src="$htmlUtil.escape($AuthorNoFoto)" alt="$authorNameEsc" loading="lazy"/>
 
741                                        #end
 
742                                    </div>
 
743                                    <div class="text_author">por <span class="name_author"><a href="/autor/-/meta/$htmlUtil.escapeURL($elem.friendlyname)">$authorNameEsc</a></span></div>
 
744                                    <div data-author-name="$authorNameEsc" class="meta-author-name"></div>
 
745                                    <div data-author-id="$htmlUtil.escape($elem.id)" class="meta-author-id"></div>
 
746                                    #set($NombreAutor = $authorNameEsc)
 
747                                    #set($IDAutor = $htmlUtil.escape($elem.id))
 
748                                #end
 
749                            #end
 
750                        </div>
 
751
 
752                        <div class="compartirr">
 
753                            <div class="rrss d-desktop">
 
754                                <h2 class="sectiondestacadas" style="margin-bottom: 15px; margin-top: 40px;">COMPARTIR</h2>
 
755                                <div class="network-social">
 
756                                    #set($uEnc = $escapeTool.url($fullUrl))
 
757                                    #set($tEnc = $escapeTool.url($title))
 
758                                    <ul class="social-options">
 
759                                        <li><a class="facebook" href="https://www.facebook.com/sharer/sharer.php?u=${uEnc}" target="_blank" rel="noopener noreferrer nofollow" title="Compartir en Facebook"><div class="fab facebook"></div><b>Facebook</b></a></li>
 
760                                        <li><a class="twitter" href="https://twitter.com/intent/tweet?text=${tEnc}&amp;url=${uEnc}" target="_blank" rel="noopener noreferrer nofollow" title="Compartir en Twitter"><div class="fab twitter"></div><b>Twitter</b></a></li>
 
761                                        <li><a class="whatsapp" href="https://api.whatsapp.com/send?text=${tEnc}%20-%20${uEnc}" target="_blank" rel="noopener noreferrer nofollow" title="Compartir en Whatsapp"><div class="fab whatsapp"></div><b>Whatsapp</b></a></li>
 
762                                        <li><a class="linkedin" href="https://www.linkedin.com/shareArticle?mini=true&url=${uEnc}" target="_blank" rel="noopener noreferrer nofollow" title="Compartir en Linkedin"><div class="fab linkedin"></div><b>Linkedin</b></a></li>
 
763                                    </ul>
 
764                                </div>
 
765                            </div>
 
766
 
767                            <div class="temas d-desktop" temas="$hmTemas.size()">
 
768                                #if($hmTemas && $hmTemas.size() > 0)
 
769                                    <h2 class="sectiondestacadas1" style="margin-bottom: 15px;">TEMAS</h2><br>
 
770                                    #set($count = 0)
 
771                                    #foreach($elem in $hmTemas)
 
772                                        #if($count < 3)
 
773                                            <div class="item_tema t_$hmTemas.size() keywords TemasTopics"><a href="/topic/-/meta/$htmlUtil.escapeURL($elem.friendlyname)">$htmlUtil.escape($elem.name)</a></div>
 
774                                            #set($count = $count + 1)
 
775                                        #end
 
776                                    #end
 
777                                #end
 
778                                #if($hmGeografico && $hmGeografico.size() > 0)
 
779                                    <h2 class="sectiondestacadas1" style="margin-bottom: 15px;">Localizaciones</h2><br>
 
780                                    #set($count = 0)
 
781                                    #foreach($elem in $hmGeografico)
 
782                                        #if($count < 3)
 
783                                            <div class="item_tema t_$hmGeografico.size() keywords TemasLocalizaciones"><a href="/localizaciones/-/meta/$htmlUtil.escapeURL($elem.friendlyname)">$htmlUtil.escape($elem.name)</a></div>
 
784                                            #set($count = $count + 1)
 
785                                        #end
 
786                                    #end
 
787                                #end
 
788                                #if($hmPersonajes && $hmPersonajes.size() > 0)
 
789                                    <h2 class="sectiondestacadas1" style="margin-bottom: 15px;">Personajes</h2><br>
 
790                                    #set($count = 0)
 
791                                    #foreach($elem in $hmPersonajes)
 
792                                        #if($count < 3)
 
793                                            <div class="item_tema t_$hmPersonajes.size() keywords TemasPersonajes"><a href="/personajes/-/meta/$htmlUtil.escapeURL($elem.friendlyname)">$htmlUtil.escape($elem.name)</a></div>
 
794                                            #set($count = $count + 1)
 
795                                        #end
 
796                                    #end
 
797                                #end
 
798                                #if($hmCompanies && $hmCompanies.size() > 0)
 
799                                    <h2 class="sectiondestacadas1" style="margin-bottom: 15px;">Organizaciones</h2><br>
 
800                                    #set($count = 0)
 
801                                    #foreach($elem in $hmCompanies)
 
802                                        #if($count < 3)
 
803                                            <div class="item_tema t_$hmCompanies.size() keywords TemasOrganizaciones"><a href="/organizaciones/-/meta/$htmlUtil.escapeURL($elem.friendlyname)">$htmlUtil.escape($elem.name)</a></div>
 
804                                            #set($count = $count + 1)
 
805                                        #end
 
806                                    #end
 
807                                #end
 
808                            </div>
 
809                        </div>
 
810                    </div>## /col-md-3
 
811
 
812                    #php_if("getenv('ITER_UA_IS_MOBILE')==='true'")
 
813                        <div class="rrss end d-movil" style="background: white; z-index: 3;">
 
814                            <div class="cab-rrss">COMPARTIR</div>
 
815                            <div class="network-social">
 
816                                <ul class="social-options">
 
817                                    <li><a class="facebook" href="https://www.facebook.com/sharer/sharer.php?u=${uEnc}" target="_blank" rel="noopener noreferrer nofollow" title="Compartir en Facebook"><div class="fab facebook"></div></a></li>
 
818                                    <li><a class="twitter" href="https://twitter.com/intent/tweet?text=${tEnc}&amp;url=${uEnc}" target="_blank" rel="noopener noreferrer nofollow" title="Compartir en Twitter"><div class="fab twitter"></div></a></li>
 
819                                    <li><a class="whatsapp" href="https://api.whatsapp.com/send?text=${tEnc}%20-%20${uEnc}" target="_blank" rel="noopener noreferrer nofollow" title="Compartir en Whatsapp"><div class="fab whatsapp"></div></a></li>
 
820                                    <li><a class="linkedin" href="https://www.linkedin.com/shareArticle?mini=true&url=${uEnc}" target="_blank" rel="noopener noreferrer nofollow" title="Compartir en Linkedin"><div class="fab linkedin"></div></a></li>
 
821                                </ul>
 
822                            </div>
 
823                        </div>
 
824                    #php_end
 
825
 
826                    ## ── COL-MD-9 ── texto del artículo
 
827                    <div class="col-60-40-top-one-col col-xs-12 col-md-9 col-lg-9 portlet-column nopadding" id="col-60-40-top-one-col" data-section="$htmlUtil.escape($section)" data-author="$NombreAutor" data-post-title="$htmlUtil.escape($titleClean)" data-post-id="$htmlUtil.escape($reserved-article-id.data)" data-author-id="$IDAutor">
 
828                        #set($tempSubheadline = "#getTeaserSubheadline_v1(true)")
 
829                        #if($tempSubheadline && $tempSubheadline != "")
 
830                            <h2 class="subheadline">$tempSubheadline</h2>
 
831                        #end
 
832
 
833                        <div class="banner-bg"><div class="banner-flex"><div class="publicidad-container publicidad-container--mid"><span class="publicidad-label">Publicidad</span><div id="div-gpt-ad-1733161081350-0" style="width: 100%; margin: 0 auto; display: flex; justify-content: center;">
 
834                            <script>googletag.cmd.push(function() { googletag.display('div-gpt-ad-1733161081350-0'); });</script>
 
835                        </div></div></div></div>
 
836                        <div id="eww-save-post" style="display:none;"></div>
 
837
 
838                        <div class="text resizable">
 
839                            #if($section == "Politicón")
 
840                                <div class="PoliticonNotaslogo" style="width: 300px; height: 60px; margin-bottom: 3rem;"></div>
 
841                            #end
 
842                            #printHTMLContentArticle_v1_latam($arrayListContenidos, "crop_1152x648_detalle", "100%", "100%", "375")
 
843
 
844                            <div class="thrd-pty-wgn">
 
845                                <a aria-label="Google News" class="thrd-pty-ch" href="https://news.google.com/publications/CAAqLQgKIidDQklTRndnTWFoTUtFWFpoYm1kMVlYSmthV0V1WTI5dExtMTRLQUFQAQ?ceid=US:es-419&oc=3" target="_blank" rel="noopener noreferrer">
 
846                                    <div class="thrd-pty-ch-ctn">
 
847                                        <div class="g-nws-tg-icon">
 
848                                            <svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
 
849                                                <rect width="48" height="48" rx="24" fill="#F1F3F4"/>
 
850                                                <rect x="0.5" y="0.5" width="47" height="47" rx="23.5" stroke="#DADCE0"/>
 
851                                            </svg>
 
852                                            <img alt="Google News" height="22" width="26" src="https://vanguardia.com.mx/binrepository/google-news-icon_1-14239467_20260119191111.png" loading="lazy">
 
853                                        </div>
 
854                                        <p class="thrd-pty-txt">Sigue a <strong>Vanguardia</strong> en Google News.</p>
 
855                                    </div>
 
856                                    <svg width="32" height="32" class="lnk-icon-arrow" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="0.5" y="0.5" width="31" height="31" rx="15.5" class="lnk-icon-arrow-rect" stroke="#C2C2C2"></rect><path class="lnk-icon-arrow-path" d="M20.8188 10.0464C20.0855 10.0464 15.031 10.0726 13.2152 10.0726C12.8137 10.0726 12.4819 10.2123 12.255 10.5615C12.0367 10.9019 12.0193 11.286 12.2288 11.6352C12.4296 11.9931 12.7613 12.1677 13.189 12.1765C14.7866 12.1677 18.3483 12.1677 18.3483 12.1677L10.3432 20.1729C9.93285 20.5832 9.93285 21.2466 10.3432 21.6569C10.7534 22.0672 11.4169 22.0672 11.8272 21.6569L19.8411 13.6431C19.8411 13.6431 19.8411 17.2048 19.8323 18.8023C19.8323 19.2213 20.0069 19.5531 20.3736 19.7626C20.7315 19.9634 21.0982 19.9459 21.4473 19.7364C21.7965 19.5094 21.9362 19.1777 21.9362 18.7761C21.9449 16.9691 21.9624 11.1725 21.9624 11.1725C21.9624 10.4742 21.5346 10.0464 20.8275 10.0377L20.8188 10.0464Z" fill="#C2C2C2"></path></svg>
 
857                                </a>
 
858
 
859                                <a aria-label="WhatsApp" class="thrd-pty-ch" href="https://whatsapp.com/channel/0029Va2n3TCA2pL9rkrqWx2b" target="_blank" rel="noopener noreferrer">
 
860                                    <div class="thrd-pty-ch-ctn">
 
861                                        <svg width="48" height="48" class="glo-wsp-icon" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="48" height="48" rx="24" fill="#02840C" fill-opacity="0.05"></rect><rect x="0.5" y="0.5" width="47" height="47" rx="23.5" stroke="#02840C" stroke-opacity="0.7"></rect><path d="M27.43 25.4144C27.15 25.2811 26.95 25.3878 26.7634 25.6277C26.5101 25.9877 26.2035 26.321 25.9369 26.6676C25.7502 26.9075 25.5369 26.9609 25.2569 26.8409C23.4972 26.1343 22.1641 24.9745 21.1909 23.3747C21.0442 23.1348 21.0576 22.9481 21.2309 22.7348C21.4842 22.4282 21.7241 22.1349 21.9241 21.8016C22.0174 21.6416 22.0707 21.3883 22.0174 21.2284C21.7108 20.4152 21.3642 19.6286 21.0176 18.8287C20.9509 18.6821 20.8176 18.4954 20.6843 18.4821C20.1377 18.3888 19.5644 18.2821 19.0978 18.7354C18.1647 19.6153 17.818 20.6951 18.058 21.9349C18.2713 23.0414 18.8979 23.948 19.5644 24.8412C20.8309 26.4943 22.2974 27.9341 24.2438 28.7873C25.1903 29.2139 26.1502 29.6405 27.2167 29.6405C27.4033 29.6405 27.5899 29.6405 27.7632 29.6005C29.1764 29.3072 30.1762 28.5073 30.1229 27.0275C30.1229 26.8809 30.0296 26.6676 29.9229 26.6143C29.0964 26.1876 28.2698 25.801 27.43 25.4144Z" fill="#02840C"></path><path d="M35.9216 22.3087C35.0951 15.6963 28.7094 11.017 22.0837 12.1768C14.4714 13.4966 10.0721 21.4288 13.0316 28.4944C13.7915 29.4943 13.5916 30.5208 13.2316 31.6273C12.765 33.0404 12.4184 34.5069 12.0051 36C12.1784 35.96 12.2984 35.9467 12.4184 35.9067C14.2581 35.4268 16.0979 34.9602 17.9109 34.4802C18.2309 34.4002 18.4708 34.4402 18.7641 34.5869C21.2571 35.8 23.8834 36.1466 26.5763 35.5601C32.7488 34.1869 36.6815 28.5744 35.895 22.3353L35.9216 22.3087ZM25.5765 33.6937C23.2168 34.0669 21.0038 33.587 18.9241 32.4005C18.7641 32.3072 18.5108 32.2672 18.3109 32.3205C17.191 32.5872 16.0712 32.8938 14.8714 33.2004C15.178 32.0539 15.458 31.0007 15.7646 29.9209C15.8446 29.6409 15.8046 29.441 15.6579 29.201C12.0051 23.3219 15.1513 15.8163 21.9237 14.2565C27.4295 12.9767 33.0421 16.7761 33.8819 22.362C34.7085 27.8279 31.0423 32.8405 25.5765 33.6937Z" fill="#02840C"></path></svg>
 
862                                        <p class="thrd-pty-txt">Noticias de <strong>Vanguardia</strong> en WhatsApp.</p>
 
863                                    </div>
 
864                                    <svg width="32" height="32" class="lnk-icon-arrow" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="0.5" y="0.5" width="31" height="31" rx="15.5" class="lnk-icon-arrow-rect" stroke="#C2C2C2"></rect><path class="lnk-icon-arrow-path" d="M20.8188 10.0464C20.0855 10.0464 15.031 10.0726 13.2152 10.0726C12.8137 10.0726 12.4819 10.2123 12.255 10.5615C12.0367 10.9019 12.0193 11.286 12.2288 11.6352C12.4296 11.9931 12.7613 12.1677 13.189 12.1765C14.7866 12.1677 18.3483 12.1677 18.3483 12.1677L10.3432 20.1729C9.93285 20.5832 9.93285 21.2466 10.3432 21.6569C10.7534 22.0672 11.4169 22.0672 11.8272 21.6569L19.8411 13.6431C19.8411 13.6431 19.8411 17.2048 19.8323 18.8023C19.8323 19.2213 20.0069 19.5531 20.3736 19.7626C20.7315 19.9634 21.0982 19.9459 21.4473 19.7364C21.7965 19.5094 21.9362 19.1777 21.9362 18.7761C21.9449 16.9691 21.9624 11.1725 21.9624 11.1725C21.9624 10.4742 21.5346 10.0464 20.8275 10.0377L20.8188 10.0464Z" fill="#C2C2C2"></path></svg>
 
865                                </a>
 
866                            </div>
 
867
 
868                            <div class="banner-bg"><div class="banner-flex"><div class="publicidad-container publicidad-container--mid"><span class="publicidad-label">Publicidad</span><div id="div-gpt-ad-1733161131848-0" style="width: 100%; margin: 0 auto; display: flex; justify-content: center;">
 
869                                <script>googletag.cmd.push(function() { googletag.display('div-gpt-ad-1733161131848-0'); });</script>
 
870                            </div></div></div></div>
 
871
 
872                            <div class="temas d-movil" temas="$hmTemas.size()">
 
873                                #if($hmTemas && $hmTemas.size() > 0)
 
874                                    <h2 class="sectiondestacadas1" style="margin-bottom: 15px;">Temas</h2><br>
 
875                                    #set($count = 0)
 
876                                    #foreach($elem in $hmTemas)
 
877                                        #if($count < 3)
 
878                                            <div class="item_tema t_$hmTemas.size() keywords TemasTopics"><a href="/topic/-/meta/$htmlUtil.escapeURL($elem.friendlyname)">$htmlUtil.escape($elem.name)</a></div>
 
879                                            #set($count = $count + 1)
 
880                                        #end
 
881                                    #end
 
882                                    <br>
 
883                                #end
 
884                                #if($hmGeografico && $hmGeografico.size() > 0)
 
885                                    <h2 class="sectiondestacadas1" style="margin-bottom: 15px;">Localizaciones</h2><br>
 
886                                    #set($count = 0)
 
887                                    #foreach($elem in $hmGeografico)
 
888                                        #if($count < 3)
 
889                                            <div class="item_tema t_$hmGeografico.size() keywords TemasLocalizaciones"><a href="/localizaciones/-/meta/$htmlUtil.escapeURL($elem.friendlyname)">$htmlUtil.escape($elem.name)</a></div>
 
890                                            #set($count = $count + 1)
 
891                                        #end
 
892                                    #end
 
893                                    <br>
 
894                                #end
 
895                                #if($hmPersonajes && $hmPersonajes.size() > 0)
 
896                                    <h2 class="sectiondestacadas1" style="margin-bottom: 15px;">Personajes</h2><br>
 
897                                    #set($count = 0)
 
898                                    #foreach($elem in $hmPersonajes)
 
899                                        #if($count < 3)
 
900                                            <div class="item_tema t_$hmPersonajes.size() keywords TemasPersonajes"><a href="/personajes/-/meta/$htmlUtil.escapeURL($elem.friendlyname)">$htmlUtil.escape($elem.name)</a></div>
 
901                                            #set($count = $count + 1)
 
902                                        #end
 
903                                    #end
 
904                                    <br>
 
905                                #end
 
906                                #if($hmCompanies && $hmCompanies.size() > 0)
 
907                                    <h2 class="sectiondestacadas1" style="margin-bottom: 15px;">Organizaciones</h2><br>
 
908                                    #set($count = 0)
 
909                                    #foreach($elem in $hmCompanies)
 
910                                        #if($count < 3)
 
911                                            <div class="item_tema t_$hmCompanies.size() keywords TemasOrganizaciones"><a href="/organizaciones/-/meta/$htmlUtil.escapeURL($elem.friendlyname)">$htmlUtil.escape($elem.name)</a></div>
 
912                                            #set($count = $count + 1)
 
913                                        #end
 
914                                    #end
 
915                                    <br>
 
916                                #end
 
917                            </div>
 
918
 
919                            #set($NombreAutor = "")
 
920                            #set($IDAutor = "")
 
921                            #if($hmAutores && $hmAutores.size() > 0)
 
922                                #foreach($elem in $hmAutores)
 
923                                    #set($NombreAutor = $htmlUtil.escape($elem.name))
 
924                                    #set($IDAutor = $htmlUtil.escape($elem.id))
 
925                                    <div class="categoryListItem categoryPageItem" data-categoryid="$IDAutor" data-categoryname="$NombreAutor"></div>
 
926                                    #set($articuloAutor = $aboutCategoryArticles.getArticle("$elem.id"))
 
927                                    #if($articuloAutor)
 
928                                        #set($imgAuthor = $!articuloAutor.getImageTag("Image","0","crop_250x250","","","","","$htmlUtil.escape($!articuloAutor.Headline.data)","",""))
 
929                                        #if($articuloAutor.Text && $articuloAutor.Text.data && $articuloAutor.Text.data.trim() != "" && $articuloAutor.Headline && $articuloAutor.Headline.data && $articuloAutor.Headline.data.trim() != "")
 
930                                            <div style="border-top: solid 1px #80808047; margin-top: 30px;"></div>
 
931                                            <div class="author-card2">
 
932                                                <div class="row"><div class="col-12" style="display: flex; justify-content: center;">
 
933                                                    <div class="media_block1" style="padding: 1rem; margin-top: 15px;">
 
934                                                        <a style="width: 140px; display: flex; margin: auto;" href="/autor/-/meta/$htmlUtil.escapeURL($elem.friendlyname)" title="$htmlUtil.escape($!articuloAutor.Headline.data)">$!imgAuthor</a>
 
935                                                        <a style="color: black;" href="/autor/-/meta/$htmlUtil.escapeURL($elem.friendlyname)">
 
936                                                            <p style="font-size: 1.7rem; font-family: 'PT Serif', Georgia, serif; font-weight: 400; line-height: 120%; margin-top: 15px;">$htmlUtil.escape($!articuloAutor.Headline.data)</p>
 
937                                                        </a>
 
938                                                    </div>
 
939                                                </div></div>
 
940                                                <div class="row"><div class="col-12" style="display: flex; justify-content: center; margin-bottom: 30px;">
 
941                                                    <div class="text_block">
 
942                                                        #set($authorDescRaw = $!articuloAutor.Text.data)
 
943                                                        #set($authorDescSafe = $authorDescRaw.replaceAll("(?i)<script[^>]*>.*?</script>", "").replaceAll("(?i)on\w+\s*=", "data-removed=").replaceAll("(?i)javascript:", ""))
 
944                                                        <div class="author-description">$!authorDescSafe</div>
 
945                                                        <div class="row"><div class="col-12" style="display: flex; justify-content: center;">
 
946                                                            #if($articuloAutor.twitterProfile && $articuloAutor.twitterProfile.data != "")
 
947                                                                #set($twitterUrl = $articuloAutor.twitterProfile.data.replaceAll("[^a-zA-Z0-9:/._-]", ""))
 
948                                                                <div style="margin-right: 20px;" class="author-twitter1">
 
949                                                                    <a href="$htmlUtil.escape($twitterUrl)" target="_blank" rel="noopener noreferrer nofollow">
 
950                                                                        <svg xmlns="http://www.w3.org/2000/svg" height="1em" viewBox="0 0 512 512" style="font-size: 30px;" fill="#FF6600"><path d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"/></svg>
 
951                                                                    </a>
 
952                                                                </div>
 
953                                                            #end
 
954                                                            #if($articuloAutor.emailAutor && $articuloAutor.emailAutor.data != "")
 
955                                                                #set($emailClean = $articuloAutor.emailAutor.data.replaceAll("[^a-zA-Z0-9@._-]", ""))
 
956                                                                <div class="author-email1">
 
957                                                                    <a href="mailto:$htmlUtil.escape($emailClean)">
 
958                                                                        <svg xmlns="http://www.w3.org/2000/svg" height="1em" viewBox="0 0 512 512" style="font-size: 30px;" fill="#FF6600"><path d="M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48H48zM0 176V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V176L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z"/></svg>
 
959                                                                    </a>
 
960                                                                </div>
 
961                                                            #end
 
962                                                        </div></div>
 
963                                                    </div>
 
964                                                </div></div>
 
965                                            </div>
 
966                                        #end
 
967                                    #end
 
968                                #end
 
969                            #end
 
970
 
971                            <div class="ComentariosDR" id="eww-comments" style="display:none;"></div>
 
972
 
973                            #if($Generic && $Generic.getSiblings().size() > 0)
 
974                                <ul class="generic">
 
975                                    #foreach($el in $Generic.getSiblings())
 
976                                        <li><span class="icon"></span><a href="$htmlUtil.escape($!el.Document.data)">$htmlUtil.escape($!el.data) ($htmlUtil.escape($el.Extension.data))</a></li>
 
977                                    #end
 
978                                </ul>
 
979                            #end
 
980
 
981                            #set($urlLink = $articleToolbox.getTag(null,"linkURL"))
 
982                            #set($titleLink = $articleToolbox.getTag(null,"linkTitle"))
 
983                            #if(($urlLink && $urlLink.data != "") && ($titleLink && $titleLink.data != ""))
 
984                                #set($urlLinkClean = $urlLink.data.replaceAll("[<>\"']", ""))
 
985                                <a class="ext_link" href="$htmlUtil.escape($urlLinkClean)" target="_blank" rel="nofollow noopener noreferrer"><strong>$htmlUtil.escape($!titleLink.data)</strong></a>
 
986                            #end
 
987
 
988                            #if($linkIntTitle && $linkIntTitle.getSiblings().size() > 0)
 
989                                <div class="link_tpi">
 
990                                    <div class="head_int"><span class="icon"></span> TE PUEDE INTERESAR: </div>
 
991                                    #foreach($el in $linkIntTitle.getSiblings())
 
992                                        #set($intUrlClean = $el.linkIntURL.data.replaceAll("[<>\"']", ""))
 
993                                        <div class="item_int"><a href="$htmlUtil.escape($intUrlClean)">$htmlUtil.escape($!el.data)</a></div>
 
994                                    #end
 
995                                </div>
 
996                            #end
 
997                        </div>
 
998                    </div>## /col-md-9
 
999
 
1000                </div>## /row.middle(C) interior
 
1001
 
1002            </div>## /col-md-8 (B) — CORREGIDO: cierre faltante agregado
 
1003
 
1004            ## ── COL-MD-4 (D) ── sidebar lateral (ranking, newsletter, encuesta)
 
1005            <div class="col-60-40-top-two-col col-xs-12 col-md-4 col-lg-4 portlet-column nopadding" id="col-60-40-top-two-col">
 
1006                <div id="" class="portlet-boundary portlet-static-end htmlcontainer-portlet block_newsletter">
 
1007                    <div class="move-from-a">
 
1008                        <h2 hidden class="sectiondestacadas">Encuesta Vanguardia</h2>
 
1009                        <div hidden id="encuesta-container" style="margin-bottom: 40px; margin-top: 40px;"></div>
 
1010                    </div>
 
1011                </div>
 
1012                <div class="ranking_infinity lateral_secc c004_003"></div>
 
1013            </div>## /col-md-4 (D)
 
1014
 
1015        </div>## /row.middle(A) exterior
 
1016    </article>
 
1017
 
1018    <div class="banner-bg">
 
1019        <div class="banner-flex">
 
1020            <div class="publicidad-container publicidad-container--bot">
 
1021                <span class="publicidad-label">Publicidad</span>
 
1022                <div id="div-gpt-ad-1733161178287-0" style="width: 100%; margin: 0 auto; display: flex; justify-content: center;">
 
1023                    <script>googletag.cmd.push(function() { googletag.display('div-gpt-ad-1733161178287-0'); });</script>
 
1024                </div>
 
1025            </div>
 
1026        </div>
 
1027    </div>
 
1028
 
1029</div>## /container
 
1030</div>## /template-infinity
 
1031<div class="cl"></div>
 
1032
 
1033#set($urlExterna = $articleToolbox.getTag(null,"URLCanonical"))
 
1034#if($urlExterna && $urlExterna.data != "")
 
1035    #set($urlExternaData = $urlExterna.data)
 
1036    #set($urlExternaData = $urlExternaData.replaceAll("<.*?>",""))
 
1037    #set($urlExternaData = $urlExternaData.replaceAll("[\"']",""))
 
1038    #set($linkCanonical = {})
 
1039    #set($temp = $linkCanonical.put("rel","canonical"))
 
1040    #set($temp = $linkCanonical.put("href",$htmlUtil.escape($urlExternaData)))
 
1041    $iterVelocityTools.addLinkTag($linkCanonical)
 
1042    #set($urlmrf = "#siteUrl()$url_actual")
 
1043    #set($linkCanonical2 = {})
 
1044    #set($temp = $linkCanonical2.put("property","mrf:canonical"))
 
1045    #set($temp = $linkCanonical2.put("content",$htmlUtil.escape($urlmrf)))
 
1046    $iterVelocityTools.addMetaTag($linkCanonical2)
 
1047#end
 
1048
 
1049<script>
 
1050document.addEventListener("DOMContentLoaded",function(){
 
1051    var pageTitle="$!{titleClean}";
 
1052    document.querySelectorAll('img:not([alt]), img[alt=""]').forEach(function(img){
 
1053        img.setAttribute('alt',pageTitle);
 
1054    });
 
1055    document.querySelectorAll('img:not([title]), img[title=""]').forEach(function(img){
 
1056        img.setAttribute('title',pageTitle);
 
1057    });
 
1058    var mainImg=document.querySelector('.image_main img');
 
1059    if(mainImg){
 
1060        var ds=mainImg.getAttribute('data-src');
 
1061        if(ds){mainImg.src=ds;mainImg.removeAttribute('data-src');}
 
1062        var dss=mainImg.getAttribute('data-srcset');
 
1063        if(dss){mainImg.srcset=dss;mainImg.removeAttribute('data-srcset');}
 
1064        mainImg.setAttribute('loading','eager');
 
1065        mainImg.setAttribute('fetchpriority','high');
 
1066        mainImg.removeAttribute('decoding');
 
1067        mainImg.classList.remove('lazyload','lazyloading','lazyloaded');
 
1068    }
 
1069    document.querySelectorAll('.block_Parrafo_Lista').forEach(function(block){
 
1070        block.querySelectorAll('p').forEach(function(paragraph){
 
1071            if(paragraph.innerHTML.trim()===''){
 
1072                paragraph.style.height='20px';
 
1073                paragraph.style.display='block';
 
1074            }
 
1075            var boldElement=paragraph.querySelector('b');
 
1076            if(boldElement&&boldElement.innerHTML.trim()===''){
 
1077                boldElement.style.height='20px';
 
1078                boldElement.style.display='block';
 
1079            }
 
1080        });
 
1081    });
 
1082    if(document.body.hasAttribute('itemscope')){
 
1083        document.body.removeAttribute('itemscope');
 
1084        document.body.removeAttribute('itemtype');
 
1085    }
 
1086    document.querySelectorAll('[itemprop]').forEach(function(el){
 
1087        el.removeAttribute('itemprop');
 
1088        el.removeAttribute('itemscope');
 
1089        el.removeAttribute('itemtype');
 
1090    });
 
1091    document.querySelectorAll('script[type="application/ld+json"]').forEach(function(script){
 
1092        var content=script.textContent||"";
 
1093        if(script.id!=='vangdata-schema-newsarticle'&&(content.includes('"NewsArticle"')||content.includes('"Article"'))){
 
1094            script.remove();
 
1095        }
 
1096    });
 
1097    document.querySelectorAll('iframe').forEach(function(oldIframe){
 
1098        var src=oldIframe.src||oldIframe.getAttribute('data-src')||'';
 
1099        if(src.indexOf('youtube.com')>-1||src.indexOf('youtu.be')>-1){
 
1100            var newIframe=document.createElement('iframe');
 
1101            newIframe.src=src;
 
1102            newIframe.width=oldIframe.width||'100%';
 
1103            newIframe.height=oldIframe.height||'315';
 
1104            newIframe.frameBorder='0';
 
1105            newIframe.setAttribute('loading','lazy');
 
1106            newIframe.setAttribute('referrerpolicy','strict-origin-when-cross-origin');
 
1107            newIframe.setAttribute('allow','accelerometer;autoplay;clipboard-write;encrypted-media;gyroscope;picture-in-picture;web-share');
 
1108            newIframe.setAttribute('allowfullscreen','');
 
1109            newIframe.style.cssText=oldIframe.style.cssText||'max-width:100%;';
 
1110            if(oldIframe.className) newIframe.className=oldIframe.className;
 
1111            oldIframe.parentNode.replaceChild(newIframe,oldIframe);
 
1112        }
 
1113    });
 
1114    if(typeof isMobileEnvironment!=='undefined'&&isMobileEnvironment===false){
 
1115        var target=document.querySelector(".ranking_infinity");
 
1116        var source=document.querySelector(".infinity_ranking .iter-tabview-content");
 
1117        if(target&&source) target.innerHTML=source.innerHTML;
 
1118    }
 
1119});
 
1120</script>