/****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-indigo-background-color{ background-color: var(--indigo) !important; }
.has-indigo-color{ color: var(--indigo) !important; }
.has-amarillo-background-color{ background-color: var(--amarillo) !important; }
.has-amarillo-color{ color: var(--amarillo) !important; }
.has-ambar-background-color{ background-color: var(--ambar) !important; }
.has-ambar-color{ color: var(--ambar) !important; }
.has-black-background-color{ background-color: var(--verde) !important; }
.has-verde-color{ color: var(--verde) !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-lila-background-color{ background-color: var(--light-lila) !important; }
.has-light-lila-color{ color: var(--light-lila) !important; }
.has-light-amarillo-background-color{ background-color: var(--light-amarillo) !important; }
.has-light-amarillo-color{ color: var(--light-amarillo) !important; }
.has-light-verde-background-color{ background-color: var(--light-verde) !important; }
.has-light-verde-color{ color: var(--light-verde) !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; }

body{
	background-color:hsla(253,58%,47%,1);
	background-image:
		radial-gradient(at 95% 3%, hsla(238,100%,69%,1) 0px, transparent 50%),
		radial-gradient(at 31% 0%, hsla(240,100%,6%,1) 0px, transparent 50%),
		radial-gradient(at 0% 100%, hsla(240,100%,6%,1) 0px, transparent 50%),
		radial-gradient(at 42% 96%, hsla(32,100%,58%,1) 0px, transparent 50%),
		radial-gradient(at 100% 50%, hsla(101,50%,40%,1) 0px, transparent 50%),
		radial-gradient(at 56% 39%, hsla(243,100%,43%,1) 0px, transparent 50%),
		radial-gradient(at 88% 87%, hsla(238,100%,69%,1) 0px, transparent 50%);
	background-attachment: fixed;
	min-height: 100vh;
}

body:not(.home) main{
	margin-top: var(--header-height);
}

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

mark{
	background-color: transparent;
	padding: 0;
}

.grecaptcha-badge{
	opacity: 0;
	pointer-events: none;
}

.page-load-status{
	display: none;
}

/****************************************** WHATSAPP ***************************************/
.block_whatsapp{
	position: fixed;
	bottom: 1.5rem;
	right: 1.5rem;
	z-index: 998
}

.block_whatsapp .block_button{
	background-color: #25d366;
	border-radius: 50%;
	width: 3.5rem;
	height: 3.5rem;
	color: var(--white);
	-webkit-box-shadow: 0 0 15px 0 rgba(0,0,0,.1);
	box-shadow: 0 0 15px 0 rgba(0,0,0,.1);
	cursor: pointer;
}
.block_whatsapp .block_button svg{
	width: 1.75rem;
	height: 1.75rem;
}

.block_whatsapp .block_content{
	display: none;
	position: absolute;
	bottom: calc(100% + .5rem);
	right: 0;
	width: 18rem;
	-webkit-box-shadow: 0 0 15px 0 rgba(0,0,0,.1);
	box-shadow: 0 0 15px 0 rgba(0,0,0,.1);
}

.block_whatsapp .block_content.show{
	display: block;
}

.block_whatsapp .block_content .block_header{
	background-color: #25d366;
}
.block_whatsapp .block_content .block_header svg{
	width: 3rem;
	height: 3rem;
}

.form-control-sm{
	height: 2.5rem;
	font-size: .88889rem;
}
.block_whatsapp .btn-whatsapp{
	display: flex;
	height: 2.5rem;
	width: 100%;
	background-color: #25d366;
	border: 1px solid #128c7e;
	color: var(--white);
	border-radius: 4px;
	align-items: center;
	justify-content: center;
}

/****************************************** CONTACT FORM ***************************************/

.wpcf7-spinner{
	position: absolute;
	top: calc(50% - 12px);
	right: 1rem;
	margin: 0;
}

.wpcf7 form .wpcf7-response-output{
	margin: 1rem 0 0 0;
	padding: .25rem .75rem;
	border-radius: 5px;
	border: 1px solid var(--indigo);
	font-size: 14px;
	text-align: center;
}

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

.swiper-pagination-bullet{
	background-color: var(--indigo);
	opacity: .3;
	transition: all .3s ease;
	border-radius: 50em;
}
.swiper-pagination-bullet-active{
	opacity: 1;
	width: 1.5rem;
}
.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{
	margin: 0 3px;
}

.swiper-button-prev,
.swiper-button-next{
	display: flex;
	width: 4.75rem;
	height: 2.5rem;
	border-radius: 50em;
	border: 1px solid var(--indigo);
	color: var(--lila);
	margin-top: 0;
}

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

.swiper-button-prev svg,
.swiper-button-next svg{
	width: auto;
	height: 1rem;
}

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

/****************************************** TITLE TAG ***************************************/

.title_tag span{
	display: inline-flex;
	font-size: 12px;
	line-height: 1;
	text-transform: uppercase;
	border: 1px solid;
	padding: .35rem 1.1111rem;
	border-radius: 50em;
}

.title_tag span{
	border-color: var(--indigo);
}
.text-white>.title_tag span,
.title_tag.text-white span{
	border-color: var(--lila);
}

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

.site_header{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 6.5rem;
	z-index: 999;
	transition: background .3s ease;
}

.site_header_brand{
	max-width: 17.2222rem;
}

body:not(.home) .site_header,
body.scrolled .site_header{
	background-color: var(--white);
	height: var(--header-height);
	-webkit-box-shadow: 0 0 10px 0 rgba(0,0,0,.1);
	box-shadow: 0 0 10px 0 rgba(0,0,0,.1);
}

body:not(.home) .site_header_brand .logo-neg,
body.scrolled .site_header_brand .logo-neg,
.site_header_brand .logo-pos{
	display: none;
}

body:not(.home) .site_header_brand .logo-pos,
body.scrolled .site_header_brand .logo-pos{
	display: block;
}

.main_menu{
	justify-content: flex-end;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
	column-gap: 2.5rem;
}
.main_menu li:not(.cta) a{
	color: var(--white);
	font-weight: 500;
}
body:not(.home) .main_menu li:not(.cta) a,
body.scrolled .main_menu li:not(.cta) a{
	color: var(--indigo);
}

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

.site_footer{
	background: linear-gradient(45deg, var(--indigo) 0%, var(--black) 100%);
}
.site_footer_menu{
	list-style: none;
	margin: 0;
	padding: 0;
}
.site_footer_menu li:not(:last-child){
	margin-bottom: .125rem;
}

.site_footer_menu a{
	font-weight: 300;
}

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

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

.block_hero .block_content{
	min-height: 100vh;
}
.block_hero .block_arrow{
	position: absolute;
	bottom: 2.5rem;
	left: calc(50% - 1rem);
	color: var(--white);
}
.block_hero .block_arrow svg{
	display: block;
	width: 2rem;
	height: 2rem;
	animation: arrow .8s ease-in-out infinite;
}

@keyframes arrow{
	from{
		transform: translateY(0);
		opacity: 1;
	}
	to{
		transform: translateY(1rem);
		opacity: 0;
	}
}

/****************************************** NOSOTROS ***************************************/

#nosotros{
	background: linear-gradient(to bottom,  rgba(255,255,255,0) 0%,rgba(255,255,255,0.6) 100%);
}

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

.card_servicio{
	min-height: calc(var(--col)*5 - 3rem);
}

.card_servicio .card_content .icon{
	width: 50%;
	margin-left: auto;
}
.card_servicio .card_layout{
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	transform: translateY(50%);
	transition: all .3s ease;
}
.card_servicio:hover .card_layout{
	opacity: 1;
	transform: translateY(0);
}

.card_metodologia .card_icon svg{
	display: block;
	width: 5rem;
	height: 5rem;
}

.block_metodologia{
	gap: 30px;
}

.block_metodologia .card_metodologia:not(:last-child) .card_icon::after{
	content: '';
	display: block;
	width: calc(100% - 2.5rem - 15px);
	height: 0;
	border-bottom: 2px solid var(--white);
	position: absolute;
	top: 2.5rem;
	left: calc(50% + 2.5rem);
}

.card_metodologia .card_content{
	position: relative;
}

.card_noticia{
	position: relative;
}

.card_categories{
	gap: .25rem;
}
.card_categories span,
.card_categories a{
	display: inline-flex;
	font-size: 12px;
	font-weight: 500;
	line-height: 1;
	text-transform: uppercase;
	border: 1px solid var(--indigo);
	color: var(--lila);
	background-color: var(--white);
	padding: .35rem .75rem;
	border-radius: 50em;
	white-space: nowrap;
}

.swiper_noticias .swiper-slide{
	height: auto;
}

/****************************************** BLOG ***************************************/

.bg-page{
	background: linear-gradient(to bottom,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100vh);
}

.filter_categories{
	list-style: none;
	margin: 0;
	padding: 0;
	gap: .75rem;
}
.filter_categories a{
	display: block;
	padding: .25rem 1.5rem;
	border: 1px solid rgba(255,255,255,.42);
	font-size: .88889rem;
	font-weight: 500;
	border-radius: 50em;
	white-space: nowrap;
	text-decoration: none;
}
.filter_categories a:hover{
	border-color: var(--white);
	background-color: var(--indigo);
}

.single_title{
	font-size: 3.5rem;
}

.share_links{
	gap: .75rem;
}
.share_links a.share_link svg{
	display: block;
	width: 1.5rem;
	height: 1.5rem;
}

.breadcrumbs{
	gap: .5rem;
}
.breadcrumbs a{
	display: flex;
	align-items: center;
	gap: .5rem;
}
.breadcrumbs a:not(:last-child)::after{
	content: '';
	display: inline-block;
	width: 1.5rem;
	height: 0;
	border-bottom: 1px solid;
}

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

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

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

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

	body{
		background-color:hsla(253,58%,47%,1);
		background-image:
			radial-gradient(at 95% 3%, hsla(238,100%,69%,1) 0px, transparent 50%),
			radial-gradient(at 31% 0%, hsla(240,100%,6%,1) 0px, transparent 50%),
			radial-gradient(at 0% 100%, hsla(240,100%,6%,1) 0px, transparent 50%),
			radial-gradient(at 42% 96%, hsla(32,100%,58%,1) 0px, transparent 50%),
			radial-gradient(at 56% 39%, hsla(243,100%,43%,1) 0px, transparent 50%),
			radial-gradient(at 88% 87%, hsla(238,100%,69%,1) 0px, transparent 50%);
		background-attachment: fixed;
		min-height: 100vh;
	}

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

	.site_header{
		background-color: var(--white);
		height: var(--header-height);
	}

	.site_header_brand .logo-neg{
		display: none;
	}
	.site_header_brand .logo-pos{
		display: block;
	}

	.site_header_nav{
		display: none;
		position: fixed;
		top: var(--header-height);
		left: 0;
		width: 100%;
		height: calc(100vh - var(--header-height));
		overflow: hidden;
		overflow-y: auto;
		background-color: var(--white);
		border-top: 1px solid var(--light-lila);
		padding: 1.5rem 0;
	}

	.site_header.show .site_header_nav{
		display: block;
	}

	.main_menu{
		flex-direction: column;
		align-items: stretch;
	}

	.main_menu li:not(:last-child){
		border-bottom: 1px solid var(--light-lila);
	}

	body.scrolled .main_menu li:not(.cta) a,
	.main_menu .cta a,
	.main_menu li:not(.cta) a{
		display: block;
		color: var(--black);
		padding: .5rem 1.5rem;
		font-size: 1.25rem;
	}

	.main_menu .cta a{
		border-radius: 0;
		border: 0;
		background: none;
		text-align: start;
		font-weight: 600;
		line-height: inherit;
		color: var(--indigo);
		text-decoration: underline;
	}

	.card_servicio{
		min-height: calc(var(--col) * 7 - 3rem);
	}

	.block_metodologia .card_metodologia:not(:last-child) .card_icon::after{
		width: 0;
		height: calc(100% - 2.5rem - 15px);
		top: 5rem;
		left: 50%;
		border-right: 2px solid var(--white);
	}

}

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

	.single_title{
		font-size: 3rem;
	}
}

@media only screen and (max-width: 767px){
	.single_title{
		font-size: 2.5rem;
	}
	.card_servicio{
		min-height: calc(var(--col) * 15 - 3rem);
	}
}

@media only screen and (max-width: 575px){
	.single_title{
		font-size: 2.25rem;
	}
}