.zoom-in-contained{position:relative;overflow:hidden}.zoom-in-contained::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:inherit;background-size:cover;background-position:center;transform-origin:bottom left;transform:scale(1);z-index:0}.zoom-in-contained.visible::before{animation:zoomIn 3s forwards}@keyframes zoomIn{from{transform:scale(1)}to{transform:scale(1.05)}}</style><script>document.addEventListener("DOMContentLoaded",function(){var elements=document.querySelectorAll('.zoom-in-contained');var observer=new IntersectionObserver(function(entries){entries.forEach(function(entry){if (entry.isIntersecting){entry.target.classList.add('visible')}else{entry.target.classList.remove('visible')}})});elements.forEach(function(element){observer.observe(element)})});.customAnimation.animate{animation:slideIn 2s cubic-bezier(.25,.1,.25,1) forwards}@keyframes slideIn{from{transform:translateX(-10%);opacity:0}to{transform:translateX(0);opacity:1}}.customAnimationRight.animateRight{animation:slideInRight 2s cubic-bezier(.25,.1,.25,1) backwards}@keyframes slideInRight{from{transform:scale(1.05) translateX(10%);opacity:0}to{transform:scale(1) translateX(0);opacity:1}}.customAnimationDown.animateDown{animation:slideInDown 2s cubic-bezier(.25,.1,.25,1) forwards}@keyframes slideInDown{from{transform:translateY(-30%);opacity:0}to{transform:translateY(0);opacity:1}}.customAnimationUp.animateUp{animation:slideInUp 2s cubic-bezier(.25,.1,.25,1) forwards}@keyframes slideInUp{from{transform:translateY(30%);opacity:0}to{transform:translateY(0);opacity:1}}