.gallery-wrapper{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.4vh;gap:1.4vh;padding:1.4vh;overflow-y:auto;height:97vh}.gallery-wrapper .img-wrapper{display:flex;width:100%;height:32vh;overflow:hidden;position:relative;border-radius:.35vh;cursor:pointer;transition:transform .3s ease}.gallery-wrapper .img-wrapper:hover{transform:scale(1.02)}.gallery-wrapper .img-wrapper .img{position:relative;top:0;left:0;width:100%;height:100%;object-fit:cover}.gallery-wrapper .img-wrapper .title{position:absolute;padding:1vh;background-color:hsla(0,0%,100%,.4);-webkit-backdrop-filter:blur(3.5vh);backdrop-filter:blur(3.5vh);border-radius:2vh;z-index:99;bottom:1vh;left:1vh}.gallery-wrapper .gallery-filter .gallery-filter-menu{visibility:hidden}.gallery-wrapper .gallery-filter .gallery-filter-menu-active{visibility:visible;transition:.3s;position:absolute;bottom:7vh;right:3vh;display:flex;flex-direction:column;text-align:left;gap:1vh;border-radius:1vh;border:none;background-color:#fff;overflow:hidden}.gallery-wrapper .gallery-filter .gallery-filter-menu-active .element{color:#394e5a;cursor:pointer;padding:1.5vh}.gallery-wrapper .gallery-filter .gallery-filter-menu-active .element:hover{background-color:#f6f5ed}.gallery-wrapper .gallery-filter .gallery-filter-menu-active .icon{width:1.5vh;height:1.5vh;transition:.3s}.gallery-wrapper .gallery-filter .gallery-filter-menu-active .icon-active{width:1.5vh;height:1.5vh;transform:rotate(180deg);transition:.3s}.gallery-wrapper .gallery-filter .gallery-filter-btn{position:absolute;bottom:3vh;right:3vh;display:flex;align-items:center;gap:1vh;border-radius:1vh;border:none;background-color:#394e5a;padding:.5vh 1vh;cursor:pointer}.gallery-wrapper .gallery-filter .gallery-filter-btn .text{color:#f6f5ed;font-size:2vh}.gallery-wrapper .gallery-filter .gallery-filter-btn .icon{width:1.5vh;height:1.5vh;transition:.3s}.gallery-wrapper .gallery-filter .gallery-filter-btn .icon-active{width:1.5vh;height:1.5vh;transform:rotate(180deg);transition:.3s}.gallery-wrapper .image-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(30,30,30,.35);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:1000;display:flex;justify-content:center;align-items:center}.gallery-wrapper .image-modal-overlay.animate-fade-in{animation:fadeIn .3s ease-in-out}.gallery-wrapper .image-modal-container{position:relative;width:90%;height:90%;display:flex;flex-direction:column;align-items:center}.gallery-wrapper .image-modal-container.animate-slide-up{animation:slideUp .4s ease-out}.gallery-wrapper .modal-close{position:absolute;top:15px;right:15px;color:#fff;font-size:24px;cursor:pointer;z-index:1002;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;background-color:rgba(0,0,0,.5);transition:background-color .3s}.gallery-wrapper .modal-close:hover{background-color:hsla(0,0%,100%,.3)}.gallery-wrapper .modal-image-wrapper{height:75%;width:100%;display:flex;justify-content:center;align-items:center}.gallery-wrapper .modal-image{max-height:100%;max-width:100%;object-fit:contain}.gallery-wrapper .modal-nav-arrow{position:absolute;top:40%;transform:translateY(-50%);background-color:rgba(0,0,0,.5);color:#fff;font-size:30px;width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1001;transition:background-color .3s}.gallery-wrapper .modal-nav-arrow:hover{background-color:hsla(0,0%,100%,.3)}.gallery-wrapper .modal-nav-arrow.modal-nav-prev{left:20px}.gallery-wrapper .modal-nav-arrow.modal-nav-next{right:20px}.gallery-wrapper .modal-thumbnails{position:absolute;bottom:20px;width:100%;display:flex;gap:10px;justify-content:center;overflow-x:auto;padding:10px 0}.gallery-wrapper .modal-thumbnails .modal-thumbnail{width:80px;height:60px;border:2px solid rgba(0,0,0,0);opacity:.6;cursor:pointer;transition:all .3s ease}.gallery-wrapper .modal-thumbnails .modal-thumbnail.active{border-color:#fff;opacity:1}.gallery-wrapper .modal-thumbnails .modal-thumbnail:hover{opacity:1}.gallery-wrapper .modal-thumbnails .modal-thumbnail img{width:100%;height:100%;object-fit:cover}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}