.up-down { -webkit-animation: up-down 1s infinite alternate; animation: up-down 1s infinite alternate; } @-webkit-keyframes up-down { 0% { transform: translateY(0); } 100% { transform: translateY(-10px); } } @keyframes up-down { 0% { transform: translateY(0); } 100% { transform: translateY(-10px); } } .up-down-2 { -webkit-animation: up-down-2 0.9s infinite alternate; animation: up-down-2 0.9s infinite alternate; } @-webkit-keyframes up-down-2 { 0% { transform: translateY(-10px); } 100% { transform: translateY(0); } } .left-right { -webkit-animation: left-right 1.5s infinite alternate; animation: left-right 1.5s infinite alternate; } @-webkit-keyframes left-right { 0% { transform: translateX(0); } 100% { transform: translateX(-20px); } } @keyframes ripple { 0% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.3); } 50% { box-shadow: 0 0 0 20px rgba(255, 255, 255, 0.2); } 100% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.1); } } .effect-content-slide { .effect-item { opacity: 0; animation-fill-mode: forwards; animation-iteration-count: 1; animation-duration: 1.3s; animation-delay: 0.3s; animation-name: var(--animation-name); } .effect-img-zoom { position: relative; .img-zoom { -webkit-transition: all 15s linear; -khtml-transition: all 15s linear; -moz-transition: all 15s linear; -ms-transition: all 15s linear; -o-transition: all 15s linear; transition: all 15s linear; min-height: 350px; object-fit: cover; } } .swiper-slide-active, .tab-pane.active { .effect-up { --animation-name: slideinup; } .effect-left { --animation-name: slideinleft; } .effect-right { --animation-name: slideinright; } .effect-down { --animation-name: slideindown; } .img-zoom { transform: scale(1.25); } .effect-item { &.effect-1 { animation-delay: 0.3s; } &.effect-2 { animation-delay: 0.7s; } &.effect-3 { animation-delay: 0.11s; } &.effect-4 { animation-delay: 0.15s; } &.effect-5 { animation-delay: 0.19s; } } } } @keyframes slideinup { 0% { opacity: 0; transform: translateY(100px); } 100% { opacity: 1; transform: translateY(0); } } @keyframes slideinright { 0% { opacity: 0; transform: translateX(20px); } 100% { opacity: 1; transform: translateX(0); } } @keyframes slideindown { 0% { opacity: 0; transform: translateY(-100px); } 100% { opacity: 1; transform: translateY(0); } } @keyframes slideinleft { 0% { opacity: 0; transform: translateX(-20px); } 100% { opacity: 1; transform: translateX(0); } } @keyframes rotate { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } @keyframes rotate-2 { 0% { transform: rotate(0deg); } 100% { transform: rotate(-360deg); } } @keyframes iconShape { 0%, 100% { transform: translate3d(0, 0, 0) rotateZ(0.01deg); } 34% { transform: translate3d(0, 5px, 0) rotateZ(0.01deg); } 50% { transform: translate3d(0, 0, 0) rotateZ(0.01deg); } 67% { transform: translate3d(0, -3px, 0) rotateZ(0.01deg); } } @keyframes sliderShape { 0%, 100% { border-radius: 42% 58% 70% 30% / 45% 45% 55% 55%; transform: translate3d(0, 0, 0) rotateZ(0.01deg); } 34% { border-radius: 70% 30% 46% 54% / 30% 29% 71% 70%; transform: translate3d(0, 5px, 0) rotateZ(0.01deg); } 50% { transform: translate3d(0, 0, 0) rotateZ(0.01deg); } 67% { border-radius: 100% 60% 60% 100% / 100% 100% 60% 60%; transform: translate3d(0, -3px, 0) rotateZ(0.01deg); } } .img-custom-anim-right { animation: img-anim-right 1.3s forwards cubic-bezier(0.645, 0.045, 0.355, 1) 0.4s; opacity: 0; } @keyframes img-anim-right { 0% { transform: translateX(5%); clip-path: inset(0 0 0 100%); opacity: 0; } 100% { transform: translateX(0); clip-path: inset(0 0 0 0); opacity: 1; } } .img-custom-anim-left { animation: img-anim-left 1.3s forwards cubic-bezier(0.645, 0.045, 0.355, 1) 0.4s; opacity: 0; } @keyframes img-anim-left { 0% { transform: translateX(-5%); clip-path: inset(0 100% 0 0); opacity: 0; } 100% { transform: translateX(0); clip-path: inset(0 0 0 0); opacity: 1; } } @keyframes spin { 0% { transform: rotate(0deg); box-shadow: 0 2px 0 #0075ff; } 50% { transform: rotate(180deg); box-shadow: 0 2px 0 #0075ff; } 100% { transform: rotate(360deg); box-shadow: 0 2px 0 #0075ff; } } @keyframes wave-front { 100% { transform: translateX(-50%); } } @keyframes wave-back { 100% { transform: translateX(50%); } }