.apg-gallery{box-sizing:border-box;width:100%;max-width:var(--apg-max-width);margin-inline:auto;padding:var(--apg-gap);border:0 solid transparent;color:var(--apg-text);background:var(--apg-bg);font-family:var(--apg-font)}
.apg-gallery:not(.apg-has-frame){border:0!important}
.apg-gallery.apg-has-frame{position:relative;isolation:isolate;background-clip:padding-box;border-style:solid;border-color:transparent;border-width:var(--apg-frame-width);border-image-source:var(--apg-frame-image);border-image-slice:var(--apg-frame-slice);border-image-width:var(--apg-frame-width);border-image-outset:calc(var(--apg-frame-width) * .28);border-image-repeat:round}.apg-gallery.apg-has-frame::after{content:"";position:absolute;z-index:4;inset:0;pointer-events:none;background:var(--apg-frame-tint);opacity:var(--apg-frame-tint-opacity);mix-blend-mode:color;-webkit-mask-box-image-source:var(--apg-frame-image);-webkit-mask-box-image-slice:var(--apg-frame-slice);-webkit-mask-box-image-width:var(--apg-frame-width);-webkit-mask-box-image-repeat:round}
.apg-gallery.apg-height-fixed{height:var(--apg-gallery-height);overflow:auto}.apg-gallery.apg-height-fixed.apg-layout-slideshow,.apg-gallery.apg-height-fixed.apg-layout-carousel,.apg-gallery.apg-height-fixed.apg-layout-filmstrip,.apg-gallery.apg-height-fixed.apg-layout-accordion{display:flex;flex-direction:column;overflow:visible}.apg-height-fixed.apg-layout-slideshow .apg-items,.apg-height-fixed.apg-layout-carousel .apg-items,.apg-height-fixed.apg-layout-filmstrip .apg-items,.apg-height-fixed.apg-layout-accordion .apg-items{flex:1 1 auto;min-height:0;overflow:hidden}.apg-height-fixed.apg-layout-slideshow .apg-item,.apg-height-fixed.apg-layout-carousel .apg-item,.apg-height-fixed.apg-layout-filmstrip .apg-item,.apg-height-fixed.apg-layout-accordion .apg-item{height:100%}.apg-height-fixed.apg-layout-slideshow .apg-image-button,.apg-height-fixed.apg-layout-carousel .apg-image-button,.apg-height-fixed.apg-layout-filmstrip .apg-image-button,.apg-height-fixed.apg-layout-accordion .apg-image-button{height:100%}.apg-height-fixed.apg-layout-slideshow .apg-item img,.apg-height-fixed.apg-layout-carousel .apg-item img,.apg-height-fixed.apg-layout-filmstrip .apg-item img,.apg-height-fixed.apg-layout-accordion .apg-item img{height:100%;max-height:none;aspect-ratio:auto}
.apg-gallery *{box-sizing:border-box}.apg-items{display:grid;grid-template-columns:repeat(var(--apg-columns),minmax(0,1fr));gap:var(--apg-gap)}
.apg-item{position:relative;min-width:0;margin:0;overflow:hidden;border:var(--apg-border-width) solid var(--apg-border);border-radius:var(--apg-radius);background:var(--apg-bg);box-shadow:0 2px var(--apg-shadow) rgba(15,23,42,var(--apg-shadow-opacity))}
.apg-image-button{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in;overflow:hidden;color:inherit}
.apg-item img{display:block;width:100%;height:100%;aspect-ratio:var(--apg-ratio);object-fit:var(--apg-fit);object-position:center center;transition:transform var(--apg-transition-duration,.65s) ease,filter var(--apg-transition-duration,.65s) ease,opacity var(--apg-transition-duration,.65s) ease}.apg-item:hover img{transform:scale(1.035)}.apg-fit-contain .apg-item:hover img{transform:none}.apg-fit-contain.apg-effect-ken-burns .apg-active img{animation:none}
.apg-item figcaption{padding:.7rem .85rem;color:var(--apg-text);font-size:.92rem;line-height:1.4}.apg-caption-overlay figcaption{position:absolute;inset:auto 0 0;padding:1.8rem .85rem .75rem;color:#fff;background:linear-gradient(transparent,rgba(var(--apg-overlay),var(--apg-overlay-opacity)));pointer-events:none}.apg-caption-hidden figcaption{display:none}
.apg-source-link{position:absolute;top:.5rem;right:.5rem;padding:.3rem .5rem;border-radius:999px;color:#fff;background:rgba(var(--apg-overlay),.7);font-size:.72rem;text-decoration:none}
.apg-layout-masonry .apg-items{display:block;columns:var(--apg-columns);column-gap:var(--apg-gap)}.apg-layout-masonry .apg-item{break-inside:avoid;margin-bottom:var(--apg-gap)}.apg-layout-masonry .apg-item img{height:auto;aspect-ratio:auto}
.apg-layout-justified .apg-items{display:flex;flex-wrap:wrap}.apg-layout-justified .apg-item{flex:1 1 260px}.apg-layout-justified .apg-item img{aspect-ratio:3/2}
.apg-layout-mosaic .apg-item:nth-child(7n+1){grid-column:span 2;grid-row:span 2}.apg-layout-mosaic .apg-item:nth-child(7n+1) img{aspect-ratio:1/1}
.apg-layout-slideshow .apg-items,.apg-layout-carousel .apg-items{display:block;position:relative;perspective:1200px}.apg-layout-slideshow .apg-item,.apg-layout-carousel .apg-item{display:none}.apg-layout-slideshow .apg-item.apg-active,.apg-layout-carousel .apg-item.apg-active{display:block;position:relative;z-index:2}.apg-layout-slideshow .apg-item.apg-leaving,.apg-layout-carousel .apg-item.apg-leaving{display:block;position:absolute;z-index:1;inset:0;pointer-events:none}.apg-layout-slideshow .apg-item img{max-height:min(78vh,900px)}
.apg-layout-filmstrip .apg-items{display:flex;position:relative;grid-template-columns:none;gap:var(--apg-gap);overflow:hidden;padding:27px 12px;scroll-behavior:smooth;scroll-snap-type:x mandatory;border:4px solid var(--apg-text);border-radius:calc(var(--apg-radius) + 4px);background-color:var(--apg-text);background-image:radial-gradient(ellipse at center,var(--apg-bg) 0 44%,transparent 48%),radial-gradient(ellipse at center,var(--apg-bg) 0 44%,transparent 48%);background-position:8px 5px,8px calc(100% - 5px);background-size:27px 15px;background-repeat:repeat-x}.apg-layout-filmstrip .apg-item{display:block!important;flex:0 0 var(--apg-filmstrip-size,240px);scroll-snap-align:start;border:3px solid var(--apg-accent);border-radius:max(2px,calc(var(--apg-radius)/2));background:var(--apg-bg);box-shadow:0 0 0 2px var(--apg-bg);transition:opacity .35s ease,transform .35s ease}.apg-layout-filmstrip .apg-item:not(.apg-active){opacity:.78;transform:scale(.96)}.apg-layout-filmstrip .apg-item.apg-active{opacity:1;transform:none}.apg-layout-filmstrip .apg-controls{color:var(--apg-text)}
.apg-layout-accordion .apg-items{display:flex;grid-template-columns:none;align-items:center;gap:var(--apg-gap);overflow:hidden}.apg-layout-accordion .apg-item{display:none;min-width:0;flex:1 1 0;opacity:.7;scale:.84;will-change:transform,opacity}.apg-layout-accordion .apg-item.apg-window{display:block}.apg-layout-accordion .apg-item.apg-active{z-index:2;flex:0 0 46%;opacity:1;scale:1}.apg-layout-accordion .apg-item img{width:100%}.apg-layout-accordion .apg-active{animation:none!important}
.apg-controls{display:flex;align-items:center;justify-content:center;gap:1rem;padding-top:.8rem}.apg-controls button,.apg-load-more{padding:.65rem 1rem;border:0;border-radius:var(--apg-radius);color:#fff;background:var(--apg-accent);cursor:pointer}.apg-load-more{display:block;margin:1rem auto 0}.apg-controls button:focus-visible,.apg-load-more:focus-visible,.apg-image-button:focus-visible{outline:3px solid var(--apg-accent);outline-offset:3px}.apg-deferred{display:none!important}
.apg-effect-fade .apg-active{animation:apg-fade var(--apg-transition-duration,.65s) ease}.apg-effect-slide .apg-active{animation:apg-slide var(--apg-transition-duration,.65s) ease}.apg-effect-zoom .apg-active{animation:apg-zoom var(--apg-transition-duration,.65s) ease}.apg-effect-flip .apg-active{transform-origin:center center;backface-visibility:hidden;animation:apg-flip var(--apg-transition-duration,.65s) cubic-bezier(.2,.7,.2,1)}.apg-effect-flip .apg-leaving{transform-origin:center center;backface-visibility:hidden;animation:apg-flip-out var(--apg-transition-duration,.65s) cubic-bezier(.4,0,.8,.3) both}.apg-effect-blur .apg-active{animation:apg-blur var(--apg-transition-duration,.65s) ease}.apg-effect-rotate .apg-active{animation:apg-rotate var(--apg-transition-duration,.65s) ease}.apg-effect-ken-burns .apg-active img{animation:apg-ken-burns 8s ease-out both}
.apg-layout-grid.apg-effect-fade .apg-item,.apg-layout-masonry.apg-effect-fade .apg-item,.apg-layout-justified.apg-effect-fade .apg-item,.apg-layout-mosaic.apg-effect-fade .apg-item{animation:apg-fade var(--apg-transition-duration,.65s) ease both;animation-delay:var(--apg-item-delay)}
.apg-layout-grid.apg-effect-slide .apg-item,.apg-layout-masonry.apg-effect-slide .apg-item,.apg-layout-justified.apg-effect-slide .apg-item,.apg-layout-mosaic.apg-effect-slide .apg-item{animation:apg-slide var(--apg-transition-duration,.65s) ease both;animation-delay:var(--apg-item-delay)}
.apg-layout-grid.apg-effect-zoom .apg-item,.apg-layout-masonry.apg-effect-zoom .apg-item,.apg-layout-justified.apg-effect-zoom .apg-item,.apg-layout-mosaic.apg-effect-zoom .apg-item{animation:apg-zoom var(--apg-transition-duration,.65s) ease both;animation-delay:var(--apg-item-delay)}
.apg-layout-grid.apg-effect-flip .apg-item,.apg-layout-masonry.apg-effect-flip .apg-item,.apg-layout-justified.apg-effect-flip .apg-item,.apg-layout-mosaic.apg-effect-flip .apg-item{transform-origin:center center;backface-visibility:hidden;animation:apg-flip var(--apg-transition-duration,.65s) cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--apg-item-delay)}
.apg-layout-grid.apg-effect-blur .apg-item,.apg-layout-masonry.apg-effect-blur .apg-item,.apg-layout-justified.apg-effect-blur .apg-item,.apg-layout-mosaic.apg-effect-blur .apg-item{animation:apg-blur var(--apg-transition-duration,.65s) ease both;animation-delay:var(--apg-item-delay)}
.apg-layout-grid.apg-effect-rotate .apg-item,.apg-layout-masonry.apg-effect-rotate .apg-item,.apg-layout-justified.apg-effect-rotate .apg-item,.apg-layout-mosaic.apg-effect-rotate .apg-item{animation:apg-rotate var(--apg-transition-duration,.65s) ease both;animation-delay:var(--apg-item-delay)}
.apg-layout-grid.apg-effect-ken-burns .apg-item img,.apg-layout-masonry.apg-effect-ken-burns .apg-item img,.apg-layout-justified.apg-effect-ken-burns .apg-item img,.apg-layout-mosaic.apg-effect-ken-burns .apg-item img{animation:apg-ken-burns 8s ease-out both}
@keyframes apg-fade{from{opacity:0}}@keyframes apg-slide{from{opacity:0;transform:translateX(7%)}}@keyframes apg-zoom{from{opacity:0;transform:scale(.94)}}@keyframes apg-flip{0%{opacity:.15;transform:rotateY(-82deg) scale(.96)}55%{opacity:.9;transform:rotateY(8deg) scale(.99)}100%{opacity:1;transform:rotateY(0) scale(1)}}@keyframes apg-flip-out{0%{opacity:1;transform:rotateY(0) scale(1)}55%{opacity:.65;transform:rotateY(42deg) scale(.98)}100%{opacity:0;transform:rotateY(88deg) scale(.96)}}@keyframes apg-blur{from{opacity:0;filter:blur(14px)}}@keyframes apg-rotate{from{opacity:0;transform:rotate(-2deg) scale(.96)}}@keyframes apg-ken-burns{from{transform:scale(1)}to{transform:scale(1.08)}}
.apg-lightbox{position:fixed;z-index:100000;inset:0;display:none;align-items:center;justify-content:center;padding:4rem;background:rgba(0,0,0,.9)}.apg-lightbox[aria-hidden="false"]{display:flex}.apg-lightbox img{max-width:100%;max-height:82vh;object-fit:contain}.apg-lightbox-caption{position:absolute;bottom:1rem;left:10%;right:10%;color:#fff;text-align:center}.apg-lightbox button{position:absolute;width:44px;height:44px;border:0;border-radius:50%;color:#fff;background:rgba(255,255,255,.15);font-size:1.4rem;cursor:pointer}.apg-lightbox-close{top:1rem;right:1rem}.apg-lightbox-prev{left:1rem}.apg-lightbox-next{right:1rem}
.apg-protected img,.apg-lightbox.apg-protected img{-webkit-user-drag:none;user-select:none;-webkit-user-select:none}
@media(max-width:720px){.apg-items{grid-template-columns:repeat(var(--apg-mobile-columns),minmax(0,1fr))}.apg-layout-masonry .apg-items{columns:var(--apg-mobile-columns)}.apg-lightbox{padding:3.5rem 1rem}}
@media(prefers-reduced-motion:reduce){.apg-gallery *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.apg-gallery[data-folder-random-start="1"]:not([data-folder-ready="1"]) .apg-items{visibility:hidden}
