/*!
Theme Name: Agrifor
Theme URI: http://underscores.me/
Author: Fesomia
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: agrifor
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Agrifor is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/


/*--------------------------------------------------------------
# Base vars
--------------------------------------------------------------*/
:root {

	--constrictor-max-width:1240px;
	--breakpoint_1: 768px;


	--font-family-default: "Source Sans 3";
	--line-height-default: 1.2;

	--color-primary: #548422;
	--color-secondary: #f39200;
	--color-ternary: #56271b;
	--color-highcontrast: #333;
	--color-highcontrast-text: #FFF;
	--color-text: #222;
	--color-titles: #333;
	--color-dark: #333;


	--ico_download: url(media/ico_download.svg);
	--ico_download2: url(media/ico_download2.svg);
	--ico_download3: url(media/ico_download3.svg);
	--ico_external: url(media/ico_external.svg);
	--ico_external2: url(media/ico_external2.svg);

	--ico_directori: url(media/ico_directori.svg);
	--ico_revista: url(media/ico_revista.svg);
	--ico_treball: url(media/ico_treball.svg);
	--ico_ruralcat: url(media/ico_ruralcat.svg);
	--ico_eeec: url(media/ico_eeec.svg);

	--ico_contacte: url(media/ico_contacte.svg);
	--ico_idioma: url(media/ico_idioma.svg);
	--ico_user: url(media/ico_user.svg);
	--ico_map: url(media/ico_map.svg);
	--ico_tel: url(media/ico_tel.svg);
	--ico_mail: url(media/ico_mail.svg);

	--ico_linkedin: url(media/ico_in.svg);
	--ico_twitter: url(media/ico_tw.svg);
	--ico_facebook: url(media/ico_fb.svg);
	--ico_youtube: url(media/ico_yt.svg);

	--ico_linkedin2: url(media/ico_in2.svg);
	--ico_twitter2: url(media/ico_tw2.svg);
	--ico_facebook2: url(media/ico_fb2.svg);
	--ico_youtube2: url(media/ico_yt2.svg);
	
	--ico_share: url(media/ico_share.svg);



	--ico_plus: url(media/ico_plus.svg);
	--ico_plus2: url(media/ico_plus2.svg);
	--ico_next: url(media/ico_next.svg);

	--ico_search: url(media/ico_search.svg);
	--ico-star: url(media/ico_star.svg);
	--ico_close: url(media/ico_close.svg);
	--ico_menu: url(media/ico_menu.svg);

	--img_fallback: url(media/img_fallback.png);

	




	/*color gris per trencar el blanc en caixes o llistes*/
	--color-soft-background: #f7f5f4;
	--color-soft-background_accent: #eceae9;

	--font-smaller-size: 14px;
	--font-default-size: 16px;
	--font-default-size2: 18px;
	--font-default-size3: 20px;

	--font-default-size90: calc(var(--font-default-size)*0.9);


	--font-bigtitle-size:40px;
	--font-title-size: 36px;
	--font-sectiontitle-size: 20px;
	--font-subtitle-size: 22px;
	--font-boxtitle-size: 18px;

	--font-weight-medium: 500;
	--font-weight-semibold: 600;
	--font-weight-light: 300;


	--spacing-tiny: 5px;
	--spacing-xsmall: 5px;
	--spacing-small: 10px;
	--spacing-medium: 20px;
	--spacing-large: 30px;
	--spacing-xlarge: 40px;
	--spacing-xxlarge: 50px;
	--spacing-xxxlarge: 60px;
	--spacing-huge: 80px;
	--spacing-xhuge: 100px;

	--spacing-giant:180px;

	--spacing-line_menus: 50px;
	--spacing-x5: 50px;
	--spacing-x4: 40px;


	--margin-block-small: 25px;
	--margin-block-big: 45px;

	--margins-block: var(--margin-block-small) 0 var(--margin-block-big);
	/*--margins-block: 1.7rem 0 2.8rem;*/

	--banners_min-width: 250px;
	--banners_width: 300px;

	--button-radius: 2px;



}

/*reset*/

/* makes sizing simpler */

*,
*::before,
*::after {
  box-sizing: border-box;
}

/* remove default spacing */
/* force styling of type through styling, rather than elements */

* {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
}


div,p{
	line-height: max(1.5rem,1.1em);
}

/* dark mode user-agent-styles */

html {
	height:100%;
  /*color-scheme: dark light;*/
}

/*smooth scrolling*/
@media (prefers-reduced-motion: no-preference)
{
	html {
		scroll-behavior: smooth;
		scroll-padding-top: 3rem;	
	}
}

/* min body height */

body {

  font-family: var(--font-family-default), sans-serif;
  font-size: var(--font-default-size);
  line-height: var(--line-height-default);
  color:var(--color-text);
  width: 100vw;
  /*min-height: 100vh;*/
  max-width:100%;
  overflow-x: hidden;
  height:100%;
}



/* responsive images/videos */
img,
picture,
svg,
video {
  display: block;
  max-width: 100%;
  height:auto;
}


dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	font-size: 100%;
	vertical-align: baseline;
}

ol, ul {
	list-style: none;
}


strong{
	font-weight: var(--font-weight-semibold);
}



h1, h2, h3, h4, h5, h6 {
	margin-bottom: 0.5rem; /* Agrega un margen inferior pequeño */
	font-weight: inherit; /* Restablece el peso de la fuente a normal */
	line-height: 1.2; /* Establece la altura de línea */
}

p{
	margin-bottom:0.9em;
}


li, span, a,div, input, button, img,*:before, *:after{
	/*transition: all 0.4s ease;*/

	transition: color 0.4s ease, background-color 0.4s ease, opacity 0.4s ease, filter 0.4s ease ;
}

a{color:inherit;}

*:before, *:after{
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	mask-size: contain;
	mask-position: center;

	background-repeat:no-repeat;
	background-size:contain;
	background-position:center;
	
}


/* Estilos básicos para listas */
ul.wp-block-list,
ol.wp-block-list,
ul:not([class]),
ol:not([class])
{
    margin: 1em 0;
    padding-left: 1.5em; /* Añadir espacio a la izquierda para la sangría */
}

ul.wp-block-list,
ul:not([class]) {
    list-style-type: disc; /* Usar disco como marcador de lista no ordenada */
}

ol.wp-block-list,
ol:not([class]) {
    list-style-type: decimal; /* Usar números como marcador de lista ordenada */
}


ul.wp-block-list > li,
ol.wp-block-list > li,
ol:not([class]) > li,
ul:not([class]) > li {
    margin-bottom: 0.5em; /* Espacio inferior entre elementos de lista */
}

/* Listas anidadas */


ul.wp-block-list > ul,
ol.wp-block-list > ul,
ul.wp-block-list > ol,
ol.wp-block-list > ol,
ul:not([class]) ul,
ol:not([class]) ul,
ul:not([class]) ol,
ol:not([class]) ol {
    margin: 0.5em 0;
    padding-left: 1.5em;
}



/* Forms
--------------------------------------------- */

button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	cursor:pointer;
}


/*button,*/
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

/*button:hover,*/
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

/*button:active,
button:focus,*/
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

em {
	font-style: italic;
}

section {
	scroll-margin-top: 4rem;
  }

.admin-bar section {scroll-margin-top: 6rem;}


.button_actions {
	text-align:center;
}

.btn_default{
	background-color: var(--color-primary);
	text-transform:uppercase;
	color: var(--color-highcontrast-text);
	
	border: 2px solid var(--color-primary);
	border-radius:var(--button-radius);

	padding: calc(var(--spacing-medium) - 2px) var(--spacing-xlarge);
}


.btn_default:hover{
	background-color:transparent;
	color: var(--color-primary);
}


hr.dotted{
	border-top:1px dotted var(--color-ternary);
	margin: var(--spacing-xxlarge) 0;
	opacity: 0.5;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/


.mobile{display:none;}

@media screen and (max-width: 1000px) {
	.desktop {display:none !important;}
	.mobile {display:block;}

	.slide_menu_enabled{
		overflow:hidden;
	}

}


/* slide menu */

.slide_menu{
	position: fixed;
	top: 0;	
	bottom:0;
	left: -100vw;
	z-index:9;
	width:100%;
	display:flex;
	flex-direction: column;
	background-color: var(--color-primary);
	opacity:0;
	transition: all 0.5s;
	z-index: 99999;

}



.slide_menu_enabled .slide_menu{
	left:0;
	opacity:1;
}

.slide_menu_head{
	padding: 0 var(--spacing-small);
}


.slide_menu_content{
	flex:1;
	overflow: auto;
}



.slide_menu .menu.with_separators{
	--_color: var(--color-highcontrast-text);
	--_separator-style: dotted;
	--_background-color: rgba(0,0,0,0.15);
	--_background-color_hover: rgba(0,0,0,0.3);

	font-size: var(--font-default-size90);
	margin-top: var(--spacing-small);
}

.slide_menu .menu.with_separators a{
	padding-left: var(--spacing-xlarge);
}














#page{

	display: flex;
    min-height: 100vh;
	flex-direction: column;
    align-items: stretch;

	width:100%;


	/*max-width: min(calc(100% - 20px) , var(--constrictor-max-width));*/

	margin-left: auto;
	margin-right: auto;
}

.site > *{
	padding: 0 max(10px, calc(50% - var(--constrictor-max-width) / 2));
}

.admin-bar #page{
	min-height: calc(100vh - 32px);
}



.site .site-main{
	flex-grow: 1;
}


.site > * {flex-shrink: 0;}


.content_waside {
	--_aside_width:255px;
	--_gap_width: var(--spacing-xxxlarge);


	display:flex;
	gap:var(--_gap_width);
	flex-wrap: wrap;

}

.site-main-container{
	padding-bottom: var(--spacing-xhuge);
}

.content_waside > article,
.content_waside > main {
	flex: 9;
	min-width: max(calc(100% - var(--_aside_width) - var(--_gap_width)),65%);
	/*min-width: min(100%, 400px);*/
}

.content_waside  aside {
	/*flex: 0 0 max(200px, 20%); /* Flex-grow: 0, Flex-shrink: 0, Flex-basis: 200px */
	flex: 1 0;
	min-width: min(100%,var(--_aside_width));

	font-size: var(--font-default-size);
}

.content_waside aside .stick{
	top:90px;
}

.page-anchors{
	margin-top: calc(-1*var(--spacing-line_menus));
	padding-bottom: var(--spacing-line_menus);
}

.page-anchors.stick{
	top:50px;
	z-index:6;
}

.page-anchors.is_sticky .menu{
	background-color: var(--color-highcontrast-text);

}




/*scroller*/

.ag_slider{
	--_shadow-size: 8px;
	--_gap:calc(var(--spacing-medium) - 2*var(--_shadow-size));
	--_slides: 2;
	--_img_proportion: calc(100%*1.34);
	
}

.ag_slider{
	background-color:color-mix(in srgb, var(--color-primary) 30%, transparent);
	padding: var(--spacing-xlarge) 0;
	margin-bottom: var(--spacing-large);

	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: calc(var(--spacing-small) - var(--_shadow-size));

	align-items:center;
	position:relative;
}

.ag_slider .control{
	width:32px;

}

.ag_slider .slides{
	position:relative;
	display: flex;
	overflow:hidden;
	gap:var(--_gap);
}

.ag_slider .slides > *{
	padding: var(--_shadow-size);
	width:calc((100% + var(--_gap) - (var(--_slides)*var(--_gap)))/var(--_slides));
	flex-shrink: 0;

}

@media screen and (max-width:900px) {
	.ag_slider{
		--_slides: 1;
	}
}

.ag_slider .slides a{
    display: grid;

    grid-template-columns: minmax(150px,min(40%,220px)) 1fr;
	align-items:center;

	background-color: #FCFCFC;
	height:100%;

	text-decoration:none;
	color:inherit;

}

.ag_slider .slides a:hover{
filter: drop-shadow(0px 0px 6px rgba(51,51,51,0.3));
}


.ag_slider .slides .image_container{
	height:100%;
}

.top_news_scroller .slides .text_container{
    padding: var(--spacing-medium);
	color: var(--color-text);
}

.ag_slider .slide_title{
	font-size:var(--font-sectiontitle-size);
	font-weight: var(--font-weight-semibold);

}

.ag_slider .type{
	color: var(--color-secondary);
	text-transform: uppercase;
	font-size: var(--font-default-size90);
	margin-bottom:var(--spacing-tiny);
}

.ag_slider .btn_default{
	display:inline-block;
	margin-top:var(--spacing-small);
	text-transform:none;
	padding: calc(var(--spacing-tiny) - 2px) var(--spacing-medium);
}

.ag_slider .control a
{
	display:grid;
    text-indent: -100vw;
    overflow: hidden;
    white-space: nowrap;
}
	

.ag_slider .control a:before{
	content:'';
	display:block;
	width:32px;
	height:32px;
	mask-image: var(--ico_next);
	mask-size: 75%;
	background-color: var(--color-dark);
}

.ag_slider .control .left:before{
	transform: scaleX(-1);
}

.ag_slider .control a:hover:before{
	background-color:var(--color-highcontrast-text);
}

@media screen and (max-width: 550px) {
	.ag_slider .slides a{
		grid-template-columns:none;
		grid-template-rows: auto 1fr;
	}

	.ag_slider .slides .image_container {
		height:100px;
		padding:0;
	}

	.ag_slider .control{
		position:absolute;
		top:80px;
		z-index: 7;
	}
	
	.ag_slider .control.right{
		right:40px;
	}

	.ag_slider .control.left{
		left:40px;
	}


	.ag_slider .control a:after{
		content:'';
		position:absolute;
		display:block;
		width:32px;
		height:32px;
		top:0;
		left:0;
		z-index:-1;
		background-color: var(--color-soft-background);
		opacity:0.8;
		border-radius:50%
	}

	.ag_slider .control a:hover:before{
		background-color:var(--color-dark);
	}

	.ag_slider .control a:hover:after{
		opacity:1;
	}




}



.main-navigation ul.sub-menu,
.full-width {
	--available-width: calc((100vw - 100%)/2 );
	margin-right:calc(-1*var(--available-width)) !important;
	margin-left:calc(-1*var(--available-width))  !important;
	padding-right:var(--available-width)  !important;
	padding-left:var(--available-width)  !important;
	max-width: min(var(--constrictor-max-width),100%);
	box-sizing: content-box;

	transition:none;

}

/*bleed to one side*/

.bleed-right,
.bleed-left{position:relative;}


.bleed-right:before,
.bleed-left:before{
	content:'';
	position:absolute;
	inset:0;
	width: calc(100vw /2);

	background-color:inherit;

}

.bleed-left:before{ left: calc(100vw /-2); }
.bleed-right:before{ right: calc(100vw /-2); }



/*default menus*/

.menu{
	--_link_display_type: inline-grid;
	--_color: inherit;
	--_color_hover: inherit;
	--_gap: var(--spacing-medium);
	--_ico_size : var(--spacing-medium);
	--_padding: 0;
	--_ico_image: none;
	--_ico_image_hover: var(--_ico_image);
	--_separator-color: rgba(255, 255, 255, 0.3);
	--_separator-style: solid;

	--_background-color: transparent;
	--_background-color_hover: rgba(0, 0, 0, 0.15);
	--_margin-bottom: var(--spacing-medium);
}


.menu.with_separators{
	--_padding: var(--spacing-small);
	--_gap: 0;
	--_link_display_type: grid;
}


.site-main-container .menu.with_separators{
	--_separator-color: var(--color-dark);
	--_separator-style: dotted;
	--_background-color_hover:var(--color-soft-background);
}

.menu.solid{
	--_padding: var(--spacing-small);
	--_gap: 0;
	--_link_display_type: grid;
	--_background-color:var(--color-soft-background);
	--_background-color_hover: var(--color-soft-background_accent);
}



.menu.without_text{
	--_ico_size: var(--spacing-xlarge);
}

.menu.shortcuts{
	--_link_display_type:grid;
	--_accent_color: var(--color-primary);
	--_background-color: var(--color-soft-background);
	--_background-color_hover: var(--_accent_color,--color-primary);
	--_contrast_color: #FFF;
	--_padding: var(--spacing-small);
	
}

.menu.shortcuts.with_separators{
	--_separator-color: color-mix(in srgb, var(--color-dark) 70%, transparent);
	--_separator-style: dotted;
}



.menu.main_menu{
	--_color: var(--color-primary);
	--_gap: 0;
	--_padding: var(--spacing-medium);

	--_background-color: transparent;
	--_background-color_hover: var(--color-soft-background);
}


.menu.main_menu_resp{
	--_color: var(--color-highcontrast-text);
	--_link_display_type: inline-block;

}

.menu.ternary_submenu,
.menu.main_submenu{
	--_color_hover: var(--color-primary);
	--_gap:var(--spacing-large);
}

.menu.entry_extras{
	--_link_display_type: grid;
	--_background-color:var(--color-soft-background);
	--_color: var(--color-primary);
	--_accent_color: var(--color-primary);
	--_color_hover: var(--color-text);
	--_gap: 0;
	--_padding: var(--spacing-medium);
	--_ico_size : var(--spacing-large);
}




.menu .ico_map{--_ico_image: var(--ico_map);}
.menu .ico_tel{--_ico_image: var(--ico_tel);}
.menu .ico_mail{--_ico_image: var(--ico_mail);}


.menu .ico_linkedin{
	--_ico_image: var(--ico_linkedin);
	--_ico_image_hover: var(--ico_linkedin2);
}
.menu .ico_twitter{
	--_ico_image: var(--ico_twitter);
	--_ico_image_hover: var(--ico_twitter2);
}
.menu .ico_youtube{
	--_ico_image: var(--ico_youtube);
	--_ico_image_hover: var(--ico_youtube2);
}
.menu .ico_facebook{
	--_ico_image: var(--ico_facebook);
	--_ico_image_hover: var(--ico_facebook2);
}


.menu .ico_directori {--_ico_image: var(--ico_directori);}
.menu .ico_revista {--_ico_image: var(--ico_revista);}
.menu .ico_treball {--_ico_image: var(--ico_treball);}
.menu .ico_ruralcat {--_ico_image: var(--ico_ruralcat);}
.menu .ico_eeec {--_ico_image: var(--ico_eeec);}

.menu .ico_share {--_ico_image: var(--ico_share)}
.menu .ico_download {--_ico_image: var(--ico_download)}


.menu {
	display:grid;
	gap: var(--_gap);
	
}

.menu > li > a {
	display: var(--_link_display_type);
	text-decoration:none;
	padding: var(--_padding);
	color:var(--_color);
}

.menu a:hover {
	/*text-decoration:underline;*/
}


.menu.centered{
	justify-content: center;
}



.menu.with_icons a{
    vertical-align: top;
	height:auto;
	grid-template-columns: auto 1fr;
	gap: var(--spacing-small);
	justify-content: start;
	justify-items: start;
	align-items: center;
	background-color: var(--_background-color)
}


.menu.with_icons a:before{
	content:'';
	display:block;
	width: var(--_ico_size);
	height: var(--_ico_size);

	transition:inherit;
}

/*background amb mask (svg) */
.menu.with_icons:not(.as_picture) a:before{
	-webkit-mask-image: var(--_ico_image);
	mask-image: var(--_ico_image);
	background-color: var(--_accent_color,var(--color-text));
}

.menu.with_icons.as_picture a:before{
	background-image: var(--_ico_image);
}

.menu.with_icons.roll a{
	position:relative;
}

.menu.with_icons.roll a:after{
	content:'';
	display:block;
	position:absolute;

	width: var(--_ico_size);
	height: var(--_ico_size);

	background-image: var(--_ico_image_hover);

	left:0;
	top:0;

	opacity:0;

}

.menu.with_icons.roll a:hover:after{
	opacity:1;
}


.menu.with_icons .talign a:before{
	align-self: flex-start;
	margin-top:0.3em;
}

.menu.entry_extras a{
	font-weight:var(--font-weight-semibold);
}

.menu.entry_extras a:hover{
	color: var(--_color_hover);
}

.menu.entry_extras a:hover:before{
	background-color: var(--_color_hover);
}




.menu.solid{
	margin-bottom:var(--_margin-bottom);
}

.menu.with_separators{
	border-top:1px var(--_separator-style,solid) var(--_separator-color);
}

.menu.with_separators > *{
	border-bottom: 1px var(--_separator-style,solid) var(--_separator-color);
}

.menu.solid a:hover,
.menu.with_separators a:hover{
	text-decoration:none;
	background-color: var(--_background-color_hover);
}


.menu.solid a{
	background-color: var(--_background-color);
}


.site-main-container .menu.with_separators .current-menu-item{
	background-color: var(--_background-color_hover);
	color: var(--color-ternary);
}


.menu.without_text a{
	text-indent: -100vw; /* Mueve el texto fuera del área visible */
    overflow: hidden;
    white-space: nowrap;
	gap:0;
}

.menu.horizontal{
	display:flex;
	flex-wrap: wrap;	
}





/*shortcuts*/

.menu.shortcuts.horizontal
{
	display:block;
}

@media screen and (min-width: 650px) {

	.menu.shortcuts.horizontal{
		--_ico_size: var(--spacing-large);
		--_gap: var(--spacing-medium);
	}

	.menu.shortcuts.horizontal
	{
		display:flex;
		color: var(--_accent_color,--_color);
		justify-content: center;		
	}

	.menu.with_icons.shortcuts.horizontal a{
		grid-template-columns: 1fr;
		justify-items: center;
		align-content: center;
		min-width: 100px;
		height: 100px;
	}

	.menu.shortcuts.horizontal.with_separators{
		border:0;
	}

	.menu.shortcuts.horizontal.with_separators > *{
		border:0;
	}
	
}


.menu.shortcuts.with_separators >*:last-child
{
	border:0;
}


.menu.with_icons.shortcuts a{
	text-decoration:none;
}

.menu.shortcuts a:hover {
	--_color: var(--_contrast_color);
	background-color: var(--_accent_color);

}



.menu.shortcuts a:hover:before{
	background-color: var(--_contrast_color, --_color);
}

.menu.shortcuts a:hover img{
	filter: brightness(0) invert(1);
}

/*main menu*/


.menu.main_menu{
	position:relative;
}

.menu.main_menu > li > a{
	display:var(--_link_display_type);
	height:var(--spacing-line_menus);
	align-items: center;
	text-transform:uppercase;
	font-weight: var(--font-weight-semibold);
	padding: 0 var(--_padding);
}


.menu.main_menu > li.current-menu-ancestor > a,
.menu.main_menu > li.current-page-ancestor > a,
.menu.main_menu > li.current-menu-item > a{
	background-color: var(--_color);
  	color: var(--color-highcontrast-text);
}

.menu.main_menu > li.focus > a,
.menu.main_menu > li > a:hover{
	background-color: var(--_background-color_hover);
	color: var(--color-text);
}


/*responsive*/
.menu.main_menu_resp{
	padding: var(--spacing-small);
}

.menu.main_menu_resp a{
	opacity:0.8;
}

.menu.main_menu_resp a:hover{
	opacity:1;
}

.menu.main_menu_resp > li > a{
	position:relative;
	text-transform:uppercase;
	padding-left:var(--spacing-xlarge);
	font-weight:var(--font-weight-semibold);
}

.menu.main_menu_resp > li.menu-item-has-children > a:before{
	content:'';
	display:block;
	position:absolute;
	left:var(--spacing-medium);
	top:0;
	width:var(--spacing-medium);
	height:var(--spacing-medium);
	mask-image: var(--ico_next);
	mask-size: 75%;

	background-color: var(--color-highcontrast-text);

	transition:all.2s ease-in-out;

}

.menu.main_menu_resp > li.slided > a:before{
	transform: rotate(90deg);
}


.menu.main_menu_resp li ul{
	display:none;
	margin-top:var(--spacing-medium);
	color: var(--_color);
}

.menu.main_menu_resp li ul > :last-child{
	margin-bottom:0;
}

.menu.main_menu_resp li li{
	position:relative;
	line-height:1.5;
	margin-bottom:var(--spacing-medium);
	padding-left:var(--spacing-xlarge);
}

.menu.main_menu_resp li li a{
	text-transform:none;
	color: inherit;
	text-decoration:none;
}

.menu.main_menu_resp li li a:before{
	content:'';
	display:inline-block;
	width:8px;
	height:8px;
	background-color: var(--color-highcontrast-text);
	border-radius:50%;
	margin-right: var(--spacing-small);
}

.menu.main_menu_resp li li a:after{
	content:'';
	display:block;
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	width: var(--spacing-small);

}


.menu.main_menu_resp li li a:hover:after{
	background-color:var(--color-highcontrast-text);
}



.menu.main_submenu a {
	font-weight: var(--font-weight-semibold);
	height:var(--spacing-line_menus);
	align-items: center;
	border-bottom:2px solid transparent;
}


.menu.main_submenu a:hover{
	color: var(--_color_hover);
}

.menu.main_submenu .current-page-ancestor a,
.menu.main_submenu .current-menu-item a{
	color: var(--_color_hover);
	border-bottom-color:  var(--_color_hover);
}



.menu.ternary_submenu li.menu_title,
.menu.ternary_submenu a {
	height:var(--spacing-line_menus);
	align-items: center;
	border-bottom:2px solid transparent;
}


.menu.ternary_submenu a:hover{
	color: var(--_color_hover);
}

.menu li.menu_title{
	display: var(--_link_display_type);
	margin-right:calc(-1*var(--_gap));
	max-width:0;
	overflow:hidden;
	transition: all 0.4s;

	font-weight:var(--font-weight-semibold);
	color: var(--_color_hover);
}

.menu.ternary_submenu li.menu_title{
	border-bottom-color: var(--_color_hover);
}

.is_sticky .menu li.menu_title{
	margin-right:0;
	max-width: 100px;
}




/*upper menu*/


.upper-menu{
	--_ico_size: 18px;
	--_accent_color: var(--color-highcontrast-text);

	font-size: var(--font-default-size90);

	height:var(--spacing-line_menus);
	background-color:var(--color-highcontrast);
	color:var(--color-highcontrast-text);
	text-transform:uppercase;
}



.upper-menu ul{
	display: flex;
	grid-auto-flow: column;
	grid-auto-columns: auto;
	grid-template-columns: 1fr;
	align-items: center;
	gap:var(--spacing-x4);
	height:100%;

	list-style:none;
	margin:0;
	padding:0;
}

.upper-menu ul li{
	margin:0;
	padding:0;
}

.upper-menu ul li:last-child{
	margin-left: auto;
}

.upper-menu a{
	color:inherit;
	text-decoration: none;
}


.upper-menu a{
	/*display:flex;*/

}

.upper-menu li>span,
.upper-menu li>a{
	display:grid;
	height:auto;
	grid-template-columns: auto 1fr;
	gap: var(--spacing-small);
	justify-content: start;
	justify-items: start;
	align-items: center;
	
}



.upper-menu li>span a{
	text-decoration:underline;
}

.upper-menu li>span a:hover{
	text-decoration:none;
}

.upper-menu .ico_user{
	--_ico_image: var(--ico_user);
}

.upper-menu a.ico_contacte{
	--_ico_image: var(--ico_contacte);
}

.upper-menu a.ico_idioma{
	--_ico_image: var(--ico_idioma);
}

.upper-menu a.ico_close {
    --_ico_image: var(--ico_close);
}




.upper-menu li>span:before,
.upper-menu li>a:before{
	content:'';
	display:block;
	width: var(--_ico_size);
	height: var(--_ico_size);

	transition:inherit;

	-webkit-mask-image: var(--_ico_image);
	mask-image: var(--_ico_image);
	background-color: var(--_accent_color,var(--color-text));
}

.upper-menu a:hover{
	opacity:0.8;
}

.upper-menu .logged{
	text-transform:none;
}




/*banners*/
.banner_list{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--spacing-medium);
}

.banner_list > *{
	flex: 1 0 var(--banners_min-width);
	display: flex;
  	justify-content: center;
}

.banner_list a{
	display: flex;
  	align-items: center;

	width:100%;
	max-width:var(--banners_width);

	justify-content: center;
}

.banner_list a:not(.btn):hover{
	filter: drop-shadow(0px 0px 7px rgba(0,0,0,0.2));
}

.banner_list a.btn{
	border:1px dashed var(--color-secondary);
	border-radius: 5px;
	color: var(--color-secondary);
	padding: var(--spacing-small);

	text-decoration:none;

}

.banner_list a.btn:hover{
	background-color: var(--color-secondary);
	color: var(--color-highcontrast-text);
	border-style: solid;
}





/* ----- FITXA SUBJECT ----*/
.fitxa_subject {
	display:flex;
	gap: var(--spacing-medium);
	--_color-border: color-mix(in srgb, var(--color-ternary) 50%, transparent);
}

.fitxa_subject  .image_container {
	min-width: min(400px, 30vw);
	--_img_proportion: 100%;
	margin-bottom: var(--spacing-medium);
}

.fitxa_subject div h3 {
    color: var(--color-primary);
    text-transform: uppercase;
    font-size: var(--font-default-size2);
    font-weight: var(--font-weight-semibold);
    margin-bottom: var(--spacing-small);
}


.fitxa_subject .items_list{
	margin-top:0;
}


.fitxa_subject .items_list li:last-child{
	border-bottom:0;
}

.fitxa_subject .items_list li.info{
	color: var(--color-ternary);
}

@media screen and (max-width:425px) {
	.fitxa_subject{
		display:grid;
	}
}




/* ---- GRID SUBJECT ---- */
.grid_subject{
	--_container_padding:0;
	--_content_box_padding: var(--spacing-medium);
	--_background-color: var(--color-soft-background);
	--_text-color: var(--color-lighter-text);
	--_text-size: var(--font-default-size);
	--_title_color: var(--color-secondary);
	--_title_font-size: var(--font-sectiontitle-size);
	--_accent_color: var(--color-primary);

	--_max_columns: 2;

	--_min-width: min(100%, calc(var(--constrictor-max-width)/(1 + var(--_max_columns))));
	--_max-width: 1fr;
	--_gap: var(--spacing-medium);
	--_img-width: 130px;
	--_img_proportion: 0;
}

.grid_subject >*:hover{
	--_background-color: var(--color-soft-background_accent);	
}


.grid_subject{
	display:grid;
	overflow:hidden;
	margin-bottom: var(--spacing-xlarge);

	grid-template-columns: repeat(auto-fill, minmax(var(--_min-width), var(--_max-width)));

    gap: var(--_gap);
}


.grid_subject > *
{
	background-color: var(--_background-color);
	color: var(--_text-color);
	font-size: var(--_text_font-size);
}

.grid_subject a{
	display:flex;
	align-items: stretch;
	text-decoration:none;
	color:inherit;
}

.grid_subject .content{
	padding: var(--_content_box_padding);
}

.grid_subject header{
	padding-bottom: var(--spacing-small);
	border-bottom:1px solid color-mix(in srgb, var(--_text-color) 50%, transparent);
	margin-bottom: var(--spacing-small);

}

.grid_subject header .item_title{
	font-size: var(--_title_font-size);
	color: var(--_title_color);
	margin-bottom:0;

}

.grid_subject header .item_type{
	color: var(--_accent_color);
	font-style:italic;
}


.grid_subject .image_container{
	width: var(--_img-width);
	height:auto;
}

.grid_subject ul{
	line-height:1.7;
	margin-bottom: var(--spacing-medium);
}


/*** BTN LINK ***/

.btn_link{
	--_border-size: 2px;
	--_padding: calc( var(--spacing-small) - var(--_border-size)) var(--spacing-medium);
	--_color: var(--color-primary);
}

.btn_link{	
	display:inline-block;
	padding: var(--_padding);

	border: var(--_border-size) solid var(--_color);
	color: var(--_color);

}


a:hover .btn_link.subrogate,
.btn_link:hover{
	background-color: var(--_color);
	color: var(--color-highcontrast-text);
}







/*---- GRID POSTS ---*/

.grid_posts{
	--_box_gap: var(--spacing-medium);
	--_box_rowgap: var(--spacing-xxxlarge);
	--_accent_color: var(--color-secondary);
	--_max_columns: 4;

	--_min-width: calc(var(--constrictor-max-width)/var(--_max_columns) - (var(--_box_gap)*(var(--_max_columns) - 1)));
	--_max-width: 1fr;


}

.grid_posts.accent2{
	--_accent_color: var(--color-primary);
}


.grid_posts{
	display:grid;
    grid-template-columns: repeat(auto-fill, minmax(var(--_min-width), var(--_max-width)));

    gap: var(--_box_gap);
    row-gap: var(--_box_rowgap);

	margin: var(--margins-block);

}

.grid_posts:first-child{
	margin-top:0;}


.grid_posts a{

	text-decoration:none;
	color:inherit;

}

.grid_posts header{	
	font-weight: var(--font-weight-semibold);
	font-size: var(--font-default-size2);
	margin-bottom: var(--spacing-small);
}

.grid_posts header:before{
	content:'';
	display:block;	
	width: var(--spacing-xxlarge);
	height: var(--spacing-xsmall);
	border-top: var(--spacing-xsmall) solid var(--_accent_color); 

	transition: all 0.4s ease;
	margin-bottom: var(--spacing-small);
}

.grid_posts header:after{
	content:'';
	display:block;
	width: var(--spacing-xxlarge);
	border-top:1px dotted var(--color-dark);
	opacity:0.5;
}

.grid_posts a:hover header:before{
	width:100%;
	border-top-width: var(--spacing-xsmall);
}


.grid_posts.accent2 a:hover header{
	color: var(--_accent_color);
}

.grid_posts.accent2  header:before{
	width: 100%;
	border-top-width: 1px;
}


/*------ GRID ENTRY -----*/

.grid_entry{
	--_box_padding: 0;
	--_box_gap: var(--spacing-medium);
	--_background-color: transparent;
	--_background-hover-color: var(--color-soft-background);
	--_text-color: var(--color-text);
	--_text-hover-color: var(--color-ternary);

	--_accent_color: var(--color-secondary);
	--_title_font-size: var(--font-default-size2);
	--_text_font-size: var(--font-default-size2);

	--_max_columns: 4;
	--_img_proportion: calc(100%/4*2);

	--_min-width: calc(var(--constrictor-max-width)/var(--_max_columns) - (var(--_box_gap)*(var(--_max_columns) - 1)));
	--_max-width: 1fr;

	--_ico_rollover: var(--ico_plus);
	--_rollover_opacity: 0.7
}


.grid_entry.focused2{
	--_background-color: var(--color-soft-background);
	--_accent_color: var(--color-text);
	--_img_proportion: 100%;
	--_ico_rollover: var(--ico_plus2);
	--_rollover_opacity: 0.3;

}

.grid_entry.arrow{
	--_accent_color: var(--color-secondary);
	--_img_proportion: 100%;
	--_ico_rollover: var(--ico_next);
	--_rollover_opacity: 0.25;
	--_min-width: 200px;
	--_title_font-size: var(--font-default-size);
	--_text-hover-color: inherit;

}

.grid_entry.simple{
	--_box_padding: var(--spacing-small);
	--_background-color: var(--color-soft-background);
	--_background-hover-color:var(--color-soft-background_accent);
	--_rollover_opacity: 1;

	--_accent_color: var(--color-primary);
	

	--_title_font-size: var(--font-sectiontitle-size);
	--_text_font-size: var(--font-default-size);

	--_img_proportion: 100%;
	/*--_img_proportion: calc(100%/4*3);*/

}

.grid_entry.simple.big{
	--_accent_color: var(--color-ternary);	
}

.grid_entry.basic{
	--_box_padding: var(--spacing-medium);
	--_background-color: var(--color-soft-background);
	--_accent_color: var(--color-primary);
	--_title_font-size: var(--font-sectiontitle-size);
	--_text_font-size: var(--font-default-size);
}

.grid_entry.col3{
	--_max_columns: 3;
}

.grid_entry.ul_parent ul,
.grid_entry:not(.ul_parent){
	display:grid;
    grid-template-columns: repeat(auto-fill, minmax(var(--_min-width), var(--_max-width)));
    /*grid-template-columns: repeat(4, 1fr);*/
	/*grid-template-columns: repeat(auto-fit, minmax(var(--_min-width), calc(25% - 15px)));*/
    gap: var(--_box_gap);

	margin: var(--margins-block);

}

.grid_entry.ul_parent ul{
	list-style:none;
	margin:0;
	padding:0;
}

.grid_entry.ul_parent ul > li{
	margin:0;
}








.grid_entry:first-child{
	margin-top:0;
}

.grid_entry a{


	display:grid;
	grid-template-rows: auto auto 1fr;
	gap: var(--spacing-small);
	height:100%;
	

	padding:var(--_box_padding);

	text-decoration:none;
	color:inherit;
	font-size: var(--_text_font-size);


}

.grid_entry.focused2 a{
	gap:0;
	grid-template-columns: 150px 1fr;
	grid-template-rows: auto 1fr;
}

.grid_entry.focused2 .post_title{
	grid-column: 1 / span 2;
}


/*
.grid_entry a:not(:has(img)):before{
	content:'';
	display:block;
	padding-top: var(--_img_proportion);
	background-image: var(--img_fallback);
	background-size: cover;
	background-position: center center;

}*/

.image_container{
	position:relative;
	padding-top:var(--_img_proportion,150%);
	overflow:hidden;
}

.image_container img{
	position:absolute;

    width: 100%;
    height: 100%;	/*auto*/
    object-fit: cover;

	/*
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);*/

	top:0;
	left:0;



}

.image_container.no_image{
	background-image: var(--img_fallback);
	background-size: cover;
	background-position: center center;	
}








.grid_entry a .image_container:before{
	content:'';
	display:block;
	position:absolute;
	z-index:1;

	width:50px;
	height:50px;

	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);

	-webkit-mask-image: var(--_ico_rollover);
	mask-image: var(--_ico_rollover);
	background-color: var(--color-dark);

	

	opacity:0;
}


.grid_entry a:hover .image_container:before{
	opacity:1;
}









.grid_entry a:hover img{
	opacity:var(--_rollover_opacity);
}

.grid_entry .category,
.grid_entry .place_time .place{
	color:var(--_accent_color);
}

.grid_entry .category,
.grid_entry .place_time.inline{
	font-size: 80%;
	text-transform:uppercase;
	line-height:1.3em;
} 

.grid_entry .place_time:not(.inline) time{
	display:inline-block;
	font-size: 80%;
	line-height:1.3em;
}



.grid_entry .place_time.inline span+time{
	margin-left:var(--spacing-small);
	padding-left:var(--spacing-small);
	border-left:1px solid #000;
}



.grid_entry .post_title{
	font-size: var(--_title_font-size);
}

.grid_entry a:hover .post_title{
	color: var(--_text-hover-color);
}


.grid_entry .content{
	position:relative;
}

.grid_entry .content *:last-child {
    margin-bottom: 0;
}


.grid_entry a .content:before{
	content:'';
	display:block;
	position:absolute;
	top:0;
	bottom:0;
	left: calc(-1*var(--_box_padding));
	width:0;
	
	transition: all 0.4s ease;
	background-color: var(--_accent_color);
}

.grid_entry a:hover .content:before{
	width:calc(var(--_box_padding)/2);
}



.grid_entry.focused2 .place_time{
	text-transform:none;
	padding: var(--spacing-small);
	background-color: var(--_background-color);


}

.grid_entry.focused2 .place_time .place{
	display:block;
	font-weight: var(--font-weight-semibold);
	font-size: var(--font-default-size);
	margin-bottom: var(--spacing-xsmall);

}

.grid_entry.focused2 .post_title{
	padding-top: var(--spacing-small);
}




.grid_entry.arrow .image_container{
	border-bottom:var(--spacing-small) solid var(--_accent_color);
}

.grid_entry.arrow a:hover .image_container{
	border-bottom-color: var(--color-dark);
}

.grid_entry.arrow a .image_container:before{
	content:'';
	left:auto;
	right:var(--spacing-medium);
	transform: translate(0,-50%);
	mask-position: center right;

	transition: all 0.4s;
}

.grid_entry.arrow a:hover .image_container:before{
	right:0;
	opacity:1;
}


.grid_entry.arrow a:hover img{
	opacity:0.25;
}


/*simple*/

.grid_entry.simple a .image_container:before {
	content:none;
}



.grid_entry.simple  a{
	grid-template-rows: 1fr;
	background-color: var(--_background-color);
}

.grid_entry.simple  a:hover{
	background-color: var(--_background-hover-color);
}

.grid_entry.simple a .post_title{
	color: var(--_accent_color);
}

.grid_entry.simple.big  a{
	gap: var(--_box_gap);
}

.grid_entry.simple.big  a .post_title{
	text-align:center;
	font-weight:var(--font-weight-semibold);
	text-decoration:underline transparent;
}


.grid_entry.simple.big  a:hover .post_title{
	text-decoration:underline;
}


.grid_entry.basic li {
	background-color: var(--_background-color);
	padding:var(--_box_padding);
}

.grid_entry.basic strong {
	display:block;
	color: var(--_accent_color);
	font-size: var(--_title_font-size);
	font-weight:normal;
}



/* ---- MAGAZINES ----- */

.grid_magazines{
	--_box_padding: var(--spacing-xlarge) 0 var(--spacing-xxlarge);
	--_box_gap: var(--spacing-xxlarge);
	--_background-color: var(--color-soft-background);
	--_background-hover-color: var(--color-soft-background);
	--_text-color: var(--color-text);
	--_text-hover-color: var(--color-text);

	--_accent_color: var(--color-primary);
	--_title_font-size: var(--font-default-size2);
	--_text_font-size: var(--font-default-size);

	--_max_columns: 2;

	--_min-width: min(100%, calc(var(--constrictor-max-width)/(1 + var(--_max_columns))));
	--_max-width: 1fr;

	--_img_width: 140px;

	--_ico_rollover: var(--ico_external2);

}

.grid_magazines .download,
.grid_magazines.download
{
	--_ico_rollover: var(--ico_download3);	
}



.grid_magazines{	
	display:grid;
	overflow:hidden;

	font-size: var(--_text_font-size);

    grid-template-columns: repeat(auto-fill, minmax(var(--_min-width), var(--_max-width)));

    gap: var(--_box_gap);
	row-gap: 0;

	margin: var(--margins-block);
	border-top:1px solid  var(--color-soft-background_accent);



}

.grid_magazines > * {
	display:grid;
	position:relative;
	gap: var(--spacing-medium);
	grid-template-columns: auto 1fr;
	padding: var(--_box_padding);
}




.grid_magazines > *:after{
	content:'';
	display:block;
	position:absolute;
	bottom:0;
	width:100vw;
	border-top:1px solid  var(--color-soft-background_accent);

}

.grid_magazines .image_container{
	width: var(--_img_width);
	position: relative;
    overflow: hidden;
}

.grid_magazines header:before{
	content:'';
	display:block;	
	width: var(--spacing-xxlarge);
	height: var(--spacing-xsmall);
	border-top: var(--spacing-xsmall) solid var(--_accent_color); 

	margin-bottom: var(--spacing-small);
}

.grid_magazines header{
	font-size: var(--_title_font-size);
}


.grid_magazines header time{
	display:inline-block;
	margin-bottom:var(--spacing-small);
}
.grid_magazines header h2{
	color: var(--_accent_color);
}

.grid_magazines header :last-child{
	margin-bottom:0;
}

.grid_magazines .content{
	display:flex;
	flex-direction: column;
	gap:var(--spacing-medium);
}


.grid_magazines a{
	text-decoration: none;
	color:var(--_accent_color);
}


.grid_magazines .entry_links a{
	display:inline-flex;
	gap:var(--spacing-small);
	align-items: center;
}

.grid_magazines .entry_links a:before{
	content:'';
	display:inline-block;
	mask-image: var(--_ico_rollover);
	background-color: var(--_accent_color);
	width:15px;
	height:15px;

}

.grid_magazines .entry_links a:hover{
	--_accent_color: var(--color-text);
}


.grid_magazines a:hover .image_container img{
	opacity:0.3;
}


.grid_magazines a .image_container:before{
	content:'';
	display:block;
	position:absolute;
	z-index:1;

	width:30px;
	height:30px;

	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);

	-webkit-mask-image: var(--_ico_rollover);
	mask-image: var(--_ico_rollover);
	background-color: var(--color-dark);

	opacity:0;
}


.grid_magazines a:hover .image_container:before{
	opacity:1;
}







/*----------- LLISTATS ---------------*/
/*llista de items, ul, ol  i dl*/
.items_list{
	--_li_padding: var(--spacing-small);
	--_li_margin: var(--spacing-small);
	--_background-color: var(--color-soft-background);
	--_background-color_hover: var(--color-soft-background_accent);

	--_ico_size: 20px;
	--_arrow_size: 15px;
	--_ico_image: var(--ico_download);
	--_accent_color: var(--color-text);
	--_hover-color: inherit;
	--_text-color: inherit;
}

/*vars variants*/

.items_list.dotted{
	--_background-color:transparent;
	--_li_margin:0;
}


.items_list.with_links{
	--_li_margin: var(--spacing-medium);
}

.items_list.with_links.clean{

	--_ico_size:16px;
	--_li_background-color: transparent;
	--_ico_image: var(--ico_download2);
	--_li_margin: var(--spacing-medium);
	--_hover-color: var(--color-primary);
}

.items_list.with_links.with_accent{
	--_accent_color: var(--color-primary);
}

.items_list.search_results{
	--_accent_color: var(--color-primary);	
	--_li_background-color: transparent;
	--_hover-color: var(--color-text);
	--_color-border: var(--color-soft-background_accent);
	--_li_padding: var(--spacing-medium);
}

.items_list.with_links .external,
.items_list.with_links.external{
	--_ico_image: var(--ico_external);
}




.items_list.with_links.clean{
	--_background-color:transparent;
	--_background-color_hover:transparent;
}


.items_list.tabular{
	--_accent_color: var(--color-primary);
	--_background-color:transparent;
	--_background-color_hover: var(--color-soft-background);
	--_li_margin:0;
	--_hover-color: var(--color-dark);
	--_text-color: var(--_accent_color);
}

.items_list.inline{
	--_accent_color: var(--color-secondary);
	--_background-color:transparent;
	--_background-color_hover: transparent;

}

.items_list .category{
	color:var(--_accent_color);
	font-size: var(--font-smaller-size);
	text-transform:uppercase;
	line-height:1.3em;
}




/*valors per defecte*/
.items_list ul,
ul.items_list{
	font-size:var(--font-default-size);
	list-style:none;

	color: var(--_text-color);

	margin: var(--margins-block);
	padding:0;

}

.items_list h3+ul{
	margin-top:0;
}

.items_list ul > *,
ul.items_list > *{
	display:block;
	background-color:var(--_background-color);
	padding: var(--_li_padding);
	margin-bottom:var(--_li_margin);

}

/*dotted*/
.items_list.dotted{border-top:1px dotted var(--_color-border,var(--color-text));}


.items_list.dotted li{
	padding-right:0;
	padding-left:0;
	border-bottom:1px dotted var(--_color-border,var(--color-text));
}


/* definition list */

.site-main .items_list h3,
.items_list dt{
	color:var(--color-primary);
	background-color:transparent;
	text-transform:uppercase;
	font-weight:var(--font-weight-semibold);
	font-size: var(--font-default-size);
	margin-bottom:1rem;
	margin-top:var(--spacing-large);
	padding:0;
}

.items_list h3,
.items_list dt:first-child{
	margin-top:0;
}





/*list amb links*/
.items_list.with_links ul > *:has(a),
ul.items_list.with_links > *:has(a){
	padding:0;
}

/*
.items_list.with_links > *:not(:has(a)):not(dt) {
	padding: var(--_li_padding);
}*/

.items_list.with_links ul a,
ul.items_list.with_links a{
	display:block;
	position:relative;
	color:inherit;
	text-decoration:none;
	padding: var(--_li_padding);
	
	overflow: hidden;
    text-overflow: ellipsis;

}

.items_list.with_links ul a:hover,
ul.items_list.with_links a:hover{
	color:var(--_hover-color);
	background-color:var(--_background-color_hover);

}

.items_list.with_links.with_icon ul a,
ul.items_list.with_links.with_icon a{
	padding-left: calc(var(--_li_padding)*2 + var(--_ico_size));
}




.items_list.with_links.with_icon ul a:before,
ul.items_list.with_links.with_icon a:before{
	content:'';
	display:block;
	position:absolute;
	left: var(--_li_padding);

	width: var(--_ico_size);
	height: var(--_ico_size);

	-webkit-mask-image: var(--_ico_image);
	mask-image: var(--_ico_image);

	background-color: var(--_accent_color,var(--color-text));

}


/*amb accent*/
.items_list.search_results strong,
.items_list.with_links.with_accent ul strong,
ul.items_list.with_links.with_accent strong{
	display:block;
	color:var(--_accent_color);
	font-weight:bold;
}

/*search result*/

.items_list.search_results li {
	border-style: solid;
}

.items_list.search_results a{
	text-decoration: none;
}

.items_list.search_results a:hover strong{
	color: var(--_color_hover);
}

.items_list.search_results .type{
	text-transform: uppercase;
}

.items_list.search_results .type{
	font-size:var(--font-default-size90);
}





/*clean, sense fons*/
.items_list.with_links.clean ul a,
ul.items_list.with_links.clean a{
	padding-left: calc(var(--_ico_size) + var(--_li_padding));
	padding-top: 0;
	padding-bottom:0;
}

.items_list.with_links.clean ul a:before,
ul.items_list.with_links.clean a:before{
	left:0;
	top:0.2em;
}

/*with arrow*/

.items_list.with_arrow ul a,
ul.items_list.with_arrow a{
	padding-right: calc(var(--_li_padding)*2 + var(--_arrow_size));

}

.items_list.with_arrow ul a:after,
ul.items_list.with_arrow a:after{
	content:'';
	display:block;
	position:absolute;
	right: var(--_li_padding);
	top: 50%;
	transform: translate(0, -50%);

	transition: all 0.4s;

	width: 15px;
	height: 15px;

	-webkit-mask-image: var(--ico_next);
	mask-image: var(--ico_next);

	background-color: var(--_accent_color,var(--color-text));

}

.items_list.with_arrow ul a:hover:after,
ul.items_list.with_arrow a:hover:after{
	background-color:var(--color-text);
}

/*tabular*/

.items_list.tabular ul a,
ul.items_list.tabular a{
	border-bottom: 1px solid var(--color-soft-background_accent);
	padding-top: var(--spacing-medium);
	padding-bottom: var(--spacing-medium);
}


.items_list.tabular ul a time,
ul.items_list.tabular a time{
	color: var(--color-text);
}

.items_list.tabular ul a time:after,
ul.items_list.tabular a time:after{
	content: ' — ';
	color:inherit;
}



/*inline*/
ul.items_list.inline a{
	display:inline-block;
	padding-top: 0;
	padding-bottom:0;

	border-left: 5px solid var(--_accent_color);
	text-transform:uppercase;
}

.items_list.inline a:hover{
	border-color: var(--color-dark);
}

.items_list.inline a:after{
	opacity:0;
	background-color: var(--color-dark);
	margin-right:var(--spacing-small);
}

.items_list.inline a:hover:after{
	opacity:1;
	margin-right:0;
}


.container.boxed{
	padding: var(--spacing-medium);
	background-color: var(--color-soft-background);
}


.grid_list_group {
	margin-bottom:var(--spacing-xxxlarge);
}

.grid_list_group:last-child,
.grid_list_group > :last-child{
	margin-bottom:0;
}




.stick{
	position: -webkit-sticky;
    position: sticky;
	top:-1px;
}



/*caixa contacte*/
.box_contact {
	display:flex;
	gap: var(--spacing-medium);
}

.box_contact .info{
	width:100%;
}

.box_contact .info ul{
	list-style:none;
	padding:0;
}


.box_contact .photo .image_container{
	--_img_proportion: 100%;
	width: 295px;
	height:100%;
}

.box_contact h3{
	font-weight:bold;
}

@media screen and (max-width:999px) {
	.box_contact {
		display:grid;
	}

	.box_contact .photo{
		display:none;
	}

	.box_contact .situation .acf-map {
		width: 100%;
		height: 250px;
	}
	
}



/*box_links*/

.box_links h3{
	background-color: var(--color-soft-background);
	font-weight:var(--font-weight-semibold);
	font-size:var(--font-default-size2);
	color:var(--color-primary);
	margin-bottom:0;
	padding: var(--spacing-small);
}


.box_links ul.items_list{
	margin-top:0;
	--_accent_color: var(--color-text);	
}

.box_links ul.items_list > li{
	margin-bottom:0;
}



/*site header*/







.site-header{
	display: flex;
	flex-wrap: wrap;
	gap: var(--spacing-xlarge);
	align-items: center;

	margin-top:var(--spacing-xlarge);
	z-index:9;
	/* sticky start */
    top: -111px;

}

.site-header.is_sticky{
	background-color:#FFF;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.site-header > *:nth-child(2) {
	margin-left:auto;
}
 
.site-header > *:nth-child(3) {
flex-grow: 1; /* La columna ocupa todo el espacio disponible en la fila */
}



.site-header .site-branding a{
	display:flex;
	gap: var(--spacing-xlarge);
	align-items: center;
	align-self: flex-start;
}

.site-header .site-branding > * {margin:0;}

.site-header .site-branding a:hover{
	opacity:0.7;
}

.site-header .site-branding .site-title img{
	height: 34px;
}

.site-header .site-branding .site-title{
	position:relative;
}

.site-header .site-branding .site-title:before{
	content:'';
	display:block;
	position:absolute;

	left: calc( var(--spacing-xlarge)/-2 );

    top: 50%;
    transform: translate(0, -50%);

	height: var(--spacing-xxxlarge);
	border-left:1px solid var(--color-ternary);

}

#masthead-mobile{
z-index: 99999;
}

.site-header-mobile{
	padding: var(--spacing-medium) 0;
	display:flex;
	align-items: center;
	justify-content: center;
}

#masthead-mobile.is_sticky{
	background-color: var(--color-highcontrast-text);
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);

}

#masthead-mobile.is_sticky .site-header-mobile{
	/*padding: var(--spacing-tiny) 0;*/
}


.site-header-mobile .custom-logo{
	height:var(--spacing-xxlarge);
}

.site-header-mobile .site-branding{
	flex:1;
	text-align:center;
}

.site-header-mobile .ico{
	display:grid;
    text-indent: -100vw;
    overflow: hidden;
    white-space: nowrap;
	height:var(--spacing-medium);
}


.site-header-mobile .ico:before{
	content:'';
	display:block;
	width:24px;
	height:24px;
	background-color:#000;
}


.site-header-mobile .ico_menu:before{
	mask-image: var(--ico_menu);
}

.site-header-mobile .ico_search:before{
	mask-image: var(--ico_search);
}



.site-subheader{
	background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0)); /* Gradiente lineal de negro a transparente */
	background-size: 100% var(--spacing-line_menus); /* Tamaño del gradiente: 100% del ancho y 50px de altura */
	background-repeat: no-repeat; /* No repetir el gradiente */

	padding-bottom:var(--spacing-line_menus);
}

.page-anchors .menu,
.site-subheader .menu_container{
	border-bottom:1px dotted var(--color-ternary);
	border-bottom-color: color-mix(in srgb, var(--color-ternary) 50%, transparent);
}




/*search*/
.site-search .search-form{
	display:flex;
	border:1px solid var(--color-dark);
	border-color: color-mix(in srgb, var(--color-dark) 50%, transparent);
	border-radius: 100px;
	overflow:hidden;
	padding: 5px 10px;
	max-width:max(500px,50%);
	margin:0 auto;
}

.site-search .search-form label{
	width:100%;
}

.site-search .search-form .search-field{
	border:0;
	background-color:transparent;
	outline:0;
	color: var(--color-dark);
	min-width: min(250px, calc(100vw / 5));
	width:100%;


}

.site-search .search-form  input[type="submit"] {
    border: none; 
    background-color: transparent;
	color:transparent;
    padding: 0; 
    cursor: pointer; 
    background-image: var(--ico_search);
    background-repeat: no-repeat;
    background-size: contain;
    width: 24px;
    height: 24px;
	opacity:0.5;
}


.site-search .search-form  input[type="submit"]:hover{
	opacity:1;
}





.footer_shortcuts{
	padding-top:var(--spacing-medium);
	padding-bottom:var(--spacing-medium);

	border-top:1px solid var(--color-soft-background);

}

.footer_promos{
	background-color: var(--color-soft-background);
	padding-top:var(--spacing-large);
	padding-bottom:var(--spacing-large);
}


.site-footer .site-branding{
	font-size: var(--font-default-size2);
	font-weight: bold;
}

.site-footer .site-branding img{
	margin-bottom:25px;

}





.site-footer{

	background-color:var(--color-highcontrast);
	color:var(--color-highcontrast-text);

	display: grid;
	grid-template-columns: repeat(4, 1fr);
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));

}

.site-footer a{
	color: inherit;
}

.site-footer > *{
	padding: var(--spacing-xxlarge) var(--spacing-large); 
}

.site-footer > *:first-child{
	padding-left: var(--spacing-medium);
	background-color: rgba(0, 0, 0, 0.35);
}

.site-footer > *:last-child{
	padding-right: var(--spacing-medium);
}


.site-footer > *:nth-child(2) {
	background-color: rgba(0, 0, 0, 0.1);
}

.site-footer .with_icons:not(.as_picture) a:before{
	background-color:var(--color-highcontrast-text);
}




/*featured image columns*/

.with_featured_image{
	gap: min(15%,var(--spacing-giant));
}

@media screen and (max-width:768px) {

	.wp-block-columns.with_featured_image {
		display: grid;
		gap: var(--spacing-large);
	}

	.with_featured_image.image_at_right>*:nth-child(1) {
		order: 2;
	}

	.with_featured_image.image_at_right>*:nth-child(2) {
		order: 1;
	}
	
}



.signature_block figure+p{
	margin-top: -2em;
}







/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation {
	position:relative;
	display: block;
	width: 100%;


	border-top:1px dotted var(--color-ternary);
	border-top-color: color-mix(in srgb, var(--color-ternary) 50%, transparent);
	
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	/*box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);*/
	background-color: var(--color-soft-background);
	width:100%;

	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	/*width: 200px;*/
}


.main-navigation ul li.focus > ul {
	left: 0;
}

.main-navigation li {
	/*position: relative;*/
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}



.main-navigation ul.sub-menu {
	--_gap: var(--spacing-small);
	display: flex;
	flex-wrap: wrap;
	gap: var(--_gap);
	row-gap: var(--spacing-xlarge);

	box-shadow: 0 6px 8px rgba(0, 0, 0, 0.3);
	padding: var(--spacing-medium) 0;
	opacity:0;
	transition: opacity 0.4s ease;
}

.main-navigation .focus .sub-menu {
	opacity:1;
}


.main-navigation .sub-menu li{
	flex:1 1;
	
}


.main-navigation .sub-menu a{
	display:flex;
	height:100%;
	padding: var(--spacing-small);
	gap: var(--spacing-medium);
	color:var(--color-text);
}

.main-navigation .sub-menu .has_img.not_has_description a{
	flex-direction: column;
	gap: var(--spacing-small);
	text-align:center;
	color: var(--color-ternary);
}




.main-navigation .sub-menu li a:hover{
	background-color:var(--color-highcontrast-text);
}

.main-navigation .sub-menu a:hover strong{
	text-decoration:underline;
}






.main-navigation .sub-menu a .img{
	position:relative;
	width:117px;
	height:94px;

	overflow:hidden;
	flex-shrink: 0;

}

.main-navigation .sub-menu .not_has_description a .img{
	width:100%;
	height:auto;
	padding-bottom: 75%;
}


.main-navigation .sub-menu a .img img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}



.main-navigation .sub-menu a strong{
	display:block;
	font-size: var(--font-default-size2);

}




.main-navigation  .nimages_1 .has_img{flex-basis:100%;}
.main-navigation  .nimages_2 .has_img{flex-basis: calc(50% - var(--_gap));}
.main-navigation  .nimages_3 .has_img{flex-basis: calc(100% / 3 - var(--_gap));}
.main-navigation  .nimages_4 .has_img{flex-basis: calc(25% - var(--_gap));}


.main-navigation .no_img {position:relative;}
.main-navigation .no_img:after{
	content:'';
	display:block;
	position:absolute;
	right: calc( var(--_gap) / -2);
	top:0;
	bottom:0;
	border-right:1px dotted var(--color-dark);
	opacity:0.2;
}

.main-navigation .no_img:last-child:after{
	content:none;
}

.main-navigation .no_img a{
	padding: var(--spacing-small) var(--spacing-medium);
}



/**/




@media screen and (min-width: 37.5em) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
	}
}

.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */

/*pagina*/

.main_entry_content{
	font-size: var(--font-default-size);
	margin-bottom: var(--spacing-xxlarge);
}

.main_entry_content.corporate {
	font-size: var(--font-default-size2);	
}


.h1,
.main_entry_content h1{
	font-size: var(--font-title-size);
  	color: var(--color-primary);
	margin-bottom:1.5rem;

	margin-top: calc( (var(--font-title-size) * 1.2 - var(--font-title-size)) /-2 );
}


.h1_b,
.c_content h1{
	color: var(--color-titles);
	font-weight: var(--font-weight-semibold);
}


.main_entry_content h2:first-child{
	margin-bottom:2.6rem;
}

.h2,
h2.h_default,
.main_entry_content h2 {
	font-weight:bold;
	font-size: var(--font-subtitle-size);
	color: var(--color-titles);
	margin-bottom:var(--spacing-large);

	text-wrap: balance;
}


.main_entry_content.esdeveniment h2,
.main_entry_content.noticia h2{
	font-weight: normal;
	font-size: var(--font-subtitle-size);
}



/*.pagina h2:not(:first-child){*/




.main_entry_content h2.soft,
h2.soft{
	--_hspacing-top: var(--spacing-xxlarge);
	font-weight:normal;
	margin-bottom: var(--spacing-large);
}

.main_entry_content h2:not(:first-child):not(header + h2) {
	margin-top: var(--_hspacing-top, --spacing-large);

}

.main_entry_content h3 {
	font-weight:var(--font-weight-semibold);
	font-size: var(--font-subtitle-size);
	color: var(--color-primary);
	margin-bottom: 1rem;

	text-wrap: balance;
}


.main_entry_content h3:not(:first-child) {
	margin-top: 2.4rem;
}


.main_entry_content h3.has-medium-font-size{
	--wp--preset--font-size--medium: var(--font-default-size2);
	color:var(--color-titles);
}


.h_archive {
	--_accent_color: var(--color-secondary);
}

.h_archive,
.main_entry_content *.h_archive
{
    display: flex;
    align-items: center;

	font-size: var(--font-sectiontitle-size);
	font-weight:var(--font-weight-semibold);
	line-height:1;
	text-transform:uppercase;

	margin-bottom:var(--margin-block-small);
}

.main_entry_content .h_archive span{
	text-transform: none;
	font-weight:normal;
}



.h_archive:not(:has(a)),
.h_archive a{
	color:var(--color-titles);
	border-left: 1em solid var(--_accent_color);
	padding-left: 0.5em;
	color:inherit;
	text-decoration:none;
	transition: all 0.3s;
}

.h_archive a:hover{
	--_accent_color: color-mix(in srgb, var(--color-secondary) 50%, #000);

}

.h_archive.with_icon{
	border-left:0;
	padding-left:0;
}

.h_archive.with_icon:before{
	content:'';
	display:inline-block;
	width:1em;
	height:1em;
	margin-right: 0.5em;

	-webkit-mask-image: var(--_ico_image);
	mask-image: var(--_ico_image);
	background-color: var(--_accent_color,var(--color-secondary));
}

.h_archive.with_icon.ico_star{
	--_ico_image: var(--ico-star);
}




.extrainfo{
	display:flex;
	gap: var(--spacing-medium);
	align-items: center;
	font-size: 80%;
	font-weight: var(--font-weight-semibold);
	line-height:1;
	margin-bottom:var(--spacing-medium);
}

.entry-header .entry-subtitle{
	margin-bottom:var(--spacing-medium);
}

.c_content .entry-subtitle{
	font-weight:normal;
}

.entry-meta {
	display:flex;
	gap: var(--spacing-small);
	align-items: center;
	font-size: var(--font-default-size90);
	line-height:1;
}

.entry-meta a{
	display:inline-block;
	background-color: var(--color-secondary);

	border-radius:50px;
	padding: 8px 10px;

	color: var(--color-highcontrast-text);
	text-decoration:none;

}

.entry-meta a:hover{
	background-color: var(--color-text);
}


.entry-content .post-thumbnail{
	margin-bottom:var(--spacing-xlarge);
}

.entry-content .post-thumbnail img{
	width:100%;
}



.breadcrumb{
	--_color: var(--color-primary);
	margin-bottom:var(--spacing-medium);
	display:flex;
	gap:var(--spacing-medium);
	font-size:15px;
}

.breadcrumb a{
	display:flex;
	color: var(--_color);
	text-decoration:none;
	align-items: center;
	line-height:1;
	gap: var(--spacing-tiny);
}

.breadcrumb a:hover{
	--_color: var(--color-text);
}

.go_back:before{
	content:'';
	display:inline-block;
	width: 15px;
	height:15px;

	background-color: var(--_color);
	mask-image: var(--ico_next);
	transform: scaleX(-1);

}


.sideform{
	display:grid;
	gap:var(--spacing-small);
	margin-bottom:  var(--spacing-large);
}

*+.sideform{
	margin-top:var(--spacing-large);
}

.sideform .title{
	font-size:var(--font-default-size);
	color: var(--color-secondary);
	line-height:1;
	text-transform:uppercase;
	font-weight: var(--font-weight-semibold);
}

.sideform label{
	font-size:var(--font-default-size90);
}

.sideform input,
.sideform select{
	width:100%;
	min-height:35px;

	padding: 0 8px;
	font-size:var(--font-default-size90);
}

.btn_secondary,
.sideform input[type=submit]{
	border:1px solid var(--color-secondary);
	background-color: color-mix(in srgb, var(--color-secondary) 10%, transparent);
	padding:var(--spacing-small);
	color: var(--color-text);
	transition: background-color 0.4s;
	margin-top:var(--spacing-small);
	text-decoration:none;
	font-size: var(--_font-size-btn,inherit);
}

.btn_secondary:hover,
.sideform input[type=submit]:hover{
	background-color: color-mix(in srgb, var(--color-secondary) 30%, transparent);
}






.info_article{
	display:flex;
	background-color: var(--color-soft-background);
	align-items: center;
	margin-bottom: var(--spacing-xlarge);
	align-items: stretch;
}

.info_article .image_container{

    --_img_proportion: 0;
	min-width: min(40%, 295px);
    height: auto;
}



.info_article .img{
	flex: 0 0 50%;
	align-self: flex-start;
	max-width: 295px;
}

.info_article .txt_info{
	padding: var(--spacing-medium);
	font-size:var(--font-default-size2);
}

.info_article .txt_info :last-child{margin-bottom:0;}

.info_article .txt_info ul{
	list-style:none;
	margin-top:0;
	padding:0;
}



/*msg box*/
.msg_box {
	border:1px dashed var(--_accent_color, var(--color-primary));
	border-radius: var(--_border_radius, var(--spacing-small));
	padding: var(--_padding, var(--spacing-huge));
	text-align:center;

	color: var(--_accent_color,var(--color-primary));
	font-size: var(--font-default-size2);
    margin: var(--margins-block);
}



/*404*/
.container_404 {
    display: grid;
    grid-template-rows: 1fr 1fr;
    height: 100%;
}

.container_404 .top {


    display: flex;
    flex-direction: column;
    justify-content: end;
    align-items: center;
    padding: var(--spacing-large);
	padding-bottom:0;

}


.container_404 .top .msg{
	display:flex;
	align-items: center;
	gap:var(--spacing-medium);
}

.container_404 .top .msg:before{
	content:'';
	display:block;
	background:url(media/bg_404.svg) no-repeat center bottom;
    background-size: contain;

	width: 295px;
	height:277px;

	flex-shrink: 0;
	margin:0 auto;
}

.container_404 .top h1 {
    color: var(--color-primary);
    font-size: 30px;
    margin-bottom: var(--spacing-small);
}

.container_404 .top p {
    font-size: var(--font-default-size2);
    margin-bottom: var(--spacing-medium);
}

.container_404 .button {
    display: inline-block;
    padding: 10px 20px;
    background-color: var(--color-primary);
    color: white;
    text-decoration: none;
    border-radius: 2px;
    font-size: var(--font-default-size);
}

.container_404 .bottom {
	padding:  var(--spacing-xxxlarge) var(--spacing-large) var(--spacing-large);

    background-color: var(--color-dark);
    display: flex;
    justify-content: center;
}

.container_404 .logo img {
    max-width: 100%;
    height: auto;
}

@media screen and (max-width: 600px) {

	.container_404 .top .msg{
		display:grid;
	}

	.container_404 .top .msg:before{
		zoom: 0.5;
	}


	.container_404 .top {
		padding: var(--spacing-large);
		text-align:center;
	
	}
	
}




/*blockquote*/

.main_entry_content .wp-block-quote{
	box-sizing: content-box;

	font-weight:var(--font-weight-light);
	font-size: var(--font-subtitle-size);
	font-style:italic;

	color: var(--color-primary);
	background-color: var(--color-soft-background);
	padding:var(--spacing-small);
	margin:0;
	margin-top: 2.4rem;
	margin-bottom:2.4rem;
	max-width:300px;

	margin-left:calc( 100vw / -2);
	padding-left:calc(100vw / 2);

}

.main_entry_content .wp-block-quote p{
	display:inline;
}

.main_entry_content .wp-block-quote p+p:before{
	content:'';
	display:block;
	margin-bottom:0.5em;
}

.main_entry_content .wp-block-quote:before{
	 content: '\00AB ';
}

.main_entry_content .wp-block-quote:after{
	content: " \00BB";
}


@media screen and (max-width: 768px) {

	.main_entry_content .wp-block-quote{
		display:block;
		max-width: 400px;
		margin-right: auto;
		margin-left: auto;
		padding: var(--spacing-small);
	}
	
}











.sticky {
	display: block;
}



.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

article .entry-content{margin-top:0;}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*map*/
.acf-map {
	width:295px;
height:100%;
}


/*contact form*/

.content_form{
	margin-bottom:var(--spacing-xxlarge);
}


.cf_container{
	padding:var(--spacing-medium);
	background-color:var(--color-soft-background);
	margin-bottom:var(--spacing-large);
	font-size: var(--font-default-size);
	font-weight:var(--font-weight-medium);
}

.cf_container h3{
	font-size: var(--font-default-size);
	font-weight:bold;
	text-transform:uppercase;
	color:var(--color-titles)

}

.cf_container .wpcf7-not-valid-tip{
	font-size:var(--font-default-size90);
	margin-top:var(--spacing-tiny);
}


.cf_container .wpcf7-form-control-wrap{
	margin-top: 3px;
	display:block;
}


.cf_container label{
	line-height:1;
}

.cf_container input[type="text"],
.cf_container input[type="tel"],
.cf_container input[type="email"],
.cf_container input[type="date"],
.cf_container input[type="number"],
.cf_container select,
.cf_container textarea
{
	min-height:35px;
	padding: var(--spacing-tiny);
	font-size: var(--font-default-size90);
	font-weight:normal;
}

.cf_container textarea {
	padding: var(--spacing-small);
}

.cf_col{
/*
	display:flex;
	flex-wrap: wrap;*/

    display: grid;
	grid-auto-columns: minmax(0, 1fr);
	grid-auto-flow: column;

    gap: var(--spacing-medium);
	margin-bottom: var(--spacing-large);

}

.cf_container .cf_col:last-child{
	margin-bottom:0;
}

.cf_col p {margin-bottom:0;}


.cf_container .cf_col_2_6_4{grid-template-columns: 2fr 6fr 4fr;}
.cf_container .cf_col_4{grid-template-columns: repeat(3, 1fr);}
.cf_container .cf_col_8_4{grid-template-columns: 8fr 4fr;}
.cf_container .cf_col_4_8{grid-template-columns: 4fr 8fr;}

/* dona problemes en mostrar el missatge d'error
.cf_col > * {
	align-self: end;
}*/


.cf_container .wpcf7-list-item{
	margin-left:0;
}

.cf_container .wpcf7-list-item label{
	display:flex;
	gap:0.5em;
	gap: 0.5em;
    align-items: center;
}

.cf_container .wpcf7-list-item label input{
	width:20px;
	height:20px;
	min-width: 20px;
}

.cf_container .actions{
	text-align:right;
	position:relative;
}

.cf_container .actions.centered{
	text-align:center;
}

.cf_container .actions .wpcf7-spinner{
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    margin: 0;
    right: 10px;
}

.cf_container .actions p{
	margin-bottom:0;
}


.cf_container input[type="submit"]{
	font-size: var(--font-default-size3);
	color:var(--color-highcontrast-text);
	background-color:var(--color-secondary);
	width: min(100%, 250px);
	padding: var(--spacing-medium) 0;
	border:0;
	line-height:1;
}

.cf_container input[type="submit"]:not(:disabled):hover {
	background-color: color-mix(in srgb, var(--color-secondary) 80%, #000);
}


.cf_container.foldbox.folded .foldable{
	display:none;
}


.cf_container.foldbox .cf_title{
	cursor:pointer;
	position:relative;
}

.cf_container.foldbox.folded .cf_title{
	margin:0;
}

.cf_container.foldbox .cf_title:after{
	content:'';
	position:absolute;
	display:block;
	right: 0;
	top:0;
	width:24px;
	height:24px;

	mask-image: var(--ico_next);
	background-color: var(--color-primary);
	transform: rotate(-90deg);
}

.cf_container.foldbox.folded .cf_title:after{
	transform: rotate(90deg);
}









@media only screen and ( max-width: 768px )
{
	.cf_container .cf_col{
		grid-template-columns: 1fr;
		grid-auto-flow: row;

	}
}



/*
.cf_col > * {flex:1; min-width:180px;}


.cf_container .cf_col_2_6_4 :first-child {flex-basis: calc(100% / 6 - var(--spacing-medium));}
.cf_container .cf_col_2_6_4 :nth-child(2) {flex-basis: calc(50% - var(--spacing-medium));}
.cf_container .cf_col_2_6_4 :nth-child(3) {flex-basis: calc(100% / 3 - var(--spacing-medium));}

.cf_container .cf_col_4 > * {flex-basis: calc(100% / 3 - var(--spacing-medium));}
*/





.cf_col input,
.cf_col select{
	width:100%;
}




.cridaccio{
	--_background-color:var(--color-soft-background);
	--_padding:var(--spacing-medium);
	--_text-size: var(--font-default-size90);
	--_title-size: var(--font-default-size);
	--_color-accent:var(--color-primary);
}


.cridaccio{
	position:relative;
	padding: var(--_padding);
	background-color: var(--_background-color);	
}

.cridaccio .title{
	color: var(--_color-accent);
	text-transform:uppercase;

	font-size: var(--_title-size);
	font-weight: var(--font-weight-semibold);

	margin-bottom: var(--spacing-small);
}

.cridaccio .description{
	font-size: var(--_text-size);
	margin-bottom: var(--spacing-medium);
}

.cridaccio:after{
	content:'';
	position: absolute;
	right: 0;
	top: 0;

	background-color: color-mix(in srgb, var(--_background-color) 75%, #000);

	border-color: #FFFFFF #FFFFFF transparent transparent;
    border-style: solid;
    border-width: 0 var(--spacing-medium) var(--spacing-medium) 0;

}

.cridaccio .actions .btn{
	display:block;
	text-align:center;
}





/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}




/*Chart*/
ol.organizational-chart{
	list-style: none;
	margin: var(--margins-block);
	font-size: var(--font-default-size);
}

ol.organizational-chart ol,
ol.organizational-chart li,
ol.organizational-chart ul{
	list-style:none;
	padding:0;
	margin:0;
}


ol.organizational-chart,
ol.organizational-chart ol,
ol.organizational-chart li,
ol.organizational-chart li > div {
    position: relative;
}

ol.organizational-chart ol {
    margin: 0;
    padding: 0;
}
ol.organizational-chart {
    text-align: center;
	color: #FFF;
}
ol.organizational-chart ol {
    padding-top: 1em;
}
ol.organizational-chart ol:before,
ol.organizational-chart ol:after,
ol.organizational-chart li:before,
ol.organizational-chart li:after,
ol.organizational-chart > li > div:before,
ol.organizational-chart > li > div:after {
    background-color: var(--color-ternary);
    content: '';
    position: absolute;

}

ol.organizational-chart :before,
ol.organizational-chart ::after,
ol.organizational-chart div,
ol.organizational-chart a
{
	transition: none;
}


ol.organizational-chart ol > li {
    padding: 1em 0 0 1em;
}
ol.organizational-chart > li ol:before {
    height: 1em;
    left: 50%;
    top: 0;
    width: 2px;
}
ol.organizational-chart > li ol:after {
    height: 2px;
    left: 2px;
    top: 1em;
    width: 50%;
}
ol.organizational-chart > li ol > li:not(:last-of-type):before {
    height: 2px;
    left: 0;
    top: 2em;
    width: 1em;
}
ol.organizational-chart > li ol > li:not(:last-of-type):after {
    height: 100%;
    left: 0;
    top: 0;
    width: 2px;
}
ol.organizational-chart > li ol > li:last-of-type:before {
    height: 2px;
    left: 0;
    top: 2em;
    width: 1em;
}
ol.organizational-chart > li ol > li:last-of-type:after {
    height: 2em;
    left: 0;
    top: 0;
    width: 2px;
}
ol.organizational-chart .card {
	display:block;
    background-color: #fff;
    border-radius: 2px;
    min-height: 2em;
    padding: 1em;
}
/*** PRIMARY ***/
ol.organizational-chart .card.primary {
    background-color: var(--color-ternary);
    margin-right: 1em;
}
ol.organizational-chart > li > div:before {
    bottom: 2em;
    height: 2px;
    right: -1em;
    width: 1em;
}
ol.organizational-chart > li > div:first-of-type:after {
    bottom: 0;
    height: 2em;
    right: -1em;
    width: 2px;
}
ol.organizational-chart > li > div + div {
    margin-top: 1em;
}
ol.organizational-chart > li > div + div:after {
    height: calc(100% + 1em);
    right: -1em;
    top: -1em;
    width: 2px;
}
/*** SECONDARY ***/
ol.organizational-chart > li > ol:before {
    left: inherit;
    right: 0;
}
ol.organizational-chart > li > ol:after {
    left: 0;
    width: 100%;
}

ol.organizational-chart .card:not(.primary) {
    background-color: var(--color-primary);
}


ol.organizational-chart .card:not(.primary)>div{
	text-align:left;
}


ol.organizational-chart .card{

	color: var(--color-highcontrast-text);
	text-decoration:none;
}

ol.organizational-chart .card_info{
	font-size:90%;
	font-weight: var(--font-weight-semibold);
	text-transform:uppercase;
}


ol.organizational-chart .card h3,
ol.organizational-chart .card h4{
	font-size: var(--font-title-size);
	font-weight:normal;
	color:inherit;
	margin:0;
}

ol.organizational-chart .card h4{
	padding-bottom:var(--spacing-small);
	margin-bottom:var(--spacing-small);
	border-bottom:1px dotted var(--color-highcontrast-text);
}





@media only screen and ( min-width: 65em ) {
    ol.organizational-chart {
        margin-left: -1em;
        margin-right: -1em;
    }

	ol.organizational-chart .card {
		position:relative;
		display:flex;
		/*align-items: center;
		justify-content: center;*/
		min-height:150px;
		transition: transform 0.2s ease;
	}

	ol.organizational-chart .card.primary{
		align-items: center;
		justify-content: center;
	}


	ol.organizational-chart .card:not(.primary){
		height:100%;
	}

	ol.organizational-chart a.card:hover{
		transform: translateY(var(--spacing-small));
	}


    /* PRIMARY */
    ol.organizational-chart .card.primary {
        display: inline-flex;
        float: none;
        margin: 0 1em 0 1em;
        vertical-align: bottom;
		align-items: center;
		min-width:200px;
    }
    ol.organizational-chart > li > div:only-of-type {
        margin-bottom: 0;
        /*width: calc((100% / 1) - 2em - 4px);*/
    }
    ol.organizational-chart > li > div:first-of-type:nth-last-of-type(2),
    ol.organizational-chart > li > div:first-of-type:nth-last-of-type(2) ~ div {
        width: calc((100% / 2) - 2em - 4px);
    }
    ol.organizational-chart > li > div:first-of-type:nth-last-of-type(3),
    ol.organizational-chart > li > div:first-of-type:nth-last-of-type(3) ~ div {
        width: calc((100% / 3) - 2em - 4px);
    }
    ol.organizational-chart > li > div:first-of-type:nth-last-of-type(4),
    ol.organizational-chart > li > div:first-of-type:nth-last-of-type(4) ~ div {
        width: calc((100% / 4) - 2em - 4px);
    }
    ol.organizational-chart > li > div:first-of-type:nth-last-of-type(5),
    ol.organizational-chart > li > div:first-of-type:nth-last-of-type(5) ~ div {
        width: calc((100% / 5) - 2em - 4px);
    }
    ol.organizational-chart > li > div:before,
    ol.organizational-chart > li > div:after {
        bottom: -1em!important;
        top: inherit!important;
    }
    ol.organizational-chart > li > div:before {
        height: 1em!important;
        left: 50%!important;
        width: 2px!important;
    }
	ol.organizational-chart > li:first-child > div:before,
    ol.organizational-chart > li > div:only-of-type:after {
        display: none;
    }
    ol.organizational-chart > li > div:first-of-type:not(:only-of-type):after,
    ol.organizational-chart > li > div:last-of-type:not(:only-of-type):after {
        bottom: -1em;
        height: 3px;
        width: calc(50% + 1em + 2px);
    }
    ol.organizational-chart > li > div:first-of-type:not(:only-of-type):after {
        left: calc(50% + 2px);
    }
    ol.organizational-chart > li > div:last-of-type:not(:only-of-type):after {
        left: calc(-1em - 2px);
    }
    ol.organizational-chart > li > div + div:not(:last-of-type):after {
        height: 2px;
        left: -2em;
        width: calc(100% + 4em);
    }
    /* SECONDARY */
    ol.organizational-chart > li > ol {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    }
    ol.organizational-chart > li > ol:before,
    ol.organizational-chart > li > ol > li:before {
        height: 2em!important;
        left: 50%!important;
        top: 0!important;
        width: 2px!important;
    }

	ol.organizational-chart > li > ol:before{
		height:1em!important;
	}

    ol.organizational-chart > li > ol:after {
        display: none;
    }
    ol.organizational-chart > li > ol > li {
        flex-grow: 1;
        padding-left: 1em;
        padding-right: 1em;
        padding-top: 1em;
		min-height:150px;
    }
    ol.organizational-chart > li > ol > li:only-of-type {
        padding-top: 0;
    }
    ol.organizational-chart > li > ol > li:only-of-type:before,
    ol.organizational-chart > li > ol > li:only-of-type:after {
        display: none;
    }
    ol.organizational-chart > li > ol > li:first-of-type:not(:only-of-type):after,
    ol.organizational-chart > li > ol > li:last-of-type:not(:only-of-type):after {
        height: 2px;
        top: 0;
        width: 50%;
    }
    ol.organizational-chart > li > ol > li:first-of-type:not(:only-of-type):after {
        left: 50%;
    }
    ol.organizational-chart > li > ol > li:last-of-type:not(:only-of-type):after {
        left: 0;
    }
    ol.organizational-chart > li > ol > li + li:not(:last-of-type):after {
        height: 2px;
        left: 0;
        top: 0;
        width: 100%;
    }
}

/*select2*/
.select2-selection__choice{
	line-height:2;
}