/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
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: 2.0.0
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
*/

/* Add your custom styles here */

.elementor-social-icon-facebook-f{
	position:relative;	
}

.elementor-social-icons-wrapper{
	display:flex !important;
}

.elementor-social-icon-facebook-f svg{
	position:absolute;
	height:1.4em;
	bottom:0;
}

.no-margin p{
	margin: 0;
}

.home .banner:before{
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000000 100%);
}

.elementor-nav-menu--main .elementor-item.elementor-item-active{
	font-weight:900;
}

.banner h1 {
  word-break: break-word;
  overflow-wrap: anywhere;
}

.banner h1 span::after {
  content: ' ';
  white-space: pre;
}
.banner h1 span:nth-child(2n)::after {
  content: '\A';
  white-space: pre; 
}

.banner h1 span:nth-child(5), .banner h1 span:nth-child(6), .banner h1 span:nth-child(7){
	font-weight:300;
}

.service .elementor-widget-image > div:after{
	content:'';
	display:block;
    width: 100%;
    height: 100%;
    bottom: 0;
    position: absolute;
    background: linear-gradient(180deg, rgba(28, 28, 30, 0) 50%, #1C1C1E 100%);
    border-radius: 0 16px 16px 0px;
}

.service2 .elementor-widget-image > div:after{
	   border-radius: 16px 0px 0px 0px;
}

.service3 .elementor-widget-image > div:after{
	   border-radius: 0px 16px 0px 0px;
}

.service4 .elementor-widget-image > div:after{
	   border-radius: 16px 0px 0px 0px;
}


.service5 .elementor-widget-image > div:after{
	   border-radius: 0px 16px 0px 0px;
}

.map_picker{
	 position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.image-overlay .elementor-widget-image > div:after, .image-overlay .elementor-widget-container:after{
	content:'';
	display:block;
    width: 100%;
    height: 100%;
    bottom: 0;
    position: absolute;
    background: linear-gradient(180deg, rgba(28, 28, 30, 0) 50%, #1C1C1E 100%);
    border-radius: 16px 16px 16px 16px;
}

.join_team_image img{
	aspect-ratio: 3 / 2;
    object-fit: cover;
}

*{
	font-family:"Avenir";
}

.elementor-kit-15 .elementor-button:active, 
.elementor-kit-15 .elementor-button:focus {
	background-color: #004C99;
}

body, html{
	overflow-x:hidden;
}


span.elementor-menu-toggle__icon--close, span.elementor-menu-toggle__icon--open{
	line-height:0px;
}

.elementor-menu-toggle{
	padding:0;
	margin:0 !important;
}


.e--ua-isTouchDevice .elementor-nav-menu--burger li {
	margin: 8px 24px;
}



.nuevo_header .header_social_icons{
	 width: 100%;
    position: fixed !important;
    bottom: 0 !important; /* Aligns the element to the bottom of the viewport */
    opacity: 0;
    transform: translateY(0); /* No need to calculate position; fixed positioning handles it */
    transition: opacity 0.1s ease-in;
    transition-delay: 0.5s;
	display:none;
}

.nuevo_header:has(.elementor-active) .header_social_icons{
	display: flex !important;
	opacity:1;
}

body:has(.elementor-active), html:has(.elementor-active){
	overflow:hidden;
}


.nuevo_header:has(:not(.elementor-active)) .header_social_icons{
	transition-delay:0s;

}

.header_social_icons  > div:last-child > div{
	    display: flex;
    gap: 8px;
    justify-content: center;
    align-items: center;
}

.header_social_icons .theme-toggle{
	margin-left:16px;
}
.header_social_icons .theme-toggle + span {
	color:#818181;
	font-size:12px;
}

.nuevo_header:has(.elementor-active){
	    background-color: #000000;
}

.header_social_icons {
	border-top: 1px solid #292929 !important;
}
body.light-mode .header_social_icons, body.light-mode .header_social_icons .elementor-widget-social-icons > div{
	border-color:#d3d3d3 !important;
}

@media (max-width: 1220px) and (min-width:1025px){
	.e-con{
		 --container-default-padding-top: 0px;
        --container-default-padding-right: 24px;
        --container-default-padding-bottom: 0px;
        --container-default-padding-left: 24px;
	}
	
	.nuevo_header  > div > div{
		margin: 0 auto;
	}
	
}


@media (max-width: 1220px){
	.contact-info{
		position:unset;
	}
}


@media (max-width: 1024px){
	.contact-info .elementor-icon-list-items{
		flex-direction: column;
		gap: 32px;
	}
}


.nuevo_header:has(.elementor-active) .elementor-nav-menu__container{
	height: 100vh;
}


.elementor-nav-menu--toggle{
	margin-right:-8px;
}





@media (max-width: 1140px){
	.custom-arrow{
			padding: 10px !important;
	}
	.custom-arrow span{
		font-size:24px;
	
	}
}


.elementor-menu-toggle{
	padding:0px !important;
}


e-page-transition{
	background:#000000 !important;
}


.elementor-location-header a > img{
	height:40px !important;
}


@media (max-width:1024px){
	.elementor-location-header a > img{
		height:32px !important;
	}
}

.elementor-location-footer a > img{
	height:32px !important;
}

.elementor-location-footer a[href="#contact"]{
	display:none;
}

.elementor-location-footer a[href*="about"]{
	margin-inline-end:0px !important;
}

.elementor-location-footer .menu-item a.elementor-item-active{
	font-weight:900 !important;
}

body.light-mode .elementor-location-footer > div:last-child > div:first-child,
body.light-mode .elementor-location-footer > div:last-child > div:last-child .elementor-widget-social-icons > div,
body.light-mode.page-id-260 .page-content > div > div:last-child > div > div:last-child{
	border-color:#d3d3d3;
}


body.light-mode .footer-divider span{
	border-block-start-color:#d3d3d3 !important;
}
.elementor-location-footer .elementor-social-icons-wrapper{
    margin: 0px !important;
}

.theme-switcher > div{
	font-size: 12px;
	gap:8px;
	display:flex;
    align-items: center;
	color:#818181;
}


#menu-2-3a4bf0c{
	margin:12px 24px;
}

#menu-2-3a4bf0c li {
	margin:0px;
}

@keyframes float {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0);
  }
}
.service:hover {
  animation: float 0.5s ease-in-out infinite;
}