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