/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

p.gform_required_legend {
    display: none;
}
#custom-thank-you {
    color: #d60000;
    font-weight: 700;
}
.title_home h1 span {
    position: relative;
}
.title_home h1 span:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 5px;
    bottom: 3px;
    background-color: var(--e-global-color-secondary);
    z-index: 99;
    left: 0;
}

h2 span {
    font-weight: 600;
}


/*HEADER*/
header.elementor.elementor-10.elementor-location-header {
    z-index: 9999 !important;
    position: relative !important;
    background-color: #ffff !important;
}
span.sub-arrow {
    transform: rotateZ(-45deg);
    position: relative;
    top: 6px;
}
li.last_child_menu a {
    font-weight: 700 !important;
    color: var(--e-global-color-secondary) !important;
}

header ul.sub-menu{
    /*margin-left: -12.5% !important;*/
}
header .sub-menu li a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 25px !important;
    padding-right: 34px !important;
}

header .elementor-nav-menu--layout-horizontal .elementor-nav-menu>li {
    display: flex;
    justify-content: center;
}

/*MENU MOVIL*/
header nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
    height: 92vh;
    box-shadow: none !important;
    top: 50px !important;
	padding: 25px 20px;
}
header nav.elementor-nav-menu--dropdown li a {
    padding: 25px 0 !important;
    display: flex;
    font-weight: 600 !important;
    font-size: 18px !important;
    justify-content: space-between;
    border-bottom: 1px solid var(--e-global-color-eab8759);
    font-family: var(--e-global-typography-primary-font-family), Sans-serif !important;
}
header nav.elementor-nav-menu--dropdown li ul {
    padding-top: 20px;
}
header nav.elementor-nav-menu--dropdown li ul li a {
    border-bottom: 0;
    padding: 10px 0px !important;
	font-family: var(--e-global-typography-secondary-font-family), Sans-serif !important;
	font-size: 16px !important;
	font-weight: 500 !important;
}
header nav.elementor-nav-menu--dropdown li:last-child a {
    border-bottom: 0 !important;
}

/*SEARCH*/
.search_popup button.elementor-search-form__submit {
    bottom: 7px;
    position: relative;
    padding-top: 5px;
}
.search_popup .elementor-search-form__input {
    padding-top: 5px !important;
    padding-bottom: 10px !important;
	padding-left: 0px !important;
}


/*CARRUSEL LOGO*/
.logos-loops:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 20%;
    height: 100%;
    background: rgb(255, 255, 255);
    background: linear-gradient(90deg, rgba(255, 255, 255, 1) 15%, rgba(255, 255, 255, 0) 100%);
    z-index: 5;
}
.logos-loops:after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    width: 20%;
    height: 100%;
    background: rgb(255, 255, 255);
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 85%);
    z-index: 5;
}
.logos-loops .elementor-swiper-button {
    z-index: 9 !important;
}

/*SERVICIOS HOME*/
.button_cons .elementor-button-icon svg {
    width: 0.7em;
    height: auto;
}
.button_cons  a.elementor-button.elementor-button-link.elementor-size-sm {
    width: 100%;
}
.button_cons span.elementor-button-text {
    text-align: left;
}
.button_cons a:hover .elementor-button-icon svg path {
    fill: #fff !important;
}

/*FOOTER*/
footer .elementor-widget-wp-widget-nav_menu ul {
    list-style: none;
    padding-left: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
footer .elementor-widget-wp-widget-nav_menu ul li {
    line-height: 1.1;
}
footer .elementor-widget-wp-widget-nav_menu ul li a {
    font-size: 16px;
    color: #fff;
}


/*BREADCRUMS*/
#breadcrumbs {
    color: transparent;
}
span.breadcrumb_last {
    font-weight: 600;
	color: var( --e-global-color-primary );
}
#breadcrumbs span span:nth-last-of-type(n+2):after {
    content: '>';
	color: var( --e-global-color-primary );
    position: relative;
    left: 9px;
    top: 0px;
}

/*ABOUT US*/
.timeline .elementor-tabs-wrapper:before {
    content: '';
    position: absolute;
    bottom: 10px;
    width: 100%;
    height: 1px;
    background-color: #d6dadb;
}
.timeline .elementor-tabs-wrapper {
    gap: 50px;
	position: relative;
}
.timeline .elementor-tab-title:after {
	content: initial !important;
}
.timeline .elementor-tab-content {
    padding-top: 70px !important;
    padding-bottom: 50px !important;
}
.timeline .elementor-tab-title {
    padding: 0 !important;
    padding-bottom: 40px !important;
	border: 0 !important;
}
.timeline .elementor-tab-title:before {
    content: '' !important;
    position: absolute !important;
    height: 20px !important;
    width: 20px !important;
    border-radius: 50px;
    left: 50%;
    bottom: 0px;
    margin-left: -10px;
    background: #D6DADB;
    z-index: 9;
}
.timeline .elementor-tab-desktop-title.elementor-active:before{
	background: var( --e-global-color-secondary );
}

.timeline .content_line {
    display: flex;
    gap: 20px;
	align-items: center;
}
.content_line_text {
    width: 70%;
}
.content_line_img{
	width: 30%;
}

.core_values .elementor-element {
    background: #EFEFEF;
}
/**/
.button_download svg {
    font-size: 0px;
	}

/*inputs*/
form label, form legend {
    font-size: 18px !important;
    margin-bottom: 30px;
    width: 100% !important;
    font-weight: 400 !important;
}
input, button, textarea, select {
    outline: none !important; /* Elimina el outline al enfocar */
}
input:focus, button:focus, textarea:focus, select:focus {
    outline: none !important; /* Asegura que el outline no se muestre incluso cuando el elemento está enfocado */
}
form input, form textarea, form select {
    border: 0px !important;
    border-bottom: 1px solid #000 !important;
    border-radius: 0 !important;
    padding-left: 5px !important;
    background: transparent;
    box-shadow: none !important;
    width: 100% !important;
	font-size: 1rem !important;
}
label.gfield_label.gform-field-label {
    margin-bottom: 0;
}
form h3.gsection_title {
    color: #d60000;
    font-size: 20px;
    margin-bottom: 6px;
}
.gform-theme--framework .gfield--type-section {
    border-bottom: 1px solid #d60000 !important;
}

.gform-theme--framework .gfield--type-choice .gfield_checkbox, .gform-theme--framework .gfield--type-choice .gfield_radio {
    display: flex;
    flex-direction: row !important;
    gap: 25px;
    flex-wrap: wrap;
}

form textarea {
    max-height: 120px !important;
}
input.wpcf7-form-control.wpcf7-submit.has-spinner, .gform_button.button {
    padding: 15px 60px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    border: 0 !important;
    background-color: var(--e-global-color-secondary) !important;
    width: initial !important;
}
span.wpcf7-not-valid-tip {
    font-size: 15px;
    padding-top: 14px;
}
.wpcf7-response-output {
    font-size: 15px;
    margin: 0 !important;
}
/*PROJECTS*/
.header_blog {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-content: center;
    align-items: center;
}
#posts-container {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    padding-top: 30px;
    border-top: 1px solid #D6DADB;
    top: 25px;
    position: relative;
    justify-content: space-between;
	height: auto;
}

.post-item {
    width: 31%;
    margin: 1%;
    position: relative;
    min-height: 420px;
    padding: 0;
}
.post-item img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.post-item:before {
    content: '';
    --background-overlay: '';
    background-color: transparent;
    background-image: linear-gradient(180deg, #00000000 46%, #000000 110%);
    z-index: 5;
    width: 100%;
    height: 100%;
    position: absolute;
}

.con_text {
    z-index: 9;
    position: absolute;
    bottom: 0;
    top: inherit;
    padding: 25px;
    padding-bottom: 15px;
}
.con_text h2{
    color: #FFFFFF;
    font-family: "Rajdhani", Sans-serif;
    font-size: 18px;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 0;
}
.con_text p{
color: #FFFFFF;
font-family: "Work Sans", Sans-serif;
font-size: 18px;
font-weight: 400;
}
#load-more {
    text-align: center;
    margin-top: 60px;
}

.loading{
	opacity:1 !important;
}

/*select projects*/
div#filter {
    display: flex;
    gap: 15px;
    justify-content: space-between;
    flex-direction: row;
    width: 100%;
}
.content-select select{
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}
/* Eliminamos la fecha que por defecto aparece en el desplegable */
.content-select select::-ms-expand {
    display: none;
}
.content-select {
    position: relative;
}

.content-select select {
    width: 180px;
    cursor: pointer;
    padding-right: 25px;
    height: 42px;
    background: transparent;
    font-size: 18px;
    text-transform: uppercase;
    font-weight: 600;
    color: #000;
    border: 0;
    position: relative;
    transition: all 0.25s ease;
    font-family: "Rajdhani", Sans-serif;
}

.content-select select:hover i{
	transform: rotate(0deg);
}

.content-select i{
	position: absolute;
	right: 20px;
	top: calc(50% - 6px);
	width: 16px;
	height: 16px;
	display: block;
	transform: rotate(-45deg); /* Giramos el cuadrado */
	transition: all 0.25s ease;
	z-index: -1;
}

.content-select:hover i{
	margin-top: 3px;
}

@media (max-width:1024px){
	footer .elementor-widget-wp-widget-nav_menu ul {
    	align-items: center;
	}
	footer .elementor-widget-wp-widget-nav_menu ul li {
    	text-align: center;
	}
}
@media (max-width:767px){
	.search_popup .elementor-search-form__container {
		display: flex;
		flex-direction: column;
	}
	.search_popup button.elementor-search-form__submit {
		bottom: 0;
		padding: 20px 24px !important;
	}
	.search_popup .elementor-search-form__input {
    border-bottom: 1px solid #333 !important;
    border-radius: 0;
    margin-bottom: 23px !important;
	}
	
	.search_popup .elementor-search-form__container {
    border-width: 0px !important;
	}
	
	/*MENU FOOTER*/
	.menu_footer li a {
    display: flex;
    justify-content: space-between;
	border-bottom: 1px solid #fff;
	font-size:18px !important;
	}
	.menu_footer li:last-child a {
	border-bottom: 0 !important;	
	}
	.menu_footer li a svg path {
    fill: #fff;
	}
	.menu_footer li ul {
    padding-top: 15px;
    padding-bottom: 5px;
	}
	.menu_footer li ul li a {
    font-size: 16px !important;
    font-family: var(--e-global-typography-secondary-font-family), Sans-serif !important;
    font-weight: 400 !important;
    border-bottom: 0 !important;
	padding: 5px 0 !important;
	text-transform: capitalize !important;
	}
	
	.elementor-96 .elementor-element.elementor-element-5949913::before, .elementor-96 .elementor-element.elementor-element-5949913 > .elementor-background-video-container::before, .elementor-96 .elementor-element.elementor-element-5949913 > .e-con-inner > .elementor-background-video-container::before, .elementor-96 .elementor-element.elementor-element-5949913 > .elementor-background-slideshow::before, .elementor-96 .elementor-element.elementor-element-5949913 > .e-con-inner > .elementor-background-slideshow::before, .elementor-96 .elementor-element.elementor-element-5949913 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before {
		position: absolute;
		transform: rotateZ(-90deg);
		bottom: 0px !important;
		top: initial;
		width: 250px;
		height: 250px;
		left: initial;
		right: 0px;
		background-size: contain;
	}
	
	.button_download a.elementor-button.elementor-button-link.elementor-size-sm {
    background: transparent !important;
	}
	.button_download svg {
    font-size: 16px;
	}
	
	
	.timeline .elementor-tabs .elementor-tabs-wrapper {
        display: flex !important;
        width: 100%;
        overflow: auto;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        gap: 80px;
        padding-left: 20px;
    }
	.timeline .elementor-tab-title.elementor-tab-mobile-title {
    display: none;
	}
	
	.timeline .elementor-tabs-wrapper:before {
	}
    .post-item {
        width: 48%;
        min-height: 350px;
    }
    .header_blog {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-content: center;
        align-items: flex-start;
        gap: 25px;
    }
    div#results-count {
        padding-left: 15px;
    }
    
    
}

@media (max-width:500px){
    .post-item {
        width: 100%;
    }
	
    .content-select select {
        width: auto;
    }
    div#filter {
        gap: 15px;
        /*flex-direction: column;*/
    }
}
