/*
	Theme Name: Hello Elementor Child
	Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
	Description: A lightweight and minimalist WordPress theme for Elementor page builder.
	Author: Factoria Creativa
	Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
	Template: hello-elementor
    Text Domain: hello-elementor-child 
	Stable tag: 2.8.1
	Requires at least: 5.9
	Tested up to: 6.2
	Requires PHP: 8.0
	License: GNU General Public License v3 or later.
	License URI: https://www.gnu.org/licenses/gpl-3.0.html
	Description: A lightweight, plain-vanilla, best suited for building your site using Elementor website builder. Visit https://elementor.com/hello-theme/ to learn more.
	Tags: accessibility-ready, flexible-header, custom-colors, custom-menu, custom-logo, featured-images, rtl-language-support, threaded-comments, translation-ready,
*/



/* ---------- HEADER ------------ */

header .elementor-nav-menu--dropdown {
	width: 800px !important;
	padding-bottom: 20px;

}


header {
	overflow-x: clip !important;
}



/* GTRANSLATE */
.gtranslate_wrapper a {
	position: relative;
}

header .gtranslate_wrapper a {
	color: #000095;
	padding-left: 6px;
}

header .gtranslate_wrapper a:not(:last-of-type)::after {
	content: " ";
	position: absolute;
	left: 5px;
	top: 25%;
	height: 65%;
	width: 100%;
	border-right: 1px solid #000095;
}



/* ---------- FOOTER ------------ */

footer .telefono,
footer .correo_electronico,
footer .google_maps_link,
footer .google_maps_link:hover,
footer .telefono:hover,
footer .correo_electronico:hover {
	color: white !important;
}


footer .telefono {
	width: 150px !important;
}


footer .footer_nav_menu li:last-child {
	display: none;
}

footer .footer_contact_data ul>li:nth-child(2)>.elementor-icon-list-text {
	display: flex;

}

/* ---------- COPYRIGHT ------------ */
.copyright-text,
.copyright-text a,
.copyright-text a:active,
.copyright-text a:hover {
	color: white !important;
	font-size: 10px;
	font-weight: 400;
	font-family: "Jost", Sans-serif;
}

.copyright-text p {
	margin-bottom: 0;
	display: inline;
}


/* ----------- COOKIES --------------------------- */
#cmplz-document{
	max-width: 100% !important;
}

#cmplz-document h2,
#cmplz-document .cmplz-subtitle{
    font-size: 22px !important;
}

#cmplz-document h2{
	text-transform: uppercase;
}

#cmplz-document p{
	margin-block-end: 3rem !important;
}


/* ---------- FORMULARIO ------------ PLANTILLA Y PAGINA CONTACTO*/
.formulario_template form {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.formulario_template form>label {
	width: 100%;
}

.formulario_template input[type=email],
.formulario_template input[type=tel],
.formulario_template input[type=text],
.formulario_template textarea {
	border: none;
	border-bottom: 1px solid #525252;
	border-radius: 0px;
	outline: none;
	background-color: transparent;
	padding: 8px 0;
}

.formulario_template textarea {
	height: 100px;
}

.acceptance_link_custom {
	color: #000;
}

.acceptance_link_custom:hover {
	color: #000095;
}



.elementor-kit-7 input[type="submit"] {
	background-color: transparent !important;
	width: 100%;
}

.formulario_template .wpcf7-not-valid-tip {
	font-size: 0.8rem;
	padding-top: 5px;
}

.formulario_template .wpcf7-response-output {
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	color: #dc3232 !important;
}

.accept-terms .wpcf7-list-item-label {
	font-size: 1rem !important;
}

.accept-terms {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
}

.accept-terms .wpcf7-list-item>label {
	display: grid;
	grid-template-rows: 1fr;
	grid-template-columns: auto auto;
}


/* ---------- FORMULARIO CONTACTO - Checkbox ---------- */

.checkbox-wrapper-15 .cbx {
	-webkit-user-select: none;
	user-select: none;
	-webkit-tap-highlight-color: transparent;
	cursor: pointer;
	position: absolute;
	top: 5px;
}

.checkbox-wrapper-15 .cbx span {
	display: inline-block;
	vertical-align: middle;
	transform: translate3d(0, 0, 0);
}

.checkbox-wrapper-15 .cbx span:first-child {
	position: relative;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	transform: scale(1);
	vertical-align: middle;
	transition: all 0.2s ease;
}

.checkbox-wrapper-15 .cbx span:first-child {
	border: 1px solid #525252;
}

.checkbox-wrapper-15 .cbx span:first-child svg {
	position: absolute;
	z-index: 1;
	top: 8px;
	left: 6px;
	fill: none;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-dasharray: 16px;
	stroke-dashoffset: 16px;
	transition: all 0.3s ease;
	transition-delay: 0.1s;
	transform: translate3d(0, 0, 0);
	stroke: #fff;
}

.checkbox-wrapper-15 .cbx span:first-child:before {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	transform: scale(0);
	opacity: 1;
	border-radius: 50%;
	transition-delay: 0.2s;
}

.checkbox-wrapper-15 .cbx span:first-child:before {
	background: #000095;
}


.checkbox-wrapper-15 .cbx span:last-child {
	margin-left: 8px;
}



.checkbox-wrapper-15 .cbx span:last-child:after {
	content: "";
	position: absolute;
	top: 8px;
	left: 0;
	height: 1px;
	width: 100%;
	transform-origin: 0 0;
	transform: scaleX(0);
	background: #fff;
}


.checkbox-wrapper-15 .cbx:hover span:first-child {
	border-color: #000095;
}



.checkbox-wrapper-15 .inp-cbx:checked+.cbx span:first-child {
	animation: check-15 0.6s ease;
	border-color: #000095;
	background: #000095;
}



.checkbox-wrapper-15 .inp-cbx:checked+.cbx span:first-child svg {
	stroke-dashoffset: 0;
}

.checkbox-wrapper-15 .inp-cbx:checked+.cbx span:first-child:before {
	transform: scale(2.2);
	opacity: 0;
	transition: all 0.6s ease;
}

.checkbox-wrapper-15 .inp-cbx:checked+.cbx span:last-child {
	color: #b9b8c3;
	transition: all 0.3s ease;
}

.checkbox-wrapper-15 .inp-cbx:checked+.cbx span:last-child:after {
	transform: scaleX(1);
	transition: all 0.3s ease;
}

@keyframes check-15 {
	50% {
		transform: scale(1.2);
	}
}

.checkbox-wrapper-15 {
	bottom: 40px;
	position: relative;
	left: 0;
}

#yourConsent {
	visibility: hidden;
}




/* ------------ CONTACTO página ------------ */
.contact_data_contact_page .telefono,
.contact_data_contact_page .correo_electronico,
.contact_data_contact_page .google_maps_link,
.contact_data_contact_page .google_maps_link:hover,
.contact_data_contact_page .telefono:hover,
.contact_data_contact_page .correo_electronico:hover {
	color: #6F6F6F;
	font-size: 14px !important;
	font-weight: 400;
	font-family: "Century Gothic", Sans-serif;
}

.contact_data_contact_page .telefono {
	width: 200px !important;
}

.contact_data_contact_page ul>li:nth-child(2)>.elementor-icon-list-text {
	display: flex;

}


/* ---------- INICIO ------------ */
.cards_services_s2 {
	display: flex;
	flex-direction: column;
	gap: 20px;
	width: 100%;
}


.card_services_s2 {
	display: grid;
	background-color: #F5F5F5;
	padding: 30px;
	grid-template-columns: 0.1fr 1fr;
	grid-auto-rows: 1fr;
	gap: 20px;
	color: #000095;
	align-items: center;
}


.card_services_s2 h3 {
	font-weight: 700 !important;
	font-size: 24px;
	font-family: "century gothic", sans-serif;
	margin: 0 !important;
	text-transform: uppercase;
}

.card_services_s2 .svg_icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
}

.icon_link_button .elementor-button-icon svg {
	fill: #000095;
	width: 1.1em;
}



/* ---------- SERVICIOS ------------ */

.cards_services_page_s2 {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.card_services_page_s2 {
	background-color: #F5F5F5;
	display: flex;
	flex-direction: column-reverse !important;
	gap: 20px;
}

.card_services_page_s2 img {
	width: 100%;
	height: 250px !important;
	object-fit: cover;
}

.card_services_page_s2 {
	background-color: #F5F5F5;
	display: flex;
	flex-direction: row;
	gap: 20px;
}

.card_services_page_s2 h3 {
	font-size: 24px;
	font-family: "century gothic", sans-serif;
	color: #000095;
	padding-bottom: 20px;
	border-bottom: 1px solid #000095;
	text-transform: uppercase;
}

.card_services_page_s2 h3,
.card_services_page_s2 p {
	padding-right: 20px;
}

.card_services_page_s2>div {
	display: flex;
	flex-direction: column;
	justify-content: start;
	padding: 30px 20px 20px 20px;
}





/* ---------- DESPACHO ---------- CARDS EQUIPO  */
.cards_team_page_s2 {
	display: flex;
	flex-direction: column;
	gap: 40px;

}

.card_team_page_s2 {
	display: flex;
	flex-direction: column;
}

.card_team_page_s2 img {
	width: 100%;
	height: 300px !important;
	object-fit: cover;

}

.card_team_page_s2 h3 {
	font-weight: 500 !important;
	font-size: 20px !important;
	font-family: "century gothic", sans-serif !important;
	color: #000095;
}

.card_team_page_s2 h4 {
	font-weight: 700 !important;
	font-size: 20px !important;
	font-family: "century gothic", sans-serif;
}




/* ---------- DESPACHO ---------- ACORDEÓN  */

#accordion-1 {
	position: relative;
	width: 100%;
	height: fit-content !important;
}

#accordion-1 .head {
	border-bottom: 1px solid #000095;
	display: flex;
	flex-direction: row;
	color: #000;
	padding: 20px 0px;
	cursor: pointer;
	transition: 0.2s ease;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#accordion-1 .head h3 {
	margin: 0;
	display: flex;
	justify-content: space-between;
	width: 100%;
	align-items: center;
}

#accordion-1 .head>div {
	display: flex;
	flex-direction: row;
	gap: 20px;
	align-items: center;
}

#accordion-1 .head h3::after {
	content: "+";
	font-size: 24px;
	transition: transform 0.3s ease, content 0.3s ease;
}

#accordion-1 .head.active h3::after {
	content: "-";
}

#accordion-1 .content {
	display: none;
	padding-top: 20px;
	color: #525252;
}

#accordion-1 .content .info_block {
	margin-bottom: 20px;
}

#accordion-1 .content .info_block h4 {
	margin-bottom: 0px;
}



/* ---------- BLOG - ARTICULOS ---------- */

.single-post h2{
	font-size: 20px !important;
}

.single-post h3{
	font-size: 20px !important;
}

.entradas_blog .elementor-post__thumbnail img {
	height: 100% !important;
	object-fit: cover !important;
}

.entradas_blog .elementor-post__text {
	display: flex !important;
	flex-direction: column;
	justify-content: space-between;
}

.blog_button_more_articles .elementor-button-content-wrapper,
.blog_button_more_articles .elementor-button-icon {
	align-items: center;
	display: flex;
}

.blog_button_more_articles .elementor-button-icon svg {
	width: 0.5em;
}

/*******************Home *********************************/

.swiper-wrapper>div {
	max-width: 500px;
}


/* ------------------------ TEXTOS LEGALES ------------------------- */
.p_texto_legal .elementor-widget-text-editor,
#cmplz-document p {
	font-size: 10px !important;
}







/* ---------- MOVIL ---------- */
@media (max-width:767px) {

	/* ---------- FOOTER ---------- */
	#menu-1-b0b139e {
		display: flex;
	}

	.elementor-element-07fee15 {
		margin: 0 auto;
	}

	.card_services_s2 h3,
	.card_services_page_s2 h3 {
		font-size: 20px !important;
	}

	/* ---------- LOADER ------------ */
	.sl-pl-brand {
	width: 150px !important;
}

	/* ---------- BLOG - ARTICULOS ---------- */

.single-post h2{
	font-size: 16px !important;
}

.single-post h3{
	font-size: 16px !important;
}
}




/* ---------- TABLET ----------*/
@media (min-width:767px) {

	/* ---------- FOOTER ---------- */


	/* ---------- CONTACTO página ---------- */
	.contact_data_contact_page .telefono,
	.contact_data_contact_page .correo_electronico,
	.contact_data_contact_page .google_maps_link,
	.contact_data_contact_page .google_maps_link:hover,
	.contact_data_contact_page .telefono:hover,
	.contact_data_contact_page .correo_electronico:hover {
		font-size: 16px !important;
	}


	/* ------------------------ TEXTOS LEGALES ------------------------- */
	.p_texto_legal .elementor-widget-text-editor,
	#cmplz-document p {
		font-size: 12px !important;
	}

	/* ---------- FORMULARIO ---------- */
	.accept-terms {
		flex-direction: row;
		width: 100%;
		justify-content: space-between;
	}

	.elementor-kit-7 input[type="submit"] {
		width: fit-content;
	}

	.checkbox-wrapper-15 {
		bottom: 32.5px;
	}
	
	
	/* ------------------------ BLOG - PAG INICIO  ------------------------- */
	.info_articulo{
	height: 100% !important;
}
	
	/* ---------- LOADER ------------ */
	.sl-pl-brand {
	width: 200px !important;
}
}





/* ---------- LAPTOP ---------- */
@media (min-width:1024px) {

	/* ---------- INICIO ---------- */
	.cards_services_s2 {
		width: fit-content;
	}


	/* ---------- CONTACTO página ---------- */
	.contact_data_contact_page .telefono,
	.contact_data_contact_page .correo_electronico,
	.contact_data_contact_page .google_maps_link,
	.contact_data_contact_page .google_maps_link:hover,
	.contact_data_contact_page .telefono:hover,
	.contact_data_contact_page .correo_electronico:hover {
		font-size: 18px !important;
	}

	/* ---------- FORMULARIO ---------- */
	.checkbox-wrapper-15 {
		bottom: 40px;
	}

	.accept-terms>div {
		padding-top: 20px;
	}

	/* ---------- SERVICIOS página ---------- */
	.cards_services_page_s2 {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
		grid-auto-rows: 1fr;
	}

	.card_services_page_s2 {
		flex-direction: row !important;
	}

	.card_services_page_s2 img {
		width: 260px;
		height: auto !important;
	}

	.card_services_page_s2>div {
		padding: 30px 0 30px 0;
	}


	/* ---------- DESPACHO página ---------- */
	.card_team_page_s2 h3 {
		font-size: 24px !important;

	}

	.card_team_page_s2 {
		margin-bottom: 30px;
	}

	.cards_team_page_s2 {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 30px;
		grid-template-rows: auto;
	}

	#accordion-1 .head {
		height: 80px;
	}
}


/* ---------- DESKTOP ---------- */
@media (min-width:1366px) {
	
	/* ---------- LOADER ------------ */
	.sl-pl-brand {
		width: 200px !important;
	}


	/* ---------- SERVICIOS página ---------- */
	.card_services_page_s2 h3 {
		font-size: 30px;
	}

	/* ---------- INICIO ---------- */
	.card_services_s2 h3 {
		font-size: 30px;
	}

	/* ---------- DESPACHO página ---------- */
	.cards_team_page_s2 {
		grid-template-columns: repeat(3, 1fr);
	}

	/* ------------------------ TEXTOS LEGALES ------------------------- */
	.p_texto_legal .elementor-widget-text-editor,
	#cmplz-document p {
		font-size: 16px !important;
	}

}


/* ---------- WIDESCREEN ---------- */
@media (min-width:1600px) {
	
	/* ---------- LOADER ------------ */
	.sl-pl-brand {
		width: 250px !important;
	}
}