/****ADMIN COLORS PRESETS****/
.has-rojo-background-color{ background-color: var(--rojo) !important; }
.has-rojo-color{ color: var(--rojo) !important; }
.has-turquesa-background-color{ background-color: var(--turquesa) !important; }
.has-turquesa-color{ color: var(--turquesa) !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; }

main{
	margin-top: 8rem;
}

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

/****************************************** UTILITARIOS ***************************************/

.rounded{
	border-radius: 0 3rem 3rem 3rem;
}
.circle{
	border-radius: 50%;
}
.underline{
	border-bottom: 3px solid var(--rojo);
	padding-bottom: .25rem;
}
.has-white-color.underline,
.text-white.underline{
	border-bottom-color: var(--white);
}
.bordered{
	border: .88889rem solid var(--turquesa);
}
mark{
	padding: 0;
	background-color: transparent;
}
.wp-block-image img{
	vertical-align: middle !important;
}
/****************************************** ACCORDION ***************************************/

.accordion-item{
	border: 1px solid var(--light);
	border-radius: .5rem;
	background-color: var(--white);
	overflow: hidden;
}
.accordion-item:not(:last-child){
	margin-bottom: 1rem;
}
.accordion-item.active{
	border-color: var(--gris);
}
.accordion-header{
	margin-bottom: 0;
}
.accordion-button{
	display: flex;
	width: 100%;
	align-items: center;
	text-align: start;
	min-height: 3.75rem;
	border: 0 none;
	padding: .5rem 1rem;
	font-weight: 800;
	background-color: transparent;
	position: relative;
	line-height: 1.2;
}
.accordion-button::after{
	content: '';
	display: block;
	width: 1rem;
	height: 1rem;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23161616' viewBox='0 0 27 27'%3E%3Cpath d='M27,15h-12v12h-3v-12H0v-3h12V0h3v12h12v3Z'/%3E%3C/svg%3E");
	margin-left: auto;
	flex: 0 0 auto;
	transition: transform .3s ease;
}
.accordion-button:not(.collapsed)::after{
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23D30011' viewBox='0 0 27 27'%3E%3Cpath d='M27,15h-12v12h-3v-12H0v-3h12V0h3v12h12v3Z'/%3E%3C/svg%3E");
	transform: rotate(45deg);
}
.accordion-button:not(.collapsed){
	color: var(--rojo);
}
.accordion-body{
	padding: 1rem 1rem 1.5rem;
}

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

.site_header{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 8rem;
	z-index: 99;
}
.site_header .logo{
	max-height: 6rem;
	width: auto;
}
.main_menu{
	justify-content: flex-end;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 2rem;
}
.main_menu li:not(.cta) a{
	display: flex;
	height: 8rem;
	align-items: center;
	text-decoration: none;
	padding-top: .3333rem;
	border-bottom: .3333rem solid transparent;
	transition: border .3s ease;
}
.main_menu li:not(.cta) a:hover{
	border-bottom-color: var(--light);
}

.main_menu li:not(.cta).current-menu-item a{
	border-bottom-color: var(--rojo);
}

body.scrolled .site_header{
	height: var(--header-height);
	-webkit-box-shadow: 0 0 15px 0 rgba(0,0,0,.1);
	box-shadow: 0 0 15px 0 rgba(0,0,0,.1);
}
body.scrolled .site_header .logo{
	max-height: 70px;
	width: auto;
}
body.scrolled .main_menu li:not(.cta) a{
	height: var(--header-height);
}

/****************************************** FOOTER ***************************************/

.rrss_links{
	gap: .75rem;
}
.rrss_link{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	background-color: var(--white);
	color: var(--black);
}
.rrss_link:hover{
	color: var(--instagram);
}

/****************************************** HERO ***************************************/

.block_hero{
	z-index: 2;
	overflow: hidden;
}
.block_lineas .dots,
.block_hero .dots{
	position: absolute;
	top: 0;
	right: 15px;
	width: calc(var(--col)*2 - 60px);
	transform: translateX(50%);
	pointer-events: none;
}
.block_hero .swiper_hero img{
	border: .88889rem solid var(--turquesa);
}

/****************************************** BLOCK LINEAS ***************************************/
.block_lineas .dots{
	top: auto;
	bottom: -5rem;
	right: auto;
	left: 15px;
	transform: translateY(50%);
	z-index: 2;
	pointer-events: none;
}
.block_lineas{
	padding-top: 19.27vw;
	margin-top: -8.33333vw;
}
.block_lineas .block_content{
	position: relative;
	z-index: 3;
}
.bg_lineas{
	position: absolute;
	pointer-events: none;
}
.bg_lineas_01{
	top: 0;
	left: 0;
	width: 66.5625vw;
	z-index: 0;
}
.bg_lineas_02{
	top: 0;
	right: 0;
	width: 65vw;
	z-index: 0;
}
.bg_lineas_02b{
	top: 0;
	right: 0;
	width: 32.4vw;
	z-index: 2;
}
.bg_lineas_03{
	top: 66.5625vw;
	left: 0;
	width: 33.28125vw;
}
.bg_lineas_04{
	bottom: 0;
	right: 0;
	width: 65vw;
}
/****************************************** BLOCK POWERCARD ***************************************/

.block_powercard .block_image{
	position: absolute;
	top: 0;
	right: 0;
	width: 50%;
	height: 100%;
}
.block_powercard .block_image img{
	width: 100%;
	height: 100%;
	max-height: calc(100vh - var(--header-height));
	position: sticky;
	top: var(--header-height);
	object-fit: cover;
}
.block_powercard .block_content{
	min-height: 540px;
}

.block_powercard.block_rtl .block_content >.container>.row{
	flex-direction: row-reverse;
}
.block_powercard.block_rtl .block_image{
	left: 0;
	right: auto;
}

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

.breadcrumbs{
	gap: 1rem;
}
.breadcrumbs a{
	text-decoration: none;
}
.breadcrumbs a:hover{
	text-decoration: underline;
	text-underline-offset: 4px;
	text-decoration-thickness: 2px;
	text-decoration-color: var(--rojo);
	color: var(--black);
}

.block_page_header .block_content{
	min-height: 24.0625vw;
	position: relative;
	z-index: 2;
}

.block_page_header .block_image{
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	width: auto;
}
.block_page_header .block_image img{
	max-height: 100%;
	width: auto;
}

.block_edicion_header .block_content{
	position: relative;
	z-index: 2;
	min-height: 38.9vw;
}
.block_edicion_header .block_image{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/****************************************** BLOCK SWIPER IMAGES ***************************************/

.block_images .swiper-slide{
	border-radius: 3rem;
	overflow: hidden;
}

/****************************************** CARD BUTTON VIDEO ***************************************/

.card_button_video .card_button{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0 none;
	background-color: transparent;
	color: var(--white);
}
.card_button_video .card_button svg{
	width: 3rem;
	height: auto;
	position: relative;
	z-index: 2;
}
.card_button_video .card_button::before{
	content: '';
	display: block;
	background-color: rgba(0,0,0,.6);
	border-radius:50%;
	width: 5rem;
	height: 5rem;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	transition: all .4s ease;
}

.card_button_video:hover .card_button::before{
	transform: translateX(-50%) translateY(-50%) scale(1.1);
	background-color: rgba(0,0,0,.8);
}

.wp-block-lazyblock-card-iniciativa{
	height: 100%;
}

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

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

@media only screen and (max-width: 1199px){
	
	.site_nav{
		position: fixed;
		top: 8rem;
		left: 0;
		width: 100%;
		height: calc(100vh - 8rem);
		z-index: 99;
		background-color: var(--white);
		padding: 1rem 0;
		overflow: hidden;
		overflow-y: auto;
		border-top: 1px solid var(--light);
		display: none;
	}
	.site_header.show .site_nav{
		display: block;
	}
	body.scrolled .site_nav{
		height: calc(100vh - var(--header-height));
		top: var(--header-height);
	}
	.main_menu{
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}
	
	.main_menu li:not(:last-child){
		border-bottom: 1px solid var(--light);
	}
	
	body.scrolled .main_menu li:not(.cta) a,
	.main_menu li:not(.cta) a{
		height: 3rem;
		padding: 0 1rem;
		text-align: center;
		justify-content: center;
	}
	.cta a{
		width: calc(100% - 2rem);
		margin-top: 1rem;
		margin-left: 1rem;
		margin-right: 1rem;
	}
	.block_lineas .dots, .block_hero .dots{
		width: calc(var(--col) * 3 - 60px);
	}
	.bg_lineas_02b,
	.bg_lineas_02{
		top: 33.28125vw;
	}
	.block_powercard .block_image{
		position: static;
		width: 100%;
	}
	
	.block_page_header .block_image{
		position: static;
	}
}

@media only screen and (max-width: 991px){
		
	.bg_lineas_02b, .bg_lineas_02{
		top: 65vw;
	}
}

@media only screen and (max-width: 767px){
	
	.block_lineas .dots, .block_hero .dots{
		width: calc(var(--col) * 4 - 60px);
	}
}

@media only screen and (max-width: 575px){
	
	.block_hero .swiper_hero img,
	.bordered{
		border-width: .65rem;
	}
}