Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing:
==> siteMeta.get(0)  [in template "76121110924137#32361#NEW_FICHA_VIDEO" at line 133, column 20]

----
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 siteMeta?? && siteMeta.get(0).idi...  [in template "76121110924137#32361#NEW_FICHA_VIDEO" at line 133, column 1]
----
1<#assign DDMStructureService = serviceLocator.findService("com.liferay.dynamic.data.mapping.service.DDMStructureService")><#-- get services --> 
2<#assign LiteralsToolsServiceUtil = serviceLocator.findService("com.aqua.literals.util.LiteralsToolsService")/> 
3<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 
4<#assign assetVocabularyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService") /> 
5<#assign UtilsService = serviceLocator.findService("com.educaixa.common.service.EduCaixaCommonService")/> 
6<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
7<#assign dLFileEntryLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService") /> 
8<#assign valoracionesDisplay = serviceLocator.findService("com.educaixa.services.service.RatingStatsLocalService")/> 
9<#assign LiteralsToolsServiceUtil = serviceLocator.findService("com.aqua.literals.util.LiteralsToolsService")/> 
10<#assign language = themeDisplay.getLocale()/> 
11<#assign groupId = themeDisplay.getScopeGroupId()/> 
12<#assign restultsLiteral = LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.common.link.resultados") /> 
13<#assign recurso = LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.recurso") /> 
14<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()> 
15<#assign httpServletRequest = serviceContext.getRequest() /> 
16<#assign UserBookmarkLocalService = serviceLocator.findService("com.educaixa.services.service.UserBookmarkLocalService") /> 
17 
18<#-- get the content categories --> 
19<#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(scopeGroupId), .vars['reserved-article-id'].data) /> 
20<#assign asset = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", article.resourcePrimKey) /> 
21 
22<#-- get the results URL and valoration value--> 
23<#assign results_url = "${themeDisplay.getPortalURL()}/${locale.getLanguage()}${restultsLiteral}?q=" /> 
24<#assign valoracionesDisplayAverage = 0/> 
25<#assign valoracionesTotalEntries = 0/> 
26<#if valoracionesDisplay.fetchByResourcePK(scopeGroupId,themeDisplay.getCompanyId(),article.getResourcePrimKey()) ??> 
27    <#assign valoracionesDisplayValue = valoracionesDisplay.findByResourcePK(scopeGroupId,themeDisplay.getCompanyId(),article.getResourcePrimKey()) /> 
28    <#assign valoracionesDisplayAverage = valoracionesDisplayValue.getAverageGlobalScore() /> 
29	<#assign valoracionesTotalEntries = valoracionesDisplayValue.getTotalEntries() /> 
30</#if> 
31 
32<#assign journalArticleId = .vars['reserved-article-id'].data/> 
33<#assign userId =themeDisplay.getUserId()/> 
34<#assign isUserBookmark = UserBookmarkLocalService.isUserBookmark(themeDisplay.getCompanyId(),userId,journalArticleId,groupId)/> 
35 
36<#-- Resource type --> 
37<#assign resourceType = LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.recurso.video") /> 
38<#assign imgType = "/o/educaixa-theme/images/video-icon.png"> 
39 
40<#-- Escape title text --> 
41<#assign titleEscaped = "" /> 
42<#if titulo.getData()??> 
43    <#assign titleEscaped = titulo.getData()?replace('<p>','','r')/> 
44    <#assign titleEscaped = titleEscaped?replace('</p>','','r')/> 
45    <#assign titleEscaped = titleEscaped?replace('<div>','','r')/> 
46    <#assign titleEscaped = titleEscaped?replace('</div>','','r')/> 
47    <#assign titleEscaped = titleEscaped?replace('<h1>','','r')/> 
48    <#assign titleEscaped = titleEscaped?replace('</h1>','','r')/> 
49</#if> 
50 
51<#assign subtituloEscaped = "" /> 
52<#if subtitulo.getData()??> 
53    <#assign subtituloEscaped = subtitulo.getData() /> 
54    <#assign subtituloEscaped = subtituloEscaped?replace('<p>','','r')/> 
55    <#assign subtituloEscaped = subtituloEscaped?replace('</p>','','r')/> 
56</#if> 
57 
58<#-- get image alt --> 
59<#if image_alt?? && image_alt.getData()?? && image_alt.getData() != ""> 
60    <#assign altImage = image_alt.getData() /> 
61<#else> 
62    <#assign altImage = titleEscaped /> 
63</#if> 
64 
65<#-- get image banner --> 
66<#if imagenficha ?? && imagenficha.getData() ?? && imagenficha.getData() != ""> 
67    <#assign imageSrc = imagenficha.getData() /> 
68<#else>     
69    <#assign imageSrc = "/o/educaixa-theme/images/blured-lights-recursos.png" /> 
70</#if> 
71 
72							    
73<#assign nivel_educativo_vocabularyId = assetVocabularyLocalService.getGroupVocabulary(groupId, "Nivel educativo").getVocabularyId() /> 
74<#assign area_conocimiento_vocabularyId = assetVocabularyLocalService.getGroupVocabulary(groupId, "Área de conocimiento").getVocabularyId() /> 
75<#assign competencias_vocabularyId = assetVocabularyLocalService.getGroupVocabulary(groupId, "Competencias clave").getVocabularyId() /> 
76<#assign ods_cat_vocabularyId = assetVocabularyLocalService.getGroupVocabulary(groupId, "ODS").getVocabularyId() /> 
77<#assign metodologia_cat_vocabularyId = assetVocabularyLocalService.getGroupVocabulary(groupId, "Metodologia").getVocabularyId() /> 
78<#assign competencias_docente_vocabularyId = assetVocabularyLocalService.getGroupVocabulary(groupId, "Competencia Digital Docente").getVocabularyId() /> 
79<#assign idiomas_vocabularyId = assetVocabularyLocalService.getGroupVocabulary(groupId, "Idiomas disponibles").getVocabularyId() /> 
80 
81<#assign language = themeDisplay.getLocale()/> 
82<#assign nivel_educativo = [] /> 
83<#assign area_conocimiento = [] /> 
84<#assign competencias = []> 
85<#assign objectius = []> 
86<#assign ods_cat = []> 
87<#assign metodologia_cat = []> 
88<#assign competencias_docente = []> 
89<#assign idiomas = []> 
90 
91<#list asset.getCategories() as cur_category> 
92    <#if cur_category.vocabularyId == nivel_educativo_vocabularyId> 
93        <#assign nivel_educativo = nivel_educativo + [cur_category.getTitle(language)]> 
94    <#elseif cur_category.vocabularyId == area_conocimiento_vocabularyId> 
95        <#assign area_conocimiento = area_conocimiento + [cur_category.getTitle(language)]> 
96    <#elseif cur_category.vocabularyId == competencias_vocabularyId> 
97        <#assign competencias = competencias + [cur_category.getTitle(language)]>    
98	<#elseif cur_category.vocabularyId == ods_cat_vocabularyId>											 
99        <#assign ods_cat = ods_cat + [cur_category.getDescription(language)]>    
100	<#elseif cur_category.vocabularyId == metodologia_cat_vocabularyId> 
101        <#assign metodologia_cat = metodologia_cat + [cur_category.getTitle(language)]>     
102	<#elseif cur_category.vocabularyId == competencias_docente_vocabularyId> 
103        <#assign competencias_docente = competencias_docente + [cur_category.getTitle(language)]> 
104    <#elseif cur_category.vocabularyId == idiomas_vocabularyId> 
105        <#assign idiomas = idiomas + [cur_category.getTitle(language)]> 
106    </#if> 
107</#list> 
108 
109<#-- 
110<#assign videoid =  linkTxt.externalLink.getData()?replace('https://img.youtube.com/vi/','','r')/> 
111<#assign videoid =  videoid?replace('/hqdefault.jpg','','r')/> 
112--> 
113 
114<#assign thesaurusCategories = UtilsService.getThesaurusCategories(asset) /> 
115<#assign tagsCategories = UtilsService.getTagsCategories(asset) /> 
116<#assign categories = thesaurusCategories + tagsCategories /> 
117 
118<#-- Login --> 
119<#assign is_signed_in = themeDisplay.isSignedIn()/> 
120<#assign plid = portalUtil.getPlidFromPortletId(themeDisplay.getScopeGroupId(), "EducaixaMyeducaixaLogin") /> 
121<#assign loginURL = portletURLFactory.create(httpServletRequest, "EducaixaMyeducaixaLogin", plid, "RENDER_PHASE") /> 
122 
123${loginURL.setParameter("mvcPath", "/login_modal.jsp")} 
124${loginURL.setWindowState("POP_UP")} 
125 
126<#if docprincipal.getData()??> 
127	<#assign siteMeta = UtilsService.getDocumentMetadataInJSON(docprincipal.getData(), themeDisplay) /> 
128</#if> 
129 
130<#-- Idioma --> 
131<#assign idiomaResourceText ="" /> 
132<#assign idiomaText ="" /> 
133<#if siteMeta?? && siteMeta.get(0).idioma?has_content> 
134	<#assign idioma = siteMeta.get(0).idioma?keep_after('\'')?keep_before('\'') /> 
135	<#if language=="es_ES" > 
136		<#if idioma?index_of("Catalan")!=-1 > 
137			<#assign idiomaText = LiteralsToolsServiceUtil.getLiteral(groupId, "es_ES", "com.educaixa.lang.ca") /> 
138			<#assign idiomaResourceText = "("+idiomaText+")" /> 			 
139		<#elseif idioma?index_of("Ingles")!=-1> 
140			<#assign idiomaText = LiteralsToolsServiceUtil.getLiteral(groupId, "es_ES", "com.educaixa.lang.en") /> 
141		<#assign idiomaResourceText = "("+idiomaText+")" />			 
142		<#else>			 
143			<#assign idiomaText = idioma /> 
144			<#assign idiomaResourceText = "("+idiomaText+")" />			 
145	   </#if>  
146	    
147	<#else> 
148		<#if idioma?index_of("Catalan")!=-1 > 
149			<#assign idiomaText = LiteralsToolsServiceUtil.getLiteral(groupId, "ca_ES", "com.educaixa.lang.ca") />  
150			<#assign idiomaResourceText = "("+idiomaText+")" />			 
151		<#elseif idioma?index_of("Ingles")!=-1> 
152			<#assign idiomaText = LiteralsToolsServiceUtil.getLiteral(groupId, "ca_ES", "com.educaixa.lang.en") /> 
153			<#assign idiomaResourceText = "("+idiomaText+")" />	 
154		<#else>			 
155			<#assign idiomaText = LiteralsToolsServiceUtil.getLiteral(groupId, "ca_ES", "com.educaixa.lang.es") /> 
156			<#assign idiomaResourceText = "("+idiomaText+")" />	 
157	   </#if>  
158	    
159	    
160	</#if>  
161	                   
162</#if> 
163 
164 
165    <link rel="stylesheet" href="/o/educaixa-theme/css/recursos.css"> 
166 
167 
168 
169 
170 
171    <div id="edc-modal" class="edc-modal" style="display:none;"> 
172        <div class="edc-modal-overlay"></div> 
173        <div class="edc-content"> 
174            <div class="edc-close-content w-100 df fe pr zi-2"> 
175                <p class="close-edc-popup"></p> 
176            </div> 
177            <#if siteMeta.get(0).brightcove_id?? && siteMeta.get(0).brightcove_id != ""> 
178                <div class="pr zi-2"> 
179                    <iframe id="yt-modal" src="https://www.youtube-nocookie.com/embed/${siteMeta.get(0).brightcove_id}?rel=0" width="900px" height="458px" allowfullscreen webkitallowfullscreen mozallowfullscreen frameborder='0' referrerpolicy="strict-origin-when-cross-origin"></iframe> 
180                </div> 
181            </#if> 
182            <svg class="bottom-popup" xmlns="http://www.w3.org/2000/svg" width="557" height="270" viewBox="0 0 557 270" fill="none"> 
183            <path d="M83.2767 93.8275C29.9792 20.7618 11.789 3.16086 -1 0L-0.997723 272H556.96C558.249 270.004 528.443 273.698 451.079 239.56C370.776 204.125 322.892 227.582 274.71 222.092C226.528 216.602 149.899 185.16 83.2767 93.8275Z" fill="#F7FCFF"/> 
184            </svg> 
185             
186            <svg class="top-popup" xmlns="http://www.w3.org/2000/svg" width="556" height="304" viewBox="0 0 556 304" fill="none"> 
187            <path d="M556 304C550.668 234.379 565.563 163.407 506.336 87.3435C432.301 -7.73595 311.378 3.17483 257.835 -2.54032L242.665 -2.54032C192.617 2.21304 134.556 49.1 53.6224 15.6443C27.2318 4.73512 12.9801 -0.994246 5.94291 -3.75602C0.780857 -5.4911 -4.33926 -7.7913 5.94291 -3.75602C8.75718 -2.8101 11.5838 -2.03215 11.9341 -2.54033L242.665 -2.54032C247.8 -3.02808 252.852 -3.07221 257.835 -2.54032L556 -2.54031L556 304Z" fill="#F7FCFF"/> 
188            </svg> 
189     
190        </div> 
191    </div> 
192 
193        <#-- --> 
194     
195        <div class="dg grid-2 w-100 mh-325 center-content m-grid-1 pr zi-0"> 
196            <div class="w-100 dib h-100 mh-325 pl-64 pr-64 pt-48 pb-48 t-p-32 m-p-16"> 
197                <#if resourceType != ""> 
198                 <#--  
199                   <#if siteMeta?? && siteMeta.get(0).idioma?has_content> 
200                       <#assign idioma = "("+siteMeta.get(0).idioma?keep_after('\'')?keep_before('\'')+")" /> 
201                    </#if> 
202                    <p class="dib c-primary bg-primary-200 br-21 font-14 font-500 pl-18 pr-18 pt-4px pb-4px">${resourceType} ${idioma}</p> --> 
203                    <p class="dib c-primary bg-primary-200 br-21 font-14 font-500 pl-18 pr-18 pt-4px pb-4px">${resourceType} ${idiomaResourceText}</p> 
204                </#if> 
205                <#if titulo?has_content> 
206                    <h1 class="mt-24 mb-24 font-42 font-500">${titleEscaped}</h1> 
207                </#if> 
208                 
209                <div class="df mb-24 star-${valoracionesDisplayAverage} valoraciones-header"> 
210                 
211                    <#if valoracionesDisplayAverage?floor lt valoracionesDisplayAverage> 
212                         
213                        <#list 0..valoracionesDisplayAverage?floor-1 as i> 
214                        
215                            <i class="fa fa-star rating-color mr-4px" aria-hidden="true"></i> 
216                        </#list> 
217                        <i class="fa fa-star-half-o rating-color mr-4px" aria-hidden="true"></i> 
218                          
219                        <#if valoracionesDisplayAverage?floor + 1 lt 5> 
220                            <#list valoracionesDisplayAverage?floor+1..4 as x> 
221                                <i class="fa fa-star default-color mr-4px" aria-hidden="true"></i> 
222                            </#list> 
223                             
224                        </#if> 
225                          
226                    <#else> 
227                     
228                        <#if valoracionesDisplayAverage == 0> 
229                            <i class="fa fa-star default-color mr-4px" aria-hidden="true"></i> 
230                            <i class="fa fa-star default-color mr-4px" aria-hidden="true"></i> 
231                            <i class="fa fa-star default-color mr-4px" aria-hidden="true"></i> 
232                            <i class="fa fa-star default-color mr-4px" aria-hidden="true"></i> 
233                            <i class="fa fa-star default-color mr-4px" aria-hidden="true"></i> 
234                        <#else> 
235                     
236                            <#list 0..valoracionesDisplayAverage-1 as i> 
237                                <i class="fa fa-star rating-color mr-4px" aria-hidden="true"></i> 
238                            </#list> 
239                             
240                              
241                            <#if valoracionesDisplayAverage + 1 lt 5> 
242                                <#list valoracionesDisplayAverage+1..4 as x> 
243                                    <i class="fa fa-star default-color mr-4px" aria-hidden="true"></i> 
244                                </#list> 
245                                 
246                            </#if> 
247                             
248                        </#if> 
249                     
250                    </#if> 
251                     
252                     
253                     
254                     
255                    <#-- <div class="star mr-4px"></div> 
256                    <div class="star mr-4px"></div> 
257                    <div class="star mr-4px"></div> 
258                    <div class="star mr-4px"></div> 
259                    <div class="star"></div> --> 
260                     
261                    <p class="resource-stats ml-12 mr-12 font-16 font-500 fb">${valoracionesDisplayAverage}/5</p> 
262                    <p class="separator-vertical db w-1 h-24 bg-gray-primary"></p> 
263                    <p class="fb ml-12 font-16 font-500 "> 
264                    <a class="link-comentarios tu" href="javascript:void(0);" onclick="navegarAElemento('comentariosViewList');">${valoracionesTotalEntries} ${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.common.comentarios")}</a></p> 
265                     
266                     
267                </div> 
268                 
269                <button class="btn-educaixa btn-video-youtube btn-desktop" id="">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.common.link.ver")}</button>  
270            </div> 
271            <div class="w-100 pr df fdc h-100 mh-325 m-ps m-p-16"> 
272                 
273                <#-- --> 
274                <div class="bookmark bookmark-header"> 
275                    <#if is_signed_in> 
276                        <#if isUserBookmark> 
277                            <button id="bookmark" onClick="gestionarBookmark(${journalArticleId},false);" data-articleid="${journalArticleId}" class="bookmark bookmarked"></button>  
278                        <#else> 
279                            <button id="bookmark" onClick="gestionarBookmark(${journalArticleId},true);" data-articleid="${journalArticleId}" class="bookmark"></button> 
280                        </#if> 
281                    <#else> 
282                        <button id="bookmark" onClick="event.stopPropagation();openPopup('${loginURL}','','500', '650')"></button> 
283                    </#if> 
284                </div> 
285                <#-- --> 
286                <div class="m-pr"> 
287                <img src="http://img.youtube.com/vi/${siteMeta.get(0).brightcove_id}/0.jpg" alt="youtube-img" class="w-100 h-100 pa t0 l0 z-0 of-c zi-1 ofcov m-ps m-h-auto " > 
288                <a href="javascript:void(0)" class="btn-video-youtube trigger pa w-100 h-100 t0 l0 df jc-c ai-c zi-2"> 
289                        <svg viewBox="0 0 26 26" style="fill:white;width:83px"> 
290                          <polygon class="play-btn__svg" points="9.33 6.69 9.33 19.39 19.3 13.04 9.33 6.69"/> 
291                          <path class="play-btn__svg" d="M26,13A13,13,0,1,1,13,0,13,13,0,0,1,26,13ZM13,2.18A10.89,10.89,0,1,0,23.84,13.06,10.89,10.89,0,0,0,13,2.18Z"/> 
292                        </svg>  
293                             
294                    </a> 
295                    </div> 
296                    <button class="btn-educaixa btn-video-youtube btn-mobile w-100 mt-24" id="">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.common.link.ver")}</button>  
297            </div> 
298        </div> 
299         
300        <div class="dg grid-6 cg-24 center-content pt-48 pb-48 pl-64 pr-64 m-p-24-16 m-cg-16"> 
301 
302            <#if nivel_educativo?size != 0 > 
303                <div class="ico-item p24 bg-primary-100 br-16 m-p12"> 
304                    <div class="ico square-38 br-4 bg-primary-200 nivel-edc"></div> 
305                    <p class="mt-12 mb-12 c-primary font-450 font-20 c-primary">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.ficha.nivel.educativo")}</p> 
306 
307                    <ul class="p0 lsn font-16 font-450"> 
308                        <#list nivel_educativo as item> 
309                            <li class="mb-12">${item}</li> 
310                        </#list> 
311                    </ul> 
312    	        </div> 
313            </#if> 
314 
315             
316            <#if area_conocimiento?size != 0 > 
317            	<div class="ico-item p24 bg-primary-100 br-16 m-p12"> 
318            	    <div class="ico square-38 br-4 bg-primary-200 area-c"></div> 
319            	    <p class="mt-12 mb-12 c-primary font-450 font-20 c-primary">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.ficha.area.conocimiento")}</p> 
320                    <ul class="p0 lsn font-16 font-450"> 
321                        <#list area_conocimiento as item> 
322                            <li class="mb-12">${item}</li> 
323                        </#list> 
324                    </ul> 
325            	</div> 
326            </#if> 
327             
328            <#if area_conocimiento?size != 0 && competencias?size gt 0> 
329             
330            	<div class="ico-item p24 bg-primary-100 br-16 m-p12"> 
331            	    <div class="ico square-38 br-4 bg-primary-200 ficha-c"></div> 
332                    <p class="mt-12 mb-12 c-primary font-450 font-20 c-primary">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.ficha.competencias")}</p> 
333                    <ul class="p0 lsn font-16 font-450"> 
334                        <#list competencias as item> 
335                           <li class="mb-12">${item}</li> 
336                        </#list> 
337                    </ul> 
338    	        </div> 
339            </#if> 
340             
341            <#if siteMeta?? && siteMeta.get(0).idioma?has_content> 
342            	<div class="ico-item p24 bg-primary-100 br-16 m-p12"> 
343            	    <div class="ico square-38 br-4 bg-primary-200 idioma-ic"></div> 
344                    <p class="mt-12 mb-12 c-primary font-450 font-20 c-primary">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.ficha.idioma")}</p> 
345                    <ul class="p0 lsn font-16 font-450"> 
346                        <li class="mb-12">${idiomaText} </li> 
347                    </ul> 
348    	        </div> 
349            </#if> 
350             
351            <#if siteMeta?? && siteMeta.get(0).duracion?has_content> 
352            	<div class="ico-item p24 bg-primary-100 br-16 m-p12"> 
353            	    <div class="ico square-38 br-4 bg-primary-200 duration-ic"></div> 
354                    <p class="mt-12 mb-12 c-primary font-450 font-20 c-primary">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.ficha.duracion")}</p> 
355                    <ul class="p0 lsn font-16 font-450"> 
356                         
357                        <li class="mb-12">${siteMeta.get(0).duracion}</li> 
358                    </ul> 
359    	        </div> 
360            </#if>	 
361			 
362			 
363			<#if metodologia_cat?size != 0 > 
364                <div class="ico-item p24 bg-primary-100 br-16 m-p12"> 
365                    <div class="ico square-38 br-4 bg-primary-200 metodologia-ico mti"></div> 
366                    <p class="mt-12 mb-12 c-primary font-450 font-20 c-primary">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.ficha.metodologia")}</p> 
367 
368                    <ul class="p0 lsn font-16 font-450"> 
369                        <#list metodologia_cat as item> 
370                            <li class="mb-12">${item}</li> 
371                        </#list> 
372                    </ul> 
373    	        </div> 
374            </#if> 
375            <#-- 
376            <div class="ico-item p24 bg-primary-100 br-16 m-p12"> 
377        	    <div class="ico square-38 br-4 bg-primary-200 tipo-rec"></div> 
378                <p class="mt-12 mb-12 c-primary font-450 font-20 c-primary">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.FILTROS.SECTION.RECURSO")}</p> 
379                <ul class="p0 lsn font-16 font-450"> 
380                     
381                    <li class="mb-12">${resourceType}</li> 
382                </ul> 
383	        </div> 
384			 --> 
385        </div> 
386         
387         
388        <#-- --> 
389         
390		<div id="bookmark-text" class="bookmark-text bg-primary-300 color-white pr df aic m-p-24-16"> 
391				<div class="center-content zi-1 w-100 pr"> 
392				<div class="pa l0 t0 w-100 h-100 zi-2 pa df jcc aic bg-primary-300"> 
393				<svg class="bg-bookmark" xmlns="http://www.w3.org/2000/svg" width="1440" height="209" viewBox="0 0 1440 209" fill="none"> 
394					<path d="M965.733 119.536C1278.73 85.5482 1184.77 10.7364 1173.81 0.000872016L1440 0V209H-1.91681C-10.5728 178.392 652.734 153.525 965.733 119.536Z" fill="#0090CD"/> 
395				</svg> 
396				</div> 
397				<div class="pr zi-3"> 
398				 
399				 <div class="bookmark-text-content df w-100 sb"> 
400					<div class="col-lf c-white"> 
401					 
402					<h2 class="font-32 mb-12"> 
403						${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.recurso.bookmark.no.tienes.tiempo")} 
404					</h2> 
405 
406					<#if is_signed_in> 
407							<p class="mb-12 font-450 font-20">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.recurso.bookmark.description")}</p> 
408							<button class="btn-educaixa-inverse" id="bookmark" onClick="gestionarBookmark(${journalArticleId},true);" data-articleid="${journalArticleId}" class="bookmark bookmarked">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.recurso.bookmark.guardar")}</button>  
409					<#else> 
410						<p class="mb-12 font-450 font-20">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.recurso.bookmark.description.guest")}</p> 
411						<button class="btn-educaixa-inverse" id="bookmark" onClick="event.stopPropagation();openPopup('${loginURL}','','500', '650')">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.recurso.bookmark.autenticarse")}</button> 
412					</#if> 
413					</div> 
414					<div class="col-rig"> 
415						<img src="/o/educaixa-theme/images/recursos/mas-tarde.svg" /> 
416					</div> 
417					</div> 
418					</div> 
419				</div> 
420		</div> 
421         
422         
423        
424        <#if introduccion?has_content && introduccion.getData()!=""> 
425         
426           <div class="detalle-recurso-content mt-48"> 
427               <div class="center-content-1000"> 
428               <h2>${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.recurso.descripcion")}</h2> 
429                    ${introduccion.getData()} 
430                </div> 
431           </div> 
432        </#if> 
433		<#if competencias_docente?size != 0 > 
434			<div class="detalle-recurso-content mt-48 section-competencias"> 
435               <div class="center-content-1000"> 
436					<h2>${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.ficha.competencias.digitales.docente")}</h2> 
437					<p>${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.ficha.competencias.digitales.docente.comment")}</p> 
438 
439					<ul class="p0 lsn font-16 font-450 dg grid-10 cg-20 m-cg-10 m-grid-4"> 
440						<#list competencias_docente as item> 
441							<li class="mb-10">${item}</li> 
442						</#list> 
443				</ul> 
444				</div> 
445			</div> 
446		</#if> 
447		<#if ods_cat?size != 0 > 
448			<div class="detalle-recurso-content mt-48 section-ods"> 
449               <div class="center-content-1000"> 
450					<h2>${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.ficha.ods")}</h2> 
451 
452					<ul class="p0 lsn font-16 font-450 dg grid-7 cg-10 m-grid-4"> 
453 
454						<#list ods_cat as item> 
455						 
456						<li class="mb-10"><img src="/o/educaixa-theme/images/ods/${item}-${language?lower_case}.jpg" /></li> 
457						</#list> 
458				</ul> 
459				</div> 
460			</div> 
461		</#if> 
462 
463         
464         
465        <div class="bookmark-share color-white pr df aic mt-48 mb-48"> 
466            <div class="zi-1 w-100 pr"> 
467                <div class="share-vector"> 
468                 
469                 
470                <svg class="s-v-1" xmlns="http://www.w3.org/2000/svg" width="481" height="165" viewBox="0 0 481 165" fill="none"> 
471                    <path d="M448.719 57.8506C401.392 37.8737 364.213 60.3658 342.934 1.20702e-05L0 4.20504e-05L1.44248e-05 165L441.339 165C496.742 150.412 489.239 74.9543 448.719 57.8506Z" fill="#0090CD"/> 
472                    </svg> 
473 
474 
475                    <svg class="s-v-2" xmlns="http://www.w3.org/2000/svg" width="498" height="165" viewBox="0 0 498 165" fill="none"> 
476                            <path d="M56.6054 58.9672C105.007 32.1344 113.717 8.47541 112.021 0H498V165H0.118794C-1.21975 140.836 8.20361 85.8 56.6054 58.9672Z" fill="#0090CD"/> 
477                            </svg> 
478                </div> 
479                <div class="share"> 
480                             
481                    <div class="share-content-items pr"> 
482                    <img class="fly-ico" src="/o/educaixa-theme/images/recursos/fly.svg"/> 
483                    <img class="bocadillo-ico" src="/o/educaixa-theme/images/recursos/bocadillo.svg"/> 
484                                 
485                	<h2 class="font-32 font-500 mb-12"> 
486                		${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.recurso.compartir.articulo")} 
487                	</h2> 
488                	<p class="font-20 font-450">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.recurso.compartir.articulo.clic")}</p> 
489                	</div> 
490                	 
491                    <div id="share-a2a" class="a2a_kit a2a_kit_size_322 a2a_default_style2" data-a2a-title="${titleEscaped}"> 
492                            <a class="a2a_button_facebook"> 
493                                <svg id="Layer_1" enable-background="new 0 0 100 100" height="40" viewBox="0 0 100 100"  xmlns="http://www.w3.org/2000/svg"><g><path fill="#fff" id="Icon_11_" d="m40.4 55.2c-.3 0-6.9 0-9.9 0-1.6 0-2.1-.6-2.1-2.1 0-4 0-8.1 0-12.1 0-1.6.6-2.1 2.1-2.1h9.9c0-.3 0-6.1 0-8.8 0-4 .7-7.8 2.7-11.3 2.1-3.6 5.1-6 8.9-7.4 2.5-.9 5-1.3 7.7-1.3h9.8c1.4 0 2 .6 2 2v11.4c0 1.4-.6 2-2 2-2.7 0-5.4 0-8.1.1-2.7 0-4.1 1.3-4.1 4.1-.1 3 0 5.9 0 9h11.6c1.6 0 2.2.6 2.2 2.2v12.1c0 1.6-.5 2.1-2.2 2.1-3.6 0-11.3 0-11.6 0v32.6c0 1.7-.5 2.3-2.3 2.3-4.2 0-8.3 0-12.5 0-1.5 0-2.1-.6-2.1-2.1 0-10.5 0-32.4 0-32.7z"></path></g></svg> 
494                            </a> 
495                            <a class="a2a_button_x"> 
496                                <svg focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="#fff" d="M21.751 7h3.067l-6.7 7.658L26 25.078h-6.172l-4.833-6.32-5.531 6.32h-3.07l7.167-8.19L6 7h6.328l4.37 5.777L21.75 7Zm-1.076 16.242h1.7L11.404 8.74H9.58l11.094 14.503Z"></path></svg> 
497                            </a> 
498                            <a class="a2a_button_whatsapp"> 
499                            <svg focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="#FFF" fill-rule="evenodd" d="M16.21 4.41C9.973 4.41 4.917 9.465 4.917 15.7c0 2.134.592 4.13 1.62 5.832L4.5 27.59l6.25-2.002a11.241 11.241 0 0 0 5.46 1.404c6.234 0 11.29-5.055 11.29-11.29 0-6.237-5.056-11.292-11.29-11.292zm0 20.69c-1.91 0-3.69-.57-5.173-1.553l-3.61 1.156 1.173-3.49a9.345 9.345 0 0 1-1.79-5.512c0-5.18 4.217-9.4 9.4-9.4 5.183 0 9.397 4.22 9.397 9.4 0 5.188-4.214 9.4-9.398 9.4zm5.293-6.832c-.284-.155-1.673-.906-1.934-1.012-.265-.106-.455-.16-.658.12s-.78.91-.954 1.096c-.176.186-.345.203-.628.048-.282-.154-1.2-.494-2.264-1.517-.83-.795-1.373-1.76-1.53-2.055-.158-.295 0-.445.15-.584.134-.124.3-.326.45-.488.15-.163.203-.28.306-.47.104-.19.06-.36-.005-.506-.066-.147-.59-1.587-.81-2.173-.218-.586-.46-.498-.63-.505-.168-.007-.358-.038-.55-.045-.19-.007-.51.054-.78.332-.277.274-1.05.943-1.1 2.362-.055 1.418.926 2.826 1.064 3.023.137.2 1.874 3.272 4.76 4.537 2.888 1.264 2.9.878 3.43.85.53-.027 1.734-.633 2-1.297.266-.664.287-1.24.22-1.363-.07-.123-.26-.203-.54-.357z" clip-rule="evenodd"></path></svg> 
500                            </a> 
501                            <a class="a2a_button_email"> 
502                            <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve" fill="#fff" height="35"> 
503                                <g> 
504                                	<g> 
505                                		<path d="M452,68H60C26.916,68,0,94.916,0,128v256c0,33.084,26.916,60,60,60h392c33.084,0,60-26.916,60-60V128 
506                                			C512,94.916,485.084,68,452,68z M472,384c0,11.028-8.972,20-20,20H60c-11.028,0-20-8.972-20-20V128c0-11.028,8.972-20,20-20h392 
507                                			c11.028,0,20,8.972,20,20V384z"></path> 
508                                	</g> 
509                                </g> 
510                                <g> 
511                                	<g> 
512                                		<polygon points="468.604,92.937 256,251.074 43.396,92.937 19.522,125.032 256,300.926 492.478,125.032 		"></polygon> 
513                                	</g> 
514                                </g> 
515 
516 
517 
518                                </svg> 
519                            </a> 
520                    </div> 
521                </div> 
522                 
523                 
524                 
525            </div> 
526             
527        </div><#-- SHARE--> 
528        <div class="share-separator"></div> 
529         
530 
531        <div class="detalle-recurso-content mt-48"> 
532            <div class="center-content-1000"> 
533             
534            <#-- MODULO OBJETIVOS --> 
535			<#assign objetivosTitle> 
536				${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.recurso.objetivo")} 
537			</#assign> 
538			<#if objetivosText??> 
539				<#if objetivosText.getSiblings()?size gt 1> 
540				<#assign objetivosTitle> 
541					${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.recurso.objetivos")} 
542				</#assign> 
543				</#if> 
544 
545			</#if> 
546            <#if objetivosdidacticos?has_content && objetivosdidacticos.getData() != ""> 
547 
548                <h2>${objetivosTitle}</h2> 
549 
550                ${objetivosdidacticos.getData()} 
551            <#elseif objetivosText?? && objetivosText.getData()?has_content> 
552 
553                <h2>${objetivosTitle}</h2> 
554                <ul class="number-list lsn m0 p0"> 
555                    <#list objetivosText.getSiblings() as cur_objetivosText> 
556                        <#if cur_objetivosText.getData()?has_content && cur_objetivosText.getData()??> 
557                            <li class="pr ml-0"> 
558                                <div class="pa bg-primary-300 c-white l0 list-number">${cur_objetivosText?index + 1}</div> 
559                                <div class="">${cur_objetivosText.getData()}</div> 
560                            </li> 
561                        </#if> 
562                    </#list> 
563                </ul> 
564            </#if> 
565            <#-- FIN MODULO OBJETIVOS --> 
566             
567            <#-- MODULO COMPETENCIAS --> 
568            <#if competenceGeneralDescription.getSiblings()?has_content> 
569                 
570                <#if competenceGeneralDescription.getData()?has_content> 
571                     
572                    <h2>${competenceGeneralDescription.getData()}</h2> 
573                     
574                    <#if competenceGeneralDescription.competenceTitle.getSiblings()?has_content> 
575                        <ul class="number-list lsn m0 p0"> 
576                    	<#list competenceGeneralDescription.competenceTitle.getSiblings() as cur_competenceGeneralDescription_competenceTitle> 
577                    		<li class="pr ml-0"> 
578                    		<div class="pa bg-primary-300 c-white l0 list-number">${cur_competenceGeneralDescription_competenceTitle?index + 1}</div> 
579                    		<div> 
580                        		${cur_competenceGeneralDescription_competenceTitle.getData()}  
581                        		${cur_competenceGeneralDescription_competenceTitle.competenceDesc.getData()} 
582                        		 
583                        		<#if cur_competenceGeneralDescription_competenceTitle.compParagraphTitle.getSiblings()?has_content && cur_competenceGeneralDescription_competenceTitle.compParagraphTitle.getData()!=""> 
584 
585                        		       <ul> 
586                                	<#list cur_competenceGeneralDescription_competenceTitle.compParagraphTitle.getSiblings() as cur_competenceGeneral2> 
587                                		 
588                                		<li class="fdc"> 
589                                		    <p class="m-0 comp-1">${cur_competenceGeneral2.getData()}</p> 
590                                		    <p class="m-0 comp-2">${cur_competenceGeneral2.compParagraphDesc.getData()}</p> 
591                                		    <p class="m-0 comp-3">${cur_competenceGeneral2.Textoic72.getData()}</p> 
592                                		</li> 
593                                	</#list> 
594                                	</ul> 
595                                	 
596                                	 
597                                </#if> 
598                        		</div> 
599                    		</li> 
600                    	</#list> 
601                    	</ul> 
602                    </#if> 
603             
604                </#if> 
605                 
606            </#if> 
607            <#-- FIN MODULO COMPETENCIAS --> 
608             
609            <#-- OTRA INFO DIDACTICA --> 
610            <#if otrainfodidactica.getData()?has_content> 
611                <h2>${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.recurso.sobre")} 
612                </h2> 
613                ${otrainfodidactica.getData()} 
614            </#if> 
615            <#-- OTRA INFO DIDACTICA --> 
616             
617            <#-- CASOS DE USO --> 
618            <#if casosuso.getData()?has_content> 
619 
620                <h2>${LiteralsToolsServiceUtil.getLiteral(scopeGroupId, language, "com.educaixa.example.use")}</h2> 
621                     
622                ${casosuso.getData()} 
623                    
624            </#if> 
625            <#-- FIN CASOS DE USO --> 
626			 
627 
628            </div> 
629        </div> 
630         
631		<#-- PROGRAMAS RELACIONADOS --> 
632		<#assign assetLinkLocalService = serviceLocator.findService("com.liferay.asset.link.service.AssetLinkLocalService") /> 
633		<#assign relatedAssets = assetLinkLocalService.getLinks(asset.getEntryId())/> 
634		<#if relatedAssets?has_content> 
635			<div id="related-programs"> 
636			 <#list relatedAssets as entry> 
637				<#if entry.getEntryId1() == asset.getEntryId()> 
638					<#assign entry2 = assetEntryLocalService.getEntry(entry.getEntryId2()) /> 
639					<#if entry2?has_content && entry2.getClassPK()?has_content> 
640					 
641					    <#attempt> 
642                          	<#assign relatedContent = journalArticleLocalService.fetchLatestArticle(entry2.getClassPK(), 0) /> 
643                        <#recover> 
644                          	<#assign relatedContent = ""/> 
645                        </#attempt> 
646						<#-- <#assign relatedContent = journalArticleLocalService.fetchLatestArticle(entry2.getClassPK(), 0) /> --> 
647						 
648						<#if relatedContent?has_content && relatedContent.getDDMStructureKey() == "PROGRAMAS"> 
649							<#list relatedContent.getDDMStructure().getTemplates() as template> 
650								<#if template.getName(locale)?? && template.getName(locale)?has_content && template.getName(locale.toString())?ends_with('RELATED_CONTENT')> 
651									<#assign articleContent = journalArticleLocalService.getArticleContent(relatedContent, template.getTemplateKey(), "VIEW", themeDisplay.getLocale(),NULL, themeDisplay) /> 
652									${articleContent} 
653								</#if> 
654							</#list> 
655						</#if> 
656					</#if> 
657				</#if> 
658			 </#list> 
659			 </div> 
660		</#if> 
661		<#-- FIN PROGRAMAS RELACIONADOS --> 
662		 
663		<#if repetibleDinamico?? && repetibleDinamico.getSiblings()?has_content> 
664        	<#list repetibleDinamico.getSiblings() as cur_repetibleDinamico> 
665            	<div class="detalle-recurso-content"> 
666            	    <div class="center-content-1000"> 
667            		    ${cur_repetibleDinamico.getData()} 
668            		</div> 
669            	</div> 
670        	</#list> 
671        </#if> 
672         
673        <#-- VALORACIONES --> 
674        <@liferay_portlet["runtime"] 
675            instanceId="valoraciones2" 
676            portletName="com_educaixa_valoraciones_EducaixaValoracionesPortlet" 
677        /> 
678        <#-- VALORACIONES --> 
679         
680        <#-- --> 
681        <div class="materiales-y-descargas mt-48 mb-48"> 
682            <div class="center-content-1000"> 
683                <#-- MATERIALES Y DESCARGAS -->	 
684                <#assign showMaterialRelacionado = materialrelacionado.getData()?has_content && materialrelacionado.getData()!="" /> 
685                 
686                <#if showMaterialRelacionado  || linkTxt.getSiblings()?has_content || materialrelacionado.titulomaterial.getSiblings()?has_content > 
687    				<div id="materialesDescargas">	 
688                    <h2 class="mb-24"> 
689                        ${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.recurso.material.relacionado")} 
690                    </h2> 
691    				<div class="mb-24 font-20 font-450 grey-medium"> 
692    				<#if materialesTexto.getData()?has_content> 
693                             
694                                ${materialesTexto.getData()} 
695                             
696                    </#if> 
697                    </div> 
698                     
699                    <#assign linksControl = "" /> 
700                    <#assign linksControlCont = 0 /> 
701                    <#assign downloadCont = 0 /> 
702    				 
703    				<#if linkTxt.getSiblings()?has_content> 
704    		                 
705    						 
706					    <#assign linksControl> 
707					         
708							<#list linkTxt.getSiblings() as linkTxt> 
709								<li class="df br-16"> 
710								    <p class="ico-resource"> 
711									        <img src="/o/educaixa-theme/images/recursos/enlace.svg" /> 
712									    </p> 
713									    <div class="ml-16 mr-12"> 
714									<#if linkTxt.internalLink.getData()?has_content && is_signed_in> 
715										<a  class="link internalLink font-16 font-700" href="${linkTxt.internalLink.getFriendlyUrl()}"> 
716									<#elseif linkTxt.externalLink.getData()?has_content && is_signed_in> 
717										<a class="link externalLink font-16 font-700" href="${linkTxt.externalLink.getData()}" target="_blank"> 
718									<#else> 
719										<a class="link font-16 font-700" onClick="openPopup('${loginURL}','','500', '650')"> 
720									</#if> 
721									        <p class="ico-download"></p> 
722											<span>${linkTxt.getData()}</span> 
723											<#if linkTxt.getData()?has_content> 
724											    <#assign linksControlCont = 1 /> 
725											</#if> 
726										</a> 
727										</div> 
728								</li> 
729							</#list> 
730							 
731						</#assign> 
732						 
733						<#if linksControlCont gt 0> 
734						    <ul id="links" class="resources-grid dg grid-3 cg-12 lsn p0 t-grid-2 m-grid-1"> 
735						        ${linksControl} 
736						    </ul> 
737                            <#assign downloadCont = 1 /> 
738						</#if> 
739    							 
740    							 
741    						 
742    						 
743    				</#if> 
744    				 
745    				 
746    				<#if materialrelacionado.getSiblings()?has_content || descargable.getData()?has_content> 
747    					<ul id="downloads" class="resources-grid dg grid-3 cg-12 lsn p0 t-grid-2 m-grid-1"> 
748    						<#if materialrelacionado.getSiblings()?has_content> 
749    							<#list materialrelacionado.getSiblings() as material> 
750    								<#if material.getData()?? && material.getData() != ""> 
751    									<#assign file = dLFileEntryLocalService.getFileEntryByUuidAndGroupId(material.getData()?keep_after_last("/")?keep_before("?"),scopeGroupId) /> 
752    									<#assign fileSize = file.getSize() /> 
753    						     
754    						            <#if fileSize gt 0> 
755        									<#assign mimeType = file.getMimeType()?keep_after_last("/") /> 
756    										<#-- GUIAS--> 
757    										<#if material.guiasMaterialRelacionado?? && material.guiasMaterialRelacionado.getData()?has_content> 
758    											 <#assign guiaTypeMD = material.guiasMaterialRelacionado.getData() /> 
759    											 <#else> 
760    											 <#assign guiaTypeMD = "default" /> 
761    										 </#if> 
762                                             <#assign downloadCont = 1 /> 
763    										 
764        									<li class="${mimeType} df aic br-16 "> 
765        									     
766                                                     <#if guiaTypeMD ?? && guiaTypeMD=="default"> 
767                                                     <p class="ico-resource ico-res-def"> 
768        									            <img src="/o/educaixa-theme/images/recursos/formato.svg" /> 
769        									            </p> 
770                                                    <#else> 
771                                                    <p class="ico-resource ico-res-nodef"> 
772    <img class="ico-default" src="/o/educaixa-theme/images/recursos/${guiaTypeMD}.svg" /> 
773                                                        <img class="ico-hover" style="position:absolute;opacity:0;" src="/o/educaixa-theme/images/recursos/${guiaTypeMD}.svg" /> 
774                                                         </p> 
775                                                    </#if> 
776        									    
777        									    <div class="ml-16 mr-12"> 
778        										    <p class="font-14 font-700">${material.titulomaterial.getData()}</p> 
779        										    <p class="font-14"> (${mimeType?upper_case} ${file.getSize()[0..(file.getSize()?length - 4)]}Kb) 
780        										    </p> 
781        										 
782        										</div> 
783        										<#if is_signed_in> 
784    											      
785        											<#if material.getData()?contains("?t")> 
786        												<#assign materialUrl = material.getData()[0..(material.getData()?last_index_of("/") - 1)]/> 
787        											<#else> 
788        												<#assign materialUrl = material.getData()[0..material.getData()?length]/> 
789        											</#if> 
790        											<a class="${mimeType} tu c-black" href="${material.getData()}" target="_blank" onClick="addGTMEvent('contenido', 'descarga recursos', '${materialUrl}')"> 
791        										<#else> 
792        											<a class="${mimeType} tu c-black" onClick="openPopup('${loginURL}','','500', '650')"> 
793        										</#if> 
794        												${languageUtil.get(locale, "download")} 
795        											</a> 
796    									    </li> 
797    								</#if> 
798    								</#if> 
799    							</#list> 
800    						</#if> 
801    						<#if descargable.getData()?has_content> 
802    							<#assign file = dLFileEntryLocalService.getFileEntryByUuidAndGroupId(descargable.getData()?keep_after_last("/")?keep_before("?"),scopeGroupId) /> 
803    						    <#assign fileSize = file.getSize() /> 
804    						     
805    						    <#if fileSize gt 0> 
806        							<#assign mimeType = file.getMimeType()?keep_after_last("/") /> 
807    								  
808    								 <#assign fileName = file.getFileName() /> 
809    								 <#if descargable.tituloRecursoDescargable?? && descargable.tituloRecursoDescargable.getData()?has_content> 
810    									 <#assign fileName = descargable.tituloRecursoDescargable.getData() /> 
811    								 </#if> 
812    								 <#if descargable.guiasRecursoDescargable?? && descargable.guiasRecursoDescargable.getData()?has_content> 
813    									 <#assign guiaTypeRD = descargable.guiasRecursoDescargable.getData() /> 
814    									 <#else> 
815    									 <#assign guiaTypeRD = "default" /> 
816    									  
817    								 </#if> 
818                                     <#assign downloadCont = 1 /> 
819     
820        							<li class="${mimeType} df aic br-16"> 
821        							     
822                                            <#if guiaTypeRD=="default"> 
823                                            <p class="ico-resource ico-res-def"> 
824    								            <img src="/o/educaixa-theme/images/recursos/formato.svg" /> 
825    								            </p> 
826                                            <#else> 
827                                            <p class="ico-resource ico-res-nodef"> 
828                                               <img class="ico-default" src="/o/educaixa-theme/images/recursos/${guiaTypeRD}.svg" /> 
829                                                <img class="ico-hover" style="position:absolute;opacity:0;" src="/o/educaixa-theme/images/recursos/${guiaTypeRD}.svg" /> 
830                                                </p> 
831                                            </#if> 
832    								     
833    								    <div class="ml-16 mr-12"> 
834        								    <p class="font-14 font-700">${fileName}</p> 
835        								    <p class="font-14">(${file.getMimeType()?keep_after_last("/")?upper_case} ${file.getSize()[0..(file.getSize()?length - 4)]}Kb)</p> 
836        								</div> 
837        								<#if is_signed_in> 
838        									<#if descargable.getData()?contains("?t")> 
839        										<#assign materialUrl = descargable.getData()[0..(descargable.getData()?last_index_of("/") - 1)]/> 
840        									<#else> 
841        										<#assign materialUrl = descargable.getData()[0..descargable.getData()?length]/> 
842        									</#if> 
843        									<a class="${mimeType} tu c-black" href="${descargable.getData()}" target="_blank" onClick="addGTMEvent('contenido', 'descarga recursos', '${materialUrl}')"> 
844        								<#else> 
845        									<a class="${mimeType} tu c-black" onClick="openPopup('${loginURL}','','500', '650')"> 
846        								</#if> 
847        										${languageUtil.get(locale, "download")} 
848        									</a> 
849        							   </li> 
850        						</#if>	    
851    						</#if> 
852    					</ul> 
853    					 
854 
855                        <#if downloadCont gt 0> 
856                            <div class="w-100 pt-12 df fe ac "> 
857                            <#if is_signed_in> 
858                                <a id="donwloadAll" class="c-black df" href="javascript:void(0);" onclick="downloadAll();"> 
859                                    <img class="download-all-ico" src="/o/educaixa-theme/images/recursos/download-blue.svg"/> 
860                                <p class="tu ml-8px">${LiteralsToolsServiceUtil.getLiteral(scopeGroupId, language, "com.educaixa.download.all")}</p></a> 
861                            <#else> 
862                                <a id="donwloadAll" class="c-black df" href="javascript:void(0);" onClick="openPopup('${loginURL}','','500', '650');"> 
863                                <img class="download-all-ico" src="/o/educaixa-theme/images/recursos/download-blue.svg"/> 
864                                <p class="tu ml-8px">${LiteralsToolsServiceUtil.getLiteral(scopeGroupId, language, "com.educaixa.download.all")}</p></a> 
865                            </#if> 
866                            </div> 
867                        
868    					</#if> 
869    				</#if> 
870    				</div> 
871                </#if> 
872    			<#-- FIN MATERIALES Y DESCARGAS -->	 
873    		</div> 
874    	</div> 
875         
876</section> 
877 
878 
879 
880 
881<script> 
882$( document ).ready(function() { 
883    initAddThis(); 
884     
885   <#if downloadCont==0> 
886	     $("#materialesDescargas").hide(); 
887	</#if> 
888     
889    $("a.header-back-to").attr('onClick',''); 
890    $("a.header-back-to").attr("href","/es/landing-recursos"); 
891    <#if language=='ca_ES'> 
892		$("a.header-back-to").attr("href","/ca/landing-recursos"); 
893	</#if>	 
894 
895    var searchParams = new URLSearchParams(window.location.search); 
896    var countImg = $(".image-preview-video img").length; 
897    if(searchParams.has('v')){ 
898        var valueParam = searchParams.get('v'); 
899        if(valueParam > 1 && valueParam <= countImg){ 
900            $(".image-preview-video:nth-child("+ valueParam +") img").click(); 
901
902
903     
904    var recursoTitle = document.getElementsByTagName('title')[0].innerHTML; 
905    window.dataLayer = window.dataLayer || []; 
906     dataLayer.push({ 
907         'event': 'CG',  
908         'eventCategory': 'recurso | video', 
909         'eventAction': recursoTitle 
910     }) 
911     
912     
913}); 
914$( "#myModal .close" ).click(function() { 
915	$('#yt-modal').each(function(){ 
916	  this.contentWindow.postMessage('{"event":"command","func":"stopVideo","args":""}', '*') 
917	}); 
918}); 
919 
920$(".image-preview-video").click(function() { 
921    $('.video-selected-recurso').removeClass("video-selected-recurso"); 
922    $(this).addClass("video-selected-recurso"); 
923}); 
924 
925function changeIframeUrl(idVideo, idioma){ 
926    var urlIframe = $('.iframe-video').attr("src"); 
927    urlIframe = "http://img.youtube.com/vi/"+idVideo+"/0.jpg"; 
928    $('.iframe-video').attr("src", urlIframe); 
929    var urlIframePopup = $('#yt-modal').attr("src"); 
930    var count = urlIframePopup.indexOf("embed/"); 
931    var urlIframeReplace = urlIframePopup.substring(count); 
932    count = urlIframeReplace.indexOf("/"); 
933    urlIframeReplace = urlIframeReplace.substring(count+1); 
934    count = urlIframeReplace.indexOf("?"); 
935    urlIframeReplace = urlIframeReplace.substring(0,count); 
936    urlIframePopup = urlIframePopup.replace(urlIframeReplace, idVideo); 
937    $('#yt-modal').attr("src", urlIframePopup); 
938    $(".iframe-video")[0].scrollIntoView() 
939    $(".idiomaList").text(idioma); 
940
941</script> 
942 
943<style> 
944.objetivo{ 
945    color: #7B2FA1; 
946
947.video-selected-recurso{ 
948    border: 5px solid #7B2FA1; 
949
950.image-preview-video{ 
951    max-width: 15%;  
952    margin-right: 1%; 
953
954.image-preview-video img{ 
955    cursor: pointer; 
956
957.info-video{ 
958    margin-top: 10px;  
959    margin-bottom: 10px;  
960    display:flex; 
961
962@media only screen and (max-width: 1024px) { 
963    .image-preview-video{ 
964        max-width: 50%;  
965        margin-right: 1%; 
966        margin: auto; 
967        margin-top: 10px; 
968
969    .info-video{ 
970        display:block; 
971
972     
973
974.video { position: relative; } 
975 
976.video a { 
977   position: absolute; 
978   display: block; 
979   height: 80px; 
980   width: 80px; 
981   top: 45%; 
982   left: 45%; 
983
984 
985.crop{ 
986    width: 900px;  
987    height: 548px; 
988     
989
990 
991.contenido-dcha-item > span { 
992    width: 100%; 
993    height: 1px; 
994    display: inline-block; 
995
996.asset-full-content.clearfix.mb-5.default-asset-publisher.no-title > .align-items-center.d-flex.mb-2 { 
997  max-width: 1140px; 
998  margin: 0 auto; 
999  margin-bottom: 0px; 
1000  margin-top:20px; 
1001
1002 
1003p.component-title.h4 span.header-back-to > a.taglib-icon::after { 
1004  content: "${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.atras")}"; 
1005  color:#009AD8; 
1006
1007 
1008 
1009.asset-full-content.clearfix.mb-5.default-asset-publisher.no-title > .align-items-center.d-flex.mb-2 .lexicon-icon.lexicon-icon-angle-left { 
1010    fill: #009AD8; 
1011    width: 15px; 
1012    height: 15px; 
1013    margin-right: 10px; 
1014
1015.container.vertical.image-view.ficha-evidencias .box-img.col-lg.square { 
1016    box-shadow: 1px 1px 8px #d0d0d0; 
1017
1018 
1019 
1020 
1021 
1022 
1023 
1024 
1025 
1026 
1027 
1028 
1029 
1030 
1031 
1032 
1033<#-- --> 
1034 
1035 
1036div#related-programs { 
1037    max-width: 1000px; 
1038    margin: 0 auto; 
1039
1040div#related-programs .program-related { 
1041    box-shadow: 0px 0px 4px 1px #dcdcdc; 
1042    padding: 24px; 
1043    background-color: #FBFBFB; 
1044    margin-bottom:32px; 
1045
1046a.img-programa { 
1047    position: relative; 
1048    width: 100%; 
1049    height: 100%; 
1050    top: 0px; 
1051    left: 0px; 
1052    display: inline-flex; 
1053
1054a.img-programa img { 
1055    position: absolute; 
1056    width: 100%; 
1057    height: 100%; 
1058    object-fit: cover; 
1059
1060.color-222 { 
1061    color:#222; 
1062
1063.f-normal { 
1064    font-weight:normal; 
1065
1066a.btn-educaixa2 { 
1067    margin-bottom: 0px; 
1068    background-color: #fff; 
1069    color: #009EE0; 
1070    position: static; 
1071    float: inherit; 
1072    display: inline-block; 
1073    padding: 12px 24px; 
1074    font-size: 18px; 
1075    font-style: normal; 
1076    font-weight: 500; 
1077    line-height: normal; 
1078    font-family: "Circular Std Book"; 
1079    border: 1px solid #009EE0; 
1080    border-radius: 16px !important; 
1081    transition: all 0.25s linear; 
1082
1083a.btn-educaixa2:hover { 
1084    background-color: #009EE0; 
1085    color: #fff; 
1086
1087.program-related > .cards { 
1088    min-height: 234px; 
1089
1090.program-related:nth-child(even) .cards{ 
1091	grid-auto-flow: dense; 
1092
1093 
1094.program-related:nth-child(even) .item-image-pograma-col1 { 
1095	grid-column: 2; 
1096
1097 
1098.program-related:nth-child(even) .item-image-pograma-col2 { 
1099	grid-column: 1; 
1100
1101 
1102 
1103 
1104</style> 
1105 
1106<script> 
1107 
1108function downloadAll() { 
1109  // Obtener el elemento <ul> con el id "downloads" 
1110  var listaDescargas = document.getElementById("downloads"); 
1111 
1112  // Obtener todos los elementos <a> dentro de la lista 
1113  var elementosA = listaDescargas.getElementsByTagName("a"); 
1114 
1115  // Recorrer los elementos y descargar los archivos 
1116  for (var i = 0; i < elementosA.length; i++) { 
1117    var enlace = elementosA[i].getAttribute("href"); 
1118    var nombreArchivo = obtenerNombreDeArchivo(enlace); 
1119    descargarArchivo(enlace, nombreArchivo); 
1120
1121
1122 
1123function obtenerNombreDeArchivo(url) { 
1124  // Obtener el nombre del archivo desde la URL 
1125  var partesUrl = url.split("/"); 
1126  return partesUrl.pop(); 
1127
1128 
1129function descargarArchivo(url, nombre) { 
1130  // Crear un elemento <a> temporal para descargar el archivo 
1131  var enlaceTemporal = document.createElement("a"); 
1132  enlaceTemporal.href = url; 
1133  enlaceTemporal.target = "_blank"; 
1134  enlaceTemporal.download = nombre; 
1135 
1136  // Simular un clic en el enlace para iniciar la descarga 
1137  enlaceTemporal.style.display = "none"; 
1138  document.body.appendChild(enlaceTemporal); 
1139  enlaceTemporal.click(); 
1140  document.body.removeChild(enlaceTemporal); 
1141
1142 
1143function navegarAElemento(idElemento) { 
1144	var elemento = document.getElementById(idElemento); 
1145 
1146	if (elemento) { 
1147		elemento.scrollIntoView({ behavior: 'smooth' }); 
1148
1149
1150 
1151function gestionarBookmark (articleId, update){ 
1152	updateUserBookmark(articleId,update); 
1153	if(update){ 
1154		$("#bookmark-text").hide(); 
1155	}else{ 
1156		$("#bookmark-text").show(); 
1157
1158
1159 
1160<#if is_signed_in && isUserBookmark> 
1161	$("#bookmark-text").hide(); 
1162</#if> 
1163 
1164 
1165$("body").on("click","#edc-modal p.close-edc-popup",function(){ 
1166 
1167	 
1168    if($("#yt-modal").length > 0 ) { 
1169        var el = $("#yt-modal").attr("src"); 
1170        $("#yt-modal").attr("src",""); 
1171        setTimeout(function(){  $("#yt-modal").attr("src",el); }, 100); 
1172
1173 
1174}); 
1175 
1176$(".btn-video-youtube").click(function(){ 
1177 
1178	var youtubeError = $("#yt-modal").attr("title") === 'YouTube video player'; 
1179	console.log("youtubeError : " + youtubeError); 
1180	if(youtubeError){ 
1181		var url = "http://www.youtube.com/watch?v=${siteMeta.get(0).brightcove_id}"; 
1182		window.open(url, '_blank'); 
1183	}else{ 
1184		$("body").addClass("recurso-video"); 
1185
1186}); 
1187 
1188$(".close-edc-popup").click(function(){ 
1189   $("body").removeClass("recurso-video");  
1190     
1191}) 
1192 
1193 
1194 
1195</script> 
1196 
1197 
1198 
1199 
1200 
1201 
1202 
1203<style> 
1204 
1205.mti { 
1206 
1207    background-image: url(/o/educaixa-theme/images/recursos/process2.svg); 
1208    background-size:25px 25px; 
1209
1210 
1211.section-competencias li { 
1212    background-color: #f1f1f1; 
1213    width: 70px; 
1214    height: 70px; 
1215    display: flex; 
1216    justify-content: center; 
1217    align-items: center; 
1218
1219 
1220.grid-7 { 
1221    grid-template-columns: repeat(7, 1fr); 
1222 
1223
1224 
1225.grid-10 { 
1226    grid-template-columns: repeat(10, 1fr); 
1227 
1228
1229 
1230.cg-5 { 
1231    column-gap:5px; 
1232
1233.cg-20 { 
1234    column-gap:20px; 
1235
1236.cg-10 { 
1237    column-gap:10px; 
1238
1239.mb-10{ 
1240    margin-bottom:10px; 
1241
1242.mod.mod-filtros-landings.elements-block.container.filtro-actividades.filtros-Recursos .bookmark button#bookmark { 
1243background-size:100% 100%; 
1244
1245/* 
1246.portlet-asset-publisher .asset-full-content img.ofcov { 
1247    object-position: top; 
1248}*/ 
1249.mh-325 > .mh-325 { 
1250    min-height: 400px; 
1251
1252.recurso-video header#banner { 
1253    z-index: 1; 
1254
1255#wrapper .resources-grid li:hover p.ico-resource .ico-hover, #wrapper .resources-grid li:focus p.ico-resource .ico-hover { 
1256    opacity: 1 !important; 
1257    position: static !important; 
1258    max-width: 25px !important; 
1259    margin-left: 0px; 
1260    margin-top: 0px; 
1261    filter: brightness(0) invert(1); 
1262
1263 
1264@media (max-width: 767px) { 
1265   .mh-325 > .mh-325 { 
1266    min-height: inherit; 
1267    }  
1268     
1269    .m-grid-4 { 
1270        grid-template-columns: repeat(4, 1fr); 
1271
1272    .m-cg-10 { 
1273        column-gap:10px; 
1274
1275    .section-competencias li { 
1276        width:100%; 
1277
1278     
1279    .detalle-recurso-content > .center-content-1000 > h2 { 
1280        line-height: 32px; 
1281
1282
1283 
1284 
1285</style>