.gfl-gallery{width:100%}
.gfl-filters-wrap{width:100%}
.gfl-filters{display:flex;flex-wrap:wrap;align-items:center}
.gfl-filter{
    appearance:none;-webkit-appearance:none;background:transparent;border:0;padding:0;
    color:inherit;font:inherit;line-height:inherit;cursor:pointer;position:relative;
    text-decoration:none!important;box-shadow:none!important;outline-offset:4px;
}
.gfl-filter:hover,.gfl-filter:focus,.gfl-filter:active,.gfl-filter:visited{
    text-decoration:none!important;box-shadow:none!important;
}
.gfl-filter::before{content:none!important}
.gfl-filter::after{
    content:"";position:absolute;left:0;right:0;bottom:-5px;height:2px;
    background:currentColor;opacity:0;transform:scaleX(0);transform-origin:center;
    transition:opacity .2s ease,transform .2s ease;
}
.gfl-filter-underline-yes .gfl-filter.is-active::after,
.gfl-filter-pointer-underline .gfl-filter.is-active::after{opacity:1;transform:scaleX(1)}
.gfl-filter-pointer-overline .gfl-filter::after{bottom:auto;top:-5px}
.gfl-filter-pointer-overline .gfl-filter.is-active::after{opacity:1;transform:scaleX(1)}
.gfl-filter-pointer-double .gfl-filter.is-active{border-top:2px solid currentColor;border-bottom:2px solid currentColor}
.gfl-filter-pointer-framed .gfl-filter.is-active{outline:1px solid currentColor;outline-offset:5px}
.gfl-filter-pointer-background .gfl-filter.is-active{background:currentColor;color:#000!important;padding:.35em .65em}
.gfl-filter-pointer-none .gfl-filter::after,.gfl-filter-underline- .gfl-filter::after{display:none}

.gfl-grid{display:grid;width:100%}
.gfl-card{position:relative;display:block;overflow:hidden;min-width:0;background:#eee;text-decoration:none!important}
.gfl-card:hover,.gfl-card:focus,.gfl-card:active{text-decoration:none!important}
.gfl-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.gfl-hover-zoom-yes .gfl-card:hover img,.gfl-hover-zoom-yes .gfl-card:focus-visible img{transform:scale(1.04)}

.gfl-overlay{
    position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;
    opacity:0;visibility:hidden;pointer-events:none;
    background-color:rgba(0,0,0,.65);
    transition:opacity .32s ease,visibility .32s ease;
}
.gfl-overlay-gradient .gfl-overlay{background:linear-gradient(to top,rgba(0,0,0,.75),rgba(0,0,0,.05) 70%)}
.gfl-overlay-background- .gfl-overlay{background:transparent!important}
.gfl-card:hover .gfl-overlay,.gfl-card:focus-visible .gfl-overlay,.gfl-card:focus-within .gfl-overlay{
    opacity:1;visibility:visible;
}
.gfl-title{
    position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;
    justify-content:flex-end;align-items:stretch;gap:.35em;padding:20px;
    color:#fff;opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity .32s ease,visibility .32s ease;
}
.gfl-card:hover .gfl-title,.gfl-card:focus-visible .gfl-title,.gfl-card:focus-within .gfl-title{
    opacity:1;visibility:visible;
}
.gfl-title-text,.gfl-description{display:block;width:100%}

.gfl-card.is-hidden{display:none!important}
.gfl-card.gfl-animating{will-change:opacity,transform}
.gfl-filter-animation-fade .gfl-card.gfl-enter{animation:gflFade .35s ease both}
.gfl-filter-animation-slide .gfl-card.gfl-enter{animation:gflSlide .35s ease both}
.gfl-filter-animation-grow .gfl-card.gfl-enter{animation:gflGrow .35s ease both}
.gfl-filter-animation-drop-in .gfl-card.gfl-enter{animation:gflDropIn .35s ease both}
.gfl-filter-animation-drop-out .gfl-card.gfl-enter{animation:gflDropOut .35s ease both}
.gfl-filter-animation-none .gfl-card.gfl-enter{animation:none}
@keyframes gflFade{from{opacity:0}to{opacity:1}}
@keyframes gflSlide{from{opacity:0;transform:translateX(22px)}to{opacity:1;transform:none}}
@keyframes gflGrow{from{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}
@keyframes gflDropIn{from{opacity:0;transform:translateY(-22px)}to{opacity:1;transform:none}}
@keyframes gflDropOut{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.gfl-card,.gfl-card img,.gfl-overlay,.gfl-title{animation:none!important;transition:none!important}}
