diff --git a/assets/lightGallery/README.md b/assets/lightGallery/README.md new file mode 100644 index 0000000..dcd5b35 --- /dev/null +++ b/assets/lightGallery/README.md @@ -0,0 +1,219 @@ + + + + + + + + +# lightGallery + +A customizable, modular, responsive, lightbox gallery plugin. No dependencies.\\ +Available for React.js, Angular, Vue.js, and typescript. + + + +## Core features + +- Fully responsive. +- Modular architecture with built in plugins. +- Highly optimized for touch devices. +- Mouse drag supports for desktops. +- Double-click/Double-tap to see actual size of the image. +- Animated thumbnails. +- Social sharing. +- YouTube Vimeo Wistia and html5 videos Support. +- 20+ Hardware-Accelerated CSS3 transitions. +- Dynamic mode. +- Inline gallery. +- Full screen support. +- Zoom in/out, Pinch to zoom. +- Swipe/Drag up/down support to close gallery. +- Browser history API(deep linking). +- Responsive images. +- HTML iframe support. +- Multiple instances on one page. +- Easily customizable via CSS (SCSS) and Settings. +- Smart image preloading and code optimization. +- Keyboard Navigation for desktop. +- SVG icons. +- Accessibility support. +- Rotate, flip images. +- And many more. + +## Documentation + +- [Getting started](https://www.lightgalleryjs.com/docs/getting-started/) +- [Settings](https://www.lightgalleryjs.com/docs/settings/) +- [React](https://www.lightgalleryjs.com/docs/react/) +- [Vue.js](https://www.lightgalleryjs.com/docs/vue/) +- [Angular](https://www.lightgalleryjs.com/docs/angular/) +- [Demos](https://www.lightgalleryjs.com/demos/thumbnails/) +- [CodePen](https://codepen.io/collection/BNNjpR) + +## Installation + +lightGallery is available on NPM, Yarn, Bower, CDNs, and GitHub. You can use any +of the following method to download lightGallery. + +- [NPM](https://www.npmjs.com/) - NPM is a package manager for the JavaScript + programming language. You can install `lightgallery` using the following + command + + ```sh + npm install lightgallery + ``` + +- [YARN](https://yarnpkg.com/) - Yarn is another popular package manager for + the JavaScript programming language. If you prefer you can use Yarn instead + of NPM + + ```sh + yarn add lightgallery + ``` + +- [Bower](http://bower.io) - You can find lightGallery on Bower package + manager as well + + ```sh + bower install lightgallery --save + ``` + +- [GitHub](https://github.com/sachinchoolur/lightGallery/archive/master.zip) - + You can also directly download lightgallery from GitHub + +- CDN - If you prefer to use a CDN, you can load files via + [jsdelivr](https://www.jsdelivr.com/projects/lightgallery), + [cdnjs](https://cdnjs.com/libraries/lightgallery) or + [unpkg](https://unpkg.com/browse/lightgallery@latest/) + +#### Include CSS and Javascript files + +First of all, include lightgallery.css in the <head> of the document. If +you want include any lightGallery plugin such as thumbnails or zoom, you need to +include respective css files as well. + +Alternatively you can include `lightgallery-bundle.css` which contains +lightGallery and all plugin styles instead of separate stylesheets. + +If you like you can also import scss files instead of css files from the `scss` +folder. + +```HTML +
+ + + + + + + + + + + +``` + +Then include lightgallery.umd.js into your document. If you want to include any +lightgallery plugin you can include it after lightgallery.umd.js. + +```HTML + + .... + + + + + + + +``` + +lightGallery supports AMD, CommonJS and ES6 modules too. + +```JavaScript +import lightGallery from 'lightgallery'; + +// Plugins +import lgThumbnail from 'lightgallery/plugins/thumbnail' +import lgZoom from 'lightgallery/plugins/zoom' + +``` + +#### The markup + +lightgallery does not force you to use any kind of markup. you can use whatever +markup you want. +Here can find +detailed examples of different kinds of markups. + +If you know the original size of the media, you can pass it via +`data-lg-size="${width}-${height}"` attribute for the initial +[zoom](https://www.lightgalleryjs.com/docs/settings/#zoomFromOrigin) animation. +But, this is completely optional. + +```HTML + +``` + +#### Initialize lightGallery + +Finally, you need to initiate the gallery by adding the following code. + +```javascript + +``` + +[CodePen Demos](https://codepen.io/collection/BNNjpR) + +#### License Key + +You'll receive a license key via email one you purchase a license [More info](https://www.lightgalleryjs.com/docs/settings/#licenseKey) + +#### Plugins + +As shown above, you need to pass the plugins via settings if you want to use any +lightGallery plugins. + +If you are including lightGallery files via script tag, please use the same +plugins names as follows. + +`lgZoom`, `lgAutoplay`, ` lgComment`, `lgFullscreen `, `lgHash`, `lgPager`, +`lgRotate`, `lgShare`, `lgThumbnail`, `lgVideo`, `lgMediumZoom` + +## Browser support + +lightGallery supports all major browsers including IE 10 and above. + +## License + +#### Commercial license + +If you want to use lightGallery to develop commercial sites, themes, projects, +and applications, the Commercial license is the appropriate license. With this +option, your source code is kept proprietary. +[Read more about the commercial license](https://www.lightgalleryjs.com/license/) + +#### Open source license + +If you are creating an open source application under a license compatible with +the GNU GPL license v3, you may use this project under the terms of the GPLv3. + +## Support + +If you have any questions, suggestions, feedback, please reach out to [contact@lightgalleryjs.com](mailto:contact@lightgalleryjs.com) or DM me on [twitter](https://twitter.com/SachinNeravath) diff --git a/assets/lightGallery/css/lg-autoplay.css b/assets/lightGallery/css/lg-autoplay.css new file mode 100644 index 0000000..cae5e8f --- /dev/null +++ b/assets/lightGallery/css/lg-autoplay.css @@ -0,0 +1,39 @@ +.lg-progress-bar { + background-color: #333; + height: 5px; + left: 0; + position: absolute; + top: 0; + width: 100%; + z-index: 1083; + opacity: 0; + will-change: opacity; + -webkit-transition: opacity 0.08s ease 0s; + -moz-transition: opacity 0.08s ease 0s; + -o-transition: opacity 0.08s ease 0s; + transition: opacity 0.08s ease 0s; +} +.lg-progress-bar .lg-progress { + background-color: rgb(169, 7, 7); + height: 5px; + width: 0; +} +.lg-progress-bar.lg-start .lg-progress { + width: 100%; +} +.lg-show-autoplay .lg-progress-bar { + opacity: 1; +} + +.lg-autoplay-button:after { + content: "\e01d"; +} +.lg-show-autoplay .lg-autoplay-button:after { + content: "\e01a"; +} +.lg-single-item .lg-autoplay-button { + opacity: 0.75; + pointer-events: none; +} + +/*# sourceMappingURL=lg-autoplay.css.map */ diff --git a/assets/lightGallery/css/lg-autoplay.css.map b/assets/lightGallery/css/lg-autoplay.css.map new file mode 100644 index 0000000..99de90f --- /dev/null +++ b/assets/lightGallery/css/lg-autoplay.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["../../src/scss/lg-autoplay.scss","../../src/scss/_lg-variables.scss","../../src/scss/_lg-mixins.scss"],"names":[],"mappings":"AAGA;EACI,kBC0BiB;EDzBjB,QC2BqB;ED1BrB;EACA;EACA;EACA;EACA,SCiDiB;EDhDjB;EACA;EE8RA;EACA;EACA;EACA,YFhSA;;AAEA;EACI,kBCTa;EDUb,QCeiB;EDdjB;;AAIA;EACI;;AAIR;EACI;;;AAKJ;EAII;;AAHA;EACI;;AAIR;EACI,SCb2B;EDc3B","file":"lg-autoplay.css"} \ No newline at end of file diff --git a/assets/lightGallery/css/lg-comments.css b/assets/lightGallery/css/lg-comments.css new file mode 100644 index 0000000..562b51a --- /dev/null +++ b/assets/lightGallery/css/lg-comments.css @@ -0,0 +1,119 @@ +.lg-comment-box { + width: 420px; + max-width: 100%; + position: absolute; + right: 0; + top: 0; + bottom: 0; + z-index: 9999; + background-color: #fff; + will-change: transform; + -moz-transform: translate3d(100%, 0, 0); + -o-transform: translate3d(100%, 0, 0); + -ms-transform: translate3d(100%, 0, 0); + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + -webkit-transition: -webkit-transform 0.4s cubic-bezier(0, 0, 0.25, 1) 0s; + -moz-transition: -moz-transform 0.4s cubic-bezier(0, 0, 0.25, 1) 0s; + -o-transition: -o-transform 0.4s cubic-bezier(0, 0, 0.25, 1) 0s; + transition: transform 0.4s cubic-bezier(0, 0, 0.25, 1) 0s; +} +.lg-comment-box .lg-comment-title { + margin: 0; + color: #fff; + font-size: 18px; +} +.lg-comment-box .lg-comment-header { + background-color: #000; + padding: 12px 20px; + position: absolute; + left: 0; + right: 0; + top: 0; +} +.lg-comment-box .lg-comment-body { + height: 100% !important; + padding-top: 43px !important; + width: 100% !important; +} +.lg-comment-box .fb-comments { + height: 100%; + width: 100%; + background: url("../images/loading.gif") no-repeat scroll center center #fff; + overflow-y: auto; + display: inline-block; +} +.lg-comment-box .fb-comments[fb-xfbml-state=rendered] { + background-image: none; +} +.lg-comment-box .fb-comments > span { + max-width: 100%; +} +.lg-comment-box .lg-comment-close { + position: absolute; + right: 5px; + top: 12px; + cursor: pointer; + font-size: 20px; + color: #999; + will-change: color; + -webkit-transition: color 0.2s linear; + -o-transition: color 0.2s linear; + transition: color 0.2s linear; +} +.lg-comment-box .lg-comment-close:hover { + color: #fff; +} +.lg-comment-box .lg-comment-close:after { + content: "\e070"; +} +.lg-comment-box iframe { + max-width: 100% !important; + width: 100% !important; +} +.lg-comment-box #disqus_thread { + padding: 0 20px; +} + +.lg-outer .lg-comment-overlay { + background-color: rgba(0, 0, 0, 0.25); + bottom: 0; + cursor: default; + left: 0; + position: fixed; + right: 0; + top: 0; + z-index: 1081; + opacity: 0; + visibility: hidden; + will-change: visibility, opacity; + -webkit-transition: visibility 0s linear 0.18s, opacity 0.18s linear 0s; + -o-transition: visibility 0s linear 0.18s, opacity 0.18s linear 0s; + transition: visibility 0s linear 0.18s, opacity 0.18s linear 0s; +} +.lg-outer .lg-comment-toggle:after { + content: "\e908"; +} +.lg-outer.lg-comment-active .lg-comment-overlay { + -webkit-transition-delay: 0s; + transition-delay: 0s; + -moz-transform: translate3d(0, 0px, 0); + -o-transform: translate3d(0, 0px, 0); + -ms-transform: translate3d(0, 0px, 0); + -webkit-transform: translate3d(0, 0px, 0); + transform: translate3d(0, 0px, 0); + opacity: 1; + visibility: visible; +} +.lg-outer.lg-comment-active .lg-comment-toggle { + color: #fff; +} +.lg-outer.lg-comment-active .lg-comment-box { + -moz-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} + +/*# sourceMappingURL=lg-comments.css.map */ diff --git a/assets/lightGallery/css/lg-comments.css.map b/assets/lightGallery/css/lg-comments.css.map new file mode 100644 index 0000000..7c0cb0a --- /dev/null +++ b/assets/lightGallery/css/lg-comments.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["../../src/scss/lg-comments.scss","../../src/scss/_lg-mixins.scss"],"names":[],"mappings":"AAGA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ECyMA,gBDxMmB;ECyMnB,cDzMmB;EC0MnB,eD1MmB;EC2MnB,mBD3MmB;EC4MnB,WD5MmB;EC6RnB;EACA;EACA;EACA,YD/RA;;AAEA;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;EAEA;EACA;;AACA;EACI;;AAEJ;EACI;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;ECoKJ,oBDnKI;ECoKJ,eDpKI;ECqKJ,YDrKI;;AACA;EACI;;AAEJ;EACI;;AAIR;EACI;EACA;;AAGJ;EACI;;;AAIJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ECqIJ,oBDpII;ECqIJ,eDrII;ECsIJ,YDtII;;AAMA;EACI;;AAIJ;ECoIJ,0BDnIkC;ECoIlC,kBDpIkC;EC8GlC,gBD7G2B;EC8G3B,cD9G2B;EC+G3B,eD/G2B;ECgH3B,mBDhH2B;ECiH3B,WDjH2B;EACnB;EACA;;AAEJ;EACI;;AAEJ;ECsGJ,gBDrG2B;ECsG3B,cDtG2B;ECuG3B,eDvG2B;ECwG3B,mBDxG2B;ECyG3B,WDzG2B","file":"lg-comments.css"} \ No newline at end of file diff --git a/assets/lightGallery/css/lg-fullscreen.css b/assets/lightGallery/css/lg-fullscreen.css new file mode 100644 index 0000000..51c2516 --- /dev/null +++ b/assets/lightGallery/css/lg-fullscreen.css @@ -0,0 +1,8 @@ +.lg-fullscreen:after { + content: "\e20c"; +} +.lg-fullscreen-on .lg-fullscreen:after { + content: "\e20d"; +} + +/*# sourceMappingURL=lg-fullscreen.css.map */ diff --git a/assets/lightGallery/css/lg-fullscreen.css.map b/assets/lightGallery/css/lg-fullscreen.css.map new file mode 100644 index 0000000..9543949 --- /dev/null +++ b/assets/lightGallery/css/lg-fullscreen.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["../../src/scss/lg-fullscreen.scss"],"names":[],"mappings":"AACI;EACI;;AAEA;EACI","file":"lg-fullscreen.css"} \ No newline at end of file diff --git a/assets/lightGallery/css/lg-medium-zoom.css b/assets/lightGallery/css/lg-medium-zoom.css new file mode 100644 index 0000000..bc3bda3 --- /dev/null +++ b/assets/lightGallery/css/lg-medium-zoom.css @@ -0,0 +1,15 @@ +.lg-medium-zoom-item { + cursor: zoom-in; +} + +.lg-medium-zoom .lg-outer { + cursor: zoom-out; +} +.lg-medium-zoom .lg-outer.lg-grab img.lg-object { + cursor: zoom-out; +} +.lg-medium-zoom .lg-outer.lg-grabbing img.lg-object { + cursor: zoom-out; +} + +/*# sourceMappingURL=lg-medium-zoom.css.map */ diff --git a/assets/lightGallery/css/lg-medium-zoom.css.map b/assets/lightGallery/css/lg-medium-zoom.css.map new file mode 100644 index 0000000..59e3c5a --- /dev/null +++ b/assets/lightGallery/css/lg-medium-zoom.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["../../src/scss/lg-medium-zoom.scss"],"names":[],"mappings":"AAAA;EACI;;;AAGA;EACI;;AAGI;EACI;;AAKJ;EACI","file":"lg-medium-zoom.css"} \ No newline at end of file diff --git a/assets/lightGallery/css/lg-pager.css b/assets/lightGallery/css/lg-pager.css new file mode 100644 index 0000000..47318c6 --- /dev/null +++ b/assets/lightGallery/css/lg-pager.css @@ -0,0 +1,82 @@ +.lg-outer .lg-pager-outer { + text-align: center; + z-index: 1080; + height: 10px; + margin-bottom: 10px; +} +.lg-outer .lg-pager-outer.lg-pager-hover .lg-pager-cont { + overflow: visible; +} +.lg-outer.lg-single-item .lg-pager-outer { + display: none; +} +.lg-outer .lg-pager-cont { + cursor: pointer; + display: inline-block; + overflow: hidden; + position: relative; + vertical-align: top; + margin: 0 5px; +} +.lg-outer .lg-pager-cont:hover .lg-pager-thumb-cont { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} +.lg-outer .lg-pager-cont.lg-pager-active .lg-pager { + box-shadow: 0 0 0 2px white inset; +} +.lg-outer .lg-pager-thumb-cont { + background-color: #fff; + color: #fff; + bottom: 100%; + height: 83px; + left: 0; + margin-bottom: 20px; + margin-left: -60px; + opacity: 0; + padding: 5px; + position: absolute; + width: 120px; + border-radius: 3px; + will-change: transform, opacity; + -webkit-transition: opacity 0.15s ease 0s, -webkit-transform 0.15s ease 0s; + -moz-transition: opacity 0.15s ease 0s, -moz-transform 0.15s ease 0s; + -o-transition: opacity 0.15s ease 0s, -o-transform 0.15s ease 0s; + transition: opacity 0.15s ease 0s, transform 0.15s ease 0s; + -webkit-transform: translate3d(0, 5px, 0); + transform: translate3d(0, 5px, 0); +} +.lg-outer .lg-pager-thumb-cont img { + width: 100%; + height: 100%; +} +.lg-outer .lg-pager { + background-color: rgba(255, 255, 255, 0.5); + border-radius: 50%; + box-shadow: 0 0 0 8px rgba(255, 255, 255, 0.7) inset; + display: block; + height: 12px; + -webkit-transition: box-shadow 0.3s ease 0s; + -o-transition: box-shadow 0.3s ease 0s; + transition: box-shadow 0.3s ease 0s; + width: 12px; +} +.lg-outer .lg-pager:hover, .lg-outer .lg-pager:focus { + box-shadow: 0 0 0 8px white inset; +} +.lg-outer .lg-caret { + border-left: 10px solid transparent; + border-right: 10px solid transparent; + border-top: 10px dashed; + bottom: -10px; + display: inline-block; + height: 0; + left: 50%; + margin-left: -5px; + position: absolute; + vertical-align: middle; + width: 0; +} + +/*# sourceMappingURL=lg-pager.css.map */ diff --git a/assets/lightGallery/css/lg-pager.css.map b/assets/lightGallery/css/lg-pager.css.map new file mode 100644 index 0000000..9471357 --- /dev/null +++ b/assets/lightGallery/css/lg-pager.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["../../src/scss/lg-pager.scss","../../src/scss/_lg-variables.scss","../../src/scss/_lg-mixins.scss"],"names":[],"mappings":"AAII;EACI;EACA,SC0DO;EDzDP;EACA;;AAGI;EACI;;AAMR;EACI;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;;AAGI;EACI;EEkIZ;EACA;;AF7HQ;EACI;;AAKZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EEgPJ;EACA;EACA;EACA,YFlPI;EEwGJ;EACA;;AFnGI;EACI;EACA;;AAIR;EACI;EACA;EACA;EACA;EACA;EEmJJ,oBFlJI;EEmJJ,eFnJI;EEoJJ,YFpJI;EACA;;AAEA;EAEI;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA","file":"lg-pager.css"} \ No newline at end of file diff --git a/assets/lightGallery/css/lg-relative-caption.css b/assets/lightGallery/css/lg-relative-caption.css new file mode 100644 index 0000000..4198dc2 --- /dev/null +++ b/assets/lightGallery/css/lg-relative-caption.css @@ -0,0 +1,16 @@ +.lg-relative-caption .lg-outer .lg-sub-html { + white-space: normal; + bottom: auto; + padding: 0; + background-image: none; +} +.lg-relative-caption .lg-outer .lg-relative-caption-item { + opacity: 0; + padding: 16px 0; + transition: 0.5s opacity ease; +} +.lg-relative-caption .lg-outer .lg-show-caption .lg-relative-caption-item { + opacity: 1; +} + +/*# sourceMappingURL=lg-relative-caption.css.map */ diff --git a/assets/lightGallery/css/lg-relative-caption.css.map b/assets/lightGallery/css/lg-relative-caption.css.map new file mode 100644 index 0000000..c0ecdcd --- /dev/null +++ b/assets/lightGallery/css/lg-relative-caption.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["../../src/scss/lg-relative-caption.scss"],"names":[],"mappings":"AAEQ;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;;AAIA;EACI","file":"lg-relative-caption.css"} \ No newline at end of file diff --git a/assets/lightGallery/css/lg-rotate.css b/assets/lightGallery/css/lg-rotate.css new file mode 100644 index 0000000..c63ec3b --- /dev/null +++ b/assets/lightGallery/css/lg-rotate.css @@ -0,0 +1,49 @@ +.lg-outer .lg-img-rotate { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + -webkit-transition: -webkit-transform 0.4s cubic-bezier(0, 0, 0.25, 1) 0s; + -moz-transition: -moz-transform 0.4s cubic-bezier(0, 0, 0.25, 1) 0s; + -o-transition: -o-transform 0.4s cubic-bezier(0, 0, 0.25, 1) 0s; + transition: transform 0.4s cubic-bezier(0, 0, 0.25, 1) 0s; +} +.lg-outer[data-lg-slide-type=video] .lg-rotate-left, +.lg-outer[data-lg-slide-type=video] .lg-rotate-right, +.lg-outer[data-lg-slide-type=video] .lg-flip-ver, +.lg-outer[data-lg-slide-type=video] .lg-flip-hor, .lg-outer[data-lg-slide-type=iframe] .lg-rotate-left, +.lg-outer[data-lg-slide-type=iframe] .lg-rotate-right, +.lg-outer[data-lg-slide-type=iframe] .lg-flip-ver, +.lg-outer[data-lg-slide-type=iframe] .lg-flip-hor { + opacity: 0.75; + pointer-events: none; +} +.lg-outer .lg-img-rotate:before { + content: ""; + display: inline-block; + height: 100%; + vertical-align: middle; +} + +.lg-rotate-left:after { + content: "\e900"; +} + +.lg-rotate-right:after { + content: "\e901"; +} + +.lg-icon.lg-flip-hor, .lg-icon.lg-flip-ver { + font-size: 26px; +} + +.lg-flip-ver:after { + content: "\e903"; +} + +.lg-flip-hor:after { + content: "\e902"; +} + +/*# sourceMappingURL=lg-rotate.css.map */ diff --git a/assets/lightGallery/css/lg-rotate.css.map b/assets/lightGallery/css/lg-rotate.css.map new file mode 100644 index 0000000..3761e7a --- /dev/null +++ b/assets/lightGallery/css/lg-rotate.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["../../src/scss/lg-rotate.scss","../../src/scss/_lg-mixins.scss","../../src/scss/_lg-variables.scss"],"names":[],"mappings":"AAII;EACI;EACA;EACA;EACA;EACA;ECiSJ;EACA;EACA;EACA,YDnSI;;AAMA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAII,SEOuB;EFNvB;;AAIJ;EACI;EACA;EACA;EACA;;;AAMR;EACI;;;AAKJ;EACI;;;AAKJ;EAEI;;;AAKJ;EACI;;;AAKJ;EACI","file":"lg-rotate.css"} \ No newline at end of file diff --git a/assets/lightGallery/css/lg-share.css b/assets/lightGallery/css/lg-share.css new file mode 100644 index 0000000..39936e3 --- /dev/null +++ b/assets/lightGallery/css/lg-share.css @@ -0,0 +1,127 @@ +.lg-outer .lg-dropdown-overlay { + background-color: rgba(0, 0, 0, 0.25); + bottom: 0; + cursor: default; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 1081; + opacity: 0; + visibility: hidden; + will-change: visibility, opacity; + -webkit-transition: visibility 0s linear 0.18s, opacity 0.18s linear 0s; + -o-transition: visibility 0s linear 0.18s, opacity 0.18s linear 0s; + transition: visibility 0s linear 0.18s, opacity 0.18s linear 0s; +} +.lg-outer.lg-dropdown-active .lg-dropdown, +.lg-outer.lg-dropdown-active .lg-dropdown-overlay { + -webkit-transition-delay: 0s; + transition-delay: 0s; + -moz-transform: translate3d(0, 0px, 0); + -o-transform: translate3d(0, 0px, 0); + -ms-transform: translate3d(0, 0px, 0); + -webkit-transform: translate3d(0, 0px, 0); + transform: translate3d(0, 0px, 0); + opacity: 1; + visibility: visible; +} +.lg-outer.lg-dropdown-active .lg-share { + color: #fff; +} +.lg-outer .lg-dropdown { + background-color: #fff; + border-radius: 2px; + font-size: 14px; + list-style-type: none; + margin: 0; + padding: 10px 0; + position: absolute; + right: 0; + text-align: left; + top: 50px; + opacity: 0; + visibility: hidden; + -moz-transform: translate3d(0, 5px, 0); + -o-transform: translate3d(0, 5px, 0); + -ms-transform: translate3d(0, 5px, 0); + -webkit-transform: translate3d(0, 5px, 0); + transform: translate3d(0, 5px, 0); + will-change: visibility, opacity, transform; + -webkit-transition: -webkit-transform 0.18s linear 0s, visibility 0s linear 0.5s, opacity 0.18s linear 0s; + -moz-transition: -moz-transform 0.18s linear 0s, visibility 0s linear 0.5s, opacity 0.18s linear 0s; + -o-transition: -o-transform 0.18s linear 0s, visibility 0s linear 0.5s, opacity 0.18s linear 0s; + transition: transform 0.18s linear 0s, visibility 0s linear 0.5s, opacity 0.18s linear 0s; +} +.lg-outer .lg-dropdown:after { + content: ""; + display: block; + height: 0; + width: 0; + position: absolute; + border: 8px solid transparent; + border-bottom-color: #fff; + right: 16px; + top: -16px; +} +.lg-outer .lg-dropdown > li:last-child { + margin-bottom: 0px; +} +.lg-outer .lg-dropdown > li:hover a { + color: #333; +} +.lg-outer .lg-dropdown a { + color: #333; + display: block; + white-space: pre; + padding: 4px 12px; + font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 12px; +} +.lg-outer .lg-dropdown a:hover { + background-color: rgba(0, 0, 0, 0.07); +} +.lg-outer .lg-dropdown .lg-dropdown-text { + display: inline-block; + line-height: 1; + margin-top: -3px; + vertical-align: middle; +} +.lg-outer .lg-dropdown .lg-icon { + color: #333; + display: inline-block; + float: none; + font-size: 20px; + height: auto; + line-height: 1; + margin-right: 8px; + padding: 0; + vertical-align: middle; + width: auto; +} +.lg-outer .lg-share { + position: relative; +} +.lg-outer .lg-share:after { + content: "\e80d"; +} +.lg-outer .lg-share-facebook .lg-icon { + color: #3b5998; +} +.lg-outer .lg-share-facebook .lg-icon:after { + content: "\e904"; +} +.lg-outer .lg-share-twitter .lg-icon { + color: #00aced; +} +.lg-outer .lg-share-twitter .lg-icon:after { + content: "\e907"; +} +.lg-outer .lg-share-pinterest .lg-icon { + color: #cb2027; +} +.lg-outer .lg-share-pinterest .lg-icon:after { + content: "\e906"; +} + +/*# sourceMappingURL=lg-share.css.map */ diff --git a/assets/lightGallery/css/lg-share.css.map b/assets/lightGallery/css/lg-share.css.map new file mode 100644 index 0000000..ce39b03 --- /dev/null +++ b/assets/lightGallery/css/lg-share.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["../../src/scss/lg-share.scss","../../src/scss/_lg-mixins.scss"],"names":[],"mappings":"AAII;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ECgNJ,oBD/MI;ECgNJ,eDhNI;ECiNJ,YDjNI;;AAMA;AAAA;ECoNJ,0BDlNkC;ECmNlC,kBDnNkC;EC6LlC,gBD5L2B;EC6L3B,cD7L2B;EC8L3B,eD9L2B;EC+L3B,mBD/L2B;ECgM3B,WDhM2B;EACnB;EACA;;AAEJ;EACI;;AAGR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ECwKJ,gBDvKuB;ECwKvB,cDxKuB;ECyKvB,eDzKuB;EC0KvB,mBD1KuB;EC2KvB,WD3KuB;EACnB;EC2PJ;EACA;EACA;EACA,YD7PI;;AAMA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;EACI;;AAGA;EACI;;AAIZ;EACI;EACA;EACA;EACA;EACA;EAEA;;AACA;EACI;;AAGR;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGR;EACI;;AACA;EACI;;AAIJ;EACI;;AACA;EACI;;AAKR;EACI;;AACA;EACI;;AAKR;EACI;;AACA;EACI","file":"lg-share.css"} \ No newline at end of file diff --git a/assets/lightGallery/css/lg-thumbnail.css b/assets/lightGallery/css/lg-thumbnail.css new file mode 100644 index 0000000..3fc755d --- /dev/null +++ b/assets/lightGallery/css/lg-thumbnail.css @@ -0,0 +1,93 @@ +.lg-outer .lg-thumb-outer { + background-color: #0d0a0a; + width: 100%; + max-height: 350px; + overflow: hidden; + float: left; +} +.lg-outer .lg-thumb-outer.lg-grab .lg-thumb-item { + cursor: -webkit-grab; + cursor: -moz-grab; + cursor: -o-grab; + cursor: -ms-grab; + cursor: grab; +} +.lg-outer .lg-thumb-outer.lg-grabbing .lg-thumb-item { + cursor: move; + cursor: -webkit-grabbing; + cursor: -moz-grabbing; + cursor: -o-grabbing; + cursor: -ms-grabbing; + cursor: grabbing; +} +.lg-outer .lg-thumb-outer.lg-dragging .lg-thumb { + -webkit-transition-duration: 0s !important; + transition-duration: 0s !important; +} +.lg-outer .lg-thumb-outer.lg-rebuilding-thumbnails .lg-thumb { + -webkit-transition-duration: 0s !important; + transition-duration: 0s !important; +} +.lg-outer .lg-thumb-outer.lg-thumb-align-middle { + text-align: center; +} +.lg-outer .lg-thumb-outer.lg-thumb-align-left { + text-align: left; +} +.lg-outer .lg-thumb-outer.lg-thumb-align-right { + text-align: right; +} +.lg-outer.lg-single-item .lg-thumb-outer { + display: none; +} +.lg-outer .lg-thumb { + padding: 5px 0; + height: 100%; + margin-bottom: -5px; + display: inline-block; + vertical-align: middle; +} +@media (min-width: 768px) { + .lg-outer .lg-thumb { + padding: 10px 0; + } +} +.lg-outer .lg-thumb-item { + cursor: pointer; + float: left; + overflow: hidden; + height: 100%; + border-radius: 2px; + margin-bottom: 5px; + will-change: border-color; +} +@media (min-width: 768px) { + .lg-outer .lg-thumb-item { + border-radius: 4px; + border: 2px solid #fff; + -webkit-transition: border-color 0.25s ease; + -o-transition: border-color 0.25s ease; + transition: border-color 0.25s ease; + } +} +.lg-outer .lg-thumb-item.active, .lg-outer .lg-thumb-item:hover { + border-color: rgb(169, 7, 7); +} +.lg-outer .lg-thumb-item img { + width: 100%; + height: 100%; + object-fit: cover; + display: block; +} +.lg-outer.lg-can-toggle .lg-item { + padding-bottom: 0; +} +.lg-outer .lg-toggle-thumb:after { + content: "\e1ff"; +} +.lg-outer.lg-animate-thumb .lg-thumb { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); +} + +/*# sourceMappingURL=lg-thumbnail.css.map */ diff --git a/assets/lightGallery/css/lg-thumbnail.css.map b/assets/lightGallery/css/lg-thumbnail.css.map new file mode 100644 index 0000000..4208464 --- /dev/null +++ b/assets/lightGallery/css/lg-thumbnail.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["../../src/scss/lg-thumbnail.scss","../../src/scss/_lg-variables.scss","../../src/scss/_lg-mixins.scss"],"names":[],"mappings":"AAMI;EACI,kBC6CM;ED5CN;EACA;EACA;EACA;;AAGI;EE+SR;EACA;EACA;EACA;EACA;;AF7SQ;EEiTR;EACA;EACA;EACA;EACA;EACA;;AFhTQ;EEqNR,6BFpNY;EEqNZ,qBFrNY;;AAIJ;EEgNR,6BF/MY;EEgNZ,qBFhNY;;AAIR;EACI;;AAEJ;EACI;;AAEJ;EACI;;AAKJ;EACI;;AAIR;EACI;EACA;EACA;EACA;EACA;;AACA;EANJ;IAOQ;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA,eAnEY;EAoEZ;;AACA;EARJ;IASQ;IACA;IEqJR,oBFpJQ;IEqJR,eFrJQ;IEsJR,YFtJQ;;;AAGJ;EAEI,cCzES;;AD4Eb;EACI;EACA;EACA;EACA;;AAKJ;EACI;;AAKJ;EACI;;AAIJ;EE6IJ,oCF3IY;EE4IZ,4BF5IY","file":"lg-thumbnail.css"} \ No newline at end of file diff --git a/assets/lightGallery/css/lg-transitions.css b/assets/lightGallery/css/lg-transitions.css new file mode 100644 index 0000000..efc84e7 --- /dev/null +++ b/assets/lightGallery/css/lg-transitions.css @@ -0,0 +1,845 @@ +.lg-css3.lg-zoom-in .lg-item { + opacity: 0; +} +.lg-css3.lg-zoom-in .lg-item.lg-prev-slide { + -webkit-transform: scale3d(1.3, 1.3, 1.3); + transform: scale3d(1.3, 1.3, 1.3); +} +.lg-css3.lg-zoom-in .lg-item.lg-next-slide { + -webkit-transform: scale3d(1.3, 1.3, 1.3); + transform: scale3d(1.3, 1.3, 1.3); +} +.lg-css3.lg-zoom-in .lg-item.lg-current { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + opacity: 1; +} +.lg-css3.lg-zoom-in .lg-item.lg-prev-slide, .lg-css3.lg-zoom-in .lg-item.lg-next-slide, .lg-css3.lg-zoom-in .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; +} + +.lg-css3.lg-lollipop-rev .lg-item { + opacity: 0; +} +.lg-css3.lg-lollipop-rev .lg-item.lg-prev-slide { + -moz-transform: translate3d(0, 0, 0) scale(0.5); + -o-transform: translate3d(0, 0, 0) scale(0.5); + -ms-transform: translate3d(0, 0, 0) scale(0.5); + -webkit-transform: translate3d(0, 0, 0) scale(0.5); + transform: translate3d(0, 0, 0) scale(0.5); +} +.lg-css3.lg-lollipop-rev .lg-item.lg-next-slide { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); +} +.lg-css3.lg-lollipop-rev .lg-item.lg-current { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1; +} +.lg-css3.lg-lollipop-rev .lg-item.lg-prev-slide, .lg-css3.lg-lollipop-rev .lg-item.lg-next-slide, .lg-css3.lg-lollipop-rev .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; +} + +.lg-css3.lg-slide-skew-ver-cross .lg-item { + opacity: 0; +} +.lg-css3.lg-slide-skew-ver-cross .lg-item.lg-prev-slide { + -moz-transform: skew(0deg, 20deg) translate3d(0, -100%, 0px); + -o-transform: skew(0deg, 20deg) translate3d(0, -100%, 0px); + -ms-transform: skew(0deg, 20deg) translate3d(0, -100%, 0px); + -webkit-transform: skew(0deg, 20deg) translate3d(0, -100%, 0px); + transform: skew(0deg, 20deg) translate3d(0, -100%, 0px); +} +.lg-css3.lg-slide-skew-ver-cross .lg-item.lg-next-slide { + -moz-transform: skew(0deg, 20deg) translate3d(0, 100%, 0px); + -o-transform: skew(0deg, 20deg) translate3d(0, 100%, 0px); + -ms-transform: skew(0deg, 20deg) translate3d(0, 100%, 0px); + -webkit-transform: skew(0deg, 20deg) translate3d(0, 100%, 0px); + transform: skew(0deg, 20deg) translate3d(0, 100%, 0px); +} +.lg-css3.lg-slide-skew-ver-cross .lg-item.lg-current { + -moz-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -o-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -ms-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -webkit-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + opacity: 1; +} +.lg-css3.lg-slide-skew-ver-cross .lg-item.lg-prev-slide, .lg-css3.lg-slide-skew-ver-cross .lg-item.lg-next-slide, .lg-css3.lg-slide-skew-ver-cross .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; +} + +.lg-css3.lg-lollipop .lg-item { + opacity: 0; +} +.lg-css3.lg-lollipop .lg-item.lg-prev-slide { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); +} +.lg-css3.lg-lollipop .lg-item.lg-next-slide { + -moz-transform: translate3d(0, 0, 0) scale(0.5); + -o-transform: translate3d(0, 0, 0) scale(0.5); + -ms-transform: translate3d(0, 0, 0) scale(0.5); + -webkit-transform: translate3d(0, 0, 0) scale(0.5); + transform: translate3d(0, 0, 0) scale(0.5); +} +.lg-css3.lg-lollipop .lg-item.lg-current { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1; +} +.lg-css3.lg-lollipop .lg-item.lg-prev-slide, .lg-css3.lg-lollipop .lg-item.lg-next-slide, .lg-css3.lg-lollipop .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; +} + +.lg-css3.lg-slide-skew-ver-rev .lg-item { + opacity: 0; +} +.lg-css3.lg-slide-skew-ver-rev .lg-item.lg-prev-slide { + -moz-transform: skew(-60deg, 0deg) translate3d(0, -100%, 0px); + -o-transform: skew(-60deg, 0deg) translate3d(0, -100%, 0px); + -ms-transform: skew(-60deg, 0deg) translate3d(0, -100%, 0px); + -webkit-transform: skew(-60deg, 0deg) translate3d(0, -100%, 0px); + transform: skew(-60deg, 0deg) translate3d(0, -100%, 0px); +} +.lg-css3.lg-slide-skew-ver-rev .lg-item.lg-next-slide { + -moz-transform: skew(-60deg, 0deg) translate3d(0, 100%, 0px); + -o-transform: skew(-60deg, 0deg) translate3d(0, 100%, 0px); + -ms-transform: skew(-60deg, 0deg) translate3d(0, 100%, 0px); + -webkit-transform: skew(-60deg, 0deg) translate3d(0, 100%, 0px); + transform: skew(-60deg, 0deg) translate3d(0, 100%, 0px); +} +.lg-css3.lg-slide-skew-ver-rev .lg-item.lg-current { + -moz-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -o-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -ms-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -webkit-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + opacity: 1; +} +.lg-css3.lg-slide-skew-ver-rev .lg-item.lg-prev-slide, .lg-css3.lg-slide-skew-ver-rev .lg-item.lg-next-slide, .lg-css3.lg-slide-skew-ver-rev .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; +} + +.lg-css3.lg-rotate-rev .lg-item { + opacity: 0; +} +.lg-css3.lg-rotate-rev .lg-item.lg-prev-slide { + -moz-transform: rotate(360deg); + -o-transform: rotate(360deg); + -ms-transform: rotate(360deg); + -webkit-transform: rotate(360deg); + transform: rotate(360deg); +} +.lg-css3.lg-rotate-rev .lg-item.lg-next-slide { + -moz-transform: rotate(-360deg); + -o-transform: rotate(-360deg); + -ms-transform: rotate(-360deg); + -webkit-transform: rotate(-360deg); + transform: rotate(-360deg); +} +.lg-css3.lg-rotate-rev .lg-item.lg-current { + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -ms-transform: rotate(0deg); + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + opacity: 1; +} +.lg-css3.lg-rotate-rev .lg-item.lg-prev-slide, .lg-css3.lg-rotate-rev .lg-item.lg-next-slide, .lg-css3.lg-rotate-rev .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; +} + +.lg-css3.lg-slide-skew-ver .lg-item { + opacity: 0; +} +.lg-css3.lg-slide-skew-ver .lg-item.lg-prev-slide { + -moz-transform: skew(60deg, 0deg) translate3d(0, -100%, 0px); + -o-transform: skew(60deg, 0deg) translate3d(0, -100%, 0px); + -ms-transform: skew(60deg, 0deg) translate3d(0, -100%, 0px); + -webkit-transform: skew(60deg, 0deg) translate3d(0, -100%, 0px); + transform: skew(60deg, 0deg) translate3d(0, -100%, 0px); +} +.lg-css3.lg-slide-skew-ver .lg-item.lg-next-slide { + -moz-transform: skew(60deg, 0deg) translate3d(0, 100%, 0px); + -o-transform: skew(60deg, 0deg) translate3d(0, 100%, 0px); + -ms-transform: skew(60deg, 0deg) translate3d(0, 100%, 0px); + -webkit-transform: skew(60deg, 0deg) translate3d(0, 100%, 0px); + transform: skew(60deg, 0deg) translate3d(0, 100%, 0px); +} +.lg-css3.lg-slide-skew-ver .lg-item.lg-current { + -moz-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -o-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -ms-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -webkit-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + opacity: 1; +} +.lg-css3.lg-slide-skew-ver .lg-item.lg-prev-slide, .lg-css3.lg-slide-skew-ver .lg-item.lg-next-slide, .lg-css3.lg-slide-skew-ver .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; +} + +.lg-css3.lg-rotate .lg-item { + opacity: 0; +} +.lg-css3.lg-rotate .lg-item.lg-prev-slide { + -moz-transform: rotate(-360deg); + -o-transform: rotate(-360deg); + -ms-transform: rotate(-360deg); + -webkit-transform: rotate(-360deg); + transform: rotate(-360deg); +} +.lg-css3.lg-rotate .lg-item.lg-next-slide { + -moz-transform: rotate(360deg); + -o-transform: rotate(360deg); + -ms-transform: rotate(360deg); + -webkit-transform: rotate(360deg); + transform: rotate(360deg); +} +.lg-css3.lg-rotate .lg-item.lg-current { + -moz-transform: rotate(0deg); + -o-transform: rotate(0deg); + -ms-transform: rotate(0deg); + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + opacity: 1; +} +.lg-css3.lg-rotate .lg-item.lg-prev-slide, .lg-css3.lg-rotate .lg-item.lg-next-slide, .lg-css3.lg-rotate .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; +} + +.lg-css3.lg-slide-skew .lg-item { + opacity: 0; +} +.lg-css3.lg-slide-skew .lg-item.lg-prev-slide { + -moz-transform: skew(20deg, 0deg) translate3d(-100%, 0%, 0px); + -o-transform: skew(20deg, 0deg) translate3d(-100%, 0%, 0px); + -ms-transform: skew(20deg, 0deg) translate3d(-100%, 0%, 0px); + -webkit-transform: skew(20deg, 0deg) translate3d(-100%, 0%, 0px); + transform: skew(20deg, 0deg) translate3d(-100%, 0%, 0px); +} +.lg-css3.lg-slide-skew .lg-item.lg-next-slide { + -moz-transform: skew(20deg, 0deg) translate3d(100%, 0%, 0px); + -o-transform: skew(20deg, 0deg) translate3d(100%, 0%, 0px); + -ms-transform: skew(20deg, 0deg) translate3d(100%, 0%, 0px); + -webkit-transform: skew(20deg, 0deg) translate3d(100%, 0%, 0px); + transform: skew(20deg, 0deg) translate3d(100%, 0%, 0px); +} +.lg-css3.lg-slide-skew .lg-item.lg-current { + -moz-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -o-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -ms-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -webkit-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + opacity: 1; +} +.lg-css3.lg-slide-skew .lg-item.lg-prev-slide, .lg-css3.lg-slide-skew .lg-item.lg-next-slide, .lg-css3.lg-slide-skew .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; +} + +.lg-css3.lg-scale-up .lg-item { + opacity: 0; +} +.lg-css3.lg-scale-up .lg-item.lg-prev-slide { + -moz-transform: scale3d(0.8, 0.8, 0.8) translate3d(0%, 10%, 0); + -o-transform: scale3d(0.8, 0.8, 0.8) translate3d(0%, 10%, 0); + -ms-transform: scale3d(0.8, 0.8, 0.8) translate3d(0%, 10%, 0); + -webkit-transform: scale3d(0.8, 0.8, 0.8) translate3d(0%, 10%, 0); + transform: scale3d(0.8, 0.8, 0.8) translate3d(0%, 10%, 0); +} +.lg-css3.lg-scale-up .lg-item.lg-next-slide { + -moz-transform: scale3d(0.8, 0.8, 0.8) translate3d(0%, 10%, 0); + -o-transform: scale3d(0.8, 0.8, 0.8) translate3d(0%, 10%, 0); + -ms-transform: scale3d(0.8, 0.8, 0.8) translate3d(0%, 10%, 0); + -webkit-transform: scale3d(0.8, 0.8, 0.8) translate3d(0%, 10%, 0); + transform: scale3d(0.8, 0.8, 0.8) translate3d(0%, 10%, 0); +} +.lg-css3.lg-scale-up .lg-item.lg-current { + -moz-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -o-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -ms-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + opacity: 1; +} +.lg-css3.lg-scale-up .lg-item.lg-prev-slide, .lg-css3.lg-scale-up .lg-item.lg-next-slide, .lg-css3.lg-scale-up .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; +} + +.lg-css3.lg-slide-vertical-growth .lg-item { + opacity: 0; +} +.lg-css3.lg-slide-vertical-growth .lg-item.lg-prev-slide { + -moz-transform: scale3d(0.5, 0.5, 0.5) translate3d(0, -150%, 0); + -o-transform: scale3d(0.5, 0.5, 0.5) translate3d(0, -150%, 0); + -ms-transform: scale3d(0.5, 0.5, 0.5) translate3d(0, -150%, 0); + -webkit-transform: scale3d(0.5, 0.5, 0.5) translate3d(0, -150%, 0); + transform: scale3d(0.5, 0.5, 0.5) translate3d(0, -150%, 0); +} +.lg-css3.lg-slide-vertical-growth .lg-item.lg-next-slide { + -moz-transform: scale3d(0.5, 0.5, 0.5) translate3d(0, 150%, 0); + -o-transform: scale3d(0.5, 0.5, 0.5) translate3d(0, 150%, 0); + -ms-transform: scale3d(0.5, 0.5, 0.5) translate3d(0, 150%, 0); + -webkit-transform: scale3d(0.5, 0.5, 0.5) translate3d(0, 150%, 0); + transform: scale3d(0.5, 0.5, 0.5) translate3d(0, 150%, 0); +} +.lg-css3.lg-slide-vertical-growth .lg-item.lg-current { + -moz-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -o-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -ms-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + opacity: 1; +} +.lg-css3.lg-slide-vertical-growth .lg-item.lg-prev-slide, .lg-css3.lg-slide-vertical-growth .lg-item.lg-next-slide, .lg-css3.lg-slide-vertical-growth .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; +} + +.lg-css3.lg-slide-circular-vertical .lg-item { + opacity: 0; +} +.lg-css3.lg-slide-circular-vertical .lg-item.lg-prev-slide { + -moz-transform: scale3d(0, 0, 0) translate3d(0, -100%, 0); + -o-transform: scale3d(0, 0, 0) translate3d(0, -100%, 0); + -ms-transform: scale3d(0, 0, 0) translate3d(0, -100%, 0); + -webkit-transform: scale3d(0, 0, 0) translate3d(0, -100%, 0); + transform: scale3d(0, 0, 0) translate3d(0, -100%, 0); +} +.lg-css3.lg-slide-circular-vertical .lg-item.lg-next-slide { + -moz-transform: scale3d(0, 0, 0) translate3d(0, 100%, 0); + -o-transform: scale3d(0, 0, 0) translate3d(0, 100%, 0); + -ms-transform: scale3d(0, 0, 0) translate3d(0, 100%, 0); + -webkit-transform: scale3d(0, 0, 0) translate3d(0, 100%, 0); + transform: scale3d(0, 0, 0) translate3d(0, 100%, 0); +} +.lg-css3.lg-slide-circular-vertical .lg-item.lg-current { + -moz-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -o-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -ms-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + opacity: 1; +} +.lg-css3.lg-slide-circular-vertical .lg-item.lg-prev-slide, .lg-css3.lg-slide-circular-vertical .lg-item.lg-next-slide, .lg-css3.lg-slide-circular-vertical .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; +} + +.lg-css3.lg-slide-vertical .lg-item { + opacity: 0; +} +.lg-css3.lg-slide-vertical .lg-item.lg-prev-slide { + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); +} +.lg-css3.lg-slide-vertical .lg-item.lg-next-slide { + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); +} +.lg-css3.lg-slide-vertical .lg-item.lg-current { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1; +} +.lg-css3.lg-slide-vertical .lg-item.lg-prev-slide, .lg-css3.lg-slide-vertical .lg-item.lg-next-slide, .lg-css3.lg-slide-vertical .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; +} + +.lg-css3.lg-slide-circular .lg-item { + opacity: 0; +} +.lg-css3.lg-slide-circular .lg-item.lg-prev-slide { + -moz-transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0); + -o-transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0); + -ms-transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0); + -webkit-transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0); + transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0); +} +.lg-css3.lg-slide-circular .lg-item.lg-next-slide { + -moz-transform: scale3d(0, 0, 0) translate3d(100%, 0, 0); + -o-transform: scale3d(0, 0, 0) translate3d(100%, 0, 0); + -ms-transform: scale3d(0, 0, 0) translate3d(100%, 0, 0); + -webkit-transform: scale3d(0, 0, 0) translate3d(100%, 0, 0); + transform: scale3d(0, 0, 0) translate3d(100%, 0, 0); +} +.lg-css3.lg-slide-circular .lg-item.lg-current { + -moz-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -o-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -ms-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + opacity: 1; +} +.lg-css3.lg-slide-circular .lg-item.lg-prev-slide, .lg-css3.lg-slide-circular .lg-item.lg-next-slide, .lg-css3.lg-slide-circular .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; +} + +.lg-css3.lg-soft-zoom .lg-item { + opacity: 0; +} +.lg-css3.lg-soft-zoom .lg-item.lg-prev-slide { + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); +} +.lg-css3.lg-soft-zoom .lg-item.lg-next-slide { + -webkit-transform: scale3d(0.9, 0.9, 0.9); + transform: scale3d(0.9, 0.9, 0.9); +} +.lg-css3.lg-soft-zoom .lg-item.lg-current { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + opacity: 1; +} +.lg-css3.lg-soft-zoom .lg-item.lg-prev-slide, .lg-css3.lg-soft-zoom .lg-item.lg-next-slide, .lg-css3.lg-soft-zoom .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; +} + +.lg-css3.lg-slide-skew-cross-rev .lg-item { + opacity: 0; +} +.lg-css3.lg-slide-skew-cross-rev .lg-item.lg-prev-slide { + -moz-transform: skew(0deg, -60deg) translate3d(-100%, 0%, 0px); + -o-transform: skew(0deg, -60deg) translate3d(-100%, 0%, 0px); + -ms-transform: skew(0deg, -60deg) translate3d(-100%, 0%, 0px); + -webkit-transform: skew(0deg, -60deg) translate3d(-100%, 0%, 0px); + transform: skew(0deg, -60deg) translate3d(-100%, 0%, 0px); +} +.lg-css3.lg-slide-skew-cross-rev .lg-item.lg-next-slide { + -moz-transform: skew(0deg, -60deg) translate3d(100%, 0%, 0px); + -o-transform: skew(0deg, -60deg) translate3d(100%, 0%, 0px); + -ms-transform: skew(0deg, -60deg) translate3d(100%, 0%, 0px); + -webkit-transform: skew(0deg, -60deg) translate3d(100%, 0%, 0px); + transform: skew(0deg, -60deg) translate3d(100%, 0%, 0px); +} +.lg-css3.lg-slide-skew-cross-rev .lg-item.lg-current { + -moz-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -o-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -ms-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -webkit-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + opacity: 1; +} +.lg-css3.lg-slide-skew-cross-rev .lg-item.lg-prev-slide, .lg-css3.lg-slide-skew-cross-rev .lg-item.lg-next-slide, .lg-css3.lg-slide-skew-cross-rev .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; +} + +.lg-css3.lg-tube .lg-item { + opacity: 0; +} +.lg-css3.lg-tube .lg-item.lg-prev-slide { + -moz-transform: scale3d(1, 0, 1) translate3d(-100%, 0, 0); + -o-transform: scale3d(1, 0, 1) translate3d(-100%, 0, 0); + -ms-transform: scale3d(1, 0, 1) translate3d(-100%, 0, 0); + -webkit-transform: scale3d(1, 0, 1) translate3d(-100%, 0, 0); + transform: scale3d(1, 0, 1) translate3d(-100%, 0, 0); +} +.lg-css3.lg-tube .lg-item.lg-next-slide { + -moz-transform: scale3d(1, 0, 1) translate3d(100%, 0, 0); + -o-transform: scale3d(1, 0, 1) translate3d(100%, 0, 0); + -ms-transform: scale3d(1, 0, 1) translate3d(100%, 0, 0); + -webkit-transform: scale3d(1, 0, 1) translate3d(100%, 0, 0); + transform: scale3d(1, 0, 1) translate3d(100%, 0, 0); +} +.lg-css3.lg-tube .lg-item.lg-current { + -moz-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -o-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -ms-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + -webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + transform: scale3d(1, 1, 1) translate3d(0, 0, 0); + opacity: 1; +} +.lg-css3.lg-tube .lg-item.lg-prev-slide, .lg-css3.lg-tube .lg-item.lg-next-slide, .lg-css3.lg-tube .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; +} + +.lg-css3.lg-slide-skew-cross .lg-item { + opacity: 0; +} +.lg-css3.lg-slide-skew-cross .lg-item.lg-prev-slide { + -moz-transform: skew(0deg, 60deg) translate3d(-100%, 0%, 0px); + -o-transform: skew(0deg, 60deg) translate3d(-100%, 0%, 0px); + -ms-transform: skew(0deg, 60deg) translate3d(-100%, 0%, 0px); + -webkit-transform: skew(0deg, 60deg) translate3d(-100%, 0%, 0px); + transform: skew(0deg, 60deg) translate3d(-100%, 0%, 0px); +} +.lg-css3.lg-slide-skew-cross .lg-item.lg-next-slide { + -moz-transform: skew(0deg, 60deg) translate3d(100%, 0%, 0px); + -o-transform: skew(0deg, 60deg) translate3d(100%, 0%, 0px); + -ms-transform: skew(0deg, 60deg) translate3d(100%, 0%, 0px); + -webkit-transform: skew(0deg, 60deg) translate3d(100%, 0%, 0px); + transform: skew(0deg, 60deg) translate3d(100%, 0%, 0px); +} +.lg-css3.lg-slide-skew-cross .lg-item.lg-current { + -moz-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -o-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -ms-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -webkit-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + opacity: 1; +} +.lg-css3.lg-slide-skew-cross .lg-item.lg-prev-slide, .lg-css3.lg-slide-skew-cross .lg-item.lg-next-slide, .lg-css3.lg-slide-skew-cross .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; +} + +.lg-css3.lg-zoom-in-big .lg-item { + opacity: 0; +} +.lg-css3.lg-zoom-in-big .lg-item.lg-prev-slide { + -webkit-transform: scale3d(2, 2, 2); + transform: scale3d(2, 2, 2); +} +.lg-css3.lg-zoom-in-big .lg-item.lg-next-slide { + -webkit-transform: scale3d(2, 2, 2); + transform: scale3d(2, 2, 2); +} +.lg-css3.lg-zoom-in-big .lg-item.lg-current { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + opacity: 1; +} +.lg-css3.lg-zoom-in-big .lg-item.lg-prev-slide, .lg-css3.lg-zoom-in-big .lg-item.lg-next-slide, .lg-css3.lg-zoom-in-big .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; +} + +.lg-css3.lg-slide-skew-only-rev .lg-item { + opacity: 0; +} +.lg-css3.lg-slide-skew-only-rev .lg-item.lg-prev-slide { + -moz-transform: skew(-10deg, 0deg); + -o-transform: skew(-10deg, 0deg); + -ms-transform: skew(-10deg, 0deg); + -webkit-transform: skew(-10deg, 0deg); + transform: skew(-10deg, 0deg); +} +.lg-css3.lg-slide-skew-only-rev .lg-item.lg-next-slide { + -moz-transform: skew(-10deg, 0deg); + -o-transform: skew(-10deg, 0deg); + -ms-transform: skew(-10deg, 0deg); + -webkit-transform: skew(-10deg, 0deg); + transform: skew(-10deg, 0deg); +} +.lg-css3.lg-slide-skew-only-rev .lg-item.lg-current { + -moz-transform: skew(0deg, 0deg); + -o-transform: skew(0deg, 0deg); + -ms-transform: skew(0deg, 0deg); + -webkit-transform: skew(0deg, 0deg); + transform: skew(0deg, 0deg); + opacity: 1; +} +.lg-css3.lg-slide-skew-only-rev .lg-item.lg-prev-slide, .lg-css3.lg-slide-skew-only-rev .lg-item.lg-next-slide, .lg-css3.lg-slide-skew-only-rev .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; +} + +.lg-css3.lg-zoom-in-out .lg-item { + opacity: 0; +} +.lg-css3.lg-zoom-in-out .lg-item.lg-prev-slide { + -webkit-transform: scale3d(2, 2, 2); + transform: scale3d(2, 2, 2); +} +.lg-css3.lg-zoom-in-out .lg-item.lg-next-slide { + -webkit-transform: scale3d(0, 0, 0); + transform: scale3d(0, 0, 0); +} +.lg-css3.lg-zoom-in-out .lg-item.lg-current { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + opacity: 1; +} +.lg-css3.lg-zoom-in-out .lg-item.lg-prev-slide, .lg-css3.lg-zoom-in-out .lg-item.lg-next-slide, .lg-css3.lg-zoom-in-out .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; +} + +.lg-css3.lg-slide-skew-only-y-rev .lg-item { + opacity: 0; +} +.lg-css3.lg-slide-skew-only-y-rev .lg-item.lg-prev-slide { + -moz-transform: skew(0deg, -10deg); + -o-transform: skew(0deg, -10deg); + -ms-transform: skew(0deg, -10deg); + -webkit-transform: skew(0deg, -10deg); + transform: skew(0deg, -10deg); +} +.lg-css3.lg-slide-skew-only-y-rev .lg-item.lg-next-slide { + -moz-transform: skew(0deg, -10deg); + -o-transform: skew(0deg, -10deg); + -ms-transform: skew(0deg, -10deg); + -webkit-transform: skew(0deg, -10deg); + transform: skew(0deg, -10deg); +} +.lg-css3.lg-slide-skew-only-y-rev .lg-item.lg-current { + -moz-transform: skew(0deg, 0deg); + -o-transform: skew(0deg, 0deg); + -ms-transform: skew(0deg, 0deg); + -webkit-transform: skew(0deg, 0deg); + transform: skew(0deg, 0deg); + opacity: 1; +} +.lg-css3.lg-slide-skew-only-y-rev .lg-item.lg-prev-slide, .lg-css3.lg-slide-skew-only-y-rev .lg-item.lg-next-slide, .lg-css3.lg-slide-skew-only-y-rev .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; +} + +.lg-css3.lg-slide-skew-only-y .lg-item { + opacity: 0; +} +.lg-css3.lg-slide-skew-only-y .lg-item.lg-prev-slide { + -moz-transform: skew(0deg, 10deg); + -o-transform: skew(0deg, 10deg); + -ms-transform: skew(0deg, 10deg); + -webkit-transform: skew(0deg, 10deg); + transform: skew(0deg, 10deg); +} +.lg-css3.lg-slide-skew-only-y .lg-item.lg-next-slide { + -moz-transform: skew(0deg, 10deg); + -o-transform: skew(0deg, 10deg); + -ms-transform: skew(0deg, 10deg); + -webkit-transform: skew(0deg, 10deg); + transform: skew(0deg, 10deg); +} +.lg-css3.lg-slide-skew-only-y .lg-item.lg-current { + -moz-transform: skew(0deg, 0deg); + -o-transform: skew(0deg, 0deg); + -ms-transform: skew(0deg, 0deg); + -webkit-transform: skew(0deg, 0deg); + transform: skew(0deg, 0deg); + opacity: 1; +} +.lg-css3.lg-slide-skew-only-y .lg-item.lg-prev-slide, .lg-css3.lg-slide-skew-only-y .lg-item.lg-next-slide, .lg-css3.lg-slide-skew-only-y .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; +} + +.lg-css3.lg-zoom-out-big .lg-item { + opacity: 0; +} +.lg-css3.lg-zoom-out-big .lg-item.lg-prev-slide { + -webkit-transform: scale3d(0, 0, 0); + transform: scale3d(0, 0, 0); +} +.lg-css3.lg-zoom-out-big .lg-item.lg-next-slide { + -webkit-transform: scale3d(0, 0, 0); + transform: scale3d(0, 0, 0); +} +.lg-css3.lg-zoom-out-big .lg-item.lg-current { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + opacity: 1; +} +.lg-css3.lg-zoom-out-big .lg-item.lg-prev-slide, .lg-css3.lg-zoom-out-big .lg-item.lg-next-slide, .lg-css3.lg-zoom-out-big .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; +} + +.lg-css3.lg-slide-skew-only .lg-item { + opacity: 0; +} +.lg-css3.lg-slide-skew-only .lg-item.lg-prev-slide { + -moz-transform: skew(10deg, 0deg); + -o-transform: skew(10deg, 0deg); + -ms-transform: skew(10deg, 0deg); + -webkit-transform: skew(10deg, 0deg); + transform: skew(10deg, 0deg); +} +.lg-css3.lg-slide-skew-only .lg-item.lg-next-slide { + -moz-transform: skew(10deg, 0deg); + -o-transform: skew(10deg, 0deg); + -ms-transform: skew(10deg, 0deg); + -webkit-transform: skew(10deg, 0deg); + transform: skew(10deg, 0deg); +} +.lg-css3.lg-slide-skew-only .lg-item.lg-current { + -moz-transform: skew(0deg, 0deg); + -o-transform: skew(0deg, 0deg); + -ms-transform: skew(0deg, 0deg); + -webkit-transform: skew(0deg, 0deg); + transform: skew(0deg, 0deg); + opacity: 1; +} +.lg-css3.lg-slide-skew-only .lg-item.lg-prev-slide, .lg-css3.lg-slide-skew-only .lg-item.lg-next-slide, .lg-css3.lg-slide-skew-only .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; +} + +.lg-css3.lg-zoom-out-in .lg-item { + opacity: 0; +} +.lg-css3.lg-zoom-out-in .lg-item.lg-prev-slide { + -webkit-transform: scale3d(0, 0, 0); + transform: scale3d(0, 0, 0); +} +.lg-css3.lg-zoom-out-in .lg-item.lg-next-slide { + -webkit-transform: scale3d(2, 2, 2); + transform: scale3d(2, 2, 2); +} +.lg-css3.lg-zoom-out-in .lg-item.lg-current { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + opacity: 1; +} +.lg-css3.lg-zoom-out-in .lg-item.lg-prev-slide, .lg-css3.lg-zoom-out-in .lg-item.lg-next-slide, .lg-css3.lg-zoom-out-in .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; +} + +.lg-css3.lg-slide-skew-rev .lg-item { + opacity: 0; +} +.lg-css3.lg-slide-skew-rev .lg-item.lg-prev-slide { + -moz-transform: skew(-20deg, 0deg) translate3d(-100%, 0%, 0px); + -o-transform: skew(-20deg, 0deg) translate3d(-100%, 0%, 0px); + -ms-transform: skew(-20deg, 0deg) translate3d(-100%, 0%, 0px); + -webkit-transform: skew(-20deg, 0deg) translate3d(-100%, 0%, 0px); + transform: skew(-20deg, 0deg) translate3d(-100%, 0%, 0px); +} +.lg-css3.lg-slide-skew-rev .lg-item.lg-next-slide { + -moz-transform: skew(-20deg, 0deg) translate3d(100%, 0%, 0px); + -o-transform: skew(-20deg, 0deg) translate3d(100%, 0%, 0px); + -ms-transform: skew(-20deg, 0deg) translate3d(100%, 0%, 0px); + -webkit-transform: skew(-20deg, 0deg) translate3d(100%, 0%, 0px); + transform: skew(-20deg, 0deg) translate3d(100%, 0%, 0px); +} +.lg-css3.lg-slide-skew-rev .lg-item.lg-current { + -moz-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -o-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -ms-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -webkit-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + opacity: 1; +} +.lg-css3.lg-slide-skew-rev .lg-item.lg-prev-slide, .lg-css3.lg-slide-skew-rev .lg-item.lg-next-slide, .lg-css3.lg-slide-skew-rev .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; +} + +.lg-css3.lg-zoom-out .lg-item { + opacity: 0; +} +.lg-css3.lg-zoom-out .lg-item.lg-prev-slide { + -webkit-transform: scale3d(0.7, 0.7, 0.7); + transform: scale3d(0.7, 0.7, 0.7); +} +.lg-css3.lg-zoom-out .lg-item.lg-next-slide { + -webkit-transform: scale3d(0.7, 0.7, 0.7); + transform: scale3d(0.7, 0.7, 0.7); +} +.lg-css3.lg-zoom-out .lg-item.lg-current { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + opacity: 1; +} +.lg-css3.lg-zoom-out .lg-item.lg-prev-slide, .lg-css3.lg-zoom-out .lg-item.lg-next-slide, .lg-css3.lg-zoom-out .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 1s ease 0s; +} + +.lg-css3.lg-slide-skew-ver-cross-rev .lg-item { + opacity: 0; +} +.lg-css3.lg-slide-skew-ver-cross-rev .lg-item.lg-prev-slide { + -moz-transform: skew(0deg, -20deg) translate3d(0, -100%, 0px); + -o-transform: skew(0deg, -20deg) translate3d(0, -100%, 0px); + -ms-transform: skew(0deg, -20deg) translate3d(0, -100%, 0px); + -webkit-transform: skew(0deg, -20deg) translate3d(0, -100%, 0px); + transform: skew(0deg, -20deg) translate3d(0, -100%, 0px); +} +.lg-css3.lg-slide-skew-ver-cross-rev .lg-item.lg-next-slide { + -moz-transform: skew(0deg, -20deg) translate3d(0, 100%, 0px); + -o-transform: skew(0deg, -20deg) translate3d(0, 100%, 0px); + -ms-transform: skew(0deg, -20deg) translate3d(0, 100%, 0px); + -webkit-transform: skew(0deg, -20deg) translate3d(0, 100%, 0px); + transform: skew(0deg, -20deg) translate3d(0, 100%, 0px); +} +.lg-css3.lg-slide-skew-ver-cross-rev .lg-item.lg-current { + -moz-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -o-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -ms-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + -webkit-transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + transform: skew(0deg, 0deg) translate3d(0%, 0%, 0px); + opacity: 1; +} +.lg-css3.lg-slide-skew-ver-cross-rev .lg-item.lg-prev-slide, .lg-css3.lg-slide-skew-ver-cross-rev .lg-item.lg-next-slide, .lg-css3.lg-slide-skew-ver-cross-rev .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; +} + +/*# sourceMappingURL=lg-transitions.css.map */ diff --git a/assets/lightGallery/css/lg-transitions.css.map b/assets/lightGallery/css/lg-transitions.css.map new file mode 100644 index 0000000..385c961 --- /dev/null +++ b/assets/lightGallery/css/lg-transitions.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["../../src/scss/transitions/_lg-zoom-in.scss","../../src/scss/_lg-mixins.scss","../../src/scss/transitions/_lg-lollipop-rev.scss","../../src/scss/transitions/_lg-slide-skew-ver-cross.scss","../../src/scss/transitions/_lg-lollipop.scss","../../src/scss/transitions/_lg-slide-skew-ver-rev.scss","../../src/scss/transitions/_lg-rotate-rev.scss","../../src/scss/transitions/_lg-slide-skew-ver.scss","../../src/scss/transitions/_lg-rotate.scss","../../src/scss/transitions/_lg-slide-skew.scss","../../src/scss/transitions/_lg-scale-up.scss","../../src/scss/transitions/_lg-slide-vertical-growth.scss","../../src/scss/transitions/_lg-slide-circular-vertical.scss","../../src/scss/transitions/_lg-slide-vertical.scss","../../src/scss/transitions/_lg-slide-circular.scss","../../src/scss/transitions/_lg-soft-zoom.scss","../../src/scss/transitions/_lg-slide-skew-cross-rev.scss","../../src/scss/transitions/_lg-tube.scss","../../src/scss/transitions/_lg-slide-skew-cross.scss","../../src/scss/transitions/_lg-zoom-in-big.scss","../../src/scss/transitions/_lg-slide-skew-only-rev.scss","../../src/scss/transitions/_lg-zoom-in-out.scss","../../src/scss/transitions/_lg-slide-skew-only-y-rev.scss","../../src/scss/transitions/_lg-slide-skew-only-y.scss","../../src/scss/transitions/_lg-zoom-out-big.scss","../../src/scss/transitions/_lg-slide-skew-only.scss","../../src/scss/transitions/_lg-zoom-out-in.scss","../../src/scss/transitions/_lg-slide-skew-rev.scss","../../src/scss/transitions/_lg-zoom-out.scss","../../src/scss/transitions/_lg-slide-skew-ver-cross-rev.scss"],"names":[],"mappings":"AAIQ;EACI;;AAEA;ECiKR;EACA;;AD9JQ;EC6JR;EACA;;AD1JQ;ECyJR;EACA;EDxJY;;AAGJ;ECsRR;EACA;EACA;EACA,YDtRY;;;AEnBR;EACI;;AAEA;ED8MR,gBC7M+B;ED8M/B,cC9M+B;ED+M/B,eC/M+B;EDgN/B,mBChN+B;EDiN/B,WCjN+B;;AAGvB;EDwJR;EACA;;ACrJQ;EDoJR;EACA;ECnJY;;AAGJ;EDsRR;EACA;EACA;EACA,YCtRY;;;ACnBR;EACI;;AAEA;EF8MR,gBE5MgB;EF6MhB,cE7MgB;EF8MhB,eE9MgB;EF+MhB,mBE/MgB;EFgNhB,WEhNgB;;AAIR;EFwMR,gBEvM+B;EFwM/B,cExM+B;EFyM/B,eEzM+B;EF0M/B,mBE1M+B;EF2M/B,WE3M+B;;AAGvB;EFoMR,gBEnM+B;EFoM/B,cEpM+B;EFqM/B,eErM+B;EFsM/B,mBEtM+B;EFuM/B,WEvM+B;EACnB;;AAGJ;EFoRR;EACA;EACA;EACA,YEpRY;;;ACrBR;EACI;;AAEA;EH4JR;EACA;;AGzJQ;EH0MR,gBGzM+B;EH0M/B,cG1M+B;EH2M/B,eG3M+B;EH4M/B,mBG5M+B;EH6M/B,WG7M+B;;AAGvB;EHoJR;EACA;EGnJY;;AAGJ;EHsRR;EACA;EACA;EACA,YGtRY;;;ACnBR;EACI;;AAEA;EJ8MR,gBI5MgB;EJ6MhB,cI7MgB;EJ8MhB,eI9MgB;EJ+MhB,mBI/MgB;EJgNhB,WIhNgB;;AAIR;EJwMR,gBItMgB;EJuMhB,cIvMgB;EJwMhB,eIxMgB;EJyMhB,mBIzMgB;EJ0MhB,WI1MgB;;AAIR;EJkMR,gBIjM+B;EJkM/B,cIlM+B;EJmM/B,eInM+B;EJoM/B,mBIpM+B;EJqM/B,WIrM+B;EACnB;;AAGJ;EJkRR;EACA;EACA;EACA,YIlRY;;;ACvBR;EACI;;AAEA;EL8MR,gBK7M+B;EL8M/B,cK9M+B;EL+M/B,eK/M+B;ELgN/B,mBKhN+B;ELiN/B,WKjN+B;;AAGvB;EL0MR,gBKzM+B;EL0M/B,cK1M+B;EL2M/B,eK3M+B;EL4M/B,mBK5M+B;EL6M/B,WK7M+B;;AAGvB;ELsMR,gBKrM+B;ELsM/B,cKtM+B;ELuM/B,eKvM+B;ELwM/B,mBKxM+B;ELyM/B,WKzM+B;EACnB;;AAGJ;ELsRR;EACA;EACA;EACA,YKtRY;;;ACnBR;EACI;;AAEA;EN8MR,gBM5MgB;EN6MhB,cM7MgB;EN8MhB,eM9MgB;EN+MhB,mBM/MgB;ENgNhB,WMhNgB;;AAIR;ENwMR,gBMvM+B;ENwM/B,cMxM+B;ENyM/B,eMzM+B;EN0M/B,mBM1M+B;EN2M/B,WM3M+B;;AAGvB;ENoMR,gBMnM+B;ENoM/B,cMpM+B;ENqM/B,eMrM+B;ENsM/B,mBMtM+B;ENuM/B,WMvM+B;EACnB;;AAGJ;ENoRR;EACA;EACA;EACA,YMpRY;;;ACrBR;EACI;;AAEA;EP8MR,gBO7M+B;EP8M/B,cO9M+B;EP+M/B,eO/M+B;EPgN/B,mBOhN+B;EPiN/B,WOjN+B;;AAGvB;EP0MR,gBOzM+B;EP0M/B,cO1M+B;EP2M/B,eO3M+B;EP4M/B,mBO5M+B;EP6M/B,WO7M+B;;AAGvB;EPsMR,gBOrM+B;EPsM/B,cOtM+B;EPuM/B,eOvM+B;EPwM/B,mBOxM+B;EPyM/B,WOzM+B;EACnB;;AAGJ;EPsRR;EACA;EACA;EACA,YOtRY;;;ACnBR;EACI;;AAEA;ER8MR,gBQ5MgB;ER6MhB,cQ7MgB;ER8MhB,eQ9MgB;ER+MhB,mBQ/MgB;ERgNhB,WQhNgB;;AAIR;ERwMR,gBQtMgB;ERuMhB,cQvMgB;ERwMhB,eQxMgB;ERyMhB,mBQzMgB;ER0MhB,WQ1MgB;;AAIR;ERkMR,gBQjM+B;ERkM/B,cQlM+B;ERmM/B,eQnM+B;ERoM/B,mBQpM+B;ERqM/B,WQrM+B;EACnB;;AAGJ;ERkRR;EACA;EACA;EACA,YQlRY;;;ACvBR;EACI;;AAEA;ET8MR,gBS5MgB;ET6MhB,cS7MgB;ET8MhB,eS9MgB;ET+MhB,mBS/MgB;ETgNhB,WShNgB;;AAIR;ETwMR,gBStMgB;ETuMhB,cSvMgB;ETwMhB,eSxMgB;ETyMhB,mBSzMgB;ET0MhB,WS1MgB;;AAIR;ETkMR,gBSjM+B;ETkM/B,cSlM+B;ETmM/B,eSnM+B;EToM/B,mBSpM+B;ETqM/B,WSrM+B;EACnB;;AAGJ;ETkRR;EACA;EACA;EACA,YSlRY;;;ACvBR;EACI;;AAEA;EV8MR,gBU5MgB;EV6MhB,cU7MgB;EV8MhB,eU9MgB;EV+MhB,mBU/MgB;EVgNhB,WUhNgB;;AAIR;EVwMR,gBUtMgB;EVuMhB,cUvMgB;EVwMhB,eUxMgB;EVyMhB,mBUzMgB;EV0MhB,WU1MgB;;AAIR;EVkMR,gBUjM+B;EVkM/B,cUlM+B;EVmM/B,eUnM+B;EVoM/B,mBUpM+B;EVqM/B,WUrM+B;EACnB;;AAGJ;EVkRR;EACA;EACA;EACA,YUlRY;;;ACvBR;EACI;;AAEA;EX8MR,gBW7M+B;EX8M/B,cW9M+B;EX+M/B,eW/M+B;EXgN/B,mBWhN+B;EXiN/B,WWjN+B;;AAGvB;EX0MR,gBWzM+B;EX0M/B,cW1M+B;EX2M/B,eW3M+B;EX4M/B,mBW5M+B;EX6M/B,WW7M+B;;AAGvB;EXsMR,gBWrM+B;EXsM/B,cWtM+B;EXuM/B,eWvM+B;EXwM/B,mBWxM+B;EXyM/B,WWzM+B;EACnB;;AAGJ;EXsRR;EACA;EACA;EACA,YWtRY;;;ACnBR;EACI;;AAEA;EZ4JR;EACA;;AYzJQ;EZwJR;EACA;;AYrJQ;EZoJR;EACA;EYnJY;;AAGJ;EZsRR;EACA;EACA;EACA,YYtRY;;;ACnBR;EACI;;AAEA;Eb8MR,gBa7M+B;Eb8M/B,ca9M+B;Eb+M/B,ea/M+B;EbgN/B,mBahN+B;EbiN/B,WajN+B;;AAGvB;Eb0MR,gBazM+B;Eb0M/B,ca1M+B;Eb2M/B,ea3M+B;Eb4M/B,mBa5M+B;Eb6M/B,Wa7M+B;;AAGvB;EbsMR,gBarM+B;EbsM/B,catM+B;EbuM/B,eavM+B;EbwM/B,mBaxM+B;EbyM/B,WazM+B;EACnB;;AAGJ;EbsRR;EACA;EACA;EACA,YatRY;;;ACnBR;EACI;;AAEA;EdiKR;EACA;;Ac9JQ;Ed6JR;EACA;;Ac1JQ;EdyJR;EACA;EcxJY;;AAGJ;EdsRR;EACA;EACA;EACA,YctRY;;;ACnBR;EACI;;AAEA;Ef8MR,gBe5MgB;Ef6MhB,ce7MgB;Ef8MhB,ee9MgB;Ef+MhB,mBe/MgB;EfgNhB,WehNgB;;AAIR;EfwMR,gBetMgB;EfuMhB,cevMgB;EfwMhB,eexMgB;EfyMhB,mBezMgB;Ef0MhB,We1MgB;;AAIR;EfkMR,gBejM+B;EfkM/B,celM+B;EfmM/B,eenM+B;EfoM/B,mBepM+B;EfqM/B,WerM+B;EACnB;;AAGJ;EfkRR;EACA;EACA;EACA,YelRY;;;ACvBR;EACI;;AAEA;EhB8MR,gBgB7M+B;EhB8M/B,cgB9M+B;EhB+M/B,egB/M+B;EhBgN/B,mBgBhN+B;EhBiN/B,WgBjN+B;;AAGvB;EhB0MR,gBgBzM+B;EhB0M/B,cgB1M+B;EhB2M/B,egB3M+B;EhB4M/B,mBgB5M+B;EhB6M/B,WgB7M+B;;AAGvB;EhBsMR,gBgBrM+B;EhBsM/B,cgBtM+B;EhBuM/B,egBvM+B;EhBwM/B,mBgBxM+B;EhByM/B,WgBzM+B;EACnB;;AAGJ;EhBsRR;EACA;EACA;EACA,YgBtRY;;;ACnBR;EACI;;AAEA;EjB8MR,gBiB5MgB;EjB6MhB,ciB7MgB;EjB8MhB,eiB9MgB;EjB+MhB,mBiB/MgB;EjBgNhB,WiBhNgB;;AAIR;EjBwMR,gBiBtMgB;EjBuMhB,ciBvMgB;EjBwMhB,eiBxMgB;EjByMhB,mBiBzMgB;EjB0MhB,WiB1MgB;;AAIR;EjBkMR,gBiBjM+B;EjBkM/B,ciBlM+B;EjBmM/B,eiBnM+B;EjBoM/B,mBiBpM+B;EjBqM/B,WiBrM+B;EACnB;;AAGJ;EjBkRR;EACA;EACA;EACA,YiBlRY;;;ACvBR;EACI;;AAEA;ElBiKR;EACA;;AkB9JQ;ElB6JR;EACA;;AkB1JQ;ElByJR;EACA;EkBxJY;;AAGJ;ElBsRR;EACA;EACA;EACA,YkBtRY;;;ACnBR;EACI;;AAEA;EnB8MR,gBmB7M+B;EnB8M/B,cmB9M+B;EnB+M/B,emB/M+B;EnBgN/B,mBmBhN+B;EnBiN/B,WmBjN+B;;AAGvB;EnB0MR,gBmBzM+B;EnB0M/B,cmB1M+B;EnB2M/B,emB3M+B;EnB4M/B,mBmB5M+B;EnB6M/B,WmB7M+B;;AAGvB;EnBsMR,gBmBrM+B;EnBsM/B,cmBtM+B;EnBuM/B,emBvM+B;EnBwM/B,mBmBxM+B;EnByM/B,WmBzM+B;EACnB;;AAGJ;EnBsRR;EACA;EACA;EACA,YmBtRY;;;ACnBR;EACI;;AAEA;EpBiKR;EACA;;AoB9JQ;EpB6JR;EACA;;AoB1JQ;EpByJR;EACA;EoBxJY;;AAGJ;EpBsRR;EACA;EACA;EACA,YoBtRY;;;ACnBR;EACI;;AAEA;ErB8MR,gBqB7M+B;ErB8M/B,cqB9M+B;ErB+M/B,eqB/M+B;ErBgN/B,mBqBhN+B;ErBiN/B,WqBjN+B;;AAGvB;ErB0MR,gBqBzM+B;ErB0M/B,cqB1M+B;ErB2M/B,eqB3M+B;ErB4M/B,mBqB5M+B;ErB6M/B,WqB7M+B;;AAGvB;ErBsMR,gBqBrM+B;ErBsM/B,cqBtM+B;ErBuM/B,eqBvM+B;ErBwM/B,mBqBxM+B;ErByM/B,WqBzM+B;EACnB;;AAGJ;ErBsRR;EACA;EACA;EACA,YqBtRY;;;ACnBR;EACI;;AAEA;EtB8MR,gBsB7M+B;EtB8M/B,csB9M+B;EtB+M/B,esB/M+B;EtBgN/B,mBsBhN+B;EtBiN/B,WsBjN+B;;AAGvB;EtB0MR,gBsBzM+B;EtB0M/B,csB1M+B;EtB2M/B,esB3M+B;EtB4M/B,mBsB5M+B;EtB6M/B,WsB7M+B;;AAGvB;EtBsMR,gBsBrM+B;EtBsM/B,csBtM+B;EtBuM/B,esBvM+B;EtBwM/B,mBsBxM+B;EtByM/B,WsBzM+B;EACnB;;AAGJ;EtBsRR;EACA;EACA;EACA,YsBtRY;;;ACnBR;EACI;;AAEA;EvBiKR;EACA;;AuB9JQ;EvB6JR;EACA;;AuB1JQ;EvByJR;EACA;EuBxJY;;AAGJ;EvBsRR;EACA;EACA;EACA,YuBtRY;;;ACnBR;EACI;;AAEA;ExB8MR,gBwB7M+B;ExB8M/B,cwB9M+B;ExB+M/B,ewB/M+B;ExBgN/B,mBwBhN+B;ExBiN/B,WwBjN+B;;AAGvB;ExB0MR,gBwBzM+B;ExB0M/B,cwB1M+B;ExB2M/B,ewB3M+B;ExB4M/B,mBwB5M+B;ExB6M/B,WwB7M+B;;AAGvB;ExBsMR,gBwBrM+B;ExBsM/B,cwBtM+B;ExBuM/B,ewBvM+B;ExBwM/B,mBwBxM+B;ExByM/B,WwBzM+B;EACnB;;AAGJ;ExBsRR;EACA;EACA;EACA,YwBtRY;;;ACnBR;EACI;;AAEA;EzBiKR;EACA;;AyB9JQ;EzB6JR;EACA;;AyB1JQ;EzByJR;EACA;EyBxJY;;AAGJ;EzBsRR;EACA;EACA;EACA,YyBtRY;;;ACnBR;EACI;;AAEA;E1B8MR,gB0B5MgB;E1B6MhB,c0B7MgB;E1B8MhB,e0B9MgB;E1B+MhB,mB0B/MgB;E1BgNhB,W0BhNgB;;AAIR;E1BwMR,gB0BtMgB;E1BuMhB,c0BvMgB;E1BwMhB,e0BxMgB;E1ByMhB,mB0BzMgB;E1B0MhB,W0B1MgB;;AAIR;E1BkMR,gB0BjM+B;E1BkM/B,c0BlM+B;E1BmM/B,e0BnM+B;E1BoM/B,mB0BpM+B;E1BqM/B,W0BrM+B;EACnB;;AAGJ;E1BkRR;EACA;EACA;EACA,Y0BlRY;;;ACvBR;EACI;;AAEA;E3BiKR;EACA;;A2B9JQ;E3B6JR;EACA;;A2B1JQ;E3ByJR;EACA;E2BxJY;;AAGJ;E3BsRR;EACA;EACA;EACA,Y2BtRY;;;ACnBR;EACI;;AAEA;E5B8MR,gB4B5MgB;E5B6MhB,c4B7MgB;E5B8MhB,e4B9MgB;E5B+MhB,mB4B/MgB;E5BgNhB,W4BhNgB;;AAIR;E5BwMR,gB4BtMgB;E5BuMhB,c4BvMgB;E5BwMhB,e4BxMgB;E5ByMhB,mB4BzMgB;E5B0MhB,W4B1MgB;;AAIR;E5BkMR,gB4BjM+B;E5BkM/B,c4BlM+B;E5BmM/B,e4BnM+B;E5BoM/B,mB4BpM+B;E5BqM/B,W4BrM+B;EACnB;;AAGJ;E5BkRR;EACA;EACA;EACA,Y4BlRY","file":"lg-transitions.css"} \ No newline at end of file diff --git a/assets/lightGallery/css/lg-video.css b/assets/lightGallery/css/lg-video.css new file mode 100644 index 0000000..7195a37 --- /dev/null +++ b/assets/lightGallery/css/lg-video.css @@ -0,0 +1,135 @@ +.lg-outer .lg-video-cont { + text-align: center; + display: inline-block; + vertical-align: middle; + position: relative; +} +.lg-outer .lg-video-cont .lg-object { + width: 100% !important; + height: 100% !important; +} +.lg-outer .lg-has-iframe .lg-video-cont { + -webkit-overflow-scrolling: touch; + overflow: auto; +} +.lg-outer .lg-video-object { + position: absolute; + left: 0; + right: 0; + width: 100%; + height: 100%; + top: 0; + bottom: 0; + z-index: 3; +} +.lg-outer .lg-video-poster { + z-index: 1; +} +.lg-outer .lg-has-video .lg-video-object { + opacity: 0; + will-change: opacity; + -webkit-transition: opacity 0.3s ease-in; + -o-transition: opacity 0.3s ease-in; + transition: opacity 0.3s ease-in; +} +.lg-outer .lg-has-video.lg-video-loaded .lg-video-poster, +.lg-outer .lg-has-video.lg-video-loaded .lg-video-play-button { + opacity: 0 !important; +} +.lg-outer .lg-has-video.lg-video-loaded .lg-video-object { + opacity: 1; +} + +@keyframes lg-play-stroke { + 0% { + stroke-dasharray: 1, 200; + stroke-dashoffset: 0; + } + 50% { + stroke-dasharray: 89, 200; + stroke-dashoffset: -35px; + } + 100% { + stroke-dasharray: 89, 200; + stroke-dashoffset: -124px; + } +} +@keyframes lg-play-rotate { + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} +.lg-video-play-button { + width: 18%; + max-width: 140px; + position: absolute; + top: 50%; + left: 50%; + z-index: 2; + cursor: pointer; + transform: translate(-50%, -50%) scale(1); + will-change: opacity, transform; + -webkit-transition: -webkit-transform 0.25s cubic-bezier(0.17, 0.88, 0.32, 1.28), opacity 0.1s; + -moz-transition: -moz-transform 0.25s cubic-bezier(0.17, 0.88, 0.32, 1.28), opacity 0.1s; + -o-transition: -o-transform 0.25s cubic-bezier(0.17, 0.88, 0.32, 1.28), opacity 0.1s; + transition: transform 0.25s cubic-bezier(0.17, 0.88, 0.32, 1.28), opacity 0.1s; +} +.lg-video-play-button:hover .lg-video-play-icon-bg, +.lg-video-play-button:hover .lg-video-play-icon { + opacity: 1; +} + +.lg-video-play-icon-bg { + fill: none; + stroke-width: 3%; + stroke: #fcfcfc; + opacity: 0.6; + will-change: opacity; + -webkit-transition: opacity 0.12s ease-in; + -o-transition: opacity 0.12s ease-in; + transition: opacity 0.12s ease-in; +} + +.lg-video-play-icon-circle { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + fill: none; + stroke-width: 3%; + stroke: rgba(30, 30, 30, 0.9); + stroke-opacity: 1; + stroke-linecap: round; + stroke-dasharray: 200; + stroke-dashoffset: 200; +} + +.lg-video-play-icon { + position: absolute; + width: 25%; + max-width: 120px; + left: 50%; + top: 50%; + transform: translate3d(-50%, -50%, 0); + opacity: 0.6; + will-change: opacity; + -webkit-transition: opacity 0.12s ease-in; + -o-transition: opacity 0.12s ease-in; + transition: opacity 0.12s ease-in; +} +.lg-video-play-icon .lg-video-play-icon-inner { + fill: #fcfcfc; +} + +.lg-video-loading .lg-video-play-icon-circle { + animation: lg-play-rotate 2s linear 0.25s infinite, lg-play-stroke 1.5s ease-in-out 0.25s infinite; +} + +.lg-video-loaded .lg-video-play-button { + opacity: 0; + transform: translate(-50%, -50%) scale(0.7); +} + +/*# sourceMappingURL=lg-video.css.map */ diff --git a/assets/lightGallery/css/lg-video.css.map b/assets/lightGallery/css/lg-video.css.map new file mode 100644 index 0000000..761e1d7 --- /dev/null +++ b/assets/lightGallery/css/lg-video.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["../../src/scss/lg-video.scss","../../src/scss/_lg-mixins.scss"],"names":[],"mappings":"AAII;EACI;EACA;EACA;EACA;;AACA;EACI;EACA;;AAKJ;EACI;EACA;;AAGR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;;AAIA;EACI;EACA;ECyLR,oBDxLQ;ECyLR,eDzLQ;EC0LR,YD1LQ;;AAIA;AAAA;EAEI;;AAGJ;EACI;;;AAMhB;EACI;IACI;IACA;;EAGJ;IACI;IACA;;EAGJ;IACI;IACA;;;AAIR;EACI;IACI;IACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ECkNA;EACA;EACA;EACA,YDpNA;;AAKI;AAAA;EAEI;;;AAIZ;EACI;EACA;EACA;EACA;EACA;ECsHA,oBDrHA;ECsHA,eDtHA;ECuHA,YDvHA;;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EC4FA,oBD3FA;EC4FA,eD5FA;EC6FA,YD7FA;;AACA;EACI;;;AAKJ;EACI;;;AAKJ;EACI;EACA","file":"lg-video.css"} \ No newline at end of file diff --git a/assets/lightGallery/css/lg-zoom.css b/assets/lightGallery/css/lg-zoom.css new file mode 100644 index 0000000..ab2374e --- /dev/null +++ b/assets/lightGallery/css/lg-zoom.css @@ -0,0 +1,104 @@ +.lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-img-wrap, +.lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-image { + -webkit-transition-duration: 0ms !important; + transition-duration: 0ms !important; +} +.lg-outer.lg-use-transition-for-zoom .lg-item.lg-complete.lg-zoomable .lg-img-wrap { + will-change: transform; + -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.12, 0.415, 0.01, 1.19) 0s; + -moz-transition: -moz-transform 0.5s cubic-bezier(0.12, 0.415, 0.01, 1.19) 0s; + -o-transition: -o-transform 0.5s cubic-bezier(0.12, 0.415, 0.01, 1.19) 0s; + transition: transform 0.5s cubic-bezier(0.12, 0.415, 0.01, 1.19) 0s; +} +.lg-outer.lg-use-transition-for-zoom.lg-zoom-drag-transition .lg-item.lg-complete.lg-zoomable .lg-img-wrap { + will-change: transform; + -webkit-transition: -webkit-transform 0.8s cubic-bezier(0, 0, 0.25, 1) 0s; + -moz-transition: -moz-transform 0.8s cubic-bezier(0, 0, 0.25, 1) 0s; + -o-transition: -o-transform 0.8s cubic-bezier(0, 0, 0.25, 1) 0s; + transition: transform 0.8s cubic-bezier(0, 0, 0.25, 1) 0s; +} +.lg-outer .lg-item.lg-complete.lg-zoomable .lg-img-wrap { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + backface-visibility: hidden; +} +.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image, +.lg-outer .lg-item.lg-complete.lg-zoomable .lg-dummy-img { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.12, 0.415, 0.01, 1.19) 0s, opacity 0.15s !important; + -moz-transition: -moz-transform 0.5s cubic-bezier(0.12, 0.415, 0.01, 1.19) 0s, opacity 0.15s !important; + -o-transition: -o-transform 0.5s cubic-bezier(0.12, 0.415, 0.01, 1.19) 0s, opacity 0.15s !important; + transition: transform 0.5s cubic-bezier(0.12, 0.415, 0.01, 1.19) 0s, opacity 0.15s !important; + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + backface-visibility: hidden; +} +.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image.no-transition, +.lg-outer .lg-item.lg-complete.lg-zoomable .lg-dummy-img.no-transition { + transition: none !important; +} +.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image.reset-transition, +.lg-outer .lg-item.lg-complete.lg-zoomable .lg-dummy-img.reset-transition { + transform: scale3d(1, 1, 1) translate3d(-50%, -50%, 0px) !important; + max-width: none !important; + max-height: none !important; + top: 50% !important; + left: 50% !important; +} +.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image.reset-transition-x, +.lg-outer .lg-item.lg-complete.lg-zoomable .lg-dummy-img.reset-transition-x { + transform: scale3d(1, 1, 1) translate3d(-50%, 0, 0px) !important; + top: 0 !important; + left: 50% !important; + max-width: none !important; + max-height: none !important; +} +.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image.reset-transition-y, +.lg-outer .lg-item.lg-complete.lg-zoomable .lg-dummy-img.reset-transition-y { + transform: scale3d(1, 1, 1) translate3d(0, -50%, 0px) !important; + top: 50% !important; + left: 0% !important; + max-width: none !important; + max-height: none !important; +} + +.lg-icon.lg-zoom-in:after { + content: "\e311"; +} +.lg-actual-size .lg-icon.lg-zoom-in { + opacity: 1; + pointer-events: auto; +} +.lg-icon.lg-actual-size { + font-size: 20px; +} +.lg-icon.lg-actual-size:after { + content: "\e033"; +} +.lg-icon.lg-zoom-out { + opacity: 0.5; + pointer-events: none; +} +.lg-icon.lg-zoom-out:after { + content: "\e312"; +} +.lg-zoomed .lg-icon.lg-zoom-out { + opacity: 1; + pointer-events: auto; +} + +.lg-outer[data-lg-slide-type=video] .lg-zoom-in, +.lg-outer[data-lg-slide-type=video] .lg-actual-size, +.lg-outer[data-lg-slide-type=video] .lg-zoom-out, .lg-outer[data-lg-slide-type=iframe] .lg-zoom-in, +.lg-outer[data-lg-slide-type=iframe] .lg-actual-size, +.lg-outer[data-lg-slide-type=iframe] .lg-zoom-out, .lg-outer.lg-first-slide-loading .lg-zoom-in, +.lg-outer.lg-first-slide-loading .lg-actual-size, +.lg-outer.lg-first-slide-loading .lg-zoom-out { + opacity: 0.75; + pointer-events: none; +} + +/*# sourceMappingURL=lg-zoom.css.map */ diff --git a/assets/lightGallery/css/lg-zoom.css.map b/assets/lightGallery/css/lg-zoom.css.map new file mode 100644 index 0000000..cc5a09f --- /dev/null +++ b/assets/lightGallery/css/lg-zoom.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["../../src/scss/lg-zoom.scss","../../src/scss/_lg-mixins.scss","../../src/scss/_lg-variables.scss"],"names":[],"mappings":"AAOY;AAAA;ECwOR,6BDtOY;ECuOZ,qBDvOY;;AAMJ;EACI;EC0RZ;EACA;EACA;EACA,YD5RY;;AAQA;EACI;ECgRhB;EACA;EACA;EACA,YDlRgB;;AASZ;EC+HJ;EACA;EAhFA,6BD9CqC;EC+CrC,0BD/CqC;ECgDrC,qBDhDqC;;AAGjC;AAAA;EC+HJ;EACA;EAiIA;EACA;EACA;EACA,YDhQQ;ECuCR,6BDlCqC;ECmCrC,0BDnCqC;ECoCrC,qBDpCqC;;AAE7B;AAAA;EACI;;AAEJ;AAAA;EACI;EACA;EACA;EACA;EACA;;AAEJ;AAAA;EACI;EACA;EACA;EACA;EACA;;AAEJ;AAAA;EACI;EACA;EACA;EACA;EACA;;;AASR;EACI;;AAEJ;EACI;EACA;;AAIR;EACI;;AACA;EACI;;AAIR;EACI;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;;;AAQJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGI,SE7FuB;EF8FvB","file":"lg-zoom.css"} \ No newline at end of file diff --git a/assets/lightGallery/css/lightgallery-bundle.css b/assets/lightGallery/css/lightgallery-bundle.css new file mode 100644 index 0000000..09d4482 --- /dev/null +++ b/assets/lightGallery/css/lightgallery-bundle.css @@ -0,0 +1,1444 @@ +@font-face { + font-family: "lg"; + src: url("../fonts/lg.woff2?io9a6k") format("woff2"), url("../fonts/lg.ttf?io9a6k") format("truetype"), url("../fonts/lg.woff?io9a6k") format("woff"), url("../fonts/lg.svg?io9a6k#lg") format("svg"); + font-weight: normal; + font-style: normal; + font-display: block; +} +.lg-icon { + /* use !important to prevent issues with browser extensions that change fonts */ + font-family: "lg" !important; + speak: never; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + /* Better Font Rendering =========== */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.lg-container { + font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; +} + +.lg-next, +.lg-prev { + background-color: rgba(0, 0, 0, 0.45); + border-radius: 2px; + color: #999; + cursor: pointer; + display: block; + font-size: 22px; + margin-top: -10px; + padding: 8px 10px 9px; + position: absolute; + top: 50%; + z-index: 1084; + outline: none; + border: none; +} +.lg-next.disabled, +.lg-prev.disabled { + opacity: 0 !important; + cursor: default; +} +.lg-next:hover:not(.disabled), +.lg-prev:hover:not(.disabled) { + color: #fff; +} +.lg-single-item .lg-next, +.lg-single-item .lg-prev { + display: none; +} + +.lg-next { + right: 20px; +} +.lg-next:before { + content: "\e095"; +} + +.lg-prev { + left: 20px; +} +.lg-prev:after { + content: "\e094"; +} + +@-webkit-keyframes lg-right-end { + 0% { + left: 0; + } + 50% { + left: -30px; + } + 100% { + left: 0; + } +} +@-moz-keyframes lg-right-end { + 0% { + left: 0; + } + 50% { + left: -30px; + } + 100% { + left: 0; + } +} +@-ms-keyframes lg-right-end { + 0% { + left: 0; + } + 50% { + left: -30px; + } + 100% { + left: 0; + } +} +@keyframes lg-right-end { + 0% { + left: 0; + } + 50% { + left: -30px; + } + 100% { + left: 0; + } +} +@-webkit-keyframes lg-left-end { + 0% { + left: 0; + } + 50% { + left: 30px; + } + 100% { + left: 0; + } +} +@-moz-keyframes lg-left-end { + 0% { + left: 0; + } + 50% { + left: 30px; + } + 100% { + left: 0; + } +} +@-ms-keyframes lg-left-end { + 0% { + left: 0; + } + 50% { + left: 30px; + } + 100% { + left: 0; + } +} +@keyframes lg-left-end { + 0% { + left: 0; + } + 50% { + left: 30px; + } + 100% { + left: 0; + } +} +.lg-outer.lg-right-end .lg-object { + -webkit-animation: lg-right-end 0.3s; + -o-animation: lg-right-end 0.3s; + animation: lg-right-end 0.3s; + position: relative; +} +.lg-outer.lg-left-end .lg-object { + -webkit-animation: lg-left-end 0.3s; + -o-animation: lg-left-end 0.3s; + animation: lg-left-end 0.3s; + position: relative; +} + +.lg-toolbar { + z-index: 1082; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.lg-media-overlap .lg-toolbar { + background-image: linear-gradient(0deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.4)); +} +.lg-toolbar .lg-icon { + color: #999; + cursor: pointer; + float: right; + font-size: 24px; + height: 47px; + line-height: 27px; + padding: 10px 0; + text-align: center; + width: 50px; + text-decoration: none !important; + outline: medium none; + will-change: color; + -webkit-transition: color 0.2s linear; + -o-transition: color 0.2s linear; + transition: color 0.2s linear; + background: none; + border: none; + box-shadow: none; +} +.lg-toolbar .lg-icon.lg-icon-18 { + font-size: 18px; +} +.lg-toolbar .lg-icon:hover { + color: #fff; +} +.lg-toolbar .lg-close:after { + content: "\e070"; +} +.lg-toolbar .lg-maximize { + font-size: 22px; +} +.lg-toolbar .lg-maximize:after { + content: "\e90a"; +} +.lg-toolbar .lg-download:after { + content: "\e0f2"; +} + +.lg-sub-html { + color: #eee; + font-size: 16px; + padding: 10px 40px; + text-align: center; + z-index: 1080; + opacity: 0; + -webkit-transition: opacity 0.2s ease-out 0s; + -o-transition: opacity 0.2s ease-out 0s; + transition: opacity 0.2s ease-out 0s; +} +.lg-sub-html h4 { + margin: 0; + font-size: 13px; + font-weight: bold; +} +.lg-sub-html p { + font-size: 12px; + margin: 5px 0 0; +} +.lg-sub-html a { + color: inherit; +} +.lg-sub-html a:hover { + text-decoration: underline; +} +.lg-media-overlap .lg-sub-html { + background-image: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.6)); +} +.lg-item .lg-sub-html { + position: absolute; + bottom: 0; + right: 0; + left: 0; +} + +.lg-error-msg { + font-size: 14px; + color: #999; +} + +.lg-counter { + color: #999; + display: inline-block; + font-size: 16px; + padding-left: 20px; + padding-top: 12px; + height: 47px; + vertical-align: middle; +} + +.lg-closing .lg-toolbar, +.lg-closing .lg-prev, +.lg-closing .lg-next, +.lg-closing .lg-sub-html { + opacity: 0; + -webkit-transition: -webkit-transform 0.08 cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.08 cubic-bezier(0, 0, 0.25, 1) 0s, color 0.08 linear; + -moz-transition: -moz-transform 0.08 cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.08 cubic-bezier(0, 0, 0.25, 1) 0s, color 0.08 linear; + -o-transition: -o-transform 0.08 cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.08 cubic-bezier(0, 0, 0.25, 1) 0s, color 0.08 linear; + transition: transform 0.08 cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.08 cubic-bezier(0, 0, 0.25, 1) 0s, color 0.08 linear; +} + +body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable) .lg-img-wrap, +body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable) .lg-video-cont, +body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable) .lg-media-cont { + opacity: 0; + -moz-transform: scale3d(0.5, 0.5, 0.5); + -o-transform: scale3d(0.5, 0.5, 0.5); + -ms-transform: scale3d(0.5, 0.5, 0.5); + -webkit-transform: scale3d(0.5, 0.5, 0.5); + transform: scale3d(0.5, 0.5, 0.5); + will-change: transform, opacity; + -webkit-transition: -webkit-transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important; + -moz-transition: -moz-transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important; + -o-transition: -o-transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important; + transition: transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important; +} +body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable).lg-complete .lg-img-wrap, +body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable).lg-complete .lg-video-cont, +body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable).lg-complete .lg-media-cont { + opacity: 1; + -moz-transform: scale3d(1, 1, 1); + -o-transform: scale3d(1, 1, 1); + -ms-transform: scale3d(1, 1, 1); + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); +} + +.lg-icon:focus-visible { + color: #fff; + border-radius: 3px; + outline: 1px dashed rgba(255, 255, 255, 0.6); +} + +.lg-toolbar .lg-icon:focus-visible { + border-radius: 8px; + outline-offset: -5px; +} + +.lg-outer .lg-thumb-outer { + background-color: #0d0a0a; + width: 100%; + max-height: 350px; + overflow: hidden; + float: left; +} +.lg-outer .lg-thumb-outer.lg-grab .lg-thumb-item { + cursor: -webkit-grab; + cursor: -moz-grab; + cursor: -o-grab; + cursor: -ms-grab; + cursor: grab; +} +.lg-outer .lg-thumb-outer.lg-grabbing .lg-thumb-item { + cursor: move; + cursor: -webkit-grabbing; + cursor: -moz-grabbing; + cursor: -o-grabbing; + cursor: -ms-grabbing; + cursor: grabbing; +} +.lg-outer .lg-thumb-outer.lg-dragging .lg-thumb { + -webkit-transition-duration: 0s !important; + transition-duration: 0s !important; +} +.lg-outer .lg-thumb-outer.lg-rebuilding-thumbnails .lg-thumb { + -webkit-transition-duration: 0s !important; + transition-duration: 0s !important; +} +.lg-outer .lg-thumb-outer.lg-thumb-align-middle { + text-align: center; +} +.lg-outer .lg-thumb-outer.lg-thumb-align-left { + text-align: left; +} +.lg-outer .lg-thumb-outer.lg-thumb-align-right { + text-align: right; +} +.lg-outer.lg-single-item .lg-thumb-outer { + display: none; +} +.lg-outer .lg-thumb { + padding: 5px 0; + height: 100%; + margin-bottom: -5px; + display: inline-block; + vertical-align: middle; +} +@media (min-width: 768px) { + .lg-outer .lg-thumb { + padding: 10px 0; + } +} +.lg-outer .lg-thumb-item { + cursor: pointer; + float: left; + overflow: hidden; + height: 100%; + border-radius: 2px; + margin-bottom: 5px; + will-change: border-color; +} +@media (min-width: 768px) { + .lg-outer .lg-thumb-item { + border-radius: 4px; + border: 2px solid #fff; + -webkit-transition: border-color 0.25s ease; + -o-transition: border-color 0.25s ease; + transition: border-color 0.25s ease; + } +} +.lg-outer .lg-thumb-item.active, .lg-outer .lg-thumb-item:hover { + border-color: rgb(169, 7, 7); +} +.lg-outer .lg-thumb-item img { + width: 100%; + height: 100%; + object-fit: cover; + display: block; +} +.lg-outer.lg-can-toggle .lg-item { + padding-bottom: 0; +} +.lg-outer .lg-toggle-thumb:after { + content: "\e1ff"; +} +.lg-outer.lg-animate-thumb .lg-thumb { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); +} + +.lg-outer .lg-video-cont { + text-align: center; + display: inline-block; + vertical-align: middle; + position: relative; +} +.lg-outer .lg-video-cont .lg-object { + width: 100% !important; + height: 100% !important; +} +.lg-outer .lg-has-iframe .lg-video-cont { + -webkit-overflow-scrolling: touch; + overflow: auto; +} +.lg-outer .lg-video-object { + position: absolute; + left: 0; + right: 0; + width: 100%; + height: 100%; + top: 0; + bottom: 0; + z-index: 3; +} +.lg-outer .lg-video-poster { + z-index: 1; +} +.lg-outer .lg-has-video .lg-video-object { + opacity: 0; + will-change: opacity; + -webkit-transition: opacity 0.3s ease-in; + -o-transition: opacity 0.3s ease-in; + transition: opacity 0.3s ease-in; +} +.lg-outer .lg-has-video.lg-video-loaded .lg-video-poster, +.lg-outer .lg-has-video.lg-video-loaded .lg-video-play-button { + opacity: 0 !important; +} +.lg-outer .lg-has-video.lg-video-loaded .lg-video-object { + opacity: 1; +} + +@keyframes lg-play-stroke { + 0% { + stroke-dasharray: 1, 200; + stroke-dashoffset: 0; + } + 50% { + stroke-dasharray: 89, 200; + stroke-dashoffset: -35px; + } + 100% { + stroke-dasharray: 89, 200; + stroke-dashoffset: -124px; + } +} +@keyframes lg-play-rotate { + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} +.lg-video-play-button { + width: 18%; + max-width: 140px; + position: absolute; + top: 50%; + left: 50%; + z-index: 2; + cursor: pointer; + transform: translate(-50%, -50%) scale(1); + will-change: opacity, transform; + -webkit-transition: -webkit-transform 0.25s cubic-bezier(0.17, 0.88, 0.32, 1.28), opacity 0.1s; + -moz-transition: -moz-transform 0.25s cubic-bezier(0.17, 0.88, 0.32, 1.28), opacity 0.1s; + -o-transition: -o-transform 0.25s cubic-bezier(0.17, 0.88, 0.32, 1.28), opacity 0.1s; + transition: transform 0.25s cubic-bezier(0.17, 0.88, 0.32, 1.28), opacity 0.1s; +} +.lg-video-play-button:hover .lg-video-play-icon-bg, +.lg-video-play-button:hover .lg-video-play-icon { + opacity: 1; +} + +.lg-video-play-icon-bg { + fill: none; + stroke-width: 3%; + stroke: #fcfcfc; + opacity: 0.6; + will-change: opacity; + -webkit-transition: opacity 0.12s ease-in; + -o-transition: opacity 0.12s ease-in; + transition: opacity 0.12s ease-in; +} + +.lg-video-play-icon-circle { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + fill: none; + stroke-width: 3%; + stroke: rgba(30, 30, 30, 0.9); + stroke-opacity: 1; + stroke-linecap: round; + stroke-dasharray: 200; + stroke-dashoffset: 200; +} + +.lg-video-play-icon { + position: absolute; + width: 25%; + max-width: 120px; + left: 50%; + top: 50%; + transform: translate3d(-50%, -50%, 0); + opacity: 0.6; + will-change: opacity; + -webkit-transition: opacity 0.12s ease-in; + -o-transition: opacity 0.12s ease-in; + transition: opacity 0.12s ease-in; +} +.lg-video-play-icon .lg-video-play-icon-inner { + fill: #fcfcfc; +} + +.lg-video-loading .lg-video-play-icon-circle { + animation: lg-play-rotate 2s linear 0.25s infinite, lg-play-stroke 1.5s ease-in-out 0.25s infinite; +} + +.lg-video-loaded .lg-video-play-button { + opacity: 0; + transform: translate(-50%, -50%) scale(0.7); +} + +.lg-progress-bar { + background-color: #333; + height: 5px; + left: 0; + position: absolute; + top: 0; + width: 100%; + z-index: 1083; + opacity: 0; + will-change: opacity; + -webkit-transition: opacity 0.08s ease 0s; + -moz-transition: opacity 0.08s ease 0s; + -o-transition: opacity 0.08s ease 0s; + transition: opacity 0.08s ease 0s; +} +.lg-progress-bar .lg-progress { + background-color: rgb(169, 7, 7); + height: 5px; + width: 0; +} +.lg-progress-bar.lg-start .lg-progress { + width: 100%; +} +.lg-show-autoplay .lg-progress-bar { + opacity: 1; +} + +.lg-autoplay-button:after { + content: "\e01d"; +} +.lg-show-autoplay .lg-autoplay-button:after { + content: "\e01a"; +} +.lg-single-item .lg-autoplay-button { + opacity: 0.75; + pointer-events: none; +} + +.lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-img-wrap, +.lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-image { + -webkit-transition-duration: 0ms !important; + transition-duration: 0ms !important; +} +.lg-outer.lg-use-transition-for-zoom .lg-item.lg-complete.lg-zoomable .lg-img-wrap { + will-change: transform; + -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.12, 0.415, 0.01, 1.19) 0s; + -moz-transition: -moz-transform 0.5s cubic-bezier(0.12, 0.415, 0.01, 1.19) 0s; + -o-transition: -o-transform 0.5s cubic-bezier(0.12, 0.415, 0.01, 1.19) 0s; + transition: transform 0.5s cubic-bezier(0.12, 0.415, 0.01, 1.19) 0s; +} +.lg-outer.lg-use-transition-for-zoom.lg-zoom-drag-transition .lg-item.lg-complete.lg-zoomable .lg-img-wrap { + will-change: transform; + -webkit-transition: -webkit-transform 0.8s cubic-bezier(0, 0, 0.25, 1) 0s; + -moz-transition: -moz-transform 0.8s cubic-bezier(0, 0, 0.25, 1) 0s; + -o-transition: -o-transform 0.8s cubic-bezier(0, 0, 0.25, 1) 0s; + transition: transform 0.8s cubic-bezier(0, 0, 0.25, 1) 0s; +} +.lg-outer .lg-item.lg-complete.lg-zoomable .lg-img-wrap { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + backface-visibility: hidden; +} +.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image, +.lg-outer .lg-item.lg-complete.lg-zoomable .lg-dummy-img { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.12, 0.415, 0.01, 1.19) 0s, opacity 0.15s !important; + -moz-transition: -moz-transform 0.5s cubic-bezier(0.12, 0.415, 0.01, 1.19) 0s, opacity 0.15s !important; + -o-transition: -o-transform 0.5s cubic-bezier(0.12, 0.415, 0.01, 1.19) 0s, opacity 0.15s !important; + transition: transform 0.5s cubic-bezier(0.12, 0.415, 0.01, 1.19) 0s, opacity 0.15s !important; + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + backface-visibility: hidden; +} +.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image.no-transition, +.lg-outer .lg-item.lg-complete.lg-zoomable .lg-dummy-img.no-transition { + transition: none !important; +} +.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image.reset-transition, +.lg-outer .lg-item.lg-complete.lg-zoomable .lg-dummy-img.reset-transition { + transform: scale3d(1, 1, 1) translate3d(-50%, -50%, 0px) !important; + max-width: none !important; + max-height: none !important; + top: 50% !important; + left: 50% !important; +} +.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image.reset-transition-x, +.lg-outer .lg-item.lg-complete.lg-zoomable .lg-dummy-img.reset-transition-x { + transform: scale3d(1, 1, 1) translate3d(-50%, 0, 0px) !important; + top: 0 !important; + left: 50% !important; + max-width: none !important; + max-height: none !important; +} +.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image.reset-transition-y, +.lg-outer .lg-item.lg-complete.lg-zoomable .lg-dummy-img.reset-transition-y { + transform: scale3d(1, 1, 1) translate3d(0, -50%, 0px) !important; + top: 50% !important; + left: 0% !important; + max-width: none !important; + max-height: none !important; +} + +.lg-icon.lg-zoom-in:after { + content: "\e311"; +} +.lg-actual-size .lg-icon.lg-zoom-in { + opacity: 1; + pointer-events: auto; +} +.lg-icon.lg-actual-size { + font-size: 20px; +} +.lg-icon.lg-actual-size:after { + content: "\e033"; +} +.lg-icon.lg-zoom-out { + opacity: 0.5; + pointer-events: none; +} +.lg-icon.lg-zoom-out:after { + content: "\e312"; +} +.lg-zoomed .lg-icon.lg-zoom-out { + opacity: 1; + pointer-events: auto; +} + +.lg-outer[data-lg-slide-type=video] .lg-zoom-in, +.lg-outer[data-lg-slide-type=video] .lg-actual-size, +.lg-outer[data-lg-slide-type=video] .lg-zoom-out, .lg-outer[data-lg-slide-type=iframe] .lg-zoom-in, +.lg-outer[data-lg-slide-type=iframe] .lg-actual-size, +.lg-outer[data-lg-slide-type=iframe] .lg-zoom-out, .lg-outer.lg-first-slide-loading .lg-zoom-in, +.lg-outer.lg-first-slide-loading .lg-actual-size, +.lg-outer.lg-first-slide-loading .lg-zoom-out { + opacity: 0.75; + pointer-events: none; +} + +.lg-outer .lg-pager-outer { + text-align: center; + z-index: 1080; + height: 10px; + margin-bottom: 10px; +} +.lg-outer .lg-pager-outer.lg-pager-hover .lg-pager-cont { + overflow: visible; +} +.lg-outer.lg-single-item .lg-pager-outer { + display: none; +} +.lg-outer .lg-pager-cont { + cursor: pointer; + display: inline-block; + overflow: hidden; + position: relative; + vertical-align: top; + margin: 0 5px; +} +.lg-outer .lg-pager-cont:hover .lg-pager-thumb-cont { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} +.lg-outer .lg-pager-cont.lg-pager-active .lg-pager { + box-shadow: 0 0 0 2px white inset; +} +.lg-outer .lg-pager-thumb-cont { + background-color: #fff; + color: #fff; + bottom: 100%; + height: 83px; + left: 0; + margin-bottom: 20px; + margin-left: -60px; + opacity: 0; + padding: 5px; + position: absolute; + width: 120px; + border-radius: 3px; + will-change: transform, opacity; + -webkit-transition: opacity 0.15s ease 0s, -webkit-transform 0.15s ease 0s; + -moz-transition: opacity 0.15s ease 0s, -moz-transform 0.15s ease 0s; + -o-transition: opacity 0.15s ease 0s, -o-transform 0.15s ease 0s; + transition: opacity 0.15s ease 0s, transform 0.15s ease 0s; + -webkit-transform: translate3d(0, 5px, 0); + transform: translate3d(0, 5px, 0); +} +.lg-outer .lg-pager-thumb-cont img { + width: 100%; + height: 100%; +} +.lg-outer .lg-pager { + background-color: rgba(255, 255, 255, 0.5); + border-radius: 50%; + box-shadow: 0 0 0 8px rgba(255, 255, 255, 0.7) inset; + display: block; + height: 12px; + -webkit-transition: box-shadow 0.3s ease 0s; + -o-transition: box-shadow 0.3s ease 0s; + transition: box-shadow 0.3s ease 0s; + width: 12px; +} +.lg-outer .lg-pager:hover, .lg-outer .lg-pager:focus { + box-shadow: 0 0 0 8px white inset; +} +.lg-outer .lg-caret { + border-left: 10px solid transparent; + border-right: 10px solid transparent; + border-top: 10px dashed; + bottom: -10px; + display: inline-block; + height: 0; + left: 50%; + margin-left: -5px; + position: absolute; + vertical-align: middle; + width: 0; +} + +.lg-fullscreen:after { + content: "\e20c"; +} +.lg-fullscreen-on .lg-fullscreen:after { + content: "\e20d"; +} + +.lg-outer .lg-dropdown-overlay { + background-color: rgba(0, 0, 0, 0.25); + bottom: 0; + cursor: default; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 1081; + opacity: 0; + visibility: hidden; + will-change: visibility, opacity; + -webkit-transition: visibility 0s linear 0.18s, opacity 0.18s linear 0s; + -o-transition: visibility 0s linear 0.18s, opacity 0.18s linear 0s; + transition: visibility 0s linear 0.18s, opacity 0.18s linear 0s; +} +.lg-outer.lg-dropdown-active .lg-dropdown, +.lg-outer.lg-dropdown-active .lg-dropdown-overlay { + -webkit-transition-delay: 0s; + transition-delay: 0s; + -moz-transform: translate3d(0, 0px, 0); + -o-transform: translate3d(0, 0px, 0); + -ms-transform: translate3d(0, 0px, 0); + -webkit-transform: translate3d(0, 0px, 0); + transform: translate3d(0, 0px, 0); + opacity: 1; + visibility: visible; +} +.lg-outer.lg-dropdown-active .lg-share { + color: #fff; +} +.lg-outer .lg-dropdown { + background-color: #fff; + border-radius: 2px; + font-size: 14px; + list-style-type: none; + margin: 0; + padding: 10px 0; + position: absolute; + right: 0; + text-align: left; + top: 50px; + opacity: 0; + visibility: hidden; + -moz-transform: translate3d(0, 5px, 0); + -o-transform: translate3d(0, 5px, 0); + -ms-transform: translate3d(0, 5px, 0); + -webkit-transform: translate3d(0, 5px, 0); + transform: translate3d(0, 5px, 0); + will-change: visibility, opacity, transform; + -webkit-transition: -webkit-transform 0.18s linear 0s, visibility 0s linear 0.5s, opacity 0.18s linear 0s; + -moz-transition: -moz-transform 0.18s linear 0s, visibility 0s linear 0.5s, opacity 0.18s linear 0s; + -o-transition: -o-transform 0.18s linear 0s, visibility 0s linear 0.5s, opacity 0.18s linear 0s; + transition: transform 0.18s linear 0s, visibility 0s linear 0.5s, opacity 0.18s linear 0s; +} +.lg-outer .lg-dropdown:after { + content: ""; + display: block; + height: 0; + width: 0; + position: absolute; + border: 8px solid transparent; + border-bottom-color: #fff; + right: 16px; + top: -16px; +} +.lg-outer .lg-dropdown > li:last-child { + margin-bottom: 0px; +} +.lg-outer .lg-dropdown > li:hover a { + color: #333; +} +.lg-outer .lg-dropdown a { + color: #333; + display: block; + white-space: pre; + padding: 4px 12px; + font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 12px; +} +.lg-outer .lg-dropdown a:hover { + background-color: rgba(0, 0, 0, 0.07); +} +.lg-outer .lg-dropdown .lg-dropdown-text { + display: inline-block; + line-height: 1; + margin-top: -3px; + vertical-align: middle; +} +.lg-outer .lg-dropdown .lg-icon { + color: #333; + display: inline-block; + float: none; + font-size: 20px; + height: auto; + line-height: 1; + margin-right: 8px; + padding: 0; + vertical-align: middle; + width: auto; +} +.lg-outer .lg-share { + position: relative; +} +.lg-outer .lg-share:after { + content: "\e80d"; +} +.lg-outer .lg-share-facebook .lg-icon { + color: #3b5998; +} +.lg-outer .lg-share-facebook .lg-icon:after { + content: "\e904"; +} +.lg-outer .lg-share-twitter .lg-icon { + color: #00aced; +} +.lg-outer .lg-share-twitter .lg-icon:after { + content: "\e907"; +} +.lg-outer .lg-share-pinterest .lg-icon { + color: #cb2027; +} +.lg-outer .lg-share-pinterest .lg-icon:after { + content: "\e906"; +} + +.lg-comment-box { + width: 420px; + max-width: 100%; + position: absolute; + right: 0; + top: 0; + bottom: 0; + z-index: 9999; + background-color: #fff; + will-change: transform; + -moz-transform: translate3d(100%, 0, 0); + -o-transform: translate3d(100%, 0, 0); + -ms-transform: translate3d(100%, 0, 0); + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + -webkit-transition: -webkit-transform 0.4s cubic-bezier(0, 0, 0.25, 1) 0s; + -moz-transition: -moz-transform 0.4s cubic-bezier(0, 0, 0.25, 1) 0s; + -o-transition: -o-transform 0.4s cubic-bezier(0, 0, 0.25, 1) 0s; + transition: transform 0.4s cubic-bezier(0, 0, 0.25, 1) 0s; +} +.lg-comment-box .lg-comment-title { + margin: 0; + color: #fff; + font-size: 18px; +} +.lg-comment-box .lg-comment-header { + background-color: #000; + padding: 12px 20px; + position: absolute; + left: 0; + right: 0; + top: 0; +} +.lg-comment-box .lg-comment-body { + height: 100% !important; + padding-top: 43px !important; + width: 100% !important; +} +.lg-comment-box .fb-comments { + height: 100%; + width: 100%; + background: url("../images/loading.gif") no-repeat scroll center center #fff; + overflow-y: auto; + display: inline-block; +} +.lg-comment-box .fb-comments[fb-xfbml-state=rendered] { + background-image: none; +} +.lg-comment-box .fb-comments > span { + max-width: 100%; +} +.lg-comment-box .lg-comment-close { + position: absolute; + right: 5px; + top: 12px; + cursor: pointer; + font-size: 20px; + color: #999; + will-change: color; + -webkit-transition: color 0.2s linear; + -o-transition: color 0.2s linear; + transition: color 0.2s linear; +} +.lg-comment-box .lg-comment-close:hover { + color: #fff; +} +.lg-comment-box .lg-comment-close:after { + content: "\e070"; +} +.lg-comment-box iframe { + max-width: 100% !important; + width: 100% !important; +} +.lg-comment-box #disqus_thread { + padding: 0 20px; +} + +.lg-outer .lg-comment-overlay { + background-color: rgba(0, 0, 0, 0.25); + bottom: 0; + cursor: default; + left: 0; + position: fixed; + right: 0; + top: 0; + z-index: 1081; + opacity: 0; + visibility: hidden; + will-change: visibility, opacity; + -webkit-transition: visibility 0s linear 0.18s, opacity 0.18s linear 0s; + -o-transition: visibility 0s linear 0.18s, opacity 0.18s linear 0s; + transition: visibility 0s linear 0.18s, opacity 0.18s linear 0s; +} +.lg-outer .lg-comment-toggle:after { + content: "\e908"; +} +.lg-outer.lg-comment-active .lg-comment-overlay { + -webkit-transition-delay: 0s; + transition-delay: 0s; + -moz-transform: translate3d(0, 0px, 0); + -o-transform: translate3d(0, 0px, 0); + -ms-transform: translate3d(0, 0px, 0); + -webkit-transform: translate3d(0, 0px, 0); + transform: translate3d(0, 0px, 0); + opacity: 1; + visibility: visible; +} +.lg-outer.lg-comment-active .lg-comment-toggle { + color: #fff; +} +.lg-outer.lg-comment-active .lg-comment-box { + -moz-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} + +.lg-outer .lg-img-rotate { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + -webkit-transition: -webkit-transform 0.4s cubic-bezier(0, 0, 0.25, 1) 0s; + -moz-transition: -moz-transform 0.4s cubic-bezier(0, 0, 0.25, 1) 0s; + -o-transition: -o-transform 0.4s cubic-bezier(0, 0, 0.25, 1) 0s; + transition: transform 0.4s cubic-bezier(0, 0, 0.25, 1) 0s; +} +.lg-outer[data-lg-slide-type=video] .lg-rotate-left, +.lg-outer[data-lg-slide-type=video] .lg-rotate-right, +.lg-outer[data-lg-slide-type=video] .lg-flip-ver, +.lg-outer[data-lg-slide-type=video] .lg-flip-hor, .lg-outer[data-lg-slide-type=iframe] .lg-rotate-left, +.lg-outer[data-lg-slide-type=iframe] .lg-rotate-right, +.lg-outer[data-lg-slide-type=iframe] .lg-flip-ver, +.lg-outer[data-lg-slide-type=iframe] .lg-flip-hor { + opacity: 0.75; + pointer-events: none; +} +.lg-outer .lg-img-rotate:before { + content: ""; + display: inline-block; + height: 100%; + vertical-align: middle; +} + +.lg-rotate-left:after { + content: "\e900"; +} + +.lg-rotate-right:after { + content: "\e901"; +} + +.lg-icon.lg-flip-hor, .lg-icon.lg-flip-ver { + font-size: 26px; +} + +.lg-flip-ver:after { + content: "\e903"; +} + +.lg-flip-hor:after { + content: "\e902"; +} + +.lg-medium-zoom-item { + cursor: zoom-in; +} + +.lg-medium-zoom .lg-outer { + cursor: zoom-out; +} +.lg-medium-zoom .lg-outer.lg-grab img.lg-object { + cursor: zoom-out; +} +.lg-medium-zoom .lg-outer.lg-grabbing img.lg-object { + cursor: zoom-out; +} + +.lg-relative-caption .lg-outer .lg-sub-html { + white-space: normal; + bottom: auto; + padding: 0; + background-image: none; +} +.lg-relative-caption .lg-outer .lg-relative-caption-item { + opacity: 0; + padding: 16px 0; + transition: 0.5s opacity ease; +} +.lg-relative-caption .lg-outer .lg-show-caption .lg-relative-caption-item { + opacity: 1; +} + +.lg-group:after { + content: ""; + display: table; + clear: both; +} + +.lg-container { + display: none; + outline: none; +} +.lg-container.lg-show { + display: block; +} + +.lg-on { + scroll-behavior: unset; +} + +.lg-overlay-open { + overflow: hidden; +} + +.lg-toolbar, +.lg-prev, +.lg-next, +.lg-pager-outer, +.lg-hide-sub-html .lg-sub-html { + opacity: 0; + will-change: transform, opacity; + -webkit-transition: -webkit-transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.25s cubic-bezier(0, 0, 0.25, 1) 0s; + -moz-transition: -moz-transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.25s cubic-bezier(0, 0, 0.25, 1) 0s; + -o-transition: -o-transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.25s cubic-bezier(0, 0, 0.25, 1) 0s; + transition: transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.25s cubic-bezier(0, 0, 0.25, 1) 0s; +} + +.lg-show-in .lg-toolbar, +.lg-show-in .lg-prev, +.lg-show-in .lg-next, +.lg-show-in .lg-pager-outer { + opacity: 1; +} +.lg-show-in.lg-hide-sub-html .lg-sub-html { + opacity: 1; +} +.lg-show-in .lg-hide-items .lg-prev { + opacity: 0; + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); +} +.lg-show-in .lg-hide-items .lg-next { + opacity: 0; + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); +} +.lg-show-in .lg-hide-items .lg-toolbar { + opacity: 0; + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); +} +.lg-show-in .lg-hide-items.lg-hide-sub-html .lg-sub-html { + opacity: 0; + -webkit-transform: translate3d(0, 20px, 0); + transform: translate3d(0, 20px, 0); +} + +.lg-outer { + width: 100%; + height: 100%; + position: fixed; + top: 0; + left: 0; + z-index: 1050; + text-align: left; + opacity: 0.001; + outline: none; + will-change: auto; + overflow: hidden; + -webkit-transition: opacity 0.15s ease 0s; + -o-transition: opacity 0.15s ease 0s; + transition: opacity 0.15s ease 0s; +} +.lg-outer * { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.lg-outer.lg-zoom-from-image { + opacity: 1; +} +.lg-outer.lg-visible { + opacity: 1; +} +.lg-outer.lg-css3 .lg-item:not(.lg-start-end-progress).lg-prev-slide, .lg-outer.lg-css3 .lg-item:not(.lg-start-end-progress).lg-next-slide, .lg-outer.lg-css3 .lg-item:not(.lg-start-end-progress).lg-current { + -webkit-transition-duration: inherit !important; + transition-duration: inherit !important; + -webkit-transition-timing-function: inherit !important; + transition-timing-function: inherit !important; +} +.lg-outer.lg-css3.lg-dragging .lg-item.lg-prev-slide, .lg-outer.lg-css3.lg-dragging .lg-item.lg-next-slide, .lg-outer.lg-css3.lg-dragging .lg-item.lg-current { + -webkit-transition-duration: 0s !important; + transition-duration: 0s !important; + opacity: 1; +} +.lg-outer.lg-grab img.lg-object { + cursor: -webkit-grab; + cursor: -moz-grab; + cursor: -o-grab; + cursor: -ms-grab; + cursor: grab; +} +.lg-outer.lg-grabbing img.lg-object { + cursor: move; + cursor: -webkit-grabbing; + cursor: -moz-grabbing; + cursor: -o-grabbing; + cursor: -ms-grabbing; + cursor: grabbing; +} +.lg-outer .lg-content { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; +} +.lg-outer .lg-inner { + width: 100%; + position: absolute; + left: 0; + top: 0; + bottom: 0; + -webkit-transition: opacity 0s; + -o-transition: opacity 0s; + transition: opacity 0s; + white-space: nowrap; +} +.lg-outer .lg-item { + display: none !important; +} +.lg-outer .lg-item:not(.lg-start-end-progress) { + background: url("../images/loading.gif") no-repeat scroll center center transparent; +} +.lg-outer.lg-css3 .lg-prev-slide, +.lg-outer.lg-css3 .lg-current, +.lg-outer.lg-css3 .lg-next-slide { + display: inline-block !important; +} +.lg-outer.lg-css .lg-current { + display: inline-block !important; +} +.lg-outer .lg-item, +.lg-outer .lg-img-wrap { + display: inline-block; + text-align: center; + position: absolute; + width: 100%; + height: 100%; +} +.lg-outer .lg-item:before, +.lg-outer .lg-img-wrap:before { + content: ""; + display: inline-block; + height: 100%; + vertical-align: middle; +} +.lg-outer .lg-img-wrap { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + white-space: nowrap; + font-size: 0; +} +.lg-outer .lg-item.lg-complete { + background-image: none; +} +.lg-outer .lg-item.lg-current { + z-index: 1060; +} +.lg-outer .lg-object { + display: inline-block; + vertical-align: middle; + max-width: 100%; + max-height: 100%; + width: auto; + height: auto; + position: relative; +} +.lg-outer .lg-empty-html.lg-sub-html, +.lg-outer .lg-empty-html .lg-sub-html { + display: none; +} +.lg-outer.lg-hide-download .lg-download { + opacity: 0.75; + pointer-events: none; +} +.lg-outer .lg-first-slide .lg-dummy-img { + position: absolute; + top: 50%; + left: 50%; +} +.lg-outer.lg-components-open:not(.lg-zoomed) .lg-components { + -webkit-transform: translate3d(0, 0%, 0); + transform: translate3d(0, 0%, 0); + opacity: 1; +} +.lg-outer.lg-components-open:not(.lg-zoomed) .lg-sub-html { + opacity: 1; + transition: opacity 0.2s ease-out 0.15s; +} +.lg-outer .lg-media-cont { + text-align: center; + display: inline-block; + vertical-align: middle; + position: relative; +} +.lg-outer .lg-media-cont .lg-object { + width: 100% !important; + height: 100% !important; +} +.lg-outer .lg-has-iframe .lg-media-cont { + -webkit-overflow-scrolling: touch; + overflow: auto; +} + +.lg-backdrop { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: 1040; + background-color: #000; + opacity: 0; + will-change: auto; + -webkit-transition: opacity 333ms ease-in 0s; + -o-transition: opacity 333ms ease-in 0s; + transition: opacity 333ms ease-in 0s; +} +.lg-backdrop.in { + opacity: 1; +} + +.lg-css3.lg-no-trans .lg-prev-slide, +.lg-css3.lg-no-trans .lg-next-slide, +.lg-css3.lg-no-trans .lg-current { + -webkit-transition: none 0s ease 0s !important; + -moz-transition: none 0s ease 0s !important; + -o-transition: none 0s ease 0s !important; + transition: none 0s ease 0s !important; +} +.lg-css3.lg-use-css3 .lg-item { + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + backface-visibility: hidden; +} +.lg-css3.lg-fade .lg-item { + opacity: 0; +} +.lg-css3.lg-fade .lg-item.lg-current { + opacity: 1; +} +.lg-css3.lg-fade .lg-item.lg-prev-slide, .lg-css3.lg-fade .lg-item.lg-next-slide, .lg-css3.lg-fade .lg-item.lg-current { + -webkit-transition: opacity 0.1s ease 0s; + -moz-transition: opacity 0.1s ease 0s; + -o-transition: opacity 0.1s ease 0s; + transition: opacity 0.1s ease 0s; +} +.lg-css3.lg-use-css3 .lg-item.lg-start-progress { + -webkit-transition: -webkit-transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0s; + -o-transition: -o-transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0s; + transition: transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0s; +} +.lg-css3.lg-use-css3 .lg-item.lg-start-end-progress { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s; +} +.lg-css3.lg-slide.lg-use-css3 .lg-item { + opacity: 0; +} +.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); +} +.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); +} +.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1; +} +.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide, .lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide, .lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; +} + +.lg-container { + display: none; +} +.lg-container.lg-show { + display: block; +} +.lg-container.lg-dragging-vertical .lg-backdrop { + -webkit-transition-duration: 0s !important; + transition-duration: 0s !important; +} +.lg-container.lg-dragging-vertical .lg-css3 .lg-item.lg-current { + -webkit-transition-duration: 0s !important; + transition-duration: 0s !important; + opacity: 1; +} + +.lg-inline .lg-backdrop, +.lg-inline .lg-outer { + position: absolute; +} +.lg-inline .lg-backdrop { + z-index: 1; +} +.lg-inline .lg-outer { + z-index: 2; +} +.lg-inline .lg-maximize:after { + content: "\e909"; +} + +.lg-components { + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + will-change: transform; + -webkit-transition: -webkit-transform 0.35s ease-out 0s; + -moz-transition: -moz-transform 0.35s ease-out 0s; + -o-transition: -o-transform 0.35s ease-out 0s; + transition: transform 0.35s ease-out 0s; + z-index: 1080; + position: absolute; + bottom: 0; + right: 0; + left: 0; +} + +/*# sourceMappingURL=lightgallery-bundle.css.map */ diff --git a/assets/lightGallery/css/lightgallery-bundle.css.map b/assets/lightGallery/css/lightgallery-bundle.css.map new file mode 100644 index 0000000..98cf1d3 --- /dev/null +++ b/assets/lightGallery/css/lightgallery-bundle.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["../../src/scss/_lg-fonts.scss","../../src/scss/_lg-theme-default.scss","../../src/scss/_lg-variables.scss","../../src/scss/_lg-mixins.scss","../../src/scss/lg-thumbnail.scss","../../src/scss/lg-video.scss","../../src/scss/lg-autoplay.scss","../../src/scss/lg-zoom.scss","../../src/scss/lg-pager.scss","../../src/scss/lg-fullscreen.scss","../../src/scss/lg-share.scss","../../src/scss/lg-comments.scss","../../src/scss/lg-rotate.scss","../../src/scss/lg-medium-zoom.scss","../../src/scss/lg-relative-caption.scss","../../src/scss/lightgallery-core.scss"],"names":[],"mappings":"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","file":"lightgallery-bundle.css"} \ No newline at end of file diff --git a/assets/lightGallery/css/lightgallery-bundle.min.css b/assets/lightGallery/css/lightgallery-bundle.min.css new file mode 100644 index 0000000..da7c3ce --- /dev/null +++ b/assets/lightGallery/css/lightgallery-bundle.min.css @@ -0,0 +1 @@ +@font-face{font-family:lg;src:url(../fonts/lg.woff2?io9a6k) format("woff2"),url(../fonts/lg.ttf?io9a6k) format("truetype"),url(../fonts/lg.woff?io9a6k) format("woff"),url(../fonts/lg.svg?io9a6k#lg) format("svg");font-weight:400;font-style:normal;font-display:block}.lg-icon{font-family:lg!important;speak:never;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lg-container{font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.lg-next,.lg-prev{background-color:rgba(0,0,0,.45);border-radius:2px;color:#999;cursor:pointer;display:block;font-size:22px;margin-top:-10px;padding:8px 10px 9px;position:absolute;top:50%;z-index:1084;outline:0;border:none}.lg-next.disabled,.lg-prev.disabled{opacity:0!important;cursor:default}.lg-next:hover:not(.disabled),.lg-prev:hover:not(.disabled){color:#fff}.lg-single-item .lg-next,.lg-single-item .lg-prev{display:none}.lg-next{right:20px}.lg-next:before{content:"\e095"}.lg-prev{left:20px}.lg-prev:after{content:"\e094"}@-webkit-keyframes lg-right-end{0%{left:0}50%{left:-30px}100%{left:0}}@-moz-keyframes lg-right-end{0%{left:0}50%{left:-30px}100%{left:0}}@-ms-keyframes lg-right-end{0%{left:0}50%{left:-30px}100%{left:0}}@keyframes lg-right-end{0%{left:0}50%{left:-30px}100%{left:0}}@-webkit-keyframes lg-left-end{0%{left:0}50%{left:30px}100%{left:0}}@-moz-keyframes lg-left-end{0%{left:0}50%{left:30px}100%{left:0}}@-ms-keyframes lg-left-end{0%{left:0}50%{left:30px}100%{left:0}}@keyframes lg-left-end{0%{left:0}50%{left:30px}100%{left:0}}.lg-outer.lg-right-end .lg-object{-webkit-animation:lg-right-end .3s;-o-animation:lg-right-end .3s;animation:lg-right-end .3s;position:relative}.lg-outer.lg-left-end .lg-object{-webkit-animation:lg-left-end .3s;-o-animation:lg-left-end .3s;animation:lg-left-end .3s;position:relative}.lg-toolbar{z-index:1082;left:0;position:absolute;top:0;width:100%}.lg-media-overlap .lg-toolbar{background-image:linear-gradient(0deg,rgba(0,0,0,0),rgba(0,0,0,.4))}.lg-toolbar .lg-icon{color:#999;cursor:pointer;float:right;font-size:24px;height:47px;line-height:27px;padding:10px 0;text-align:center;width:50px;text-decoration:none!important;outline:medium none;will-change:color;-webkit-transition:color .2s linear;-o-transition:color .2s linear;transition:color .2s linear;background:0 0;border:none;box-shadow:none}.lg-toolbar .lg-icon.lg-icon-18{font-size:18px}.lg-toolbar .lg-icon:hover{color:#fff}.lg-toolbar .lg-close:after{content:"\e070"}.lg-toolbar .lg-maximize{font-size:22px}.lg-toolbar .lg-maximize:after{content:"\e90a"}.lg-toolbar .lg-download:after{content:"\e0f2"}.lg-sub-html{color:#eee;font-size:16px;padding:10px 40px;text-align:center;z-index:1080;opacity:0;-webkit-transition:opacity .2s ease-out 0s;-o-transition:opacity .2s ease-out 0s;transition:opacity .2s ease-out 0s}.lg-sub-html h4{margin:0;font-size:13px;font-weight:700}.lg-sub-html p{font-size:12px;margin:5px 0 0}.lg-sub-html a{color:inherit}.lg-sub-html a:hover{text-decoration:underline}.lg-media-overlap .lg-sub-html{background-image:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.6))}.lg-item .lg-sub-html{position:absolute;bottom:0;right:0;left:0}.lg-error-msg{font-size:14px;color:#999}.lg-counter{color:#999;display:inline-block;font-size:16px;padding-left:20px;padding-top:12px;height:47px;vertical-align:middle}.lg-closing .lg-next,.lg-closing .lg-prev,.lg-closing .lg-sub-html,.lg-closing .lg-toolbar{opacity:0;-webkit-transition:-webkit-transform .08 cubic-bezier(0,0,.25,1) 0s,opacity .08 cubic-bezier(0,0,.25,1) 0s,color .08 linear;-moz-transition:-moz-transform .08 cubic-bezier(0,0,.25,1) 0s,opacity .08 cubic-bezier(0,0,.25,1) 0s,color .08 linear;-o-transition:-o-transform .08 cubic-bezier(0,0,.25,1) 0s,opacity .08 cubic-bezier(0,0,.25,1) 0s,color .08 linear;transition:transform .08 cubic-bezier(0,0,.25,1) 0s,opacity .08 cubic-bezier(0,0,.25,1) 0s,color .08 linear}body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable) .lg-img-wrap,body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable) .lg-media-cont,body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable) .lg-video-cont{opacity:0;-moz-transform:scale3d(.5,.5,.5);-o-transform:scale3d(.5,.5,.5);-ms-transform:scale3d(.5,.5,.5);-webkit-transform:scale3d(.5,.5,.5);transform:scale3d(.5,.5,.5);will-change:transform,opacity;-webkit-transition:-webkit-transform 250ms cubic-bezier(0,0,.25,1) 0s,opacity 250ms cubic-bezier(0,0,.25,1)!important;-moz-transition:-moz-transform 250ms cubic-bezier(0,0,.25,1) 0s,opacity 250ms cubic-bezier(0,0,.25,1)!important;-o-transition:-o-transform 250ms cubic-bezier(0,0,.25,1) 0s,opacity 250ms cubic-bezier(0,0,.25,1)!important;transition:transform 250ms cubic-bezier(0,0,.25,1) 0s,opacity 250ms cubic-bezier(0,0,.25,1)!important}body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable).lg-complete .lg-img-wrap,body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable).lg-complete .lg-media-cont,body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable).lg-complete .lg-video-cont{opacity:1;-moz-transform:scale3d(1,1,1);-o-transform:scale3d(1,1,1);-ms-transform:scale3d(1,1,1);-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}.lg-icon:focus-visible{color:#fff;border-radius:3px;outline:1px dashed rgba(255,255,255,.6)}.lg-toolbar .lg-icon:focus-visible{border-radius:8px;outline-offset:-5px}.lg-outer .lg-thumb-outer{background-color:#0d0a0a;width:100%;max-height:350px;overflow:hidden;float:left}.lg-outer .lg-thumb-outer.lg-grab .lg-thumb-item{cursor:-webkit-grab;cursor:-moz-grab;cursor:-o-grab;cursor:-ms-grab;cursor:grab}.lg-outer .lg-thumb-outer.lg-grabbing .lg-thumb-item{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:-o-grabbing;cursor:-ms-grabbing;cursor:grabbing}.lg-outer .lg-thumb-outer.lg-dragging .lg-thumb{-webkit-transition-duration:0s!important;transition-duration:0s!important}.lg-outer .lg-thumb-outer.lg-rebuilding-thumbnails .lg-thumb{-webkit-transition-duration:0s!important;transition-duration:0s!important}.lg-outer .lg-thumb-outer.lg-thumb-align-middle{text-align:center}.lg-outer .lg-thumb-outer.lg-thumb-align-left{text-align:left}.lg-outer .lg-thumb-outer.lg-thumb-align-right{text-align:right}.lg-outer.lg-single-item .lg-thumb-outer{display:none}.lg-outer .lg-thumb{padding:5px 0;height:100%;margin-bottom:-5px;display:inline-block;vertical-align:middle}@media (min-width:768px){.lg-outer .lg-thumb{padding:10px 0}}.lg-outer .lg-thumb-item{cursor:pointer;float:left;overflow:hidden;height:100%;border-radius:2px;margin-bottom:5px;will-change:border-color}@media (min-width:768px){.lg-outer .lg-thumb-item{border-radius:4px;border:2px solid #fff;-webkit-transition:border-color .25s ease;-o-transition:border-color .25s ease;transition:border-color .25s ease}}.lg-outer .lg-thumb-item.active,.lg-outer .lg-thumb-item:hover{border-color:#a90707}.lg-outer .lg-thumb-item img{width:100%;height:100%;object-fit:cover;display:block}.lg-outer.lg-can-toggle .lg-item{padding-bottom:0}.lg-outer .lg-toggle-thumb:after{content:"\e1ff"}.lg-outer.lg-animate-thumb .lg-thumb{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1)}.lg-outer .lg-video-cont{text-align:center;display:inline-block;vertical-align:middle;position:relative}.lg-outer .lg-video-cont .lg-object{width:100%!important;height:100%!important}.lg-outer .lg-has-iframe .lg-video-cont{-webkit-overflow-scrolling:touch;overflow:auto}.lg-outer .lg-video-object{position:absolute;left:0;right:0;width:100%;height:100%;top:0;bottom:0;z-index:3}.lg-outer .lg-video-poster{z-index:1}.lg-outer .lg-has-video .lg-video-object{opacity:0;will-change:opacity;-webkit-transition:opacity .3s ease-in;-o-transition:opacity .3s ease-in;transition:opacity .3s ease-in}.lg-outer .lg-has-video.lg-video-loaded .lg-video-play-button,.lg-outer .lg-has-video.lg-video-loaded .lg-video-poster{opacity:0!important}.lg-outer .lg-has-video.lg-video-loaded .lg-video-object{opacity:1}@keyframes lg-play-stroke{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px}}@keyframes lg-play-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.lg-video-play-button{width:18%;max-width:140px;position:absolute;top:50%;left:50%;z-index:2;cursor:pointer;transform:translate(-50%,-50%) scale(1);will-change:opacity,transform;-webkit-transition:-webkit-transform .25s cubic-bezier(.17,.88,.32,1.28),opacity .1s;-moz-transition:-moz-transform .25s cubic-bezier(.17,.88,.32,1.28),opacity .1s;-o-transition:-o-transform .25s cubic-bezier(.17,.88,.32,1.28),opacity .1s;transition:transform .25s cubic-bezier(.17,.88,.32,1.28),opacity .1s}.lg-video-play-button:hover .lg-video-play-icon,.lg-video-play-button:hover .lg-video-play-icon-bg{opacity:1}.lg-video-play-icon-bg{fill:none;stroke-width:3%;stroke:#fcfcfc;opacity:.6;will-change:opacity;-webkit-transition:opacity .12s ease-in;-o-transition:opacity .12s ease-in;transition:opacity .12s ease-in}.lg-video-play-icon-circle{position:absolute;top:0;left:0;bottom:0;right:0;fill:none;stroke-width:3%;stroke:rgba(30,30,30,.9);stroke-opacity:1;stroke-linecap:round;stroke-dasharray:200;stroke-dashoffset:200}.lg-video-play-icon{position:absolute;width:25%;max-width:120px;left:50%;top:50%;transform:translate3d(-50%,-50%,0);opacity:.6;will-change:opacity;-webkit-transition:opacity .12s ease-in;-o-transition:opacity .12s ease-in;transition:opacity .12s ease-in}.lg-video-play-icon .lg-video-play-icon-inner{fill:#fcfcfc}.lg-video-loading .lg-video-play-icon-circle{animation:lg-play-rotate 2s linear .25s infinite,lg-play-stroke 1.5s ease-in-out .25s infinite}.lg-video-loaded .lg-video-play-button{opacity:0;transform:translate(-50%,-50%) scale(.7)}.lg-progress-bar{background-color:#333;height:5px;left:0;position:absolute;top:0;width:100%;z-index:1083;opacity:0;will-change:opacity;-webkit-transition:opacity 80ms ease 0s;-moz-transition:opacity 80ms ease 0s;-o-transition:opacity 80ms ease 0s;transition:opacity 80ms ease 0s}.lg-progress-bar .lg-progress{background-color:#a90707;height:5px;width:0}.lg-progress-bar.lg-start .lg-progress{width:100%}.lg-show-autoplay .lg-progress-bar{opacity:1}.lg-autoplay-button:after{content:"\e01d"}.lg-show-autoplay .lg-autoplay-button:after{content:"\e01a"}.lg-single-item .lg-autoplay-button{opacity:.75;pointer-events:none}.lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-image,.lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-img-wrap{-webkit-transition-duration:0s!important;transition-duration:0s!important}.lg-outer.lg-use-transition-for-zoom .lg-item.lg-complete.lg-zoomable .lg-img-wrap{will-change:transform;-webkit-transition:-webkit-transform .5s cubic-bezier(.12,.415,.01,1.19) 0s;-moz-transition:-moz-transform .5s cubic-bezier(.12,.415,.01,1.19) 0s;-o-transition:-o-transform .5s cubic-bezier(.12,.415,.01,1.19) 0s;transition:transform .5s cubic-bezier(.12,.415,.01,1.19) 0s}.lg-outer.lg-use-transition-for-zoom.lg-zoom-drag-transition .lg-item.lg-complete.lg-zoomable .lg-img-wrap{will-change:transform;-webkit-transition:-webkit-transform .8s cubic-bezier(0,0,.25,1) 0s;-moz-transition:-moz-transform .8s cubic-bezier(0,0,.25,1) 0s;-o-transition:-o-transform .8s cubic-bezier(0,0,.25,1) 0s;transition:transform .8s cubic-bezier(0,0,.25,1) 0s}.lg-outer .lg-item.lg-complete.lg-zoomable .lg-img-wrap{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden}.lg-outer .lg-item.lg-complete.lg-zoomable .lg-dummy-img,.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1);-webkit-transition:-webkit-transform .5s cubic-bezier(.12,.415,.01,1.19) 0s,opacity .15s!important;-moz-transition:-moz-transform .5s cubic-bezier(.12,.415,.01,1.19) 0s,opacity .15s!important;-o-transition:-o-transform .5s cubic-bezier(.12,.415,.01,1.19) 0s,opacity .15s!important;transition:transform .5s cubic-bezier(.12,.415,.01,1.19) 0s,opacity .15s!important;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden}.lg-outer .lg-item.lg-complete.lg-zoomable .lg-dummy-img.no-transition,.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image.no-transition{transition:none!important}.lg-outer .lg-item.lg-complete.lg-zoomable .lg-dummy-img.reset-transition,.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image.reset-transition{transform:scale3d(1,1,1) translate3d(-50%,-50%,0)!important;max-width:none!important;max-height:none!important;top:50%!important;left:50%!important}.lg-outer .lg-item.lg-complete.lg-zoomable .lg-dummy-img.reset-transition-x,.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image.reset-transition-x{transform:scale3d(1,1,1) translate3d(-50%,0,0)!important;top:0!important;left:50%!important;max-width:none!important;max-height:none!important}.lg-outer .lg-item.lg-complete.lg-zoomable .lg-dummy-img.reset-transition-y,.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image.reset-transition-y{transform:scale3d(1,1,1) translate3d(0,-50%,0)!important;top:50%!important;left:0!important;max-width:none!important;max-height:none!important}.lg-icon.lg-zoom-in:after{content:"\e311"}.lg-actual-size .lg-icon.lg-zoom-in{opacity:1;pointer-events:auto}.lg-icon.lg-actual-size{font-size:20px}.lg-icon.lg-actual-size:after{content:"\e033"}.lg-icon.lg-zoom-out{opacity:.5;pointer-events:none}.lg-icon.lg-zoom-out:after{content:"\e312"}.lg-zoomed .lg-icon.lg-zoom-out{opacity:1;pointer-events:auto}.lg-outer.lg-first-slide-loading .lg-actual-size,.lg-outer.lg-first-slide-loading .lg-zoom-in,.lg-outer.lg-first-slide-loading .lg-zoom-out,.lg-outer[data-lg-slide-type=iframe] .lg-actual-size,.lg-outer[data-lg-slide-type=iframe] .lg-zoom-in,.lg-outer[data-lg-slide-type=iframe] .lg-zoom-out,.lg-outer[data-lg-slide-type=video] .lg-actual-size,.lg-outer[data-lg-slide-type=video] .lg-zoom-in,.lg-outer[data-lg-slide-type=video] .lg-zoom-out{opacity:.75;pointer-events:none}.lg-outer .lg-pager-outer{text-align:center;z-index:1080;height:10px;margin-bottom:10px}.lg-outer .lg-pager-outer.lg-pager-hover .lg-pager-cont{overflow:visible}.lg-outer.lg-single-item .lg-pager-outer{display:none}.lg-outer .lg-pager-cont{cursor:pointer;display:inline-block;overflow:hidden;position:relative;vertical-align:top;margin:0 5px}.lg-outer .lg-pager-cont:hover .lg-pager-thumb-cont{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.lg-outer .lg-pager-cont.lg-pager-active .lg-pager{box-shadow:0 0 0 2px #fff inset}.lg-outer .lg-pager-thumb-cont{background-color:#fff;color:#fff;bottom:100%;height:83px;left:0;margin-bottom:20px;margin-left:-60px;opacity:0;padding:5px;position:absolute;width:120px;border-radius:3px;will-change:transform,opacity;-webkit-transition:opacity .15s ease 0s,-webkit-transform .15s ease 0s;-moz-transition:opacity .15s ease 0s,-moz-transform .15s ease 0s;-o-transition:opacity .15s ease 0s,-o-transform .15s ease 0s;transition:opacity .15s ease 0s,transform .15s ease 0s;-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}.lg-outer .lg-pager-thumb-cont img{width:100%;height:100%}.lg-outer .lg-pager{background-color:rgba(255,255,255,.5);border-radius:50%;box-shadow:0 0 0 8px rgba(255,255,255,.7) inset;display:block;height:12px;-webkit-transition:box-shadow .3s ease 0s;-o-transition:box-shadow .3s ease 0s;transition:box-shadow .3s ease 0s;width:12px}.lg-outer .lg-pager:focus,.lg-outer .lg-pager:hover{box-shadow:0 0 0 8px #fff inset}.lg-outer .lg-caret{border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px dashed;bottom:-10px;display:inline-block;height:0;left:50%;margin-left:-5px;position:absolute;vertical-align:middle;width:0}.lg-fullscreen:after{content:"\e20c"}.lg-fullscreen-on .lg-fullscreen:after{content:"\e20d"}.lg-outer .lg-dropdown-overlay{background-color:rgba(0,0,0,.25);bottom:0;cursor:default;left:0;position:absolute;right:0;top:0;z-index:1081;opacity:0;visibility:hidden;will-change:visibility,opacity;-webkit-transition:visibility 0s linear .18s,opacity .18s linear 0s;-o-transition:visibility 0s linear .18s,opacity .18s linear 0s;transition:visibility 0s linear .18s,opacity .18s linear 0s}.lg-outer.lg-dropdown-active .lg-dropdown,.lg-outer.lg-dropdown-active .lg-dropdown-overlay{-webkit-transition-delay:0s;transition-delay:0s;-moz-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1;visibility:visible}.lg-outer.lg-dropdown-active .lg-share{color:#fff}.lg-outer .lg-dropdown{background-color:#fff;border-radius:2px;font-size:14px;list-style-type:none;margin:0;padding:10px 0;position:absolute;right:0;text-align:left;top:50px;opacity:0;visibility:hidden;-moz-transform:translate3d(0,5px,0);-o-transform:translate3d(0,5px,0);-ms-transform:translate3d(0,5px,0);-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0);will-change:visibility,opacity,transform;-webkit-transition:-webkit-transform .18s linear 0s,visibility 0s linear .5s,opacity .18s linear 0s;-moz-transition:-moz-transform .18s linear 0s,visibility 0s linear .5s,opacity .18s linear 0s;-o-transition:-o-transform .18s linear 0s,visibility 0s linear .5s,opacity .18s linear 0s;transition:transform .18s linear 0s,visibility 0s linear .5s,opacity .18s linear 0s}.lg-outer .lg-dropdown:after{content:"";display:block;height:0;width:0;position:absolute;border:8px solid transparent;border-bottom-color:#fff;right:16px;top:-16px}.lg-outer .lg-dropdown>li:last-child{margin-bottom:0}.lg-outer .lg-dropdown>li:hover a{color:#333}.lg-outer .lg-dropdown a{color:#333;display:block;white-space:pre;padding:4px 12px;font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px}.lg-outer .lg-dropdown a:hover{background-color:rgba(0,0,0,.07)}.lg-outer .lg-dropdown .lg-dropdown-text{display:inline-block;line-height:1;margin-top:-3px;vertical-align:middle}.lg-outer .lg-dropdown .lg-icon{color:#333;display:inline-block;float:none;font-size:20px;height:auto;line-height:1;margin-right:8px;padding:0;vertical-align:middle;width:auto}.lg-outer .lg-share{position:relative}.lg-outer .lg-share:after{content:"\e80d"}.lg-outer .lg-share-facebook .lg-icon{color:#3b5998}.lg-outer .lg-share-facebook .lg-icon:after{content:"\e904"}.lg-outer .lg-share-twitter .lg-icon{color:#00aced}.lg-outer .lg-share-twitter .lg-icon:after{content:"\e907"}.lg-outer .lg-share-pinterest .lg-icon{color:#cb2027}.lg-outer .lg-share-pinterest .lg-icon:after{content:"\e906"}.lg-comment-box{width:420px;max-width:100%;position:absolute;right:0;top:0;bottom:0;z-index:9999;background-color:#fff;will-change:transform;-moz-transform:translate3d(100%,0,0);-o-transform:translate3d(100%,0,0);-ms-transform:translate3d(100%,0,0);-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);-webkit-transition:-webkit-transform .4s cubic-bezier(0,0,.25,1) 0s;-moz-transition:-moz-transform .4s cubic-bezier(0,0,.25,1) 0s;-o-transition:-o-transform .4s cubic-bezier(0,0,.25,1) 0s;transition:transform .4s cubic-bezier(0,0,.25,1) 0s}.lg-comment-box .lg-comment-title{margin:0;color:#fff;font-size:18px}.lg-comment-box .lg-comment-header{background-color:#000;padding:12px 20px;position:absolute;left:0;right:0;top:0}.lg-comment-box .lg-comment-body{height:100%!important;padding-top:43px!important;width:100%!important}.lg-comment-box .fb-comments{height:100%;width:100%;background:url(../images/loading.gif) no-repeat scroll center center #fff;overflow-y:auto;display:inline-block}.lg-comment-box .fb-comments[fb-xfbml-state=rendered]{background-image:none}.lg-comment-box .fb-comments>span{max-width:100%}.lg-comment-box .lg-comment-close{position:absolute;right:5px;top:12px;cursor:pointer;font-size:20px;color:#999;will-change:color;-webkit-transition:color .2s linear;-o-transition:color .2s linear;transition:color .2s linear}.lg-comment-box .lg-comment-close:hover{color:#fff}.lg-comment-box .lg-comment-close:after{content:"\e070"}.lg-comment-box iframe{max-width:100%!important;width:100%!important}.lg-comment-box #disqus_thread{padding:0 20px}.lg-outer .lg-comment-overlay{background-color:rgba(0,0,0,.25);bottom:0;cursor:default;left:0;position:fixed;right:0;top:0;z-index:1081;opacity:0;visibility:hidden;will-change:visibility,opacity;-webkit-transition:visibility 0s linear .18s,opacity .18s linear 0s;-o-transition:visibility 0s linear .18s,opacity .18s linear 0s;transition:visibility 0s linear .18s,opacity .18s linear 0s}.lg-outer .lg-comment-toggle:after{content:"\e908"}.lg-outer.lg-comment-active .lg-comment-overlay{-webkit-transition-delay:0s;transition-delay:0s;-moz-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1;visibility:visible}.lg-outer.lg-comment-active .lg-comment-toggle{color:#fff}.lg-outer.lg-comment-active .lg-comment-box{-moz-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.lg-outer .lg-img-rotate{position:absolute;left:0;right:0;top:0;bottom:0;-webkit-transition:-webkit-transform .4s cubic-bezier(0,0,.25,1) 0s;-moz-transition:-moz-transform .4s cubic-bezier(0,0,.25,1) 0s;-o-transition:-o-transform .4s cubic-bezier(0,0,.25,1) 0s;transition:transform .4s cubic-bezier(0,0,.25,1) 0s}.lg-outer[data-lg-slide-type=iframe] .lg-flip-hor,.lg-outer[data-lg-slide-type=iframe] .lg-flip-ver,.lg-outer[data-lg-slide-type=iframe] .lg-rotate-left,.lg-outer[data-lg-slide-type=iframe] .lg-rotate-right,.lg-outer[data-lg-slide-type=video] .lg-flip-hor,.lg-outer[data-lg-slide-type=video] .lg-flip-ver,.lg-outer[data-lg-slide-type=video] .lg-rotate-left,.lg-outer[data-lg-slide-type=video] .lg-rotate-right{opacity:.75;pointer-events:none}.lg-outer .lg-img-rotate:before{content:"";display:inline-block;height:100%;vertical-align:middle}.lg-rotate-left:after{content:"\e900"}.lg-rotate-right:after{content:"\e901"}.lg-icon.lg-flip-hor,.lg-icon.lg-flip-ver{font-size:26px}.lg-flip-ver:after{content:"\e903"}.lg-flip-hor:after{content:"\e902"}.lg-medium-zoom-item{cursor:zoom-in}.lg-medium-zoom .lg-outer{cursor:zoom-out}.lg-medium-zoom .lg-outer.lg-grab img.lg-object{cursor:zoom-out}.lg-medium-zoom .lg-outer.lg-grabbing img.lg-object{cursor:zoom-out}.lg-relative-caption .lg-outer .lg-sub-html{white-space:normal;bottom:auto;padding:0;background-image:none}.lg-relative-caption .lg-outer .lg-relative-caption-item{opacity:0;padding:16px 0;transition:.5s opacity ease}.lg-relative-caption .lg-outer .lg-show-caption .lg-relative-caption-item{opacity:1}.lg-group:after{content:"";display:table;clear:both}.lg-container{display:none;outline:0}.lg-container.lg-show{display:block}.lg-on{scroll-behavior:unset}.lg-overlay-open{overflow:hidden}.lg-hide-sub-html .lg-sub-html,.lg-next,.lg-pager-outer,.lg-prev,.lg-toolbar{opacity:0;will-change:transform,opacity;-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1) 0s,opacity .25s cubic-bezier(0,0,.25,1) 0s;-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1) 0s,opacity .25s cubic-bezier(0,0,.25,1) 0s;-o-transition:-o-transform .25s cubic-bezier(0,0,.25,1) 0s,opacity .25s cubic-bezier(0,0,.25,1) 0s;transition:transform .25s cubic-bezier(0,0,.25,1) 0s,opacity .25s cubic-bezier(0,0,.25,1) 0s}.lg-show-in .lg-next,.lg-show-in .lg-pager-outer,.lg-show-in .lg-prev,.lg-show-in .lg-toolbar{opacity:1}.lg-show-in.lg-hide-sub-html .lg-sub-html{opacity:1}.lg-show-in .lg-hide-items .lg-prev{opacity:0;-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}.lg-show-in .lg-hide-items .lg-next{opacity:0;-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}.lg-show-in .lg-hide-items .lg-toolbar{opacity:0;-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}.lg-show-in .lg-hide-items.lg-hide-sub-html .lg-sub-html{opacity:0;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}.lg-outer{width:100%;height:100%;position:fixed;top:0;left:0;z-index:1050;text-align:left;opacity:.001;outline:0;will-change:auto;overflow:hidden;-webkit-transition:opacity .15s ease 0s;-o-transition:opacity .15s ease 0s;transition:opacity .15s ease 0s}.lg-outer *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.lg-outer.lg-zoom-from-image{opacity:1}.lg-outer.lg-visible{opacity:1}.lg-outer.lg-css3 .lg-item:not(.lg-start-end-progress).lg-current,.lg-outer.lg-css3 .lg-item:not(.lg-start-end-progress).lg-next-slide,.lg-outer.lg-css3 .lg-item:not(.lg-start-end-progress).lg-prev-slide{-webkit-transition-duration:inherit!important;transition-duration:inherit!important;-webkit-transition-timing-function:inherit!important;transition-timing-function:inherit!important}.lg-outer.lg-css3.lg-dragging .lg-item.lg-current,.lg-outer.lg-css3.lg-dragging .lg-item.lg-next-slide,.lg-outer.lg-css3.lg-dragging .lg-item.lg-prev-slide{-webkit-transition-duration:0s!important;transition-duration:0s!important;opacity:1}.lg-outer.lg-grab img.lg-object{cursor:-webkit-grab;cursor:-moz-grab;cursor:-o-grab;cursor:-ms-grab;cursor:grab}.lg-outer.lg-grabbing img.lg-object{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:-o-grabbing;cursor:-ms-grabbing;cursor:grabbing}.lg-outer .lg-content{position:absolute;top:0;left:0;right:0;bottom:0}.lg-outer .lg-inner{width:100%;position:absolute;left:0;top:0;bottom:0;-webkit-transition:opacity 0s;-o-transition:opacity 0s;transition:opacity 0s;white-space:nowrap}.lg-outer .lg-item{display:none!important}.lg-outer .lg-item:not(.lg-start-end-progress){background:url(../images/loading.gif) no-repeat scroll center center transparent}.lg-outer.lg-css3 .lg-current,.lg-outer.lg-css3 .lg-next-slide,.lg-outer.lg-css3 .lg-prev-slide{display:inline-block!important}.lg-outer.lg-css .lg-current{display:inline-block!important}.lg-outer .lg-img-wrap,.lg-outer .lg-item{display:inline-block;text-align:center;position:absolute;width:100%;height:100%}.lg-outer .lg-img-wrap:before,.lg-outer .lg-item:before{content:"";display:inline-block;height:100%;vertical-align:middle}.lg-outer .lg-img-wrap{position:absolute;left:0;right:0;top:0;bottom:0;white-space:nowrap;font-size:0}.lg-outer .lg-item.lg-complete{background-image:none}.lg-outer .lg-item.lg-current{z-index:1060}.lg-outer .lg-object{display:inline-block;vertical-align:middle;max-width:100%;max-height:100%;width:auto;height:auto;position:relative}.lg-outer .lg-empty-html .lg-sub-html,.lg-outer .lg-empty-html.lg-sub-html{display:none}.lg-outer.lg-hide-download .lg-download{opacity:.75;pointer-events:none}.lg-outer .lg-first-slide .lg-dummy-img{position:absolute;top:50%;left:50%}.lg-outer.lg-components-open:not(.lg-zoomed) .lg-components{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}.lg-outer.lg-components-open:not(.lg-zoomed) .lg-sub-html{opacity:1;transition:opacity .2s ease-out .15s}.lg-outer .lg-media-cont{text-align:center;display:inline-block;vertical-align:middle;position:relative}.lg-outer .lg-media-cont .lg-object{width:100%!important;height:100%!important}.lg-outer .lg-has-iframe .lg-media-cont{-webkit-overflow-scrolling:touch;overflow:auto}.lg-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1040;background-color:#000;opacity:0;will-change:auto;-webkit-transition:opacity 333ms ease-in 0s;-o-transition:opacity 333ms ease-in 0s;transition:opacity 333ms ease-in 0s}.lg-backdrop.in{opacity:1}.lg-css3.lg-no-trans .lg-current,.lg-css3.lg-no-trans .lg-next-slide,.lg-css3.lg-no-trans .lg-prev-slide{-webkit-transition:none 0s ease 0s!important;-moz-transition:none 0s ease 0s!important;-o-transition:none 0s ease 0s!important;transition:none 0s ease 0s!important}.lg-css3.lg-use-css3 .lg-item{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden}.lg-css3.lg-fade .lg-item{opacity:0}.lg-css3.lg-fade .lg-item.lg-current{opacity:1}.lg-css3.lg-fade .lg-item.lg-current,.lg-css3.lg-fade .lg-item.lg-next-slide,.lg-css3.lg-fade .lg-item.lg-prev-slide{-webkit-transition:opacity .1s ease 0s;-moz-transition:opacity .1s ease 0s;-o-transition:opacity .1s ease 0s;transition:opacity .1s ease 0s}.lg-css3.lg-use-css3 .lg-item.lg-start-progress{-webkit-transition:-webkit-transform 1s cubic-bezier(.175,.885,.32,1.275) 0s;-moz-transition:-moz-transform 1s cubic-bezier(.175,.885,.32,1.275) 0s;-o-transition:-o-transform 1s cubic-bezier(.175,.885,.32,1.275) 0s;transition:transform 1s cubic-bezier(.175,.885,.32,1.275) 0s}.lg-css3.lg-use-css3 .lg-item.lg-start-end-progress{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s}.lg-css3.lg-slide.lg-use-css3 .lg-item{opacity:0}.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current,.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide,.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s}.lg-container{display:none}.lg-container.lg-show{display:block}.lg-container.lg-dragging-vertical .lg-backdrop{-webkit-transition-duration:0s!important;transition-duration:0s!important}.lg-container.lg-dragging-vertical .lg-css3 .lg-item.lg-current{-webkit-transition-duration:0s!important;transition-duration:0s!important;opacity:1}.lg-inline .lg-backdrop,.lg-inline .lg-outer{position:absolute}.lg-inline .lg-backdrop{z-index:1}.lg-inline .lg-outer{z-index:2}.lg-inline .lg-maximize:after{content:"\e909"}.lg-components{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);will-change:transform;-webkit-transition:-webkit-transform .35s ease-out 0s;-moz-transition:-moz-transform .35s ease-out 0s;-o-transition:-o-transform .35s ease-out 0s;transition:transform .35s ease-out 0s;z-index:1080;position:absolute;bottom:0;right:0;left:0} \ No newline at end of file diff --git a/assets/lightGallery/css/lightgallery-core.css b/assets/lightGallery/css/lightgallery-core.css new file mode 100644 index 0000000..42ec381 --- /dev/null +++ b/assets/lightGallery/css/lightgallery-core.css @@ -0,0 +1,350 @@ +.lg-group:after { + content: ""; + display: table; + clear: both; +} + +.lg-container { + display: none; + outline: none; +} +.lg-container.lg-show { + display: block; +} + +.lg-on { + scroll-behavior: unset; +} + +.lg-overlay-open { + overflow: hidden; +} + +.lg-toolbar, +.lg-prev, +.lg-next, +.lg-pager-outer, +.lg-hide-sub-html .lg-sub-html { + opacity: 0; + will-change: transform, opacity; + -webkit-transition: -webkit-transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.25s cubic-bezier(0, 0, 0.25, 1) 0s; + -moz-transition: -moz-transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.25s cubic-bezier(0, 0, 0.25, 1) 0s; + -o-transition: -o-transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.25s cubic-bezier(0, 0, 0.25, 1) 0s; + transition: transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.25s cubic-bezier(0, 0, 0.25, 1) 0s; +} + +.lg-show-in .lg-toolbar, +.lg-show-in .lg-prev, +.lg-show-in .lg-next, +.lg-show-in .lg-pager-outer { + opacity: 1; +} +.lg-show-in.lg-hide-sub-html .lg-sub-html { + opacity: 1; +} +.lg-show-in .lg-hide-items .lg-prev { + opacity: 0; + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); +} +.lg-show-in .lg-hide-items .lg-next { + opacity: 0; + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); +} +.lg-show-in .lg-hide-items .lg-toolbar { + opacity: 0; + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); +} +.lg-show-in .lg-hide-items.lg-hide-sub-html .lg-sub-html { + opacity: 0; + -webkit-transform: translate3d(0, 20px, 0); + transform: translate3d(0, 20px, 0); +} + +.lg-outer { + width: 100%; + height: 100%; + position: fixed; + top: 0; + left: 0; + z-index: 1050; + text-align: left; + opacity: 0.001; + outline: none; + will-change: auto; + overflow: hidden; + -webkit-transition: opacity 0.15s ease 0s; + -o-transition: opacity 0.15s ease 0s; + transition: opacity 0.15s ease 0s; +} +.lg-outer * { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.lg-outer.lg-zoom-from-image { + opacity: 1; +} +.lg-outer.lg-visible { + opacity: 1; +} +.lg-outer.lg-css3 .lg-item:not(.lg-start-end-progress).lg-prev-slide, .lg-outer.lg-css3 .lg-item:not(.lg-start-end-progress).lg-next-slide, .lg-outer.lg-css3 .lg-item:not(.lg-start-end-progress).lg-current { + -webkit-transition-duration: inherit !important; + transition-duration: inherit !important; + -webkit-transition-timing-function: inherit !important; + transition-timing-function: inherit !important; +} +.lg-outer.lg-css3.lg-dragging .lg-item.lg-prev-slide, .lg-outer.lg-css3.lg-dragging .lg-item.lg-next-slide, .lg-outer.lg-css3.lg-dragging .lg-item.lg-current { + -webkit-transition-duration: 0s !important; + transition-duration: 0s !important; + opacity: 1; +} +.lg-outer.lg-grab img.lg-object { + cursor: -webkit-grab; + cursor: -moz-grab; + cursor: -o-grab; + cursor: -ms-grab; + cursor: grab; +} +.lg-outer.lg-grabbing img.lg-object { + cursor: move; + cursor: -webkit-grabbing; + cursor: -moz-grabbing; + cursor: -o-grabbing; + cursor: -ms-grabbing; + cursor: grabbing; +} +.lg-outer .lg-content { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; +} +.lg-outer .lg-inner { + width: 100%; + position: absolute; + left: 0; + top: 0; + bottom: 0; + -webkit-transition: opacity 0s; + -o-transition: opacity 0s; + transition: opacity 0s; + white-space: nowrap; +} +.lg-outer .lg-item { + display: none !important; +} +.lg-outer .lg-item:not(.lg-start-end-progress) { + background: url("../images/loading.gif") no-repeat scroll center center transparent; +} +.lg-outer.lg-css3 .lg-prev-slide, +.lg-outer.lg-css3 .lg-current, +.lg-outer.lg-css3 .lg-next-slide { + display: inline-block !important; +} +.lg-outer.lg-css .lg-current { + display: inline-block !important; +} +.lg-outer .lg-item, +.lg-outer .lg-img-wrap { + display: inline-block; + text-align: center; + position: absolute; + width: 100%; + height: 100%; +} +.lg-outer .lg-item:before, +.lg-outer .lg-img-wrap:before { + content: ""; + display: inline-block; + height: 100%; + vertical-align: middle; +} +.lg-outer .lg-img-wrap { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + white-space: nowrap; + font-size: 0; +} +.lg-outer .lg-item.lg-complete { + background-image: none; +} +.lg-outer .lg-item.lg-current { + z-index: 1060; +} +.lg-outer .lg-object { + display: inline-block; + vertical-align: middle; + max-width: 100%; + max-height: 100%; + width: auto; + height: auto; + position: relative; +} +.lg-outer .lg-empty-html.lg-sub-html, +.lg-outer .lg-empty-html .lg-sub-html { + display: none; +} +.lg-outer.lg-hide-download .lg-download { + opacity: 0.75; + pointer-events: none; +} +.lg-outer .lg-first-slide .lg-dummy-img { + position: absolute; + top: 50%; + left: 50%; +} +.lg-outer.lg-components-open:not(.lg-zoomed) .lg-components { + -webkit-transform: translate3d(0, 0%, 0); + transform: translate3d(0, 0%, 0); + opacity: 1; +} +.lg-outer.lg-components-open:not(.lg-zoomed) .lg-sub-html { + opacity: 1; + transition: opacity 0.2s ease-out 0.15s; +} +.lg-outer .lg-media-cont { + text-align: center; + display: inline-block; + vertical-align: middle; + position: relative; +} +.lg-outer .lg-media-cont .lg-object { + width: 100% !important; + height: 100% !important; +} +.lg-outer .lg-has-iframe .lg-media-cont { + -webkit-overflow-scrolling: touch; + overflow: auto; +} + +.lg-backdrop { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: 1040; + background-color: #000; + opacity: 0; + will-change: auto; + -webkit-transition: opacity 333ms ease-in 0s; + -o-transition: opacity 333ms ease-in 0s; + transition: opacity 333ms ease-in 0s; +} +.lg-backdrop.in { + opacity: 1; +} + +.lg-css3.lg-no-trans .lg-prev-slide, +.lg-css3.lg-no-trans .lg-next-slide, +.lg-css3.lg-no-trans .lg-current { + -webkit-transition: none 0s ease 0s !important; + -moz-transition: none 0s ease 0s !important; + -o-transition: none 0s ease 0s !important; + transition: none 0s ease 0s !important; +} +.lg-css3.lg-use-css3 .lg-item { + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + backface-visibility: hidden; +} +.lg-css3.lg-fade .lg-item { + opacity: 0; +} +.lg-css3.lg-fade .lg-item.lg-current { + opacity: 1; +} +.lg-css3.lg-fade .lg-item.lg-prev-slide, .lg-css3.lg-fade .lg-item.lg-next-slide, .lg-css3.lg-fade .lg-item.lg-current { + -webkit-transition: opacity 0.1s ease 0s; + -moz-transition: opacity 0.1s ease 0s; + -o-transition: opacity 0.1s ease 0s; + transition: opacity 0.1s ease 0s; +} +.lg-css3.lg-use-css3 .lg-item.lg-start-progress { + -webkit-transition: -webkit-transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0s; + -o-transition: -o-transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0s; + transition: transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0s; +} +.lg-css3.lg-use-css3 .lg-item.lg-start-end-progress { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s; +} +.lg-css3.lg-slide.lg-use-css3 .lg-item { + opacity: 0; +} +.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); +} +.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); +} +.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1; +} +.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide, .lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide, .lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; +} + +.lg-container { + display: none; +} +.lg-container.lg-show { + display: block; +} +.lg-container.lg-dragging-vertical .lg-backdrop { + -webkit-transition-duration: 0s !important; + transition-duration: 0s !important; +} +.lg-container.lg-dragging-vertical .lg-css3 .lg-item.lg-current { + -webkit-transition-duration: 0s !important; + transition-duration: 0s !important; + opacity: 1; +} + +.lg-inline .lg-backdrop, +.lg-inline .lg-outer { + position: absolute; +} +.lg-inline .lg-backdrop { + z-index: 1; +} +.lg-inline .lg-outer { + z-index: 2; +} +.lg-inline .lg-maximize:after { + content: "\e909"; +} + +.lg-components { + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + will-change: transform; + -webkit-transition: -webkit-transform 0.35s ease-out 0s; + -moz-transition: -moz-transform 0.35s ease-out 0s; + -o-transition: -o-transform 0.35s ease-out 0s; + transition: transform 0.35s ease-out 0s; + z-index: 1080; + position: absolute; + bottom: 0; + right: 0; + left: 0; +} + +/*# sourceMappingURL=lightgallery-core.css.map */ diff --git a/assets/lightGallery/css/lightgallery-core.css.map b/assets/lightGallery/css/lightgallery-core.css.map new file mode 100644 index 0000000..d7ba949 --- /dev/null +++ b/assets/lightGallery/css/lightgallery-core.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["../../src/scss/lightgallery-core.scss","../../src/scss/_lg-mixins.scss","../../src/scss/_lg-variables.scss"],"names":[],"mappings":"AAIA;EACI;EACA;EACA;;;AAKJ;EACI;EACA;;AACA;EACI;;;AAGR;EACI;;;AAEJ;EACI;;;AAIJ;AAAA;AAAA;AAAA;AAAA;EAKI;EACA;ECyQA;EACA;EACA;EACA,YD3QA;;;AAOA;AAAA;AAAA;AAAA;EAII;;AAGA;EACI;;AAIJ;EACI;EC6GR;EACA;;AD1GI;EACI;ECwGR;EACA;;ADrGI;EACI;ECmGR;EACA;;AD/FQ;EACI;EC6FZ;EACA;;;ADvFJ;EACI;EACA;EACA;EACA;EACA;EACA,SEzBW;EF0BX;EACA;EACA;EACA;EACA;ECuIA,oBDrIA;ECsIA,eDtIA;ECuIA,YDvIA;;AAEA;ECSA,oBDRwB;ECSxB,iBDTwB;ECUxB,YDVwB;;AAGxB;EACI;;AAGJ;EACI;;AAMI;ECoIR,6BDjIY;ECkIZ,qBDlIY;ECsIZ,oCDrIgD;ECsIhD,4BDtIgD;;AAQxC;ECwHR,6BDrHY;ECsHZ,qBDtHY;EACA;;AAOR;EC2LJ;EACA;EACA;EACA;EACA;;ADzLI;EC6LJ;EACA;EACA;EACA;EACA;EACA;;AD7LA;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;ECqEJ,oBDpEI;ECqEJ,eDrEI;ECsEJ,YDtEI;EACA;;AAGJ;EAKI;;AAJA;EACI;;AAMJ;AAAA;AAAA;EAGI;;AAIJ;EACI;;AAIR;AAAA;EAEI;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACI;EACA;EACA;EACA;;AAIR;EACI;EACA;EACA;EACA;EACA;EAEA;EACA;;AAIA;EACI;;AAGJ;EACI,SElJE;;AFsJV;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAKA;AAAA;EAEI;;AAKJ;EACI,SEjNuB;EFkNvB;;AAKJ;EACI;EACA;EACA;;AAMA;ECxFR;EACA;EDyFY;;AAEJ;EACI;EACA;;AAKZ;EACI;EACA;EACA;EACA;;AACA;EACI;EACA;;AAKJ;EACI;EACA;;;AAKZ;EACI;EACA;EACA;EACA;EACA;EACA,SE5Nc;EF6Nd,kBExRa;EFyRb;EACA;ECnEA,oBDoEA;ECnEA,eDmEA;EClEA,YDkEA;;AACA;EACI,SErSW;;;AF6SX;AAAA;AAAA;ECHJ;EACA;EACA;EACA,YDGQ;;AAKJ;ECjOJ,6BDkOqC;ECjOrC,0BDiOqC;EChOrC,qBDgOqC;;AAMjC;EACI;;AAEA;EACI;;AAIJ;EC1BR;EACA;EACA;EACA,YD0BY;;AAMJ;ECnCR;EACA;EACA;EACA,YDiCY;;AAKJ;ECzCR;EACA;EACA;EACA,YDuCY;;AASJ;EACI;;AAEA;EC7LZ;EACA;;ADgMY;ECjMZ;EACA;;ADoMY;ECrMZ;EACA;EDsMgB;;AAIJ;ECpEZ;EACA;EACA;EACA,YDoEgB;;;AAUpB;EACI;;AACA;EACI;;AAKA;ECpJJ,6BDqJQ;ECpJR,qBDoJQ;;AAII;ECzJZ,6BD0JgB;ECzJhB,qBDyJgB;EACA;;;AAUhB;AAAA;EAEI;;AAEJ;EACI;;AAEJ;EACI;;AAGA;EACI;;;AAMZ;ECnQI;EACA;EDoQA;EC9HA;EACA;EACA;EACA,YD4HA;EACA,SE3WgB;EF4WhB;EACA;EACA;EACA","file":"lightgallery-core.css"} \ No newline at end of file diff --git a/assets/lightGallery/css/lightgallery.css b/assets/lightGallery/css/lightgallery.css new file mode 100644 index 0000000..d804d19 --- /dev/null +++ b/assets/lightGallery/css/lightgallery.css @@ -0,0 +1,668 @@ +@font-face { + font-family: "lg"; + src: url("../fonts/lg.woff2?io9a6k") format("woff2"), url("../fonts/lg.ttf?io9a6k") format("truetype"), url("../fonts/lg.woff?io9a6k") format("woff"), url("../fonts/lg.svg?io9a6k#lg") format("svg"); + font-weight: normal; + font-style: normal; + font-display: block; +} +.lg-icon { + /* use !important to prevent issues with browser extensions that change fonts */ + font-family: "lg" !important; + speak: never; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + /* Better Font Rendering =========== */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.lg-container { + font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; +} + +.lg-next, +.lg-prev { + background-color: rgba(0, 0, 0, 0.45); + border-radius: 2px; + color: #999; + cursor: pointer; + display: block; + font-size: 22px; + margin-top: -10px; + padding: 8px 10px 9px; + position: absolute; + top: 50%; + z-index: 1084; + outline: none; + border: none; +} +.lg-next.disabled, +.lg-prev.disabled { + opacity: 0 !important; + cursor: default; +} +.lg-next:hover:not(.disabled), +.lg-prev:hover:not(.disabled) { + color: #fff; +} +.lg-single-item .lg-next, +.lg-single-item .lg-prev { + display: none; +} + +.lg-next { + right: 20px; +} +.lg-next:before { + content: "\e095"; +} + +.lg-prev { + left: 20px; +} +.lg-prev:after { + content: "\e094"; +} + +@-webkit-keyframes lg-right-end { + 0% { + left: 0; + } + 50% { + left: -30px; + } + 100% { + left: 0; + } +} +@-moz-keyframes lg-right-end { + 0% { + left: 0; + } + 50% { + left: -30px; + } + 100% { + left: 0; + } +} +@-ms-keyframes lg-right-end { + 0% { + left: 0; + } + 50% { + left: -30px; + } + 100% { + left: 0; + } +} +@keyframes lg-right-end { + 0% { + left: 0; + } + 50% { + left: -30px; + } + 100% { + left: 0; + } +} +@-webkit-keyframes lg-left-end { + 0% { + left: 0; + } + 50% { + left: 30px; + } + 100% { + left: 0; + } +} +@-moz-keyframes lg-left-end { + 0% { + left: 0; + } + 50% { + left: 30px; + } + 100% { + left: 0; + } +} +@-ms-keyframes lg-left-end { + 0% { + left: 0; + } + 50% { + left: 30px; + } + 100% { + left: 0; + } +} +@keyframes lg-left-end { + 0% { + left: 0; + } + 50% { + left: 30px; + } + 100% { + left: 0; + } +} +.lg-outer.lg-right-end .lg-object { + -webkit-animation: lg-right-end 0.3s; + -o-animation: lg-right-end 0.3s; + animation: lg-right-end 0.3s; + position: relative; +} +.lg-outer.lg-left-end .lg-object { + -webkit-animation: lg-left-end 0.3s; + -o-animation: lg-left-end 0.3s; + animation: lg-left-end 0.3s; + position: relative; +} + +.lg-toolbar { + z-index: 1082; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.lg-media-overlap .lg-toolbar { + background-image: linear-gradient(0deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.4)); +} +.lg-toolbar .lg-icon { + color: #999; + cursor: pointer; + float: right; + font-size: 24px; + height: 47px; + line-height: 27px; + padding: 10px 0; + text-align: center; + width: 50px; + text-decoration: none !important; + outline: medium none; + will-change: color; + -webkit-transition: color 0.2s linear; + -o-transition: color 0.2s linear; + transition: color 0.2s linear; + background: none; + border: none; + box-shadow: none; +} +.lg-toolbar .lg-icon.lg-icon-18 { + font-size: 18px; +} +.lg-toolbar .lg-icon:hover { + color: #fff; +} +.lg-toolbar .lg-close:after { + content: "\e070"; +} +.lg-toolbar .lg-maximize { + font-size: 22px; +} +.lg-toolbar .lg-maximize:after { + content: "\e90a"; +} +.lg-toolbar .lg-download:after { + content: "\e0f2"; +} + +.lg-sub-html { + color: #eee; + font-size: 16px; + padding: 10px 40px; + text-align: center; + z-index: 1080; + opacity: 0; + -webkit-transition: opacity 0.2s ease-out 0s; + -o-transition: opacity 0.2s ease-out 0s; + transition: opacity 0.2s ease-out 0s; +} +.lg-sub-html h4 { + margin: 0; + font-size: 13px; + font-weight: bold; +} +.lg-sub-html p { + font-size: 12px; + margin: 5px 0 0; +} +.lg-sub-html a { + color: inherit; +} +.lg-sub-html a:hover { + text-decoration: underline; +} +.lg-media-overlap .lg-sub-html { + background-image: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.6)); +} +.lg-item .lg-sub-html { + position: absolute; + bottom: 0; + right: 0; + left: 0; +} + +.lg-error-msg { + font-size: 14px; + color: #999; +} + +.lg-counter { + color: #999; + display: inline-block; + font-size: 16px; + padding-left: 20px; + padding-top: 12px; + height: 47px; + vertical-align: middle; +} + +.lg-closing .lg-toolbar, +.lg-closing .lg-prev, +.lg-closing .lg-next, +.lg-closing .lg-sub-html { + opacity: 0; + -webkit-transition: -webkit-transform 0.08 cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.08 cubic-bezier(0, 0, 0.25, 1) 0s, color 0.08 linear; + -moz-transition: -moz-transform 0.08 cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.08 cubic-bezier(0, 0, 0.25, 1) 0s, color 0.08 linear; + -o-transition: -o-transform 0.08 cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.08 cubic-bezier(0, 0, 0.25, 1) 0s, color 0.08 linear; + transition: transform 0.08 cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.08 cubic-bezier(0, 0, 0.25, 1) 0s, color 0.08 linear; +} + +body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable) .lg-img-wrap, +body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable) .lg-video-cont, +body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable) .lg-media-cont { + opacity: 0; + -moz-transform: scale3d(0.5, 0.5, 0.5); + -o-transform: scale3d(0.5, 0.5, 0.5); + -ms-transform: scale3d(0.5, 0.5, 0.5); + -webkit-transform: scale3d(0.5, 0.5, 0.5); + transform: scale3d(0.5, 0.5, 0.5); + will-change: transform, opacity; + -webkit-transition: -webkit-transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important; + -moz-transition: -moz-transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important; + -o-transition: -o-transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important; + transition: transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important; +} +body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable).lg-complete .lg-img-wrap, +body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable).lg-complete .lg-video-cont, +body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable).lg-complete .lg-media-cont { + opacity: 1; + -moz-transform: scale3d(1, 1, 1); + -o-transform: scale3d(1, 1, 1); + -ms-transform: scale3d(1, 1, 1); + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); +} + +.lg-icon:focus-visible { + color: #fff; + border-radius: 3px; + outline: 1px dashed rgba(255, 255, 255, 0.6); +} + +.lg-toolbar .lg-icon:focus-visible { + border-radius: 8px; + outline-offset: -5px; +} + +.lg-group:after { + content: ""; + display: table; + clear: both; +} + +.lg-container { + display: none; + outline: none; +} +.lg-container.lg-show { + display: block; +} + +.lg-on { + scroll-behavior: unset; +} + +.lg-overlay-open { + overflow: hidden; +} + +.lg-toolbar, +.lg-prev, +.lg-next, +.lg-pager-outer, +.lg-hide-sub-html .lg-sub-html { + opacity: 0; + will-change: transform, opacity; + -webkit-transition: -webkit-transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.25s cubic-bezier(0, 0, 0.25, 1) 0s; + -moz-transition: -moz-transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.25s cubic-bezier(0, 0, 0.25, 1) 0s; + -o-transition: -o-transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.25s cubic-bezier(0, 0, 0.25, 1) 0s; + transition: transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.25s cubic-bezier(0, 0, 0.25, 1) 0s; +} + +.lg-show-in .lg-toolbar, +.lg-show-in .lg-prev, +.lg-show-in .lg-next, +.lg-show-in .lg-pager-outer { + opacity: 1; +} +.lg-show-in.lg-hide-sub-html .lg-sub-html { + opacity: 1; +} +.lg-show-in .lg-hide-items .lg-prev { + opacity: 0; + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); +} +.lg-show-in .lg-hide-items .lg-next { + opacity: 0; + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); +} +.lg-show-in .lg-hide-items .lg-toolbar { + opacity: 0; + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); +} +.lg-show-in .lg-hide-items.lg-hide-sub-html .lg-sub-html { + opacity: 0; + -webkit-transform: translate3d(0, 20px, 0); + transform: translate3d(0, 20px, 0); +} + +.lg-outer { + width: 100%; + height: 100%; + position: fixed; + top: 0; + left: 0; + z-index: 1050; + text-align: left; + opacity: 0.001; + outline: none; + will-change: auto; + overflow: hidden; + -webkit-transition: opacity 0.15s ease 0s; + -o-transition: opacity 0.15s ease 0s; + transition: opacity 0.15s ease 0s; +} +.lg-outer * { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.lg-outer.lg-zoom-from-image { + opacity: 1; +} +.lg-outer.lg-visible { + opacity: 1; +} +.lg-outer.lg-css3 .lg-item:not(.lg-start-end-progress).lg-prev-slide, .lg-outer.lg-css3 .lg-item:not(.lg-start-end-progress).lg-next-slide, .lg-outer.lg-css3 .lg-item:not(.lg-start-end-progress).lg-current { + -webkit-transition-duration: inherit !important; + transition-duration: inherit !important; + -webkit-transition-timing-function: inherit !important; + transition-timing-function: inherit !important; +} +.lg-outer.lg-css3.lg-dragging .lg-item.lg-prev-slide, .lg-outer.lg-css3.lg-dragging .lg-item.lg-next-slide, .lg-outer.lg-css3.lg-dragging .lg-item.lg-current { + -webkit-transition-duration: 0s !important; + transition-duration: 0s !important; + opacity: 1; +} +.lg-outer.lg-grab img.lg-object { + cursor: -webkit-grab; + cursor: -moz-grab; + cursor: -o-grab; + cursor: -ms-grab; + cursor: grab; +} +.lg-outer.lg-grabbing img.lg-object { + cursor: move; + cursor: -webkit-grabbing; + cursor: -moz-grabbing; + cursor: -o-grabbing; + cursor: -ms-grabbing; + cursor: grabbing; +} +.lg-outer .lg-content { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; +} +.lg-outer .lg-inner { + width: 100%; + position: absolute; + left: 0; + top: 0; + bottom: 0; + -webkit-transition: opacity 0s; + -o-transition: opacity 0s; + transition: opacity 0s; + white-space: nowrap; +} +.lg-outer .lg-item { + display: none !important; +} +.lg-outer .lg-item:not(.lg-start-end-progress) { + background: url("../images/loading.gif") no-repeat scroll center center transparent; +} +.lg-outer.lg-css3 .lg-prev-slide, +.lg-outer.lg-css3 .lg-current, +.lg-outer.lg-css3 .lg-next-slide { + display: inline-block !important; +} +.lg-outer.lg-css .lg-current { + display: inline-block !important; +} +.lg-outer .lg-item, +.lg-outer .lg-img-wrap { + display: inline-block; + text-align: center; + position: absolute; + width: 100%; + height: 100%; +} +.lg-outer .lg-item:before, +.lg-outer .lg-img-wrap:before { + content: ""; + display: inline-block; + height: 100%; + vertical-align: middle; +} +.lg-outer .lg-img-wrap { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + white-space: nowrap; + font-size: 0; +} +.lg-outer .lg-item.lg-complete { + background-image: none; +} +.lg-outer .lg-item.lg-current { + z-index: 1060; +} +.lg-outer .lg-object { + display: inline-block; + vertical-align: middle; + max-width: 100%; + max-height: 100%; + width: auto; + height: auto; + position: relative; +} +.lg-outer .lg-empty-html.lg-sub-html, +.lg-outer .lg-empty-html .lg-sub-html { + display: none; +} +.lg-outer.lg-hide-download .lg-download { + opacity: 0.75; + pointer-events: none; +} +.lg-outer .lg-first-slide .lg-dummy-img { + position: absolute; + top: 50%; + left: 50%; +} +.lg-outer.lg-components-open:not(.lg-zoomed) .lg-components { + -webkit-transform: translate3d(0, 0%, 0); + transform: translate3d(0, 0%, 0); + opacity: 1; +} +.lg-outer.lg-components-open:not(.lg-zoomed) .lg-sub-html { + opacity: 1; + transition: opacity 0.2s ease-out 0.15s; +} +.lg-outer .lg-media-cont { + text-align: center; + display: inline-block; + vertical-align: middle; + position: relative; +} +.lg-outer .lg-media-cont .lg-object { + width: 100% !important; + height: 100% !important; +} +.lg-outer .lg-has-iframe .lg-media-cont { + -webkit-overflow-scrolling: touch; + overflow: auto; +} + +.lg-backdrop { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + z-index: 1040; + background-color: #000; + opacity: 0; + will-change: auto; + -webkit-transition: opacity 333ms ease-in 0s; + -o-transition: opacity 333ms ease-in 0s; + transition: opacity 333ms ease-in 0s; +} +.lg-backdrop.in { + opacity: 1; +} + +.lg-css3.lg-no-trans .lg-prev-slide, +.lg-css3.lg-no-trans .lg-next-slide, +.lg-css3.lg-no-trans .lg-current { + -webkit-transition: none 0s ease 0s !important; + -moz-transition: none 0s ease 0s !important; + -o-transition: none 0s ease 0s !important; + transition: none 0s ease 0s !important; +} +.lg-css3.lg-use-css3 .lg-item { + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + backface-visibility: hidden; +} +.lg-css3.lg-fade .lg-item { + opacity: 0; +} +.lg-css3.lg-fade .lg-item.lg-current { + opacity: 1; +} +.lg-css3.lg-fade .lg-item.lg-prev-slide, .lg-css3.lg-fade .lg-item.lg-next-slide, .lg-css3.lg-fade .lg-item.lg-current { + -webkit-transition: opacity 0.1s ease 0s; + -moz-transition: opacity 0.1s ease 0s; + -o-transition: opacity 0.1s ease 0s; + transition: opacity 0.1s ease 0s; +} +.lg-css3.lg-use-css3 .lg-item.lg-start-progress { + -webkit-transition: -webkit-transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0s; + -o-transition: -o-transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0s; + transition: transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0s; +} +.lg-css3.lg-use-css3 .lg-item.lg-start-end-progress { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s; +} +.lg-css3.lg-slide.lg-use-css3 .lg-item { + opacity: 0; +} +.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); +} +.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); +} +.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1; +} +.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide, .lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide, .lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current { + -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; + transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s; +} + +.lg-container { + display: none; +} +.lg-container.lg-show { + display: block; +} +.lg-container.lg-dragging-vertical .lg-backdrop { + -webkit-transition-duration: 0s !important; + transition-duration: 0s !important; +} +.lg-container.lg-dragging-vertical .lg-css3 .lg-item.lg-current { + -webkit-transition-duration: 0s !important; + transition-duration: 0s !important; + opacity: 1; +} + +.lg-inline .lg-backdrop, +.lg-inline .lg-outer { + position: absolute; +} +.lg-inline .lg-backdrop { + z-index: 1; +} +.lg-inline .lg-outer { + z-index: 2; +} +.lg-inline .lg-maximize:after { + content: "\e909"; +} + +.lg-components { + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + will-change: transform; + -webkit-transition: -webkit-transform 0.35s ease-out 0s; + -moz-transition: -moz-transform 0.35s ease-out 0s; + -o-transition: -o-transform 0.35s ease-out 0s; + transition: transform 0.35s ease-out 0s; + z-index: 1080; + position: absolute; + bottom: 0; + right: 0; + left: 0; +} + +/*# sourceMappingURL=lightgallery.css.map */ diff --git a/assets/lightGallery/css/lightgallery.css.map b/assets/lightGallery/css/lightgallery.css.map new file mode 100644 index 0000000..64eafa8 --- /dev/null +++ b/assets/lightGallery/css/lightgallery.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["../../src/scss/_lg-fonts.scss","../../src/scss/_lg-theme-default.scss","../../src/scss/_lg-variables.scss","../../src/scss/_lg-mixins.scss","../../src/scss/lightgallery-core.scss"],"names":[],"mappings":"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","file":"lightgallery.css"} \ No newline at end of file diff --git a/assets/lightGallery/fonts/lg.eot b/assets/lightGallery/fonts/lg.eot deleted file mode 100644 index 5967563..0000000 Binary files a/assets/lightGallery/fonts/lg.eot and /dev/null differ diff --git a/assets/lightGallery/fonts/lg.svg b/assets/lightGallery/fonts/lg.svg index f7c4714..fe8b075 100644 --- a/assets/lightGallery/fonts/lg.svg +++ b/assets/lightGallery/fonts/lg.svg @@ -6,18 +6,18 @@ @@ -29,6 +29,7 @@+ HTML5 video source = source: { + src: string; + type: string; + }[]; + attributes: HTMLVideoElement; + *
+ */ + html5Video: VideoSource; + /** + * True if video has poster + */ + hasPoster: boolean; +} +/** + * Fired when the image is rotated in anticlockwise direction + * @name lgRotateLeft + * @method onRotateLeft + */ +export interface RotateLeftDetail { + /** + * Index of the slide + */ + index: number; +} +/** + * Fired when the image is rotated in clockwise direction + * @name lgRotateRight + * @method onRotateRight + */ +export interface RotateRightDetail { + /** + * Index of the slide + */ + index: number; +} +/** + * Fired when the image is flipped horizontally + * @name lgFlipHorizontal + * @method onFlipHorizontal + */ +export interface FlipHorizontalDetail { + /** + * Index of the slide + */ + index: number; +} +/** + * Fired when the image is flipped vertically + * @name lgFlipVertical + * @method onFlipVertical + */ +export interface FlipVerticalDetail { + /** + * Index of the slide + */ + index: number; +} diff --git a/assets/lightGallery/lg-plugin.d.ts b/assets/lightGallery/lg-plugin.d.ts new file mode 100644 index 0000000..2dfd32e --- /dev/null +++ b/assets/lightGallery/lg-plugin.d.ts @@ -0,0 +1,7 @@ +import { LgQuery } from './lgQuery'; +import { LightGallery } from './lightgallery'; +export declare class LgPlugin { + core: LightGallery; + $LG: LgQuery; + constructor(core: LightGallery, $LG: LgQuery); +} diff --git a/assets/lightGallery/lg-settings.d.ts b/assets/lightGallery/lg-settings.d.ts new file mode 100644 index 0000000..0bb399d --- /dev/null +++ b/assets/lightGallery/lg-settings.d.ts @@ -0,0 +1,425 @@ +import { GalleryItem } from './lg-utils'; +import { LgQuery } from './lgQuery'; +import { LightGallery } from './lightgallery'; +import { AutoplaySettings } from './plugins/autoplay/lg-autoplay-settings'; +import { CommentSettings } from './plugins/comment/lg-comment-settings'; +import { FullscreenSettings } from './plugins/fullscreen/lg-fullscreen-settings'; +import { HashSettings } from './plugins/hash/lg-hash-settings'; +import { MediumZoomSettings } from './plugins/mediumZoom/lg-medium-zoom-settings'; +import { PagerSettings } from './plugins/pager/lg-pager-settings'; +import { RotateSettings } from './plugins/rotate/lg-rotate-settings'; +import { ShareSettings } from './plugins/share/lg-share-settings'; +import { ThumbnailsSettings } from './plugins/thumbnail/lg-thumbnail-settings'; +import { VideoSettings } from './plugins/video/lg-video-settings'; +import { ZoomSettings } from './plugins/zoom/lg-zoom-settings'; +declare type LightGalleryCoreMobileSettings = Exclude data-lg-size="1920-1280"
+ *
+ * If you don't know, the size of a few images in the list, you can skip the data-lg-size attribute for the particular slides,
+ * lightGallery will show the default animation if data-lg-size is not available
+ *
+ * If you are using responsive images,
+ * you can pass a comma separated list of sizes combined with a max-width (up to what size the particular image should be used)
+ *
+ * example -
+ * data-lg-size="240-160-375, 400-267-480, 1600-1067"
+ * data-responsive="img-240.jpg 375, img-400.jpg 480"
+ * data-src="img-1600.jpg"
+ *
+ * In the above example, upto 375 width img.240.jpg and lg-size 240-160 will be used.
+ * Similarly, upto 480 pixel width size 400-267 and img-400.jpg will be used
+ * And above 480, lg-size 1600-1067 and img-1600.jpg will be used
+ *
+ * 0 if you don't want to hide the controls
+ */
+ hideBarsDelay: number;
+ /**
+ * Delay in hiding controls for the first time when gallery is opened
+ */
+ showBarsAfter: number;
+ /**
+ * Delay slide transitions.
+ * @description This is useful if you want to do any action in the current slide before moving to next slide.
+ * .lg-slide-progress class name is added to the current slide immediately after calling the slide method.
+ * But transition begins only after the delay
+ * false if option closable is false
+ */
+ swipeToClose: boolean;
+ /**
+ * allows clicks on black area to close gallery.
+ */
+ closeOnTap: boolean;
+ /**
+ * If false, close button won't be displayed.
+ * Useful for creating inline galleries.
+ */
+ showCloseIcon: boolean;
+ /**
+ * Show maximize icon.
+ * Useful for creating inline galleries.
+ */
+ showMaximizeIcon: boolean;
+ /**
+ * If false, will disable the ability to loop back to the beginning of the gallery from the last slide.
+ */
+ loop: boolean;
+ /**
+ * Whether the LightGallery could be closed by pressing the "Esc" key.
+ */
+ escKey: boolean;
+ /**
+ * Enable keyboard navigation
+ */
+ keyPress: boolean;
+ /**
+ * Trap focus within the lightGallery
+ * @version V2.5.0
+ */
+ trapFocus: boolean;
+ /**
+ * If false, prev/next buttons will not be displayed.
+ */
+ controls: boolean;
+ /**
+ * Enable slideEnd animation
+ */
+ slideEndAnimation: boolean;
+ /**
+ * If true, prev/next button will be hidden on first/last image.
+ * @description Note - this option will be ignored if loop or slideEndAnimation is set to true
+ */
+ hideControlOnEnd: boolean;
+ /**
+ * ability to navigate to next/prev slides on mousewheel
+ */
+ mousewheel: boolean;
+ /**
+ * Option to get captions from alt or title tags.
+ */
+ getCaptionFromTitleOrAlt: boolean;
+ /**
+ * control where the sub-html should be appended.
+ * If you choose '.lg-outer', you are responsible for placing the div at the right position.
+ * '.lg-outer' is useful if you want show custom HTML outside the normal gallery
+ */
+ appendSubHtmlTo: '.lg-sub-html' | '.lg-item' | '.lg-outer';
+ /**
+ * Set to true if the selector in "data-sub-html" should use the current item as its origin.
+ */
+ subHtmlSelectorRelative: boolean;
+ /**
+ * number of preload slides
+ * @description will exicute only after the current slide is fully loaded.
+ * for example, if you click on 4th image and if preload = 1 then 3rd slide and 5th
+ * slide will be loaded in the background after the 4th slide is fully loaded..
+ * if preload is 2 then 2nd 3rd 5th 6th slides will be preloaded.
+ */
+ preload: number;
+ /**
+ * Control how many slide items should be kept in dom at a time
+ * @description To improve performance by reducing number of gallery items in the dom,
+ * lightGallery keeps only the lowest possible number of slides in the dom at a time.
+ * This has a minimum value of 3
+ */
+ numberOfSlideItemsInDom: number;
+ /**
+ * Custom selector property instead of direct children.
+ * @description Based on your markup structure, you can specify custom selectors to fetch media data for the gallery
+ * Pass "this" to select same element
+ * You can also pass HTMLCollection directly
+ * Example - '.my-selector' | '#my-selector' | this | document.querySelectorAll('.my-selector')
+ */
+ selector: string | HTMLCollection[];
+ /**
+ * By default selector element relative to the current gallery.
+ * Instead of that you can tell lightGallery to select element relative to another element.
+ * Example - '.my-selector-container' | '#my-selector-container'
+ * In the code this become selector = document.querySelector(this.s.selectWithin ).querySelectorAll(this.s.selector);
+ */
+ selectWithin: string;
+ /**
+ * Custom html for next control
+ */
+ nextHtml: string;
+ /**
+ * Custom html for prev control
+ */
+ prevHtml: string;
+ /**
+ * specify which slide should load initially
+ */
+ index: number;
+ /**
+ * Set width for iframe.
+ */
+ iframeWidth: string;
+ /**
+ * Set height for iframe.
+ */
+ iframeHeight: string;
+ /**
+ * Set max width for iframe.
+ */
+ iframeMaxWidth: string;
+ /**
+ * Set max height for iframe.
+ */
+ iframeMaxHeight: string;
+ /**
+ * Enable download button.
+ * @description By default download url will be taken from data-src/href attribute but it supports only for modern browsers.
+ * If you want you can provide another url for download via data-download-url.
+ * pass false in data-download-url if you want to hide download button for the particular slide.
+ */
+ download: boolean;
+ /**
+ * Whether to show total number of images and index number of currently displayed image.
+ */
+ counter: boolean;
+ /**
+ * Where the counter should be appended
+ */
+ appendCounterTo: string;
+ /**
+ * By setting the swipeThreshold (in px) you can set how far the user must swipe for the next/prev image.
+ */
+ swipeThreshold: number;
+ /**
+ * Enables swipe support for touch devices
+ */
+ enableSwipe: boolean;
+ /**
+ * Enables desktop mouse drag support
+ */
+ enableDrag: boolean;
+ /**
+ * LightGallery can be instantiated and launched programmatically by setting this option to true and populating dynamicEl option (see below) with the definitions of images.
+ */
+ dynamic: boolean;
+ /**
+ * An array of objects (src, iframe, subHtml, thumb, poster, responsive, srcset sizes) representing gallery elements.
+ */
+ dynamicEl: GalleryItem[];
+ /**
+ * Fetch custom properties from the selector
+ * @description this is useful for plugin development
+ * By default lightGallery fetches and store all the props selectors to
+ * reduce frequent dom interaction for fetching props every time.
+ *
+ * If you need any addition data to be fetched and stored in the galleryItems variable,
+ * you can do this just by passing the prop names via extraProps
+ * @example
+ * HTML:
+ *
+ * JS:
+ * lightGallery(document.getElementById('lightGallery'), {
+ * extraProps: ['customProp']
+ * })
+ * // Note - If you are using dynamic mode, you can pass any custom prop in the galleryItem
+ * lightGallery(document.getElementById('lightGallery'), {
+ * dynamic: true,
+ * dynamicEl: [{
+ * src: 'img/img1.jpg',
+ * customProp:'abc',
+ * }]
+ * })
+ *
+ */
+ extraProps: string[];
+ /**
+ * Option to fetch different thumbnail image other than first image
+ * @description If you want to use external image for thumbnail,
+ * add the path of that image inside "data-" attribute
+ * and set value of this option to the name of your custom attribute.
+ *
+ * @example
+ *
+ *
+ * lightGallery(document.getElementById('lightGallery'), {
+ * exThumbImage: 'data-external-thumb-image'
+ * })
+ */
+ exThumbImage: string;
+ /**
+ * Function to detect mobile devices
+ */
+ isMobile?: () => boolean;
+ /**
+ * Separate settings for mobile devices
+ * @description Note - this is applied only at the time of loading
+ * by default controls and close buttons are disabled on mobile devices.
+ * use this options if you want to enable them or change any other settings for mobile devices
+ * Note - mobileSettings does not merge default values, You need to provide all mobileSettings including default values
+ */
+ mobileSettings: PartialImage 1 descriptions.
', + * }, + * ... + * ], + * }); + * $dynamicGallery.addEventListener('click', function () { + * // Starts with third item.(Optional). + * // This is useful if you want use dynamic mode with + * // custom thumbnails (thumbnails outside gallery), + * dynamicGallery.openGallery(2); + * }); + * + */ + openGallery(index?: number, element?: HTMLElement): void; + /** + * Note - Changing the position of the media on every slide transition creates a flickering effect. + * Therefore, The height of the caption is calculated dynamically, only once based on the first slide caption. + * if you have dynamic captions for each media, + * you can provide an appropriate height for the captions via allowMediaOverlap option + */ + getMediaContainerPosition(): MediaContainerPosition; + private setMediaContainerPosition; + hideBars(): void; + initPictureFill($img: lgQuery): void; + /** + * @desc Create image counter + * Ex: 1/10 + */ + counter(): void; + /** + * @desc add sub-html into the slide + * @param {Number} index - index of the slide + */ + addHtml(index: number): void; + /** + * @desc Preload slides + * @param {Number} index - index of the slide + * @todo preload not working for the first slide, Also, should work for the first and last slide as well + */ + preload(index: number): void; + getDummyImgStyles(imageSize?: ImageSize): string; + getVideoContStyle(imageSize?: ImageSize): string; + getDummyImageContent($currentSlide: lgQuery, index: number, alt: string): HTMLImageElement | string; + setImgMarkup(src: string, $currentSlide: lgQuery, index: number): void; + onSlideObjectLoad($slide: lgQuery, isHTML5VideoWithoutPoster: boolean, onLoad: () => void, onError: () => void): void; + /** + * + * @param $el Current slide item + * @param index + * @param delay Delay is 0 except first time + * @param speed Speed is same as delay, except it is 0 if gallery is opened via hash plugin + * @param isFirstSlide + */ + onLgObjectLoad(currentSlide: lgQuery, index: number, delay: number, speed: number, isFirstSlide: boolean, isHTML5VideoWithoutPoster: boolean): void; + triggerSlideItemLoad($currentSlide: lgQuery, index: number, delay: number, speed: number, isFirstSlide: boolean): void; + isFirstSlideWithZoomAnimation(): boolean; + addSlideVideoInfo(items: GalleryItem[]): void; + /** + * Load slide content into slide. + * This is used to load content into slides that is not visible too + * @param {Number} index - index of the slide. + * @param {Boolean} rec - if true call loadcontent() function again. + */ + loadContent(index: number, rec: boolean): void; + /** + * @desc Remove dummy image content and load next slides + * Called only for the first time if zoomFromOrigin animation is enabled + * @param index + * @param $currentSlide + * @param speed + */ + loadContentOnFirstSlideLoad(index: number, $currentSlide: lgQuery, speed: number): void; + getItemsToBeInsertedToDom(index: number, prevIndex: number, numberOfItems?: number): string[]; + organizeSlideItems(index: number, prevIndex: number): string[]; + /** + * Get previous index of the slide + */ + getPreviousSlideIndex(): number; + setDownloadValue(index: number): void; + makeSlideAnimation(direction: 'next' | 'prev', currentSlideItem: lgQuery, previousSlideItem: lgQuery): void; + /** + * Goto a specific slide. + * @param {Number} index - index of the slide + * @param {Boolean} fromTouch - true if slide function called via touch event or mouse drag + * @param {Boolean} fromThumb - true if slide function called via thumbnail click + * @param {String} direction - Direction of the slide(next/prev) + * @category lGPublicMethods + * @example + * const plugin = lightGallery(); + * // to go to 3rd slide + * plugin.slide(2); + * + */ + slide(index: number, fromTouch?: boolean, fromThumb?: boolean, direction?: SlideDirection | false): void; + updateCurrentCounter(index: number): void; + updateCounterTotal(): void; + getSlideType(item: GalleryItem): 'video' | 'iframe' | 'image'; + touchMove(startCoords: Coords, endCoords: Coords, e?: TouchEvent): void; + touchEnd(endCoords: Coords, startCoords: Coords, event: TouchEvent): void; + enableSwipe(): void; + enableDrag(): void; + triggerPosterClick(): void; + manageSwipeClass(): void; + /** + * Go to next slide + * @param {Boolean} fromTouch - true if slide function called via touch event + * @category lGPublicMethods + * @example + * const plugin = lightGallery(); + * plugin.goToNextSlide(); + * @see Demo + */ + goToNextSlide(fromTouch?: boolean): void; + /** + * Go to previous slides + * @param {Boolean} fromTouch - true if slide function called via touch event + * @category lGPublicMethods + * @example + * const plugin = lightGallery({}); + * plugin.goToPrevSlide(); + * @see Demo + * + */ + goToPrevSlide(fromTouch?: boolean): void; + keyPress(): void; + arrow(): void; + arrowDisable(index: number): void; + setTranslate($el: lgQuery, xValue: number, yValue: number, scaleX?: number, scaleY?: number): void; + mousewheel(): void; + isSlideElement(target: lgQuery): boolean; + isPosterElement(target: lgQuery): boolean; + /** + * Maximize minimize inline gallery. + * @category lGPublicMethods + */ + toggleMaximize(): void; + invalidateItems(): void; + trapFocus(): void; + manageCloseGallery(): void; + /** + * Close lightGallery if it is opened. + * + * @description If closable is false in the settings, you need to pass true via closeGallery method to force close gallery + * @return returns the estimated time to close gallery completely including the close animation duration + * @category lGPublicMethods + * @example + * const plugin = lightGallery(); + * plugin.closeGallery(); + * + */ + closeGallery(force?: boolean): number; + initModules(): void; + destroyModules(destroy?: true): void; + /** + * Refresh lightGallery with new set of children. + * + * @description This is useful to update the gallery when the child elements are changed without calling destroy method. + * + * If you are using dynamic mode, you can pass the modified array of dynamicEl as the first parameter to refresh the dynamic gallery + * @see Demo + * @category lGPublicMethods + * @example + * const plugin = lightGallery(); + * // Delete or add children, then call + * plugin.refresh(); + * + */ + refresh(galleryItems?: GalleryItem[]): void; + updateControls(): void; + private destroyGallery; + /** + * Destroy lightGallery. + * Destroy lightGallery and its plugin instances completely + * + * @description This method also calls CloseGallery function internally. Returns the time takes to completely close and destroy the instance. + * In case if you want to re-initialize lightGallery right after destroying it, initialize it only once the destroy process is completed. + * You can use refresh method most of the times. + * @category lGPublicMethods + * @example + * const plugin = lightGallery(); + * plugin.destroy(); + * + */ + destroy(): number; +} diff --git a/assets/lightGallery/lightgallery.es5.js b/assets/lightGallery/lightgallery.es5.js new file mode 100644 index 0000000..2c305f3 --- /dev/null +++ b/assets/lightGallery/lightgallery.es5.js @@ -0,0 +1,2786 @@ +/*! + * lightgallery | 2.9.0 | October 1st 2025 + * http://www.lightgalleryjs.com/ + * Copyright (c) 2020 Sachin Neravath; + * @license GPLv3 + */ + +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */ + +var __assign = function() { + __assign = Object.assign || function __assign(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); +}; + +function __spreadArrays() { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; +} + +/** + * List of lightGallery events + * All events should be documented here + * Below interfaces are used to build the website documentations + * */ +var lGEvents = { + afterAppendSlide: 'lgAfterAppendSlide', + init: 'lgInit', + hasVideo: 'lgHasVideo', + containerResize: 'lgContainerResize', + updateSlides: 'lgUpdateSlides', + afterAppendSubHtml: 'lgAfterAppendSubHtml', + beforeOpen: 'lgBeforeOpen', + afterOpen: 'lgAfterOpen', + slideItemLoad: 'lgSlideItemLoad', + beforeSlide: 'lgBeforeSlide', + afterSlide: 'lgAfterSlide', + posterClick: 'lgPosterClick', + dragStart: 'lgDragStart', + dragMove: 'lgDragMove', + dragEnd: 'lgDragEnd', + beforeNextSlide: 'lgBeforeNextSlide', + beforePrevSlide: 'lgBeforePrevSlide', + beforeClose: 'lgBeforeClose', + afterClose: 'lgAfterClose', + rotateLeft: 'lgRotateLeft', + rotateRight: 'lgRotateRight', + flipHorizontal: 'lgFlipHorizontal', + flipVertical: 'lgFlipVertical', + autoplay: 'lgAutoplay', + autoplayStart: 'lgAutoplayStart', + autoplayStop: 'lgAutoplayStop', +}; + +var lightGalleryCoreSettings = { + mode: 'lg-slide', + easing: 'ease', + speed: 400, + licenseKey: '0000-0000-000-0000', + height: '100%', + width: '100%', + addClass: '', + startClass: 'lg-start-zoom', + backdropDuration: 300, + container: '', + startAnimationDuration: 400, + zoomFromOrigin: true, + hideBarsDelay: 0, + showBarsAfter: 10000, + slideDelay: 0, + supportLegacyBrowser: true, + allowMediaOverlap: false, + videoMaxSize: '1280-720', + loadYouTubePoster: true, + defaultCaptionHeight: 0, + ariaLabelledby: '', + ariaDescribedby: '', + resetScrollPosition: true, + hideScrollbar: false, + closable: true, + swipeToClose: true, + closeOnTap: true, + showCloseIcon: true, + showMaximizeIcon: false, + loop: true, + escKey: true, + keyPress: true, + trapFocus: true, + controls: true, + slideEndAnimation: true, + hideControlOnEnd: false, + mousewheel: false, + getCaptionFromTitleOrAlt: true, + appendSubHtmlTo: '.lg-sub-html', + subHtmlSelectorRelative: false, + preload: 2, + numberOfSlideItemsInDom: 10, + selector: '', + selectWithin: '', + nextHtml: '', + prevHtml: '', + index: 0, + iframeWidth: '100%', + iframeHeight: '100%', + iframeMaxWidth: '100%', + iframeMaxHeight: '100%', + download: true, + counter: true, + appendCounterTo: '.lg-toolbar', + swipeThreshold: 50, + enableSwipe: true, + enableDrag: true, + dynamic: false, + dynamicEl: [], + extraProps: [], + exThumbImage: '', + isMobile: undefined, + mobileSettings: { + controls: false, + showCloseIcon: false, + download: false, + }, + plugins: [], + strings: { + closeGallery: 'Close gallery', + toggleMaximize: 'Toggle maximize', + previousSlide: 'Previous slide', + nextSlide: 'Next slide', + download: 'Download', + playVideo: 'Play video', + mediaLoadingFailed: 'Oops... Failed to load content...', + }, +}; + +function initLgPolyfills() { + (function () { + if (typeof window.CustomEvent === 'function') + return false; + function CustomEvent(event, params) { + params = params || { + bubbles: false, + cancelable: false, + detail: null, + }; + var evt = document.createEvent('CustomEvent'); + evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail); + return evt; + } + window.CustomEvent = CustomEvent; + })(); + (function () { + if (!Element.prototype.matches) { + Element.prototype.matches = + Element.prototype.msMatchesSelector || + Element.prototype.webkitMatchesSelector; + } + })(); +} +var lgQuery = /** @class */ (function () { + function lgQuery(selector) { + this.cssVenderPrefixes = [ + 'TransitionDuration', + 'TransitionTimingFunction', + 'Transform', + 'Transition', + ]; + this.selector = this._getSelector(selector); + this.firstElement = this._getFirstEl(); + return this; + } + lgQuery.generateUUID = function () { + return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { + var r = (Math.random() * 16) | 0, v = c == 'x' ? r : (r & 0x3) | 0x8; + return v.toString(16); + }); + }; + lgQuery.prototype._getSelector = function (selector, context) { + if (context === void 0) { context = document; } + if (typeof selector !== 'string') { + return selector; + } + context = context || document; + var fl = selector.substring(0, 1); + if (fl === '#') { + return context.querySelector(selector); + } + else { + return context.querySelectorAll(selector); + } + }; + lgQuery.prototype._each = function (func) { + if (!this.selector) { + return this; + } + if (this.selector.length !== undefined) { + [].forEach.call(this.selector, func); + } + else { + func(this.selector, 0); + } + return this; + }; + lgQuery.prototype._setCssVendorPrefix = function (el, cssProperty, value) { + // prettier-ignore + var property = cssProperty.replace(/-([a-z])/gi, function (s, group1) { + return group1.toUpperCase(); + }); + if (this.cssVenderPrefixes.indexOf(property) !== -1) { + el.style[property.charAt(0).toLowerCase() + property.slice(1)] = value; + el.style['webkit' + property] = value; + el.style['moz' + property] = value; + el.style['ms' + property] = value; + el.style['o' + property] = value; + } + else { + el.style[property] = value; + } + }; + lgQuery.prototype._getFirstEl = function () { + if (this.selector && this.selector.length !== undefined) { + return this.selector[0]; + } + else { + return this.selector; + } + }; + lgQuery.prototype.isEventMatched = function (event, eventName) { + var eventNamespace = eventName.split('.'); + return event + .split('.') + .filter(function (e) { return e; }) + .every(function (e) { + return eventNamespace.indexOf(e) !== -1; + }); + }; + lgQuery.prototype.attr = function (attr, value) { + if (value === undefined) { + if (!this.firstElement) { + return ''; + } + return this.firstElement.getAttribute(attr); + } + this._each(function (el) { + el.setAttribute(attr, value); + }); + return this; + }; + lgQuery.prototype.find = function (selector) { + return $LG(this._getSelector(selector, this.selector)); + }; + lgQuery.prototype.first = function () { + if (this.selector && this.selector.length !== undefined) { + return $LG(this.selector[0]); + } + else { + return $LG(this.selector); + } + }; + lgQuery.prototype.eq = function (index) { + return $LG(this.selector[index]); + }; + lgQuery.prototype.parent = function () { + return $LG(this.selector.parentElement); + }; + lgQuery.prototype.get = function () { + return this._getFirstEl(); + }; + lgQuery.prototype.removeAttr = function (attributes) { + var attrs = attributes.split(' '); + this._each(function (el) { + attrs.forEach(function (attr) { return el.removeAttribute(attr); }); + }); + return this; + }; + lgQuery.prototype.wrap = function (className) { + if (!this.firstElement) { + return this; + } + var wrapper = document.createElement('div'); + wrapper.className = className; + this.firstElement.parentNode.insertBefore(wrapper, this.firstElement); + this.firstElement.parentNode.removeChild(this.firstElement); + wrapper.appendChild(this.firstElement); + return this; + }; + lgQuery.prototype.addClass = function (classNames) { + if (classNames === void 0) { classNames = ''; } + this._each(function (el) { + // IE doesn't support multiple arguments + classNames.split(' ').forEach(function (className) { + if (className) { + el.classList.add(className); + } + }); + }); + return this; + }; + lgQuery.prototype.removeClass = function (classNames) { + this._each(function (el) { + // IE doesn't support multiple arguments + classNames.split(' ').forEach(function (className) { + if (className) { + el.classList.remove(className); + } + }); + }); + return this; + }; + lgQuery.prototype.hasClass = function (className) { + if (!this.firstElement) { + return false; + } + return this.firstElement.classList.contains(className); + }; + lgQuery.prototype.hasAttribute = function (attribute) { + if (!this.firstElement) { + return false; + } + return this.firstElement.hasAttribute(attribute); + }; + lgQuery.prototype.toggleClass = function (className) { + if (!this.firstElement) { + return this; + } + if (this.hasClass(className)) { + this.removeClass(className); + } + else { + this.addClass(className); + } + return this; + }; + lgQuery.prototype.css = function (property, value) { + var _this = this; + this._each(function (el) { + _this._setCssVendorPrefix(el, property, value); + }); + return this; + }; + // Need to pass separate namespaces for separate elements + lgQuery.prototype.on = function (events, listener) { + var _this = this; + if (!this.selector) { + return this; + } + events.split(' ').forEach(function (event) { + if (!Array.isArray(lgQuery.eventListeners[event])) { + lgQuery.eventListeners[event] = []; + } + lgQuery.eventListeners[event].push(listener); + _this.selector.addEventListener(event.split('.')[0], listener); + }); + return this; + }; + // @todo - test this + lgQuery.prototype.once = function (event, listener) { + var _this = this; + this.on(event, function () { + _this.off(event); + listener(event); + }); + return this; + }; + lgQuery.prototype.off = function (event) { + var _this = this; + if (!this.selector) { + return this; + } + Object.keys(lgQuery.eventListeners).forEach(function (eventName) { + if (_this.isEventMatched(event, eventName)) { + lgQuery.eventListeners[eventName].forEach(function (listener) { + _this.selector.removeEventListener(eventName.split('.')[0], listener); + }); + lgQuery.eventListeners[eventName] = []; + } + }); + return this; + }; + lgQuery.prototype.trigger = function (event, detail) { + if (!this.firstElement) { + return this; + } + var customEvent = new CustomEvent(event.split('.')[0], { + detail: detail || null, + }); + this.firstElement.dispatchEvent(customEvent); + return this; + }; + // Does not support IE + lgQuery.prototype.load = function (url) { + var _this = this; + fetch(url) + .then(function (res) { return res.text(); }) + .then(function (html) { + _this.selector.innerHTML = html; + }); + return this; + }; + lgQuery.prototype.html = function (html) { + if (html === undefined) { + if (!this.firstElement) { + return ''; + } + return this.firstElement.innerHTML; + } + this._each(function (el) { + el.innerHTML = html; + }); + return this; + }; + lgQuery.prototype.append = function (html) { + this._each(function (el) { + if (typeof html === 'string') { + el.insertAdjacentHTML('beforeend', html); + } + else { + el.appendChild(html); + } + }); + return this; + }; + lgQuery.prototype.prepend = function (html) { + this._each(function (el) { + if (typeof html === 'string') { + el.insertAdjacentHTML('afterbegin', html); + } + else if (html instanceof HTMLElement) { + el.insertBefore(html.cloneNode(true), el.firstChild); + } + }); + return this; + }; + lgQuery.prototype.remove = function () { + this._each(function (el) { + el.parentNode.removeChild(el); + }); + return this; + }; + lgQuery.prototype.empty = function () { + this._each(function (el) { + el.innerHTML = ''; + }); + return this; + }; + lgQuery.prototype.scrollTop = function (scrollTop) { + if (scrollTop !== undefined) { + document.body.scrollTop = scrollTop; + document.documentElement.scrollTop = scrollTop; + return this; + } + else { + return (window.pageYOffset || + document.documentElement.scrollTop || + document.body.scrollTop || + 0); + } + }; + lgQuery.prototype.scrollLeft = function (scrollLeft) { + if (scrollLeft !== undefined) { + document.body.scrollLeft = scrollLeft; + document.documentElement.scrollLeft = scrollLeft; + return this; + } + else { + return (window.pageXOffset || + document.documentElement.scrollLeft || + document.body.scrollLeft || + 0); + } + }; + lgQuery.prototype.offset = function () { + if (!this.firstElement) { + return { + left: 0, + top: 0, + }; + } + var rect = this.firstElement.getBoundingClientRect(); + var bodyMarginLeft = $LG('body').style().marginLeft; + // Minus body margin - https://stackoverflow.com/questions/30711548/is-getboundingclientrect-left-returning-a-wrong-value + return { + left: rect.left - parseFloat(bodyMarginLeft) + this.scrollLeft(), + top: rect.top + this.scrollTop(), + }; + }; + lgQuery.prototype.style = function () { + if (!this.firstElement) { + return {}; + } + return (this.firstElement.currentStyle || + window.getComputedStyle(this.firstElement)); + }; + // Width without padding and border even if box-sizing is used. + lgQuery.prototype.width = function () { + var style = this.style(); + return (this.firstElement.clientWidth - + parseFloat(style.paddingLeft) - + parseFloat(style.paddingRight)); + }; + // Height without padding and border even if box-sizing is used. + lgQuery.prototype.height = function () { + var style = this.style(); + return (this.firstElement.clientHeight - + parseFloat(style.paddingTop) - + parseFloat(style.paddingBottom)); + }; + lgQuery.eventListeners = {}; + return lgQuery; +}()); +function $LG(selector) { + initLgPolyfills(); + return new lgQuery(selector); +} + +var defaultDynamicOptions = [ + 'src', + 'sources', + 'subHtml', + 'subHtmlUrl', + 'html', + 'video', + 'poster', + 'slideName', + 'responsive', + 'srcset', + 'sizes', + 'iframe', + 'downloadUrl', + 'download', + 'width', + 'facebookShareUrl', + 'tweetText', + 'iframeTitle', + 'twitterShareUrl', + 'pinterestShareUrl', + 'pinterestText', + 'fbHtml', + 'disqusIdentifier', + 'disqusUrl', +]; +// Convert html data-attribute to camalcase +function convertToData(attr) { + // FInd a way for lgsize + if (attr === 'href') { + return 'src'; + } + attr = attr.replace('data-', ''); + attr = attr.charAt(0).toLowerCase() + attr.slice(1); + attr = attr.replace(/-([a-z])/g, function (g) { return g[1].toUpperCase(); }); + return attr; +} +var utils = { + /** + * Fetches HTML content from a given URL and inserts it into a specified element. + * + * @param url - The URL to fetch the HTML content from. + * @param element - The DOM element (jQuery object) to insert the HTML content into. + * @param insertMethod - The method to insert the HTML ('append' or 'replace'). + */ + fetchCaptionFromUrl: function (url, element, insertMethod) { + // Fetch content from the URL + fetch(url) + .then(function (response) { return response.text(); }) + .then(function (htmlContent) { + if (insertMethod === 'append') { + var contentDiv = "Image 1 descriptions.
', + * }, + * ... + * ], + * }); + * $dynamicGallery.addEventListener('click', function () { + * // Starts with third item.(Optional). + * // This is useful if you want use dynamic mode with + * // custom thumbnails (thumbnails outside gallery), + * dynamicGallery.openGallery(2); + * }); + * + */ + LightGallery.prototype.openGallery = function (index, element) { + var _this = this; + if (index === void 0) { index = this.settings.index; } + // prevent accidental double execution + if (this.lgOpened) + return; + this.lgOpened = true; + this.outer.removeClass('lg-hide-items'); + this.hideScrollbar(); + // Add display block, but still has opacity 0 + this.$container.addClass('lg-show'); + var itemsToBeInsertedToDom = this.getItemsToBeInsertedToDom(index, index); + this.currentItemsInDom = itemsToBeInsertedToDom; + var items = ''; + itemsToBeInsertedToDom.forEach(function (item) { + items = items + (""); + }); + this.$inner.append(items); + this.addHtml(index); + var transform = ''; + this.mediaContainerPosition = this.getMediaContainerPosition(); + var _a = this.mediaContainerPosition, top = _a.top, bottom = _a.bottom; + if (!this.settings.allowMediaOverlap) { + this.setMediaContainerPosition(top, bottom); + } + var __slideVideoInfo = this.galleryItems[index].__slideVideoInfo; + if (this.zoomFromOrigin && element) { + this.currentImageSize = utils.getSize(element, this.outer, top + bottom, __slideVideoInfo && this.settings.videoMaxSize); + transform = utils.getTransform(element, this.outer, top, bottom, this.currentImageSize); + } + if (!this.zoomFromOrigin || !transform) { + this.outer.addClass(this.settings.startClass); + this.getSlideItem(index).removeClass('lg-complete'); + } + var timeout = this.settings.zoomFromOrigin + ? 100 + : this.settings.backdropDuration; + setTimeout(function () { + _this.outer.addClass('lg-components-open'); + }, timeout); + this.index = index; + this.LGel.trigger(lGEvents.beforeOpen); + // add class lg-current to remove initial transition + this.getSlideItem(index).addClass('lg-current'); + this.lGalleryOn = false; + // Store the current scroll top value to scroll back after closing the gallery.. + this.prevScrollTop = $LG(window).scrollTop(); + setTimeout(function () { + // Need to check both zoomFromOrigin and transform values as we need to set set the + // default opening animation if user missed to add the lg-size attribute + if (_this.zoomFromOrigin && transform) { + var currentSlide_1 = _this.getSlideItem(index); + currentSlide_1.css('transform', transform); + setTimeout(function () { + currentSlide_1 + .addClass('lg-start-progress lg-start-end-progress') + .css('transition-duration', _this.settings.startAnimationDuration + 'ms'); + _this.outer.addClass('lg-zoom-from-image'); + }); + setTimeout(function () { + currentSlide_1.css('transform', 'translate3d(0, 0, 0)'); + }, 100); + } + setTimeout(function () { + _this.$backdrop.addClass('in'); + _this.$container.addClass('lg-show-in'); + }, 10); + setTimeout(function () { + if (_this.settings.trapFocus && + document.body === _this.settings.container) { + _this.trapFocus(); + } + }, _this.settings.backdropDuration + 50); + // lg-visible class resets gallery opacity to 1 + if (!_this.zoomFromOrigin || !transform) { + setTimeout(function () { + _this.outer.addClass('lg-visible'); + }, _this.settings.backdropDuration); + } + // initiate slide function + _this.slide(index, false, false, false); + _this.LGel.trigger(lGEvents.afterOpen); + }); + if (document.body === this.settings.container) { + $LG('html').addClass('lg-on'); + } + }; + /** + * Note - Changing the position of the media on every slide transition creates a flickering effect. + * Therefore, The height of the caption is calculated dynamically, only once based on the first slide caption. + * if you have dynamic captions for each media, + * you can provide an appropriate height for the captions via allowMediaOverlap option + */ + LightGallery.prototype.getMediaContainerPosition = function () { + if (this.settings.allowMediaOverlap) { + return { + top: 0, + bottom: 0, + }; + } + var top = this.$toolbar.get().clientHeight || 0; + var subHtml = this.outer.find('.lg-components .lg-sub-html').get(); + var captionHeight = this.settings.defaultCaptionHeight || + (subHtml && subHtml.clientHeight) || + 0; + var thumbContainer = this.outer.find('.lg-thumb-outer').get(); + var thumbHeight = thumbContainer ? thumbContainer.clientHeight : 0; + var bottom = thumbHeight + captionHeight; + return { + top: top, + bottom: bottom, + }; + }; + LightGallery.prototype.setMediaContainerPosition = function (top, bottom) { + if (top === void 0) { top = 0; } + if (bottom === void 0) { bottom = 0; } + this.$content.css('top', top + 'px').css('bottom', bottom + 'px'); + }; + LightGallery.prototype.hideBars = function () { + var _this = this; + // Hide controllers if mouse doesn't move for some period + setTimeout(function () { + _this.outer.removeClass('lg-hide-items'); + if (_this.settings.hideBarsDelay > 0) { + _this.outer.on('mousemove.lg click.lg touchstart.lg', function () { + _this.outer.removeClass('lg-hide-items'); + clearTimeout(_this.hideBarTimeout); + // Timeout will be cleared on each slide movement also + _this.hideBarTimeout = setTimeout(function () { + _this.outer.addClass('lg-hide-items'); + }, _this.settings.hideBarsDelay); + }); + _this.outer.trigger('mousemove.lg'); + } + }, this.settings.showBarsAfter); + }; + LightGallery.prototype.initPictureFill = function ($img) { + if (this.settings.supportLegacyBrowser) { + try { + picturefill({ + elements: [$img.get()], + }); + } + catch (e) { + console.warn('lightGallery :- If you want srcset or picture tag to be supported for older browser please include picturefil javascript library in your document.'); + } + } + }; + /** + * @desc Create image counter + * Ex: 1/10 + */ + LightGallery.prototype.counter = function () { + if (this.settings.counter) { + var counterHtml = "\n HTML5 video source = source: {\n src: string;\n type: string;\n }[];\n attributes: HTMLVideoElement;\n *
\n */\n html5Video: VideoSource;\n /**\n * True if video has poster\n */\n hasPoster: boolean;\n}\n\n/**\n * Fired when the image is rotated in anticlockwise direction\n * @name lgRotateLeft\n * @method onRotateLeft\n */\nexport interface RotateLeftDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is rotated in clockwise direction\n * @name lgRotateRight\n * @method onRotateRight\n */\nexport interface RotateRightDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped horizontally\n * @name lgFlipHorizontal\n * @method onFlipHorizontal\n */\nexport interface FlipHorizontalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped vertically\n * @name lgFlipVertical\n * @method onFlipVertical\n */\nexport interface FlipVerticalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n","import { GalleryItem } from './lg-utils';\nimport { LgQuery } from './lgQuery';\nimport { LightGallery } from './lightgallery';\nimport { AutoplaySettings } from './plugins/autoplay/lg-autoplay-settings';\nimport { CommentSettings } from './plugins/comment/lg-comment-settings';\nimport { FullscreenSettings } from './plugins/fullscreen/lg-fullscreen-settings';\nimport { HashSettings } from './plugins/hash/lg-hash-settings';\nimport { MediumZoomSettings } from './plugins/mediumZoom/lg-medium-zoom-settings';\nimport { PagerSettings } from './plugins/pager/lg-pager-settings';\nimport { RotateSettings } from './plugins/rotate/lg-rotate-settings';\nimport { ShareSettings } from './plugins/share/lg-share-settings';\nimport { ThumbnailsSettings } from './plugins/thumbnail/lg-thumbnail-settings';\nimport { VideoSettings } from './plugins/video/lg-video-settings';\nimport { ZoomSettings } from './plugins/zoom/lg-zoom-settings';\n\ntype LightGalleryCoreMobileSettings = Exclude<\n LightGalleryCoreSettings,\n 'mobileSettings'\n>;\n\n// @todo use separate mobile settings for plugins\nexport interface MobileSettings\n extends LightGalleryCoreMobileSettings,\n Partial data-lg-size=\"1920-1280\"\n *\n * If you don't know, the size of a few images in the list, you can skip the data-lg-size attribute for the particular slides,\n * lightGallery will show the default animation if data-lg-size is not available\n *\n * If you are using responsive images,\n * you can pass a comma separated list of sizes combined with a max-width (up to what size the particular image should be used)\n *\n * example -\n * data-lg-size=\"240-160-375, 400-267-480, 1600-1067\"\n * data-responsive=\"img-240.jpg 375, img-400.jpg 480\"\n * data-src=\"img-1600.jpg\" \n *\n * In the above example, upto 375 width img.240.jpg and lg-size 240-160 will be used.\n * Similarly, upto 480 pixel width size 400-267 and img-400.jpg will be used\n * And above 480, lg-size 1600-1067 and img-1600.jpg will be used\n *\n * 0 if you don't want to hide the controls\n */\n hideBarsDelay: number;\n\n /**\n * Delay in hiding controls for the first time when gallery is opened\n */\n showBarsAfter: number;\n\n /**\n * Delay slide transitions.\n * @description This is useful if you want to do any action in the current slide before moving to next slide.\n * .lg-slide-progress class name is added to the current slide immediately after calling the slide method.\n * But transition begins only after the delay\n * false if option closable is false\n */\n swipeToClose: boolean;\n /**\n * allows clicks on black area to close gallery.\n */\n closeOnTap: boolean;\n\n /**\n * If false, close button won't be displayed.\n * Useful for creating inline galleries.\n */\n showCloseIcon: boolean;\n\n /**\n * Show maximize icon.\n * Useful for creating inline galleries.\n */\n showMaximizeIcon: boolean;\n\n /**\n * If false, will disable the ability to loop back to the beginning of the gallery from the last slide.\n */\n loop: boolean;\n\n /**\n * Whether the LightGallery could be closed by pressing the \"Esc\" key.\n */\n escKey: boolean;\n\n /**\n * Enable keyboard navigation\n */\n keyPress: boolean;\n\n /**\n * Trap focus within the lightGallery\n * @version V2.5.0\n */\n trapFocus: boolean;\n\n /**\n * If false, prev/next buttons will not be displayed.\n */\n controls: boolean;\n\n /**\n * Enable slideEnd animation\n */\n slideEndAnimation: boolean;\n\n /**\n * If true, prev/next button will be hidden on first/last image.\n * @description Note - this option will be ignored if loop or slideEndAnimation is set to true\n */\n hideControlOnEnd: boolean;\n\n /**\n * ability to navigate to next/prev slides on mousewheel\n */\n mousewheel: boolean;\n\n /**\n * Option to get captions from alt or title tags.\n */\n getCaptionFromTitleOrAlt: boolean;\n\n /**\n * control where the sub-html should be appended.\n * If you choose '.lg-outer', you are responsible for placing the div at the right position.\n * '.lg-outer' is useful if you want show custom HTML outside the normal gallery\n */\n appendSubHtmlTo: '.lg-sub-html' | '.lg-item' | '.lg-outer';\n\n /**\n * Set to true if the selector in \"data-sub-html\" should use the current item as its origin.\n */\n subHtmlSelectorRelative: boolean;\n\n /**\n * number of preload slides\n * @description will exicute only after the current slide is fully loaded.\n * for example, if you click on 4th image and if preload = 1 then 3rd slide and 5th\n * slide will be loaded in the background after the 4th slide is fully loaded..\n * if preload is 2 then 2nd 3rd 5th 6th slides will be preloaded.\n */\n preload: number;\n\n /**\n * Control how many slide items should be kept in dom at a time\n * @description To improve performance by reducing number of gallery items in the dom,\n * lightGallery keeps only the lowest possible number of slides in the dom at a time.\n * This has a minimum value of 3\n */\n numberOfSlideItemsInDom: number;\n\n /**\n * Custom selector property instead of direct children.\n * @description Based on your markup structure, you can specify custom selectors to fetch media data for the gallery\n * Pass \"this\" to select same element\n * You can also pass HTMLCollection directly\n * Example - '.my-selector' | '#my-selector' | this | document.querySelectorAll('.my-selector')\n */\n selector: string | HTMLCollection[];\n\n /**\n * By default selector element relative to the current gallery.\n * Instead of that you can tell lightGallery to select element relative to another element.\n * Example - '.my-selector-container' | '#my-selector-container'\n * In the code this become selector = document.querySelector(this.s.selectWithin ).querySelectorAll(this.s.selector);\n */\n selectWithin: string;\n\n /**\n * Custom html for next control\n */\n nextHtml: string;\n\n /**\n * Custom html for prev control\n */\n prevHtml: string;\n\n /**\n * specify which slide should load initially\n */\n index: number;\n\n /**\n * Set width for iframe.\n */\n iframeWidth: string;\n\n /**\n * Set height for iframe.\n */\n iframeHeight: string;\n\n /**\n * Set max width for iframe.\n */\n iframeMaxWidth: string;\n\n /**\n * Set max height for iframe.\n */\n iframeMaxHeight: string;\n\n /**\n * Enable download button.\n * @description By default download url will be taken from data-src/href attribute but it supports only for modern browsers.\n * If you want you can provide another url for download via data-download-url.\n * pass false in data-download-url if you want to hide download button for the particular slide.\n */\n download: boolean;\n\n /**\n * Whether to show total number of images and index number of currently displayed image.\n */\n counter: boolean;\n\n /**\n * Where the counter should be appended\n */\n appendCounterTo: string;\n\n /**\n * By setting the swipeThreshold (in px) you can set how far the user must swipe for the next/prev image.\n */\n swipeThreshold: number;\n\n /**\n * Enables swipe support for touch devices\n */\n enableSwipe: boolean;\n\n /**\n * Enables desktop mouse drag support\n */\n enableDrag: boolean;\n\n /**\n * LightGallery can be instantiated and launched programmatically by setting this option to true and populating dynamicEl option (see below) with the definitions of images.\n */\n dynamic: boolean;\n\n /**\n * An array of objects (src, iframe, subHtml, thumb, poster, responsive, srcset sizes) representing gallery elements.\n */\n dynamicEl: GalleryItem[];\n\n /**\n * Fetch custom properties from the selector\n * @description this is useful for plugin development\n * By default lightGallery fetches and store all the props selectors to\n * reduce frequent dom interaction for fetching props every time.\n *\n * If you need any addition data to be fetched and stored in the galleryItems variable,\n * you can do this just by passing the prop names via extraProps\n * @example\n * HTML:\n * \n * JS:\n * lightGallery(document.getElementById('lightGallery'), {\n * extraProps: ['customProp']\n * })\n * // Note - If you are using dynamic mode, you can pass any custom prop in the galleryItem\n * lightGallery(document.getElementById('lightGallery'), {\n * dynamic: true,\n * dynamicEl: [{\n * src: 'img/img1.jpg',\n * customProp:'abc',\n * }]\n * })\n *\n */\n extraProps: string[];\n\n /**\n * Option to fetch different thumbnail image other than first image\n * @description If you want to use external image for thumbnail,\n * add the path of that image inside \"data-\" attribute\n * and set value of this option to the name of your custom attribute.\n *\n * @example\n * \n *\n * lightGallery(document.getElementById('lightGallery'), {\n * exThumbImage: 'data-external-thumb-image'\n * })\n */\n exThumbImage: string;\n\n /**\n * Function to detect mobile devices\n */\n isMobile?: () => boolean;\n\n /**\n * Separate settings for mobile devices\n * @description Note - this is applied only at the time of loading\n * by default controls and close buttons are disabled on mobile devices.\n * use this options if you want to enable them or change any other settings for mobile devices\n * Note - mobileSettings does not merge default values, You need to provide all mobileSettings including default values\n */\n mobileSettings: PartialImage 1 descriptions.
',\n * },\n * ...\n * ],\n * });\n * $dynamicGallery.addEventListener('click', function () {\n * // Starts with third item.(Optional).\n * // This is useful if you want use dynamic mode with\n * // custom thumbnails (thumbnails outside gallery),\n * dynamicGallery.openGallery(2);\n * });\n *\n */\n openGallery(index = this.settings.index, element?: HTMLElement): void {\n // prevent accidental double execution\n if (this.lgOpened) return;\n this.lgOpened = true;\n this.outer.removeClass('lg-hide-items');\n\n this.hideScrollbar();\n\n // Add display block, but still has opacity 0\n this.$container.addClass('lg-show');\n\n const itemsToBeInsertedToDom = this.getItemsToBeInsertedToDom(\n index,\n index,\n );\n this.currentItemsInDom = itemsToBeInsertedToDom;\n\n let items = '';\n itemsToBeInsertedToDom.forEach((item) => {\n items = items + ``;\n });\n\n this.$inner.append(items);\n this.addHtml(index);\n let transform: string | undefined = '';\n this.mediaContainerPosition = this.getMediaContainerPosition();\n const { top, bottom } = this.mediaContainerPosition;\n if (!this.settings.allowMediaOverlap) {\n this.setMediaContainerPosition(top, bottom);\n }\n const { __slideVideoInfo } = this.galleryItems[index];\n if (this.zoomFromOrigin && element) {\n this.currentImageSize = utils.getSize(\n element,\n this.outer,\n top + bottom,\n __slideVideoInfo && this.settings.videoMaxSize,\n );\n transform = utils.getTransform(\n element,\n this.outer,\n top,\n bottom,\n this.currentImageSize,\n );\n }\n if (!this.zoomFromOrigin || !transform) {\n this.outer.addClass(this.settings.startClass);\n this.getSlideItem(index).removeClass('lg-complete');\n }\n const timeout = this.settings.zoomFromOrigin\n ? 100\n : this.settings.backdropDuration;\n setTimeout(() => {\n this.outer.addClass('lg-components-open');\n }, timeout);\n this.index = index;\n this.LGel.trigger(lGEvents.beforeOpen);\n\n // add class lg-current to remove initial transition\n this.getSlideItem(index).addClass('lg-current');\n\n this.lGalleryOn = false;\n // Store the current scroll top value to scroll back after closing the gallery..\n this.prevScrollTop = $LG(window).scrollTop();\n\n setTimeout(() => {\n // Need to check both zoomFromOrigin and transform values as we need to set set the\n // default opening animation if user missed to add the lg-size attribute\n\n if (this.zoomFromOrigin && transform) {\n const currentSlide = this.getSlideItem(index);\n currentSlide.css('transform', transform);\n setTimeout(() => {\n currentSlide\n .addClass('lg-start-progress lg-start-end-progress')\n .css(\n 'transition-duration',\n this.settings.startAnimationDuration + 'ms',\n );\n this.outer.addClass('lg-zoom-from-image');\n });\n setTimeout(() => {\n currentSlide.css('transform', 'translate3d(0, 0, 0)');\n }, 100);\n }\n\n setTimeout(() => {\n this.$backdrop.addClass('in');\n this.$container.addClass('lg-show-in');\n }, 10);\n\n setTimeout(() => {\n if (\n this.settings.trapFocus &&\n document.body === this.settings.container\n ) {\n this.trapFocus();\n }\n }, this.settings.backdropDuration + 50);\n\n // lg-visible class resets gallery opacity to 1\n if (!this.zoomFromOrigin || !transform) {\n setTimeout(() => {\n this.outer.addClass('lg-visible');\n }, this.settings.backdropDuration);\n }\n\n // initiate slide function\n this.slide(index, false, false, false);\n\n this.LGel.trigger(lGEvents.afterOpen);\n });\n\n if (document.body === this.settings.container) {\n $LG('html').addClass('lg-on');\n }\n }\n\n /**\n * Note - Changing the position of the media on every slide transition creates a flickering effect.\n * Therefore, The height of the caption is calculated dynamically, only once based on the first slide caption.\n * if you have dynamic captions for each media,\n * you can provide an appropriate height for the captions via allowMediaOverlap option\n */\n public getMediaContainerPosition(): MediaContainerPosition {\n if (this.settings.allowMediaOverlap) {\n return {\n top: 0,\n bottom: 0,\n };\n }\n const top = this.$toolbar.get().clientHeight || 0;\n const subHtml = this.outer.find('.lg-components .lg-sub-html').get();\n const captionHeight =\n this.settings.defaultCaptionHeight ||\n (subHtml && subHtml.clientHeight) ||\n 0;\n const thumbContainer = this.outer.find('.lg-thumb-outer').get();\n const thumbHeight = thumbContainer ? thumbContainer.clientHeight : 0;\n const bottom = thumbHeight + captionHeight;\n return {\n top,\n bottom,\n };\n }\n\n private setMediaContainerPosition(top = 0, bottom = 0): void {\n this.$content.css('top', top + 'px').css('bottom', bottom + 'px');\n }\n\n hideBars(): void {\n // Hide controllers if mouse doesn't move for some period\n setTimeout(() => {\n this.outer.removeClass('lg-hide-items');\n if (this.settings.hideBarsDelay > 0) {\n this.outer.on('mousemove.lg click.lg touchstart.lg', () => {\n this.outer.removeClass('lg-hide-items');\n\n clearTimeout(this.hideBarTimeout);\n\n // Timeout will be cleared on each slide movement also\n this.hideBarTimeout = setTimeout(() => {\n this.outer.addClass('lg-hide-items');\n }, this.settings.hideBarsDelay);\n });\n this.outer.trigger('mousemove.lg');\n }\n }, this.settings.showBarsAfter);\n }\n\n initPictureFill($img: lgQuery): void {\n if (this.settings.supportLegacyBrowser) {\n try {\n picturefill({\n elements: [$img.get()],\n });\n } catch (e) {\n console.warn(\n 'lightGallery :- If you want srcset or picture tag to be supported for older browser please include picturefil javascript library in your document.',\n );\n }\n }\n }\n\n /**\n * @desc Create image counter\n * Ex: 1/10\n */\n counter(): void {\n if (this.settings.counter) {\n const counterHtml = `Image 1 descriptions.
', + * }, + * ... + * ], + * }); + * $dynamicGallery.addEventListener('click', function () { + * // Starts with third item.(Optional). + * // This is useful if you want use dynamic mode with + * // custom thumbnails (thumbnails outside gallery), + * dynamicGallery.openGallery(2); + * }); + * + */ + LightGallery.prototype.openGallery = function (index, element) { + var _this = this; + if (index === void 0) { index = this.settings.index; } + // prevent accidental double execution + if (this.lgOpened) + return; + this.lgOpened = true; + this.outer.removeClass('lg-hide-items'); + this.hideScrollbar(); + // Add display block, but still has opacity 0 + this.$container.addClass('lg-show'); + var itemsToBeInsertedToDom = this.getItemsToBeInsertedToDom(index, index); + this.currentItemsInDom = itemsToBeInsertedToDom; + var items = ''; + itemsToBeInsertedToDom.forEach(function (item) { + items = items + (""); + }); + this.$inner.append(items); + this.addHtml(index); + var transform = ''; + this.mediaContainerPosition = this.getMediaContainerPosition(); + var _a = this.mediaContainerPosition, top = _a.top, bottom = _a.bottom; + if (!this.settings.allowMediaOverlap) { + this.setMediaContainerPosition(top, bottom); + } + var __slideVideoInfo = this.galleryItems[index].__slideVideoInfo; + if (this.zoomFromOrigin && element) { + this.currentImageSize = utils.getSize(element, this.outer, top + bottom, __slideVideoInfo && this.settings.videoMaxSize); + transform = utils.getTransform(element, this.outer, top, bottom, this.currentImageSize); + } + if (!this.zoomFromOrigin || !transform) { + this.outer.addClass(this.settings.startClass); + this.getSlideItem(index).removeClass('lg-complete'); + } + var timeout = this.settings.zoomFromOrigin + ? 100 + : this.settings.backdropDuration; + setTimeout(function () { + _this.outer.addClass('lg-components-open'); + }, timeout); + this.index = index; + this.LGel.trigger(lGEvents.beforeOpen); + // add class lg-current to remove initial transition + this.getSlideItem(index).addClass('lg-current'); + this.lGalleryOn = false; + // Store the current scroll top value to scroll back after closing the gallery.. + this.prevScrollTop = $LG(window).scrollTop(); + setTimeout(function () { + // Need to check both zoomFromOrigin and transform values as we need to set set the + // default opening animation if user missed to add the lg-size attribute + if (_this.zoomFromOrigin && transform) { + var currentSlide_1 = _this.getSlideItem(index); + currentSlide_1.css('transform', transform); + setTimeout(function () { + currentSlide_1 + .addClass('lg-start-progress lg-start-end-progress') + .css('transition-duration', _this.settings.startAnimationDuration + 'ms'); + _this.outer.addClass('lg-zoom-from-image'); + }); + setTimeout(function () { + currentSlide_1.css('transform', 'translate3d(0, 0, 0)'); + }, 100); + } + setTimeout(function () { + _this.$backdrop.addClass('in'); + _this.$container.addClass('lg-show-in'); + }, 10); + setTimeout(function () { + if (_this.settings.trapFocus && + document.body === _this.settings.container) { + _this.trapFocus(); + } + }, _this.settings.backdropDuration + 50); + // lg-visible class resets gallery opacity to 1 + if (!_this.zoomFromOrigin || !transform) { + setTimeout(function () { + _this.outer.addClass('lg-visible'); + }, _this.settings.backdropDuration); + } + // initiate slide function + _this.slide(index, false, false, false); + _this.LGel.trigger(lGEvents.afterOpen); + }); + if (document.body === this.settings.container) { + $LG('html').addClass('lg-on'); + } + }; + /** + * Note - Changing the position of the media on every slide transition creates a flickering effect. + * Therefore, The height of the caption is calculated dynamically, only once based on the first slide caption. + * if you have dynamic captions for each media, + * you can provide an appropriate height for the captions via allowMediaOverlap option + */ + LightGallery.prototype.getMediaContainerPosition = function () { + if (this.settings.allowMediaOverlap) { + return { + top: 0, + bottom: 0, + }; + } + var top = this.$toolbar.get().clientHeight || 0; + var subHtml = this.outer.find('.lg-components .lg-sub-html').get(); + var captionHeight = this.settings.defaultCaptionHeight || + (subHtml && subHtml.clientHeight) || + 0; + var thumbContainer = this.outer.find('.lg-thumb-outer').get(); + var thumbHeight = thumbContainer ? thumbContainer.clientHeight : 0; + var bottom = thumbHeight + captionHeight; + return { + top: top, + bottom: bottom, + }; + }; + LightGallery.prototype.setMediaContainerPosition = function (top, bottom) { + if (top === void 0) { top = 0; } + if (bottom === void 0) { bottom = 0; } + this.$content.css('top', top + 'px').css('bottom', bottom + 'px'); + }; + LightGallery.prototype.hideBars = function () { + var _this = this; + // Hide controllers if mouse doesn't move for some period + setTimeout(function () { + _this.outer.removeClass('lg-hide-items'); + if (_this.settings.hideBarsDelay > 0) { + _this.outer.on('mousemove.lg click.lg touchstart.lg', function () { + _this.outer.removeClass('lg-hide-items'); + clearTimeout(_this.hideBarTimeout); + // Timeout will be cleared on each slide movement also + _this.hideBarTimeout = setTimeout(function () { + _this.outer.addClass('lg-hide-items'); + }, _this.settings.hideBarsDelay); + }); + _this.outer.trigger('mousemove.lg'); + } + }, this.settings.showBarsAfter); + }; + LightGallery.prototype.initPictureFill = function ($img) { + if (this.settings.supportLegacyBrowser) { + try { + picturefill({ + elements: [$img.get()], + }); + } + catch (e) { + console.warn('lightGallery :- If you want srcset or picture tag to be supported for older browser please include picturefil javascript library in your document.'); + } + } + }; + /** + * @desc Create image counter + * Ex: 1/10 + */ + LightGallery.prototype.counter = function () { + if (this.settings.counter) { + var counterHtml = "\n HTML5 video source = source: {\n src: string;\n type: string;\n }[];\n attributes: HTMLVideoElement;\n *
\n */\n html5Video: VideoSource;\n /**\n * True if video has poster\n */\n hasPoster: boolean;\n}\n\n/**\n * Fired when the image is rotated in anticlockwise direction\n * @name lgRotateLeft\n * @method onRotateLeft\n */\nexport interface RotateLeftDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is rotated in clockwise direction\n * @name lgRotateRight\n * @method onRotateRight\n */\nexport interface RotateRightDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped horizontally\n * @name lgFlipHorizontal\n * @method onFlipHorizontal\n */\nexport interface FlipHorizontalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped vertically\n * @name lgFlipVertical\n * @method onFlipVertical\n */\nexport interface FlipVerticalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n","import { GalleryItem } from './lg-utils';\nimport { LgQuery } from './lgQuery';\nimport { LightGallery } from './lightgallery';\nimport { AutoplaySettings } from './plugins/autoplay/lg-autoplay-settings';\nimport { CommentSettings } from './plugins/comment/lg-comment-settings';\nimport { FullscreenSettings } from './plugins/fullscreen/lg-fullscreen-settings';\nimport { HashSettings } from './plugins/hash/lg-hash-settings';\nimport { MediumZoomSettings } from './plugins/mediumZoom/lg-medium-zoom-settings';\nimport { PagerSettings } from './plugins/pager/lg-pager-settings';\nimport { RotateSettings } from './plugins/rotate/lg-rotate-settings';\nimport { ShareSettings } from './plugins/share/lg-share-settings';\nimport { ThumbnailsSettings } from './plugins/thumbnail/lg-thumbnail-settings';\nimport { VideoSettings } from './plugins/video/lg-video-settings';\nimport { ZoomSettings } from './plugins/zoom/lg-zoom-settings';\n\ntype LightGalleryCoreMobileSettings = Exclude<\n LightGalleryCoreSettings,\n 'mobileSettings'\n>;\n\n// @todo use separate mobile settings for plugins\nexport interface MobileSettings\n extends LightGalleryCoreMobileSettings,\n Partial data-lg-size=\"1920-1280\"\n *\n * If you don't know, the size of a few images in the list, you can skip the data-lg-size attribute for the particular slides,\n * lightGallery will show the default animation if data-lg-size is not available\n *\n * If you are using responsive images,\n * you can pass a comma separated list of sizes combined with a max-width (up to what size the particular image should be used)\n *\n * example -\n * data-lg-size=\"240-160-375, 400-267-480, 1600-1067\"\n * data-responsive=\"img-240.jpg 375, img-400.jpg 480\"\n * data-src=\"img-1600.jpg\" \n *\n * In the above example, upto 375 width img.240.jpg and lg-size 240-160 will be used.\n * Similarly, upto 480 pixel width size 400-267 and img-400.jpg will be used\n * And above 480, lg-size 1600-1067 and img-1600.jpg will be used\n *\n * 0 if you don't want to hide the controls\n */\n hideBarsDelay: number;\n\n /**\n * Delay in hiding controls for the first time when gallery is opened\n */\n showBarsAfter: number;\n\n /**\n * Delay slide transitions.\n * @description This is useful if you want to do any action in the current slide before moving to next slide.\n * .lg-slide-progress class name is added to the current slide immediately after calling the slide method.\n * But transition begins only after the delay\n * false if option closable is false\n */\n swipeToClose: boolean;\n /**\n * allows clicks on black area to close gallery.\n */\n closeOnTap: boolean;\n\n /**\n * If false, close button won't be displayed.\n * Useful for creating inline galleries.\n */\n showCloseIcon: boolean;\n\n /**\n * Show maximize icon.\n * Useful for creating inline galleries.\n */\n showMaximizeIcon: boolean;\n\n /**\n * If false, will disable the ability to loop back to the beginning of the gallery from the last slide.\n */\n loop: boolean;\n\n /**\n * Whether the LightGallery could be closed by pressing the \"Esc\" key.\n */\n escKey: boolean;\n\n /**\n * Enable keyboard navigation\n */\n keyPress: boolean;\n\n /**\n * Trap focus within the lightGallery\n * @version V2.5.0\n */\n trapFocus: boolean;\n\n /**\n * If false, prev/next buttons will not be displayed.\n */\n controls: boolean;\n\n /**\n * Enable slideEnd animation\n */\n slideEndAnimation: boolean;\n\n /**\n * If true, prev/next button will be hidden on first/last image.\n * @description Note - this option will be ignored if loop or slideEndAnimation is set to true\n */\n hideControlOnEnd: boolean;\n\n /**\n * ability to navigate to next/prev slides on mousewheel\n */\n mousewheel: boolean;\n\n /**\n * Option to get captions from alt or title tags.\n */\n getCaptionFromTitleOrAlt: boolean;\n\n /**\n * control where the sub-html should be appended.\n * If you choose '.lg-outer', you are responsible for placing the div at the right position.\n * '.lg-outer' is useful if you want show custom HTML outside the normal gallery\n */\n appendSubHtmlTo: '.lg-sub-html' | '.lg-item' | '.lg-outer';\n\n /**\n * Set to true if the selector in \"data-sub-html\" should use the current item as its origin.\n */\n subHtmlSelectorRelative: boolean;\n\n /**\n * number of preload slides\n * @description will exicute only after the current slide is fully loaded.\n * for example, if you click on 4th image and if preload = 1 then 3rd slide and 5th\n * slide will be loaded in the background after the 4th slide is fully loaded..\n * if preload is 2 then 2nd 3rd 5th 6th slides will be preloaded.\n */\n preload: number;\n\n /**\n * Control how many slide items should be kept in dom at a time\n * @description To improve performance by reducing number of gallery items in the dom,\n * lightGallery keeps only the lowest possible number of slides in the dom at a time.\n * This has a minimum value of 3\n */\n numberOfSlideItemsInDom: number;\n\n /**\n * Custom selector property instead of direct children.\n * @description Based on your markup structure, you can specify custom selectors to fetch media data for the gallery\n * Pass \"this\" to select same element\n * You can also pass HTMLCollection directly\n * Example - '.my-selector' | '#my-selector' | this | document.querySelectorAll('.my-selector')\n */\n selector: string | HTMLCollection[];\n\n /**\n * By default selector element relative to the current gallery.\n * Instead of that you can tell lightGallery to select element relative to another element.\n * Example - '.my-selector-container' | '#my-selector-container'\n * In the code this become selector = document.querySelector(this.s.selectWithin ).querySelectorAll(this.s.selector);\n */\n selectWithin: string;\n\n /**\n * Custom html for next control\n */\n nextHtml: string;\n\n /**\n * Custom html for prev control\n */\n prevHtml: string;\n\n /**\n * specify which slide should load initially\n */\n index: number;\n\n /**\n * Set width for iframe.\n */\n iframeWidth: string;\n\n /**\n * Set height for iframe.\n */\n iframeHeight: string;\n\n /**\n * Set max width for iframe.\n */\n iframeMaxWidth: string;\n\n /**\n * Set max height for iframe.\n */\n iframeMaxHeight: string;\n\n /**\n * Enable download button.\n * @description By default download url will be taken from data-src/href attribute but it supports only for modern browsers.\n * If you want you can provide another url for download via data-download-url.\n * pass false in data-download-url if you want to hide download button for the particular slide.\n */\n download: boolean;\n\n /**\n * Whether to show total number of images and index number of currently displayed image.\n */\n counter: boolean;\n\n /**\n * Where the counter should be appended\n */\n appendCounterTo: string;\n\n /**\n * By setting the swipeThreshold (in px) you can set how far the user must swipe for the next/prev image.\n */\n swipeThreshold: number;\n\n /**\n * Enables swipe support for touch devices\n */\n enableSwipe: boolean;\n\n /**\n * Enables desktop mouse drag support\n */\n enableDrag: boolean;\n\n /**\n * LightGallery can be instantiated and launched programmatically by setting this option to true and populating dynamicEl option (see below) with the definitions of images.\n */\n dynamic: boolean;\n\n /**\n * An array of objects (src, iframe, subHtml, thumb, poster, responsive, srcset sizes) representing gallery elements.\n */\n dynamicEl: GalleryItem[];\n\n /**\n * Fetch custom properties from the selector\n * @description this is useful for plugin development\n * By default lightGallery fetches and store all the props selectors to\n * reduce frequent dom interaction for fetching props every time.\n *\n * If you need any addition data to be fetched and stored in the galleryItems variable,\n * you can do this just by passing the prop names via extraProps\n * @example\n * HTML:\n * \n * JS:\n * lightGallery(document.getElementById('lightGallery'), {\n * extraProps: ['customProp']\n * })\n * // Note - If you are using dynamic mode, you can pass any custom prop in the galleryItem\n * lightGallery(document.getElementById('lightGallery'), {\n * dynamic: true,\n * dynamicEl: [{\n * src: 'img/img1.jpg',\n * customProp:'abc',\n * }]\n * })\n *\n */\n extraProps: string[];\n\n /**\n * Option to fetch different thumbnail image other than first image\n * @description If you want to use external image for thumbnail,\n * add the path of that image inside \"data-\" attribute\n * and set value of this option to the name of your custom attribute.\n *\n * @example\n * \n *\n * lightGallery(document.getElementById('lightGallery'), {\n * exThumbImage: 'data-external-thumb-image'\n * })\n */\n exThumbImage: string;\n\n /**\n * Function to detect mobile devices\n */\n isMobile?: () => boolean;\n\n /**\n * Separate settings for mobile devices\n * @description Note - this is applied only at the time of loading\n * by default controls and close buttons are disabled on mobile devices.\n * use this options if you want to enable them or change any other settings for mobile devices\n * Note - mobileSettings does not merge default values, You need to provide all mobileSettings including default values\n */\n mobileSettings: PartialImage 1 descriptions.
',\n * },\n * ...\n * ],\n * });\n * $dynamicGallery.addEventListener('click', function () {\n * // Starts with third item.(Optional).\n * // This is useful if you want use dynamic mode with\n * // custom thumbnails (thumbnails outside gallery),\n * dynamicGallery.openGallery(2);\n * });\n *\n */\n openGallery(index = this.settings.index, element?: HTMLElement): void {\n // prevent accidental double execution\n if (this.lgOpened) return;\n this.lgOpened = true;\n this.outer.removeClass('lg-hide-items');\n\n this.hideScrollbar();\n\n // Add display block, but still has opacity 0\n this.$container.addClass('lg-show');\n\n const itemsToBeInsertedToDom = this.getItemsToBeInsertedToDom(\n index,\n index,\n );\n this.currentItemsInDom = itemsToBeInsertedToDom;\n\n let items = '';\n itemsToBeInsertedToDom.forEach((item) => {\n items = items + ``;\n });\n\n this.$inner.append(items);\n this.addHtml(index);\n let transform: string | undefined = '';\n this.mediaContainerPosition = this.getMediaContainerPosition();\n const { top, bottom } = this.mediaContainerPosition;\n if (!this.settings.allowMediaOverlap) {\n this.setMediaContainerPosition(top, bottom);\n }\n const { __slideVideoInfo } = this.galleryItems[index];\n if (this.zoomFromOrigin && element) {\n this.currentImageSize = utils.getSize(\n element,\n this.outer,\n top + bottom,\n __slideVideoInfo && this.settings.videoMaxSize,\n );\n transform = utils.getTransform(\n element,\n this.outer,\n top,\n bottom,\n this.currentImageSize,\n );\n }\n if (!this.zoomFromOrigin || !transform) {\n this.outer.addClass(this.settings.startClass);\n this.getSlideItem(index).removeClass('lg-complete');\n }\n const timeout = this.settings.zoomFromOrigin\n ? 100\n : this.settings.backdropDuration;\n setTimeout(() => {\n this.outer.addClass('lg-components-open');\n }, timeout);\n this.index = index;\n this.LGel.trigger(lGEvents.beforeOpen);\n\n // add class lg-current to remove initial transition\n this.getSlideItem(index).addClass('lg-current');\n\n this.lGalleryOn = false;\n // Store the current scroll top value to scroll back after closing the gallery..\n this.prevScrollTop = $LG(window).scrollTop();\n\n setTimeout(() => {\n // Need to check both zoomFromOrigin and transform values as we need to set set the\n // default opening animation if user missed to add the lg-size attribute\n\n if (this.zoomFromOrigin && transform) {\n const currentSlide = this.getSlideItem(index);\n currentSlide.css('transform', transform);\n setTimeout(() => {\n currentSlide\n .addClass('lg-start-progress lg-start-end-progress')\n .css(\n 'transition-duration',\n this.settings.startAnimationDuration + 'ms',\n );\n this.outer.addClass('lg-zoom-from-image');\n });\n setTimeout(() => {\n currentSlide.css('transform', 'translate3d(0, 0, 0)');\n }, 100);\n }\n\n setTimeout(() => {\n this.$backdrop.addClass('in');\n this.$container.addClass('lg-show-in');\n }, 10);\n\n setTimeout(() => {\n if (\n this.settings.trapFocus &&\n document.body === this.settings.container\n ) {\n this.trapFocus();\n }\n }, this.settings.backdropDuration + 50);\n\n // lg-visible class resets gallery opacity to 1\n if (!this.zoomFromOrigin || !transform) {\n setTimeout(() => {\n this.outer.addClass('lg-visible');\n }, this.settings.backdropDuration);\n }\n\n // initiate slide function\n this.slide(index, false, false, false);\n\n this.LGel.trigger(lGEvents.afterOpen);\n });\n\n if (document.body === this.settings.container) {\n $LG('html').addClass('lg-on');\n }\n }\n\n /**\n * Note - Changing the position of the media on every slide transition creates a flickering effect.\n * Therefore, The height of the caption is calculated dynamically, only once based on the first slide caption.\n * if you have dynamic captions for each media,\n * you can provide an appropriate height for the captions via allowMediaOverlap option\n */\n public getMediaContainerPosition(): MediaContainerPosition {\n if (this.settings.allowMediaOverlap) {\n return {\n top: 0,\n bottom: 0,\n };\n }\n const top = this.$toolbar.get().clientHeight || 0;\n const subHtml = this.outer.find('.lg-components .lg-sub-html').get();\n const captionHeight =\n this.settings.defaultCaptionHeight ||\n (subHtml && subHtml.clientHeight) ||\n 0;\n const thumbContainer = this.outer.find('.lg-thumb-outer').get();\n const thumbHeight = thumbContainer ? thumbContainer.clientHeight : 0;\n const bottom = thumbHeight + captionHeight;\n return {\n top,\n bottom,\n };\n }\n\n private setMediaContainerPosition(top = 0, bottom = 0): void {\n this.$content.css('top', top + 'px').css('bottom', bottom + 'px');\n }\n\n hideBars(): void {\n // Hide controllers if mouse doesn't move for some period\n setTimeout(() => {\n this.outer.removeClass('lg-hide-items');\n if (this.settings.hideBarsDelay > 0) {\n this.outer.on('mousemove.lg click.lg touchstart.lg', () => {\n this.outer.removeClass('lg-hide-items');\n\n clearTimeout(this.hideBarTimeout);\n\n // Timeout will be cleared on each slide movement also\n this.hideBarTimeout = setTimeout(() => {\n this.outer.addClass('lg-hide-items');\n }, this.settings.hideBarsDelay);\n });\n this.outer.trigger('mousemove.lg');\n }\n }, this.settings.showBarsAfter);\n }\n\n initPictureFill($img: lgQuery): void {\n if (this.settings.supportLegacyBrowser) {\n try {\n picturefill({\n elements: [$img.get()],\n });\n } catch (e) {\n console.warn(\n 'lightGallery :- If you want srcset or picture tag to be supported for older browser please include picturefil javascript library in your document.',\n );\n }\n }\n }\n\n /**\n * @desc Create image counter\n * Ex: 1/10\n */\n counter(): void {\n if (this.settings.counter) {\n const counterHtml = `\n HTML5 video source = source: {\n src: string;\n type: string;\n }[];\n attributes: HTMLVideoElement;\n *
\n */\n html5Video: VideoSource;\n /**\n * True if video has poster\n */\n hasPoster: boolean;\n}\n\n/**\n * Fired when the image is rotated in anticlockwise direction\n * @name lgRotateLeft\n * @method onRotateLeft\n */\nexport interface RotateLeftDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is rotated in clockwise direction\n * @name lgRotateRight\n * @method onRotateRight\n */\nexport interface RotateRightDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped horizontally\n * @name lgFlipHorizontal\n * @method onFlipHorizontal\n */\nexport interface FlipHorizontalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped vertically\n * @name lgFlipVertical\n * @method onFlipVertical\n */\nexport interface FlipVerticalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n","export interface AutoplayStrings {\n toggleAutoplay: string;\n}\n\nexport interface AutoplaySettings {\n /**\n * Enable autoplay plugin\n */\n autoplay: boolean;\n\n /**\n * Enable slideshow autoplay\n */\n slideShowAutoplay: boolean;\n\n /**\n * The time (in ms) between each auto transition.\n */\n slideShowInterval: number;\n\n /**\n * Show autoplay progressBar\n */\n progressBar: boolean;\n\n /**\n * If false autoplay will be stopped after first user action\n */\n forceSlideShowAutoplay: boolean;\n\n /**\n * Show/hide autoplay controls.\n */\n autoplayControls: boolean;\n\n /**\n * Specify where the autoplay controls should be appended.\n */\n appendAutoplayControlsTo: string;\n\n /**\n * Custom translation strings for aria-labels\n */\n autoplayPluginStrings: AutoplayStrings;\n}\nexport const autoplaySettings: AutoplaySettings = {\n autoplay: true,\n slideShowAutoplay: false,\n slideShowInterval: 5000,\n progressBar: true,\n forceSlideShowAutoplay: false,\n autoplayControls: true,\n appendAutoplayControlsTo: '.lg-toolbar',\n autoplayPluginStrings: {\n toggleAutoplay: 'Toggle Autoplay',\n } as AutoplayStrings,\n};\n","import { lGEvents } from '../../lg-events';\nimport { LightGallery } from '../../lightgallery';\nimport { AutoplaySettings, autoplaySettings } from './lg-autoplay-settings';\n\n/**\n * Creates the autoplay plugin.\n * @param {object} element - lightGallery element\n */\nexport default class Autoplay {\n core: LightGallery;\n settings: AutoplaySettings;\n interval!: any;\n fromAuto!: boolean;\n pausedOnTouchDrag!: boolean;\n pausedOnSlideChange!: boolean;\n\n constructor(instance: LightGallery) {\n this.core = instance;\n\n // extend module default settings with lightGallery core settings\n this.settings = { ...autoplaySettings, ...this.core.settings };\n\n return this;\n }\n\n public init(): void {\n if (!this.settings.autoplay) {\n return;\n }\n\n this.interval = false;\n\n // Identify if slide happened from autoplay\n this.fromAuto = true;\n\n // Identify if autoplay canceled from touch/drag\n this.pausedOnTouchDrag = false;\n\n this.pausedOnSlideChange = false;\n\n // append autoplay controls\n if (this.settings.autoplayControls) {\n this.controls();\n }\n\n // Create progress bar\n if (this.settings.progressBar) {\n this.core.outer.append(\n '',\n );\n }\n\n // Start autoplay\n if (this.settings.slideShowAutoplay) {\n this.core.LGel.once(`${lGEvents.slideItemLoad}.autoplay`, () => {\n this.startAutoPlay();\n });\n }\n\n // cancel interval on touchstart and dragstart\n this.core.LGel.on(\n `${lGEvents.dragStart}.autoplay touchstart.lg.autoplay`,\n () => {\n if (this.interval) {\n this.stopAutoPlay();\n this.pausedOnTouchDrag = true;\n }\n },\n );\n\n // restore autoplay if autoplay canceled from touchstart / dragstart\n this.core.LGel.on(\n `${lGEvents.dragEnd}.autoplay touchend.lg.autoplay`,\n () => {\n if (!this.interval && this.pausedOnTouchDrag) {\n this.startAutoPlay();\n this.pausedOnTouchDrag = false;\n }\n },\n );\n\n this.core.LGel.on(`${lGEvents.beforeSlide}.autoplay`, () => {\n this.showProgressBar();\n if (!this.fromAuto && this.interval) {\n this.stopAutoPlay();\n this.pausedOnSlideChange = true;\n } else {\n this.pausedOnSlideChange = false;\n }\n this.fromAuto = false;\n });\n\n // restore autoplay if autoplay canceled from touchstart / dragstart\n this.core.LGel.on(`${lGEvents.afterSlide}.autoplay`, () => {\n if (\n this.pausedOnSlideChange &&\n !this.interval &&\n this.settings.forceSlideShowAutoplay\n ) {\n this.startAutoPlay();\n this.pausedOnSlideChange = false;\n }\n });\n\n // set progress\n this.showProgressBar();\n }\n\n private showProgressBar() {\n if (this.settings.progressBar && this.fromAuto) {\n const _$progressBar = this.core.outer.find('.lg-progress-bar');\n const _$progress = this.core.outer.find('.lg-progress');\n if (this.interval) {\n _$progress.removeAttr('style');\n _$progressBar.removeClass('lg-start');\n setTimeout(() => {\n _$progress.css(\n 'transition',\n 'width ' +\n (this.core.settings.speed +\n this.settings.slideShowInterval) +\n 'ms ease 0s',\n );\n _$progressBar.addClass('lg-start');\n }, 20);\n }\n }\n }\n\n // Manage autoplay via play/stop buttons\n private controls() {\n const _html = ``;\n\n // Append autoplay controls\n this.core.outer\n .find(this.settings.appendAutoplayControlsTo)\n .append(_html);\n\n this.core.outer\n .find('.lg-autoplay-button')\n .first()\n .on('click.lg.autoplay', () => {\n if (this.core.outer.hasClass('lg-show-autoplay')) {\n this.stopAutoPlay();\n } else {\n if (!this.interval) {\n this.startAutoPlay();\n }\n }\n });\n }\n\n // Autostart gallery\n public startAutoPlay(): void {\n this.core.outer\n .find('.lg-progress')\n .css(\n 'transition',\n 'width ' +\n (this.core.settings.speed +\n this.settings.slideShowInterval) +\n 'ms ease 0s',\n );\n this.core.outer.addClass('lg-show-autoplay');\n this.core.outer.find('.lg-progress-bar').addClass('lg-start');\n this.core.LGel.trigger(lGEvents.autoplayStart, {\n index: this.core.index,\n });\n\n this.interval = setInterval(() => {\n if (this.core.index + 1 < this.core.galleryItems.length) {\n this.core.index++;\n } else {\n this.core.index = 0;\n }\n\n this.core.LGel.trigger(lGEvents.autoplay, {\n index: this.core.index,\n });\n\n this.fromAuto = true;\n this.core.slide(this.core.index, false, false, 'next');\n }, this.core.settings.speed + this.settings.slideShowInterval);\n }\n\n // cancel Autostart\n public stopAutoPlay(): void {\n if (this.interval) {\n this.core.LGel.trigger(lGEvents.autoplayStop, {\n index: this.core.index,\n });\n this.core.outer.find('.lg-progress').removeAttr('style');\n this.core.outer.removeClass('lg-show-autoplay');\n this.core.outer.find('.lg-progress-bar').removeClass('lg-start');\n }\n clearInterval(this.interval);\n this.interval = false;\n }\n\n public closeGallery(): void {\n this.stopAutoPlay();\n }\n public destroy(): void {\n if (this.settings.autoplay) {\n this.core.outer.find('.lg-progress-bar').remove();\n }\n // Remove all event listeners added by autoplay plugin\n this.core.LGel.off('.lg.autoplay');\n this.core.LGel.off('.autoplay');\n }\n}\n"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/assets/lightGallery/plugins/autoplay/lg-autoplay.min.js b/assets/lightGallery/plugins/autoplay/lg-autoplay.min.js new file mode 100644 index 0000000..03ebbcb --- /dev/null +++ b/assets/lightGallery/plugins/autoplay/lg-autoplay.min.js @@ -0,0 +1,8 @@ +/** + * lightgallery | 2.9.0 | October 1st 2025 + * http://www.lightgalleryjs.com/ + * Copyright (c) 2020 Sachin Neravath; + * @license GPLv3 + */ + +!function(t,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o():"function"==typeof define&&define.amd?define(o):(t="undefined"!=typeof globalThis?globalThis:t||self).lgAutoplay=o()}(this,(function(){"use strict";var t=function(){return(t=Object.assign||function(t){for(var o,e=1,s=arguments.length;e\n HTML5 video source = source: {\n src: string;\n type: string;\n }[];\n attributes: HTMLVideoElement;\n *
\n */\n html5Video: VideoSource;\n /**\n * True if video has poster\n */\n hasPoster: boolean;\n}\n\n/**\n * Fired when the image is rotated in anticlockwise direction\n * @name lgRotateLeft\n * @method onRotateLeft\n */\nexport interface RotateLeftDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is rotated in clockwise direction\n * @name lgRotateRight\n * @method onRotateRight\n */\nexport interface RotateRightDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped horizontally\n * @name lgFlipHorizontal\n * @method onFlipHorizontal\n */\nexport interface FlipHorizontalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped vertically\n * @name lgFlipVertical\n * @method onFlipVertical\n */\nexport interface FlipVerticalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n","export interface AutoplayStrings {\n toggleAutoplay: string;\n}\n\nexport interface AutoplaySettings {\n /**\n * Enable autoplay plugin\n */\n autoplay: boolean;\n\n /**\n * Enable slideshow autoplay\n */\n slideShowAutoplay: boolean;\n\n /**\n * The time (in ms) between each auto transition.\n */\n slideShowInterval: number;\n\n /**\n * Show autoplay progressBar\n */\n progressBar: boolean;\n\n /**\n * If false autoplay will be stopped after first user action\n */\n forceSlideShowAutoplay: boolean;\n\n /**\n * Show/hide autoplay controls.\n */\n autoplayControls: boolean;\n\n /**\n * Specify where the autoplay controls should be appended.\n */\n appendAutoplayControlsTo: string;\n\n /**\n * Custom translation strings for aria-labels\n */\n autoplayPluginStrings: AutoplayStrings;\n}\nexport const autoplaySettings: AutoplaySettings = {\n autoplay: true,\n slideShowAutoplay: false,\n slideShowInterval: 5000,\n progressBar: true,\n forceSlideShowAutoplay: false,\n autoplayControls: true,\n appendAutoplayControlsTo: '.lg-toolbar',\n autoplayPluginStrings: {\n toggleAutoplay: 'Toggle Autoplay',\n } as AutoplayStrings,\n};\n","import { lGEvents } from '../../lg-events';\nimport { LightGallery } from '../../lightgallery';\nimport { AutoplaySettings, autoplaySettings } from './lg-autoplay-settings';\n\n/**\n * Creates the autoplay plugin.\n * @param {object} element - lightGallery element\n */\nexport default class Autoplay {\n core: LightGallery;\n settings: AutoplaySettings;\n interval!: any;\n fromAuto!: boolean;\n pausedOnTouchDrag!: boolean;\n pausedOnSlideChange!: boolean;\n\n constructor(instance: LightGallery) {\n this.core = instance;\n\n // extend module default settings with lightGallery core settings\n this.settings = { ...autoplaySettings, ...this.core.settings };\n\n return this;\n }\n\n public init(): void {\n if (!this.settings.autoplay) {\n return;\n }\n\n this.interval = false;\n\n // Identify if slide happened from autoplay\n this.fromAuto = true;\n\n // Identify if autoplay canceled from touch/drag\n this.pausedOnTouchDrag = false;\n\n this.pausedOnSlideChange = false;\n\n // append autoplay controls\n if (this.settings.autoplayControls) {\n this.controls();\n }\n\n // Create progress bar\n if (this.settings.progressBar) {\n this.core.outer.append(\n '',\n );\n }\n\n // Start autoplay\n if (this.settings.slideShowAutoplay) {\n this.core.LGel.once(`${lGEvents.slideItemLoad}.autoplay`, () => {\n this.startAutoPlay();\n });\n }\n\n // cancel interval on touchstart and dragstart\n this.core.LGel.on(\n `${lGEvents.dragStart}.autoplay touchstart.lg.autoplay`,\n () => {\n if (this.interval) {\n this.stopAutoPlay();\n this.pausedOnTouchDrag = true;\n }\n },\n );\n\n // restore autoplay if autoplay canceled from touchstart / dragstart\n this.core.LGel.on(\n `${lGEvents.dragEnd}.autoplay touchend.lg.autoplay`,\n () => {\n if (!this.interval && this.pausedOnTouchDrag) {\n this.startAutoPlay();\n this.pausedOnTouchDrag = false;\n }\n },\n );\n\n this.core.LGel.on(`${lGEvents.beforeSlide}.autoplay`, () => {\n this.showProgressBar();\n if (!this.fromAuto && this.interval) {\n this.stopAutoPlay();\n this.pausedOnSlideChange = true;\n } else {\n this.pausedOnSlideChange = false;\n }\n this.fromAuto = false;\n });\n\n // restore autoplay if autoplay canceled from touchstart / dragstart\n this.core.LGel.on(`${lGEvents.afterSlide}.autoplay`, () => {\n if (\n this.pausedOnSlideChange &&\n !this.interval &&\n this.settings.forceSlideShowAutoplay\n ) {\n this.startAutoPlay();\n this.pausedOnSlideChange = false;\n }\n });\n\n // set progress\n this.showProgressBar();\n }\n\n private showProgressBar() {\n if (this.settings.progressBar && this.fromAuto) {\n const _$progressBar = this.core.outer.find('.lg-progress-bar');\n const _$progress = this.core.outer.find('.lg-progress');\n if (this.interval) {\n _$progress.removeAttr('style');\n _$progressBar.removeClass('lg-start');\n setTimeout(() => {\n _$progress.css(\n 'transition',\n 'width ' +\n (this.core.settings.speed +\n this.settings.slideShowInterval) +\n 'ms ease 0s',\n );\n _$progressBar.addClass('lg-start');\n }, 20);\n }\n }\n }\n\n // Manage autoplay via play/stop buttons\n private controls() {\n const _html = ``;\n\n // Append autoplay controls\n this.core.outer\n .find(this.settings.appendAutoplayControlsTo)\n .append(_html);\n\n this.core.outer\n .find('.lg-autoplay-button')\n .first()\n .on('click.lg.autoplay', () => {\n if (this.core.outer.hasClass('lg-show-autoplay')) {\n this.stopAutoPlay();\n } else {\n if (!this.interval) {\n this.startAutoPlay();\n }\n }\n });\n }\n\n // Autostart gallery\n public startAutoPlay(): void {\n this.core.outer\n .find('.lg-progress')\n .css(\n 'transition',\n 'width ' +\n (this.core.settings.speed +\n this.settings.slideShowInterval) +\n 'ms ease 0s',\n );\n this.core.outer.addClass('lg-show-autoplay');\n this.core.outer.find('.lg-progress-bar').addClass('lg-start');\n this.core.LGel.trigger(lGEvents.autoplayStart, {\n index: this.core.index,\n });\n\n this.interval = setInterval(() => {\n if (this.core.index + 1 < this.core.galleryItems.length) {\n this.core.index++;\n } else {\n this.core.index = 0;\n }\n\n this.core.LGel.trigger(lGEvents.autoplay, {\n index: this.core.index,\n });\n\n this.fromAuto = true;\n this.core.slide(this.core.index, false, false, 'next');\n }, this.core.settings.speed + this.settings.slideShowInterval);\n }\n\n // cancel Autostart\n public stopAutoPlay(): void {\n if (this.interval) {\n this.core.LGel.trigger(lGEvents.autoplayStop, {\n index: this.core.index,\n });\n this.core.outer.find('.lg-progress').removeAttr('style');\n this.core.outer.removeClass('lg-show-autoplay');\n this.core.outer.find('.lg-progress-bar').removeClass('lg-start');\n }\n clearInterval(this.interval);\n this.interval = false;\n }\n\n public closeGallery(): void {\n this.stopAutoPlay();\n }\n public destroy(): void {\n if (this.settings.autoplay) {\n this.core.outer.find('.lg-progress-bar').remove();\n }\n // Remove all event listeners added by autoplay plugin\n this.core.LGel.off('.lg.autoplay');\n this.core.LGel.off('.autoplay');\n }\n}\n"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/assets/lightGallery/plugins/autoplay/package.json b/assets/lightGallery/plugins/autoplay/package.json new file mode 100644 index 0000000..e4eb37b --- /dev/null +++ b/assets/lightGallery/plugins/autoplay/package.json @@ -0,0 +1,7 @@ +{ + "name": "lightgallery/plugins/autoplay", + "private": true, + "main": "lg-autoplay.umd.js", + "module": "lg-autoplay.es5.js", + "typings": "lg-autoplay.d.ts" +} \ No newline at end of file diff --git a/assets/lightGallery/plugins/comment/lg-comment-settings.d.ts b/assets/lightGallery/plugins/comment/lg-comment-settings.d.ts new file mode 100644 index 0000000..b73067d --- /dev/null +++ b/assets/lightGallery/plugins/comment/lg-comment-settings.d.ts @@ -0,0 +1,33 @@ +export interface CommentStrings { + toggleComments: string; +} +export interface CommentSettings { + /** + * Enable comment box + */ + commentBox: boolean; + /** + * Enable facebook comment box + */ + fbComments: boolean; + /** + * Enable disqus comment box + */ + disqusComments: boolean; + /** + * Disqus comment config + */ + disqusConfig: { + title?: string; + language: string; + }; + /** + * Facebook comments default markup + */ + commentsMarkup: string; + /** + * Custom translation strings for aria-labels + */ + commentPluginStrings: CommentStrings; +} +export declare const commentSettings: CommentSettings; diff --git a/assets/lightGallery/plugins/comment/lg-comment.d.ts b/assets/lightGallery/plugins/comment/lg-comment.d.ts new file mode 100644 index 0000000..b7c1cb8 --- /dev/null +++ b/assets/lightGallery/plugins/comment/lg-comment.d.ts @@ -0,0 +1,25 @@ +/** + * lightGallery comments module + * Supports facebook and disqus comments + * + * @ref - https://help.disqus.com/customer/portal/articles/472098-javascript-configuration-variables + * @ref - https://github.com/disqus/DISQUS-API-Recipes/blob/master/snippets/js/disqus-reset/disqus_reset.html + * @ref - https://css-tricks.com/lazy-loading-disqus-comments/ + * @ref - https://developers.facebook.com/docs/plugins/comments/#comments-plugin + * + */ +import { LgQuery } from '../../lgQuery'; +import { LightGallery } from '../../lightgallery'; +import { CommentSettings } from './lg-comment-settings'; +export default class CommentBox { + core: LightGallery; + settings: CommentSettings; + private $LG; + constructor(instance: LightGallery, $LG: LgQuery); + init(): void; + private setMarkup; + toggleCommentBox(): void; + addFbComments(): void; + addDisqusComments(): void; + destroy(): void; +} diff --git a/assets/lightGallery/plugins/comment/lg-comment.es5.js b/assets/lightGallery/plugins/comment/lg-comment.es5.js new file mode 100644 index 0000000..db6cc13 --- /dev/null +++ b/assets/lightGallery/plugins/comment/lg-comment.es5.js @@ -0,0 +1,205 @@ +/*! + * lightgallery | 2.9.0 | October 1st 2025 + * http://www.lightgalleryjs.com/ + * Copyright (c) 2020 Sachin Neravath; + * @license GPLv3 + */ + +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */ + +var __assign = function() { + __assign = Object.assign || function __assign(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); +}; + +/** + * List of lightGallery events + * All events should be documented here + * Below interfaces are used to build the website documentations + * */ +var lGEvents = { + afterAppendSlide: 'lgAfterAppendSlide', + init: 'lgInit', + hasVideo: 'lgHasVideo', + containerResize: 'lgContainerResize', + updateSlides: 'lgUpdateSlides', + afterAppendSubHtml: 'lgAfterAppendSubHtml', + beforeOpen: 'lgBeforeOpen', + afterOpen: 'lgAfterOpen', + slideItemLoad: 'lgSlideItemLoad', + beforeSlide: 'lgBeforeSlide', + afterSlide: 'lgAfterSlide', + posterClick: 'lgPosterClick', + dragStart: 'lgDragStart', + dragMove: 'lgDragMove', + dragEnd: 'lgDragEnd', + beforeNextSlide: 'lgBeforeNextSlide', + beforePrevSlide: 'lgBeforePrevSlide', + beforeClose: 'lgBeforeClose', + afterClose: 'lgAfterClose', + rotateLeft: 'lgRotateLeft', + rotateRight: 'lgRotateRight', + flipHorizontal: 'lgFlipHorizontal', + flipVertical: 'lgFlipVertical', + autoplay: 'lgAutoplay', + autoplayStart: 'lgAutoplayStart', + autoplayStop: 'lgAutoplayStop', +}; + +var commentSettings = { + commentBox: false, + fbComments: false, + disqusComments: false, + disqusConfig: { + title: undefined, + language: 'en', + }, + commentsMarkup: '\n HTML5 video source = source: {\n src: string;\n type: string;\n }[];\n attributes: HTMLVideoElement;\n *
\n */\n html5Video: VideoSource;\n /**\n * True if video has poster\n */\n hasPoster: boolean;\n}\n\n/**\n * Fired when the image is rotated in anticlockwise direction\n * @name lgRotateLeft\n * @method onRotateLeft\n */\nexport interface RotateLeftDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is rotated in clockwise direction\n * @name lgRotateRight\n * @method onRotateRight\n */\nexport interface RotateRightDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped horizontally\n * @name lgFlipHorizontal\n * @method onFlipHorizontal\n */\nexport interface FlipHorizontalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped vertically\n * @name lgFlipVertical\n * @method onFlipVertical\n */\nexport interface FlipVerticalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n","export interface CommentStrings {\n toggleComments: string;\n}\n\nexport interface CommentSettings {\n /**\n * Enable comment box\n */\n commentBox: boolean;\n /**\n * Enable facebook comment box\n */\n fbComments: boolean;\n /**\n * Enable disqus comment box\n */\n disqusComments: boolean;\n\n /**\n * Disqus comment config\n */\n disqusConfig: {\n title?: string;\n language: string;\n };\n\n /**\n * Facebook comments default markup\n */\n commentsMarkup: string;\n\n /**\n * Custom translation strings for aria-labels\n */\n commentPluginStrings: CommentStrings;\n}\n\nexport const commentSettings: CommentSettings = {\n commentBox: false,\n fbComments: false,\n disqusComments: false,\n disqusConfig: {\n title: undefined,\n language: 'en',\n },\n commentsMarkup:\n '\n HTML5 video source = source: {\n src: string;\n type: string;\n }[];\n attributes: HTMLVideoElement;\n *
\n */\n html5Video: VideoSource;\n /**\n * True if video has poster\n */\n hasPoster: boolean;\n}\n\n/**\n * Fired when the image is rotated in anticlockwise direction\n * @name lgRotateLeft\n * @method onRotateLeft\n */\nexport interface RotateLeftDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is rotated in clockwise direction\n * @name lgRotateRight\n * @method onRotateRight\n */\nexport interface RotateRightDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped horizontally\n * @name lgFlipHorizontal\n * @method onFlipHorizontal\n */\nexport interface FlipHorizontalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped vertically\n * @name lgFlipVertical\n * @method onFlipVertical\n */\nexport interface FlipVerticalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n","export interface CommentStrings {\n toggleComments: string;\n}\n\nexport interface CommentSettings {\n /**\n * Enable comment box\n */\n commentBox: boolean;\n /**\n * Enable facebook comment box\n */\n fbComments: boolean;\n /**\n * Enable disqus comment box\n */\n disqusComments: boolean;\n\n /**\n * Disqus comment config\n */\n disqusConfig: {\n title?: string;\n language: string;\n };\n\n /**\n * Facebook comments default markup\n */\n commentsMarkup: string;\n\n /**\n * Custom translation strings for aria-labels\n */\n commentPluginStrings: CommentStrings;\n}\n\nexport const commentSettings: CommentSettings = {\n commentBox: false,\n fbComments: false,\n disqusComments: false,\n disqusConfig: {\n title: undefined,\n language: 'en',\n },\n commentsMarkup:\n '\n HTML5 video source = source: {\n src: string;\n type: string;\n }[];\n attributes: HTMLVideoElement;\n *
\n */\n html5Video: VideoSource;\n /**\n * True if video has poster\n */\n hasPoster: boolean;\n}\n\n/**\n * Fired when the image is rotated in anticlockwise direction\n * @name lgRotateLeft\n * @method onRotateLeft\n */\nexport interface RotateLeftDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is rotated in clockwise direction\n * @name lgRotateRight\n * @method onRotateRight\n */\nexport interface RotateRightDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped horizontally\n * @name lgFlipHorizontal\n * @method onFlipHorizontal\n */\nexport interface FlipHorizontalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped vertically\n * @name lgFlipVertical\n * @method onFlipVertical\n */\nexport interface FlipVerticalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n","export interface HashSettings {\n /**\n * Enable/Disable hash option\n */\n hash: boolean;\n\n /**\n * Unique id for each gallery.\n * @description It is mandatory when you use hash plugin for multiple galleries on the same page.\n */\n galleryId: string;\n\n /**\n * Custom slide name to use in the url when hash plugin is enabled\n */\n customSlideName: boolean;\n}\n\nexport const hashSettings: HashSettings = {\n hash: true,\n galleryId: '1',\n customSlideName: false,\n};\n","import { lGEvents } from '../../lg-events';\nimport { LgQuery } from '../../lgQuery';\nimport { LightGallery } from '../../lightgallery';\nimport { hashSettings, HashSettings } from './lg-hash-settings';\n\nexport default class Hash {\n core: LightGallery;\n settings: HashSettings;\n oldHash!: string;\n private $LG!: LgQuery;\n constructor(instance: LightGallery, $LG: LgQuery) {\n // get lightGallery core plugin instance\n this.core = instance;\n this.$LG = $LG;\n // extend module default settings with lightGallery core settings\n this.settings = { ...hashSettings, ...this.core.settings };\n return this;\n }\n\n public init(): void {\n if (!this.settings.hash) {\n return;\n }\n this.oldHash = window.location.hash;\n setTimeout(() => {\n this.buildFromHash();\n }, 100);\n // Change hash value on after each slide transition\n this.core.LGel.on(\n `${lGEvents.afterSlide}.hash`,\n this.onAfterSlide.bind(this),\n );\n this.core.LGel.on(\n `${lGEvents.afterClose}.hash`,\n this.onCloseAfter.bind(this),\n );\n\n // Listen hash change and change the slide according to slide value\n this.$LG(window).on(\n `hashchange.lg.hash.global${this.core.lgId}`,\n this.onHashchange.bind(this),\n );\n }\n\n private onAfterSlide(event: CustomEvent) {\n let slideName = this.core.galleryItems[event.detail.index].slideName;\n slideName = this.settings.customSlideName\n ? slideName || event.detail.index\n : event.detail.index;\n if (history.replaceState) {\n history.replaceState(\n null,\n '',\n window.location.pathname +\n window.location.search +\n '#lg=' +\n this.settings.galleryId +\n '&slide=' +\n slideName,\n );\n } else {\n window.location.hash =\n 'lg=' + this.settings.galleryId + '&slide=' + slideName;\n }\n }\n\n /**\n * Get index of the slide from custom slideName. Has to be a public method. Used in hash plugin\n * @param {String} hash\n * @returns {Number} Index of the slide.\n */\n getIndexFromUrl(hash = window.location.hash): number {\n const slideName = hash.split('&slide=')[1];\n let _idx = 0;\n\n if (this.settings.customSlideName) {\n for (\n let index = 0;\n index < this.core.galleryItems.length;\n index++\n ) {\n const dynamicEl = this.core.galleryItems[index];\n if (dynamicEl.slideName === slideName) {\n _idx = index;\n break;\n }\n }\n } else {\n _idx = parseInt(slideName, 10);\n }\n\n return isNaN(_idx) ? 0 : _idx;\n }\n\n // Build Gallery if gallery id exist in the URL\n buildFromHash(): boolean | undefined {\n // if dynamic option is enabled execute immediately\n const _hash = window.location.hash;\n if (_hash.indexOf('lg=' + this.settings.galleryId) > 0) {\n // This class is used to remove the initial animation if galleryId present in the URL\n this.$LG(document.body).addClass('lg-from-hash');\n\n const index = this.getIndexFromUrl(_hash);\n\n this.core.openGallery(index);\n return true;\n }\n }\n\n private onCloseAfter() {\n // Reset to old hash value\n if (\n this.oldHash &&\n this.oldHash.indexOf('lg=' + this.settings.galleryId) < 0\n ) {\n if (history.replaceState) {\n history.replaceState(null, '', this.oldHash);\n } else {\n window.location.hash = this.oldHash;\n }\n } else {\n if (history.replaceState) {\n history.replaceState(\n null,\n document.title,\n window.location.pathname + window.location.search,\n );\n } else {\n window.location.hash = '';\n }\n }\n }\n\n private onHashchange() {\n if (!this.core.lgOpened) return;\n const _hash = window.location.hash;\n const index = this.getIndexFromUrl(_hash);\n\n // it galleryId doesn't exist in the url close the gallery\n if (_hash.indexOf('lg=' + this.settings.galleryId) > -1) {\n this.core.slide(index, false, false);\n } else if (this.core.lGalleryOn) {\n this.core.closeGallery();\n }\n }\n\n closeGallery(): void {\n if (this.settings.hash) {\n this.$LG(document.body).removeClass('lg-from-hash');\n }\n }\n\n destroy(): void {\n this.core.LGel.off('.lg.hash');\n this.core.LGel.off('.hash');\n this.$LG(window).off(`hashchange.lg.hash.global${this.core.lgId}`);\n }\n}\n"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/assets/lightGallery/plugins/hash/lg-hash.min.js b/assets/lightGallery/plugins/hash/lg-hash.min.js new file mode 100644 index 0000000..4ab02cf --- /dev/null +++ b/assets/lightGallery/plugins/hash/lg-hash.min.js @@ -0,0 +1,8 @@ +/** + * lightgallery | 2.9.0 | October 1st 2025 + * http://www.lightgalleryjs.com/ + * Copyright (c) 2020 Sachin Neravath; + * @license GPLv3 + */ + +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).lgHash=e()}(this,(function(){"use strict";var t=function(){return(t=Object.assign||function(t){for(var e,i=1,o=arguments.length;i\n HTML5 video source = source: {\n src: string;\n type: string;\n }[];\n attributes: HTMLVideoElement;\n *
\n */\n html5Video: VideoSource;\n /**\n * True if video has poster\n */\n hasPoster: boolean;\n}\n\n/**\n * Fired when the image is rotated in anticlockwise direction\n * @name lgRotateLeft\n * @method onRotateLeft\n */\nexport interface RotateLeftDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is rotated in clockwise direction\n * @name lgRotateRight\n * @method onRotateRight\n */\nexport interface RotateRightDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped horizontally\n * @name lgFlipHorizontal\n * @method onFlipHorizontal\n */\nexport interface FlipHorizontalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped vertically\n * @name lgFlipVertical\n * @method onFlipVertical\n */\nexport interface FlipVerticalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n","export interface HashSettings {\n /**\n * Enable/Disable hash option\n */\n hash: boolean;\n\n /**\n * Unique id for each gallery.\n * @description It is mandatory when you use hash plugin for multiple galleries on the same page.\n */\n galleryId: string;\n\n /**\n * Custom slide name to use in the url when hash plugin is enabled\n */\n customSlideName: boolean;\n}\n\nexport const hashSettings: HashSettings = {\n hash: true,\n galleryId: '1',\n customSlideName: false,\n};\n","import { lGEvents } from '../../lg-events';\nimport { LgQuery } from '../../lgQuery';\nimport { LightGallery } from '../../lightgallery';\nimport { hashSettings, HashSettings } from './lg-hash-settings';\n\nexport default class Hash {\n core: LightGallery;\n settings: HashSettings;\n oldHash!: string;\n private $LG!: LgQuery;\n constructor(instance: LightGallery, $LG: LgQuery) {\n // get lightGallery core plugin instance\n this.core = instance;\n this.$LG = $LG;\n // extend module default settings with lightGallery core settings\n this.settings = { ...hashSettings, ...this.core.settings };\n return this;\n }\n\n public init(): void {\n if (!this.settings.hash) {\n return;\n }\n this.oldHash = window.location.hash;\n setTimeout(() => {\n this.buildFromHash();\n }, 100);\n // Change hash value on after each slide transition\n this.core.LGel.on(\n `${lGEvents.afterSlide}.hash`,\n this.onAfterSlide.bind(this),\n );\n this.core.LGel.on(\n `${lGEvents.afterClose}.hash`,\n this.onCloseAfter.bind(this),\n );\n\n // Listen hash change and change the slide according to slide value\n this.$LG(window).on(\n `hashchange.lg.hash.global${this.core.lgId}`,\n this.onHashchange.bind(this),\n );\n }\n\n private onAfterSlide(event: CustomEvent) {\n let slideName = this.core.galleryItems[event.detail.index].slideName;\n slideName = this.settings.customSlideName\n ? slideName || event.detail.index\n : event.detail.index;\n if (history.replaceState) {\n history.replaceState(\n null,\n '',\n window.location.pathname +\n window.location.search +\n '#lg=' +\n this.settings.galleryId +\n '&slide=' +\n slideName,\n );\n } else {\n window.location.hash =\n 'lg=' + this.settings.galleryId + '&slide=' + slideName;\n }\n }\n\n /**\n * Get index of the slide from custom slideName. Has to be a public method. Used in hash plugin\n * @param {String} hash\n * @returns {Number} Index of the slide.\n */\n getIndexFromUrl(hash = window.location.hash): number {\n const slideName = hash.split('&slide=')[1];\n let _idx = 0;\n\n if (this.settings.customSlideName) {\n for (\n let index = 0;\n index < this.core.galleryItems.length;\n index++\n ) {\n const dynamicEl = this.core.galleryItems[index];\n if (dynamicEl.slideName === slideName) {\n _idx = index;\n break;\n }\n }\n } else {\n _idx = parseInt(slideName, 10);\n }\n\n return isNaN(_idx) ? 0 : _idx;\n }\n\n // Build Gallery if gallery id exist in the URL\n buildFromHash(): boolean | undefined {\n // if dynamic option is enabled execute immediately\n const _hash = window.location.hash;\n if (_hash.indexOf('lg=' + this.settings.galleryId) > 0) {\n // This class is used to remove the initial animation if galleryId present in the URL\n this.$LG(document.body).addClass('lg-from-hash');\n\n const index = this.getIndexFromUrl(_hash);\n\n this.core.openGallery(index);\n return true;\n }\n }\n\n private onCloseAfter() {\n // Reset to old hash value\n if (\n this.oldHash &&\n this.oldHash.indexOf('lg=' + this.settings.galleryId) < 0\n ) {\n if (history.replaceState) {\n history.replaceState(null, '', this.oldHash);\n } else {\n window.location.hash = this.oldHash;\n }\n } else {\n if (history.replaceState) {\n history.replaceState(\n null,\n document.title,\n window.location.pathname + window.location.search,\n );\n } else {\n window.location.hash = '';\n }\n }\n }\n\n private onHashchange() {\n if (!this.core.lgOpened) return;\n const _hash = window.location.hash;\n const index = this.getIndexFromUrl(_hash);\n\n // it galleryId doesn't exist in the url close the gallery\n if (_hash.indexOf('lg=' + this.settings.galleryId) > -1) {\n this.core.slide(index, false, false);\n } else if (this.core.lGalleryOn) {\n this.core.closeGallery();\n }\n }\n\n closeGallery(): void {\n if (this.settings.hash) {\n this.$LG(document.body).removeClass('lg-from-hash');\n }\n }\n\n destroy(): void {\n this.core.LGel.off('.lg.hash');\n this.core.LGel.off('.hash');\n this.$LG(window).off(`hashchange.lg.hash.global${this.core.lgId}`);\n }\n}\n"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/assets/lightGallery/plugins/hash/package.json b/assets/lightGallery/plugins/hash/package.json new file mode 100644 index 0000000..78c4be1 --- /dev/null +++ b/assets/lightGallery/plugins/hash/package.json @@ -0,0 +1,7 @@ +{ + "name": "lightgallery/plugins/hash", + "private": true, + "main": "lg-hash.umd.js", + "module": "lg-hash.es5.js", + "typings": "lg-hash.d.ts" +} \ No newline at end of file diff --git a/assets/lightGallery/plugins/mediumZoom/lg-medium-zoom-settings.d.ts b/assets/lightGallery/plugins/mediumZoom/lg-medium-zoom-settings.d.ts new file mode 100644 index 0000000..18c607a --- /dev/null +++ b/assets/lightGallery/plugins/mediumZoom/lg-medium-zoom-settings.d.ts @@ -0,0 +1,16 @@ +export interface MediumZoomSettings { + /** + * Enable/Disable medium like zoom experience + */ + mediumZoom: boolean; + /** + * Space between the gallery outer area and images + */ + margin: number; + /** + * Background color for the gallery + * This can be overwritten by passing background color via `lg-background-color` for each item + */ + backgroundColor: string; +} +export declare const mediumZoomSettings: MediumZoomSettings; diff --git a/assets/lightGallery/plugins/mediumZoom/lg-medium-zoom.d.ts b/assets/lightGallery/plugins/mediumZoom/lg-medium-zoom.d.ts new file mode 100644 index 0000000..113aaf8 --- /dev/null +++ b/assets/lightGallery/plugins/mediumZoom/lg-medium-zoom.d.ts @@ -0,0 +1,12 @@ +import { LgQuery } from '../../lgQuery'; +import { LightGallery } from '../../lightgallery'; +import { MediumZoomSettings } from './lg-medium-zoom-settings'; +export default class MediumZoom { + core: LightGallery; + settings: MediumZoomSettings; + private $LG; + constructor(instance: LightGallery, $LG: LgQuery); + private toggleItemClass; + init(): void; + destroy(): void; +} diff --git a/assets/lightGallery/plugins/mediumZoom/lg-medium-zoom.es5.js b/assets/lightGallery/plugins/mediumZoom/lg-medium-zoom.es5.js new file mode 100644 index 0000000..d3d2dc2 --- /dev/null +++ b/assets/lightGallery/plugins/mediumZoom/lg-medium-zoom.es5.js @@ -0,0 +1,132 @@ +/*! + * lightgallery | 2.9.0 | October 1st 2025 + * http://www.lightgalleryjs.com/ + * Copyright (c) 2020 Sachin Neravath; + * @license GPLv3 + */ + +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */ + +var __assign = function() { + __assign = Object.assign || function __assign(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); +}; + +/** + * List of lightGallery events + * All events should be documented here + * Below interfaces are used to build the website documentations + * */ +var lGEvents = { + afterAppendSlide: 'lgAfterAppendSlide', + init: 'lgInit', + hasVideo: 'lgHasVideo', + containerResize: 'lgContainerResize', + updateSlides: 'lgUpdateSlides', + afterAppendSubHtml: 'lgAfterAppendSubHtml', + beforeOpen: 'lgBeforeOpen', + afterOpen: 'lgAfterOpen', + slideItemLoad: 'lgSlideItemLoad', + beforeSlide: 'lgBeforeSlide', + afterSlide: 'lgAfterSlide', + posterClick: 'lgPosterClick', + dragStart: 'lgDragStart', + dragMove: 'lgDragMove', + dragEnd: 'lgDragEnd', + beforeNextSlide: 'lgBeforeNextSlide', + beforePrevSlide: 'lgBeforePrevSlide', + beforeClose: 'lgBeforeClose', + afterClose: 'lgAfterClose', + rotateLeft: 'lgRotateLeft', + rotateRight: 'lgRotateRight', + flipHorizontal: 'lgFlipHorizontal', + flipVertical: 'lgFlipVertical', + autoplay: 'lgAutoplay', + autoplayStart: 'lgAutoplayStart', + autoplayStop: 'lgAutoplayStop', +}; + +var mediumZoomSettings = { + margin: 40, + mediumZoom: true, + backgroundColor: '#000', +}; + +var MediumZoom = /** @class */ (function () { + function MediumZoom(instance, $LG) { + var _this = this; + // get lightGallery core plugin instance + this.core = instance; + this.$LG = $LG; + // Set margin + this.core.getMediaContainerPosition = function () { + return { + top: _this.settings.margin, + bottom: _this.settings.margin, + }; + }; + // Override some of lightGallery default settings + var defaultSettings = { + controls: false, + download: false, + counter: false, + showCloseIcon: false, + extraProps: ['lgBackgroundColor'], + closeOnTap: false, + enableSwipe: false, + enableDrag: false, + swipeToClose: false, + addClass: this.core.settings.addClass + ' lg-medium-zoom', + }; + this.core.settings = __assign(__assign({}, this.core.settings), defaultSettings); + // extend module default settings with lightGallery core settings + this.settings = __assign(__assign(__assign({}, mediumZoomSettings), this.core.settings), defaultSettings); + return this; + } + MediumZoom.prototype.toggleItemClass = function () { + for (var index = 0; index < this.core.items.length; index++) { + var $element = this.$LG(this.core.items[index]); + $element.toggleClass('lg-medium-zoom-item'); + } + }; + MediumZoom.prototype.init = function () { + var _this = this; + if (!this.settings.mediumZoom) { + return; + } + this.core.LGel.on(lGEvents.beforeOpen + ".medium", function () { + _this.core.$backdrop.css('background-color', _this.core.galleryItems[_this.core.index].lgBackgroundColor || + _this.settings.backgroundColor); + }); + this.toggleItemClass(); + this.core.outer.on('click.lg.medium', function () { + _this.core.closeGallery(); + }); + }; + MediumZoom.prototype.destroy = function () { + this.toggleItemClass(); + }; + return MediumZoom; +}()); + +export default MediumZoom; +//# sourceMappingURL=lg-medium-zoom.es5.js.map diff --git a/assets/lightGallery/plugins/mediumZoom/lg-medium-zoom.es5.js.map b/assets/lightGallery/plugins/mediumZoom/lg-medium-zoom.es5.js.map new file mode 100644 index 0000000..d64a2db --- /dev/null +++ b/assets/lightGallery/plugins/mediumZoom/lg-medium-zoom.es5.js.map @@ -0,0 +1 @@ +{"version":3,"file":"lg-medium-zoom.es5.js","sources":["../../../src/lg-events.ts","../../../src/plugins/mediumZoom/lg-medium-zoom-settings.ts","../../../src/plugins/mediumZoom/lg-medium-zoom.ts"],"sourcesContent":["import { LightGallery } from './lightgallery';\nimport { VideoSource } from './plugins/video/types';\n\n/**\n * List of lightGallery events\n * All events should be documented here\n * Below interfaces are used to build the website documentations\n * */\nexport const lGEvents: {\n [key: string]: string;\n} = {\n afterAppendSlide: 'lgAfterAppendSlide',\n init: 'lgInit',\n hasVideo: 'lgHasVideo',\n containerResize: 'lgContainerResize',\n updateSlides: 'lgUpdateSlides',\n afterAppendSubHtml: 'lgAfterAppendSubHtml',\n beforeOpen: 'lgBeforeOpen',\n afterOpen: 'lgAfterOpen',\n slideItemLoad: 'lgSlideItemLoad',\n beforeSlide: 'lgBeforeSlide',\n afterSlide: 'lgAfterSlide',\n posterClick: 'lgPosterClick',\n dragStart: 'lgDragStart',\n dragMove: 'lgDragMove',\n dragEnd: 'lgDragEnd',\n beforeNextSlide: 'lgBeforeNextSlide',\n beforePrevSlide: 'lgBeforePrevSlide',\n beforeClose: 'lgBeforeClose',\n afterClose: 'lgAfterClose',\n rotateLeft: 'lgRotateLeft',\n rotateRight: 'lgRotateRight',\n flipHorizontal: 'lgFlipHorizontal',\n flipVertical: 'lgFlipVertical',\n autoplay: 'lgAutoplay',\n autoplayStart: 'lgAutoplayStart',\n autoplayStop: 'lgAutoplayStop',\n};\n\n// Follow the below format for the event documentation\n// @method is the method name when event is used with Angular/React components\n\n/**\n * Fired only once when lightGallery is initialized\n * @name lgInit\n * @method onInit\n * @example\n * const lg = document.getElementById('custom-events-demo');\n * // Perform any action on lightGallery initialization.\n * // Init event returns the plugin instance that can be used to call any lightGalley public method\n * let pluginInstance = null;\n * lg.addEventListener('lgInit', (event) => {\n * pluginInstance = event.detail.instance;\n * });\n * lightGallery(lg);\n * @see Methods\n */\nexport interface InitDetail {\n /**\n * lightGallery plugin instance\n */\n instance: LightGallery;\n}\n\n/**\n * Fired when the slide content has been inserted into it's slide container.\n * @name lgAfterAppendSlide\n * @method onAfterAppendSlide\n */\nexport interface AfterAppendSlideEventDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired immediately before opening the gallery\n * @name lgBeforeOpen\n * @method onBeforeOpen\n */\nexport interface BeforeOpenDetail {}\n\n/**\n * Fired immediately after opening the gallery\n * @name lgAfterOpen\n * @method onAfterOpen\n */\nexport interface AfterOpenDetail {}\n\n/**\n * Fired once the media inside the slide has been completely loaded .\n * @name lgSlideItemLoad\n * @method onSlideItemLoad\n */\nexport interface SlideItemLoadDetail {\n /**\n * Index of the slide\n */\n index: number;\n /**\n * For the first slide, lightGallery adds some delay for displaying the loaded slide item.\n * This delay is required for the transition effect when the slide item is displayed\n * Respect the delay when you use this event\n */\n delay: number;\n\n // Will be true for the first slide\n isFirstSlide: boolean;\n}\n\n/**\n * Fired immediately before each slide transition.\n * @name lgBeforeSlide\n * @method onBeforeSlide\n * @example\n * const lg = document.getElementById('custom-events-demo');\n * // Perform any action before each slide transition\n * lg.addEventListener('lgBeforeSlide', (event) => {\n * const { index, prevIndex } = event.detail;\n * alert(index, prevIndex);\n * });\n * lightGallery(lg);\n */\nexport interface BeforeSlideDetail {\n /**\n * Index of the previous slide\n */\n prevIndex: number;\n /**\n * Index of the slide\n */\n index: number;\n /**\n * true if slide function called via touch event or mouse drag\n */\n fromTouch: boolean;\n /**\n * true if slide function called via thumbnail click\n */\n fromThumb: boolean;\n}\n\n/**\n * Fired immediately after each slide transition.\n * @name lgAfterSlide\n * @method onAfterSlide\n */\nexport interface AfterSlideDetail {\n /**\n * Index of the previous slide\n */\n prevIndex: number;\n /**\n * Index of the slide\n */\n index: number;\n /**\n * true if slide function called via touch event or mouse drag\n */\n fromTouch: boolean;\n /**\n * true if slide function called via thumbnail click\n */\n fromThumb: boolean;\n}\n\n/**\n * Fired when the video poster is clicked.\n * @name lgPosterClick\n * @method onPosterClick\n */\nexport interface PosterClickDetail {}\n\n/**\n * Fired when the drag event to move to different slide starts.\n * @name lgDragStart\n * @method onDragStart\n */\nexport interface DragStartDetail {}\n\n/**\n * Fired periodically during the drag operation.\n * @name lgDragMove\n * @method onDragMove\n */\nexport interface DragMoveDetail {}\n\n/**\n * Fired when the user has finished the drag operation\n * @name lgDragEnd\n * @method onDragEnd\n */\nexport interface DragEndDetail {}\n\n/**\n * Fired immediately before the start of the close process.\n * @name lgBeforeClose\n * @method onBeforeClose\n */\nexport interface BeforeCloseDetail {}\n\n/**\n * Fired immediately once lightGallery is closed.\n * @name lgAfterClose\n * @method onAfterClose\n */\nexport interface AfterCloseDetail {\n /**\n * lightGallery plugin instance\n */\n instance: LightGallery;\n}\n\n/**\n * Fired immediately before each \"next\" slide transition\n * @name lgBeforeNextSlide\n * @method onBeforeNextSlide\n */\nexport interface BeforeNextSlideDetail {\n /**\n * Index of the slide\n */\n index: number;\n /**\n * true if slide function called via touch event or mouse drag\n */\n fromTouch: boolean;\n}\n\n/**\n * Fired immediately before each \"prev\" slide transition\n * @name lgBeforePrevSlide\n * @method onBeforePrevSlide\n */\nexport interface BeforePrevSlideDetail {\n /**\n * Index of the slide\n */\n index: number;\n /**\n * true if slide function called via touch event or mouse drag\n */\n fromTouch: boolean;\n}\n\n/**\n * Fired when the sub-html content (ex : title/ description) has been appended into the slide.\n * @name lgAfterAppendSubHtml\n * @method onAfterAppendSubHtml\n */\nexport interface AfterAppendSubHtmlDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the lightGallery container has been resized.\n * @name lgContainerResize\n * @method onContainerResize\n */\nexport interface ContainerResizeDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when lightGallery detects video slide\n * @name lgHasVideo\n * @method onHasVideo\n */\nexport interface HasVideoDetail {\n /**\n * Index of the slide,\n */\n index: number;\n /**\n * Video source\n */\n src: string;\n /**\n * HTML5 video source if available\n *\n HTML5 video source = source: {\n src: string;\n type: string;\n }[];\n attributes: HTMLVideoElement;\n *
\n */\n html5Video: VideoSource;\n /**\n * True if video has poster\n */\n hasPoster: boolean;\n}\n\n/**\n * Fired when the image is rotated in anticlockwise direction\n * @name lgRotateLeft\n * @method onRotateLeft\n */\nexport interface RotateLeftDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is rotated in clockwise direction\n * @name lgRotateRight\n * @method onRotateRight\n */\nexport interface RotateRightDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped horizontally\n * @name lgFlipHorizontal\n * @method onFlipHorizontal\n */\nexport interface FlipHorizontalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped vertically\n * @name lgFlipVertical\n * @method onFlipVertical\n */\nexport interface FlipVerticalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n","export interface MediumZoomSettings {\n /**\n * Enable/Disable medium like zoom experience\n */\n mediumZoom: boolean;\n\n /**\n * Space between the gallery outer area and images\n */\n margin: number;\n\n /**\n * Background color for the gallery\n * This can be overwritten by passing background color via `lg-background-color` for each item\n */\n backgroundColor: string;\n}\n\nexport const mediumZoomSettings: MediumZoomSettings = {\n margin: 40,\n mediumZoom: true,\n backgroundColor: '#000',\n};\n","import { lGEvents } from '../../lg-events';\nimport { LightGallerySettings } from '../../lg-settings';\nimport { LgQuery } from '../../lgQuery';\nimport { LightGallery } from '../../lightgallery';\nimport {\n MediumZoomSettings,\n mediumZoomSettings,\n} from './lg-medium-zoom-settings';\n\nexport default class MediumZoom {\n core: LightGallery;\n settings: MediumZoomSettings;\n private $LG!: LgQuery;\n constructor(instance: LightGallery, $LG: LgQuery) {\n // get lightGallery core plugin instance\n this.core = instance;\n this.$LG = $LG;\n\n // Set margin\n this.core.getMediaContainerPosition = () => {\n return {\n top: this.settings.margin,\n bottom: this.settings.margin,\n };\n };\n\n // Override some of lightGallery default settings\n const defaultSettings: Partial\n HTML5 video source = source: {\n src: string;\n type: string;\n }[];\n attributes: HTMLVideoElement;\n *
\n */\n html5Video: VideoSource;\n /**\n * True if video has poster\n */\n hasPoster: boolean;\n}\n\n/**\n * Fired when the image is rotated in anticlockwise direction\n * @name lgRotateLeft\n * @method onRotateLeft\n */\nexport interface RotateLeftDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is rotated in clockwise direction\n * @name lgRotateRight\n * @method onRotateRight\n */\nexport interface RotateRightDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped horizontally\n * @name lgFlipHorizontal\n * @method onFlipHorizontal\n */\nexport interface FlipHorizontalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped vertically\n * @name lgFlipVertical\n * @method onFlipVertical\n */\nexport interface FlipVerticalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n","export interface MediumZoomSettings {\n /**\n * Enable/Disable medium like zoom experience\n */\n mediumZoom: boolean;\n\n /**\n * Space between the gallery outer area and images\n */\n margin: number;\n\n /**\n * Background color for the gallery\n * This can be overwritten by passing background color via `lg-background-color` for each item\n */\n backgroundColor: string;\n}\n\nexport const mediumZoomSettings: MediumZoomSettings = {\n margin: 40,\n mediumZoom: true,\n backgroundColor: '#000',\n};\n","import { lGEvents } from '../../lg-events';\nimport { LightGallerySettings } from '../../lg-settings';\nimport { LgQuery } from '../../lgQuery';\nimport { LightGallery } from '../../lightgallery';\nimport {\n MediumZoomSettings,\n mediumZoomSettings,\n} from './lg-medium-zoom-settings';\n\nexport default class MediumZoom {\n core: LightGallery;\n settings: MediumZoomSettings;\n private $LG!: LgQuery;\n constructor(instance: LightGallery, $LG: LgQuery) {\n // get lightGallery core plugin instance\n this.core = instance;\n this.$LG = $LG;\n\n // Set margin\n this.core.getMediaContainerPosition = () => {\n return {\n top: this.settings.margin,\n bottom: this.settings.margin,\n };\n };\n\n // Override some of lightGallery default settings\n const defaultSettings: Partial\n HTML5 video source = source: {\n src: string;\n type: string;\n }[];\n attributes: HTMLVideoElement;\n *
\n */\n html5Video: VideoSource;\n /**\n * True if video has poster\n */\n hasPoster: boolean;\n}\n\n/**\n * Fired when the image is rotated in anticlockwise direction\n * @name lgRotateLeft\n * @method onRotateLeft\n */\nexport interface RotateLeftDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is rotated in clockwise direction\n * @name lgRotateRight\n * @method onRotateRight\n */\nexport interface RotateRightDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped horizontally\n * @name lgFlipHorizontal\n * @method onFlipHorizontal\n */\nexport interface FlipHorizontalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped vertically\n * @name lgFlipVertical\n * @method onFlipVertical\n */\nexport interface FlipVerticalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n","export interface PagerSettings {\n /**\n * Enable/Disable pager option\n */\n pager: boolean;\n}\n\nexport const pagerSettings: PagerSettings = {\n pager: true,\n};\n","import { lGEvents } from '../../lg-events';\nimport { GalleryItem } from '../../lg-utils';\nimport { LgQuery } from '../../lgQuery';\nimport { LightGallery } from '../../lightgallery';\nimport { PagerSettings, pagerSettings } from './lg-pager-settings';\n\nexport default class Pager {\n core: LightGallery;\n settings: PagerSettings;\n private $LG!: LgQuery;\n constructor(instance: LightGallery, $LG: LgQuery) {\n // get lightGallery core plugin instance\n this.core = instance;\n this.$LG = $LG;\n // extend module default settings with lightGallery core settings\n this.settings = { ...pagerSettings, ...this.core.settings };\n\n return this;\n }\n\n private getPagerHtml(items: GalleryItem[]): string {\n let pagerList = '';\n for (let i = 0; i < items.length; i++) {\n pagerList += ` \n \n\n HTML5 video source = source: {\n src: string;\n type: string;\n }[];\n attributes: HTMLVideoElement;\n *
\n */\n html5Video: VideoSource;\n /**\n * True if video has poster\n */\n hasPoster: boolean;\n}\n\n/**\n * Fired when the image is rotated in anticlockwise direction\n * @name lgRotateLeft\n * @method onRotateLeft\n */\nexport interface RotateLeftDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is rotated in clockwise direction\n * @name lgRotateRight\n * @method onRotateRight\n */\nexport interface RotateRightDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped horizontally\n * @name lgFlipHorizontal\n * @method onFlipHorizontal\n */\nexport interface FlipHorizontalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped vertically\n * @name lgFlipVertical\n * @method onFlipVertical\n */\nexport interface FlipVerticalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n","export interface PagerSettings {\n /**\n * Enable/Disable pager option\n */\n pager: boolean;\n}\n\nexport const pagerSettings: PagerSettings = {\n pager: true,\n};\n","import { lGEvents } from '../../lg-events';\nimport { GalleryItem } from '../../lg-utils';\nimport { LgQuery } from '../../lgQuery';\nimport { LightGallery } from '../../lightgallery';\nimport { PagerSettings, pagerSettings } from './lg-pager-settings';\n\nexport default class Pager {\n core: LightGallery;\n settings: PagerSettings;\n private $LG!: LgQuery;\n constructor(instance: LightGallery, $LG: LgQuery) {\n // get lightGallery core plugin instance\n this.core = instance;\n this.$LG = $LG;\n // extend module default settings with lightGallery core settings\n this.settings = { ...pagerSettings, ...this.core.settings };\n\n return this;\n }\n\n private getPagerHtml(items: GalleryItem[]): string {\n let pagerList = '';\n for (let i = 0; i < items.length; i++) {\n pagerList += ` \n \n\n HTML5 video source = source: {\n src: string;\n type: string;\n }[];\n attributes: HTMLVideoElement;\n *
\n */\n html5Video: VideoSource;\n /**\n * True if video has poster\n */\n hasPoster: boolean;\n}\n\n/**\n * Fired when the image is rotated in anticlockwise direction\n * @name lgRotateLeft\n * @method onRotateLeft\n */\nexport interface RotateLeftDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is rotated in clockwise direction\n * @name lgRotateRight\n * @method onRotateRight\n */\nexport interface RotateRightDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped horizontally\n * @name lgFlipHorizontal\n * @method onFlipHorizontal\n */\nexport interface FlipHorizontalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped vertically\n * @name lgFlipVertical\n * @method onFlipVertical\n */\nexport interface FlipVerticalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n","export interface RelativeCaptionSettings {\n /**\n * Enable/Disable relative captions\n */\n relativeCaption: boolean;\n}\n\nexport const relativeCaptionSettings: RelativeCaptionSettings = {\n relativeCaption: false,\n};\n","/**\n * lightGallery caption for placing captions relative to the image\n */\n\nimport { lGEvents } from '../../lg-events';\nimport { LightGallerySettings } from '../../lg-settings';\nimport { LightGallery } from '../../lightgallery';\nimport {\n RelativeCaptionSettings,\n relativeCaptionSettings,\n} from './lg-relative-caption-settings';\n\nexport default class RelativeCaption {\n core: LightGallery;\n settings: RelativeCaptionSettings;\n constructor(instance: LightGallery) {\n // get lightGallery core plugin instance\n this.core = instance;\n\n // Override some of lightGallery default settings\n const defaultSettings: Partial\n HTML5 video source = source: {\n src: string;\n type: string;\n }[];\n attributes: HTMLVideoElement;\n *
\n */\n html5Video: VideoSource;\n /**\n * True if video has poster\n */\n hasPoster: boolean;\n}\n\n/**\n * Fired when the image is rotated in anticlockwise direction\n * @name lgRotateLeft\n * @method onRotateLeft\n */\nexport interface RotateLeftDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is rotated in clockwise direction\n * @name lgRotateRight\n * @method onRotateRight\n */\nexport interface RotateRightDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped horizontally\n * @name lgFlipHorizontal\n * @method onFlipHorizontal\n */\nexport interface FlipHorizontalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped vertically\n * @name lgFlipVertical\n * @method onFlipVertical\n */\nexport interface FlipVerticalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n","export interface RelativeCaptionSettings {\n /**\n * Enable/Disable relative captions\n */\n relativeCaption: boolean;\n}\n\nexport const relativeCaptionSettings: RelativeCaptionSettings = {\n relativeCaption: false,\n};\n","/**\n * lightGallery caption for placing captions relative to the image\n */\n\nimport { lGEvents } from '../../lg-events';\nimport { LightGallerySettings } from '../../lg-settings';\nimport { LightGallery } from '../../lightgallery';\nimport {\n RelativeCaptionSettings,\n relativeCaptionSettings,\n} from './lg-relative-caption-settings';\n\nexport default class RelativeCaption {\n core: LightGallery;\n settings: RelativeCaptionSettings;\n constructor(instance: LightGallery) {\n // get lightGallery core plugin instance\n this.core = instance;\n\n // Override some of lightGallery default settings\n const defaultSettings: Partial\n HTML5 video source = source: {\n src: string;\n type: string;\n }[];\n attributes: HTMLVideoElement;\n *
\n */\n html5Video: VideoSource;\n /**\n * True if video has poster\n */\n hasPoster: boolean;\n}\n\n/**\n * Fired when the image is rotated in anticlockwise direction\n * @name lgRotateLeft\n * @method onRotateLeft\n */\nexport interface RotateLeftDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is rotated in clockwise direction\n * @name lgRotateRight\n * @method onRotateRight\n */\nexport interface RotateRightDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped horizontally\n * @name lgFlipHorizontal\n * @method onFlipHorizontal\n */\nexport interface FlipHorizontalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped vertically\n * @name lgFlipVertical\n * @method onFlipVertical\n */\nexport interface FlipVerticalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n","export interface RotateStrings {\n flipVertical: string;\n flipHorizontal: string;\n rotateLeft: string;\n rotateRight: string;\n}\n\nexport interface RotateSettings {\n /**\n * Enable/Disable rotate option\n */\n rotate: boolean;\n\n /**\n * Rotate speed in milliseconds\n */\n rotateSpeed: number;\n\n /**\n * Enable rotate left.\n */\n rotateLeft: boolean;\n\n /**\n * Enable rotate right.\n */\n rotateRight: boolean;\n\n /**\n * Enable flip horizontal.\n */\n flipHorizontal: boolean;\n\n /**\n * Enable flip vertical.\n */\n flipVertical: boolean;\n\n /**\n * Custom translation strings for aria-labels\n */\n rotatePluginStrings: RotateStrings;\n}\nexport const rotateSettings = {\n rotate: true,\n rotateSpeed: 400,\n rotateLeft: true,\n rotateRight: true,\n flipHorizontal: true,\n flipVertical: true,\n rotatePluginStrings: {\n flipVertical: 'Flip vertical',\n flipHorizontal: 'Flip horizontal',\n rotateLeft: 'Rotate left',\n rotateRight: 'Rotate right',\n } as RotateStrings,\n};\n","import { lGEvents } from '../../lg-events';\nimport { LgQuery } from '../../lgQuery';\nimport { LightGallery } from '../../lightgallery';\nimport { rotateSettings, RotateSettings } from './lg-rotate-settings';\n\nexport default class Rotate {\n core: LightGallery;\n settings: RotateSettings;\n rotateValuesList!: {\n [key: string]: any;\n };\n private $LG!: LgQuery;\n constructor(instance: LightGallery, $LG: LgQuery) {\n // get lightGallery core plugin instance\n this.core = instance;\n this.$LG = $LG;\n\n // extend module default settings with lightGallery core settings\n this.settings = {\n ...rotateSettings,\n ...this.core.settings,\n };\n\n return this;\n }\n buildTemplates(): void {\n let rotateIcons = '';\n if (this.settings.flipVertical) {\n rotateIcons += ``;\n }\n if (this.settings.flipHorizontal) {\n rotateIcons += ``;\n }\n if (this.settings.rotateLeft) {\n rotateIcons += ``;\n }\n if (this.settings.rotateRight) {\n rotateIcons += ``;\n }\n this.core.$toolbar.append(rotateIcons);\n }\n\n init(): void {\n if (!this.settings.rotate) {\n return;\n }\n this.buildTemplates();\n\n // Save rotate config for each item to persist its rotate, flip values\n // even after navigating to diferent slides\n this.rotateValuesList = {};\n\n // event triggered after appending slide content\n this.core.LGel.on(`${lGEvents.slideItemLoad}.rotate`, (event) => {\n const { index } = event.detail;\n\n const rotateEl = this.core\n .getSlideItem(index)\n .find('.lg-img-rotate')\n .get();\n if (!rotateEl) {\n const imageWrap = this.core\n .getSlideItem(index)\n .find('.lg-object')\n .first();\n\n imageWrap.wrap('lg-img-rotate');\n //this.rotateValuesList[this.core.index]\n this.core\n .getSlideItem(this.core.index)\n .find('.lg-img-rotate')\n .css(\n 'transition-duration',\n this.settings.rotateSpeed + 'ms',\n );\n }\n });\n\n this.core.outer\n .find('#lg-rotate-left')\n .first()\n .on('click.lg', this.rotateLeft.bind(this));\n\n this.core.outer\n .find('#lg-rotate-right')\n .first()\n .on('click.lg', this.rotateRight.bind(this));\n\n this.core.outer\n .find('#lg-flip-hor')\n .first()\n .on('click.lg', this.flipHorizontal.bind(this));\n\n this.core.outer\n .find('#lg-flip-ver')\n .first()\n .on('click.lg', this.flipVertical.bind(this));\n\n // Reset rotate on slide change\n this.core.LGel.on(`${lGEvents.beforeSlide}.rotate`, (event) => {\n if (!this.rotateValuesList[event.detail.index]) {\n this.rotateValuesList[event.detail.index] = {\n rotate: 0,\n flipHorizontal: 1,\n flipVertical: 1,\n };\n }\n });\n }\n\n applyStyles(): void {\n const $image = this.core\n .getSlideItem(this.core.index)\n .find('.lg-img-rotate')\n .first();\n\n $image.css(\n 'transform',\n 'rotate(' +\n this.rotateValuesList[this.core.index].rotate +\n 'deg)' +\n ' scale3d(' +\n this.rotateValuesList[this.core.index].flipHorizontal +\n ', ' +\n this.rotateValuesList[this.core.index].flipVertical +\n ', 1)',\n );\n }\n\n rotateLeft(): void {\n this.rotateValuesList[this.core.index].rotate -= 90;\n this.applyStyles();\n this.triggerEvents(lGEvents.rotateLeft, {\n rotate: this.rotateValuesList[this.core.index].rotate,\n });\n }\n\n rotateRight(): void {\n this.rotateValuesList[this.core.index].rotate += 90;\n this.applyStyles();\n this.triggerEvents(lGEvents.rotateRight, {\n rotate: this.rotateValuesList[this.core.index].rotate,\n });\n }\n\n getCurrentRotation(el: HTMLElement): number {\n if (!el) {\n return 0;\n }\n const st = this.$LG(el).style();\n const tm =\n st.getPropertyValue('-webkit-transform') ||\n st.getPropertyValue('-moz-transform') ||\n st.getPropertyValue('-ms-transform') ||\n st.getPropertyValue('-o-transform') ||\n st.getPropertyValue('transform') ||\n 'none';\n if (tm !== 'none') {\n const values = tm.split('(')[1].split(')')[0].split(',') as any;\n if (values) {\n const angle = Math.round(\n Math.atan2(values[1], values[0]) * (180 / Math.PI),\n );\n return angle < 0 ? angle + 360 : angle;\n }\n }\n return 0;\n }\n\n flipHorizontal(): void {\n const rotateEl = this.core\n .getSlideItem(this.core.index)\n .find('.lg-img-rotate')\n .first()\n .get();\n const currentRotation = this.getCurrentRotation(rotateEl);\n let rotateAxis = 'flipHorizontal';\n if (currentRotation === 90 || currentRotation === 270) {\n rotateAxis = 'flipVertical';\n }\n this.rotateValuesList[this.core.index][rotateAxis] *= -1;\n this.applyStyles();\n this.triggerEvents(lGEvents.flipHorizontal, {\n flipHorizontal: this.rotateValuesList[this.core.index][rotateAxis],\n });\n }\n\n flipVertical(): void {\n const rotateEl = this.core\n .getSlideItem(this.core.index)\n .find('.lg-img-rotate')\n .first()\n .get();\n const currentRotation = this.getCurrentRotation(rotateEl);\n let rotateAxis = 'flipVertical';\n if (currentRotation === 90 || currentRotation === 270) {\n rotateAxis = 'flipHorizontal';\n }\n this.rotateValuesList[this.core.index][rotateAxis] *= -1;\n\n this.applyStyles();\n\n this.triggerEvents(lGEvents.flipVertical, {\n flipVertical: this.rotateValuesList[this.core.index][rotateAxis],\n });\n }\n\n triggerEvents(event: string, detail: any): void {\n setTimeout(() => {\n this.core.LGel.trigger(event, detail);\n }, this.settings.rotateSpeed + 10);\n }\n\n isImageOrientationChanged(): boolean {\n const rotateValue = this.rotateValuesList[this.core.index];\n const isRotated = Math.abs(rotateValue.rotate) % 360 !== 0;\n const ifFlippedHor = rotateValue.flipHorizontal < 0;\n const ifFlippedVer = rotateValue.flipVertical < 0;\n return isRotated || ifFlippedHor || ifFlippedVer;\n }\n\n closeGallery(): void {\n if (this.isImageOrientationChanged()) {\n this.core.getSlideItem(this.core.index).css('opacity', 0);\n }\n this.rotateValuesList = {};\n }\n\n destroy(): void {\n // Unbind all events added by lightGallery rotate plugin\n this.core.LGel.off('.lg.rotate');\n this.core.LGel.off('.rotate');\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;;;;;AAKO,IAAM,QAAQ,GAEjB;IACA,gBAAgB,EAAE,oBAAoB;IACtC,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,YAAY;IACtB,eAAe,EAAE,mBAAmB;IACpC,YAAY,EAAE,gBAAgB;IAC9B,kBAAkB,EAAE,sBAAsB;IAC1C,UAAU,EAAE,cAAc;IAC1B,SAAS,EAAE,aAAa;IACxB,aAAa,EAAE,iBAAiB;IAChC,WAAW,EAAE,eAAe;IAC5B,UAAU,EAAE,cAAc;IAC1B,WAAW,EAAE,eAAe;IAC5B,SAAS,EAAE,aAAa;IACxB,QAAQ,EAAE,YAAY;IACtB,OAAO,EAAE,WAAW;IACpB,eAAe,EAAE,mBAAmB;IACpC,eAAe,EAAE,mBAAmB;IACpC,WAAW,EAAE,eAAe;IAC5B,UAAU,EAAE,cAAc;IAC1B,UAAU,EAAE,cAAc;IAC1B,WAAW,EAAE,eAAe;IAC5B,cAAc,EAAE,kBAAkB;IAClC,YAAY,EAAE,gBAAgB;IAC9B,QAAQ,EAAE,YAAY;IACtB,aAAa,EAAE,iBAAiB;IAChC,YAAY,EAAE,gBAAgB;CACjC;;ACMM,IAAM,cAAc,GAAG;IAC1B,MAAM,EAAE,IAAI;IACZ,WAAW,EAAE,GAAG;IAChB,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,IAAI;IACjB,cAAc,EAAE,IAAI;IACpB,YAAY,EAAE,IAAI;IAClB,mBAAmB,EAAE;QACjB,YAAY,EAAE,eAAe;QAC7B,cAAc,EAAE,iBAAiB;QACjC,UAAU,EAAE,aAAa;QACzB,WAAW,EAAE,cAAc;KACb;CACrB;;;IC5CG,gBAAY,QAAsB,EAAE,GAAY;;QAE5C,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;QACrB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;;QAGf,IAAI,CAAC,QAAQ,yBACN,cAAc,GACd,IAAI,CAAC,IAAI,CAAC,QAAQ,CACxB,CAAC;QAEF,OAAO,IAAI,CAAC;KACf;IACD,+BAAc,GAAd;QACI,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;YAC5B,WAAW,IAAI,6DAAsD,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,cAAc,CAAC,+CAAyC,CAAC;SACnK;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE;YAC9B,WAAW,IAAI,6DAAsD,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,+CAAyC,CAAC;SACrK;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;YAC1B,WAAW,IAAI,gEAAyD,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,YAAY,CAAC,kDAA4C,CAAC;SACvK;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;YAC3B,WAAW,IAAI,iEAA0D,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,aAAa,CAAC,mDAA6C,CAAC;SAC1K;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;KAC1C;IAED,qBAAI,GAAJ;QAAA,iBAkEC;QAjEG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YACvB,OAAO;SACV;QACD,IAAI,CAAC,cAAc,EAAE,CAAC;;;QAItB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;;QAG3B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAI,QAAQ,CAAC,aAAa,YAAS,EAAE,UAAC,KAAK;YAChD,IAAA,KAAK,GAAK,KAAK,CAAC,MAAM,MAAjB,CAAkB;YAE/B,IAAM,QAAQ,GAAG,KAAI,CAAC,IAAI;iBACrB,YAAY,CAAC,KAAK,CAAC;iBACnB,IAAI,CAAC,gBAAgB,CAAC;iBACtB,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,QAAQ,EAAE;gBACX,IAAM,SAAS,GAAG,KAAI,CAAC,IAAI;qBACtB,YAAY,CAAC,KAAK,CAAC;qBACnB,IAAI,CAAC,YAAY,CAAC;qBAClB,KAAK,EAAE,CAAC;gBAEb,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;;gBAEhC,KAAI,CAAC,IAAI;qBACJ,YAAY,CAAC,KAAI,CAAC,IAAI,CAAC,KAAK,CAAC;qBAC7B,IAAI,CAAC,gBAAgB,CAAC;qBACtB,GAAG,CACA,qBAAqB,EACrB,KAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CACnC,CAAC;aACT;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,KAAK;aACV,IAAI,CAAC,iBAAiB,CAAC;aACvB,KAAK,EAAE;aACP,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEhD,IAAI,CAAC,IAAI,CAAC,KAAK;aACV,IAAI,CAAC,kBAAkB,CAAC;aACxB,KAAK,EAAE;aACP,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEjD,IAAI,CAAC,IAAI,CAAC,KAAK;aACV,IAAI,CAAC,cAAc,CAAC;aACpB,KAAK,EAAE;aACP,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEpD,IAAI,CAAC,IAAI,CAAC,KAAK;aACV,IAAI,CAAC,cAAc,CAAC;aACpB,KAAK,EAAE;aACP,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;;QAGlD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAI,QAAQ,CAAC,WAAW,YAAS,EAAE,UAAC,KAAK;YACtD,IAAI,CAAC,KAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBAC5C,KAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG;oBACxC,MAAM,EAAE,CAAC;oBACT,cAAc,EAAE,CAAC;oBACjB,YAAY,EAAE,CAAC;iBAClB,CAAC;aACL;SACJ,CAAC,CAAC;KACN;IAED,4BAAW,GAAX;QACI,IAAM,MAAM,GAAG,IAAI,CAAC,IAAI;aACnB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;aAC7B,IAAI,CAAC,gBAAgB,CAAC;aACtB,KAAK,EAAE,CAAC;QAEb,MAAM,CAAC,GAAG,CACN,WAAW,EACX,SAAS;YACL,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM;YAC7C,MAAM;YACN,WAAW;YACX,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc;YACrD,IAAI;YACJ,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY;YACnD,MAAM,CACb,CAAC;KACL;IAED,2BAAU,GAAV;QACI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC;QACpD,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,EAAE;YACpC,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM;SACxD,CAAC,CAAC;KACN;IAED,4BAAW,GAAX;QACI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC;QACpD,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,EAAE;YACrC,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM;SACxD,CAAC,CAAC;KACN;IAED,mCAAkB,GAAlB,UAAmB,EAAe;QAC9B,IAAI,CAAC,EAAE,EAAE;YACL,OAAO,CAAC,CAAC;SACZ;QACD,IAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QAChC,IAAM,EAAE,GACJ,EAAE,CAAC,gBAAgB,CAAC,mBAAmB,CAAC;YACxC,EAAE,CAAC,gBAAgB,CAAC,gBAAgB,CAAC;YACrC,EAAE,CAAC,gBAAgB,CAAC,eAAe,CAAC;YACpC,EAAE,CAAC,gBAAgB,CAAC,cAAc,CAAC;YACnC,EAAE,CAAC,gBAAgB,CAAC,WAAW,CAAC;YAChC,MAAM,CAAC;QACX,IAAI,EAAE,KAAK,MAAM,EAAE;YACf,IAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAQ,CAAC;YAChE,IAAI,MAAM,EAAE;gBACR,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CACpB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CACrD,CAAC;gBACF,OAAO,KAAK,GAAG,CAAC,GAAG,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC;aAC1C;SACJ;QACD,OAAO,CAAC,CAAC;KACZ;IAED,+BAAc,GAAd;QACI,IAAM,QAAQ,GAAG,IAAI,CAAC,IAAI;aACrB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;aAC7B,IAAI,CAAC,gBAAgB,CAAC;aACtB,KAAK,EAAE;aACP,GAAG,EAAE,CAAC;QACX,IAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,UAAU,GAAG,gBAAgB,CAAC;QAClC,IAAI,eAAe,KAAK,EAAE,IAAI,eAAe,KAAK,GAAG,EAAE;YACnD,UAAU,GAAG,cAAc,CAAC;SAC/B;QACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,cAAc,EAAE;YACxC,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC;SACrE,CAAC,CAAC;KACN;IAED,6BAAY,GAAZ;QACI,IAAM,QAAQ,GAAG,IAAI,CAAC,IAAI;aACrB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;aAC7B,IAAI,CAAC,gBAAgB,CAAC;aACtB,KAAK,EAAE;aACP,GAAG,EAAE,CAAC;QACX,IAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,UAAU,GAAG,cAAc,CAAC;QAChC,IAAI,eAAe,KAAK,EAAE,IAAI,eAAe,KAAK,GAAG,EAAE;YACnD,UAAU,GAAG,gBAAgB,CAAC;SACjC;QACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAEzD,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,YAAY,EAAE;YACtC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC;SACnE,CAAC,CAAC;KACN;IAED,8BAAa,GAAb,UAAc,KAAa,EAAE,MAAW;QAAxC,iBAIC;QAHG,UAAU,CAAC;YACP,KAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;SACzC,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC;KACtC;IAED,0CAAyB,GAAzB;QACI,IAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3D,IAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC;QAC3D,IAAM,YAAY,GAAG,WAAW,CAAC,cAAc,GAAG,CAAC,CAAC;QACpD,IAAM,YAAY,GAAG,WAAW,CAAC,YAAY,GAAG,CAAC,CAAC;QAClD,OAAO,SAAS,IAAI,YAAY,IAAI,YAAY,CAAC;KACpD;IAED,6BAAY,GAAZ;QACI,IAAI,IAAI,CAAC,yBAAyB,EAAE,EAAE;YAClC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;SAC7D;QACD,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;KAC9B;IAED,wBAAO,GAAP;;QAEI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;KACjC;IACL,aAAC;AAAD,CAAC;;"} \ No newline at end of file diff --git a/assets/lightGallery/plugins/rotate/lg-rotate.min.js b/assets/lightGallery/plugins/rotate/lg-rotate.min.js new file mode 100644 index 0000000..9b3d4a8 --- /dev/null +++ b/assets/lightGallery/plugins/rotate/lg-rotate.min.js @@ -0,0 +1,8 @@ +/** + * lightgallery | 2.9.0 | October 1st 2025 + * http://www.lightgalleryjs.com/ + * Copyright (c) 2020 Sachin Neravath; + * @license GPLv3 + */ + +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).lgRotate=e()}(this,(function(){"use strict";var t=function(){return(t=Object.assign||function(t){for(var e,i=1,o=arguments.length;i\n HTML5 video source = source: {\n src: string;\n type: string;\n }[];\n attributes: HTMLVideoElement;\n *
\n */\n html5Video: VideoSource;\n /**\n * True if video has poster\n */\n hasPoster: boolean;\n}\n\n/**\n * Fired when the image is rotated in anticlockwise direction\n * @name lgRotateLeft\n * @method onRotateLeft\n */\nexport interface RotateLeftDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is rotated in clockwise direction\n * @name lgRotateRight\n * @method onRotateRight\n */\nexport interface RotateRightDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped horizontally\n * @name lgFlipHorizontal\n * @method onFlipHorizontal\n */\nexport interface FlipHorizontalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped vertically\n * @name lgFlipVertical\n * @method onFlipVertical\n */\nexport interface FlipVerticalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n","export interface RotateStrings {\n flipVertical: string;\n flipHorizontal: string;\n rotateLeft: string;\n rotateRight: string;\n}\n\nexport interface RotateSettings {\n /**\n * Enable/Disable rotate option\n */\n rotate: boolean;\n\n /**\n * Rotate speed in milliseconds\n */\n rotateSpeed: number;\n\n /**\n * Enable rotate left.\n */\n rotateLeft: boolean;\n\n /**\n * Enable rotate right.\n */\n rotateRight: boolean;\n\n /**\n * Enable flip horizontal.\n */\n flipHorizontal: boolean;\n\n /**\n * Enable flip vertical.\n */\n flipVertical: boolean;\n\n /**\n * Custom translation strings for aria-labels\n */\n rotatePluginStrings: RotateStrings;\n}\nexport const rotateSettings = {\n rotate: true,\n rotateSpeed: 400,\n rotateLeft: true,\n rotateRight: true,\n flipHorizontal: true,\n flipVertical: true,\n rotatePluginStrings: {\n flipVertical: 'Flip vertical',\n flipHorizontal: 'Flip horizontal',\n rotateLeft: 'Rotate left',\n rotateRight: 'Rotate right',\n } as RotateStrings,\n};\n","import { lGEvents } from '../../lg-events';\nimport { LgQuery } from '../../lgQuery';\nimport { LightGallery } from '../../lightgallery';\nimport { rotateSettings, RotateSettings } from './lg-rotate-settings';\n\nexport default class Rotate {\n core: LightGallery;\n settings: RotateSettings;\n rotateValuesList!: {\n [key: string]: any;\n };\n private $LG!: LgQuery;\n constructor(instance: LightGallery, $LG: LgQuery) {\n // get lightGallery core plugin instance\n this.core = instance;\n this.$LG = $LG;\n\n // extend module default settings with lightGallery core settings\n this.settings = {\n ...rotateSettings,\n ...this.core.settings,\n };\n\n return this;\n }\n buildTemplates(): void {\n let rotateIcons = '';\n if (this.settings.flipVertical) {\n rotateIcons += ``;\n }\n if (this.settings.flipHorizontal) {\n rotateIcons += ``;\n }\n if (this.settings.rotateLeft) {\n rotateIcons += ``;\n }\n if (this.settings.rotateRight) {\n rotateIcons += ``;\n }\n this.core.$toolbar.append(rotateIcons);\n }\n\n init(): void {\n if (!this.settings.rotate) {\n return;\n }\n this.buildTemplates();\n\n // Save rotate config for each item to persist its rotate, flip values\n // even after navigating to diferent slides\n this.rotateValuesList = {};\n\n // event triggered after appending slide content\n this.core.LGel.on(`${lGEvents.slideItemLoad}.rotate`, (event) => {\n const { index } = event.detail;\n\n const rotateEl = this.core\n .getSlideItem(index)\n .find('.lg-img-rotate')\n .get();\n if (!rotateEl) {\n const imageWrap = this.core\n .getSlideItem(index)\n .find('.lg-object')\n .first();\n\n imageWrap.wrap('lg-img-rotate');\n //this.rotateValuesList[this.core.index]\n this.core\n .getSlideItem(this.core.index)\n .find('.lg-img-rotate')\n .css(\n 'transition-duration',\n this.settings.rotateSpeed + 'ms',\n );\n }\n });\n\n this.core.outer\n .find('#lg-rotate-left')\n .first()\n .on('click.lg', this.rotateLeft.bind(this));\n\n this.core.outer\n .find('#lg-rotate-right')\n .first()\n .on('click.lg', this.rotateRight.bind(this));\n\n this.core.outer\n .find('#lg-flip-hor')\n .first()\n .on('click.lg', this.flipHorizontal.bind(this));\n\n this.core.outer\n .find('#lg-flip-ver')\n .first()\n .on('click.lg', this.flipVertical.bind(this));\n\n // Reset rotate on slide change\n this.core.LGel.on(`${lGEvents.beforeSlide}.rotate`, (event) => {\n if (!this.rotateValuesList[event.detail.index]) {\n this.rotateValuesList[event.detail.index] = {\n rotate: 0,\n flipHorizontal: 1,\n flipVertical: 1,\n };\n }\n });\n }\n\n applyStyles(): void {\n const $image = this.core\n .getSlideItem(this.core.index)\n .find('.lg-img-rotate')\n .first();\n\n $image.css(\n 'transform',\n 'rotate(' +\n this.rotateValuesList[this.core.index].rotate +\n 'deg)' +\n ' scale3d(' +\n this.rotateValuesList[this.core.index].flipHorizontal +\n ', ' +\n this.rotateValuesList[this.core.index].flipVertical +\n ', 1)',\n );\n }\n\n rotateLeft(): void {\n this.rotateValuesList[this.core.index].rotate -= 90;\n this.applyStyles();\n this.triggerEvents(lGEvents.rotateLeft, {\n rotate: this.rotateValuesList[this.core.index].rotate,\n });\n }\n\n rotateRight(): void {\n this.rotateValuesList[this.core.index].rotate += 90;\n this.applyStyles();\n this.triggerEvents(lGEvents.rotateRight, {\n rotate: this.rotateValuesList[this.core.index].rotate,\n });\n }\n\n getCurrentRotation(el: HTMLElement): number {\n if (!el) {\n return 0;\n }\n const st = this.$LG(el).style();\n const tm =\n st.getPropertyValue('-webkit-transform') ||\n st.getPropertyValue('-moz-transform') ||\n st.getPropertyValue('-ms-transform') ||\n st.getPropertyValue('-o-transform') ||\n st.getPropertyValue('transform') ||\n 'none';\n if (tm !== 'none') {\n const values = tm.split('(')[1].split(')')[0].split(',') as any;\n if (values) {\n const angle = Math.round(\n Math.atan2(values[1], values[0]) * (180 / Math.PI),\n );\n return angle < 0 ? angle + 360 : angle;\n }\n }\n return 0;\n }\n\n flipHorizontal(): void {\n const rotateEl = this.core\n .getSlideItem(this.core.index)\n .find('.lg-img-rotate')\n .first()\n .get();\n const currentRotation = this.getCurrentRotation(rotateEl);\n let rotateAxis = 'flipHorizontal';\n if (currentRotation === 90 || currentRotation === 270) {\n rotateAxis = 'flipVertical';\n }\n this.rotateValuesList[this.core.index][rotateAxis] *= -1;\n this.applyStyles();\n this.triggerEvents(lGEvents.flipHorizontal, {\n flipHorizontal: this.rotateValuesList[this.core.index][rotateAxis],\n });\n }\n\n flipVertical(): void {\n const rotateEl = this.core\n .getSlideItem(this.core.index)\n .find('.lg-img-rotate')\n .first()\n .get();\n const currentRotation = this.getCurrentRotation(rotateEl);\n let rotateAxis = 'flipVertical';\n if (currentRotation === 90 || currentRotation === 270) {\n rotateAxis = 'flipHorizontal';\n }\n this.rotateValuesList[this.core.index][rotateAxis] *= -1;\n\n this.applyStyles();\n\n this.triggerEvents(lGEvents.flipVertical, {\n flipVertical: this.rotateValuesList[this.core.index][rotateAxis],\n });\n }\n\n triggerEvents(event: string, detail: any): void {\n setTimeout(() => {\n this.core.LGel.trigger(event, detail);\n }, this.settings.rotateSpeed + 10);\n }\n\n isImageOrientationChanged(): boolean {\n const rotateValue = this.rotateValuesList[this.core.index];\n const isRotated = Math.abs(rotateValue.rotate) % 360 !== 0;\n const ifFlippedHor = rotateValue.flipHorizontal < 0;\n const ifFlippedVer = rotateValue.flipVertical < 0;\n return isRotated || ifFlippedHor || ifFlippedVer;\n }\n\n closeGallery(): void {\n if (this.isImageOrientationChanged()) {\n this.core.getSlideItem(this.core.index).css('opacity', 0);\n }\n this.rotateValuesList = {};\n }\n\n destroy(): void {\n // Unbind all events added by lightGallery rotate plugin\n this.core.LGel.off('.lg.rotate');\n this.core.LGel.off('.rotate');\n }\n}\n"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/assets/lightGallery/plugins/rotate/package.json b/assets/lightGallery/plugins/rotate/package.json new file mode 100644 index 0000000..003056f --- /dev/null +++ b/assets/lightGallery/plugins/rotate/package.json @@ -0,0 +1,7 @@ +{ + "name": "lightgallery/plugins/rotate", + "private": true, + "main": "lg-rotate.umd.js", + "module": "lg-rotate.es5.js", + "typings": "lg-rotate.d.ts" +} \ No newline at end of file diff --git a/assets/lightGallery/plugins/share/lg-fb-share-utils.d.ts b/assets/lightGallery/plugins/share/lg-fb-share-utils.d.ts new file mode 100644 index 0000000..0eb2bf4 --- /dev/null +++ b/assets/lightGallery/plugins/share/lg-fb-share-utils.d.ts @@ -0,0 +1,2 @@ +import { GalleryItem } from '../../lg-utils'; +export declare function getFacebookShareLink(galleryItem: GalleryItem): string; diff --git a/assets/lightGallery/plugins/share/lg-pinterest-share-utils.d.ts b/assets/lightGallery/plugins/share/lg-pinterest-share-utils.d.ts new file mode 100644 index 0000000..4233ce4 --- /dev/null +++ b/assets/lightGallery/plugins/share/lg-pinterest-share-utils.d.ts @@ -0,0 +1,2 @@ +import { GalleryItem } from '../../lg-utils'; +export declare function getPinterestShareLink(galleryItem: GalleryItem): string; diff --git a/assets/lightGallery/plugins/share/lg-share-settings.d.ts b/assets/lightGallery/plugins/share/lg-share-settings.d.ts new file mode 100644 index 0000000..85f47e3 --- /dev/null +++ b/assets/lightGallery/plugins/share/lg-share-settings.d.ts @@ -0,0 +1,57 @@ +import { ShareOption } from './types'; +export interface ShareStrings { + share: string; +} +export interface ShareSettings { + /** + * Enable/Disable share options + */ + share: boolean; + /** + * Enable Facebook share. + */ + facebook: boolean; + /** + * Facebook dropdown text. + */ + facebookDropdownText: string; + /** + * Enable twitter share. + */ + twitter: boolean; + /** + * Twitter dropdown text + */ + twitterDropdownText: string; + /** + * Enable pinterest share. + */ + pinterest: boolean; + /** + * Pinterest dropdown text + + */ + pinterestDropdownText: string; + /** + * Array of additional share options + * + * This can be used to build additional share options. + * Demo + */ + additionalShareOptions: ShareOption[]; + /** + * Custom translation strings for aria-labels + */ + sharePluginStrings: ShareStrings; +} +export declare const shareSettings: { + share: boolean; + facebook: boolean; + facebookDropdownText: string; + twitter: boolean; + twitterDropdownText: string; + pinterest: boolean; + pinterestDropdownText: string; + additionalShareOptions: never[]; + sharePluginStrings: ShareStrings; +}; diff --git a/assets/lightGallery/plugins/share/lg-share.d.ts b/assets/lightGallery/plugins/share/lg-share.d.ts new file mode 100644 index 0000000..a91d6ce --- /dev/null +++ b/assets/lightGallery/plugins/share/lg-share.d.ts @@ -0,0 +1,15 @@ +import { ShareSettings } from './lg-share-settings'; +import { LightGallery } from '../../lightgallery'; +export default class Share { + core: LightGallery; + settings: ShareSettings; + private shareOptions; + constructor(instance: LightGallery); + init(): void; + private getShareListHtml; + setLgShareMarkup(): void; + private onAfterSlide; + private getShareListItemHTML; + private getDefaultShareOptions; + destroy(): void; +} diff --git a/assets/lightGallery/plugins/share/lg-share.es5.js b/assets/lightGallery/plugins/share/lg-share.es5.js new file mode 100644 index 0000000..b895745 --- /dev/null +++ b/assets/lightGallery/plugins/share/lg-share.es5.js @@ -0,0 +1,219 @@ +/*! + * lightgallery | 2.9.0 | October 1st 2025 + * http://www.lightgalleryjs.com/ + * Copyright (c) 2020 Sachin Neravath; + * @license GPLv3 + */ + +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */ + +var __assign = function() { + __assign = Object.assign || function __assign(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); +}; + +function __spreadArrays() { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; +} + +var shareSettings = { + share: true, + facebook: true, + facebookDropdownText: 'Facebook', + twitter: true, + twitterDropdownText: 'Twitter', + pinterest: true, + pinterestDropdownText: 'Pinterest', + additionalShareOptions: [], + sharePluginStrings: { share: 'Share' }, +}; + +function getFacebookShareLink(galleryItem) { + var facebookBaseUrl = '//www.facebook.com/sharer/sharer.php?u='; + return (facebookBaseUrl + + encodeURIComponent(galleryItem.facebookShareUrl || window.location.href)); +} + +function getTwitterShareLink(galleryItem) { + var twitterBaseUrl = '//twitter.com/intent/tweet?text='; + var url = encodeURIComponent(galleryItem.twitterShareUrl || window.location.href); + var text = galleryItem.tweetText; + return twitterBaseUrl + text + '&url=' + url; +} + +function getPinterestShareLink(galleryItem) { + var pinterestBaseUrl = 'http://www.pinterest.com/pin/create/button/?url='; + var description = galleryItem.pinterestText; + var media = encodeURIComponent(galleryItem.src); + var url = encodeURIComponent(galleryItem.pinterestShareUrl || window.location.href); + return (pinterestBaseUrl + + url + + '&media=' + + media + + '&description=' + + description); +} + +/** + * List of lightGallery events + * All events should be documented here + * Below interfaces are used to build the website documentations + * */ +var lGEvents = { + afterAppendSlide: 'lgAfterAppendSlide', + init: 'lgInit', + hasVideo: 'lgHasVideo', + containerResize: 'lgContainerResize', + updateSlides: 'lgUpdateSlides', + afterAppendSubHtml: 'lgAfterAppendSubHtml', + beforeOpen: 'lgBeforeOpen', + afterOpen: 'lgAfterOpen', + slideItemLoad: 'lgSlideItemLoad', + beforeSlide: 'lgBeforeSlide', + afterSlide: 'lgAfterSlide', + posterClick: 'lgPosterClick', + dragStart: 'lgDragStart', + dragMove: 'lgDragMove', + dragEnd: 'lgDragEnd', + beforeNextSlide: 'lgBeforeNextSlide', + beforePrevSlide: 'lgBeforePrevSlide', + beforeClose: 'lgBeforeClose', + afterClose: 'lgAfterClose', + rotateLeft: 'lgRotateLeft', + rotateRight: 'lgRotateRight', + flipHorizontal: 'lgFlipHorizontal', + flipVertical: 'lgFlipVertical', + autoplay: 'lgAutoplay', + autoplayStart: 'lgAutoplayStart', + autoplayStop: 'lgAutoplayStop', +}; + +var Share = /** @class */ (function () { + function Share(instance) { + this.shareOptions = []; + // get lightGallery core plugin instance + this.core = instance; + // extend module default settings with lightGallery core settings + this.settings = __assign(__assign({}, shareSettings), this.core.settings); + return this; + } + Share.prototype.init = function () { + if (!this.settings.share) { + return; + } + this.shareOptions = __spreadArrays(this.getDefaultShareOptions(), this.settings.additionalShareOptions); + this.setLgShareMarkup(); + this.core.outer + .find('.lg-share .lg-dropdown') + .append(this.getShareListHtml()); + this.core.LGel.on(lGEvents.afterSlide + ".share", this.onAfterSlide.bind(this)); + }; + Share.prototype.getShareListHtml = function () { + var shareHtml = ''; + this.shareOptions.forEach(function (shareOption) { + shareHtml += shareOption.dropdownHTML; + }); + return shareHtml; + }; + Share.prototype.setLgShareMarkup = function () { + var _this = this; + this.core.$toolbar.append(""); + this.core.outer.append(''); + var $shareButton = this.core.outer.find('.lg-share'); + $shareButton.first().on('click.lg', function () { + _this.core.outer.toggleClass('lg-dropdown-active'); + if (_this.core.outer.hasClass('lg-dropdown-active')) { + _this.core.outer.attr('aria-expanded', true); + } + else { + _this.core.outer.attr('aria-expanded', false); + } + }); + this.core.outer + .find('.lg-dropdown-overlay') + .first() + .on('click.lg', function () { + _this.core.outer.removeClass('lg-dropdown-active'); + _this.core.outer.attr('aria-expanded', false); + }); + }; + Share.prototype.onAfterSlide = function (event) { + var _this = this; + var index = event.detail.index; + var currentItem = this.core.galleryItems[index]; + setTimeout(function () { + _this.shareOptions.forEach(function (shareOption) { + var selector = shareOption.selector; + _this.core.outer + .find(selector) + .attr('href', shareOption.generateLink(currentItem)); + }); + }, 100); + }; + Share.prototype.getShareListItemHTML = function (type, text) { + return "\n HTML5 video source = source: {\n src: string;\n type: string;\n }[];\n attributes: HTMLVideoElement;\n *
\n */\n html5Video: VideoSource;\n /**\n * True if video has poster\n */\n hasPoster: boolean;\n}\n\n/**\n * Fired when the image is rotated in anticlockwise direction\n * @name lgRotateLeft\n * @method onRotateLeft\n */\nexport interface RotateLeftDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is rotated in clockwise direction\n * @name lgRotateRight\n * @method onRotateRight\n */\nexport interface RotateRightDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped horizontally\n * @name lgFlipHorizontal\n * @method onFlipHorizontal\n */\nexport interface FlipHorizontalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped vertically\n * @name lgFlipVertical\n * @method onFlipVertical\n */\nexport interface FlipVerticalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n","import { ShareSettings, shareSettings } from './lg-share-settings';\n\nimport { getFacebookShareLink } from './lg-fb-share-utils';\nimport { getTwitterShareLink } from './lg-twitter-share-utils';\nimport { getPinterestShareLink } from './lg-pinterest-share-utils';\nimport { LightGallery } from '../../lightgallery';\nimport { lGEvents } from '../../lg-events';\nimport { ShareOption } from './types';\n\ninterface DefaultShareOptions extends ShareOption {\n type: string;\n}\nexport default class Share {\n core: LightGallery;\n settings: ShareSettings;\n private shareOptions: ShareOption[] = [];\n constructor(instance: LightGallery) {\n // get lightGallery core plugin instance\n this.core = instance;\n\n // extend module default settings with lightGallery core settings\n this.settings = { ...shareSettings, ...this.core.settings };\n return this;\n }\n\n public init(): void {\n if (!this.settings.share) {\n return;\n }\n this.shareOptions = [\n ...this.getDefaultShareOptions(),\n ...this.settings.additionalShareOptions,\n ];\n this.setLgShareMarkup();\n this.core.outer\n .find('.lg-share .lg-dropdown')\n .append(this.getShareListHtml());\n\n this.core.LGel.on(\n `${lGEvents.afterSlide}.share`,\n this.onAfterSlide.bind(this),\n );\n }\n\n private getShareListHtml() {\n let shareHtml = '';\n this.shareOptions.forEach((shareOption) => {\n shareHtml += shareOption.dropdownHTML;\n });\n\n return shareHtml;\n }\n\n setLgShareMarkup(): void {\n this.core.$toolbar.append(\n ``,\n );\n\n this.core.outer.append('');\n const $shareButton = this.core.outer.find('.lg-share');\n $shareButton.first().on('click.lg', () => {\n this.core.outer.toggleClass('lg-dropdown-active');\n if (this.core.outer.hasClass('lg-dropdown-active')) {\n this.core.outer.attr('aria-expanded', true);\n } else {\n this.core.outer.attr('aria-expanded', false);\n }\n });\n\n this.core.outer\n .find('.lg-dropdown-overlay')\n .first()\n .on('click.lg', () => {\n this.core.outer.removeClass('lg-dropdown-active');\n this.core.outer.attr('aria-expanded', false);\n });\n }\n\n private onAfterSlide(event: CustomEvent) {\n const { index } = event.detail;\n const currentItem = this.core.galleryItems[index];\n setTimeout(() => {\n this.shareOptions.forEach((shareOption) => {\n const selector = shareOption.selector;\n this.core.outer\n .find(selector)\n .attr('href', shareOption.generateLink(currentItem));\n });\n }, 100);\n }\n\n private getShareListItemHTML(type: string, text: string): string {\n return `\n HTML5 video source = source: {\n src: string;\n type: string;\n }[];\n attributes: HTMLVideoElement;\n *
\n */\n html5Video: VideoSource;\n /**\n * True if video has poster\n */\n hasPoster: boolean;\n}\n\n/**\n * Fired when the image is rotated in anticlockwise direction\n * @name lgRotateLeft\n * @method onRotateLeft\n */\nexport interface RotateLeftDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is rotated in clockwise direction\n * @name lgRotateRight\n * @method onRotateRight\n */\nexport interface RotateRightDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped horizontally\n * @name lgFlipHorizontal\n * @method onFlipHorizontal\n */\nexport interface FlipHorizontalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped vertically\n * @name lgFlipVertical\n * @method onFlipVertical\n */\nexport interface FlipVerticalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n","import { ShareSettings, shareSettings } from './lg-share-settings';\n\nimport { getFacebookShareLink } from './lg-fb-share-utils';\nimport { getTwitterShareLink } from './lg-twitter-share-utils';\nimport { getPinterestShareLink } from './lg-pinterest-share-utils';\nimport { LightGallery } from '../../lightgallery';\nimport { lGEvents } from '../../lg-events';\nimport { ShareOption } from './types';\n\ninterface DefaultShareOptions extends ShareOption {\n type: string;\n}\nexport default class Share {\n core: LightGallery;\n settings: ShareSettings;\n private shareOptions: ShareOption[] = [];\n constructor(instance: LightGallery) {\n // get lightGallery core plugin instance\n this.core = instance;\n\n // extend module default settings with lightGallery core settings\n this.settings = { ...shareSettings, ...this.core.settings };\n return this;\n }\n\n public init(): void {\n if (!this.settings.share) {\n return;\n }\n this.shareOptions = [\n ...this.getDefaultShareOptions(),\n ...this.settings.additionalShareOptions,\n ];\n this.setLgShareMarkup();\n this.core.outer\n .find('.lg-share .lg-dropdown')\n .append(this.getShareListHtml());\n\n this.core.LGel.on(\n `${lGEvents.afterSlide}.share`,\n this.onAfterSlide.bind(this),\n );\n }\n\n private getShareListHtml() {\n let shareHtml = '';\n this.shareOptions.forEach((shareOption) => {\n shareHtml += shareOption.dropdownHTML;\n });\n\n return shareHtml;\n }\n\n setLgShareMarkup(): void {\n this.core.$toolbar.append(\n ``,\n );\n\n this.core.outer.append('');\n const $shareButton = this.core.outer.find('.lg-share');\n $shareButton.first().on('click.lg', () => {\n this.core.outer.toggleClass('lg-dropdown-active');\n if (this.core.outer.hasClass('lg-dropdown-active')) {\n this.core.outer.attr('aria-expanded', true);\n } else {\n this.core.outer.attr('aria-expanded', false);\n }\n });\n\n this.core.outer\n .find('.lg-dropdown-overlay')\n .first()\n .on('click.lg', () => {\n this.core.outer.removeClass('lg-dropdown-active');\n this.core.outer.attr('aria-expanded', false);\n });\n }\n\n private onAfterSlide(event: CustomEvent) {\n const { index } = event.detail;\n const currentItem = this.core.galleryItems[index];\n setTimeout(() => {\n this.shareOptions.forEach((shareOption) => {\n const selector = shareOption.selector;\n this.core.outer\n .find(selector)\n .attr('href', shareOption.generateLink(currentItem));\n });\n }, 100);\n }\n\n private getShareListItemHTML(type: string, text: string): string {\n return `\n HTML5 video source = source: {\n src: string;\n type: string;\n }[];\n attributes: HTMLVideoElement;\n *
\n */\n html5Video: VideoSource;\n /**\n * True if video has poster\n */\n hasPoster: boolean;\n}\n\n/**\n * Fired when the image is rotated in anticlockwise direction\n * @name lgRotateLeft\n * @method onRotateLeft\n */\nexport interface RotateLeftDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is rotated in clockwise direction\n * @name lgRotateRight\n * @method onRotateRight\n */\nexport interface RotateRightDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped horizontally\n * @name lgFlipHorizontal\n * @method onFlipHorizontal\n */\nexport interface FlipHorizontalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped vertically\n * @name lgFlipVertical\n * @method onFlipVertical\n */\nexport interface FlipVerticalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n","import {\n ThumbnailsSettings,\n thumbnailsSettings,\n} from './lg-thumbnail-settings';\nimport { LgQuery, lgQuery } from '../../lgQuery';\nimport { LightGallery } from '../../lightgallery';\nimport { GalleryItem } from '../../lg-utils';\nimport { lGEvents } from '../../lg-events';\n\ninterface ThumbDragUtils {\n cords: {\n startX: number;\n endX: number;\n };\n isMoved: boolean;\n newTranslateX: number;\n startTime: Date;\n endTime: Date;\n touchMoveTime: number;\n}\ninterface ThumbnailGalleryItem extends GalleryItem {\n thumb: string;\n}\nexport default class Thumbnail {\n private core: LightGallery;\n private $thumbOuter!: lgQuery;\n private $lgThumb!: lgQuery;\n private thumbOuterWidth = 0;\n private thumbTotalWidth = 0;\n private translateX = 0;\n private thumbClickable = false;\n private settings!: ThumbnailsSettings;\n private $LG!: LgQuery;\n constructor(instance: LightGallery, $LG: LgQuery) {\n // get lightGallery core plugin instance\n this.core = instance;\n this.$LG = $LG;\n\n return this;\n }\n\n init(): void {\n // extend module default settings with lightGallery core settings\n this.settings = {\n ...thumbnailsSettings,\n ...this.core.settings,\n };\n this.thumbOuterWidth = 0;\n this.thumbTotalWidth =\n this.core.galleryItems.length *\n (this.settings.thumbWidth + this.settings.thumbMargin);\n\n // Thumbnail animation value\n this.translateX = 0;\n\n this.setAnimateThumbStyles();\n\n if (!this.core.settings.allowMediaOverlap) {\n this.settings.toggleThumb = false;\n }\n\n if (this.settings.thumbnail) {\n this.build();\n if (this.settings.animateThumb) {\n if (this.settings.enableThumbDrag) {\n this.enableThumbDrag();\n }\n\n if (this.settings.enableThumbSwipe) {\n this.enableThumbSwipe();\n }\n\n this.thumbClickable = false;\n } else {\n this.thumbClickable = true;\n }\n\n this.toggleThumbBar();\n this.thumbKeyPress();\n }\n }\n\n build(): void {\n this.setThumbMarkup();\n this.manageActiveClassOnSlideChange();\n this.$lgThumb.first().on('click.lg touchend.lg', (e: CustomEvent) => {\n const $target = this.$LG(e.target);\n if (!$target.hasAttribute('data-lg-item-id')) {\n return;\n }\n setTimeout(() => {\n // In IE9 and bellow touch does not support\n // Go to slide if browser does not support css transitions\n if (this.thumbClickable && !this.core.lgBusy) {\n const index = parseInt($target.attr('data-lg-item-id'));\n this.core.slide(index, false, true, false);\n }\n }, 50);\n });\n\n this.core.LGel.on(`${lGEvents.beforeSlide}.thumb`, (event) => {\n const { index } = event.detail;\n this.animateThumb(index);\n });\n this.core.LGel.on(`${lGEvents.beforeOpen}.thumb`, () => {\n this.thumbOuterWidth = this.core.outer.get().offsetWidth;\n });\n\n this.core.LGel.on(`${lGEvents.updateSlides}.thumb`, () => {\n this.rebuildThumbnails();\n });\n this.core.LGel.on(`${lGEvents.containerResize}.thumb`, () => {\n if (!this.core.lgOpened) return;\n setTimeout(() => {\n this.thumbOuterWidth = this.core.outer.get().offsetWidth;\n this.animateThumb(this.core.index);\n this.thumbOuterWidth = this.core.outer.get().offsetWidth;\n }, 50);\n });\n }\n\n setThumbMarkup(): void {\n let thumbOuterClassNames = 'lg-thumb-outer ';\n\n if (this.settings.alignThumbnails) {\n thumbOuterClassNames += `lg-thumb-align-${this.settings.alignThumbnails}`;\n }\n\n const html = `\n HTML5 video source = source: {\n src: string;\n type: string;\n }[];\n attributes: HTMLVideoElement;\n *
\n */\n html5Video: VideoSource;\n /**\n * True if video has poster\n */\n hasPoster: boolean;\n}\n\n/**\n * Fired when the image is rotated in anticlockwise direction\n * @name lgRotateLeft\n * @method onRotateLeft\n */\nexport interface RotateLeftDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is rotated in clockwise direction\n * @name lgRotateRight\n * @method onRotateRight\n */\nexport interface RotateRightDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped horizontally\n * @name lgFlipHorizontal\n * @method onFlipHorizontal\n */\nexport interface FlipHorizontalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n\n/**\n * Fired when the image is flipped vertically\n * @name lgFlipVertical\n * @method onFlipVertical\n */\nexport interface FlipVerticalDetail {\n /**\n * Index of the slide\n */\n index: number;\n}\n","import {\n ThumbnailsSettings,\n thumbnailsSettings,\n} from './lg-thumbnail-settings';\nimport { LgQuery, lgQuery } from '../../lgQuery';\nimport { LightGallery } from '../../lightgallery';\nimport { GalleryItem } from '../../lg-utils';\nimport { lGEvents } from '../../lg-events';\n\ninterface ThumbDragUtils {\n cords: {\n startX: number;\n endX: number;\n };\n isMoved: boolean;\n newTranslateX: number;\n startTime: Date;\n endTime: Date;\n touchMoveTime: number;\n}\ninterface ThumbnailGalleryItem extends GalleryItem {\n thumb: string;\n}\nexport default class Thumbnail {\n private core: LightGallery;\n private $thumbOuter!: lgQuery;\n private $lgThumb!: lgQuery;\n private thumbOuterWidth = 0;\n private thumbTotalWidth = 0;\n private translateX = 0;\n private thumbClickable = false;\n private settings!: ThumbnailsSettings;\n private $LG!: LgQuery;\n constructor(instance: LightGallery, $LG: LgQuery) {\n // get lightGallery core plugin instance\n this.core = instance;\n this.$LG = $LG;\n\n return this;\n }\n\n init(): void {\n // extend module default settings with lightGallery core settings\n this.settings = {\n ...thumbnailsSettings,\n ...this.core.settings,\n };\n this.thumbOuterWidth = 0;\n this.thumbTotalWidth =\n this.core.galleryItems.length *\n (this.settings.thumbWidth + this.settings.thumbMargin);\n\n // Thumbnail animation value\n this.translateX = 0;\n\n this.setAnimateThumbStyles();\n\n if (!this.core.settings.allowMediaOverlap) {\n this.settings.toggleThumb = false;\n }\n\n if (this.settings.thumbnail) {\n this.build();\n if (this.settings.animateThumb) {\n if (this.settings.enableThumbDrag) {\n this.enableThumbDrag();\n }\n\n if (this.settings.enableThumbSwipe) {\n this.enableThumbSwipe();\n }\n\n this.thumbClickable = false;\n } else {\n this.thumbClickable = true;\n }\n\n this.toggleThumbBar();\n this.thumbKeyPress();\n }\n }\n\n build(): void {\n this.setThumbMarkup();\n this.manageActiveClassOnSlideChange();\n this.$lgThumb.first().on('click.lg touchend.lg', (e: CustomEvent) => {\n const $target = this.$LG(e.target);\n if (!$target.hasAttribute('data-lg-item-id')) {\n return;\n }\n setTimeout(() => {\n // In IE9 and bellow touch does not support\n // Go to slide if browser does not support css transitions\n if (this.thumbClickable && !this.core.lgBusy) {\n const index = parseInt($target.attr('data-lg-item-id'));\n this.core.slide(index, false, true, false);\n }\n }, 50);\n });\n\n this.core.LGel.on(`${lGEvents.beforeSlide}.thumb`, (event) => {\n const { index } = event.detail;\n this.animateThumb(index);\n });\n this.core.LGel.on(`${lGEvents.beforeOpen}.thumb`, () => {\n this.thumbOuterWidth = this.core.outer.get().offsetWidth;\n });\n\n this.core.LGel.on(`${lGEvents.updateSlides}.thumb`, () => {\n this.rebuildThumbnails();\n });\n this.core.LGel.on(`${lGEvents.containerResize}.thumb`, () => {\n if (!this.core.lgOpened) return;\n setTimeout(() => {\n this.thumbOuterWidth = this.core.outer.get().offsetWidth;\n this.animateThumb(this.core.index);\n this.thumbOuterWidth = this.core.outer.get().offsetWidth;\n }, 50);\n });\n }\n\n setThumbMarkup(): void {\n let thumbOuterClassNames = 'lg-thumb-outer ';\n\n if (this.settings.alignThumbnails) {\n thumbOuterClassNames += `lg-thumb-align-${this.settings.alignThumbnails}`;\n }\n\n const html = `