/*  Inici reset */

:root {
	--f_big: 18px;
	--f_medium: 16px;
	--f_small: 14px;
	--f_smaller: 12px;
	--f_bigger: 20px;
	--constrictor_pad: 40px;
	--deconstrictor_pad: -40px;
	--h_menu_top: 47px;
	--max_width: 1200px;

	--margin_default: 20px;

	--site_color_main: #546486;	/*botons, titols*/
	--site_color_secondary1: #e98807;
	--site_color_secondary2: #363636;
	--site_color_highlight: #e98807;
	--site_color_text: #121212;
	--site_color_b: #e8ebf1;	/*header*/
	--site_color_c: #f7f8fa;	/*content, subheader*/
	--site_color_d: #e4e7ee;	/*block title*/

	--site-color-boxtitle: #d1d7e2;


	--tint_to_highlight: brightness(0) saturate(100%) invert(51%) sepia(99%) saturate(1407%) hue-rotate(4deg) brightness(98%) contrast(94%);

	--tint_to_gray: brightness(0) saturate(100%) invert(90%) sepia(0%) saturate(723%) hue-rotate(182deg) brightness(93%) contrast(86%);

	--tint_to_main: brightness(0) saturate(100%) invert(40%) sepia(15%) saturate(1081%) hue-rotate(183deg) brightness(89%) contrast(86%);

	--tint_to_red: brightness(0) saturate(100%) invert(30%) sepia(91%) saturate(7163%) hue-rotate(353deg) brightness(93%) contrast(118%);

	--tint_to_error:  brightness(0) saturate(100%) invert(8%) sepia(93%) saturate(5541%) hue-rotate(15deg) brightness(104%) contrast(122%);

	--tint_to_dark: brightness(0) saturate(100%) invert(0%) sepia(32%) saturate(2506%) hue-rotate(355deg) brightness(87%) contrast(86%);

	--tint_to_white: brightness(0) invert(1);

	--site_color_main_rgb: 155, 47, 101;

	--buttons_color: #3fbd00;
	--text_color:#000;

	--font_default: 'Yantramanav';
	
	--font_light_weight: 300;
	--font_bold_weight: 500;

	--zigzag_size: 15px;

	--body_bottom: 160px;
  
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, blockquote, th, td, p ,
figure, aside,article,section,header,footer,nav{
    margin: 0;
    padding: 0;
	/*color: var(--site_color_text);*/
}

body{
	color: var(--site_color_text);
}

/*html5 per navegadors antics*/
article, aside, canvas, details,figcaption, figure, footer, header,hgroup, nav, section, summary, video {
    display: block;
}


img {
    border: 0;
}

fieldset {
    border: 0;
    padding: 0;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

ol, ul {
    list-style: none;
}

address, caption, cite, code, dfn, th, var {
    font-weight: normal;
    font-style: normal;
}

caption, th, td {
    text-align: left;
	text-align:left;
	vertical-align:top;
}

h1, h2, h3, h4, h5, h6 {
    padding: 0;
    margin: 0;
    font-weight: normal;
    font-size: 100%;
}

strong{
	font-weight: var(--font_bold_weight);
}

textarea{	resize:vertical;}

q:before, q:after {
    content: '';
}

hr {
    display: none;
}

hr.sep1{
	display:block;
	border:0;
	border-bottom:1px dotted #666;
	margin:40px 0;
}

.inline{display:inline-block;}
	

iframe{border:0;}

/* Final reset */
/*defaults, utils*/
/* clearfix */

.clearfix:before,
.clearfix:after {
    content: "";
    display: table;
} 
.clearfix:after {
    clear: both;
}
.clearfix {
    zoom: 1; /* For IE 6/7 (trigger hasLayout) */
}


span.notext,
.notext span{
	display:block;
	position:absolute;
	left:-10000px;
	top:auto;
	width:1px;
	height:1px;
	overflow:hidden;
}

.clickablebox,
a span{cursor:pointer;}


/*p{margin-bottom:1.7em;}*/

.tcenter{text-align:center;}

.ul_menu {display:flow-root;}
.ul_menu li{float:left;}
.ul_menu li a:hover{text-decoration:none;}




li.first{
	margin-left:0 !important;
	border-left:0 !important;
}


html,
body {
	height: 100%;
	margin: 0;
	box-sizing: border-box;
}


*, *:before, *:after {
  box-sizing: inherit;
}

*>p:last-child{margin:0;}

::selection {
  background: #CFEDCD; /* WebKit/Blink */
}
::-moz-selection {
  background: #CFEDCD; /* Gecko */
}

/*fi defaults*/



body {
	font-family: var(--font_default), sans-serif;
    font-size: 16px;
    letter-spacing: 0em;
	min-width:240px;
	line-height:1.4;
	margin: 0;

}

#logo_app{
	position:relative;
	background:url(img/fons_portada.jpg) no-repeat center center;
	background-size:cover;
	height: 215px;
	margin-bottom:20px;
}
#logo_app:before{
	content:'';
	display:block;
	position: absolute;
	top:0;
	bottom:0;
	right:0;
	left:0;
	background-color: #e98807;
	mix-blend-mode: multiply;
}


#logo_app img{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

#wrapper {
	height:100%;
	min-height: 100%;
	display: flex;
	flex-direction: column;
	background-color:var(--site_color_c);
}

header#cap{
	background-color: var(--site_color_b);
	border-bottom:1px solid #d1d7e2;
	line-height:1;
}

header#cap h1{
	text-transform: uppercase;
	font-weight: var(--font_bold_weight);

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

header .status{
	white-space: nowrap;
}

header#cap .hm_base h1,
header#cap .hm_home h1{
	text-align:center;
	padding-right:34px;
}

header#cap h1.less_important{
	text-transform:none;
}

#peu{
	background-color:#FFF;
	border-top: 1px solid #d1d7e2;
}

#subheader{
	padding: 20px 0;
}

#general_contents {
	padding-top:20px;
	padding-bottom:20px;
	flex: 1;
	overflow: auto;
	width:100%;
	

}

#general_contents h1{
	font-size: 20px;
	color: var(--site_color_main);
	font-weight: var(--font_light_weight);
	margin-bottom:0.5em;
}


#subheader+#general_contents{
	padding-top: 0;
}

#general_contents.full{
	padding:0;
}


.page_actions,
.topbar_container {
	display: flex;
	gap: 10px;
	align-items:center;
	padding: 10px 0;
}

.topbar_container {
	min-height: 50px;
}

.page_actions{padding:0;}

.page_actions h2,
.topbar_container h1 {
	flex-grow: 1;
}

.topbar_container>*:not(h1):last-child{
	margin-left:10px;
}


h1.big{
	font-size:40px;
	margin-bottom:20px;
	font-weight:var(--font_default);
}


.sec-connecta #wrapper{
	display:block;
	height:auto;
}



.link_home span {display:none;}
.link_home:before{
	display:block;
	width:24px;
	height:24px;
	filter:var(--tint_to_dark);
}



.link_box{
	cursor:pointer;
}

.link_box a{text-decoration:none;}

.btn_ico span{
	display:none;
}

.btn_ico:before{
	content:'';
	display:block;
	width:30px;
	height:30px;
	background-size:cover;


/*
	mask: var(--ico_user) no-repeat 50% 50%;
	-webkit-mask:var(--ico_user) no-repeat 50% 50%;
	background-color:red;


	filter: var(--tint_to_highlight);*/
}

.btn_ico.smaller:before{
	width:24px;
	height:24px;
}


#subheader h2{
	color: var(--site_color_highlight);
	font-weight:var(--font_bold_weight);
	font-size: 20px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

#subheader h2.secondary{
	color: var(--site_color_main);
}


#subheader h2::before {
	display: block;
	width: 26px;
	height: 26px;
	margin-right: 5px;
	filter:var(--tint_to_highlight);
  }


  #subheader.subpage h2{
	color: var(--site_color_main);
  }


.contents_title{
	text-align:center;
	color: var(--site_color_main);
	margin-bottom:20px;
}

.contents_title strong{text-transform: uppercase;}


/*menu inicial*/

.dashboard {
	display:grid;
	gap:20px;
	--_cardcolor: var(--site_color_main);	
}

.dashboard .jornada{
	--_cardcolor: var(--site_color_main);
	--_ico_card: var( --ico_calendar_time);
	--_ico_info: var(--ico_ok);	
}

.dashboard .intervenciones{
	--_cardcolor: var(--site_color_secondary1);
	--_ico_card: var( --ico_interventions);
	--_ico_info: var(--ico_status_started);
}

.dashboard .imagenes{
	--_cardcolor: var(--site_color_secondary2);
	--_ico_card: var( --ico_images);
	--_ico_info: var(--ico_folder);
}



.dashboard h2{
	font-size: var(--f_big);
	font-weight: var(--font_bold_weight);
	margin:10px 0;
}

.dashboard .info{
	font-size: var(--f_small);
	line-height: 1;
}


.dashboard a{
	display:block;
	border-radius:10px;
	padding:15px;
	background-color: var(--_cardcolor);
	color:#FFF;
	text-decoration:none;
	transition: background-color 0.5s;

}

.dashboard a:hover{
	background-color: color-mix(in srgb, var(--_cardcolor) 80%, #000);
}

.dashboard a:before{
	content:'';
	display:block;
	width:30px;
	height:30px;
	mask: var(--_ico_card,transparent);
	background-color:#FFF;
}

.dashboard .info:before{
	content:'';
	display:inline-block;
	width:16px;
	height:16px;
	mask: var(--_ico_info,transparent);
	mask-size:cover;
	background-color: #FFF;


	vertical-align: middle;
	margin-right: 0.2em;

}



.status_selector {
	display: flex;
	justify-content: center;
	gap: 10px;
  }
  
.user_action {
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
	max-width: 164px;
	padding: 10px;
	text-align: center;
	text-transform: uppercase;
	background-color: var(--site_color_highlight);
	border-radius: 5px;
	color: #ffffff;
	font-size: var(--f_small);
	line-height:1;

	text-decoration:none;
}

.user_action.disabled{
	opacity:0.5;
	filter: grayscale(100%);
	cursor: not-allowed;
}

.user_action.goback{
	background-color:var(--site_color_main);
}
  
.user_action::before {
	content: ""; /* Importante para generar un contenido */
	width: 50px;
	height: 50px;

	background-size: cover;
	border-radius: 50%;
	margin-bottom:10px;
	position: relative;
	display:block;
	filter: var(--tint_to_white);
  }

.list_messages{
	background-color:#d1d7e2;
	padding:10px;
	margin-top:40px;

}

.list_messages .msg{
	font-weight:var(--font_bold_weight);
	margin-bottom:20px;
}



.list_messages li{
	margin-bottom:10px;
}

.list_messages li a{
	display:block;
	position:relative;
	background-color:#FFF;
	border-radius: 5px;
	padding:10px 25px 10px 40px;
	text-decoration:none;
	color: var(--site_color_main);

}

.list_messages li a:before{
	width:20px;
	height:20px;
	display:block;

    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
	filter:var(--tint_to_main);
}

.list_messages .problem a{
	color:#A00;
}

.list_messages li.problem a:before{
	filter: var(--tint_to_error);
}



.list_messages li a:hover{
	color:#000;
}

.list_messages li a:hover:before,
.list_messages li a:hover:after{
	filter:var(--tint_to_dark);
}



.menu{
	display: flex;
	list-style: none;
	padding: 0;
}

.menu li {
	flex: 1;
	font-size:14px;
	text-align:center;
	line-height:1;
}

.menu li.actiu{
	font-weight:var(--font_bold_weight);
}

.menu li a:before {
	content: "";
	display: block;	
	width: 26px;
	height: 26px;
	margin:0 auto;
	background-size: cover;

}

.menu.w_text a:before{
	opacity:0.5;
}

.menu li.active a:before {
	filter: var(--tint_to_highlight);
}

.menu li span{	
	display:none;
}

.menu.w_text li span{
	margin-top:5px;
	display:block;
}

.menu.w_text li a{display:block;}



.menu li a {
	display:inline-flex;
	/*display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	*/
	text-decoration: none;
	position: relative;
	padding:12px;
}

.menu li.highlight {
	background-color: #f7f8fa;
}

.menu li.highlight a:before {
	filter: var(--tint_to_main);
	opacity:1;
}



.menu.actions{
	gap: 10px;
}

.menu.actions li a{
	padding:0;
	display:block;
}

.menu.actions li a:before{
	width: 32px;
	height:32px;
	filter:var(--tint_to_main);
}



.icolink:before,
.ico:before{
	content:'';

	background-size:cover;
}


.ico_add:before{ background-image: var(--ico_add); }
.ico_add_i:before{ background-image: var(--ico_add_i); }
.ico_remove:before{ background-image: var(--ico_remove); }
.ico_list:before{ background-image: var(--ico_list); }
.ico_calendar:before{ background-image: var(--ico_calendar); }
.ico_map:before{ background-image: var(--ico_map); }
.ico_gmap:before{ background-image: var(--ico_gmap); }
.ico_info:before{ background-image: var(--ico_info); }
.ico_repair:before{ background-image: var(--ico_repair); }
.ico_matin:before{ background-image: var(--ico_matin); }
.ico_matout:before{ background-image: var(--ico_matout); }
.ico_notes:before{ background-image: var(--ico_notes); }
.ico_save:before{ background-image: var(--ico_save); }
.ico_delete:before{ background-image: var(--ico_close); }
.ico_textclean:before{ background-image: var(--ico_textclean); }
.ico_cancel:before{ background-image: var(--ico_cancel); }
.ico_status_started:before{ background-image: var(--ico_status_started); }
.ico_status_pending:before{ background-image: var(--ico_status_paused); }
.ico_status_stopped:before{ background-image: var(--ico_status_stopped); }
.ico_status_closed:before{background-image: var(--ico_ok_i);}
.ico_scan:before{ background-image: var(--ico_scan); }
.ico_close:before{ background-image: var(--ico_close); }
.ico_close_i:before{ background-image: var(--ico_close_i); }
.ico_search:before{ background-image: var(--ico_search); }
.ico_user:before{ background-image: var(--ico_user); } 
.ico_pause:before{ background-image: var(--ico_pause); } 
.ico_ok:before{ background-image: var(--ico_ok); } 
.ico_ok_i:before{ background-image: var(--ico_ok_i); } 
.ico_logout:before{ background-image: var(--ico_logout); } 
.ico_prev:before{ background-image: var(--ico_prev); } 
.ico_mail:before{ background-image: var(--ico_mail); } 
.ico_arrowback:before{ background-image: var(--ico_arrowback); } 
.ico_main_menu:before{ background-image: var(--ico_main_menu); }

.ico_home:before { background-image:var( --ico_home);}
.ico_calendar_time:before { background-image:var( --ico_calendar_time);}
.ico_interventions:before { background-image:var( --ico_interventions);}
.ico_images:before { background-image:var( --ico_images);}



.ico_login:before{ background-image: var(--ico_login);}
.ico_password:before{ background-image: var(--ico_password);}

/*
.ico_close_i{display: block;
    background-color: #546486;
    border-radius: 40px;}
.ico_close_i:before{ background-image: var(--ico_close);
filter: var(--tint_to_white);
}*/



.icolink::before{
	display:inline-block;
	vertical-align:middle;
	width:24px;
	height:24px;
	margin-right:0.5em;
}


.icolink{text-decoration:none;}
.icolink:hover{text-decoration:underline;}



.close_view{
	padding:5px;
    display: block;
    background-color: #546486;
    border-radius: 40px;
    overflow: hidden;
}
.close_view:before{
	content:'';
	display:block;
	background: var(--ico_close);
	background-size:cover;
	filter: var(--tint_to_white);	
	width:20px;
	height:20px;

}

.btn {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	background-color: var(--site_color_main);
	color: white;
	padding: 5px 10px 5px 5px;
	border-radius: 5px;
	text-decoration: none;
	text-transform:uppercase;
	position: relative;

	border:0;
	cursor:pointer;
}
  
 .btn::before {
	display: block;
	width: 16px;
	height: 16px;
	margin-right: 5px;
	filter:var(--tint_to_white);
}


.btn:hover{
	background-color:#3d4861;

}



.btn2:not(#lea_map a){
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	border:1px solid var(--site_color_main);
	border-radius:40px;	
	text-decoration: none;
	text-transform:uppercase;
	position: relative;
	padding:4px 10px 2px;
	font-size:14px;
	font-weight: var(--font_bold_weight);
}

.btn2.hl:not(#lea_map a){
	background-color:#FFF;
}

.btn2:not(#lea_map a)::before {
	display: block;
	width: 20px;
	height: 20px;
	margin-right: 5px;

}

.btn2:not(#lea_map a):hover{
	background-color:#d1d7e2;
}

.main_conts .btn2{
	padding: 8px 20px 6px;

}

.main_conts.narrow{
	width:100%;
	max-width:320px;
	margin: 0 auto;
}

.nice_form .indications{
	font-size:var(--f_small);
	margin-bottom: 30px;
}


.nice_form .txt_input input
{
	border:0;
	width:100%;
	height:40px;
	position:relative;

	background: 10px center no-repeat;
	padding-left: 40px;
	color: #546486;
	font-size:16px;
	background-color:#FFFFFF80;
	z-index:5;
	border-bottom: 1px solid #54648680;
}

.nice_form .form_fields{
	margin-bottom:30px;
}




.nice_form .txt_input {
	position:relative;

	background-color:#FFF;
	margin-bottom:5px;
}


.nice_form .txt_input:before{
	content:'';
	position:absolute;
	width:24px;
	height:24px;
	left:10px;
	top:50%;

	transform: translateY(-50%);

}

.nice_form .txt_input input:focus{
    outline: none;
	background-color:transparent;
	border-bottom: 1px solid #546486;
}

.nice_form .txt_input:focus:before{
    opacity:1;
}



.nice_form input.user{
	background-image:var(--ico_login);
}

.nice_form input.pass{
	background-image:var(--ico_password);
}

.nice_form .form_actions .btn{
	display:block;
	width:100%;
	padding: 10px;
}

.nice_form .form_actions p {
	margin-bottom:1em;
	text-align:center
}

.basic_error_msg,
.nice_form .form_error {
	font-size: var(--f_small);
    padding: 10px;
    border-top: 1px solid #FFF;
    background-color: #C00;
    color: #FFF;
    text-align: center;
	margin-bottom: 1em;
}



footer.simple{
	text-align:center;
	margin-top:40px;
}

footer.simple .menu_idiomes {
	margin-top:40px;	
}

footer.simple .menu_idiomes li{
	display:inline-block;
}

footer.simple .menu_idiomes li:before{
	content:'—';

}

footer.simple .menu_idiomes li:first-child:before{
	content:none;
}

footer.simple .menu_idiomes a{
	text-decoration:none;
}





/*dl list group*/

.definition_list dt{
	position:relative;
	font-size:12px;
	text-transform:uppercase;
}

.definition_list dd{
	position:relative;
	font-weight:var(--font_bold_weight);
	margin-bottom:10px;
}

.definition_list dd.undefined{
	font-weight:normal;
	opacity:0.5;
	font-style: italic;
}

.definition_list dl dd:last-child{
	margin-bottom:0;
}

.definition_list dl div{
	position:relative;
}

.definition_list.group dl{
	overflow:hidden;
	border-radius:5px;
	border: 1px solid #54648680;
	background-color:#FFF;
	margin-bottom:10px;
}

.definition_list.group.plain dl{
	padding:10px;
	border:1px solid #d1d7e2;
	border-radius: 2px;
}

.definition_list.group dl.main{
	background-color:#d1d7e2;
}

.definition_list.group dl div{
	padding:10px;
}

.definition_list.group dl div:first-child{
	background-color:#d1d7e280;
}

.list_messages a:after,
.definition_list.editable div:not(.locked):after {

	content:'';
	display:block;
	position:absolute;
	right:10px;
	top:50%;
	transform: translateY(-50%);
	width:24px;
	height:24px;
	background:var(--ico_next);
	background-size:cover;
	opacity:0.5;
}


.definition_list.group.editable div:hover{
	background-color:#FFF;
}
.definition_list.group.editable div:hover dd{
	color:#546486;
}

.definition_list.editable div:hover:after{
	opacity:1;
}


.definition_list.single div{
	border-radius: 5px;
	border:1px solid #d1d7e2;
	background-color: #ffffff;
	padding:10px;
	margin-bottom:20px;
}


.definition_list.editable div{
	padding-right:50px;
	cursor:pointer;
}

.definition_list.single div:hover{
	border-color: var(--site_color_main);
}

.definition_list.single dt{
	margin-bottom:10px;
}

.definition_list.single dd {
	font-weight:normal;
}


.list_empty{
	height:100%;
	width:100%;
	display:flex;
	flex-direction: column;
	font-size:var(--f_bigger);
	color: var(--site_color_main);
	justify-content: center;
	align-items: center;
}

.list_empty:after{
	content:'';
	display:block;	
	width:77px;
	height:77px;
	margin-top:20px;
	background-image:var(--ico_cafe);
	background-size:cover;
}

/*img card*/
.image_card {
	display: flex;
	align-items: flex-start;
	position: relative;
	font-size: 14px;
	color: #546486;
}

.image_card h3 {
	font-size: 16px;
}

.image_card .photo img {
	display: block;
	margin: 0 auto;
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;

}


.image_card .description {
	flex: 1;
	margin-left: 10px;
}

.image_card .photo {
	width: 80px;
	min-height:80px;
}


/*items_list*/
.items_list li{
	border: 1px solid #d1d7e2;
	border-radius: 5px;
	overflow:hidden;
	background-color:#FFF;
	margin-bottom:10px;

}


.card_business{
	text-align:center;
	color:var(--text_color);
	margin-bottom:40px;
}

.card_business h2{
	margin-top:15px;
}

.card_business a{
	color:var(--text_color);
	text-decoration:none;
}

.card_business a:hover{
	text-decoration:underline;
}

.card_business a:not(:last-child):after{
	content: ' · ';
}




.card_base{
	background-color: #d1d7e2;
	border-radius: 5px;
	padding:10px;
	margin-bottom:40px;
}
.text_info_boxes>*:last-child,
.card_base>*:last-child{
	margin-bottom:0;
}

.text_info_boxes section{
	border: 1px solid #d1d7e2;
	background-color: #FFF;
	border-radius:5px;
	padding:10px;
	margin-bottom:20px;

}

.text_info_boxes section h2{
	color: var(--site_color_main);
	font-weight: var(--font_bold_weight);
	text-transform: uppercase;
}





.items_list .info {
	padding: 10px;
}



.items_list .photo {
	width: 60px;
	min-height:60px;
}



.items_list .del_prod,
.items_list .edit_prod
{
	cursor:pointer;
}

.items_list .del_prod:hover .info{
	background-color:#d1d7e2;
}

/*llista amb del incorporat*/
.items_list .del_prod .info:after{
	content:'';
    display: block;
    position: absolute;
    right: 10px;
    top: 10px;
    width: 24px;
    height: 24px;
	background-size: cover;
}

.items_list .del_prod .info:after {
    background-image: var(--ico_close);
    opacity: 0.5;
}

.items_list .remove_item:before{
    display: block;
    position: absolute;
    right: 10px;
    top: 10px;
    width: 24px;
    height: 24px;
	opacity: 0.5;
}

.items_list .remove_item:hover:before{
	opacity:1;
}


.items_list .edit_prod .info:after {
    top: 50%;
	transform: translateY(-50%);
    width: 32px;
    height: 32px;
    background-image: var(--ico_next);
}

.items_list .edit_prod:hover .details{
	background-color:#f7f8fa;
}

.items_list .details{
	background-color:#d1d7e280;
	padding:10px;
}





/*forms*/

.form_box{
	background-color: #e4e7ee;
	padding: 10px;
	border-radius: 5px;
	margin-bottom:25px;

}

.form_box.plain{
	background-color:transparent;
	padding:0;
}

.form_box h2{
	color: #121212;
	font-weight: var(--font_bold_weight);
	margin-bottom:10px;
}

.form_box .form-group{
	margin-bottom:20px;

}

.form_box label {
	display:block;
    font-size: 12px;
    text-transform: uppercase;
	line-height:1;
	margin-bottom:5px;
}

.form_box label:not(:first-child) {
	margin-top: 2em;
}


.form_box textarea,
.form_box input[type=text],
.form_box input[type=number],
.form_box input[type=password],
.form_box select
 {
	background-color:#FFF;
	color: var(--site_color_text);
	border: 1px solid #d1d7e2;
	padding:5px;
	border-radius:4px;
	width:100%;
	height:40px;
	box-sizing: border-box;
	font-size:16px;
	font-family: var(--font_default);
}

.form_box textarea{
	min-height:8em;
}

.form_box select.basic {
	font-size:14px;
}

.form_box .button_actions{
	margin-bottom:15px;
}

.form_box .button_actions .btn3{
	font-weight:var(--font_bold_weight);
	text-transform:uppercase;
	padding:0 30px;
}



.field_waction {
	display: flex;
	align-items: center;
	width: 100%;
	gap: 10px;
}

.field_waction input[type="text"] {
	flex: 1;
}

.field_waction button {
	padding:0;
	border:0;
	background-color:transparent;
	cursor:pointer;

}


.field_waction button:before{
	content:'';

	display:block;
	width:32px;
	height:32px;
}


.card_wicon{
	--icon_size:45px;

	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;

	position:relative;
	padding-left: calc(var(--icon_size) + 10px);

	min-height: var(--icon_size);
	margin-bottom:30px;
	line-height:1;
}

.card_wicon:before{
	display:block;
	width:var(--icon_size);
	height:var(--icon_size);
	position: absolute;
	left: 0;
	top:0;

}

.card_wicon h2{
	font-size: 20px;
	font-weight:var(--font_bold_weight);
	color: var(--site_color_main);
}

.card_wicon h3{
	font-size: var(--f_small);
	color: var(--site_color_main);
}


/*list box intervention*/
.box_intervention{
	overflow:hidden;
	border:1px solid var(--site_color_main);
	border-radius: 5px;
	background-color:#FFF;
	margin-bottom: var(--margin_default);
	transition: all 0.5s ease;

}

.box_intervention:hover{
	filter: drop-shadow(0px 2px 4px rgba(0,0,0,0.2));
}

#llistat_interventions:has(.box_intervention:hover)>.box_intervention:not(:hover)
{
	/*opacity:0.5;*/
}

.box_intervention .header{
	display:flex;
	justify-content: space-between;
	align-items: center;

	background-color: var(--site-color-boxtitle);
	color: var(----site_color_text);
	padding:8px 10px;
}

.box_intervention .header h2,
.box_intervention .header .status
{
	flex:1;
}

.box_intervention .header h2{
	font-weight:var(--font_bold_weight);
}

.box_intervention .header a{
	text-decoration:none;
	color:inherit;
}

.box_intervention .header .status{
	text-align:right;
	text-transform: uppercase;
}

.box_intervention .header .status span{
	position:relative;
	display:inline-block;
	line-height:1;
	padding-right:25px;

}

.box_intervention .header .status span:after{
	content:'';
	display:block;
	margin-left:5px;
	margin-top:-2px;
	width:20px;
	height:20px;
	background: no-repeat;
	background-size:cover;
	background-image: var(--ico_status_started);
	position:absolute;
	right:0;
	top:50%;
	transform: translateY(-50%);
}

.box_intervention.currstatus_pending .header .status span:after{
	background-image: var(--ico_status_paused);
}

.box_intervention.currstatus_closed .header .status span:after{
	background-image: var(--ico_ok_i);
	filter:var(--tint_to_main);
}

.box_intervention .contents{
	padding:10px;
	background-color: #FFF;
}



.box_intervention .contents table{
	width:100%;
}

.box_intervention .contents table th,
.box_intervention .contents table td{
	border-bottom: 1px solid #d1d7e2;
	padding:10px 0;
	vertical-align:middle;
}

.box_intervention .contents table tr:last-child th,
.box_intervention .contents table tr:last-child td{
	border-bottom:0;
	padding-bottom:0;
}


.box_intervention .contents table th{
	font-size:12px;
	white-space: nowrap;
	width:1%;
	padding-right:20px;
}


/*rollover*/
.box_intervention.currstatus_pending{
	border-color: #54648680;
}

.box_intervention.currstatus_pending .header {
	background-color: #FFC20E80 !important; /* #d1d7e280; */
}

.box_intervention.currstatus_started .header {
	background-color: #13d82780 !important; /* #d1d7e280; */
}

.box_intervention.currstatus_closed  .header{
	background-color: #00B7EF80 !important; /* #d1d7e280; */
}

.material_card{
	text-align:center;
	color:var(--site_color_main);

}

.material_card h3{
	margin-top:20px;
	font-weight:var(--font_bold_weight);
}

.material_card p{
	font-size: var(--f_small);
}

.head_result{
	font-size:20px;
	font-weight:var(--font_bold_weight);
	color: var(--site_color_main);
	margin-top:40px;
	margin-bottom:40px;
	text-align:center;
}

.notice {
	padding:10px;
	text-align:center;
	color:#A00;
	font-weight:var(--font_bold_weight);
	font-size:var(--font_default);

}



/*scanner*/
#scanner-container{
	position:absolute;
	overflow:hidden;
	inset: 0;
	background-color:rgba(0,0,0,0.9);
}

#scanner-container video{
	height:100%;
	margin:0 auto;
}

#scanner-container canvas.drawing,
#scanner-container canvas.drawingBuffer {
	position: absolute;
	left: 0;
	right:0;
	top: 0;
	height:100%;
	margin:0 auto;
}

#scanner-container .btn_close{
	position: absolute;
	width:60px;
	height:60px;
	z-index:999;
	display: block;
	bottom: 10%;
	right: 0;
	left: 0;
	margin: 0 auto;
}

#scanner-container .btn_close:before{
	width:100%;
	height:100%;
}

/*popup*/
.popup {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	right:0;
	width: 100%;
	max-width: var(--max_width);
	height: 100%;
	background: rgba(255, 255, 255, 0.95);
	z-index:9;
	margin: 0 auto;
	padding:20px 10px 10px;
  }

.popup .wrapper {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.popup .header{
    display: flex;
    gap: 10px;
    align-items: center;
	margin-bottom:20px;
	color:#546486;
	font-size:20px;
}

.popup .header h2{
flex-grow: 1;
}

.popup .subheader{
	margin-bottom:10px;
}

.popup .subheader p{
	margin-top:-20px;
	margin-bottom: 20px;
}

/*a.link_goback:before,
.popup a.popup_close:before {
    content: "";
    display: block;
    width: 27px;
    height: 27px;
	filter:var(--tint_to_white);
}


.popup a.popup_close{
	display:block;
	background-color:#546486;
	border-radius:40px;
}*/

a.link_goback span,
.popup a.popup_close span {
	display: none;
}

.popup .contents {
	flex: 1;
	overflow: auto;
	width: 100%;
}

.popup .footer{
	padding-top:15px;
}


.select_list {
	list-style: none;
	padding: 0;
}

.select_list li {
	cursor: pointer;
	padding: 12px;
	border-bottom: 1px solid #d1d7e2;
}

.select_list li:hover {
	background-color: #f7f8fa;
}

.select_list li.undefined{
	color: #12121280;
	font-style: italic;
}

.select_list li.no_options{
	color: #cc0000;
	font-style: italic;
}
  

.field_search {
	width:100%;
	height: 40px;

	padding: 0px 8px 0px 40px;
	border: 1px solid #d1d7e2;
	border-radius: 50px;
	background-color: #ffffff;
	font-size: 14px;
	color: #121212;
	background:var(--ico_search) no-repeat 10px center;
}


.frm_element{
	display:block;
	position:relative;
	background-color:#e4e7ee;
	border-radius: 5px;
	color: #000000;
	text-decoration:none;
	padding:10px;
}

.frm_element.link,
.frm_element.select{
	padding-right:20px;
}

.frm_element.link:after,
.frm_element.select:after {
	content:'';
	display:block;
	position:absolute;
	right:10px;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    background-image: var(--ico_next);
	background-size: cover;
}

.frm_element.link:hover,
.frm_element.select:hover{
	background-color: #d1d7e2;
}

.frm_element.with_ico:before{
		content:'';
		display:block;
		width:26px;
		height:26px;
		background-size:cover;
		filter: var(--tint_to_dark);
}

.frm_element.with_ico{
	display:flex;
	gap:10px;
	align-items: center;

}


.notice-alert {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background-color: #e9cf07;
	color: #000;
	text-align: center;
	padding: 10px;
	z-index: 1000;
  }

  .notice-alert.error{
	color:#FFF;
	background-color:#A00;
  }



/*custom modal*/
.custom-modal {
    display: none;
    position: fixed;
	max-width:350px;
	width:100%;


    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
	border:1px solid #d1d7e2;
    background-color: #fff;
    padding: 20px;
	border-radius: 5px;
	box-shadow: 0px 0px 40px rgba(84,100,134,0.2);
    z-index: 1000; 

}

.overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #FFF;
	opacity:0.9;
    z-index: 999; /* Un nivel por debajo del modal */
}

.modal-content {
    text-align: center;
}

.custom-modal .modal_actions{
	display:inline-block;
}

.custom-modal h2{
	font-size:20px;
	color:#000;
	text-align:center;
	margin-bottom:20px;
}

.custom-modal p{
	margin-bottom:20px;
}



.btn3,
.custom-modal button{
	--_color: var(--site_color_main);
	display:inline-block;
	height: 60px;
	padding: 0px 30px;
	border: 1px solid var(--_color);
	border-radius: 40px;
	background-color: color-mix(in srgb, var(--_color) 2%, transparent);
	font-size: 14px;
	font-weight: var(--font_bold_weight);
	color:  var(--_color);
	line-height: 60px;
	text-align: center;
	margin-bottom:20px;
	cursor:pointer;
	text-decoration:none;
}

.btn3.accented{
	--_color: var(--site_color_secondary1);

}

.btn3.accented:before{
	filter:var(--tint_to_highlight);
}

.custom-modal button{
	display:block;
	width:100%;
}

.btn3:hover,
.custom-modal button:hover{
	background-color:color-mix(in srgb, var(--_color) 10%, transparent);
}

.btn3:before,
.custom-modal button:before{
	display:inline-block;
	width:24px;
	height:24px;
	margin-right:10px;
	vertical-align:middle;
	background-size:cover;
}

.custom-modal button.mainaction,
.custom-modal button.stop,
.custom-modal button.delete{
	text-transform:uppercase;
}

.custom-modal button.stop:before{
	content:'';
	background-image:var(--ico_status_stopped);
}

.custom-modal button.delete:before{
	content:'';
	background-image:var(--ico_close);
}

.custom-modal button.pause:before{
	content:'';
	background-image:var(--ico_pause);
	filter: var(--tint_to_main);
}

.custom-modal button.confirm:before{
	content:'';
	background-image:var(--ico_ok);
	filter: var(--tint_to_main);
}

.custom-modal button.start:before{
	content:'';
	background-image:var(--ico_status_started);
	filter: var(--tint_to_main);
}



.button_actions{
	text-align:center;
	margin-top: 20px;
}

.button_actions a, .button_actions button{
	margin: 0 10px;
	min-width:150px;
	padding: 0 30px;
	text-transform:uppercase;

}



@media (max-width:912px)
{
	:root {
	  --constrictor_pad: 20px;
	  --deconstrictor_pad: -20px;
	}
}

@media (max-width:650px)
{
	
	:root {
	  --f_medium: 16px;
	  --f_small: 14px;
	  --constrictor_pad: 10px;
	  --deconstrictor_pad: -10px;
	  
	  --body_bottom: 250px;
	}	
	
}


@media (max-width:500px)
{
	.btn2:not(#lea_map a) {
		display: inline-block;
		border-radius: 10px;
	}

	.btn2:not(#lea_map a)::before{
		display: inline-block;
		vertical-align: middle;
	}
}











a{color: var(--site_color_main);}
a:hover{text-decoration:none;}

.sublink{
	font-family: var(--font_default), sans-serif;
	font-size:15px;
}

label{margin-right:0.5em;}

.rawtext h2,
.h_alfa{
	font-family: var(--font_default), sans-serif;
	color:#F00;
	font-size:24px;
	margin-bottom:25px;
}

.h_beta{
	overflow:hidden;
	color:#F00;
	font-family: var(--font_default), sans-serif;
	font-size:16px;
	text-transform:uppercase;
	text-align:center;
	margin-bottom:50px;
}

.h_beta:before,
.h_beta:after {
    background-color: #B3B3B3;
    content: "";
    display: inline-block;
    height: 1px;
    position: relative;
    vertical-align: middle;
    width: 50%;
}
.h_beta:before {
    right: 0.5em;
    margin-left: -50%;
}
.h_beta:after {
    left: 0.5em;
    margin-right: -50%;
}

.h_gamma3,
.h_gamma2,
.h_gamma{
	font-family: var(--font_default), sans-serif;
	font-size:33px;
	color:#0068b3;
	margin-bottom:40px;
}

.h_gamma2{
	font-size:24px;
	margin-bottom:20px;
}

.h_gamma3{
	font-size:16px;
	margin-bottom:20px;
}
	

.h_delta{
	font-family: var(--font_default), sans-serif;
	font-size:19px;
	color:#3771c8;
	margin-bottom:30px;
}

.h_epsilon{
	font-family: 'Roboto', sans-serif;
	font-size:19px;
	color:#3771c8;
	margin-bottom:30px;
}
	

.link_mes{
	font-size:15px;
	font-family: var(--font_default), sans-serif;
	background:url(img/btn_mes.png) no-repeat right center;
	padding-right:15px;
	text-decoration:none;
	border-right:1px transparent solid;
}

.link_mes:hover{text-decoration:underline;}

.t_right{text-align:right;}

.highlight{font-weight:var(--font_bold_weight);}

.constrictor {
	display:block;
    position: relative;

	width:100%;
	max-width:var(--max_width);
	padding:0 10px;
    margin: 0 auto;
}

textarea.whole_textarea{
    display: block;
    position: absolute;
	left: 0;
    right: 0;
    top: 0;
    bottom: 0;
	border:0;
	outline: none;
    resize: none;
	width:100%;
	height:100%;

	padding:10px;
	font-size: var(--f_medium);
	font-family:var(--font_default);
	color:var(--site_color_text);
}




.entorn_dev{
    position: fixed;
    z-index: 999;
    right: 0;
    top: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 50px 50px 0;
	border-color: transparent #3CD480 transparent transparent;
    opacity: 0.8;
    pointer-events: none;

}




.form_mixed input[type="text"],
.form_mixed select{
    width: 100%;
	min-width:150px;
    padding: 0px 24px;
	border-radius: 4px;
	border: 1px solid #8c8c8c;
    color: #000;
    height: 40px;
    line-height: 50px;
    background: #FFF;	

	font-size: var(--f_medium);
	font-family: var(--font_default);
	
	
}


.form_mixed li {
    margin-bottom: 20px;
}

.form_mixed li:last-child{
	margin-bottom:0;
}

.form_mixed label{
	display:block;
	margin-bottom:10px;
	line-height:1;
}

.form_mixed .check_group label{
	display:inline-block;
	margin-bottom:0;
	margin-right:2em;
}

.form_mixed .tabular{
	display:table;
	width:100%;
}

.form_mixed .tabular .td{
	display:table-cell;
}

.form_mixed .tabular .td:first-child{
	padding-right:5px;
}

.form_mixed .tabular .td:last-child{
	padding-left:5px;
}

.form_mixed .tabular .td30{
	width:30%;
}

.form_mixed .tabular .td70{
	width:70%;
}

.form_mixed .tabular .td50{
	width:50%;
}


.form_mixed .div50{
	width:50%;
	min-width:300px;
}

.form_mixed .error input[type="text"],
.form_mixed .error select,
.form_mixed .error .check_group
{
	border-bottom:2px solid red;
}

.form_mixed .form_error{
	padding:10px;
	background-color:#C00;
	color:#FFF;
}

.rsp_show,
.rsp_block {display:none;}


.fields_group{
	border-radius: 3px;
	background-color: #f4f4f4;
	padding:25px;
	margin-bottom:25px;
}

.fields_group.blank{
	background-color:transparent;
	padding-right:0;
	padding-left:0;
}

.fields_group h3{
	font-size: 18px;
	font-weight:bold;
	margin-bottom:25px;
}




input[type="checkbox"] {
  appearance: none;
  width: 20px;
  height: 20px;
  background-color: #fff;
  border: 2px solid #ccc;
  border-radius: 4px;
  outline: none;
  cursor: pointer;
  vertical-align:middle;
  margin-right:0.5em;
}

input[type="checkbox"]:checked {
  background-color: #9b2f65;
  border-color: #9b2f65;
}

input[type="checkbox"]:checked:before{
	content:'';
	display:inline-block;
	width:90%;
	height:90%;
	margin-left:5%;
	margin-top:5%;
	background-color:#FFF;
	transform-origin: bottom left;
	clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}


.form_actions .btn_envia{
	display:inline-block;
	font-size:32px;
	color: var(--site_color_main);
	border: 5px solid var(--site_color_main);
	border-radius: 45px;
	
	background-color:transparent;
	padding:15px 90px;
	cursor:pointer;
	
	transition: all 0.2s ease-in-out;
}

.form_actions .btn_envia:hover{
	background-color: var(--site_color_main);
	color:#FFF;
}
	

	




/*raw text*/

.raw_text ul,
.raw_text ol {
  margin: 1em 0;
  padding: initial;
  list-style: initial;
  padding-left:2em;
}

.raw_text ol {
   list-style:decimal
}

.raw_text ul ul,
.raw_text ul ol,
.raw_text ol ul
{margin:0 0 0.3em 0;}

.raw_text li {
  margin: initial;
  padding: initial;
}

.raw_text h2{
	font-size:18px;
	font-weight:var(--font_bold_weight);
	margin-bottom:20px;
}

.raw_text h3{
	font-size:16px;
	font-weight:var(--font_bold_weight);
	margin-bottom:1em;
}

.raw_text h4{
	font-size:14px;
	font-weight:var(--font_bold_weight);
	margin-bottom:1em;
}

.raw_text p{
	margin-bottom:0.5em;
}
	

i.tancada{color:#fa0c0c;}


.box_conts{
  padding:25px;
  background-color:var(--site_color_b);
  border-radius:3px;
}

.box_conts_txt {
    overflow: hidden;
    position: relative;
    padding-left: 135px;
    min-height: 150px;
}

.box_conts.msg_ok header:before, .box_conts.msg_ok .box_conts_txt:before {
    background-image: url(img/sign_ok.svg);
}

.box_conts.msg_ko header:before, .box_conts.msg_ko .box_conts_txt:before {
    background-image: url(img/sign_ko.svg);
}

.box_conts.msg_preok header:before, .box_conts.msg_preok .box_conts_txt:before {
    background-image: url(img/sign_preok.svg);
}

.box_conts.msg_404 .box_conts_txt{
	padding-left:0;
}
	



.box_conts_txt:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 110px;
    height: 110px;
    background-repeat: no-repeat;
    background-size: cover;
}


















.colgroup{
	display:table;
	table-layout: fixed;
	width:100%;
}



.colgroup .col{
	display:table-cell;
	vertical-align: top;
	}
	
.colgroup .col img{
	max-width:100%;
}

.colgroup .col_separator_r1{	padding-right:60px;}
.colgroup .col_separator_l1{	padding-left:60px;}
.colgroup .col_separator_r2{	padding-right:30px;}
.colgroup .col_separator_l2{	padding-left:30px;}

.colgroup.mbottom1{
	margin-bottom:80px;
}

.col4_cut.abs{
	width:330px;
}

/*
.col4_cut.abs:before{
	content:'';
	display:block;
	width:330px;
}
*/



.col_half{width:50%;}
.col_2o3{width:66.666%;}
.col_1o3{width:33.333%;}




#form_cercador .form_actions {
	display:none;
	margin-top:20px;
	margin-bottom:30px;
}
#form_cercador .form_actions input{width:100%;}

#form_cercador .submenu_responsiu{
	display:none;
	border-top:#ECECEC 1px solid;
	border-bottom:#ECECEC 1px solid;
	padding:20px 10px;
	margin-bottom:25px;
}

#form_cercador .submenu_responsiu.bottom{margin-bottom:0;}



.caixa_accions {
	padding:20px;
	background-color:#FFF;
}

	
	
.center { text-align:center;}
	
.tauladades{
	width:100%;
	font-family: var(--font_default), sans-serif;	
}

.tauladades th,
.tauladades td,
.tauladades li
{
	padding:10px 0;
	border-bottom:1px dotted #b3b3b3;
}

.tauladades li{
	padding:20px 0;
}

.tauladades li:first-child{padding-top:0;}

.tauladades th {padding-right:40px;}

.tauladades li strong,
.tauladades td.th,
.tauladades th{
	font-weight:normal;
	color:#4d4d4d;
	
}


	

.def_bloc_separa{margin-bottom:70px;}





.formulari .vform li{
	clear:both;
	margin-bottom:1em;}

.formulari .vform li.field_half{
	clear:none;
	width:48%;
	float:right;
}

.formulari .vform li.field_half.first{
	clear:none;
	float:left;
}


.formulari .vform label{
	display:block;
	font-family: var(--font_default), sans-serif;
	margin-bottom:0.3em;
}

.formulari .camps input, .formulari .camps textarea, .formulari .camps select {
	font-family: var(--font_default), sans-serif;
	font-size:16px;
	border:1px solid #999;
	width:100%;
	padding:5px;
	}
	
.formulari .camps input{
	height:37px;
}
	
	
.formulari .box_camps{
	margin-bottom:15px;
	font-family: var(--font_default), sans-serif;
}

.formulari .box_camps h3{
	padding:10px;
	
	font-size:19px;
	background-color:#e6e6e6;
	color:#0068b3;
}

.formulari .box_camps  ul{
	background-color:#F2F2F2;
	padding:10px;
}

.formulari .box_camps li{
	overflow:hidden;
	margin-bottom:10px;
	}
	
.formulari .box_camps label{
	display:inline-block;
	vertical-align:middle;
}

.formulari .box_camps select,
.formulari .box_camps input{
	float:right;
	width:55%;
	min-width:175px;
	
	padding:5px;
	border:1px solid #999;
	border-radius:4px;
	font-family: var(--font_default), sans-serif;
	font-size:16px;
	
}

.m_error,
.formulari .is-invalid label{
	color:#F00;
}

.form-group.special {
    position: absolute;
    opacity: 0;
    left: -2000px;
}


.form_notice,
.form_notice_default,
#form_contacte,
#form_contacte_default
{
	padding:50px;
	background-color:#FFF;
	margin-bottom: 100px;
}


/*paginacio*/

.pagination{
	overflow:hidden;
	float:right;
	}

.pagination li{
	float:left;
	margin:0 5px;	
	}
.pagination li.next {float:right;}



.pagination .page-link{
	display:inline-block;
	background-color:#FFF;
	border:1px solid #b3b3b3;
	padding:10px;
	text-decoration:none;
}

.pagination a:hover{
	background-color:#0068b3;
	color:#FFF;
}

.page-item.active a{
	background-color:#0068b3;
	color:#FFF;
	opacity:0.5;
}

.pagination .disabled .page-link{
	cursor:default;
	color:#888;
	background-color:#EEE;
}





.notice_form.error
{
	font-size: 0.9em;
    background-color: #FEE;
    border: 1px solid #F00;
    color: #D00;
    padding: 10px;
    border-radius: 5px;
    margin-bottom: 2em;
}

/*info mapa*/
.map-scroll .map-scroll_msg {
    display: block;
}
.map-scroll_msg {
    display: none;
    position: absolute;
    color: #FFF;
    top: 50%;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 0;
    right: 0;
    padding: 20px;
    z-index: 999;
    font-size: 2em;
    text-align: center;
}

.map-scroll:before {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    content: '';
    background: #00000061;
    z-index: 999;
}

.leaflet-marker-icon {
	filter: hue-rotate(158deg);
}

.multi-marker-cluster,.marker-cluster-small {
    background-color: #d9583c; /* Cambia el color de fondo del cluster con múltiples marcadores */
    color: white; /* Cambia el color del texto dentro del cluster */
	font-weight:bold;
    border-radius: 50%; /* Ajusta el radio de la esquina para que parezca un círculo */
	filter:none;
}

.marker-cluster-small div{    background: rgba(255,255,255,0.2)}

.custom-map-popup .leaflet-popup-content-wrapper {
	background:transparent;
	box-shadow:none;
  
	line-height:1;
	border-radius:0
	}
  
.custom-map-popup .leaflet-popup-tip {
display:none;
}

.custom-map-popup {
	font-size: var(--f_medium);
	font-family: var(--font_default);
}

.custom-map-popup .leaflet-popup-content>*:last-child{
	margin-bottom:0;
}


/*calendar*/

.calendar td,
.calendar th
{
	text-align:center;

}

#calendar_container .calendar header .month {
	text-transform:uppercase;
	color: var(--site_color_text);
}


#calendar_container .calendar tbody td{
	padding: 0 0 30px;

}


#calendar_container .calendar thead{
	font-size:var(--f_medium);
	/*font-weight: var(--font_bold_weight);*/
}


#calendar_container .calendar .day{
	border-radius: 5px
}

.calendar .day.has-event:after {
	content:none !important;
}


#calendar_container .calendar .has-event{
	cursor:pointer;
	background-color: var(--site_color_main);
	color:#FFF;
}

#calendar_container .calendar .day.today:not(.has-event){
	background-color: transparent;
	font-weight:var(--font_bold_weight);
	color: var(--site_color_highlight);
	border:2px solid var(--site_color_highlight);
}

#calendar_container .calendar .today.has-event{
	background-color: var(--site_color_highlight);
}

#calendar_container .calendar .day.wrong-month{
	opacity:0.5;
}


.calendar .has-event span {
    display: block;
    position: absolute;
    left: 0;
    bottom: -25px;
    line-height: 20px;
    border-radius: 5px;
    background-color: #d1d7e280;
    width: 100%;

	color: var(--site_color_text);
}

.calendar .has-event:hover span{
    background-color: #d1d7e2;	
}


/*sidebar*/

.menu_toggler:before{
    transform: rotate(-180deg);
}

.menu_toggler.expanded:before{
	transform:none;
}

.side_menu_container{
	pointer-events: none;
	position:absolute;
	overflow:hidden;	
	opacity:0;	
	inset: 0;
	z-index:99;
	background: rgba(255, 255, 255, 0.9);
	padding:0;
	transition: opacity 0.5s;
}

#side_menu{
	display:grid;
	grid-template-rows: auto 1fr;
	margin-left:-240px;
	width:240px;
	height:100%;
	background: var(--site_color_main);
	transition: margin 0.3s;
}


.side_menu_container.active{
	pointer-events: auto;
	display:block;
	opacity:1;
	z-index:9999;
}

.side_menu_container.active #side_menu{
	margin-left:0;
}


#side_menu .header{
	display:flex;
	background-color: var(--site_color_text);
	height: 60px;
	padding: 0 10px 0 20px;

}

#side_menu .header .logo{
	flex:1;
	align-content:center;
}

#side_menu .header .logo img{
	display:block;
	height:26px;
}

#side_menu .header .menu_toggler{
	align-content:center;
	filter:var(--tint_to_white);
}




#side_menu ul{
	display:flex;
	flex-direction: column;
	height:100%;
}

#side_menu ul li{
	flex: 0 0 auto;
}

#side_menu ul li:last-child{
	margin-top:auto;
}

#side_menu  ul a{
	display:flex;
	align-items: center;
	gap:10px;
	padding:15px 10px;
	color:#FFF;
	text-decoration:none;

}

#side_menu  ul a:before{
	filter:var(--tint_to_white);
}


#side_menu ul a:hover{
	background-color: color-mix(in srgb, var(--site_color_main) 70%, #000);
	
}






/*cookies*/
#avis_cookies{
	position:fixed;
	bottom:0;
	left:0;
	width:100%;
	z-index:999;
	background:#3771c8;
	font-size:15px;
	padding:10px 0;
	line-height:18px;
	color:#FFF;
}

#avis_cookies .container{
	display:table;
	width:100%;
}

#avis_cookies .container .text,
#avis_cookies .container .action{
	/*display:table-cell;
	vertical-align:middle;*/
	}
	

	
#avis_cookies .container .action{
	margin-top: 20px;
	/*min-width:350px;
	text-align:right;*/
}
#avis_cookies .container .text{padding-right:20px;}

#avis_cookies .container .text a{
	color:#FFF;
}

#avis_cookies .container .text a:hover{
	color:#aaddff;
}

#avis_cookies .container .action a.bt{
	display:inline-block;
	position:relative;

	padding:20px 20px;
	border-radius:5px;
	border:1px solid #FFF;
	
	text-decoration:none;
	line-height:15px;
	color:#FFF;

}

#avis_cookies .container .action a+a{	margin-left:1.5em;}



#avis_cookies .container .action a.tanca{	
	padding-left:50px;
	background-color:#FFF;
	
	color:#3771c8;
}





#avis_cookies .container .action a.tanca::before{
	content:'';
	display:block;
	position:absolute;
	width:20px;
	height:20px;
	left:20px;
	top:50%;
	margin-top:-10px;
	border-radius:10px;
	background:url(img/btn_accepta.png) no-repeat center center;
	background-color:#3771c8;
}

#avis_cookies .container .action a.bt:hover{color:#F00;}

#avis_cookies .container .action a.bt:hover::before{background-color:#F00;}

#avis_cookies .container .action a.rebutja:hover{
	color:#FFF;
	background-color:#0003;
}



#avis_cookies .minimized_view{display:none;}
#avis_cookies .minimized_view a{color:#FFF;}

#avis_cookies.minimized {
	width: auto;
    right: 0;
    left: auto;
}

#avis_cookies.minimized .default_view{display:none;}
#avis_cookies.minimized .minimized_view{display:block;}

	
#lea_map{height:100%;}




@media (max-width: 650px) {
	
	#avis_cookies .container .text,
	#avis_cookies .container .action{
		display:block;	
		}
	
	#avis_cookies .container .action{
		text-align:center;
		padding-top:20px;
		min-width:auto;
	}	
	
	#avis_cookies .container .action a,
	#avis_cookies .container .action a+a{
		margin:0 0.5em;
	}
	
}

@media (max-width: 580px) {
	
	#avis_cookies .container .action a
	{
		width:100%;
		margin:0 0 10px 0 !important;
	}
	
}



