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

/*
    Add your custom styles here
*/

/*********************************************************/
/* Sección Proyectos Home: Estilos de los boxes con slide-up */
/*********************************************************/

.elementor-11 .elementor-element .elementor-flip-box__back {
    top: -15%;
}

.elementor-11 .elementor-element .elementor-flip-box:hover .elementor-flip-box__back  {
	top: 0%;
}

.elementor-11 .elementor-element .elementor-flip-box .elementor-flip-box__back .elementor-flip-box__layer__overlay {
    transition: all .6s ease-in-out;
    height: 28.5%;
}

.elementor-11 .elementor-element .elementor-flip-box:hover .elementor-flip-box__back .elementor-flip-box__layer__overlay {
    height: 100%;
}
/*********************************************************/
/* Sección Tienda Home: Estilos de los box de categorías */
/*********************************************************/

.elementor-11 .elementor-element .elementor-cta__content {
    text-align: right !important;
    padding: 0;
}

.elementor-11 .elementor-element .elementor-cta__title {
    background: #e67598;
    padding: 15px 15px;
}

/*********************************************************/
/* Alineamos los iconos en la parte superior */
/*********************************************************/

.elementor-widget .elementor-icon-list-item, .elementor-widget .elementor-icon-list-item a {
    -webkit-box-align: flex-start !important;
    -ms-flex-align: flex-start !important;
    align-items: flex-start !important;
}

/*********************************************************/
/* Animación globos background */
/*********************************************************/

html,body {
    min-height:100%;
}

.balloons {
	width: 100vw;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	user-select: none;
	pointer-events: none;
}

.balloon-big {
	position: absolute;
	bottom: -20%;
	background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTk0IiBoZWlnaHQ9IjE5NCIgdmlld0JveD0iMCAwIDE5NCAxOTQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxjaXJjbGUgY3g9Ijk3IiBjeT0iOTciIHI9Ijk3IiBmaWxsPSIjOTJDRUQ2IiBmaWxsLW9wYWNpdHk9IjAuNSIvPgo8L3N2Zz4K");
	background-repeat: no-repeat;
	height:194px;
	width:194px;
}

.balloon-small {
	position: absolute;
	bottom: -20%;
	background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTkiIGhlaWdodD0iNTkiIHZpZXdCb3g9IjAgMCA1OSA1OSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBjeD0iMjkuNSIgY3k9IjI5LjUiIHI9IjI5LjUiIGZpbGw9IiNGNkU1RDkiLz4KPC9zdmc+Cg==");
	background-repeat: no-repeat;
	height:194px;
	width:194px;
}

#ball-1 {
	left: -5%;
	-webkit-animation: moveTopCurve 7.5s 2.4s infinite;
	-moz-animation: moveTopCurve 7.5s 2.4s infinite;
	-o-animation: moveTopCurve 7.5s 2.4s infinite;
	-ms-animation: moveTopCurve 7.5s 2.4s infinite;
	animation: moveTopCurve 7.5s 2.4s infinite;
}

#ball-2 {
	bottom: -45%;
	left: 5%;
	-webkit-animation: moveZigZag 7.5s 2.4s infinite;
	-moz-animation: moveZigZag 7.5s 2.4s infinite;
	-o-animation: moveZigZag 7.5s 2.4s infinite;
	-ms-animation: moveZigZag 7.5s 2.4s infinite;
	animation: moveZigZag 7.5s 2.4s infinite;
}

#ball-3 {
	left: 45%;
	-webkit-animation: moveTop 10s 6s infinite;
	-moz-animation: moveTop 10s 6s infinite;
	-o-animation: moveTop 10s 6s infinite;
	-ms-animation: moveTop 10s 6s infinite;
	animation: moveTop 10s 6s infinite;
}

#ball-4 {
	bottom: -25%;
	left: 55%;
	-webkit-animation: moveZigZagLeft 5.5s 3.4s infinite;
	-moz-animation: moveZigZagLeft 5.5s 3.4s infinite;
	-o-animation: moveZigZagLeft 5.5s 3.4s infinite;
	-ms-animation: moveZigZagLeft 5.5s 3.4s infinite;
	animation: moveZigZagLeft 5.5s 3.4s infinite;
}

#ball-5 {
	left: 95%;
	-webkit-animation: moveTop 12s 7.8s infinite;
	-moz-animation: moveTop 12s 7.8s infinite;
	-o-animation: moveTop 12s 7.8s infinite;
	-ms-animation: moveTop 12s 7.8s infinite;
	animation: moveTop 12s 7.8s infinite;
}

#ball-6 {
  bottom: -55%;
  left: 95%;
  -webkit-animation: moveTopLeftCurve 10s 4.6s infinite;
  -moz-animation: moveTopLeftCurve 10s 4.6s infinite;
  -o-animation: moveTopLeftCurve 10s 4.6s infinite;
  -ms-animation: moveTopLeftCurve  10s 4.6s infinite;
  animation: moveTopLeftCurve 10s 4.6s infinite;
}

@keyframes moveZigZag {
  0% {
    bottom: -30%;
    left: 55%;
  }
  20% {
    left: 60%;
  }
  40% {
    left: 55%;
  }
  60% {
    left: 60%;
  }
  80% {
    left: 55%;
  }
  100% {
    bottom: 100%;
    left: 60%;
  }
}

@keyframes moveZigZagLeft {
  0% {
    bottom: -30%;
    left: 5%;
  }
  20% {
    left: 12%;
  }
  40% {
    left: 5%;
  }
  60% {
    left: 12%;
  }
  80% {
    left: 5%;
  }
  100% {
    bottom: 100%;
    left: 12%;
  }
}

@keyframes moveTop {
  0% {
    bottom: -30%;
  }
  100% {
    bottom: 100%;
  }
}

@keyframes moveTopCurve {
  0% {
    bottom: -30%;
    transform: translateX(0%);
  }
  30% {
    transform: translateX(100%);
  }
  100% {
    bottom: 100%;
    transform: translateX(0%);
  }
}


@keyframes moveTopLeftCurve {
  0% {
    bottom: -30%;
    transform: translateX(0%);
  }
  30% {
    transform: translateX(-50%);
  }
  100% {
    bottom: 100%;
    transform: translateX(0%);
  }
}

/*********************************************************/
/* Animación corazones en footer */
/*********************************************************/

.site-footer {
	position: relative;
}

.heart-box {
  	position:absolute;
	top:0;
	left:0;
	right:0;
	width:600px;
	height:250px !important;
	margin:auto;
	transform:translateY(-50%);
    z-index:0;
}

.heart {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjE4cHgiIHZpZXdCb3g9IjAgMCAyMCAxOCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KPHRpdGxlPmhlYXJ0PC90aXRsZT4gICAKPGRlZnM+PC9kZWZzPiAgICAKPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+IAo8ZyBpZD0iaGVhcnQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02LjAwMDAwMCwgLTcuMDAwMDAwKSIgZmlsbD0iI0U2NzU5OCI+IAo8cGF0aCBkPSJNMTUuNTIzODA5NSwyNSBDMTYsMjUgMTYsMjUgMTYuNDc2MTkwNSwyNSBMMjQuMDk1MjM4MSwxNyBDMjYuNTQ5ODY3OSwxNC41MTM1MDQyIDI2LjU0OTg2NzksMTAuOTAwMTQzNiAyNC4wOTUyMzgxLDkgQzIyLjE1MDkyMzUsNi40NDI4MzY3NyAxOC41ODQ4NzUsNi40NDI4MzY3NyAxNi40NzYxOTA1LDkgQzE2LDkgMTYsOSAxNS41MjM4MDk1LDkgQzEzLjQxNTEyNSw2LjQ0MjgzNjc3IDkuODQ5MDc2NDYsNi40NDI4MzY3NyA3LjkwNDc2MTksOSBDNS40NTAxMzIwNywxMC45MDAxNDM2IDUuNDUwMTMyMDcsMTQuNTEzNTA0MiA3LjkwNDc2MTksMTcgTDE1LjUyMzgwOTUsMjUgWiI+PC9wYXRoPiAgICAgICAgCjwvZz4gICAgCjwvZz4KPC9zdmc+");
	background-repeat: no-repeat;
	height: 22px;
	width: 22px;
}

.animate-topright {
  position: absolute;
  -webkit-animation: movetopRight 6.5s 1s infinite;
  -moz-animation: movetopRight 6.5s 1s infinite;
  -o-animation: movetopRight 6.5s 1s infinite;
  -ms-animation: movetopRight 6.5s 1s infinite;
  animation: movetopRight 6.5s 1s infinite;
}

.animate-bottomright {
  position: absolute;
  -webkit-animation: movebottomRight 4.5s 1.7s infinite;
  -moz-animation: movebottomRight 4.5s 1.7s infinite;
  -o-animation: movebottomRight 4.5s 1.7s infinite;
  -ms-animation: movebottomRight 4.5s 1.7s infinite;
  animation: movebottomRight 4.5s 1.7s infinite;
}

.animate-topleft {
  position: absolute;
  -webkit-animation: movetopLeft 8.5s 5.4s infinite;
  -moz-animation: movetopLeft 8.5s 5.4s infinite;
  -o-animation: movetopLeft 8.5s 5.4s infinite;
  -ms-animation: movetopLeft 8.5s 5.4s infinite;
  animation: movetopLeft 8.5s 5.4s infinite;
}

.animate-bottomleft {
  position: absolute;
  -webkit-animation: movebottomLeft 7.5s 4.8s infinite;
  -moz-animation: movebottomLeft 7.5s 4.8s infinite;
  -o-animation: movebottomLeft 7.5s 4.8s infinite;
  -ms-animation: movebottomLeft 7.5s 4.8s infinite;
  animation: movebottomLeft 7.5s 4.8s infinite;
}

.animate-up {
  position: absolute;
  -webkit-animation: moveup 7.5s 2.2s infinite;
  -moz-animation: moveup 7.5s 2.2s infinite;
  -o-animation: moveup 7.5s 2.2s infinite;
  -ms-animation: moveup 7.5s 2.2s infinite;
  animation: moveup 7.5s 2.2s infinite;
}

.animate-down {
  position: absolute;
  -webkit-animation: movedown 5.5s 5.5s infinite;
  -moz-animation: movedown 5.5s 5.5s infinite;
  -o-animation: movedown 5.5s 5.5s infinite;
  -ms-animation: movedown 5.5s 5.5s infinite;
  animation: movedown 5.5s 5.5s infinite;
}

.animate-left {
  position: absolute;
  -webkit-animation: moveleft 5.5s 2.9s infinite;
  -moz-animation: moveleft 5.5s 2.9s infinite;
  -o-animation: moveleft 5.5s 2.9s infinite;
  -ms-animation: moveleft 5.5s 2.9s infinite;
  animation: moveleft 5.5s 2.9s infinite;
}

.animate-right {
  position: absolute;
  -webkit-animation: moveright 5.5s 3.4s infinite;
  -moz-animation: moveright 5.5s 3.4s infinite;
  -o-animation: moveright 5.5s 3.4s infinite;
  -ms-animation: moveright 5.5s 3.4s infinite;
  animation: moveright 5.5s 3.4s infinite;
}

@keyframes movetopRight {
  0% {
    top: 50%;
    left: 50%;
    opacity: 0.9;
  }
  100% {
    top: 10%;
    left: 80%;
    opacity: 0;
  }
}
@keyframes movebottomRight {
  0% {
    top: 50%;
    left: 50%;
    opacity: 0.9;
  }
  100% {
    top: 90%;
    left: 90%;
    opacity: 0;
  }
}
@keyframes movetopLeft {
  0% {
    top: 50%;
    left: 50%;
    opacity: 0.9;
  }
  100% {
    top: 10%;
    left: 20%;
    opacity: 0;
  }
}
@keyframes movebottomLeft {
  0% {
    top: 50%;
    left: 50%;
    opacity: 0.9;
  }
  100% {
    top: 90%;
    left: 5%;
    opacity: 0;
  }
}
@keyframes moveup {
  0% {
    top: 50%;
    left: 50%;
    opacity: 0.9;
  }
  100% {
    top: 0%;
    left: 45%;
    opacity: 0;
  }
}
@keyframes movedown {
  0% {
    top: 50%;
    left: 50%;
    opacity: 0.9;
  }
  100% {
    top: 100%;
    left: 45%;
    opacity: 0;
  }
}
@keyframes moveleft {
  0% {
    top: 50%;
    left: 50%;
    opacity: 0.9;
  }
  100% {
    top: 45%;
    left: 10%;
    opacity: 0;
  }
}
@keyframes moveright {
  0% {
    top: 50%;
    left: 50%;
    opacity: 0.9;
  }
  100% {
    top: 45%;
    left: 97%;
    opacity: 0;
  }
}


ul.products.elementor-grid.columns-3 {
    max-width: 100% !important;
}

@media (min-width: 1600px) {
    .elementor-widget-wc-archive-products .woocommerce.columns-3 ul.products {
        grid-template-columns: repeat(4,1fr) !important;
    }
}

