/****ADMIN COLORS PRESETS****/
.has-morado-background-color{ background-color: var(--morado) !important; }
.has-morado-color{ color: var(--morado) !important; }
.has-lila-background-color{ background-color: var(--lila) !important; }
.has-lila-color{ color: var(--lila) !important; }
.has-verde-background-color{ background-color: var(--verde) !important; }
.has-verde-color{ color: var(--verde) !important; }
.has-esmeralda-background-color{ background-color: var(--esmeralda) !important; }
.has-esmeralda-color{ color: var(--esmeralda) !important; }
.has-indigo-background-color{ background-color: var(--indigo) !important; }
.has-indigo-color{ color: var(--indigo) !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-rosa-background-color{ background-color: var(--rosa) !important; }
.has-rosa-color{ color: var(--rosa) !important; }
.has-amarillo-background-color{ background-color: var(--amarillo) !important; }
.has-amarillo-color{ color: var(--amarillo) !important; }
.has-light-lila-background-color{ background-color: var(--light-lila) !important; }
.has-light-lila-color{ color: var(--light-lila) !important; }
.has-light-celeste-background-color{ background-color: var(--light-celeste) !important; }
.has-light-celeste-color{ color: var(--light-celeste) !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; }

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

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

.frame{
	margin-bottom: -1px;
}

.swiper-pagination-bullet-active{
	background-color: var(--indigo);
}

/****************************************** CONTACT 7 ***************************************/

.form-floating p{
	margin-bottom: 0 !important;
}
.wpcf7-not-valid-tip{
	font-size: 14px;
	margin-top: .5rem;
}

.wpcf7-spinner{
	position: absolute;
	top: calc(50% - 12px);
	right: 20px;
	margin: 0;
}
.wpcf7 form .wpcf7-response-output{
	padding: .5rem .75rem;
	margin: 1rem 0 0 0;
	font-size: .88889rem;
	text-align: center;
	border-radius: .5rem;
}
/****************************************** HEADER ***************************************/

.site_header{
	position: fixed;
	top: 0;
	left: 0;
	height: var(--header-height);
	width: 100%;
	z-index: 999;
	background-color: var(--white);
}

.site_header_brand{
	max-width: calc(var(--col) * 2 - 3rem);
}

.site_header_nav .main_menu{
	list-style: none;
	margin: 0;
	padding: 0;
	align-items: center;
	gap: 2.5rem;

}
.site_header_nav .main_menu a{
	text-decoration: none;
	transition: all .3s ease;
}
.site_header_nav .main_menu a:hover{
	text-decoration: underline;
	color: var(--morado);
}

.site_header_nav .main_menu li.cta a{
	background-color: var(--amarillo);
	border-color: var(--amarillo);
	color: var(--black);
	text-decoration: none;
}

.site_header_nav .main_menu li.cta a:hover{
	background-color: var(--morado);
	border-color: var(--morado);
	color: var(--white);
}

.dropdown_lang .dropdown-toggle{
	display: flex;
	align-items: center;
	justify-content: center;
	border: 0 none;
	background-color: transparent;
	color: inherit;
	width: 3rem;
	height: 3rem;
	border-radius: 1rem;
	padding-right: .55rem;
	padding-left: 0;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23101921' viewBox='0 0 9 9'%3E%3Cpath d='M9,2.7l-4.5,4.5L0,2.7l.9-.9,3.6,3.6,3.6-3.6.9.9Z'/%3E%3C/svg%3E");
	background-position: right .5rem center;
	background-repeat: no-repeat;
	background-size: .5rem auto;
}

.dropdown_lang .dropdown-toggle.show{
	background-color: rgba(0,0,0,.1);
}

.dropdown_lang .dropdown-toggle svg{
	display: block;
	width: 1.1111rem;
	height: 1.1111rem;
}

.dropdown_lang .dropdown-menu{
	min-width: 5rem;
}
.dropdown_lang .dropdown-menu li{
	padding: .25rem 1rem;
}
.dropdown_lang .dropdown-menu li a{
	text-decoration: none;
	font-size: .88889rem;
	color: var(--black);
}
.dropdown_lang .dropdown-menu li a:hover{
	color: var(--morado);
}
.dropdown_lang .dropdown-menu li.current-lang a{
	opacity: .4;
	pointer-events: none;
}

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

.footer_menu{
	list-style: none;
	padding: 0;
	margin: 0;
}
.site_footer a,
.footer_menu a{
	text-decoration: none;
}

.site_footer a:hover,
.footer_menu a:hover{
	text-decoration: underline;
	color: var(--celeste);
}

.rrss_links{
	gap: 1rem;
}
.rrss_links svg{
	display: block;
	width: 1.5rem;
	height: 1.5rem;
}

.site_footer .separator{
	display: block;
	height: 100%;
	width: 1px;
	background-color: rgba(255,255,255,.15);
	margin: 0 auto;
}

.site_footer .dropdown_lang .dropdown-toggle{
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23ffffff' viewBox='0 0 9 9'%3E%3Cpath d='M9,2.7l-4.5,4.5L0,2.7l.9-.9,3.6,3.6,3.6-3.6.9.9Z'/%3E%3C/svg%3E");
}

/****************************************** BLOCK HERO ***************************************/

.block_hero .block_video{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.block_hero .block_content{
	position: relative;
	min-height: calc(100vh - var(--header-height));
}

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

.card_powercard .card_video video,
.card_service .card_video video{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.wp-block-lazyblock-card-team{ height: 100%; }
.card_team .card_image img{
	border: 4px solid var(--light-lila);
}

.card_team .card_caption{
	position: absolute;
	top: -1.5rem;
	left: -1rem;
	right: -1rem;
	bottom: -3rem;
	transition: opacity .4s ease;
	opacity: 0;
	visibility: hidden;
}
.card_team .card_caption .card_image{
	max-width: calc(var(--col)*2 - 30px);
	margin-left: auto;
	margin-right: auto;
}

.card_team .card_caption.active{
	opacity: 1;
	visibility: visible;
}

.card_powercard:not(.rtl){
	flex-direction: row-reverse;
}

.card_service .card_image,
.card_powercard .card_image{
	overflow: hidden;
}
.card_service .card_image img,
.card_powercard .card_image img{
	transition: transform .5s ease;
}

.card_service:hover .card_image img,
.card_powercard:hover .card_image img{
	transform: scale(1.1);
}

/****************************************** LOGOS ***************************************/

.logos-pagination{
	transform: none !important;
}

.swiper_logos .swiper-slide{
	background-color: var(--light-celeste);
}
.swiper_logos .swiper-slide .logo{
	mix-blend-mode: multiply;
}

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

.block_page_header .title{
	transform: rotate(-6deg) translateY(6vw);
}

/****************************************** BLOCK METODOLOGIA ***************************************/

.block_metodologia{
	position: relative;
}
.block_metodologia::before{
	content: '';
	display: block;
	width: 12px;
	height: 12px;
	position: absolute;
	top: 0;
	left: calc(50% - 6px);
	background-color: var(--gris);
	border-radius: 50%;
}
.block_metodologia::after{
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: calc(50% - 1px);
	width: 2px;
	height: 100%;
	background-color: var(--gris);
}

.block_metodologia .row{
	position: relative;
	z-index: 2;
}

.block_metodologia .card_content{
	padding: 1rem 0;
	background-color: var(--white);
}
/****************************************** CHECKLIST ***************************************/

.wp-block-list.is-style-checklist{
	list-style: none;
	margin: 0;
	padding: 0;
}
.wp-block-list.is-style-checklist li{
	padding-left: 1.3636364em;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%235575D9' viewBox='0 0 20 20'%3E%3Cpath d='M0,9.672l3.691-.049c1.454.842,2.742,1.946,3.8,3.256,2.624-4.426,5.893-8.431,9.697-11.879h2.812c-4.876,5.442-9.039,11.491-12.388,18-1.648-3.749-4.28-6.974-7.612-9.328Z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: .90909091em auto;
	background-position: left top .2em;
}

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

.single_content img{
	border-radius: 1rem;
}

.card_work .card_content{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to bottom,  rgba(0,0,0,0.4) 0%,rgba(0,0,0,0) 100%);
	z-index: 2;
}

.card_work .card_content a{
	text-decoration: none;
}

.card_work .card_video::before,
.card_work .card_image::before{
	content: '';
	display: block;
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom,  rgba(0,0,0,0.4) 0%,rgba(0,0,0,.3) 100%);
	opacity: 0;
	transition: opacity .3s ease;
	z-index: 2;
}
.card_work:hover .card_video::before,
.card_work:hover .card_image::before{
	opacity: 1;
}

.card_work .arrow{
	position: absolute;
	bottom: 0;
	right: 2rem;
	width: 4.6rem;
	height: auto;
	opacity: 0;
	transition: all .3s ease;
}
.card_work:hover .arrow{
	bottom: 2rem;
	opacity: 1;
}

.card_work .card_video video{
	position: absolute;
	inset: 0;
	object-fit: cover;
	width: 100%;
	height: 100%;
}
/****************************************** gallery ***************************************/

.lightbox {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.8);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.3s ease;
	z-index: 999;
}
.lightbox img {
	max-width: 80vw;
	max-height: 80vh;
	display: block;
}
.lightbox figure{
	margin-bottom: 0;
}
.lightbox #lightbox-caption{
	background-color: gray;
	color: white;
	padding: .5rem 1rem;
}
.lightbox.visible {
	visibility: visible;
	opacity: 1;
}
.close, .prev, .next {
	position: absolute;
	font-size: 30px;
	color: white;
	text-decoration: none;
	font-weight: bold;
	cursor: pointer;
}
.close {
	top: 20px;
	right: 20px;
}
.prev {
	left: 20px;
}
.next {
	right: 20px;
}
/****************************************** RESPONSIVE ***************************************/

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

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

@media only screen and (max-width: 1199px){
	.site_header_brand{
		max-width: calc(var(--col) * 3 - 3rem);
	}

	.site_header_nav{
		display: none;
		position: fixed;
		top: var(--header-height);
		left: 0;
		width: 100%;
		height: calc(100vh - var(--header-height));
		background-color: var(--white);
		border-top: 1px solid var(--border);
		overflow: hidden;
		overflow-y: auto;
	}
	.site_header.show .site_header_nav{
		display: block;
	}
	.site_header_nav .main_menu{
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}
	.site_header_nav .main_menu li:not(.cta) a{
		display: block;
		padding: 1rem 1.5rem;
		line-height: 1;
		font-size: 2rem;
	}

	.site_header_nav .main_menu li.cta a{
		display: block;
		padding: 1rem 1.5rem;
		font-weight: 600;
		color: var(--morado);
		border-radius: 0;
		background-color: transparent;
		border: 0 none;
		min-height: 0;
		text-align: start;
		line-height: 1;
		font-size: 2rem;
	}

	.site_header_nav .main_menu li:not(:last-child){
		border-bottom: 1px solid var(--border);
	}
	.site_footer .separator{
		height: 1px;
		width: 100%;
	}

}

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

	.card_team .card_caption .card_image{
		max-width: calc(var(--col)*3 - 30px);
	}

}

@media only screen and (max-width: 767px){
	.site_header_brand{
		max-width: calc(var(--col) * 4 - 3rem);
	}

	.site_header_nav .main_menu li.cta a,
	.site_header_nav .main_menu li:not(.cta) a{
		font-size: 1.5rem;
	}
	.card_team .card_caption .card_image{
		max-width: calc(var(--col)*6 - 30px);
	}
}

@media only screen and (max-width: 575px){
	.site_header_brand{
		max-width: 8rem;
	}
}