/* 
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 */

html {
    scroll-behavior: smooth;
}

body:not(.elementor-editor-active) [img-reveal],
body:not(.elementor-editor-active) [text-split] {
	opacity: 0;
}

.animated-menu.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item::before,
.animated-menu.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item::after {
	background-color: transparent;
}

.animated-menu .menu-item:not(.menu-item-40) .elementor-item::before,
.animated-menu .menu-item:not(.menu-item-40) .elementor-item::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100px;
	height: 50px;
	border: 2px solid rgba(255, 255, 255, 0.2);
	content: '';
	opacity: 0;
	transition: transform 0.3s, opacity 0.3s;
	transform: translateX(-50%) translateY(-50%) scale(0.2);
}

.animated-menu .menu-item:not(.menu-item-40) .elementor-item::after {
	width: 90px;
	height: 40px;
	border-width: 3px;
	transform: translateX(-50%) translateY(-50%) scale(0.8);
}

.animated-menu .menu-item:not(.menu-item-40) .elementor-item:hover::before,
.animated-menu .menu-item:not(.menu-item-40) .elementor-item:hover::after,
.animated-menu .menu-item:not(.menu-item-40) .elementor-item:focus::before,
.animated-menu .menu-item:not(.menu-item-40) .elementor-item:focus::after {
	opacity: 1;
	transform: translateX(-50%) translateY(-50%) scale(1);
}

.animated-menu .menu-item.menu-item-38 .elementor-item::before,
.animated-menu .menu-item.menu-item-38 .elementor-item::after,
.animated-menu .menu-item.menu-item-752 .elementor-item::before,
.animated-menu .menu-item.menu-item-752 .elementor-item::after {
	width: 80px;
}

.animated-menu .menu-item.menu-item-38 .elementor-item::after,
.animated-menu .menu-item.menu-item-752 .elementor-item::after {
	width: 70px;
}

.animated-menu .menu-item.menu-item-463 .elementor-item::before,
.animated-menu .menu-item.menu-item-463 .elementor-item::after {
	width: 115px;
}

.animated-menu .menu-item.menu-item-463 .elementor-item::after {
	width: 105px;
}

.animated-menu .menu-item.menu-item-658 .elementor-item::before,
.animated-menu .menu-item.menu-item-658 .elementor-item::after {
	width: 130px;
}

.animated-menu .menu-item.menu-item-658 .elementor-item::after {
	width: 120px;
}

.she-header-yes:not(.she-header-transparent-yes) .elementor-widget-spacer {
    display: none;
}

.she-header-yes:not(.she-header-transparent-yes) .elementor-widget-theme-site-logo img {
    width: 190px;
}

body:has(.hero) .she-header-transparent-yes::before {
	background: transparent !important;
}

body:has(.hero) .she-header-transparent-yes::before {
	background: transparent !important;
}

body:not(:has(.hero)) .type-page,
body:not(:has(.hero)) .type-post {
	margin-top: 75px;
}

.elementor-form .select2-container .select2-selection--multiple {
    background-color: transparent;
    border-color: #aaa;
    border-radius: 0;
    border-left: none;
    border-right: none;
    border-top: none;
    padding: 0;
}

.elementor-form .select2-selection__choice__display {
    color: var(--e-global-color-accent);
}

.elementor-form .select2-selection__choice {
    margin: 0;
    margin-bottom: 5px;
    margin-right: 5px;
}

.elementor-form .select2-container .select2-selection__choice__remove {
	 border: none;
}

.select2-selection__choice {
    background-color: var(--e-global-color-88a5b1c) !important;
}

.select2-results__option--highlighted {
    background-color: var(--e-global-color-primary) !important;
}

.lavaBlue {
	background: linear-gradient(
		60deg,
		var(--e-global-color-704dfab),
		var(--e-global-color-secondary),
		var(--e-global-color-704dfab)
	);
	background-size: 300% 300%;
	animation: lavaFlow 12s linear infinite alternate;
}

@keyframes lavaFlow {
	0% {
		background-position: 0% 50%;
	}
	100% {
		background-position: 100% 50%;
	}
}

[text-split] .word {
	white-space: nowrap;
}

.product-card > div:first-of-type::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: var(--product-card-image);
	background-size: cover;
	background-position: center;
	opacity: 0;
	transform: scale(1.05);
	filter: blur(8px);
	transition: opacity 0.8s ease, transform 1.2s ease, filter 0.6s ease;
	pointer-events: none;
}

.product-card.is-hovered > div:first-of-type::before {
	opacity: 0.65;
	transform: scale(1);
	filter: blur(0);
}

.product-card img {
	transition: transform 0.6s ease;
}

.product-card.is-hovered img {
	transform: translate3d(0, var(--product-card-y, -20px), 0) scale(var(--product-card-scale, 0.8));
}

.product-card .elementor-heading-title a {
	display: inline-block;
}

.product-card.is-hovered .elementor-heading-title a {
	font-weight: 500;
}

.wkit-marq-slider-container #marquoo-line {
    background: linear-gradient(
        to bottom,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0) 10%,
        rgba(255, 255, 255, 0.6) 31%,
        rgba(255, 255, 255, 0.6) 69%,
        rgba(255, 255, 255, 0) 90%,
        rgba(255, 255, 255, 0) 100%
    );
	background-color: unset !important;
    width: 1px !important;
}

.wkit-marq-slider {
	max-width: 100%;
}

.beneficio-card::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	inset: auto auto 0 0;
	width: 199px;
	max-width: 100%;
	height: 1px;
	background: var(--e-global-color-7da0d90);
	transition: transform .3s ease;
}

@media screen and (min-width: 431px) {
	.beneficio-card:not(:last-child)::after {
		content: "";
		position: absolute;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
		width: 1px;
		height: 123px;
		background: var(--e-global-color-7da0d90);
		transition: transform .3s ease;
	}
}

/* .beneficio-card:hover::after {
	transform: translateX(-50%) scaleX(1);
} */

@media screen and (min-width: 768px) and (max-width: 900px), screen and (min-width: 1367px) and (max-width: 1462px) {
    .beneficio-grid {
        --gap: 30px 40px !important;
        --column-gap: 30px !important;
    }
    
    .beneficio-grid .beneficio-card:not(:last-child) {
        --padding-right: 30px !important;
    }
    
    .beneficio-grid .beneficio-card .elementor-icon-box-title {
        font-size: 1.275em !important;
    }
}

@media screen and (min-width: 1025px) and (max-width: 1320px) {
    .beneficio-grid .beneficio-card .elementor-icon-box-description {
        font-size: 0.95em;
    }
}

@media screen and (min-width: 768px) and (max-width: 812px), screen and (min-width: 1173px) and (max-width: 1232px) {
    .beneficio-grid {
        --gap: 20px 40px !important;
        --column-gap: 20px !important;
    }
    
    .beneficio-grid .beneficio-card:not(:last-child) {
        --padding-right: 20px !important;
    }
    
    .beneficio-grid .beneficio-card .elementor-icon-box-title {
        font-size: 1.18em !important;
    }
}

@media screen and (min-width: 768px) and (max-width: 812px), screen and (min-width: 1173px) and (max-width: 1185px) {
    .beneficio-grid .beneficio-card .elementor-icon-box-description {
        font-size: 0.9em;
    }
}

@media screen and (min-width: 1025px) and (max-width: 1172px) {
    .beneficio-grid {
        --gap: 40px 40px !important;
        --column-gap: 40px !important;
        --e-con-grid-template-columns: repeat(3, 1fr) !important;
        --e-con-grid-template-rows: repeat(2, 1fr) !important;
    }
    
    .beneficio-grid .beneficio-card:not(:last-child) {
        --padding-right: 40px !important;
    }
}

@media screen and (min-width: 747px) and (max-width: 1172px) {
    .beneficio-grid .beneficio-card:nth-child(3n) {
        padding: 0;
    }

    .beneficio-grid .beneficio-card:nth-child(3n)::after {
        display: none;
    }
}

@media screen and (min-width: 431px) and (max-width: 746px) {
    .beneficio-grid {
        --gap: 40px 40px !important;
        --column-gap: 40px !important;
        --e-con-grid-template-columns: repeat(2, 1fr) !important;
        --e-con-grid-template-rows: repeat(3, 1fr) !important;
    }
    
    .beneficio-grid .beneficio-card:not(:last-child) {
        --padding-right: 40px !important;
    }
    
    .beneficio-grid .beneficio-card:nth-child(2n) {
        padding: 0;
    }

    .beneficio-grid .beneficio-card:nth-child(2n)::after {
        display: none;
    }
    
    .beneficio-grid .beneficio-card .elementor-icon-box-title {
        font-size: 1.375em !important;
    }

    .beneficio-grid .beneficio-card .elementor-icon-box-description {
        font-size: 1em;
    }
}

@media screen and (min-width: 601px) and (max-width: 746px) {
    .beneficio-grid .beneficio-card .elementor-icon-box-title {
        font-size: 1.275em !important;
    }
}

@media screen and (min-width: 431px) and (max-width: 600px) {
    .beneficio-grid {
        --gap: 20px 40px !important;
        --column-gap: 20px !important;
    }
    
    .beneficio-grid .beneficio-card:not(:last-child) {
        --padding-right: 20px !important;
    }

    .beneficio-grid .beneficio-card .elementor-icon-box-title {
        font-size: 1.18em !important;
    }
    
    .beneficio-grid .beneficio-card .elementor-icon-box-description {
        font-size: 0.9em;
    }
}