@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,100..700;1,100..700&display=swap');

/* DEFINIM COLORS WEB */

:root {
	--color-principal: #E1260C;
	--color-secundari: #000000;
	--color-terciari: #6728A3;
	--color-gris: #E9E9E9;

	/* Color botons */
	--color-buton-generic: #BA0C2F;
	--color-buton-generic-hover: rgba(13, 114, 177, 0.6);

	/* Color bottom footer copyright */
	--color-footer-copyright: white;
	--color-font-footer-copyright: #808080;
	--color-border: #ccc;
	--color-titols-articles: #707070;
	--box-home: #ECECEC;

	--nav-item-offset: 10vw;
	--nav-item-hover-offset: 2%;
	--easing: cubic-bezier(.8, 0, .2, 1);
	--duration: .6s;
}

.mobile_show {
	display: none;
}

@media screen and (max-width: 800px) {
	.mobile_show {
		display: block;
	}

	.mobile_hide {
		display: none;
	}
}



* {
	box-sizing: border-box;
	outline: 0;
}

html,
body {
	height: 100%;
	padding: 0;
	margin: 0;
}

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
li,
fieldset,
form,
label,
legend,
caption,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

body {
	line-height: 1.50;
	font-family: 'Roboto' !important;
	font-size: 15px;
	color: #000000;
}

textarea,
input {
	font-family: 'Roboto' !important;
}

#head_search {
	display: none;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block
}

nav ul {
	list-style: none
}

blockquote,
q {
	quotes: none
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: none
}

a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
	outline: 0;
}

ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none
}

mark {
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: bold
}

del {
	text-decoration: line-through
}

abbr[title],
dfn[title] {
	border-bottom: 1px dotted;
	cursor: help
}

hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid var(--color-border);
	margin: 1em 0;
	padding: 0
}

input,
select {
	vertical-align: middle;
}

.cb {
	clear: both;
}

a {
	color: var(--color-secundari);
	text-decoration: none;
}

.error {
	/* background-color: pink; */
	display: inline-block;
	/* padding: 10px 15px; */
	/* margin-bottom: 15px; */
	color: #F00;
}

input.bad_validator {

	box-shadow: 0 0 0 3px red;

}



.bad_validator input[type="text"],
.bad_validator input[type="email"],
.bad_validator textarea,
.bad_validator select {
	border: 1px dotted red;
}

.alert_validator {
	color: red;
	font-weight: bold;
}

img {
	max-width: 100%;
	vertical-align: middle;
}

h1 {
	font-weight: normal;
	font-size: 36px;
	margin-bottom: 25px;
}

@media all and (max-width: 768px) {
	h1 {
		margin-bottom: 15px;
	}

	.grecaptcha-badge {
		display: none !important;
	}
}

h2 {
	font-weight: normal;
	font-size: 26px;
}

#scroll_top {
	position: fixed;
	right: 25px;
	margin-left: -25px;
	bottom: 20px;
	width: 50px;
	height: 50px;
	color: #fff;
	background: #3c3c3b;
	cursor: pointer;
	font-size: 25px;
	text-align: center;
	display: none;
	z-index: 1000;
}

#scroll_top .fa {
	line-height: 50px;
}

.btn {
	background-color: transparent;
	border: 1px solid black;
	padding: 10px 1em;
	cursor: pointer;
	transition: 0.2s all;
	font-size: 16px;
	font-family: 'Roboto Mono';
	transition: 0.3s all;
	text-align: center;
	line-height: normal;
}

.btn:hover {
	background-color: black;
	color: white;
}

.btn.primary {
	background-color: var(--color-principal);
	color: white;
	border-color: var(--color-principal);
}

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

.btn.invert {
	background-color: white;
	border-color: white;
}

.btn.invert:hover {
	background-color: transparent;
	color: white !important;
}

/* --- Nou menu by Carles --- */
header {
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	z-index: 1010;
	background-color: #fff;
}

header .topbar {
	position: relative;
	z-index: 2;
	background-color: var(--color-terciari);
	display: flex;
	color: white;
	align-items: center;
	justify-content: space-between;
	padding: 10px 5%;
}

header .head {
	transition: all .4s cubic-bezier(.26, 1.04, .54, 1);
	padding: 20px 3%;
	background-color: #fff;
	z-index: 1;
	padding-right: 0px;
	position: relative;
	box-shadow: 0px 3px 9px #CDCDCD;
}

header.scroll .head {
	transition: all .4s cubic-bezier(.26, 1.04, .54, 1);
	padding: 10px 3%;
	padding-right: 0;
}

header .head #logo img {
	max-width: 100%;
	transition: all .4s cubic-bezier(.26, 1.04, .54, 1);
}

header.scroll .head #logo img {
	max-width: 70%;
	transition: all .4s cubic-bezier(.26, 1.04, .54, 1);
}

header .caixa_menu_capcalera_principal {
	width: 100%;
	padding: 20px 3%;
	/* border-top: 1.5px solid #000;
	border-bottom: 1.5px solid #000; */
	/* background-color: var(--color-terciari); */
	/* background-color: #ed7d6d; */
	background-color: white;
	position: relative;
	
}

header .caixa_menu_capcalera_principal ul {
	padding: 0;
	margin: 0;
	width: 100%;
	display: flex;
	gap: 3%;
	justify-content: center;
}

header .caixa_menu_capcalera_principal .punt_menu_principal a {
	/*color: #fff;*/
    color: #000;
	font-family: 'Roboto Mono';
	font-size: 18px;
	text-transform: uppercase;
	display: flex;
	align-items: center;
	gap: 0.5em;
}

#logo {
	display: inline-block;
}

.punt_menu_principal {
	text-align: center;
	display: flex;
	flex-direction: column;
	row-gap: 8px;
	/*position: relative;*/
}

.punt_menu_principal .active {
	color: var(--color-principal) !important;
}

.punt_menu_principal>.active {
	/*color: white !important;*/
    color: black !important;
	font-weight: bold;
}

.punt_menu_principal>.active span {
	border-bottom: 2px solid
}

.punt_menu_principal .submenu {
	position: absolute;
	left: 0;
	right: 0;
	display: block;
	z-index: -1;
	width: 100%;
	max-width: 100%;
	background-color: white;
	top: 0;
	display: flex;
	transition: all 0.3s;
	transition-delay: 0.3s;
	justify-content: center;
	padding: 0px 10%;
	transform: translateY(0%);
	color: #000;
	gap: 50px;
	padding-bottom: 30px;
	box-shadow: 1px 1px 35px -15px #333;
}

header .caixa_menu_capcalera_principal .punt_menu_principal .submenu a {
	color: #000;
	font-weight: normal;
}

.punt_menu_principal:not(:hover) .submenu {
	transform: translateY(-100%);
}

.punt_menu_principal .submenu a {
	color: #fff;
	font-family: 'Roboto';
	font-weight: 300;
	font-size: 14px;
	text-transform: uppercase;
}

.caixa_idiomes_capcalera {
	display: flex;
	gap: 20px;
	justify-content: center;
	text-align: center;
	text-transform: uppercase;
}

.caixa_idiomes_capcalera #idiomes {
	display: flex;
	gap: 20px;
	/*margin-top: 30px;
	margin-bottom: 30px;*/
}

.caixa_idiomes_capcalera #idiomes li {
	/* padding: 0px 6px; */
	flex: auto;
	/*height: 70px;*/
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
	gap: 5px;
}

.caixa_idiomes_capcalera #idiomes .link_head {
	/* padding: 0px 6px; */
	flex: auto;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 14px;
	cursor: pointer;
	/* color: #fff; */
	font-weight: 500;
	gap: 5px;
}

#idiomes,
#idiomes ul#idiomes_select,
#idiomes ul#idiomes_select_mobile {
	padding-left: 0;
	margin: 0;
}

#idiomes ul#idiomes_select,
#idiomes ul#idiomes_select_mobile {
	position: absolute;
	top: 100%;
	top: calc(100% + 0px);
	list-style: none;
	border: 1px solid #E6EAEA;
	border-top: 0;
	width: 75px;
	background: #ffff;
	display: none;
	z-index: 2;
	text-align: center;
	left: -20px;
	border-bottom: 0px;
}

#idiomes ul#idiomes_select li,
#idiomes ul#idiomes_select_mobile li {
	padding: 0 8px;
	border-bottom: 1px solid #E6EAEA;
	height: auto;
}

#idiomes ul#idiomes_select li a,
#idiomes ul#idiomes_select_mobile li a {
	/* line-height: 38px; */
	font-size: 14px;
	font-family: 'Roboto';
	color: #000;
}

.caixa_menu_full_size {
	position: fixed;
	height: 100%;
	width: 100%;
	bottom: 0;
	left: 0;
	z-index: -1;
	background-color: rgba(0, 0, 0, 0.5);
	/*transform: translate3d(115%, 0, 0);*/
	transition: all 0.6s;
	transition-timing-function: cubic-bezier(0.7, 1.04, 1, 1);
	overflow-x: clip;
	clip-path: circle(0% at 100% 0%);
}


/* --- Fi nou menu by Carles --- */
#menu {
	padding-left: 0;
	margin: 0;
}

.contenidor_centrat,
.legal_conten {
	width: 1600px;
	margin: auto;
	max-width: 98%;
}

main {
	min-height: calc(100% - 670px);
}

.main,
.legal_conten {
	padding: 70px 0px;
}

.camp-recerca {
	display: none;
}

.ghost_header {
	height: 0;
	display: block;
}


#head_logo {
	flex: 1;
	text-align: center;
}

#head_search,
#head_login {
	width: 30%;
	display: flex;
	align-items: center;
	/*padding-bottom:10px;*/
}

#head_search {
	display: none;
}

.head {
	display: flex;
	align-items: center;
	width: 100%;
	padding: 20px 25px;
	justify-content: space-between;
}

.head_esquerra {
	width: 40%;
	font-size: 18px;
	text-transform: uppercase;
}

.head_esquerra a {
	color: #fff;
	text-decoration: none;
}

.head_centre {
	width: 20%;
	text-align: center;
}

.head_dreta {
	width: 40%;
	font-size: 20px;
	display: flex;
	justify-content: end;
	gap: 20px;
	align-items: center;
	font-family: 'Roboto Mono';
}

.head_dreta span {
	cursor: pointer;
	display: flex;
	justify-content: center;
	text-align: center;
}

.head_dreta a {
	text-decoration: none;
	font-size: 18px;
	text-transform: uppercase;
}

#carro_petit {
	position: relative;
}

#carro_petit .unitats {
	width: 10px;
	position: absolute;
	aspect-ratio: 1 / 1;
	background-color: #E1260C;
	right: 0px;
	top: 0;
	transform: translate(50%, -50%);
	border-radius: 100%;
}

.btn_associat {
	background-color: #E1260C;
	color: white;
	padding: 10px 60px;
	clip-path: polygon(100% 0, 100% 100%, 0% 100%, 15% 50%, 0% 0%);
	font-size: 14px !important;
}

#frm_search {
	position: relative;
	color: #a2a2a2;
	margin-right: 15px;
	z-index: 1;
}

#frm_search i {
	position: absolute;
	right: 15px;
	font-size: 20px;
	top: 50%;
	transform: translateY(-50%);
	color: inherit;
}

#camp-recerca {
	background-color: #f2f2f2;
	padding: 15px 45px 15px 18px;
	border: 0;
	width: 300px;
	font-size: 12px;
	letter-spacing: 1px;
	max-width: 100%;
}

.camp-recerca i {
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 20px
}

#camp-recerca::placeholder {
	/* Chrome, Firefox, Opera, Safari 10.1+ */
	color: inherit;
	opacity: 1;
	/* Firefox */
}

#camp-recerca:-ms-input-placeholder {
	/* Internet Explorer 10-11 */
	color: inherit;
}

#camp-recerca::-ms-input-placeholder {
	/* Microsoft Edge */
	color: inherit;
}

#logo_menu_mobile {
	position: absolute;
	top: 2px;
	left: 2px;
}

#logo_menu_mobile img {
	height: 36px;
}

#menu_mobile_close {
	position: absolute;
	left: 100%;
	background-color: var(--color-secundari);
	width: 62px;
	height: 62px;
	top: 0;
	color: #FFF;
	font-size: 30px;
}

#menu_mobile_close i {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

#menu {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: -22px;
}


/* --- Inici estils home --- */
#caixa_general_contingut_banner_home {
	width: 100%;
}

#caixa_general_contingut_banner_home .caixa_interior_contingut_banner_home {
	width: 100%;
	background-color: var(--color-principal);
	color: #fff;
	display: flex;
}

#caixa_general_contingut_banner_home .caixa_interior_contingut_banner_home .caixa_bloc_dreta {
	width: 50%;
	min-width: 50%;
	float: right;
	position: relative;
	overflow: hidden;
}

#caixa_general_contingut_banner_home .caixa_interior_contingut_banner_home .caixa_bloc_dreta img.imatge_fons {
	width: 100% !important;
}

#caixa_general_contingut_banner_home .caixa_interior_contingut_banner_home .caixa_bloc_dreta img.imatge_absoluta {
	position: absolute;
	top: -2px;
	height: 101%;
	left: -1px;
}

#caixa_general_contingut_banner_home .caixa_interior_contingut_banner_home .caixa_bloc_esquerra {
	width: 50%;
	display: flex;
}

#caixa_general_contingut_banner_home .caixa_interior_contingut_banner_home .caixa_bloc_esquerra .caixa_interior_textos {
	width: 100%;
	/*max-width: 1600px;*/
	margin: 0 auto;
	height: 100%;
	padding-left: 10%;
	padding-right: 5%;
}

#caixa_general_contingut_banner_home .caixa_interior_contingut_banner_home .caixa_bloc_esquerra .caixa_interior_textos {
	display: flex;
	flex-direction: column;
	justify-content: center;
	row-gap: 5px;
	align-items: flex-start;
}

#caixa_general_contingut_banner_home .caixa_interior_contingut_banner_home .caixa_bloc_esquerra .caixa_interior_textos .titol_principal {
	font-family: 'DM Serif Display';
	font-size: 80px;
	line-height: 1.1;
	margin-bottom: 0;
}

#caixa_general_contingut_banner_home .caixa_interior_contingut_banner_home .caixa_bloc_esquerra .caixa_interior_textos p {
	font-size: 30px;
	font-family: 'Playfair Display';
	line-height: 1;
	font-weight: 400;
}

#caixa_general_contingut_banner_home .caixa_interior_contingut_banner_home .caixa_bloc_esquerra .caixa_interior_textos a {
	text-transform: uppercase;
	color: var(--color-principal);
}

#caixa_general_contingut_banner_home .caixa_interior_contingut_banner_home .caixa_bloc_esquerra .caixa_interior_textos p#desc {
	font-size: 20px;
	line-height: normal;
	margin-top: 20px;
}

#caixa_general_contingut_banner_home.format_blanc .caixa_interior_contingut_banner_home {
	background-color: #fff;
	color: #000;
}

#caixa_general_contingut_banner_home.format_blanc .caixa_interior_contingut_banner_home .caixa_bloc_esquerra {
	width: 45%;
}

#caixa_general_contingut_banner_home.format_blanc .caixa_interior_contingut_banner_home .caixa_bloc_dreta {
	width: 55%;
}

#caixa_general_contingut_banner_home.format_blanc .caixa_interior_contingut_banner_home .caixa_bloc_dreta img.imatge_absoluta {
	right: -1px;
	left: unset;
}

#caixa_general_contingut_banner_home.format_blanc .caixa_interior_contingut_banner_home .caixa_bloc_esquerra .caixa_interior_textos {
	row-gap: 25px;
}

#caixa_general_contingut_banner_home.format_blanc .caixa_interior_contingut_banner_home .caixa_bloc_esquerra .caixa_interior_textos p {
	font-size: 21px;
	line-height: 1.3;
}

#caixa_general_contingut_banner_home.format_blanc .caixa_interior_contingut_banner_home .caixa_bloc_esquerra .caixa_interior_textos a {
	padding: 10px 30px;
	color: var(--color-principal);
	font-family: 'Roboto Mono';
	text-transform: uppercase;
}

#caixa_general_contingut_banner_home.format_blanc .caixa_interior_contingut_banner_home .caixa_bloc_esquerra .caixa_interior_textos a:hover {
	color: white;
}

#caixa_general_actualitat_home,
.caixa_generica_pag_actualitat {
	width: 100%;
}

#caixa_general_actualitat_home .caixa_interior_actualitat_home {
	width: 100%;
	display: flex;
	flex-direction: column;
	padding: 100px 4%;
	/*max-width: 1600px;*/
	margin: 0 auto;
	row-gap: 45px;
}

.caixa_generica_pag_actualitat .caixa_interna_pag_actualitat {
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	padding: 100px 5%;
	margin: 0 auto;
	gap: 45px 4%;
	background-color: var(--color-gris);
}

.caixa_generica_pag_actualitat .caixa_interna_pag_actualitat .caixa_single_actualitat_home {
	width: 22%;
}

.caixa_single_actualitat_home .data {
	display: flex;
	justify-content: space-between;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	background-color: var(--color-principal);
	text-align: end;
	align-content: center;
	padding-right: 10px;
	color: white;
	padding: 5px;
	font-family: 'Roboto Mono';
}

.blocs.modular .descobreix div.data {
	display: flex;
	justify-content: space-between;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	background-color: rgba(0, 0, 0, .55);
	text-align: end;
	align-content: center;
	padding-right: 10px;
	color: white;
	padding: 5px;
	font-family: 'Roboto Mono';
}

.blocs.modular .descobreix .utilitzar_data {
	position: relative;
}



.caixa_single_actualitat_home .caixa_imatge img {
	width: 100%;
}

.caixa_titol_seccio {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.caixa_titol_seccio .titol_seccio {
	font-family: 'DM Serif Display';
	font-size: 60px;
	margin-bottom: 0;
}

.caixa_titol_seccio a {
	font-family: 'Playfair Display';
	font-style: italic;
	font-size: 18px;
	display: flex;
	align-items: center;
	gap: 15px;
}

#caixa_general_actualitat_home .caixa_inferior_actualitat_home .caixa_single_actualitat_home,
.caixa_interna_pag_actualitat .caixa_single_actualitat_home {
	display: flex;
	flex-direction: column;
	row-gap: 20px;
}

#caixa_general_actualitat_home .caixa_inferior_actualitat_home .caixa_single_actualitat_home .caixa_titol,
.caixa_interna_pag_actualitat .caixa_single_actualitat_home .caixa_titol {
	font-family: 'Playfair Display';
	line-height: 1;
	font-weight: 400;
	font-size: 20px;
	margin-bottom: 10px;
	height: 100%;
}

#caixa_general_actualitat_home .caixa_inferior_actualitat_home .caixa_single_actualitat_home a,
.caixa_interna_pag_actualitat .caixa_single_actualitat_home a {
	text-transform: uppercase;
	font-size: 13px;
	display: flex;
	align-items: center;
	gap: 5px;
	transition: cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

#caixa_general_actualitat_home .caixa_inferior_actualitat_home .caixa_single_actualitat_home a:hover,
.caixa_interna_pag_actualitat .caixa_single_actualitat_home a:hover {
	gap: 10px;
	transition: cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.caixa_single_actualitat_home a.only_link {
	text-transform: unset;
	font-size: unset;
	display: unset;
	align-items: unset;
	gap: unset;
	transition: unset;
	width: 100%;
}

.caixa_single_actualitat_home a.only_link:hover {
	gap: unset;
	transition: unset;
}

.btn-generic {
	background-color: #fff;
	color: var(--color-terciari);
	padding: 10px 15px;
	display: flex;
	gap: 15px;
	align-items: center;
	justify-content: space-between;
	text-transform: uppercase;
	font-weight: 500;
	font-size: 14px;
	letter-spacing: 1px;
}

.btn-vermell {
	background-color: var(--color-principal);
	color: #fff;
	border-color: 1px solid var(--color-principal);
	/* border: 1px solid; */
}

.btn-blanc {
	color: #000;
	border: 1px solid #000;
}

/* ---  ---- */

/* --- PAG REVISTES --- */

.pag_revistes {
	background-color: #E9E9E9;
}

.pag_revistes .caixa_interior_textos {
	background-color: var(--color-principal);
	color: white;
}

.pag_revistes .caixa_inferior {
	padding: 50px 5%;
	padding-bottom: 0px;
	display: flex;
	align-items: baseline;
	justify-content: space-between;
}

.pag_revistes .titol_secundari {
	border: 0px;
	font-family: 'Playfair Display';
	font-weight: bold;
	font-size: 40px;
	padding-bottom: 100px;
	margin: 0px;
}

.pag_revistes .caixa_inferior>a {
	font-size: 16px;
	/* color: var(--color-principal); */
	font-family: 'Roboto Mono';
	display: flex;
	align-items: baseline;
	gap: 10px;
}

.revistes {
	display: flex;
	justify-content: center;
	align-items: end;
	padding: 5%;
	flex-wrap: wrap;
	gap: 3.125rem 5%;
	padding-bottom: 100px;
	row-gap: 100px;
	background-color: #E9E9E9;
	position: relative;
}

.revistes .list {
	display: flex;
	gap: 2%;
	flex-wrap: wrap;
	row-gap: 2vh;
	width: 100%;
}

.revistes .g_revista {
	width: 25%;
	display: flex;
	gap: 30px;
	justify-content: flex-end;
	align-items: center;
	flex-direction: column;
}

.revistes .titol {
	/* writing-mode: sideways-lr; */
	font-family: 'DM Serif Display';
	font-weight: normal;
	line-height: 1;
	/* min-width: 100px; */
	border-bottom: 1px solid;
	display: flex;
	flex-direction: column;
	gap: 5px;
	cursor: default;
	/* padding-right: 10px; */
	text-wrap-style: pretty;
	width: 100%;
	/* padding-bottom: 30px; */
}

.revistes .titol h3 {
	font-size: 49px;
}

.revistes .titol h4 {
	font-size: 27px;
	font-weight: 100;
}

.revistes .content {
	background-color: white;
	padding: 20px;
	display: flex;
	flex-wrap: wrap;
	align-content: space-between;
	gap: 20px;
	height: 100%;
	justify-content: flex-end;
}

.revistes .content img {
	width: 100%;
	aspect-ratio: 7 / 5;
	object-fit: contain;
}

.revistes .content .btns {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 100%;
}

.revistes .content .btns .btn.buit {
	opacity: 0;
}

.revistes .content #all {
	width: 100%;
}

.revistes .content #buy {
	width: 48%;
}

.llistat .caixa_interior_contingut_banner_home {
	flex-direction: column;
}

#caixa_general_contingut_banner_home.format_blanc.llistat .caixa_interior_contingut_banner_home .caixa_bloc_dreta {
	width: 100%;
	padding: 40px 5%;
	display: flex;
	justify-content: center;
}

#caixa_general_contingut_banner_home.format_blanc.llistat .caixa_interior_contingut_banner_home .caixa_bloc_dreta img.imatge_absoluta {
	position: relative;
	width: 100%;
	max-width: 700px;
}

#caixa_general_contingut_banner_home.format_blanc.llistat .caixa_interior_contingut_banner_home .caixa_bloc_esquerra {
	width: 100%;
	background-color: #DDDDDD;
	gap: 5%;
	/* display: flex; */
}

.llistat .caixa_bloc_esquerra .desc {
	width: 45%;
	margin: 25px 5%;
	font-size: 20px;
	font-family: 'Playfair Display';
	padding: 25px 0px;
	border-right: 1px solid;
	margin-right: 0px;
	padding-right: 5%;
}

.llistat .caixa_bloc_esquerra .enllac {
	width: 45%;
	display: flex;
	flex-direction: column;
	margin: 50px 0;
	font-size: 20px;
	align-items: flex-start;
	font-family: 'Roboto Mono';
	text-wrap-style: pretty;
}

.llistat .caixa_bloc_esquerra .enllac .sus_titol {
	font-weight: 500;
	line-height: 1;
}

.llistat .caixa_bloc_esquerra .enllac .preu {
	color: var(--color-principal);
}

.llistat .caixa_bloc_esquerra .enllac a {
	line-height: 1;
	background-color: var(--color-principal);
	color: white;
	padding: 15px 30px;
	font-size: 16px;
	margin: 15px 0;
}

.llistat .caixa_bloc_esquerra .enllac .info {
	font-size: 16px;
	font-family: 'Playfair Display';
}

.llistat .caixa_bloc_esquerra .imatge {
	width: 33%;
	display: flex;
	justify-content: center;
	background-color: #cbcbcb;
}

.llistat .caixa_bloc_esquerra .imatge img {
	max-height: 250px;
	margin: 30px 7%;
}

.llistat .titol_secundari {
	padding-bottom: 0px;
}

.filters_container {
	padding: 0 5%;
	background-color: #E9E9E9;
	padding-top: 20px;
}

.filters {
	margin: 0;
	padding: 20px;
	background-color: #DDDDDD;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.filters form {
	display: flex;
	gap: 35px
}

.filters>span {
	text-transform: uppercase;
	font-size: 20px;
}

.filters input,
.filters textarea,
.filters select {
	padding: 10px;
	border: 0px;
	width: 25%;
	display: flex;
}

.filters select,
.llistat button {
	cursor: pointer;
}

.filters form>div {
	display: flex;
	width: 25%;
}

.filters input.datepicker {
	padding-right: 40px;
	width: 100%;
}

.llistat+.filters_container+.revistes {
	padding-top: 80px;
}

.filters button {
	color: white;
	border: 0px;
	width: 150px;
	background-color: var(--color-principal);
	text-transform: uppercase;
	cursor: pointer;
}

.filters button.ui-datepicker-trigger {
	position: absolute;
	left: 100%;
	height: 100%;
	width: 40px;
	transform: translateX(-100%);
	/* padding: 20px; */
	background-color: transparent;
	padding: 0px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 18px;
	font-weight: 300;
	cursor: pointer;
}

.filters button.ui-datepicker-trigger:after {
	position: absolute;
	content: "\f133";
	font-family: 'Font Awesome 5 Pro';
	color: black;
}

.llistat+.filters_container+.revistes .list {
	display: flex;
	flex-wrap: wrap;
	gap: 1.33%;
	row-gap: 20px;
}

.revistes .list .g_revista {
	flex-direction: column;
	gap: 0px;
	width: 18.4%;
	padding: 20px;
	background-color: #DDDDDD;
	/* font-family: 'Roboto Mono'; */
}

.revistes .list .titol {
	writing-mode: horizontal-tb;
	border: 0px;
	font-family: 'Roboto Mono';
	font-size: 12px;
	text-transform: uppercase;
	gap: 10px;
	width: 100%;
}

.revistes .list .titol h3 {
	font-size: 14px;
}

.revistes .list .content {
	flex-direction: column;
	background-color: inherit;
	padding: 0px;
	padding-top: 20px;
	width: 100%;
}

.revistes .list .content .add_to_cart {
	background-color: transparent;
	border: 1px solid black;
	padding: 10px;
	cursor: pointer;
	transition: 0.2s all;
}

.revistes .list .content .add_to_cart:hover {
	background-color: black;
	color: white;
}

.revistes .list .g_revista.c a {
	width: 100%;
}

.revistes .list .g_revista.c img {
	width: 100%;
}

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

/* --- LLIBRES --- */

.revistes.llibres .content img {
	width: 100%;
	aspect-ratio: auto;
	object-fit: contain;
}

.revistes.llibres .g_revista {
	/*justify-content: space-between;*/
}

.revistes.llibres .g_revista.c a {
	width: 100%;
}

.revistes.llibres .g_revista.c a img {
	width: 100%;
}

.revistes.llibres {}

.llistat.pag_llibres .caixa_bloc_esquerra .desc {
	width: 100%;
	border: 0px;
	margin-right: 5%;
}

.filters.llibres input,
.filters.llibres textarea,
.filters.llibres select {
	width: 30%;
}

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

/* ------- NOVETATS LLIBRES --------  */

.novetat_llibre {
	flex-direction: column;
	gap: 0px;
	width: 100%;
	padding: 20px;
	background-color: #DDDDDD;
	/* font-family: 'Roboto Mono'; */
	display: flex;
	color: black;
	height: 100%;
	justify-content: space-between;
}

.novetat_llibre .titol {
	writing-mode: horizontal-tb;
	border: 0px;
	font-family: 'Roboto Mono';
	font-size: 12px;
	text-transform: uppercase;
	gap: 10px;
	width: 100%;
}

.novetat_llibre .titol h3 {
	font-size: 14px;
}

.novetat_llibre .content {
	flex-direction: column;
	background-color: inherit;
	padding: 0px;
	padding-top: 15px;
	width: 100%;
	display: flex;
	gap: 15px;
}

.novetat_llibre .content .add_to_cart {
	background-color: transparent;
	border: 1px solid black;
	padding: 10px;
	cursor: pointer;
	transition: 0.2s all;
}

.novetat_llibre .content .add_to_cart:hover {
	background-color: black;
	color: white;
}

.novetat_llibre a {
	width: 100%;
}

.novetat_llibre img {
	width: 100%;
}

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

.boto_generic {
	cursor: pointer;
	background-color: #fff;
	color: #000;
	border: 1px solid #000;
	font-family: 'Roboto';
	font-size: 13px;
	padding: 15px 20px;
	display: flex;
	align-items: center;
	gap: 8px;
	text-transform: uppercase;
	flex-direction: row;
	transition: 0.3s all ease-in-out;
	line-height: 1;
}

.boto_generic.boto_transparent {
	color: #fff;
	border: 1px solid #fff;
	background-color: transparent;
}


#caixa_general_llistat_vertical_home,
#caixa_general_llistat_horitzontal_home {
	width: 100%;
	background-color: #E9E9E9;
	padding-top: 100px;
	padding-bottom: 100px;
}

#caixa_general_llistat_vertical_home .caixa_interior_llistat_vertical_home,
#caixa_general_llistat_horitzontal_home .caixa_interior_llistat_horitzontal_home {
	width: 100%;
	/*max-width: 1600px;*/
	padding-left: 5%;
	padding-right: 5%;
	display: flex;
	flex-direction: column;
	row-gap: 20px;
	margin: 0 auto;
}

#caixa_general_llistat_vertical_home .caixa_interior_llistat_vertical_home .caixa_titols,
#caixa_general_llistat_horitzontal_home .caixa_interior_llistat_horitzontal_home .caixa_titols {
	display: flex;
	justify-content: space-between;
}

#caixa_general_llistat_vertical_home .caixa_interior_llistat_vertical_home .caixa_blocs_continguts {
	display: flex;
}

#caixa_general_llistat_vertical_home .caixa_interior_llistat_vertical_home .caixa_blocs_continguts .caixa_esquerra {
	width: 50%;
	max-width: 50%;
	background-color: var(--color-terciari);
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: start;
	position: relative;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: bottom;
}

#caixa_general_llistat_vertical_home .caixa_interior_llistat_vertical_home .caixa_blocs_continguts .caixa_esquerra .caixa_textos {
	padding: 6%;
	display: flex;
	justify-content: space-between;
}

#caixa_general_llistat_vertical_home .caixa_interior_llistat_vertical_home .caixa_blocs_continguts .caixa_esquerra .caixa_textos .caixa_col_esquerra {
	max-width: 75%;
	display: flex;
	flex-direction: column;
	row-gap: 15px;
}

#caixa_general_llistat_vertical_home .caixa_interior_llistat_vertical_home .caixa_blocs_continguts .caixa_esquerra .caixa_textos .caixa_col_esquerra img {
	max-width: 300px;
	margin-top: 20px;
}

#caixa_general_llistat_vertical_home .caixa_interior_llistat_vertical_home .caixa_blocs_continguts .caixa_esquerra .caixa_textos .caixa_col_esquerra h4 {
	font-family: 'DM Serif Display';
	font-size: 40px;
	line-height: 1.1;
}

#caixa_general_llistat_vertical_home .caixa_interior_llistat_vertical_home .caixa_blocs_continguts .caixa_esquerra .caixa_textos .caixa_col_esquerra p {
	font-family: 'Playfair Display';
	font-size: 14px;
}

#caixa_general_llistat_vertical_home .caixa_interior_llistat_vertical_home .caixa_blocs_continguts .caixa_llistat_tabs {
	width: 50%;
	max-width: 50%;
	border-top: 1.5px solid #000;
}

#caixa_general_llistat_vertical_home .ui-accordion .ui-accordion-header {
	padding: 22px 15px 22px 30px;
	margin-top: 0;
	font-family: 'Playfair Display';
	font-size: 19px;
	text-transform: inherit;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#caixa_general_llistat_vertical_home .ui-accordion .ui-state-active {
	border-bottom-color: transparent;
}

#caixa_general_llistat_vertical_home .ui-accordion .ui-accordion-header i {
	transform: rotate(0deg);
	transition: cubic-bezier(0.075, 0.82, 0.165, 1);
}

#caixa_general_llistat_vertical_home .ui-accordion .ui-accordion-header.ui-state-active i {
	transform: rotate(90deg);
	transition: cubic-bezier(0.075, 0.82, 0.165, 1);
}

#caixa_general_llistat_vertical_home .ui-state-active,
#caixa_general_llistat_vertical_home .ui-widget-content .ui-state-active,
#caixa_general_llistat_vertical_home .ui-widget-header .ui-state-active {
	border: none;
	/*border-top: 1.5px solid #000;*/
	border-bottom: 1.5px solid #000;
	color: #000;
	background-color: inherit;
	border-radius: 0;
}

#caixa_general_llistat_vertical_home .ui-state-default,
#caixa_general_llistat_vertical_home .ui-widget-content .ui-state-default,
#caixa_general_llistat_vertical_home .ui-widget-header .ui-state-default {
	border: none;
	/*border-top: 1.5px solid #000;*/
	border-bottom: 1.5px solid #000;
	color: #000;
	background-color: inherit;
	border-radius: 0;
}

#caixa_general_llistat_vertical_home .ui-accordion .ui-accordion-content {
	padding: 0 0;
	border-radius: 0;
	border: none;
	background-repeat: no-repeat;
	background-size: cover;
	background-position-y: center;
	border-bottom: 1px solid;
}

#caixa_general_llistat_vertical_home .contingut_intern_tabs {
	width: 100%;
	height: 100%;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.5270483193277311) 0%, rgba(255, 255, 255, 0) 100%);
	color: #fff;
	padding: 3.2em 2.2em;
	display: flex;
	justify-content: space-between;
	align-items: start;
}

#caixa_general_llistat_vertical_home .contingut_intern_tabs .text {
	max-width: 75%;
}

#acordion_horitzontal {
	display: flex;
	flex-direction: row;
	border: 1px solid #ccc;
	width: 100%;
}

#acordion_horitzontal .caixa_single_acordio {
	/*flex: 1;*/
	display: flex;
	border-right: 1px solid #ccc;
}

#acordion_horitzontal .caixa_single_acordio .acordio-header {
	background-color: #ddd;
	padding: 10px;
	text-align: center;
	cursor: pointer;
	writing-mode: vertical-rl;
	/* Hace que el texto sea vertical */
	transform: rotate(180deg);
	/* Ajusta la direcciÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â³n del texto */
}

#acordion_horitzontal .caixa_single_acordio .contingut_tabs {
	display: flex;
	/*padding: 10px;*/
	background-color: #f9f9f9;
	overflow: auto;
	width: 0%;
	transition: 0.3s all ease-in-out;
}

#acordion_horitzontal .caixa_single_acordio .contingut_tabs .contingut_intern_tabs {
	height: 0;
	transition: 0.3s all ease-in-out;
}

#acordion_horitzontal .caixa_single_acordio .contingut_tabs.actiu {
	width: 100%;
	transition: 0.3s all ease-in-out;
}

#acordion_horitzontal .caixa_single_acordio .contingut_tabs.actiu .contingut_intern_tabs {
	height: 100%;
	transition: 0.3s all ease-in-out;
}

/* --- Text de prova acordion --- */

.accordion {
	width: 100%;
	/*max-width: 1600px;*/
	padding-left: 5%;
	padding-right: 5%;
	height: 500px;
	overflow: hidden;
	margin: 50px auto;
}

.accordion ul {
	width: 100%;
	display: table;
	table-layout: fixed;
	margin: 0;
	padding: 0;
}

.accordion ul li {
	display: table-cell;
	vertical-align: bottom;
	position: relative;
	/*width: 16.666%;*/
	width: 8%;
	height: 500px;
	background-repeat: no-repeat;
	background-position: center center;
	transition: all 500ms ease;
	background-color: #E9E9E9;
	border-left: 1px solid #000;
}

.accordion ul li div {
	display: block;
	overflow: hidden;
	width: 100%;
}

.accordion ul li div a {
	display: flex;
	justify-content: space-between;
	height: 500px;
	width: 100%;
	position: relative;
	z-index: 3;
	vertical-align: bottom;
	/*padding: 15px 20px;*/
	box-sizing: border-box;
	color: #000;
	text-decoration: none;
	font-family: Open Sans, sans-serif;
	transition: all 200ms ease;
}

.accordion ul li div a * {
	/*opacity: 0;*/
	margin: 0;
	/*width: 100%;*/
	text-overflow: ellipsis;
	position: relative;
	z-index: 5;
	white-space: nowrap;
	overflow: hidden;
	-webkit-transform: translateX(-20px);
	transform: translateX(-20px);
	-webkit-transition: all 400ms ease;
	transition: all 400ms ease;
}

.accordion ul li div a h2 {
	font-family: 'DM Serif Display';
	text-overflow: clip;
	font-size: 34px;

	margin-bottom: 2px;
	/*top: 160px;*/
	writing-mode: sideways-lr;
	width: 80px;
	min-width: 80px;
	display: flex;
	justify-content: end;
	align-items: center;
	background-color: #E9E9E9;
	z-index: 2;
}

.accordion ul li div a div.contingut_acor {
	/*top: 160px;*/
	font-size: 13.5px;
	opacity: 0;
	white-space: collapse;
	position: absolute;
	right: 0;
	z-index: 1;
	display: flex;
	height: 100%;
	justify-content: space-between;
}

.accordion ul li div a div.contingut_acor .bloc1 {
	white-space: collapse;
	width: 45%;
	min-width: 45%;
	padding-right: 40px;
	display: flex;
	flex-direction: column;
	align-items: start;
	row-gap: 30px;
	font-family: 'Playfair Display';
	font-size: 15px;
}

.accordion ul li div a div.contingut_acor .bloc1 h5 {
	font-family: 'DM Serif Display';
	font-size: 25px;
	font-weight: normal;
}

.accordion ul li div a div.contingut_acor .bloc2 {
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}

.accordion ul li:hover div a div.contingut_acor {
	opacity: 1;
}

.accordion ul:hover li,
.accordion ul:focus-within li,
.accordion ul:hover li.active-hover {
	width: 8%;
}

.accordion ul li:focus {
	outline: none;
}

.accordion ul:hover li:hover,
.accordion ul li:focus,
.accordion ul:focus-within li:focus,
.accordion ul li.active-hover {
	width: 60%;
}

.accordion ul:hover li:hover a *,
.accordion ul li:focus a *,
.accordion ul:focus-within li:focus a *,
.accordion ul li.active-hover a * {
	/*opacity: 1;*/
	-webkit-transform: translateX(0);
	transform: translateX(0);
}

.accordion ul:hover li,
.accordion ul:hover li.active-hover {
	width: 8% !important;
}

.accordion ul:hover li a *,
.accordion ul li.active-hover a * {
	/*opacity: 0 !important;*/
}

.accordion ul:hover li:hover,
.accordion ul li.active-hover {
	width: 60% !important;
}

.accordion ul:hover li:hover a *,
.accordion ul li.active-hover a * {
	/*opacity: 1 !important;*/
	-webkit-transform: translateX(0);
	transform: translateX(0);
}

.accordion ul:hover li:hover a p,
.accordion ul li.active-hover a div.contingut_acor {
	opacity: 1 !important;
}

/* --- Fi text prova acordion --- */
#caixa_general_oportunitats_home {
	width: 100%;
	background-color: var(--color-terciari);
	padding-top: 100px;
	padding-bottom: 100px;
	color: #fff;
}

#caixa_general_oportunitats_home .caixa_titol_seccio {
	padding-right: 5%;
}

#caixa_general_oportunitats_home .caixa_titol_seccio a {
	color: #fff;
}

#caixa_general_oportunitats_home .caixa_interna_oportunitats_home {
	width: 100%;
	/*max-width: 1600px;*/
	padding-left: 5%;
	padding-right: 0;
	display: flex;
	flex-direction: column;
	row-gap: 20px;
	margin: 0 auto;
}

#caixa_general_oportunitats_home .caixa_interna_single_oportunitat {
	width: 100%;
	display: flex;
	background-color: #fff;
	color: #000;
	padding: 15px;
	gap: 20px;
	height: 275px;
}

#caixa_general_oportunitats_home .caixa_interna_single_oportunitat .caixa_imatge {
	min-width: 40%;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}

#caixa_general_oportunitats_home .caixa_interna_single_oportunitat .caixa_textos {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	row-gap: 15px;
	align-items: start;
}

#caixa_general_oportunitats_home .caixa_interna_single_oportunitat .caixa_textos h4 {
	font-family: 'Roboto Mono';
	text-transform: uppercase;
	font-size: 16px;
	line-height: 1.2;
}

#caixa_general_oportunitats_home .caixa_interna_single_oportunitat .caixa_textos .caixa_preus {
	display: flex;
	flex-direction: column;
	row-gap: 8px;
}

#caixa_general_oportunitats_home .caixa_interna_single_oportunitat .caixa_textos .titol_preu {
	font-family: 'Roboto Mono';
	text-transform: uppercase;
	font-size: 14px;
	line-height: 1.2;
	font-weight: 500;
}

#caixa_general_oportunitats_home .caixa_interna_single_oportunitat .caixa_textos .info_preus {
	display: flex;
	gap: 20px;
}

#caixa_general_oportunitats_home .caixa_interna_single_oportunitat .caixa_textos .info_preus .val_preu {
	background-color: var(--color-principal);
	color: #fff;
	padding: 3px 5px;
}

#caixa_general_oportunitats_home .caixa_interna_single_oportunitat .caixa_textos .info_preus .text_preu {
	font-size: 12px;
}

#caixa_general_publicacions_home {
	width: 100%;
	padding-top: 100px;
	padding-bottom: 100px;
}

#caixa_general_publicacions_home .caixa_interna_publicacions_home {
	width: 100%;
	/*max-width: 1600px;*/
	padding-left: 5%;
	padding-right: 5%;
	display: flex;
	flex-direction: column;
	row-gap: 20px;
	margin: 0 auto;
}

#caixa_general_publicacions_home .caixa_interna_publicacions_home .caixa_titols {
	display: flex;
	justify-content: space-between;
}

#caixa_general_publicacions_home .caixa_interna_publicacions_home .caixa_llistat {
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	row-gap: 50px;
}

#caixa_general_publicacions_home .caixa_interna_publicacions_home .caixa_llistat .single_publicacio_home {
	width: 48%;
	min-width: 48%;
	position: relative;
}

#caixa_general_publicacions_home .caixa_interna_publicacions_home .caixa_llistat .single_publicacio_home .caixa_imatge img {
	width: 100%;
}

#caixa_general_publicacions_home .caixa_interna_publicacions_home .caixa_llistat .single_publicacio_home .caixa_textos {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	padding: 5%;
	align-items: flex-start;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.3270483193277311) 0%, rgba(255, 255, 255, 0) 100%);
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: space-between;
}

#caixa_general_publicacions_home .caixa_interna_publicacions_home .caixa_llistat .single_publicacio_home .caixa_textos h4 {
	font-family: 'Roboto Mono';
	text-transform: uppercase;
	color: #fff;
	font-size: 38px;
	font-weight: normal;
	width: 50%;
	line-height: 1;
}

#caixa_general_publicacions_home .caixa_interna_publicacions_home .caixa_llistat .single_publicacio_home .boto_absolut {
	z-index: 2;
	background-color: white;
	display: flex;
	gap: 10px;
	align-items: baseline;
	text-transform: uppercase;
	align-self: flex-end;
	position: absolute;
	right: 5%;
}

#caixa_general_publicacions_home .caixa_interna_publicacions_home .caixa_llistat .single_publicacio_home .extra {
	display: flex;
	align-items: center;
	gap: 10px;
}

#caixa_general_publicacions_home .caixa_interna_publicacions_home .caixa_llistat .single_publicacio_home .boto_absolut:hover {
	background-color: black;
}

#caixa_general_biblioteca_home {
	width: 100%;
	padding-top: 100px;
	padding-bottom: 100px;
}

#caixa_general_biblioteca_home .caixa_interna_biblioteca_home {
	width: 100%;
	/*max-width: 1600px;*/
	padding-left: 5%;
	padding-right: 5%;
	display: flex;
	flex-direction: column;
	row-gap: 20px;
	margin: 0 auto;
}

#caixa_general_biblioteca_home .caixa_interna_biblioteca_home .caixa_llistat {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#caixa_general_biblioteca_home .caixa_interna_biblioteca_home .caixa_llistat .columna_biblio {
	width: 48%;
	display: flex;
	flex-direction: column;
	justify-content: end;
	border-bottom: 2px solid #000;
}

#caixa_general_biblioteca_home .caixa_interna_biblioteca_home .caixa_llistat .columna_biblio .caixa_interna_llibre {
	padding: 20px;
	display: flex;
	gap: 25px;
	border-top: 2px solid #000;
	position: relative;
}

#caixa_general_biblioteca_home .caixa_interna_biblioteca_home .caixa_llistat .columna_biblio .caixa_interna_llibre .caixa_imatge_hover {
	background-image: url('/files/arxius/defecte_assoc_home.png');
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	background-repeat: no-repeat;
	background-size: cover;
	background-position-y: center;
}

#caixa_general_biblioteca_home .caixa_interna_biblioteca_home .caixa_llistat .columna_biblio .caixa_interna_llibre:hover .caixa_imatge_hover {
	z-index: 0;
}

#caixa_general_biblioteca_home .caixa_interna_biblioteca_home .caixa_llistat .columna_biblio .caixa_interna_llibre .caixa_num_llibre {
	font-family: 'Roboto Mono';
	font-size: 23px;
	display: flex;
	align-items: center;
}

#caixa_general_biblioteca_home .caixa_interna_biblioteca_home .caixa_llistat .columna_biblio .caixa_interna_llibre .caixa_titol_llibre h4 {
	font-family: 'DM Serif Display';
	font-size: 30px;
	font-weight: normal;
}

#caixa_general_biblioteca_home .caixa_interna_biblioteca_home .caixa_llistat .columna_biblio .caixa_interna_llibre .caixa_titol_llibre p {
	font-family: 'Playfair Display';
	font-style: italic;
	font-size: 16px;
	font-weight: 500;
}

#caixa_general_projectes_home {
	width: 100%;
	padding-top: 100px;
	padding-bottom: 100px;
	/*background-color: var(--color-gris);*/
}

#caixa_general_projectes_home .caixa_interna_projectes_home {
	width: 100%;
	/*max-width: 1600px;*/
	padding-left: 5%;
	padding-right: 5%;
	display: flex;
	flex-direction: column;
	row-gap: 20px;
	margin: 0 auto;
}

#caixa_general_projectes_home .caixa_interna_projectes_home .single_projecte {
	position: relative;
}

#caixa_general_projectes_home .caixa_interna_projectes_home .single_projecte .caixa_imatge img {
	width: 100%;
}

#caixa_general_projectes_home .caixa_interna_projectes_home .single_projecte .caixa_textos_absoluts {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.5270483193277311) 0%, rgba(0, 0, 0, 0.1) 100%);
	z-index: 1;
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 8%;
	align-items: start;
}

#caixa_general_projectes_home .caixa_interna_projectes_home .single_projecte .caixa_textos_absoluts .titol_seccio {
	font-family: 'Roboto Mono';
	font-size: 35px;
	text-transform: uppercase;
	line-height: 1;
	font-weight: normal;
	margin-bottom: 20px;
}

#caixa_general_projectes_home .caixa_interna_projectes_home .single_projecte .caixa_textos_absoluts .subtitol {
	font-family: 'Playfair Display';
	font-size: 20px;
	font-weight: normal;
	line-height: 1.1;
}

.imatge_absoluta_bottom_right {
	position: absolute !important;
	width: 30% !important;
	bottom: -1px !important;
	right: -1px !important;
	transition: all 0.6s;
}

.imatge_absoluta_top_right {
	position: absolute !important;
	width: 30% !important;
	top: -1px !important;
	right: 0 !important;
	transition: all 0.6s;
}

.single_servei .imatge_absoluta_bottom_right,
.single_projecte .imatge_absoluta_bottom_right {
	width: 30% !important;
}

.single_servei .imatge_absoluta_top_right,
.single_projecte .imatge_absoluta_top_right {
	width: 30% !important;
}

.single_servei:hover .imatge_absoluta_bottom_right,
.single_projecte:hover .imatge_absoluta_bottom_right {
	width: 35% !important;
}

.single_servei:hover .imatge_absoluta_top_right,
.single_projecte:hover .imatge_absoluta_top_right {
	width: 35% !important;
}

#caixa_general_serveis_home {
	width: 100%;
	padding-top: 100px;
	padding-bottom: 100px;
	background-color: var(--color-gris);
}

#caixa_general_serveis_home .caixa_interna_serveis_home {
	width: 100%;
	padding-left: 5%;
	padding-right: 5%;
	display: flex;
	flex-direction: column;
	row-gap: 20px;
	margin: 0 auto;
}

#caixa_general_serveis_home .caixa_interna_serveis_home .single_servei {
	position: relative;
}

#caixa_general_serveis_home .caixa_interna_serveis_home .single_servei .caixa_imatge img {
	width: 100%;
}

#caixa_general_serveis_home .caixa_interna_serveis_home .single_servei .caixa_textos_absoluts {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.5270483193277311) 0%, rgba(0, 0, 0, 0.1) 100%);
	z-index: 1;
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 8%;
	align-items: start;
	padding-right: 30%;
}

#caixa_general_serveis_home .caixa_interna_serveis_home .single_servei .caixa_textos_absoluts .titol_seccio {
	font-family: 'Roboto Mono';
	font-size: 35px;
	text-transform: uppercase;
	line-height: 1;
	font-weight: normal;
	margin-bottom: 20px;
}

#caixa_general_serveis_home .caixa_interna_serveis_home .single_servei .caixa_textos_absoluts .subtitol {
	font-family: 'Playfair Display';
	font-size: 20px;
	font-weight: normal;
	line-height: 1.1;
}

#caixa_general_premis_home {
	width: 100%;
	padding-top: 100px;
	padding-bottom: 100px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}

#caixa_general_premis_home .caixa_interna_premis_home {
	width: 100%;
	padding-left: 5%;
	padding-right: 0;
	display: flex;
	flex-direction: column;
	row-gap: 20px;
	margin: 0 auto;
}

#caixa_general_premis_home .caixa_interna_premis_home .titol_seccio,
#caixa_general_premis_home .caixa_interna_premis_home .caixa_titol_seccio a {
	color: #fff;
}

#caixa_general_premis_home .single_premi {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: start;
	row-gap: 25px;
	padding: 8% 6%;
}

#caixa_general_premis_home .single_premi .titol {
	font-family: 'Roboto Mono';
	font-size: 28px;
	text-transform: uppercase;
	line-height: 1;
	margin-bottom: 0;
	font-weight: 500;
}

#caixa_general_premis_home .single_premi .subtitol {
	font-family: 'DM Serif Display';
	font-size: 75px;
	font-weight: normal;
	line-height: 1;
	margin-bottom: 0;
}

#caixa_general_premis_home .single_premi .boto_generic {
	font-family: 'Roboto Mono';
	text-transform: uppercase;
}

#caixa_general_premis_home .single_premi.caixa_single_premi_0 {
	color: #662B50;
	background-color: #E2A3C9;
}

#caixa_general_premis_home .single_premi.caixa_single_premi_0 .boto_generic {
	background-color: #662B50;
	color: #E2A3C9;
}

#caixa_general_premis_home .single_premi.caixa_single_premi_1 {
	background-color: #662B50;
	color: #E2A3C9;
}

#caixa_general_premis_home .single_premi.caixa_single_premi_1 .boto_generic {
	color: #662B50;
	background-color: #E2A3C9;
}

/* --- Fi estils home --- */
/* --- Inici pag formacions --- */
.caixa_general_llistat_formacions {
	width: 100%;
	padding-top: 100px;
	padding-bottom: 100px;
	background-color: var(--color-gris);
	overflow-x: hidden;
}

.caixa_general_llistat_formacions .caixa_interna_llistat_formacions {
	width: 100%;
	padding-left: 5%;
	padding-right: 0;
	display: flex;
	flex-direction: column;
	row-gap: 80px;
	margin: 0 auto;
}

.caixa_general_llistat_formacions .caixa_interna_llistat_formacions .caixa_llistat_categoria_formacio {
	display: flex;
	gap: 30px;
}

.caixa_general_llistat_formacions .caixa_interna_llistat_formacions .caixa_llistat_categoria_formacio .caixa_titol_categoria_formacio {
	min-width: 100px;
	border-right: 2px solid #000;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	row-gap: 40px;
}

.caixa_general_llistat_formacions .caixa_interna_llistat_formacions .caixa_llistat_categoria_formacio .caixa_titol_categoria_formacio:hover {
	color: var(--color-principal);
}

.caixa_general_llistat_formacions .caixa_interna_llistat_formacions .caixa_llistat_categoria_formacio .caixa_titol_categoria_formacio .caixa_numero {
	font-family: 'Roboto Mono';
	font-size: 30px;
	font-weight: normal;
}

.caixa_general_llistat_formacions .caixa_interna_llistat_formacions .caixa_llistat_categoria_formacio .caixa_titol_categoria_formacio .caixa_interna_titol h2 {
	writing-mode: sideways-lr;
	font-family: 'DM Serif Display';
	font-size: 49px;
	font-weight: normal;
	line-height: 1;
}

.caixa_single_formacio_list {
	width: 100%;
	background-color: #fff;
	padding: 20px;
	display: flex !important;
	flex-direction: column;
	row-gap: 25px;
	height: 100%;
}

.caixa_single_formacio_list.last {
	padding: 0px;
}

.caixa_single_formacio_list.last .caixa_preus a.btn-vermell {
	width: auto;
	gap: 20px;
	border: 0px;
}

.caixa_single_formacio_list.last .caixa_imatge {
	position: absolute;
	height: 100%;
	z-index: 1;
}

.caixa_single_formacio_list.last .caixa_imatge img {
	height: 100%;
	width: auto;
	object-fit: cover;
}

.caixa_single_formacio_list .caixa_imatge img {
	width: 450px;
	height: 200px;
	object-fit: cover;
}

.caixa_single_formacio_list.last .caixa_textos {
	z-index: 2;
	margin: 20px;
}

.caixa_single_formacio_list .caixa_textos {
	width: 100%;
	display: flex;
	flex-direction: column;
	row-gap: 40px;
	height: 100%;
}

.caixa_single_formacio_list .caixa_textos .caixa_titols {
	display: flex;
	flex-direction: column;
	row-gap: 15px;
	height: 100%;
	justify-content: space-between;
}

.caixa_single_formacio_list .caixa_textos h3 {
	font-family: 'Roboto Mono';
	font-weight: 500;
	font-size: 22px;
	text-transform: uppercase;
	text-wrap-style: pretty;
}

.caixa_single_formacio_list .caixa_textos .text {
	font-family: 'Playfair Display';
	font-size: 14px;
	line-height: 1.1;
}

.caixa_single_formacio_list .caixa_preus {
	display: flex;
	justify-content: space-between;
}

.caixa_single_formacio_list .caixa_preus .col_preu {
	display: flex;
	flex-direction: column;
	row-gap: 5px;
}

.caixa_single_formacio_list .caixa_preus a.btn-vermell {
	width: 35%;
	background-color: var(--color-principal);
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	text-transform: uppercase;
	font-family: 'Roboto Mono';
}

.caixa_single_formacio_list .text_preu {
	font-size: 12px;
	font-family: 'Playfair Display';
}

.caixa_single_formacio_list .preu {
	font-family: 'Roboto Mono';
	font-size: 14px;
	font-weight: 600;
}

/* --- Fi pag formacions --- */
/* --- Inici pag categoria formacions --- */
.caixa_general_cat_formacions {
	width: 100%;
	padding-top: 100px;
	padding-bottom: 100px;
}

.caixa_general_cat_formacions .caixa_interna_pag_cat_formacions {
	width: 100%;
	display: flex;
	flex-direction: column;
	padding-left: 5%;
	padding-right: 5%;
	row-gap: 30px;
}

.caixa_general_cat_formacions .caixa_interna_pag_cat_formacions .caixa_continguts {
	width: 100%;
	display: flex;
	gap: 2%;
}

.caixa_general_cat_formacions .caixa_interna_pag_cat_formacions .caixa_continguts .caixa_imatge_contingut {
	border-right: 2px solid #000;
	width: 30%;
	min-width: 30%;
	padding-right: 2%;
}

.caixa_general_cat_formacions .caixa_interna_pag_cat_formacions .caixa_continguts .caixa_text_principal {
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	row-gap: 40px;
	align-items: start;
}

.caixa_general_cat_formacions .caixa_interna_pag_cat_formacions .caixa_continguts .caixa_text_principal .text {
	font-size: 18px;
	font-family: 'Playfair Display';
	font-weight: 400;
}

.caixa_general_cat_formacions .caixa_interna_pag_cat_formacions .caixa_continguts .caixa_text_principal .text a {
	color: var(--color-principal);
}

.caixa_general_llistat_formacions_categoria {
	width: 100%;
}

.caixa_general_llistat_formacions_categoria .caixa_interna_llistat_formacions_categoria {
	width: 100%;
	display: flex;
	flex-direction: column;
}

.caixa_general_llistat_formacions_categoria .caixa_interna_llistat_formacions_categoria .caixa_seccio_titol {
	width: 100%;
	padding-left: 5%;
	padding-right: 5%;
	padding-top: 50px;
	padding-bottom: 50px;
}

.caixa_general_llistat_formacions_categoria .caixa_interna_llistat_formacions_categoria .caixa_llistat_opcions_categoria {
	width: 100%;
	padding-left: 5%;
	padding-right: 5%;
	padding-top: 50px;
	padding-bottom: 50px;
	background-color: #E9E9E9;
}

.caixa_general_llistat_formacions_categoria .caixa_interna_llistat_formacions_categoria .caixa_llistat_opcions_categoria ul {
	padding-left: 0;
	list-style: none;
	display: flex;
	gap: 15px;
	margin: 0;
}

.caixa_general_llistat_formacions_categoria .caixa_interna_llistat_formacions_categoria .caixa_llistat_opcions_categoria li {
	text-transform: uppercase;
	font-family: 'Roboto Mono';
	font-weight: 500;
	font-size: 20px;
	cursor: pointer;
	transition: 0.2s all;
	display: flex;
	gap: 15px;
	align-items: center;
}

.caixa_general_llistat_formacions_categoria .caixa_interna_llistat_formacions_categoria .caixa_llistat_opcions_categoria li:not(:last-child):after {
	content: '';
	height: 80%;
	display: block;
	width: 2px;
	background-color: black;
}

.caixa_general_llistat_formacions_categoria .caixa_interna_llistat_formacions_categoria .caixa_llistat_opcions_categoria li:hover {
	color: var(--color-principal);
}

.caixa_general_llistat_formacions_categoria .caixa_interna_llistat_formacions_categoria .caixa_llistat_opcions_categoria li.selected {
	color: var(--color-principal);
	pointer-events: none;
	cursor: default;
}

.caixa_general_llistat_formacions_categoria .caixa_interna_llistat_formacions_categoria .caixa_llistat {
	width: 100%;
	padding-left: 5%;
	padding-right: 5%;
	padding-top: 50px;
	padding-bottom: 50px;
	background-color: #E9E9E9;
}

.caixa_general_llistat_formacions_categoria .caixa_interna_llistat_formacions_categoria .caixa_llistat .swiper-wrapper {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	gap: 3vh 2%;
}

.caixa_general_llistat_formacions_categoria .caixa_interna_llistat_formacions_categoria .caixa_llistat .caixa_single_formacio_list {
	width: 23.5%;
	height: auto;
}

.caixa_general_llistat_formacions_categoria .caixa_interna_llistat_formacions_categoria .caixa_llistat .caixa_single_formacio_list .caixa_imatge img {
	width: 100%;
}

.caixa_general_llistat_formacions_categoria .caixa_seccio_titol .titol_seccio {
	font-family: 'DM Serif Display';
	font-size: 44px;
}

/* --- Fi pag categoria formacions --- */
/* --- Inici pag single formacio --- */
.caixa_general_single_formacio {
	width: 100%;
	display: flex;
	overflow: hidden;
	padding-top: 100px;
	padding-bottom: 100px;

}

.caixa_interna_single_formacio {
	width: 100%;
	padding-left: 5%;
	padding-right: 5%;
	display: flex;
}

.caixa_interna_single_formacio .caixa_continguts {
	width: 100%;
	padding-right: 3%;
	display: flex;
	flex-direction: column;
	row-gap: 30px;
}

.caixa_interna_single_formacio:has(.caixa_preus) .caixa_continguts {
	width: 65%;
	border-right: 2px solid #000;
}

.caixa_interna_single_formacio .caixa_continguts .caixa_imatge {
	max-width: 625px;
}

.caixa_interna_single_formacio .caixa_continguts .text {
	font-size: 18px;
	font-family: 'Playfair Display';
	font-weight: 500;
}

.caixa_interna_single_formacio h1 {
	font-family: 'DM Serif Display';
	font-size: 55px;
	line-height: 1.1;
}

.caixa_interna_single_formacio .caixa_preus {
	padding-left: 3%;
	width: 30%;
	display: flex;
	flex-direction: column;
	row-gap: 20px;
}

.caixa_interna_single_formacio .caixa_preus .caixa_botons {
	display: flex;
	gap: 15px;
}

.caixa_interna_single_formacio .caixa_preus .caixa_textos_col_preus {
	display: flex;
	flex-wrap: wrap;
	/* margin-top: 20px; */
	/* margin-bottom: 20px; */
	gap: 20px;
}

.caixa_interna_single_formacio .caixa_preus .caixa_textos_col_preus .titol {
	width: 100%;
	font-family: 'Roboto Mono';
	text-transform: uppercase;
	font-size: 20px;
	font-weight: 500;
}

.caixa_interna_single_formacio .caixa_preus .caixa_textos_col_preus .col_preu {
	display: flex;
	flex-direction: column;
}

.caixa_interna_single_formacio .caixa_preus .caixa_textos_col_preus .col_preu .preu {
	font-family: 'Roboto Mono';
	font-size: 16px;
	font-weight: 500;
}

.caixa_interna_single_formacio .caixa_preus .caixa_textos_col_preus {
	font-family: 'Playfair Display';
	font-size: 16px;
}

#bottom_info_formacio {
	border: 0px;
	padding: 0px;
}

#bottom_info_formacio * {
	padding: 0px;
	background-color: transparent;
	border: 0px;
	color: black;
	margin: 0px;
	width: 100%;
}

#bottom_info_formacio .ui-tabs-nav {
	/* padding: 10px 0px; */
	display: flex;
	/* gap: 25px; */
	text-transform: uppercase;
	font-family: 'Roboto Mono';
}

#bottom_info_formacio .ui-tabs-tab {
	border-bottom: 1px solid grey;
	width: 100%;
	padding: 0 30px;
	text-align: center;
	padding-bottom: 5px;
}

#bottom_info_formacio .caixa_info_extra_tab {
	padding-top: 10px;
}

#bottom_info_formacio .ui-state-active {
	border-bottom: 2px solid black;
}

/* --- Fi pag single formacio --- */
/* --- Inici estils pag contacte --- */
.pagina_contacte {
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
}

.caixa_interna_pag_contacte {
	display: flex;
	/*justify-content: space-between;*/
	flex-direction: column;
	row-gap: 60px;
	margin-top: 200px;
	margin-bottom: 200px;
}

.caixa_interna_pag_contacte .caixa_textos {
	width: 100%;
	display: flex;
	flex-direction: column;
	font-family: 'Roboto';
	font-size: 16px;
	font-weight: 300;
	row-gap: 30px;
	padding-right: 5%;
}

.caixa_interna_pag_contacte .caixa_textos h1 {
	font-family: 'Roboto';
	font-size: 80px;
	color: #000;
	margin-top: 0;
	margin-bottom: 0;
	line-height: 1.1;

}

.caixa_interna_pag_contacte .caixa_formularis {
	width: 100%;
}

.caixa_formularis {
	background-color: transparent;
	border: 0px solid var(--color-secundari);
	border-radius: 0px;
	padding: 0px;
}

.caixa_formularis * {
	background-color: unset !important;
	color: var(--color-secundari) !important;
	border: 0px !important;
	padding: 0px !important;
	margin: 0px !important;
	border-radius: 0px
}

.caixa_formularis .ui-tabs-nav li {
	padding: 10px 15px !important;
	border: 1px solid grey !important;
	border-bottom: 0px !important;
	font-weight: normal !important;
	top: 1px;
	margin-right: 5px !important;
}

.caixa_formularis li.ui-tabs-active {
	border: 1px solid var(--color-secundari) !important;
	background-color: #fff !important;
	border-bottom: 0px #fff !important;
	font-weight: bold !important;
}

.caixa_formularis .ui-tabs-panel {
	background-color: #fff !important;
	padding: 30px !important;
	font-size: 16px !important;
	border: 1px solid var(--color-secundari) !important;
	color: var(--color-secundari) !important;
}

.caixa_formularis .ui-tabs-panel hr {
	border-bottom: 1px solid lightgrey !important;
	margin: 30px 0px !important;
}

.caixa_formularis .ui-tabs-panel table td {
	vertical-align: baseline;
	padding-right: 20px !important;
}

.caixa_formularis .ui-tabs-panel h2 {
	font-size: 18px;
	text-transform: uppercase;
	color: var(--color-secundari) !important;
	padding-bottom: 20px !important;
}

.caixa_formularis .ui-tabs-panel ul {
	padding-left: 1.1em !important;
}

.caixa_formularis .ui-tabs-panel .adjunt {
	display: flex;
	align-items: center;
	border-bottom: 1px solid lightgrey !important;
	padding-bottom: 15px !important;
	margin-bottom: 15px !important;
}

.caixa_formularis .ui-tabs-panel .adjunt>span {
	width: 100%;
	font-weight: bold;
}

.caixa_formularis .ui-tabs-panel .adjunt .btn {
	width: auto;
	background-color: var(--color-secundari) !important;
	color: white !important;
	padding: 5px 15px !important;
	display: flex;
	align-items: baseline;
	gap: 5px;
	text-transform: uppercase;
	font-size: 14px;
}

/* --- Fi estils pag contacte --- */

.titol_generic.center {
	width: 100%;
	text-align: center;
	margin-top: 55px;
	text-transform: uppercase;
	font-size: 25px;
	color: var(--color-principal);
}

.paginacio {
	text-align: center;
	margin: 15px;
	margin-bottom: 25px;
	width: 100%;
	font-weight: 500;
}

.paginacio a {
	display: inline-block;
	vertical-align: top;
	height: 30px;
	width: 30px;
	line-height: 28px;
	font-size: 14px;
	text-decoration: none;
	color: #333;
	background-color: #FFFFFF;
	/*border: 1px solid #FF2488;*/
}

.paginacio a.next,
.paginacio a.prev {
	font-size: 30px !important;
	line-height: 20px;
	border: none !important;
}

a.selected {
	color: #fff;
	background-color: #333;
	font-weight: bold;
}

.owl-dots {
	text-align: center;
	margin-top: 15px;
}

.owl-dot {
	margin: 0px 5px;
}

.owl-dot,
.owl-dots span {
	display: inline-block;
}

.owl-dot span {
	display: inline-block;
	vertical-align: middle;
	width: 20px;
	height: 20px;
	background-color: #808080;
	border: 3px solid #FFF;
	border-radius: 50%;
	transition: all .5s ease;
}

.owl-dot.active span {
	height: 20px;
	width: 20px;
	background-color: var(--color-secundari);
	border-color: #fff
}

.banner_categories {
	background-size: cover !important;
	position: relative;
}

.banner_categories::before {
	content: "";
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.4);
	z-index: 1;
}

.banner_categories .container {
	max-width: 1600px;
	margin: 0px auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 300px;
	color: #fff;
	font-size: 20px;
	position: relative;
	z-index: 99;

}

.banner_categories .container .t {
	font-size: 35px;
	/* font-family: 'Oswald'; */
}

.owl-slide-petit {
	margin-bottom: 80px;
	position: relative;
}

.owl-slide-petit .owl-dots {
	position: absolute;
	bottom: 30px;
	left: 0;
	right: 0;
}

.container_web {
	max-width: 1600px;
	margin: 0px auto;
	padding: 0px 25px;
}

/* --- SUBSCRIPCIONS ---*/

.subscripcions_banner {
	display: flex;
	justify-content: center;
	padding: 50px;
	background-color: var(--color-terciari);
	color: white;
	flex-direction: column;
	align-items: center;
	gap: 40px;
}

.subscripcions_banner .titol {
	margin: 0px;
	font-size: 75px;
	font-family: 'Playfair Display';
	font-weight: 600;
	line-height: normal;
}

.subscripcions_banner .revista {
	display: flex;
	flex-direction: column;
	gap: 10px;
	align-items: center;
}

.subscripcions_banner .revista .revista_titol {
	font-size: 18px;
	font-family: 'Playfair Display';
}

.subscripcions_banner .revista .list {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	max-width: 800px;
	gap: 15px;
}

.subscripcions_banner .revista .list a {
	color: white;
	border: 1px solid white;
	padding: 5px 20px;
	font-family: 'Roboto Mono';
	text-transform: uppercase;
	font-size: 14px;
	display: flex;
	align-items: center;
	gap: 15px;
}

.subscripcions_banner .revista .list a:after {
	content: '\f061';
	font-family: 'Font Awesome 5 Pro';
	font-size: 18px;
	font-weight: 100;
}

.subscripcions {
	display: flex;
	flex-wrap: wrap;
	padding: 5%;
	background-color: #E9E9E9;
	gap: 3%;
	row-gap: 50px;
}

.subscripcions .subscripcio {
	width: 31.33%;
	background-color: #DDDDDD;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.subscripcions .subscripcio .banner {
	width: 100%;
	/* height: 150px; */
}

.subscripcions .subscripcio .tipus {
	padding: 40px;
	height: 100%;
}

.subscripcions .subscripcio .info {
	display: flex;
	flex-direction: column;
	text-align: center;
	gap: 20px;
	font-family: 'Roboto Mono';
	align-items: center;
	height: 100%;
}

.subscripcions .subscripcio .info .titol {
	font-size: 20px;
	line-height: normal;
	font-weight: 500;
}

.subscripcions .subscripcio .info .titol_parent {
	font-size: 30px;
	line-height: normal;
}

.subscripcions .subscripcio .info .preu {
	font-size: 35px;
	color: var(--color-principal);
	font-weight: 400;
	line-height: normal;
}

.subscripcions .subscripcio .info .text {
	font-family: 'Playfair Display';
	text-wrap-style: balance;
	height: 100%;
}

.subscripcions .subscripcio .info>a {
	background-color: var(--color-principal);
	color: white;
	padding: 10px 15px;
}

.subscripcions .subscripcio .destacat {
	width: 100%;
}

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

/* SINGLE REVISTA */

.item_revista {
	display: flex;
	/* padding: 50px 15%; */
	position: relative;
	align-items: flex-start;
	justify-content: space-between;
	/* background-color: lightgrey; */
}

.item_revista .left {
	width: 40%;
	position: sticky;
	display: flex;
	flex-direction: column;
	gap: 30px;
	background-color: lightgray;
	padding: 3%;
}

.item_revista .titles {
	font-family: 'Playfair Display';
	display: flex;
	flex-direction: column;
	gap: 1em;
}

.item_revista .title {
	font-weight: bold;
	margin: 0px;
	font-size: 50px;
	line-height: 1;
	text-wrap-style: balance;
}

.item_revista .data {
	font-family: 'Roboto Mono';
	display: flex;
	font-size: 16px;
	text-transform: uppercase;
	gap: 40px;
	align-items: baseline;
	/* flex-direction: column; */
}

.item_revista .data-bottom {
	height: 100%;
	display: flex;
	justify-content: space-between;
	position: relative;
	/* overflow: hidden; */
	align-items: flex-start;
}

.item_revista .data-bottom .summary {
	width: 45%;
	height: 100%;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.item_revista .data-bottom .summary h3 {
	font-family: 'Playfair Display';
	font-size: 20px;
}

.item_revista .price {
	background-color: var(--color-principal);
	padding: 10px;
	border: 0px;
	color: white;
	line-height: normal;
	border: 1px solid var(--color-principal);
}

.item_revista .add_to_cart {
	background-color: white;
}

.item_revista .add_to_cart:hover {
	background-color: black;
	color: white;
}

.item_revista .gallery {
	height: 100%;
	width: auto;
	object-fit: contain;
	overflow: hidden;
	object-position: left;
}

.item_revista .contents {
	width: 60%;
	height: 100%;
	position: relative;
	background-color: white;
	padding-left: 3%;
	padding-right: 3%;
	padding-bottom: 3%;
}

.item_revista .header {
	display: flex;
	/* gap: 30px; */
	font-family: 'Roboto Mono';
	font-size: 18px;
	text-transform: uppercase;
	flex-direction: column;
	position: sticky;
	background-color: white;
	z-index: 1;
}

.item_revista .header .tabs {
	padding: 30px 0;
	margin-bottom: 15px;
	padding-bottom: 15px;
	border-bottom: 1px solid;
	display: flex;
	gap: 40px;
	align-items: flex-start;
}

.item_revista .header .th {
	text-transform: capitalize;
	display: flex;
	justify-content: space-between;
	padding-bottom: 15px;
	border-bottom: 1px solid lightgrey;
	font-size: 16px;
	font-weight: bold;
}

.item_revista .header .tabs span {
	cursor: pointer;
}

.item_revista .header .tabs span.active {
	font-weight: bold;
	color: var(--color-principal);
}

.item_revista .body {
	position: relative;
	top: 20px;
}

.item_revista .body>div {
	display: none;
}

.item_revista .body>div.active {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.item_revista .entry {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px;
	font-family: 'Roboto Mono';
	border-bottom: 1px solid lightgrey;
	padding-bottom: 40px;
}

.item_revista .entry a {
	display: flex;
	color: var(--color-principal);
	width: 50%;
}

.item_revista .entry span {
	font-weight: bold;
}

.item_revista .entry .mobile {
	display: none;
}

.item_revista .entry div {
	width: 100%;
	text-align: justify;
}

.related {
	padding: 50px 5%;
	background-color: #898989;
	display: flex;
	/* flex-direction: column; */
	gap: 20px;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
}

.related:last-of-type {
	background-color: var(--color-terciari);

}

.related h2 {
	color: white;
	font-family: 'Playfair Display';
	font-size: 37px;
	font-weight: 500;
}

.related .items {
	overflow-x: hidden;
	position: relative;
	width: 100%;
	--swiper-pagination-bottom: 0;
	padding-bottom: 25px;
	--swiper-pagination-color: white;
	--swiper-pagination-bullet-inactive-color: white;
}

.related .item {
	display: flex;
	padding: 20px;
	background-color: white;
	gap: 20px;
	height: auto;
}

.related .item img {
	/* aspect-ratio: 1; */
	object-fit: contain;
	width: 50%;
}

.item_llibre+.related .item img {
	/* aspect-ratio: 1; */
	object-fit: contain;
	width: 50%;
	border: 1px solid lightgrey;
}

.related .item .container {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.related .item .title {
	height: 100%;
	font-family: 'Roboto Mono';
	text-wrap-style: balance;
}

.related .item .price {
	display: flex;
	flex-direction: column;
	text-transform: uppercase;
	align-items: flex-start;
	font-family: 'Roboto Mono';
	gap: 5px;
	font-size: 12px;
}

.related .item .price .label {
	font-weight: 600;
}

.related .item .price .value {
	background-color: var(--color-principal);
	padding: 5px 10px;
	border: 0px;
	color: white;
	/* cursor: pointer; */
	line-height: normal;
	border: 1px solid var(--color-principal);
}

.related .item .cta {
	text-transform: uppercase;
	font-family: 'Roboto Mono';
	font-size: 12px;
}

.related>a {
	font-family: 'Playfair Display';
	/* font-style: italic; */
	color: white;
	display: inline-flex;
	gap: 10px;
	align-items: center;
}


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

/* --- ITEM LLIBRE --- */

.item_llibre {
	display: flex;
	margin: 5% 5%;
	position: relative;
	gap: 5%;
	align-items: flex-start;
	align-content: flex-start;
	flex-direction: row;
}

.item_llibre .left {
	width: auto;
	position: sticky;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	aspect-ratio: 3 / 4;
}

.item_llibre .left .back {
	height: 100%;
}

.item_llibre .left .destacat {
	position: absolute;
	height: auto;
	width: 55%;
	top: 21.4%;
	opacity: 1;
}

.item_llibre .right {
	width: auto;
	display: flex;
	flex-direction: column;
}

.item_llibre .right .title {
	line-height: 1;
	margin: 0px;
	font-family: 'Playfair Display';
	font-weight: bold;
	font-size: 55px;
	margin-bottom: 30px;
}

.item_llibre .right .desc {
	font-family: 'Playfair Display';
	font-size: 16px;
	margin-bottom: 20px;
}

.item_llibre .right .price {
	margin-bottom: 30px;
	font-size: 16px;
}

.item_llibre .right .price .value {
	font-family: 'Roboto Mono';
}

.item_llibre .right .buttons {
	display: flex;
	flex-direction: column;
	max-width: 300px;
	gap: 10px;
}

.item_llibre .right .caracs {
	margin-top: 40px;
	display: flex;
	flex-wrap: wrap;
	row-gap: 10px;
}

.item_llibre .right .caracs>div {
	width: 50%;
	display: flex;
	flex-direction: column;
	font-family: 'Playfair Display';
}

.item_llibre .right .caracs>div span:nth-child(1) {
	font-weight: bold;
	text-transform: uppercase;
	font-family: 'Roboto Mono';
}

.item_llibre .right .label {
	font-family: 'Roboto Mono';
	text-transform: uppercase;
	font-size: 16px;
	margin-bottom: 10px;
	font-weight: bold;
}

.item_llibre .button {}


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

/* NEWSLETTER */

.newsletter_section {
	display: flex;
	align-items: center;
	background-color: var(--color-principal);
	color: white;
	gap: 5%;
	/* padding-right: 5%; */
}

.newsletter_section>img {
	width: 33%;
}

.newsletter_section>.titol {
	width: 25%;
	font-size: 60px;
	line-height: normal;
	font-family: 'Playfair Display';
	text-wrap-style: balance;
	font-weight: 500;
}

.newsletter_section>div {
	width: 20%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 40px;
}

.newsletter_section>div>span {
	font-family: 'Playfair Display';
}

.newsletter_section>div>.btn {
	color: var(--color-principal);
	text-transform: uppercase;
}

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

/*Magnific popup*/

.mfp-bg,
.mfp-wrap {
	position: fixed;
	left: 0;
	top: 0
}

.mfp-bg,
.mfp-container,
.mfp-wrap {
	height: 100%;
	width: 100%
}

.mfp-container:before,
.mfp-figure:after {
	content: ''
}

.mfp-bg {
	z-index: 1042;
	overflow: hidden;
	background: #0b0b0b;
	opacity: .8;
	filter: alpha(opacity=80)
}

.mfp-wrap {
	z-index: 1043;
	outline: 0 !important;
	-webkit-backface-visibility: hidden
}

.mfp-container {
	text-align: center;
	position: absolute;
	left: 0;
	top: 0;
	padding: 0 8px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box
}

.mfp-container:before {
	display: inline-block;
	height: 100%;
	vertical-align: middle
}

.mfp-align-top .mfp-container:before {
	display: none
}

.mfp-content {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	margin: 0 auto;
	text-align: left;
	z-index: 1045
}

.mfp-close,
.mfp-preloader {
	text-align: center;
	position: absolute
}

.mfp-ajax-holder .mfp-content,
.mfp-inline-holder .mfp-content {
	width: 100%;
	cursor: auto
}

.mfp-ajax-cur {
	cursor: progress
}

.mfp-zoom-out-cur,
.mfp-zoom-out-cur .mfp-image-holder .mfp-close {
	cursor: -moz-zoom-out;
	cursor: -webkit-zoom-out;
	cursor: zoom-out
}

.mfp-zoom {
	cursor: pointer;
	cursor: -webkit-zoom-in;
	cursor: -moz-zoom-in;
	cursor: zoom-in
}

.mfp-auto-cursor .mfp-content {
	cursor: auto
}

.mfp-arrow,
.mfp-close,
.mfp-counter,
.mfp-preloader {
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none
}

.mfp-loading.mfp-figure {
	display: none
}

.mfp-hide {
	display: none !important
}

.mfp-preloader {
	color: #ccc;
	top: 50%;
	width: auto;
	margin-top: -.8em;
	left: 8px;
	right: 8px;
	z-index: 1044
}

.mfp-preloader a {
	color: #ccc
}

.mfp-close,
.mfp-preloader a:hover {
	color: #fff
}

.mfp-s-error .mfp-content,
.mfp-s-ready .mfp-preloader {
	display: none
}

button.mfp-arrow,
button.mfp-close {
	overflow: visible;
	cursor: pointer;
	background: 0 0;
	border: 0;
	-webkit-appearance: none;
	display: block;
	outline: 0;
	padding: 0;
	z-index: 1046;
	-webkit-box-shadow: none;
	box-shadow: none
}

button::-moz-focus-inner {
	padding: 0;
	border: 0
}

.mfp-close {
	width: 44px;
	height: 44px;
	line-height: 44px;
	right: 0;
	top: 0;
	text-decoration: none;
	opacity: .65;
	filter: alpha(opacity=65);
	padding: 0 0 18px 10px;
	font-style: normal;
	font-size: 28px;
	font-family: Arial, Baskerville, monospace
}

.mfp-close:focus,
.mfp-close:hover {
	opacity: 1;
	filter: alpha(opacity=100)
}

.mfp-close:active {
	top: 1px
}

.mfp-close-btn-in .mfp-close {
	color: #333
}

.mfp-iframe-holder .mfp-close,
.mfp-image-holder .mfp-close {
	color: #fff;
	right: -6px;
	text-align: right;
	padding-right: 6px;
	width: 100%
}

.mfp-counter {
	position: absolute;
	top: 0;
	right: 0;
	color: #ccc;
	font-size: 12px;
	line-height: 18px
}

.mfp-figure,
img.mfp-img {
	line-height: 0
}

.mfp-arrow {
	position: absolute;
	opacity: .65;
	filter: alpha(opacity=65);
	margin: -55px 0 0;
	top: 50%;
	padding: 0;
	width: 90px;
	height: 110px;
	-webkit-tap-highlight-color: transparent
}

.mfp-arrow:active {
	margin-top: -54px
}

.mfp-arrow:focus,
.mfp-arrow:hover {
	opacity: 1;
	filter: alpha(opacity=100)
}

.mfp-arrow .mfp-a,
.mfp-arrow .mfp-b,
.mfp-arrow:after,
.mfp-arrow:before {
	content: '';
	display: block;
	width: 0;
	height: 0;
	position: absolute;
	left: 0;
	top: 0;
	margin-top: 35px;
	margin-left: 35px;
	border: inset transparent
}

.mfp-arrow .mfp-a,
.mfp-arrow:after {
	border-top-width: 13px;
	border-bottom-width: 13px;
	top: 8px
}

.mfp-arrow .mfp-b,
.mfp-arrow:before {
	border-top-width: 21px;
	border-bottom-width: 21px;
	opacity: .7
}

.mfp-arrow-left {
	left: 0
}

.mfp-arrow-left .mfp-a,
.mfp-arrow-left:after {
	border-right: 17px solid #fff;
	margin-left: 31px
}

.mfp-arrow-left .mfp-b,
.mfp-arrow-left:before {
	margin-left: 25px;
	border-right: 27px solid #3f3f3f
}

.mfp-arrow-right {
	right: 0
}

.mfp-arrow-right .mfp-a,
.mfp-arrow-right:after {
	border-left: 17px solid #fff;
	margin-left: 39px
}

.mfp-arrow-right .mfp-b,
.mfp-arrow-right:before {
	border-left: 27px solid #3f3f3f
}

.mfp-iframe-holder {
	padding-top: 40px;
	padding-bottom: 40px
}

.mfp-iframe-holder .mfp-content {
	line-height: 0;
	width: 100%;
	max-width: 900px
}

.mfp-image-holder .mfp-content,
img.mfp-img {
	max-width: 100%
}

.mfp-iframe-holder .mfp-close {
	top: -40px
}

.mfp-iframe-scaler {
	width: 100%;
	height: 0;
	overflow: hidden;
	padding-top: 56.25%
}

.mfp-iframe-scaler iframe {
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	box-shadow: 0 0 8px rgba(0, 0, 0, .6);
	background: #000
}

.mfp-figure:after,
img.mfp-img {
	width: auto;
	height: auto;
	display: block
}

img.mfp-img {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 40px 0;
	margin: 0 auto
}

.mfp-figure:after {
	position: absolute;
	left: 0;
	top: 40px;
	bottom: 40px;
	right: 0;
	z-index: -1;
	box-shadow: 0 0 8px rgba(0, 0, 0, .6);
	background: #444
}

.mfp-figure small {
	color: #bdbdbd;
	display: block;
	font-size: 12px;
	line-height: 14px
}

.mfp-figure figure {
	margin: 0
}

.mfp-bottom-bar {
	margin-top: -36px;
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	cursor: auto
}

.mfp-title {
	text-align: left;
	line-height: 18px;
	color: #f3f3f3;
	word-wrap: break-word;
	padding-right: 36px
}

.mfp-gallery .mfp-image-holder .mfp-figure {
	cursor: pointer
}

@media screen and (max-width:800px) and (orientation:landscape),
screen and (max-height:300px) {
	.mfp-img-mobile .mfp-image-holder {
		padding-left: 0;
		padding-right: 0
	}

	.mfp-img-mobile img.mfp-img {
		padding: 0
	}

	.mfp-img-mobile .mfp-figure:after {
		top: 0;
		bottom: 0
	}

	.mfp-img-mobile .mfp-figure small {
		display: inline;
		margin-left: 5px
	}

	.mfp-img-mobile .mfp-bottom-bar {
		background: rgba(0, 0, 0, .6);
		bottom: 0;
		margin: 0;
		top: auto;
		padding: 3px 5px;
		position: fixed;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box
	}

	.mfp-img-mobile .mfp-bottom-bar:empty {
		padding: 0
	}

	.mfp-img-mobile .mfp-counter {
		right: 5px;
		top: 3px
	}

	.mfp-img-mobile .mfp-close {
		top: 0;
		right: 0;
		width: 35px;
		height: 35px;
		line-height: 35px;
		background: rgba(0, 0, 0, .6);
		position: fixed;
		text-align: center;
		padding: 0
	}
}

@media all and (max-width:900px) {
	.mfp-arrow {
		-webkit-transform: scale(.75);
		transform: scale(.75)
	}

	.mfp-arrow-left {
		-webkit-transform-origin: 0;
		transform-origin: 0
	}

	.mfp-arrow-right {
		-webkit-transform-origin: 100%;
		transform-origin: 100%
	}

	.mfp-container {
		padding-left: 6px;
		padding-right: 6px
	}
}

.mfp-ie7 .mfp-img {
	padding: 0
}

.mfp-ie7 .mfp-bottom-bar {
	width: 600px;
	left: 50%;
	margin-left: -300px;
	margin-top: 5px;
	padding-bottom: 5px
}

.mfp-ie7 .mfp-container {
	padding: 0
}

.mfp-ie7 .mfp-content {
	padding-top: 44px
}

.mfp-ie7 .mfp-close {
	top: 0;
	right: 0;
	padding-top: 0
}

.mfp-fade.mfp-bg {
	opacity: 0;
	-webkit-transition: all 0.15s ease-out;
	-moz-transition: all 0.15s ease-out;
	transition: all 0.15s ease-out;
}

.mfp-fade.mfp-bg.mfp-ready {
	opacity: 0.8;
}

.mfp-fade.mfp-bg.mfp-removing {
	opacity: 0;
}

.mfp-fade.mfp-wrap .mfp-content {
	opacity: 0;
	-webkit-transition: all 0.15s ease-out;
	-moz-transition: all 0.15s ease-out;
	transition: all 0.15s ease-out;
}

.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
	opacity: 1;
}

.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
	opacity: 0;
}

.mfp-slide.mfp-wrap .mfp-content {
	margin-top: -50px;
}

.mfp-slide.mfp-wrap.mfp-ready .mfp-content {
	margin-top: 0;
}

.close_popup {
	position: absolute;
	top: 30px;
	right: 30px;
	cursor: pointer;
	font-size: 25px;
}

.white-popup {
	background: #FFF;
	padding: 30px;
	text-align: left;
	max-width: 90%;
	width: 900px;
	margin: 40px auto;
	position: relative;
	overflow: auto;
	color: #000;
}

.white-popup-ajax {
	position: relative;
	background: #FFF;
	/* padding: 35px; */
	width: 1000px;
	max-width: 100%;
	overflow: auto;
	margin: 20px auto;
	border-radius: 10px;
}

/*! PhotoSwipe main CSS by Dmitry Semenov | photoswipe.com | MIT license */

/*
	Styles for basic PhotoSwipe functionality (sliding area, open/close transitions)
*/

/* pswp = photoswipe */

.pswp {
	display: none;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	overflow: hidden;
	-ms-touch-action: none;
	touch-action: none;
	z-index: 1600;
	-webkit-text-size-adjust: 100%;
	/* create separate layer, to avoid paint on window.onscroll in webkit/blink */
	-webkit-backface-visibility: hidden;
	outline: none;
}

.pswp * {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.pswp img {
	max-width: none;
}

/* style is added when JS option showHideOpacity is set to true */

.pswp--animate_opacity {
	/* 0.001, because opacity:0 doesn't trigger Paint action, which causes lag at start of transition */
	opacity: 0.001;
	will-change: opacity;
	/* for open/close transition */
	-webkit-transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
	transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
}

.pswp--open {
	display: block;
}

.pswp--zoom-allowed .pswp__img {
	/* autoprefixer: off */
	cursor: -webkit-zoom-in;
	cursor: -moz-zoom-in;
	cursor: zoom-in;
}

.pswp--zoomed-in .pswp__img {
	/* autoprefixer: off */
	cursor: -webkit-grab;
	cursor: -moz-grab;
	cursor: grab;
}

.pswp--dragging .pswp__img {
	/* autoprefixer: off */
	cursor: -webkit-grabbing;
	cursor: -moz-grabbing;
	cursor: grabbing;
}

/*
	Background is added as a separate element.
	As animating opacity is much faster than animating rgba() background-color.
*/

.pswp__bg {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: #000;
	opacity: 0;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-backface-visibility: hidden;
	will-change: opacity;
}

.pswp__scroll-wrap {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.pswp__container,
.pswp__zoom-wrap {
	-ms-touch-action: none;
	touch-action: none;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
}

/* Prevent selection and tap highlights */

.pswp__container,
.pswp__img {
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-tap-highlight-color: transparent;
	-webkit-touch-callout: none;
}

.pswp__zoom-wrap {
	position: absolute;
	width: 100%;
	-webkit-transform-origin: left top;
	-ms-transform-origin: left top;
	transform-origin: left top;
	/* for open/close transition */
	-webkit-transition: -webkit-transform 333ms cubic-bezier(0.4, 0, 0.22, 1);
	transition: transform 333ms cubic-bezier(0.4, 0, 0.22, 1);
}

.pswp__bg {
	will-change: opacity;
	/* for open/close transition */
	-webkit-transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
	transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
}

.pswp--animated-in .pswp__bg,
.pswp--animated-in .pswp__zoom-wrap {
	-webkit-transition: none;
	transition: none;
}

.pswp__container,
.pswp__zoom-wrap {
	-webkit-backface-visibility: hidden;
}

.pswp__item {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	overflow: hidden;
}

.pswp__img {
	position: absolute;
	width: auto;
	height: auto;
	top: 0;
	left: 0;
}

/*
	stretched thumbnail or div placeholder element (see below)
	style is added to avoid flickering in webkit/blink when layers overlap
*/

.pswp__img--placeholder {
	-webkit-backface-visibility: hidden;
}

/*
	div element that matches size of large image
	large image loads on top of it
*/

.pswp__img--placeholder--blank {
	background: #222;
}

.pswp--ie .pswp__img {
	width: 100% !important;
	height: auto !important;
	left: 0;
	top: 0;
}

/*
	Error message appears when image is not loaded
	(JS option errorMsg controls markup)
*/

.pswp__error-msg {
	position: absolute;
	left: 0;
	top: 50%;
	width: 100%;
	text-align: center;
	font-size: 14px;
	line-height: 16px;
	margin-top: -8px;
	color: #CCC;
}

.pswp__error-msg a {
	color: #CCC;
	text-decoration: underline;
}

/*! PhotoSwipe Default UI CSS by Dmitry Semenov | photoswipe.com | MIT license */

/*

	Contents:

	1. Buttons
	2. Share modal and links
	3. Index indicator ("1 of X" counter)
	4. Caption
	5. Loading indicator
	6. Additional styles (root element, top bar, idle state, hidden state, etc.)

*/

/*
	
	1. Buttons

 */

/* <button> css reset */

.pswp__button {
	width: 44px;
	height: 44px;
	position: relative;
	background: none;
	cursor: pointer;
	overflow: visible;
	-webkit-appearance: none;
	display: block;
	border: 0;
	padding: 0;
	margin: 0;
	float: right;
	opacity: 0.75;
	-webkit-transition: opacity 0.2s;
	transition: opacity 0.2s;
	-webkit-box-shadow: none;
	box-shadow: none;
}

.pswp__button:focus,
.pswp__button:hover {
	opacity: 1;
}

.pswp__button:active {
	outline: none;
	opacity: 0.9;
}

.pswp__button::-moz-focus-inner {
	padding: 0;
	border: 0;
}

/* pswp__ui--over-close class it added when mouse is over element that should close gallery */

.pswp__ui--over-close .pswp__button--close {
	opacity: 1;
}

.pswp__button,
.pswp__button--arrow--left:before,
.pswp__button--arrow--right:before {
	background: url(default-skin.png) 0 0 no-repeat;
	background-size: 264px 88px;
	width: 44px;
	height: 44px;
}

@media (-webkit-min-device-pixel-ratio: 1.1),
(-webkit-min-device-pixel-ratio: 1.09375),
(min-resolution: 105dpi),
(min-resolution: 1.1dppx) {

	/* Serve SVG sprite if browser supports SVG and resolution is more than 105dpi */
	.pswp--svg .pswp__button,
	.pswp--svg .pswp__button--arrow--left:before,
	.pswp--svg .pswp__button--arrow--right:before {
		background-image: url(default-skin.svg);
	}

	.pswp--svg .pswp__button--arrow--left,
	.pswp--svg .pswp__button--arrow--right {
		background: none;
	}
}

.pswp__button--close {
	background-position: 0 -44px;
}

.pswp__button--share {
	background-position: -44px -44px;
}

.pswp__button--fs {
	display: none;
}

.pswp--supports-fs .pswp__button--fs {
	display: block;
}

.pswp--fs .pswp__button--fs {
	background-position: -44px 0;
}

.pswp__button--zoom {
	display: none;
	background-position: -88px 0;
}

.pswp--zoom-allowed .pswp__button--zoom {
	display: block;
}

.pswp--zoomed-in .pswp__button--zoom {
	background-position: -132px 0;
}

/* no arrows on touch screens */

.pswp--touch .pswp__button--arrow--left,
.pswp--touch .pswp__button--arrow--right {
	visibility: hidden;
}

/*
	Arrow buttons hit area
	(icon is added to :before pseudo-element)
*/

.pswp__button--arrow--left,
.pswp__button--arrow--right {
	background: none;
	top: 50%;
	margin-top: -50px;
	width: 70px;
	height: 100px;
	position: absolute;
}

.pswp__button--arrow--left {
	left: 0;
}

.pswp__button--arrow--right {
	right: 0;
}

.pswp__button--arrow--left:before,
.pswp__button--arrow--right:before {
	content: '';
	top: 35px;
	background-color: rgba(0, 0, 0, 0.3);
	height: 30px;
	width: 32px;
	position: absolute;
}

.pswp__button--arrow--left:before {
	left: 6px;
	background-position: -138px -44px;
}

.pswp__button--arrow--right:before {
	right: 6px;
	background-position: -94px -44px;
}

/*

	2. Share modal/popup and links

 */

.pswp__counter,
.pswp__share-modal {
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.pswp__share-modal {
	display: block;
	background: rgba(0, 0, 0, 0.5);
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	padding: 10px;
	position: absolute;
	z-index: 1600;
	opacity: 0;
	-webkit-transition: opacity 0.25s ease-out;
	transition: opacity 0.25s ease-out;
	-webkit-backface-visibility: hidden;
	will-change: opacity;
}

.pswp__share-modal--hidden {
	display: none;
}

.pswp__share-tooltip {
	z-index: 1620;
	position: absolute;
	background: #FFF;
	top: 56px;
	border-radius: 2px;
	display: block;
	width: auto;
	right: 44px;
	-webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
	-webkit-transform: translateY(6px);
	-ms-transform: translateY(6px);
	transform: translateY(6px);
	-webkit-transition: -webkit-transform 0.25s;
	transition: transform 0.25s;
	-webkit-backface-visibility: hidden;
	will-change: transform;
}

.pswp__share-tooltip a {
	display: block;
	padding: 8px 12px;
	color: #000;
	text-decoration: none;
	font-size: 14px;
	line-height: 18px;
}

.pswp__share-tooltip a:hover {
	text-decoration: none;
	color: #000;
}

.pswp__share-tooltip a:first-child {
	/* round corners on the first/last list item */
	border-radius: 2px 2px 0 0;
}

.pswp__share-tooltip a:last-child {
	border-radius: 0 0 2px 2px;
}

.pswp__share-modal--fade-in {
	opacity: 1;
}

.pswp__share-modal--fade-in .pswp__share-tooltip {
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0);
}

/* increase size of share links on touch devices */

.pswp--touch .pswp__share-tooltip a {
	padding: 16px 12px;
}

a.pswp__share--facebook:before {
	content: '';
	display: block;
	width: 0;
	height: 0;
	position: absolute;
	top: -12px;
	right: 15px;
	border: 6px solid transparent;
	border-bottom-color: #FFF;
	-webkit-pointer-events: none;
	-moz-pointer-events: none;
	pointer-events: none;
}

a.pswp__share--facebook:hover {
	background: #3E5C9A;
	color: #FFF;
}

a.pswp__share--facebook:hover:before {
	border-bottom-color: #3E5C9A;
}

a.pswp__share--twitter:hover {
	background: #55ACEE;
	color: #FFF;
}

a.pswp__share--pinterest:hover {
	background: #CCC;
	color: #CE272D;
}

a.pswp__share--download:hover {
	background: #DDD;
}

/*

	3. Index indicator ("1 of X" counter)

 */

.pswp__counter {
	position: absolute;
	left: 0;
	top: 0;
	height: 44px;
	font-size: 13px;
	line-height: 44px;
	color: #FFF;
	opacity: 0.75;
	padding: 0 10px;
}

/*
	
	4. Caption

 */

.pswp__caption {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	min-height: 44px;
}

.pswp__caption small {
	font-size: 11px;
	color: #BBB;
}

.pswp__caption__center {
	text-align: left;
	max-width: 420px;
	margin: 0 auto;
	font-size: 13px;
	padding: 10px;
	line-height: 20px;
	color: #CCC;
}

.pswp__caption--empty {
	display: none;
}

/* Fake caption element, used to calculate height of next/prev image */

.pswp__caption--fake {
	visibility: hidden;
}

/*

	5. Loading indicator (preloader)

	You can play with it here - http://codepen.io/dimsemenov/pen/yyBWoR

 */

.pswp__preloader {
	width: 44px;
	height: 44px;
	position: absolute;
	top: 0;
	left: 50%;
	margin-left: -22px;
	opacity: 0;
	-webkit-transition: opacity 0.25s ease-out;
	transition: opacity 0.25s ease-out;
	will-change: opacity;
	direction: ltr;
}

.pswp__preloader__icn {
	width: 20px;
	height: 20px;
	margin: 12px;
}

.pswp__preloader--active {
	opacity: 1;
}

.pswp__preloader--active .pswp__preloader__icn {
	/* We use .gif in browsers that don't support CSS animation */
	background: url(preloader.gif) 0 0 no-repeat;
}

.pswp--css_animation .pswp__preloader--active {
	opacity: 1;
}

.pswp--css_animation .pswp__preloader--active .pswp__preloader__icn {
	-webkit-animation: clockwise 500ms linear infinite;
	animation: clockwise 500ms linear infinite;
}

.pswp--css_animation .pswp__preloader--active .pswp__preloader__donut {
	-webkit-animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite;
	animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite;
}

.pswp--css_animation .pswp__preloader__icn {
	background: none;
	opacity: 0.75;
	width: 14px;
	height: 14px;
	position: absolute;
	left: 15px;
	top: 15px;
	margin: 0;
}

.pswp--css_animation .pswp__preloader__cut {
	/* 
			The idea of animating inner circle is based on Polymer ("material") loading indicator 
			 by Keanu Lee https://blog.keanulee.com/2014/10/20/the-tale-of-three-spinners.html
		*/
	position: relative;
	width: 7px;
	height: 14px;
	overflow: hidden;
}

.pswp--css_animation .pswp__preloader__donut {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: 14px;
	height: 14px;
	border: 2px solid #FFF;
	border-radius: 50%;
	border-left-color: transparent;
	border-bottom-color: transparent;
	position: absolute;
	top: 0;
	left: 0;
	background: none;
	margin: 0;
}

@media screen and (max-width: 1140px) {
	section#caixa_general_contingut_banner_home div.caixa_interior_contingut_banner_home div.caixa_bloc_esquerra div.caixa_interior_textos h1 {
		font-size: 68px;
	}

	section#caixa_general_contingut_banner_home div.caixa_interior_contingut_banner_home div.caixa_bloc_esquerra div.caixa_interior_textos p {
		font-size: 25px;
	}

	section#caixa_general_contingut_banner_home div.caixa_interior_contingut_banner_home div.caixa_bloc_esquerra div.caixa_interior_textos p#desc {
		font-size: 17px;
	}
}


@media screen and (max-width: 1024px) {
	.pswp__preloader {
		position: relative;
		left: auto;
		top: auto;
		margin: 0;
		float: right;
	}

}

@-webkit-keyframes clockwise {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}

	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

@keyframes clockwise {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}

	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

@-webkit-keyframes donut-rotate {
	0% {
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}

	50% {
		-webkit-transform: rotate(-140deg);
		transform: rotate(-140deg);
	}

	100% {
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}
}

@keyframes donut-rotate {
	0% {
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}

	50% {
		-webkit-transform: rotate(-140deg);
		transform: rotate(-140deg);
	}

	100% {
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}
}

/*
	
	6. Additional styles

 */

/* root element of UI */

.pswp__ui {
	-webkit-font-smoothing: auto;
	visibility: visible;
	opacity: 1;
	z-index: 1550;
}

/* top black bar with buttons and "1 of X" indicator */

.pswp__top-bar {
	position: absolute;
	left: 0;
	top: 0;
	height: 44px;
	width: 100%;
}

.pswp__caption,
.pswp__top-bar,
.pswp--has_mouse .pswp__button--arrow--left,
.pswp--has_mouse .pswp__button--arrow--right {
	-webkit-backface-visibility: hidden;
	will-change: opacity;
	-webkit-transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
	transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
}

/* pswp--has_mouse class is added only when two subsequent mousemove events occur */

.pswp--has_mouse .pswp__button--arrow--left,
.pswp--has_mouse .pswp__button--arrow--right {
	visibility: visible;
}

.pswp__top-bar,
.pswp__caption {
	background-color: rgba(0, 0, 0, 0.5);
}

/* pswp__ui--fit class is added when main image "fits" between top bar and bottom bar (caption) */

.pswp__ui--fit .pswp__top-bar,
.pswp__ui--fit .pswp__caption {
	background-color: rgba(0, 0, 0, 0.3);
}

/* pswp__ui--idle class is added when mouse isn't moving for several seconds (JS option timeToIdle) */

.pswp__ui--idle .pswp__top-bar {
	opacity: 0;
}

.pswp__ui--idle .pswp__button--arrow--left,
.pswp__ui--idle .pswp__button--arrow--right {
	opacity: 0;
}

/*
	pswp__ui--hidden class is added when controls are hidden
	e.g. when user taps to toggle visibility of controls
*/
.pswp__ui--hidden .pswp__top-bar,
.pswp__ui--hidden .pswp__caption,
.pswp__ui--hidden .pswp__button--arrow--left,
.pswp__ui--hidden .pswp__button--arrow--right {
	/* Force paint & create composition layer for controls. */
	opacity: 0.001;
}

/* pswp__ui--one-slide class is added when there is just one item in gallery */

.pswp__ui--one-slide .pswp__button--arrow--left,
.pswp__ui--one-slide .pswp__button--arrow--right,
.pswp__ui--one-slide .pswp__counter {
	display: none;
}

.pswp__element--disabled {
	display: none !important;
}

.pswp--minimal--dark .pswp__top-bar {
	background: none;
}



.wrap_user {
	position: relative;
	display: flex;
	align-items: center;
	margin-bottom: 10px;
}

.wrap_user::before {
	content: "";
	right: 10px;
	z-index: 1;
	position: absolute;
	content: "\f007";
	font-family: 'Font Awesome 6 Free';
}

.wrap_pwd {
	position: relative;
	display: flex;
	align-items: center;
}

.wrap_pwd::before {
	content: "\f023";
	right: 10px;
	z-index: 1;
	position: absolute;
	font-family: 'Font Awesome 5 Pro';
}

.popup_custom {
	font-size: 20px;
	text-align: center;
}

.loader-downloads {
	position: absolute;
	height: 100%;
	width: 100%;
	background-color: #ffffff6b;
	display: flex;
	left: 0;
	align-items: center;
	justify-content: center;
	z-index: 10;
	display: none;
	top: 0;
}

.custom-loader {
	width: 100px;
	height: 100px;
	border-radius: 50%;
	border: 16px solid;
	border-color: #E4E4ED;
	border-right-color: var(--color-secundari);
	animation: s2 1s infinite linear;
}

.blocs.modular .breadcrumb {
	margin-left: 5%;
	margin-top: 100px;
}

.blocs.modular .breadcrumb a {
	color: black;
}

.breadcrumb {
	font-size: 16px;
	text-transform: uppercase;
	font-family: 'Roboto Mono';
}

.breadcrumb ul {
	list-style: none;
	padding: 0px;
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin: 0px;
}

.breadcrumb a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.breadcrumb .active {
	font-weight: bold;
}

@keyframes s2 {
	to {
		transform: rotate(1turn)
	}
}

/* ---- MODULAR ---- */

.modular .banner {
	display: flex;
	background: var(--color-principal);
	color: white;
}

.modular .banner .left {
	width: 55%;
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	position: relative;
}

.modular .banner .left .imatge_absoluta {
	position: absolute;
	height: 100%;
	right: -1px;
}

.modular .banner .left .imatge_fons {
	height: 100%;
	object-fit: cover;
	width: 100%;
	aspect-ratio: 21 / 9;
}

.modular .banner .right {
	width: 45%;
	padding: 5%;
	display: flex;
	align-items: center;
}

.modular .banner .right .contents {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
	font-size: 18px;
	font-family: 'Playfair Display';
}

.modular .banner .right .contents .titol {
	margin: 0px;
	font-family: 'DM Serif Display';
	font-size: 60px;
	line-height: 1.1;
	margin-bottom: 0;
}

.modular .banner .btn {
	color: var(--color-principal);
	text-transform: uppercase;
}

.modular+.blocs {
	overflow-x: hidden;
	display: flex;
	flex-direction: column;
}

.modular+.blocs>div+.fusionar.B {
	padding-top: 2.5%;
}

.modular+.blocs>div:has(+ .fusionar.B) {
	padding-bottom: 0px;
}

.modular+.blocs>div.fusionar.A:has(+ div) {
	padding-bottom: 30px;
}

.modular+.blocs>div.fusionar.A+div {
	padding-top: 2.5%;
}

.modular+.blocs a {
	color: var(--color-principal);
}

.modular+.blocs .contrast a {
	color: black;
}

.modular+.blocs .modular_foto_text a.btn {
	margin-top: 25px;
	display: inline-block;
}

.adjunt_punt {
	width: 47%;
}

/* video */

.modular_video {
	border-top: 1px solid black;
	padding-top: 20px;
	margin: 5%;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.modular_video iframe {
	width: 50%;
	aspect-ratio: 16 / 9;
}

.modular_video .titol {
	font-family: 'Roboto Mono';
	text-transform: uppercase;
	width: 25%;
	line-height: normal;
}

/* foto text */
.modular_foto_text {
	display: flex;
	gap: 5%;
	font-size: 18px;
	font-family: 'Playfair Display';
	padding: 5%;
	align-items: flex-start;
}

.modular_foto_text img {
	max-width: 35%;
	object-fit: cover;
}

.modular_foto_text .text {
	width: 100%;
}

.modular_foto_text:has(img) .text {
	width: 65%;
}

.modular_foto_text .banner_link_privat {
	margin-top: 20px;
	text-align: center;
	text-wrap-style: pretty;
	background-color: var(--color-principal);
	padding: 20px;
	color: white;
	font-family: 'Roboto Mono';
	font-size: 16px;
}

.modular_foto_text .banner_link_privat a {
	color: white;
	text-decoration: underline;
}

.modular_foto_text .text .titol {
	font-size: 50px;
	line-height: normal;
	font-weight: bold;
	text-wrap-style: pretty;
	margin-bottom: 40px;
}

.modular_foto_text.collaboracions {
	padding: 2% 5%;
}

.modular .modular_foto_text.collaboracions a {
	width: 300px;
	margin-top: unset;
}

.modular_foto_text.collaboracions img {
	width: 100%;
}

.modular_foto_text.collaboracions img {
	width: 100%;
	max-width: unset;
}

.modular_llistat {
	font-family: 'Playfair Display';
	padding: 5%;
	position: relative;
	--swiper-navigation-color: black;
	--swiper-navigation-size: 30px;
}

.modular_llistat>.titol {
	font-size: 50px;
	line-height: normal;
	font-weight: bold;
	text-wrap-style: pretty;
	margin-bottom: 40px;
	width: 100%;
	text-wrap-style: balance;
}

.modular_llistat .text {
	font-size: 24px;
	margin-top: 15px;
}

/* Carrousel - list-slider */
.modular_llistat .list.list-slider .swiper-navigation .swiper-button-next {
	top: 30px;
	right: 0%;
	left: auto;
}

.modular_llistat .list.list-slider .swiper-navigation .swiper-button-prev {
	top: 30px;
	right: 40px;
	left: auto;
}

.modular_llistat .list.list-slider {
	overflow: hidden;
	padding-top: 60px;
	position: relative;
}

.modular_llistat .list.list-slider .caixa_imatge img {
	width: 100%;
}

.modular_llistat .list.list-slider .caixa_textos_absoluts {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.5270483193277311) 0%, rgba(0, 0, 0, 0.1) 100%);
	z-index: 1;
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 8%;
	align-items: start;
}

.modular_llistat .list.list-slider .caixa_textos_absoluts .titol_seccio {
	font-family: 'Roboto Mono';
	font-size: 35px;
	text-transform: uppercase;
	line-height: 1;
	font-weight: normal;
	margin-bottom: 20px;
}

.modular_llistat .list.list-slider .caixa_textos_absoluts .subtitol {
	font-family: 'Playfair Display';
	font-size: 20px;
	font-weight: normal;
	line-height: 1.1;
}

.modular_llistat .list.list-slider .swiper-slide:hover .imatge_absoluta_bottom_right {
	width: 35% !important;
	transition: all 0.6s;
}

.modular_llistat .list.list-slider .swiper-slide:hover .imatge_absoluta_top_right {
	width: 35% !important;
	transition: all 0.6s;
}

/* Punts - list-punts */
.modular_llistat .list.list-punts {
	display: flex;
	flex-wrap: wrap;
	font-size: 20px;
	row-gap: 20px;
	justify-content: space-between;
	margin-top: 40px;
	align-items: flex-start;
}

.modular_llistat .list.list-punts .punt {
	width: 47%;
	display: flex;
	gap: 1em;
	align-items: flex-start;
}

.modular_llistat .list.list-punts .punt:before {
	content: '';
	width: 20px;
	aspect-ratio: 1/1;
	background-color: red;
	display: block;
	border-radius: 100%;
	height: 20px;
}

.modular_llistat.contrast .list.list-punts .punt:before {
	background-color: white;
}


/* Descobreix mes / Llista - list-descobreix */
.modular_llistat .list.list-descobreix {
	display: flex;
	flex-wrap: wrap;
	row-gap: 40px;
	justify-content: space-between;
}

.modular_llistat .list.list-descobreix .descobreix {
	width: 47%;
	display: flex;
	justify-content: space-between;
	gap: 50px;
	flex-direction: column;
	align-items: flex-start;
}

.modular_llistat .list.list-descobreix img {
	width: auto;
	object-fit: contain;
	/* aspect-ratio: 4 / 3; */
	/* background-color: whitesmoke; */
	max-width: 400px;
}

.modular_llistat .list.list-descobreix .content {
	display: flex;
	flex-direction: column;
	gap: 20px;
	width: 100%;
	font-size: 20px;
}

.modular_llistat .list.list-descobreix .descobreix.full-width {
	width: 100%;
}

.modular_llistat .list.list-descobreix .descobreix .titol {
	font-size: 30px;
	color: var(--color-principal);
	font-weight: normal;
	text-wrap-style: pretty;
	line-height: normal;
}

/* Banner */

.modular_banner {
	padding: 5% 20%;
	display: flex;
	flex-direction: column;
	align-items: center;
	font-family: 'Playfair Display';
	text-align: center;
	font-size: 20px;
}

.modular_banner .titol {
	font-size: 50px;
	line-height: normal;
	font-weight: bold;
	text-wrap-style: pretty;
	margin-bottom: 40px;
}

.modular_banner>div {
	width: 100%;
}

/* Horari */

.modular_horari {
	padding: 5%;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.modular_horari .titol {
	font-size: 50px;
	font-family: 'Playfair Display';
	font-weight: bold;
	border-bottom: 1px solid;
	padding-bottom: 20px;
	line-height: 1;
}

.modular_horari .contents .subtitol {
	font-family: 'Roboto Mono';
	margin-bottom: 20px;
	font-size: 18px;
}

.modular_horari .contents .info {
	display: flex;
	/* justify-content: space-between; */
	align-items: flex-start;
	gap: 4%;
}

.modular_horari .contents .info .horaris {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	max-width: 40%;
}

.modular_horari .contents .info .horaris .h {
	text-align: center;
	padding: 0.5em 1em;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.modular_horari .contents .info .horaris .h .t {
	font-family: 'Roboto Mono';
}

.modular_horari .contents .info .horaris .h .desc {
	font-size: 14px;
	font-family: 'Playfair Display';
}

.modular_horari .contents .info .text {
	width: 58%;
	font-size: 18px;
}

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

/* MODULAR: BOTO */

.modular_boto {
	padding: 0px 5% 20px 5%;
	display: flex;
	background-color: #e9e9e9;
}

.modular+.blocs .modular_boto a {
	color: white;
}

.modular+.blocs .modular_boto a:hover {
	color: var(--color-principal);
}

.blocs.modular table,
.blocs.modular table * {
	border: 0px;
}

.blocs.modular table {
	table-layout: fixed;
	line-height: 1;
	border-spacing: 10px;
	margin-left: -10px;
}

.blocs.modular td[colspan] {
	background-color: var(--color-terciari);
	padding: 10px;
	font-family: 'Roboto Mono';
	color: white;
}

.blocs.modular table th {
	background-color: var(--color-principal);
	color: white;
	font-family: 'Roboto Mono';
	padding: 10px;
	text-align: left;
}

.blocs.modular table td {
	padding: 10px;
	background-color: lightgrey;
}

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

/* MODULAR: ESCOLA*/
.llistat_escoles{
        display: flex;
        flex-wrap: wrap;
        gap: 30px;
    }
    .llistat_escoles a.escola{
        width: calc( calc(100% - 60px ) / 3);
        color: white;
    }
    .llistat_escoles .escola .titol_img{
        aspect-ratio: 1.65;
        padding: 30px 40px;
        display: flex;
        flex-direction: column;
        justify-content: end;
    }
    .llistat_escoles .escola .titol_img .titol_escola{
        font-size: 26px;
        font-weight: 800;
        font-family: 'Roboto Mono';
    }
    .llistat_escoles .escola .titol_img .subtitol_escola{
        font-size: 26px;
        font-style: italic;
    }
    .llistat_escoles .escola .separador{
        width: 100%;
        height: 20px;
        background-color: #5e2595;
    }

     .llistat_escoles .escola .text_img{
        width: 100%;
        display: flex;
        position: relative;
     }

    .llistat_escoles .escola .text_img .text{
        width: 60%;
        background-color: #e8231b;
        margin: 0;
        padding: 50px;
        text-align: center;
		align-content: center;
        font-style: italic;
        font-weight: 800;
        font-size: 20px;
    }

    .llistat_escoles .escola .text_img .logo{
        width: 40%;
        height: 100%;
        align-self: center;
		align-content: center;
    }
    .llistat_escoles .escola .text_img .logo img{
        display: block;
        margin: 0 auto;
        width: 60%;
        object-fit: cover;
    }
    .llistat_escoles .escola .text_img .imatge_absoluta_bottom_right{
        width: 10% !important;
    }
	/* ------ */

.noticia {}

.noticia .titol {
	margin-bottom: 15px !important;
}

.noticia .info {
	font-size: 18px;
	display: flex;
	gap: 20px;
	margin-bottom: 15px;
	font-family: 'Roboto Mono';
}

.noticia .info .label {
	color: var(--color-principal);
	font-weight: bold;
}

.noticia .info .value {}

/* ---------- FOOTER ---------- */

footer {
	display: flex;
	flex-direction: column;
}

footer .associat {
	background-color: #DDDDDD;
	padding: 5%;
	display: flex;
	/* gap: 5%; */
	align-items: flex-start;
	justify-content: space-between;
}

footer .associat .left {
	width: 45%;
	font-family: 'Playfair Display';
	font-size: 16px;
	display: flex;
	flex-direction: column;
	gap: 15px;
}

footer .associat .left .titol {
	font-size: 75px;
	font-weight: 600;
	line-height: 1;
}

footer .associat .right {
	width: 50%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 30px;
}

footer .associat .right .quotas {
	display: flex;
	justify-content: space-between;
	width: 100%;
	flex-wrap: wrap;
}

footer .associat .right .quotas .q {
	aspect-ratio: 1;
	display: flex;
	flex-direction: column;
	width: 18%;
	padding: 20px;
	background-color: white;
	font-family: 'Roboto Mono';
	align-items: center;
	text-align: center;
	line-height: normal;
	justify-content: space-between;
	gap: 1ex;
}

footer .associat .right .quotas .q .txt {
	display: flex;
	flex-direction: column;
	gap: 1ex;
}

footer .associat .right .quotas .q .t {
	font-weight: bold;
}

footer .associat .right .quotas .q .s {
	/* height: 100%; */
	font-size: 12px;
	font-family: 'Playfair Display';
}

footer .associat .right .quotas .q .p {
	font-weight: bold;
}

footer .associat .right .nota {
	font-size: 12px;
	font-family: 'Playfair Display';
}

footer .footer {
	display: flex;
}

footer .footer .info {
	width: 80%;
	padding: 40px 5%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-content: space-between;
	row-gap: 80px;
}

footer .footer .info .links {
	display: flex;
	text-transform: uppercase;
	font-family: 'Roboto Mono';
	width: 100%;
	justify-content: space-between;
	gap: 40px;
}

footer .footer .info .links .bloc {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

footer .footer .info .links span {
	font-size: 16px;
	font-weight: bold;
}

footer .footer .info .links .sub-links {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

footer .footer .info a {
	transition: 0.1s all;
}

footer .footer .info a:hover {
	color: var(--color-principal)
}

footer .footer .info .legal {
	display: flex;
	gap: 10px;
	font-family: 'Playfair Display';
}

footer .footer .info .legal a {
	display: flex;
	align-items: center;
	gap: 10px;
}

footer .footer .info .legal a:before {
	content: '';
	height: 2ex;
	width: 1px;
	background-color: black;
	display: block;
}

footer .footer .info .legal a:nth-of-type(1):before {
	display: none;
}

footer .footer .info .xxss {
	display: flex;
	gap: 20px;
	font-family: 'Playfair Display';
}

footer .footer .newsletter {
	width: 20%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	background-color: var(--color-principal);
	padding: 40px;
	color: white;
	gap: 20px;
}

footer .footer .newsletter>span {
	text-transform: uppercase;
	font-size: 18px;
	font-weight: bold;
	line-height: normal;
}

footer .footer .newsletter div {
	font-family: 'Playfair Display';
}

footer .footer .newsletter .btn {
	color: var(--color-principal);
	text-transform: uppercase;
}

footer .footer .newsletter img {
	max-width: 200px;
	margin-top: 40px;
	height: 100%;
	object-fit: contain;
	object-position: bottom;
}

footer .bottom {
	display: flex;
	background-color: var(--color-principal);
	justify-content: space-between;
	border-top: 85px solid #DDDDDD;
	align-items: center;
	padding-left: 5%;
}

footer .bottom img:nth-of-type(1) {
	height: 50px;
	width: 80%;
	object-fit: contain;
	object-position: left;
}

footer .bottom img:nth-of-type(2) {
	height: 170px;
	background-color: #DDDDDD;
	/* width: 5%; */
}

footer .bottom div {
	font-size: 26px;
	font-family: 'Playfair Display';
	color: white;
	width: 15%;
	border-left: 1px solid;
	padding-left: 1em;
	line-height: normal;
}

footer .logos {
	display: flex;
	justify-content: center;
	gap: 80px;
	padding: 40px 5%;
	align-items: center;
}

footer .logos img {
	width: 200px;
}


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


/* --- Inici blocs responsive --- */
@media all and (max-width: 1600px) {
	.caixa_elements_full_menu nav ul li .punt_menu {
		font-size: 27;
	}
	.llistat_escoles a.escola{
        width: calc( calc(100% - 30px ) / 2);
	}
}

@media all and (max-width: 1440px) {
	header .caixa_menu_capcalera_principal .punt_menu_principal a {
    	font-size: 16px;
	}

	.modular .banner .right .contents .titol {
    	margin: 0px 0 0 36px;
	}

	.modular .banner .btn {
    	margin-left: 36px;
	}

	.modular .banner .right {
    	padding: 5% 0;
	}

	section#caixa_general_biblioteca_home {
		padding-top: 25px;
	}

	#caixa_general_premis_home .caixa_interna_premis_home {
		padding-right: 5%;
	}

}

/*@media all and (max-width: 900px) {*/
@media all and (max-width: 1100px) {
	body {
		font-size: 13px;
	}

	#top_bar {
		padding-top: 10px;
		padding-bottom: 10px;
		min-height: auto;
		padding-left: 10px;
		padding-right: 10px;
	}

	#top_bar_left .caixa_interna_topbar_left {
		font-size: 20px;
	}

	#top_bar_right .caixa_interna_topbar_right {
		font-size: 11px;
	}

	header .head #logo img {
		max-width: 100%;
	}

	header .head {
		padding: 10px 5%;
	}

	/* SINGLE REVISTA */


	.item_revista {
		flex-direction: column;
		padding: 0px;
		gap: 30px;
	}

	.item_revista .left {
		width: 100%;
		border: 0px;
		position: relative;
		top: 0px !important;
		max-height: 100% !important;
		padding: 5%;
	}

	.item_revista .title {
		font-size: 40px;
	}

	.item_revista .data {
		flex-direction: column;
		gap: 10px;
		width: 100%;
	}

	.item_revista .gallery {
		aspect-ratio: auto;
		width: 100%;
	}

	.item_revista .contents {
		width: 100%;
		padding: 0px 5% 5% 5%;
	}

	.item_revista .header {
		flex-direction: column;
		gap: 10px;
		margin-bottom: 20px;
		position: relative;
		top: 0px !important;
	}

	.item_revista .header .tabs {
		flex-direction: column;
		gap: 10px;
		margin-bottom: 0px;
	}

	.item_revista .header .tabs a.btn {
		position: relative !important;
		order: 1;
		top: 0px !important;
		right: 0px !important;
	}

	.item_revista .header .th {
		display: none;
	}

	.item_revista .body {
		top: 0px;
	}

	.item_revista .entry {
		flex-direction: column;
		gap: 3px;
	}

	.item_revista .entry .mobile {
		display: block;
		font-style: italic;
		font-weight: 300;
	}

	.item_revista .entry div {
		margin-top: 10px;
	}

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


	/* NEWSLETTER */

	.newsletter_section {
		flex-direction: column;
		align-items: flex-start;
	}

	.newsletter_section>img {
		width: 90%;
	}

	.newsletter_section>.titol {
		width: 100%;
		font-size: 40px;
		padding: 5%;
	}

	.newsletter_section>div {
		width: 100%;
		padding: 5%;
	}

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


	/* SUBSCRIPCIONS */
	.subscripcions_banner {
		padding: 50px 5%;
	}

	.subscripcions_banner .titol {
		font-size: 40px;
	}

	.subscripcions_banner .revista .revista_titol {
		text-align: center;
	}

	.subscripcions_banner .revista .list a {
		width: 100%;
		justify-content: center;
	}

	.subscripcions .subscripcio {
		width: 46%;
	}

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

	/* ---- MODULAR ---- */
	/* foto text */
	.modular_foto_text img {
		width: 50%;
	}

	.modular_foto_text .text .titol {
		font-size: 30px;
	}

	.modular_llistat .titol {
		width: 100%;
		font-size: 30px;
	}

	/* Carrousel - list-slider */
	/* Punts - list-punts */
	/* Descobreix mÃƒÆ’Ã‚Â©s / Llista - list-descobreix */
	.modular_llistat .list.list-descobreix .descobreix {
		flex-direction: column;
		gap: 20px;
	}

	.modular_llistat .list.list-descobreix img {
		width: 100%;
		aspect-ratio: 16 / 9;
	}

	.modular_llistat .list.list-descobreix .content {
		width: 100%;
	}

	/* Banner */
	.modular_banner .titol {
		font-size: 30px;
	}

	.modular_video {}

	.modular_video iframe {
		width: 100%;
	}

	.modular_video .titol {}

	/* ---------- FOOTER ---------- */

	footer .associat .right .quotas {
		row-gap: 20px;
		justify-content: flex-start;
		gap: 20px;
	}

	footer .associat .right .quotas .q {
		width: 30%;
	}

	footer .footer .info {
		row-gap: 40px;
	}

	footer .footer .info .legal {
		flex-wrap: wrap;
	}

	footer .footer .newsletter {
		width: 30%;
	}

	footer .bottom div {
		width: 25%;
	}


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

	/* --- ITEM LLIBRE --- */

	.item_llibre {
		flex-direction: column;
		margin: 5%;
	}

	.item_llibre .left {
		height: auto !important;
		top: 0 !important;
		position: relative;
		margin-bottom: 30px;
	}

	.item_llibre .right .title {
		font-size: 26px;
	}

	.item_llibre .right .desc {
		text-align: justify;
	}


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

}

@media all and (max-width: 1024px) {

	.blocs.modular .breadcrumb {
		margin-top: 36px;
	}

	header .caixa_menu_capcalera_principal .punt_menu_principal a {
    	font-size: 12px;
	}

	.modular .banner .right .contents .titol {
   		font-size: 40px;
	}

	section#caixa_general_actualitat_home div.caixa_interior_actualitat_home div.caixa_inferior_actualitat_home div div.owl-nav {
		display: none;
	}

	#caixa_general_llistat_horitzontal_home {
		padding-top: 10px;
	}

	.modular_llistat .list.list-slider .swiper-navigation .swiper-button-next,
	.modular_llistat .list.list-slider .swiper-navigation .swiper-button-prev {
		top: 20px;
	}

	.revistes div.g_revista {
		width: 45%;
	}

	.revistes div.g_revista .titol h3 {
    	font-size: 33px;
	}	

	#caixa_general_contingut_banner_home .caixa_interior_contingut_banner_home .caixa_bloc_esquerra .caixa_interior_textos .titol_principal {
		font-size: 64px; 
	}

	#caixa_general_contingut_banner_home.format_blanc .caixa_interior_contingut_banner_home .caixa_bloc_esquerra .caixa_interior_textos p {
    	font-size: 15px;
	}

	#caixa_general_contingut_banner_home.format_blanc .caixa_interior_contingut_banner_home .caixa_bloc_esquerra .caixa_interior_textos a {
    	padding: 8px 21px;
	}

	.subscripcions {
    	justify-content: center;
	}


	
	

}

@media (max-width: 1000px) {
	.no-mobile {
		display: none;
	}

	.right1 {
		width: 100%;
	}

	.mapa {
		display: flex;
		justify-content: center;
		margin-top: 20px;
	}

	.seccio_ubicacio {
		display: flex;
		justify-content: center;
		flex-direction: column;
	}

	.seccio3 .titol_direccio {
		width: 100%;
		align-items: center;
		display: flex;
		flex-direction: column;
	}
	.llistat_escoles a.escola{
		width: 100%;
	}
	.llistat_escoles .escola .text_img .text {
		width: 60%;     
	}
	.llistat_escoles .escola .text_img .logo {
		width: 40%;
	}
	.llistat_escoles .escola .text_img .logo img{
		width: 80%;
	}
	.llistat_escoles .escola .titol_img .titol_escola {
		font-size: 22px;
	}
	.llistat_escoles .escola .titol_img .subtitol_escola {
		font-size: 22px; 
	}
	.llistat_escoles .escola .text_img .text {
		font-size: 16px;
		padding: 30px;
    }
}

@media screen and (max-width: 985px) {
	#caixa_general_contingut_banner_home .caixa_interior_contingut_banner_home .caixa_bloc_esquerra .caixa_interior_textos .titol_principal {
    font-size: 64px;
   
}

	section#caixa_general_contingut_banner_home div.caixa_interior_contingut_banner_home div.caixa_bloc_esquerra div.caixa_interior_textos p {
		font-size: 22px;
	}

	section#caixa_general_contingut_banner_home div.caixa_interior_contingut_banner_home div.caixa_bloc_esquerra div.caixa_interior_textos p#desc {
		font-size: 15px;
	}
}

@media screen and (max-width: 768px) {
	.modular .banner .right .contents p {
			font-size: 17px;
			margin-left: 36px;
	}

	#caixa_general_serveis_home .caixa_interna_serveis_home .single_servei .caixa_textos_absoluts .subtitol {
    	font-size: 17px;
	}
}

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


	header .head {
		box-shadow: 0px 0px 0px #CDCDCD;
	}	

	header .caixa_menu_capcalera_principal ul {
		flex-direction: column;
		gap: 10px;
	}

	header .caixa_menu_capcalera_principal {
		transform: translateY(-100%);
		z-index: 0;
		transition: 0.3s all;
		position: absolute;
		top: 0;
		background-color: var(--color-principal);
		padding: 20px 0px;
	}

	header .caixa_menu_capcalera_principal.active {
		transform: translateY(0);

	}

	header #frm_search {
		background-color: white;
		color: black;
		margin: 0px;
	}

	header #frm_search input {
		background-color: white;
		color: black;
		width: 100%;
		border-bottom: 1px solid;
	}

	#frm_search i {
		font-size: 14px !important;
	}

	.submenu_mobile {
		display: flex;
		flex-direction: column;
		background-color: var(--color-terciari);
		gap: 5px;
		padding: 10px 0px;
	}

	.submenu_mobile a {
		text-transform: math-auto !important;
	}

	.head_esquerra {
		width: 60% !important;
	}

	#caixa_general_contingut_banner_home .caixa_interior_contingut_banner_home .caixa_bloc_esquerra .caixa_interior_textos {
		padding: 30% 10%;
		padding-right: 5%;
		padding: 50px 7%;
	}

	#caixa_general_contingut_banner_home .caixa_interior_contingut_banner_home .caixa_bloc_esquerra .caixa_interior_textos .titol_principal {
		font-size: 30px;
	}

	#caixa_general_contingut_banner_home .caixa_interior_contingut_banner_home .caixa_bloc_esquerra .caixa_interior_textos p {
		font-size: 16px !important;
	}

	#caixa_general_contingut_banner_home .caixa_interior_contingut_banner_home .caixa_bloc_esquerra .caixa_interior_textos p#desc {
		font-size: 12px !important;
	}

	#caixa_general_contingut_banner_home .caixa_interior_contingut_banner_home .caixa_bloc_dreta img.imatge_absoluta {
		top: 0px;
	}

	#caixa_general_contingut_banner_home .caixa_interior_contingut_banner_home .caixa_bloc_dreta img.imatge_fons {
		height: 100%;
		object-fit: cover;
	}

	#caixa_general_actualitat_home .caixa_interior_actualitat_home {
		padding: 7%;
		row-gap: 10px;
	}

	.caixa_titol_seccio {
		flex-direction: column-reverse;
		align-items: flex-end;
		gap: 10px;
	}

	.caixa_titol_seccio .titol_seccio {
		font-size: 28px;
		width: 100%;
	}

	.caixa_inferior_actualitat_home .owl-carousel .owl-nav {
		top: 35% !important;
		transform: translateY(-50%);
		width: 114%;
		right: -7%;
		justify-content: space-between;
		color: var(--color-principal);
		font-size: 30px;
	}


	#caixa_general_llistat_vertical_home,
	#caixa_general_llistat_horitzontal_home {
		padding: 7%;
	}

	#caixa_general_llistat_vertical_home .caixa_interior_llistat_vertical_home,
	#caixa_general_llistat_horitzontal_home .caixa_interior_llistat_horitzontal_home {
		padding: 0%;
	}

	#caixa_general_llistat_vertical_home .caixa_interior_llistat_vertical_home .caixa_blocs_continguts {
		flex-direction: column-reverse;
		width: 100%;
	}

	#caixa_general_llistat_vertical_home .caixa_interior_llistat_vertical_home .caixa_blocs_continguts .caixa_llistat_tabs {
		width: 100%;
		max-width: 100%;
	}

	#caixa_general_llistat_vertical_home .caixa_interior_llistat_vertical_home .caixa_blocs_continguts .caixa_esquerra {
		width: 100%;
		max-width: 100%;
	}

	#caixa_general_llistat_vertical_home .ui-accordion .ui-accordion-header {
		padding-left: 0px;
	}

	#caixa_general_llistat_vertical_home .caixa_interior_llistat_vertical_home .caixa_blocs_continguts .caixa_esquerra .caixa_textos {
		flex-direction: column;
		gap: 15px;
	}

	.accordion {
		height: auto;
		padding: 0px
	}

	.accordion ul li,
	.accordion ul li:hover,
	.accordion ul:hover li,
	.accordion ul:hover li:hover {
		position: relative;
		display: flex;
		width: 100% !important;
		-webkit-transition: none;
		transition: none;
		height: auto;
	}

	.accordion ul:hover li:hover,
	.accordion ul li.active-hover {
		width: 100% !important;
		height: auto;
	}

	.accordion ul li div a {
		height: auto;
		flex-direction: column;
		justify-content: left;
		vertical-align: text-top;
		/* display: flex; */
	}

	.accordion ul li div a h2 {
		writing-mode: horizontal-tb;
		width: 100%;
		text-overflow: initial;
		font-size: 29px;
		justify-content: flex-start;
		white-space: normal;
		align-items: flex-start;
		min-width: auto;
	}

	.accordion ul {
		display: flex;
		flex-direction: column;
	}

	.accordion ul li div a div.contingut_acor {
		position: relative;
		flex-direction: column;
		width: 100% !important;
		gap: 35px;
		padding: 15px;
		transition: 0.3s all;
		height: 0;
	}

	.accordion ul:hover li:hover a p,
	.accordion ul li.active-hover a div.contingut_acor {
		height: auto;
	}

	.accordion ul li div a div.contingut_acor .bloc1 {
		width: 100%;
		padding: 0px;
	}

	.accordion ul li div a div.contingut_acor .bloc2 {
		aspect-ratio: 4 / 3;
	}

	#caixa_general_llistat_vertical_home .contingut_intern_tabs {
		flex-direction: column;
		gap: 15px;
		/* justify-content: flex-start; */
	}

	#caixa_general_llistat_vertical_home .contingut_intern_tabs .text {
		max-width: 100%;
	}

	#caixa_general_oportunitats_home {
		padding: 50px 0;
	}

	#caixa_general_oportunitats_home .caixa_interna_oportunitats_home {
		padding: 0 7%;
		padding-right: 0px;
	}

	#caixa_general_publicacions_home {
		padding: 50px 7%;
	}

	#caixa_general_publicacions_home .caixa_interna_publicacions_home {
		padding: 0px;
	}

	#caixa_general_publicacions_home .caixa_interna_publicacions_home .caixa_llistat {
		flex-direction: column;
		gap: 15px;
	}

	#caixa_general_publicacions_home .caixa_interna_publicacions_home .caixa_llistat .single_publicacio_home {
		width: 100%;
	}

	#caixa_general_publicacions_home .caixa_interna_publicacions_home .caixa_llistat .single_publicacio_home .caixa_textos h4 {
		font-size: 20px;
	}

	#caixa_general_biblioteca_home {
		padding: 50px 7%
	}

	#caixa_general_biblioteca_home .caixa_interna_biblioteca_home {
		padding: 0px;
	}

	#caixa_general_biblioteca_home .caixa_interna_biblioteca_home .caixa_llistat {
		flex-direction: column;
	}

	#caixa_general_biblioteca_home .caixa_interna_biblioteca_home .caixa_llistat .columna_biblio {
		width: 100%;
		border-bottom: 0px;
	}

	#caixa_general_biblioteca_home .caixa_interna_biblioteca_home .caixa_llistat .columna_biblio .caixa_interna_llibre {
		flex-direction: row-reverse;
		padding: 20px 0px;
		align-content: flex-start;
		display: flex;
		align-items: baseline;
		justify-content: space-between;
	}

	#caixa_general_biblioteca_home .caixa_interna_biblioteca_home .caixa_llistat .columna_biblio .caixa_interna_llibre .caixa_titol_llibre h4 {
		font-size: 20px;
	}

	#caixa_general_biblioteca_home .caixa_interna_biblioteca_home .caixa_llistat .columna_biblio .caixa_interna_llibre .caixa_num_llibre {
		font-size: 15px;
		font-family: 'Roboto Mono';
	}

	#caixa_general_serveis_home {
		padding: 50px 7%;
	}

	#caixa_general_serveis_home .caixa_interna_serveis_home {
		padding: 0px;
	}

	#caixa_general_serveis_home .caixa_interna_serveis_home .single_servei .caixa_imatge img {
		aspect-ratio: 4/3;
		object-fit: cover;
	}

	.owl-serveis-home.owl-carousel .owl-nav,
	.owl-projectes-home .owl-nav {
		top: 50% !important;
		transform: translateY(-50%);
		width: 114%;
		right: -7% !important;
		justify-content: space-between;
		color: var(--color-principal);
		font-size: 30px !important;
	}

	#caixa_general_serveis_home .caixa_interna_serveis_home .single_servei .caixa_textos_absoluts .titol_seccio {
		font-size: 30px;
	}

	#caixa_general_projectes_home {
		padding: 50px 7%;
	}

	#caixa_general_projectes_home .caixa_interna_projectes_home {
		padding: 0px;
	}

	#caixa_general_projectes_home .caixa_interna_projectes_home .single_projecte .caixa_textos_absoluts .titol_seccio {
		font-size: 30px;
	}

	#caixa_general_premis_home {
		padding: 50px 7%;
	}

	#caixa_general_premis_home .caixa_interna_premis_home {
		padding: 0px;
	}

	#caixa_general_oportunitats_home .caixa_interna_single_oportunitat .caixa_textos .info_preus {
		flex-direction: column;
	}

	#caixa_general_oportunitats_home .caixa_interna_single_oportunitat {
		padding: 10px;
	}

	.owl-premis-home .owl-nav {
		top: 50% !important;
		transform: translateY(-50%);
		width: 114%;
		right: -7% !important;
		justify-content: space-between;
		color: white;
		font-size: 30px !important;
	}

	.pag_formacions#caixa_general_contingut_banner_home .caixa_interior_contingut_banner_home {
		flex-direction: column-reverse;
	}

	.caixa_general_llistat_formacions {
		padding: 50px 0;
	}

	.caixa_general_llistat_formacions .caixa_interna_llistat_formacions .caixa_llistat_categoria_formacio {
		flex-direction: column;
	}

	.caixa_general_llistat_formacions .caixa_interna_llistat_formacions .caixa_llistat_categoria_formacio .caixa_titol_categoria_formacio {
		flex-direction: row-reverse;
		align-items: end;
		border: 0px;
		border-bottom: 2px solid black;
		margin-right: 7%;
		padding-bottom: 10px;
	}

	.caixa_general_llistat_formacions .caixa_interna_llistat_formacions .caixa_llistat_categoria_formacio .caixa_titol_categoria_formacio .caixa_interna_titol h2 {
		writing-mode: horizontal-tb;
		font-size: 20px;
	}

	.caixa_general_llistat_formacions .caixa_interna_llistat_formacions .caixa_llistat_categoria_formacio .caixa_titol_categoria_formacio .caixa_numero {
		font-size: 20px;
	}

	#caixa_general_contingut_banner_home.format_blanc .caixa_interior_contingut_banner_home .caixa_bloc_esquerra {
		width: 100%;
	}

	#caixa_general_contingut_banner_home.format_blanc .caixa_interior_contingut_banner_home .caixa_bloc_dreta {
		width: 100%;
	}

	.caixa_general_cat_formacions {
		padding: 50px 7%;
	}

	.caixa_general_cat_formacions .caixa_interna_pag_cat_formacions {
		padding: 0px;
	}

	.caixa_general_cat_formacions .caixa_interna_pag_cat_formacions .caixa_continguts {
		flex-direction: column;
		gap: 15px;
	}

	.caixa_general_cat_formacions .caixa_interna_pag_cat_formacions .caixa_continguts .caixa_imatge_contingut {
		width: 100%;
		padding: 0px;
		border: 0px;
	}

	.caixa_general_llistat_formacions_categoria .caixa_interna_llistat_formacions_categoria .caixa_seccio_titol {
		padding: 50px 7%;
		padding-top: 0px;
	}

	.caixa_general_llistat_formacions_categoria .caixa_seccio_titol .titol_seccio {
		font-size: 25px;
		line-height: normal;
	}

	.caixa_general_llistat_formacions_categoria .caixa_interna_llistat_formacions_categoria .caixa_llistat {
		flex-direction: column;
	}

	.caixa_general_llistat_formacions_categoria .caixa_interna_llistat_formacions_categoria .caixa_llistat .caixa_single_formacio_list {
		width: 100%;
	}

	.caixa_general_llistat_formacions_categoria .caixa_interna_llistat_formacions_categoria .caixa_llistat_opcions_categoria {
		padding-bottom: 0px;
	}

	.caixa_general_llistat_formacions_categoria .caixa_interna_llistat_formacions_categoria .caixa_llistat_opcions_categoria ul {
		flex-wrap: wrap;
		gap: 15px;
	}

	.caixa_general_single_formacio {
		padding: 50px 7%;
	}

	.caixa_interna_single_formacio {
		padding: 0px;
		flex-direction: column;
	}

	.caixa_interna_single_formacio .caixa_continguts {
		width: 100%;
		border: 0px;
		padding: 0px;
	}

	.caixa_interna_single_formacio .caixa_continguts .caixa_imatge {
		order: 1;
	}

	.caixa_interna_single_formacio h1 {
		order: 0;
		font-size: 25px;
		margin: 0px;
	}

	.caixa_interna_single_formacio .caixa_continguts .text {
		order: 3;
		font-size: 16px;
	}

	.caixa_informacio_extra {
		order: 4;
	}

	.caixa_interna_single_formacio .caixa_preus {
		width: 100%;
		padding: 0px;
		row-gap: 0px;
	}

	.caixa_info_extra_tab {
		font-size: 16px !important;
	}

	#bottom_info_formacio_mobile {
		display: flex;
		flex-direction: column;
		gap: 10px;
		margin-bottom: 50px;
	}

	.header_accordion {
		font-size: 18px;
		text-transform: uppercase;
		border-bottom: 1px solid;
		padding-bottom: 10px;
		font-weight: 500;
		position: relative;
		padding-right: 10%;
		display: flex;
		align-items: center;
	}

	.header_accordion::after {
		content: '\f063';
		font-family: 'Font Awesome 5 Pro';
		position: absolute;
		left: 93%;
		font-size: 16px;
		transition: 0.3s all;
	}

	.header_accordion:has(+ .body_accordion[style*="display: none"])::after {
		/* content: '\f061'; */
		transform: rotate(-90deg);
	}

	.body_accordion {
		font-size: 16px;
	}

	/* --- REVISTES --- */

	.pag_revistes .caixa_interior_contingut_banner_home {
		flex-direction: column-reverse
	}

	.pag_revistes .caixa_inferior {
		flex-direction: column;
	}

	.pag_revistes .titol_secundari {
		padding: 0px 0%;
		line-height: normal;
		margin-bottom: 30px;
	}

	.pag_revistes .caixa_inferior>a {
		width: 100%;
		justify-content: space-between;
	}

	.revistes {
		flex-direction: column;
		row-gap: 50px;
		padding: 0 5%;
		padding-bottom: 50px;
		padding-top: 5%;
	}

	.revistes .g_revista {
		width: 100%;
		flex-direction: column;
	}

	.revistes .titol {
		width: 100%;
		min-width: auto;
		writing-mode: unset;
		border: 0px;
		border-bottom: 1px solid black;
		padding-bottom: 25px;
	}

	.revistes .titol h3 {
		font-size: 30px;
	}

	.revistes .titol h4 {
		font-size: 16px;
	}

	.revistes .content a {
		width: 100% !important;
	}



	.filters form {
		flex-direction: column;
		gap: 15px;
	}

	.filters input,
	.filters textarea,
	.filters select {
		width: 100%;
	}

	.filters select,
	.llistat button {
		width: 100%;
	}

	.filters form>div {
		width: 100%;
	}

	.llistat+.filters_container+.revistes {
		padding-top: 25px;
	}

	.filters button {
		width: 100%;
		padding: 10px;
	}

	.revistes .list {
		flex-direction: column;
	}

	.revistes .list .g_revista {
		width: 100%;
	}

	.llistat .caixa_interior_contingut_banner_home {
		flex-direction: column;
	}

	#caixa_general_contingut_banner_home.format_blanc.llistat .caixa_interior_contingut_banner_home .caixa_bloc_esquerra {
		flex-direction: column;
	}

	.llistat .caixa_bloc_esquerra .desc {
		width: 90%;
		border: 0px;
		border-bottom: 1px solid;
		margin: 0px auto;
		/* padding: 50px 7%; */
		padding-right: 0px;
		text-align: justify;
		font-size: 16px;
		line-height: normal;
	}

	.llistat .caixa_bloc_esquerra .enllac {
		width: 88%;
		margin: 0 auto;
		font-size: 16px;
	}

	.llistat .caixa_bloc_esquerra .enllac .sus_titol {
		/* font-size: 16px; */
		line-height: normal;
	}

	.llistat .caixa_bloc_esquerra .enllac a {
		font-size: 12px;
		/* width: 100%; */
		/* text-align: center; */
	}

	.llistat .caixa_bloc_esquerra .enllac .info {
		font-size: 12px;
	}

	.llistat .caixa_bloc_esquerra .imatge {
		width: 100%;
	}

	/* SINGLE REVISTA */




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

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

	/* ---- MODULAR ---- */
	.modular .banner {
		flex-direction: column;
	}

	.modular .banner .left {
		width: 100%;
	}

	.modular .banner .left .imatge_absoluta {
		display: none;
	}

	.modular .banner .right {
		width: 100%;
	}

	.modular .banner .right .contents .titol {
		font-size: 40px;
	}

	/* foto text */
	.modular_foto_text {
		flex-direction: column;
		gap: 30px;
	}

	.modular_foto_text img {
		width: 100%;
	}

	.modular_foto_text .text {
		width: 100%;
	}

	.modular_llistat .titol {
		width: 80%;
	}

	/* Carrousel - list-slider */
	/* Punts - list-punts */
	.modular_llistat .list.list-punts {
		flex-direction: column;
		margin-top: 30px;
	}

	.modular_llistat .list.list-punts .punt {
		width: 100%;
		align-items: baseline;
	}

	/* Descobreix mÃƒÆ’Ã‚Â©s / Llista - list-descobreix */
	.modular_llistat .list.list-descobreix {
		flex-direction: column;
		margin-top: 30px;
	}

	.modular_llistat .list.list-descobreix .descobreix {
		width: 100%;
	}

	.modular_llistat .list.list-descobreix .descobreix .titol {
		width: 100%;
		font-size: 20px;
	}

	/* Banner */
	.modular_banner {
		padding: 5%;
		text-align: left;
	}

	.modular_horari .titol {
		font-size: 30px;
	}

	.modular_horari .contents .info {
		flex-direction: column;
		gap: 20px;
	}

	.modular_horari .contents .info .horaris {
		max-width: 100%;
		flex-direction: column;
		width: 100%;
	}

	.modular_horari .contents .info .horaris .h {
		width: 100%;
	}

	.modular_horari .contents .info .text {
		width: 100%;
	}

	/* ---------- FOOTER ---------- */

	footer .associat {
		flex-direction: column;
		gap: 40px;
	}

	footer .associat .left {
		width: 100%;
	}

	footer .associat .left .titol {
		width: 100%;
		display: block;
		font-size: 60px;
		text-wrap-style: balance;
		margin-bottom: 20px;
	}

	footer .associat .right {
		width: 100%;
	}

	footer .associat .right .quotas {
		width: 100%;
		gap: 20px;
	}

	footer .associat .right .quotas .q {
		width: 100%;
		max-width: 150px;
	}

	footer .footer {
		flex-direction: column;
	}

	footer .footer .info {
		width: 100%;
	}

	footer .footer .info .links {
		flex-direction: column;
		gap: 20px;
	}

	footer .footer .newsletter {
		width: 100%;
	}

	footer .bottom {
		flex-direction: column;
		padding: 5%;
		gap: 20px;
		text-align: center;
		border-top-width: 40px;
	}

	footer .bottom div {
		width: 100%;
		border: 0px;
		padding: 0px;
		font-size: 20px;
	}

	footer .bottom img:nth-of-type(2) {
		display: none;
	}

	footer .logos {
		flex-direction: column;
		gap: 25px;
		padding: 40px;
	}

	.punt_menu_principal {
    	padding-left: 20px;
	}

	.punt_menu_principal div#submenu_36608 a {
		padding-left: 10px;
	}

	


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


}

@media all and (max-width: 630px) {
	#top_bar {
		padding-top: 10px;
		padding-bottom: 10px;
		min-height: auto;
		padding-left: 10px;
		padding-right: 10px;
	}

	#top_bar_left .caixa_interna_topbar_left {
		font-size: 16px;
	}

	#top_bar_right .caixa_interna_topbar_right {
		font-size: 11px;
	}

	#top_bar_right .localitzacio_topbar {
		margin-top: 5px;
		font-size: 8px;
	}

	.head_esquerra a span {
		display: none;
	}
}

/* --- Fi blocs responsive --- */

.titol_cerca:hover {
	text-decoration: underline;
}

.destacats_home {
	background-color: #E9E9E9;
}

.caixa_interior_actualitat_home--landing {
	display: flex;
	flex-direction: column;
	padding: 2% 4%;
	row-gap: 45px;
}

.caixa_titol--landing {
	font-family: 'Playfair Display';
	line-height: 1;
	font-weight: 400;
	font-size: 20px;
	margin-bottom: 10px;
	height: 100%;
}

.item--landing {
	display: flex;
	flex-direction: column;
	row-gap: 20px;
}

.map-section {
	width: 100%;
	margin: 0;
	padding: 0;
	background: #f9f9f9;
}

.map-section .map-container {
	width: 100%;
	max-width: 100%;
	overflow: hidden;
	position: relative;
}

.map-section .google-map {
	display: block;
	width: 100%;
	height: 450px;
	border: none;
}

.boto_obert {
	background-color: rgb(0, 87, 0);
	color: white;
	padding: 10px 15px;
	margin: 10px 0;
	width: fit-content;
	border: 0px;
}

.boto_tancat {
	background-color: var(--color-principal);
	color: white;
	padding: 10px 15px;
	margin: 10px 0;
	width: fit-content;
	border: 0px;
}

.caixa_single_formacio_list a {
	display: block;
}

.targeta-bio {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 25px;
	max-width: 650px;
	font-family: sans-serif;
}

.bio-imatge-contenidor {
	flex-shrink: 0;
}

.bio-imatge {
	width: 120px;
	height: 120px;
	border-radius: 50%;
	object-fit: cover;
	display: block;
}

.bio-text {
	flex: 1;
}

.bio-nom {
	font-size: 1.5rem;
	font-weight: bold;
	color: #222;
	margin-top: 0;
	margin-bottom: 10px;
}

.bio-descripcio {
	font-size: 1rem;
	color: #444;
	line-height: 1.6;
	margin: 0;
}

.titol_coleccions{
	font-family: 'DM Serif Display';
    font-size: 60px;
	display: flex;
    justify-content: flex-start;
    align-items: end;
    padding: 5% 11% 0px;
    flex-wrap: wrap;
    gap: 5%;
    row-gap: 100px;
    background-color: #E9E9E9;
    position: relative;
}