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