/****ADMIN COLORS PRESETS****/
.has-petrol-background-color{ background-color: var(--petrol) !important; }
.has-petrol-color{ color: var(--petrol) !important; }
.has-verde-background-color{ background-color: var(--verde) !important; }
.has-verde-color{ color: var(--verde) !important; }
.has-lima-background-color{ background-color: var(--lima) !important; }
.has-lima-color{ color: var(--lima) !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:5rem;
}

*{
	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;
}
.alert,
.wpcf7 form .wpcf7-response-output{
	margin: 1rem 0 0 0;
	padding: .5rem 1rem;
	border: 0 none;
	background-color: rgba(0,0,0,.7);
	color: var(--white);
	font-size: .88889rem;
	text-align: center;
}

/****************************************** 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: 5rem;
	z-index: 99;
}
body.scrolled .site_header{
	height: var(--header-height);
}

.site_header_brand{
	display: block;
}

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

.site_header_nav{
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	gap: 3rem;
}

.main_menu{
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 3rem;
	justify-content: flex-end
}

.main_menu li.current-menu-item a{
	color: var(--verde);
}

.main_menu a{
	font-weight: 500;
	text-decoration: none;
	text-transform: uppercase;
	transition: color .3s ease;
	color: var(--petrol);
}

.main_menu a:hover{
	color: var(--verde);
}


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

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

/****************************************** 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: calc(100vw - 6rem - 14rem);
		opacity: 1;
	}
}
.search_input{
	height: 3rem;
	padding: .5rem 3rem .5rem 1rem;
	border: 1px solid var(--border);
	background-color: var(--white);
	border-radius: 0;
}
.search_submit{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	background-color: transparent;
	border: 0 none;
	color: var(--petrol);
}

/****************************************** 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 ***************************************/

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

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

.swiper-slide{
	height: auto;
}

/****************************************** 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;
}

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

.card_button .card_image{
	overflow: hidden;
}

.block_banner .block_image img,
.card_button .card_image img{
	transition: transform .3s ease;
}
.block_banner:hover .block_image img,
.card_button:hover .card_image img{
	transform: scale(1.1);
}

.card_button .card_header{
	background-color: var(--petrol);
	color: var(--white)
}
.card_button .card_content{
	background-color: var(--light);
}

.swiper_noticias .swiper-slide:nth-child(2) .card_button .card_header{background-color: var(--verde);}
.swiper_noticias .swiper-slide:nth-child(3) .card_button .card_header{background-color: var(--lima);}

.card_noticia_fixed .card_image{
	position: absolute;
	top: 0;
	left: 0;
	width: 41.66666667vw;
	height: 41.66666667vw;
}
.card_noticia_fixed .card_content{
	height: 41.66666667vw;
}
.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;
}

/****************************************** BLOCK BANNER ***************************************/

.block_banner .block_content{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.72) 100%);
}

/****************************************** 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);
}

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

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

.block_page_header .block_content{
	min-height: 28rem;
}
/****************************************** BLOCK IMAGE ***************************************/

.wp-block-image{
	position: relative;
}
.wp-block-image .wp-element-caption{
	background-color: var(--petrol);
	color: var(--white);
	text-align: center;
	margin: 0;
	padding: 1.125em 1.125em;
}
/****************************************** SINGLE ***************************************/

.single_header .single_header_image{
	height: 13.88889rem;
}
/****************************************** RESPONSIVE ***************************************/

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

@media only screen and (max-width: 1199px){
	
	main{
		margin-top: var(--header-height);
	}
	
	.site_header{
		height: var(--header-height);
	}
	
	.site_header_brand{
		max-width: 8.5rem;
	}
	
	.site_header_nav{
		position: fixed;
		top: var(--header-height);
		left: 0;
		width: 100%;
		height: calc(100vh - var(--header-height));
		background-color: var(--petrol);
		border-top: 1px solid var(--border);
		display: none;
		overflow: hidden;
		overflow-y: auto;
	}
	.site_header.show .site_header_nav{
		display: block;
	}
	
	.search_form{
		margin: 1.5rem 1.5rem 1rem 1.5rem;
	}
	.search_input{
		width: 100%;
	}
	.search_submit{
		position: absolute;
		top: 0;
		right: 0;
	}
	.main_menu{
		flex-direction: column;
		gap: 0;
	}
	.main_menu li:not(:last-child){
		border-bottom: 1px solid rgba(0,0,0,0.4);
	}
	.main_menu a{
		color: var(--white);
		display: block;
		padding: .75rem 1.5rem;
		font-size: 1.2222rem;
	}
	
	.card_slide .card_image{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	.card_slide .card_content{
		position: relative;
		z-index: 2;
		min-height: 44.275vw;
	}
	.card_noticia_fixed .card_image{
		position: static;
		width: 100vw;
		height: 100vw;
	}
	.card_noticia_fixed .card_content{
		height: auto;
	}

	.single_header .single_header_image{
		height: 9rem;
	}
}

@media only screen and (max-width: 991px){
	
	.search_form{
		margin: 1.5rem 1rem 1rem 1rem;
	}
	.main_menu a{
		padding: .75rem 1rem;
	}
	.card_slide .card_content{
		min-height: 80vh;
	}
	
	.block_banner .block_image{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	
	.block_banner .block_content{
		position: relative;
		min-height: 80vh;
		background-color: rgba(0,0,0,.333)
	}
	
	#btnTop{
		right: 1rem;
	}
}

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

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