/****ADMIN COLORS PRESETS****/
.has-verde-background-color{ background-color: var(--verde) !important; }
.has-verde-color{ color: var(--verde) !important; }
.has-celeste-background-color{ background-color: var(--celeste) !important; }
.has-celeste-color{ color: var(--celeste) !important; }
.has-naranja-background-color{ background-color: var(--naranja) !important; }
.has-naranja-color{ color: var(--naranja) !important; }
.has-lime-background-color{ background-color: var(--lime) !important; }
.has-lime-color{ color: var(--lime) !important; }
.has-tierra-background-color{ background-color: var(--tierra) !important; }
.has-tierra-color{ color: var(--tierra) !important; }
.has-marron-background-color{ background-color: var(--marron) !important; }
.has-marron-color{ color: var(--marron) !important; }
.has-black-background-color{ background-color: var(--black) !important; }
.has-black-color{ color: var(--black) !important; }
.has-gris-background-color{ background-color: var(--gris) !important; }
.has-gris-color{ color: var(--gris) !important; }
.has-light-background-color{ background-color: var(--light) !important; }
.has-light-color{ color: var(--light) !important; }
.has-white-background-color{ background-color: var(--white) !important; }
.has-white-color{ color: var(--white) !important; }
.has-border-background-color{ background-color: var(--border) !important; }
.has-border-color{ color: var(--border) !important; }

html {
  scroll-behavior: auto !important;
}

main{
	margin-top: 6rem;
}

*{
	scroll-margin-top: var(--header-height);
}

.page-load-status{
	display: none;
}
.z-index-2{
	position: relative;
	z-index: 2;
}

.wpcf7-spinner{
	position: absolute;
	top: calc(50% - 12px);
	right: 15px;
}

.wpcf7-not-valid-tip{
    font-size: 14px;
    position: absolute;
    top: 50%;
    right: .75rem;
    transform: translateY(-50%);
}

.wpcf7 form .wpcf7-response-output{
	margin: 0;
	margin-top: 1rem;
	border-width: 1px;
	border-radius: 4px;
	font-size: .88889rem;
	text-align: center;
	padding: .5rem 1rem;
	background-color: var(--white);
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output{
	border-color: var(--naranja);
}

/****************************************** SWIPER ***************************************/

.swiper-button-next, .swiper-button-prev{
	width: 3rem;
	height: 3rem;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 16 27'%3E%3Cpath d='M15.2,12L3.2,0,.2,3l10.5,10.5L.2,24l3,3,12-12c.8-.8.8-2.2,0-3Z'/%3E%3C/svg%3E");
	background-position: center;
	background-repeat: no-repeat;
	background-size: auto 1.5rem;
	opacity: .5;
	margin-top: -1.5rem;
}

.swiper-button-prev{
	transform: rotate(180deg);
}

.swiper-button-next.text-white, .swiper-button-prev.text-white{
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23FFF' viewBox='0 0 16 27'%3E%3Cpath d='M15.2,12L3.2,0,.2,3l10.5,10.5L.2,24l3,3,12-12c.8-.8.8-2.2,0-3Z'/%3E%3C/svg%3E");
}

.swiper-button-next:after, .swiper-button-prev:after{
	display: none;
}

.swiper-button-next:hover, .swiper-button-prev:hover{
	opacity: 1;
}
.swiper-pagination-bullet{
	background-color: var(--black);
}
.swiper-pagination.text-white .swiper-pagination-bullet{
	background-color: var(--white);
}

/****************************************** HEADER ***************************************/

.site_header{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 6rem;
	z-index: 99;
}
body.scrolled .site_header{
	height: var(--header-height);
}

.site_header_brand{
	display: block;
	max-width: 6.75rem;
}

body.scrolled .site_header_brand{
	max-width: 5.66667rem;
}

.sub-menu,
.main_menu,
.site_header_subnav ul{
	list-style: none;
	margin: 0;
	padding: 0;
}

.sub-menu .submenu-image{
	display: none;
}

.main_menu a{
	font-size: 1.11111rem;
	font-weight: 700;
	text-decoration: none;
	transition: color .3s ease;
}

.sub-menu li.title{
	display: none;
}

.sub-menu a{
	font-size: 1.22222rem;
}

.site_header_cta{
	z-index: 2;
}

.site_header_cta .btn{
	font-size: 1.11111rem;
}

.site_header_cta .btn:hover,
.site_header_cta .btn{
	background-color: var(--verde);
	border-color: var(--verde);
	color: var(--white);
}
.site_header_cta .btn:hover{
	box-shadow: 0 0 0 2px var(--verde, var(--verde));
}

.site_header_subnav{
	display: none;
}

@media only screen and (min-width: 1200px){
	.site_header_nav{
		display: flex;
		flex-direction: row-reverse;
		align-items: center;
	}
	.main_menu{
		gap: 2rem;
	}	
	.main_menu>li{
		display: flex;
		height: 6rem;
		align-items: center;
	}
	body.scrolled .main_menu>li{height: var(--header-height);}
	.sub-menu li:not(.title):not(.submenu-image)::before{
		content: '';
		display: inline-block;
		width: .5rem;
		height: .5rem;
		margin-right: .5rem;
		background-size: contain;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%231B8761' viewBox='0 0 16 16'%3E%3Cpath d='M16,11.1l-1.8,1.8-6.2-6.2L1.8,12.9l-1.8-1.8L8,3.1l8,8Z'/%3E%3C/svg%3E");
		background-repeat: no-repeat;
		transform: rotate(90deg);
	}
	.main_menu li.menu-item-has-children::before{
		content: '';
		display: none;
		position: fixed;
		top: 6rem;
		left: 0;
		width: 100%;
		height: calc(100vh - 6rem);
		background-color: rgba(0,0,0,.8);
		pointer-events: none;
	}
	.main_menu li:hover>a,
	.main_menu a:hover{
		color: var(--verde);
	}
	.sub-menu{
		display: none;
		position: fixed;
		top: 6rem;
		left: 0;
		width: 100%;
		min-height: 28rem;
		padding-top: 3rem;
		padding-bottom: 5rem;
		padding-left: calc(6rem + 7.66667rem);
		border-top: 3px solid var(--verde);
		background-color: var(--light);
	}
	
	.sub-menu .submenu-image{
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		width: 50%;
		height: 100%;
	}
	.sub-menu .submenu-image img{
		object-fit: cover;
		width: 100%;
		height: 100%;
	}
	.sub-menu li:not(:last-child):not(.submenu-image){
		margin-bottom: .5rem;
	}

	body.scrolled .sub-menu{
		top: var(--header-height);
		padding-left: calc(6rem + 5.66667rem);
	}
	.sub-menu li.title{
		display: block;
	}
	.sub-menu li.title a{
		display: block;
		pointer-events: none;
		cursor: default;
		text-transform: uppercase;
		font-size: .77778rem;
		color: var(--verde);
		font-weight: 600;
		padding-bottom: .5rem;
	}

	.main_menu li.menu-item-has-children.active::before,
	.menu-item-has-children.active>.sub-menu{
		display: block;
	}
	.site_header_subnav{
		position: fixed;
		height: 100vh;
		width: 100%;
		right: 0;
		top: 0;
		background-color: rgba(0,0,0,.8)
	}

	.site_header_subnav_inner{
		height: 100%;
		padding: 6rem 3rem 3rem 2rem;
		width: 40vw;
	}

	.site_header_subnav_inner> ul li:not(:last-child){
		margin-bottom: .5rem;
	}
	.site_header_subnav_inner> ul a{
		font-size: 1.5rem;
		font-weight: 700;
		text-decoration: none;
	}
	.site_header_subnav_inner> ul a:hover{
		text-decoration: underline;
	}
	.site_header_cta .btn{
		padding-left: 2.5rem;
		padding-right: 2.5rem;
	}
	.site_header.show .site_header_cta .btn:hover,
	.site_header.show .site_header_cta .btn{
		background-color: var(--white);
		border-color: var(--white);
		color: var(--verde);
	}
	.site_header.show .site_header_cta .btn:hover{
		box-shadow: 0 0 0 2px var(--white, var(--white));
	}
	.site_header.show .site_header_subnav{
		display: block;
	}
}

/****************************************** RRSS_LINKS ***************************************/

.rrss_links ul{
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 1rem;
}
.rrss_link{
	display: block;
}
.rrss_link:hover{
	opacity: .5;
}
.rrss_link svg{
	width: 1.5rem;
	height: 1.5rem;
}

.iframe-x{
	min-height: 410px;
}

/****************************************** SEARCHFORM ***************************************/

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

	.search_form{
		cursor: pointer;
	}
	.search_input,
	.search_submit{
		pointer-events: none;
	}
	.search_input{
		position: absolute;
		right: 0;
		width: 0;
		opacity: 0;
		transition: all .3s ease;
	}
	.search_form.active .search_input,
	.search_form.active .search_submit{
		pointer-events: all;
	}
	.search_form.active .search_input{
		width: 18rem;
		opacity: 1;
	}
}
.search_input{
	height: 3rem;
	padding: .5rem 3rem .5rem 1rem;
	border: 1px solid var(--border);
	background-color: var(--white);
	border-radius: 4px;
}
.search_submit{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	background-color: transparent;
	border: 0 none;
	color: var(--black);
}

/****************************************** SITE FOOTER ***************************************/

#btnTop{
	position: absolute;
	right: 1.5rem;
	top: -1.5rem;
	width: 3rem;
	height: 3rem;
	cursor: pointer;
}

.footer_menu{
	list-style: none;
	margin: 0;
	padding: 0;
}

.site_footer a{
	text-decoration-color: var(--white);
}

/****************************************** Block slider ***************************************/

.block_slider{
	border-bottom: .5rem solid var(--verde);
}

.card_slide .card_content{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to right, rgba(0,0,0,0.7) 0%,rgba(0,0,0,0) 100%);
}

/****************************************** SWIPER ***************************************/

.swiper-slide{
	height: auto;
}

/****************************************** CARDS ***************************************/

.wp-block-lazyblock-card-button-link,
.wp-block-lazyblock-card-button{
	height: 100%;
}
.card_button figure{
	overflow: hidden;
}
.card_button figure img{
	transition: transform .5s ease;
}
.card_button:hover figure img{
	transform: scale(1.1);
}

.card_button a::after{
	position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    content: "";
}

.autores{
	pointer-events: none;
}
.autores .avatars{
	position: relative;
	margin-right: .5rem;
}
.autores .avatars img{
	max-width: 2rem;
	height: auto;
	border-radius: 50%;
	border: 1px solid var(--white);
	position: relative;
	z-index: 4;
}
.autores .avatars img:not(:first-child){
	margin-left: -1.5rem;
	margin-top: -.25rem;
	z-index: 2;
}
.autores .avatars img:nth-child(3){
	margin-top: -.5rem;
	z-index: 1;
}
.autores .nombres > span:not(:last-child)::after{
	content: ', ';
	display: inline-block;
}

.card_publicacion .card_content{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: opacity .3s ease;
	background-color: rgba(0,0,0,.42);
}
.card_publicacion:hover .card_content{
	opacity: 1;
}

.card_publicacion_feed:hover .card_title{
	color: var(--verde);
}

.card_publicacion_feed .card_cta a:hover{
	color: var(--black) !important;
}
.card_publicacion_feed .card_image img{
	transition: all .3s ease;
}
.card_publicacion_feed:hover .card_image img{
	filter: brightness(.8);
}

.single_image .download,
.card_publicacion_feed .download{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	z-index: 2;
	opacity: 0;
}

.single_image:hover .download,
.card_publicacion_feed:hover .download{
	opacity: 1;
}

.swiper_noticias .swiper-slide:nth-child(2) .card_button{background-color: var(--tierra) !important;}
.swiper_noticias .swiper-slide:nth-child(3) .card_button{background-color: var(--marron) !important;}

.card_integrante .card_image img{
	max-width: 8.3333rem;
	border: .166667rem solid;
}

.card_convocatoria{
	border-top: 3px solid var(--verde);
}
.card_convocatoria .download{
	position: relative;
	z-index: 2;
}
.card_convocatoria .card_cta a{color: var(--gris);}
.card_convocatoria .card_cta a:hover{color: var(--verde);}

/****************************************** SECTION ***************************************/

.block_section >.block_image{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.block_section >.block_image img{
	object-position: top center;
}
.block_section >.block_content{
	position: relative;
	z-index: 2;
}
/****************************************** block_zona_intervencion ***************************************/

.block_zona_intervencion .block_content{
	min-height: calc(100vh - var(--header-height));
}
.block_zona_intervencion .block_figure{
	position: absolute;
	top: 0;
	right: 0;
	width: calc(50% - 1rem);
	height: 100%;
}
.block_zona_intervencion.rtl .block_content>.container>.row{
	flex-direction: row-reverse;
}
.block_zona_intervencion.rtl .block_figure{
	right: auto;
	left: 0;
}
.block_zona_intervencion .block_figure>iframe{
	display: block;
    width: 100%;
    height: 100%;
    max-height: calc(100vh - var(--header-height));
    position: sticky;
    top: var(--header-height);
}

/****************************************** BLOCK PAGE HEADER ***************************************/

.block_page_header .block_content{
	min-height: 36.4444rem;
}
.block_page_header .block_image{
	position: absolute;
	top: 0;
	left: 0;
	width: calc((var(--col)*5 - 30px) + ((100vw - var(--container)) / 2));
	height: 100%;
}

/****************************************** BREADCRUMBS ***************************************/

.block_breadcrumbs{
	gap: .75rem;
}
.block_breadcrumbs a{
	text-decoration: none;
	font-size: .88889rem;
}
.block_breadcrumbs a:not(:last-child)::after{
	content: '';
	display: inline-block;
	width: 1px;
	height: 1rem;
	border-right: 1px solid;
	vertical-align: middle;
	margin-left: .5rem;
	transform: rotate(30deg) translateY(-.1rem);
}
.block_breadcrumbs a:not(.current):hover{
	text-decoration: underline;
}
.block_breadcrumbs a.current{
	font-weight: 600;
	pointer-events: none;
}

/****************************************** SHARE RRSS ***************************************/

.share_rrss{
	gap: .5rem .75rem;
}
.share_rrss .share_link{
	color: inherit;
	text-decoration: none;
}
.share_rrss .share_link svg{
	width: 1.5rem;
    height: 1.5rem;
}
.share_rrss .share_link:hover{
	color: var(--verde);
}
/****************************************** FEED ***************************************/
.card_noticia_fixed .card_image{
	height: calc(var(--col) * 6 - 15px - 1rem);
}
.card_cats{
	position: relative;
	z-index: 2;
	gap: .5rem
}
.card_cats a{
	font-size: .88889rem;
	line-height: 1;
	white-space: nowrap;
	font-weight: 500;
	display: block;
	padding: .4rem .75rem;
	border-radius: 4px;
	border: 1px solid rgba(255,255,255,.4);
	text-decoration: none;
	color: inherit;
}
.card_cats a:hover{
	border-color: inherit;
}

#form-filtros-side{
	position: sticky;
	top: calc(var(--header-height) + 1rem)
}

/****************************************** SINGLE ***************************************/

.post_content .wp-block-separator,
.post_content hr{
	border: 0 solid;
	border-top-width: 1px;
	opacity: .42;
	margin: 1em 0;
}

.single_image img{
	transition: all .3s ease;
}
.single_image:hover img{
	filter: brightness(.6);
}

/****************************************** BLOCK ARCHIVE HEADER ***************************************/

.block_archive_header .block_image{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.block_archive_header .block_content{
	min-height: 30rem;
}
/****************************************** BLOCK BANNER ***************************************/

.block_banner .block_overlay{
	top: 0;
	left: 0;
	z-index: 2;
}
.block_banner .block_content{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 3;
	height: 100%;
}

/****************************************** lists ***************************************/

ul.is-style-checklist{
	list-style: none;
	margin: 0;
	padding: 0;
}
ul.is-style-check-list li:not(:last-child) {
    margin-bottom: .5rem;
}
ul.is-style-checklist > li{
	padding-left: 1.2222em;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%231B8761' viewBox='0 0 24 18'%3E%3Cpath d='M23.998,2.709l-15,15L-.002,8.709l2.485-2.489,6.583,6.583L21.584.291l2.418,2.418h-.003Z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: left top .35em;
    background-size: .75em;
}
/****************************************** SWIPER CARDS ***************************************/

.swiper_cards .swiper-slide{
	height: auto;
}
.block_swiper_cards .swiper-pagination{
	bottom: -1.5rem;
}
/****************************************** SINGLE ***************************************/
.single_content img{
	border-radius:8px;
}
/****************************************** BLOCK DOWNLOADS ***************************************/
.block_descargas{
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 3px solid var(--verde);
}
.block_descargas >li{
	border-bottom: 1px solid rgba(27,135,97,.42);
	padding: .75rem 0;
}

.block_descargas>li .block_item_icon img{
	max-height: 3.5rem;
	width: auto;
}

.block_descargas>li a{
	text-decoration: none;
	color: inherit;
}
/****************************************** EJES TEMATICOS ***************************************/

.card_eje .card_image{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.card_eje .card_image img{
	transition: transform .3s ease;
}
.card_eje:hover .card_image img{
	transform: scale(1.2);
}

.card_eje .card_content{
	position: relative;
	color: var(--white);
	background-color: rgba(0,0,0,.5);
	transition: background .3s ease;
}

.card_eje:hover .card_content{
	background-color: rgba(0,0,0,.8);
}

.card_eje .card_content a:hover{
	text-decoration: underline;
	text-underline-offset: 5px;
	text-decoration-thickness: 3px;
	text-decoration-color: var(--verde);
}

/****************************************** RESPONSIVE ***************************************/

@media only screen and (max-width: 1399px){
	
	.block_page_header .block_content{
		min-height: 30rem;
	}
	
}

@media only screen and (max-width: 1199px){
	
	.site_header_nav{
		display: none;
		flex-direction: column;
		position: fixed;
		top: 6rem;
		left: 0;
		width: 100%;
		height: calc(100vh - 6rem);
		background-color: var(--verde);
		overflow: hidden;
		overflow-y: auto;
	}
	.site_header.show .site_header_nav{
		display: flex;
	}
	body.scrolled .site_header_nav{
		top: var(--header-height);
		height: calc(100vh - var(--header-height));
	}
	
	.main_menu{
		flex-direction: column;
	}
	.search_form{
		margin: 1.5rem 1.5rem 1rem 1.5rem;
	}
	.search_input{
		width: 100%;
	}
	.search_submit{
		position: absolute;
		top: 0;
		right: 0;
	}
	.main_menu a{
		color: var(--white);
		display: block;
		font-weight: 600;
		padding: .75rem 1.5rem;
	}
	.main_menu>li{
		border-bottom: 1px solid rgba(0,0,0,.3);
	}
	.menu-item-has-children>a{
		pointer-events: none;
	}
	.menu-item-has-children.active{
		background-color: rgba(0,0,0,.3);
	}
	.sub-menu{
		display: none;
		border-top: 1px solid rgba(0,0,0,.3);
		padding: .5rem 0;
	}
	.menu-item-has-children.active .sub-menu{
		display: block;
	}
	.menu-item-has-children{
		position: relative;
	}
	.menu-item-has-children::after{
		content: '';
		display: block;
		position: absolute;
		right: 1rem;
		top: 1.1rem;
		width: .8rem;
		height: .8rem;
		background-size: contain;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M16,11.1l-1.8,1.8-6.2-6.2L1.8,12.9l-1.8-1.8L8,3.1l8,8Z'/%3E%3C/svg%3E");
		background-repeat: no-repeat;
		transform: rotate(180deg);
		transition: transform .3s ease;
	}
	.menu-item-has-children.active::after{
		transform: rotate(0);
	}
	.sub-menu li>a{
		padding: .5rem 1.5rem;
	}
	
	.card_slide{
		height: 100%;
		display: flex;
		flex-direction: column;
	}
	.card_slide .card_content{
		position: static;
		background-color: var(--verde);
		height: auto;
	}
	
	.swiper_slider .swiper-slide{
		height: auto;
	}
	
	.slider-next, .slider-prev{
		top: 41.66667vw;
	}
	
	.block_page_header .block_image{
		position: static;
		width: 100%;
		height: 56.25vw;
	}
	.block_page_header .block_content{
		min-height: 0;
	}
	.card_noticia_fixed .card_image{
		height: calc(var(--col) * 12 - 15px);
	}
	
	.block_banner .block_image{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	.block_banner .block_content{
		position: relative;
		top: 0;
		left: 0;
		z-index: 3;
		height: 100%;
	}
	.block_zona_intervencion .block_content{
		min-height: 0;
	}
	.block_zona_intervencion .block_figure{
		position: static;
		width: 100%;
		height: 100vw;
	}
}

@media only screen and (max-width: 991px){
	
	main{
		margin-top: var(--header-height);
	}
	
	body.scrolled .site_header,
	.site_header{
		height: var(--header-height);
	}
	
	body.scrolled .site_header_brand,
	.site_header_brand{
		max-width: 5.75rem;
	}
	
	.site_header_nav{
		top: var(--header-height);
		height: calc(100vh - var(--header-height));
	}
	
	.search_form{
		margin: 1.5rem 1rem 1rem 1rem;
	}
	.main_menu a{
		padding: .75rem 1rem;
	}
	.sub-menu li>a{
		padding: .5rem 1rem;
	}
}

@media only screen and (max-width: 767px){
}

@media only screen and (max-width: 575px){
	
	.site_header_cta .btn{
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}
	
}