/*!*********************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/@fancyapps/ui/dist/carousel/carousel.css ***!
  \*********************************************************************************************************/
.f-fadeIn{animation:var(--f-transition-duration, .2s) var(--f-transition-easing, ease) var(--f-transition-delay, 0s) both f-fadeIn;z-index:2}.f-fadeOut{animation:var(--f-transition-duration, .2s) var(--f-transition-easing, ease) var(--f-transition-delay, 0s) both f-fadeOut;z-index:1}@keyframes f-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes f-fadeOut{to{opacity:0}}.f-crossfadeIn{animation:var(--f-transition-duration, .2s) ease both f-crossfadeIn;z-index:2}.f-crossfadeOut{animation:calc(var(--f-transition-duration, .2s) * .2) ease calc(var(--f-transition-duration, .2s) * .8) both f-crossfadeOut;z-index:1}@keyframes f-crossfadeIn{0%{opacity:0}to{opacity:1}}@keyframes f-crossfadeOut{to{opacity:0}}.is-horizontal .f-slideIn.from-next{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideInNextX}.is-horizontal .f-slideIn.from-prev{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideInPrevX}.is-horizontal .f-slideOut.to-next{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideOutNextX}.is-horizontal .f-slideOut.to-prev{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideOutPrevX}@keyframes f-slideInPrevX{0%{transform:translate(calc(100% + var(--f-carousel-gap, 0)))}to{transform:translateZ(0)}}@keyframes f-slideInNextX{0%{transform:translate(calc(-100% - var(--f-carousel-gap, 0)))}to{transform:translateZ(0)}}@keyframes f-slideOutNextX{to{transform:translate(calc(-100% - var(--f-carousel-gap, 0)))}}@keyframes f-slideOutPrevX{to{transform:translate(calc(100% + var(--f-carousel-gap, 0)))}}.is-vertical .f-slideIn.from-next{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideInNextY}.is-vertical .f-slideIn.from-prev{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideInPrevY}.is-vertical .f-slideOut.to-next{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideOutNextY}.is-vertical .f-slideOut.to-prev{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideOutPrevY}@keyframes f-slideInPrevY{0%{transform:translateY(calc(100% + var(--f-carousel-gap, 0)))}to{transform:translateZ(0)}}@keyframes f-slideInNextY{0%{transform:translateY(calc(-100% - var(--f-carousel-gap, 0)))}to{transform:translateZ(0)}}@keyframes f-slideOutNextY{to{transform:translateY(calc(-100% - var(--f-carousel-gap, 0)))}}@keyframes f-slideOutPrevY{to{transform:translateY(calc(100% + var(--f-carousel-gap, 0)))}}.f-zoomInUp{animation:var(--f-transition-duration, .3s) ease both f-zoomInUp}.f-zoomOutDown{animation:var(--f-transition-duration, .3s) ease both f-zoomOutDown}@keyframes f-zoomInUp{0%{transform:scale(var(--f-zoomInUp-scale, .975)) translate3d(var(--f-zoomInUp-x, 0),var(--f-zoomInUp-y, 16px),0);opacity:var(--f-zoomInUp-opacity, 0)}to{transform:scale(1) translateZ(0);opacity:1}}@keyframes f-zoomOutDown{to{transform:scale(var(--f-zoomOutDown-scale, .975)) translate3d(var(--f-zoomOutDown-x, 0),var(--f-zoomOutDown-y, 16px),0);opacity:0}}.f-throwOutUp{animation:var(--f-throwOutUp-duration, .2s) ease-out both f-throwOutUp}.f-throwOutDown{animation:var(--f-throwOutDown-duration, .2s) ease-out both f-throwOutDown}@keyframes f-throwOutUp{to{transform:translate3d(0,calc(var(--f-throwOutUp-y, 150px) * -1),0);opacity:0}}@keyframes f-throwOutDown{to{transform:translate3d(0,var(--f-throwOutDown-y, 150px),0);opacity:0}}:root{--f-button-width: 40px;--f-button-height: 40px;--f-button-border: 0;--f-button-border-radius: 0;--f-button-color: #374151;--f-button-bg: #f8f8f8;--f-button-shadow: none;--f-button-transition: all .15s ease;--f-button-transform: none;--f-button-outline-width: 1px;--f-button-outline-color: rgba(0, 0, 0, .7);--f-button-svg-width: 20px;--f-button-svg-height: 20px;--f-button-svg-stroke-width: 1.5;--f-button-svg-fill: none;--f-button-svg-filter: none;--f-button-svg-opacity: 1;--f-button-svg-disabled-opacity: .5;--f-button-svg-transition: opacity .15s ease;--f-button-svg-transform: none}.f-button{width:var(--f-button-width);height:var(--f-button-height);border:var(--f-button-border);border-radius:var(--f-button-border-radius);color:var(--f-button-color);background:var(--f-button-bg);box-shadow:var(--f-button-shadow);transform:var(--f-button-transform);transition:var(--f-button-transition);backdrop-filter:var(--f-button-backdrop-filter);display:flex;justify-content:center;align-items:center;box-sizing:content-box;position:relative;margin:0;padding:0;pointer-events:all;cursor:pointer;overflow:hidden}@media(hover:hover){.f-button:hover:not([aria-disabled]){color:var(--f-button-hover-color, var(--f-button-color));background-color:var(--f-button-hover-bg, var(--f-button-bg))}}.f-button:active:not([aria-disabled]){color:var(--f-button-active-color, var(--f-button-hover-color, var(--f-button-color)));background-color:var(--f-button-active-bg, var(--f-button-hover-bg, var(--f-button-bg)))}.f-button:focus{outline:none}.f-button:focus-visible{outline:var(--f-button-outline-width) solid var(--f-button-outline-color);outline-offset:var(--f-button-outline-offset)}.f-button svg{width:var(--f-button-svg-width);height:var(--f-button-svg-height);transform:var(--f-button-svg-transform);fill:var(--f-button-svg-fill);filter:var(--f-button-svg-filter);opacity:var(--f-button-svg-opacity, 1);transition:var(--f-button-svg-transition);stroke:currentColor;stroke-width:var(--f-button-svg-stroke-width);stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.f-button[aria-disabled]{cursor:default}.f-button[aria-disabled] svg{opacity:var(--f-button-svg-disabled-opacity)}[data-panzoom-action=toggleFS] g:first-child{display:flex}[data-panzoom-action=toggleFS] g:last-child{display:none}.in-fullscreen [data-panzoom-action=toggleFS] g:first-child{display:none}.in-fullscreen [data-panzoom-action=toggleFS] g:last-child{display:flex}[data-autoplay-action=toggle] svg g:first-child{display:flex}[data-autoplay-action=toggle] svg g:last-child{display:none}.has-autoplay [data-autoplay-action=toggle] svg g:first-child{display:none}.has-autoplay [data-autoplay-action=toggle] svg g:last-child{display:flex}[data-fullscreen-action=toggle] svg g:first-child{display:flex}[data-fullscreen-action=toggle] svg g:last-child{display:none}:fullscreen [data-fullscreen-action=toggle] svg [data-fullscreen-action=toggle] svg g:first-child{display:none}:fullscreen [data-fullscreen-action=toggle] svg [data-fullscreen-action=toggle] svg g:last-child{display:flex}:root{--f-spinner-color-1: rgba(0, 0, 0, .1);--f-spinner-color-2: rgba(17, 24, 28, .8);--f-spinner-width: 50px;--f-spinner-height: 50px;--f-spinner-border-radius: 50%;--f-spinner-border-width: 4px}.f-spinner{position:absolute;top:50%;left:50%;margin:0;padding:0;width:var(--f-spinner-width);height:var(--f-spinner-height);translate:-50% -50%;border:var(--f-spinner-border-width) solid var(--f-spinner-color-1);border-top-color:var(--f-spinner-color-2);border-radius:var(--f-spinner-border-radius);animation:f-spinner .75s linear infinite,f-fadeIn .2s ease .2s both}@keyframes f-spinner{to{rotate:360deg}}@property --f-carousel-gap{syntax: "<length>"; inherits: true; initial-value: 0px;}.f-carousel{--f-carousel-gap: 0px;--f-carousel-slide-width: 100%;--f-carousel-slide-padding: 0px}.f-carousel.is-vertical{--f-carousel-slide-height: 100%}.f-carousel{display:flex;flex-direction:column;position:relative}.f-carousel.is-ltr{direction:ltr}.f-carousel.is-rtl{direction:rtl}.f-carousel__viewport{display:grid;grid-template-columns:100%;grid-template-rows:100%;flex:1;min-height:0;min-width:0;position:relative;overflow:hidden}.has-adaptive-height>.f-carousel__viewport{flex:0 0 auto}.f-carousel__viewport.is-draggable{cursor:move;cursor:grab}.f-carousel__viewport.is-dragging{cursor:move;cursor:grabbing}.f-carousel__viewport [data-selectable],.f-carousel__viewport [contenteditable]{cursor:auto}.f-carousel__slide{position:relative;box-sizing:border-box;grid-area:1/1;width:var(--f-carousel-slide-width);height:var(--f-carousel-slide-height);min-width:0;min-height:0;max-width:100%;max-height:100%;margin:0;padding:var(--f-carousel-slide-padding);background:var(--f-carousel-slide-bg);backface-visibility:hidden;transform:translateZ(0);will-change:transform}.is-centered .f-carousel__slide{display:flex;align-items:center;flex-direction:column}.is-centered .f-carousel__slide:before,.is-centered .f-carousel__slide:after{display:block;content:""}.is-centered .f-carousel__slide:before{margin-bottom:auto}.is-centered .f-carousel__slide:after{margin-top:auto}.f-carousel__slide.has-html{overflow:auto}

/*!****************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/@fancyapps/ui/dist/carousel/carousel.arrows.css ***!
  \****************************************************************************************************************/
.f-button.is-arrow{--f-button-width: var(--f-arrow-width, 46px);--f-button-height: var(--f-arrow-height, 46px);--f-button-svg-width: var(--f-arrow-svg-width, 24px);--f-button-svg-height: var(--f-arrow-svg-height, 24px);--f-button-svg-stroke-width: var(--f-arrow-svg-stroke-width, 1.75);--f-button-border-radius: var(--f-arrow-border-radius, unset);--f-button-bg: var(--f-arrow-bg, transparent);--f-button-hover-bg: var(--f-arrow-hover-bg, var(--f-arrow-bg));--f-button-active-bg: var(--f-arrow-active-bg, var(--f-arrow-hover-bg));--f-button-shadow: var(--f-arrow-shadow);--f-button-color: var(--f-arrow-color);--f-button-hover-color: var(--f-arrow-hover-color, var(--f-arrow-color));--f-button-active-color: var( --f-arrow-active-color, var(--f-arrow-hover-color) );overflow:visible}.f-button.is-arrow.is-prev,.f-button.is-arrow.is-next{position:absolute;transform:translate(0);z-index:20}.is-horizontal .f-button.is-arrow.is-prev,.is-horizontal .f-button.is-arrow.is-next{inset:50% auto auto;transform:translateY(-50%)}.is-horizontal.is-ltr .f-button.is-arrow.is-prev{left:var(--f-arrow-pos, 0)}.is-horizontal.is-ltr .f-button.is-arrow.is-next{right:var(--f-arrow-pos, 0)}.is-horizontal.is-rtl .f-button.is-arrow.is-prev{right:var(--f-arrow-pos, 0);transform:translateY(-50%) rotateY(180deg)}.is-horizontal.is-rtl .f-button.is-arrow.is-next{left:var(--f-arrow-pos, 0);transform:translateY(-50%) rotateY(180deg)}.is-vertical.is-ltr .f-button.is-arrow.is-prev,.is-vertical.is-rtl .f-button.is-arrow.is-prev{top:var(--f-arrow-pos, 0);right:auto;bottom:auto;left:50%;transform:translate(-50%)}.is-vertical.is-ltr .f-button.is-arrow.is-next,.is-vertical.is-rtl .f-button.is-arrow.is-next{top:auto;right:auto;bottom:var(--f-arrow-pos, 0);left:50%;transform:translate(-50%)}.is-vertical .f-button.is-arrow.is-prev svg,.is-vertical .f-button.is-arrow.is-next svg{transform:rotate(90deg)}

/*!**************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/@fancyapps/ui/dist/carousel/carousel.dots.css ***!
  \**************************************************************************************************************/
:root{--f-carousel-dots-position: absolute;--f-carousel-dots-top: 100%;--f-carousel-dots-bottom: auto;--f-carousel-dots-width: 24px;--f-carousel-dots-height: 24px;--f-carousel-dots-z-index: 3;--f-carousel-dot-width: 8px;--f-carousel-dot-height: 8px;--f-carousel-dot-border-radius: 100%;--f-carousel-dot-bg: currentColor;--f-carousel-dot-hover-bg: currentColor;--f-carousel-dot-selected-bg: currentColor;--f-carousel-dot-opacity: .4;--f-carousel-dot-hover-opacity: .8;--f-carousel-dot-selected-opacity: 1;--f-carousel-dot-transition: all .25s ease}.f-carousel.has-dots{margin-bottom:var(--f-carousel-dots-height)}.f-carousel__dots{position:var(--f-carousel-dots-position);top:var(--f-carousel-dots-top);right:0;bottom:var(--f-carousel-dots-bottom);left:0;z-index:var(--f-carousel-dots-z-index);display:flex;justify-content:center;flex-wrap:wrap;gap:var(--f-carousel-dots-gap, 0)}.in-fullscreen-mode>.f-carousel__dots,.in-expanded-mode>.f-carousel__dots{top:auto;bottom:0}.f-carousel__dot{display:block;position:relative;margin:0;padding:0;width:var(--f-carousel-dots-width);height:var(--f-carousel-dots-height);opacity:var(--f-carousel-dot-opacity);border:0;color:currentColor;background-color:transparent;transition:var(--f-carousel-dot-transition)}.f-carousel__dot:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(1);transform-origin:center center;width:var(--f-carousel-dot-width);height:var(--f-carousel-dot-height);background-color:var(--f-carousel-dot-bg);border-radius:var(--f-carousel-dot-border-radius);transition:inherit}.f-carousel__dot:hover{cursor:pointer;opacity:var(--f-carousel-dot-hover-opacity)}.f-carousel__dot:hover:after{background-color:var(--f-carousel-dot-hover-bg)}.f-carousel__dot[aria-current]{opacity:var(--f-carousel-dot-selected-opacity, 1)}.f-carousel__dot[aria-current]:after{background-color:var(--f-carousel-dot-selected-bg)}.f-carousel__dot.small:after{transform:translate(-50%,-50%) scale(.65)}.f-carousel__dot.micro:after{transform:translate(-50%,-50%) scale(.34)}.f-carousel__dot.hidden{width:0}.f-carousel__dot.hidden:after{transform:translate(-50%,-50%) scale(0)}.f-carousel__dot:first-child.active,.f-carousel__dot:first-child.padd{margin-left:calc(var(--f-carousel-dots-width) * 2)}.f-carousel__dot:first-child.small{margin-left:calc(var(--f-carousel-dots-width) * 1)}

/*!******************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/@fancyapps/ui/dist/carousel/carousel.autoplay.css ***!
  \******************************************************************************************************************/
:root{--f-progressbar-height: 3px;--f-progressbar-color: var(--f-carousel-theme-color, #575ad6);--f-progressbar-opacity: 1;--f-progressbar-z-index: 30}.f-progressbar{position:absolute;top:0;left:0;right:0;z-index:var(--f-progressbar-z-index);height:var(--f-progressbar-height);transform:scaleX(0);transform-origin:0;opacity:var(--f-progressbar-opacity);background:var(--f-progressbar-color);user-select:none;pointer-events:none;animation-name:f-progressbar;animation-play-state:running;animation-timing-function:linear}.f-progressbar:empty{display:block}button>.f-progressbar{--f-progressbar-height: 100%;--f-progressbar-opacity: .2}@keyframes f-progressbar{0%{transform:scaleX(0)}to{transform:scaleX(1)}}

/*!****************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/@fancyapps/ui/dist/carousel/carousel.thumbs.css ***!
  \****************************************************************************************************************/
:root{--f-thumbs-gap: 8px;--f-thumbs-margin: 0;--f-thumbs-padding-x: 8px;--f-thumbs-padding-y: 8px;--f-thumbs-bg: transparent;--f-thumbs-transition: max-height .3s ease, max-width .3s ease, padding .3s ease;--f-thumbs-z-index: 1;--f-thumbs-viewport-padding-x: 0px;--f-thumbs-viewport-padding-y: 0px;--f-thumb-width: 94px;--f-thumb-height: 76px;--f-thumb-clip-width: 46px;--f-thumb-extra-gap: 16px;--f-thumb-opacity: 1;--f-thumb-transition: opacity .3s ease, transform .15s ease;--f-thumb-border: none;--f-thumb-border-radius: 4px;--f-thumb-shadow: none;--f-thumb-bg: linear-gradient(rgba(0, 0, 0, .1), rgba(0, 0, 0, .05));--f-thumb-focus-shadow: inset 0 0 0 .8px #222, inset 0 0 0 2.25px #fff;--f-thumb-selected-shadow: inset 0 0 0 .8px #222, inset 0 0 0 2.25px #fff;--f-thumb-border-transition: all .1s ease;--f-thumb-img-width: 100%;--f-thumb-img-height: 100%;--f-thumb-img-fit: cover;--f-thumb-img-position: 50% 20%}.f-thumbs{--f-carousel-slide-width: var(--f-thumb-width);--f-carousel-slide-height: var(--f-thumb-height);--f-carousel-gap: var(--f-thumbs-gap);position:relative;box-sizing:border-box;flex-shrink:0;margin:var(--f-thumbs-margin);padding:var(--f-thumbs-padding-y) var(--f-thumbs-padding-x);overflow:hidden;background:var(--f-thumbs-bg);-webkit-tap-highlight-color:transparent;user-select:none;transition:var(--f-thumbs-transition);z-index:var(--f-thumbs-z-index)}.f-thumbs.is-horizontal{max-height:calc(var(--f-carousel-slide-height) + var(--f-thumbs-padding-y) * 2)}.f-thumbs.is-horizontal.is-hidden{max-height:0;--f-thumbs-padding-y: 0}.f-thumbs.is-vertical{max-width:calc(var(--f-carousel-slide-width) + var(--f-thumbs-padding-x) * 2)}.f-thumbs.is-vertical.is-hidden{max-width:0;--f-thumbs-padding-x: 0}.f-thumbs.is-scrollable.is-hidden{max-height:0;--f-thumbs-padding-y: 0}.f-thumbs.is-ltr{direction:ltr}.f-thumbs.is-rtl{direction:rtl}.f-thumbs img{display:block;width:var(--f-thumb-img-width);height:var(--f-thumb-img-height);object-fit:var(--f-thumb-img-fit);object-position:var(--f-thumb-img-position);pointer-events:none;border-radius:inherit;color:transparent}.f-thumbs img[data-lazy-src]{visibility:hidden}.f-thumbs img.has-lazyerror{display:none}.f-thumbs__viewport{box-sizing:border-box;height:100%;padding:var(--f-thumbs-viewport-padding-y) var(--f-thumbs-viewport-padding-x);overflow:visible;display:grid}.f-thumbs__slide{position:relative;box-sizing:border-box;grid-area:1/1;width:var(--f-carousel-slide-width);height:var(--f-carousel-slide-height);margin:0;padding:0;display:flex;align-items:center;flex-direction:column;cursor:pointer;overflow:visible}.f-thumbs__slide:hover button{opacity:var(--f-thumb-hover-opacity, 1);transform:var(--f-thumb-hover-transform, none)}.f-thumbs__slide:hover button:after{border:var(--f-thumb-hover-border, none);box-shadow:var(--f-thumb-hover-shadow, var(--f-thumb-shadow))}.f-thumbs__slide button{all:unset;display:block;margin:auto;padding:0;position:relative;overflow:visible;width:100%;height:100%;outline:none;transition:var(--f-thumb-transition);border-radius:var(--f-thumb-border-radius);opacity:var(--f-thumb-opacity);transform:var(--f-thumb-transform);background:var(--f-thumb-bg)}.f-thumbs__slide button:after{content:"";position:absolute;inset:0;z-index:1;transition:var(--f-thumb-border-transition);border-radius:inherit;border:var(--f-thumb-border);box-shadow:var(--f-thumb-shadow)}.f-thumbs__slide button:focus-within{opacity:var(--f-thumb-focus-opacity, 1);transform:var(--f-thumb-focus-transform, none)}.f-thumbs__slide button:focus-within:after{border:var(--f-thumb-focus-border, none);box-shadow:var(--f-thumb-focus-shadow, var(--f-thumb-shadow))}.f-thumbs__slide:active{opacity:var(--f-thumb-active-opacity, 1);transform:var(--f-thumb-active-transform, none)}.f-thumbs__slide:active:after{border:var(--f-thumb-active-border, none);box-shadow:var(--f-thumb-active-shadow, var(--f-thumb-shadow))}.f-thumbs__slide.is-selected{z-index:2}.f-thumbs__slide.is-selected button{opacity:var(--f-thumb-selected-opacity, 1);transform:var(--f-thumb-selected-transform, none)}.f-thumbs__slide.is-selected button:after{border:var(--f-thumb-selected-border, none);box-shadow:var(--f-thumb-selected-shadow, var(--f-thumb-shadow))}.f-thumbs.is-modern{--f-carousel-slide-width: calc( var(--f-thumb-clip-width) + var(--f-thumbs-gap) );--f-carousel-slide-height: var(--f-thumb-height);--f-carousel-gap: 0;--width-diff: calc((var(--f-thumb-width) - var(--f-thumb-clip-width)))}.f-thumbs.is-modern .f-thumbs__viewport{width:calc(100% + var(--f-carousel-slide-width) * 2 + var(--f-thumbs-padding-x));margin-inline:calc((var(--f-carousel-slide-width) + var(--f-thumbs-padding-x)) * -1)}.f-thumbs.is-modern .f-thumbs__slide{--clip-shift: calc((var(--width-diff) * .5) * var(--progress));--clip-path: inset( 0 var(--clip-shift) round var(--f-thumb-border-radius, 0) );padding:0;overflow:visible;left:var(--shift, 0);will-change:left;transition:left var(--f-transition-duration) var(--f-transition-easing)}.f-thumbs.is-modern .f-thumbs__slide button{display:block;margin-inline:50%;width:var(--f-thumb-width);clip-path:var(--clip-path);border:none;box-shadow:none;transition:clip-path var(--f-transition-duration) var(--f-transition-easing),opacity var(--f-thumb-transition-duration, .2s) var(--f-thumb-transition-easing, ease)}.f-thumbs.is-modern .f-thumbs__slide button:after{display:none}.f-thumbs.is-modern .f-thumbs__slide:focus:not(:focus-visible){outline:none}.f-thumbs.is-modern .f-thumbs__slide:focus-within:not(.is-selected) button:before{content:"";position:absolute;z-index:1;top:0;left:var(--clip-shift);bottom:0;right:var(--clip-shift);transition:border var(--f-transition-duration) var(--f-transition-easing),box-shadow var(--f-transition-duration) var(--f-transition-easing);border-radius:inherit;border:var(--f-thumb-focus-border, none);box-shadow:var(--f-thumb-focus-shadow, none)}.f-thumbs.is-modern{--f-transition-duration: .25s;--f-transition-easing: ease-out}.f-thumbs.is-modern.is-syncing{--f-transition-duration: 0s}.f-thumbs.is-scrollable .f-thumbs__viewport{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--f-thumb-width),1fr));grid-auto-rows:var(--f-thumb-height);gap:var(--f-thumbs-gap);overflow:auto;overscroll-behavior:contain;user-select:none}.f-thumbs.is-scrollable .f-thumbs__viewport .f-thumbs__slide{grid-area:auto;display:block;position:relative;max-width:100%;width:var(--f-thumb-width);height:var(--f-thumb-height);cursor:pointer;outline:none}

/*!************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/@fancyapps/ui/dist/carousel/transitions.css ***!
  \************************************************************************************************************/
.f-fadeIn{animation:var(--f-transition-duration, .2s) var(--f-transition-easing, ease) var(--f-transition-delay, 0s) both f-fadeIn;z-index:2}.f-fadeOut{animation:var(--f-transition-duration, .2s) var(--f-transition-easing, ease) var(--f-transition-delay, 0s) both f-fadeOut;z-index:1}@keyframes f-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes f-fadeOut{to{opacity:0}}.f-crossfadeIn{animation:var(--f-transition-duration, .2s) ease both f-crossfadeIn;z-index:2}.f-crossfadeOut{animation:calc(var(--f-transition-duration, .2s) * .2) ease calc(var(--f-transition-duration, .2s) * .8) both f-crossfadeOut;z-index:1}@keyframes f-crossfadeIn{0%{opacity:0}to{opacity:1}}@keyframes f-crossfadeOut{to{opacity:0}}.is-horizontal .f-slideIn.from-next{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideInNextX}.is-horizontal .f-slideIn.from-prev{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideInPrevX}.is-horizontal .f-slideOut.to-next{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideOutNextX}.is-horizontal .f-slideOut.to-prev{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideOutPrevX}@keyframes f-slideInPrevX{0%{transform:translate(calc(100% + var(--f-carousel-gap, 0)))}to{transform:translateZ(0)}}@keyframes f-slideInNextX{0%{transform:translate(calc(-100% - var(--f-carousel-gap, 0)))}to{transform:translateZ(0)}}@keyframes f-slideOutNextX{to{transform:translate(calc(-100% - var(--f-carousel-gap, 0)))}}@keyframes f-slideOutPrevX{to{transform:translate(calc(100% + var(--f-carousel-gap, 0)))}}.is-vertical .f-slideIn.from-next{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideInNextY}.is-vertical .f-slideIn.from-prev{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideInPrevY}.is-vertical .f-slideOut.to-next{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideOutNextY}.is-vertical .f-slideOut.to-prev{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideOutPrevY}@keyframes f-slideInPrevY{0%{transform:translateY(calc(100% + var(--f-carousel-gap, 0)))}to{transform:translateZ(0)}}@keyframes f-slideInNextY{0%{transform:translateY(calc(-100% - var(--f-carousel-gap, 0)))}to{transform:translateZ(0)}}@keyframes f-slideOutNextY{to{transform:translateY(calc(-100% - var(--f-carousel-gap, 0)))}}@keyframes f-slideOutPrevY{to{transform:translateY(calc(100% + var(--f-carousel-gap, 0)))}}.f-zoomInUp{animation:var(--f-transition-duration, .3s) ease both f-zoomInUp}.f-zoomOutDown{animation:var(--f-transition-duration, .3s) ease both f-zoomOutDown}@keyframes f-zoomInUp{0%{transform:scale(var(--f-zoomInUp-scale, .975)) translate3d(var(--f-zoomInUp-x, 0),var(--f-zoomInUp-y, 16px),0);opacity:var(--f-zoomInUp-opacity, 0)}to{transform:scale(1) translateZ(0);opacity:1}}@keyframes f-zoomOutDown{to{transform:scale(var(--f-zoomOutDown-scale, .975)) translate3d(var(--f-zoomOutDown-x, 0),var(--f-zoomOutDown-y, 16px),0);opacity:0}}.f-throwOutUp{animation:var(--f-throwOutUp-duration, .2s) ease-out both f-throwOutUp}.f-throwOutDown{animation:var(--f-throwOutDown-duration, .2s) ease-out both f-throwOutDown}@keyframes f-throwOutUp{to{transform:translate3d(0,calc(var(--f-throwOutUp-y, 150px) * -1),0);opacity:0}}@keyframes f-throwOutDown{to{transform:translate3d(0,var(--f-throwOutDown-y, 150px),0);opacity:0}}

/*!*******************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./apps/frontend-gallery/index.scss ***!
  \*******************************************************************************************************************************************************/
@charset "UTF-8";
/* Fancyapps Carousel (Slider layout) */
/* Composable hover (v2): classes from PHP Modula_Item_Data_Processor::process_hover_effects */
.modula .modula-items .modula-item.modula-hover-v2 .figc-inner {
  display: flex;
  flex-direction: column;
  gap: 0.35em;
  align-items: stretch;
}

.modula .modula-items .modula-item.modula-hover-v2 .modula-title {
  order: var(--modula-hover-ord-title, 0);
}

.modula .modula-items .modula-item.modula-hover-v2 .jtg-description {
  order: var(--modula-hover-ord-caption, 1);
}

.modula .modula-items .modula-item.modula-hover-v2 .modula-social {
  order: var(--modula-hover-ord-social, 2);
}

/* Card treatments (image area) */
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-card--zoom .modula-item-content img {
  transition: transform var(--modula-hover-card-enter-duration, 350ms) ease;
  transition-delay: 0ms;
  transform: scale(1);
}

.modula .modula-items .modula-item.modula-hover-v2.modula-hover-card--zoom:hover .modula-item-content img,
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-card--zoom:focus-within .modula-item-content img {
  transition-delay: var(--modula-hover-card-enter-delay, 0ms);
  transform: scale(1.06);
}

.modula .modula-items .modula-item.modula-hover-v2.modula-hover-card--grayscale .modula-item-content img {
  transition: filter var(--modula-hover-card-enter-duration, 350ms) ease;
  transition-delay: 0ms;
  filter: grayscale(0);
}

.modula .modula-items .modula-item.modula-hover-v2.modula-hover-card--grayscale:hover .modula-item-content img,
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-card--grayscale:focus-within .modula-item-content img {
  transition-delay: var(--modula-hover-card-enter-delay, 0ms);
  filter: grayscale(1);
}

.modula .modula-items .modula-item.modula-hover-v2.modula-hover-card--lift {
  transition: transform var(--modula-hover-card-enter-duration, 250ms) ease, box-shadow var(--modula-hover-card-enter-duration, 250ms) ease;
  transition-delay: 0ms;
}

.modula .modula-items .modula-item.modula-hover-v2.modula-hover-card--lift:hover,
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-card--lift:focus-within {
  transition-delay: var(--modula-hover-card-enter-delay, 0ms);
  transform: translateY(-4px);
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.18);
}

/*
 * Dim overlay add-on: stacks with other card treatments. Same rules as legacy --dim class.
 * Tint / strength: --modula-hover-overlay-tint / --modula-hover-dim-active-opacity on #modula-{id} or the item.
 */
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-card--dim .modula-item-overlay,
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-card--dim-addon .modula-item-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background-color: var(--modula-hover-overlay-tint, rgba(0, 0, 0, 0.55));
  transition: opacity var(--modula-hover-card-enter-duration, 300ms) ease;
  transition-delay: 0ms;
  opacity: 0;
}

.modula .modula-items .modula-item.modula-hover-v2.modula-hover-card--dim:hover .modula-item-overlay,
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-card--dim:focus-within .modula-item-overlay,
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-card--dim-addon:hover .modula-item-overlay,
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-card--dim-addon:focus-within .modula-item-overlay {
  transition-delay: var(--modula-hover-card-enter-delay, 0ms);
  opacity: var(--modula-hover-dim-active-opacity, 0.55);
}

/* Slot entrance: subtle motion until hover */
.modula .modula-items .modula-item.modula-hover-v2 .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2 .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2 .figc .modula-social {
  transition: opacity var(--modula-hover-enter-duration, 280ms) ease, transform var(--modula-hover-enter-duration, 280ms) ease, filter var(--modula-hover-enter-duration, 280ms) ease;
}

.modula .modula-items .modula-item.modula-hover-v2 .figc .modula-title {
  --modula-hover-enter-duration: var(--modula-hover-enter-duration-title, 280ms);
  transition-delay: var(--modula-hover-enter-delay-title, 0ms);
}

.modula .modula-items .modula-item.modula-hover-v2 .figc .jtg-description {
  --modula-hover-enter-duration: var(--modula-hover-enter-duration-caption, 280ms);
  transition-delay: var(--modula-hover-enter-delay-caption, 0ms);
}

.modula .modula-items .modula-item.modula-hover-v2 .figc .modula-social {
  --modula-hover-enter-duration: var(--modula-hover-enter-duration-social, 280ms);
  transition-delay: var(--modula-hover-enter-delay-social, 0ms);
}

.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--title--fade .figc .modula-title {
  opacity: 0;
}

.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--title--fade:hover .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--title--fade:focus-within .figc .modula-title {
  opacity: 1;
}

.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--caption--fade .figc .jtg-description {
  opacity: 0;
}

.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--caption--fade:hover .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--caption--fade:focus-within .figc .jtg-description {
  opacity: 1;
}

.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--social--fade .figc .modula-social {
  opacity: 0;
}

.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--social--fade:hover .figc .modula-social,
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--social--fade:focus-within .figc .modula-social {
  opacity: 1;
}

.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--title--slide-up .figc .modula-title {
  opacity: 0;
  transform: translateY(12px);
}

.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--title--slide-up:hover .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--title--slide-up:focus-within .figc .modula-title {
  opacity: 1;
  transform: translateY(0);
}

.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--caption--slide-up .figc .jtg-description {
  opacity: 0;
  transform: translateY(12px);
}

.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--caption--slide-up:hover .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--caption--slide-up:focus-within .figc .jtg-description {
  opacity: 1;
  transform: translateY(0);
}

.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--social--slide-up .figc .modula-social {
  opacity: 0;
  transform: translateY(12px);
}

.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--social--slide-up:hover .figc .modula-social,
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--social--slide-up:focus-within .figc .modula-social {
  opacity: 1;
  transform: translateY(0);
}

.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--title--slide-down .figc .modula-title {
  opacity: 0;
  transform: translateY(-12px);
}

.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--title--slide-down:hover .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--title--slide-down:focus-within .figc .modula-title {
  opacity: 1;
  transform: translateY(0);
}

.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--caption--slide-down .figc .jtg-description {
  opacity: 0;
  transform: translateY(-12px);
}

.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--caption--slide-down:hover .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--caption--slide-down:focus-within .figc .jtg-description {
  opacity: 1;
  transform: translateY(0);
}

.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--social--slide-down .figc .modula-social {
  opacity: 0;
  transform: translateY(-12px);
}

.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--social--slide-down:hover .figc .modula-social,
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--social--slide-down:focus-within .figc .modula-social {
  opacity: 1;
  transform: translateY(0);
}

.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--title--slide-left .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--caption--slide-left .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--social--slide-left .figc .modula-social {
  opacity: 0;
  transform: translateX(16px);
}

.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--title--slide-left:hover .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--title--slide-left:focus-within .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--caption--slide-left:hover .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--caption--slide-left:focus-within .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--social--slide-left:hover .figc .modula-social,
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--social--slide-left:focus-within .figc .modula-social {
  opacity: 1;
  transform: translateX(0);
}

.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--title--slide-right .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--caption--slide-right .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--social--slide-right .figc .modula-social {
  opacity: 0;
  transform: translateX(-16px);
}

.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--title--slide-right:hover .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--title--slide-right:focus-within .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--caption--slide-right:hover .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--caption--slide-right:focus-within .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--social--slide-right:hover .figc .modula-social,
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--social--slide-right:focus-within .figc .modula-social {
  opacity: 1;
  transform: translateX(0);
}

.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--title--blur-in .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--caption--blur-in .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--social--blur-in .figc .modula-social {
  opacity: 0;
  filter: blur(5px);
}

.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--title--blur-in:hover .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--title--blur-in:focus-within .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--caption--blur-in:hover .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--caption--blur-in:focus-within .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--social--blur-in:hover .figc .modula-social,
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--social--blur-in:focus-within .figc .modula-social {
  opacity: 1;
  filter: blur(0);
}

.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--title--scale .figc .modula-title {
  opacity: 0;
  transform: scale(0.94);
}

.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--title--scale:hover .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--title--scale:focus-within .figc .modula-title {
  opacity: 1;
  transform: scale(1);
}

.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--caption--scale .figc .jtg-description {
  opacity: 0;
  transform: scale(0.94);
}

.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--caption--scale:hover .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--caption--scale:focus-within .figc .jtg-description {
  opacity: 1;
  transform: scale(1);
}

.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--social--scale .figc .modula-social {
  opacity: 0;
  transform: scale(0.94);
}

.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--social--scale:hover .figc .modula-social,
.modula .modula-items .modula-item.modula-hover-v2.modula-hover-enter--social--scale:focus-within .figc .modula-social {
  opacity: 1;
  transform: scale(1);
}

/* Free-position slots (percent anchors on the tile). */
.modula .modula-items .modula-item.modula-hover-v2--free-slots .modula-item-content {
  position: relative;
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots .figc {
  position: absolute;
  inset: 0;
  padding: 0;
  margin: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.35) 100%);
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots .figc-inner {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-graphic--frame .figc::before,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-graphic--diamond .figc::before {
  content: "";
  position: absolute;
  inset: 10%;
  border: 2px solid rgba(255, 255, 255, 0.92);
  pointer-events: none;
  opacity: 0;
  transition: opacity 220ms ease, transform 220ms ease;
  z-index: 3;
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-graphic--diamond .figc::before {
  inset: 18%;
  transform: rotate(45deg) scale(0.92);
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-graphic--frame:hover .figc::before,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-graphic--frame:focus-within .figc::before {
  opacity: 1;
  transform: scale(1);
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-graphic--diamond:hover .figc::before,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-graphic--diamond:focus-within .figc::before {
  opacity: 1;
  transform: rotate(45deg) scale(1);
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-graphic-visibility--always.modula-hover-graphic--frame .figc::before,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-graphic-visibility--always.modula-hover-graphic--diamond .figc::before {
  opacity: 1;
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-graphic-visibility--always.modula-hover-graphic--frame .figc::before {
  transform: scale(1);
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-graphic-visibility--always.modula-hover-graphic--diamond .figc::before {
  transform: rotate(45deg) scale(1);
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2--free-slots .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2--free-slots .figc .modula-social {
  position: absolute;
  pointer-events: auto;
  max-width: calc(100% - 0.75rem);
  width: max-content;
  order: unset;
  z-index: 3;
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots .figc .jtg-description p {
  margin: 0;
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots .figc .modula-title {
  left: var(--modula-hover-slot-title-x, 50%);
  top: var(--modula-hover-slot-title-y, 18%);
  --modula-hover-slot-anchor: var(--modula-hover-slot-anchor-title, 0%);
  transform: translate(var(--modula-hover-slot-anchor-title, 0%), -50%);
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots .figc .jtg-description {
  left: var(--modula-hover-slot-caption-x, 50%);
  top: var(--modula-hover-slot-caption-y, 50%);
  --modula-hover-slot-anchor: var(--modula-hover-slot-anchor-caption, 0%);
  transform: translate(var(--modula-hover-slot-anchor-caption, 0%), -50%);
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots .figc .modula-social {
  left: var(--modula-hover-slot-social-x, 50%);
  top: var(--modula-hover-slot-social-y, 82%);
  --modula-hover-slot-anchor: var(--modula-hover-slot-anchor-social, 0%);
  transform: translate(var(--modula-hover-slot-anchor-social, 0%), -50%);
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-visibility--title--always .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-visibility--caption--always .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-visibility--social--always .figc .modula-social {
  opacity: 1;
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-visibility--title--hide-on-hover .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-visibility--caption--hide-on-hover .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-visibility--social--hide-on-hover .figc .modula-social {
  opacity: 1;
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-visibility--title--hide-on-hover:hover .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-visibility--title--hide-on-hover:focus-within .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-visibility--caption--hide-on-hover:hover .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-visibility--caption--hide-on-hover:focus-within .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-visibility--social--hide-on-hover:hover .figc .modula-social,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-visibility--social--hide-on-hover:focus-within .figc .modula-social {
  opacity: 0;
}

/* Hide-on-hover: use chosen motion as an exit transition. */
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--title--fade:hover .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--title--fade:focus-within .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--caption--fade:hover .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--caption--fade:focus-within .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--social--fade:hover .figc .modula-social,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--social--fade:focus-within .figc .modula-social {
  opacity: 0;
  transition-delay: 0ms;
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--title--slide-up:hover .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--title--slide-up:focus-within .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--caption--slide-up:hover .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--caption--slide-up:focus-within .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--social--slide-up:hover .figc .modula-social,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--social--slide-up:focus-within .figc .modula-social {
  opacity: 0;
  transform: translate(var(--modula-hover-slot-anchor, 0%), calc(-50% - 12px));
  transition-delay: 0ms;
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--title--slide-down:hover .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--title--slide-down:focus-within .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--caption--slide-down:hover .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--caption--slide-down:focus-within .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--social--slide-down:hover .figc .modula-social,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--social--slide-down:focus-within .figc .modula-social {
  opacity: 0;
  transform: translate(var(--modula-hover-slot-anchor, 0%), calc(-50% + 12px));
  transition-delay: 0ms;
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--title--slide-left:hover .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--title--slide-left:focus-within .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--caption--slide-left:hover .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--caption--slide-left:focus-within .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--social--slide-left:hover .figc .modula-social,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--social--slide-left:focus-within .figc .modula-social {
  opacity: 0;
  transform: translate(calc(var(--modula-hover-slot-anchor, 0%) - 16px), -50%);
  transition-delay: 0ms;
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--title--slide-right:hover .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--title--slide-right:focus-within .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--caption--slide-right:hover .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--caption--slide-right:focus-within .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--social--slide-right:hover .figc .modula-social,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--social--slide-right:focus-within .figc .modula-social {
  opacity: 0;
  transform: translate(calc(var(--modula-hover-slot-anchor, 0%) + 16px), -50%);
  transition-delay: 0ms;
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--title--blur-in:hover .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--title--blur-in:focus-within .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--caption--blur-in:hover .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--caption--blur-in:focus-within .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--social--blur-in:hover .figc .modula-social,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--social--blur-in:focus-within .figc .modula-social {
  opacity: 0;
  filter: blur(5px);
  transition-delay: 0ms;
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--title--scale:hover .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--title--scale:focus-within .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--caption--scale:hover .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--caption--scale:focus-within .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--social--scale:hover .figc .modula-social,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-exit--social--scale:focus-within .figc .modula-social {
  opacity: 0;
  transform: translate(var(--modula-hover-slot-anchor, 0%), -50%) scale(0.94);
  transition-delay: 0ms;
}

/* Entrance + anchor: combine centering with motion (higher specificity than rules above). */
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--title--fade .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--caption--fade .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--social--fade .figc .modula-social {
  opacity: 0;
  transform: translate(var(--modula-hover-slot-anchor, 0%), -50%);
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--title--fade:hover .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--title--fade:focus-within .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--caption--fade:hover .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--caption--fade:focus-within .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--social--fade:hover .figc .modula-social,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--social--fade:focus-within .figc .modula-social {
  opacity: 1;
  transform: translate(var(--modula-hover-slot-anchor, 0%), -50%);
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--title--slide-up .figc .modula-title {
  opacity: 0;
  transform: translate(var(--modula-hover-slot-anchor-title, 0%), calc(-50% + 12px));
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--title--slide-up:hover .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--title--slide-up:focus-within .figc .modula-title {
  opacity: 1;
  transform: translate(var(--modula-hover-slot-anchor-title, 0%), -50%);
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--caption--slide-up .figc .jtg-description {
  opacity: 0;
  transform: translate(var(--modula-hover-slot-anchor-caption, 0%), calc(-50% + 12px));
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--caption--slide-up:hover .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--caption--slide-up:focus-within .figc .jtg-description {
  opacity: 1;
  transform: translate(var(--modula-hover-slot-anchor-caption, 0%), -50%);
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--social--slide-up .figc .modula-social {
  opacity: 0;
  transform: translate(var(--modula-hover-slot-anchor-social, 0%), calc(-50% + 12px));
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--social--slide-up:hover .figc .modula-social,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--social--slide-up:focus-within .figc .modula-social {
  opacity: 1;
  transform: translate(var(--modula-hover-slot-anchor-social, 0%), -50%);
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--title--slide-down .figc .modula-title {
  opacity: 0;
  transform: translate(var(--modula-hover-slot-anchor-title, 0%), calc(-50% - 12px));
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--title--slide-down:hover .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--title--slide-down:focus-within .figc .modula-title {
  opacity: 1;
  transform: translate(var(--modula-hover-slot-anchor-title, 0%), -50%);
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--caption--slide-down .figc .jtg-description {
  opacity: 0;
  transform: translate(var(--modula-hover-slot-anchor-caption, 0%), calc(-50% - 12px));
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--caption--slide-down:hover .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--caption--slide-down:focus-within .figc .jtg-description {
  opacity: 1;
  transform: translate(var(--modula-hover-slot-anchor-caption, 0%), -50%);
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--social--slide-down .figc .modula-social {
  opacity: 0;
  transform: translate(var(--modula-hover-slot-anchor-social, 0%), calc(-50% - 12px));
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--social--slide-down:hover .figc .modula-social,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--social--slide-down:focus-within .figc .modula-social {
  opacity: 1;
  transform: translate(var(--modula-hover-slot-anchor-social, 0%), -50%);
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--title--slide-left .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--caption--slide-left .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--social--slide-left .figc .modula-social {
  opacity: 0;
  transform: translate(calc(var(--modula-hover-slot-anchor, 0%) + 16px), -50%);
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--title--slide-left:hover .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--title--slide-left:focus-within .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--caption--slide-left:hover .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--caption--slide-left:focus-within .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--social--slide-left:hover .figc .modula-social,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--social--slide-left:focus-within .figc .modula-social {
  opacity: 1;
  transform: translate(var(--modula-hover-slot-anchor, 0%), -50%);
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--title--slide-right .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--caption--slide-right .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--social--slide-right .figc .modula-social {
  opacity: 0;
  transform: translate(calc(var(--modula-hover-slot-anchor, 0%) - 16px), -50%);
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--title--slide-right:hover .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--title--slide-right:focus-within .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--caption--slide-right:hover .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--caption--slide-right:focus-within .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--social--slide-right:hover .figc .modula-social,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--social--slide-right:focus-within .figc .modula-social {
  opacity: 1;
  transform: translate(var(--modula-hover-slot-anchor, 0%), -50%);
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--title--blur-in .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--caption--blur-in .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--social--blur-in .figc .modula-social {
  opacity: 0;
  transform: translate(var(--modula-hover-slot-anchor, 0%), -50%);
  filter: blur(5px);
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--title--blur-in:hover .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--title--blur-in:focus-within .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--caption--blur-in:hover .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--caption--blur-in:focus-within .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--social--blur-in:hover .figc .modula-social,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--social--blur-in:focus-within .figc .modula-social {
  opacity: 1;
  transform: translate(var(--modula-hover-slot-anchor, 0%), -50%);
  filter: blur(0);
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--title--scale .figc .modula-title {
  opacity: 0;
  transform: translate(var(--modula-hover-slot-anchor-title, 0%), -50%) scale(0.94);
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--title--scale:hover .figc .modula-title,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--title--scale:focus-within .figc .modula-title {
  opacity: 1;
  transform: translate(var(--modula-hover-slot-anchor-title, 0%), -50%) scale(1);
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--caption--scale .figc .jtg-description {
  opacity: 0;
  transform: translate(var(--modula-hover-slot-anchor-caption, 0%), -50%) scale(0.94);
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--caption--scale:hover .figc .jtg-description,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--caption--scale:focus-within .figc .jtg-description {
  opacity: 1;
  transform: translate(var(--modula-hover-slot-anchor-caption, 0%), -50%) scale(1);
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--social--scale .figc .modula-social {
  opacity: 0;
  transform: translate(var(--modula-hover-slot-anchor-social, 0%), -50%) scale(0.94);
}

.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--social--scale:hover .figc .modula-social,
.modula .modula-items .modula-item.modula-hover-v2--free-slots.modula-hover-enter--social--scale:focus-within .figc .modula-social {
  opacity: 1;
  transform: translate(var(--modula-hover-slot-anchor-social, 0%), -50%) scale(1);
}

.modula {
  position: relative;
  /*
   * Focal point (object-position) or crop: no transitions — themes often use
   * `img { transition: all }` which interpolates object-position / transform.
   * !important + html body beats uniform-grid / legacy blocks; inline style also set in JS.
   */
  /*
   * Focal crop tiles: JS sets --modula-focal-* on the img. Themes may use
   * `.modula img { width:100% !important; object-fit:cover !important }`; this block
   * re-applies layout from those variables so editor + front match the cropper.
   */
  /**
   * v2 content_block tiles — large readable headline (poster-style defaults).
   */
}
.modula.modula-gallery {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}
.modula.modula-gallery.modula-gallery--bootstrap-pending {
  opacity: 1;
  visibility: visible;
  min-height: 120px;
}
.modula.modula-gallery .modula-gallery__bootstrap-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 6rem;
  padding: 24px;
  font-size: 0.9375rem;
  color: #646970;
}
.modula.modula-gallery.modula-gallery-initialized {
  opacity: 1;
  visibility: visible;
}
.modula img {
  width: 100%;
  transition: width 0.3s, height 0.3s, transform 0.3s linear, opacity 0.2s linear;
}
.modula img.modula-item-img--focal-point,
.modula img.modula-item-img--focal-crop {
  transition: none !important;
  transition-property: none !important;
}
.modula img.modula-item-img--focal-crop {
  width: var(--modula-focal-w) !important;
  height: var(--modula-focal-h) !important;
  max-width: none !important;
  object-fit: fill !important;
  object-position: initial !important;
  position: absolute !important;
  left: var(--modula-focal-left) !important;
  top: var(--modula-focal-top) !important;
  transform: var(--modula-focal-transform, none) !important;
}
.modula .modula-item {
  overflow: hidden;
}
.modula .modula-item.modula-item--embedded-content-block .modula-item-content--embedded {
  display: flex;
  align-items: stretch;
}
.modula .modula-item.modula-item--embedded-content-block .modula-embedded-block-inner {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-self: stretch;
  min-height: 100%;
  gap: 0.35em;
}
.modula .modula-item.modula-item--embedded-content-block .modula-embedded-block__title {
  font-size: clamp(1rem, 2.5vw + 0.55rem, 2.125rem);
  font-weight: 800;
  line-height: 1.06;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  margin: 0;
}
.modula .modula-item.modula-item--embedded-content-block .modula-embedded-block__description {
  font-size: clamp(0.75rem, 1.1vw + 0.55rem, 0.9375rem);
  font-weight: 600;
  line-height: 1.3;
  opacity: 0.93;
  margin: 0;
}
.modula .modula-item.modula-item--embedded-content-block .modula-embedded-block__body {
  font-size: clamp(0.8125rem, 0.9vw + 0.6rem, 1rem);
  line-height: 1.45;
  font-weight: 500;
  margin: 0;
}
.modula .modula-item.modula-item--embedded-content-block .modula-embedded-block__body p {
  margin: 0 0 0.5em;
}
.modula .modula-item.modula-item--embedded-content-block .modula-embedded-block__body p:last-child {
  margin-bottom: 0;
}

/* Slider: Fancyapps Thumbs plugin bar under main carousel */
.modula .modula-slider {
  /*
   * Arrows sit over the viewport edges; full-slide lightbox links (.modula-item-link)
   * must stay below hit targets so prev/next receive clicks (theme .modula-items uses z-index: 1).
   */
  /*
   * “Card slider” look (Slick centerMode demos): rounded tiles + shadow.
   * Width/peek comes from --f-carousel-slide-width / center in sliderSettingsToCarousel.
   */
  /*
   * Fancy “is-centered” uses ::before/::after + margin:auto so the slide content stays
   * only as tall as the image — the rest of the tile shows empty background while
   * border-radius still wraps the full cell (truncated look at the bottom).
   * We want photos to fill the tile with cover; drop those spacers for our slider cards.
   */
  /* Slider item captions (Pro: .slider-image-info + position classes) */
}
.modula .modula-slider .modula-items.f-carousel {
  isolation: isolate;
  /* Allow absolutely positioned arrows (siblings of the viewport) to stay clickable */
  overflow: visible;
  /* Prev/next: white circular hit area (Fancyapps --f-arrow-* → .f-button.is-arrow) */
  --f-arrow-bg: #fff;
  --f-arrow-hover-bg: #f3f3f3;
  --f-arrow-active-bg: #eaeaea;
  --f-arrow-border-radius: 50%;
  --f-arrow-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
  --f-arrow-color: #1a1a1a;
  --f-arrow-hover-color: #000;
  --f-arrow-width: 44px;
  --f-arrow-height: 44px;
  /*
   * Dots: Fancy “dynamic” mode adds class `active` on the current dot. Themes often
   * style `button.active` (border, ::before “stem”, shadows) which clashes with the
   * library’s circular ::after-only bullets — reset to keep a clean pill look.
   */
}
.modula .modula-slider .modula-items.f-carousel .f-carousel__viewport {
  position: relative;
  z-index: 1;
}
.modula .modula-slider .modula-items.f-carousel .f-button.is-arrow.is-prev,
.modula .modula-slider .modula-items.f-carousel .f-button.is-arrow.is-next {
  z-index: 100;
}
.modula .modula-slider .modula-items.f-carousel .f-carousel__dots .f-carousel__dot {
  appearance: none;
  background-color: transparent;
  border: 0;
  box-shadow: none;
}
.modula .modula-slider .modula-items.f-carousel .f-carousel__dots .f-carousel__dot::before {
  display: none !important;
  content: none !important;
}
.modula .modula-slider .modula-items.f-carousel .f-carousel__dots .f-carousel__dot.active, .modula .modula-slider .modula-items.f-carousel .f-carousel__dots .f-carousel__dot.padd, .modula .modula-slider .modula-items.f-carousel .f-carousel__dots .f-carousel__dot.small, .modula .modula-slider .modula-items.f-carousel .f-carousel__dots .f-carousel__dot.micro {
  border: 0;
  box-shadow: none;
  background-color: transparent;
}
.modula .modula-slider .modula-items.f-carousel .f-carousel__dots .f-carousel__dot:focus {
  outline: none;
}
.modula .modula-slider .modula-items.f-carousel .f-carousel__dots .f-carousel__dot:focus-visible {
  outline: 2px solid rgba(0, 0, 0, 0.35);
  outline-offset: 2px;
}
.modula .modula-slider.modula-gallery .modula-items.f-carousel .f-carousel__slide,
.modula .modula-slider .modula-items.f-carousel .f-carousel__slide {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}
.modula .modula-slider .modula-items.f-carousel.is-centered .f-carousel__slide::before,
.modula .modula-slider .modula-items.f-carousel.is-centered .f-carousel__slide::after {
  display: none;
}
.modula .modula-slider .modula-items.f-carousel.is-centered .f-carousel__slide {
  align-items: stretch;
}
.modula .modula-slider .modula-items.f-carousel .f-carousel__slide.modula-item {
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
}
.modula .modula-slider .modula-items.f-carousel .f-carousel__slide .modula-item-link.tile-inner {
  position: absolute;
  inset: 0;
  z-index: 5;
}
.modula .modula-slider .modula-items.f-carousel .f-carousel__slide .modula-slider-image-wrapper {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 1;
}
.modula .modula-slider .modula-items.f-carousel .f-carousel__slide .modula-item-picture {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  display: block;
}
.modula .modula-slider .modula-items.f-carousel .f-carousel__slide .modula-item-picture:not(.modula-item-picture--focal-crop) img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.modula .modula-slider .f-thumbs {
  margin-top: var(--modula-slider-thumbs-margin-top, 10px);
}
.modula .modula-slider .modula-items .modula-slider-image-wrapper {
  width: 100%;
  display: inline-block;
  position: relative;
}
.modula .modula-slider .modula-items .modula-slider-image-wrapper .slider-image-info {
  width: 100%;
}
.modula .modula-slider .modula-items .modula-slider-image-wrapper .slider-image-info.top_inside {
  position: absolute;
  left: 0;
  top: 0;
}
.modula .modula-slider .modula-items .modula-slider-image-wrapper .slider-image-info.bot_inside {
  position: absolute;
  left: 0;
  bottom: 0;
}
.modula .modula-slider .slider-image-info.bot_inside,
.modula .modula-slider .slider-image-info.top_inside {
  background-color: rgba(56, 54, 54, 0.2509803922);
}

/*
 * Story layout — MUST live under `.modula`, not `.modula-parallax-masonry`.
 * (Story can render on any gallery page; parallax scope would drop all story CSS.)
 */
.modula .modula-story {
  width: 100%;
  /*
   * Frame: no flex here. StoryChrome is position:absolute; carousel is absolute inset.
   * Height comes from aspect-ratio + width only.
   */
  /*
   * Tap zones: themes/WP often style button:focus with outline/box-shadow — reset with
   * high specificity (.modula.modula-gallery …) so story chrome stays clean.
   */
  /*
   * Settings-editor live preview: wrapping row — several portrait tiles per line when width allows,
   * then next row (“una sub alta” per rând); no horizontal scroll on the strip. 9:16 + Focus modal.
   */
}
.modula .modula-story .modula-story__frame {
  position: relative;
  width: 100%;
  max-width: 420px;
  margin: 0 auto;
  aspect-ratio: 9/16;
  max-height: min(90vh, 900px);
  border-radius: 14px;
  overflow: hidden;
  background: #0a0a0a;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
}
.modula .modula-story .modula-story__frame > .modula-items {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  min-height: 0;
}
.modula .modula-story .modula-items.f-carousel {
  isolation: isolate;
}
.modula .modula-story .modula-items.f-carousel .f-carousel__viewport {
  position: relative;
  z-index: 1;
  height: 100%;
}
.modula .modula-story .modula-items.f-carousel .f-carousel__track {
  height: 100%;
}
.modula .modula-story .modula-items.f-carousel .f-carousel__slide.modula-item {
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
  border-radius: 0;
  box-shadow: none;
}
.modula .modula-story .modula-items.f-carousel .f-carousel__slide .modula-item-link.tile-inner {
  position: absolute;
  inset: 0;
  z-index: 5;
}
.modula .modula-story .modula-story-chrome {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 8;
  display: flex;
  flex-direction: column;
}
.modula .modula-story .modula-story-progress {
  display: flex;
  gap: 4px;
  padding: 10px 10px 8px;
  pointer-events: none;
  flex-shrink: 0;
}
.modula .modula-story .modula-story-progress__seg {
  flex: 1 1 0;
  height: 3px;
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.35);
  overflow: hidden;
}
.modula .modula-story .modula-story-progress__fill {
  display: block;
  height: 100%;
  width: 0;
  border-radius: inherit;
  background: #fff;
  transition: width 0.25s ease;
}
.modula .modula-story .modula-story-progress__fill.is-done {
  width: 100%;
}
.modula .modula-story .modula-story-progress__fill.is-active {
  width: 100%;
}
.modula .modula-story .modula-story-taps {
  flex: 1 1 auto;
  display: flex;
  flex-direction: row;
  min-height: 0;
  pointer-events: none;
}
.modula .modula-story button.modula-story-tap.modula-story-tap {
  pointer-events: auto;
  -webkit-appearance: none;
  appearance: none;
  border: 0;
  padding: 0;
  margin: 0;
  background: transparent;
  cursor: pointer;
  color: transparent;
  -webkit-tap-highlight-color: transparent;
}
.modula .modula-story button.modula-story-tap.modula-story-tap::-moz-focus-inner {
  border: 0;
}
.modula .modula-story button.modula-story-tap.modula-story-tap:focus,
.modula .modula-story button.modula-story-tap.modula-story-tap:focus-visible,
.modula .modula-story button.modula-story-tap.modula-story-tap:focus-within,
.modula .modula-story button.modula-story-tap.modula-story-tap:active {
  outline: 0 !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
}
.modula .modula-story .modula.modula-gallery .modula-story button.modula-story-tap:focus,
.modula .modula-story .modula.modula-gallery .modula-story button.modula-story-tap:focus-visible,
.modula .modula-story .modula.modula-gallery .modula-story button.modula-story-tap:active {
  outline: 0 !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
}
.modula .modula-story .modula-story-tap--prev {
  flex: 0 0 28%;
}
.modula .modula-story .modula-story-tap--pass {
  flex: 1 1 auto;
  pointer-events: none;
}
.modula .modula-story .modula-story-tap--next {
  flex: 0 0 28%;
}
.modula .modula-story .modula-story-image-wrapper {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 1;
}
.modula .modula-story .modula-item-picture {
  flex: 1 1 auto;
  min-height: 0;
}
.modula .modula-story .modula-item-picture:not(.modula-item-picture--focal-crop) img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.modula .modula-story .modula-story-video-wrapper {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  position: relative;
  z-index: 1;
  background: #000;
}
.modula .modula-story .modula-story-video-el,
.modula .modula-story .modula-story-video-iframe,
.modula .modula-story .modula-story-video-poster {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  object-fit: cover;
  object-position: center;
}
.modula .modula-story .modula-story-video-el {
  background: #000;
}
.modula .modula-story .modula-story-caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 20px 14px 16px;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.2) 55%, transparent 100%);
  color: #fff;
  z-index: 2;
  pointer-events: none;
}
.modula .modula-story .modula-story-caption__title {
  font-weight: 600;
  font-size: 0.95rem;
  line-height: 1.3;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}
.modula .modula-story .modula-story-caption__desc {
  margin-top: 6px;
  font-size: 0.8rem;
  line-height: 1.35;
  opacity: 0.92;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.55);
}
.modula .modula-story.modula-story--editor-preview .modula-story__frame--editor-preview {
  max-width: 100%;
  aspect-ratio: auto;
  max-height: none;
  overflow: visible;
  background: transparent;
  box-shadow: none;
  /* Room so card box-shadows are not clipped by the takeover preview chrome */
  padding-bottom: 12px;
}
.modula .modula-story.modula-story--editor-preview .modula-story-editor-stack {
  position: relative;
  inset: auto;
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  /* Per line: leftover width splits evenly left/right (incl. last row after wrap). */
  justify-content: center;
  align-items: flex-start;
  column-gap: var(--modula-uniform-gap, 10px);
  row-gap: 16px;
  overflow: visible;
  padding-top: 6px;
  padding-bottom: 20px;
  z-index: 1;
  min-height: 0;
}
.modula .modula-story.modula-story--editor-preview .modula-story-editor-stack > .modula-item {
  flex: 0 1 auto;
  width: clamp(152px, 30vw, 238px);
  max-width: 100%;
  aspect-ratio: 9/16;
  border-radius: 14px;
  overflow: hidden;
  background: #0a0a0a;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.modula .modula-story.modula-story--editor-preview .modula-story-editor-stack .modula-story-image-wrapper {
  flex: 1 1 auto;
  min-height: 0;
}

/* BnB layout: hero (left) + 2x2 featured (right), then uniform grid */
.modula-bnb {
  --modula-bnb-gutter: 10px;
  /* Public front: extras stay in DOM for lightbox only (matches PHP BnB). */
  /* Settings editor / takeover preview: show extras under the featured block + badge. */
}
.modula-bnb .modula-bnb-featured {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: var(--modula-bnb-gutter);
  min-height: min(45vw, 420px);
  margin-bottom: var(--modula-bnb-gutter);
}
.modula-bnb .modula-bnb-hero {
  grid-column: 1;
  grid-row: 1/-1;
  position: relative;
  overflow: hidden;
  min-height: 0;
}
.modula-bnb .modula-bnb-featured-grid {
  grid-column: 2/-1;
  grid-row: 1/-1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: var(--modula-bnb-gutter);
  min-height: 0;
}
.modula-bnb .modula-bnb-featured-cell {
  position: relative;
  overflow: hidden;
  min-height: 0;
}
.modula-bnb .modula-bnb-grid {
  display: none;
  gap: var(--modula-bnb-gutter);
}
.modula-bnb.modula-bnb--editor-preview-extras .modula-bnb-grid {
  display: grid;
  margin-top: 0;
}
.modula-bnb .modula-bnb-grid-cell {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1;
  min-height: 0;
}
.modula-bnb .modula-bnb-lightbox-only-overlay {
  pointer-events: none;
  position: absolute;
  inset: 0;
  z-index: 5;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.35em;
  padding: 0.5rem;
  text-align: center;
  background: rgba(0, 0, 0, 0.55);
  box-sizing: border-box;
}
.modula-bnb .modula-bnb-lightbox-only-overlay__label {
  color: #fff;
  font-size: clamp(13px, 2.2vw, 20px);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}
.modula-bnb .modula-bnb-lightbox-only-overlay__hint {
  color: rgba(255, 255, 255, 0.92);
  font-size: clamp(10px, 1.6vw, 13px);
  font-weight: 500;
  line-height: 1.25;
  max-width: 12rem;
}
.modula-bnb .modula-bnb .modula-item-content {
  opacity: 1;
}

/*
 * Legacy modula.css forces html body .modula .modula-items .modula-item { position: absolute }.
 * React masonry columns need normal flow; without this, every tile stacks at (0,0).
 *
 * `react-responsive-masonry` wraps each child in an extra flex `div` (ref host) until it has
 * run `distributeChildren()`; only then items sit directly under the column `div`. Target both
 * depths so `.modula-item` is never left `position:absolute` inside a zero-height wrapper (that
 * breaks height measurement and prevents packing — looks like a fixed “row” grid).
 */
html body .modula .modula-items.modula-masonry-react > div > .modula-item,
html body .modula .modula-items.modula-masonry-react > div > div > .modula-item {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
}

/*
 * Embedded (content block / shortcode): copy lives in `.modula-item-content`. Legacy `modula.css`
 * sets `opacity: 0` on that node until `.tg-loaded` / `.modula-columns` — image tiles keep
 * `<picture>` as a *sibling* of the empty shell, so photos still show; embedded does not.
 * Scope: any `.modula-items` (masonry, justified, creative wrapper, etc.), not only masonry-react.
 */
html body .modula .modula-items .modula-item--embedded .modula-item-content {
  opacity: 1 !important;
  z-index: 2;
}

/*
 * Masonry columns: flex parents often lack a definite height; `height: 100%` on embedded tiles
 * collapses — reserve a minimum so the block is visible and text has a box.
 */
html body .modula .modula-items.modula-masonry-react .modula-item--embedded {
  min-height: clamp(5.5rem, 16vw, 11rem);
  align-self: stretch;
}

.modula-masonry-react > div > .modula-item,
.modula-masonry-react > div > div > .modula-item {
  position: relative;
  width: 100%;
  min-width: 0;
}
.modula-masonry-react .modula-item .modula-item-content img.pic {
  display: block;
  width: 100%;
  height: auto;
  position: relative;
  max-width: 100%;
}

/**
 * Uniform grid — equal columns (CSS Grid), equal cell size per row.
 * Default: square cells (aspect-ratio 1 / 1). Fixed height: add class
 * modula-uniform-grid--fixed-height (?modula_uniform_mode=fixed); uses
 * --modula-uniform-cell-h from gallery desktop height setting.
 */
.modula .modula-uniform-grid {
  --modula-uniform-cols: 4;
  --modula-uniform-cols-tablet: 2;
  --modula-uniform-cols-mobile: 1;
  --modula-uniform-gap: 10px;
  --modula-uniform-cell-h: 280px;
  /* Tile shape: height tracks column width (e.g. 1/1 = square). Images use object-fit: cover inside. */
  --modula-uniform-aspect: 1 / 1;
  display: grid;
  grid-template-columns: repeat(var(--modula-uniform-cols-mobile), minmax(0, 1fr));
  gap: var(--modula-uniform-gap);
  width: 100%;
  min-width: 0;
  align-items: stretch;
  /* Editor-preview pagination marker: full-width row must not use 1/1 aspect (height = width). */
  /*
   * modula.css forces .modula-items .modula-item { position: absolute } for legacy
   * layouts. That removes items from grid cell flow → cells collapse to 0 height →
   * “empty” grid. Match masonry stack (.modula-masonry-react > div > div > .modula-item).
   */
  /* React uses .modula-item-picture (not .pic on <picture>); keep media visible without .tg-loaded */
  /* Legacy modula.css uses huge max-width on .pic; force cover inside the tile slot */
}
@media (min-width: 768px) {
  .modula .modula-uniform-grid {
    grid-template-columns: repeat(var(--modula-uniform-cols-tablet), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .modula .modula-uniform-grid {
    grid-template-columns: repeat(var(--modula-uniform-cols), minmax(0, 1fr));
  }
}
.modula .modula-uniform-grid .modula-uniform-grid__cell {
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  aspect-ratio: var(--modula-uniform-aspect);
}
.modula .modula-uniform-grid .modula-uniform-grid__cell.modula-uniform-grid__cell--page-break {
  grid-column: 1/-1;
  aspect-ratio: unset;
  height: auto;
  min-height: 0;
  max-height: none;
  flex: 0 0 auto;
  align-self: stretch;
}
html body .modula .modula-uniform-grid.modula-items > .modula-uniform-grid__cell > .modula-item {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: 100%;
  min-width: 0;
  min-height: 0;
  height: 100%;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}
.modula .modula-uniform-grid .modula-uniform-grid__media {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  position: relative;
  overflow: hidden;
  z-index: 0;
}
.modula .modula-uniform-grid.modula-uniform-grid--fixed-height .modula-uniform-grid__cell {
  aspect-ratio: unset;
  height: var(--modula-uniform-cell-h);
}
.modula .modula-uniform-grid.modula-uniform-grid--fixed-height .modula-uniform-grid__cell.modula-uniform-grid__cell--page-break {
  height: auto;
  aspect-ratio: unset;
}
html body .modula .modula-uniform-grid.modula-items .modula-item .modula-item-picture, html body .modula .modula-uniform-grid.modula-items .modula-item img.pic {
  opacity: 1 !important;
}
html body .modula .modula-uniform-grid.modula-items .modula-uniform-grid__media .modula-item-picture:not(.modula-item-picture--focal-crop) img, html body .modula .modula-uniform-grid.modula-items .modula-uniform-grid__media img.pic {
  max-width: none !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center;
}
.modula .modula-uniform-grid .modula-item .modula-item-overlay {
  z-index: 1;
}
.modula .modula-uniform-grid .modula-item .modula-item-content {
  opacity: 1;
  z-index: 2;
  pointer-events: none;
}

/*
 * Polaroid: `.modula-items.modula-polaroid-gallery` is a direct child of `.modula`, not inside
 * `.modula-uniform-grid` — rules must not be nested under uniform-grid or the pin never gets
 * positioning and `.modula-item { overflow: hidden }` clips it.
 */
.modula .modula-items.modula-polaroid-gallery .modula-polaroid-slot.modula-item {
  overflow: visible;
}
.modula .modula-items.modula-polaroid-gallery .modula-polaroid-slot.modula-item:hover {
  z-index: 6;
}
.modula .modula-items.modula-polaroid-gallery .modula-polaroid-frame--has-pin .modula-polaroid-pin {
  position: absolute;
  top: -5px;
  left: 50%;
  width: 14px;
  height: 14px;
  margin-left: -7px;
  border-radius: 50%;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25), inset 0 1px 1px rgba(255, 255, 255, 0.45);
  z-index: 2;
  pointer-events: none;
}
.modula .modula-items.modula-polaroid-gallery .modula-polaroid-frame__media .modula-item-content,
.modula .modula-items.modula-polaroid-gallery .modula-polaroid-frame__media {
  height: 100%;
}
.modula .modula-items.modula-polaroid-gallery .modula-polaroid-frame__media .modula-item-picture:not(.modula-item-picture--focal-crop) img,
.modula .modula-items.modula-polaroid-gallery .modula-polaroid-frame__media img.pic {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Parallax masonry: viewfinder — 4 columns, continuous drift, top/bottom mask */
.modula-parallax-masonry {
  --modula-parallax-gutter: 10px;
  --modula-parallax-column-width: 200px;
  --modula-parallax-fade-height: 140px;
  --modula-parallax-fade-color: #000;
  --modula-parallax-viewfinder-radius: 12px;
  position: relative;
  height: 100vh;
  min-height: 400px;
  overflow: hidden;
  border-radius: var(--modula-parallax-viewfinder-radius);
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.06);
  /* Viewfinder mask: top — content fades as if it continues above */
  /* Overlay: background from React (settings.parallaxMasonry.overlayGradient); fallback if unset */
  /* Title on top: justified center, vertical center, bold, white */
  /* Columns extend into fade zone so drift never shows a hard edge */
}
.modula-parallax-masonry .modula-parallax-masonry-fade {
  position: absolute;
  left: 0;
  right: 0;
  height: var(--modula-parallax-fade-height);
  pointer-events: none;
  z-index: 2;
}
.modula-parallax-masonry .modula-parallax-masonry-fade--top {
  top: 0;
  background: linear-gradient(to bottom, var(--modula-parallax-fade-color) 0%, var(--modula-parallax-fade-color) 15%, color-mix(in srgb, var(--modula-parallax-fade-color) 85%, transparent) 35%, transparent 100%);
}
.modula-parallax-masonry .modula-parallax-masonry-fade--bottom {
  bottom: 0;
  background: linear-gradient(to top, var(--modula-parallax-fade-color) 0%, var(--modula-parallax-fade-color) 15%, color-mix(in srgb, var(--modula-parallax-fade-color) 85%, transparent) 35%, transparent 100%);
}
.modula-parallax-masonry .modula-parallax-masonry-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.88) 0%, rgba(0, 0, 0, 0.5) 40%, rgba(0, 0, 0, 0.15) 72%, rgba(0, 0, 0, 0) 100%);
  pointer-events: none;
  z-index: 3;
  border-radius: var(--modula-parallax-viewfinder-radius);
}
.modula-parallax-masonry .modula-parallax-masonry-title {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: bold;
  font-size: clamp(1.5rem, 4vw, 3rem);
  letter-spacing: 0.05em;
  pointer-events: none;
  z-index: 4;
}
.modula-parallax-masonry .modula-parallax-masonry-columns {
  display: flex;
  gap: var(--modula-parallax-gutter);
  justify-content: center;
  align-items: flex-start;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  padding: var(--modula-parallax-fade-height) 0;
  max-height: calc(100% + var(--modula-parallax-fade-height) * 2);
  will-change: transform;
}
.modula-parallax-masonry .modula-parallax-masonry-column {
  flex: 0 0 var(--modula-parallax-column-width);
  max-width: var(--modula-parallax-column-width);
  display: flex;
  flex-direction: column;
  gap: var(--modula-parallax-gutter);
  will-change: transform;
}
.modula-parallax-masonry .modula-parallax-masonry-item {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.modula-parallax-masonry .modula-parallax-masonry-item .modula-item {
  position: relative;
  width: 100%;
}
.modula-parallax-masonry .modula-parallax-masonry-item .modula-item-picture:not(.modula-item-picture--focal-crop),
.modula-parallax-masonry .modula-parallax-masonry-item .modula-item-picture:not(.modula-item-picture--focal-crop) img {
  display: block;
  width: 100%;
  height: auto;
  vertical-align: middle;
}
.modula-parallax-masonry .modula-parallax-masonry-item .modula-item-content {
  opacity: 1;
}
/*!********************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./node_modules/react-grid-layout/css/styles.css ***!
  \********************************************************************************************************************************************************************/
.react-grid-layout {
  position: relative;
  transition: height 200ms ease;
}

.react-grid-item {
  transition: all 200ms ease;
  transition-property: left, top, width, height;
}

.react-grid-item img {
  pointer-events: none;
  user-select: none;
}

.react-grid-item.cssTransforms {
  transition-property: transform, width, height;
}

.react-grid-item.resizing {
  transition: none;
  z-index: 1;
  will-change: width, height;
}

.react-grid-item.react-draggable-dragging {
  transition: none;
  z-index: 3;
  will-change: transform;
}

.react-grid-item.dropping {
  visibility: hidden;
}

.react-grid-item.react-grid-placeholder {
  background: red;
  opacity: 0.2;
  transition-duration: 100ms;
  z-index: 2;
  user-select: none;
}

.react-grid-item.react-grid-placeholder.placeholder-resizing {
  transition: none;
}

.react-grid-item > .react-resizable-handle {
  position: absolute;
  width: 20px;
  height: 20px;
  opacity: 0;
}

.react-grid-item:hover > .react-resizable-handle {
  opacity: 1;
}

.react-grid-item > .react-resizable-handle::after {
  content: "";
  position: absolute;
  right: 3px;
  bottom: 3px;
  width: 5px;
  height: 5px;
  border-right: 2px solid rgba(0, 0, 0, 0.4);
  border-bottom: 2px solid rgba(0, 0, 0, 0.4);
}

.react-resizable-hide > .react-resizable-handle {
  display: none;
}

.react-grid-item > .react-resizable-handle.react-resizable-handle-sw {
  bottom: 0;
  left: 0;
  cursor: sw-resize;
  transform: rotate(90deg);
}

.react-grid-item > .react-resizable-handle.react-resizable-handle-se {
  bottom: 0;
  right: 0;
  cursor: se-resize;
}

.react-grid-item > .react-resizable-handle.react-resizable-handle-nw {
  top: 0;
  left: 0;
  cursor: nw-resize;
  transform: rotate(180deg);
}

.react-grid-item > .react-resizable-handle.react-resizable-handle-ne {
  top: 0;
  right: 0;
  cursor: ne-resize;
  transform: rotate(270deg);
}

.react-grid-item > .react-resizable-handle.react-resizable-handle-w,
.react-grid-item > .react-resizable-handle.react-resizable-handle-e {
  top: 50%;
  margin-top: -10px;
  cursor: ew-resize;
}

.react-grid-item > .react-resizable-handle.react-resizable-handle-w {
  left: 0;
  transform: rotate(135deg);
}

.react-grid-item > .react-resizable-handle.react-resizable-handle-e {
  right: 0;
  transform: rotate(315deg);
}

.react-grid-item > .react-resizable-handle.react-resizable-handle-n,
.react-grid-item > .react-resizable-handle.react-resizable-handle-s {
  left: 50%;
  margin-left: -10px;
  cursor: ns-resize;
}

.react-grid-item > .react-resizable-handle.react-resizable-handle-n {
  top: 0;
  transform: rotate(225deg);
}

.react-grid-item > .react-resizable-handle.react-resizable-handle-s {
  bottom: 0;
  transform: rotate(45deg);
}
/*!******************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./node_modules/react-resizable/css/styles.css ***!
  \******************************************************************************************************************************************************************/
.react-resizable {
  position: relative;
}

.react-resizable-handle {
  position: absolute;
  width: 20px;
  height: 20px;
  background-repeat: no-repeat;
  background-origin: content-box;
  box-sizing: border-box;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);
  background-position: bottom right;
  padding: 0 3px 3px 0;
}

.react-resizable-handle-sw {
  bottom: 0;
  left: 0;
  cursor: sw-resize;
  transform: rotate(90deg);
}

.react-resizable-handle-se {
  bottom: 0;
  right: 0;
  cursor: se-resize;
}

.react-resizable-handle-nw {
  top: 0;
  left: 0;
  cursor: nw-resize;
  transform: rotate(180deg);
}

.react-resizable-handle-ne {
  top: 0;
  right: 0;
  cursor: ne-resize;
  transform: rotate(270deg);
}

.react-resizable-handle-w,
.react-resizable-handle-e {
  top: 50%;
  margin-top: -10px;
  cursor: ew-resize;
}

.react-resizable-handle-w {
  left: 0;
  transform: rotate(135deg);
}

.react-resizable-handle-e {
  right: 0;
  transform: rotate(315deg);
}

.react-resizable-handle-n,
.react-resizable-handle-s {
  left: 50%;
  margin-left: -10px;
  cursor: ns-resize;
}

.react-resizable-handle-n {
  top: 0;
  transform: rotate(225deg);
}

.react-resizable-handle-s {
  bottom: 0;
  transform: rotate(45deg);
}

/*# sourceMappingURL=modula-gallery.css.map*/