/* Loop Animations */
@keyframes tm-loop-move-vertical {
	0% {
		transform: translate3d(0, -5px, 0);
	}
	100% {
		transform: translate3d(0, 5px, 0);
	}
}

.loop-move-vertical {
	animation: 3s tm-loop-move-vertical linear infinite alternate;
}

@keyframes tm-loop-move-horizontal {
	0% {
		transform: translate3d(-5px, 0, 0);
	}
	100% {
		transform: translate3d(5px, 0, 0);
	}
}

.loop-move-horizontal {
	animation: 3s tm-loop-move-horizontal linear infinite alternate;
}

@keyframes tm-loop-rotate {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(-360deg);
	}
}

.loop-rotate {
	animation: 3s tm-loop-rotate linear infinite;
}

/* Hover Animations */
.minimog-image {
	@extend %NormalTransition;
}

.minimog-animation-zoom-in {
	.minimog-image {
		overflow: hidden;
		-webkit-mask-image: -webkit-radial-gradient(white, black);

		.image,
		m-image,
		> img {
			// !important to prevent swiper override.
			width: 100% !important;
			transition: all .75s cubic-bezier(0, 0, .2, 1);
		}

		.minimog-lazy-image {
			min-width: 100%;
		}
	}

	.minimog-box {
		&:hover {
			.minimog-image {
				.image,
				m-image {
					transform: scale3d(1.1, 1.1, 1.1);
				}
			}

			.minimog-image > img {
				transform: scale3d(1.1, 1.1, 1.1);
			}
		}
	}
}

.minimog-animation-zoom-out {
	.minimog-image {
		overflow: hidden;
		-webkit-mask-image: -webkit-radial-gradient(white, black);

		.image,
		img {
			width: 100% !important;
			transition: all .75s cubic-bezier(0, 0, .2, 1);
			transform: scale3d(1.1, 1.1, 1.1);
		}

		.minimog-lazy-image {
			min-width: 100%;
		}
	}

	.minimog-box {
		&:hover {
			.minimog-image {
				.image,
				m-image {
					transform: scale3d(1, 1, 1);
				}
			}
		}
	}
}

.minimog-animation-move-up {
	.minimog-box {
		.minimog-image {
			transition: all .3s cubic-bezier(0, 0, .2, 1);
		}

		&:hover {
			.minimog-image {
				transform: translateY(-10px);
			}
		}
	}
}

.minimog-box-animation-move-up {
	.minimog-box {
		transition: all .3s cubic-bezier(0, 0, .2, 1);

		&:hover {
			transform: translateY(-10px);
		}
	}
}

@-webkit-keyframes moveHorizontal {
	0% {
	}
	100% {
		-webkit-transform: translateX(0);
		opacity: 1;
	}
}

@keyframes moveHorizontal {
	0% {
	}
	100% {
		-webkit-transform: translateX(0);
		transform: translateX(0);
		opacity: 1;
	}
}

@include elementor-breakpoint-up(laptop) {
	.minimog-animation-scaling-up,
	.minimog-animation-scaling-up-style-02 {
		.minimog-image {
			transition: transform .64s cubic-bezier(.15, .75, .5, 1) 0s;
			overflow: hidden;

			.image,
			m-image {
				backface-visibility: hidden;
				transform: scale(1.13) translateZ(0);
				transition: transform .64s cubic-bezier(.15, .75, .5, 1) 0s;
			}
		}

		// Avoid image slide is cut
		.tm-swiper {
			.swiper-inner {
				margin: 0 -20px;
			}

			.swiper {
				padding: 20px;
			}
		}
	}

	.minimog-animation-scaling-up {
		.minimog-box {
			&:hover {
				.minimog-image {
					transform: scale(1.08) translateZ(0);

					.image,
					m-image {
						transform: scale(1) translateZ(0);
					}
				}
			}
		}
	}

	.minimog-animation-scaling-up-style-02 {
		.minimog-box {
			&:hover {
				.minimog-image {
					transform: scale(1.2) translateZ(0);

					.image,
					m-image {
						transform: scale(1) translateZ(0);
					}
				}
			}
		}
	}
}
