.project_grid_container{position:relative;width:100%;overflow:hidden;background:#111;contain:layout paint}.project_grid_container .image_wrapper{position:relative;width:100%;overflow:hidden;background:#111}.project_grid_container .image_placeholder{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#1a1a1a 25%,#2a2a2a,#1a1a1a 75%);background-size:400% 100%;animation:shimmer 1.2s infinite;transition:opacity .4s ease;z-index:1}.project_grid_container .image_placeholder.hide{opacity:0;pointer-events:none}.project_grid_container .single_img{width:100%;height:auto;display:block;object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity .8s ease,transform 6s ease-out;will-change:transform,opacity;backface-visibility:hidden;position:relative;z-index:2}.project_grid_container .single_img.show{opacity:1;transform:scale(1)}.project_grid_container .carousel_img{width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1);transition:opacity 1s ease-in-out,transform 6s ease-out;will-change:transform,opacity;backface-visibility:hidden;pointer-events:none}.project_grid_container .carousel_img.active.show{opacity:1;transform:scale(1.05)}.project_grid_container .carousel_img.inactive.show{opacity:0;transform:scale(1)}.project_grid_container .overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;padding:20px;background:linear-gradient(to top,rgba(0,0,0,.65),transparent 55%);z-index:3;pointer-events:none}.project_grid_container .overlay h2{color:#fff;font-size:18px;margin:0;transform:translateY(20px);opacity:0;transition:opacity .5s ease,transform .6s ease-out}.project_grid_container.is_loaded .overlay h2{opacity:1;transform:translateY(0)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}
