Vés enrere Acompanya’t de les eines digitals: vídeos sobre experiències del professorat de la UPF

S'ha produït un error mentre es processava la plantilla.
Java method "com.sun.proxy.$Proxy781.getArticle(long, String)" threw an exception when invoked on com.sun.proxy.$Proxy781 object "com.liferay.journal.service.impl.JournalArticleLocalServiceImpl@72022b1c"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign resourcePrimKey = journalLoca...  [in template "10155#10193#" at line 70, column 5]
----
1<#assign colorSite = getterUtil.getString(themeDisplay.getThemeSetting("color-site")) /> 
2 
3<script type="text/javascript" src="/documents/6323808/129176989/jquery.captionate.js"></script> 
4<script> 
5function extractYouTubeParameter(url) { 
6    // Expresión regular para YouTube y Shorts 
7    var regExp = /(?:youtube\.com\/(?:shorts\/|watch\?v=)|youtu\.be\/)([^&?#]+)/; 
8    var match = url.match(regExp); 
9 
10    if (match && match[1]) { 
11        // Devuelve el ID del video con cualquier parámetro de consulta adicional 
12        var paramIndex = url.indexOf('?'); 
13        return paramIndex !== -1 ? match[1] + url.substring(paramIndex) : match[1]; 
14    } else { 
15        return null; 
16
17
18</script> 
19<#assign zona = timeZoneUtil.getTimeZone("Europe/Madrid") /> 
20 
21<#assign AssetEntryLocalservice = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 
22<#assign journalLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
23 
24<#assign groupId = getterUtil.getLong(groupId)/> 
25 
26<#-- apliquem les traduccions -->  
27 
28<#switch themeDisplay.getLocale()> 
29<#case "ca_ES"> 
30    <#assign translations = { 
31        "categories", "Categories", 
32        "multimedia", "Multimèdia",  
33        "perfils", "Perfils dels protagonistes",  
34        "info", "Per a més informació",  
35        "noticies", "Notícia publicada per",  
36        "unitat", "Oficina de Comunicació", 
37        "ods", "ODS - Objectius de desenvolupament sostenible", 
38        "odsupf","Els ODS a la UPF" 
39    }/> 
40        <#break> 
41<#case "es_ES"> 
42    <#assign translations = { 
43        "categories", "Categorías", 
44        "multimedia", "Multimedia",  
45        "perfils", "Perfiles de los protagonistas",  
46        "info", "Para más información",  
47        "noticies", "Noticia publicada por",  
48        "unitat", "Oficina de Comunicación", 
49        "ods", "ODS - Objetivos de desarrollo sostenible", 
50        "odsupf","Els ODS a la UPF" 
51    }/> 
52        <#break> 
53<#default> 
54<#assign translations = { 
55        "categories", "Categories", 
56        "multimedia", "Multimedia",  
57        "perfils", "Profiles of the protagonists",  
58        "info", "For more information",  
59        "noticies", "News published by",  
60        "unitat", "Communication Office", 
61        "ods", "SDG - Sustainable Development Goals", 
62        "odsupf","Els ODS a la UPF" 
63    }/> 
64</#switch> 
65 
66<#--<#assign site = groupId />--> 
67<#assign site = groupId /> 
68 
69<#if ( site?is_number) > 
70    <#assign resourcePrimKey =  
71    journalLocalService.getArticle(getterUtil.getLong(site), .vars['reserved-article-id'].data).resourcePrimKey /> 
72    <#assign entry = AssetEntryLocalservice.getEntry("com.liferay.journal.model.JournalArticle", getterUtil.getLong(resourcePrimKey)) /> 
73   <#if entry.getPublishDate()?? > 
74     <#assign fecha_de_creacion = entry.getPublishDate()?string("dd.MM.yyyy")/> 
75   <#else> 
76     <#assign fecha_de_creacion = .now?string("dd.MM.yyyy")/> 
77   </#if> 
78 
79   <#if entry.getModifiedDate()?? > 
80     <#assign fecha_de_modificacion = entry.getModifiedDate()?string("dd.MM.yyyy")/> 
81   <#else> 
82     <#assign fecha_de_modificacion = .now?string("dd.MM.yyyy")/> 
83   </#if> 
84</#if> 
85 
86<#assign cat = "" /> 
87<#assign listaCategorias = entry.getCategories() /> 
88<#list listaCategorias as categoria > 
89    <#if stringUtil.equalsIgnoreCase("OpenCms", categoria.name) > 
90        <#assign cat = categoria.name /> 
91    </#if> 
92</#list> 
93 
94<div class="container noticia-maximized nova"> 
95            <div id="nom_page"> 
96                <h1>${.vars['reserved-article-title'].data}</h1> 
97            </div> 
98            <div class="contingut subtitol"> 
99        <#if  .vars['Resum']?? > 
100                    ${.vars['Resum'].getData()} 
101        </#if> 
102            </div> 
103 
104<div class="row"> 
105   <#-- Afegir un if--> 
106    <div class="asset-full-content span8"> 
107        <#-- end--> 
108        <#if ( fecha_de_creacion?length == 10) > 
109        <div class="data">${fecha_de_creacion}</div> 
110        </#if> 
111        <div class="content" id="content"> 
112        <#if .vars['separadorimatge']?? > 
113            <#attempt> 
114                <#if ( .vars['separadorimatge'].getChild('url_youtube').getData() != "") > 
115                <!--zona youtube--> 
116                <p id="youtube" class="youtube"> 
117                    <script type="text/javascript"> 
118                        function getYoutube() { 
119                        var id = $(this).parent('p').attr("id"); 
120                        var url = "${.vars['separadorimatge'].getChild('url_youtube').getData()}" 
121                        var parm_youtube = extractYouTubeParameter(url) 
122                        if (parm_youtube.length != 0 ) { 
123                        return '<iframe width="560" height="315" src="https://www.youtube.com/embed/'+ parm_youtube +'" frameborder="0" allowfullscreen></iframe>'; 
124                        } else { 
125                        return ''; 
126
127
128                        document.getElementById("youtube").innerHTML = getYoutube(); 
129                    </script> 
130                </p> 
131                <#elseif (.vars['separadorimatge'].getChild('Imatge_inicial').getData() != "" && .vars['separadorimatge'].getChild('url_youtube').getData() == "" ) > 
132                <p><img alt="Imatge inicial" title="${.vars['separadorimatge'].getChild('Imatge_inicial').getChild('peufoto').getData()}" src="${.vars['separadorimatge'].getChild('Imatge_inicial').getData()}" width="100%" /></p> 
133                <#else> 
134                <p>&nbsp;</p> 
135                </#if> 
136            <#recover> 
137                <p>&nbsp;</p> 
138            </#attempt> 
139        <#else> 
140            <p>&nbsp;</p> 
141        </#if> 
142        <#if .vars['Noticia']?? > 
143            ${.vars['Noticia'].getData()} 
144        </#if> 
145        </div> 
146    </div> 
147 
148        <#-- Mostrem les categories que siguin filles de la categoria "Notícies"--> 
149        <#-- Preparació url dels enllaços a les categories--> 
150        <#assign wordCategories = languageUtil.get(locale, "categories-nom-page")> 
151        <#assign wordCategories = wordCategories?lower_case /> 
152        <#assign catUrl = "/web/focus/" + wordCategories + "?p_p_id=122_INSTANCE_4xkc6d8xhKAC&p_p_lifecycle=0&p_p_state=normal&p_p_mode=view&p_p_col_id=column-1&p_r_p_564233524_resetCur=true&p_r_p_564233524_categoryId=" /> 
153        <#assign assetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") /> 
154    
155<div class="span4" id="dreta"> 
156         
157         <h2 class="audio">${translations["multimedia"]}</h2> 
158          <div class="audio"> 
159                        <div id="media"></div> 
160                    </div> 
161        <#if .vars['Camps_addicionalsb']?? > 
162            <#attempt> 
163                <#assign prota = .vars['Camps_addicionalsb'].getChild('Protagonistes') /> 
164                <#if ( prota.getChild('nomperfil').getData() != "") > 
165                <h2>${translations["perfils"]}:</h2> 
166                <#list prota.getChild('nomperfil').getSiblings() as perfil > 
167                        <div class="names"> 
168                        <div class="nom">  
169                            ${perfil.getData()} 
170                        </div> 
171                        <div class="xarxes"> 
172                        <#list perfil.getChild('urlperfil').getSiblings() as sub_element > 
173                     
174                            <#-- Formatem l'enllaç perquè no el tracti com si fos una subpàgina --> 
175                            <#assign enllac = sub_element.getData() /> 
176                            <#if !enllac?starts_with("http")  >              
177                                <#assign enllac = "http://" + enllac />  
178                            </#if> 
179                     
180                            <a href="${enllac}" title="${enllac}" target="_blank"> 
181                                <#if (enllac?contains("facebook") ) > 
182                                    <img alt="Facebook UPF" height="16" src="//www.upf.edu/documents/213531008/213545108/facebook.png" width="16"> 
183                                <#elseif ( enllac?contains("twitter") ) > 
184                                    <img alt="Twitter UPF" height="16" src="//www.upf.edu/documents/213531008/213545108/twitter.png" width="16"> 
185                                <#elseif ( enllac?contains("instagram") ) > 
186                                    <img alt="Instagram UPF" height="16" src="//www.upf.edu/documents/213531008/213545108/instagram.png" width="16"> 
187                                <#elseif ( enllac?contains("youtube") ) > 
188                                    <img alt="Youtube UPF" height="16" src="//www.upf.edu/documents/213531008/213545108/youtube_new.png" width="16"> 
189                                <#elseif ( enllac?contains("linkedin") ) > 
190                                    <img alt="Linkedin UPF" height="16" src="//www.upf.edu/documents/213531008/213545108/linkedin.png" width="16"> 
191                                <#elseif ( enllac?contains("flickr") ) > 
192                                    <img alt="Flickr UPF" height="16" src="//www.upf.edu/documents/213531008/213545108/flickr.png" width="16"> 
193                                <#elseif ( enllac?contains("vimeo") ) > 
194                                    <img alt="Vimeo UPF" height="16" src="//www.upf.edu/documents/213531008/213545108/vimeo.png" width="16"> 
195                                <#elseif ( enllac?contains("pinterest") ) > 
196                                    <img alt="Pinterest UPF" height="16" src="//www.upf.edu/documents/213531008/213545108/pinterest.png" width="16"> 
197                                <#else> 
198                                <i class="fa-solid fa-link" aria-label="enllacos"></i> 
199                                 
200                                </#if> 
201                            </a> 
202                    </#list> 
203                        </div> 
204                        </div> 
205                </#list> 
206                </#if> 
207            <#recover>    
208            </#attempt> 
209        </#if>     
210        <div class="categories"> 
211            <h2>${translations["categories"]}:</h2> 
212             
213            <#list listaCategorias as categoria > 
214 
215            <#if categoria.getParentCategoryId() != 0 > <#--arreglo CG --> 
216             
217                <#assign assetCategory = "" /> 
218                <#assign assetCategory = assetCategoryLocalService.getCategory(categoria.getParentCategoryId()) />   
219                <#if (assetCategory.getName() == "Notícies") > 
220                    <div class="tipus"><a href="${catUrl}${categoria.getCategoryId()}">${categoria.getTitle(locale)}</a></div> 
221                </#if> 
222                 
223            </#if>   
224             
225            </#list> 
226        </div> 
227 
228     <div class="block_ods"> 
229         <h2>${translations["ods"]}:</h2> 
230                   <#list listaCategorias as categoria > 
231            <#if categoria.getParentCategoryId() != 0 > <#--arreglo CG --> 
232                <#assign assetCategory = "" /> 
233                <#assign assetCategory = assetCategoryLocalService.getCategory(categoria.getParentCategoryId()) />   
234                <#if (assetCategory.getName() == "ODS") > 
235                 
236                    <#if categoria.getTitle(locale)?contains('01.')> 
237                    <div class="ods_01">${categoria.getTitle(locale)}</div> 
238                    <#elseif categoria.getTitle(locale)?contains('02.')> 
239                    <div class="ods_02">${categoria.getTitle(locale)}</div> 
240                     <#elseif categoria.getTitle(locale)?contains('03.')> 
241                    <div class="ods_03">${categoria.getTitle(locale)}</div> 
242                     <#elseif categoria.getTitle(locale)?contains('04.')> 
243                    <div class="ods_04">${categoria.getTitle(locale)}</div> 
244                     <#elseif categoria.getTitle(locale)?contains('05.')> 
245                    <div class="ods_05">${categoria.getTitle(locale)}</div> 
246                     <#elseif categoria.getTitle(locale)?contains('06.')> 
247                    <div class="ods_06">${categoria.getTitle(locale)}</div> 
248                     <#elseif categoria.getTitle(locale)?contains('07.')> 
249                    <div class="ods_07">${categoria.getTitle(locale)}</div> 
250                     <#elseif categoria.getTitle(locale)?contains('08.')> 
251                    <div class="ods_08">${categoria.getTitle(locale)}</div> 
252                     <#elseif categoria.getTitle(locale)?contains('09.')> 
253                    <div class="ods_09">${categoria.getTitle(locale)}</div> 
254                     <#elseif categoria.getTitle(locale)?contains('10.')> 
255                    <div class="ods_10">${categoria.getTitle(locale)}</div> 
256                     <#elseif categoria.getTitle(locale)?contains('11.')> 
257                    <div class="ods_11">${categoria.getTitle(locale)}</div> 
258                     <#elseif categoria.getTitle(locale)?contains('12.')> 
259                    <div class="ods_12">${categoria.getTitle(locale)}</div> 
260                     <#elseif categoria.getTitle(locale)?contains('13.')> 
261                    <div class="ods_13">${categoria.getTitle(locale)}</div> 
262                     <#elseif categoria.getTitle(locale)?contains('14.')> 
263                    <div class="ods_14">${categoria.getTitle(locale)}</div> 
264                     <#elseif categoria.getTitle(locale)?contains('15.')> 
265                    <div class="ods_15">${categoria.getTitle(locale)}</div> 
266                     <#elseif categoria.getTitle(locale)?contains('16.')> 
267                    <div class="ods_16">${categoria.getTitle(locale)}</div> 
268                     <#elseif categoria.getTitle(locale)?contains('17.')> 
269                    <div class="ods_17">${categoria.getTitle(locale)}</div> 
270                    </#if> 
271                </#if> 
272                 
273            </#if>   
274            </#list> 
275            <a href="/web/responsabilitat-social/agenda-2030-ods" target="_blank" class="btn button_ods">${translations["odsupf"]} <i class="fa-solid fa-chevron-right" aria-hidden="true"></i></a> 
276    </div> 
277<h2 class="mark">Contact</h2> 
278<#if .vars['Camps_addicionalsb']?? > 
279    <#attempt> 
280    <#if .vars['Camps_addicionalsb'].getChild('espremsa').getData() == "true"> 
281        <div class="caixa-contacte"> 
282                <div class="mes-info-button"> 
283                    <p><strong>${translations["info"]}</strong> <i class="fa-solid fa-caret-up" aria-hidden="true"></i></p> 
284                </div> 
285            <div class="mes-info"> 
286                <p class="subtitol">${translations["noticies"]}:</p> 
287                <p>${translations["unitat"]}</p> 
288                        <ul> 
289                            <li><a href="tel:935422100">93 542 21 00</a></li> 
290                            <li><a class="correuContacte" href="mailto:[email protected]">[email protected]</a></li> 
291                        </ul> 
292            </div> 
293        </div> 
294             
295    </#if> 
296    <#recover> 
297    </#attempt> 
298</#if> 
299 
300    </div>    
301</div> 
302</div> 
303 
304   
305<#-- decidim si pintem la zona youtube o ivoox  --> 
306        <#if .vars['Camps_addicionalsb']?? > 
307            <#attempt> 
308                <#assign multi = .vars['Camps_addicionalsb'].getChild('Multimedia') /> 
309                <#list multi.getChild('youtubelist').getSiblings() as videos > 
310                    <#if ( videos.getChild('urlyoutubelist').getData()?contains("youtu") ) > 
311                        <script type="text/javascript"> 
312                        function getYoutube() { 
313                        var id = $(this).parent('p').attr("id"); 
314                        var url = "${videos.getChild('urlyoutubelist').getData()}" 
315                        var parm_youtube = extractYouTubeParameter(url) 
316                        if (parm_youtube.length != 0) { 
317                                return "<p>${videos.getChild("titolyoutubelist").getData()}</p><iframe width='560' height='315' src='https://www.youtube.com/embed/"+ parm_youtube +"' frameborder='0' allowfullscreen></iframe>"; 
318                        } else { 
319                        return 'error'; 
320
321
322                        document.getElementById("media").innerHTML += getYoutube(); 
323                        </script> 
324                    <#elseif ( videos.getChild('urlyoutubelist').getData()?contains("ivoox") ) > 
325                        <script type="text/javascript"> 
326                                function getIvoox() { 
327                                if (!"${videos.getChild('urlyoutubelist').getData()}".includes("rf_")) {                           
328                                return "<p class='titol'>${videos.getChild("titolyoutubelist").getData()}</p><br /> Error. Use a valid audio URL";                             
329                                } else {             
330                                var Y = "rf_" 
331                                var X = "${videos.getChild('urlyoutubelist').getData()}" 
332                                var Z = X.slice(X.indexOf(Y) + Y.length) 
333                                return "<p class='titol'>${videos.getChild("titolyoutubelist").getData()}</p><iframe width='238' height='48' frameborder='0' allowfullscreen='' scrolling='no' src='https://www.ivoox.com/player_ek_" + Z + "'></iframe>"; 
334
335
336                                document.getElementById("media").innerHTML += getIvoox(); 
337                        </script> 
338                    </#if>                        
339                </#list> 
340            <#recover> 
341            </#attempt> 
342        </#if> 
343<script> 
344 
345    if (!('remove' in Element.prototype)) { 
346        Element.prototype.remove = function() { 
347            if (this.parentNode) { 
348                this.parentNode.removeChild(this); 
349
350        }; 
351
352    // Si tenim els bookmarks posicionats d forma horitzontal, els movem 
353    if($(".taglib-social-bookmarks").length != 0){ 
354        $(".taglib-social-bookmarks").prependTo(".asset-full-content"); 
355        $(".taglib-social-bookmarks").get(0).remove(); 
356
357    //$(".taglib-header").remove(); Eliminem per poder esborrar noticies 
358    //$(".portlet-topper").remove(); 
359     
360    ajustaRelatedContentFullSize(); 
361     
362 
363    // Eliminem seccions si no n'hi ha cap 
364    if ($(".categories div").length == 0){ 
365        $(".categories").remove(); 
366
367    if ($(".block_ods div").length == 0){ 
368        $(".block_ods").remove(); 
369
370    if($('#media').is(':empty')) { 
371    $("h2.audio").hide(); 
372
373   
374   $('#content img[title]').captionate(); // imatges amb class caption mostraran la descripció 
375   
376    function ajustaRelatedContentFullSize(){ 
377        if ($(".list-group.sidebar-list-group").length!= 0){ 
378                $(".asset-links").appendTo("#dreta").insertAfter('.categories'); 
379                $(".asset-links").css("padding-left","0px !important");          
380        }else{ 
381            setTimeout(function(){ajustaRelatedContentFullSize();},100); 
382
383
384         
385/*Caixa contacte*/ 
386 
387$(".mes-info-button").on("click", function(){$(this).parent(".caixa-contacte").find(".mes-info").slideToggle();$(this).find("i").toggleClass("fa-caret-down")}); 
388 
389 
390/*Moviment caixa contacte*/ 
391 function moucaixa(){ 
392     if($(window).width() > 920) { 
393        $(window).on("scroll", function(){ 
394        var scroller_anchor = $(".mark").offset().top; 
395        if ($(this).scrollTop() > scroller_anchor) { 
396                    $(".caixa-contacte").css({'position':'fixed','top':'0','margin-top':'90px','width':'inherit', 'max-width':'370px'}); 
397                } else { 
398                    $(".caixa-contacte").css({'position':'relative','top':'auto','margin-top':'30px','width':'auto'}); 
399
400        }); 
401
402    else { 
403        $(window).on("scroll", function(){ 
404            $(".caixa-contacte").css({'position':'relative','top':'auto','margin-top':'30px','width':'100%','max-width':'auto'}); 
405        }); 
406
407
408 
409/*Treure el títol de la pàgina 7.2*/ 
410 
411document.querySelector(".upf__titol-pagina")?.remove() 
412 
413 
414</script> 
415    <#if .vars['Camps_addicionalsb']?? > 
416        <#attempt> 
417        <#if .vars['Camps_addicionalsb'].getChild('espremsa').getData() == "true"> 
418        <script type="text/javascript"> 
419                    moucaixa(); 
420                        $(window).on("resize", function(){ 
421                            moucaixa(); 
422                        } ) 
423                </script> 
424            </#if> 
425        <#recover> 
426        </#attempt> 
427    </#if> 
428     
429<style> 
430    /*Fix notícies relacionades*/ 
431    ul.list-group.sidebar-list-group .autofit-col .list-group-title:only-child { 
432    height: auto; 
433
434    ul.list-group.sidebar-list-group .text-truncate-inline .text-truncate { 
435        display: inline-block; 
436        max-width: 100%; 
437        overflow: auto; 
438        text-overflow: initial; 
439        vertical-align: bottom; 
440        white-space: normal; 
441        word-wrap: normal; 
442
443    /*FI fix notícies relacionades*/ 
444 
445    #media p { 
446    margin: 10px 0 5px; 
447
448    /* ----- Estil per adaptar a themes que no són UPF 2016 ----- */ 
449    #nom_page h1 { 
450        color: ${colorSite} !important; 
451        font-size: 23px; 
452        font-weight: bold; 
453        line-height: normal; 
454        margin-bottom: 15px; 
455        margin-top: 0; 
456        padding: 0; 
457
458    .contingut.subtitol, .contingut.subtitol p, .contingut.subtitol ul, .contingut.subtitol ol { 
459        font-size: 20px !important; 
460        color: ${colorSite} !important; 
461
462     
463    #dreta h2 { 
464        font-weight: normal; 
465        font-size: 20px; 
466        color: ${colorSite}; 
467        line-height: normal; 
468        margin-bottom: 1em !important; 
469        margin-top: 1em !important; 
470        text-decoration: none; 
471        text-transform: none; 
472        padding: 0; 
473
474 
475    .tipus a { 
476        text-decoration: none !important; 
477
478     
479    li.list-group.sidebar-list-group-item a { 
480        color: ${colorSite} !important; 
481
482     
483    span.taglib-text { 
484        color:  ${colorSite}; 
485    }  
486     
487    .categories div.tipus a{ 
488        background-color: ${colorSite}; 
489        margin-bottom: 5px; 
490        margin-right: 5px; 
491        max-width: 100%; 
492        position: relative; 
493        display: inline-block; 
494        text-decoration: none; 
495        color: #FFFFFF; 
496        padding: 5px 10px; 
497    }    
498     
499 
500    /* ----- Fi estil per adaptar a themes que no són UPF 2016 ----- */ 
501 
502    /* En aplicar aquesta class a un div .container, limitem amb auto per no ser sempre 1170px */ 
503    .noticia-maximized{ 
504        max-width: 1280px !important; 
505        width: auto !important; 
506
507 
508    #nom_page{ 
509        display:block !important; 
510
511    #contingut > #nom_page{ 
512        display:none !important; 
513
514     
515    /* Per treure la icona de davant del títol Continguts relacionats*/ 
516    .asset-links h2{ 
517        background:none !important; 
518
519    .asset-links{ 
520        padding-left: 4px; 
521        margin-top: 0px; 
522
523    .list-group.sidebar-list-group{ 
524        padding-left: 25px !important; 
525
526    .list-group.sidebar-list-group-item{ 
527        list-style: initial !important; 
528
529    .list-group.sidebar-list-group-item img{ 
530        display:none; 
531
532    .contingut.subtitol, .contingut.subtitol p, .contingut.subtitol ul, .contingut.subtitol ol { 
533        font-weight: normal; 
534        padding-top: 0; 
535        line-height: normal !important; 
536
537     
538    .contingut.subtitol { 
539        border-bottom: 1px solid #ddd; 
540        margin-bottom: 10px; 
541        padding-bottom: 10px; 
542
543    .asset-full-content .tipus > a { 
544        background-color: ${colorSite} !important; 
545        margin-right: 5px; 
546        margin-bottom: 5px; 
547        position: relative; 
548        max-width:100%; 
549        text-decoration:none; 
550
551    .asset-full-content .tipus > a:hover { 
552        color: #ffffff !important; 
553
554     
555    .asset-full-content .tipus{ 
556        display: inline; 
557
558     
559    .taglib-social-bookmarks { 
560        display: block; 
561        float: right; 
562        background:none; 
563        margin-top:0px; 
564
565    .taglib-social-bookmarks a{ 
566        margin-bottom: 0px; 
567
568    .taglib-social-bookmarks ul{ 
569        padding:0px; 
570        margin-bottom:0px; 
571
572    .taglib-social-bookmarks ul li{ 
573        margin-right:0px; 
574
575    .asset-full-content .content { 
576        border-bottom: 0px solid #fff; 
577        display: table; 
578        margin-bottom: 20px; 
579        padding-bottom: 10px; 
580        width: 100%; 
581
582    .asset-full-content .content::before { 
583        content: ""; 
584        display: inline-table; 
585        width: 100%; 
586
587    .asset-full-content .content h3 { 
588        font-size: 18px; 
589        font-weight: normal; 
590
591    .categories::after { 
592        content: ""; 
593        display: inline-table; 
594        width: 100%; 
595
596    .categories h2, .sheet-tertiary-title{ 
597        color: ${colorSite} !important; 
598
599 
600     
601    @media (min-width: 979px) and (max-width: 1200px) { 
602         
603
604    @media (max-width: 978px) { 
605        .asset-full-content .data { 
606            display:inline-table;} 
607
608    @media (max-width: 480px) {  
609        .asset-full-content .tipus > a { 
610            float:none;} 
611
612 
613     /*Nova notícia*/ 
614   .nova .names a { 
615    text-decoration: none !important; 
616    transition: 0.4s all; 
617
618    .nova .names a:hover img, .nova .names a:hover i { 
619    transform: translateY(-4px)!important; 
620    transition: 0.2s all; 
621
622    .nova .names { 
623    display: table; 
624    box-sizing: border-box; 
625    width: 100%; 
626
627    .nova .names .nom { 
628    width: 50%; 
629    display: inline-table; 
630
631    .nova .names .xarxes { 
632    width: 50%; 
633    display: inline-table; 
634
635    .nova p.youtube { 
636    margin: 0 0 20px; 
637
638    .nova p.subtitol:after { 
639    content: ""; 
640    width: 100%; 
641    height: 1px; 
642    background-color: #ddd; 
643    position: relative; 
644    display: table; 
645
646    .nova #dreta { 
647    padding-top: 30px; 
648
649    .nova .asset-full-content figure { 
650    display: inline-block; 
651    margin-bottom: 20px; 
652    border: 1px solid transparent; 
653    margin-right: 0; 
654    margin-left: 0; 
655    margin-top: 0; 
656
657    .nova .asset-full-content figcaption {display: block; text-align: center; font-size: 0.8em; font-style: italic; } 
658    .nova .fa-caret-down:before { 
659        content: "\f0d7" !important; 
660
661    @media (max-width: 480px) {  
662        .nova .asset-full-content figure { 
663        float: none !important; 
664
665
666    .nova .asset-full-content .content > p:nth-child(2):first-letter { 
667    color: ${colorSite}; 
668    float: left; 
669    font-family: Georgia; 
670    font-size: 80px; 
671    line-height: 50px; 
672    padding-top: 3px; 
673    padding-right: 10px; 
674    padding-left: 3px; 
675    padding-bottom: 3px; 
676
677     
678    ul.list-group.sidebar-list-group { 
679    list-style: none !important; 
680    margin: 0 !important; 
681    padding: 0 !important; 
682
683.asset-links .list-group.sidebar-list-group-item { 
684    list-style: none !important; 
685
686.asset-links li.list-group.sidebar-list-group-item a { 
687    color: #353430 !important; 
688    text-decoration: none !important; 
689    border: 1px solid #ddd; 
690    border-radius: 4px; 
691    display: block; 
692    padding: 10px; 
693    background-color: #eee; 
694
695.asset-links .list-group.sidebar-list-group-item a:hover { 
696    text-decoration: none !important; 
697
698.asset-links .list-group.sidebar-list-group-item a:before { 
699    content: "\f0c1"; 
700    font-family: 'fontawesome-alloy'; 
701    font-size: 25px; 
702    display: inline-block; 
703    margin-right: 4px; 
704    width: 10%; 
705    vertical-align: middle; 
706
707.asset-links li.list-group.sidebar-list-group-item a span.taglib-text { 
708    color: #353430 !important; 
709    display: inline-block; 
710    width: 80%; 
711    vertical-align: middle; 
712    text-decoration: none; 
713
714 
715.asset-links .list-group.sidebar-list-group-item:hover a, .asset-links .list-group.sidebar-list-group-item:hover a span.taglib-text { 
716    background-color: #353430 !important; 
717    color: #eee !important; 
718    text-decoration: none; 
719
720 
721/*Caixa contacte*/ 
722.caixa-contacte { 
723    border: 1px solid #ddd; 
724    padding: 10px; 
725    margin-bottom: 20px; 
726    margin-top: 30px; 
727
728.caixa-contacte { 
729    border: 1px solid #ddd; 
730    padding: 10px; 
731    margin-bottom: 20px; 
732    margin-top: 30px; 
733    box-sizing: border-box !important; 
734
735h2.mark { 
736    display: block; 
737    font-size: 0 !important; 
738    color: #fff !important; 
739    background-color: #fff !important; 
740
741.mes-info { 
742    display: block; 
743
744.mes-info-button { 
745    cursor: pointer; 
746    display: block; 
747    width: 100%; 
748    height: 100%; 
749
750.mes-info-button i { 
751    float: right; 
752font-size: 20px; 
753
754/*Elements notícia*/ 
755/*cita*/ 
756.nova cite { 
757    margin-top: 30px; 
758    margin-bottom: 30px; 
759    font-size: 20px; 
760    color: #666; 
761    padding-left: 10px; 
762    box-sizing: border-box; 
763    vertical-align: middle; 
764    display: inline-block; 
765    border-left: 3px solid #666; 
766    padding-top: 10px; 
767    padding-bottom: 10px; 
768    width: 80%; 
769    margin-left: 20%; 
770    line-height: normal !important; 
771
772 .nova .asset-full-content .content h3 { 
773    font-size: 18px; 
774    font-weight: normal; 
775    line-height: normal; 
776    margin-top: 40px; 
777    margin-bottom: 20px; 
778    color:  ${colorSite}; 
779
780.nova .asset-full-content .content h4 { 
781    font-size: 16px; 
782    font-weight: normal; 
783    line-height: normal; 
784    margin-top: 30px; 
785    margin-bottom: 10px; 
786    color: ${colorSite}; 
787
788 
789/*ODS*/ 
790@import url('https://fonts.googleapis.com/css2?family=Source+Sans+Pro&display=swap'); 
791 
792[class*=ods_] { 
793    font-family: 'Source Sans Pro', sans-serif; 
794    font-weight: bold; 
795    line-height: normal; 
796    text-transform: uppercase; 
797    font-size: 10px; 
798    color: white; 
799    display: inline-table; 
800    width: calc(50% - 4px); 
801    max-width: 130px; 
802    height: 130px; 
803    padding: 1em; 
804    box-sizing: border-box; 
805    background-color: grey; 
806    background-repeat: no-repeat; 
807    background-position: bottom; 
808    background-size: 100%; 
809    margin-left: 4px; 
810    margin-bottom: 4px; 
811
812.ods_01 { 
813    background-color: #e5233d; 
814    background-image: url(/documents/10193/252729907/ods_01.png); 
815
816.ods_02 { 
817    background-color: #dda73a; 
818     background-image: url(/documents/10193/252729907/ods_02.png); 
819
820.ods_03 { 
821    background-color: #4ca146; 
822     background-image: url(/documents/10193/252729907/ods_03.png); 
823
824.ods_04 { 
825    background-color: #c7212f; 
826     background-image: url(/documents/10193/252729907/ods_04.png); 
827
828.ods_05 { 
829    background-color: #ef402d; 
830     background-image: url(/documents/10193/252729907/ods_05.png); 
831
832.ods_06 { 
833    background-color: #27bfe6; 
834     background-image: url(/documents/10193/252729907/ods_06.png); 
835
836.ods_07 { 
837    background-color: #fbc412; 
838     background-image: url(/documents/10193/252729907/ods_07.png); 
839
840.ods_08 { 
841    background-color: #a31c44; 
842     background-image: url(/documents/10193/252729907/ods_08.png); 
843
844.ods_09 { 
845    background-color: #f26a2e; 
846     background-image: url(/documents/10193/252729907/ods_09.png); 
847
848.ods_10 { 
849    background-color: #dd1667; 
850     background-image: url(/documents/10193/252729907/ods_10.png); 
851
852.ods_11 { 
853    background-color: #f89d2a; 
854     background-image: url(/documents/10193/252729907/ods_11.png); 
855
856.ods_12 { 
857    background-color: #bf8d2c; 
858     background-image: url(/documents/10193/252729907/ods_12.png); 
859
860.ods_13 { 
861    background-color: #407f46; 
862     background-image: url(/documents/10193/252729907/ods_13.png); 
863
864.ods_14 { 
865    background-color: #1f97d4; 
866     background-image: url(/documents/10193/252729907/ods_14.png); 
867
868.ods_15 { 
869    background-color: #59ba47; 
870     background-image: url(/documents/10193/252729907/ods_15.png); 
871
872.ods_16 { 
873    background-color: #136a9f; 
874     background-image: url(/documents/10193/252729907/ods_16.png); 
875
876.ods_17 { 
877    background-color: #14496b; 
878     background-image: url(/documents/10193/252729907/ods_17.png); 
879
880 
881a.btn.button_ods { 
882    position: relative; 
883    display: table !important; 
884    width: auto; 
885    margin-top: 1em; 
886    margin-bottom: 0; 
887    background-image: none; 
888    background-color: ${colorSite}; 
889    color: #fff; 
890    text-shadow: none; 
891    border: none !important; 
892    float: none; 
893    font-size: inherit; 
894    border-radius: 0; 
895
896a.btn.button_ods:hover, a.btn.button_ods:focus { 
897    background-image: none; 
898    background-color: ${colorSite}70; 
899    color: #fff; 
900
901 
902</style>