diff --git a/404.html b/404.html index 673bc7a3..2c32a61c 100644 --- a/404.html +++ b/404.html @@ -6,7 +6,7 @@ - + @@ -448,6 +448,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/blog/7-best-react-image-gallery-libraries/index.html b/blog/7-best-react-image-gallery-libraries/index.html index e1327581..16091865 100644 --- a/blog/7-best-react-image-gallery-libraries/index.html +++ b/blog/7-best-react-image-gallery-libraries/index.html @@ -6,7 +6,7 @@ - + @@ -487,6 +487,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/blog/index.html b/blog/index.html index 5ed7a941..ccb317ce 100644 --- a/blog/index.html +++ b/blog/index.html @@ -6,7 +6,7 @@ - + @@ -274,6 +274,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/blog/top-6-javascript-lightbox-galleries./index.html b/blog/top-6-javascript-lightbox-galleries./index.html index 18d81cea..777bb0cd 100644 --- a/blog/top-6-javascript-lightbox-galleries./index.html +++ b/blog/top-6-javascript-lightbox-galleries./index.html @@ -6,7 +6,7 @@ - + @@ -455,6 +455,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/css/lg-zoom.css b/css/lg-zoom.css index dc9071a8..ab2374e2 100644 --- a/css/lg-zoom.css +++ b/css/lg-zoom.css @@ -69,8 +69,8 @@ content: "\e311"; } .lg-actual-size .lg-icon.lg-zoom-in { - opacity: 0.5; - pointer-events: none; + opacity: 1; + pointer-events: auto; } .lg-icon.lg-actual-size { font-size: 20px; diff --git a/css/lightgallery-bundle.css b/css/lightgallery-bundle.css index 90fbc593..09d44825 100644 --- a/css/lightgallery-bundle.css +++ b/css/lightgallery-bundle.css @@ -280,7 +280,8 @@ } 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-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); @@ -294,7 +295,8 @@ body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable) .lg-v 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-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); @@ -649,8 +651,8 @@ body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable).lg-co content: "\e311"; } .lg-actual-size .lg-icon.lg-zoom-in { - opacity: 0.5; - pointer-events: none; + opacity: 1; + pointer-events: auto; } .lg-icon.lg-actual-size { font-size: 20px; @@ -1301,6 +1303,20 @@ body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable).lg-co 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; diff --git a/css/lightgallery-bundle.css.map b/css/lightgallery-bundle.css.map index 91e3d594..09efb096 100644 --- a/css/lightgallery-bundle.css.map +++ b/css/lightgallery-bundle.css.map @@ -1 +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":"AAAA;EACI;EACA;EAIA;EACA;EACA;;AAGJ;AACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;;;ACvBJ;EACI;;;AAKJ;AAAA;EAEI,kBCGS;EDFT,eCHoB;EDIpB,OCEY;EDDZ;EACA;EACA;EACA;EACA;EACA;EACA;EACA,SC0Cc;EDzCd;EACA;;AAEA;AAAA;EACI;EACA;;AAGJ;AAAA;EACI,OCfc;;ADiBlB;AAAA;EACI;;;AAIR;EACI;;AAEA;EACI;;;AAIR;EACI;;AAEA;EACI;;;AEaJ;EFRA;IACI;;EAGJ;IACI;;EAGJ;IACI;;;AEGJ;EFZA;IACI;;EAGJ;IACI;;EAGJ;IACI;;;AEOJ;EFhBA;IACI;;EAGJ;IACI;;EAGJ;IACI;;;AEWJ;EFpBA;IACI;;EAGJ;IACI;;EAGJ;IACI;;;AEDJ;EFMA;IACI;;EAGJ;IACI;;EAGJ;IACI;;;AEXJ;EFEA;IACI;;EAGJ;IACI;;EAGJ;IACI;;;AEPJ;EFFA;IACI;;EAGJ;IACI;;EAGJ;IACI;;;AEHJ;EFNA;IACI;;EAGJ;IACI;;EAGJ;IACI;;;AAMA;EE9DJ,mBF+D2B;EE9D3B,cF8D2B;EE7D3B,WF6D2B;EACnB;;AAKJ;EErEJ,mBFsE2B;EErE3B,cFqE2B;EEpE3B,WFoE2B;EACnB;;;AAMZ;EACI,SCpCa;EDqCb;EACA;EACA;EACA;;AACA;EACI,kBCtGQ;;ADyGZ;EACI,OC/FQ;EDgGR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EEuGJ,oBFtGI;EEuGJ,eFvGI;EEwGJ,YFxGI;EACA;EACA;EACA;;AACA;EACI;;AAEJ;EACI,OClHU;;ADuHd;EACI;;AAGR;EACI;;AACA;EACI;;AAKJ;EACI;;;AAMZ;EACI,OCzGgB;ED0GhB;EACA;EACA;EACA,SC9Fa;ED+Fb;EEgEA,oBF/DA;EEgEA,eFhEA;EEiEA,YFjEA;;AAEA;EACI;EACA;EACA;;AAGJ;EACI;EACA;;AAEJ;EACI;;AACA;EACI;;AAGR;EACI,kBCvIS;;ADyIb;EACI;EACA;EACA;EACA;;;AAIR;EACI;EACA;;;AAIJ;EACI,OCtLY;EDuLZ;EACA,WCnLmB;EDoLnB;EACA;EACA;EACA;;;AAIA;AAAA;AAAA;AAAA;EAII;EEwFJ;EACA;EACA;EACA,YF1FI;;;AAaQ;AAAA;EAEI;EEbhB,gBFcmC;EEbnC,cFamC;EEZnC,eFYmC;EEXnC,mBFWmC;EEVnC,WFUmC;EACnB;EEsEhB;EACA;EACA;EACA,YFxEgB;;AAMA;AAAA;EAEI;EExBpB,gBFyBuC;EExBvC,cFwBuC;EEvBvC,eFuBuC;EEtBvC,mBFsBuC;EErBvC,WFqBuC;;;AASvC;EACI;EACA;EACA;;;AAKA;EACI;EACA;;;AG1PR;EACI,kBF8CM;EE7CN;EACA;EACA;EACA;;AAGI;ED8SR;EACA;EACA;EACA;EACA;;AC5SQ;EDgTR;EACA;EACA;EACA;EACA;EACA;;AC/SQ;EDoNR,6BCnNY;EDoNZ,qBCpNY;;AAIJ;ED+MR,6BC9MY;ED+MZ,qBC/MY;;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;IDoJR,oBCnJQ;IDoJR,eCpJQ;IDqJR,YCrJQ;;;AAGJ;EAEI,cFxES;;AE2Eb;EACI;EACA;EACA;EACA;;AAKJ;EACI;;AAKJ;EACI;;AAIJ;ED4IJ,oCC1IY;ED2IZ,4BC3IY;;;ACrGZ;EACI;EACA;EACA;EACA;;AACA;EACI;EACA;;AAKJ;EACI;EACA;;AAGR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;;AAIA;EACI;EACA;EFwLR,oBEvLQ;EFwLR,eExLQ;EFyLR,YEzLQ;;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;EFiNA;EACA;EACA;EACA,YEnNA;;AAKI;AAAA;EAEI;;;AAIZ;EACI;EACA;EACA;EACA;EACA;EFqHA,oBEpHA;EFqHA,eErHA;EFsHA,YEtHA;;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EF2FA,oBE1FA;EF2FA,eE3FA;EF4FA,YE5FA;;AACA;EACI;;;AAKJ;EACI;;;AAKJ;EACI;EACA;;;AChJR;EACI,kBJ2BiB;EI1BjB,QJ4BqB;EI3BrB;EACA;EACA;EACA;EACA,SJkDiB;EIjDjB;EACA;EH6RA;EACA;EACA;EACA,YG/RA;;AAEA;EACI,kBJRa;EISb,QJgBiB;EIfjB;;AAIA;EACI;;AAIR;EACI;;;AAKJ;EAII;;AAHA;EACI;;AAIR;EACI,SJZ2B;EIa3B;;;AClCI;AAAA;EJuOR,6BIrOY;EJsOZ,qBItOY;;AAMJ;EACI;EJyRZ;EACA;EACA;EACA,YI3RY;;AAQA;EACI;EJ+QhB;EACA;EACA;EACA,YIjRgB;;AASZ;EJ8HJ;EACA;EAhFA,6BI7CqC;EJ8CrC,0BI9CqC;EJ+CrC,qBI/CqC;;AAGjC;AAAA;EJ8HJ;EACA;EAiIA;EACA;EACA;EACA,YI/PQ;EJsCR,6BIjCqC;EJkCrC,0BIlCqC;EJmCrC,qBInCqC;;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,SL5FuB;EK6FvB;;;ACrHR;EACI;EACA,SN2DO;EM1DP;EACA;;AAGI;EACI;;AAMR;EACI;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;;AAGI;EACI;ELiIZ;EACA;;AK5HQ;EACI;;AAKZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EL+OJ;EACA;EACA;EACA,YKjPI;ELuGJ;EACA;;AKlGI;EACI;EACA;;AAIR;EACI;EACA;EACA;EACA;EACA;ELkJJ,oBKjJI;ELkJJ,eKlJI;ELmJJ,YKnJI;EACA;;AAEA;EAEI;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AC/FJ;EACI;;AAEA;EACI;;;ACFR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EP+MJ,oBO9MI;EP+MJ,eO/MI;EPgNJ,YOhNI;;AAMA;AAAA;EPmNJ,0BOjNkC;EPkNlC,kBOlNkC;EP4LlC,gBO3L2B;EP4L3B,cO5L2B;EP6L3B,eO7L2B;EP8L3B,mBO9L2B;EP+L3B,WO/L2B;EACnB;EACA;;AAEJ;EACI;;AAGR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EPuKJ,gBOtKuB;EPuKvB,cOvKuB;EPwKvB,eOxKuB;EPyKvB,mBOzKuB;EP0KvB,WO1KuB;EACnB;EP0PJ;EACA;EACA;EACA,YO5PI;;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;;;ACjIhB;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ERwMA,gBQvMmB;ERwMnB,cQxMmB;ERyMnB,eQzMmB;ER0MnB,mBQ1MmB;ER2MnB,WQ3MmB;ER4RnB;EACA;EACA;EACA,YQ9RA;;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;ERmKJ,oBQlKI;ERmKJ,eQnKI;ERoKJ,YQpKI;;AACA;EACI;;AAEJ;EACI;;AAIR;EACI;EACA;;AAGJ;EACI;;;AAIJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ERoIJ,oBQnII;ERoIJ,eQpII;ERqIJ,YQrII;;AAMA;EACI;;AAIJ;ERmIJ,0BQlIkC;ERmIlC,kBQnIkC;ER6GlC,gBQ5G2B;ER6G3B,cQ7G2B;ER8G3B,eQ9G2B;ER+G3B,mBQ/G2B;ERgH3B,WQhH2B;EACnB;EACA;;AAEJ;EACI;;AAEJ;ERqGJ,gBQpG2B;ERqG3B,cQrG2B;ERsG3B,eQtG2B;ERuG3B,mBQvG2B;ERwG3B,WQxG2B;;;AC5G3B;EACI;EACA;EACA;EACA;EACA;ETgSJ;EACA;EACA;EACA,YSlSI;;AAMA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAII,SVQuB;EUPvB;;AAIJ;EACI;EACA;EACA;EACA;;;AAKR;EACI;;;AAIJ;EACI;;;AAIJ;EAEI;;;AAIJ;EACI;;;AAIJ;EACI;;;ACvDR;EACI;;;AAGA;EACI;;AAGI;EACI;;AAKJ;EACI;;;ACbR;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;;AAIA;EACI;;;ACbhB;EACI;EACA;EACA;;;AAKJ;EACI;EACA;;AACA;EACI;;;AAGR;EACI;;;AAEJ;EACI;;;AAIJ;AAAA;AAAA;AAAA;AAAA;EAKI;EACA;EZwQA;EACA;EACA;EACA,YY1QA;;;AAOA;AAAA;AAAA;AAAA;EAII;;AAGA;EACI;;AAIJ;EACI;EZ4GR;EACA;;AYzGI;EACI;EZuGR;EACA;;AYpGI;EACI;EZkGR;EACA;;AY9FQ;EACI;EZ4FZ;EACA;;;AYtFJ;EACI;EACA;EACA;EACA;EACA;EACA,SbxBW;EayBX;EACA;EACA;EACA;EACA;EZsIA,oBYpIA;EZqIA,eYrIA;EZsIA,YYtIA;;AAEA;EZQA,oBYPwB;EZQxB,iBYRwB;EZSxB,YYTwB;;AAGxB;EACI;;AAGJ;EACI;;AAMI;EZmIR,6BYhIY;EZiIZ,qBYjIY;EZqIZ,oCYpIgD;EZqIhD,4BYrIgD;;AAQxC;EZuHR,6BYpHY;EZqHZ,qBYrHY;EACA;;AAOR;EZ0LJ;EACA;EACA;EACA;EACA;;AYxLI;EZ4LJ;EACA;EACA;EACA;EACA;EACA;;AY5LA;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EZoEJ,oBYnEI;EZoEJ,eYpEI;EZqEJ,YYrEI;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,SbjJE;;AaqJV;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAKA;AAAA;EAEI;;AAKJ;EACI,SbhNuB;EaiNvB;;AAKJ;EACI;EACA;EACA;;AAMA;EZzFR;EACA;EY0FY;;AAEJ;EACI;EACA;;;AAMhB;EACI;EACA;EACA;EACA;EACA;EACA,SbzMc;Ea0Md,kBbrQa;EasQb;EACA;EZlDA,oBYmDA;EZlDA,eYkDA;EZjDA,YYiDA;;AACA;EACI,SblRW;;;Aa0RX;AAAA;AAAA;EZcJ;EACA;EACA;EACA,YYdQ;;AAKJ;EZhNJ,6BYiNqC;EZhNrC,0BYgNqC;EZ/MrC,qBY+MqC;;AAMjC;EACI;;AAEA;EACI;;AAIJ;EZTR;EACA;EACA;EACA,YYSY;;AAMJ;EZlBR;EACA;EACA;EACA,YYgBY;;AAKJ;EZxBR;EACA;EACA;EACA,YYsBY;;AASJ;EACI;;AAEA;EZ5KZ;EACA;;AY+KY;EZhLZ;EACA;;AYmLY;EZpLZ;EACA;EYqLgB;;AAIJ;EZnDZ;EACA;EACA;EACA,YYmDgB;;;AAUpB;EACI;;AACA;EACI;;AAKA;EZnIJ,6BYoIQ;EZnIR,qBYmIQ;;AAII;EZxIZ,6BYyIgB;EZxIhB,qBYwIgB;EACA;;;AAUhB;AAAA;EAEI;;AAEJ;EACI;;AAEJ;EACI;;AAGA;EACI;;;AAMZ;EZlPI;EACA;EYmPA;EZ7GA;EACA;EACA;EACA,YY2GA;EACA,SbxVgB;EayVhB;EACA;EACA;EACA","file":"lightgallery-bundle.css"} \ No newline at end of file +{"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":"AAAA;EACI;EACA;EAIA;EACA;EACA;;AAGJ;AACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;;;ACvBJ;EACI;;;AAKJ;AAAA;EAEI,kBCGS;EDFT,eCHoB;EDIpB,OCEY;EDDZ;EACA;EACA;EACA;EACA;EACA;EACA;EACA,SC0Cc;EDzCd;EACA;;AAEA;AAAA;EACI;EACA;;AAGJ;AAAA;EACI,OCfc;;ADiBlB;AAAA;EACI;;;AAIR;EACI;;AAEA;EACI;;;AAIR;EACI;;AAEA;EACI;;;AEaJ;EFRA;IACI;;EAGJ;IACI;;EAGJ;IACI;;;AEGJ;EFZA;IACI;;EAGJ;IACI;;EAGJ;IACI;;;AEOJ;EFhBA;IACI;;EAGJ;IACI;;EAGJ;IACI;;;AEWJ;EFpBA;IACI;;EAGJ;IACI;;EAGJ;IACI;;;AEDJ;EFMA;IACI;;EAGJ;IACI;;EAGJ;IACI;;;AEXJ;EFEA;IACI;;EAGJ;IACI;;EAGJ;IACI;;;AEPJ;EFFA;IACI;;EAGJ;IACI;;EAGJ;IACI;;;AEHJ;EFNA;IACI;;EAGJ;IACI;;EAGJ;IACI;;;AAMA;EE9DJ,mBF+D2B;EE9D3B,cF8D2B;EE7D3B,WF6D2B;EACnB;;AAKJ;EErEJ,mBFsE2B;EErE3B,cFqE2B;EEpE3B,WFoE2B;EACnB;;;AAMZ;EACI,SCpCa;EDqCb;EACA;EACA;EACA;;AACA;EACI,kBCtGQ;;ADyGZ;EACI,OC/FQ;EDgGR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EEuGJ,oBFtGI;EEuGJ,eFvGI;EEwGJ,YFxGI;EACA;EACA;EACA;;AACA;EACI;;AAEJ;EACI,OClHU;;ADuHd;EACI;;AAGR;EACI;;AACA;EACI;;AAKJ;EACI;;;AAMZ;EACI,OCzGgB;ED0GhB;EACA;EACA;EACA,SC9Fa;ED+Fb;EEgEA,oBF/DA;EEgEA,eFhEA;EEiEA,YFjEA;;AAEA;EACI;EACA;EACA;;AAGJ;EACI;EACA;;AAEJ;EACI;;AACA;EACI;;AAGR;EACI,kBCvIS;;ADyIb;EACI;EACA;EACA;EACA;;;AAIR;EACI;EACA;;;AAIJ;EACI,OCtLY;EDuLZ;EACA,WCnLmB;EDoLnB;EACA;EACA;EACA;;;AAIA;AAAA;AAAA;AAAA;EAII;EEwFJ;EACA;EACA;EACA,YF1FI;;;AAaQ;AAAA;AAAA;EAGI;EEdhB,gBFemC;EEdnC,cFcmC;EEbnC,eFamC;EEZnC,mBFYmC;EEXnC,WFWmC;EACnB;EEqEhB;EACA;EACA;EACA,YFvEgB;;AAMA;AAAA;AAAA;EAGI;EE1BpB,gBF2BuC;EE1BvC,cF0BuC;EEzBvC,eFyBuC;EExBvC,mBFwBuC;EEvBvC,WFuBuC;;;AASvC;EACI;EACA;EACA;;;AAKA;EACI;EACA;;;AG5PR;EACI,kBF8CM;EE7CN;EACA;EACA;EACA;;AAGI;ED8SR;EACA;EACA;EACA;EACA;;AC5SQ;EDgTR;EACA;EACA;EACA;EACA;EACA;;AC/SQ;EDoNR,6BCnNY;EDoNZ,qBCpNY;;AAIJ;ED+MR,6BC9MY;ED+MZ,qBC/MY;;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;IDoJR,oBCnJQ;IDoJR,eCpJQ;IDqJR,YCrJQ;;;AAGJ;EAEI,cFxES;;AE2Eb;EACI;EACA;EACA;EACA;;AAKJ;EACI;;AAKJ;EACI;;AAIJ;ED4IJ,oCC1IY;ED2IZ,4BC3IY;;;ACrGZ;EACI;EACA;EACA;EACA;;AACA;EACI;EACA;;AAKJ;EACI;EACA;;AAGR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;;AAIA;EACI;EACA;EFwLR,oBEvLQ;EFwLR,eExLQ;EFyLR,YEzLQ;;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;EFiNA;EACA;EACA;EACA,YEnNA;;AAKI;AAAA;EAEI;;;AAIZ;EACI;EACA;EACA;EACA;EACA;EFqHA,oBEpHA;EFqHA,eErHA;EFsHA,YEtHA;;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EF2FA,oBE1FA;EF2FA,eE3FA;EF4FA,YE5FA;;AACA;EACI;;;AAKJ;EACI;;;AAKJ;EACI;EACA;;;AChJR;EACI,kBJ2BiB;EI1BjB,QJ4BqB;EI3BrB;EACA;EACA;EACA;EACA,SJkDiB;EIjDjB;EACA;EH6RA;EACA;EACA;EACA,YG/RA;;AAEA;EACI,kBJRa;EISb,QJgBiB;EIfjB;;AAIA;EACI;;AAIR;EACI;;;AAKJ;EAII;;AAHA;EACI;;AAIR;EACI,SJZ2B;EIa3B;;;AClCI;AAAA;EJuOR,6BIrOY;EJsOZ,qBItOY;;AAMJ;EACI;EJyRZ;EACA;EACA;EACA,YI3RY;;AAQA;EACI;EJ+QhB;EACA;EACA;EACA,YIjRgB;;AASZ;EJ8HJ;EACA;EAhFA,6BI7CqC;EJ8CrC,0BI9CqC;EJ+CrC,qBI/CqC;;AAGjC;AAAA;EJ8HJ;EACA;EAiIA;EACA;EACA;EACA,YI/PQ;EJsCR,6BIjCqC;EJkCrC,0BIlCqC;EJmCrC,qBInCqC;;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,SL5FuB;EK6FvB;;;ACrHR;EACI;EACA,SN2DO;EM1DP;EACA;;AAGI;EACI;;AAMR;EACI;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;;AAGI;EACI;ELiIZ;EACA;;AK5HQ;EACI;;AAKZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EL+OJ;EACA;EACA;EACA,YKjPI;ELuGJ;EACA;;AKlGI;EACI;EACA;;AAIR;EACI;EACA;EACA;EACA;EACA;ELkJJ,oBKjJI;ELkJJ,eKlJI;ELmJJ,YKnJI;EACA;;AAEA;EAEI;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AC/FJ;EACI;;AAEA;EACI;;;ACFR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EP+MJ,oBO9MI;EP+MJ,eO/MI;EPgNJ,YOhNI;;AAMA;AAAA;EPmNJ,0BOjNkC;EPkNlC,kBOlNkC;EP4LlC,gBO3L2B;EP4L3B,cO5L2B;EP6L3B,eO7L2B;EP8L3B,mBO9L2B;EP+L3B,WO/L2B;EACnB;EACA;;AAEJ;EACI;;AAGR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EPuKJ,gBOtKuB;EPuKvB,cOvKuB;EPwKvB,eOxKuB;EPyKvB,mBOzKuB;EP0KvB,WO1KuB;EACnB;EP0PJ;EACA;EACA;EACA,YO5PI;;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;;;ACjIhB;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ERwMA,gBQvMmB;ERwMnB,cQxMmB;ERyMnB,eQzMmB;ER0MnB,mBQ1MmB;ER2MnB,WQ3MmB;ER4RnB;EACA;EACA;EACA,YQ9RA;;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;ERmKJ,oBQlKI;ERmKJ,eQnKI;ERoKJ,YQpKI;;AACA;EACI;;AAEJ;EACI;;AAIR;EACI;EACA;;AAGJ;EACI;;;AAIJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ERoIJ,oBQnII;ERoIJ,eQpII;ERqIJ,YQrII;;AAMA;EACI;;AAIJ;ERmIJ,0BQlIkC;ERmIlC,kBQnIkC;ER6GlC,gBQ5G2B;ER6G3B,cQ7G2B;ER8G3B,eQ9G2B;ER+G3B,mBQ/G2B;ERgH3B,WQhH2B;EACnB;EACA;;AAEJ;EACI;;AAEJ;ERqGJ,gBQpG2B;ERqG3B,cQrG2B;ERsG3B,eQtG2B;ERuG3B,mBQvG2B;ERwG3B,WQxG2B;;;AC5G3B;EACI;EACA;EACA;EACA;EACA;ETgSJ;EACA;EACA;EACA,YSlSI;;AAMA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAII,SVQuB;EUPvB;;AAIJ;EACI;EACA;EACA;EACA;;;AAKR;EACI;;;AAIJ;EACI;;;AAIJ;EAEI;;;AAIJ;EACI;;;AAIJ;EACI;;;ACvDR;EACI;;;AAGA;EACI;;AAGI;EACI;;AAKJ;EACI;;;ACbR;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;;AAIA;EACI;;;ACbhB;EACI;EACA;EACA;;;AAKJ;EACI;EACA;;AACA;EACI;;;AAGR;EACI;;;AAEJ;EACI;;;AAIJ;AAAA;AAAA;AAAA;AAAA;EAKI;EACA;EZwQA;EACA;EACA;EACA,YY1QA;;;AAOA;AAAA;AAAA;AAAA;EAII;;AAGA;EACI;;AAIJ;EACI;EZ4GR;EACA;;AYzGI;EACI;EZuGR;EACA;;AYpGI;EACI;EZkGR;EACA;;AY9FQ;EACI;EZ4FZ;EACA;;;AYtFJ;EACI;EACA;EACA;EACA;EACA;EACA,SbxBW;EayBX;EACA;EACA;EACA;EACA;EZsIA,oBYpIA;EZqIA,eYrIA;EZsIA,YYtIA;;AAEA;EZQA,oBYPwB;EZQxB,iBYRwB;EZSxB,YYTwB;;AAGxB;EACI;;AAGJ;EACI;;AAMI;EZmIR,6BYhIY;EZiIZ,qBYjIY;EZqIZ,oCYpIgD;EZqIhD,4BYrIgD;;AAQxC;EZuHR,6BYpHY;EZqHZ,qBYrHY;EACA;;AAOR;EZ0LJ;EACA;EACA;EACA;EACA;;AYxLI;EZ4LJ;EACA;EACA;EACA;EACA;EACA;;AY5LA;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EZoEJ,oBYnEI;EZoEJ,eYpEI;EZqEJ,YYrEI;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,SbjJE;;AaqJV;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAKA;AAAA;EAEI;;AAKJ;EACI,SbhNuB;EaiNvB;;AAKJ;EACI;EACA;EACA;;AAMA;EZzFR;EACA;EY0FY;;AAEJ;EACI;EACA;;AAKZ;EACI;EACA;EACA;EACA;;AACA;EACI;EACA;;AAKJ;EACI;EACA;;;AAKZ;EACI;EACA;EACA;EACA;EACA;EACA,Sb3Nc;Ea4Nd,kBbvRa;EawRb;EACA;EZpEA,oBYqEA;EZpEA,eYoEA;EZnEA,YYmEA;;AACA;EACI,SbpSW;;;Aa4SX;AAAA;AAAA;EZJJ;EACA;EACA;EACA,YYIQ;;AAKJ;EZlOJ,6BYmOqC;EZlOrC,0BYkOqC;EZjOrC,qBYiOqC;;AAMjC;EACI;;AAEA;EACI;;AAIJ;EZ3BR;EACA;EACA;EACA,YY2BY;;AAMJ;EZpCR;EACA;EACA;EACA,YYkCY;;AAKJ;EZ1CR;EACA;EACA;EACA,YYwCY;;AASJ;EACI;;AAEA;EZ9LZ;EACA;;AYiMY;EZlMZ;EACA;;AYqMY;EZtMZ;EACA;EYuMgB;;AAIJ;EZrEZ;EACA;EACA;EACA,YYqEgB;;;AAUpB;EACI;;AACA;EACI;;AAKA;EZrJJ,6BYsJQ;EZrJR,qBYqJQ;;AAII;EZ1JZ,6BY2JgB;EZ1JhB,qBY0JgB;EACA;;;AAUhB;AAAA;EAEI;;AAEJ;EACI;;AAEJ;EACI;;AAGA;EACI;;;AAMZ;EZpQI;EACA;EYqQA;EZ/HA;EACA;EACA;EACA,YY6HA;EACA,Sb1WgB;Ea2WhB;EACA;EACA;EACA","file":"lightgallery-bundle.css"} \ No newline at end of file diff --git a/css/lightgallery-core.css b/css/lightgallery-core.css index 3fe29a89..42ec381a 100644 --- a/css/lightgallery-core.css +++ b/css/lightgallery-core.css @@ -209,6 +209,20 @@ 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; diff --git a/css/lightgallery-core.css.map b/css/lightgallery-core.css.map index 3ef12cc2..169ba7ec 100644 --- a/css/lightgallery-core.css.map +++ b/css/lightgallery-core.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["../../../src/scss/lightgallery-core.scss","../../../src/scss/_lg-mixins.scss","../../../src/scss/_lg-variables.scss"],"names":[],"mappings":"AAGA;EACI;EACA;EACA;;;AAKJ;EACI;EACA;;AACA;EACI;;;AAGR;EACI;;;AAEJ;EACI;;;AAIJ;AAAA;AAAA;AAAA;AAAA;EAKI;EACA;ECwQA;EACA;EACA;EACA,YD1QA;;;AAOA;AAAA;AAAA;AAAA;EAII;;AAGA;EACI;;AAIJ;EACI;EC4GR;EACA;;ADzGI;EACI;ECuGR;EACA;;ADpGI;EACI;ECkGR;EACA;;AD9FQ;EACI;EC4FZ;EACA;;;ADtFJ;EACI;EACA;EACA;EACA;EACA;EACA,SExBW;EFyBX;EACA;EACA;EACA;EACA;ECsIA,oBDpIA;ECqIA,eDrIA;ECsIA,YDtIA;;AAEA;ECQA,oBDPwB;ECQxB,iBDRwB;ECSxB,YDTwB;;AAGxB;EACI;;AAGJ;EACI;;AAMI;ECmIR,6BDhIY;ECiIZ,qBDjIY;ECqIZ,oCDpIgD;ECqIhD,4BDrIgD;;AAQxC;ECuHR,6BDpHY;ECqHZ,qBDrHY;EACA;;AAOR;EC0LJ;EACA;EACA;EACA;EACA;;ADxLI;EC4LJ;EACA;EACA;EACA;EACA;EACA;;AD5LA;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;ECoEJ,oBDnEI;ECoEJ,eDpEI;ECqEJ,YDrEI;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,SEjJE;;AFqJV;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAKA;AAAA;EAEI;;AAKJ;EACI,SEhNuB;EFiNvB;;AAKJ;EACI;EACA;EACA;;AAMA;ECzFR;EACA;ED0FY;;AAEJ;EACI;EACA;;;AAMhB;EACI;EACA;EACA;EACA;EACA;EACA,SEzMc;EF0Md,kBErQa;EFsQb;EACA;EClDA,oBDmDA;EClDA,eDkDA;ECjDA,YDiDA;;AACA;EACI,SElRW;;;AF0RX;AAAA;AAAA;ECcJ;EACA;EACA;EACA,YDdQ;;AAKJ;EChNJ,6BDiNqC;EChNrC,0BDgNqC;EC/MrC,qBD+MqC;;AAMjC;EACI;;AAEA;EACI;;AAIJ;ECTR;EACA;EACA;EACA,YDSY;;AAMJ;EClBR;EACA;EACA;EACA,YDgBY;;AAKJ;ECxBR;EACA;EACA;EACA,YDsBY;;AASJ;EACI;;AAEA;EC5KZ;EACA;;AD+KY;EChLZ;EACA;;ADmLY;ECpLZ;EACA;EDqLgB;;AAIJ;ECnDZ;EACA;EACA;EACA,YDmDgB;;;AAUpB;EACI;;AACA;EACI;;AAKA;ECnIJ,6BDoIQ;ECnIR,qBDmIQ;;AAII;ECxIZ,6BDyIgB;ECxIhB,qBDwIgB;EACA;;;AAUhB;AAAA;EAEI;;AAEJ;EACI;;AAEJ;EACI;;AAGA;EACI;;;AAMZ;EClPI;EACA;EDmPA;EC7GA;EACA;EACA;EACA,YD2GA;EACA,SExVgB;EFyVhB;EACA;EACA;EACA","file":"lightgallery-core.css"} \ No newline at end of file +{"version":3,"sourceRoot":"","sources":["../../../src/scss/lightgallery-core.scss","../../../src/scss/_lg-mixins.scss","../../../src/scss/_lg-variables.scss"],"names":[],"mappings":"AAGA;EACI;EACA;EACA;;;AAKJ;EACI;EACA;;AACA;EACI;;;AAGR;EACI;;;AAEJ;EACI;;;AAIJ;AAAA;AAAA;AAAA;AAAA;EAKI;EACA;ECwQA;EACA;EACA;EACA,YD1QA;;;AAOA;AAAA;AAAA;AAAA;EAII;;AAGA;EACI;;AAIJ;EACI;EC4GR;EACA;;ADzGI;EACI;ECuGR;EACA;;ADpGI;EACI;ECkGR;EACA;;AD9FQ;EACI;EC4FZ;EACA;;;ADtFJ;EACI;EACA;EACA;EACA;EACA;EACA,SExBW;EFyBX;EACA;EACA;EACA;EACA;ECsIA,oBDpIA;ECqIA,eDrIA;ECsIA,YDtIA;;AAEA;ECQA,oBDPwB;ECQxB,iBDRwB;ECSxB,YDTwB;;AAGxB;EACI;;AAGJ;EACI;;AAMI;ECmIR,6BDhIY;ECiIZ,qBDjIY;ECqIZ,oCDpIgD;ECqIhD,4BDrIgD;;AAQxC;ECuHR,6BDpHY;ECqHZ,qBDrHY;EACA;;AAOR;EC0LJ;EACA;EACA;EACA;EACA;;ADxLI;EC4LJ;EACA;EACA;EACA;EACA;EACA;;AD5LA;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;ECoEJ,oBDnEI;ECoEJ,eDpEI;ECqEJ,YDrEI;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,SEjJE;;AFqJV;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAKA;AAAA;EAEI;;AAKJ;EACI,SEhNuB;EFiNvB;;AAKJ;EACI;EACA;EACA;;AAMA;ECzFR;EACA;ED0FY;;AAEJ;EACI;EACA;;AAKZ;EACI;EACA;EACA;EACA;;AACA;EACI;EACA;;AAKJ;EACI;EACA;;;AAKZ;EACI;EACA;EACA;EACA;EACA;EACA,SE3Nc;EF4Nd,kBEvRa;EFwRb;EACA;ECpEA,oBDqEA;ECpEA,eDoEA;ECnEA,YDmEA;;AACA;EACI,SEpSW;;;AF4SX;AAAA;AAAA;ECJJ;EACA;EACA;EACA,YDIQ;;AAKJ;EClOJ,6BDmOqC;EClOrC,0BDkOqC;ECjOrC,qBDiOqC;;AAMjC;EACI;;AAEA;EACI;;AAIJ;EC3BR;EACA;EACA;EACA,YD2BY;;AAMJ;ECpCR;EACA;EACA;EACA,YDkCY;;AAKJ;EC1CR;EACA;EACA;EACA,YDwCY;;AASJ;EACI;;AAEA;EC9LZ;EACA;;ADiMY;EClMZ;EACA;;ADqMY;ECtMZ;EACA;EDuMgB;;AAIJ;ECrEZ;EACA;EACA;EACA,YDqEgB;;;AAUpB;EACI;;AACA;EACI;;AAKA;ECrJJ,6BDsJQ;ECrJR,qBDqJQ;;AAII;EC1JZ,6BD2JgB;EC1JhB,qBD0JgB;EACA;;;AAUhB;AAAA;EAEI;;AAEJ;EACI;;AAEJ;EACI;;AAGA;EACI;;;AAMZ;ECpQI;EACA;EDqQA;EC/HA;EACA;EACA;EACA,YD6HA;EACA,SE1WgB;EF2WhB;EACA;EACA;EACA","file":"lightgallery-core.css"} \ No newline at end of file diff --git a/css/lightgallery.css b/css/lightgallery.css index cdd50356..d804d196 100644 --- a/css/lightgallery.css +++ b/css/lightgallery.css @@ -280,7 +280,8 @@ } 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-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); @@ -294,7 +295,8 @@ body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable) .lg-v 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-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); @@ -525,6 +527,20 @@ body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable).lg-co 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; diff --git a/css/lightgallery.css.map b/css/lightgallery.css.map index 58168e26..cf9419b3 100644 --- a/css/lightgallery.css.map +++ b/css/lightgallery.css.map @@ -1 +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":"AAAA;EACI;EACA;EAIA;EACA;EACA;;AAGJ;AACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;;;ACvBJ;EACI;;;AAKJ;AAAA;EAEI,kBCGS;EDFT,eCHoB;EDIpB,OCEY;EDDZ;EACA;EACA;EACA;EACA;EACA;EACA;EACA,SC0Cc;EDzCd;EACA;;AAEA;AAAA;EACI;EACA;;AAGJ;AAAA;EACI,OCfc;;ADiBlB;AAAA;EACI;;;AAIR;EACI;;AAEA;EACI;;;AAIR;EACI;;AAEA;EACI;;;AEaJ;EFRA;IACI;;EAGJ;IACI;;EAGJ;IACI;;;AEGJ;EFZA;IACI;;EAGJ;IACI;;EAGJ;IACI;;;AEOJ;EFhBA;IACI;;EAGJ;IACI;;EAGJ;IACI;;;AEWJ;EFpBA;IACI;;EAGJ;IACI;;EAGJ;IACI;;;AEDJ;EFMA;IACI;;EAGJ;IACI;;EAGJ;IACI;;;AEXJ;EFEA;IACI;;EAGJ;IACI;;EAGJ;IACI;;;AEPJ;EFFA;IACI;;EAGJ;IACI;;EAGJ;IACI;;;AEHJ;EFNA;IACI;;EAGJ;IACI;;EAGJ;IACI;;;AAMA;EE9DJ,mBF+D2B;EE9D3B,cF8D2B;EE7D3B,WF6D2B;EACnB;;AAKJ;EErEJ,mBFsE2B;EErE3B,cFqE2B;EEpE3B,WFoE2B;EACnB;;;AAMZ;EACI,SCpCa;EDqCb;EACA;EACA;EACA;;AACA;EACI,kBCtGQ;;ADyGZ;EACI,OC/FQ;EDgGR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EEuGJ,oBFtGI;EEuGJ,eFvGI;EEwGJ,YFxGI;EACA;EACA;EACA;;AACA;EACI;;AAEJ;EACI,OClHU;;ADuHd;EACI;;AAGR;EACI;;AACA;EACI;;AAKJ;EACI;;;AAMZ;EACI,OCzGgB;ED0GhB;EACA;EACA;EACA,SC9Fa;ED+Fb;EEgEA,oBF/DA;EEgEA,eFhEA;EEiEA,YFjEA;;AAEA;EACI;EACA;EACA;;AAGJ;EACI;EACA;;AAEJ;EACI;;AACA;EACI;;AAGR;EACI,kBCvIS;;ADyIb;EACI;EACA;EACA;EACA;;;AAIR;EACI;EACA;;;AAIJ;EACI,OCtLY;EDuLZ;EACA,WCnLmB;EDoLnB;EACA;EACA;EACA;;;AAIA;AAAA;AAAA;AAAA;EAII;EEwFJ;EACA;EACA;EACA,YF1FI;;;AAaQ;AAAA;EAEI;EEbhB,gBFcmC;EEbnC,cFamC;EEZnC,eFYmC;EEXnC,mBFWmC;EEVnC,WFUmC;EACnB;EEsEhB;EACA;EACA;EACA,YFxEgB;;AAMA;AAAA;EAEI;EExBpB,gBFyBuC;EExBvC,cFwBuC;EEvBvC,eFuBuC;EEtBvC,mBFsBuC;EErBvC,WFqBuC;;;AASvC;EACI;EACA;EACA;;;AAKA;EACI;EACA;;;AG5PZ;EACI;EACA;EACA;;;AAKJ;EACI;EACA;;AACA;EACI;;;AAGR;EACI;;;AAEJ;EACI;;;AAIJ;AAAA;AAAA;AAAA;AAAA;EAKI;EACA;EDwQA;EACA;EACA;EACA,YC1QA;;;AAOA;AAAA;AAAA;AAAA;EAII;;AAGA;EACI;;AAIJ;EACI;ED4GR;EACA;;ACzGI;EACI;EDuGR;EACA;;ACpGI;EACI;EDkGR;EACA;;AC9FQ;EACI;ED4FZ;EACA;;;ACtFJ;EACI;EACA;EACA;EACA;EACA;EACA,SFxBW;EEyBX;EACA;EACA;EACA;EACA;EDsIA,oBCpIA;EDqIA,eCrIA;EDsIA,YCtIA;;AAEA;EDQA,oBCPwB;EDQxB,iBCRwB;EDSxB,YCTwB;;AAGxB;EACI;;AAGJ;EACI;;AAMI;EDmIR,6BChIY;EDiIZ,qBCjIY;EDqIZ,oCCpIgD;EDqIhD,4BCrIgD;;AAQxC;EDuHR,6BCpHY;EDqHZ,qBCrHY;EACA;;AAOR;ED0LJ;EACA;EACA;EACA;EACA;;ACxLI;ED4LJ;EACA;EACA;EACA;EACA;EACA;;AC5LA;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EDoEJ,oBCnEI;EDoEJ,eCpEI;EDqEJ,YCrEI;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,SFjJE;;AEqJV;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAKA;AAAA;EAEI;;AAKJ;EACI,SFhNuB;EEiNvB;;AAKJ;EACI;EACA;EACA;;AAMA;EDzFR;EACA;EC0FY;;AAEJ;EACI;EACA;;;AAMhB;EACI;EACA;EACA;EACA;EACA;EACA,SFzMc;EE0Md,kBFrQa;EEsQb;EACA;EDlDA,oBCmDA;EDlDA,eCkDA;EDjDA,YCiDA;;AACA;EACI,SFlRW;;;AE0RX;AAAA;AAAA;EDcJ;EACA;EACA;EACA,YCdQ;;AAKJ;EDhNJ,6BCiNqC;EDhNrC,0BCgNqC;ED/MrC,qBC+MqC;;AAMjC;EACI;;AAEA;EACI;;AAIJ;EDTR;EACA;EACA;EACA,YCSY;;AAMJ;EDlBR;EACA;EACA;EACA,YCgBY;;AAKJ;EDxBR;EACA;EACA;EACA,YCsBY;;AASJ;EACI;;AAEA;ED5KZ;EACA;;AC+KY;EDhLZ;EACA;;ACmLY;EDpLZ;EACA;ECqLgB;;AAIJ;EDnDZ;EACA;EACA;EACA,YCmDgB;;;AAUpB;EACI;;AACA;EACI;;AAKA;EDnIJ,6BCoIQ;EDnIR,qBCmIQ;;AAII;EDxIZ,6BCyIgB;EDxIhB,qBCwIgB;EACA;;;AAUhB;AAAA;EAEI;;AAEJ;EACI;;AAEJ;EACI;;AAGA;EACI;;;AAMZ;EDlPI;EACA;ECmPA;ED7GA;EACA;EACA;EACA,YC2GA;EACA,SFxVgB;EEyVhB;EACA;EACA;EACA","file":"lightgallery.css"} \ No newline at end of file +{"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":"AAAA;EACI;EACA;EAIA;EACA;EACA;;AAGJ;AACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;;;ACvBJ;EACI;;;AAKJ;AAAA;EAEI,kBCGS;EDFT,eCHoB;EDIpB,OCEY;EDDZ;EACA;EACA;EACA;EACA;EACA;EACA;EACA,SC0Cc;EDzCd;EACA;;AAEA;AAAA;EACI;EACA;;AAGJ;AAAA;EACI,OCfc;;ADiBlB;AAAA;EACI;;;AAIR;EACI;;AAEA;EACI;;;AAIR;EACI;;AAEA;EACI;;;AEaJ;EFRA;IACI;;EAGJ;IACI;;EAGJ;IACI;;;AEGJ;EFZA;IACI;;EAGJ;IACI;;EAGJ;IACI;;;AEOJ;EFhBA;IACI;;EAGJ;IACI;;EAGJ;IACI;;;AEWJ;EFpBA;IACI;;EAGJ;IACI;;EAGJ;IACI;;;AEDJ;EFMA;IACI;;EAGJ;IACI;;EAGJ;IACI;;;AEXJ;EFEA;IACI;;EAGJ;IACI;;EAGJ;IACI;;;AEPJ;EFFA;IACI;;EAGJ;IACI;;EAGJ;IACI;;;AEHJ;EFNA;IACI;;EAGJ;IACI;;EAGJ;IACI;;;AAMA;EE9DJ,mBF+D2B;EE9D3B,cF8D2B;EE7D3B,WF6D2B;EACnB;;AAKJ;EErEJ,mBFsE2B;EErE3B,cFqE2B;EEpE3B,WFoE2B;EACnB;;;AAMZ;EACI,SCpCa;EDqCb;EACA;EACA;EACA;;AACA;EACI,kBCtGQ;;ADyGZ;EACI,OC/FQ;EDgGR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EEuGJ,oBFtGI;EEuGJ,eFvGI;EEwGJ,YFxGI;EACA;EACA;EACA;;AACA;EACI;;AAEJ;EACI,OClHU;;ADuHd;EACI;;AAGR;EACI;;AACA;EACI;;AAKJ;EACI;;;AAMZ;EACI,OCzGgB;ED0GhB;EACA;EACA;EACA,SC9Fa;ED+Fb;EEgEA,oBF/DA;EEgEA,eFhEA;EEiEA,YFjEA;;AAEA;EACI;EACA;EACA;;AAGJ;EACI;EACA;;AAEJ;EACI;;AACA;EACI;;AAGR;EACI,kBCvIS;;ADyIb;EACI;EACA;EACA;EACA;;;AAIR;EACI;EACA;;;AAIJ;EACI,OCtLY;EDuLZ;EACA,WCnLmB;EDoLnB;EACA;EACA;EACA;;;AAIA;AAAA;AAAA;AAAA;EAII;EEwFJ;EACA;EACA;EACA,YF1FI;;;AAaQ;AAAA;AAAA;EAGI;EEdhB,gBFemC;EEdnC,cFcmC;EEbnC,eFamC;EEZnC,mBFYmC;EEXnC,WFWmC;EACnB;EEqEhB;EACA;EACA;EACA,YFvEgB;;AAMA;AAAA;AAAA;EAGI;EE1BpB,gBF2BuC;EE1BvC,cF0BuC;EEzBvC,eFyBuC;EExBvC,mBFwBuC;EEvBvC,WFuBuC;;;AASvC;EACI;EACA;EACA;;;AAKA;EACI;EACA;;;AG9PZ;EACI;EACA;EACA;;;AAKJ;EACI;EACA;;AACA;EACI;;;AAGR;EACI;;;AAEJ;EACI;;;AAIJ;AAAA;AAAA;AAAA;AAAA;EAKI;EACA;EDwQA;EACA;EACA;EACA,YC1QA;;;AAOA;AAAA;AAAA;AAAA;EAII;;AAGA;EACI;;AAIJ;EACI;ED4GR;EACA;;ACzGI;EACI;EDuGR;EACA;;ACpGI;EACI;EDkGR;EACA;;AC9FQ;EACI;ED4FZ;EACA;;;ACtFJ;EACI;EACA;EACA;EACA;EACA;EACA,SFxBW;EEyBX;EACA;EACA;EACA;EACA;EDsIA,oBCpIA;EDqIA,eCrIA;EDsIA,YCtIA;;AAEA;EDQA,oBCPwB;EDQxB,iBCRwB;EDSxB,YCTwB;;AAGxB;EACI;;AAGJ;EACI;;AAMI;EDmIR,6BChIY;EDiIZ,qBCjIY;EDqIZ,oCCpIgD;EDqIhD,4BCrIgD;;AAQxC;EDuHR,6BCpHY;EDqHZ,qBCrHY;EACA;;AAOR;ED0LJ;EACA;EACA;EACA;EACA;;ACxLI;ED4LJ;EACA;EACA;EACA;EACA;EACA;;AC5LA;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EDoEJ,oBCnEI;EDoEJ,eCpEI;EDqEJ,YCrEI;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,SFjJE;;AEqJV;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAKA;AAAA;EAEI;;AAKJ;EACI,SFhNuB;EEiNvB;;AAKJ;EACI;EACA;EACA;;AAMA;EDzFR;EACA;EC0FY;;AAEJ;EACI;EACA;;AAKZ;EACI;EACA;EACA;EACA;;AACA;EACI;EACA;;AAKJ;EACI;EACA;;;AAKZ;EACI;EACA;EACA;EACA;EACA;EACA,SF3Nc;EE4Nd,kBFvRa;EEwRb;EACA;EDpEA,oBCqEA;EDpEA,eCoEA;EDnEA,YCmEA;;AACA;EACI,SFpSW;;;AE4SX;AAAA;AAAA;EDJJ;EACA;EACA;EACA,YCIQ;;AAKJ;EDlOJ,6BCmOqC;EDlOrC,0BCkOqC;EDjOrC,qBCiOqC;;AAMjC;EACI;;AAEA;EACI;;AAIJ;ED3BR;EACA;EACA;EACA,YC2BY;;AAMJ;EDpCR;EACA;EACA;EACA,YCkCY;;AAKJ;ED1CR;EACA;EACA;EACA,YCwCY;;AASJ;EACI;;AAEA;ED9LZ;EACA;;ACiMY;EDlMZ;EACA;;ACqMY;EDtMZ;EACA;ECuMgB;;AAIJ;EDrEZ;EACA;EACA;EACA,YCqEgB;;;AAUpB;EACI;;AACA;EACI;;AAKA;EDrJJ,6BCsJQ;EDrJR,qBCqJQ;;AAII;ED1JZ,6BC2JgB;ED1JhB,qBC0JgB;EACA;;;AAUhB;AAAA;EAEI;;AAEJ;EACI;;AAEJ;EACI;;AAGA;EACI;;;AAMZ;EDpQI;EACA;ECqQA;ED/HA;EACA;EACA;EACA,YC6HA;EACA,SF1WgB;EE2WhB;EACA;EACA;EACA","file":"lightgallery.css"} \ No newline at end of file diff --git a/demos/bootstrap-image-carousel/index.html b/demos/bootstrap-image-carousel/index.html index a5cefc55..e5525ae4 100644 --- a/demos/bootstrap-image-carousel/index.html +++ b/demos/bootstrap-image-carousel/index.html @@ -6,7 +6,7 @@ - + @@ -364,6 +364,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/demos/bootstrap-image-gallery/index.html b/demos/bootstrap-image-gallery/index.html index bf7afcfd..82b8b0c6 100644 --- a/demos/bootstrap-image-gallery/index.html +++ b/demos/bootstrap-image-gallery/index.html @@ -6,7 +6,7 @@ - + @@ -332,6 +332,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/demos/bootstrap-video-carousel/index.html b/demos/bootstrap-video-carousel/index.html index 1c47c14d..5bde1be6 100644 --- a/demos/bootstrap-video-carousel/index.html +++ b/demos/bootstrap-video-carousel/index.html @@ -6,7 +6,7 @@ - + @@ -405,6 +405,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/demos/bootstrap-video-gallery/index.html b/demos/bootstrap-video-gallery/index.html index 8bdff134..7e332fbd 100644 --- a/demos/bootstrap-video-gallery/index.html +++ b/demos/bootstrap-video-gallery/index.html @@ -6,7 +6,7 @@ - + @@ -320,6 +320,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/demos/captions/index.html b/demos/captions/index.html index c9ec44eb..546c469c 100644 --- a/demos/captions/index.html +++ b/demos/captions/index.html @@ -6,7 +6,7 @@ - + @@ -476,6 +476,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/demos/carousel-gallery/index.html b/demos/carousel-gallery/index.html index cc41c703..3da692b8 100644 --- a/demos/carousel-gallery/index.html +++ b/demos/carousel-gallery/index.html @@ -6,7 +6,7 @@ - + @@ -335,6 +335,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/demos/comment-box/index.html b/demos/comment-box/index.html index 45ce57f1..30609c4e 100644 --- a/demos/comment-box/index.html +++ b/demos/comment-box/index.html @@ -6,7 +6,7 @@ - + @@ -396,6 +396,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/demos/custom-easing/index.html b/demos/custom-easing/index.html index 6ded7278..80ac726f 100644 --- a/demos/custom-easing/index.html +++ b/demos/custom-easing/index.html @@ -6,7 +6,7 @@ - + @@ -306,6 +306,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/demos/dynamic-mode/index.html b/demos/dynamic-mode/index.html index c8c99b2d..21f76621 100644 --- a/demos/dynamic-mode/index.html +++ b/demos/dynamic-mode/index.html @@ -6,7 +6,7 @@ - + @@ -385,6 +385,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/demos/events/index.html b/demos/events/index.html index 09e59986..d39ad5f6 100644 --- a/demos/events/index.html +++ b/demos/events/index.html @@ -6,7 +6,7 @@ - + @@ -314,6 +314,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/demos/flickity-demo/index.html b/demos/flickity-demo/index.html index 1028f77f..3710aad4 100644 --- a/demos/flickity-demo/index.html +++ b/demos/flickity-demo/index.html @@ -6,7 +6,7 @@ - + @@ -353,6 +353,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/demos/hash/index.html b/demos/hash/index.html index 7ffd6147..f6e85135 100644 --- a/demos/hash/index.html +++ b/demos/hash/index.html @@ -6,7 +6,7 @@ - + @@ -347,6 +347,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/demos/html-markup/index.html b/demos/html-markup/index.html index 4c9b17e8..db70a52a 100644 --- a/demos/html-markup/index.html +++ b/demos/html-markup/index.html @@ -6,7 +6,7 @@ - + @@ -316,6 +316,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/demos/iframe/index.html b/demos/iframe/index.html index e11fa75a..925092a1 100644 --- a/demos/iframe/index.html +++ b/demos/iframe/index.html @@ -6,7 +6,7 @@ - + @@ -310,6 +310,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/demos/index.html b/demos/index.html index d59af2c2..60eff2dc 100644 --- a/demos/index.html +++ b/demos/index.html @@ -6,7 +6,7 @@ - + @@ -379,6 +379,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/demos/infinite-scrolling/index.html b/demos/infinite-scrolling/index.html index b088267f..35618055 100644 --- a/demos/infinite-scrolling/index.html +++ b/demos/infinite-scrolling/index.html @@ -6,7 +6,7 @@ - + @@ -351,6 +351,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/demos/medium-zoom/index.html b/demos/medium-zoom/index.html index c41519c0..ab4fc0bf 100644 --- a/demos/medium-zoom/index.html +++ b/demos/medium-zoom/index.html @@ -6,7 +6,7 @@ - + @@ -384,6 +384,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/demos/methods/index.html b/demos/methods/index.html index f1cb7c59..3b64758d 100644 --- a/demos/methods/index.html +++ b/demos/methods/index.html @@ -6,7 +6,7 @@ - + @@ -341,6 +341,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/demos/mixed-contents/index.html b/demos/mixed-contents/index.html index f5c85e3d..6281b50e 100644 --- a/demos/mixed-contents/index.html +++ b/demos/mixed-contents/index.html @@ -6,7 +6,7 @@ - + @@ -365,6 +365,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/demos/owl-carousel-with-lightbox/index.html b/demos/owl-carousel-with-lightbox/index.html index cc28dd3d..269a822e 100644 --- a/demos/owl-carousel-with-lightbox/index.html +++ b/demos/owl-carousel-with-lightbox/index.html @@ -6,7 +6,7 @@ - + @@ -360,6 +360,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/demos/react-carousel/index.html b/demos/react-carousel/index.html index bbf616b2..274aa04d 100644 --- a/demos/react-carousel/index.html +++ b/demos/react-carousel/index.html @@ -6,7 +6,7 @@ - + @@ -333,6 +333,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/demos/react-image-gallery/index.html b/demos/react-image-gallery/index.html index 4ff87ec2..5718c7b9 100644 --- a/demos/react-image-gallery/index.html +++ b/demos/react-image-gallery/index.html @@ -6,7 +6,7 @@ - + @@ -353,6 +353,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/demos/react-video-carousel/index.html b/demos/react-video-carousel/index.html index e1780bd5..02e27e1b 100644 --- a/demos/react-video-carousel/index.html +++ b/demos/react-video-carousel/index.html @@ -6,7 +6,7 @@ - + @@ -350,6 +350,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/demos/react-video-gallery/index.html b/demos/react-video-gallery/index.html index f496ad6e..04bf4678 100644 --- a/demos/react-video-gallery/index.html +++ b/demos/react-video-gallery/index.html @@ -6,7 +6,7 @@ - + @@ -373,6 +373,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/demos/responsive/index.html b/demos/responsive/index.html index 32282c59..3925e458 100644 --- a/demos/responsive/index.html +++ b/demos/responsive/index.html @@ -6,7 +6,7 @@ - + @@ -439,6 +439,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/demos/share/index.html b/demos/share/index.html index 56e87f1c..7c2036e5 100644 --- a/demos/share/index.html +++ b/demos/share/index.html @@ -6,7 +6,7 @@ - + @@ -414,6 +414,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/demos/slick-carousel-demo/index.html b/demos/slick-carousel-demo/index.html index dac38250..568c04c3 100644 --- a/demos/slick-carousel-demo/index.html +++ b/demos/slick-carousel-demo/index.html @@ -6,7 +6,7 @@ - + @@ -368,6 +368,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/demos/swiper/index.html b/demos/swiper/index.html index 0667f0ac..b791aa7e 100644 --- a/demos/swiper/index.html +++ b/demos/swiper/index.html @@ -6,7 +6,7 @@ - + @@ -354,6 +354,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/demos/thumbnails/index.html b/demos/thumbnails/index.html index 1d7ed1b0..1f86e2b5 100644 --- a/demos/thumbnails/index.html +++ b/demos/thumbnails/index.html @@ -6,7 +6,7 @@ - + @@ -630,6 +630,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/demos/transitions/index.html b/demos/transitions/index.html index bb6488b4..94a724c5 100644 --- a/demos/transitions/index.html +++ b/demos/transitions/index.html @@ -6,7 +6,7 @@ - + @@ -362,6 +362,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/demos/update-slides/index.html b/demos/update-slides/index.html index 78022c53..646c4a5c 100644 --- a/demos/update-slides/index.html +++ b/demos/update-slides/index.html @@ -6,7 +6,7 @@ - + @@ -385,6 +385,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/demos/video-carousel/index.html b/demos/video-carousel/index.html index 65ed6fc3..aeab9aa9 100644 --- a/demos/video-carousel/index.html +++ b/demos/video-carousel/index.html @@ -6,7 +6,7 @@ - + @@ -338,6 +338,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/demos/video-gallery/index.html b/demos/video-gallery/index.html index 999933e3..24a02246 100644 --- a/demos/video-gallery/index.html +++ b/demos/video-gallery/index.html @@ -6,7 +6,7 @@ - + @@ -490,6 +490,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/demos/zoom-from-origin/index.html b/demos/zoom-from-origin/index.html index aa790f6c..a45b25ed 100644 --- a/demos/zoom-from-origin/index.html +++ b/demos/zoom-from-origin/index.html @@ -6,7 +6,7 @@ - + @@ -355,6 +355,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/docs/angular-image-video-gallery/index.html b/docs/angular-image-video-gallery/index.html index 36a03a1f..e47b8d85 100644 --- a/docs/angular-image-video-gallery/index.html +++ b/docs/angular-image-video-gallery/index.html @@ -6,7 +6,7 @@ - + @@ -848,6 +848,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/docs/attributes/index.html b/docs/attributes/index.html index af7f9e0f..25e7ee00 100644 --- a/docs/attributes/index.html +++ b/docs/attributes/index.html @@ -6,7 +6,7 @@ - + @@ -647,6 +647,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/docs/creating-plugins/index.html b/docs/creating-plugins/index.html index 8a84420f..b89876ad 100644 --- a/docs/creating-plugins/index.html +++ b/docs/creating-plugins/index.html @@ -6,7 +6,7 @@ - + @@ -323,6 +323,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/docs/custom-work/index.html b/docs/custom-work/index.html index f1c75b03..9d1aef83 100644 --- a/docs/custom-work/index.html +++ b/docs/custom-work/index.html @@ -6,7 +6,7 @@ - + @@ -254,6 +254,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/docs/dynamic-variables/index.html b/docs/dynamic-variables/index.html index 6c6a3f6c..cfd9542c 100644 --- a/docs/dynamic-variables/index.html +++ b/docs/dynamic-variables/index.html @@ -6,7 +6,7 @@ - + @@ -544,6 +544,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/docs/events/index.html b/docs/events/index.html index acbaff83..3fe2946e 100644 --- a/docs/events/index.html +++ b/docs/events/index.html @@ -6,7 +6,7 @@ - + @@ -717,6 +717,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/docs/getting-started/index.html b/docs/getting-started/index.html index e09e63cd..66ca2d90 100644 --- a/docs/getting-started/index.html +++ b/docs/getting-started/index.html @@ -6,7 +6,7 @@ - + @@ -414,6 +414,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index bc93c15b..58a80dbe 100644 --- a/docs/index.html +++ b/docs/index.html @@ -6,7 +6,7 @@ - + @@ -279,6 +279,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/docs/lg-query/index.html b/docs/lg-query/index.html index c67ab13a..c9d57e9d 100644 --- a/docs/lg-query/index.html +++ b/docs/lg-query/index.html @@ -6,7 +6,7 @@ - + @@ -247,6 +247,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/docs/license/index.html b/docs/license/index.html index 9f852d13..a5859629 100644 --- a/docs/license/index.html +++ b/docs/license/index.html @@ -6,7 +6,7 @@ - + @@ -272,6 +272,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/docs/methods/index.html b/docs/methods/index.html index b4952764..3de148b0 100644 --- a/docs/methods/index.html +++ b/docs/methods/index.html @@ -6,7 +6,7 @@ - + @@ -457,6 +457,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/docs/react-image-video-gallery/index.html b/docs/react-image-video-gallery/index.html index fc381f93..dd0155f3 100644 --- a/docs/react-image-video-gallery/index.html +++ b/docs/react-image-video-gallery/index.html @@ -6,7 +6,7 @@ - + @@ -874,6 +874,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/docs/settings/index.html b/docs/settings/index.html index a64ee5fd..c664b693 100644 --- a/docs/settings/index.html +++ b/docs/settings/index.html @@ -6,7 +6,7 @@ - + @@ -2411,6 +2411,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/docs/vue-image-video-gallery/index.html b/docs/vue-image-video-gallery/index.html index 99881958..ab7806c4 100644 --- a/docs/vue-image-video-gallery/index.html +++ b/docs/vue-image-video-gallery/index.html @@ -6,7 +6,7 @@ - + @@ -892,6 +892,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/download-youtube-thumbnails/index.html b/download-youtube-thumbnails/index.html index d36d526d..784fc58e 100644 --- a/download-youtube-thumbnails/index.html +++ b/download-youtube-thumbnails/index.html @@ -6,7 +6,7 @@ - + @@ -27,7 +27,7 @@ - + @@ -424,6 +424,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/index.html b/index.html index c6433fdc..66a87f52 100644 --- a/index.html +++ b/index.html @@ -6,7 +6,7 @@ - + @@ -622,6 +622,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/jquery-to-js-converter/index.html b/jquery-to-js-converter/index.html index ab4609ef..e1b4539e 100644 --- a/jquery-to-js-converter/index.html +++ b/jquery-to-js-converter/index.html @@ -7,7 +7,7 @@ - + @@ -28,7 +28,7 @@ - + @@ -118,8 +118,7 @@
Enter jQuery code
-
- +
@@ -980,6 +979,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/license/index.html b/license/index.html index f99bfc6c..38d81262 100644 --- a/license/index.html +++ b/license/index.html @@ -6,7 +6,7 @@ - + @@ -385,6 +385,6 @@
WebWhiz.ai
- + \ No newline at end of file diff --git a/main.2f0c0d129db98459aa1379c8a3a5fc1cb058d63cb56c2607256d9eb2524738270a52a87bd674deefaa5e3114190210d2e1a6e086f801c5e32034efa60852d1e5.css b/main.2f0c0d129db98459aa1379c8a3a5fc1cb058d63cb56c2607256d9eb2524738270a52a87bd674deefaa5e3114190210d2e1a6e086f801c5e32034efa60852d1e5.css new file mode 100644 index 00000000..72c3ee40 --- /dev/null +++ b/main.2f0c0d129db98459aa1379c8a3a5fc1cb058d63cb56c2607256d9eb2524738270a52a87bd674deefaa5e3114190210d2e1a6e086f801c5e32034efa60852d1e5.css @@ -0,0 +1,11 @@ +/*! + * Bootstrap v5.0.0-beta1 (https://getbootstrap.com/) + * Copyright 2011-2020 The Bootstrap Authors + * Copyright 2011-2020 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root{--bs-blue: #0e3481;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: #dc3545;--bs-orange: #fd7e14;--bs-yellow: #ffc107;--bs-green: #198754;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-white: #fff;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-primary: #0e3481;--bs-secondary: #6c757d;--bs-success: #198754;--bs-info: #0dcaf0;--bs-warning: #ffc107;--bs-danger: #dc3545;--bs-light: #f8f9fa;--bs-dark: #212529;--bs-font-sans-serif: "Helvetica Now Display", 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";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255,255,255,0.15), rgba(255,255,255,0))}*,*::before,*::after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:"Helvetica Now Display",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";font-size:1rem;font-weight:400;line-height:1.5;color:#333;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(51,51,51,0)}[tabindex="-1"]:focus:not(:focus-visible){outline:0 !important}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-family:"Helvetica Now Display","Helvetica Now Display",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";font-weight:500;line-height:1.3}h1,.h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width: 1200px){h1,.h1{font-size:2.5rem}}h2,.h2{font-size:calc(1.325rem + .9vw)}@media (min-width: 1200px){h2,.h2{font-size:2rem}}h3,.h3{font-size:calc(1.265rem + .18vw)}@media (min-width: 1200px){h3,.h3{font-size:1.4rem}}h4,.h4{font-size:calc(1.275rem + .3vw)}@media (min-width: 1200px){h4,.h4{font-size:1.5rem}}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title],abbr[data-bs-original-title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small,.small{font-size:.875em}mark,.mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#115df6;text-decoration:none}a:hover{color:#1250cc;text-decoration:underline}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em;direction:ltr /* rtl:ignore */;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:500}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus{outline:dotted 1px;outline:-webkit-focus-ring-color auto 5px}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role="button"]{cursor:pointer}select{word-wrap:normal}[list]::-webkit-calendar-picker-indicator{display:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button:not(:disabled),[type="button"]:not(:disabled),[type="reset"]:not(:disabled),[type="submit"]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type="search"]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none !important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.3}@media (min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.3}@media (min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.3}@media (min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.3}@media (min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.3}@media (min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.3}@media (min-width: 1200px){.display-6{font-size:2.5rem}}.list-unstyled,.comment-list{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-xxl,.container-xl,.container-lg,.container-md,.container-sm{width:100%;padding-right:var(--bs-gutter-x, 24px);padding-left:var(--bs-gutter-x, 24px);margin-right:auto;margin-left:auto}@media (min-width: 576px){.container-sm,.container{max-width:540px}}@media (min-width: 768px){.container-md,.container-sm,.container{max-width:720px}}@media (min-width: 992px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media (min-width: 1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px}}@media (min-width: 1400px){.container-xxl,.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1320px}}.row{--bs-gutter-x: 48px;--bs-gutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(var(--bs-gutter-y) * -1);margin-right:calc(var(--bs-gutter-x) / -2);margin-left:calc(var(--bs-gutter-x) / -2)}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) / 2);padding-left:calc(var(--bs-gutter-x) / 2);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x: 0}.g-0,.gy-0{--bs-gutter-y: 0}.g-1,.gx-1{--bs-gutter-x: .25rem}.g-1,.gy-1{--bs-gutter-y: .25rem}.g-2,.gx-2{--bs-gutter-x: .5rem}.g-2,.gy-2{--bs-gutter-y: .5rem}.g-3,.gx-3{--bs-gutter-x: 1rem}.g-3,.gy-3{--bs-gutter-y: 1rem}.g-4,.gx-4{--bs-gutter-x: 8rem}.g-4,.gy-4{--bs-gutter-y: 8rem}.g-5,.gx-5{--bs-gutter-x: 3rem}.g-5,.gy-5{--bs-gutter-y: 3rem}@media (min-width: 576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x: 0}.g-sm-0,.gy-sm-0{--bs-gutter-y: 0}.g-sm-1,.gx-sm-1{--bs-gutter-x: .25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y: .25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x: .5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y: .5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x: 1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y: 1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x: 8rem}.g-sm-4,.gy-sm-4{--bs-gutter-y: 8rem}.g-sm-5,.gx-sm-5{--bs-gutter-x: 3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y: 3rem}}@media (min-width: 768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x: 0}.g-md-0,.gy-md-0{--bs-gutter-y: 0}.g-md-1,.gx-md-1{--bs-gutter-x: .25rem}.g-md-1,.gy-md-1{--bs-gutter-y: .25rem}.g-md-2,.gx-md-2{--bs-gutter-x: .5rem}.g-md-2,.gy-md-2{--bs-gutter-y: .5rem}.g-md-3,.gx-md-3{--bs-gutter-x: 1rem}.g-md-3,.gy-md-3{--bs-gutter-y: 1rem}.g-md-4,.gx-md-4{--bs-gutter-x: 8rem}.g-md-4,.gy-md-4{--bs-gutter-y: 8rem}.g-md-5,.gx-md-5{--bs-gutter-x: 3rem}.g-md-5,.gy-md-5{--bs-gutter-y: 3rem}}@media (min-width: 992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x: 0}.g-lg-0,.gy-lg-0{--bs-gutter-y: 0}.g-lg-1,.gx-lg-1{--bs-gutter-x: .25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y: .25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x: .5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y: .5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x: 1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y: 1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x: 8rem}.g-lg-4,.gy-lg-4{--bs-gutter-y: 8rem}.g-lg-5,.gx-lg-5{--bs-gutter-x: 3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y: 3rem}}@media (min-width: 1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x: 0}.g-xl-0,.gy-xl-0{--bs-gutter-y: 0}.g-xl-1,.gx-xl-1{--bs-gutter-x: .25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y: .25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x: .5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y: .5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x: 1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y: 1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x: 8rem}.g-xl-4,.gy-xl-4{--bs-gutter-y: 8rem}.g-xl-5,.gx-xl-5{--bs-gutter-x: 3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y: 3rem}}@media (min-width: 1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x: 0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y: 0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x: .25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y: .25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x: .5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y: .5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x: 1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y: 1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x: 8rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y: 8rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x: 3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y: 3rem}}.table,table{--bs-table-bg: rgba(0,0,0,0);--bs-table-striped-color: #333;--bs-table-striped-bg: rgba(51,51,51,0.05);--bs-table-active-color: #333;--bs-table-active-bg: rgba(51,51,51,0.1);--bs-table-hover-color: #333;--bs-table-hover-bg: rgba(51,51,51,0.075);width:100%;margin-bottom:1rem;color:#333;vertical-align:top;border-color:#dee2e6}.table>:not(caption)>*>*,table>:not(caption)>*>*{padding:.5rem .5rem;background-color:var(--bs-table-bg);background-image:linear-gradient(var(--bs-table-accent-bg), var(--bs-table-accent-bg));border-bottom-width:1px}.table>tbody,table>tbody{vertical-align:inherit}.table>thead,table>thead{vertical-align:bottom}.table>:not(:last-child)>:last-child>*,table>:not(:last-child)>:last-child>*{border-bottom-color:currentColor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-striped>tbody>tr:nth-of-type(odd){--bs-table-accent-bg: var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg: var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover{--bs-table-accent-bg: var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-bg: #cfd6e6;--bs-table-striped-bg: #c7cedd;--bs-table-striped-color: #333;--bs-table-active-bg: #bfc6d4;--bs-table-active-color: #333;--bs-table-hover-bg: #c3cad9;--bs-table-hover-color: #333;color:#333;border-color:#bfc6d4}.table-secondary{--bs-table-bg: #e2e3e5;--bs-table-striped-bg: #d9dadc;--bs-table-striped-color: #333;--bs-table-active-bg: #d1d1d3;--bs-table-active-color: #333;--bs-table-hover-bg: #d5d6d8;--bs-table-hover-color: #333;color:#333;border-color:#d1d1d3}.table-success{--bs-table-bg: #d1e7dd;--bs-table-striped-bg: #c9ded5;--bs-table-striped-color: #333;--bs-table-active-bg: #c1d5cc;--bs-table-active-color: #333;--bs-table-hover-bg: #c5dad0;--bs-table-hover-color: #333;color:#333;border-color:#c1d5cc}.table-info{--bs-table-bg: #cff4fc;--bs-table-striped-bg: #c7eaf2;--bs-table-striped-color: #333;--bs-table-active-bg: #bfe1e8;--bs-table-active-color: #333;--bs-table-hover-bg: #c3e6ed;--bs-table-hover-color: #333;color:#333;border-color:#bfe1e8}.table-warning{--bs-table-bg: #fff3cd;--bs-table-striped-bg: #f5e9c5;--bs-table-striped-color: #333;--bs-table-active-bg: #ebe0be;--bs-table-active-color: #333;--bs-table-hover-bg: #f0e5c1;--bs-table-hover-color: #333;color:#333;border-color:#ebe0be}.table-danger{--bs-table-bg: #f8d7da;--bs-table-striped-bg: #eecfd2;--bs-table-striped-color: #333;--bs-table-active-bg: #e4c7c9;--bs-table-active-color: #333;--bs-table-hover-bg: #e9cbcd;--bs-table-hover-color: #333;color:#333;border-color:#e4c7c9}.table-light{--bs-table-bg: #f8f9fa;--bs-table-striped-bg: #eeeff0;--bs-table-striped-color: #333;--bs-table-active-bg: #e4e5e6;--bs-table-active-color: #333;--bs-table-hover-bg: #e9eaeb;--bs-table-hover-color: #333;color:#333;border-color:#e4e5e6}.table-dark{--bs-table-bg: #212529;--bs-table-striped-bg: #2c3034;--bs-table-striped-color: #fff;--bs-table-active-bg: #373b3e;--bs-table-active-color: #fff;--bs-table-hover-bg: #323539;--bs-table-hover-color: #fff;color:#fff;border-color:#373b3e}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control,.search-form .search-field,.comment-form input[type="text"],.comment-form input[type="email"],.comment-form input[type="url"],.comment-form textarea{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#333;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.25rem;transition:border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control,.search-form .search-field,.comment-form input[type="text"],.comment-form input[type="email"],.comment-form input[type="url"],.comment-form textarea{transition:none}}.form-control[type="file"],.search-form [type="file"].search-field,.comment-form input[type="file"][type="text"],.comment-form input[type="file"][type="email"],.comment-form input[type="file"][type="url"],.comment-form textarea[type="file"]{overflow:hidden}.form-control[type="file"]:not(:disabled):not([readonly]),.search-form [type="file"].search-field:not(:disabled):not([readonly]),.comment-form input[type="file"][type="text"]:not(:disabled):not([readonly]),.comment-form input[type="file"][type="email"]:not(:disabled):not([readonly]),.comment-form input[type="file"][type="url"]:not(:disabled):not([readonly]),.comment-form textarea[type="file"]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus,.search-form .search-field:focus,.comment-form input[type="text"]:focus,.comment-form input[type="email"]:focus,.comment-form input[type="url"]:focus,.comment-form textarea:focus{color:#333;background-color:#fff;border-color:#879ac0;outline:0;box-shadow:0 0 0 .25rem rgba(14,52,129,0.25)}.form-control::-webkit-date-and-time-value,.search-form .search-field::-webkit-date-and-time-value,.comment-form input[type="text"]::-webkit-date-and-time-value,.comment-form input[type="email"]::-webkit-date-and-time-value,.comment-form input[type="url"]::-webkit-date-and-time-value,.comment-form textarea::-webkit-date-and-time-value{height:1.5em}.form-control::-moz-placeholder, .search-form .search-field::-moz-placeholder, .comment-form input[type="text"]::-moz-placeholder, .comment-form input[type="email"]::-moz-placeholder, .comment-form input[type="url"]::-moz-placeholder, .comment-form textarea::-moz-placeholder{color:#6c757d;opacity:1}.form-control::placeholder,.search-form .search-field::placeholder,.comment-form input[type="text"]::placeholder,.comment-form input[type="email"]::placeholder,.comment-form input[type="url"]::placeholder,.comment-form textarea::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.search-form .search-field:disabled,.comment-form input[type="text"]:disabled,.comment-form input[type="email"]:disabled,.comment-form input[type="url"]:disabled,.comment-form textarea:disabled,.form-control[readonly],.search-form [readonly].search-field,.comment-form input[readonly][type="text"],.comment-form input[readonly][type="email"],.comment-form input[readonly][type="url"],.comment-form textarea[readonly]{background-color:#f6f8fa;opacity:1}.form-control::file-selector-button,.search-form .search-field::file-selector-button,.comment-form input[type="text"]::file-selector-button,.comment-form input[type="email"]::file-selector-button,.comment-form input[type="url"]::file-selector-button,.comment-form textarea::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.75rem;color:#333;background-color:#f6f8fa;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control::file-selector-button,.search-form .search-field::file-selector-button,.comment-form input[type="text"]::file-selector-button,.comment-form input[type="email"]::file-selector-button,.comment-form input[type="url"]::file-selector-button,.comment-form textarea::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button,.search-form .search-field:hover:not(:disabled):not([readonly])::file-selector-button,.comment-form input[type="text"]:hover:not(:disabled):not([readonly])::file-selector-button,.comment-form input[type="email"]:hover:not(:disabled):not([readonly])::file-selector-button,.comment-form input[type="url"]:hover:not(:disabled):not([readonly])::file-selector-button,.comment-form textarea:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#eaecee}.form-control::-webkit-file-upload-button,.search-form .search-field::-webkit-file-upload-button,.comment-form input[type="text"]::-webkit-file-upload-button,.comment-form input[type="email"]::-webkit-file-upload-button,.comment-form input[type="url"]::-webkit-file-upload-button,.comment-form textarea::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.75rem;color:#333;background-color:#f6f8fa;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;-webkit-transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control::-webkit-file-upload-button,.search-form .search-field::-webkit-file-upload-button,.comment-form input[type="text"]::-webkit-file-upload-button,.comment-form input[type="email"]::-webkit-file-upload-button,.comment-form input[type="url"]::-webkit-file-upload-button,.comment-form textarea::-webkit-file-upload-button{-webkit-transition:none;transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button,.search-form .search-field:hover:not(:disabled):not([readonly])::-webkit-file-upload-button,.comment-form input[type="text"]:hover:not(:disabled):not([readonly])::-webkit-file-upload-button,.comment-form input[type="email"]:hover:not(:disabled):not([readonly])::-webkit-file-upload-button,.comment-form input[type="url"]:hover:not(:disabled):not([readonly])::-webkit-file-upload-button,.comment-form textarea:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#eaecee}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#333;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}textarea.form-control,.search-form textarea.search-field{min-height:calc(1.5em + .75rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{max-width:3rem;height:auto;padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{height:1.5em;border-radius:.25rem}.form-control-color::-webkit-color-swatch{height:1.5em;border-radius:.25rem}.form-select{display:block;width:100%;padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#333;vertical-align:middle;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-select:focus{border-color:#879ac0;outline:0;box-shadow:0 0 0 .25rem rgba(14,52,129,0.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{color:#6c757d;background-color:#f6f8fa}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #333}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,0.25);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact;transition:background-color 0.15s ease-in-out,background-position 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-check-input{transition:none}}.form-check-input[type="checkbox"]{border-radius:.25em}.form-check-input[type="radio"]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#879ac0;outline:0;box-shadow:0 0 0 .25rem rgba(14,52,129,0.25)}.form-check-input:checked{background-color:#0e3481;border-color:#0e3481}.form-check-input:checked[type="checkbox"]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type="radio"]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type="checkbox"]:indeterminate{background-color:#0e3481;border-color:#0e3481;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280,0,0,0.25%29'/%3e%3c/svg%3e");background-position:left center;border-radius:2em}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23879ac0'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.btn-check[disabled]+.btn,.search-form .btn-check[disabled]+.search-submit,.comment-form .btn-check[disabled]+input[type="submit"],.btn-check:disabled+.btn,.search-form .btn-check:disabled+.search-submit,.comment-form .btn-check:disabled+input[type="submit"]{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:none}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(14,52,129,0.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(14,52,129,0.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0e3481;border:0;border-radius:1rem;-webkit-transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b7c2d9}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0e3481;border:0;border-radius:1rem;-moz-transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b7c2d9}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating{position:relative}.form-floating>.form-control,.search-form .form-floating>.search-field,.comment-form .form-floating>input[type="text"],.comment-form .form-floating>input[type="email"],.comment-form .form-floating>input[type="url"],.comment-form .form-floating>textarea,.form-floating>.form-select{height:calc(3.5rem + 2px);padding:1rem .75rem}.form-floating>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity 0.1s ease-in-out,transform 0.1s ease-in-out}@media (prefers-reduced-motion: reduce){.form-floating>label{transition:none}}.form-floating>.form-control::-moz-placeholder, .search-form .form-floating>.search-field::-moz-placeholder, .comment-form .form-floating>input[type="text"]::-moz-placeholder, .comment-form .form-floating>input[type="email"]::-moz-placeholder, .comment-form .form-floating>input[type="url"]::-moz-placeholder, .comment-form .form-floating>textarea::-moz-placeholder{color:transparent}.form-floating>.form-control::placeholder,.search-form .form-floating>.search-field::placeholder,.comment-form .form-floating>input[type="text"]::placeholder,.comment-form .form-floating>input[type="email"]::placeholder,.comment-form .form-floating>input[type="url"]::placeholder,.comment-form .form-floating>textarea::placeholder{color:transparent}.form-floating>.form-control:not(:-moz-placeholder-shown), .search-form .form-floating>.search-field:not(:-moz-placeholder-shown), .comment-form .form-floating>input[type="text"]:not(:-moz-placeholder-shown), .comment-form .form-floating>input[type="email"]:not(:-moz-placeholder-shown), .comment-form .form-floating>input[type="url"]:not(:-moz-placeholder-shown), .comment-form .form-floating>textarea:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus,.search-form .form-floating>.search-field:focus,.comment-form .form-floating>input[type="text"]:focus,.comment-form .form-floating>input[type="email"]:focus,.comment-form .form-floating>input[type="url"]:focus,.comment-form .form-floating>textarea:focus,.form-floating>.form-control:not(:placeholder-shown),.search-form .form-floating>.search-field:not(:placeholder-shown),.comment-form .form-floating>input[type="text"]:not(:placeholder-shown),.comment-form .form-floating>input[type="email"]:not(:placeholder-shown),.comment-form .form-floating>input[type="url"]:not(:placeholder-shown),.comment-form .form-floating>textarea:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.search-form .form-floating>.search-field:-webkit-autofill,.comment-form .form-floating>input[type="text"]:-webkit-autofill,.comment-form .form-floating>input[type="email"]:-webkit-autofill,.comment-form .form-floating>input[type="url"]:-webkit-autofill,.comment-form .form-floating>textarea:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label, .search-form .form-floating>.search-field:not(:-moz-placeholder-shown)~label, .comment-form .form-floating>input[type="text"]:not(:-moz-placeholder-shown)~label, .comment-form .form-floating>input[type="email"]:not(:-moz-placeholder-shown)~label, .comment-form .form-floating>input[type="url"]:not(:-moz-placeholder-shown)~label, .comment-form .form-floating>textarea:not(:-moz-placeholder-shown)~label{opacity:.65;transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control:focus~label,.search-form .form-floating>.search-field:focus~label,.comment-form .form-floating>input[type="text"]:focus~label,.comment-form .form-floating>input[type="email"]:focus~label,.comment-form .form-floating>input[type="url"]:focus~label,.comment-form .form-floating>textarea:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.search-form .form-floating>.search-field:not(:placeholder-shown)~label,.comment-form .form-floating>input[type="text"]:not(:placeholder-shown)~label,.comment-form .form-floating>input[type="email"]:not(:placeholder-shown)~label,.comment-form .form-floating>input[type="url"]:not(:placeholder-shown)~label,.comment-form .form-floating>textarea:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.65;transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control:-webkit-autofill~label,.search-form .form-floating>.search-field:-webkit-autofill~label,.comment-form .form-floating>input[type="text"]:-webkit-autofill~label,.comment-form .form-floating>input[type="email"]:-webkit-autofill~label,.comment-form .form-floating>input[type="url"]:-webkit-autofill~label,.comment-form .form-floating>textarea:-webkit-autofill~label{opacity:.65;transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.search-form .input-group>.search-field,.comment-form .input-group>input[type="text"],.comment-form .input-group>input[type="email"],.comment-form .input-group>input[type="url"],.comment-form .input-group>textarea,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.search-form .input-group>.search-field:focus,.comment-form .input-group>input[type="text"]:focus,.comment-form .input-group>input[type="email"]:focus,.comment-form .input-group>input[type="url"]:focus,.comment-form .input-group>textarea:focus,.input-group>.form-select:focus{z-index:3}.input-group .btn,.input-group .search-form .search-submit,.search-form .input-group .search-submit,.input-group .comment-form input[type="submit"],.comment-form .input-group input[type="submit"]{position:relative;z-index:2}.input-group .btn:focus,.input-group .search-form .search-submit:focus,.search-form .input-group .search-submit:focus,.input-group .comment-form input[type="submit"]:focus,.comment-form .input-group input[type="submit"]:focus{z-index:3}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#333;text-align:center;white-space:nowrap;background-color:#f6f8fa;border:1px solid #ced4da;border-radius:.25rem}.input-group-lg>.form-control,.search-form .input-group-lg>.search-field,.comment-form .input-group-lg>input[type="text"],.comment-form .input-group-lg>input[type="email"],.comment-form .input-group-lg>input[type="url"],.comment-form .input-group-lg>textarea,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn,.search-form .input-group-lg>.search-submit,.comment-form .input-group-lg>input[type="submit"]{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group-sm>.form-control,.search-form .input-group-sm>.search-field,.comment-form .input-group-sm>input[type="text"],.comment-form .input-group-sm>input[type="email"],.comment-form .input-group-sm>input[type="url"],.comment-form .input-group-sm>textarea,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn,.search-form .input-group-sm>.search-submit,.comment-form .input-group-sm>input[type="submit"]{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:1.75rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n + 3){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu),.input-group.has-validation>.dropdown-toggle:nth-last-child(n + 4){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(25,135,84,0.9);border-radius:.25rem}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.was-validated .search-form .search-field:valid,.search-form .was-validated .search-field:valid,.was-validated .comment-form input[type="text"]:valid,.comment-form .was-validated input[type="text"]:valid,.was-validated .comment-form input[type="email"]:valid,.comment-form .was-validated input[type="email"]:valid,.was-validated .comment-form input[type="url"]:valid,.comment-form .was-validated input[type="url"]:valid,.was-validated .comment-form textarea:valid,.comment-form .was-validated textarea:valid,.form-control.is-valid,.search-form .is-valid.search-field,.comment-form input.is-valid[type="text"],.comment-form input.is-valid[type="email"],.comment-form input.is-valid[type="url"],.comment-form textarea.is-valid{border-color:#198754;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:valid:focus,.was-validated .search-form .search-field:valid:focus,.search-form .was-validated .search-field:valid:focus,.was-validated .comment-form input[type="text"]:valid:focus,.comment-form .was-validated input[type="text"]:valid:focus,.was-validated .comment-form input[type="email"]:valid:focus,.comment-form .was-validated input[type="email"]:valid:focus,.was-validated .comment-form input[type="url"]:valid:focus,.comment-form .was-validated input[type="url"]:valid:focus,.was-validated .comment-form textarea:valid:focus,.comment-form .was-validated textarea:valid:focus,.form-control.is-valid:focus,.search-form .is-valid.search-field:focus,.comment-form input.is-valid[type="text"]:focus,.comment-form input.is-valid[type="email"]:focus,.comment-form input.is-valid[type="url"]:focus,.comment-form textarea.is-valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,0.25)}.was-validated textarea.form-control:valid,.was-validated .search-form textarea.search-field:valid,.search-form .was-validated textarea.search-field:valid,textarea.form-control.is-valid,.search-form textarea.is-valid.search-field{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:#198754;padding-right:calc(.75em + 2.3125rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right .75rem center,center right 1.75rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,0.25)}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:#198754}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:#198754}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,0.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:#198754}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,0.9);border-radius:.25rem}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.was-validated .search-form .search-field:invalid,.search-form .was-validated .search-field:invalid,.was-validated .comment-form input[type="text"]:invalid,.comment-form .was-validated input[type="text"]:invalid,.was-validated .comment-form input[type="email"]:invalid,.comment-form .was-validated input[type="email"]:invalid,.was-validated .comment-form input[type="url"]:invalid,.comment-form .was-validated input[type="url"]:invalid,.was-validated .comment-form textarea:invalid,.comment-form .was-validated textarea:invalid,.form-control.is-invalid,.search-form .is-invalid.search-field,.comment-form input.is-invalid[type="text"],.comment-form input.is-invalid[type="email"],.comment-form input.is-invalid[type="url"],.comment-form textarea.is-invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:invalid:focus,.was-validated .search-form .search-field:invalid:focus,.search-form .was-validated .search-field:invalid:focus,.was-validated .comment-form input[type="text"]:invalid:focus,.comment-form .was-validated input[type="text"]:invalid:focus,.was-validated .comment-form input[type="email"]:invalid:focus,.comment-form .was-validated input[type="email"]:invalid:focus,.was-validated .comment-form input[type="url"]:invalid:focus,.comment-form .was-validated input[type="url"]:invalid:focus,.was-validated .comment-form textarea:invalid:focus,.comment-form .was-validated textarea:invalid:focus,.form-control.is-invalid:focus,.search-form .is-invalid.search-field:focus,.comment-form input.is-invalid[type="text"]:focus,.comment-form input.is-invalid[type="email"]:focus,.comment-form input.is-invalid[type="url"]:focus,.comment-form textarea.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,0.25)}.was-validated textarea.form-control:invalid,.was-validated .search-form textarea.search-field:invalid,.search-form .was-validated textarea.search-field:invalid,textarea.form-control.is-invalid,.search-form textarea.is-invalid.search-field{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 1.75rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,0.25)}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:#dc3545}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:#dc3545}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,0.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.btn,.search-form .search-submit,.comment-form input[type="submit"]{display:inline-block;font-weight:400;line-height:1.5;color:#333;text-align:center;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.25rem;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn,.search-form .search-submit,.comment-form input[type="submit"]{transition:none}}.btn:hover,.search-form .search-submit:hover,.comment-form input[type="submit"]:hover{color:#333;text-decoration:none}.btn-check:focus+.btn,.search-form .btn-check:focus+.search-submit,.comment-form .btn-check:focus+input[type="submit"],.btn:focus,.search-form .search-submit:focus,.comment-form input[type="submit"]:focus{outline:0;box-shadow:0 0 0 .25rem rgba(14,52,129,0.25)}.btn:disabled,.search-form .search-submit:disabled,.comment-form input[type="submit"]:disabled,.btn.disabled,.search-form .disabled.search-submit,.comment-form input.disabled[type="submit"],fieldset:disabled .btn,fieldset:disabled .search-form .search-submit,.search-form fieldset:disabled .search-submit,fieldset:disabled .comment-form input[type="submit"],.comment-form fieldset:disabled input[type="submit"]{pointer-events:none;opacity:.65}.btn-primary{color:#fff;background-color:#0e3481;border-color:#0e3481}.btn-primary:hover{color:#fff;background-color:#0c2c6e;border-color:#0b2a67}.btn-check:focus+.btn-primary,.btn-primary:focus{color:#fff;background-color:#0c2c6e;border-color:#0b2a67;box-shadow:0 0 0 .25rem rgba(50,82,148,0.5)}.btn-check:checked+.btn-primary,.btn-check:active+.btn-primary,.btn-primary:active,.btn-primary.active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0b2a67;border-color:#0b2761}.btn-check:checked+.btn-primary:focus,.btn-check:active+.btn-primary:focus,.btn-primary:active:focus,.btn-primary.active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(50,82,148,0.5)}.btn-primary:disabled,.btn-primary.disabled{color:#fff;background-color:#0e3481;border-color:#0e3481}.btn-secondary,.search-form .search-submit,.comment-form input[type="submit"]{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover,.search-form .search-submit:hover,.comment-form input[type="submit"]:hover{color:#fff;background-color:#5c636a;border-color:#565e64}.btn-check:focus+.btn-secondary,.search-form .btn-check:focus+.search-submit,.comment-form .btn-check:focus+input[type="submit"],.btn-secondary:focus,.search-form .search-submit:focus,.comment-form input[type="submit"]:focus{color:#fff;background-color:#5c636a;border-color:#565e64;box-shadow:0 0 0 .25rem rgba(130,138,145,0.5)}.btn-check:checked+.btn-secondary,.search-form .btn-check:checked+.search-submit,.comment-form .btn-check:checked+input[type="submit"],.btn-check:active+.btn-secondary,.search-form .btn-check:active+.search-submit,.comment-form .btn-check:active+input[type="submit"],.btn-secondary:active,.search-form .search-submit:active,.comment-form input[type="submit"]:active,.btn-secondary.active,.search-form .active.search-submit,.comment-form input.active[type="submit"],.show>.btn-secondary.dropdown-toggle,.search-form .show>.dropdown-toggle.search-submit,.comment-form .show>input.dropdown-toggle[type="submit"]{color:#fff;background-color:#565e64;border-color:#51585e}.btn-check:checked+.btn-secondary:focus,.search-form .btn-check:checked+.search-submit:focus,.comment-form .btn-check:checked+input[type="submit"]:focus,.btn-check:active+.btn-secondary:focus,.search-form .btn-check:active+.search-submit:focus,.comment-form .btn-check:active+input[type="submit"]:focus,.btn-secondary:active:focus,.search-form .search-submit:active:focus,.comment-form input[type="submit"]:active:focus,.btn-secondary.active:focus,.search-form .active.search-submit:focus,.comment-form input.active[type="submit"]:focus,.show>.btn-secondary.dropdown-toggle:focus,.search-form .show>.dropdown-toggle.search-submit:focus,.comment-form .show>input.dropdown-toggle[type="submit"]:focus{box-shadow:0 0 0 .25rem rgba(130,138,145,0.5)}.btn-secondary:disabled,.search-form .search-submit:disabled,.comment-form input[type="submit"]:disabled,.btn-secondary.disabled,.search-form .disabled.search-submit,.comment-form input.disabled[type="submit"]{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-success{color:#fff;background-color:#198754;border-color:#198754}.btn-success:hover{color:#fff;background-color:#157347;border-color:#146c43}.btn-check:focus+.btn-success,.btn-success:focus{color:#fff;background-color:#157347;border-color:#146c43;box-shadow:0 0 0 .25rem rgba(60,153,110,0.5)}.btn-check:checked+.btn-success,.btn-check:active+.btn-success,.btn-success:active,.btn-success.active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#146c43;border-color:#13653f}.btn-check:checked+.btn-success:focus,.btn-check:active+.btn-success:focus,.btn-success:active:focus,.btn-success.active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(60,153,110,0.5)}.btn-success:disabled,.btn-success.disabled{color:#fff;background-color:#198754;border-color:#198754}.btn-info{color:#333;background-color:#0dcaf0;border-color:#0dcaf0}.btn-info:hover{color:#333;background-color:#31d2f2;border-color:#25cff2}.btn-check:focus+.btn-info,.btn-info:focus{color:#333;background-color:#31d2f2;border-color:#25cff2;box-shadow:0 0 0 .25rem rgba(19,179,212,0.5)}.btn-check:checked+.btn-info,.btn-check:active+.btn-info,.btn-info:active,.btn-info.active,.show>.btn-info.dropdown-toggle{color:#333;background-color:#3dd5f3;border-color:#25cff2}.btn-check:checked+.btn-info:focus,.btn-check:active+.btn-info:focus,.btn-info:active:focus,.btn-info.active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(19,179,212,0.5)}.btn-info:disabled,.btn-info.disabled{color:#333;background-color:#0dcaf0;border-color:#0dcaf0}.btn-warning{color:#333;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#333;background-color:#ffca2c;border-color:#ffc720}.btn-check:focus+.btn-warning,.btn-warning:focus{color:#333;background-color:#ffca2c;border-color:#ffc720;box-shadow:0 0 0 .25rem rgba(224,172,14,0.5)}.btn-check:checked+.btn-warning,.btn-check:active+.btn-warning,.btn-warning:active,.btn-warning.active,.show>.btn-warning.dropdown-toggle{color:#333;background-color:#ffcd39;border-color:#ffc720}.btn-check:checked+.btn-warning:focus,.btn-check:active+.btn-warning:focus,.btn-warning:active:focus,.btn-warning.active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(224,172,14,0.5)}.btn-warning:disabled,.btn-warning.disabled{color:#333;background-color:#ffc107;border-color:#ffc107}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#bb2d3b;border-color:#b02a37}.btn-check:focus+.btn-danger,.btn-danger:focus{color:#fff;background-color:#bb2d3b;border-color:#b02a37;box-shadow:0 0 0 .25rem rgba(225,83,97,0.5)}.btn-check:checked+.btn-danger,.btn-check:active+.btn-danger,.btn-danger:active,.btn-danger.active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#b02a37;border-color:#a52834}.btn-check:checked+.btn-danger:focus,.btn-check:active+.btn-danger:focus,.btn-danger:active:focus,.btn-danger.active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(225,83,97,0.5)}.btn-danger:disabled,.btn-danger.disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-light{color:#333;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#333;background-color:#f9fafb;border-color:#f9fafb}.btn-check:focus+.btn-light,.btn-light:focus{color:#333;background-color:#f9fafb;border-color:#f9fafb;box-shadow:0 0 0 .25rem rgba(218,219,220,0.5)}.btn-check:checked+.btn-light,.btn-check:active+.btn-light,.btn-light:active,.btn-light.active,.show>.btn-light.dropdown-toggle{color:#333;background-color:#f9fafb;border-color:#f9fafb}.btn-check:checked+.btn-light:focus,.btn-check:active+.btn-light:focus,.btn-light:active:focus,.btn-light.active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(218,219,220,0.5)}.btn-light:disabled,.btn-light.disabled{color:#333;background-color:#f8f9fa;border-color:#f8f9fa}.btn-dark{color:#fff;background-color:#212529;border-color:#212529}.btn-dark:hover{color:#fff;background-color:#1c1f23;border-color:#1a1e21}.btn-check:focus+.btn-dark,.btn-dark:focus{color:#fff;background-color:#1c1f23;border-color:#1a1e21;box-shadow:0 0 0 .25rem rgba(66,70,73,0.5)}.btn-check:checked+.btn-dark,.btn-check:active+.btn-dark,.btn-dark:active,.btn-dark.active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1a1e21;border-color:#191c1f}.btn-check:checked+.btn-dark:focus,.btn-check:active+.btn-dark:focus,.btn-dark:active:focus,.btn-dark.active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(66,70,73,0.5)}.btn-dark:disabled,.btn-dark.disabled{color:#fff;background-color:#212529;border-color:#212529}.btn-outline-primary{color:#0e3481;border-color:#0e3481}.btn-outline-primary:hover{color:#fff;background-color:#0e3481;border-color:#0e3481}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 .25rem rgba(14,52,129,0.5)}.btn-check:checked+.btn-outline-primary,.btn-check:active+.btn-outline-primary,.btn-outline-primary:active,.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show{color:#fff;background-color:#0e3481;border-color:#0e3481}.btn-check:checked+.btn-outline-primary:focus,.btn-check:active+.btn-outline-primary:focus,.btn-outline-primary:active:focus,.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(14,52,129,0.5)}.btn-outline-primary:disabled,.btn-outline-primary.disabled{color:#0e3481;background-color:transparent}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,0.5)}.btn-check:checked+.btn-outline-secondary,.btn-check:active+.btn-outline-secondary,.btn-outline-secondary:active,.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:checked+.btn-outline-secondary:focus,.btn-check:active+.btn-outline-secondary:focus,.btn-outline-secondary:active:focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,0.5)}.btn-outline-secondary:disabled,.btn-outline-secondary.disabled{color:#6c757d;background-color:transparent}.btn-outline-success{color:#198754;border-color:#198754}.btn-outline-success:hover{color:#fff;background-color:#198754;border-color:#198754}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,0.5)}.btn-check:checked+.btn-outline-success,.btn-check:active+.btn-outline-success,.btn-outline-success:active,.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show{color:#fff;background-color:#198754;border-color:#198754}.btn-check:checked+.btn-outline-success:focus,.btn-check:active+.btn-outline-success:focus,.btn-outline-success:active:focus,.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,0.5)}.btn-outline-success:disabled,.btn-outline-success.disabled{color:#198754;background-color:transparent}.btn-outline-info{color:#0dcaf0;border-color:#0dcaf0}.btn-outline-info:hover{color:#333;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,0.5)}.btn-check:checked+.btn-outline-info,.btn-check:active+.btn-outline-info,.btn-outline-info:active,.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show{color:#333;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:checked+.btn-outline-info:focus,.btn-check:active+.btn-outline-info:focus,.btn-outline-info:active:focus,.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,0.5)}.btn-outline-info:disabled,.btn-outline-info.disabled{color:#0dcaf0;background-color:transparent}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#333;background-color:#ffc107;border-color:#ffc107}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,0.5)}.btn-check:checked+.btn-outline-warning,.btn-check:active+.btn-outline-warning,.btn-outline-warning:active,.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show{color:#333;background-color:#ffc107;border-color:#ffc107}.btn-check:checked+.btn-outline-warning:focus,.btn-check:active+.btn-outline-warning:focus,.btn-outline-warning:active:focus,.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,0.5)}.btn-outline-warning:disabled,.btn-outline-warning.disabled{color:#ffc107;background-color:transparent}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,0.5)}.btn-check:checked+.btn-outline-danger,.btn-check:active+.btn-outline-danger,.btn-outline-danger:active,.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:checked+.btn-outline-danger:focus,.btn-check:active+.btn-outline-danger:focus,.btn-outline-danger:active:focus,.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,0.5)}.btn-outline-danger:disabled,.btn-outline-danger.disabled{color:#dc3545;background-color:transparent}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#333;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,0.5)}.btn-check:checked+.btn-outline-light,.btn-check:active+.btn-outline-light,.btn-outline-light:active,.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show{color:#333;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:checked+.btn-outline-light:focus,.btn-check:active+.btn-outline-light:focus,.btn-outline-light:active:focus,.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,0.5)}.btn-outline-light:disabled,.btn-outline-light.disabled{color:#f8f9fa;background-color:transparent}.btn-outline-dark{color:#212529;border-color:#212529}.btn-outline-dark:hover{color:#fff;background-color:#212529;border-color:#212529}.btn-check:focus+.btn-outline-dark,.btn-outline-dark:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,0.5)}.btn-check:checked+.btn-outline-dark,.btn-check:active+.btn-outline-dark,.btn-outline-dark:active,.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show{color:#fff;background-color:#212529;border-color:#212529}.btn-check:checked+.btn-outline-dark:focus,.btn-check:active+.btn-outline-dark:focus,.btn-outline-dark:active:focus,.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,0.5)}.btn-outline-dark:disabled,.btn-outline-dark.disabled{color:#212529;background-color:transparent}.btn-link{font-weight:400;color:#115df6;text-decoration:none}.btn-link:hover{color:#1250cc;text-decoration:underline}.btn-link:focus{text-decoration:underline}.btn-link:disabled,.btn-link.disabled{color:#6c757d}.btn-lg,.btn-group-lg>.btn,.search-form .btn-group-lg>.search-submit,.comment-form .btn-group-lg>input[type="submit"]{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.btn-sm,.btn-group-sm>.btn,.search-form .btn-group-sm>.search-submit,.comment-form .btn-group-sm>input[type="submit"]{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.fade{transition:opacity 0.15s linear}@media (prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height 0.35s ease}@media (prefers-reduced-motion: reduce){.collapsing{transition:none}}.dropup,.dropend,.dropdown,.dropstart{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#333;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(51,51,51,0.15);border-radius:.25rem}.dropdown-menu[style]{right:auto !important}.dropdown-menu-start{--bs-position: start;right:auto /* rtl:ignore */;left:0 /* rtl:ignore */}.dropdown-menu-end{--bs-position: end;right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}@media (min-width: 576px){.dropdown-menu-sm-start{--bs-position: start;right:auto /* rtl:ignore */;left:0 /* rtl:ignore */}.dropdown-menu-sm-end{--bs-position: end;right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}}@media (min-width: 768px){.dropdown-menu-md-start{--bs-position: start;right:auto /* rtl:ignore */;left:0 /* rtl:ignore */}.dropdown-menu-md-end{--bs-position: end;right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}}@media (min-width: 992px){.dropdown-menu-lg-start{--bs-position: start;right:auto /* rtl:ignore */;left:0 /* rtl:ignore */}.dropdown-menu-lg-end{--bs-position: end;right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}}@media (min-width: 1200px){.dropdown-menu-xl-start{--bs-position: start;right:auto /* rtl:ignore */;left:0 /* rtl:ignore */}.dropdown-menu-xl-end{--bs-position: end;right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}}@media (min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start;right:auto /* rtl:ignore */;left:0 /* rtl:ignore */}.dropdown-menu-xxl-end{--bs-position: end;right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid rgba(51,51,51,0.15)}.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:hover,.dropdown-item:focus{color:#1e2125;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0e3481}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1rem;color:#212529}.dropdown-menu-dark{color:#dee2e6;background-color:#343a40;border-color:rgba(51,51,51,0.15)}.dropdown-menu-dark .dropdown-item{color:#dee2e6}.dropdown-menu-dark .dropdown-item:hover,.dropdown-menu-dark .dropdown-item:focus{color:#fff;background-color:rgba(255,255,255,0.15)}.dropdown-menu-dark .dropdown-item.active,.dropdown-menu-dark .dropdown-item:active{color:#fff;background-color:#0e3481}.dropdown-menu-dark .dropdown-item.disabled,.dropdown-menu-dark .dropdown-item:disabled{color:#adb5bd}.dropdown-menu-dark .dropdown-divider{border-color:rgba(51,51,51,0.15)}.dropdown-menu-dark .dropdown-item-text{color:#dee2e6}.dropdown-menu-dark .dropdown-header{color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.search-form .btn-group>.search-submit,.comment-form .btn-group>input[type="submit"],.btn-group-vertical>.btn,.search-form .btn-group-vertical>.search-submit,.comment-form .btn-group-vertical>input[type="submit"]{position:relative;flex:1 1 auto}.btn-group>.btn-check:checked+.btn,.search-form .btn-group>.btn-check:checked+.search-submit,.comment-form .btn-group>.btn-check:checked+input[type="submit"],.btn-group>.btn-check:focus+.btn,.search-form .btn-group>.btn-check:focus+.search-submit,.comment-form .btn-group>.btn-check:focus+input[type="submit"],.btn-group>.btn:hover,.search-form .btn-group>.search-submit:hover,.comment-form .btn-group>input[type="submit"]:hover,.btn-group>.btn:focus,.search-form .btn-group>.search-submit:focus,.comment-form .btn-group>input[type="submit"]:focus,.btn-group>.btn:active,.search-form .btn-group>.search-submit:active,.comment-form .btn-group>input[type="submit"]:active,.btn-group>.btn.active,.search-form .btn-group>.active.search-submit,.comment-form .btn-group>input.active[type="submit"],.btn-group-vertical>.btn-check:checked+.btn,.search-form .btn-group-vertical>.btn-check:checked+.search-submit,.comment-form .btn-group-vertical>.btn-check:checked+input[type="submit"],.btn-group-vertical>.btn-check:focus+.btn,.search-form .btn-group-vertical>.btn-check:focus+.search-submit,.comment-form .btn-group-vertical>.btn-check:focus+input[type="submit"],.btn-group-vertical>.btn:hover,.search-form .btn-group-vertical>.search-submit:hover,.comment-form .btn-group-vertical>input[type="submit"]:hover,.btn-group-vertical>.btn:focus,.search-form .btn-group-vertical>.search-submit:focus,.comment-form .btn-group-vertical>input[type="submit"]:focus,.btn-group-vertical>.btn:active,.search-form .btn-group-vertical>.search-submit:active,.comment-form .btn-group-vertical>input[type="submit"]:active,.btn-group-vertical>.btn.active,.search-form .btn-group-vertical>.active.search-submit,.comment-form .btn-group-vertical>input.active[type="submit"]{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:not(:first-child),.search-form .btn-group>.search-submit:not(:first-child),.comment-form .btn-group>input[type="submit"]:not(:first-child),.btn-group>.btn-group:not(:first-child){margin-left:-1px}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.search-form .btn-group>.search-submit:not(:last-child):not(.dropdown-toggle),.comment-form .btn-group>input[type="submit"]:not(:last-child):not(.dropdown-toggle),.btn-group>.btn-group:not(:last-child)>.btn,.search-form .btn-group>.btn-group:not(:last-child)>.search-submit,.comment-form .btn-group>.btn-group:not(:last-child)>input[type="submit"]{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n + 3),.search-form .btn-group>.search-submit:nth-child(n + 3),.comment-form .btn-group>input[type="submit"]:nth-child(n + 3),.btn-group>:not(.btn-check)+.btn,.search-form .btn-group>:not(.btn-check)+.search-submit,.comment-form .btn-group>:not(.btn-check)+input[type="submit"],.btn-group>.btn-group:not(:first-child)>.btn,.search-form .btn-group>.btn-group:not(:first-child)>.search-submit,.comment-form .btn-group>.btn-group:not(:first-child)>input[type="submit"]{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split,.search-form .btn-group-sm>.search-submit+.dropdown-toggle-split,.comment-form .btn-group-sm>input[type="submit"]+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split,.search-form .btn-group-lg>.search-submit+.dropdown-toggle-split,.comment-form .btn-group-lg>input[type="submit"]+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.search-form .btn-group-vertical>.search-submit,.comment-form .btn-group-vertical>input[type="submit"],.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.search-form .btn-group-vertical>.search-submit:not(:first-child),.comment-form .btn-group-vertical>input[type="submit"]:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.search-form .btn-group-vertical>.search-submit:not(:last-child):not(.dropdown-toggle),.comment-form .btn-group-vertical>input[type="submit"]:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn,.search-form .btn-group-vertical>.btn-group:not(:last-child)>.search-submit,.comment-form .btn-group-vertical>.btn-group:not(:last-child)>input[type="submit"]{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn~.btn,.search-form .btn-group-vertical>.search-submit~.btn,.search-form .btn-group-vertical>.btn~.search-submit,.search-form .btn-group-vertical>.search-submit~.search-submit,.comment-form .btn-group-vertical>input[type="submit"]~.btn,.comment-form .search-form .btn-group-vertical>input[type="submit"]~.search-submit,.search-form .comment-form .btn-group-vertical>input[type="submit"]~.search-submit,.comment-form .btn-group-vertical>.btn~input[type="submit"],.comment-form .search-form .btn-group-vertical>.search-submit~input[type="submit"],.search-form .comment-form .btn-group-vertical>.search-submit~input[type="submit"],.comment-form .btn-group-vertical>input[type="submit"]~input[type="submit"],.btn-group-vertical>.btn-group:not(:first-child)>.btn,.search-form .btn-group-vertical>.btn-group:not(:first-child)>.search-submit,.comment-form .btn-group-vertical>.btn-group:not(:first-child)>input[type="submit"]{border-top-left-radius:0;border-top-right-radius:0}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link,.banner .nav a{display:block;padding:.5rem 1rem;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.nav-link,.banner .nav a{transition:none}}.nav-link:hover,.banner .nav a:hover,.nav-link:focus,.banner .nav a:focus{text-decoration:none}.nav-link.disabled,.banner .nav a.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link,.nav-tabs .banner .nav a,.banner .nav .nav-tabs a{margin-bottom:-1px;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:hover,.nav-tabs .banner .nav a:hover,.banner .nav .nav-tabs a:hover,.nav-tabs .nav-link:focus,.nav-tabs .banner .nav a:focus,.banner .nav .nav-tabs a:focus{border-color:#f6f8fa #f6f8fa #dee2e6}.nav-tabs .nav-link.disabled,.nav-tabs .banner .nav a.disabled,.banner .nav .nav-tabs a.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-link.active,.nav-tabs .banner .nav a.active,.banner .nav .nav-tabs a.active,.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-item.show .banner .nav a,.banner .nav .nav-tabs .nav-item.show a,.nav-tabs .banner .nav li.show .nav-link,.nav-tabs .banner .nav li.show a,.banner .nav .nav-tabs li.show .nav-link,.banner .nav .nav-tabs li.show a{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link,.nav-pills .banner .nav a,.banner .nav .nav-pills a{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .banner .nav a.active,.banner .nav .nav-pills a.active,.nav-pills .show>.nav-link,.nav-pills .banner .nav .show>a,.banner .nav .nav-pills .show>a{color:#fff;background-color:#0e3481}.nav-fill>.nav-link,.banner .nav .nav-fill>a,.nav-fill .nav-item,.nav-fill .banner .nav li,.banner .nav .nav-fill li{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.banner .nav .nav-justified>a,.nav-justified .nav-item,.nav-justified .banner .nav li,.banner .nav .nav-justified li{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:1.5rem;padding-right:1rem;padding-bottom:1.5rem;padding-left:1rem}.navbar>.container,.navbar>.container-fluid,.navbar>.container-sm,.navbar>.container-md,.navbar>.container-lg,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:.5rem;padding-bottom:.5rem;margin-right:1rem;font-size:1rem;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link,.navbar-nav .banner .nav a,.banner .nav .navbar-nav a{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{align-items:center;width:100%}.navbar-toggler{padding:.25rem .75rem;font-size:1rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem;transition:box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 0}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}@media (min-width: 576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link,.navbar-expand-sm .navbar-nav .banner .nav a,.banner .nav .navbar-expand-sm .navbar-nav a{padding-right:1rem;padding-left:1rem}.navbar-expand-sm .navbar-collapse{display:flex !important}.navbar-expand-sm .navbar-toggler{display:none}}@media (min-width: 768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link,.navbar-expand-md .navbar-nav .banner .nav a,.banner .nav .navbar-expand-md .navbar-nav a{padding-right:1rem;padding-left:1rem}.navbar-expand-md .navbar-collapse{display:flex !important}.navbar-expand-md .navbar-toggler{display:none}}@media (min-width: 992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link,.navbar-expand-lg .navbar-nav .banner .nav a,.banner .nav .navbar-expand-lg .navbar-nav a{padding-right:1rem;padding-left:1rem}.navbar-expand-lg .navbar-collapse{display:flex !important}.navbar-expand-lg .navbar-toggler{display:none}}@media (min-width: 1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link,.navbar-expand-xl .navbar-nav .banner .nav a,.banner .nav .navbar-expand-xl .navbar-nav a{padding-right:1rem;padding-left:1rem}.navbar-expand-xl .navbar-collapse{display:flex !important}.navbar-expand-xl .navbar-toggler{display:none}}@media (min-width: 1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link,.navbar-expand-xxl .navbar-nav .banner .nav a,.banner .nav .navbar-expand-xxl .navbar-nav a{padding-right:1rem;padding-left:1rem}.navbar-expand-xxl .navbar-collapse{display:flex !important}.navbar-expand-xxl .navbar-toggler{display:none}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link,.navbar-expand .navbar-nav .banner .nav a,.banner .nav .navbar-expand .navbar-nav a{padding-right:1rem;padding-left:1rem}.navbar-expand .navbar-collapse{display:flex !important}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:#0e3481}.navbar-light .navbar-brand:hover,.navbar-light .navbar-brand:focus{color:#115df6}.navbar-light .navbar-nav .nav-link,.navbar-light .navbar-nav .banner .nav a,.banner .nav .navbar-light .navbar-nav a{color:#0e3481}.navbar-light .navbar-nav .nav-link:hover,.navbar-light .navbar-nav .banner .nav a:hover,.banner .nav .navbar-light .navbar-nav a:hover,.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .banner .nav a:focus,.banner .nav .navbar-light .navbar-nav a:focus{color:#3e7eff}.navbar-light .navbar-nav .nav-link.disabled,.navbar-light .navbar-nav .banner .nav a.disabled,.banner .nav .navbar-light .navbar-nav a.disabled{color:rgba(51,51,51,0.3)}.navbar-light .navbar-nav .show>.nav-link,.navbar-light .navbar-nav .banner .nav .show>a,.banner .nav .navbar-light .navbar-nav .show>a,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .banner .nav a.active,.banner .nav .navbar-light .navbar-nav a.active{color:#115df6}.navbar-light .navbar-toggler{color:#0e3481;border-color:#0e3481}.navbar-light .navbar-toggler-icon{background-image:none}.navbar-light .navbar-text{color:#0e3481}.navbar-light .navbar-text a,.navbar-light .navbar-text a:hover,.navbar-light .navbar-text a:focus{color:#115df6}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:hover,.navbar-dark .navbar-brand:focus{color:#fff}.navbar-dark .navbar-nav .nav-link,.navbar-dark .navbar-nav .banner .nav a,.banner .nav .navbar-dark .navbar-nav a{color:rgba(255,255,255,0.55)}.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .banner .nav a:hover,.banner .nav .navbar-dark .navbar-nav a:hover,.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .banner .nav a:focus,.banner .nav .navbar-dark .navbar-nav a:focus{color:rgba(255,255,255,0.75)}.navbar-dark .navbar-nav .nav-link.disabled,.navbar-dark .navbar-nav .banner .nav a.disabled,.banner .nav .navbar-dark .navbar-nav a.disabled{color:rgba(255,255,255,0.25)}.navbar-dark .navbar-nav .show>.nav-link,.navbar-dark .navbar-nav .banner .nav .show>a,.banner .nav .navbar-dark .navbar-nav .show>a,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .banner .nav a.active,.banner .nav .navbar-dark .navbar-nav a.active{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,0.55);border-color:rgba(255,255,255,0.1)}.navbar-dark .navbar-toggler-icon{background-image:none}.navbar-dark .navbar-text{color:rgba(255,255,255,0.55)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:hover,.navbar-dark .navbar-text a:focus{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(51,51,51,0.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:1rem 1rem}.card-title{margin-bottom:.5rem}.card-subtitle{margin-top:-.25rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1rem /* rtl:ignore */}.card-header{padding:.5rem 1rem;margin-bottom:0;background-color:rgba(51,51,51,0.03);border-bottom:1px solid rgba(51,51,51,0.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.5rem 1rem;background-color:rgba(51,51,51,0.03);border-top:1px solid rgba(51,51,51,0.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.5rem;margin-bottom:-.5rem;margin-left:-.5rem;border-bottom:0}.card-header-pills{margin-right:-.5rem;margin-left:-.5rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-group>.card{margin-bottom:24px}@media (min-width: 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;color:#333;background-color:rgba(0,0,0,0);border:1px solid rgba(51,51,51,0.125);border-radius:0;overflow-anchor:none;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease}@media (prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button.collapsed{border-bottom-width:0}.accordion-button:not(.collapsed){color:#0d2f74;background-color:#e7ebf2}.accordion-button:not(.collapsed)::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230d2f74'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");transform:rotate(180deg)}.accordion-button::after{flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:"";background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23333'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-size:1.25rem;transition:transform 0.2s ease-in-out}@media (prefers-reduced-motion: reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:#879ac0;outline:0;box-shadow:0 0 0 .25rem rgba(14,52,129,0.25)}.accordion-header{margin-bottom:0}.accordion-item:first-of-type .accordion-button{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-width:1px;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-item:last-of-type .accordion-collapse{border-bottom-width:1px;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-collapse{border:solid rgba(51,51,51,0.125);border-width:0 1px}.accordion-body{padding:1rem 1.25rem}.accordion-flush .accordion-button{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item:first-of-type .accordion-button{border-top-width:0;border-top-left-radius:0;border-top-right-radius:0}.accordion-flush .accordion-item:last-of-type .accordion-button.collapsed{border-bottom-width:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.breadcrumb{display:flex;flex-wrap:wrap;padding:0 0;margin-bottom:1rem;list-style:none}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c757d;content:var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#115df6;background-color:#fff;border:1px solid #dee2e6;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:#1250cc;text-decoration:none;background-color:#f6f8fa;border-color:#dee2e6}.page-link:focus{z-index:3;color:#1250cc;background-color:#f6f8fa;outline:0;box-shadow:0 0 0 .25rem rgba(14,52,129,0.25)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#0e3481;border-color:#0e3481}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#fff;border-color:#dee2e6}.page-link{padding:.375rem .75rem}.page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:500;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge,.search-form .search-submit .badge,.comment-form input[type="submit"] .badge{position:relative;top:-1px}.alert{position:relative;padding:1.5rem 1rem;margin-bottom:0;border:0 solid transparent;border-radius:2px}.alert-heading{color:inherit}.alert-link{font-weight:500}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.875rem 1rem}.alert-primary{color:#081f4d;background-color:#cfd6e6;border-color:#b7c2d9}.alert-primary .alert-link{color:#06193e}.alert-secondary{color:#41464b;background-color:#e2e3e5;border-color:#d3d6d8}.alert-secondary .alert-link{color:#34383c}.alert-success{color:#0f5132;background-color:#d1e7dd;border-color:#badbcc}.alert-success .alert-link{color:#0c4128}.alert-info{color:#246f7f;background-color:#cff4fc;border-color:#b6effb}.alert-info .alert-link{color:#1d5966}.alert-warning{color:#856c21;background-color:#fff3cd;border-color:#ffecb5}.alert-warning .alert-link{color:#6a561a}.alert-danger{color:#842029;background-color:#f8d7da;border-color:#f5c2c7}.alert-danger .alert-link{color:#6a1a21}.alert-light{color:#828283;background-color:#fefefe;border-color:#fdfdfe}.alert-light .alert-link{color:#686869}.alert-dark{color:#141619;background-color:#d3d3d4;border-color:#bcbebf}.alert-dark .alert-link{color:#101214}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#f6f8fa;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#0e3481;transition:width 0.6s ease}@media (prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-size:1rem 1rem}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#333;background-color:#f6f8fa}.list-group-item{position:relative;display:block;padding:.5rem 1rem;background-color:#fff;border:1px solid rgba(51,51,51,0.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#0e3481;border-color:#0e3481}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#081f4d;background-color:#cfd6e6}.list-group-item-primary.list-group-item-action:hover,.list-group-item-primary.list-group-item-action:focus{color:#081f4d;background-color:#bac1cf}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#081f4d;border-color:#081f4d}.list-group-item-secondary{color:#41464b;background-color:#e2e3e5}.list-group-item-secondary.list-group-item-action:hover,.list-group-item-secondary.list-group-item-action:focus{color:#41464b;background-color:#cbccce}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#41464b;border-color:#41464b}.list-group-item-success{color:#0f5132;background-color:#d1e7dd}.list-group-item-success.list-group-item-action:hover,.list-group-item-success.list-group-item-action:focus{color:#0f5132;background-color:#bcd0c7}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0f5132;border-color:#0f5132}.list-group-item-info{color:#246f7f;background-color:#cff4fc}.list-group-item-info.list-group-item-action:hover,.list-group-item-info.list-group-item-action:focus{color:#246f7f;background-color:#badce3}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#246f7f;border-color:#246f7f}.list-group-item-warning{color:#856c21;background-color:#fff3cd}.list-group-item-warning.list-group-item-action:hover,.list-group-item-warning.list-group-item-action:focus{color:#856c21;background-color:#e6dbb9}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856c21;border-color:#856c21}.list-group-item-danger{color:#842029;background-color:#f8d7da}.list-group-item-danger.list-group-item-action:hover,.list-group-item-danger.list-group-item-action:focus{color:#842029;background-color:#dfc2c4}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#842029;border-color:#842029}.list-group-item-light{color:#828283;background-color:#fefefe}.list-group-item-light.list-group-item-action:hover,.list-group-item-light.list-group-item-action:focus{color:#828283;background-color:#e5e5e5}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#828283;border-color:#828283}.list-group-item-dark{color:#141619;background-color:#d3d3d4}.list-group-item-dark.list-group-item-action:hover,.list-group-item-dark.list-group-item-action:focus{color:#141619;background-color:#bebebf}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#141619;border-color:#141619}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:#333;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23333'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.25rem;opacity:.5}.btn-close:hover{color:#333;text-decoration:none;opacity:.75}.btn-close:focus{outline:none;box-shadow:0 0 0 .25rem rgba(14,52,129,0.25);opacity:1}.btn-close:disabled,.btn-close.disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{width:350px;max-width:100%;font-size:.875rem;pointer-events:auto;background-color:rgba(255,255,255,0.85);background-clip:padding-box;border:1px solid rgba(0,0,0,0.1);box-shadow:0 0.5rem 1rem rgba(51,51,51,0.15);border-radius:.25rem}.toast:not(.showing):not(.show){opacity:0}.toast.hide{display:none}.toast-container{width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:24px}.toast-header{display:flex;align-items:center;padding:.5rem .75rem;color:#6c757d;background-color:rgba(255,255,255,0.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,0.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-header .btn-close{margin-right:-.375rem;margin-left:.75rem}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform 0.3s ease-out;transform:translate(0, -50px)}@media (prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(51,51,51,0.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#333}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .btn-close{padding:.5rem .5rem;margin:-.5rem -.5rem -.5rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width: 576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{height:calc(100% - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width: 992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width: 1200px){.modal-xl{max-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}.modal-fullscreen .modal-footer{border-radius:0}@media (max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}.modal-fullscreen-sm-down .modal-footer{border-radius:0}}@media (max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}.modal-fullscreen-md-down .modal-footer{border-radius:0}}@media (max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}.modal-fullscreen-lg-down .modal-footer{border-radius:0}}@media (max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}.modal-fullscreen-xl-down .modal-footer{border-radius:0}}@media (max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}.modal-fullscreen-xxl-down .modal-footer{border-radius:0}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:"Helvetica Now Display",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";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[data-popper-placement^="top"]{padding:.4rem 0}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow{bottom:0}.bs-tooltip-top .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before{top:-1px;border-width:.4rem .4rem 0;border-top-color:#333}.bs-tooltip-end,.bs-tooltip-auto[data-popper-placement^="right"]{padding:0 .4rem}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-end .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow::before{right:-1px;border-width:.4rem .4rem .4rem 0;border-right-color:#333}.bs-tooltip-bottom,.bs-tooltip-auto[data-popper-placement^="bottom"]{padding:.4rem 0}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow{top:0}.bs-tooltip-bottom .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow::before{bottom:-1px;border-width:0 .4rem .4rem;border-bottom-color:#333}.bs-tooltip-start,.bs-tooltip-auto[data-popper-placement^="left"]{padding:0 .4rem}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-start .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow::before{left:-1px;border-width:.4rem 0 .4rem .4rem;border-left-color:#333}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#333;border-radius:.25rem}.popover{position:absolute;top:0;left:0 /* rtl:ignore */;z-index:1060;display:block;max-width:276px;font-family:"Helvetica Now Display",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";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(51,51,51,0.2);border-radius:.3rem}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .popover-arrow::before,.popover .popover-arrow::after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-top,.bs-popover-auto[data-popper-placement^="top"]{margin-bottom:.5rem !important}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow{bottom:calc(-.5rem - 1px)}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(51,51,51,0.25)}.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-end,.bs-popover-auto[data-popper-placement^="right"]{margin-left:.5rem !important}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(51,51,51,0.25)}.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-bottom,.bs-popover-auto[data-popper-placement^="bottom"]{margin-top:.5rem !important}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow{top:calc(-.5rem - 1px)}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(51,51,51,0.25)}.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-bottom .popover-header::before,.bs-popover-auto[data-popper-placement^="bottom"] .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f0f0f0}.bs-popover-start,.bs-popover-auto[data-popper-placement^="left"]{margin-right:.5rem !important}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(51,51,51,0.25)}.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;background-color:#f0f0f0;border-bottom:1px solid #d8d8d8;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:1rem 1rem;color:#333}@keyframes spinner-border{to{transform:rotate(360deg) /* rtl:ignore */}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{animation-duration:1.5s}}.clearfix::after{display:block;clear:both;content:""}.link-primary{color:#0e3481}.link-primary:hover,.link-primary:focus{color:#0b2a67}.link-secondary{color:#6c757d}.link-secondary:hover,.link-secondary:focus{color:#565e64}.link-success{color:#198754}.link-success:hover,.link-success:focus{color:#146c43}.link-info{color:#0dcaf0}.link-info:hover,.link-info:focus{color:#3dd5f3}.link-warning{color:#ffc107}.link-warning:hover,.link-warning:focus{color:#ffcd39}.link-danger{color:#dc3545}.link-danger:hover,.link-danger:focus{color:#b02a37}.link-light{color:#f8f9fa}.link-light:hover,.link-light:focus{color:#f9fafb}.link-dark{color:#212529}.link-dark:hover,.link-dark:focus{color:#1a1e21}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--aspect-ratio: 100%}.ratio-4x3{--aspect-ratio: calc(3 / 4 * 100%)}.ratio-16x9{--aspect-ratio: calc(9 / 16 * 100%)}.ratio-21x9{--aspect-ratio: calc(9 / 21 * 100%)}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}@media (min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}}@media (min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}}@media (min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}}@media (min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}}@media (min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}}.visually-hidden,.visually-hidden-focusable:not(:focus){position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.align-baseline{vertical-align:baseline !important}.align-top{vertical-align:top !important}.align-middle{vertical-align:middle !important}.align-bottom{vertical-align:bottom !important}.align-text-bottom{vertical-align:text-bottom !important}.align-text-top{vertical-align:text-top !important}.float-start{float:left !important}.float-end{float:right !important}.float-none{float:none !important}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.overflow-visible{overflow:visible !important}.overflow-scroll{overflow:scroll !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-grid{display:grid !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}.d-none{display:none !important}.shadow{box-shadow:0 0.5rem 1rem rgba(51,51,51,0.15) !important}.shadow-sm{box-shadow:0 0.125rem 0.25rem rgba(51,51,51,0.075) !important}.shadow-lg{box-shadow:0 1rem 3rem rgba(51,51,51,0.175) !important}.shadow-none{box-shadow:none !important}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}.top-0{top:0 !important}.top-50{top:50% !important}.top-100{top:100% !important}.bottom-0{bottom:0 !important}.bottom-50{bottom:50% !important}.bottom-100{bottom:100% !important}.start-0{left:0 !important}.start-50{left:50% !important}.start-100{left:100% !important}.end-0{right:0 !important}.end-50{right:50% !important}.end-100{right:100% !important}.translate-middle{transform:translate(-50%, -50%) !important}.translate-middle-x{transform:translateX(-50%) !important}.translate-middle-y{transform:translateY(-50%) !important}.border{border:1px solid #dee2e6 !important}.border-0{border:0 !important}.border-top{border-top:1px solid #dee2e6 !important}.border-top-0{border-top:0 !important}.border-end{border-right:1px solid #dee2e6 !important}.border-end-0{border-right:0 !important}.border-bottom{border-bottom:1px solid #dee2e6 !important}.border-bottom-0{border-bottom:0 !important}.border-start{border-left:1px solid #dee2e6 !important}.border-start-0{border-left:0 !important}.border-primary{border-color:#0e3481 !important}.border-secondary{border-color:#6c757d !important}.border-success{border-color:#198754 !important}.border-info{border-color:#0dcaf0 !important}.border-warning{border-color:#ffc107 !important}.border-danger{border-color:#dc3545 !important}.border-light{border-color:#f8f9fa !important}.border-dark{border-color:#212529 !important}.border-white{border-color:#fff !important}.border-0{border-width:0 !important}.border-1{border-width:1px !important}.border-2{border-width:2px !important}.border-3{border-width:3px !important}.border-4{border-width:4px !important}.border-5{border-width:5px !important}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.mw-100{max-width:100% !important}.vw-100{width:100vw !important}.min-vw-100{min-width:100vw !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mh-100{max-height:100% !important}.vh-100{height:100vh !important}.min-vh-100{min-height:100vh !important}.flex-fill{flex:1 1 auto !important}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-0{gap:0 !important}.gap-1{gap:.25rem !important}.gap-2{gap:.5rem !important}.gap-3{gap:1rem !important}.gap-4{gap:1.5rem !important}.gap-5{gap:3rem !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.justify-content-evenly{justify-content:space-evenly !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}.order-first{order:-1 !important}.order-0{order:0 !important}.order-1{order:1 !important}.order-2{order:2 !important}.order-3{order:3 !important}.order-4{order:4 !important}.order-5{order:5 !important}.order-last{order:6 !important}.m-0{margin:0 !important}.m-1{margin:.25rem !important}.m-2{margin:.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.m-auto{margin:auto !important}.mx-0{margin-right:0 !important;margin-left:0 !important}.mx-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-3{margin-right:1rem !important;margin-left:1rem !important}.mx-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-5{margin-right:3rem !important;margin-left:3rem !important}.mx-auto{margin-right:auto !important;margin-left:auto !important}.my-0{margin-top:0 !important;margin-bottom:0 !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-0{margin-top:0 !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:3rem !important}.mt-auto{margin-top:auto !important}.me-0{margin-right:0 !important}.me-1{margin-right:.25rem !important}.me-2{margin-right:.5rem !important}.me-3{margin-right:1rem !important}.me-4{margin-right:1.5rem !important}.me-5{margin-right:3rem !important}.me-auto{margin-right:auto !important}.mb-0{margin-bottom:0 !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:3rem !important}.mb-auto{margin-bottom:auto !important}.ms-0{margin-left:0 !important}.ms-1{margin-left:.25rem !important}.ms-2{margin-left:.5rem !important}.ms-3{margin-left:1rem !important}.ms-4{margin-left:1.5rem !important}.ms-5{margin-left:3rem !important}.ms-auto{margin-left:auto !important}.p-0{padding:0 !important}.p-1{padding:.25rem !important}.p-2{padding:.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}.px-0{padding-right:0 !important;padding-left:0 !important}.px-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-3{padding-right:1rem !important;padding-left:1rem !important}.px-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-5{padding-right:3rem !important;padding-left:3rem !important}.py-0{padding-top:0 !important;padding-bottom:0 !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-0{padding-top:0 !important}.pt-1{padding-top:.25rem !important}.pt-2{padding-top:.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:3rem !important}.pe-0{padding-right:0 !important}.pe-1{padding-right:.25rem !important}.pe-2{padding-right:.5rem !important}.pe-3{padding-right:1rem !important}.pe-4{padding-right:1.5rem !important}.pe-5{padding-right:3rem !important}.pb-0{padding-bottom:0 !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}.ps-0{padding-left:0 !important}.ps-1{padding-left:.25rem !important}.ps-2{padding-left:.5rem !important}.ps-3{padding-left:1rem !important}.ps-4{padding-left:1.5rem !important}.ps-5{padding-left:3rem !important}.fs-1{font-size:calc(1.375rem + 1.5vw) !important}.fs-2{font-size:calc(1.325rem + .9vw) !important}.fs-3{font-size:calc(1.265rem + .18vw) !important}.fs-4{font-size:calc(1.275rem + .3vw) !important}.fs-5{font-size:1.25rem !important}.fs-6{font-size:1rem !important}.fst-italic{font-style:italic !important}.fst-normal{font-style:normal !important}.fw-light{font-weight:300 !important}.fw-lighter{font-weight:lighter !important}.fw-normal{font-weight:400 !important}.fw-bold{font-weight:500 !important}.fw-bolder{font-weight:bolder !important}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.text-start{text-align:left !important}.text-end{text-align:right !important}.text-center{text-align:center !important}.text-primary{color:#0e3481 !important}.text-secondary{color:#6c757d !important}.text-success{color:#198754 !important}.text-info{color:#0dcaf0 !important}.text-warning{color:#ffc107 !important}.text-danger{color:#dc3545 !important}.text-light{color:#f8f9fa !important}.text-dark{color:#212529 !important}.text-white{color:#fff !important}.text-body{color:#333 !important}.text-muted{color:#6c757d !important}.text-black-50{color:rgba(51,51,51,0.5) !important}.text-white-50{color:rgba(255,255,255,0.5) !important}.text-reset{color:inherit !important}.lh-1{line-height:1 !important}.lh-sm{line-height:1.25 !important}.lh-base{line-height:1.5 !important}.lh-lg{line-height:2 !important}.bg-primary{background-color:#0e3481 !important}.bg-secondary{background-color:#6c757d !important}.bg-success{background-color:#198754 !important}.bg-info{background-color:#0dcaf0 !important}.bg-warning{background-color:#ffc107 !important}.bg-danger{background-color:#dc3545 !important}.bg-light{background-color:#f8f9fa !important}.bg-dark{background-color:#212529 !important}.bg-body{background-color:#fff !important}.bg-white{background-color:#fff !important}.bg-transparent{background-color:rgba(0,0,0,0) !important}.bg-gradient{background-image:var(--bs-gradient) !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-decoration-none{text-decoration:none !important}.text-decoration-underline{text-decoration:underline !important}.text-decoration-line-through{text-decoration:line-through !important}.text-break{word-wrap:break-word !important;word-break:break-word !important}.font-monospace{font-family:var(--bs-font-monospace) !important}.user-select-all{-webkit-user-select:all !important;-moz-user-select:all !important;user-select:all !important}.user-select-auto{-webkit-user-select:auto !important;-moz-user-select:auto !important;user-select:auto !important}.user-select-none{-webkit-user-select:none !important;-moz-user-select:none !important;user-select:none !important}.pe-none{pointer-events:none !important}.pe-auto{pointer-events:auto !important}.rounded{border-radius:.25rem !important}.rounded-0{border-radius:0 !important}.rounded-1{border-radius:.2rem !important}.rounded-2{border-radius:.25rem !important}.rounded-3{border-radius:.3rem !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:50rem !important}.rounded-top{border-top-left-radius:.25rem !important;border-top-right-radius:.25rem !important}.rounded-end{border-top-right-radius:.25rem !important;border-bottom-right-radius:.25rem !important}.rounded-bottom{border-bottom-right-radius:.25rem !important;border-bottom-left-radius:.25rem !important}.rounded-start{border-bottom-left-radius:.25rem !important;border-top-left-radius:.25rem !important}.visible{visibility:visible !important}.invisible{visibility:hidden !important}@media (min-width: 576px){.float-sm-start{float:left !important}.float-sm-end{float:right !important}.float-sm-none{float:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-grid{display:grid !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}.d-sm-none{display:none !important}.flex-sm-fill{flex:1 1 auto !important}.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-grow-0{flex-grow:0 !important}.flex-sm-grow-1{flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-sm-0{gap:0 !important}.gap-sm-1{gap:.25rem !important}.gap-sm-2{gap:.5rem !important}.gap-sm-3{gap:1rem !important}.gap-sm-4{gap:1.5rem !important}.gap-sm-5{gap:3rem !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.justify-content-sm-evenly{justify-content:space-evenly !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}.order-sm-first{order:-1 !important}.order-sm-0{order:0 !important}.order-sm-1{order:1 !important}.order-sm-2{order:2 !important}.order-sm-3{order:3 !important}.order-sm-4{order:4 !important}.order-sm-5{order:5 !important}.order-sm-last{order:6 !important}.m-sm-0{margin:0 !important}.m-sm-1{margin:.25rem !important}.m-sm-2{margin:.5rem !important}.m-sm-3{margin:1rem !important}.m-sm-4{margin:1.5rem !important}.m-sm-5{margin:3rem !important}.m-sm-auto{margin:auto !important}.mx-sm-0{margin-right:0 !important;margin-left:0 !important}.mx-sm-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-sm-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-sm-3{margin-right:1rem !important;margin-left:1rem !important}.mx-sm-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-sm-5{margin-right:3rem !important;margin-left:3rem !important}.mx-sm-auto{margin-right:auto !important;margin-left:auto !important}.my-sm-0{margin-top:0 !important;margin-bottom:0 !important}.my-sm-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-sm-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-sm-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-sm-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-sm-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-sm-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-sm-0{margin-top:0 !important}.mt-sm-1{margin-top:.25rem !important}.mt-sm-2{margin-top:.5rem !important}.mt-sm-3{margin-top:1rem !important}.mt-sm-4{margin-top:1.5rem !important}.mt-sm-5{margin-top:3rem !important}.mt-sm-auto{margin-top:auto !important}.me-sm-0{margin-right:0 !important}.me-sm-1{margin-right:.25rem !important}.me-sm-2{margin-right:.5rem !important}.me-sm-3{margin-right:1rem !important}.me-sm-4{margin-right:1.5rem !important}.me-sm-5{margin-right:3rem !important}.me-sm-auto{margin-right:auto !important}.mb-sm-0{margin-bottom:0 !important}.mb-sm-1{margin-bottom:.25rem !important}.mb-sm-2{margin-bottom:.5rem !important}.mb-sm-3{margin-bottom:1rem !important}.mb-sm-4{margin-bottom:1.5rem !important}.mb-sm-5{margin-bottom:3rem !important}.mb-sm-auto{margin-bottom:auto !important}.ms-sm-0{margin-left:0 !important}.ms-sm-1{margin-left:.25rem !important}.ms-sm-2{margin-left:.5rem !important}.ms-sm-3{margin-left:1rem !important}.ms-sm-4{margin-left:1.5rem !important}.ms-sm-5{margin-left:3rem !important}.ms-sm-auto{margin-left:auto !important}.p-sm-0{padding:0 !important}.p-sm-1{padding:.25rem !important}.p-sm-2{padding:.5rem !important}.p-sm-3{padding:1rem !important}.p-sm-4{padding:1.5rem !important}.p-sm-5{padding:3rem !important}.px-sm-0{padding-right:0 !important;padding-left:0 !important}.px-sm-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-sm-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-sm-3{padding-right:1rem !important;padding-left:1rem !important}.px-sm-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-sm-5{padding-right:3rem !important;padding-left:3rem !important}.py-sm-0{padding-top:0 !important;padding-bottom:0 !important}.py-sm-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-sm-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-sm-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-sm-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-sm-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-sm-0{padding-top:0 !important}.pt-sm-1{padding-top:.25rem !important}.pt-sm-2{padding-top:.5rem !important}.pt-sm-3{padding-top:1rem !important}.pt-sm-4{padding-top:1.5rem !important}.pt-sm-5{padding-top:3rem !important}.pe-sm-0{padding-right:0 !important}.pe-sm-1{padding-right:.25rem !important}.pe-sm-2{padding-right:.5rem !important}.pe-sm-3{padding-right:1rem !important}.pe-sm-4{padding-right:1.5rem !important}.pe-sm-5{padding-right:3rem !important}.pb-sm-0{padding-bottom:0 !important}.pb-sm-1{padding-bottom:.25rem !important}.pb-sm-2{padding-bottom:.5rem !important}.pb-sm-3{padding-bottom:1rem !important}.pb-sm-4{padding-bottom:1.5rem !important}.pb-sm-5{padding-bottom:3rem !important}.ps-sm-0{padding-left:0 !important}.ps-sm-1{padding-left:.25rem !important}.ps-sm-2{padding-left:.5rem !important}.ps-sm-3{padding-left:1rem !important}.ps-sm-4{padding-left:1.5rem !important}.ps-sm-5{padding-left:3rem !important}.text-sm-start{text-align:left !important}.text-sm-end{text-align:right !important}.text-sm-center{text-align:center !important}}@media (min-width: 768px){.float-md-start{float:left !important}.float-md-end{float:right !important}.float-md-none{float:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-grid{display:grid !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}.d-md-none{display:none !important}.flex-md-fill{flex:1 1 auto !important}.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-grow-0{flex-grow:0 !important}.flex-md-grow-1{flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-md-0{gap:0 !important}.gap-md-1{gap:.25rem !important}.gap-md-2{gap:.5rem !important}.gap-md-3{gap:1rem !important}.gap-md-4{gap:1.5rem !important}.gap-md-5{gap:3rem !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.justify-content-md-evenly{justify-content:space-evenly !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}.order-md-first{order:-1 !important}.order-md-0{order:0 !important}.order-md-1{order:1 !important}.order-md-2{order:2 !important}.order-md-3{order:3 !important}.order-md-4{order:4 !important}.order-md-5{order:5 !important}.order-md-last{order:6 !important}.m-md-0{margin:0 !important}.m-md-1{margin:.25rem !important}.m-md-2{margin:.5rem !important}.m-md-3{margin:1rem !important}.m-md-4{margin:1.5rem !important}.m-md-5{margin:3rem !important}.m-md-auto{margin:auto !important}.mx-md-0{margin-right:0 !important;margin-left:0 !important}.mx-md-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-md-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-md-3{margin-right:1rem !important;margin-left:1rem !important}.mx-md-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-md-5{margin-right:3rem !important;margin-left:3rem !important}.mx-md-auto{margin-right:auto !important;margin-left:auto !important}.my-md-0{margin-top:0 !important;margin-bottom:0 !important}.my-md-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-md-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-md-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-md-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-md-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-md-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-md-0{margin-top:0 !important}.mt-md-1{margin-top:.25rem !important}.mt-md-2{margin-top:.5rem !important}.mt-md-3{margin-top:1rem !important}.mt-md-4{margin-top:1.5rem !important}.mt-md-5{margin-top:3rem !important}.mt-md-auto{margin-top:auto !important}.me-md-0{margin-right:0 !important}.me-md-1{margin-right:.25rem !important}.me-md-2{margin-right:.5rem !important}.me-md-3{margin-right:1rem !important}.me-md-4{margin-right:1.5rem !important}.me-md-5{margin-right:3rem !important}.me-md-auto{margin-right:auto !important}.mb-md-0{margin-bottom:0 !important}.mb-md-1{margin-bottom:.25rem !important}.mb-md-2{margin-bottom:.5rem !important}.mb-md-3{margin-bottom:1rem !important}.mb-md-4{margin-bottom:1.5rem !important}.mb-md-5{margin-bottom:3rem !important}.mb-md-auto{margin-bottom:auto !important}.ms-md-0{margin-left:0 !important}.ms-md-1{margin-left:.25rem !important}.ms-md-2{margin-left:.5rem !important}.ms-md-3{margin-left:1rem !important}.ms-md-4{margin-left:1.5rem !important}.ms-md-5{margin-left:3rem !important}.ms-md-auto{margin-left:auto !important}.p-md-0{padding:0 !important}.p-md-1{padding:.25rem !important}.p-md-2{padding:.5rem !important}.p-md-3{padding:1rem !important}.p-md-4{padding:1.5rem !important}.p-md-5{padding:3rem !important}.px-md-0{padding-right:0 !important;padding-left:0 !important}.px-md-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-md-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-md-3{padding-right:1rem !important;padding-left:1rem !important}.px-md-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-md-5{padding-right:3rem !important;padding-left:3rem !important}.py-md-0{padding-top:0 !important;padding-bottom:0 !important}.py-md-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-md-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-md-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-md-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-md-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-md-0{padding-top:0 !important}.pt-md-1{padding-top:.25rem !important}.pt-md-2{padding-top:.5rem !important}.pt-md-3{padding-top:1rem !important}.pt-md-4{padding-top:1.5rem !important}.pt-md-5{padding-top:3rem !important}.pe-md-0{padding-right:0 !important}.pe-md-1{padding-right:.25rem !important}.pe-md-2{padding-right:.5rem !important}.pe-md-3{padding-right:1rem !important}.pe-md-4{padding-right:1.5rem !important}.pe-md-5{padding-right:3rem !important}.pb-md-0{padding-bottom:0 !important}.pb-md-1{padding-bottom:.25rem !important}.pb-md-2{padding-bottom:.5rem !important}.pb-md-3{padding-bottom:1rem !important}.pb-md-4{padding-bottom:1.5rem !important}.pb-md-5{padding-bottom:3rem !important}.ps-md-0{padding-left:0 !important}.ps-md-1{padding-left:.25rem !important}.ps-md-2{padding-left:.5rem !important}.ps-md-3{padding-left:1rem !important}.ps-md-4{padding-left:1.5rem !important}.ps-md-5{padding-left:3rem !important}.text-md-start{text-align:left !important}.text-md-end{text-align:right !important}.text-md-center{text-align:center !important}}@media (min-width: 992px){.float-lg-start{float:left !important}.float-lg-end{float:right !important}.float-lg-none{float:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-grid{display:grid !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:flex !important}.d-lg-inline-flex{display:inline-flex !important}.d-lg-none{display:none !important}.flex-lg-fill{flex:1 1 auto !important}.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-grow-0{flex-grow:0 !important}.flex-lg-grow-1{flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-lg-0{gap:0 !important}.gap-lg-1{gap:.25rem !important}.gap-lg-2{gap:.5rem !important}.gap-lg-3{gap:1rem !important}.gap-lg-4{gap:1.5rem !important}.gap-lg-5{gap:3rem !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.justify-content-lg-evenly{justify-content:space-evenly !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}.order-lg-first{order:-1 !important}.order-lg-0{order:0 !important}.order-lg-1{order:1 !important}.order-lg-2{order:2 !important}.order-lg-3{order:3 !important}.order-lg-4{order:4 !important}.order-lg-5{order:5 !important}.order-lg-last{order:6 !important}.m-lg-0{margin:0 !important}.m-lg-1{margin:.25rem !important}.m-lg-2{margin:.5rem !important}.m-lg-3{margin:1rem !important}.m-lg-4{margin:1.5rem !important}.m-lg-5{margin:3rem !important}.m-lg-auto{margin:auto !important}.mx-lg-0{margin-right:0 !important;margin-left:0 !important}.mx-lg-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-lg-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-lg-3{margin-right:1rem !important;margin-left:1rem !important}.mx-lg-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-lg-5{margin-right:3rem !important;margin-left:3rem !important}.mx-lg-auto{margin-right:auto !important;margin-left:auto !important}.my-lg-0{margin-top:0 !important;margin-bottom:0 !important}.my-lg-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-lg-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-lg-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-lg-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-lg-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-lg-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-lg-0{margin-top:0 !important}.mt-lg-1{margin-top:.25rem !important}.mt-lg-2{margin-top:.5rem !important}.mt-lg-3{margin-top:1rem !important}.mt-lg-4{margin-top:1.5rem !important}.mt-lg-5{margin-top:3rem !important}.mt-lg-auto{margin-top:auto !important}.me-lg-0{margin-right:0 !important}.me-lg-1{margin-right:.25rem !important}.me-lg-2{margin-right:.5rem !important}.me-lg-3{margin-right:1rem !important}.me-lg-4{margin-right:1.5rem !important}.me-lg-5{margin-right:3rem !important}.me-lg-auto{margin-right:auto !important}.mb-lg-0{margin-bottom:0 !important}.mb-lg-1{margin-bottom:.25rem !important}.mb-lg-2{margin-bottom:.5rem !important}.mb-lg-3{margin-bottom:1rem !important}.mb-lg-4{margin-bottom:1.5rem !important}.mb-lg-5{margin-bottom:3rem !important}.mb-lg-auto{margin-bottom:auto !important}.ms-lg-0{margin-left:0 !important}.ms-lg-1{margin-left:.25rem !important}.ms-lg-2{margin-left:.5rem !important}.ms-lg-3{margin-left:1rem !important}.ms-lg-4{margin-left:1.5rem !important}.ms-lg-5{margin-left:3rem !important}.ms-lg-auto{margin-left:auto !important}.p-lg-0{padding:0 !important}.p-lg-1{padding:.25rem !important}.p-lg-2{padding:.5rem !important}.p-lg-3{padding:1rem !important}.p-lg-4{padding:1.5rem !important}.p-lg-5{padding:3rem !important}.px-lg-0{padding-right:0 !important;padding-left:0 !important}.px-lg-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-lg-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-lg-3{padding-right:1rem !important;padding-left:1rem !important}.px-lg-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-lg-5{padding-right:3rem !important;padding-left:3rem !important}.py-lg-0{padding-top:0 !important;padding-bottom:0 !important}.py-lg-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-lg-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-lg-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-lg-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-lg-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-lg-0{padding-top:0 !important}.pt-lg-1{padding-top:.25rem !important}.pt-lg-2{padding-top:.5rem !important}.pt-lg-3{padding-top:1rem !important}.pt-lg-4{padding-top:1.5rem !important}.pt-lg-5{padding-top:3rem !important}.pe-lg-0{padding-right:0 !important}.pe-lg-1{padding-right:.25rem !important}.pe-lg-2{padding-right:.5rem !important}.pe-lg-3{padding-right:1rem !important}.pe-lg-4{padding-right:1.5rem !important}.pe-lg-5{padding-right:3rem !important}.pb-lg-0{padding-bottom:0 !important}.pb-lg-1{padding-bottom:.25rem !important}.pb-lg-2{padding-bottom:.5rem !important}.pb-lg-3{padding-bottom:1rem !important}.pb-lg-4{padding-bottom:1.5rem !important}.pb-lg-5{padding-bottom:3rem !important}.ps-lg-0{padding-left:0 !important}.ps-lg-1{padding-left:.25rem !important}.ps-lg-2{padding-left:.5rem !important}.ps-lg-3{padding-left:1rem !important}.ps-lg-4{padding-left:1.5rem !important}.ps-lg-5{padding-left:3rem !important}.text-lg-start{text-align:left !important}.text-lg-end{text-align:right !important}.text-lg-center{text-align:center !important}}@media (min-width: 1200px){.float-xl-start{float:left !important}.float-xl-end{float:right !important}.float-xl-none{float:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-grid{display:grid !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:flex !important}.d-xl-inline-flex{display:inline-flex !important}.d-xl-none{display:none !important}.flex-xl-fill{flex:1 1 auto !important}.flex-xl-row{flex-direction:row !important}.flex-xl-column{flex-direction:column !important}.flex-xl-row-reverse{flex-direction:row-reverse !important}.flex-xl-column-reverse{flex-direction:column-reverse !important}.flex-xl-grow-0{flex-grow:0 !important}.flex-xl-grow-1{flex-grow:1 !important}.flex-xl-shrink-0{flex-shrink:0 !important}.flex-xl-shrink-1{flex-shrink:1 !important}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-xl-0{gap:0 !important}.gap-xl-1{gap:.25rem !important}.gap-xl-2{gap:.5rem !important}.gap-xl-3{gap:1rem !important}.gap-xl-4{gap:1.5rem !important}.gap-xl-5{gap:3rem !important}.justify-content-xl-start{justify-content:flex-start !important}.justify-content-xl-end{justify-content:flex-end !important}.justify-content-xl-center{justify-content:center !important}.justify-content-xl-between{justify-content:space-between !important}.justify-content-xl-around{justify-content:space-around !important}.justify-content-xl-evenly{justify-content:space-evenly !important}.align-items-xl-start{align-items:flex-start !important}.align-items-xl-end{align-items:flex-end !important}.align-items-xl-center{align-items:center !important}.align-items-xl-baseline{align-items:baseline !important}.align-items-xl-stretch{align-items:stretch !important}.align-content-xl-start{align-content:flex-start !important}.align-content-xl-end{align-content:flex-end !important}.align-content-xl-center{align-content:center !important}.align-content-xl-between{align-content:space-between !important}.align-content-xl-around{align-content:space-around !important}.align-content-xl-stretch{align-content:stretch !important}.align-self-xl-auto{align-self:auto !important}.align-self-xl-start{align-self:flex-start !important}.align-self-xl-end{align-self:flex-end !important}.align-self-xl-center{align-self:center !important}.align-self-xl-baseline{align-self:baseline !important}.align-self-xl-stretch{align-self:stretch !important}.order-xl-first{order:-1 !important}.order-xl-0{order:0 !important}.order-xl-1{order:1 !important}.order-xl-2{order:2 !important}.order-xl-3{order:3 !important}.order-xl-4{order:4 !important}.order-xl-5{order:5 !important}.order-xl-last{order:6 !important}.m-xl-0{margin:0 !important}.m-xl-1{margin:.25rem !important}.m-xl-2{margin:.5rem !important}.m-xl-3{margin:1rem !important}.m-xl-4{margin:1.5rem !important}.m-xl-5{margin:3rem !important}.m-xl-auto{margin:auto !important}.mx-xl-0{margin-right:0 !important;margin-left:0 !important}.mx-xl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xl-5{margin-right:3rem !important;margin-left:3rem !important}.mx-xl-auto{margin-right:auto !important;margin-left:auto !important}.my-xl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xl-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-xl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xl-0{margin-top:0 !important}.mt-xl-1{margin-top:.25rem !important}.mt-xl-2{margin-top:.5rem !important}.mt-xl-3{margin-top:1rem !important}.mt-xl-4{margin-top:1.5rem !important}.mt-xl-5{margin-top:3rem !important}.mt-xl-auto{margin-top:auto !important}.me-xl-0{margin-right:0 !important}.me-xl-1{margin-right:.25rem !important}.me-xl-2{margin-right:.5rem !important}.me-xl-3{margin-right:1rem !important}.me-xl-4{margin-right:1.5rem !important}.me-xl-5{margin-right:3rem !important}.me-xl-auto{margin-right:auto !important}.mb-xl-0{margin-bottom:0 !important}.mb-xl-1{margin-bottom:.25rem !important}.mb-xl-2{margin-bottom:.5rem !important}.mb-xl-3{margin-bottom:1rem !important}.mb-xl-4{margin-bottom:1.5rem !important}.mb-xl-5{margin-bottom:3rem !important}.mb-xl-auto{margin-bottom:auto !important}.ms-xl-0{margin-left:0 !important}.ms-xl-1{margin-left:.25rem !important}.ms-xl-2{margin-left:.5rem !important}.ms-xl-3{margin-left:1rem !important}.ms-xl-4{margin-left:1.5rem !important}.ms-xl-5{margin-left:3rem !important}.ms-xl-auto{margin-left:auto !important}.p-xl-0{padding:0 !important}.p-xl-1{padding:.25rem !important}.p-xl-2{padding:.5rem !important}.p-xl-3{padding:1rem !important}.p-xl-4{padding:1.5rem !important}.p-xl-5{padding:3rem !important}.px-xl-0{padding-right:0 !important;padding-left:0 !important}.px-xl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xl-5{padding-right:3rem !important;padding-left:3rem !important}.py-xl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xl-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-xl-0{padding-top:0 !important}.pt-xl-1{padding-top:.25rem !important}.pt-xl-2{padding-top:.5rem !important}.pt-xl-3{padding-top:1rem !important}.pt-xl-4{padding-top:1.5rem !important}.pt-xl-5{padding-top:3rem !important}.pe-xl-0{padding-right:0 !important}.pe-xl-1{padding-right:.25rem !important}.pe-xl-2{padding-right:.5rem !important}.pe-xl-3{padding-right:1rem !important}.pe-xl-4{padding-right:1.5rem !important}.pe-xl-5{padding-right:3rem !important}.pb-xl-0{padding-bottom:0 !important}.pb-xl-1{padding-bottom:.25rem !important}.pb-xl-2{padding-bottom:.5rem !important}.pb-xl-3{padding-bottom:1rem !important}.pb-xl-4{padding-bottom:1.5rem !important}.pb-xl-5{padding-bottom:3rem !important}.ps-xl-0{padding-left:0 !important}.ps-xl-1{padding-left:.25rem !important}.ps-xl-2{padding-left:.5rem !important}.ps-xl-3{padding-left:1rem !important}.ps-xl-4{padding-left:1.5rem !important}.ps-xl-5{padding-left:3rem !important}.text-xl-start{text-align:left !important}.text-xl-end{text-align:right !important}.text-xl-center{text-align:center !important}}@media (min-width: 1400px){.float-xxl-start{float:left !important}.float-xxl-end{float:right !important}.float-xxl-none{float:none !important}.d-xxl-inline{display:inline !important}.d-xxl-inline-block{display:inline-block !important}.d-xxl-block{display:block !important}.d-xxl-grid{display:grid !important}.d-xxl-table{display:table !important}.d-xxl-table-row{display:table-row !important}.d-xxl-table-cell{display:table-cell !important}.d-xxl-flex{display:flex !important}.d-xxl-inline-flex{display:inline-flex !important}.d-xxl-none{display:none !important}.flex-xxl-fill{flex:1 1 auto !important}.flex-xxl-row{flex-direction:row !important}.flex-xxl-column{flex-direction:column !important}.flex-xxl-row-reverse{flex-direction:row-reverse !important}.flex-xxl-column-reverse{flex-direction:column-reverse !important}.flex-xxl-grow-0{flex-grow:0 !important}.flex-xxl-grow-1{flex-grow:1 !important}.flex-xxl-shrink-0{flex-shrink:0 !important}.flex-xxl-shrink-1{flex-shrink:1 !important}.flex-xxl-wrap{flex-wrap:wrap !important}.flex-xxl-nowrap{flex-wrap:nowrap !important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-xxl-0{gap:0 !important}.gap-xxl-1{gap:.25rem !important}.gap-xxl-2{gap:.5rem !important}.gap-xxl-3{gap:1rem !important}.gap-xxl-4{gap:1.5rem !important}.gap-xxl-5{gap:3rem !important}.justify-content-xxl-start{justify-content:flex-start !important}.justify-content-xxl-end{justify-content:flex-end !important}.justify-content-xxl-center{justify-content:center !important}.justify-content-xxl-between{justify-content:space-between !important}.justify-content-xxl-around{justify-content:space-around !important}.justify-content-xxl-evenly{justify-content:space-evenly !important}.align-items-xxl-start{align-items:flex-start !important}.align-items-xxl-end{align-items:flex-end !important}.align-items-xxl-center{align-items:center !important}.align-items-xxl-baseline{align-items:baseline !important}.align-items-xxl-stretch{align-items:stretch !important}.align-content-xxl-start{align-content:flex-start !important}.align-content-xxl-end{align-content:flex-end !important}.align-content-xxl-center{align-content:center !important}.align-content-xxl-between{align-content:space-between !important}.align-content-xxl-around{align-content:space-around !important}.align-content-xxl-stretch{align-content:stretch !important}.align-self-xxl-auto{align-self:auto !important}.align-self-xxl-start{align-self:flex-start !important}.align-self-xxl-end{align-self:flex-end !important}.align-self-xxl-center{align-self:center !important}.align-self-xxl-baseline{align-self:baseline !important}.align-self-xxl-stretch{align-self:stretch !important}.order-xxl-first{order:-1 !important}.order-xxl-0{order:0 !important}.order-xxl-1{order:1 !important}.order-xxl-2{order:2 !important}.order-xxl-3{order:3 !important}.order-xxl-4{order:4 !important}.order-xxl-5{order:5 !important}.order-xxl-last{order:6 !important}.m-xxl-0{margin:0 !important}.m-xxl-1{margin:.25rem !important}.m-xxl-2{margin:.5rem !important}.m-xxl-3{margin:1rem !important}.m-xxl-4{margin:1.5rem !important}.m-xxl-5{margin:3rem !important}.m-xxl-auto{margin:auto !important}.mx-xxl-0{margin-right:0 !important;margin-left:0 !important}.mx-xxl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xxl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xxl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xxl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xxl-5{margin-right:3rem !important;margin-left:3rem !important}.mx-xxl-auto{margin-right:auto !important;margin-left:auto !important}.my-xxl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xxl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xxl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xxl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xxl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xxl-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-xxl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xxl-0{margin-top:0 !important}.mt-xxl-1{margin-top:.25rem !important}.mt-xxl-2{margin-top:.5rem !important}.mt-xxl-3{margin-top:1rem !important}.mt-xxl-4{margin-top:1.5rem !important}.mt-xxl-5{margin-top:3rem !important}.mt-xxl-auto{margin-top:auto !important}.me-xxl-0{margin-right:0 !important}.me-xxl-1{margin-right:.25rem !important}.me-xxl-2{margin-right:.5rem !important}.me-xxl-3{margin-right:1rem !important}.me-xxl-4{margin-right:1.5rem !important}.me-xxl-5{margin-right:3rem !important}.me-xxl-auto{margin-right:auto !important}.mb-xxl-0{margin-bottom:0 !important}.mb-xxl-1{margin-bottom:.25rem !important}.mb-xxl-2{margin-bottom:.5rem !important}.mb-xxl-3{margin-bottom:1rem !important}.mb-xxl-4{margin-bottom:1.5rem !important}.mb-xxl-5{margin-bottom:3rem !important}.mb-xxl-auto{margin-bottom:auto !important}.ms-xxl-0{margin-left:0 !important}.ms-xxl-1{margin-left:.25rem !important}.ms-xxl-2{margin-left:.5rem !important}.ms-xxl-3{margin-left:1rem !important}.ms-xxl-4{margin-left:1.5rem !important}.ms-xxl-5{margin-left:3rem !important}.ms-xxl-auto{margin-left:auto !important}.p-xxl-0{padding:0 !important}.p-xxl-1{padding:.25rem !important}.p-xxl-2{padding:.5rem !important}.p-xxl-3{padding:1rem !important}.p-xxl-4{padding:1.5rem !important}.p-xxl-5{padding:3rem !important}.px-xxl-0{padding-right:0 !important;padding-left:0 !important}.px-xxl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xxl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xxl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xxl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xxl-5{padding-right:3rem !important;padding-left:3rem !important}.py-xxl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xxl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xxl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xxl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xxl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xxl-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-xxl-0{padding-top:0 !important}.pt-xxl-1{padding-top:.25rem !important}.pt-xxl-2{padding-top:.5rem !important}.pt-xxl-3{padding-top:1rem !important}.pt-xxl-4{padding-top:1.5rem !important}.pt-xxl-5{padding-top:3rem !important}.pe-xxl-0{padding-right:0 !important}.pe-xxl-1{padding-right:.25rem !important}.pe-xxl-2{padding-right:.5rem !important}.pe-xxl-3{padding-right:1rem !important}.pe-xxl-4{padding-right:1.5rem !important}.pe-xxl-5{padding-right:3rem !important}.pb-xxl-0{padding-bottom:0 !important}.pb-xxl-1{padding-bottom:.25rem !important}.pb-xxl-2{padding-bottom:.5rem !important}.pb-xxl-3{padding-bottom:1rem !important}.pb-xxl-4{padding-bottom:1.5rem !important}.pb-xxl-5{padding-bottom:3rem !important}.ps-xxl-0{padding-left:0 !important}.ps-xxl-1{padding-left:.25rem !important}.ps-xxl-2{padding-left:.5rem !important}.ps-xxl-3{padding-left:1rem !important}.ps-xxl-4{padding-left:1.5rem !important}.ps-xxl-5{padding-left:3rem !important}.text-xxl-start{text-align:left !important}.text-xxl-end{text-align:right !important}.text-xxl-center{text-align:center !important}}@media (min-width: 1200px){.fs-1{font-size:2.5rem !important}.fs-2{font-size:2rem !important}.fs-3{font-size:1.4rem !important}.fs-4{font-size:1.5rem !important}.fs-sm-1{font-size:2.5rem !important}.fs-sm-2{font-size:2rem !important}.fs-sm-3{font-size:1.4rem !important}.fs-sm-4{font-size:1.5rem !important}.fs-md-1{font-size:2.5rem !important}.fs-md-2{font-size:2rem !important}.fs-md-3{font-size:1.4rem !important}.fs-md-4{font-size:1.5rem !important}.fs-lg-1{font-size:2.5rem !important}.fs-lg-2{font-size:2rem !important}.fs-lg-3{font-size:1.4rem !important}.fs-lg-4{font-size:1.5rem !important}}@media print{.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-grid{display:grid !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:flex !important}.d-print-inline-flex{display:inline-flex !important}.d-print-none{display:none !important}}/*! + * justifiedGallery - v3.8.1 + * http://miromannino.github.io/Justified-Gallery/ + * Copyright (c) 2020 Miro Mannino + * Licensed under the MIT license. + */.justified-gallery{width:100%;position:relative;overflow:hidden}.justified-gallery>a,.justified-gallery>div,.justified-gallery>figure{position:absolute;display:inline-block;overflow:hidden;filter:'alpha(opacity=10)';opacity:0.1;margin:0;padding:0}.justified-gallery>a>img,.justified-gallery>div>img,.justified-gallery>figure>img,.justified-gallery>a>a>img,.justified-gallery>div>a>img,.justified-gallery>figure>a>img,.justified-gallery>a>svg,.justified-gallery>div>svg,.justified-gallery>figure>svg,.justified-gallery>a>a>svg,.justified-gallery>div>a>svg,.justified-gallery>figure>a>svg{position:absolute;top:50%;left:50%;margin:0;padding:0;border:none;filter:'alpha(opacity=0)';opacity:0}.justified-gallery>a>.jg-caption,.justified-gallery>div>.jg-caption,.justified-gallery>figure>.jg-caption{display:none;position:absolute;bottom:0;padding:5px;background-color:#000000;left:0;right:0;margin:0;color:white;font-size:12px;font-weight:300;font-family:sans-serif}.justified-gallery>a>.jg-caption.jg-caption-visible,.justified-gallery>div>.jg-caption.jg-caption-visible,.justified-gallery>figure>.jg-caption.jg-caption-visible{display:initial;filter:'alpha(opacity=70)';opacity:0.7;transition:opacity 500ms ease-in}.justified-gallery>.jg-entry-visible{filter:'alpha(opacity=100)';opacity:1;background:none}.justified-gallery>.jg-entry-visible>img,.justified-gallery>.jg-entry-visible>a>img,.justified-gallery>.jg-entry-visible>svg,.justified-gallery>.jg-entry-visible>a>svg{filter:'alpha(opacity=100)';opacity:1;transition:opacity 500ms ease-in}.justified-gallery>.jg-filtered{display:none}.justified-gallery>.jg-spinner{position:absolute;bottom:0;margin-left:-24px;padding:10px 0 10px 0;left:50%;filter:'alpha(opacity=100)';opacity:1;overflow:initial}.justified-gallery>.jg-spinner>span{display:inline-block;filter:'alpha(opacity=0)';opacity:0;width:8px;height:8px;margin:0 4px 0 4px;background-color:#000;border-radius:6px}@font-face{font-family:'Helvetica Now Display';src:url("fonts/HelveticaNowDisplay-ExtLt.woff2") format("woff2"),url("fonts/HelveticaNowDisplay-ExtLt.woff") format("woff"),url("fonts/HelveticaNowDisplay-ExtLt.ttf") format("truetype");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:'Helvetica Now Display';src:url("fonts/HelveticaNowDisplay-ThinIta.woff2") format("woff2"),url("fonts/HelveticaNowDisplay-ThinIta.woff") format("woff"),url("fonts/HelveticaNowDisplay-ThinIta.ttf") format("truetype");font-weight:100;font-style:italic;font-display:swap}@font-face{font-family:'Helvetica Now Display';src:url("fonts/HelveticaNowDisplay-Thin.woff2") format("woff2"),url("fonts/HelveticaNowDisplay-Thin.woff") format("woff"),url("fonts/HelveticaNowDisplay-Thin.ttf") format("truetype");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:'Helvetica Now Display';src:url("fonts/HelveticaNowDisplay-HairlineIt.woff2") format("woff2"),url("fonts/HelveticaNowDisplay-HairlineIt.woff") format("woff"),url("fonts/HelveticaNowDisplay-HairlineIt.ttf") format("truetype");font-weight:100;font-style:italic;font-display:swap}@font-face{font-family:'Helvetica Now Display';src:url("fonts/HelveticaNowDisplay-ExtLtIta.woff2") format("woff2"),url("fonts/HelveticaNowDisplay-ExtLtIta.woff") format("woff"),url("fonts/HelveticaNowDisplay-ExtLtIta.ttf") format("truetype");font-weight:200;font-style:italic;font-display:swap}@font-face{font-family:'Helvetica Now Display';src:url("fonts/HelveticaNowDisplay-Hairline.woff2") format("woff2"),url("fonts/HelveticaNowDisplay-Hairline.woff") format("woff"),url("fonts/HelveticaNowDisplay-Hairline.ttf") format("truetype");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:'Helvetica Now Display';src:url("fonts/HelveticaNowDisplay-LightIta.woff2") format("woff2"),url("fonts/HelveticaNowDisplay-LightIta.woff") format("woff"),url("fonts/HelveticaNowDisplay-LightIta.ttf") format("truetype");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:'Helvetica Now Display';src:url("fonts/HelveticaNowDisplay-Medium.woff2") format("woff2"),url("fonts/HelveticaNowDisplay-Medium.woff") format("woff"),url("fonts/HelveticaNowDisplay-Medium.ttf") format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:'Helvetica Now Display';src:url("fonts/HelveticaNowDisplay-ExtBlk.woff2") format("woff2"),url("fonts/HelveticaNowDisplay-ExtBlk.woff") format("woff"),url("fonts/HelveticaNowDisplay-ExtBlk.ttf") format("truetype");font-weight:normal;font-style:normal;font-display:swap}@font-face{font-family:'Helvetica Now Display';src:url("fonts/HelveticaNowDisplay-ExtraBold.woff2") format("woff2"),url("fonts/HelveticaNowDisplay-ExtraBold.woff") format("woff"),url("fonts/HelveticaNowDisplay-ExtraBold.ttf") format("truetype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:'Helvetica Now Display';src:url("fonts/HelveticaNowDisplay-ExtBdIta.woff2") format("woff2"),url("fonts/HelveticaNowDisplay-ExtBdIta.woff") format("woff"),url("fonts/HelveticaNowDisplay-ExtBdIta.ttf") format("truetype");font-weight:800;font-style:italic;font-display:swap}@font-face{font-family:'Helvetica Now Display';src:url("fonts/HelveticaNowDisplay-Italic.woff2") format("woff2"),url("fonts/HelveticaNowDisplay-Italic.woff") format("woff"),url("fonts/HelveticaNowDisplay-Italic.ttf") format("truetype");font-weight:normal;font-style:italic;font-display:swap}@font-face{font-family:'Helvetica Now Display';src:url("fonts/HelveticaNowDisplay-Light.woff2") format("woff2"),url("fonts/HelveticaNowDisplay-Light.woff") format("woff"),url("fonts/HelveticaNowDisplay-Light.ttf") format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:'Helvetica Now Display';src:url("fonts/HelveticaNowDisplay-ExtBlkIta.woff2") format("woff2"),url("fonts/HelveticaNowDisplay-ExtBlkIta.woff") format("woff"),url("fonts/HelveticaNowDisplay-ExtBlkIta.ttf") format("truetype");font-weight:normal;font-style:italic;font-display:swap}@font-face{font-family:'Helvetica Now Display';src:url("fonts/HelveticaNowDisplay-MedIta.woff2") format("woff2"),url("fonts/HelveticaNowDisplay-MedIta.woff") format("woff"),url("fonts/HelveticaNowDisplay-MedIta.ttf") format("truetype");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:'Helvetica Now Display';src:url("fonts/HelveticaNowDisplay-BoldIta.woff2") format("woff2"),url("fonts/HelveticaNowDisplay-BoldIta.woff") format("woff"),url("fonts/HelveticaNowDisplay-BoldIta.ttf") format("truetype");font-weight:bold;font-style:italic;font-display:swap}@font-face{font-family:'Helvetica Now Display';src:url("fonts/HelveticaNowDisplay-Regular.woff2") format("woff2"),url("fonts/HelveticaNowDisplay-Regular.woff") format("woff"),url("fonts/HelveticaNowDisplay-Regular.ttf") format("truetype");font-weight:normal;font-style:normal;font-display:swap}@font-face{font-family:'Helvetica Now Display';src:url("fonts/HelveticaNowDisplay-Bold.woff2") format("woff2"),url("fonts/HelveticaNowDisplay-Bold.woff") format("woff"),url("fonts/HelveticaNowDisplay-Bold.ttf") format("truetype");font-weight:bold;font-style:normal;font-display:swap}@font-face{font-family:'Helvetica Now Display';src:url("fonts/HelveticaNowDisplay-BlackIta.woff2") format("woff2"),url("fonts/HelveticaNowDisplay-BlackIta.woff") format("woff"),url("fonts/HelveticaNowDisplay-BlackIta.ttf") format("truetype");font-weight:900;font-style:italic;font-display:swap}@font-face{font-family:'Helvetica Now Display';src:url("fonts/HelveticaNowDisplay-Black.woff2") format("woff2"),url("fonts/HelveticaNowDisplay-Black.woff") format("woff"),url("fonts/HelveticaNowDisplay-Black.ttf") format("truetype");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:'Helvetica Now Text';src:url("fonts/HelveticaNowText-Regular.ttf") format("ttf"),url("fonts/HelveticaNowText-Regular.woff") format("woff");font-weight:400;font-style:normal}@font-face{font-family:'Helvetica Now Text';src:url("fonts/HelveticaNowText-Medium.ttf") format("ttf"),url("fonts/HelveticaNowText-Medium.woff") format("woff");font-weight:500;font-style:normal}@font-face{font-family:'Helvetica Now Text';src:url("fonts/HelveticaNowTextBd.ttf") format("ttf"),url("fonts/HelveticaNowTextBd.woff") format("woff"),url("fonts/HelveticaNowTextBd.woff2") format("woff2");font-weight:bold;font-style:normal}:root{--main-bg: transparent}hr{background-color:#dae8ff;margin:4rem 0;opacity:1}.contributors .content,.blog .content,.page .content,.error404 .content,.docs.list .content,.showcase.list .content,.themes.list .content{padding-top:1rem;padding-bottom:3rem}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{margin:2rem 0 1rem}img{max-width:100%;height:auto}body{letter-spacing:0.2px;line-height:1.45}@media (min-width: 768px){body{font-size:1.125rem}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{margin-bottom:1.125rem}}a:hover,a:focus{text-decoration:underline}.section{padding-top:5rem;padding-bottom:5rem}.section-md{padding-top:3rem;padding-bottom:3rem}.section-sm{padding-top:1rem;padding-bottom:1rem}.page-wrap{padding-top:91px}.docs-sidebar{order:2}@media (min-width: 992px){.docs-sidebar{order:0;border-right:1px solid #f6f8fa}@supports (position: sticky){.docs-sidebar{position:sticky;top:4rem;z-index:1000;height:calc(100vh - 4rem)}}}@media (min-width: 1200px){.docs-sidebar{flex:0 1 320px}}.docs-links{padding-bottom:5rem}@media (min-width: 992px){@supports (position: sticky){.docs-links{max-height:calc(100vh - 4rem);overflow-y:auto}}}@media (min-width: 992px){.docs-links{display:block !important;margin-right:-1.5rem;padding-bottom:4rem}}.docs-toc{order:2}@supports (position: sticky){.docs-toc{position:sticky;top:4rem;height:calc(100vh - 4rem);overflow-y:auto}}.docs-content{padding-bottom:3rem;order:1}.docs-navigation{border-top:1px solid #f6f8fa;margin-top:2rem;margin-bottom:0;padding-top:2rem}.docs-navigation a{font-size:.9rem}@media (min-width: 992px){.docs-navigation{margin-bottom:-1rem}.docs-navigation a{font-size:1rem}}.navbar a:hover,.navbar a:focus,a.btn:hover,.search-form a.search-submit:hover,a.btn:focus,.search-form a.search-submit:focus,.footer a:hover,.footer a:focus{text-decoration:none}#TableOfContents ul{padding-left:0;list-style:none}.bg-dots{background-image:radial-gradient(#dee2e6 15%, transparent 15%);background-position:0 0;background-size:1rem 1rem;-webkit-mask:linear-gradient(to top, #fff, transparent);mask:linear-gradient(to top, #fff, transparent);width:100%;height:9rem;margin-top:-10rem;z-index:-1}.bg-dots-md{margin-top:-11rem}.bg-dots-lg{margin-top:-12rem}h2.monospace,.monospace.h2,p.monospace{font-family:var(--bs-font-monospace)}table{font-size:1rem}.navbar{width:100%}button:focus{outline:none}.btn-white{color:#006eb7;background-color:#fff;border-color:#fff}.btn-white:focus,.btn-white:hover{color:#006eb7;background-color:#fff;border-color:#fff}.docs-content h2[id]::before,.docs-content [id].h2::before,.docs-content h3[id]::before,.docs-content [id].h3::before,.docs-content h4[id]::before,.docs-content [id].h4::before,.docs-content .anchor-id::before{display:block;height:6rem;margin-top:-6rem;content:''}.docs-content .anchor-id{white-space:nowrap}.docs-content .anchor-id:hover a{visibility:visible;text-decoration:none}.docs-content .alert{margin-bottom:1rem}.docs-content li{line-height:2rem}.docs-content h2+h3,.docs-content .h2+h3,.docs-content h2+.h3,.docs-content .h2+.h3{margin-top:0}.docs-content p:empty{display:none}.docs-content h2,.docs-content .h2{font-size:1.5rem;border-bottom:1px solid #dae8ff;padding-bottom:1rem;margin:4rem 0 1rem}.docs-content h4,.docs-content .h4{font-size:1.3rem;font-weight:500;margin:3rem 0 1rem}.docs-content .options-table{margin-top:2rem}.demo-btns-container{display:flex;align-items:center;justify-content:center;gap:10px;margin:1rem 0 2rem 0}.demo-btns-container.dynamic-mode-demo{display:inline-flex;margin:0 10px 0 10px}.demo-btn{text-align:center;font-size:14px}.demo-btn svg{width:18px;margin-right:5px}.demo-btn a{display:flex;align-items:center}.demo-btn-stackblits svg{margin-right:3px}.demo-btn+.demo-btn{margin-left:10px}.codepen-demo{text-align:center;margin:1rem 0 2rem 0;font-size:14px}.font-12{font-size:12px !important}.doc-union>span:before{content:'|';margin:0 5px}.doc-union>span:first-child:before,.doc-union>span:empty{display:none}.alert{font-size:.875rem;text-align:left}@media (min-width: 768px){.alert{font-size:1rem}}.alert .alert-link{text-decoration:underline}.alert-dark{color:#f8f9fa;background-color:#212529}.alert-dark .alert-link{color:#f8f9fa}.alert-primary{color:#f8f9fa;background-color:#0e3481}.alert-primary .alert-link{color:#f8f9fa}.alert .alert-link:hover,.alert .alert-link:focus{text-decoration:none}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translateX(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity 0.15s ease}@media (prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity 0.6s ease}@media (prefers-reduced-motion: reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-prev-icon,.carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators li{background-color:#333}.carousel-dark .carousel-caption{color:#333}pre,code,kbd,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:.875rem}pre{background:#f6f8fa;color:#212529;line-height:2;margin:1.5rem 0;overflow:auto;padding:1.1rem 1.5rem;-moz-tab-size:4;-o-tab-size:4;tab-size:4}code{background:#f6f8fa;color:#212529;padding:0.25rem 0.5rem}pre code{background:none;font-size:inherit;padding:0}code a{border-bottom-color:#f6f8fa}.options tr p{color:#565656;font-size:14px;margin-top:12px}:root{--select-border: #777;--select-focus: blue;--select-arrow: var(--select-border)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:none;padding:0 10px;margin:0;width:100%;font-family:inherit;color:#000;font-size:14px;letter-spacing:-0.21px;box-sizing:border-box;line-height:17px;height:40px;z-index:1;outline:none}select::-ms-expand{display:none}.select{display:grid;grid-template-areas:'select';align-items:center;position:relative;min-width:15ch;max-width:30ch;border:2px solid #d8dbe0;border-radius:6px;padding:0 10px;cursor:pointer;background-color:#fff}.select select,.select::after{grid-area:select}.select:not(.select--multiple)::after{content:'';justify-self:end;width:0.8em;height:0.5em;background-color:var(--select-arrow);clip-path:polygon(100% 0%, 0 0%, 50% 100%)}select:focus+.focus{position:absolute;top:-1px;left:-1px;right:-1px;bottom:-1px;border:2px solid var(--select-focus);border-radius:inherit}select[multiple]{padding-right:0;height:6rem}select[multiple] option{white-space:normal;outline-color:var(--select-focus)}table.table-blue{border:1px solid #dae8ff;--bs-table-bg: #fafbff;font-size:15px}.chroma{background-color:#fafafa;font-size:14px;white-space:pre-wrap;border-width:1px;border-style:solid;border-color:#f1f1f1;-o-border-image:initial;border-image:initial;padding:8px}.chroma{background-color:#fafbff;border-color:#dae8ff}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0;width:auto;overflow:auto;display:block}.chroma .hl{display:block;width:100%;background-color:#ffffcc}.chroma .lnt{margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f}.chroma .ln{margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f}.chroma .k{color:#0000ff}.chroma .kc{color:#0000ff}.chroma .kd{color:#0000ff}.chroma .kn{color:#0000ff}.chroma .kp{color:#0000ff}.chroma .kr{color:#0000ff}.chroma .kt{color:#2b91af}.chroma .nc{color:#2b91af}.chroma .s{color:#a31515}.chroma .sa{color:#a31515}.chroma .sb{color:#a31515}.chroma .sc{color:#a31515}.chroma .dl{color:#a31515}.chroma .sd{color:#a31515}.chroma .s2{color:#a31515}.chroma .se{color:#a31515}.chroma .sh{color:#a31515}.chroma .si{color:#a31515}.chroma .sx{color:#a31515}.chroma .sr{color:#a31515}.chroma .s1{color:#a31515}.chroma .ss{color:#a31515}.chroma .ow{color:#0000ff}.chroma .c{color:#008000}.chroma .ch{color:#008000}.chroma .cm{color:#008000}.chroma .c1{color:#008000}.chroma .cs{color:#008000}.chroma .cp{color:#0000ff}.chroma .cpf{color:#0000ff}.chroma .ge{font-style:italic}.chroma .gh{font-weight:bold}.chroma .gp{font-weight:bold}.chroma .gs{font-weight:bold}.chroma .gu{font-weight:bold}.comment-list ol{list-style:none}.search-form label{font-weight:normal}figure{margin:2rem 0}.figure-caption{margin:0.25rem 0 0.75rem}figure.wide{margin:2rem -1.5rem}figure.wide .figure-caption{margin:0.25rem 1.5rem 0.75rem}@media (min-width: 768px){figure.wide{margin:2rem -2.5rem}figure.wide .figure-caption{margin:0.25rem 2.5rem 0.75rem}}@media (min-width: 992px){figure.wide{margin:2rem -5rem}figure.wide .figure-caption{margin:0.25rem 5rem 0.75rem}}.blur-up{filter:blur(5px)}.blur-up.lazyloaded{filter:unset}.yt-thumbnail-container{padding-top:4rem;display:flex;flex-direction:column;align-items:center;background-image:linear-gradient(#e8f0ff 0%, white 52.08%)}@media (max-width: 575.98px){.yt-thumbnail-container{padding-left:0px;padding-right:0px}}.yt-thumbnail-page{display:flex;flex-direction:column;justify-content:center;align-items:center}.hero-section-thumbnail{padding-top:60px;display:flex;flex-direction:column;justify-content:center;text-align:center;margin-top:100px}@media (max-width: 767.98px){.hero-section-thumbnail{padding-top:30px;margin-top:50px}}.hero-section-thumbnail-section{padding-left:20px;padding-right:20px}.yt-thumbnail-header{font-family:'Helvetica Now Display', 'Helvetica Now Display', 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';color:#0e3481;font-size:50px;font-weight:500}@media (max-width: 575.98px){.yt-thumbnail-header{font-size:36px}}.yt-thumbnail-description-container{display:flex;justify-content:center;align-items:center}.yt-thumbnail-description{color:#0e3481;font-weight:400;margin-top:0px;line-height:1.6;font-size:21px;display:flex;justify-content:center;max-width:700px}@media (max-width: 575.98px){.yt-thumbnail-description{font-size:20px;margin-bottom:48px}}@media (max-width: 991.98px){.yt-thumbnail-description{margin-bottom:48px}}.quality-option{border:1px solid black;max-width:220px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%20viewBox%3D%220%200%2012%2012%22%3E%3Ctitle%3Edown-arrow%3C%2Ftitle%3E%3Cg%20fill%3D%22%230e3481%22%3E%3Cpath%20d%3D%22M10.293%2C3.293%2C6%2C7.586%2C1.707%2C3.293A1%2C1%2C0%2C0%2C0%2C.293%2C4.707l5%2C5a1%2C1%2C0%2C0%2C0%2C1.414%2C0l5-5a1%2C1%2C0%2C1%2C0-1.414-1.414Z%22%20fill%3D%22%230e3481%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3C%2Fsvg%3E");background-size:0.6em;background-position:calc(100% - 1.3em) center;background-repeat:no-repeat}.thumb-form{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%}.url-tab{margin-right:-1px;padding-left:24px;display:flex;align-items:center;height:32px;min-width:0px;outline:transparent solid 2px;outline-offset:2px;position:relative;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-width:1px;border-style:solid;-o-border-image:initial;border-image:initial;border-color:inherit;background:inherit;width:100%;background-color:white;border-color:#e0eafd;border-radius:6px;font-size:16px;color:#333333;height:66px}@media (min-width: 768px){.url-tab{border-radius:6px 0px 0px 6px}}@media (min-width: 992px){.url-tab{width:730px;border-radius:6px 0px 0px 6px}}.url-tab:-webkit-autofill,.url-tab:-webkit-autofill:hover,.url-tab:-webkit-autofill:focus,.url-tab:-webkit-autofill:active{-webkit-background-clip:text;-webkit-text-fill-color:#333333;-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s;box-shadow:inset 0 0 40px 40px #fff}.content-area{margin-top:72px;display:flex}@media (max-width: 991.98px){.content-area{display:flex;width:100%}}@media (max-width: 767.98px){.content-area{display:block}}.url-tab-header{margin-bottom:4px;display:inline-block;font-weight:400;line-height:1.5;letter-spacing:0.5px;color:#0e3481;font-size:16px;font-family:'Helvetica Now Display', 'Helvetica Now Display', 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'}.content-url-section{margin-right:0px}@media (max-width: 767.98px){.content-url-section{width:100%}}@media (max-width: 991.98px){.content-url-section{width:100%;margin-right:0px;margin-bottom:20px}}@media (max-width: 991.98px){.content-quality-section{margin-right:0px;margin-bottom:20px}}.quality-option-header{margin-bottom:4px;display:inline-block;font-weight:400;line-height:1.5;letter-spacing:0.5px;font-family:'Helvetica Now Display', 'Helvetica Now Display', 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';color:#0e3481;font-size:16px}.quality-option{letter-spacing:0.5px;display:inline-block;font-weight:400;line-height:1.5;text-align:center;vertical-align:middle;border-color:#0e3481;color:#0e3481;text-align:center;align-items:center;display:flex;justify-content:center;border-radius:4px;height:40px;width:220px}.quality-value{font-weight:500;color:#0e3481;align-items:center;display:flex;justify-content:center}.preview-button-container{margin-top:0px;margin-left:0px;flex-shrink:0px}@media (max-width: 991.98px){.preview-button-container{margin-top:0px;margin-left:0px}}@media (max-width: 767.98px){.preview-button-container{width:100%}}.preview-button{margin-top:0px;display:inline-block;font-weight:600;line-height:1.5;text-align:center;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:0.375rem 0.75rem;font-size:18px;border-radius:6px;border-top-left-radius:0px;border-bottom-left-radius:0px;transition:color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;color:#fff;background-color:#0858fe;border-color:#0858fe;height:66px;padding-top:3px;width:236px}@media (max-width: 991.98px){.preview-button{border-radius:0px, 0px, 6px, 6px}}@media (max-width: 767.98px){.preview-button{border-radius:6px;width:100%}}.preview-button:hover{transition:0.5s;color:#fff;background-color:#0e3481;border-color:#e0eafd;border-color:#0e3481}.faq-section-container{width:100%;background-image:linear-gradient(#f6f9fb 0%, #fdfdfe 52.08%);display:flex;justify-content:center;margin-top:126px}.faq-question-single{color:#0e3481;font-size:22px}.faq-answer-single{color:#0e3481;font-size:18px}.faq-section-header{padding-top:120px;display:flex;color:#0e3481;font-size:32px;font-weight:600}.faq-section-body{display:flex;flex-direction:column}.preview-section-two{max-width:1346px;width:100%;display:flex;justify-content:space-between}.preview-section-one{display:flex;flex-direction:column;align-items:center}.preview-container{border-radius:12px;margin-top:110px;padding:22px;display:flex;flex-direction:column;align-items:center;background-color:#fafcff;border:1px solid #e0eafd}@media (min-width: 768px){.preview-container{padding:32px}}.thumbnail-preview{width:100%;margin-top:32px;display:flex;align-items:center;justify-content:center;flex-direction:column}.download-btn{display:flex;margin-bottom:32px;padding:7px 24px 7px 24px;border-radius:4px;color:#0858fe;border:none;background-color:#e0eafd;text-decoration:none !important}.download-btn:hover{transition:0.4s;color:#e0eafd;background-color:#0858fe}.preview-name{margin-bottom:16px;color:#666666}.btn-text{margin-right:6px}.youtube-thumnail-about-section{max-width:1200px}.about-section-desc-header{color:#0e3481;font-size:32px}.about-seection-desc{color:#0e3481;font-size:18px}.download-icon{stroke:#0858fe}.inner-section{text-align:center}.other-tool-section-tittle{text-align:center;margin-bottom:60px;font-size:24px;color:#0e3481}@media (min-width: 768px){.other-tool-section-tittle{font-size:32px}}.inner-section-subhead{font-size:20px;color:#0e3481}@media (min-width: 768px){.inner-section-subhead{font-size:22px}}.inner-section-desc{color:#666666;font-size:16px}@media (min-width: 768px){.inner-section-desc{font-size:18px}}.other-tool-section{margin-top:110px}.footer{padding-top:4rem;padding-bottom:4rem;background-color:#0e3481;margin-top:3rem}.footer ul.footer-menu{padding-left:0;list-style-type:none;font-size:1rem;line-height:1.9rem;margin-bottom:3rem}@media (min-width: 576px){.footer ul.footer-menu{margin-bottom:0}}.footer h4,.footer .h4{font-size:1rem;text-transform:uppercase;font-weight:400;color:#74a0ff;margin:0 0 15px}.footer .footer-menu-item a{color:#9abaff;transition:color 0.2s}.footer .footer-menu-item a:hover{color:#c9daff}.license.list .footer,.wordpress.list .footer{padding-bottom:6.4rem}.other-products-item img{width:32px;height:32px;border-radius:100%;float:left;margin-right:16px}.other-products-item h5,.other-products-item .h5{margin:0;font-weight:400;font-size:14px;margin-bottom:3px;color:#c1d5ff;transition:color 0.3s ease-in-out}.other-products-item p{font-size:12px;margin-bottom:0;line-height:1.3;color:#9abaff;transition:color 0.3s ease-in-out}.other-products-item{display:flex;flex-direction:row;align-items:center;text-decoration:none !important;margin-bottom:20px}@media (min-width: 992px){.other-products-item{margin-bottom:0}}.other-products-item:hover h5,.other-products-item:hover .h5,.other-products-item:hover p{color:#c9daff}.other-products-item-content{display:flex;flex-direction:column;height:100%}.row.other-products{border-top:1px solid #4b6599;padding:40px 0 0 0;margin-top:80px;position:relative}.other-products-label{position:absolute;left:50%;top:1px;font-size:11px;margin-top:-10px;background-color:#0e3480;width:auto;padding:0 10px;text-transform:uppercase;transform:translate3d(-50%, 0px, 0px);color:#74a0ff}.navbar-text{margin-left:1rem}.navbar-nav{font-size:1rem}.navbar{background-color:var(--main-bg);box-shadow:rgba(0,0,0,0) 0px 6px 24px;transition:all 0.3s ease-in-out 0s;will-change:transform;padding-top:2rem;padding-bottom:2rem}.docs .navbar,.demos .navbar{padding-top:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(0,0,0,0.08);box-shadow:rgba(0,0,0,0.06) 0px 6px 24px}.navbar.fixed-header{box-shadow:rgba(0,0,0,0.06) 0px 6px 24px;background-color:#fff;padding-top:1rem;padding-bottom:1rem}.navbar .nav-link,.navbar .banner .nav a,.banner .nav .navbar a{font-weight:500}@media (max-width: 575.98px){.navbar .container{padding-left:0.5rem;padding-right:0.5rem}}@media (min-width: 768px){.navbar-brand{font-size:1.375rem}.navbar-text{margin-left:1.25rem}}.nav-item svg,.banner .nav li svg{width:16px;height:16px;fill:currentColor}.nav-item-social>a{display:flex;align-items:center;justify-content:center;height:100%}.anchor{visibility:hidden;padding-left:0.5rem}.showcase-meta{margin-top:2rem;font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;color:#586069}.showcase-meta a{color:#586069}h1:hover a,.h1:hover a,h2:hover a,.h2:hover a,h3:hover a,.h3:hover a,h4:hover a,.h4:hover a{visibility:visible;text-decoration:none}.card-list{margin-top:2.25rem}.edit-page{margin-top:3rem;font-size:1rem}.edit-page svg{margin-right:0.5rem;margin-bottom:0.25rem}p.meta{margin-top:0.5rem;font-size:1rem;font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;color:#6a737d}p.meta a{color:#6a737d}.showcase-meta a:hover,.showcase-meta a:focus{color:#0e3481}p.meta a:hover,p.meta a:focus{color:#0e3481}.error404 h1,.error404 .h1{margin-top:10rem}.error404 .lead{margin-bottom:5rem}.error404 h3,.error404 .h3{margin-top:5rem}.docs-links,.docs-toc{scrollbar-width:thin;scrollbar-color:#fff #fff}.docs-links::-webkit-scrollbar,.docs-toc::-webkit-scrollbar{width:5px}.docs-links::-webkit-scrollbar-track,.docs-toc::-webkit-scrollbar-track{background:#fff}.docs-links::-webkit-scrollbar-thumb,.docs-toc::-webkit-scrollbar-thumb{background:#fff}.docs-links:hover,.docs-toc:hover{scrollbar-width:thin;scrollbar-color:#f6f8fa #fff}.docs-links:hover::-webkit-scrollbar-thumb,.docs-toc:hover::-webkit-scrollbar-thumb{background:#f6f8fa}.docs-links::-webkit-scrollbar-thumb:hover,.docs-toc::-webkit-scrollbar-thumb:hover{background:#f6f8fa}.docs-links h3,.docs-links .h3,.page-links h3,.page-links .h3{font-size:1.125rem;font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;color:#0e3481;margin:1.25rem 0 0.5rem 0;padding:1.5rem 0 0 0}@media (min-width: 992px){.docs-links h3,.docs-links .h3,.page-links h3,.page-links .h3{margin:1.125rem 1.5rem 0.75rem 0;padding:1.375rem 0 0 0}}.docs-links h3:not(:first-child),.docs-links .h3:not(:first-child){border-top:1px solid #f6f8fa}a.docs-link{color:#5971a7;display:block;padding:8px 0;font-size:1rem;font-size:15px;font-weight:500}.page-links li{margin-top:0.375rem;padding-top:0.375rem}.page-links li ul li{border-top:none;padding-left:1rem;margin-top:0.125rem;padding-top:0.125rem}.page-links li:not(:first-child){border-top:1px dashed #f6f8fa}.page-links ul ul li:not(:first-child){border-top:0}.page-links a{color:#5971a7;display:block;padding:0.125rem 0;font-size:.9375rem}.docs-link:hover,.docs-link.active,.page-links a:hover{text-decoration:none;color:#3e7eff}.docs-link.active{color:#115df6}.docs-links h3.sidebar-link,.docs-links .sidebar-link.h3,.page-links h3.sidebar-link,.page-links .sidebar-link.h3{text-transform:none;font-family:"Helvetica Now Display",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";font-size:1rem;font-weight:normal}.docs-links h3.sidebar-link a,.docs-links .sidebar-link.h3 a,.page-links h3.sidebar-link a,.page-links .sidebar-link.h3 a{color:#333}.docs-links h3.sidebar-link a:hover,.docs-links .sidebar-link.h3 a:hover,.page-links h3.sidebar-link a:hover,.page-links .sidebar-link.h3 a:hover{text-decoration:underline}.main-page h1,.main-page .h1{font-size:calc(3.5rem + 1.5vw)}@media (min-width: 992px){.main-page h1,.main-page .h1{font-size:calc(4.875rem + 1.5vw)}}.main-page h2,.main-page .h2{font-size:2.1rem}@media (min-width: 576px){.main-page h2,.main-page .h2{font-size:3.1rem}}@media (min-width: 992px){.main-page h2,.main-page .h2{font-size:3.2rem}}.open-gallery-text{font-size:11px;font-style:italic;font-weight:300;margin-top:15px;opacity:0.5;text-align:center}.hero-section{padding-top:15rem;padding-bottom:11.75rem;background-color:var(--main-bg);background-image:linear-gradient(#e8f0ff 0%, #fff 52.08%);color:#0e3481}.hero-section .main-title{margin:0}.hero-section .sub-title{font-weight:400;margin-top:1.25rem;line-height:1.6}.hero-section .btn,.hero-section .comment-form input[type="submit"],.comment-form .hero-section input[type="submit"],.hero-section .search-form .search-submit,.search-form .hero-section .search-submit{margin-top:2rem}.clip-path-bg{position:relative}.clip-path-bg .clip-path-bg-inner{position:relative;z-index:2}.clip-path-bg:after{clip-path:polygon(100% 0, 0 0, 0 77.5%, 1% 77.4%, 2% 77.1%, 3% 76.6%, 4% 75.9%, 5% 75.05%, 6% 74.05%, 7% 72.95%, 8% 71.75%, 9% 70.55%, 10% 69.3%, 11% 68.05%, 12% 66.9%, 13% 65.8%, 14% 64.8%, 15% 64%, 16% 63.35%, 17% 62.85%, 18% 62.6%, 19% 62.5%, 20% 62.65%, 21% 63%, 22% 63.5%, 23% 64.2%, 24% 65.1%, 25% 66.1%, 26% 67.2%, 27% 68.4%, 28% 69.65%, 29% 70.9%, 30% 72.15%, 31% 73.3%, 32% 74.35%, 33% 75.3%, 34% 76.1%, 35% 76.75%, 36% 77.2%, 37% 77.45%, 38% 77.5%, 39% 77.3%, 40% 76.95%, 41% 76.4%, 42% 75.65%, 43% 74.75%, 44% 73.75%, 45% 72.6%, 46% 71.4%, 47% 70.15%, 48% 68.9%, 49% 67.7%, 50% 66.55%, 51% 65.5%, 52% 64.55%, 53% 63.75%, 54% 63.15%, 55% 62.75%, 56% 62.55%, 57% 62.5%, 58% 62.7%, 59% 63.1%, 60% 63.7%, 61% 64.45%, 62% 65.4%, 63% 66.45%, 64% 67.6%, 65% 68.8%, 66% 70.05%, 67% 71.3%, 68% 72.5%, 69% 73.6%, 70% 74.65%, 71% 75.55%, 72% 76.35%, 73% 76.9%, 74% 77.3%, 75% 77.5%, 76% 77.45%, 77% 77.25%, 78% 76.8%, 79% 76.2%, 80% 75.4%, 81% 74.45%, 82% 73.4%, 83% 72.25%, 84% 71.05%, 85% 69.8%, 86% 68.55%, 87% 67.35%, 88% 66.2%, 89% 65.2%, 90% 64.3%, 91% 63.55%, 92% 63%, 93% 62.65%, 94% 62.5%, 95% 62.55%, 96% 62.8%, 97% 63.3%, 98% 63.9%, 99% 64.75%, 100% 65.7%);content:'';position:absolute;top:0;right:0;left:0;bottom:30%;background-color:var(--main-bg);background-image:linear-gradient(180deg, white, rgba(132,187,255,0.239216));z-index:1}.vertical-bg{position:relative;padding-top:7.5rem;padding-bottom:7.5rem}.vertical-bg::before{background-image:linear-gradient(180deg, #fff, #f7f9fc 100%);content:'';height:100%;left:0;position:absolute;top:0;z-index:-1;transform:skewY(-2deg);width:100%}.vertical-bg .vertical-bg-inner{position:relative}.gradient-bg-light-blue{background-image:linear-gradient(#f6f9fb 0%, #fdfdfe 50%)}.features-list-header{text-align:center}.features-list{margin-top:7.5rem;position:relative}.features-list .features-list-header h2,.features-list .features-list-header .h2{margin:0;margin-bottom:5rem}.features-list-item{margin-bottom:2.5rem}.features-list-item h3,.features-list-item .h3{margin-bottom:0.625rem;display:flex;align-items:center;margin-top:0}.features-list-item svg{fill:#0959fe;color:#0959fe;width:32px;margin-right:14px;height:28px}.features-list-grid{padding-top:5rem;padding-bottom:8rem}@media (min-width: 992px){.features-list-grid{padding-top:10rem;padding-bottom:13rem}}.features-list-grid .features-list-grid-img{height:16.5rem}.features-list-grid .features-list-grid-item{margin-bottom:5rem;display:flex;flex-direction:column;align-items:center;text-align:center}@media (min-width: 992px){.features-list-grid .features-list-grid-item{margin-bottom:0}}.features-list-grid p.features-list-grid-desc{margin-bottom:0;text-align:center;max-width:410px}.feature-list-lg{padding-top:7.5rem;padding-bottom:7.5rem}@keyframes br-zoom-in-right{from{transform-origin:100% 50%;transform:scale(1, 1)}to{transform-origin:100% 50%;transform:scale(1.12, 1.12)}}.home-inline-gallery .home-inline-gallery-header{margin-bottom:2.5rem}.home-inline-gallery .home-inline-gallery-header p{font-size:1.4rem}.home-customize-gallery{position:relative;overflow:hidden}.home-customize-gallery .svg-bg{position:absolute;top:0;z-index:-1;transform:translate3d(10%, 4%, 0px) rotate3d(1, 1, 1, 15deg)}@media (min-width: 1200px){.home-mixed-gallery>.row{--bs-gutter-x: 100px}}.features-list-md{margin-top:2rem;margin-bottom:2rem}@media (min-width: 992px){.features-list-md{margin-bottom:0}}.features-list-md .features-list-md-item{display:flex}.features-list-md .features-list-md-icon{width:3rem;height:3rem;flex-shrink:0;background-color:rgba(204,221,255,0.5);border-radius:4px;display:flex;align-items:center;justify-content:center}.features-list-md .features-list-md-icon svg{width:1.5rem;fill:#0858fe}.features-list-md .features-list-md-item{position:relative;display:flex;margin-top:1rem}.features-list-md .features-list-md-content{margin-left:1rem}.features-list-md h4,.features-list-md .h4{margin-top:0}.features-list-md h4.features-list-md-title,.features-list-md .features-list-md-title.h4{font-size:1.25rem;margin:0;color:#3c4d6b}.features-list-md p.features-list-md-desc{font-size:1rem;margin-top:5px;color:#3b4e6b}.features-list-md .features-list-md{margin-top:2rem}.features-grid{margin-top:2rem;margin-bottom:2rem}@media (min-width: 1200px){.features-grid{--bs-gutter-x: 48px}}@media (min-width: 992px){.features-grid{margin-bottom:0}}.features-grid .features-grid-icon{width:2rem;height:2rem;flex-shrink:0;margin-right:1rem}.features-grid .features-grid-item{display:flex;margin-top:1rem}.features-grid .features-grid-title{margin-top:0;font-size:1.25rem;margin-bottom:0.25rem}.features-grid .features-grid-desc{font-size:1rem}.contents-list{display:flex;flex-wrap:wrap;justify-content:center}.contents-list .contents-list-item{background-color:#fff;display:flex;align-items:center;justify-content:center;width:26%;flex-grow:1;margin:1rem;padding:2rem;box-shadow:2px 2px 6px 0px rgba(0,0,0,0.1);border-radius:10px}.contents-list img.content-list-logo{max-width:100px;max-height:100px}.available-for{padding-top:5.5rem;padding-bottom:7.5rem}.available-for .available-for-header{margin-bottom:2.5rem;text-align:center}.available-for .available-for-header p{font-size:1.4rem}.available-for .contents-list-item{padding:0;box-shadow:none;flex:1}.available-for img.content-list-logo.content-list-lg{max-width:120px;max-height:120px}.subscribe{display:flex;align-items:center;justify-content:center;margin-top:30px}.subscribe .subscribe-inner{padding:30px 30px;border:1px solid #9fc8fb3d;border-radius:4px;background-color:#b5d6ff3d;color:#0e3481;max-width:500px}.subscribe .form-group,.subscribe .comment-form p,.comment-form .subscribe p,.subscribe .search-form label,.search-form .subscribe label{display:flex;margin-top:26px}.subscribe p{font-size:16px}.subscribe .form-control,.subscribe .comment-form input[type="text"],.comment-form .subscribe input[type="text"],.subscribe .comment-form input[type="email"],.comment-form .subscribe input[type="email"],.subscribe .comment-form input[type="url"],.comment-form .subscribe input[type="url"],.subscribe .comment-form textarea,.comment-form .subscribe textarea,.subscribe .search-form .search-field,.search-form .subscribe .search-field{margin-right:10px}.subscribe h3,.subscribe .h3{margin:0;margin-bottom:10px}.subscribe .alert{display:none;padding:0.5rem 0.5rem;margin-top:10px}.subscribe.subscribed .alert-success{display:block}.subscribe.subscribed-error .alert-danger{display:block}.main-page.main-page-wordpress>.container-fluid,.main-page.main-page-wordpress>.container-sm,.main-page.main-page-wordpress>.container-md,.main-page.main-page-wordpress>.container-lg,.main-page.main-page-wordpress>.container-xl,.main-page.main-page-wordpress>.container-xxl{max-width:1980px}.main-page.main-page-wordpress h1,.main-page.main-page-wordpress .h1{font-size:calc(2.5rem + 1.5vw);line-height:1.2}@media (min-width: 1200px){.main-page.main-page-wordpress h1,.main-page.main-page-wordpress .h1{font-size:calc(1.575rem + 1.5vw)}}.main-page.main-page-wordpress .btn,.main-page.main-page-wordpress .comment-form input[type="submit"],.comment-form .main-page.main-page-wordpress input[type="submit"],.main-page.main-page-wordpress .search-form .search-submit,.search-form .main-page.main-page-wordpress .search-submit{margin-top:1rem}@media (min-width: 1200px){.main-page.main-page-wordpress .btn,.main-page.main-page-wordpress .comment-form input[type="submit"],.comment-form .main-page.main-page-wordpress input[type="submit"],.main-page.main-page-wordpress .search-form .search-submit,.search-form .main-page.main-page-wordpress .search-submit{margin-top:2rem}}.main-page.main-page-wordpress h2,.main-page.main-page-wordpress .h2{font-size:2.1rem}@media (min-width: 576px){.main-page.main-page-wordpress h2,.main-page.main-page-wordpress .h2{font-size:3.1rem}}@media (min-width: 992px){.main-page.main-page-wordpress h2,.main-page.main-page-wordpress .h2{font-size:3.2rem}}.main-page.main-page-wordpress .hero-header{margin-bottom:120px}@media (min-width: 1200px){.main-page.main-page-wordpress .hero-header{margin-bottom:0}}@media (min-width: 1200px){.main-page.main-page-wordpress .hero-header-inner{padding-right:70px}}@media (min-width: 1200px){.main-page.main-page-wordpress .gallery-demo{padding-left:70px}}.main-page.main-page-wordpress.hero-section{text-align:center;padding-top:12rem;padding-bottom:2.75rem}@media (min-width: 1200px){.main-page.main-page-wordpress.hero-section{text-align:left}}.main-page.main-page-wordpress.hero-section .sub-title{font-size:1.4rem}.main-page.main-page-wordpress .wordpress-download-btn{margin-right:10px}#wordpress-pricing:before{display:block;height:12rem;margin-top:-6rem;content:''}.wp-features-wrap{margin-top:4rem}@media (min-width: 992px){.wp-features-wrap{margin-top:8rem}}.wp-features-wrap>.row+.row{margin-top:5rem}.wp-pricing{margin-top:2rem}.wp-features-img-inner{border-radius:0 5px 5px 5px}.wp-features-img-inner img{position:relative;opacity:0.97}.wp-features-img-inner-right-bottom{background-image:linear-gradient(to right top, #d16ba5, #c777b9, #ba83ca, #aa8fd8, #9a9ae1, #8aa7ec, #79b3f4, #69bff8, #52cffe, #41dfff, #46eefa, #5ffbf1)}.wp-features-img-inner-right-bottom img{left:-20px;top:-20px}.wp-features-img-inner-top-left{background-image:linear-gradient(to left top, #d16ba5, #c777b9, #ba83ca, #aa8fd8, #9a9ae1, #8aa7ec, #79b3f4, #69bff8, #52cffe, #41dfff, #46eefa, #5ffbf1)}.wp-features-img-inner-top-left img{left:20px;top:20px}.wp-features-img-inner-top-right{background-image:linear-gradient(to left top, #d16ba5, #c777b9, #ba83ca, #aa8fd8, #9a9ae1, #8aa7ec, #79b3f4, #69bff8, #52cffe, #41dfff, #46eefa, #5ffbf1)}.wp-features-img-inner-top-right img{left:-20px;top:20px}.wp-features-img-inner-left-bottom{background-image:linear-gradient(to right bottom, #d16ba5, #c777b9, #ba83ca, #aa8fd8, #9a9ae1, #8aa7ec, #79b3f4, #69bff8, #52cffe, #41dfff, #46eefa, #5ffbf1)}.wp-features-img-inner-left-bottom img{left:20px;top:-20px}.license .parity-banner,.wordpress .parity-banner{position:fixed;padding:16px;width:100%;bottom:0;font-size:14px;z-index:9}.license .parity-banner b,.wordpress .parity-banner b{color:#cefdff}.license .parity-banner-poweredby,.wordpress .parity-banner-poweredby{position:absolute;left:5px;color:#51dfe5;font-size:12px;margin-top:2px}.license .parity-banner-inner,.wordpress .parity-banner-inner{padding-left:80px}.trusted-by{padding-top:4rem;padding-bottom:0rem;text-align:center;color:#5b6373}@media (min-width: 992px){.trusted-by{padding-top:7rem;padding-bottom:0}}.trusted-by .contents-list-item{box-shadow:none;width:20%;margin:0;padding:1rem}.trusted-by .contents-list-item svg{max-width:110px;max-height:36px}@media (min-width: 768px){.trusted-by .contents-list-item{padding:1.5rem}}.trusted-by h2,.trusted-by .h2{font-size:18px;margin:0 0px 36px 0;color:inherit}@media (min-width: 768px){.trusted-by h2,.trusted-by .h2{font-size:24px}}.trusted-by.trusted-by-blue{color:#2d477c}.pricing-list-item{width:100%;padding:20px;margin:20px;color:#0e3481;border-radius:5px}@media (min-width: 768px){.pricing-list-item{width:260px}}.pricing-list-item.pricing-list-item-colored{border:2px solid;color:white;border-radius:8px;width:290px;padding:50px 40px;background-image:linear-gradient(to right top, #0e3481, #0066b5, #0095c8, #00c2ba, #00ea95)}.pricing-list{display:flex;flex-wrap:wrap}.pricing-type{font-size:12px;margin-bottom:5px}.pricing-cost{font-size:2rem;font-weight:600}.pricing-cost-label{font-weight:normal;font-size:1rem}ul.pricing-terms{list-style-type:none;padding-left:0;margin-top:30px}ul.pricing-terms li{margin-bottom:5px;font-size:14px}.pricing-desc{color:#5971a7;margin:5px 0;font-size:14px}.pricing-btn-wrap{margin:20px 0}.license .hero-section{padding-bottom:3rem}.pricing-section{color:#0e3481;margin-top:5rem}.pricing-points-item{text-align:left}.pricing-points-item h4,.pricing-points-item .h4{font-size:1.3rem;margin:3rem 0 0.5rem}.lg-item .lightGallery-captions h4,.lg-item .lightGallery-captions .h4{transform:translate3d(60px, 0, 0px)}.lg-item .lightGallery-captions p{transform:translate3d(-60px, 0, 0px)}.lg-item .lightGallery-captions h4,.lg-item .lightGallery-captions .h4,.lg-item .lightGallery-captions p{opacity:0}.lg-current .lightGallery-captions h4,.lg-current .lightGallery-captions .h4,.lg-current .lightGallery-captions p{transform:translate3d(0, 0, 0px)}.lg-current .lightGallery-captions h4,.lg-current .lightGallery-captions .h4,.lg-current .lightGallery-captions p{opacity:1}.lg-slide-progress .lightGallery-captions h4,.lg-slide-progress .lightGallery-captions .h4{transform:translate3d(-60px, 0, 0px)}.lg-slide-progress .lightGallery-captions p{transform:translate3d(60px, 0, 0px)}.lg-slide-progress .lightGallery-captions h4,.lg-slide-progress .lightGallery-captions .h4,.lg-slide-progress .lightGallery-captions p{opacity:0}.lightGallery-captions h4,.lightGallery-captions .h4,.lightGallery-captions p{transition:transform 0.4s ease-in-out, opacity 0.4s ease-in}.lg-current .lightGallery-captions h4,.lg-current .lightGallery-captions .h4,.lg-current .lightGallery-captions p{transition-delay:500ms}.lg-current.lg-slide-progress .lightGallery-captions h4,.lg-current.lg-slide-progress .lightGallery-captions .h4,.lg-current.lg-slide-progress .lightGallery-captions p{transition-delay:0ms}.inline-gallery-container{padding-bottom:100%;height:0}@media (min-width: 576px){.inline-gallery-container{padding-bottom:65%}}.gallery-demo-sm{margin-bottom:1rem}.vertical-gallery{--bs-gutter-x: 20px}.vertical-gallery .first-row{padding-top:80px}.vertical-gallery .third-row{padding-top:45px}.vertical-gallery .gallery-item{margin-bottom:20px;display:block}.gallery-demo-videos .lg-video-play-button{width:25%}.gallery-demo-videos .lg-video-play-icon,.gallery-demo-videos .lg-video-play-icon-bg{opacity:0.65}.gallery-demo-videos .lg-video-play-icon-bg{stroke:rgba(255,255,255,0.65)}.lg-sub-html{color:#e0e0e0 !important}.lg-sub-html h4,.lg-sub-html .h4{font-weight:400 !important}.lg-sub-html a{color:#fff !important;font-weight:500 !important;margin-right:10px !important}.lightGallery-white-theme .lg-outer .lg-thumb-outer{box-shadow:0px 0px 6px -3.5px rgba(0,0,0,0.25) inset}.lightGallery-white-theme .lg-sub-html{color:#333 !important}.lightGallery-white-theme .lg-sub-html a{color:#2f2f2f !important}.lightGallery-white-theme .lg-backdrop{background-color:#fff}.lightGallery-white-theme .lg-backdrop{background-color:#fff}.lightGallery-white-theme .lg-thumb-item.active,.lightGallery-white-theme .lg-thumb-item:hover{border-color:#333}.lightGallery-white-theme .lg-progress-bar{background-color:#999}.lightGallery-white-theme .lg-progress-bar .lg-progress{background-color:#333}.lightGallery-white-theme .lg-outer .lg-thumb-outer{background-color:#fcfcfc}.lightGallery-white-theme .lg-next,.lightGallery-white-theme .lg-prev{background-color:rgba(0,0,0,0.03);color:#444}.lightGallery-white-theme .lg-next:hover,.lightGallery-white-theme .lg-prev:hover{color:#000}.lightGallery-white-theme .lg-next:focus,.lightGallery-white-theme .lg-prev:focus{outline:none;box-shadow:none}.lightGallery-white-theme .lg-toolbar .lg-icon{color:#555}.lightGallery-white-theme .lg-toolbar .lg-icon:hover{color:#000}.lightGallery-white-theme .lg-counter{color:#555}.lightGallery-white-theme .lg-outer .lg-thumb-item.active,.lightGallery-white-theme .lg-outer .lg-thumb-item:hover{border-color:#333}.carousel-control-prev,.carousel-control-next{background-color:transparent;box-shadow:none;border:none}.lg-custom-thumbnails .lg-outer{width:auto;right:225px;left:10px}.lg-custom-thumbnails .lg-outer .lg-thumb-outer{left:auto;top:0;width:225px;max-height:none;bottom:0;background-color:#999;padding-left:5px;padding-right:5px;margin:0 -10px;overflow-y:auto;position:fixed;right:0;transform:translate3d(30%, 0, 0);opacity:0;will-change:transform opacity;transition:transform 0.15s cubic-bezier(0, 0, 0.25, 1) 0s,cubic-bezier(0, 0, 0.25, 1) 0.15s}.lg-custom-thumbnails .lg-outer.lg-components-open .lg-thumb-outer{transform:translate3d(0, 0, 0);opacity:1}.lg-custom-thumbnails .lg-outer .lg-thumb-item{float:left;filter:grayscale(100%);will-change:filter;transition:filter 0.12s ease-in, border-color 0.12s ease}.lg-custom-thumbnails .lg-outer .lg-thumb-item:hover,.lg-custom-thumbnails .lg-outer .lg-thumb-item.active{filter:grayscale(0);border-color:#545454}.lg-custom-thumbnails .lg-outer .lg-thumb{padding:5px 0}.lg-update-slide-demo .lg-toolbar .lg-icon{display:flex;align-items:center;justify-content:center}.lg-update-slide-demo .lg-toolbar svg{fill:#999;width:22px;height:22px}.choose-select-option-wrap{margin-top:20px}.choose-select-option-wrap .choose-select-option{margin-right:10px;font-size:14px;color:#333}.choose-select-option-wrap .choose-select-option,.choose-select-option-wrap .select{display:inline-block;vertical-align:middle}.lg-custom-share-demo .lg-reddit{width:20px;height:20px;display:inline-block;vertical-align:middle;margin-right:8px}.lg-custom-share-demo .lg-dropdown-text{margin-top:3px !important}.lg-inline .lg-thumb-outer{padding-left:5px}.infinite-scroll-gallery{width:240px}.infinite-scroll-gallery .gallery-item{margin-bottom:20px;display:block;width:100%}.medium-zoom-demo p{margin-left:6rem;margin-right:6rem}.lg-events-demo-outer .lg-backdrop{transition:opacity 333ms ease-in 0s, background-color 0s ease 0s, all 333ms ease-in 0s}.event-docs-list{margin-top:2rem}.lg-methods-demo .lg-next:after,.lg-methods-demo .lg-next:before,.lg-methods-demo .lg-prev:after,.lg-methods-demo .lg-prev:before{content:''}.docs-methods-list{margin-top:2rem}.options-table{width:100%;table-layout:fixed;border-color:#dae8ff}.options-table .options-table-tr-head{background-color:#fafbff}.options-table .options-table-description td{padding-bottom:3.5rem;padding-top:1rem}.options-table .options-table-description p{white-space:pre-line}.options-table .options-table-description p:last-child{margin-bottom:0}.options-table .options-table-description section{margin-bottom:1rem;margin-top:1rem}.options-table .options-table-description:last-child td{padding-bottom:0;border-bottom-color:transparent}.options-table .options-table-description .docs-minimum-version{color:#666;font-size:14px}.options-table .options-table-description .docs-minimum-version b{margin-left:3px;color:#333}.options-section{margin:5rem 0}.options-stripe-table{border:1px solid #dae8ff;font-size:15px;background-color:transparent}.options-stripe-table .options-table-tr-head:nth-child(odd){background-color:#fafbff}.options-stripe-table .options-table-tr-head:nth-child(even){background-color:transparent}.lg-masonry-gallery .gallery-item{width:30%;margin-bottom:10px}.swiper{width:100%;height:100%;position:absolute !important}.swiper-lg-wrap{width:1200px;height:0;padding-bottom:65%;position:relative;max-width:100%}#bootstrap-gallery-carousel.carousel .lg-item{display:flex;justify-content:center;align-items:center;height:100%}#bootstrap-gallery-carousel.carousel .lg-item img{width:unset !important;height:500px}#bootstrap-gallery-carousel.carousel .carousel-item .lg-item img{height:600px}#bootstrap-video-carousel.carousel .lg-item{display:flex;justify-content:center;align-items:center;height:100%}#bootstrap-video-carousel.carousel .lg-item img{width:unset !important;height:500px}#bootstrap-video-carousel.carousel .carousel-item .lg-item img{height:600px}#slick-carousel-gallery-demo img{height:500px}#slick-carousel-gallery-demo .slick-track{gap:10px;display:flex}#slick-carousel-gallery-demo .slick-prev,#slick-carousel-gallery-demo .slick-next{padding:10px;position:absolute;top:50%;z-index:1;cursor:pointer;zoom:2}#slick-carousel-gallery-demo .slick-prev{left:-8px}#slick-carousel-gallery-demo .slick-next{right:12px}#flickity-carousel-gallery-demo .flickity-slider{gap:10px;display:flex}#flickity-carousel-gallery-demo .flickity-slider .lg-item img{height:600px}#masonry-gallery-demo{margin:0 auto}#masonry-gallery-demo:after{content:'';display:block;clear:both}#masonry-gallery-demo .grid-sizer,#masonry-gallery-demo .lg-item{width:33.33%}#masonry-gallery-demo .lg-item{float:left;margin-bottom:10px}#masonry-gallery-demo .lg-item img{display:block;max-width:100%}#owl-carousel-gallery-demo .owl-carousel-item img{height:500px}.docs-common-section{border-bottom:2px solid #dae8ff;padding-bottom:40px;margin-bottom:40px}.docs-common-section p,.docs-common-section ul{margin-bottom:0.8rem;font-size:1rem}.docs-common-section p>b{margin-right:0.3rem}.docs-common-section li{line-height:1.5rem}.docs-common-section .chroma{margin:0 0 0.8rem 0}.docs-common-section .docs-common-highlight .chroma{margin-top:0}.docs-common-section .docs-common-notes{margin-top:1rem}.dynamic-mode-images{position:relative;width:100%;height:auto}.btn-dynamic{color:#333;background-color:white;padding:5px 10px;position:absolute;bottom:15px;right:15px;font-size:14px;z-index:99}.blog-wrap{padding:100px 0 0 0;font-family:'Inter';font-style:normal;font-weight:400;font-size:18px;line-height:32px;color:#1A202C}@media (min-width: 768px){.blog-wrap{padding:100px 75px}}.blog-wrap .docs-hero-image{margin-bottom:60px}.blog-wrap .figure{display:inline-block;margin:1rem 0}@media (min-width: 768px){.blog-wrap .figure{margin:2rem -80px}}.blog-wrap .docs-hero-image{display:block}@media (min-width: 768px){.blog-wrap .docs-hero-image{margin-left:-120px;margin-right:-120px}}.blog-wrap .blog-header{margin-top:40px;margin-bottom:60px;max-width:700px}.blog-wrap .blog-header h1,.blog-wrap .blog-header .h1{font-style:normal;font-weight:700;font-size:36px;line-height:48px;margin:5px 0 24px 0;letter-spacing:0.01em;color:#1A202C}.blog-wrap .blog-header .blog-tags{display:inline-block;margin-right:8px}.blog-contributors .blog-contributors-list{font-weight:400;font-size:14px;line-height:20px;color:#718096}.blog-contributors .contributor-image img{max-width:36px;border-radius:4px;margin-right:8px}.blog-meta{font-family:'Inter';font-style:normal;font-weight:400;font-size:14px;line-height:16px;color:rgba(0,0,0,0.64)}.blog-meta strong{color:#000}.blog-list{padding-top:120px;padding-bottom:60px}.blog-list .blog-list-item+.blog-list-item{border-top:1px solid #e2e2ef;padding-top:48px;margin-top:48px}.blog-list .docs-hero-image{margin-bottom:24px;display:block}.blog-list .blog-meta{margin-bottom:24px}.blog-list .stretched-link:after{content:none}.blog-list h2,.blog-list .h2{margin:0 0 16px 0;font-style:normal;font-weight:700;font-size:34px;line-height:1.2;letter-spacing:0.01em;color:#1A202C}.blog-list .blog-body{font-family:'Inter';font-style:normal;font-weight:400;font-size:16px;line-height:24px;color:#4A5568}.blog-list .blog-contributors{margin-top:16px}.blog-text{color:#ffffff;font-size:12px;line-height:16px;display:flex;align-items:center}.blog-text:hover{color:#ffffff;text-decoration:none}.blog-text span{background-color:#805AD5;border-radius:6px;padding:4px 10px}.container-fluid-max{max-width:1440px}.rjq-main{background-color:var(--main-bg);background-image:linear-gradient(#e8f0ff 0%, white 5%)}.rjq-main .alert-dialogue-box{background-color:#fff3cd;margin:auto;display:none;position:relative;margin-bottom:20px;max-width:390px;border-radius:6px;color:#C05621;border-color:#ffeeba}.rjq-main .alert-box-main-head{padding:16px 22px}.rjq-main .alert-box-head{font-size:16px;font-weight:500;margin:0}.rjq-main .alert-box-sub{font-size:16px;padding-top:5px;margin-bottom:0;font-weight:500;font-style:italic}.rjq-main .alert-close-svg{cursor:pointer;position:absolute;right:10px;top:10px}.rjq-main .chroma{border-radius:4px}.rjq-main .section{padding-bottom:32px}.replace-jq-centre-convert-btn-header{padding-top:80px;margin-bottom:35px;display:flex;flex-direction:column;align-items:center}@media (min-width: 768px){.replace-jq-centre-convert-btn-header{padding-top:126px;margin-bottom:60px}}.replace-jq-centre-convert-btn-head{font-size:28px;font-weight:520;color:#0049a3}@media (min-width: 768px){.replace-jq-centre-convert-btn-head{font-size:35px}}@media (min-width: 992px){.replace-jq-centre-convert-btn-head{font-size:64px}}.replace-jq-centre-convert-btn-subhead{font-size:15px;color:#0049a3;text-align:center;max-width:75%}@media (min-width: 768px){.replace-jq-centre-convert-btn-subhead{font-size:18px}}@media (min-width: 992px){.replace-jq-centre-convert-btn-subhead{font-size:21px;max-width:840px}}.rjq-main-row-sections{display:flex;flex-direction:column;--bs-gutter-x: 0px;justify-content:center;gap:24px;position:relative}@media (min-width: 1200px){.rjq-main-row-sections{flex-direction:row;gap:14px}}.replace-jq-centre-convert-btn-expanded-textfield{width:100%;border-radius:10px}@media (min-width: 1200px){.replace-jq-centre-convert-btn-expanded-textfield{width:50%;border-radius:12px}}.replace-jq-centre-convert-btn-taskbar{border:1px solid #7f9ab9;width:100%;height:62px;margin:0;box-sizing:border-box;position:relative;display:flex;align-items:center;border-bottom:none;background-color:#0e3481;border-top-left-radius:12px;border-top-right-radius:12px;justify-content:space-between}.replace-jq-centre-convert-btn-taskbar-btn-group{float:right;position:relative;vertical-align:middle;gap:16px;padding:14px;display:flex}.replace-jq-main-btn{display:flex;justify-content:center}@media (min-width: 1200px){.replace-jq-main-btn{position:absolute;bottom:32px;left:0;right:0}}.replace-jq-centre-convert-btn-text-area-converter{overflow:auto;outline:none;padding-top:5px;width:100%;height:650px;border:1px solid #e0eafd;background-color:#fafcff;border-bottom-left-radius:12px;border-bottom-right-radius:12px;position:sticky}.section-faq-lite-blue{color:#0049a3}.section-faq-lite-blue .faq-item{border:1px solid #6ea1e0}.section-faq{margin-bottom:0 !important}.section-faq .faq-item{padding:24px 40px;background-color:#fff;box-sizing:border-box;border-radius:12px}.section-faq .faq-item+.faq-item{margin-top:24px}.section-faq .faq-item h4,.section-faq .faq-item .h4{font-style:normal;font-size:18px;line-height:28px;margin:0 0 10px 0}@media (min-width: 1200px){.section-faq .faq-item h4,.section-faq .faq-item .h4{font-size:22px}}.section-faq .faq-item p{font-style:normal;font-weight:normal;font-size:16px;line-height:24px;margin:0;color:#00387c}@media (min-width: 1200px){.section-faq .faq-item p{font-size:16px}}.section-header-sub{margin-top:0;margin-bottom:25px;font-size:30px;font-weight:500px}.fullscreen{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1999}.replace-jq-centre-convert-btn-taskbar-btn{cursor:pointer;position:relative}.minimize-icon{display:none;cursor:pointer;padding-right:25px;padding-left:6px}.replace-jq-tooltiptext{visibility:hidden;opacity:0;width:70px;border-radius:8px;background-color:#fff;border-color:#333;color:#555;text-align:center;padding:5px;position:absolute;z-index:99999;top:100%;left:100%;margin-left:-55px;transition:opacity 0.3s;font-size:14px;font-weight:500;background-color:#e0eafd;margin-top:5px}.replace-jq-btn-convert{float:right;position:relative;vertical-align:middle;font-weight:500;border:none;background-color:#e0eafd;font-size:18px;color:#fff;background-color:#0858FE;border-color:#0858FE;display:flex;gap:6px;padding:12px 20px}.replace-jq-btn-convert:hover{color:#fff;background-color:#0E3481;border-color:#0E3481}.replace-jq-centre-convert-btn-taskbar-title{font-size:18px;line-height:26px;color:#fffdfd}.replace-jq-centre-convert-btn-taskbar-head{float:left;padding-left:16px}.replace-jq-centre-convert-btn-circle-convert-btn{position:absolute;width:56px;height:56px;border-radius:50%;background-color:#ffffff;border:2px solid #ccc;align-items:center;margin-top:240px;z-index:2;display:none;cursor:pointer;transition:background-color 0.3s, border 0.3s}@media (min-width: 1200px){.replace-jq-centre-convert-btn-circle-convert-btn{display:block}}.replace-jq-centre-convert-btn-circle-convert-btn:hover{background-color:#0858fe;border:2px solid #e0eafd}.replace-jq-centre-convert-btn-circle-convert-btn:hover svg{stroke:#FFF}.btn-btn-svg :hover{color:white}.centre-convert-btn{display:flex;justify-content:center;padding-top:16px;padding-bottom:14px}.centre-convert-btn svg{transition:stroke 0.3s;stroke:#0858fe}.editors-wrap{position:relative}@media (min-width: 1200px){.editors-wrap{padding-bottom:107px}}.section-rjq-docs .chroma .k{color:#a11}.section-rjq-docs .chroma .kc{color:#a11}.section-rjq-docs .chroma .nx{color:#708}.section-rjq-docs .chroma .kd{color:#a11}.section-rjq-docs .chroma .kn{color:#a11}.section-rjq-docs .chroma .kp{color:#a11}.section-rjq-docs .chroma .kr{color:#a11}.section-rjq-docs .chroma .kt{color:#2b91af}.section-rjq-docs{color:#0e3481}.section-rjq-docs h2,.section-rjq-docs .h2{text-align:center;margin-top:0;margin-bottom:25px}.section-rjq-docs h5,.section-rjq-docs .h5{margin-top:60px}.rjq-section-header-about{color:#0049a3}.rjq-section-header-about h3,.rjq-section-header-about .h3{margin:0 0 20px 0}.rjq-section-header-about p{font-size:19px;text-align:left;margin:0}.rjq-section-header-about p+p{margin-top:16px} diff --git a/main.8975a427d6f0fe5d44ea31ba31fa1dcc39602471691a19aca9a6d89cd95b4eae45282d06c47aa0b16080bfe1034675937be50b5a03f4348cf59489c2a8045190.js b/main.8975a427d6f0fe5d44ea31ba31fa1dcc39602471691a19aca9a6d89cd95b4eae45282d06c47aa0b16080bfe1034675937be50b5a03f4348cf59489c2a8045190.js new file mode 100644 index 00000000..ba8c256b --- /dev/null +++ b/main.8975a427d6f0fe5d44ea31ba31fa1dcc39602471691a19aca9a6d89cd95b4eae45282d06c47aa0b16080bfe1034675937be50b5a03f4348cf59489c2a8045190.js @@ -0,0 +1,7443 @@ +/*! lazysizes - v5.3.0 */ + +!function(e){var t=function(u,D,f){"use strict";var k,H;if(function(){var e;var t={lazyClass:"lazyload",loadedClass:"lazyloaded",loadingClass:"lazyloading",preloadClass:"lazypreload",errorClass:"lazyerror",autosizesClass:"lazyautosizes",fastLoadedClass:"ls-is-cached",iframeLoadMode:0,srcAttr:"data-src",srcsetAttr:"data-srcset",sizesAttr:"data-sizes",minSize:40,customMedia:{},init:true,expFactor:1.5,hFac:.8,loadMode:2,loadHidden:true,ricTimeout:0,throttleDelay:125};H=u.lazySizesConfig||u.lazysizesConfig||{};for(e in t){if(!(e in H)){H[e]=t[e]}}}(),!D||!D.getElementsByClassName){return{init:function(){},cfg:H,noSupport:true}}var O=D.documentElement,i=u.HTMLPictureElement,P="addEventListener",$="getAttribute",q=u[P].bind(u),I=u.setTimeout,U=u.requestAnimationFrame||I,o=u.requestIdleCallback,j=/^picture$/i,r=["load","error","lazyincluded","_lazyloaded"],a={},G=Array.prototype.forEach,J=function(e,t){if(!a[t]){a[t]=new RegExp("(\\s|^)"+t+"(\\s|$)")}return a[t].test(e[$]("class")||"")&&a[t]},K=function(e,t){if(!J(e,t)){e.setAttribute("class",(e[$]("class")||"").trim()+" "+t)}},Q=function(e,t){var a;if(a=J(e,t)){e.setAttribute("class",(e[$]("class")||"").replace(a," "))}},V=function(t,a,e){var i=e?P:"removeEventListener";if(e){V(t,a)}r.forEach(function(e){t[i](e,a)})},X=function(e,t,a,i,r){var n=D.createEvent("Event");if(!a){a={}}a.instance=k;n.initEvent(t,!i,!r);n.detail=a;e.dispatchEvent(n);return n},Y=function(e,t){var a;if(!i&&(a=u.picturefill||H.pf)){if(t&&t.src&&!e[$]("srcset")){e.setAttribute("srcset",t.src)}a({reevaluate:true,elements:[e]})}else if(t&&t.src){e.src=t.src}},Z=function(e,t){return(getComputedStyle(e,null)||{})[t]},s=function(e,t,a){a=a||e.offsetWidth;while(a49?function(){o(t,{timeout:n});if(n!==H.ricTimeout){n=H.ricTimeout}}:te(function(){I(t)},true);return function(e){var t;if(e=e===true){n=33}if(a){return}a=true;t=r-(f.now()-i);if(t<0){t=0}if(e||t<9){s()}else{I(s,t)}}},ie=function(e){var t,a;var i=99;var r=function(){t=null;e()};var n=function(){var e=f.now()-a;if(e0;if(r&&Z(i,"overflow")!="visible"){a=i.getBoundingClientRect();r=C>a.left&&pa.top-1&&g500&&O.clientWidth>500?500:370:H.expand;k._defEx=u;f=u*H.expFactor;c=H.hFac;A=null;if(w2&&h>2&&!D.hidden){w=f;N=0}else if(h>1&&N>1&&M<6){w=u}else{w=_}}if(l!==n){y=innerWidth+n*c;z=innerHeight+n;s=n*-1;l=n}a=d[t].getBoundingClientRect();if((b=a.bottom)>=s&&(g=a.top)<=z&&(C=a.right)>=s*c&&(p=a.left)<=y&&(b||C||p||g)&&(H.loadHidden||x(d[t]))&&(m&&M<3&&!o&&(h<3||N<4)||W(d[t],n))){R(d[t]);r=true;if(M>9){break}}else if(!r&&m&&!i&&M<4&&N<4&&h>2&&(v[0]||H.preloadAfterLoad)&&(v[0]||!o&&(b||C||p||g||d[t][$](H.sizesAttr)!="auto"))){i=v[0]||d[t]}}if(i&&!r){R(i)}}};var a=ae(t);var S=function(e){var t=e.target;if(t._lazyCache){delete t._lazyCache;return}L(e);K(t,H.loadedClass);Q(t,H.loadingClass);V(t,B);X(t,"lazyloaded")};var i=te(S);var B=function(e){i({target:e.target})};var T=function(e,t){var a=e.getAttribute("data-load-mode")||H.iframeLoadMode;if(a==0){e.contentWindow.location.replace(t)}else if(a==1){e.src=t}};var F=function(e){var t;var a=e[$](H.srcsetAttr);if(t=H.customMedia[e[$]("data-media")||e[$]("media")]){e.setAttribute("media",t)}if(a){e.setAttribute("srcset",a)}};var s=te(function(t,e,a,i,r){var n,s,o,l,u,f;if(!(u=X(t,"lazybeforeunveil",e)).defaultPrevented){if(i){if(a){K(t,H.autosizesClass)}else{t.setAttribute("sizes",i)}}s=t[$](H.srcsetAttr);n=t[$](H.srcAttr);if(r){o=t.parentNode;l=o&&j.test(o.nodeName||"")}f=e.firesLoad||"src"in t&&(s||n||l);u={target:t};K(t,H.loadingClass);if(f){clearTimeout(c);c=I(L,2500);V(t,B,true)}if(l){G.call(o.getElementsByTagName("source"),F)}if(s){t.setAttribute("srcset",s)}else if(n&&!l){if(d.test(t.nodeName)){T(t,n)}else{t.src=n}}if(r&&(s||l)){Y(t,{src:n})}}if(t._lazyRace){delete t._lazyRace}Q(t,H.lazyClass);ee(function(){var e=t.complete&&t.naturalWidth>1;if(!f||e){if(e){K(t,H.fastLoadedClass)}S(u);t._lazyCache=true;I(function(){if("_lazyCache"in t){delete t._lazyCache}},9)}if(t.loading=="lazy"){M--}},true)});var R=function(e){if(e._lazyRace){return}var t;var a=n.test(e.nodeName);var i=a&&(e[$](H.sizesAttr)||e[$]("sizes"));var r=i=="auto";if((r||!m)&&a&&(e[$]("src")||e.srcset)&&!e.complete&&!J(e,H.errorClass)&&J(e,H.lazyClass)){return}t=X(e,"lazyunveilread").detail;if(r){re.updateElem(e,true,e.offsetWidth)}e._lazyRace=true;M++;s(e,t,r,i,a)};var r=ie(function(){H.loadMode=3;a()});var o=function(){if(H.loadMode==3){H.loadMode=2}r()};var l=function(){if(m){return}if(f.now()-e<999){I(l,999);return}m=true;H.loadMode=3;a();q("scroll",o,true)};return{_:function(){e=f.now();k.elements=D.getElementsByClassName(H.lazyClass);v=D.getElementsByClassName(H.lazyClass+" "+H.preloadClass);q("scroll",a,true);q("resize",a,true);q("pageshow",function(e){if(e.persisted){var t=D.querySelectorAll("."+H.loadingClass);if(t.length&&t.forEach){U(function(){t.forEach(function(e){if(e.complete){R(e)}})})}}});if(u.MutationObserver){new MutationObserver(a).observe(O,{childList:true,subtree:true,attributes:true})}else{O[P]("DOMNodeInserted",a,true);O[P]("DOMAttrModified",a,true);setInterval(a,999)}q("hashchange",a,true);["focus","mouseover","click","load","transitionend","animationend"].forEach(function(e){D[P](e,a,true)});if(/d$|^c/.test(D.readyState)){l()}else{q("load",l);D[P]("DOMContentLoaded",a);I(l,2e4)}if(k.elements.length){t();ee._lsFlush()}else{a()}},checkElems:a,unveil:R,_aLSL:o}}(),re=function(){var a;var n=te(function(e,t,a,i){var r,n,s;e._lazysizesWidth=i;i+="px";e.setAttribute("sizes",i);if(j.test(t.nodeName||"")){r=t.getElementsByTagName("source");for(n=0,s=r.length;n+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0e;e++){var i=h[e];t[i]=0}return t}function n(t){var e=getComputedStyle(t);return e||a("Style returned "+e+". Are you running this code in a hidden iframe on Firefox? See https://bit.ly/getsizebug1"),e}function o(){if(!d){d=!0;var e=document.createElement("div");e.style.width="200px",e.style.padding="1px 2px 3px 4px",e.style.borderStyle="solid",e.style.borderWidth="1px 2px 3px 4px",e.style.boxSizing="border-box";var i=document.body||document.documentElement;i.appendChild(e);var o=n(e);s=200==Math.round(t(o.width)),r.isBoxSizeOuter=s,i.removeChild(e)}}function r(e){if(o(),"string"==typeof e&&(e=document.querySelector(e)),e&&"object"==typeof e&&e.nodeType){var r=n(e);if("none"==r.display)return i();var a={};a.width=e.offsetWidth,a.height=e.offsetHeight;for(var d=a.isBorderBox="border-box"==r.boxSizing,l=0;u>l;l++){var c=h[l],f=r[c],m=parseFloat(f);a[c]=isNaN(m)?0:m}var p=a.paddingLeft+a.paddingRight,g=a.paddingTop+a.paddingBottom,y=a.marginLeft+a.marginRight,v=a.marginTop+a.marginBottom,_=a.borderLeftWidth+a.borderRightWidth,z=a.borderTopWidth+a.borderBottomWidth,E=d&&s,b=t(r.width);b!==!1&&(a.width=b+(E?0:p+_));var x=t(r.height);return x!==!1&&(a.height=x+(E?0:g+z)),a.innerWidth=a.width-(p+_),a.innerHeight=a.height-(g+z),a.outerWidth=a.width+y,a.outerHeight=a.height+v,a}}var s,a="undefined"==typeof console?e:function(t){console.error(t)},h=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],u=h.length,d=!1;return r}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("desandro-matches-selector/matches-selector",e):"object"==typeof module&&module.exports?module.exports=e():t.matchesSelector=e()}(window,function(){"use strict";var t=function(){var t=window.Element.prototype;if(t.matches)return"matches";if(t.matchesSelector)return"matchesSelector";for(var e=["webkit","moz","ms","o"],i=0;is?"round":"floor";r=Math[a](r),this.cols=Math.max(r,1)},n.getContainerWidth=function(){var t=this._getOption("fitWidth"),i=t?this.element.parentNode:this.element,n=e(i);this.containerWidth=n&&n.innerWidth},n._getItemLayoutPosition=function(t){t.getSize();var e=t.size.outerWidth%this.columnWidth,i=e&&1>e?"round":"ceil",n=Math[i](t.size.outerWidth/this.columnWidth);n=Math.min(n,this.cols);for(var o=this.options.horizontalOrder?"_getHorizontalColPosition":"_getTopColPosition",r=this[o](n,t),s={x:this.columnWidth*r.col,y:r.y},a=r.y+t.size.outerHeight,h=n+r.col,u=r.col;h>u;u++)this.colYs[u]=a;return s},n._getTopColPosition=function(t){var e=this._getTopColGroup(t),i=Math.min.apply(Math,e);return{col:e.indexOf(i),y:i}},n._getTopColGroup=function(t){if(2>t)return this.colYs;for(var e=[],i=this.cols+1-t,n=0;i>n;n++)e[n]=this._getColGroupY(n,t);return e},n._getColGroupY=function(t,e){if(2>e)return this.colYs[t];var i=this.colYs.slice(t,t+e);return Math.max.apply(Math,i)},n._getHorizontalColPosition=function(t,e){var i=this.horizontalColIndex%this.cols,n=t>1&&i+t>this.cols;i=n?0:i;var o=e.size.outerWidth&&e.size.outerHeight;return this.horizontalColIndex=o?i+t:this.horizontalColIndex,{col:i,y:this._getColGroupY(i,t)}},n._manageStamp=function(t){var i=e(t),n=this._getElementOffset(t),o=this._getOption("originLeft"),r=o?n.left:n.right,s=r+i.outerWidth,a=Math.floor(r/this.columnWidth);a=Math.max(0,a);var h=Math.floor(s/this.columnWidth);h-=s%this.columnWidth?0:1,h=Math.min(this.cols-1,h);for(var u=this._getOption("originTop"),d=(u?n.top:n.bottom)+i.outerHeight,l=a;h>=l;l++)this.colYs[l]=Math.max(d,this.colYs[l])},n._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var t={height:this.maxY};return this._getOption("fitWidth")&&(t.width=this._getContainerFitWidth()),t},n._getContainerFitWidth=function(){for(var t=0,e=this.cols;--e&&0===this.colYs[e];)t++;return(this.cols-t)*this.columnWidth-this.gutter},n.needsResizeLayout=function(){var t=this.containerWidth;return this.getContainerWidth(),t!=this.containerWidth},i}); + +; +/*! + * imagesLoaded PACKAGED v4.1.4 + * JavaScript is all like "You images are done yet or what?" + * MIT License + */ + +/** + * EvEmitter v1.1.0 + * Lil' event emitter + * MIT License + */ + +/* jshint unused: true, undef: true, strict: true */ + +( function( global, factory ) { + // universal module definition + /* jshint strict: false */ /* globals define, module, window */ + if ( typeof define == 'function' && define.amd ) { + // AMD - RequireJS + define( 'ev-emitter/ev-emitter',factory ); + } else if ( typeof module == 'object' && module.exports ) { + // CommonJS - Browserify, Webpack + module.exports = factory(); + } else { + // Browser globals + global.EvEmitter = factory(); + } + + }( typeof window != 'undefined' ? window : this, function() { + + + + function EvEmitter() {} + + var proto = EvEmitter.prototype; + + proto.on = function( eventName, listener ) { + if ( !eventName || !listener ) { + return; + } + // set events hash + var events = this._events = this._events || {}; + // set listeners array + var listeners = events[ eventName ] = events[ eventName ] || []; + // only add once + if ( listeners.indexOf( listener ) == -1 ) { + listeners.push( listener ); + } + + return this; + }; + + proto.once = function( eventName, listener ) { + if ( !eventName || !listener ) { + return; + } + // add event + this.on( eventName, listener ); + // set once flag + // set onceEvents hash + var onceEvents = this._onceEvents = this._onceEvents || {}; + // set onceListeners object + var onceListeners = onceEvents[ eventName ] = onceEvents[ eventName ] || {}; + // set flag + onceListeners[ listener ] = true; + + return this; + }; + + proto.off = function( eventName, listener ) { + var listeners = this._events && this._events[ eventName ]; + if ( !listeners || !listeners.length ) { + return; + } + var index = listeners.indexOf( listener ); + if ( index != -1 ) { + listeners.splice( index, 1 ); + } + + return this; + }; + + proto.emitEvent = function( eventName, args ) { + var listeners = this._events && this._events[ eventName ]; + if ( !listeners || !listeners.length ) { + return; + } + // copy over to avoid interference if .off() in listener + listeners = listeners.slice(0); + args = args || []; + // once stuff + var onceListeners = this._onceEvents && this._onceEvents[ eventName ]; + + for ( var i=0; i < listeners.length; i++ ) { + var listener = listeners[i] + var isOnce = onceListeners && onceListeners[ listener ]; + if ( isOnce ) { + // remove listener + // remove before trigger to prevent recursion + this.off( eventName, listener ); + // unset once flag + delete onceListeners[ listener ]; + } + // trigger listener + listener.apply( this, args ); + } + + return this; + }; + + proto.allOff = function() { + delete this._events; + delete this._onceEvents; + }; + + return EvEmitter; + + })); + + /*! + * imagesLoaded v4.1.4 + * JavaScript is all like "You images are done yet or what?" + * MIT License + */ + + ( function( window, factory ) { 'use strict'; + // universal module definition + + /*global define: false, module: false, require: false */ + + if ( typeof define == 'function' && define.amd ) { + // AMD + define( [ + 'ev-emitter/ev-emitter' + ], function( EvEmitter ) { + return factory( window, EvEmitter ); + }); + } else if ( typeof module == 'object' && module.exports ) { + // CommonJS + module.exports = factory( + window, + require('ev-emitter') + ); + } else { + // browser global + window.imagesLoaded = factory( + window, + window.EvEmitter + ); + } + + })( typeof window !== 'undefined' ? window : this, + + // -------------------------- factory -------------------------- // + + function factory( window, EvEmitter ) { + + + + var $ = window.jQuery; + var console = window.console; + + // -------------------------- helpers -------------------------- // + + // extend objects + function extend( a, b ) { + for ( var prop in b ) { + a[ prop ] = b[ prop ]; + } + return a; + } + + var arraySlice = Array.prototype.slice; + + // turn element or nodeList into an array + function makeArray( obj ) { + if ( Array.isArray( obj ) ) { + // use object if already an array + return obj; + } + + var isArrayLike = typeof obj == 'object' && typeof obj.length == 'number'; + if ( isArrayLike ) { + // convert nodeList to array + return arraySlice.call( obj ); + } + + // array of single index + return [ obj ]; + } + + // -------------------------- imagesLoaded -------------------------- // + + /** + * @param {Array, Element, NodeList, String} elem + * @param {Object or Function} options - if function, use as callback + * @param {Function} onAlways - callback function + */ + function ImagesLoaded( elem, options, onAlways ) { + // coerce ImagesLoaded() without new, to be new ImagesLoaded() + if ( !( this instanceof ImagesLoaded ) ) { + return new ImagesLoaded( elem, options, onAlways ); + } + // use elem as selector string + var queryElem = elem; + if ( typeof elem == 'string' ) { + queryElem = document.querySelectorAll( elem ); + } + // bail if bad element + if ( !queryElem ) { + console.error( 'Bad element for imagesLoaded ' + ( queryElem || elem ) ); + return; + } + + this.elements = makeArray( queryElem ); + this.options = extend( {}, this.options ); + // shift arguments if no options set + if ( typeof options == 'function' ) { + onAlways = options; + } else { + extend( this.options, options ); + } + + if ( onAlways ) { + this.on( 'always', onAlways ); + } + + this.getImages(); + + if ( $ ) { + // add jQuery Deferred object + this.jqDeferred = new $.Deferred(); + } + + // HACK check async to allow time to bind listeners + setTimeout( this.check.bind( this ) ); + } + + ImagesLoaded.prototype = Object.create( EvEmitter.prototype ); + + ImagesLoaded.prototype.options = {}; + + ImagesLoaded.prototype.getImages = function() { + this.images = []; + + // filter & find items if we have an item selector + this.elements.forEach( this.addElementImages, this ); + }; + + /** + * @param {Node} element + */ + ImagesLoaded.prototype.addElementImages = function( elem ) { + // filter siblings + if ( elem.nodeName == 'IMG' ) { + this.addImage( elem ); + } + // get background image on element + if ( this.options.background === true ) { + this.addElementBackgroundImages( elem ); + } + + // find children + // no non-element nodes, #143 + var nodeType = elem.nodeType; + if ( !nodeType || !elementNodeTypes[ nodeType ] ) { + return; + } + var childImgs = elem.querySelectorAll('img'); + // concat childElems to filterFound array + for ( var i=0; i < childImgs.length; i++ ) { + var img = childImgs[i]; + this.addImage( img ); + } + + // get child background images + if ( typeof this.options.background == 'string' ) { + var children = elem.querySelectorAll( this.options.background ); + for ( i=0; i < children.length; i++ ) { + var child = children[i]; + this.addElementBackgroundImages( child ); + } + } + }; + + var elementNodeTypes = { + 1: true, + 9: true, + 11: true + }; + + ImagesLoaded.prototype.addElementBackgroundImages = function( elem ) { + var style = getComputedStyle( elem ); + if ( !style ) { + // Firefox returns null if in a hidden iframe https://bugzil.la/548397 + return; + } + // get url inside url("...") + var reURL = /url\((['"])?(.*?)\1\)/gi; + var matches = reURL.exec( style.backgroundImage ); + while ( matches !== null ) { + var url = matches && matches[2]; + if ( url ) { + this.addBackground( url, elem ); + } + matches = reURL.exec( style.backgroundImage ); + } + }; + + /** + * @param {Image} img + */ + ImagesLoaded.prototype.addImage = function( img ) { + var loadingImage = new LoadingImage( img ); + this.images.push( loadingImage ); + }; + + ImagesLoaded.prototype.addBackground = function( url, elem ) { + var background = new Background( url, elem ); + this.images.push( background ); + }; + + ImagesLoaded.prototype.check = function() { + var _this = this; + this.progressedCount = 0; + this.hasAnyBroken = false; + // complete if no images + if ( !this.images.length ) { + this.complete(); + return; + } + + function onProgress( image, elem, message ) { + // HACK - Chrome triggers event before object properties have changed. #83 + setTimeout( function() { + _this.progress( image, elem, message ); + }); + } + + this.images.forEach( function( loadingImage ) { + loadingImage.once( 'progress', onProgress ); + loadingImage.check(); + }); + }; + + ImagesLoaded.prototype.progress = function( image, elem, message ) { + this.progressedCount++; + this.hasAnyBroken = this.hasAnyBroken || !image.isLoaded; + // progress event + this.emitEvent( 'progress', [ this, image, elem ] ); + if ( this.jqDeferred && this.jqDeferred.notify ) { + this.jqDeferred.notify( this, image ); + } + // check if completed + if ( this.progressedCount == this.images.length ) { + this.complete(); + } + + if ( this.options.debug && console ) { + console.log( 'progress: ' + message, image, elem ); + } + }; + + ImagesLoaded.prototype.complete = function() { + var eventName = this.hasAnyBroken ? 'fail' : 'done'; + this.isComplete = true; + this.emitEvent( eventName, [ this ] ); + this.emitEvent( 'always', [ this ] ); + if ( this.jqDeferred ) { + var jqMethod = this.hasAnyBroken ? 'reject' : 'resolve'; + this.jqDeferred[ jqMethod ]( this ); + } + }; + + // -------------------------- -------------------------- // + + function LoadingImage( img ) { + this.img = img; + } + + LoadingImage.prototype = Object.create( EvEmitter.prototype ); + + LoadingImage.prototype.check = function() { + // If complete is true and browser supports natural sizes, + // try to check for image status manually. + var isComplete = this.getIsImageComplete(); + if ( isComplete ) { + // report based on naturalWidth + this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' ); + return; + } + + // If none of the checks above matched, simulate loading on detached element. + this.proxyImage = new Image(); + this.proxyImage.addEventListener( 'load', this ); + this.proxyImage.addEventListener( 'error', this ); + // bind to image as well for Firefox. #191 + this.img.addEventListener( 'load', this ); + this.img.addEventListener( 'error', this ); + this.proxyImage.src = this.img.src; + }; + + LoadingImage.prototype.getIsImageComplete = function() { + // check for non-zero, non-undefined naturalWidth + // fixes Safari+InfiniteScroll+Masonry bug infinite-scroll#671 + return this.img.complete && this.img.naturalWidth; + }; + + LoadingImage.prototype.confirm = function( isLoaded, message ) { + this.isLoaded = isLoaded; + this.emitEvent( 'progress', [ this, this.img, message ] ); + }; + + // ----- events ----- // + + // trigger specified handler for event type + LoadingImage.prototype.handleEvent = function( event ) { + var method = 'on' + event.type; + if ( this[ method ] ) { + this[ method ]( event ); + } + }; + + LoadingImage.prototype.onload = function() { + this.confirm( true, 'onload' ); + this.unbindEvents(); + }; + + LoadingImage.prototype.onerror = function() { + this.confirm( false, 'onerror' ); + this.unbindEvents(); + }; + + LoadingImage.prototype.unbindEvents = function() { + this.proxyImage.removeEventListener( 'load', this ); + this.proxyImage.removeEventListener( 'error', this ); + this.img.removeEventListener( 'load', this ); + this.img.removeEventListener( 'error', this ); + }; + + // -------------------------- Background -------------------------- // + + function Background( url, element ) { + this.url = url; + this.element = element; + this.img = new Image(); + } + + // inherit LoadingImage prototype + Background.prototype = Object.create( LoadingImage.prototype ); + + Background.prototype.check = function() { + this.img.addEventListener( 'load', this ); + this.img.addEventListener( 'error', this ); + this.img.src = this.url; + // check if image is already complete + var isComplete = this.getIsImageComplete(); + if ( isComplete ) { + this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' ); + this.unbindEvents(); + } + }; + + Background.prototype.unbindEvents = function() { + this.img.removeEventListener( 'load', this ); + this.img.removeEventListener( 'error', this ); + }; + + Background.prototype.confirm = function( isLoaded, message ) { + this.isLoaded = isLoaded; + this.emitEvent( 'progress', [ this, this.element, message ] ); + }; + + // -------------------------- jQuery -------------------------- // + + ImagesLoaded.makeJQueryPlugin = function( jQuery ) { + jQuery = jQuery || window.jQuery; + if ( !jQuery ) { + return; + } + // set local variable + $ = jQuery; + // $().imagesLoaded() + $.fn.imagesLoaded = function( options, callback ) { + var instance = new ImagesLoaded( this, options, callback ); + return instance.jqDeferred.promise( $(this) ); + }; + }; + // try making plugin + ImagesLoaded.makeJQueryPlugin(); + + // -------------------------- -------------------------- // + + return ImagesLoaded; + + }); + +; +/** + * Swiper 9.4.1 + * Most modern mobile touch slider and framework with hardware accelerated transitions + * https://swiperjs.com + * + * Copyright 2014-2023 Vladimir Kharlampidi + * + * Released under the MIT License + * + * Released on: June 13, 2023 + */ + +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).Swiper=t()}(this,(function(){"use strict";function e(e){return null!==e&&"object"==typeof e&&"constructor"in e&&e.constructor===Object}function t(s,a){void 0===s&&(s={}),void 0===a&&(a={}),Object.keys(a).forEach((i=>{void 0===s[i]?s[i]=a[i]:e(a[i])&&e(s[i])&&Object.keys(a[i]).length>0&&t(s[i],a[i])}))}const s={body:{},addEventListener(){},removeEventListener(){},activeElement:{blur(){},nodeName:""},querySelector:()=>null,querySelectorAll:()=>[],getElementById:()=>null,createEvent:()=>({initEvent(){}}),createElement:()=>({children:[],childNodes:[],style:{},setAttribute(){},getElementsByTagName:()=>[]}),createElementNS:()=>({}),importNode:()=>null,location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function a(){const e="undefined"!=typeof document?document:{};return t(e,s),e}const i={document:s,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState(){},pushState(){},go(){},back(){}},CustomEvent:function(){return this},addEventListener(){},removeEventListener(){},getComputedStyle:()=>({getPropertyValue:()=>""}),Image(){},Date(){},screen:{},setTimeout(){},clearTimeout(){},matchMedia:()=>({}),requestAnimationFrame:e=>"undefined"==typeof setTimeout?(e(),null):setTimeout(e,0),cancelAnimationFrame(e){"undefined"!=typeof setTimeout&&clearTimeout(e)}};function r(){const e="undefined"!=typeof window?window:{};return t(e,i),e}function n(e,t){return void 0===t&&(t=0),setTimeout(e,t)}function l(){return Date.now()}function o(e,t){void 0===t&&(t="x");const s=r();let a,i,n;const l=function(e){const t=r();let s;return t.getComputedStyle&&(s=t.getComputedStyle(e,null)),!s&&e.currentStyle&&(s=e.currentStyle),s||(s=e.style),s}(e);return s.WebKitCSSMatrix?(i=l.transform||l.webkitTransform,i.split(",").length>6&&(i=i.split(", ").map((e=>e.replace(",","."))).join(", ")),n=new s.WebKitCSSMatrix("none"===i?"":i)):(n=l.MozTransform||l.OTransform||l.MsTransform||l.msTransform||l.transform||l.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,"),a=n.toString().split(",")),"x"===t&&(i=s.WebKitCSSMatrix?n.m41:16===a.length?parseFloat(a[12]):parseFloat(a[4])),"y"===t&&(i=s.WebKitCSSMatrix?n.m42:16===a.length?parseFloat(a[13]):parseFloat(a[5])),i||0}function d(e){return"object"==typeof e&&null!==e&&e.constructor&&"Object"===Object.prototype.toString.call(e).slice(8,-1)}function c(e){return"undefined"!=typeof window&&void 0!==window.HTMLElement?e instanceof HTMLElement:e&&(1===e.nodeType||11===e.nodeType)}function p(){const e=Object(arguments.length<=0?void 0:arguments[0]),t=["__proto__","constructor","prototype"];for(let s=1;st.indexOf(e)<0));for(let t=0,i=s.length;tn?"next":"prev",p=(e,t)=>"next"===c&&e>=t||"prev"===c&&e<=t,u=()=>{l=(new Date).getTime(),null===o&&(o=l);const e=Math.max(Math.min((l-o)/d,1),0),r=.5-Math.cos(e*Math.PI)/2;let c=n+r*(s-n);if(p(c,s)&&(c=s),t.wrapperEl.scrollTo({[a]:c}),p(c,s))return t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.scrollSnapType="",setTimeout((()=>{t.wrapperEl.style.overflow="",t.wrapperEl.scrollTo({[a]:c})})),void i.cancelAnimationFrame(t.cssModeFrameID);t.cssModeFrameID=i.requestAnimationFrame(u)};u()}function h(e){return e.querySelector(".swiper-slide-transform")||e.shadowEl&&e.shadowEl.querySelector(".swiper-slide-transform")||e}function f(e,t){return void 0===t&&(t=""),[...e.children].filter((e=>e.matches(t)))}function g(e,t){void 0===t&&(t=[]);const s=document.createElement(e);return s.classList.add(...Array.isArray(t)?t:[t]),s}function v(e){const t=r(),s=a(),i=e.getBoundingClientRect(),n=s.body,l=e.clientTop||n.clientTop||0,o=e.clientLeft||n.clientLeft||0,d=e===t?t.scrollY:e.scrollTop,c=e===t?t.scrollX:e.scrollLeft;return{top:i.top+d-l,left:i.left+c-o}}function w(e,t){return r().getComputedStyle(e,null).getPropertyValue(t)}function b(e){let t,s=e;if(s){for(t=0;null!==(s=s.previousSibling);)1===s.nodeType&&(t+=1);return t}}function y(e,t){const s=[];let a=e.parentElement;for(;a;)t?a.matches(t)&&s.push(a):s.push(a),a=a.parentElement;return s}function E(e,t){t&&e.addEventListener("transitionend",(function s(a){a.target===e&&(t.call(e,a),e.removeEventListener("transitionend",s))}))}function x(e,t,s){const a=r();return s?e["width"===t?"offsetWidth":"offsetHeight"]+parseFloat(a.getComputedStyle(e,null).getPropertyValue("width"===t?"margin-right":"margin-top"))+parseFloat(a.getComputedStyle(e,null).getPropertyValue("width"===t?"margin-left":"margin-bottom")):e.offsetWidth}let S,T,M;function C(){return S||(S=function(){const e=r(),t=a();return{smoothScroll:t.documentElement&&t.documentElement.style&&"scrollBehavior"in t.documentElement.style,touch:!!("ontouchstart"in e||e.DocumentTouch&&t instanceof e.DocumentTouch)}}()),S}function P(e){return void 0===e&&(e={}),T||(T=function(e){let{userAgent:t}=void 0===e?{}:e;const s=C(),a=r(),i=a.navigator.platform,n=t||a.navigator.userAgent,l={ios:!1,android:!1},o=a.screen.width,d=a.screen.height,c=n.match(/(Android);?[\s\/]+([\d.]+)?/);let p=n.match(/(iPad).*OS\s([\d_]+)/);const u=n.match(/(iPod)(.*OS\s([\d_]+))?/),m=!p&&n.match(/(iPhone\sOS|iOS)\s([\d_]+)/),h="Win32"===i;let f="MacIntel"===i;return!p&&f&&s.touch&&["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"].indexOf(`${o}x${d}`)>=0&&(p=n.match(/(Version)\/([\d.]+)/),p||(p=[0,1,"13_0_0"]),f=!1),c&&!h&&(l.os="android",l.android=!0),(p||m||u)&&(l.os="ios",l.ios=!0),l}(e)),T}function L(){return M||(M=function(){const e=r();let t=!1;function s(){const t=e.navigator.userAgent.toLowerCase();return t.indexOf("safari")>=0&&t.indexOf("chrome")<0&&t.indexOf("android")<0}if(s()){const s=String(e.navigator.userAgent);if(s.includes("Version/")){const[e,a]=s.split("Version/")[1].split(" ")[0].split(".").map((e=>Number(e)));t=e<16||16===e&&a<2}}return{isSafari:t||s(),needPerspectiveFix:t,isWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent)}}()),M}var z={on(e,t,s){const a=this;if(!a.eventsListeners||a.destroyed)return a;if("function"!=typeof t)return a;const i=s?"unshift":"push";return e.split(" ").forEach((e=>{a.eventsListeners[e]||(a.eventsListeners[e]=[]),a.eventsListeners[e][i](t)})),a},once(e,t,s){const a=this;if(!a.eventsListeners||a.destroyed)return a;if("function"!=typeof t)return a;function i(){a.off(e,i),i.__emitterProxy&&delete i.__emitterProxy;for(var s=arguments.length,r=new Array(s),n=0;n=0&&t.eventsAnyListeners.splice(s,1),t},off(e,t){const s=this;return!s.eventsListeners||s.destroyed?s:s.eventsListeners?(e.split(" ").forEach((e=>{void 0===t?s.eventsListeners[e]=[]:s.eventsListeners[e]&&s.eventsListeners[e].forEach(((a,i)=>{(a===t||a.__emitterProxy&&a.__emitterProxy===t)&&s.eventsListeners[e].splice(i,1)}))})),s):s},emit(){const e=this;if(!e.eventsListeners||e.destroyed)return e;if(!e.eventsListeners)return e;let t,s,a;for(var i=arguments.length,r=new Array(i),n=0;n{e.eventsAnyListeners&&e.eventsAnyListeners.length&&e.eventsAnyListeners.forEach((e=>{e.apply(a,[t,...s])})),e.eventsListeners&&e.eventsListeners[t]&&e.eventsListeners[t].forEach((e=>{e.apply(a,s)}))})),e}};const A=(e,t)=>{if(!e||e.destroyed||!e.params)return;const s=t.closest(e.isElement?"swiper-slide":`.${e.params.slideClass}`);if(s){const t=s.querySelector(`.${e.params.lazyPreloaderClass}`);t&&t.remove()}},$=(e,t)=>{if(!e.slides[t])return;const s=e.slides[t].querySelector('[loading="lazy"]');s&&s.removeAttribute("loading")},I=e=>{if(!e||e.destroyed||!e.params)return;let t=e.params.lazyPreloadPrevNext;const s=e.slides.length;if(!s||!t||t<0)return;t=Math.min(t,s);const a="auto"===e.params.slidesPerView?e.slidesPerViewDynamic():Math.ceil(e.params.slidesPerView),i=e.activeIndex;if(e.params.grid&&e.params.grid.rows>1){const s=i,r=[s-t];return r.push(...Array.from({length:t}).map(((e,t)=>s+a+t))),void e.slides.forEach(((t,s)=>{r.includes(t.column)&&$(e,s)}))}const r=i+a-1;if(e.params.rewind||e.params.loop)for(let a=i-t;a<=r+t;a+=1){const t=(a%s+s)%s;(tr)&&$(e,t)}else for(let a=Math.max(i-t,0);a<=Math.min(r+t,s-1);a+=1)a!==i&&(a>r||a=0?T=parseFloat(T.replace("%",""))/100*n:"string"==typeof T&&(T=parseFloat(T)),e.virtualSize=-T,p.forEach((e=>{l?e.style.marginLeft="":e.style.marginRight="",e.style.marginBottom="",e.style.marginTop=""})),a.centeredSlides&&a.cssMode&&(u(i,"--swiper-centered-offset-before",""),u(i,"--swiper-centered-offset-after",""));const L=a.grid&&a.grid.rows>1&&e.grid;let z;L&&e.grid.initSlides(m);const A="auto"===a.slidesPerView&&a.breakpoints&&Object.keys(a.breakpoints).filter((e=>void 0!==a.breakpoints[e].slidesPerView)).length>0;for(let i=0;i1&&h.push(e.virtualSize-n)}if(d&&a.loop){const t=v[0]+T;if(a.slidesPerGroup>1){const s=Math.ceil((e.virtual.slidesBefore+e.virtual.slidesAfter)/a.slidesPerGroup),i=t*a.slidesPerGroup;for(let e=0;e!(a.cssMode&&!a.loop)||t!==p.length-1)).forEach((e=>{e.style[s]=`${T}px`}))}if(a.centeredSlides&&a.centeredSlidesBounds){let e=0;v.forEach((t=>{e+=t+(T||0)})),e-=T;const t=e-n;h=h.map((e=>e<=0?-b:e>t?t+y:e))}if(a.centerInsufficientSlides){let e=0;if(v.forEach((t=>{e+=t+(T||0)})),e-=T,e{h[s]=e-t})),g.forEach(((e,s)=>{g[s]=e+t}))}}if(Object.assign(e,{slides:p,snapGrid:h,slidesGrid:g,slidesSizesGrid:v}),a.centeredSlides&&a.cssMode&&!a.centeredSlidesBounds){u(i,"--swiper-centered-offset-before",-h[0]+"px"),u(i,"--swiper-centered-offset-after",e.size/2-v[v.length-1]/2+"px");const t=-e.snapGrid[0],s=-e.slidesGrid[0];e.snapGrid=e.snapGrid.map((e=>e+t)),e.slidesGrid=e.slidesGrid.map((e=>e+s))}if(m!==c&&e.emit("slidesLengthChange"),h.length!==E&&(e.params.watchOverflow&&e.checkOverflow(),e.emit("snapGridLengthChange")),g.length!==S&&e.emit("slidesGridLengthChange"),a.watchSlidesProgress&&e.updateSlidesOffset(),!(d||a.cssMode||"slide"!==a.effect&&"fade"!==a.effect)){const t=`${a.containerModifierClass}backface-hidden`,s=e.el.classList.contains(t);m<=a.maxBackfaceHiddenSlides?s||e.el.classList.add(t):s&&e.el.classList.remove(t)}},updateAutoHeight:function(e){const t=this,s=[],a=t.virtual&&t.params.virtual.enabled;let i,r=0;"number"==typeof e?t.setTransition(e):!0===e&&t.setTransition(t.params.speed);const n=e=>a?t.slides[t.getSlideIndexByData(e)]:t.slides[e];if("auto"!==t.params.slidesPerView&&t.params.slidesPerView>1)if(t.params.centeredSlides)(t.visibleSlides||[]).forEach((e=>{s.push(e)}));else for(i=0;it.slides.length&&!a)break;s.push(n(e))}else s.push(n(t.activeIndex));for(i=0;ir?e:r}(r||0===r)&&(t.wrapperEl.style.height=`${r}px`)},updateSlidesOffset:function(){const e=this,t=e.slides,s=e.isElement?e.isHorizontal()?e.wrapperEl.offsetLeft:e.wrapperEl.offsetTop:0;for(let a=0;a{e.classList.remove(s.slideVisibleClass)})),t.visibleSlidesIndexes=[],t.visibleSlides=[];let l=s.spaceBetween;"string"==typeof l&&l.indexOf("%")>=0?l=parseFloat(l.replace("%",""))/100*t.size:"string"==typeof l&&(l=parseFloat(l));for(let e=0;e=0&&u1&&m<=t.size||u<=0&&m>=t.size)&&(t.visibleSlides.push(o),t.visibleSlidesIndexes.push(e),a[e].classList.add(s.slideVisibleClass)),o.progress=i?-c:c,o.originalProgress=i?-p:p}},updateProgress:function(e){const t=this;if(void 0===e){const s=t.rtlTranslate?-1:1;e=t&&t.translate&&t.translate*s||0}const s=t.params,a=t.maxTranslate()-t.minTranslate();let{progress:i,isBeginning:r,isEnd:n,progressLoop:l}=t;const o=r,d=n;if(0===a)i=0,r=!0,n=!0;else{i=(e-t.minTranslate())/a;const s=Math.abs(e-t.minTranslate())<1,l=Math.abs(e-t.maxTranslate())<1;r=s||i<=0,n=l||i>=1,s&&(i=0),l&&(i=1)}if(s.loop){const s=t.getSlideIndexByData(0),a=t.getSlideIndexByData(t.slides.length-1),i=t.slidesGrid[s],r=t.slidesGrid[a],n=t.slidesGrid[t.slidesGrid.length-1],o=Math.abs(e);l=o>=i?(o-i)/n:(o+n-r)/n,l>1&&(l-=1)}Object.assign(t,{progress:i,progressLoop:l,isBeginning:r,isEnd:n}),(s.watchSlidesProgress||s.centeredSlides&&s.autoHeight)&&t.updateSlidesProgress(e),r&&!o&&t.emit("reachBeginning toEdge"),n&&!d&&t.emit("reachEnd toEdge"),(o&&!r||d&&!n)&&t.emit("fromEdge"),t.emit("progress",i)},updateSlidesClasses:function(){const e=this,{slides:t,params:s,slidesEl:a,activeIndex:i}=e,r=e.virtual&&s.virtual.enabled,n=e=>f(a,`.${s.slideClass}${e}, swiper-slide${e}`)[0];let l;if(t.forEach((e=>{e.classList.remove(s.slideActiveClass,s.slideNextClass,s.slidePrevClass)})),r)if(s.loop){let t=i-e.virtual.slidesBefore;t<0&&(t=e.virtual.slides.length+t),t>=e.virtual.slides.length&&(t-=e.virtual.slides.length),l=n(`[data-swiper-slide-index="${t}"]`)}else l=n(`[data-swiper-slide-index="${i}"]`);else l=t[i];if(l){l.classList.add(s.slideActiveClass);let e=function(e,t){const s=[];for(;e.nextElementSibling;){const a=e.nextElementSibling;t?a.matches(t)&&s.push(a):s.push(a),e=a}return s}(l,`.${s.slideClass}, swiper-slide`)[0];s.loop&&!e&&(e=t[0]),e&&e.classList.add(s.slideNextClass);let a=function(e,t){const s=[];for(;e.previousElementSibling;){const a=e.previousElementSibling;t?a.matches(t)&&s.push(a):s.push(a),e=a}return s}(l,`.${s.slideClass}, swiper-slide`)[0];s.loop&&0===!a&&(a=t[t.length-1]),a&&a.classList.add(s.slidePrevClass)}e.emitSlidesClasses()},updateActiveIndex:function(e){const t=this,s=t.rtlTranslate?t.translate:-t.translate,{snapGrid:a,params:i,activeIndex:r,realIndex:n,snapIndex:l}=t;let o,d=e;const c=e=>{let s=e-t.virtual.slidesBefore;return s<0&&(s=t.virtual.slides.length+s),s>=t.virtual.slides.length&&(s-=t.virtual.slides.length),s};if(void 0===d&&(d=function(e){const{slidesGrid:t,params:s}=e,a=e.rtlTranslate?e.translate:-e.translate;let i;for(let e=0;e=t[e]&&a=t[e]&&a=t[e]&&(i=e);return s.normalizeSlideIndex&&(i<0||void 0===i)&&(i=0),i}(t)),a.indexOf(s)>=0)o=a.indexOf(s);else{const e=Math.min(i.slidesPerGroupSkip,d);o=e+Math.floor((d-e)/i.slidesPerGroup)}if(o>=a.length&&(o=a.length-1),d===r)return o!==l&&(t.snapIndex=o,t.emit("snapIndexChange")),void(t.params.loop&&t.virtual&&t.params.virtual.enabled&&(t.realIndex=c(d)));let p;p=t.virtual&&i.virtual.enabled&&i.loop?c(d):t.slides[d]?parseInt(t.slides[d].getAttribute("data-swiper-slide-index")||d,10):d,Object.assign(t,{previousSnapIndex:l,snapIndex:o,previousRealIndex:n,realIndex:p,previousIndex:r,activeIndex:d}),t.initialized&&I(t),t.emit("activeIndexChange"),t.emit("snapIndexChange"),n!==p&&t.emit("realIndexChange"),(t.initialized||t.params.runCallbacksOnInit)&&t.emit("slideChange")},updateClickedSlide:function(e){const t=this,s=t.params,a=e.closest(`.${s.slideClass}, swiper-slide`);let i,r=!1;if(a)for(let e=0;eo?o:a&&en?"next":r=o.length&&(v=o.length-1);const w=-o[v];if(l.normalizeSlideIndex)for(let e=0;e=s&&t=s&&t=s&&(n=e)}if(r.initialized&&n!==p){if(!r.allowSlideNext&&(u?w>r.translate&&w>r.minTranslate():wr.translate&&w>r.maxTranslate()&&(p||0)!==n)return!1}let b;if(n!==(c||0)&&s&&r.emit("beforeSlideChangeStart"),r.updateProgress(w),b=n>p?"next":n0?(r._cssModeVirtualInitialSet=!0,requestAnimationFrame((()=>{h[e?"scrollLeft":"scrollTop"]=s}))):h[e?"scrollLeft":"scrollTop"]=s,t&&requestAnimationFrame((()=>{r.wrapperEl.style.scrollSnapType="",r._immediateVirtual=!1}))}else{if(!r.support.smoothScroll)return m({swiper:r,targetPosition:s,side:e?"left":"top"}),!0;h.scrollTo({[e?"left":"top"]:s,behavior:"smooth"})}return!0}return r.setTransition(t),r.setTranslate(w),r.updateActiveIndex(n),r.updateSlidesClasses(),r.emit("beforeTransitionStart",t,a),r.transitionStart(s,b),0===t?r.transitionEnd(s,b):r.animating||(r.animating=!0,r.onSlideToWrapperTransitionEnd||(r.onSlideToWrapperTransitionEnd=function(e){r&&!r.destroyed&&e.target===this&&(r.wrapperEl.removeEventListener("transitionend",r.onSlideToWrapperTransitionEnd),r.onSlideToWrapperTransitionEnd=null,delete r.onSlideToWrapperTransitionEnd,r.transitionEnd(s,b))}),r.wrapperEl.addEventListener("transitionend",r.onSlideToWrapperTransitionEnd)),!0},slideToLoop:function(e,t,s,a){if(void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===s&&(s=!0),"string"==typeof e){e=parseInt(e,10)}const i=this;let r=e;return i.params.loop&&(i.virtual&&i.params.virtual.enabled?r+=i.virtual.slidesBefore:r=i.getSlideIndexByData(r)),i.slideTo(r,t,s,a)},slideNext:function(e,t,s){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0);const a=this,{enabled:i,params:r,animating:n}=a;if(!i)return a;let l=r.slidesPerGroup;"auto"===r.slidesPerView&&1===r.slidesPerGroup&&r.slidesPerGroupAuto&&(l=Math.max(a.slidesPerViewDynamic("current",!0),1));const o=a.activeIndexp(e)));let h=r[m.indexOf(u)-1];if(void 0===h&&i.cssMode){let e;r.forEach(((t,s)=>{u>=t&&(e=s)})),void 0!==e&&(h=r[e>0?e-1:e])}let f=0;if(void 0!==h&&(f=n.indexOf(h),f<0&&(f=a.activeIndex-1),"auto"===i.slidesPerView&&1===i.slidesPerGroup&&i.slidesPerGroupAuto&&(f=f-a.slidesPerViewDynamic("previous",!0)+1,f=Math.max(f,0))),i.rewind&&a.isBeginning){const i=a.params.virtual&&a.params.virtual.enabled&&a.virtual?a.virtual.slides.length-1:a.slides.length-1;return a.slideTo(i,e,t,s)}return a.slideTo(f,e,t,s)},slideReset:function(e,t,s){return void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),this.slideTo(this.activeIndex,e,t,s)},slideToClosest:function(e,t,s,a){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),void 0===a&&(a=.5);const i=this;let r=i.activeIndex;const n=Math.min(i.params.slidesPerGroupSkip,r),l=n+Math.floor((r-n)/i.params.slidesPerGroup),o=i.rtlTranslate?i.translate:-i.translate;if(o>=i.snapGrid[l]){const e=i.snapGrid[l];o-e>(i.snapGrid[l+1]-e)*a&&(r+=i.params.slidesPerGroup)}else{const e=i.snapGrid[l-1];o-e<=(i.snapGrid[l]-e)*a&&(r-=i.params.slidesPerGroup)}return r=Math.max(r,0),r=Math.min(r,i.slidesGrid.length-1),i.slideTo(r,e,t,s)},slideToClickedSlide:function(){const e=this,{params:t,slidesEl:s}=e,a="auto"===t.slidesPerView?e.slidesPerViewDynamic():t.slidesPerView;let i,r=e.clickedIndex;const l=e.isElement?"swiper-slide":`.${t.slideClass}`;if(t.loop){if(e.animating)return;i=parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"),10),t.centeredSlides?re.slides.length-e.loopedSlides+a/2?(e.loopFix(),r=e.getSlideIndex(f(s,`${l}[data-swiper-slide-index="${i}"]`)[0]),n((()=>{e.slideTo(r)}))):e.slideTo(r):r>e.slides.length-a?(e.loopFix(),r=e.getSlideIndex(f(s,`${l}[data-swiper-slide-index="${i}"]`)[0]),n((()=>{e.slideTo(r)}))):e.slideTo(r)}else e.slideTo(r)}};var H={loopCreate:function(e){const t=this,{params:s,slidesEl:a}=t;if(!s.loop||t.virtual&&t.params.virtual.enabled)return;f(a,`.${s.slideClass}, swiper-slide`).forEach(((e,t)=>{e.setAttribute("data-swiper-slide-index",t)})),t.loopFix({slideRealIndex:e,direction:s.centeredSlides?void 0:"next"})},loopFix:function(e){let{slideRealIndex:t,slideTo:s=!0,direction:a,setTranslate:i,activeSlideIndex:r,byController:n,byMousewheel:l}=void 0===e?{}:e;const o=this;if(!o.params.loop)return;o.emit("beforeLoopFix");const{slides:d,allowSlidePrev:c,allowSlideNext:p,slidesEl:u,params:m}=o;if(o.allowSlidePrev=!0,o.allowSlideNext=!0,o.virtual&&m.virtual.enabled)return s&&(m.centeredSlides||0!==o.snapIndex?m.centeredSlides&&o.snapIndexe.classList.contains(m.slideActiveClass)))[0]):w=r;const b="next"===a||!a,y="prev"===a||!a;let E=0,x=0;if(ro.slides.length-2*f){x=Math.max(r-(o.slides.length-2*f),m.slidesPerGroup);for(let e=0;e{o.slides[e].swiperLoopMoveDOM=!0,u.prepend(o.slides[e]),o.slides[e].swiperLoopMoveDOM=!1})),b&&v.forEach((e=>{o.slides[e].swiperLoopMoveDOM=!0,u.append(o.slides[e]),o.slides[e].swiperLoopMoveDOM=!1})),o.recalcSlides(),"auto"===m.slidesPerView&&o.updateSlides(),m.watchSlidesProgress&&o.updateSlidesOffset(),s)if(g.length>0&&y)if(void 0===t){const e=o.slidesGrid[w],t=o.slidesGrid[w+E]-e;l?o.setTranslate(o.translate-t):(o.slideTo(w+E,0,!1,!0),i&&(o.touches[o.isHorizontal()?"startX":"startY"]+=t))}else i&&o.slideToLoop(t,0,!1,!0);else if(v.length>0&&b)if(void 0===t){const e=o.slidesGrid[w],t=o.slidesGrid[w-x]-e;l?o.setTranslate(o.translate-t):(o.slideTo(w-x,0,!1,!0),i&&(o.touches[o.isHorizontal()?"startX":"startY"]+=t))}else o.slideToLoop(t,0,!1,!0);if(o.allowSlidePrev=c,o.allowSlideNext=p,o.controller&&o.controller.control&&!n){const e={slideRealIndex:t,slideTo:!1,direction:a,setTranslate:i,activeSlideIndex:r,byController:!0};Array.isArray(o.controller.control)?o.controller.control.forEach((t=>{!t.destroyed&&t.params.loop&&t.loopFix(e)})):o.controller.control instanceof o.constructor&&o.controller.control.params.loop&&o.controller.control.loopFix(e)}o.emit("loopFix")},loopDestroy:function(){const e=this,{params:t,slidesEl:s}=e;if(!t.loop||e.virtual&&e.params.virtual.enabled)return;e.recalcSlides();const a=[];e.slides.forEach((e=>{const t=void 0===e.swiperSlideIndex?1*e.getAttribute("data-swiper-slide-index"):e.swiperSlideIndex;a[t]=e})),e.slides.forEach((e=>{e.removeAttribute("data-swiper-slide-index")})),a.forEach((e=>{s.append(e)})),e.recalcSlides(),e.slideTo(e.realIndex,0)}};function X(e){const t=this,s=a(),i=r(),n=t.touchEventsData;n.evCache.push(e);const{params:o,touches:d,enabled:c}=t;if(!c)return;if(!o.simulateTouch&&"mouse"===e.pointerType)return;if(t.animating&&o.preventInteractionOnTransition)return;!t.animating&&o.cssMode&&o.loop&&t.loopFix();let p=e;p.originalEvent&&(p=p.originalEvent);let u=p.target;if("wrapper"===o.touchEventsTarget&&!t.wrapperEl.contains(u))return;if("which"in p&&3===p.which)return;if("button"in p&&p.button>0)return;if(n.isTouched&&n.isMoved)return;const m=!!o.noSwipingClass&&""!==o.noSwipingClass,h=e.composedPath?e.composedPath():e.path;m&&p.target&&p.target.shadowRoot&&h&&(u=h[0]);const f=o.noSwipingSelector?o.noSwipingSelector:`.${o.noSwipingClass}`,g=!(!p.target||!p.target.shadowRoot);if(o.noSwiping&&(g?function(e,t){return void 0===t&&(t=this),function t(s){if(!s||s===a()||s===r())return null;s.assignedSlot&&(s=s.assignedSlot);const i=s.closest(e);return i||s.getRootNode?i||t(s.getRootNode().host):null}(t)}(f,u):u.closest(f)))return void(t.allowClick=!0);if(o.swipeHandler&&!u.closest(o.swipeHandler))return;d.currentX=p.pageX,d.currentY=p.pageY;const v=d.currentX,w=d.currentY,b=o.edgeSwipeDetection||o.iOSEdgeSwipeDetection,y=o.edgeSwipeThreshold||o.iOSEdgeSwipeThreshold;if(b&&(v<=y||v>=i.innerWidth-y)){if("prevent"!==b)return;e.preventDefault()}Object.assign(n,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),d.startX=v,d.startY=w,n.touchStartTime=l(),t.allowClick=!0,t.updateSize(),t.swipeDirection=void 0,o.threshold>0&&(n.allowThresholdMove=!1);let E=!0;u.matches(n.focusableElements)&&(E=!1,"SELECT"===u.nodeName&&(n.isTouched=!1)),s.activeElement&&s.activeElement.matches(n.focusableElements)&&s.activeElement!==u&&s.activeElement.blur();const x=E&&t.allowTouchMove&&o.touchStartPreventDefault;!o.touchStartForcePreventDefault&&!x||u.isContentEditable||p.preventDefault(),o.freeMode&&o.freeMode.enabled&&t.freeMode&&t.animating&&!o.cssMode&&t.freeMode.onTouchStart(),t.emit("touchStart",p)}function Y(e){const t=a(),s=this,i=s.touchEventsData,{params:r,touches:n,rtlTranslate:o,enabled:d}=s;if(!d)return;if(!r.simulateTouch&&"mouse"===e.pointerType)return;let c=e;if(c.originalEvent&&(c=c.originalEvent),!i.isTouched)return void(i.startMoving&&i.isScrolling&&s.emit("touchMoveOpposite",c));const p=i.evCache.findIndex((e=>e.pointerId===c.pointerId));p>=0&&(i.evCache[p]=c);const u=i.evCache.length>1?i.evCache[0]:c,m=u.pageX,h=u.pageY;if(c.preventedByNestedSwiper)return n.startX=m,void(n.startY=h);if(!s.allowTouchMove)return c.target.matches(i.focusableElements)||(s.allowClick=!1),void(i.isTouched&&(Object.assign(n,{startX:m,startY:h,prevX:s.touches.currentX,prevY:s.touches.currentY,currentX:m,currentY:h}),i.touchStartTime=l()));if(r.touchReleaseOnEdges&&!r.loop)if(s.isVertical()){if(hn.startY&&s.translate>=s.minTranslate())return i.isTouched=!1,void(i.isMoved=!1)}else if(mn.startX&&s.translate>=s.minTranslate())return;if(t.activeElement&&c.target===t.activeElement&&c.target.matches(i.focusableElements))return i.isMoved=!0,void(s.allowClick=!1);if(i.allowTouchCallbacks&&s.emit("touchMove",c),c.targetTouches&&c.targetTouches.length>1)return;n.currentX=m,n.currentY=h;const f=n.currentX-n.startX,g=n.currentY-n.startY;if(s.params.threshold&&Math.sqrt(f**2+g**2)=25&&(e=180*Math.atan2(Math.abs(g),Math.abs(f))/Math.PI,i.isScrolling=s.isHorizontal()?e>r.touchAngle:90-e>r.touchAngle)}if(i.isScrolling&&s.emit("touchMoveOpposite",c),void 0===i.startMoving&&(n.currentX===n.startX&&n.currentY===n.startY||(i.startMoving=!0)),i.isScrolling||s.zoom&&s.params.zoom&&s.params.zoom.enabled&&i.evCache.length>1)return void(i.isTouched=!1);if(!i.startMoving)return;s.allowClick=!1,!r.cssMode&&c.cancelable&&c.preventDefault(),r.touchMoveStopPropagation&&!r.nested&&c.stopPropagation();let v=s.isHorizontal()?f:g,w=s.isHorizontal()?n.currentX-n.previousX:n.currentY-n.previousY;r.oneWayMovement&&(v=Math.abs(v)*(o?1:-1),w=Math.abs(w)*(o?1:-1)),n.diff=v,v*=r.touchRatio,o&&(v=-v,w=-w);const b=s.touchesDirection;s.swipeDirection=v>0?"prev":"next",s.touchesDirection=w>0?"prev":"next";const y=s.params.loop&&!r.cssMode;if(!i.isMoved){if(y&&s.loopFix({direction:s.swipeDirection}),i.startTranslate=s.getTranslate(),s.setTransition(0),s.animating){const e=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0});s.wrapperEl.dispatchEvent(e)}i.allowMomentumBounce=!1,!r.grabCursor||!0!==s.allowSlideNext&&!0!==s.allowSlidePrev||s.setGrabCursor(!0),s.emit("sliderFirstMove",c)}let E;i.isMoved&&b!==s.touchesDirection&&y&&Math.abs(v)>=1&&(s.loopFix({direction:s.swipeDirection,setTranslate:!0}),E=!0),s.emit("sliderMove",c),i.isMoved=!0,i.currentTranslate=v+i.startTranslate;let x=!0,S=r.resistanceRatio;if(r.touchReleaseOnEdges&&(S=0),v>0?(y&&!E&&i.currentTranslate>(r.centeredSlides?s.minTranslate()-s.size/2:s.minTranslate())&&s.loopFix({direction:"prev",setTranslate:!0,activeSlideIndex:0}),i.currentTranslate>s.minTranslate()&&(x=!1,r.resistance&&(i.currentTranslate=s.minTranslate()-1+(-s.minTranslate()+i.startTranslate+v)**S))):v<0&&(y&&!E&&i.currentTranslate<(r.centeredSlides?s.maxTranslate()+s.size/2:s.maxTranslate())&&s.loopFix({direction:"next",setTranslate:!0,activeSlideIndex:s.slides.length-("auto"===r.slidesPerView?s.slidesPerViewDynamic():Math.ceil(parseFloat(r.slidesPerView,10)))}),i.currentTranslatei.startTranslate&&(i.currentTranslate=i.startTranslate),s.allowSlidePrev||s.allowSlideNext||(i.currentTranslate=i.startTranslate),r.threshold>0){if(!(Math.abs(v)>r.threshold||i.allowThresholdMove))return void(i.currentTranslate=i.startTranslate);if(!i.allowThresholdMove)return i.allowThresholdMove=!0,n.startX=n.currentX,n.startY=n.currentY,i.currentTranslate=i.startTranslate,void(n.diff=s.isHorizontal()?n.currentX-n.startX:n.currentY-n.startY)}r.followFinger&&!r.cssMode&&((r.freeMode&&r.freeMode.enabled&&s.freeMode||r.watchSlidesProgress)&&(s.updateActiveIndex(),s.updateSlidesClasses()),r.freeMode&&r.freeMode.enabled&&s.freeMode&&s.freeMode.onTouchMove(),s.updateProgress(i.currentTranslate),s.setTranslate(i.currentTranslate))}function B(e){const t=this,s=t.touchEventsData,a=s.evCache.findIndex((t=>t.pointerId===e.pointerId));if(a>=0&&s.evCache.splice(a,1),["pointercancel","pointerout","pointerleave"].includes(e.type)){if(!("pointercancel"===e.type&&(t.browser.isSafari||t.browser.isWebView)))return}const{params:i,touches:r,rtlTranslate:o,slidesGrid:d,enabled:c}=t;if(!c)return;if(!i.simulateTouch&&"mouse"===e.pointerType)return;let p=e;if(p.originalEvent&&(p=p.originalEvent),s.allowTouchCallbacks&&t.emit("touchEnd",p),s.allowTouchCallbacks=!1,!s.isTouched)return s.isMoved&&i.grabCursor&&t.setGrabCursor(!1),s.isMoved=!1,void(s.startMoving=!1);i.grabCursor&&s.isMoved&&s.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);const u=l(),m=u-s.touchStartTime;if(t.allowClick){const e=p.path||p.composedPath&&p.composedPath();t.updateClickedSlide(e&&e[0]||p.target),t.emit("tap click",p),m<300&&u-s.lastClickTime<300&&t.emit("doubleTap doubleClick",p)}if(s.lastClickTime=l(),n((()=>{t.destroyed||(t.allowClick=!0)})),!s.isTouched||!s.isMoved||!t.swipeDirection||0===r.diff||s.currentTranslate===s.startTranslate)return s.isTouched=!1,s.isMoved=!1,void(s.startMoving=!1);let h;if(s.isTouched=!1,s.isMoved=!1,s.startMoving=!1,h=i.followFinger?o?t.translate:-t.translate:-s.currentTranslate,i.cssMode)return;if(i.freeMode&&i.freeMode.enabled)return void t.freeMode.onTouchEnd({currentPos:h});let f=0,g=t.slidesSizesGrid[0];for(let e=0;e=d[e]&&h=d[e]&&(f=e,g=d[d.length-1]-d[d.length-2])}let v=null,w=null;i.rewind&&(t.isBeginning?w=i.virtual&&i.virtual.enabled&&t.virtual?t.virtual.slides.length-1:t.slides.length-1:t.isEnd&&(v=0));const b=(h-d[f])/g,y=fi.longSwipesMs){if(!i.longSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&(b>=i.longSwipesRatio?t.slideTo(i.rewind&&t.isEnd?v:f+y):t.slideTo(f)),"prev"===t.swipeDirection&&(b>1-i.longSwipesRatio?t.slideTo(f+y):null!==w&&b<0&&Math.abs(b)>i.longSwipesRatio?t.slideTo(w):t.slideTo(f))}else{if(!i.shortSwipes)return void t.slideTo(t.activeIndex);t.navigation&&(p.target===t.navigation.nextEl||p.target===t.navigation.prevEl)?p.target===t.navigation.nextEl?t.slideTo(f+y):t.slideTo(f):("next"===t.swipeDirection&&t.slideTo(null!==v?v:f+y),"prev"===t.swipeDirection&&t.slideTo(null!==w?w:f))}}function N(){const e=this,{params:t,el:s}=e;if(s&&0===s.offsetWidth)return;t.breakpoints&&e.setBreakpoint();const{allowSlideNext:a,allowSlidePrev:i,snapGrid:r}=e,n=e.virtual&&e.params.virtual.enabled;e.allowSlideNext=!0,e.allowSlidePrev=!0,e.updateSize(),e.updateSlides(),e.updateSlidesClasses();const l=n&&t.loop;!("auto"===t.slidesPerView||t.slidesPerView>1)||!e.isEnd||e.isBeginning||e.params.centeredSlides||l?e.params.loop&&!n?e.slideToLoop(e.realIndex,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0):e.slideTo(e.slides.length-1,0,!1,!0),e.autoplay&&e.autoplay.running&&e.autoplay.paused&&(clearTimeout(e.autoplay.resizeTimeout),e.autoplay.resizeTimeout=setTimeout((()=>{e.autoplay&&e.autoplay.running&&e.autoplay.paused&&e.autoplay.resume()}),500)),e.allowSlidePrev=i,e.allowSlideNext=a,e.params.watchOverflow&&r!==e.snapGrid&&e.checkOverflow()}function q(e){const t=this;t.enabled&&(t.allowClick||(t.params.preventClicks&&e.preventDefault(),t.params.preventClicksPropagation&&t.animating&&(e.stopPropagation(),e.stopImmediatePropagation())))}function R(){const e=this,{wrapperEl:t,rtlTranslate:s,enabled:a}=e;if(!a)return;let i;e.previousTranslate=e.translate,e.isHorizontal()?e.translate=-t.scrollLeft:e.translate=-t.scrollTop,0===e.translate&&(e.translate=0),e.updateActiveIndex(),e.updateSlidesClasses();const r=e.maxTranslate()-e.minTranslate();i=0===r?0:(e.translate-e.minTranslate())/r,i!==e.progress&&e.updateProgress(s?-e.translate:e.translate),e.emit("setTranslate",e.translate,!1)}function F(e){const t=this;A(t,e.target),t.params.cssMode||"auto"!==t.params.slidesPerView&&!t.params.autoHeight||t.update()}let _=!1;function V(){}const j=(e,t)=>{const s=a(),{params:i,el:r,wrapperEl:n,device:l}=e,o=!!i.nested,d="on"===t?"addEventListener":"removeEventListener",c=t;r[d]("pointerdown",e.onTouchStart,{passive:!1}),s[d]("pointermove",e.onTouchMove,{passive:!1,capture:o}),s[d]("pointerup",e.onTouchEnd,{passive:!0}),s[d]("pointercancel",e.onTouchEnd,{passive:!0}),s[d]("pointerout",e.onTouchEnd,{passive:!0}),s[d]("pointerleave",e.onTouchEnd,{passive:!0}),(i.preventClicks||i.preventClicksPropagation)&&r[d]("click",e.onClick,!0),i.cssMode&&n[d]("scroll",e.onScroll),i.updateOnWindowResize?e[c](l.ios||l.android?"resize orientationchange observerUpdate":"resize observerUpdate",N,!0):e[c]("observerUpdate",N,!0),r[d]("load",e.onLoad,{capture:!0})};const W=(e,t)=>e.grid&&t.grid&&t.grid.rows>1;var U={init:!0,direction:"horizontal",oneWayMovement:!1,touchEventsTarget:"wrapper",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!0,nested:!1,createElements:!1,enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerGroup:1,slidesPerGroupSkip:0,slidesPerGroupAuto:!1,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!0,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:5,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,loop:!1,loopedSlides:null,loopPreventsSliding:!0,rewind:!1,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,maxBackfaceHiddenSlides:10,containerModifierClass:"swiper-",slideClass:"swiper-slide",slideActiveClass:"swiper-slide-active",slideVisibleClass:"swiper-slide-visible",slideNextClass:"swiper-slide-next",slidePrevClass:"swiper-slide-prev",wrapperClass:"swiper-wrapper",lazyPreloaderClass:"swiper-lazy-preloader",lazyPreloadPrevNext:0,runCallbacksOnInit:!0,_emitClasses:!1};function K(e,t){return function(s){void 0===s&&(s={});const a=Object.keys(s)[0],i=s[a];"object"==typeof i&&null!==i?(["navigation","pagination","scrollbar"].indexOf(a)>=0&&!0===e[a]&&(e[a]={auto:!0}),a in e&&"enabled"in i?(!0===e[a]&&(e[a]={enabled:!0}),"object"!=typeof e[a]||"enabled"in e[a]||(e[a].enabled=!0),e[a]||(e[a]={enabled:!1}),p(t,s)):p(t,s)):p(t,s)}}const Z={eventsEmitter:z,update:k,translate:O,transition:{setTransition:function(e,t){const s=this;s.params.cssMode||(s.wrapperEl.style.transitionDuration=`${e}ms`),s.emit("setTransition",e,t)},transitionStart:function(e,t){void 0===e&&(e=!0);const s=this,{params:a}=s;a.cssMode||(a.autoHeight&&s.updateAutoHeight(),D({swiper:s,runCallbacks:e,direction:t,step:"Start"}))},transitionEnd:function(e,t){void 0===e&&(e=!0);const s=this,{params:a}=s;s.animating=!1,a.cssMode||(s.setTransition(0),D({swiper:s,runCallbacks:e,direction:t,step:"End"}))}},slide:G,loop:H,grabCursor:{setGrabCursor:function(e){const t=this;if(!t.params.simulateTouch||t.params.watchOverflow&&t.isLocked||t.params.cssMode)return;const s="container"===t.params.touchEventsTarget?t.el:t.wrapperEl;t.isElement&&(t.__preventObserver__=!0),s.style.cursor="move",s.style.cursor=e?"grabbing":"grab",t.isElement&&requestAnimationFrame((()=>{t.__preventObserver__=!1}))},unsetGrabCursor:function(){const e=this;e.params.watchOverflow&&e.isLocked||e.params.cssMode||(e.isElement&&(e.__preventObserver__=!0),e["container"===e.params.touchEventsTarget?"el":"wrapperEl"].style.cursor="",e.isElement&&requestAnimationFrame((()=>{e.__preventObserver__=!1})))}},events:{attachEvents:function(){const e=this,t=a(),{params:s}=e;e.onTouchStart=X.bind(e),e.onTouchMove=Y.bind(e),e.onTouchEnd=B.bind(e),s.cssMode&&(e.onScroll=R.bind(e)),e.onClick=q.bind(e),e.onLoad=F.bind(e),_||(t.addEventListener("touchstart",V),_=!0),j(e,"on")},detachEvents:function(){j(this,"off")}},breakpoints:{setBreakpoint:function(){const e=this,{realIndex:t,initialized:s,params:a,el:i}=e,r=a.breakpoints;if(!r||r&&0===Object.keys(r).length)return;const n=e.getBreakpoint(r,e.params.breakpointsBase,e.el);if(!n||e.currentBreakpoint===n)return;const l=(n in r?r[n]:void 0)||e.originalParams,o=W(e,a),d=W(e,l),c=a.enabled;o&&!d?(i.classList.remove(`${a.containerModifierClass}grid`,`${a.containerModifierClass}grid-column`),e.emitContainerClasses()):!o&&d&&(i.classList.add(`${a.containerModifierClass}grid`),(l.grid.fill&&"column"===l.grid.fill||!l.grid.fill&&"column"===a.grid.fill)&&i.classList.add(`${a.containerModifierClass}grid-column`),e.emitContainerClasses()),["navigation","pagination","scrollbar"].forEach((t=>{if(void 0===l[t])return;const s=a[t]&&a[t].enabled,i=l[t]&&l[t].enabled;s&&!i&&e[t].disable(),!s&&i&&e[t].enable()}));const u=l.direction&&l.direction!==a.direction,m=a.loop&&(l.slidesPerView!==a.slidesPerView||u);u&&s&&e.changeDirection(),p(e.params,l);const h=e.params.enabled;Object.assign(e,{allowTouchMove:e.params.allowTouchMove,allowSlideNext:e.params.allowSlideNext,allowSlidePrev:e.params.allowSlidePrev}),c&&!h?e.disable():!c&&h&&e.enable(),e.currentBreakpoint=n,e.emit("_beforeBreakpoint",l),m&&s&&(e.loopDestroy(),e.loopCreate(t),e.updateSlides()),e.emit("breakpoint",l)},getBreakpoint:function(e,t,s){if(void 0===t&&(t="window"),!e||"container"===t&&!s)return;let a=!1;const i=r(),n="window"===t?i.innerHeight:s.clientHeight,l=Object.keys(e).map((e=>{if("string"==typeof e&&0===e.indexOf("@")){const t=parseFloat(e.substr(1));return{value:n*t,point:e}}return{value:e,point:e}}));l.sort(((e,t)=>parseInt(e.value,10)-parseInt(t.value,10)));for(let e=0;es}else e.isLocked=1===e.snapGrid.length;!0===s.allowSlideNext&&(e.allowSlideNext=!e.isLocked),!0===s.allowSlidePrev&&(e.allowSlidePrev=!e.isLocked),t&&t!==e.isLocked&&(e.isEnd=!1),t!==e.isLocked&&e.emit(e.isLocked?"lock":"unlock")}},classes:{addClasses:function(){const e=this,{classNames:t,params:s,rtl:a,el:i,device:r}=e,n=function(e,t){const s=[];return e.forEach((e=>{"object"==typeof e?Object.keys(e).forEach((a=>{e[a]&&s.push(t+a)})):"string"==typeof e&&s.push(t+e)})),s}(["initialized",s.direction,{"free-mode":e.params.freeMode&&s.freeMode.enabled},{autoheight:s.autoHeight},{rtl:a},{grid:s.grid&&s.grid.rows>1},{"grid-column":s.grid&&s.grid.rows>1&&"column"===s.grid.fill},{android:r.android},{ios:r.ios},{"css-mode":s.cssMode},{centered:s.cssMode&&s.centeredSlides},{"watch-progress":s.watchSlidesProgress}],s.containerModifierClass);t.push(...n),i.classList.add(...t),e.emitContainerClasses()},removeClasses:function(){const{el:e,classNames:t}=this;e.classList.remove(...t),this.emitContainerClasses()}}},Q={};class J{constructor(){let e,t;for(var s=arguments.length,i=new Array(s),r=0;r1){const e=[];return n.querySelectorAll(t.el).forEach((s=>{const a=p({},t,{el:s});e.push(new J(a))})),e}const l=this;l.__swiper__=!0,l.support=C(),l.device=P({userAgent:t.userAgent}),l.browser=L(),l.eventsListeners={},l.eventsAnyListeners=[],l.modules=[...l.__modules__],t.modules&&Array.isArray(t.modules)&&l.modules.push(...t.modules);const o={};l.modules.forEach((e=>{e({params:t,swiper:l,extendParams:K(t,o),on:l.on.bind(l),once:l.once.bind(l),off:l.off.bind(l),emit:l.emit.bind(l)})}));const d=p({},U,o);return l.params=p({},d,Q,t),l.originalParams=p({},l.params),l.passedParams=p({},t),l.params&&l.params.on&&Object.keys(l.params.on).forEach((e=>{l.on(e,l.params.on[e])})),l.params&&l.params.onAny&&l.onAny(l.params.onAny),Object.assign(l,{enabled:l.params.enabled,el:e,classNames:[],slides:[],slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:()=>"horizontal"===l.params.direction,isVertical:()=>"vertical"===l.params.direction,activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,cssOverflowAdjustment(){return Math.trunc(this.translate/2**23)*2**23},allowSlideNext:l.params.allowSlideNext,allowSlidePrev:l.params.allowSlidePrev,touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,focusableElements:l.params.focusableElements,lastClickTime:0,clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,startMoving:void 0,evCache:[]},allowClick:!0,allowTouchMove:l.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),l.emit("_swiper"),l.params.init&&l.init(),l}getSlideIndex(e){const{slidesEl:t,params:s}=this,a=b(f(t,`.${s.slideClass}, swiper-slide`)[0]);return b(e)-a}getSlideIndexByData(e){return this.getSlideIndex(this.slides.filter((t=>1*t.getAttribute("data-swiper-slide-index")===e))[0])}recalcSlides(){const{slidesEl:e,params:t}=this;this.slides=f(e,`.${t.slideClass}, swiper-slide`)}enable(){const e=this;e.enabled||(e.enabled=!0,e.params.grabCursor&&e.setGrabCursor(),e.emit("enable"))}disable(){const e=this;e.enabled&&(e.enabled=!1,e.params.grabCursor&&e.unsetGrabCursor(),e.emit("disable"))}setProgress(e,t){const s=this;e=Math.min(Math.max(e,0),1);const a=s.minTranslate(),i=(s.maxTranslate()-a)*e+a;s.translateTo(i,void 0===t?0:t),s.updateActiveIndex(),s.updateSlidesClasses()}emitContainerClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=e.el.className.split(" ").filter((t=>0===t.indexOf("swiper")||0===t.indexOf(e.params.containerModifierClass)));e.emit("_containerClasses",t.join(" "))}getSlideClasses(e){const t=this;return t.destroyed?"":e.className.split(" ").filter((e=>0===e.indexOf("swiper-slide")||0===e.indexOf(t.params.slideClass))).join(" ")}emitSlidesClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=[];e.slides.forEach((s=>{const a=e.getSlideClasses(s);t.push({slideEl:s,classNames:a}),e.emit("_slideClass",s,a)})),e.emit("_slideClasses",t)}slidesPerViewDynamic(e,t){void 0===e&&(e="current"),void 0===t&&(t=!1);const{params:s,slides:a,slidesGrid:i,slidesSizesGrid:r,size:n,activeIndex:l}=this;let o=1;if(s.centeredSlides){let e,t=a[l]?a[l].swiperSlideSize:0;for(let s=l+1;sn&&(e=!0));for(let s=l-1;s>=0;s-=1)a[s]&&!e&&(t+=a[s].swiperSlideSize,o+=1,t>n&&(e=!0))}else if("current"===e)for(let e=l+1;e=0;e-=1){i[l]-i[e]{t.complete&&A(e,t)})),e.updateSize(),e.updateSlides(),e.updateProgress(),e.updateSlidesClasses(),s.freeMode&&s.freeMode.enabled&&!s.cssMode)a(),s.autoHeight&&e.updateAutoHeight();else{if(("auto"===s.slidesPerView||s.slidesPerView>1)&&e.isEnd&&!s.centeredSlides){const t=e.virtual&&s.virtual.enabled?e.virtual.slides:e.slides;i=e.slideTo(t.length-1,0,!1,!0)}else i=e.slideTo(e.activeIndex,0,!1,!0);i||a()}s.watchOverflow&&t!==e.snapGrid&&e.checkOverflow(),e.emit("update")}changeDirection(e,t){void 0===t&&(t=!0);const s=this,a=s.params.direction;return e||(e="horizontal"===a?"vertical":"horizontal"),e===a||"horizontal"!==e&&"vertical"!==e||(s.el.classList.remove(`${s.params.containerModifierClass}${a}`),s.el.classList.add(`${s.params.containerModifierClass}${e}`),s.emitContainerClasses(),s.params.direction=e,s.slides.forEach((t=>{"vertical"===e?t.style.width="":t.style.height=""})),s.emit("changeDirection"),t&&s.update()),s}changeLanguageDirection(e){const t=this;t.rtl&&"rtl"===e||!t.rtl&&"ltr"===e||(t.rtl="rtl"===e,t.rtlTranslate="horizontal"===t.params.direction&&t.rtl,t.rtl?(t.el.classList.add(`${t.params.containerModifierClass}rtl`),t.el.dir="rtl"):(t.el.classList.remove(`${t.params.containerModifierClass}rtl`),t.el.dir="ltr"),t.update())}mount(e){const t=this;if(t.mounted)return!0;let s=e||t.params.el;if("string"==typeof s&&(s=document.querySelector(s)),!s)return!1;s.swiper=t,s.shadowEl&&(t.isElement=!0);const a=()=>`.${(t.params.wrapperClass||"").trim().split(" ").join(".")}`;let i=(()=>{if(s&&s.shadowRoot&&s.shadowRoot.querySelector){return s.shadowRoot.querySelector(a())}return f(s,a())[0]})();return!i&&t.params.createElements&&(i=g("div",t.params.wrapperClass),s.append(i),f(s,`.${t.params.slideClass}`).forEach((e=>{i.append(e)}))),Object.assign(t,{el:s,wrapperEl:i,slidesEl:t.isElement?s:i,mounted:!0,rtl:"rtl"===s.dir.toLowerCase()||"rtl"===w(s,"direction"),rtlTranslate:"horizontal"===t.params.direction&&("rtl"===s.dir.toLowerCase()||"rtl"===w(s,"direction")),wrongRTL:"-webkit-box"===w(i,"display")}),!0}init(e){const t=this;if(t.initialized)return t;return!1===t.mount(e)||(t.emit("beforeInit"),t.params.breakpoints&&t.setBreakpoint(),t.addClasses(),t.updateSize(),t.updateSlides(),t.params.watchOverflow&&t.checkOverflow(),t.params.grabCursor&&t.enabled&&t.setGrabCursor(),t.params.loop&&t.virtual&&t.params.virtual.enabled?t.slideTo(t.params.initialSlide+t.virtual.slidesBefore,0,t.params.runCallbacksOnInit,!1,!0):t.slideTo(t.params.initialSlide,0,t.params.runCallbacksOnInit,!1,!0),t.params.loop&&t.loopCreate(),t.attachEvents(),[...t.el.querySelectorAll('[loading="lazy"]')].forEach((e=>{e.complete?A(t,e):e.addEventListener("load",(e=>{A(t,e.target)}))})),I(t),t.initialized=!0,I(t),t.emit("init"),t.emit("afterInit")),t}destroy(e,t){void 0===e&&(e=!0),void 0===t&&(t=!0);const s=this,{params:a,el:i,wrapperEl:r,slides:n}=s;return void 0===s.params||s.destroyed||(s.emit("beforeDestroy"),s.initialized=!1,s.detachEvents(),a.loop&&s.loopDestroy(),t&&(s.removeClasses(),i.removeAttribute("style"),r.removeAttribute("style"),n&&n.length&&n.forEach((e=>{e.classList.remove(a.slideVisibleClass,a.slideActiveClass,a.slideNextClass,a.slidePrevClass),e.removeAttribute("style"),e.removeAttribute("data-swiper-slide-index")}))),s.emit("destroy"),Object.keys(s.eventsListeners).forEach((e=>{s.off(e)})),!1!==e&&(s.el.swiper=null,function(e){const t=e;Object.keys(t).forEach((e=>{try{t[e]=null}catch(e){}try{delete t[e]}catch(e){}}))}(s)),s.destroyed=!0),null}static extendDefaults(e){p(Q,e)}static get extendedDefaults(){return Q}static get defaults(){return U}static installModule(e){J.prototype.__modules__||(J.prototype.__modules__=[]);const t=J.prototype.__modules__;"function"==typeof e&&t.indexOf(e)<0&&t.push(e)}static use(e){return Array.isArray(e)?(e.forEach((e=>J.installModule(e))),J):(J.installModule(e),J)}}function ee(e,t,s,a){return e.params.createElements&&Object.keys(a).forEach((i=>{if(!s[i]&&!0===s.auto){let r=f(e.el,`.${a[i]}`)[0];r||(r=g("div",a[i]),r.className=a[i],e.el.append(r)),s[i]=r,t[i]=r}})),s}function te(e){return void 0===e&&(e=""),`.${e.trim().replace(/([\.:!+\/])/g,"\\$1").replace(/ /g,".")}`}function se(e){const t=this,{params:s,slidesEl:a}=t;s.loop&&t.loopDestroy();const i=e=>{if("string"==typeof e){const t=document.createElement("div");t.innerHTML=e,a.append(t.children[0]),t.innerHTML=""}else a.append(e)};if("object"==typeof e&&"length"in e)for(let t=0;t{if("string"==typeof e){const t=document.createElement("div");t.innerHTML=e,i.prepend(t.children[0]),t.innerHTML=""}else i.prepend(e)};if("object"==typeof e&&"length"in e){for(let t=0;t=l)return void s.appendSlide(t);let o=n>e?n+1:n;const d=[];for(let t=l-1;t>=e;t-=1){const e=s.slides[t];e.remove(),d.unshift(e)}if("object"==typeof t&&"length"in t){for(let e=0;ee?n+t.length:n}else r.append(t);for(let e=0;e{if(s.params.effect!==t)return;s.classNames.push(`${s.params.containerModifierClass}${t}`),l&&l()&&s.classNames.push(`${s.params.containerModifierClass}3d`);const e=n?n():{};Object.assign(s.params,e),Object.assign(s.originalParams,e)})),a("setTranslate",(()=>{s.params.effect===t&&i()})),a("setTransition",((e,a)=>{s.params.effect===t&&r(a)})),a("transitionEnd",(()=>{if(s.params.effect===t&&o){if(!d||!d().slideShadows)return;s.slides.forEach((e=>{e.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((e=>e.remove()))})),o()}})),a("virtualUpdate",(()=>{s.params.effect===t&&(s.slides.length||(c=!0),requestAnimationFrame((()=>{c&&s.slides&&s.slides.length&&(i(),c=!1)})))}))}function oe(e,t){const s=h(t);return s!==t&&(s.style.backfaceVisibility="hidden",s.style["-webkit-backface-visibility"]="hidden"),s}function de(e){let{swiper:t,duration:s,transformElements:a,allSlides:i}=e;const{activeIndex:r}=t;if(t.params.virtualTranslate&&0!==s){let e,s=!1;e=i?a:a.filter((e=>{const s=e.classList.contains("swiper-slide-transform")?(e=>{if(!e.parentElement)return t.slides.filter((t=>t.shadowEl&&t.shadowEl===e.parentNode))[0];return e.parentElement})(e):e;return t.getSlideIndex(s)===r})),e.forEach((e=>{E(e,(()=>{if(s)return;if(!t||t.destroyed)return;s=!0,t.animating=!1;const e=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0});t.wrapperEl.dispatchEvent(e)}))}))}}function ce(e,t,s){const a="swiper-slide-shadow"+(s?`-${s}`:""),i=h(t);let r=i.querySelector(`.${a}`);return r||(r=g("div","swiper-slide-shadow"+(s?`-${s}`:"")),i.append(r)),r}Object.keys(Z).forEach((e=>{Object.keys(Z[e]).forEach((t=>{J.prototype[t]=Z[e][t]}))})),J.use([function(e){let{swiper:t,on:s,emit:a}=e;const i=r();let n=null,l=null;const o=()=>{t&&!t.destroyed&&t.initialized&&(a("beforeResize"),a("resize"))},d=()=>{t&&!t.destroyed&&t.initialized&&a("orientationchange")};s("init",(()=>{t.params.resizeObserver&&void 0!==i.ResizeObserver?t&&!t.destroyed&&t.initialized&&(n=new ResizeObserver((e=>{l=i.requestAnimationFrame((()=>{const{width:s,height:a}=t;let i=s,r=a;e.forEach((e=>{let{contentBoxSize:s,contentRect:a,target:n}=e;n&&n!==t.el||(i=a?a.width:(s[0]||s).inlineSize,r=a?a.height:(s[0]||s).blockSize)})),i===s&&r===a||o()}))})),n.observe(t.el)):(i.addEventListener("resize",o),i.addEventListener("orientationchange",d))})),s("destroy",(()=>{l&&i.cancelAnimationFrame(l),n&&n.unobserve&&t.el&&(n.unobserve(t.el),n=null),i.removeEventListener("resize",o),i.removeEventListener("orientationchange",d)}))},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=[],l=r(),o=function(e,s){void 0===s&&(s={});const a=new(l.MutationObserver||l.WebkitMutationObserver)((e=>{if(t.__preventObserver__)return;if(1===e.length)return void i("observerUpdate",e[0]);const s=function(){i("observerUpdate",e[0])};l.requestAnimationFrame?l.requestAnimationFrame(s):l.setTimeout(s,0)}));a.observe(e,{attributes:void 0===s.attributes||s.attributes,childList:void 0===s.childList||s.childList,characterData:void 0===s.characterData||s.characterData}),n.push(a)};s({observer:!1,observeParents:!1,observeSlideChildren:!1}),a("init",(()=>{if(t.params.observer){if(t.params.observeParents){const e=y(t.el);for(let t=0;t{n.forEach((e=>{e.disconnect()})),n.splice(0,n.length)}))}]);const pe=[function(e){let t,{swiper:s,extendParams:i,on:r,emit:n}=e;i({virtual:{enabled:!1,slides:[],cache:!0,renderSlide:null,renderExternal:null,renderExternalUpdate:!0,addSlidesBefore:0,addSlidesAfter:0}});const l=a();s.virtual={cache:{},from:void 0,to:void 0,slides:[],offset:0,slidesGrid:[]};const o=l.createElement("div");function d(e,t){const a=s.params.virtual;if(a.cache&&s.virtual.cache[t])return s.virtual.cache[t];let i;return a.renderSlide?(i=a.renderSlide.call(s,e,t),"string"==typeof i&&(o.innerHTML=i,i=o.children[0])):i=s.isElement?g("swiper-slide"):g("div",s.params.slideClass),i.setAttribute("data-swiper-slide-index",t),a.renderSlide||(i.innerHTML=e),a.cache&&(s.virtual.cache[t]=i),i}function c(e){const{slidesPerView:t,slidesPerGroup:a,centeredSlides:i,loop:r}=s.params,{addSlidesBefore:l,addSlidesAfter:o}=s.params.virtual,{from:c,to:p,slides:u,slidesGrid:m,offset:h}=s.virtual;s.params.cssMode||s.updateActiveIndex();const g=s.activeIndex||0;let v,w,b;v=s.rtlTranslate?"right":s.isHorizontal()?"left":"top",i?(w=Math.floor(t/2)+a+o,b=Math.floor(t/2)+a+l):(w=t+(a-1)+o,b=(r?t:a)+l);let y=g-b,E=g+w;r||(y=Math.max(y,0),E=Math.min(E,u.length-1));let x=(s.slidesGrid[y]||0)-(s.slidesGrid[0]||0);function S(){s.updateSlides(),s.updateProgress(),s.updateSlidesClasses(),n("virtualUpdate")}if(r&&g>=b?(y-=b,i||(x+=s.slidesGrid[0])):r&&g{e.style[v]=x-Math.abs(s.cssOverflowAdjustment())+"px"})),s.updateProgress(),void n("virtualUpdate");if(s.params.virtual.renderExternal)return s.params.virtual.renderExternal.call(s,{offset:x,from:y,to:E,slides:function(){const e=[];for(let t=y;t<=E;t+=1)e.push(u[t]);return e}()}),void(s.params.virtual.renderExternalUpdate?S():n("virtualUpdate"));const T=[],M=[],C=e=>{let t=e;return e<0?t=u.length+e:t>=u.length&&(t-=u.length),t};if(e)s.slidesEl.querySelectorAll(`.${s.params.slideClass}, swiper-slide`).forEach((e=>{e.remove()}));else for(let e=c;e<=p;e+=1)if(eE){const t=C(e);s.slidesEl.querySelectorAll(`.${s.params.slideClass}[data-swiper-slide-index="${t}"], swiper-slide[data-swiper-slide-index="${t}"]`).forEach((e=>{e.remove()}))}const P=r?-u.length:0,L=r?2*u.length:u.length;for(let t=P;t=y&&t<=E){const s=C(t);void 0===p||e?M.push(s):(t>p&&M.push(s),t{s.slidesEl.append(d(u[e],e))})),r)for(let e=T.length-1;e>=0;e-=1){const t=T[e];s.slidesEl.prepend(d(u[t],t))}else T.sort(((e,t)=>t-e)),T.forEach((e=>{s.slidesEl.prepend(d(u[e],e))}));f(s.slidesEl,".swiper-slide, swiper-slide").forEach((e=>{e.style[v]=x-Math.abs(s.cssOverflowAdjustment())+"px"})),S()}r("beforeInit",(()=>{if(!s.params.virtual.enabled)return;let e;if(void 0===s.passedParams.virtual.slides){const t=[...s.slidesEl.children].filter((e=>e.matches(`.${s.params.slideClass}, swiper-slide`)));t&&t.length&&(s.virtual.slides=[...t],e=!0,t.forEach(((e,t)=>{e.setAttribute("data-swiper-slide-index",t),s.virtual.cache[t]=e,e.remove()})))}e||(s.virtual.slides=s.params.virtual.slides),s.classNames.push(`${s.params.containerModifierClass}virtual`),s.params.watchSlidesProgress=!0,s.originalParams.watchSlidesProgress=!0,s.params.initialSlide||c()})),r("setTranslate",(()=>{s.params.virtual.enabled&&(s.params.cssMode&&!s._immediateVirtual?(clearTimeout(t),t=setTimeout((()=>{c()}),100)):c())})),r("init update resize",(()=>{s.params.virtual.enabled&&s.params.cssMode&&u(s.wrapperEl,"--swiper-virtual-size",`${s.virtualSize}px`)})),Object.assign(s.virtual,{appendSlide:function(e){if("object"==typeof e&&"length"in e)for(let t=0;t{const a=e[s],r=a.getAttribute("data-swiper-slide-index");r&&a.setAttribute("data-swiper-slide-index",parseInt(r,10)+i),t[parseInt(s,10)+i]=a})),s.virtual.cache=t}c(!0),s.slideTo(a,0)},removeSlide:function(e){if(null==e)return;let t=s.activeIndex;if(Array.isArray(e))for(let a=e.length-1;a>=0;a-=1)s.virtual.slides.splice(e[a],1),s.params.virtual.cache&&delete s.virtual.cache[e[a]],e[a]0&&0===y(t.el,`.${t.params.slideActiveClass}`).length)return;const a=t.el,i=a.clientWidth,r=a.clientHeight,n=o.innerWidth,l=o.innerHeight,d=v(a);s&&(d.left-=a.scrollLeft);const c=[[d.left,d.top],[d.left+i,d.top],[d.left,d.top+r],[d.left+i,d.top+r]];for(let t=0;t=0&&s[0]<=n&&s[1]>=0&&s[1]<=l){if(0===s[0]&&0===s[1])continue;e=!0}}if(!e)return}t.isHorizontal()?((d||c||p||u)&&(a.preventDefault?a.preventDefault():a.returnValue=!1),((c||u)&&!s||(d||p)&&s)&&t.slideNext(),((d||p)&&!s||(c||u)&&s)&&t.slidePrev()):((d||c||m||h)&&(a.preventDefault?a.preventDefault():a.returnValue=!1),(c||h)&&t.slideNext(),(d||m)&&t.slidePrev()),n("keyPress",i)}}function c(){t.keyboard.enabled||(l.addEventListener("keydown",d),t.keyboard.enabled=!0)}function p(){t.keyboard.enabled&&(l.removeEventListener("keydown",d),t.keyboard.enabled=!1)}t.keyboard={enabled:!1},s({keyboard:{enabled:!1,onlyInViewport:!0,pageUpDown:!0}}),i("init",(()=>{t.params.keyboard.enabled&&c()})),i("destroy",(()=>{t.keyboard.enabled&&p()})),Object.assign(t.keyboard,{enable:c,disable:p})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const o=r();let d;s({mousewheel:{enabled:!1,releaseOnEdges:!1,invert:!1,forceToAxis:!1,sensitivity:1,eventsTarget:"container",thresholdDelta:null,thresholdTime:null,noMousewheelClass:"swiper-no-mousewheel"}}),t.mousewheel={enabled:!1};let c,p=l();const u=[];function m(){t.enabled&&(t.mouseEntered=!0)}function h(){t.enabled&&(t.mouseEntered=!1)}function f(e){return!(t.params.mousewheel.thresholdDelta&&e.delta=6&&l()-p<60||(e.direction<0?t.isEnd&&!t.params.loop||t.animating||(t.slideNext(),i("scroll",e.raw)):t.isBeginning&&!t.params.loop||t.animating||(t.slidePrev(),i("scroll",e.raw)),p=(new o.Date).getTime(),!1)))}function g(e){let s=e,a=!0;if(!t.enabled)return;if(e.target.closest(`.${t.params.mousewheel.noMousewheelClass}`))return;const r=t.params.mousewheel;t.params.cssMode&&s.preventDefault();let o=t.el;"container"!==t.params.mousewheel.eventsTarget&&(o=document.querySelector(t.params.mousewheel.eventsTarget));const p=o&&o.contains(s.target);if(!t.mouseEntered&&!p&&!r.releaseOnEdges)return!0;s.originalEvent&&(s=s.originalEvent);let m=0;const h=t.rtlTranslate?-1:1,g=function(e){let t=0,s=0,a=0,i=0;return"detail"in e&&(s=e.detail),"wheelDelta"in e&&(s=-e.wheelDelta/120),"wheelDeltaY"in e&&(s=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=s,s=0),a=10*t,i=10*s,"deltaY"in e&&(i=e.deltaY),"deltaX"in e&&(a=e.deltaX),e.shiftKey&&!a&&(a=i,i=0),(a||i)&&e.deltaMode&&(1===e.deltaMode?(a*=40,i*=40):(a*=800,i*=800)),a&&!t&&(t=a<1?-1:1),i&&!s&&(s=i<1?-1:1),{spinX:t,spinY:s,pixelX:a,pixelY:i}}(s);if(r.forceToAxis)if(t.isHorizontal()){if(!(Math.abs(g.pixelX)>Math.abs(g.pixelY)))return!0;m=-g.pixelX*h}else{if(!(Math.abs(g.pixelY)>Math.abs(g.pixelX)))return!0;m=-g.pixelY}else m=Math.abs(g.pixelX)>Math.abs(g.pixelY)?-g.pixelX*h:-g.pixelY;if(0===m)return!0;r.invert&&(m=-m);let v=t.getTranslate()+m*r.sensitivity;if(v>=t.minTranslate()&&(v=t.minTranslate()),v<=t.maxTranslate()&&(v=t.maxTranslate()),a=!!t.params.loop||!(v===t.minTranslate()||v===t.maxTranslate()),a&&t.params.nested&&s.stopPropagation(),t.params.freeMode&&t.params.freeMode.enabled){const e={time:l(),delta:Math.abs(m),direction:Math.sign(m)},a=c&&e.time=t.minTranslate()&&(l=t.minTranslate()),l<=t.maxTranslate()&&(l=t.maxTranslate()),t.setTransition(0),t.setTranslate(l),t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses(),(!o&&t.isBeginning||!p&&t.isEnd)&&t.updateSlidesClasses(),t.params.loop&&t.loopFix({direction:e.direction<0?"next":"prev",byMousewheel:!0}),t.params.freeMode.sticky){clearTimeout(d),d=void 0,u.length>=15&&u.shift();const s=u.length?u[u.length-1]:void 0,a=u[0];if(u.push(e),s&&(e.delta>s.delta||e.direction!==s.direction))u.splice(0);else if(u.length>=15&&e.time-a.time<500&&a.delta-e.delta>=1&&e.delta<=6){const s=m>0?.8:.2;c=e,u.splice(0),d=n((()=>{t.slideToClosest(t.params.speed,!0,void 0,s)}),0)}d||(d=n((()=>{c=e,u.splice(0),t.slideToClosest(t.params.speed,!0,void 0,.5)}),500))}if(a||i("scroll",s),t.params.autoplay&&t.params.autoplayDisableOnInteraction&&t.autoplay.stop(),l===t.minTranslate()||l===t.maxTranslate())return!0}}else{const s={time:l(),delta:Math.abs(m),direction:Math.sign(m),raw:e};u.length>=2&&u.shift();const a=u.length?u[u.length-1]:void 0;if(u.push(s),a?(s.direction!==a.direction||s.delta>a.delta||s.time>a.time+150)&&f(s):f(s),function(e){const s=t.params.mousewheel;if(e.direction<0){if(t.isEnd&&!t.params.loop&&s.releaseOnEdges)return!0}else if(t.isBeginning&&!t.params.loop&&s.releaseOnEdges)return!0;return!1}(s))return!0}return s.preventDefault?s.preventDefault():s.returnValue=!1,!1}function v(e){let s=t.el;"container"!==t.params.mousewheel.eventsTarget&&(s=document.querySelector(t.params.mousewheel.eventsTarget)),s[e]("mouseenter",m),s[e]("mouseleave",h),s[e]("wheel",g)}function w(){return t.params.cssMode?(t.wrapperEl.removeEventListener("wheel",g),!0):!t.mousewheel.enabled&&(v("addEventListener"),t.mousewheel.enabled=!0,!0)}function b(){return t.params.cssMode?(t.wrapperEl.addEventListener(event,g),!0):!!t.mousewheel.enabled&&(v("removeEventListener"),t.mousewheel.enabled=!1,!0)}a("init",(()=>{!t.params.mousewheel.enabled&&t.params.cssMode&&b(),t.params.mousewheel.enabled&&w()})),a("destroy",(()=>{t.params.cssMode&&w(),t.mousewheel.enabled&&b()})),Object.assign(t.mousewheel,{enable:w,disable:b})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;s({navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock",navigationDisabledClass:"swiper-navigation-disabled"}}),t.navigation={nextEl:null,prevEl:null};const r=e=>(Array.isArray(e)||(e=[e].filter((e=>!!e))),e);function n(e){let s;return e&&"string"==typeof e&&t.isElement&&(s=t.el.shadowRoot.querySelector(e),s)?s:(e&&("string"==typeof e&&(s=[...document.querySelectorAll(e)]),t.params.uniqueNavElements&&"string"==typeof e&&s.length>1&&1===t.el.querySelectorAll(e).length&&(s=t.el.querySelector(e))),e&&!s?e:s)}function l(e,s){const a=t.params.navigation;(e=r(e)).forEach((e=>{e&&(e.classList[s?"add":"remove"](...a.disabledClass.split(" ")),"BUTTON"===e.tagName&&(e.disabled=s),t.params.watchOverflow&&t.enabled&&e.classList[t.isLocked?"add":"remove"](a.lockClass))}))}function o(){const{nextEl:e,prevEl:s}=t.navigation;if(t.params.loop)return l(s,!1),void l(e,!1);l(s,t.isBeginning&&!t.params.rewind),l(e,t.isEnd&&!t.params.rewind)}function d(e){e.preventDefault(),(!t.isBeginning||t.params.loop||t.params.rewind)&&(t.slidePrev(),i("navigationPrev"))}function c(e){e.preventDefault(),(!t.isEnd||t.params.loop||t.params.rewind)&&(t.slideNext(),i("navigationNext"))}function p(){const e=t.params.navigation;if(t.params.navigation=ee(t,t.originalParams.navigation,t.params.navigation,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),!e.nextEl&&!e.prevEl)return;let s=n(e.nextEl),a=n(e.prevEl);Object.assign(t.navigation,{nextEl:s,prevEl:a}),s=r(s),a=r(a);const i=(s,a)=>{s&&s.addEventListener("click","next"===a?c:d),!t.enabled&&s&&s.classList.add(...e.lockClass.split(" "))};s.forEach((e=>i(e,"next"))),a.forEach((e=>i(e,"prev")))}function u(){let{nextEl:e,prevEl:s}=t.navigation;e=r(e),s=r(s);const a=(e,s)=>{e.removeEventListener("click","next"===s?c:d),e.classList.remove(...t.params.navigation.disabledClass.split(" "))};e.forEach((e=>a(e,"next"))),s.forEach((e=>a(e,"prev")))}a("init",(()=>{!1===t.params.navigation.enabled?m():(p(),o())})),a("toEdge fromEdge lock unlock",(()=>{o()})),a("destroy",(()=>{u()})),a("enable disable",(()=>{let{nextEl:e,prevEl:s}=t.navigation;e=r(e),s=r(s),[...e,...s].filter((e=>!!e)).forEach((e=>e.classList[t.enabled?"remove":"add"](t.params.navigation.lockClass)))})),a("click",((e,s)=>{let{nextEl:a,prevEl:n}=t.navigation;a=r(a),n=r(n);const l=s.target;if(t.params.navigation.hideOnClick&&!n.includes(l)&&!a.includes(l)){if(t.pagination&&t.params.pagination&&t.params.pagination.clickable&&(t.pagination.el===l||t.pagination.el.contains(l)))return;let e;a.length?e=a[0].classList.contains(t.params.navigation.hiddenClass):n.length&&(e=n[0].classList.contains(t.params.navigation.hiddenClass)),i(!0===e?"navigationShow":"navigationHide"),[...a,...n].filter((e=>!!e)).forEach((e=>e.classList.toggle(t.params.navigation.hiddenClass)))}}));const m=()=>{t.el.classList.add(...t.params.navigation.navigationDisabledClass.split(" ")),u()};Object.assign(t.navigation,{enable:()=>{t.el.classList.remove(...t.params.navigation.navigationDisabledClass.split(" ")),p(),o()},disable:m,update:o,init:p,destroy:u})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const r="swiper-pagination";let n;s({pagination:{el:null,bulletElement:"span",clickable:!1,hideOnClick:!1,renderBullet:null,renderProgressbar:null,renderFraction:null,renderCustom:null,progressbarOpposite:!1,type:"bullets",dynamicBullets:!1,dynamicMainBullets:1,formatFractionCurrent:e=>e,formatFractionTotal:e=>e,bulletClass:`${r}-bullet`,bulletActiveClass:`${r}-bullet-active`,modifierClass:`${r}-`,currentClass:`${r}-current`,totalClass:`${r}-total`,hiddenClass:`${r}-hidden`,progressbarFillClass:`${r}-progressbar-fill`,progressbarOppositeClass:`${r}-progressbar-opposite`,clickableClass:`${r}-clickable`,lockClass:`${r}-lock`,horizontalClass:`${r}-horizontal`,verticalClass:`${r}-vertical`,paginationDisabledClass:`${r}-disabled`}}),t.pagination={el:null,bullets:[]};let l=0;const o=e=>(Array.isArray(e)||(e=[e].filter((e=>!!e))),e);function d(){return!t.params.pagination.el||!t.pagination.el||Array.isArray(t.pagination.el)&&0===t.pagination.el.length}function c(e,s){const{bulletActiveClass:a}=t.params.pagination;e&&(e=e[("prev"===s?"previous":"next")+"ElementSibling"])&&(e.classList.add(`${a}-${s}`),(e=e[("prev"===s?"previous":"next")+"ElementSibling"])&&e.classList.add(`${a}-${s}-${s}`))}function p(e){const s=e.target.closest(te(t.params.pagination.bulletClass));if(!s)return;e.preventDefault();const a=b(s)*t.params.slidesPerGroup;if(t.params.loop){if(t.realIndex===a)return;const e=t.getSlideIndexByData(a),s=t.getSlideIndexByData(t.realIndex);e>t.slides.length-t.loopedSlides&&t.loopFix({direction:e>s?"next":"prev",activeSlideIndex:e,slideTo:!1}),t.slideToLoop(a)}else t.slideTo(a)}function u(){const e=t.rtl,s=t.params.pagination;if(d())return;let a,r,p=t.pagination.el;p=o(p);const u=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.slides.length,m=t.params.loop?Math.ceil(u/t.params.slidesPerGroup):t.snapGrid.length;if(t.params.loop?(r=t.previousRealIndex||0,a=t.params.slidesPerGroup>1?Math.floor(t.realIndex/t.params.slidesPerGroup):t.realIndex):void 0!==t.snapIndex?(a=t.snapIndex,r=t.previousSnapIndex):(r=t.previousIndex||0,a=t.activeIndex||0),"bullets"===s.type&&t.pagination.bullets&&t.pagination.bullets.length>0){const i=t.pagination.bullets;let o,d,u;if(s.dynamicBullets&&(n=x(i[0],t.isHorizontal()?"width":"height",!0),p.forEach((e=>{e.style[t.isHorizontal()?"width":"height"]=n*(s.dynamicMainBullets+4)+"px"})),s.dynamicMainBullets>1&&void 0!==r&&(l+=a-(r||0),l>s.dynamicMainBullets-1?l=s.dynamicMainBullets-1:l<0&&(l=0)),o=Math.max(a-l,0),d=o+(Math.min(i.length,s.dynamicMainBullets)-1),u=(d+o)/2),i.forEach((e=>{const t=[...["","-next","-next-next","-prev","-prev-prev","-main"].map((e=>`${s.bulletActiveClass}${e}`))].map((e=>"string"==typeof e&&e.includes(" ")?e.split(" "):e)).flat();e.classList.remove(...t)})),p.length>1)i.forEach((e=>{const i=b(e);i===a?e.classList.add(...s.bulletActiveClass.split(" ")):t.isElement&&e.setAttribute("part","bullet"),s.dynamicBullets&&(i>=o&&i<=d&&e.classList.add(...`${s.bulletActiveClass}-main`.split(" ")),i===o&&c(e,"prev"),i===d&&c(e,"next"))}));else{const e=i[a];if(e&&e.classList.add(...s.bulletActiveClass.split(" ")),t.isElement&&i.forEach(((e,t)=>{e.setAttribute("part",t===a?"bullet-active":"bullet")})),s.dynamicBullets){const e=i[o],t=i[d];for(let e=o;e<=d;e+=1)i[e]&&i[e].classList.add(...`${s.bulletActiveClass}-main`.split(" "));c(e,"prev"),c(t,"next")}}if(s.dynamicBullets){const a=Math.min(i.length,s.dynamicMainBullets+4),r=(n*a-n)/2-u*n,l=e?"right":"left";i.forEach((e=>{e.style[t.isHorizontal()?l:"top"]=`${r}px`}))}}p.forEach(((e,r)=>{if("fraction"===s.type&&(e.querySelectorAll(te(s.currentClass)).forEach((e=>{e.textContent=s.formatFractionCurrent(a+1)})),e.querySelectorAll(te(s.totalClass)).forEach((e=>{e.textContent=s.formatFractionTotal(m)}))),"progressbar"===s.type){let i;i=s.progressbarOpposite?t.isHorizontal()?"vertical":"horizontal":t.isHorizontal()?"horizontal":"vertical";const r=(a+1)/m;let n=1,l=1;"horizontal"===i?n=r:l=r,e.querySelectorAll(te(s.progressbarFillClass)).forEach((e=>{e.style.transform=`translate3d(0,0,0) scaleX(${n}) scaleY(${l})`,e.style.transitionDuration=`${t.params.speed}ms`}))}"custom"===s.type&&s.renderCustom?(e.innerHTML=s.renderCustom(t,a+1,m),0===r&&i("paginationRender",e)):(0===r&&i("paginationRender",e),i("paginationUpdate",e)),t.params.watchOverflow&&t.enabled&&e.classList[t.isLocked?"add":"remove"](s.lockClass)}))}function m(){const e=t.params.pagination;if(d())return;const s=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.slides.length;let a=t.pagination.el;a=o(a);let r="";if("bullets"===e.type){let a=t.params.loop?Math.ceil(s/t.params.slidesPerGroup):t.snapGrid.length;t.params.freeMode&&t.params.freeMode.enabled&&a>s&&(a=s);for(let s=0;s`}"fraction"===e.type&&(r=e.renderFraction?e.renderFraction.call(t,e.currentClass,e.totalClass):` / `),"progressbar"===e.type&&(r=e.renderProgressbar?e.renderProgressbar.call(t,e.progressbarFillClass):``),t.pagination.bullets=[],a.forEach((s=>{"custom"!==e.type&&(s.innerHTML=r||""),"bullets"===e.type&&t.pagination.bullets.push(...s.querySelectorAll(te(e.bulletClass)))})),"custom"!==e.type&&i("paginationRender",a[0])}function h(){t.params.pagination=ee(t,t.originalParams.pagination,t.params.pagination,{el:"swiper-pagination"});const e=t.params.pagination;if(!e.el)return;let s;"string"==typeof e.el&&t.isElement&&(s=t.el.shadowRoot.querySelector(e.el)),s||"string"!=typeof e.el||(s=[...document.querySelectorAll(e.el)]),s||(s=e.el),s&&0!==s.length&&(t.params.uniqueNavElements&&"string"==typeof e.el&&Array.isArray(s)&&s.length>1&&(s=[...t.el.querySelectorAll(e.el)],s.length>1&&(s=s.filter((e=>y(e,".swiper")[0]===t.el))[0])),Array.isArray(s)&&1===s.length&&(s=s[0]),Object.assign(t.pagination,{el:s}),s=o(s),s.forEach((s=>{"bullets"===e.type&&e.clickable&&s.classList.add(e.clickableClass),s.classList.add(e.modifierClass+e.type),s.classList.add(t.isHorizontal()?e.horizontalClass:e.verticalClass),"bullets"===e.type&&e.dynamicBullets&&(s.classList.add(`${e.modifierClass}${e.type}-dynamic`),l=0,e.dynamicMainBullets<1&&(e.dynamicMainBullets=1)),"progressbar"===e.type&&e.progressbarOpposite&&s.classList.add(e.progressbarOppositeClass),e.clickable&&s.addEventListener("click",p),t.enabled||s.classList.add(e.lockClass)})))}function f(){const e=t.params.pagination;if(d())return;let s=t.pagination.el;s&&(s=o(s),s.forEach((s=>{s.classList.remove(e.hiddenClass),s.classList.remove(e.modifierClass+e.type),s.classList.remove(t.isHorizontal()?e.horizontalClass:e.verticalClass),e.clickable&&s.removeEventListener("click",p)}))),t.pagination.bullets&&t.pagination.bullets.forEach((t=>t.classList.remove(...e.bulletActiveClass.split(" "))))}a("changeDirection",(()=>{if(!t.pagination||!t.pagination.el)return;const e=t.params.pagination;let{el:s}=t.pagination;s=o(s),s.forEach((s=>{s.classList.remove(e.horizontalClass,e.verticalClass),s.classList.add(t.isHorizontal()?e.horizontalClass:e.verticalClass)}))})),a("init",(()=>{!1===t.params.pagination.enabled?g():(h(),m(),u())})),a("activeIndexChange",(()=>{void 0===t.snapIndex&&u()})),a("snapIndexChange",(()=>{u()})),a("snapGridLengthChange",(()=>{m(),u()})),a("destroy",(()=>{f()})),a("enable disable",(()=>{let{el:e}=t.pagination;e&&(e=o(e),e.forEach((e=>e.classList[t.enabled?"remove":"add"](t.params.pagination.lockClass))))})),a("lock unlock",(()=>{u()})),a("click",((e,s)=>{const a=s.target;let{el:r}=t.pagination;if(Array.isArray(r)||(r=[r].filter((e=>!!e))),t.params.pagination.el&&t.params.pagination.hideOnClick&&r&&r.length>0&&!a.classList.contains(t.params.pagination.bulletClass)){if(t.navigation&&(t.navigation.nextEl&&a===t.navigation.nextEl||t.navigation.prevEl&&a===t.navigation.prevEl))return;const e=r[0].classList.contains(t.params.pagination.hiddenClass);i(!0===e?"paginationShow":"paginationHide"),r.forEach((e=>e.classList.toggle(t.params.pagination.hiddenClass)))}}));const g=()=>{t.el.classList.add(t.params.pagination.paginationDisabledClass);let{el:e}=t.pagination;e&&(e=o(e),e.forEach((e=>e.classList.add(t.params.pagination.paginationDisabledClass)))),f()};Object.assign(t.pagination,{enable:()=>{t.el.classList.remove(t.params.pagination.paginationDisabledClass);let{el:e}=t.pagination;e&&(e=o(e),e.forEach((e=>e.classList.remove(t.params.pagination.paginationDisabledClass)))),h(),m(),u()},disable:g,render:m,update:u,init:h,destroy:f})},function(e){let{swiper:t,extendParams:s,on:i,emit:r}=e;const l=a();let o,d,c,p,u=!1,m=null,h=null;function f(){if(!t.params.scrollbar.el||!t.scrollbar.el)return;const{scrollbar:e,rtlTranslate:s}=t,{dragEl:a,el:i}=e,r=t.params.scrollbar,n=t.params.loop?t.progressLoop:t.progress;let l=d,o=(c-d)*n;s?(o=-o,o>0?(l=d-o,o=0):-o+d>c&&(l=c+o)):o<0?(l=d+o,o=0):o+d>c&&(l=c-o),t.isHorizontal()?(a.style.transform=`translate3d(${o}px, 0, 0)`,a.style.width=`${l}px`):(a.style.transform=`translate3d(0px, ${o}px, 0)`,a.style.height=`${l}px`),r.hide&&(clearTimeout(m),i.style.opacity=1,m=setTimeout((()=>{i.style.opacity=0,i.style.transitionDuration="400ms"}),1e3))}function w(){if(!t.params.scrollbar.el||!t.scrollbar.el)return;const{scrollbar:e}=t,{dragEl:s,el:a}=e;s.style.width="",s.style.height="",c=t.isHorizontal()?a.offsetWidth:a.offsetHeight,p=t.size/(t.virtualSize+t.params.slidesOffsetBefore-(t.params.centeredSlides?t.snapGrid[0]:0)),d="auto"===t.params.scrollbar.dragSize?c*p:parseInt(t.params.scrollbar.dragSize,10),t.isHorizontal()?s.style.width=`${d}px`:s.style.height=`${d}px`,a.style.display=p>=1?"none":"",t.params.scrollbar.hide&&(a.style.opacity=0),t.params.watchOverflow&&t.enabled&&e.el.classList[t.isLocked?"add":"remove"](t.params.scrollbar.lockClass)}function b(e){return t.isHorizontal()?e.clientX:e.clientY}function y(e){const{scrollbar:s,rtlTranslate:a}=t,{el:i}=s;let r;r=(b(e)-v(i)[t.isHorizontal()?"left":"top"]-(null!==o?o:d/2))/(c-d),r=Math.max(Math.min(r,1),0),a&&(r=1-r);const n=t.minTranslate()+(t.maxTranslate()-t.minTranslate())*r;t.updateProgress(n),t.setTranslate(n),t.updateActiveIndex(),t.updateSlidesClasses()}function E(e){const s=t.params.scrollbar,{scrollbar:a,wrapperEl:i}=t,{el:n,dragEl:l}=a;u=!0,o=e.target===l?b(e)-e.target.getBoundingClientRect()[t.isHorizontal()?"left":"top"]:null,e.preventDefault(),e.stopPropagation(),i.style.transitionDuration="100ms",l.style.transitionDuration="100ms",y(e),clearTimeout(h),n.style.transitionDuration="0ms",s.hide&&(n.style.opacity=1),t.params.cssMode&&(t.wrapperEl.style["scroll-snap-type"]="none"),r("scrollbarDragStart",e)}function x(e){const{scrollbar:s,wrapperEl:a}=t,{el:i,dragEl:n}=s;u&&(e.preventDefault?e.preventDefault():e.returnValue=!1,y(e),a.style.transitionDuration="0ms",i.style.transitionDuration="0ms",n.style.transitionDuration="0ms",r("scrollbarDragMove",e))}function S(e){const s=t.params.scrollbar,{scrollbar:a,wrapperEl:i}=t,{el:l}=a;u&&(u=!1,t.params.cssMode&&(t.wrapperEl.style["scroll-snap-type"]="",i.style.transitionDuration=""),s.hide&&(clearTimeout(h),h=n((()=>{l.style.opacity=0,l.style.transitionDuration="400ms"}),1e3)),r("scrollbarDragEnd",e),s.snapOnRelease&&t.slideToClosest())}function T(e){const{scrollbar:s,params:a}=t,i=s.el;if(!i)return;const r=i,n=!!a.passiveListeners&&{passive:!1,capture:!1},o=!!a.passiveListeners&&{passive:!0,capture:!1};if(!r)return;const d="on"===e?"addEventListener":"removeEventListener";r[d]("pointerdown",E,n),l[d]("pointermove",x,n),l[d]("pointerup",S,o)}function M(){const{scrollbar:e,el:s}=t;t.params.scrollbar=ee(t,t.originalParams.scrollbar,t.params.scrollbar,{el:"swiper-scrollbar"});const a=t.params.scrollbar;if(!a.el)return;let i,r;"string"==typeof a.el&&t.isElement&&(i=t.el.shadowRoot.querySelector(a.el)),i||"string"!=typeof a.el?i||(i=a.el):i=l.querySelectorAll(a.el),t.params.uniqueNavElements&&"string"==typeof a.el&&i.length>1&&1===s.querySelectorAll(a.el).length&&(i=s.querySelector(a.el)),i.length>0&&(i=i[0]),i.classList.add(t.isHorizontal()?a.horizontalClass:a.verticalClass),i&&(r=i.querySelector(`.${t.params.scrollbar.dragClass}`),r||(r=g("div",t.params.scrollbar.dragClass),i.append(r))),Object.assign(e,{el:i,dragEl:r}),a.draggable&&t.params.scrollbar.el&&t.scrollbar.el&&T("on"),i&&i.classList[t.enabled?"remove":"add"](t.params.scrollbar.lockClass)}function C(){const e=t.params.scrollbar,s=t.scrollbar.el;s&&s.classList.remove(t.isHorizontal()?e.horizontalClass:e.verticalClass),t.params.scrollbar.el&&t.scrollbar.el&&T("off")}s({scrollbar:{el:null,dragSize:"auto",hide:!1,draggable:!1,snapOnRelease:!0,lockClass:"swiper-scrollbar-lock",dragClass:"swiper-scrollbar-drag",scrollbarDisabledClass:"swiper-scrollbar-disabled",horizontalClass:"swiper-scrollbar-horizontal",verticalClass:"swiper-scrollbar-vertical"}}),t.scrollbar={el:null,dragEl:null},i("init",(()=>{!1===t.params.scrollbar.enabled?P():(M(),w(),f())})),i("update resize observerUpdate lock unlock",(()=>{w()})),i("setTranslate",(()=>{f()})),i("setTransition",((e,s)=>{!function(e){t.params.scrollbar.el&&t.scrollbar.el&&(t.scrollbar.dragEl.style.transitionDuration=`${e}ms`)}(s)})),i("enable disable",(()=>{const{el:e}=t.scrollbar;e&&e.classList[t.enabled?"remove":"add"](t.params.scrollbar.lockClass)})),i("destroy",(()=>{C()}));const P=()=>{t.el.classList.add(t.params.scrollbar.scrollbarDisabledClass),t.scrollbar.el&&t.scrollbar.el.classList.add(t.params.scrollbar.scrollbarDisabledClass),C()};Object.assign(t.scrollbar,{enable:()=>{t.el.classList.remove(t.params.scrollbar.scrollbarDisabledClass),t.scrollbar.el&&t.scrollbar.el.classList.remove(t.params.scrollbar.scrollbarDisabledClass),M(),w(),f()},disable:P,updateSize:w,setTranslate:f,init:M,destroy:C})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({parallax:{enabled:!1}});const i=(e,s)=>{const{rtl:a}=t,i=a?-1:1,r=e.getAttribute("data-swiper-parallax")||"0";let n=e.getAttribute("data-swiper-parallax-x"),l=e.getAttribute("data-swiper-parallax-y");const o=e.getAttribute("data-swiper-parallax-scale"),d=e.getAttribute("data-swiper-parallax-opacity"),c=e.getAttribute("data-swiper-parallax-rotate");if(n||l?(n=n||"0",l=l||"0"):t.isHorizontal()?(n=r,l="0"):(l=r,n="0"),n=n.indexOf("%")>=0?parseInt(n,10)*s*i+"%":n*s*i+"px",l=l.indexOf("%")>=0?parseInt(l,10)*s+"%":l*s+"px",null!=d){const t=d-(d-1)*(1-Math.abs(s));e.style.opacity=t}let p=`translate3d(${n}, ${l}, 0px)`;if(null!=o){p+=` scale(${o-(o-1)*(1-Math.abs(s))})`}if(c&&null!=c){p+=` rotate(${c*s*-1}deg)`}e.style.transform=p},r=()=>{const{el:e,slides:s,progress:a,snapGrid:r}=t;f(e,"[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").forEach((e=>{i(e,a)})),s.forEach(((e,s)=>{let n=e.progress;t.params.slidesPerGroup>1&&"auto"!==t.params.slidesPerView&&(n+=Math.ceil(s/2)-a*(r.length-1)),n=Math.min(Math.max(n,-1),1),e.querySelectorAll("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale], [data-swiper-parallax-rotate]").forEach((e=>{i(e,n)}))}))};a("beforeInit",(()=>{t.params.parallax.enabled&&(t.params.watchSlidesProgress=!0,t.originalParams.watchSlidesProgress=!0)})),a("init",(()=>{t.params.parallax.enabled&&r()})),a("setTranslate",(()=>{t.params.parallax.enabled&&r()})),a("setTransition",((e,s)=>{t.params.parallax.enabled&&function(e){void 0===e&&(e=t.params.speed);const{el:s}=t;s.querySelectorAll("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").forEach((t=>{let s=parseInt(t.getAttribute("data-swiper-parallax-duration"),10)||e;0===e&&(s=0),t.style.transitionDuration=`${s}ms`}))}(s)}))},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=r();s({zoom:{enabled:!1,maxRatio:3,minRatio:1,toggle:!0,containerClass:"swiper-zoom-container",zoomedSlideClass:"swiper-slide-zoomed"}}),t.zoom={enabled:!1};let l,d,c=1,p=!1;const u=[],m={originX:0,originY:0,slideEl:void 0,slideWidth:void 0,slideHeight:void 0,imageEl:void 0,imageWrapEl:void 0,maxRatio:3},h={isTouched:void 0,isMoved:void 0,currentX:void 0,currentY:void 0,minX:void 0,minY:void 0,maxX:void 0,maxY:void 0,width:void 0,height:void 0,startX:void 0,startY:void 0,touchesStart:{},touchesCurrent:{}},g={x:void 0,y:void 0,prevPositionX:void 0,prevPositionY:void 0,prevTime:void 0};let w=1;function b(){if(u.length<2)return 1;const e=u[0].pageX,t=u[0].pageY,s=u[1].pageX,a=u[1].pageY;return Math.sqrt((s-e)**2+(a-t)**2)}function E(e){const s=t.isElement?"swiper-slide":`.${t.params.slideClass}`;return!!e.target.matches(s)||t.slides.filter((t=>t.contains(e.target))).length>0}function x(e){if("mouse"===e.pointerType&&u.splice(0,u.length),!E(e))return;const s=t.params.zoom;if(l=!1,d=!1,u.push(e),!(u.length<2)){if(l=!0,m.scaleStart=b(),!m.slideEl){m.slideEl=e.target.closest(`.${t.params.slideClass}, swiper-slide`),m.slideEl||(m.slideEl=t.slides[t.activeIndex]);let a=m.slideEl.querySelector(`.${s.containerClass}`);if(a&&(a=a.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]),m.imageEl=a,m.imageWrapEl=a?y(m.imageEl,`.${s.containerClass}`)[0]:void 0,!m.imageWrapEl)return void(m.imageEl=void 0);m.maxRatio=m.imageWrapEl.getAttribute("data-swiper-zoom")||s.maxRatio}if(m.imageEl){const[e,t]=function(){if(u.length<2)return{x:null,y:null};const e=m.imageEl.getBoundingClientRect();return[(u[0].pageX+(u[1].pageX-u[0].pageX)/2-e.x)/c,(u[0].pageY+(u[1].pageY-u[0].pageY)/2-e.y)/c]}();m.originX=e,m.originY=t,m.imageEl.style.transitionDuration="0ms"}p=!0}}function S(e){if(!E(e))return;const s=t.params.zoom,a=t.zoom,i=u.findIndex((t=>t.pointerId===e.pointerId));i>=0&&(u[i]=e),u.length<2||(d=!0,m.scaleMove=b(),m.imageEl&&(a.scale=m.scaleMove/m.scaleStart*c,a.scale>m.maxRatio&&(a.scale=m.maxRatio-1+(a.scale-m.maxRatio+1)**.5),a.scalet.pointerId===e.pointerId));i>=0&&u.splice(i,1),l&&d&&(l=!1,d=!1,m.imageEl&&(a.scale=Math.max(Math.min(a.scale,m.maxRatio),s.minRatio),m.imageEl.style.transitionDuration=`${t.params.speed}ms`,m.imageEl.style.transform=`translate3d(0,0,0) scale(${a.scale})`,c=a.scale,p=!1,a.scale>1&&m.slideEl?m.slideEl.classList.add(`${s.zoomedSlideClass}`):a.scale<=1&&m.slideEl&&m.slideEl.classList.remove(`${s.zoomedSlideClass}`),1===a.scale&&(m.originX=0,m.originY=0,m.slideEl=void 0)))}function M(e){if(!E(e)||!function(e){const s=`.${t.params.zoom.containerClass}`;return!!e.target.matches(s)||[...t.el.querySelectorAll(s)].filter((t=>t.contains(e.target))).length>0}(e))return;const s=t.zoom;if(!m.imageEl)return;if(!h.isTouched||!m.slideEl)return;h.isMoved||(h.width=m.imageEl.offsetWidth,h.height=m.imageEl.offsetHeight,h.startX=o(m.imageWrapEl,"x")||0,h.startY=o(m.imageWrapEl,"y")||0,m.slideWidth=m.slideEl.offsetWidth,m.slideHeight=m.slideEl.offsetHeight,m.imageWrapEl.style.transitionDuration="0ms");const a=h.width*s.scale,i=h.height*s.scale;if(a0?u[0].pageX:e.pageX,h.touchesCurrent.y=u.length>0?u[0].pageY:e.pageY;if(Math.max(Math.abs(h.touchesCurrent.x-h.touchesStart.x),Math.abs(h.touchesCurrent.y-h.touchesStart.y))>5&&(t.allowClick=!1),!h.isMoved&&!p){if(t.isHorizontal()&&(Math.floor(h.minX)===Math.floor(h.startX)&&h.touchesCurrent.xh.touchesStart.x))return void(h.isTouched=!1);if(!t.isHorizontal()&&(Math.floor(h.minY)===Math.floor(h.startY)&&h.touchesCurrent.yh.touchesStart.y))return void(h.isTouched=!1)}e.cancelable&&e.preventDefault(),e.stopPropagation(),h.isMoved=!0;const r=(s.scale-c)/(m.maxRatio-t.params.zoom.minRatio),{originX:n,originY:l}=m;h.currentX=h.touchesCurrent.x-h.touchesStart.x+h.startX+r*(h.width-2*n),h.currentY=h.touchesCurrent.y-h.touchesStart.y+h.startY+r*(h.height-2*l),h.currentXh.maxX&&(h.currentX=h.maxX-1+(h.currentX-h.maxX+1)**.8),h.currentYh.maxY&&(h.currentY=h.maxY-1+(h.currentY-h.maxY+1)**.8),g.prevPositionX||(g.prevPositionX=h.touchesCurrent.x),g.prevPositionY||(g.prevPositionY=h.touchesCurrent.y),g.prevTime||(g.prevTime=Date.now()),g.x=(h.touchesCurrent.x-g.prevPositionX)/(Date.now()-g.prevTime)/2,g.y=(h.touchesCurrent.y-g.prevPositionY)/(Date.now()-g.prevTime)/2,Math.abs(h.touchesCurrent.x-g.prevPositionX)<2&&(g.x=0),Math.abs(h.touchesCurrent.y-g.prevPositionY)<2&&(g.y=0),g.prevPositionX=h.touchesCurrent.x,g.prevPositionY=h.touchesCurrent.y,g.prevTime=Date.now(),m.imageWrapEl.style.transform=`translate3d(${h.currentX}px, ${h.currentY}px,0)`}function C(){const e=t.zoom;m.slideEl&&t.activeIndex!==t.slides.indexOf(m.slideEl)&&(m.imageEl&&(m.imageEl.style.transform="translate3d(0,0,0) scale(1)"),m.imageWrapEl&&(m.imageWrapEl.style.transform="translate3d(0,0,0)"),m.slideEl.classList.remove(`${t.params.zoom.zoomedSlideClass}`),e.scale=1,c=1,m.slideEl=void 0,m.imageEl=void 0,m.imageWrapEl=void 0,m.originX=0,m.originY=0)}function P(e){const s=t.zoom,a=t.params.zoom;if(!m.slideEl){e&&e.target&&(m.slideEl=e.target.closest(`.${t.params.slideClass}, swiper-slide`)),m.slideEl||(t.params.virtual&&t.params.virtual.enabled&&t.virtual?m.slideEl=f(t.slidesEl,`.${t.params.slideActiveClass}`)[0]:m.slideEl=t.slides[t.activeIndex]);let s=m.slideEl.querySelector(`.${a.containerClass}`);s&&(s=s.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]),m.imageEl=s,m.imageWrapEl=s?y(m.imageEl,`.${a.containerClass}`)[0]:void 0}if(!m.imageEl||!m.imageWrapEl)return;let i,r,l,o,d,p,u,g,w,b,E,x,S,T,M,C,P,L;t.params.cssMode&&(t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.touchAction="none"),m.slideEl.classList.add(`${a.zoomedSlideClass}`),void 0===h.touchesStart.x&&e?(i=e.pageX,r=e.pageY):(i=h.touchesStart.x,r=h.touchesStart.y);const z="number"==typeof e?e:null;1===c&&z&&(i=void 0,r=void 0),s.scale=z||m.imageWrapEl.getAttribute("data-swiper-zoom")||a.maxRatio,c=z||m.imageWrapEl.getAttribute("data-swiper-zoom")||a.maxRatio,!e||1===c&&z?(u=0,g=0):(P=m.slideEl.offsetWidth,L=m.slideEl.offsetHeight,l=v(m.slideEl).left+n.scrollX,o=v(m.slideEl).top+n.scrollY,d=l+P/2-i,p=o+L/2-r,w=m.imageEl.offsetWidth,b=m.imageEl.offsetHeight,E=w*s.scale,x=b*s.scale,S=Math.min(P/2-E/2,0),T=Math.min(L/2-x/2,0),M=-S,C=-T,u=d*s.scale,g=p*s.scale,uM&&(u=M),gC&&(g=C)),z&&1===s.scale&&(m.originX=0,m.originY=0),m.imageWrapEl.style.transitionDuration="300ms",m.imageWrapEl.style.transform=`translate3d(${u}px, ${g}px,0)`,m.imageEl.style.transitionDuration="300ms",m.imageEl.style.transform=`translate3d(0,0,0) scale(${s.scale})`}function L(){const e=t.zoom,s=t.params.zoom;if(!m.slideEl){t.params.virtual&&t.params.virtual.enabled&&t.virtual?m.slideEl=f(t.slidesEl,`.${t.params.slideActiveClass}`)[0]:m.slideEl=t.slides[t.activeIndex];let e=m.slideEl.querySelector(`.${s.containerClass}`);e&&(e=e.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]),m.imageEl=e,m.imageWrapEl=e?y(m.imageEl,`.${s.containerClass}`)[0]:void 0}m.imageEl&&m.imageWrapEl&&(t.params.cssMode&&(t.wrapperEl.style.overflow="",t.wrapperEl.style.touchAction=""),e.scale=1,c=1,m.imageWrapEl.style.transitionDuration="300ms",m.imageWrapEl.style.transform="translate3d(0,0,0)",m.imageEl.style.transitionDuration="300ms",m.imageEl.style.transform="translate3d(0,0,0) scale(1)",m.slideEl.classList.remove(`${s.zoomedSlideClass}`),m.slideEl=void 0,m.originX=0,m.originY=0)}function z(e){const s=t.zoom;s.scale&&1!==s.scale?L():P(e)}function A(){return{passiveListener:!!t.params.passiveListeners&&{passive:!0,capture:!1},activeListenerWithCapture:!t.params.passiveListeners||{passive:!1,capture:!0}}}function $(){const e=t.zoom;if(e.enabled)return;e.enabled=!0;const{passiveListener:s,activeListenerWithCapture:a}=A();t.wrapperEl.addEventListener("pointerdown",x,s),t.wrapperEl.addEventListener("pointermove",S,a),["pointerup","pointercancel","pointerout"].forEach((e=>{t.wrapperEl.addEventListener(e,T,s)})),t.wrapperEl.addEventListener("pointermove",M,a)}function I(){const e=t.zoom;if(!e.enabled)return;e.enabled=!1;const{passiveListener:s,activeListenerWithCapture:a}=A();t.wrapperEl.removeEventListener("pointerdown",x,s),t.wrapperEl.removeEventListener("pointermove",S,a),["pointerup","pointercancel","pointerout"].forEach((e=>{t.wrapperEl.removeEventListener(e,T,s)})),t.wrapperEl.removeEventListener("pointermove",M,a)}Object.defineProperty(t.zoom,"scale",{get:()=>w,set(e){if(w!==e){const t=m.imageEl,s=m.slideEl;i("zoomChange",e,t,s)}w=e}}),a("init",(()=>{t.params.zoom.enabled&&$()})),a("destroy",(()=>{I()})),a("touchStart",((e,s)=>{t.zoom.enabled&&function(e){const s=t.device;if(!m.imageEl)return;if(h.isTouched)return;s.android&&e.cancelable&&e.preventDefault(),h.isTouched=!0;const a=u.length>0?u[0]:e;h.touchesStart.x=a.pageX,h.touchesStart.y=a.pageY}(s)})),a("touchEnd",((e,s)=>{t.zoom.enabled&&function(){const e=t.zoom;if(!m.imageEl)return;if(!h.isTouched||!h.isMoved)return h.isTouched=!1,void(h.isMoved=!1);h.isTouched=!1,h.isMoved=!1;let s=300,a=300;const i=g.x*s,r=h.currentX+i,n=g.y*a,l=h.currentY+n;0!==g.x&&(s=Math.abs((r-h.currentX)/g.x)),0!==g.y&&(a=Math.abs((l-h.currentY)/g.y));const o=Math.max(s,a);h.currentX=r,h.currentY=l;const d=h.width*e.scale,c=h.height*e.scale;h.minX=Math.min(m.slideWidth/2-d/2,0),h.maxX=-h.minX,h.minY=Math.min(m.slideHeight/2-c/2,0),h.maxY=-h.minY,h.currentX=Math.max(Math.min(h.currentX,h.maxX),h.minX),h.currentY=Math.max(Math.min(h.currentY,h.maxY),h.minY),m.imageWrapEl.style.transitionDuration=`${o}ms`,m.imageWrapEl.style.transform=`translate3d(${h.currentX}px, ${h.currentY}px,0)`}()})),a("doubleTap",((e,s)=>{!t.animating&&t.params.zoom.enabled&&t.zoom.enabled&&t.params.zoom.toggle&&z(s)})),a("transitionEnd",(()=>{t.zoom.enabled&&t.params.zoom.enabled&&C()})),a("slideChange",(()=>{t.zoom.enabled&&t.params.zoom.enabled&&t.params.cssMode&&C()})),Object.assign(t.zoom,{enable:$,disable:I,in:P,out:L,toggle:z})},function(e){let{swiper:t,extendParams:s,on:a}=e;function i(e,t){const s=function(){let e,t,s;return(a,i)=>{for(t=-1,e=a.length;e-t>1;)s=e+t>>1,a[s]<=i?t=s:e=s;return e}}();let a,i;return this.x=e,this.y=t,this.lastIndex=e.length-1,this.interpolate=function(e){return e?(i=s(this.x,e),a=i-1,(e-this.x[a])*(this.y[i]-this.y[a])/(this.x[i]-this.x[a])+this.y[a]):0},this}function r(){t.controller.control&&t.controller.spline&&(t.controller.spline=void 0,delete t.controller.spline)}s({controller:{control:void 0,inverse:!1,by:"slide"}}),t.controller={control:void 0},a("beforeInit",(()=>{if("undefined"!=typeof window&&("string"==typeof t.params.controller.control||t.params.controller.control instanceof HTMLElement)){const e=document.querySelector(t.params.controller.control);if(e&&e.swiper)t.controller.control=e.swiper;else if(e){const s=a=>{t.controller.control=a.detail[0],t.update(),e.removeEventListener("init",s)};e.addEventListener("init",s)}}else t.controller.control=t.params.controller.control})),a("update",(()=>{r()})),a("resize",(()=>{r()})),a("observerUpdate",(()=>{r()})),a("setTranslate",((e,s,a)=>{t.controller.control&&!t.controller.control.destroyed&&t.controller.setTranslate(s,a)})),a("setTransition",((e,s,a)=>{t.controller.control&&!t.controller.control.destroyed&&t.controller.setTransition(s,a)})),Object.assign(t.controller,{setTranslate:function(e,s){const a=t.controller.control;let r,n;const l=t.constructor;function o(e){if(e.destroyed)return;const s=t.rtlTranslate?-t.translate:t.translate;"slide"===t.params.controller.by&&(!function(e){t.controller.spline=t.params.loop?new i(t.slidesGrid,e.slidesGrid):new i(t.snapGrid,e.snapGrid)}(e),n=-t.controller.spline.interpolate(-s)),n&&"container"!==t.params.controller.by||(r=(e.maxTranslate()-e.minTranslate())/(t.maxTranslate()-t.minTranslate()),!Number.isNaN(r)&&Number.isFinite(r)||(r=1),n=(s-t.minTranslate())*r+e.minTranslate()),t.params.controller.inverse&&(n=e.maxTranslate()-n),e.updateProgress(n),e.setTranslate(n,t),e.updateActiveIndex(),e.updateSlidesClasses()}if(Array.isArray(a))for(let e=0;e{s.updateAutoHeight()})),E(s.wrapperEl,(()=>{i&&s.transitionEnd()}))))}if(Array.isArray(i))for(r=0;r(Array.isArray(e)||(e=[e].filter((e=>!!e))),e);function l(e){(e=n(e)).forEach((e=>{e.setAttribute("tabIndex","0")}))}function o(e){(e=n(e)).forEach((e=>{e.setAttribute("tabIndex","-1")}))}function d(e,t){(e=n(e)).forEach((e=>{e.setAttribute("role",t)}))}function c(e,t){(e=n(e)).forEach((e=>{e.setAttribute("aria-roledescription",t)}))}function p(e,t){(e=n(e)).forEach((e=>{e.setAttribute("aria-label",t)}))}function u(e){(e=n(e)).forEach((e=>{e.setAttribute("aria-disabled",!0)}))}function m(e){(e=n(e)).forEach((e=>{e.setAttribute("aria-disabled",!1)}))}function h(e){if(13!==e.keyCode&&32!==e.keyCode)return;const s=t.params.a11y,a=e.target;t.pagination&&t.pagination.el&&(a===t.pagination.el||t.pagination.el.contains(e.target))&&!e.target.matches(te(t.params.pagination.bulletClass))||(t.navigation&&t.navigation.nextEl&&a===t.navigation.nextEl&&(t.isEnd&&!t.params.loop||t.slideNext(),t.isEnd?r(s.lastSlideMessage):r(s.nextSlideMessage)),t.navigation&&t.navigation.prevEl&&a===t.navigation.prevEl&&(t.isBeginning&&!t.params.loop||t.slidePrev(),t.isBeginning?r(s.firstSlideMessage):r(s.prevSlideMessage)),t.pagination&&a.matches(te(t.params.pagination.bulletClass))&&a.click())}function f(){return t.pagination&&t.pagination.bullets&&t.pagination.bullets.length}function v(){return f()&&t.params.pagination.clickable}const w=(e,t,s)=>{l(e),"BUTTON"!==e.tagName&&(d(e,"button"),e.addEventListener("keydown",h)),p(e,s),function(e,t){(e=n(e)).forEach((e=>{e.setAttribute("aria-controls",t)}))}(e,t)},y=()=>{t.a11y.clicked=!0},E=()=>{requestAnimationFrame((()=>{requestAnimationFrame((()=>{t.destroyed||(t.a11y.clicked=!1)}))}))},x=e=>{if(t.a11y.clicked)return;const s=e.target.closest(`.${t.params.slideClass}, swiper-slide`);if(!s||!t.slides.includes(s))return;const a=t.slides.indexOf(s)===t.activeIndex,i=t.params.watchSlidesProgress&&t.visibleSlides&&t.visibleSlides.includes(s);a||i||e.sourceCapabilities&&e.sourceCapabilities.firesTouchEvents||(t.isHorizontal()?t.el.scrollLeft=0:t.el.scrollTop=0,t.slideTo(t.slides.indexOf(s),0))},S=()=>{const e=t.params.a11y;e.itemRoleDescriptionMessage&&c(t.slides,e.itemRoleDescriptionMessage),e.slideRole&&d(t.slides,e.slideRole);const s=t.slides.length;e.slideLabelMessage&&t.slides.forEach(((a,i)=>{const r=t.params.loop?parseInt(a.getAttribute("data-swiper-slide-index"),10):i;p(a,e.slideLabelMessage.replace(/\{\{index\}\}/,r+1).replace(/\{\{slidesLength\}\}/,s))}))},T=()=>{const e=t.params.a11y;t.isElement?t.el.shadowEl.append(i):t.el.append(i);const s=t.el;e.containerRoleDescriptionMessage&&c(s,e.containerRoleDescriptionMessage),e.containerMessage&&p(s,e.containerMessage);const a=t.wrapperEl,r=e.id||a.getAttribute("id")||`swiper-wrapper-${l=16,void 0===l&&(l=16),"x".repeat(l).replace(/x/g,(()=>Math.round(16*Math.random()).toString(16)))}`;var l;const o=t.params.autoplay&&t.params.autoplay.enabled?"off":"polite";var d;d=r,n(a).forEach((e=>{e.setAttribute("id",d)})),function(e,t){(e=n(e)).forEach((e=>{e.setAttribute("aria-live",t)}))}(a,o),S();let{nextEl:u,prevEl:m}=t.navigation?t.navigation:{};if(u=n(u),m=n(m),u&&u.forEach((t=>w(t,r,e.nextSlideMessage))),m&&m.forEach((t=>w(t,r,e.prevSlideMessage))),v()){(Array.isArray(t.pagination.el)?t.pagination.el:[t.pagination.el]).forEach((e=>{e.addEventListener("keydown",h)}))}t.el.addEventListener("focus",x,!0),t.el.addEventListener("pointerdown",y,!0),t.el.addEventListener("pointerup",E,!0)};a("beforeInit",(()=>{i=g("span",t.params.a11y.notificationClass),i.setAttribute("aria-live","assertive"),i.setAttribute("aria-atomic","true")})),a("afterInit",(()=>{t.params.a11y.enabled&&T()})),a("slidesLengthChange snapGridLengthChange slidesGridLengthChange",(()=>{t.params.a11y.enabled&&S()})),a("fromEdge toEdge afterInit lock unlock",(()=>{t.params.a11y.enabled&&function(){if(t.params.loop||t.params.rewind||!t.navigation)return;const{nextEl:e,prevEl:s}=t.navigation;s&&(t.isBeginning?(u(s),o(s)):(m(s),l(s))),e&&(t.isEnd?(u(e),o(e)):(m(e),l(e)))}()})),a("paginationUpdate",(()=>{t.params.a11y.enabled&&function(){const e=t.params.a11y;f()&&t.pagination.bullets.forEach((s=>{t.params.pagination.clickable&&(l(s),t.params.pagination.renderBullet||(d(s,"button"),p(s,e.paginationBulletMessage.replace(/\{\{index\}\}/,b(s)+1)))),s.matches(te(t.params.pagination.bulletActiveClass))?s.setAttribute("aria-current","true"):s.removeAttribute("aria-current")}))}()})),a("destroy",(()=>{t.params.a11y.enabled&&function(){i&&i.remove();let{nextEl:e,prevEl:s}=t.navigation?t.navigation:{};e=n(e),s=n(s),e&&e.forEach((e=>e.removeEventListener("keydown",h))),s&&s.forEach((e=>e.removeEventListener("keydown",h))),v()&&(Array.isArray(t.pagination.el)?t.pagination.el:[t.pagination.el]).forEach((e=>{e.removeEventListener("keydown",h)}));t.el.removeEventListener("focus",x,!0),t.el.removeEventListener("pointerdown",y,!0),t.el.removeEventListener("pointerup",E,!0)}()}))},function(e){let{swiper:t,extendParams:s,on:a}=e;s({history:{enabled:!1,root:"",replaceState:!1,key:"slides",keepQuery:!1}});let i=!1,n={};const l=e=>e.toString().replace(/\s+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,""),o=e=>{const t=r();let s;s=e?new URL(e):t.location;const a=s.pathname.slice(1).split("/").filter((e=>""!==e)),i=a.length;return{key:a[i-2],value:a[i-1]}},d=(e,s)=>{const a=r();if(!i||!t.params.history.enabled)return;let n;n=t.params.url?new URL(t.params.url):a.location;const o=t.slides[s];let d=l(o.getAttribute("data-history"));if(t.params.history.root.length>0){let s=t.params.history.root;"/"===s[s.length-1]&&(s=s.slice(0,s.length-1)),d=`${s}/${e?`${e}/`:""}${d}`}else n.pathname.includes(e)||(d=`${e?`${e}/`:""}${d}`);t.params.history.keepQuery&&(d+=n.search);const c=a.history.state;c&&c.value===d||(t.params.history.replaceState?a.history.replaceState({value:d},null,d):a.history.pushState({value:d},null,d))},c=(e,s,a)=>{if(s)for(let i=0,r=t.slides.length;i{n=o(t.params.url),c(t.params.speed,n.value,!1)};a("init",(()=>{t.params.history.enabled&&(()=>{const e=r();if(t.params.history){if(!e.history||!e.history.pushState)return t.params.history.enabled=!1,void(t.params.hashNavigation.enabled=!0);i=!0,n=o(t.params.url),n.key||n.value?(c(0,n.value,t.params.runCallbacksOnInit),t.params.history.replaceState||e.addEventListener("popstate",p)):t.params.history.replaceState||e.addEventListener("popstate",p)}})()})),a("destroy",(()=>{t.params.history.enabled&&(()=>{const e=r();t.params.history.replaceState||e.removeEventListener("popstate",p)})()})),a("transitionEnd _freeModeNoMomentumRelease",(()=>{i&&d(t.params.history.key,t.activeIndex)})),a("slideChange",(()=>{i&&t.params.cssMode&&d(t.params.history.key,t.activeIndex)}))},function(e){let{swiper:t,extendParams:s,emit:i,on:n}=e,l=!1;const o=a(),d=r();s({hashNavigation:{enabled:!1,replaceState:!1,watchState:!1,getSlideIndex(e,s){if(t.virtual&&t.params.virtual.enabled){const e=t.slides.filter((e=>e.getAttribute("data-hash")===s))[0];if(!e)return 0;return parseInt(e.getAttribute("data-swiper-slide-index"),10)}return t.getSlideIndex(f(t.slidesEl,`.${t.params.slideClass}[data-hash="${s}"], swiper-slide[data-hash="${s}"]`)[0])}}});const c=()=>{i("hashChange");const e=o.location.hash.replace("#",""),s=t.virtual&&t.params.virtual.enabled?t.slidesEl.querySelector(`[data-swiper-slide-index="${t.activeIndex}"]`):t.slides[t.activeIndex];if(e!==(s?s.getAttribute("data-hash"):"")){const s=t.params.hashNavigation.getSlideIndex(t,e);if(void 0===s||Number.isNaN(s))return;t.slideTo(s)}},p=()=>{if(!l||!t.params.hashNavigation.enabled)return;const e=t.virtual&&t.params.virtual.enabled?t.slidesEl.querySelector(`[data-swiper-slide-index="${t.activeIndex}"]`):t.slides[t.activeIndex],s=e?e.getAttribute("data-hash")||e.getAttribute("data-history"):"";t.params.hashNavigation.replaceState&&d.history&&d.history.replaceState?(d.history.replaceState(null,null,`#${s}`||""),i("hashSet")):(o.location.hash=s||"",i("hashSet"))};n("init",(()=>{t.params.hashNavigation.enabled&&(()=>{if(!t.params.hashNavigation.enabled||t.params.history&&t.params.history.enabled)return;l=!0;const e=o.location.hash.replace("#","");if(e){const s=0,a=t.params.hashNavigation.getSlideIndex(t,e);t.slideTo(a||0,s,t.params.runCallbacksOnInit,!0)}t.params.hashNavigation.watchState&&d.addEventListener("hashchange",c)})()})),n("destroy",(()=>{t.params.hashNavigation.enabled&&t.params.hashNavigation.watchState&&d.removeEventListener("hashchange",c)})),n("transitionEnd _freeModeNoMomentumRelease",(()=>{l&&p()})),n("slideChange",(()=>{l&&t.params.cssMode&&p()}))},function(e){let t,s,{swiper:i,extendParams:r,on:n,emit:l,params:o}=e;i.autoplay={running:!1,paused:!1,timeLeft:0},r({autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!0,stopOnLastSlide:!1,reverseDirection:!1,pauseOnMouseEnter:!1}});let d,c,p,u,m,h,f,g=o&&o.autoplay?o.autoplay.delay:3e3,v=o&&o.autoplay?o.autoplay.delay:3e3,w=(new Date).getTime;function b(e){i&&!i.destroyed&&i.wrapperEl&&e.target===i.wrapperEl&&(i.wrapperEl.removeEventListener("transitionend",b),M())}const y=()=>{if(i.destroyed||!i.autoplay.running)return;i.autoplay.paused?c=!0:c&&(v=d,c=!1);const e=i.autoplay.paused?d:w+v-(new Date).getTime();i.autoplay.timeLeft=e,l("autoplayTimeLeft",e,e/g),s=requestAnimationFrame((()=>{y()}))},E=e=>{if(i.destroyed||!i.autoplay.running)return;cancelAnimationFrame(s),y();let a=void 0===e?i.params.autoplay.delay:e;g=i.params.autoplay.delay,v=i.params.autoplay.delay;const r=(()=>{let e;if(e=i.virtual&&i.params.virtual.enabled?i.slides.filter((e=>e.classList.contains("swiper-slide-active")))[0]:i.slides[i.activeIndex],!e)return;return parseInt(e.getAttribute("data-swiper-autoplay"),10)})();!Number.isNaN(r)&&r>0&&void 0===e&&(a=r,g=r,v=r),d=a;const n=i.params.speed,o=()=>{i&&!i.destroyed&&(i.params.autoplay.reverseDirection?!i.isBeginning||i.params.loop||i.params.rewind?(i.slidePrev(n,!0,!0),l("autoplay")):i.params.autoplay.stopOnLastSlide||(i.slideTo(i.slides.length-1,n,!0,!0),l("autoplay")):!i.isEnd||i.params.loop||i.params.rewind?(i.slideNext(n,!0,!0),l("autoplay")):i.params.autoplay.stopOnLastSlide||(i.slideTo(0,n,!0,!0),l("autoplay")),i.params.cssMode&&(w=(new Date).getTime(),requestAnimationFrame((()=>{E()}))))};return a>0?(clearTimeout(t),t=setTimeout((()=>{o()}),a)):requestAnimationFrame((()=>{o()})),a},x=()=>{i.autoplay.running=!0,E(),l("autoplayStart")},S=()=>{i.autoplay.running=!1,clearTimeout(t),cancelAnimationFrame(s),l("autoplayStop")},T=(e,s)=>{if(i.destroyed||!i.autoplay.running)return;clearTimeout(t),e||(f=!0);const a=()=>{l("autoplayPause"),i.params.autoplay.waitForTransition?i.wrapperEl.addEventListener("transitionend",b):M()};if(i.autoplay.paused=!0,s)return h&&(d=i.params.autoplay.delay),h=!1,void a();const r=d||i.params.autoplay.delay;d=r-((new Date).getTime()-w),i.isEnd&&d<0&&!i.params.loop||(d<0&&(d=0),a())},M=()=>{i.isEnd&&d<0&&!i.params.loop||i.destroyed||!i.autoplay.running||(w=(new Date).getTime(),f?(f=!1,E(d)):E(),i.autoplay.paused=!1,l("autoplayResume"))},C=()=>{if(i.destroyed||!i.autoplay.running)return;const e=a();"hidden"===e.visibilityState&&(f=!0,T(!0)),"visible"===e.visibilityState&&M()},P=e=>{"mouse"===e.pointerType&&(f=!0,T(!0))},L=e=>{"mouse"===e.pointerType&&i.autoplay.paused&&M()};n("init",(()=>{i.params.autoplay.enabled&&(i.params.autoplay.pauseOnMouseEnter&&(i.el.addEventListener("pointerenter",P),i.el.addEventListener("pointerleave",L)),a().addEventListener("visibilitychange",C),w=(new Date).getTime(),x())})),n("destroy",(()=>{i.el.removeEventListener("pointerenter",P),i.el.removeEventListener("pointerleave",L),a().removeEventListener("visibilitychange",C),i.autoplay.running&&S()})),n("beforeTransitionStart",((e,t,s)=>{!i.destroyed&&i.autoplay.running&&(s||!i.params.autoplay.disableOnInteraction?T(!0,!0):S())})),n("sliderFirstMove",(()=>{!i.destroyed&&i.autoplay.running&&(i.params.autoplay.disableOnInteraction?S():(p=!0,u=!1,f=!1,m=setTimeout((()=>{f=!0,u=!0,T(!0)}),200)))})),n("touchEnd",(()=>{if(!i.destroyed&&i.autoplay.running&&p){if(clearTimeout(m),clearTimeout(t),i.params.autoplay.disableOnInteraction)return u=!1,void(p=!1);u&&i.params.cssMode&&M(),u=!1,p=!1}})),n("slideChange",(()=>{!i.destroyed&&i.autoplay.running&&(h=!0)})),Object.assign(i.autoplay,{start:x,stop:S,pause:T,resume:M})},function(e){let{swiper:t,extendParams:s,on:i}=e;s({thumbs:{swiper:null,multipleActiveThumbs:!0,autoScrollOffset:0,slideThumbActiveClass:"swiper-slide-thumb-active",thumbsContainerClass:"swiper-thumbs"}});let r=!1,n=!1;function l(){const e=t.thumbs.swiper;if(!e||e.destroyed)return;const s=e.clickedIndex,a=e.clickedSlide;if(a&&a.classList.contains(t.params.thumbs.slideThumbActiveClass))return;if(null==s)return;let i;i=e.params.loop?parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"),10):s,t.params.loop?t.slideToLoop(i):t.slideTo(i)}function o(){const{thumbs:e}=t.params;if(r)return!1;r=!0;const s=t.constructor;if(e.swiper instanceof s)t.thumbs.swiper=e.swiper,Object.assign(t.thumbs.swiper.originalParams,{watchSlidesProgress:!0,slideToClickedSlide:!1}),Object.assign(t.thumbs.swiper.params,{watchSlidesProgress:!0,slideToClickedSlide:!1}),t.thumbs.swiper.update();else if(d(e.swiper)){const a=Object.assign({},e.swiper);Object.assign(a,{watchSlidesProgress:!0,slideToClickedSlide:!1}),t.thumbs.swiper=new s(a),n=!0}return t.thumbs.swiper.el.classList.add(t.params.thumbs.thumbsContainerClass),t.thumbs.swiper.on("tap",l),!0}function c(e){const s=t.thumbs.swiper;if(!s||s.destroyed)return;const a="auto"===s.params.slidesPerView?s.slidesPerViewDynamic():s.params.slidesPerView;let i=1;const r=t.params.thumbs.slideThumbActiveClass;if(t.params.slidesPerView>1&&!t.params.centeredSlides&&(i=t.params.slidesPerView),t.params.thumbs.multipleActiveThumbs||(i=1),i=Math.floor(i),s.slides.forEach((e=>e.classList.remove(r))),s.params.loop||s.params.virtual&&s.params.virtual.enabled)for(let e=0;e{e.classList.add(r)}));else for(let e=0;ee.getAttribute("data-swiper-slide-index")===`${t.realIndex}`))[0];r=s.slides.indexOf(e),o=t.activeIndex>t.previousIndex?"next":"prev"}else r=t.realIndex,o=r>t.previousIndex?"next":"prev";l&&(r+="next"===o?n:-1*n),s.visibleSlidesIndexes&&s.visibleSlidesIndexes.indexOf(r)<0&&(s.params.centeredSlides?r=r>i?r-Math.floor(a/2)+1:r+Math.floor(a/2)-1:r>i&&s.params.slidesPerGroup,s.slideTo(r,e?0:void 0))}}t.thumbs={swiper:null},i("beforeInit",(()=>{const{thumbs:e}=t.params;if(e&&e.swiper)if("string"==typeof e.swiper||e.swiper instanceof HTMLElement){const s=a(),i=()=>{const a="string"==typeof e.swiper?s.querySelector(e.swiper):e.swiper;if(a&&a.swiper)e.swiper=a.swiper,o(),c(!0);else if(a){const s=i=>{e.swiper=i.detail[0],a.removeEventListener("init",s),o(),c(!0),e.swiper.update(),t.update()};a.addEventListener("init",s)}return a},r=()=>{if(t.destroyed)return;i()||requestAnimationFrame(r)};requestAnimationFrame(r)}else o(),c(!0)})),i("slideChange update resize observerUpdate",(()=>{c()})),i("setTransition",((e,s)=>{const a=t.thumbs.swiper;a&&!a.destroyed&&a.setTransition(s)})),i("beforeDestroy",(()=>{const e=t.thumbs.swiper;e&&!e.destroyed&&n&&e.destroy()})),Object.assign(t.thumbs,{init:o,update:c})},function(e){let{swiper:t,extendParams:s,emit:a,once:i}=e;s({freeMode:{enabled:!1,momentum:!0,momentumRatio:1,momentumBounce:!0,momentumBounceRatio:1,momentumVelocityRatio:1,sticky:!1,minimumVelocity:.02}}),Object.assign(t,{freeMode:{onTouchStart:function(){if(t.params.cssMode)return;const e=t.getTranslate();t.setTranslate(e),t.setTransition(0),t.touchEventsData.velocities.length=0,t.freeMode.onTouchEnd({currentPos:t.rtl?t.translate:-t.translate})},onTouchMove:function(){if(t.params.cssMode)return;const{touchEventsData:e,touches:s}=t;0===e.velocities.length&&e.velocities.push({position:s[t.isHorizontal()?"startX":"startY"],time:e.touchStartTime}),e.velocities.push({position:s[t.isHorizontal()?"currentX":"currentY"],time:l()})},onTouchEnd:function(e){let{currentPos:s}=e;if(t.params.cssMode)return;const{params:r,wrapperEl:n,rtlTranslate:o,snapGrid:d,touchEventsData:c}=t,p=l()-c.touchStartTime;if(s<-t.minTranslate())t.slideTo(t.activeIndex);else if(s>-t.maxTranslate())t.slides.length1){const e=c.velocities.pop(),s=c.velocities.pop(),a=e.position-s.position,i=e.time-s.time;t.velocity=a/i,t.velocity/=2,Math.abs(t.velocity)150||l()-e.time>300)&&(t.velocity=0)}else t.velocity=0;t.velocity*=r.freeMode.momentumVelocityRatio,c.velocities.length=0;let e=1e3*r.freeMode.momentumRatio;const s=t.velocity*e;let p=t.translate+s;o&&(p=-p);let u,m=!1;const h=20*Math.abs(t.velocity)*r.freeMode.momentumBounceRatio;let f;if(pt.minTranslate())r.freeMode.momentumBounce?(p-t.minTranslate()>h&&(p=t.minTranslate()+h),u=t.minTranslate(),m=!0,c.allowMomentumBounce=!0):p=t.minTranslate(),r.loop&&r.centeredSlides&&(f=!0);else if(r.freeMode.sticky){let e;for(let t=0;t-p){e=t;break}p=Math.abs(d[e]-p){t.loopFix()})),0!==t.velocity){if(e=o?Math.abs((-p-t.translate)/t.velocity):Math.abs((p-t.translate)/t.velocity),r.freeMode.sticky){const s=Math.abs((o?-p:p)-t.translate),a=t.slidesSizesGrid[t.activeIndex];e=s{t&&!t.destroyed&&c.allowMomentumBounce&&(a("momentumBounce"),t.setTransition(r.speed),setTimeout((()=>{t.setTranslate(u),E(n,(()=>{t&&!t.destroyed&&t.transitionEnd()}))}),0))}))):t.velocity?(a("_freeModeNoMomentumRelease"),t.updateProgress(p),t.setTransition(e),t.setTranslate(p),t.transitionStart(!0,t.swipeDirection),t.animating||(t.animating=!0,E(n,(()=>{t&&!t.destroyed&&t.transitionEnd()})))):t.updateProgress(p),t.updateActiveIndex(),t.updateSlidesClasses()}else{if(r.freeMode.sticky)return void t.slideToClosest();r.freeMode&&a("_freeModeNoMomentumRelease")}(!r.freeMode.momentum||p>=r.longSwipesMs)&&(t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses())}}}})},function(e){let t,s,a,{swiper:i,extendParams:r}=e;r({grid:{rows:1,fill:"column"}});const n=()=>{let e=i.params.spaceBetween;return"string"==typeof e&&e.indexOf("%")>=0?e=parseFloat(e.replace("%",""))/100*i.size:"string"==typeof e&&(e=parseFloat(e)),e};i.grid={initSlides:e=>{const{slidesPerView:r}=i.params,{rows:n,fill:l}=i.params.grid;a=Math.floor(e/n),t=Math.floor(e/n)===e/n?e:Math.ceil(e/n)*n,"auto"!==r&&"row"===l&&(t=Math.max(t,r*n)),s=t/n},updateSlide:(e,r,l,o)=>{const{slidesPerGroup:d}=i.params,c=n(),{rows:p,fill:u}=i.params.grid;let m,h,f;if("row"===u&&d>1){const s=Math.floor(e/(d*p)),a=e-p*d*s,i=0===s?d:Math.min(Math.ceil((l-s*p*d)/p),d);f=Math.floor(a/i),h=a-f*i+s*d,m=h+f*t/p,r.style.order=m}else"column"===u?(h=Math.floor(e/p),f=e-h*p,(h>a||h===a&&f===p-1)&&(f+=1,f>=p&&(f=0,h+=1))):(f=Math.floor(e/s),h=e-f*s);r.row=f,r.column=h,r.style[o("margin-top")]=0!==f?c&&`${c}px`:""},updateWrapperSize:(e,s,a)=>{const{centeredSlides:r,roundLengths:l}=i.params,o=n(),{rows:d}=i.params.grid;if(i.virtualSize=(e+o)*t,i.virtualSize=Math.ceil(i.virtualSize/d)-o,i.wrapperEl.style[a("width")]=`${i.virtualSize+o}px`,r){const e=[];for(let t=0;t{const{slides:e}=t;t.params.fadeEffect;for(let s=0;s{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`})),de({swiper:t,duration:e,transformElements:s,allSlides:!0})},overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({cubeEffect:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:.94}});const i=(e,t,s)=>{let a=s?e.querySelector(".swiper-slide-shadow-left"):e.querySelector(".swiper-slide-shadow-top"),i=s?e.querySelector(".swiper-slide-shadow-right"):e.querySelector(".swiper-slide-shadow-bottom");a||(a=g("div","swiper-slide-shadow-"+(s?"left":"top")),e.append(a)),i||(i=g("div","swiper-slide-shadow-"+(s?"right":"bottom")),e.append(i)),a&&(a.style.opacity=Math.max(-t,0)),i&&(i.style.opacity=Math.max(t,0))};le({effect:"cube",swiper:t,on:a,setTranslate:()=>{const{el:e,wrapperEl:s,slides:a,width:r,height:n,rtlTranslate:l,size:o,browser:d}=t,c=t.params.cubeEffect,p=t.isHorizontal(),u=t.virtual&&t.params.virtual.enabled;let m,h=0;c.shadow&&(p?(m=t.slidesEl.querySelector(".swiper-cube-shadow"),m||(m=g("div","swiper-cube-shadow"),t.slidesEl.append(m)),m.style.height=`${r}px`):(m=e.querySelector(".swiper-cube-shadow"),m||(m=g("div","swiper-cube-shadow"),e.append(m))));for(let e=0;e-1&&(h=90*s+90*d,l&&(h=90*-s-90*d)),t.style.transform=v,c.slideShadows&&i(t,d,p)}if(s.style.transformOrigin=`50% 50% -${o/2}px`,s.style["-webkit-transform-origin"]=`50% 50% -${o/2}px`,c.shadow)if(p)m.style.transform=`translate3d(0px, ${r/2+c.shadowOffset}px, ${-r/2}px) rotateX(90deg) rotateZ(0deg) scale(${c.shadowScale})`;else{const e=Math.abs(h)-90*Math.floor(Math.abs(h)/90),t=1.5-(Math.sin(2*e*Math.PI/360)/2+Math.cos(2*e*Math.PI/360)/2),s=c.shadowScale,a=c.shadowScale/t,i=c.shadowOffset;m.style.transform=`scale3d(${s}, 1, ${a}) translate3d(0px, ${n/2+i}px, ${-n/2/a}px) rotateX(-90deg)`}const f=(d.isSafari||d.isWebView)&&d.needPerspectiveFix?-o/2:0;s.style.transform=`translate3d(0px,0,${f}px) rotateX(${t.isHorizontal()?0:h}deg) rotateY(${t.isHorizontal()?-h:0}deg)`,s.style.setProperty("--swiper-cube-translate-z",`${f}px`)},setTransition:e=>{const{el:s,slides:a}=t;if(a.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),t.params.cubeEffect.shadow&&!t.isHorizontal()){const t=s.querySelector(".swiper-cube-shadow");t&&(t.style.transitionDuration=`${e}ms`)}},recreateShadows:()=>{const e=t.isHorizontal();t.slides.forEach((t=>{const s=Math.max(Math.min(t.progress,1),-1);i(t,s,e)}))},getEffectParams:()=>t.params.cubeEffect,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,resistanceRatio:0,spaceBetween:0,centeredSlides:!1,virtualTranslate:!0})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({flipEffect:{slideShadows:!0,limitRotation:!0}});const i=(e,s,a)=>{let i=t.isHorizontal()?e.querySelector(".swiper-slide-shadow-left"):e.querySelector(".swiper-slide-shadow-top"),r=t.isHorizontal()?e.querySelector(".swiper-slide-shadow-right"):e.querySelector(".swiper-slide-shadow-bottom");i||(i=ce(0,e,t.isHorizontal()?"left":"top")),r||(r=ce(0,e,t.isHorizontal()?"right":"bottom")),i&&(i.style.opacity=Math.max(-s,0)),r&&(r.style.opacity=Math.max(s,0))};le({effect:"flip",swiper:t,on:a,setTranslate:()=>{const{slides:e,rtlTranslate:s}=t,a=t.params.flipEffect;for(let r=0;r{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),de({swiper:t,duration:e,transformElements:s})},recreateShadows:()=>{t.params.flipEffect;t.slides.forEach((e=>{let s=e.progress;t.params.flipEffect.limitRotation&&(s=Math.max(Math.min(e.progress,1),-1)),i(e,s)}))},getEffectParams:()=>t.params.flipEffect,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({coverflowEffect:{rotate:50,stretch:0,depth:100,scale:1,modifier:1,slideShadows:!0}}),le({effect:"coverflow",swiper:t,on:a,setTranslate:()=>{const{width:e,height:s,slides:a,slidesSizesGrid:i}=t,r=t.params.coverflowEffect,n=t.isHorizontal(),l=t.translate,o=n?e/2-l:s/2-l,d=n?r.rotate:-r.rotate,c=r.depth;for(let e=0,t=a.length;e0?p:0),s&&(s.style.opacity=-p>0?-p:0)}}},setTransition:e=>{t.slides.map((e=>h(e))).forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t=>{t.style.transitionDuration=`${e}ms`}))}))},perspective:()=>!0,overwriteParams:()=>({watchSlidesProgress:!0})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({creativeEffect:{limitProgress:1,shadowPerProgress:!1,progressMultiplier:1,perspective:!0,prev:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1},next:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1}}});const i=e=>"string"==typeof e?e:`${e}px`;le({effect:"creative",swiper:t,on:a,setTranslate:()=>{const{slides:e,wrapperEl:s,slidesSizesGrid:a}=t,r=t.params.creativeEffect,{progressMultiplier:n}=r,l=t.params.centeredSlides;if(l){const e=a[0]/2-t.params.slidesOffsetBefore||0;s.style.transform=`translateX(calc(50% - ${e}px))`}for(let s=0;s0&&(f=r.prev,h=!0),u.forEach(((e,t)=>{u[t]=`calc(${e}px + (${i(f.translate[t])} * ${Math.abs(d*n)}))`})),m.forEach(((e,t)=>{m[t]=f.rotate[t]*Math.abs(d*n)})),a.style.zIndex=-Math.abs(Math.round(o))+e.length;const g=u.join(", "),v=`rotateX(${m[0]}deg) rotateY(${m[1]}deg) rotateZ(${m[2]}deg)`,w=c<0?`scale(${1+(1-f.scale)*c*n})`:`scale(${1-(1-f.scale)*c*n})`,b=c<0?1+(1-f.opacity)*c*n:1-(1-f.opacity)*c*n,y=`translate3d(${g}) ${v} ${w}`;if(h&&f.shadow||!h){let e=a.querySelector(".swiper-slide-shadow");if(!e&&f.shadow&&(e=ce(0,a)),e){const t=r.shadowPerProgress?d*(1/r.limitProgress):d;e.style.opacity=Math.min(Math.max(Math.abs(t),0),1)}}const E=oe(0,a);E.style.transform=y,E.style.opacity=b,f.origin&&(E.style.transformOrigin=f.origin)}},setTransition:e=>{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),de({swiper:t,duration:e,transformElements:s,allSlides:!0})},perspective:()=>t.params.creativeEffect.perspective,overwriteParams:()=>({watchSlidesProgress:!0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({cardsEffect:{slideShadows:!0,rotate:!0,perSlideRotate:2,perSlideOffset:8}}),le({effect:"cards",swiper:t,on:a,setTranslate:()=>{const{slides:e,activeIndex:s,rtlTranslate:a}=t,i=t.params.cardsEffect,{startTranslate:r,isTouched:n}=t.touchEventsData,l=a?-t.translate:t.translate;for(let o=0;o0&&p<1&&(n||t.params.cssMode)&&l-1&&(n||t.params.cssMode)&&l>r;if(y||E){const e=(1-Math.abs((Math.abs(p)-.5)/.5))**.5;v+=-28*p*e,g+=-.5*e,w+=96*e,h=-25*e*Math.abs(p)+"%"}if(m=p<0?`calc(${m}px ${a?"-":"+"} (${w*Math.abs(p)}%))`:p>0?`calc(${m}px ${a?"-":"+"} (-${w*Math.abs(p)}%))`:`${m}px`,!t.isHorizontal()){const e=h;h=m,m=e}const x=p<0?""+(1+(1-g)*p):""+(1-(1-g)*p),S=`\n translate3d(${m}, ${h}, ${f}px)\n rotateZ(${i.rotate?a?-v:v:0}deg)\n scale(${x})\n `;if(i.slideShadows){let e=d.querySelector(".swiper-slide-shadow");e||(e=ce(0,d)),e&&(e.style.opacity=Math.min(Math.max((Math.abs(p)-.5)/.5,0),1))}d.style.zIndex=-Math.abs(Math.round(c))+e.length;oe(0,d).style.transform=S}},setTransition:e=>{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),de({swiper:t,duration:e,transformElements:s})},perspective:()=>!0,overwriteParams:()=>({watchSlidesProgress:!0,virtualTranslate:!t.params.cssMode})})}];return J.use(pe),J})); +//# sourceMappingURL=swiper-bundle.min.js.map + +; +!function(i){"use strict";"function"==typeof define&&define.amd?define(["jquery"],i):"undefined"!=typeof exports?module.exports=i(require("jquery")):i(jQuery)}(function(i){"use strict";var e=window.Slick||{};(e=function(){var e=0;return function(t,o){var s,n=this;n.defaults={accessibility:!0,adaptiveHeight:!1,appendArrows:i(t),appendDots:i(t),arrows:!0,asNavFor:null,prevArrow:'',nextArrow:'',autoplay:!1,autoplaySpeed:3e3,centerMode:!1,centerPadding:"50px",cssEase:"ease",customPaging:function(e,t){return i('\n "; + } + if (this.settings.appendSubHtmlTo !== '.lg-item') { + subHtmlCont = + '
'; + } + var addClasses = ''; + if (this.settings.allowMediaOverlap) { + // Do not remove space before last single quote + addClasses += 'lg-media-overlap '; + } + var ariaLabelledby = this.settings.ariaLabelledby + ? 'aria-labelledby="' + this.settings.ariaLabelledby + '"' + : ''; + var ariaDescribedby = this.settings.ariaDescribedby + ? 'aria-describedby="' + this.settings.ariaDescribedby + '"' + : ''; + var containerClassName = "lg-container " + this.settings.addClass + " " + (document.body !== this.settings.container ? 'lg-inline' : ''); + var closeIcon = this.settings.closable && this.settings.showCloseIcon + ? "" + : ''; + var maximizeIcon = this.settings.showMaximizeIcon + ? "" + : ''; + var template = "\n
\n
\n\n
\n\n
\n
\n
\n " + controls + "\n
\n
\n " + maximizeIcon + "\n " + closeIcon + "\n
\n " + (this.settings.appendSubHtmlTo === '.lg-outer' + ? subHtmlCont + : '') + "\n
\n " + (this.settings.appendSubHtmlTo === '.lg-sub-html' + ? subHtmlCont + : '') + "\n
\n
\n
\n "; + $LG(this.settings.container).append(template); + if (document.body !== this.settings.container) { + $LG(this.settings.container).css('position', 'relative'); + } + this.outer = this.getElementById('lg-outer'); + this.$lgComponents = this.getElementById('lg-components'); + this.$backdrop = this.getElementById('lg-backdrop'); + this.$container = this.getElementById('lg-container'); + this.$inner = this.getElementById('lg-inner'); + this.$content = this.getElementById('lg-content'); + this.$toolbar = this.getElementById('lg-toolbar'); + this.$backdrop.css('transition-duration', this.settings.backdropDuration + 'ms'); + var outerClassNames = this.settings.mode + " "; + this.manageSingleSlideClassName(); + if (this.settings.enableDrag) { + outerClassNames += 'lg-grab '; + } + this.outer.addClass(outerClassNames); + this.$inner.css('transition-timing-function', this.settings.easing); + this.$inner.css('transition-duration', this.settings.speed + 'ms'); + if (this.settings.download) { + this.$toolbar.append(""); + } + this.counter(); + $LG(window).on("resize.lg.global" + this.lgId + " orientationchange.lg.global" + this.lgId, function () { + _this.refreshOnResize(); + }); + this.hideBars(); + this.manageCloseGallery(); + this.toggleMaximize(); + this.initModules(); + }; + LightGallery.prototype.refreshOnResize = function () { + if (this.lgOpened) { + var currentGalleryItem = this.galleryItems[this.index]; + var __slideVideoInfo = currentGalleryItem.__slideVideoInfo; + this.mediaContainerPosition = this.getMediaContainerPosition(); + var _a = this.mediaContainerPosition, top_1 = _a.top, bottom = _a.bottom; + this.currentImageSize = utils.getSize(this.items[this.index], this.outer, top_1 + bottom, __slideVideoInfo && this.settings.videoMaxSize); + if (__slideVideoInfo) { + this.resizeVideoSlide(this.index, this.currentImageSize); + } + if (this.zoomFromOrigin && !this.isDummyImageRemoved) { + var imgStyle = this.getDummyImgStyles(this.currentImageSize); + this.outer + .find('.lg-current .lg-dummy-img') + .first() + .attr('style', imgStyle); + } + this.LGel.trigger(lGEvents.containerResize); + } + }; + LightGallery.prototype.resizeVideoSlide = function (index, imageSize) { + var lgVideoStyle = this.getVideoContStyle(imageSize); + var currentSlide = this.getSlideItem(index); + currentSlide.find('.lg-video-cont').attr('style', lgVideoStyle); + }; + /** + * Update slides dynamically. + * Add, edit or delete slides dynamically when lightGallery is opened. + * Modify the current gallery items and pass it via updateSlides method + * @note + * - Do not mutate existing lightGallery items directly. + * - Always pass new list of gallery items + * - You need to take care of thumbnails outside the gallery if any + * - user this method only if you want to update slides when the gallery is opened. Otherwise, use `refresh()` method. + * @param items Gallery items + * @param index After the update operation, which slide gallery should navigate to + * @category lGPublicMethods + * @example + * const plugin = lightGallery(); + * + * // Adding slides dynamically + * let galleryItems = [ + * // Access existing lightGallery items + * // galleryItems are automatically generated internally from the gallery HTML markup + * // or directly from galleryItems when dynamic gallery is used + * ...plugin.galleryItems, + * ...[ + * { + * src: 'img/img-1.png', + * thumb: 'img/thumb1.png', + * }, + * ], + * ]; + * plugin.updateSlides( + * galleryItems, + * plugin.index, + * ); + * + * + * // Remove slides dynamically + * galleryItems = JSON.parse( + * JSON.stringify(updateSlideInstance.galleryItems), + * ); + * galleryItems.shift(); + * updateSlideInstance.updateSlides(galleryItems, 1); + * @see Demo + */ + LightGallery.prototype.updateSlides = function (items, index) { + if (this.index > items.length - 1) { + this.index = items.length - 1; + } + if (items.length === 1) { + this.index = 0; + } + if (!items.length) { + this.closeGallery(); + return; + } + var currentSrc = this.galleryItems[index].src; + this.galleryItems = items; + this.updateControls(); + this.$inner.empty(); + this.currentItemsInDom = []; + var _index = 0; + // Find the current index based on source value of the slide + this.galleryItems.some(function (galleryItem, itemIndex) { + if (galleryItem.src === currentSrc) { + _index = itemIndex; + return true; + } + return false; + }); + this.currentItemsInDom = this.organizeSlideItems(_index, -1); + this.loadContent(_index, true); + this.getSlideItem(_index).addClass('lg-current'); + this.index = _index; + this.updateCurrentCounter(_index); + this.LGel.trigger(lGEvents.updateSlides); + }; + // Get gallery items based on multiple conditions + LightGallery.prototype.getItems = function () { + // Gallery items + this.items = []; + if (!this.settings.dynamic) { + if (this.settings.selector === 'this') { + this.items.push(this.el); + } + else if (this.settings.selector) { + if (typeof this.settings.selector === 'string') { + if (this.settings.selectWithin) { + var selectWithin = $LG(this.settings.selectWithin); + this.items = selectWithin + .find(this.settings.selector) + .get(); + } + else { + this.items = this.el.querySelectorAll(this.settings.selector); + } + } + else { + this.items = this.settings.selector; + } + } + else { + this.items = this.el.children; + } + return utils.getDynamicOptions(this.items, this.settings.extraProps, this.settings.getCaptionFromTitleOrAlt, this.settings.exThumbImage); + } + else { + return this.settings.dynamicEl || []; + } + }; + LightGallery.prototype.shouldHideScrollbar = function () { + return (this.settings.hideScrollbar && + document.body === this.settings.container); + }; + LightGallery.prototype.hideScrollbar = function () { + if (!this.shouldHideScrollbar()) { + return; + } + this.bodyPaddingRight = parseFloat($LG('body').style().paddingRight); + var bodyRect = document.documentElement.getBoundingClientRect(); + var scrollbarWidth = window.innerWidth - bodyRect.width; + $LG(document.body).css('padding-right', scrollbarWidth + this.bodyPaddingRight + 'px'); + $LG(document.body).addClass('lg-overlay-open'); + }; + LightGallery.prototype.resetScrollBar = function () { + if (!this.shouldHideScrollbar()) { + return; + } + $LG(document.body).css('padding-right', this.bodyPaddingRight + 'px'); + $LG(document.body).removeClass('lg-overlay-open'); + }; + /** + * Open lightGallery. + * Open gallery with specific slide by passing index of the slide as parameter. + * @category lGPublicMethods + * @param {Number} index - index of the slide + * @param {HTMLElement} element - Which image lightGallery should zoom from + * + * @example + * const $dynamicGallery = document.getElementById('dynamic-gallery-demo'); + * const dynamicGallery = lightGallery($dynamicGallery, { + * dynamic: true, + * dynamicEl: [ + * { + * src: 'img/1.jpg', + * thumb: 'img/thumb-1.jpg', + * subHtml: '

Image 1 title

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 " + (this.index + 1) + " /\n " + this.galleryItems.length + "
"; + this.outer.find(this.settings.appendCounterTo).append(counterHtml); + } + }; + /** + * @desc add sub-html into the slide + * @param {Number} index - index of the slide + */ + LightGallery.prototype.addHtml = function (index) { + var subHtml; + var subHtmlUrl; + if (this.galleryItems[index].subHtmlUrl) { + subHtmlUrl = this.galleryItems[index].subHtmlUrl; + } + else { + subHtml = this.galleryItems[index].subHtml; + } + if (!subHtmlUrl) { + if (subHtml) { + // get first letter of sub-html + // if first letter starts with . or # get the html form the jQuery object + var fL = subHtml.substring(0, 1); + if (fL === '.' || fL === '#') { + if (this.settings.subHtmlSelectorRelative && + !this.settings.dynamic) { + subHtml = $LG(this.items) + .eq(index) + .find(subHtml) + .first() + .html(); + } + else { + subHtml = $LG(subHtml).first().html(); + } + } + } + else { + subHtml = ''; + } + } + if (this.settings.appendSubHtmlTo !== '.lg-item') { + if (subHtmlUrl) { + utils.fetchCaptionFromUrl(subHtmlUrl, this.outer.find('.lg-sub-html'), 'replace'); + } + else { + this.outer.find('.lg-sub-html').html(subHtml); + } + } + else { + var currentSlide = $LG(this.getSlideItemId(index)); + if (subHtmlUrl) { + utils.fetchCaptionFromUrl(subHtmlUrl, currentSlide, 'append'); + } + else { + currentSlide.append("
" + subHtml + "
"); + } + } + // Add lg-empty-html class if title doesn't exist + if (typeof subHtml !== 'undefined' && subHtml !== null) { + if (subHtml === '') { + this.outer + .find(this.settings.appendSubHtmlTo) + .addClass('lg-empty-html'); + } + else { + this.outer + .find(this.settings.appendSubHtmlTo) + .removeClass('lg-empty-html'); + } + } + this.LGel.trigger(lGEvents.afterAppendSubHtml, { + index: index, + }); + }; + /** + * @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 + */ + LightGallery.prototype.preload = function (index) { + for (var i = 1; i <= this.settings.preload; i++) { + if (i >= this.galleryItems.length - index) { + break; + } + this.loadContent(index + i, false); + } + for (var j = 1; j <= this.settings.preload; j++) { + if (index - j < 0) { + break; + } + this.loadContent(index - j, false); + } + }; + LightGallery.prototype.getDummyImgStyles = function (imageSize) { + if (!imageSize) + return ''; + return "width:" + imageSize.width + "px;\n margin-left: -" + imageSize.width / 2 + "px;\n margin-top: -" + imageSize.height / 2 + "px;\n height:" + imageSize.height + "px"; + }; + LightGallery.prototype.getVideoContStyle = function (imageSize) { + if (!imageSize) + return ''; + return "width:" + imageSize.width + "px;\n height:" + imageSize.height + "px"; + }; + LightGallery.prototype.getDummyImageContent = function ($currentSlide, index, alt) { + var $currentItem; + if (!this.settings.dynamic) { + $currentItem = $LG(this.items).eq(index); + } + if ($currentItem) { + var _dummyImgSrc = void 0; + if (!this.settings.exThumbImage) { + _dummyImgSrc = $currentItem.find('img').first().attr('src'); + } + else { + _dummyImgSrc = $currentItem.attr(this.settings.exThumbImage); + } + if (!_dummyImgSrc) + return ''; + var imgStyle = this.getDummyImgStyles(this.currentImageSize); + var dummyImgContentImg = document.createElement('img'); + dummyImgContentImg.alt = alt || ''; + dummyImgContentImg.src = _dummyImgSrc; + dummyImgContentImg.className = "lg-dummy-img"; + dummyImgContentImg.style.cssText = imgStyle; + $currentSlide.addClass('lg-first-slide'); + this.outer.addClass('lg-first-slide-loading'); + return dummyImgContentImg; + } + return ''; + }; + LightGallery.prototype.setImgMarkup = function (src, $currentSlide, index) { + var currentGalleryItem = this.galleryItems[index]; + var alt = currentGalleryItem.alt, srcset = currentGalleryItem.srcset, sizes = currentGalleryItem.sizes, sources = currentGalleryItem.sources; + // Use the thumbnail as dummy image which will be resized to actual image size and + // displayed on top of actual image + var imgContent = ''; + var altAttr = alt ? 'alt="' + alt + '"' : ''; + if (this.isFirstSlideWithZoomAnimation()) { + imgContent = this.getDummyImageContent($currentSlide, index, altAttr); + } + else { + imgContent = utils.getImgMarkup(index, src, altAttr, srcset, sizes, sources); + } + var picture = document.createElement('picture'); + picture.className = 'lg-img-wrap'; + $LG(picture).append(imgContent); + $currentSlide.prepend(picture); + }; + LightGallery.prototype.onSlideObjectLoad = function ($slide, isHTML5VideoWithoutPoster, onLoad, onError) { + var mediaObject = $slide.find('.lg-object').first(); + if (utils.isImageLoaded(mediaObject.get()) || + isHTML5VideoWithoutPoster) { + onLoad(); + } + else { + mediaObject.on('load.lg error.lg', function () { + onLoad && onLoad(); + }); + mediaObject.on('error.lg', function () { + onError && onError(); + }); + } + }; + /** + * + * @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 + */ + LightGallery.prototype.onLgObjectLoad = function (currentSlide, index, delay, speed, isFirstSlide, isHTML5VideoWithoutPoster) { + var _this = this; + this.onSlideObjectLoad(currentSlide, isHTML5VideoWithoutPoster, function () { + _this.triggerSlideItemLoad(currentSlide, index, delay, speed, isFirstSlide); + }, function () { + currentSlide.addClass('lg-complete lg-complete_'); + currentSlide.html('' + + _this.settings.strings['mediaLoadingFailed'] + + ''); + }); + }; + LightGallery.prototype.triggerSlideItemLoad = function ($currentSlide, index, delay, speed, isFirstSlide) { + var _this = this; + var currentGalleryItem = this.galleryItems[index]; + // Adding delay for video slides without poster for better performance and user experience + // Videos should start playing once once the gallery is completely loaded + var _speed = isFirstSlide && + this.getSlideType(currentGalleryItem) === 'video' && + !currentGalleryItem.poster + ? speed + : 0; + setTimeout(function () { + $currentSlide.addClass('lg-complete lg-complete_'); + _this.LGel.trigger(lGEvents.slideItemLoad, { + index: index, + delay: delay || 0, + isFirstSlide: isFirstSlide, + }); + }, _speed); + }; + LightGallery.prototype.isFirstSlideWithZoomAnimation = function () { + return !!(!this.lGalleryOn && + this.zoomFromOrigin && + this.currentImageSize); + }; + // Add video slideInfo + LightGallery.prototype.addSlideVideoInfo = function (items) { + var _this = this; + items.forEach(function (element, index) { + element.__slideVideoInfo = utils.isVideo(element.src, !!element.video, index); + if (element.__slideVideoInfo && + _this.settings.loadYouTubePoster && + !element.poster && + element.__slideVideoInfo.youtube) { + element.poster = "//img.youtube.com/vi/" + element.__slideVideoInfo.youtube[1] + "/maxresdefault.jpg"; + } + }); + }; + /** + * 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. + */ + LightGallery.prototype.loadContent = function (index, rec) { + var _this = this; + var currentGalleryItem = this.galleryItems[index]; + var $currentSlide = $LG(this.getSlideItemId(index)); + var poster = currentGalleryItem.poster, srcset = currentGalleryItem.srcset, sizes = currentGalleryItem.sizes, sources = currentGalleryItem.sources; + var src = currentGalleryItem.src; + var video = currentGalleryItem.video; + var _html5Video = video && typeof video === 'string' ? JSON.parse(video) : video; + if (currentGalleryItem.responsive) { + var srcDyItms = currentGalleryItem.responsive.split(','); + src = utils.getResponsiveSrc(srcDyItms) || src; + } + var videoInfo = currentGalleryItem.__slideVideoInfo; + var lgVideoStyle = ''; + var iframe = !!currentGalleryItem.iframe; + var isFirstSlide = !this.lGalleryOn; + // delay for adding complete class. it is 0 except first time. + var delay = 0; + if (isFirstSlide) { + if (this.zoomFromOrigin && this.currentImageSize) { + delay = this.settings.startAnimationDuration + 10; + } + else { + delay = this.settings.backdropDuration + 10; + } + } + if (!$currentSlide.hasClass('lg-loaded')) { + if (videoInfo) { + var _a = this.mediaContainerPosition, top_2 = _a.top, bottom = _a.bottom; + var videoSize = utils.getSize(this.items[index], this.outer, top_2 + bottom, videoInfo && this.settings.videoMaxSize); + lgVideoStyle = this.getVideoContStyle(videoSize); + } + if (iframe) { + var markup = utils.getIframeMarkup(this.settings.iframeWidth, this.settings.iframeHeight, this.settings.iframeMaxWidth, this.settings.iframeMaxHeight, src, currentGalleryItem.iframeTitle); + $currentSlide.prepend(markup); + } + else if (poster) { + var dummyImg = ''; + var hasStartAnimation = isFirstSlide && + this.zoomFromOrigin && + this.currentImageSize; + if (hasStartAnimation) { + dummyImg = this.getDummyImageContent($currentSlide, index, ''); + } + var markup = utils.getVideoPosterMarkup(poster, dummyImg || '', lgVideoStyle, this.settings.strings['playVideo'], videoInfo); + $currentSlide.prepend(markup); + } + else if (videoInfo) { + var markup = "
"; + $currentSlide.prepend(markup); + } + else { + this.setImgMarkup(src, $currentSlide, index); + if (srcset || sources) { + var $img = $currentSlide.find('.lg-object'); + this.initPictureFill($img); + } + } + if (poster || videoInfo) { + this.LGel.trigger(lGEvents.hasVideo, { + index: index, + src: src, + html5Video: _html5Video, + hasPoster: !!poster, + }); + } + this.LGel.trigger(lGEvents.afterAppendSlide, { index: index }); + if (this.lGalleryOn && + this.settings.appendSubHtmlTo === '.lg-item') { + this.addHtml(index); + } + } + // For first time add some delay for displaying the start animation. + var _speed = 0; + // Do not change the delay value because it is required for zoom plugin. + // If gallery opened from direct url (hash) speed value should be 0 + if (delay && !$LG(document.body).hasClass('lg-from-hash')) { + _speed = delay; + } + // Only for first slide and zoomFromOrigin is enabled + if (this.isFirstSlideWithZoomAnimation()) { + setTimeout(function () { + $currentSlide + .removeClass('lg-start-end-progress lg-start-progress') + .removeAttr('style'); + }, this.settings.startAnimationDuration + 100); + if (!$currentSlide.hasClass('lg-loaded')) { + setTimeout(function () { + if (_this.getSlideType(currentGalleryItem) === 'image') { + var alt = currentGalleryItem.alt; + var altAttr = alt ? 'alt="' + alt + '"' : ''; + $currentSlide + .find('.lg-img-wrap') + .append(utils.getImgMarkup(index, src, altAttr, srcset, sizes, currentGalleryItem.sources)); + if (srcset || sources) { + var $img = $currentSlide.find('.lg-object'); + _this.initPictureFill($img); + } + } + if (_this.getSlideType(currentGalleryItem) === 'image' || + (_this.getSlideType(currentGalleryItem) === 'video' && + poster)) { + _this.onLgObjectLoad($currentSlide, index, delay, _speed, true, false); + // load remaining slides once the slide is completely loaded + _this.onSlideObjectLoad($currentSlide, !!(videoInfo && videoInfo.html5 && !poster), function () { + _this.loadContentOnFirstSlideLoad(index, $currentSlide, _speed); + }, function () { + _this.loadContentOnFirstSlideLoad(index, $currentSlide, _speed); + }); + } + }, this.settings.startAnimationDuration + 100); + } + } + // SLide content has been added to dom + $currentSlide.addClass('lg-loaded'); + if (!this.isFirstSlideWithZoomAnimation() || + (this.getSlideType(currentGalleryItem) === 'video' && !poster)) { + this.onLgObjectLoad($currentSlide, index, delay, _speed, isFirstSlide, !!(videoInfo && videoInfo.html5 && !poster)); + } + // When gallery is opened once content is loaded (second time) need to add lg-complete class for css styling + if ((!this.zoomFromOrigin || !this.currentImageSize) && + $currentSlide.hasClass('lg-complete_') && + !this.lGalleryOn) { + setTimeout(function () { + $currentSlide.addClass('lg-complete'); + }, this.settings.backdropDuration); + } + // Content loaded + // Need to set lGalleryOn before calling preload function + this.lGalleryOn = true; + if (rec === true) { + if (!$currentSlide.hasClass('lg-complete_')) { + $currentSlide + .find('.lg-object') + .first() + .on('load.lg error.lg', function () { + _this.preload(index); + }); + } + else { + this.preload(index); + } + } + }; + /** + * @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 + */ + LightGallery.prototype.loadContentOnFirstSlideLoad = function (index, $currentSlide, speed) { + var _this = this; + setTimeout(function () { + $currentSlide.find('.lg-dummy-img').remove(); + $currentSlide.removeClass('lg-first-slide'); + _this.outer.removeClass('lg-first-slide-loading'); + _this.isDummyImageRemoved = true; + _this.preload(index); + }, speed + 300); + }; + LightGallery.prototype.getItemsToBeInsertedToDom = function (index, prevIndex, numberOfItems) { + var _this = this; + if (numberOfItems === void 0) { numberOfItems = 0; } + var itemsToBeInsertedToDom = []; + // Minimum 2 items should be there + var possibleNumberOfItems = Math.max(numberOfItems, 3); + possibleNumberOfItems = Math.min(possibleNumberOfItems, this.galleryItems.length); + var prevIndexItem = "lg-item-" + this.lgId + "-" + prevIndex; + if (this.galleryItems.length <= 3) { + this.galleryItems.forEach(function (_element, index) { + itemsToBeInsertedToDom.push("lg-item-" + _this.lgId + "-" + index); + }); + return itemsToBeInsertedToDom; + } + if (index < (this.galleryItems.length - 1) / 2) { + for (var idx = index; idx > index - possibleNumberOfItems / 2 && idx >= 0; idx--) { + itemsToBeInsertedToDom.push("lg-item-" + this.lgId + "-" + idx); + } + var numberOfExistingItems = itemsToBeInsertedToDom.length; + for (var idx = 0; idx < possibleNumberOfItems - numberOfExistingItems; idx++) { + itemsToBeInsertedToDom.push("lg-item-" + this.lgId + "-" + (index + idx + 1)); + } + } + else { + for (var idx = index; idx <= this.galleryItems.length - 1 && + idx < index + possibleNumberOfItems / 2; idx++) { + itemsToBeInsertedToDom.push("lg-item-" + this.lgId + "-" + idx); + } + var numberOfExistingItems = itemsToBeInsertedToDom.length; + for (var idx = 0; idx < possibleNumberOfItems - numberOfExistingItems; idx++) { + itemsToBeInsertedToDom.push("lg-item-" + this.lgId + "-" + (index - idx - 1)); + } + } + if (this.settings.loop) { + if (index === this.galleryItems.length - 1) { + itemsToBeInsertedToDom.push("lg-item-" + this.lgId + "-" + 0); + } + else if (index === 0) { + itemsToBeInsertedToDom.push("lg-item-" + this.lgId + "-" + (this.galleryItems.length - 1)); + } + } + if (itemsToBeInsertedToDom.indexOf(prevIndexItem) === -1) { + itemsToBeInsertedToDom.push("lg-item-" + this.lgId + "-" + prevIndex); + } + return itemsToBeInsertedToDom; + }; + LightGallery.prototype.organizeSlideItems = function (index, prevIndex) { + var _this = this; + var itemsToBeInsertedToDom = this.getItemsToBeInsertedToDom(index, prevIndex, this.settings.numberOfSlideItemsInDom); + itemsToBeInsertedToDom.forEach(function (item) { + if (_this.currentItemsInDom.indexOf(item) === -1) { + _this.$inner.append("
"); + } + }); + this.currentItemsInDom.forEach(function (item) { + if (itemsToBeInsertedToDom.indexOf(item) === -1) { + $LG("#" + item).remove(); + } + }); + return itemsToBeInsertedToDom; + }; + /** + * Get previous index of the slide + */ + LightGallery.prototype.getPreviousSlideIndex = function () { + var prevIndex = 0; + try { + var currentItemId = this.outer + .find('.lg-current') + .first() + .attr('id'); + prevIndex = parseInt(currentItemId.split('-')[3]) || 0; + } + catch (error) { + prevIndex = 0; + } + return prevIndex; + }; + LightGallery.prototype.setDownloadValue = function (index) { + if (this.settings.download) { + var currentGalleryItem = this.galleryItems[index]; + var hideDownloadBtn = currentGalleryItem.downloadUrl === false || + currentGalleryItem.downloadUrl === 'false'; + if (hideDownloadBtn) { + this.outer.addClass('lg-hide-download'); + } + else { + var $download = this.getElementById('lg-download'); + this.outer.removeClass('lg-hide-download'); + $download.attr('href', currentGalleryItem.downloadUrl || + currentGalleryItem.src); + if (currentGalleryItem.download) { + $download.attr('download', currentGalleryItem.download); + } + } + } + }; + LightGallery.prototype.makeSlideAnimation = function (direction, currentSlideItem, previousSlideItem) { + var _this = this; + if (this.lGalleryOn) { + previousSlideItem.addClass('lg-slide-progress'); + } + setTimeout(function () { + // remove all transitions + _this.outer.addClass('lg-no-trans'); + _this.outer + .find('.lg-item') + .removeClass('lg-prev-slide lg-next-slide'); + if (direction === 'prev') { + //prevslide + currentSlideItem.addClass('lg-prev-slide'); + previousSlideItem.addClass('lg-next-slide'); + } + else { + // next slide + currentSlideItem.addClass('lg-next-slide'); + previousSlideItem.addClass('lg-prev-slide'); + } + // give 50 ms for browser to add/remove class + setTimeout(function () { + _this.outer.find('.lg-item').removeClass('lg-current'); + currentSlideItem.addClass('lg-current'); + // reset all transitions + _this.outer.removeClass('lg-no-trans'); + }, 50); + }, this.lGalleryOn ? this.settings.slideDelay : 0); + }; + /** + * 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); + * + */ + LightGallery.prototype.slide = function (index, fromTouch, fromThumb, direction) { + var _this = this; + var prevIndex = this.getPreviousSlideIndex(); + this.currentItemsInDom = this.organizeSlideItems(index, prevIndex); + // Prevent multiple call, Required for hsh plugin + if (this.lGalleryOn && prevIndex === index) { + return; + } + var numberOfGalleryItems = this.galleryItems.length; + if (!this.lgBusy) { + if (this.settings.counter) { + this.updateCurrentCounter(index); + } + var currentSlideItem = this.getSlideItem(index); + var previousSlideItem_1 = this.getSlideItem(prevIndex); + var currentGalleryItem = this.galleryItems[index]; + var videoInfo = currentGalleryItem.__slideVideoInfo; + this.outer.attr('data-lg-slide-type', this.getSlideType(currentGalleryItem)); + this.setDownloadValue(index); + if (videoInfo) { + var _a = this.mediaContainerPosition, top_3 = _a.top, bottom = _a.bottom; + var videoSize = utils.getSize(this.items[index], this.outer, top_3 + bottom, videoInfo && this.settings.videoMaxSize); + this.resizeVideoSlide(index, videoSize); + } + this.LGel.trigger(lGEvents.beforeSlide, { + prevIndex: prevIndex, + index: index, + fromTouch: !!fromTouch, + fromThumb: !!fromThumb, + }); + this.lgBusy = true; + clearTimeout(this.hideBarTimeout); + this.arrowDisable(index); + if (!direction) { + if (index < prevIndex) { + direction = 'prev'; + } + else if (index > prevIndex) { + direction = 'next'; + } + } + if (!fromTouch) { + this.makeSlideAnimation(direction, currentSlideItem, previousSlideItem_1); + } + else { + this.outer + .find('.lg-item') + .removeClass('lg-prev-slide lg-current lg-next-slide'); + var touchPrev = void 0; + var touchNext = void 0; + if (numberOfGalleryItems > 2) { + touchPrev = index - 1; + touchNext = index + 1; + if (index === 0 && prevIndex === numberOfGalleryItems - 1) { + // next slide + touchNext = 0; + touchPrev = numberOfGalleryItems - 1; + } + else if (index === numberOfGalleryItems - 1 && + prevIndex === 0) { + // prev slide + touchNext = 0; + touchPrev = numberOfGalleryItems - 1; + } + } + else { + touchPrev = 0; + touchNext = 1; + } + if (direction === 'prev') { + this.getSlideItem(touchNext).addClass('lg-next-slide'); + } + else { + this.getSlideItem(touchPrev).addClass('lg-prev-slide'); + } + currentSlideItem.addClass('lg-current'); + } + // Do not put load content in set timeout as it needs to load immediately when the gallery is opened + if (!this.lGalleryOn) { + this.loadContent(index, true); + } + else { + setTimeout(function () { + _this.loadContent(index, true); + // Add title if this.settings.appendSubHtmlTo === lg-sub-html + if (_this.settings.appendSubHtmlTo !== '.lg-item') { + _this.addHtml(index); + } + }, this.settings.speed + 50 + (fromTouch ? 0 : this.settings.slideDelay)); + } + setTimeout(function () { + _this.lgBusy = false; + previousSlideItem_1.removeClass('lg-slide-progress'); + _this.LGel.trigger(lGEvents.afterSlide, { + prevIndex: prevIndex, + index: index, + fromTouch: fromTouch, + fromThumb: fromThumb, + }); + }, (this.lGalleryOn ? this.settings.speed + 100 : 100) + (fromTouch ? 0 : this.settings.slideDelay)); + } + this.index = index; + }; + LightGallery.prototype.updateCurrentCounter = function (index) { + this.getElementById('lg-counter-current').html(index + 1 + ''); + }; + LightGallery.prototype.updateCounterTotal = function () { + this.getElementById('lg-counter-all').html(this.galleryItems.length + ''); + }; + LightGallery.prototype.getSlideType = function (item) { + if (item.__slideVideoInfo) { + return 'video'; + } + else if (item.iframe) { + return 'iframe'; + } + else { + return 'image'; + } + }; + LightGallery.prototype.touchMove = function (startCoords, endCoords, e) { + var distanceX = endCoords.pageX - startCoords.pageX; + var distanceY = endCoords.pageY - startCoords.pageY; + var allowSwipe = false; + if (this.swipeDirection) { + allowSwipe = true; + } + else { + if (Math.abs(distanceX) > 15) { + this.swipeDirection = 'horizontal'; + allowSwipe = true; + } + else if (Math.abs(distanceY) > 15) { + this.swipeDirection = 'vertical'; + allowSwipe = true; + } + } + if (!allowSwipe) { + return; + } + var $currentSlide = this.getSlideItem(this.index); + if (this.swipeDirection === 'horizontal') { + e === null || e === void 0 ? void 0 : e.preventDefault(); + // reset opacity and transition duration + this.outer.addClass('lg-dragging'); + // move current slide + this.setTranslate($currentSlide, distanceX, 0); + // move next and prev slide with current slide + var width = $currentSlide.get().offsetWidth; + var slideWidthAmount = (width * 15) / 100; + var gutter = slideWidthAmount - Math.abs((distanceX * 10) / 100); + this.setTranslate(this.outer.find('.lg-prev-slide').first(), -width + distanceX - gutter, 0); + this.setTranslate(this.outer.find('.lg-next-slide').first(), width + distanceX + gutter, 0); + } + else if (this.swipeDirection === 'vertical') { + if (this.settings.swipeToClose) { + e === null || e === void 0 ? void 0 : e.preventDefault(); + this.$container.addClass('lg-dragging-vertical'); + var opacity = 1 - Math.abs(distanceY) / window.innerHeight; + this.$backdrop.css('opacity', opacity); + var scale = 1 - Math.abs(distanceY) / (window.innerWidth * 2); + this.setTranslate($currentSlide, 0, distanceY, scale, scale); + if (Math.abs(distanceY) > 100) { + this.outer + .addClass('lg-hide-items') + .removeClass('lg-components-open'); + } + } + } + }; + LightGallery.prototype.touchEnd = function (endCoords, startCoords, event) { + var _this = this; + var distance; + // keep slide animation for any mode while dragg/swipe + if (this.settings.mode !== 'lg-slide') { + this.outer.addClass('lg-slide'); + } + // set transition duration + setTimeout(function () { + _this.$container.removeClass('lg-dragging-vertical'); + _this.outer + .removeClass('lg-dragging lg-hide-items') + .addClass('lg-components-open'); + var triggerClick = true; + if (_this.swipeDirection === 'horizontal') { + distance = endCoords.pageX - startCoords.pageX; + var distanceAbs = Math.abs(endCoords.pageX - startCoords.pageX); + if (distance < 0 && + distanceAbs > _this.settings.swipeThreshold) { + _this.goToNextSlide(true); + triggerClick = false; + } + else if (distance > 0 && + distanceAbs > _this.settings.swipeThreshold) { + _this.goToPrevSlide(true); + triggerClick = false; + } + } + else if (_this.swipeDirection === 'vertical') { + distance = Math.abs(endCoords.pageY - startCoords.pageY); + if (_this.settings.closable && + _this.settings.swipeToClose && + distance > 100) { + _this.closeGallery(); + return; + } + else { + _this.$backdrop.css('opacity', 1); + } + } + _this.outer.find('.lg-item').removeAttr('style'); + if (triggerClick && + Math.abs(endCoords.pageX - startCoords.pageX) < 5) { + // Trigger click if distance is less than 5 pix + var target = $LG(event.target); + if (_this.isPosterElement(target)) { + _this.LGel.trigger(lGEvents.posterClick); + } + } + _this.swipeDirection = undefined; + }); + // remove slide class once drag/swipe is completed if mode is not slide + setTimeout(function () { + if (!_this.outer.hasClass('lg-dragging') && + _this.settings.mode !== 'lg-slide') { + _this.outer.removeClass('lg-slide'); + } + }, this.settings.speed + 100); + }; + LightGallery.prototype.enableSwipe = function () { + var _this = this; + var startCoords = {}; + var endCoords = {}; + var isMoved = false; + var isSwiping = false; + if (this.settings.enableSwipe) { + this.$inner.on('touchstart.lg', function (e) { + _this.dragOrSwipeEnabled = true; + var $item = _this.getSlideItem(_this.index); + if (($LG(e.target).hasClass('lg-item') || + $item.get().contains(e.target)) && + !_this.outer.hasClass('lg-zoomed') && + !_this.lgBusy && + e.touches.length === 1) { + isSwiping = true; + _this.touchAction = 'swipe'; + _this.manageSwipeClass(); + startCoords = { + pageX: e.touches[0].pageX, + pageY: e.touches[0].pageY, + }; + } + }); + this.$inner.on('touchmove.lg', function (e) { + if (isSwiping && + _this.touchAction === 'swipe' && + e.touches.length === 1) { + endCoords = { + pageX: e.touches[0].pageX, + pageY: e.touches[0].pageY, + }; + _this.touchMove(startCoords, endCoords, e); + isMoved = true; + } + }); + this.$inner.on('touchend.lg', function (event) { + if (_this.touchAction === 'swipe') { + if (isMoved) { + isMoved = false; + _this.touchEnd(endCoords, startCoords, event); + } + else if (isSwiping) { + var target = $LG(event.target); + if (_this.isPosterElement(target)) { + _this.LGel.trigger(lGEvents.posterClick); + } + } + _this.touchAction = undefined; + isSwiping = false; + } + }); + } + }; + LightGallery.prototype.enableDrag = function () { + var _this = this; + var startCoords = {}; + var endCoords = {}; + var isDraging = false; + var isMoved = false; + if (this.settings.enableDrag) { + this.outer.on('mousedown.lg', function (e) { + _this.dragOrSwipeEnabled = true; + var $item = _this.getSlideItem(_this.index); + if ($LG(e.target).hasClass('lg-item') || + $item.get().contains(e.target)) { + if (!_this.outer.hasClass('lg-zoomed') && !_this.lgBusy) { + e.preventDefault(); + if (!_this.lgBusy) { + _this.manageSwipeClass(); + startCoords = { + pageX: e.pageX, + pageY: e.pageY, + }; + isDraging = true; + // ** Fix for webkit cursor issue https://code.google.com/p/chromium/issues/detail?id=26723 + _this.outer.get().scrollLeft += 1; + _this.outer.get().scrollLeft -= 1; + // * + _this.outer + .removeClass('lg-grab') + .addClass('lg-grabbing'); + _this.LGel.trigger(lGEvents.dragStart); + } + } + } + }); + $LG(window).on("mousemove.lg.global" + this.lgId, function (e) { + if (isDraging && _this.lgOpened) { + isMoved = true; + endCoords = { + pageX: e.pageX, + pageY: e.pageY, + }; + _this.touchMove(startCoords, endCoords); + _this.LGel.trigger(lGEvents.dragMove); + } + }); + $LG(window).on("mouseup.lg.global" + this.lgId, function (event) { + if (!_this.lgOpened) { + return; + } + var target = $LG(event.target); + if (isMoved) { + isMoved = false; + _this.touchEnd(endCoords, startCoords, event); + _this.LGel.trigger(lGEvents.dragEnd); + } + else if (_this.isPosterElement(target)) { + _this.LGel.trigger(lGEvents.posterClick); + } + // Prevent execution on click + if (isDraging) { + isDraging = false; + _this.outer.removeClass('lg-grabbing').addClass('lg-grab'); + } + }); + } + }; + LightGallery.prototype.triggerPosterClick = function () { + var _this = this; + this.$inner.on('click.lg', function (event) { + if (!_this.dragOrSwipeEnabled && + _this.isPosterElement($LG(event.target))) { + _this.LGel.trigger(lGEvents.posterClick); + } + }); + }; + LightGallery.prototype.manageSwipeClass = function () { + var _touchNext = this.index + 1; + var _touchPrev = this.index - 1; + if (this.settings.loop && this.galleryItems.length > 2) { + if (this.index === 0) { + _touchPrev = this.galleryItems.length - 1; + } + else if (this.index === this.galleryItems.length - 1) { + _touchNext = 0; + } + } + this.outer.find('.lg-item').removeClass('lg-next-slide lg-prev-slide'); + if (_touchPrev > -1) { + this.getSlideItem(_touchPrev).addClass('lg-prev-slide'); + } + this.getSlideItem(_touchNext).addClass('lg-next-slide'); + }; + /** + * 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 + */ + LightGallery.prototype.goToNextSlide = function (fromTouch) { + var _this = this; + var _loop = this.settings.loop; + if (fromTouch && this.galleryItems.length < 3) { + _loop = false; + } + if (!this.lgBusy) { + if (this.index + 1 < this.galleryItems.length) { + this.index++; + this.LGel.trigger(lGEvents.beforeNextSlide, { + index: this.index, + }); + this.slide(this.index, !!fromTouch, false, 'next'); + } + else { + if (_loop) { + this.index = 0; + this.LGel.trigger(lGEvents.beforeNextSlide, { + index: this.index, + }); + this.slide(this.index, !!fromTouch, false, 'next'); + } + else if (this.settings.slideEndAnimation && !fromTouch) { + this.outer.addClass('lg-right-end'); + setTimeout(function () { + _this.outer.removeClass('lg-right-end'); + }, 400); + } + } + } + }; + /** + * 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 + * + */ + LightGallery.prototype.goToPrevSlide = function (fromTouch) { + var _this = this; + var _loop = this.settings.loop; + if (fromTouch && this.galleryItems.length < 3) { + _loop = false; + } + if (!this.lgBusy) { + if (this.index > 0) { + this.index--; + this.LGel.trigger(lGEvents.beforePrevSlide, { + index: this.index, + fromTouch: fromTouch, + }); + this.slide(this.index, !!fromTouch, false, 'prev'); + } + else { + if (_loop) { + this.index = this.galleryItems.length - 1; + this.LGel.trigger(lGEvents.beforePrevSlide, { + index: this.index, + fromTouch: fromTouch, + }); + this.slide(this.index, !!fromTouch, false, 'prev'); + } + else if (this.settings.slideEndAnimation && !fromTouch) { + this.outer.addClass('lg-left-end'); + setTimeout(function () { + _this.outer.removeClass('lg-left-end'); + }, 400); + } + } + } + }; + LightGallery.prototype.keyPress = function () { + var _this = this; + $LG(window).on("keydown.lg.global" + this.lgId, function (e) { + if (_this.lgOpened && + _this.settings.escKey === true && + e.keyCode === 27) { + e.preventDefault(); + if (_this.settings.allowMediaOverlap && + _this.outer.hasClass('lg-can-toggle') && + _this.outer.hasClass('lg-components-open')) { + _this.outer.removeClass('lg-components-open'); + } + else { + _this.closeGallery(); + } + } + if (_this.lgOpened && _this.galleryItems.length > 1) { + if (e.keyCode === 37) { + e.preventDefault(); + _this.goToPrevSlide(); + } + if (e.keyCode === 39) { + e.preventDefault(); + _this.goToNextSlide(); + } + } + }); + }; + LightGallery.prototype.arrow = function () { + var _this = this; + this.getElementById('lg-prev').on('click.lg', function () { + _this.goToPrevSlide(); + }); + this.getElementById('lg-next').on('click.lg', function () { + _this.goToNextSlide(); + }); + }; + LightGallery.prototype.arrowDisable = function (index) { + // Disable arrows if settings.hideControlOnEnd is true + if (!this.settings.loop && this.settings.hideControlOnEnd) { + var $prev = this.getElementById('lg-prev'); + var $next = this.getElementById('lg-next'); + if (index + 1 === this.galleryItems.length) { + $next.attr('disabled', 'disabled').addClass('disabled'); + } + else { + $next.removeAttr('disabled').removeClass('disabled'); + } + if (index === 0) { + $prev.attr('disabled', 'disabled').addClass('disabled'); + } + else { + $prev.removeAttr('disabled').removeClass('disabled'); + } + } + }; + LightGallery.prototype.setTranslate = function ($el, xValue, yValue, scaleX, scaleY) { + if (scaleX === void 0) { scaleX = 1; } + if (scaleY === void 0) { scaleY = 1; } + $el.css('transform', 'translate3d(' + + xValue + + 'px, ' + + yValue + + 'px, 0px) scale3d(' + + scaleX + + ', ' + + scaleY + + ', 1)'); + }; + LightGallery.prototype.mousewheel = function () { + var _this = this; + var lastCall = 0; + this.outer.on('wheel.lg', function (e) { + if (!e.deltaY || _this.galleryItems.length < 2) { + return; + } + e.preventDefault(); + var now = new Date().getTime(); + if (now - lastCall < 1000) { + return; + } + lastCall = now; + if (e.deltaY > 0) { + _this.goToNextSlide(); + } + else if (e.deltaY < 0) { + _this.goToPrevSlide(); + } + }); + }; + LightGallery.prototype.isSlideElement = function (target) { + return (target.hasClass('lg-outer') || + target.hasClass('lg-item') || + target.hasClass('lg-img-wrap') || + target.hasClass('lg-img-rotate')); + }; + LightGallery.prototype.isPosterElement = function (target) { + var playButton = this.getSlideItem(this.index) + .find('.lg-video-play-button') + .get(); + return (target.hasClass('lg-video-poster') || + target.hasClass('lg-video-play-button') || + (playButton && playButton.contains(target.get()))); + }; + /** + * Maximize minimize inline gallery. + * @category lGPublicMethods + */ + LightGallery.prototype.toggleMaximize = function () { + var _this = this; + this.getElementById('lg-maximize').on('click.lg', function () { + _this.$container.toggleClass('lg-inline'); + _this.refreshOnResize(); + }); + }; + LightGallery.prototype.invalidateItems = function () { + for (var index = 0; index < this.items.length; index++) { + var element = this.items[index]; + var $element = $LG(element); + $element.off("click.lgcustom-item-" + $element.attr('data-lg-id')); + } + }; + LightGallery.prototype.trapFocus = function () { + var _this = this; + this.$container.get().focus({ + preventScroll: true, + }); + $LG(window).on("keydown.lg.global" + this.lgId, function (e) { + if (!_this.lgOpened) { + return; + } + var isTabPressed = e.key === 'Tab' || e.keyCode === 9; + if (!isTabPressed) { + return; + } + var focusableEls = utils.getFocusableElements(_this.$container.get()); + var firstFocusableEl = focusableEls[0]; + var lastFocusableEl = focusableEls[focusableEls.length - 1]; + if (e.shiftKey) { + if (document.activeElement === firstFocusableEl) { + lastFocusableEl.focus(); + e.preventDefault(); + } + } + else { + if (document.activeElement === lastFocusableEl) { + firstFocusableEl.focus(); + e.preventDefault(); + } + } + }); + }; + LightGallery.prototype.manageCloseGallery = function () { + var _this = this; + if (!this.settings.closable) + return; + var mousedown = false; + this.getElementById('lg-close').on('click.lg', function () { + _this.closeGallery(); + }); + if (this.settings.closeOnTap) { + // If you drag the slide and release outside gallery gets close on chrome + // for preventing this check mousedown and mouseup happened on .lg-item or lg-outer + this.outer.on('mousedown.lg', function (e) { + var target = $LG(e.target); + if (_this.isSlideElement(target)) { + mousedown = true; + } + else { + mousedown = false; + } + }); + this.outer.on('mousemove.lg', function () { + mousedown = false; + }); + this.outer.on('mouseup.lg', function (e) { + var target = $LG(e.target); + if (_this.isSlideElement(target) && mousedown) { + if (!_this.outer.hasClass('lg-dragging')) { + _this.closeGallery(); + } + } + }); + } + }; + /** + * 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(); + * + */ + LightGallery.prototype.closeGallery = function (force) { + var _this = this; + if (!this.lgOpened || (!this.settings.closable && !force)) { + return 0; + } + this.LGel.trigger(lGEvents.beforeClose); + if (this.settings.resetScrollPosition && !this.settings.hideScrollbar) { + $LG(window).scrollTop(this.prevScrollTop); + } + var currentItem = this.items[this.index]; + var transform; + if (this.zoomFromOrigin && currentItem) { + var _a = this.mediaContainerPosition, top_4 = _a.top, bottom = _a.bottom; + var _b = this.galleryItems[this.index], __slideVideoInfo = _b.__slideVideoInfo, poster = _b.poster; + var imageSize = utils.getSize(currentItem, this.outer, top_4 + bottom, __slideVideoInfo && poster && this.settings.videoMaxSize); + transform = utils.getTransform(currentItem, this.outer, top_4, bottom, imageSize); + } + if (this.zoomFromOrigin && transform) { + this.outer.addClass('lg-closing lg-zoom-from-image'); + this.getSlideItem(this.index) + .addClass('lg-start-end-progress') + .css('transition-duration', this.settings.startAnimationDuration + 'ms') + .css('transform', transform); + } + else { + this.outer.addClass('lg-hide-items'); + // lg-zoom-from-image is used for setting the opacity to 1 if zoomFromOrigin is true + // If the closing item doesn't have the lg-size attribute, remove this class to avoid the closing css conflicts + this.outer.removeClass('lg-zoom-from-image'); + } + // Unbind all events added by lightGallery + // @todo + //this.$el.off('.lg.tm'); + this.destroyModules(); + this.lGalleryOn = false; + this.isDummyImageRemoved = false; + this.zoomFromOrigin = this.settings.zoomFromOrigin; + clearTimeout(this.hideBarTimeout); + this.hideBarTimeout = false; + $LG('html').removeClass('lg-on'); + this.outer.removeClass('lg-visible lg-components-open'); + // Resetting opacity to 0 isd required as vertical swipe to close function adds inline opacity. + this.$backdrop.removeClass('in').css('opacity', 0); + var removeTimeout = this.zoomFromOrigin && transform + ? Math.max(this.settings.startAnimationDuration, this.settings.backdropDuration) + : this.settings.backdropDuration; + this.$container.removeClass('lg-show-in'); + // Once the closign animation is completed and gallery is invisible + setTimeout(function () { + if (_this.zoomFromOrigin && transform) { + _this.outer.removeClass('lg-zoom-from-image'); + } + _this.$container.removeClass('lg-show'); + // Reset scrollbar + _this.resetScrollBar(); + // Need to remove inline opacity as it is used in the stylesheet as well + _this.$backdrop + .removeAttr('style') + .css('transition-duration', _this.settings.backdropDuration + 'ms'); + _this.outer.removeClass("lg-closing " + _this.settings.startClass); + _this.getSlideItem(_this.index).removeClass('lg-start-end-progress'); + _this.$inner.empty(); + if (_this.lgOpened) { + _this.LGel.trigger(lGEvents.afterClose, { + instance: _this, + }); + } + if (_this.$container.get()) { + _this.$container.get().blur(); + } + _this.lgOpened = false; + }, removeTimeout + 100); + return removeTimeout + 100; + }; + LightGallery.prototype.initModules = function () { + this.plugins.forEach(function (module) { + try { + module.init(); + } + catch (err) { + console.warn("lightGallery:- make sure lightGallery module is properly initiated"); + } + }); + }; + LightGallery.prototype.destroyModules = function (destroy) { + this.plugins.forEach(function (module) { + try { + if (destroy) { + module.destroy(); + } + else { + module.closeGallery && module.closeGallery(); + } + } + catch (err) { + console.warn("lightGallery:- make sure lightGallery module is properly destroyed"); + } + }); + }; + /** + * 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(); + * + */ + LightGallery.prototype.refresh = function (galleryItems) { + if (!this.settings.dynamic) { + this.invalidateItems(); + } + if (galleryItems) { + this.galleryItems = galleryItems; + } + else { + this.galleryItems = this.getItems(); + } + this.updateControls(); + this.openGalleryOnItemClick(); + this.LGel.trigger(lGEvents.updateSlides); + }; + LightGallery.prototype.updateControls = function () { + this.addSlideVideoInfo(this.galleryItems); + this.updateCounterTotal(); + this.manageSingleSlideClassName(); + }; + LightGallery.prototype.destroyGallery = function () { + this.destroyModules(true); + if (!this.settings.dynamic) { + this.invalidateItems(); + } + $LG(window).off(".lg.global" + this.lgId); + this.LGel.off('.lg'); + this.$container.remove(); + }; + /** + * 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(); + * + */ + LightGallery.prototype.destroy = function () { + var closeTimeout = this.closeGallery(true); + if (closeTimeout) { + setTimeout(this.destroyGallery.bind(this), closeTimeout); + } + else { + this.destroyGallery(); + } + return closeTimeout; + }; + return LightGallery; + }()); + + function lightGallery(el, options) { + return new LightGallery(el, options); + } + + return lightGallery; + +}))); +//# sourceMappingURL=lightgallery.umd.js.map + +; +/*! + * lightgallery | 2.8.0-beta.3 | May 3rd 2024 + * http://www.lightgalleryjs.com/ + * Copyright (c) 2020 Sachin Neravath; + * @license GPLv3 + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.lgVideo = factory()); +}(this, (function () { 'use strict'; + + /*! ***************************************************************************** + 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); + }; + + var videoSettings = { + autoplayFirstVideo: true, + youTubePlayerParams: false, + vimeoPlayerParams: false, + wistiaPlayerParams: false, + gotoNextSlideOnVideoEnd: true, + autoplayVideoOnSlide: false, + videojs: false, + videojsTheme: '', + videojsOptions: {}, + }; + + /** + * 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 param = function (obj) { + return Object.keys(obj) + .map(function (k) { + return encodeURIComponent(k) + '=' + encodeURIComponent(obj[k]); + }) + .join('&'); + }; + var paramsToObject = function (url) { + var paramas = url + .slice(1) + .split('&') + .map(function (p) { return p.split('='); }) + .reduce(function (obj, pair) { + var _a = pair.map(decodeURIComponent), key = _a[0], value = _a[1]; + obj[key] = value; + return obj; + }, {}); + return paramas; + }; + var getYouTubeParams = function (videoInfo, youTubePlayerParamsSettings) { + if (!videoInfo.youtube) + return ''; + var slideUrlParams = videoInfo.youtube[2] + ? paramsToObject(videoInfo.youtube[2]) + : ''; + // For youtube first params gets priority if duplicates found + var defaultYouTubePlayerParams = { + wmode: 'opaque', + autoplay: 0, + mute: 1, + enablejsapi: 1, + }; + var playerParamsSettings = youTubePlayerParamsSettings || {}; + var youTubePlayerParams = __assign(__assign(__assign({}, defaultYouTubePlayerParams), playerParamsSettings), slideUrlParams); + var youTubeParams = "?" + param(youTubePlayerParams); + return youTubeParams; + }; + var isYouTubeNoCookie = function (url) { + return url.includes('youtube-nocookie.com'); + }; + var getVimeoURLParams = function (defaultParams, videoInfo) { + if (!videoInfo || !videoInfo.vimeo) + return ''; + var urlParams = videoInfo.vimeo[2] || ''; + var defaultVimeoPlayerParams = Object.assign({}, { + autoplay: 0, + muted: 1, + }, defaultParams); + var defaultPlayerParams = defaultVimeoPlayerParams && + Object.keys(defaultVimeoPlayerParams).length !== 0 + ? param(defaultVimeoPlayerParams) + : ''; + // Support private video + var urlWithHash = videoInfo.vimeo[0].split('/').pop() || ''; + var urlWithHashWithParams = urlWithHash.split('?')[0] || ''; + var hash = urlWithHashWithParams.split('#')[0]; + var isPrivate = videoInfo.vimeo[1] !== hash; + if (isPrivate) { + urlParams = urlParams.replace("/" + hash, ''); + } + urlParams = + urlParams[0] == '?' ? '&' + urlParams.slice(1) : urlParams || ''; + var privateUrlParams = isPrivate ? "h=" + hash : ''; + defaultPlayerParams = privateUrlParams + ? "&" + defaultPlayerParams + : defaultPlayerParams; + var vimeoPlayerParams = "?" + privateUrlParams + defaultPlayerParams + urlParams; + return vimeoPlayerParams; + }; + + /** + * Video module for lightGallery + * Supports HTML5, YouTube, Vimeo, wistia videos + * + * + * @ref Wistia + * https://wistia.com/support/integrations/wordpress(How to get url) + * https://wistia.com/support/developers/embed-options#using-embed-options + * https://wistia.com/support/developers/player-api + * https://wistia.com/support/developers/construct-an-embed-code + * http://jsfiddle.net/xvnm7xLm/ + * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video + * https://wistia.com/support/embed-and-share/sharing-videos + * https://private-sharing.wistia.com/medias/mwhrulrucj + * + * @ref Youtube + * https://developers.google.com/youtube/player_parameters#enablejsapi + * https://developers.google.com/youtube/iframe_api_reference + * https://developer.chrome.com/blog/autoplay/#iframe-delegation + * + * @ref Vimeo + * https://stackoverflow.com/questions/10488943/easy-way-to-get-vimeo-id-from-a-vimeo-url + * https://vimeo.zendesk.com/hc/en-us/articles/360000121668-Starting-playback-at-a-specific-timecode + * https://vimeo.zendesk.com/hc/en-us/articles/360001494447-Using-Player-Parameters + */ + var Video = /** @class */ (function () { + function Video(instance) { + // get lightGallery core plugin instance + this.core = instance; + this.settings = __assign(__assign({}, videoSettings), this.core.settings); + return this; + } + Video.prototype.init = function () { + var _this = this; + /** + * Event triggered when video url found without poster + * Append video HTML + * Play if autoplayFirstVideo is true + */ + this.core.LGel.on(lGEvents.hasVideo + ".video", this.onHasVideo.bind(this)); + this.core.LGel.on(lGEvents.posterClick + ".video", function () { + var $el = _this.core.getSlideItem(_this.core.index); + _this.loadVideoOnPosterClick($el); + }); + this.core.LGel.on(lGEvents.slideItemLoad + ".video", this.onSlideItemLoad.bind(this)); + // @desc fired immediately before each slide transition. + this.core.LGel.on(lGEvents.beforeSlide + ".video", this.onBeforeSlide.bind(this)); + // @desc fired immediately after each slide transition. + this.core.LGel.on(lGEvents.afterSlide + ".video", this.onAfterSlide.bind(this)); + }; + /** + * @desc Event triggered when a slide is completely loaded + * + * @param {Event} event - lightGalley custom event + */ + Video.prototype.onSlideItemLoad = function (event) { + var _this = this; + var _a = event.detail, isFirstSlide = _a.isFirstSlide, index = _a.index; + // Should check the active slide as well as user may have moved to different slide before the first slide is loaded + if (this.settings.autoplayFirstVideo && + isFirstSlide && + index === this.core.index) { + // Delay is just for the transition effect on video load + setTimeout(function () { + _this.loadAndPlayVideo(index); + }, 200); + } + // Should not call on first slide. should check only if the slide is active + if (!isFirstSlide && + this.settings.autoplayVideoOnSlide && + index === this.core.index) { + this.loadAndPlayVideo(index); + } + }; + /** + * @desc Event triggered when video url or poster found + * Append video HTML is poster is not given + * Play if autoplayFirstVideo is true + * + * @param {Event} event - Javascript Event object. + */ + Video.prototype.onHasVideo = function (event) { + var _a = event.detail, index = _a.index, src = _a.src, html5Video = _a.html5Video, hasPoster = _a.hasPoster; + if (!hasPoster) { + // All functions are called separately if poster exist in loadVideoOnPosterClick function + this.appendVideos(this.core.getSlideItem(index), { + src: src, + addClass: 'lg-object', + index: index, + html5Video: html5Video, + }); + // Automatically navigate to next slide once video reaches the end. + this.gotoNextSlideOnVideoEnd(src, index); + } + }; + /** + * @desc fired immediately before each slide transition. + * Pause the previous video + * Hide the download button if the slide contains YouTube, Vimeo, or Wistia videos. + * + * @param {Event} event - Javascript Event object. + * @param {number} prevIndex - Previous index of the slide. + * @param {number} index - Current index of the slide + */ + Video.prototype.onBeforeSlide = function (event) { + if (this.core.lGalleryOn) { + var prevIndex = event.detail.prevIndex; + this.pauseVideo(prevIndex); + } + }; + /** + * @desc fired immediately after each slide transition. + * Play video if autoplayVideoOnSlide option is enabled. + * + * @param {Event} event - Javascript Event object. + * @param {number} prevIndex - Previous index of the slide. + * @param {number} index - Current index of the slide + * @todo should check on onSlideLoad as well if video is not loaded on after slide + */ + Video.prototype.onAfterSlide = function (event) { + var _this = this; + var _a = event.detail, index = _a.index, prevIndex = _a.prevIndex; + // Do not call on first slide + var $slide = this.core.getSlideItem(index); + if (this.settings.autoplayVideoOnSlide && index !== prevIndex) { + if ($slide.hasClass('lg-complete')) { + setTimeout(function () { + _this.loadAndPlayVideo(index); + }, 100); + } + } + }; + Video.prototype.loadAndPlayVideo = function (index) { + var $slide = this.core.getSlideItem(index); + var currentGalleryItem = this.core.galleryItems[index]; + if (currentGalleryItem.poster) { + this.loadVideoOnPosterClick($slide, true); + } + else { + this.playVideo(index); + } + }; + /** + * Play HTML5, Youtube, Vimeo or Wistia videos in a particular slide. + * @param {number} index - Index of the slide + */ + Video.prototype.playVideo = function (index) { + this.controlVideo(index, 'play'); + }; + /** + * Pause HTML5, Youtube, Vimeo or Wistia videos in a particular slide. + * @param {number} index - Index of the slide + */ + Video.prototype.pauseVideo = function (index) { + this.controlVideo(index, 'pause'); + }; + Video.prototype.getVideoHtml = function (src, addClass, index, html5Video) { + var video = ''; + var videoInfo = this.core.galleryItems[index] + .__slideVideoInfo || {}; + var currentGalleryItem = this.core.galleryItems[index]; + var videoTitle = currentGalleryItem.title || currentGalleryItem.alt; + videoTitle = videoTitle ? 'title="' + videoTitle + '"' : ''; + var commonIframeProps = "allowtransparency=\"true\"\n frameborder=\"0\"\n scrolling=\"no\"\n allowfullscreen\n mozallowfullscreen\n webkitallowfullscreen\n oallowfullscreen\n msallowfullscreen"; + if (videoInfo.youtube) { + var videoId = 'lg-youtube' + index; + var youTubeParams = getYouTubeParams(videoInfo, this.settings.youTubePlayerParams); + var isYouTubeNoCookieURL = isYouTubeNoCookie(src); + var youtubeURL = isYouTubeNoCookieURL + ? '//www.youtube-nocookie.com/' + : '//www.youtube.com/'; + video = ""; + } + else if (videoInfo.vimeo) { + var videoId = 'lg-vimeo' + index; + var playerParams = getVimeoURLParams(this.settings.vimeoPlayerParams, videoInfo); + video = ""; + } + else if (videoInfo.wistia) { + var wistiaId = 'lg-wistia' + index; + var playerParams = param(this.settings.wistiaPlayerParams); + playerParams = playerParams ? '?' + playerParams : ''; + video = ""; + } + else if (videoInfo.html5) { + var html5VideoMarkup = ''; + for (var i = 0; i < html5Video.source.length; i++) { + var type = html5Video.source[i].type; + var typeAttr = type ? "type=\"" + type + "\"" : ''; + html5VideoMarkup += ""; + } + if (html5Video.tracks) { + var _loop_1 = function (i) { + var trackAttributes = ''; + var track = html5Video.tracks[i]; + Object.keys(track || {}).forEach(function (key) { + trackAttributes += key + "=\"" + track[key] + "\" "; + }); + html5VideoMarkup += ""; + }; + for (var i = 0; i < html5Video.tracks.length; i++) { + _loop_1(i); + } + } + var html5VideoAttrs_1 = ''; + var videoAttributes_1 = html5Video.attributes || {}; + Object.keys(videoAttributes_1 || {}).forEach(function (key) { + html5VideoAttrs_1 += key + "=\"" + videoAttributes_1[key] + "\" "; + }); + video = ""; + } + return video; + }; + /** + * @desc - Append videos to the slide + * + * @param {HTMLElement} el - slide element + * @param {Object} videoParams - Video parameters, Contains src, class, index, htmlVideo + */ + Video.prototype.appendVideos = function (el, videoParams) { + var _a; + var videoHtml = this.getVideoHtml(videoParams.src, videoParams.addClass, videoParams.index, videoParams.html5Video); + el.find('.lg-video-cont').append(videoHtml); + var $videoElement = el.find('.lg-video-object').first(); + if (videoParams.html5Video) { + $videoElement.on('mousedown.lg.video', function (e) { + e.stopPropagation(); + }); + } + if (this.settings.videojs && ((_a = this.core.galleryItems[videoParams.index].__slideVideoInfo) === null || _a === void 0 ? void 0 : _a.html5)) { + try { + return videojs($videoElement.get(), this.settings.videojsOptions); + } + catch (e) { + console.error('lightGallery:- Make sure you have included videojs'); + } + } + }; + Video.prototype.gotoNextSlideOnVideoEnd = function (src, index) { + var _this = this; + var $videoElement = this.core + .getSlideItem(index) + .find('.lg-video-object') + .first(); + var videoInfo = this.core.galleryItems[index].__slideVideoInfo || {}; + if (this.settings.gotoNextSlideOnVideoEnd) { + if (videoInfo.html5) { + $videoElement.on('ended', function () { + _this.core.goToNextSlide(); + }); + } + else if (videoInfo.vimeo) { + try { + // https://github.com/vimeo/player.js/#ended + new Vimeo.Player($videoElement.get()).on('ended', function () { + _this.core.goToNextSlide(); + }); + } + catch (e) { + console.error('lightGallery:- Make sure you have included //github.com/vimeo/player.js'); + } + } + else if (videoInfo.wistia) { + try { + window._wq = window._wq || []; + // @todo Event is gettign triggered multiple times + window._wq.push({ + id: $videoElement.attr('id'), + onReady: function (video) { + video.bind('end', function () { + _this.core.goToNextSlide(); + }); + }, + }); + } + catch (e) { + console.error('lightGallery:- Make sure you have included //fast.wistia.com/assets/external/E-v1.js'); + } + } + } + }; + Video.prototype.controlVideo = function (index, action) { + var $videoElement = this.core + .getSlideItem(index) + .find('.lg-video-object') + .first(); + var videoInfo = this.core.galleryItems[index].__slideVideoInfo || {}; + if (!$videoElement.get()) + return; + if (videoInfo.youtube) { + try { + $videoElement.get().contentWindow.postMessage("{\"event\":\"command\",\"func\":\"" + action + "Video\",\"args\":\"\"}", '*'); + } + catch (e) { + console.error("lightGallery:- " + e); + } + } + else if (videoInfo.vimeo) { + try { + new Vimeo.Player($videoElement.get())[action](); + } + catch (e) { + console.error('lightGallery:- Make sure you have included //github.com/vimeo/player.js'); + } + } + else if (videoInfo.html5) { + if (this.settings.videojs) { + try { + videojs($videoElement.get())[action](); + } + catch (e) { + console.error('lightGallery:- Make sure you have included videojs'); + } + } + else { + $videoElement.get()[action](); + } + } + else if (videoInfo.wistia) { + try { + window._wq = window._wq || []; + // @todo Find a way to destroy wistia player instance + window._wq.push({ + id: $videoElement.attr('id'), + onReady: function (video) { + video[action](); + }, + }); + } + catch (e) { + console.error('lightGallery:- Make sure you have included //fast.wistia.com/assets/external/E-v1.js'); + } + } + }; + Video.prototype.loadVideoOnPosterClick = function ($el, forcePlay) { + var _this = this; + // check slide has poster + if (!$el.hasClass('lg-video-loaded')) { + // check already video element present + if (!$el.hasClass('lg-has-video')) { + $el.addClass('lg-has-video'); + var _html = void 0; + var _src = this.core.galleryItems[this.core.index].src; + var video = this.core.galleryItems[this.core.index].video; + if (video) { + _html = + typeof video === 'string' ? JSON.parse(video) : video; + } + var videoJsPlayer_1 = this.appendVideos($el, { + src: _src, + addClass: '', + index: this.core.index, + html5Video: _html, + }); + this.gotoNextSlideOnVideoEnd(_src, this.core.index); + var $tempImg = $el.find('.lg-object').first().get(); + // @todo make sure it is working + $el.find('.lg-video-cont').first().append($tempImg); + $el.addClass('lg-video-loading'); + videoJsPlayer_1 && + videoJsPlayer_1.ready(function () { + videoJsPlayer_1.on('loadedmetadata', function () { + _this.onVideoLoadAfterPosterClick($el, _this.core.index); + }); + }); + $el.find('.lg-video-object') + .first() + .on('load.lg error.lg loadedmetadata.lg', function () { + setTimeout(function () { + _this.onVideoLoadAfterPosterClick($el, _this.core.index); + }, 50); + }); + } + else { + this.playVideo(this.core.index); + } + } + else if (forcePlay) { + this.playVideo(this.core.index); + } + }; + Video.prototype.onVideoLoadAfterPosterClick = function ($el, index) { + $el.addClass('lg-video-loaded'); + this.playVideo(index); + }; + Video.prototype.destroy = function () { + this.core.LGel.off('.lg.video'); + this.core.LGel.off('.video'); + }; + return Video; + }()); + + return Video; + +}))); +//# sourceMappingURL=lg-video.umd.js.map + +; +/*! + * lightgallery | 2.8.0-beta.3 | May 3rd 2024 + * http://www.lightgalleryjs.com/ + * Copyright (c) 2020 Sachin Neravath; + * @license GPLv3 + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.lgFullscreen = factory()); +}(this, (function () { 'use strict'; + + /*! ***************************************************************************** + 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); + }; + + var fullscreenSettings = { + fullScreen: true, + fullscreenPluginStrings: { + toggleFullscreen: 'Toggle Fullscreen', + }, + }; + + var FullScreen = /** @class */ (function () { + function FullScreen(instance, $LG) { + // get lightGallery core plugin instance + this.core = instance; + this.$LG = $LG; + // extend module default settings with lightGallery core settings + this.settings = __assign(__assign({}, fullscreenSettings), this.core.settings); + return this; + } + FullScreen.prototype.init = function () { + var fullScreen = ''; + if (this.settings.fullScreen) { + // check for fullscreen browser support + if (!document.fullscreenEnabled && + !document.webkitFullscreenEnabled && + !document.mozFullScreenEnabled && + !document.msFullscreenEnabled) { + return; + } + else { + fullScreen = ""; + this.core.$toolbar.append(fullScreen); + this.fullScreen(); + } + } + }; + FullScreen.prototype.isFullScreen = function () { + return (document.fullscreenElement || + document.mozFullScreenElement || + document.webkitFullscreenElement || + document.msFullscreenElement); + }; + FullScreen.prototype.requestFullscreen = function () { + var el = document.documentElement; + if (el.requestFullscreen) { + el.requestFullscreen(); + } + else if (el.msRequestFullscreen) { + el.msRequestFullscreen(); + } + else if (el.mozRequestFullScreen) { + el.mozRequestFullScreen(); + } + else if (el.webkitRequestFullscreen) { + el.webkitRequestFullscreen(); + } + }; + FullScreen.prototype.exitFullscreen = function () { + if (document.exitFullscreen) { + document.exitFullscreen(); + } + else if (document.msExitFullscreen) { + document.msExitFullscreen(); + } + else if (document.mozCancelFullScreen) { + document.mozCancelFullScreen(); + } + else if (document.webkitExitFullscreen) { + document.webkitExitFullscreen(); + } + }; + // https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Using_full_screen_mode + FullScreen.prototype.fullScreen = function () { + var _this = this; + this.$LG(document).on("fullscreenchange.lg.global" + this.core.lgId + " \n webkitfullscreenchange.lg.global" + this.core.lgId + " \n mozfullscreenchange.lg.global" + this.core.lgId + " \n MSFullscreenChange.lg.global" + this.core.lgId, function () { + if (!_this.core.lgOpened) + return; + _this.core.outer.toggleClass('lg-fullscreen-on'); + }); + this.core.outer + .find('.lg-fullscreen') + .first() + .on('click.lg', function () { + if (_this.isFullScreen()) { + _this.exitFullscreen(); + } + else { + _this.requestFullscreen(); + } + }); + }; + FullScreen.prototype.closeGallery = function () { + // exit from fullscreen if activated + if (this.isFullScreen()) { + this.exitFullscreen(); + } + }; + FullScreen.prototype.destroy = function () { + this.$LG(document).off("fullscreenchange.lg.global" + this.core.lgId + " \n webkitfullscreenchange.lg.global" + this.core.lgId + " \n mozfullscreenchange.lg.global" + this.core.lgId + " \n MSFullscreenChange.lg.global" + this.core.lgId); + }; + return FullScreen; + }()); + + return FullScreen; + +}))); +//# sourceMappingURL=lg-fullscreen.umd.js.map + +; +/*! + * lightgallery | 2.8.0-beta.3 | May 3rd 2024 + * http://www.lightgalleryjs.com/ + * Copyright (c) 2020 Sachin Neravath; + * @license GPLv3 + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.lgZoom = factory()); +}(this, (function () { 'use strict'; + + /*! ***************************************************************************** + 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); + }; + + var zoomSettings = { + scale: 1, + zoom: true, + infiniteZoom: true, + actualSize: true, + showZoomInOutIcons: false, + actualSizeIcons: { + zoomIn: 'lg-zoom-in', + zoomOut: 'lg-zoom-out', + }, + enableZoomAfter: 300, + zoomPluginStrings: { + zoomIn: 'Zoom in', + zoomOut: 'Zoom out', + viewActualSize: 'View actual size', + }, + }; + + /** + * 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 ZOOM_TRANSITION_DURATION = 500; + var Zoom = /** @class */ (function () { + function Zoom(instance, $LG) { + // get lightGallery core plugin instance + this.core = instance; + this.$LG = $LG; + this.settings = __assign(__assign({}, zoomSettings), this.core.settings); + return this; + } + // Append Zoom controls. Actual size, Zoom-in, Zoom-out + Zoom.prototype.buildTemplates = function () { + var zoomIcons = this.settings.showZoomInOutIcons + ? "" + : ''; + if (this.settings.actualSize) { + zoomIcons += ""; + } + this.core.outer.addClass('lg-use-transition-for-zoom'); + this.core.$toolbar.first().append(zoomIcons); + }; + /** + * @desc Enable zoom option only once the image is completely loaded + * If zoomFromOrigin is true, Zoom is enabled once the dummy image has been inserted + * + * Zoom styles are defined under lg-zoomable CSS class. + */ + Zoom.prototype.enableZoom = function (event) { + var _this = this; + // delay will be 0 except first time + var _speed = this.settings.enableZoomAfter + event.detail.delay; + // set _speed value 0 if gallery opened from direct url and if it is first slide + if (this.$LG('body').first().hasClass('lg-from-hash') && + event.detail.delay) { + // will execute only once + _speed = 0; + } + else { + // Remove lg-from-hash to enable starting animation. + this.$LG('body').first().removeClass('lg-from-hash'); + } + this.zoomableTimeout = setTimeout(function () { + if (!_this.isImageSlide(_this.core.index)) { + return; + } + _this.core.getSlideItem(event.detail.index).addClass('lg-zoomable'); + if (event.detail.index === _this.core.index) { + _this.setZoomEssentials(); + } + }, _speed + 30); + }; + Zoom.prototype.enableZoomOnSlideItemLoad = function () { + // Add zoomable class + this.core.LGel.on(lGEvents.slideItemLoad + ".zoom", this.enableZoom.bind(this)); + }; + Zoom.prototype.getDragCords = function (e) { + return { + x: e.pageX, + y: e.pageY, + }; + }; + Zoom.prototype.getSwipeCords = function (e) { + var x = e.touches[0].pageX; + var y = e.touches[0].pageY; + return { + x: x, + y: y, + }; + }; + Zoom.prototype.getDragAllowedAxises = function (scale, scaleDiff) { + if (!this.containerRect) { + return { + allowX: false, + allowY: false, + }; + } + var $image = this.core + .getSlideItem(this.core.index) + .find('.lg-image') + .first() + .get(); + var height = 0; + var width = 0; + var rect = $image.getBoundingClientRect(); + if (scale) { + height = $image.offsetHeight * scale; + width = $image.offsetWidth * scale; + } + else if (scaleDiff) { + height = rect.height + scaleDiff * rect.height; + width = rect.width + scaleDiff * rect.width; + } + else { + height = rect.height; + width = rect.width; + } + var allowY = height > this.containerRect.height; + var allowX = width > this.containerRect.width; + return { + allowX: allowX, + allowY: allowY, + }; + }; + Zoom.prototype.setZoomEssentials = function () { + this.containerRect = this.core.$content.get().getBoundingClientRect(); + }; + /** + * @desc Image zoom + * Translate the wrap and scale the image to get better user experience + * + * @param {String} scale - Zoom decrement/increment value + */ + Zoom.prototype.zoomImage = function (scale, scaleDiff, reposition, resetToMax) { + if (Math.abs(scaleDiff) <= 0) + return; + var offsetX = this.containerRect.width / 2 + this.containerRect.left; + var offsetY = this.containerRect.height / 2 + + this.containerRect.top + + this.scrollTop; + var originalX; + var originalY; + if (scale === 1) { + this.positionChanged = false; + } + var dragAllowedAxises = this.getDragAllowedAxises(0, scaleDiff); + var allowY = dragAllowedAxises.allowY, allowX = dragAllowedAxises.allowX; + if (this.positionChanged) { + originalX = this.left / (this.scale - scaleDiff); + originalY = this.top / (this.scale - scaleDiff); + this.pageX = offsetX - originalX; + this.pageY = offsetY - originalY; + this.positionChanged = false; + } + var possibleSwipeCords = this.getPossibleSwipeDragCords(scaleDiff); + var x; + var y; + var _x = offsetX - this.pageX; + var _y = offsetY - this.pageY; + if (scale - scaleDiff > 1) { + var scaleVal = (scale - scaleDiff) / Math.abs(scaleDiff); + _x = + (scaleDiff < 0 ? -_x : _x) + + this.left * (scaleVal + (scaleDiff < 0 ? -1 : 1)); + _y = + (scaleDiff < 0 ? -_y : _y) + + this.top * (scaleVal + (scaleDiff < 0 ? -1 : 1)); + x = _x / scaleVal; + y = _y / scaleVal; + } + else { + var scaleVal = (scale - scaleDiff) * scaleDiff; + x = _x * scaleVal; + y = _y * scaleVal; + } + if (reposition) { + if (allowX) { + if (this.isBeyondPossibleLeft(x, possibleSwipeCords.minX)) { + x = possibleSwipeCords.minX; + } + else if (this.isBeyondPossibleRight(x, possibleSwipeCords.maxX)) { + x = possibleSwipeCords.maxX; + } + } + else { + if (scale > 1) { + if (x < possibleSwipeCords.minX) { + x = possibleSwipeCords.minX; + } + else if (x > possibleSwipeCords.maxX) { + x = possibleSwipeCords.maxX; + } + } + } + // @todo fix this + if (allowY) { + if (this.isBeyondPossibleTop(y, possibleSwipeCords.minY)) { + y = possibleSwipeCords.minY; + } + else if (this.isBeyondPossibleBottom(y, possibleSwipeCords.maxY)) { + y = possibleSwipeCords.maxY; + } + } + else { + // If the translate value based on index of beyond the viewport, utilize the available space to prevent image being cut out + if (scale > 1) { + //If image goes beyond viewport top, use the minim possible translate value + if (y < possibleSwipeCords.minY) { + y = possibleSwipeCords.minY; + } + else if (y > possibleSwipeCords.maxY) { + y = possibleSwipeCords.maxY; + } + } + } + } + this.setZoomStyles({ + x: x, + y: y, + scale: scale, + }); + this.left = x; + this.top = y; + if (resetToMax) { + this.setZoomImageSize(); + } + }; + Zoom.prototype.resetImageTranslate = function (index) { + if (!this.isImageSlide(index)) { + return; + } + var $image = this.core.getSlideItem(index).find('.lg-image').first(); + this.imageReset = false; + $image.removeClass('reset-transition reset-transition-y reset-transition-x'); + this.core.outer.removeClass('lg-actual-size'); + $image.css('width', 'auto').css('height', 'auto'); + setTimeout(function () { + $image.removeClass('no-transition'); + }, 10); + }; + Zoom.prototype.setZoomImageSize = function () { + var _this = this; + var $image = this.core + .getSlideItem(this.core.index) + .find('.lg-image') + .first(); + setTimeout(function () { + var actualSizeScale = _this.getCurrentImageActualSizeScale(); + if (_this.scale >= actualSizeScale) { + $image.addClass('no-transition'); + _this.imageReset = true; + } + }, ZOOM_TRANSITION_DURATION); + setTimeout(function () { + var actualSizeScale = _this.getCurrentImageActualSizeScale(); + if (_this.scale >= actualSizeScale) { + var dragAllowedAxises = _this.getDragAllowedAxises(_this.scale); + $image + .css('width', $image.get().naturalWidth + 'px') + .css('height', $image.get().naturalHeight + 'px'); + _this.core.outer.addClass('lg-actual-size'); + if (dragAllowedAxises.allowX && dragAllowedAxises.allowY) { + $image.addClass('reset-transition'); + } + else if (dragAllowedAxises.allowX && + !dragAllowedAxises.allowY) { + $image.addClass('reset-transition-x'); + } + else if (!dragAllowedAxises.allowX && + dragAllowedAxises.allowY) { + $image.addClass('reset-transition-y'); + } + } + }, ZOOM_TRANSITION_DURATION + 50); + }; + /** + * @desc apply scale3d to image and translate to image wrap + * @param {style} X,Y and scale + */ + Zoom.prototype.setZoomStyles = function (style) { + var $imageWrap = this.core + .getSlideItem(this.core.index) + .find('.lg-img-wrap') + .first(); + var $image = this.core + .getSlideItem(this.core.index) + .find('.lg-image') + .first(); + var $dummyImage = this.core.outer + .find('.lg-current .lg-dummy-img') + .first(); + this.scale = style.scale; + $image.css('transform', 'scale3d(' + style.scale + ', ' + style.scale + ', 1)'); + $dummyImage.css('transform', 'scale3d(' + style.scale + ', ' + style.scale + ', 1)'); + var transform = 'translate3d(' + style.x + 'px, ' + style.y + 'px, 0)'; + $imageWrap.css('transform', transform); + }; + /** + * @param index - Index of the current slide + * @param event - event will be available only if the function is called on clicking/taping the imags + */ + Zoom.prototype.setActualSize = function (index, event) { + var _this = this; + if (this.zoomInProgress) { + return; + } + this.zoomInProgress = true; + var currentItem = this.core.galleryItems[this.core.index]; + this.resetImageTranslate(index); + setTimeout(function () { + // Allow zoom only on image + if (!currentItem.src || + _this.core.outer.hasClass('lg-first-slide-loading')) { + return; + } + var scale = _this.getCurrentImageActualSizeScale(); + var prevScale = _this.scale; + if (_this.core.outer.hasClass('lg-zoomed')) { + _this.scale = 1; + } + else { + _this.scale = _this.getScale(scale); + } + _this.setPageCords(event); + _this.beginZoom(_this.scale); + _this.zoomImage(_this.scale, _this.scale - prevScale, true, true); + }, 50); + setTimeout(function () { + _this.core.outer.removeClass('lg-grabbing').addClass('lg-grab'); + }, 60); + setTimeout(function () { + _this.zoomInProgress = false; + }, ZOOM_TRANSITION_DURATION + 110); + }; + Zoom.prototype.getNaturalWidth = function (index) { + var $image = this.core.getSlideItem(index).find('.lg-image').first(); + var naturalWidth = this.core.galleryItems[index].width; + return naturalWidth + ? parseFloat(naturalWidth) + : $image.get().naturalWidth; + }; + Zoom.prototype.getActualSizeScale = function (naturalWidth, width) { + var _scale; + var scale; + if (naturalWidth >= width) { + _scale = naturalWidth / width; + scale = _scale || 2; + } + else { + scale = 1; + } + return scale; + }; + Zoom.prototype.getCurrentImageActualSizeScale = function () { + var $image = this.core + .getSlideItem(this.core.index) + .find('.lg-image') + .first(); + var width = $image.get().offsetWidth; + var naturalWidth = this.getNaturalWidth(this.core.index) || width; + return this.getActualSizeScale(naturalWidth, width); + }; + Zoom.prototype.getPageCords = function (event) { + var cords = {}; + if (event) { + cords.x = event.pageX || event.touches[0].pageX; + cords.y = event.pageY || event.touches[0].pageY; + } + else { + var containerRect = this.core.$content + .get() + .getBoundingClientRect(); + cords.x = containerRect.width / 2 + containerRect.left; + cords.y = + containerRect.height / 2 + this.scrollTop + containerRect.top; + } + return cords; + }; + Zoom.prototype.setPageCords = function (event) { + var pageCords = this.getPageCords(event); + this.pageX = pageCords.x; + this.pageY = pageCords.y; + }; + Zoom.prototype.manageActualPixelClassNames = function () { + var $actualSize = this.core.getElementById('lg-actual-size'); + $actualSize + .removeClass(this.settings.actualSizeIcons.zoomIn) + .addClass(this.settings.actualSizeIcons.zoomOut); + }; + // If true, zoomed - in else zoomed out + Zoom.prototype.beginZoom = function (scale) { + this.core.outer.removeClass('lg-zoom-drag-transition lg-zoom-dragging'); + if (scale > 1) { + this.core.outer.addClass('lg-zoomed'); + this.manageActualPixelClassNames(); + } + else { + this.resetZoom(); + } + return scale > 1; + }; + Zoom.prototype.getScale = function (scale) { + var actualSizeScale = this.getCurrentImageActualSizeScale(); + if (scale < 1) { + scale = 1; + } + else if (scale > actualSizeScale) { + scale = actualSizeScale; + } + return scale; + }; + Zoom.prototype.init = function () { + var _this = this; + if (!this.settings.zoom) { + return; + } + this.buildTemplates(); + this.enableZoomOnSlideItemLoad(); + var tapped = null; + this.core.outer.on('dblclick.lg', function (event) { + if (!_this.$LG(event.target).hasClass('lg-image')) { + return; + } + _this.setActualSize(_this.core.index, event); + }); + this.core.outer.on('touchstart.lg', function (event) { + var $target = _this.$LG(event.target); + if (event.touches.length === 1 && $target.hasClass('lg-image')) { + if (!tapped) { + tapped = setTimeout(function () { + tapped = null; + }, 300); + } + else { + clearTimeout(tapped); + tapped = null; + event.preventDefault(); + _this.setActualSize(_this.core.index, event); + } + } + }); + this.core.LGel.on(lGEvents.containerResize + ".zoom " + lGEvents.rotateRight + ".zoom " + lGEvents.rotateLeft + ".zoom " + lGEvents.flipHorizontal + ".zoom " + lGEvents.flipVertical + ".zoom", function () { + if (!_this.core.lgOpened || + !_this.isImageSlide(_this.core.index) || + _this.core.touchAction) { + return; + } + var _LGel = _this.core + .getSlideItem(_this.core.index) + .find('.lg-img-wrap') + .first(); + _this.top = 0; + _this.left = 0; + _this.setZoomEssentials(); + _this.setZoomSwipeStyles(_LGel, { x: 0, y: 0 }); + _this.positionChanged = true; + }); + // Update zoom on resize and orientationchange + this.$LG(window).on("scroll.lg.zoom.global" + this.core.lgId, function () { + if (!_this.core.lgOpened) + return; + _this.scrollTop = _this.$LG(window).scrollTop(); + }); + this.core.getElementById('lg-zoom-out').on('click.lg', function () { + // Allow zoom only on image + if (!_this.isImageSlide(_this.core.index)) { + return; + } + var timeout = 0; + if (_this.imageReset) { + _this.resetImageTranslate(_this.core.index); + timeout = 50; + } + setTimeout(function () { + var scale = _this.scale - _this.settings.scale; + if (scale < 1) { + scale = 1; + } + _this.beginZoom(scale); + _this.zoomImage(scale, -_this.settings.scale, true, !_this.settings.infiniteZoom); + }, timeout); + }); + this.core.getElementById('lg-zoom-in').on('click.lg', function () { + _this.zoomIn(); + }); + this.core.getElementById('lg-actual-size').on('click.lg', function () { + _this.setActualSize(_this.core.index); + }); + this.core.LGel.on(lGEvents.beforeOpen + ".zoom", function () { + _this.core.outer.find('.lg-item').removeClass('lg-zoomable'); + }); + this.core.LGel.on(lGEvents.afterOpen + ".zoom", function () { + _this.scrollTop = _this.$LG(window).scrollTop(); + // Set the initial value center + _this.pageX = _this.core.outer.width() / 2; + _this.pageY = _this.core.outer.height() / 2 + _this.scrollTop; + _this.scale = 1; + }); + // Reset zoom on slide change + this.core.LGel.on(lGEvents.afterSlide + ".zoom", function (event) { + var prevIndex = event.detail.prevIndex; + _this.scale = 1; + _this.positionChanged = false; + _this.zoomInProgress = false; + _this.resetZoom(prevIndex); + _this.resetImageTranslate(prevIndex); + if (_this.isImageSlide(_this.core.index)) { + _this.setZoomEssentials(); + } + }); + // Drag option after zoom + this.zoomDrag(); + this.pinchZoom(); + this.zoomSwipe(); + // Store the zoomable timeout value just to clear it while closing + this.zoomableTimeout = false; + this.positionChanged = false; + this.zoomInProgress = false; + }; + Zoom.prototype.zoomIn = function () { + // Allow zoom only on image + if (!this.isImageSlide(this.core.index)) { + return; + } + var scale = this.scale + this.settings.scale; + if (!this.settings.infiniteZoom) { + scale = this.getScale(scale); + } + this.beginZoom(scale); + this.zoomImage(scale, Math.min(this.settings.scale, scale - this.scale), true, !this.settings.infiniteZoom); + }; + // Reset zoom effect + Zoom.prototype.resetZoom = function (index) { + this.core.outer.removeClass('lg-zoomed lg-zoom-drag-transition'); + var $actualSize = this.core.getElementById('lg-actual-size'); + var $item = this.core.getSlideItem(index !== undefined ? index : this.core.index); + $actualSize + .removeClass(this.settings.actualSizeIcons.zoomOut) + .addClass(this.settings.actualSizeIcons.zoomIn); + $item.find('.lg-img-wrap').first().removeAttr('style'); + $item.find('.lg-image').first().removeAttr('style'); + this.scale = 1; + this.left = 0; + this.top = 0; + // Reset pagx pagy values to center + this.setPageCords(); + }; + Zoom.prototype.getTouchDistance = function (e) { + return Math.sqrt((e.touches[0].pageX - e.touches[1].pageX) * + (e.touches[0].pageX - e.touches[1].pageX) + + (e.touches[0].pageY - e.touches[1].pageY) * + (e.touches[0].pageY - e.touches[1].pageY)); + }; + Zoom.prototype.pinchZoom = function () { + var _this = this; + var startDist = 0; + var pinchStarted = false; + var initScale = 1; + var prevScale = 0; + var $item = this.core.getSlideItem(this.core.index); + this.core.outer.on('touchstart.lg', function (e) { + $item = _this.core.getSlideItem(_this.core.index); + if (!_this.isImageSlide(_this.core.index)) { + return; + } + if (e.touches.length === 2) { + e.preventDefault(); + if (_this.core.outer.hasClass('lg-first-slide-loading')) { + return; + } + initScale = _this.scale || 1; + _this.core.outer.removeClass('lg-zoom-drag-transition lg-zoom-dragging'); + _this.setPageCords(e); + _this.resetImageTranslate(_this.core.index); + _this.core.touchAction = 'pinch'; + startDist = _this.getTouchDistance(e); + } + }); + this.core.$inner.on('touchmove.lg', function (e) { + if (e.touches.length === 2 && + _this.core.touchAction === 'pinch' && + (_this.$LG(e.target).hasClass('lg-item') || + $item.get().contains(e.target))) { + e.preventDefault(); + var endDist = _this.getTouchDistance(e); + var distance = startDist - endDist; + if (!pinchStarted && Math.abs(distance) > 5) { + pinchStarted = true; + } + if (pinchStarted) { + prevScale = _this.scale; + var _scale = Math.max(1, initScale + -distance * 0.02); + _this.scale = + Math.round((_scale + Number.EPSILON) * 100) / 100; + var diff = _this.scale - prevScale; + _this.zoomImage(_this.scale, Math.round((diff + Number.EPSILON) * 100) / 100, false, false); + } + } + }); + this.core.$inner.on('touchend.lg', function (e) { + if (_this.core.touchAction === 'pinch' && + (_this.$LG(e.target).hasClass('lg-item') || + $item.get().contains(e.target))) { + pinchStarted = false; + startDist = 0; + if (_this.scale <= 1) { + _this.resetZoom(); + } + else { + var actualSizeScale = _this.getCurrentImageActualSizeScale(); + if (_this.scale >= actualSizeScale) { + var scaleDiff = actualSizeScale - _this.scale; + if (scaleDiff === 0) { + scaleDiff = 0.01; + } + _this.zoomImage(actualSizeScale, scaleDiff, false, true); + } + _this.manageActualPixelClassNames(); + _this.core.outer.addClass('lg-zoomed'); + } + _this.core.touchAction = undefined; + } + }); + }; + Zoom.prototype.touchendZoom = function (startCoords, endCoords, allowX, allowY, touchDuration) { + var distanceXnew = endCoords.x - startCoords.x; + var distanceYnew = endCoords.y - startCoords.y; + var speedX = Math.abs(distanceXnew) / touchDuration + 1; + var speedY = Math.abs(distanceYnew) / touchDuration + 1; + if (speedX > 2) { + speedX += 1; + } + if (speedY > 2) { + speedY += 1; + } + distanceXnew = distanceXnew * speedX; + distanceYnew = distanceYnew * speedY; + var _LGel = this.core + .getSlideItem(this.core.index) + .find('.lg-img-wrap') + .first(); + var distance = {}; + distance.x = this.left + distanceXnew; + distance.y = this.top + distanceYnew; + var possibleSwipeCords = this.getPossibleSwipeDragCords(); + if (Math.abs(distanceXnew) > 15 || Math.abs(distanceYnew) > 15) { + if (allowY) { + if (this.isBeyondPossibleTop(distance.y, possibleSwipeCords.minY)) { + distance.y = possibleSwipeCords.minY; + } + else if (this.isBeyondPossibleBottom(distance.y, possibleSwipeCords.maxY)) { + distance.y = possibleSwipeCords.maxY; + } + } + if (allowX) { + if (this.isBeyondPossibleLeft(distance.x, possibleSwipeCords.minX)) { + distance.x = possibleSwipeCords.minX; + } + else if (this.isBeyondPossibleRight(distance.x, possibleSwipeCords.maxX)) { + distance.x = possibleSwipeCords.maxX; + } + } + if (allowY) { + this.top = distance.y; + } + else { + distance.y = this.top; + } + if (allowX) { + this.left = distance.x; + } + else { + distance.x = this.left; + } + this.setZoomSwipeStyles(_LGel, distance); + this.positionChanged = true; + } + }; + Zoom.prototype.getZoomSwipeCords = function (startCoords, endCoords, allowX, allowY, possibleSwipeCords) { + var distance = {}; + if (allowY) { + distance.y = this.top + (endCoords.y - startCoords.y); + if (this.isBeyondPossibleTop(distance.y, possibleSwipeCords.minY)) { + var diffMinY = possibleSwipeCords.minY - distance.y; + distance.y = possibleSwipeCords.minY - diffMinY / 6; + } + else if (this.isBeyondPossibleBottom(distance.y, possibleSwipeCords.maxY)) { + var diffMaxY = distance.y - possibleSwipeCords.maxY; + distance.y = possibleSwipeCords.maxY + diffMaxY / 6; + } + } + else { + distance.y = this.top; + } + if (allowX) { + distance.x = this.left + (endCoords.x - startCoords.x); + if (this.isBeyondPossibleLeft(distance.x, possibleSwipeCords.minX)) { + var diffMinX = possibleSwipeCords.minX - distance.x; + distance.x = possibleSwipeCords.minX - diffMinX / 6; + } + else if (this.isBeyondPossibleRight(distance.x, possibleSwipeCords.maxX)) { + var difMaxX = distance.x - possibleSwipeCords.maxX; + distance.x = possibleSwipeCords.maxX + difMaxX / 6; + } + } + else { + distance.x = this.left; + } + return distance; + }; + Zoom.prototype.isBeyondPossibleLeft = function (x, minX) { + return x >= minX; + }; + Zoom.prototype.isBeyondPossibleRight = function (x, maxX) { + return x <= maxX; + }; + Zoom.prototype.isBeyondPossibleTop = function (y, minY) { + return y >= minY; + }; + Zoom.prototype.isBeyondPossibleBottom = function (y, maxY) { + return y <= maxY; + }; + Zoom.prototype.isImageSlide = function (index) { + var currentItem = this.core.galleryItems[index]; + return this.core.getSlideType(currentItem) === 'image'; + }; + Zoom.prototype.getPossibleSwipeDragCords = function (scale) { + var $image = this.core + .getSlideItem(this.core.index) + .find('.lg-image') + .first(); + var bottom = this.core.mediaContainerPosition.bottom; + var imgRect = $image.get().getBoundingClientRect(); + var imageHeight = imgRect.height; + var imageWidth = imgRect.width; + if (scale) { + imageHeight = imageHeight + scale * imageHeight; + imageWidth = imageWidth + scale * imageWidth; + } + var minY = (imageHeight - this.containerRect.height) / 2; + var maxY = (this.containerRect.height - imageHeight) / 2 + bottom; + var minX = (imageWidth - this.containerRect.width) / 2; + var maxX = (this.containerRect.width - imageWidth) / 2; + var possibleSwipeCords = { + minY: minY, + maxY: maxY, + minX: minX, + maxX: maxX, + }; + return possibleSwipeCords; + }; + Zoom.prototype.setZoomSwipeStyles = function (LGel, distance) { + LGel.css('transform', 'translate3d(' + distance.x + 'px, ' + distance.y + 'px, 0)'); + }; + Zoom.prototype.zoomSwipe = function () { + var _this = this; + var startCoords = {}; + var endCoords = {}; + var isMoved = false; + // Allow x direction drag + var allowX = false; + // Allow Y direction drag + var allowY = false; + var startTime = new Date(); + var endTime = new Date(); + var possibleSwipeCords; + var _LGel; + var $item = this.core.getSlideItem(this.core.index); + this.core.$inner.on('touchstart.lg', function (e) { + // Allow zoom only on image + if (!_this.isImageSlide(_this.core.index)) { + return; + } + $item = _this.core.getSlideItem(_this.core.index); + if ((_this.$LG(e.target).hasClass('lg-item') || + $item.get().contains(e.target)) && + e.touches.length === 1 && + _this.core.outer.hasClass('lg-zoomed')) { + e.preventDefault(); + startTime = new Date(); + _this.core.touchAction = 'zoomSwipe'; + _LGel = _this.core + .getSlideItem(_this.core.index) + .find('.lg-img-wrap') + .first(); + var dragAllowedAxises = _this.getDragAllowedAxises(0); + allowY = dragAllowedAxises.allowY; + allowX = dragAllowedAxises.allowX; + if (allowX || allowY) { + startCoords = _this.getSwipeCords(e); + } + possibleSwipeCords = _this.getPossibleSwipeDragCords(); + // reset opacity and transition duration + _this.core.outer.addClass('lg-zoom-dragging lg-zoom-drag-transition'); + } + }); + this.core.$inner.on('touchmove.lg', function (e) { + if (e.touches.length === 1 && + _this.core.touchAction === 'zoomSwipe' && + (_this.$LG(e.target).hasClass('lg-item') || + $item.get().contains(e.target))) { + e.preventDefault(); + _this.core.touchAction = 'zoomSwipe'; + endCoords = _this.getSwipeCords(e); + var distance = _this.getZoomSwipeCords(startCoords, endCoords, allowX, allowY, possibleSwipeCords); + if (Math.abs(endCoords.x - startCoords.x) > 15 || + Math.abs(endCoords.y - startCoords.y) > 15) { + isMoved = true; + _this.setZoomSwipeStyles(_LGel, distance); + } + } + }); + this.core.$inner.on('touchend.lg', function (e) { + if (_this.core.touchAction === 'zoomSwipe' && + (_this.$LG(e.target).hasClass('lg-item') || + $item.get().contains(e.target))) { + e.preventDefault(); + _this.core.touchAction = undefined; + _this.core.outer.removeClass('lg-zoom-dragging'); + if (!isMoved) { + return; + } + isMoved = false; + endTime = new Date(); + var touchDuration = endTime.valueOf() - startTime.valueOf(); + _this.touchendZoom(startCoords, endCoords, allowX, allowY, touchDuration); + } + }); + }; + Zoom.prototype.zoomDrag = function () { + var _this = this; + var startCoords = {}; + var endCoords = {}; + var isDragging = false; + var isMoved = false; + // Allow x direction drag + var allowX = false; + // Allow Y direction drag + var allowY = false; + var startTime; + var endTime; + var possibleSwipeCords; + var _LGel; + this.core.outer.on('mousedown.lg.zoom', function (e) { + // Allow zoom only on image + if (!_this.isImageSlide(_this.core.index)) { + return; + } + var $item = _this.core.getSlideItem(_this.core.index); + if (_this.$LG(e.target).hasClass('lg-item') || + $item.get().contains(e.target)) { + startTime = new Date(); + _LGel = _this.core + .getSlideItem(_this.core.index) + .find('.lg-img-wrap') + .first(); + var dragAllowedAxises = _this.getDragAllowedAxises(0); + allowY = dragAllowedAxises.allowY; + allowX = dragAllowedAxises.allowX; + if (_this.core.outer.hasClass('lg-zoomed')) { + if (_this.$LG(e.target).hasClass('lg-object') && + (allowX || allowY)) { + e.preventDefault(); + startCoords = _this.getDragCords(e); + possibleSwipeCords = _this.getPossibleSwipeDragCords(); + isDragging = true; + _this.core.outer + .removeClass('lg-grab') + .addClass('lg-grabbing lg-zoom-drag-transition lg-zoom-dragging'); + // reset opacity and transition duration + } + } + } + }); + this.$LG(window).on("mousemove.lg.zoom.global" + this.core.lgId, function (e) { + if (isDragging) { + isMoved = true; + endCoords = _this.getDragCords(e); + var distance = _this.getZoomSwipeCords(startCoords, endCoords, allowX, allowY, possibleSwipeCords); + _this.setZoomSwipeStyles(_LGel, distance); + } + }); + this.$LG(window).on("mouseup.lg.zoom.global" + this.core.lgId, function (e) { + if (isDragging) { + endTime = new Date(); + isDragging = false; + _this.core.outer.removeClass('lg-zoom-dragging'); + // Fix for chrome mouse move on click + if (isMoved && + (startCoords.x !== endCoords.x || + startCoords.y !== endCoords.y)) { + endCoords = _this.getDragCords(e); + var touchDuration = endTime.valueOf() - startTime.valueOf(); + _this.touchendZoom(startCoords, endCoords, allowX, allowY, touchDuration); + } + isMoved = false; + } + _this.core.outer.removeClass('lg-grabbing').addClass('lg-grab'); + }); + }; + Zoom.prototype.closeGallery = function () { + this.resetZoom(); + this.zoomInProgress = false; + }; + Zoom.prototype.destroy = function () { + // Unbind all events added by lightGallery zoom plugin + this.$LG(window).off(".lg.zoom.global" + this.core.lgId); + this.core.LGel.off('.lg.zoom'); + this.core.LGel.off('.zoom'); + clearTimeout(this.zoomableTimeout); + this.zoomableTimeout = false; + }; + return Zoom; + }()); + + return Zoom; + +}))); +//# sourceMappingURL=lg-zoom.umd.js.map + +; +/*! + * lightgallery | 2.8.0-beta.3 | May 3rd 2024 + * http://www.lightgalleryjs.com/ + * Copyright (c) 2020 Sachin Neravath; + * @license GPLv3 + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.lgRotate = factory()); +}(this, (function () { 'use strict'; + + /*! ***************************************************************************** + 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 rotateSettings = { + rotate: true, + rotateSpeed: 400, + rotateLeft: true, + rotateRight: true, + flipHorizontal: true, + flipVertical: true, + rotatePluginStrings: { + flipVertical: 'Flip vertical', + flipHorizontal: 'Flip horizontal', + rotateLeft: 'Rotate left', + rotateRight: 'Rotate right', + }, + }; + + var Rotate = /** @class */ (function () { + function Rotate(instance, $LG) { + // get lightGallery core plugin instance + this.core = instance; + this.$LG = $LG; + // extend module default settings with lightGallery core settings + this.settings = __assign(__assign({}, rotateSettings), this.core.settings); + return this; + } + Rotate.prototype.buildTemplates = function () { + var rotateIcons = ''; + if (this.settings.flipVertical) { + rotateIcons += ""; + } + if (this.settings.flipHorizontal) { + rotateIcons += ""; + } + if (this.settings.rotateLeft) { + rotateIcons += ""; + } + if (this.settings.rotateRight) { + rotateIcons += ""; + } + this.core.$toolbar.append(rotateIcons); + }; + Rotate.prototype.init = function () { + var _this = this; + if (!this.settings.rotate) { + return; + } + this.buildTemplates(); + // Save rotate config for each item to persist its rotate, flip values + // even after navigating to diferent slides + this.rotateValuesList = {}; + // event triggered after appending slide content + this.core.LGel.on(lGEvents.slideItemLoad + ".rotate", function (event) { + var index = event.detail.index; + var rotateEl = _this.core + .getSlideItem(index) + .find('.lg-img-rotate') + .get(); + if (!rotateEl) { + var imageWrap = _this.core + .getSlideItem(index) + .find('.lg-object') + .first(); + imageWrap.wrap('lg-img-rotate'); + //this.rotateValuesList[this.core.index] + _this.core + .getSlideItem(_this.core.index) + .find('.lg-img-rotate') + .css('transition-duration', _this.settings.rotateSpeed + 'ms'); + } + }); + this.core.outer + .find('#lg-rotate-left') + .first() + .on('click.lg', this.rotateLeft.bind(this)); + this.core.outer + .find('#lg-rotate-right') + .first() + .on('click.lg', this.rotateRight.bind(this)); + this.core.outer + .find('#lg-flip-hor') + .first() + .on('click.lg', this.flipHorizontal.bind(this)); + this.core.outer + .find('#lg-flip-ver') + .first() + .on('click.lg', this.flipVertical.bind(this)); + // Reset rotate on slide change + this.core.LGel.on(lGEvents.beforeSlide + ".rotate", function (event) { + if (!_this.rotateValuesList[event.detail.index]) { + _this.rotateValuesList[event.detail.index] = { + rotate: 0, + flipHorizontal: 1, + flipVertical: 1, + }; + } + }); + }; + Rotate.prototype.applyStyles = function () { + var $image = this.core + .getSlideItem(this.core.index) + .find('.lg-img-rotate') + .first(); + $image.css('transform', 'rotate(' + + this.rotateValuesList[this.core.index].rotate + + 'deg)' + + ' scale3d(' + + this.rotateValuesList[this.core.index].flipHorizontal + + ', ' + + this.rotateValuesList[this.core.index].flipVertical + + ', 1)'); + }; + Rotate.prototype.rotateLeft = function () { + this.rotateValuesList[this.core.index].rotate -= 90; + this.applyStyles(); + this.triggerEvents(lGEvents.rotateLeft, { + rotate: this.rotateValuesList[this.core.index].rotate, + }); + }; + Rotate.prototype.rotateRight = function () { + this.rotateValuesList[this.core.index].rotate += 90; + this.applyStyles(); + this.triggerEvents(lGEvents.rotateRight, { + rotate: this.rotateValuesList[this.core.index].rotate, + }); + }; + Rotate.prototype.getCurrentRotation = function (el) { + if (!el) { + return 0; + } + var st = this.$LG(el).style(); + var tm = st.getPropertyValue('-webkit-transform') || + st.getPropertyValue('-moz-transform') || + st.getPropertyValue('-ms-transform') || + st.getPropertyValue('-o-transform') || + st.getPropertyValue('transform') || + 'none'; + if (tm !== 'none') { + var values = tm.split('(')[1].split(')')[0].split(','); + if (values) { + var angle = Math.round(Math.atan2(values[1], values[0]) * (180 / Math.PI)); + return angle < 0 ? angle + 360 : angle; + } + } + return 0; + }; + Rotate.prototype.flipHorizontal = function () { + var rotateEl = this.core + .getSlideItem(this.core.index) + .find('.lg-img-rotate') + .first() + .get(); + var currentRotation = this.getCurrentRotation(rotateEl); + var rotateAxis = 'flipHorizontal'; + if (currentRotation === 90 || currentRotation === 270) { + rotateAxis = 'flipVertical'; + } + this.rotateValuesList[this.core.index][rotateAxis] *= -1; + this.applyStyles(); + this.triggerEvents(lGEvents.flipHorizontal, { + flipHorizontal: this.rotateValuesList[this.core.index][rotateAxis], + }); + }; + Rotate.prototype.flipVertical = function () { + var rotateEl = this.core + .getSlideItem(this.core.index) + .find('.lg-img-rotate') + .first() + .get(); + var currentRotation = this.getCurrentRotation(rotateEl); + var rotateAxis = 'flipVertical'; + if (currentRotation === 90 || currentRotation === 270) { + rotateAxis = 'flipHorizontal'; + } + this.rotateValuesList[this.core.index][rotateAxis] *= -1; + this.applyStyles(); + this.triggerEvents(lGEvents.flipVertical, { + flipVertical: this.rotateValuesList[this.core.index][rotateAxis], + }); + }; + Rotate.prototype.triggerEvents = function (event, detail) { + var _this = this; + setTimeout(function () { + _this.core.LGel.trigger(event, detail); + }, this.settings.rotateSpeed + 10); + }; + Rotate.prototype.isImageOrientationChanged = function () { + var rotateValue = this.rotateValuesList[this.core.index]; + var isRotated = Math.abs(rotateValue.rotate) % 360 !== 0; + var ifFlippedHor = rotateValue.flipHorizontal < 0; + var ifFlippedVer = rotateValue.flipVertical < 0; + return isRotated || ifFlippedHor || ifFlippedVer; + }; + Rotate.prototype.closeGallery = function () { + if (this.isImageOrientationChanged()) { + this.core.getSlideItem(this.core.index).css('opacity', 0); + } + this.rotateValuesList = {}; + }; + Rotate.prototype.destroy = function () { + // Unbind all events added by lightGallery rotate plugin + this.core.LGel.off('.lg.rotate'); + this.core.LGel.off('.rotate'); + }; + return Rotate; + }()); + + return Rotate; + +}))); +//# sourceMappingURL=lg-rotate.umd.js.map + +; +/*! + * lightgallery | 2.8.0-beta.3 | May 3rd 2024 + * http://www.lightgalleryjs.com/ + * Copyright (c) 2020 Sachin Neravath; + * @license GPLv3 + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.lgThumbnail = factory()); +}(this, (function () { 'use strict'; + + /*! ***************************************************************************** + 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); + }; + + var thumbnailsSettings = { + thumbnail: true, + animateThumb: true, + currentPagerPosition: 'middle', + alignThumbnails: 'middle', + thumbWidth: 100, + thumbHeight: '80px', + thumbMargin: 5, + appendThumbnailsTo: '.lg-components', + toggleThumb: false, + enableThumbDrag: true, + enableThumbSwipe: true, + thumbnailSwipeThreshold: 10, + loadYouTubeThumbnail: true, + youTubeThumbSize: 1, + thumbnailPluginStrings: { + toggleThumbnails: 'Toggle thumbnails', + }, + }; + + /** + * 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 Thumbnail = /** @class */ (function () { + function Thumbnail(instance, $LG) { + this.thumbOuterWidth = 0; + this.thumbTotalWidth = 0; + this.translateX = 0; + this.thumbClickable = false; + // get lightGallery core plugin instance + this.core = instance; + this.$LG = $LG; + return this; + } + Thumbnail.prototype.init = function () { + // extend module default settings with lightGallery core settings + this.settings = __assign(__assign({}, thumbnailsSettings), this.core.settings); + this.thumbOuterWidth = 0; + this.thumbTotalWidth = + this.core.galleryItems.length * + (this.settings.thumbWidth + this.settings.thumbMargin); + // Thumbnail animation value + this.translateX = 0; + this.setAnimateThumbStyles(); + if (!this.core.settings.allowMediaOverlap) { + this.settings.toggleThumb = false; + } + if (this.settings.thumbnail) { + this.build(); + if (this.settings.animateThumb) { + if (this.settings.enableThumbDrag) { + this.enableThumbDrag(); + } + if (this.settings.enableThumbSwipe) { + this.enableThumbSwipe(); + } + this.thumbClickable = false; + } + else { + this.thumbClickable = true; + } + this.toggleThumbBar(); + this.thumbKeyPress(); + } + }; + Thumbnail.prototype.build = function () { + var _this = this; + this.setThumbMarkup(); + this.manageActiveClassOnSlideChange(); + this.$lgThumb.first().on('click.lg touchend.lg', function (e) { + var $target = _this.$LG(e.target); + if (!$target.hasAttribute('data-lg-item-id')) { + return; + } + setTimeout(function () { + // In IE9 and bellow touch does not support + // Go to slide if browser does not support css transitions + if (_this.thumbClickable && !_this.core.lgBusy) { + var index = parseInt($target.attr('data-lg-item-id')); + _this.core.slide(index, false, true, false); + } + }, 50); + }); + this.core.LGel.on(lGEvents.beforeSlide + ".thumb", function (event) { + var index = event.detail.index; + _this.animateThumb(index); + }); + this.core.LGel.on(lGEvents.beforeOpen + ".thumb", function () { + _this.thumbOuterWidth = _this.core.outer.get().offsetWidth; + }); + this.core.LGel.on(lGEvents.updateSlides + ".thumb", function () { + _this.rebuildThumbnails(); + }); + this.core.LGel.on(lGEvents.containerResize + ".thumb", function () { + if (!_this.core.lgOpened) + return; + setTimeout(function () { + _this.thumbOuterWidth = _this.core.outer.get().offsetWidth; + _this.animateThumb(_this.core.index); + _this.thumbOuterWidth = _this.core.outer.get().offsetWidth; + }, 50); + }); + }; + Thumbnail.prototype.setThumbMarkup = function () { + var thumbOuterClassNames = 'lg-thumb-outer '; + if (this.settings.alignThumbnails) { + thumbOuterClassNames += "lg-thumb-align-" + this.settings.alignThumbnails; + } + var html = "
\n
\n
\n
"; + this.core.outer.addClass('lg-has-thumb'); + if (this.settings.appendThumbnailsTo === '.lg-components') { + this.core.$lgComponents.append(html); + } + else { + this.core.outer.append(html); + } + this.$thumbOuter = this.core.outer.find('.lg-thumb-outer').first(); + this.$lgThumb = this.core.outer.find('.lg-thumb').first(); + if (this.settings.animateThumb) { + this.core.outer + .find('.lg-thumb') + .css('transition-duration', this.core.settings.speed + 'ms') + .css('width', this.thumbTotalWidth + 'px') + .css('position', 'relative'); + } + this.setThumbItemHtml(this.core.galleryItems); + }; + Thumbnail.prototype.enableThumbDrag = function () { + var _this = this; + var thumbDragUtils = { + cords: { + startX: 0, + endX: 0, + }, + isMoved: false, + newTranslateX: 0, + startTime: new Date(), + endTime: new Date(), + touchMoveTime: 0, + }; + var isDragging = false; + this.$thumbOuter.addClass('lg-grab'); + this.core.outer + .find('.lg-thumb') + .first() + .on('mousedown.lg.thumb', function (e) { + if (_this.thumbTotalWidth > _this.thumbOuterWidth) { + // execute only on .lg-object + e.preventDefault(); + thumbDragUtils.cords.startX = e.pageX; + thumbDragUtils.startTime = new Date(); + _this.thumbClickable = false; + isDragging = true; + // ** Fix for webkit cursor issue https://code.google.com/p/chromium/issues/detail?id=26723 + _this.core.outer.get().scrollLeft += 1; + _this.core.outer.get().scrollLeft -= 1; + // * + _this.$thumbOuter + .removeClass('lg-grab') + .addClass('lg-grabbing'); + } + }); + this.$LG(window).on("mousemove.lg.thumb.global" + this.core.lgId, function (e) { + if (!_this.core.lgOpened) + return; + if (isDragging) { + thumbDragUtils.cords.endX = e.pageX; + thumbDragUtils = _this.onThumbTouchMove(thumbDragUtils); + } + }); + this.$LG(window).on("mouseup.lg.thumb.global" + this.core.lgId, function () { + if (!_this.core.lgOpened) + return; + if (thumbDragUtils.isMoved) { + thumbDragUtils = _this.onThumbTouchEnd(thumbDragUtils); + } + else { + _this.thumbClickable = true; + } + if (isDragging) { + isDragging = false; + _this.$thumbOuter.removeClass('lg-grabbing').addClass('lg-grab'); + } + }); + }; + Thumbnail.prototype.enableThumbSwipe = function () { + var _this = this; + var thumbDragUtils = { + cords: { + startX: 0, + endX: 0, + }, + isMoved: false, + newTranslateX: 0, + startTime: new Date(), + endTime: new Date(), + touchMoveTime: 0, + }; + this.$lgThumb.on('touchstart.lg', function (e) { + if (_this.thumbTotalWidth > _this.thumbOuterWidth) { + e.preventDefault(); + thumbDragUtils.cords.startX = e.targetTouches[0].pageX; + _this.thumbClickable = false; + thumbDragUtils.startTime = new Date(); + } + }); + this.$lgThumb.on('touchmove.lg', function (e) { + if (_this.thumbTotalWidth > _this.thumbOuterWidth) { + e.preventDefault(); + thumbDragUtils.cords.endX = e.targetTouches[0].pageX; + thumbDragUtils = _this.onThumbTouchMove(thumbDragUtils); + } + }); + this.$lgThumb.on('touchend.lg', function () { + if (thumbDragUtils.isMoved) { + thumbDragUtils = _this.onThumbTouchEnd(thumbDragUtils); + } + else { + _this.thumbClickable = true; + } + }); + }; + // Rebuild thumbnails + Thumbnail.prototype.rebuildThumbnails = function () { + var _this = this; + // Remove transitions + this.$thumbOuter.addClass('lg-rebuilding-thumbnails'); + setTimeout(function () { + _this.thumbTotalWidth = + _this.core.galleryItems.length * + (_this.settings.thumbWidth + _this.settings.thumbMargin); + _this.$lgThumb.css('width', _this.thumbTotalWidth + 'px'); + _this.$lgThumb.empty(); + _this.setThumbItemHtml(_this.core.galleryItems); + _this.animateThumb(_this.core.index); + }, 50); + setTimeout(function () { + _this.$thumbOuter.removeClass('lg-rebuilding-thumbnails'); + }, 200); + }; + // @ts-check + Thumbnail.prototype.setTranslate = function (value) { + this.$lgThumb.css('transform', 'translate3d(-' + value + 'px, 0px, 0px)'); + }; + Thumbnail.prototype.getPossibleTransformX = function (left) { + if (left > this.thumbTotalWidth - this.thumbOuterWidth) { + left = this.thumbTotalWidth - this.thumbOuterWidth; + } + if (left < 0) { + left = 0; + } + return left; + }; + Thumbnail.prototype.animateThumb = function (index) { + this.$lgThumb.css('transition-duration', this.core.settings.speed + 'ms'); + if (this.settings.animateThumb) { + var position = 0; + switch (this.settings.currentPagerPosition) { + case 'left': + position = 0; + break; + case 'middle': + position = + this.thumbOuterWidth / 2 - this.settings.thumbWidth / 2; + break; + case 'right': + position = this.thumbOuterWidth - this.settings.thumbWidth; + } + this.translateX = + (this.settings.thumbWidth + this.settings.thumbMargin) * index - + 1 - + position; + if (this.translateX > this.thumbTotalWidth - this.thumbOuterWidth) { + this.translateX = this.thumbTotalWidth - this.thumbOuterWidth; + } + if (this.translateX < 0) { + this.translateX = 0; + } + this.setTranslate(this.translateX); + } + }; + Thumbnail.prototype.onThumbTouchMove = function (thumbDragUtils) { + thumbDragUtils.newTranslateX = this.translateX; + thumbDragUtils.isMoved = true; + thumbDragUtils.touchMoveTime = new Date().valueOf(); + thumbDragUtils.newTranslateX -= + thumbDragUtils.cords.endX - thumbDragUtils.cords.startX; + thumbDragUtils.newTranslateX = this.getPossibleTransformX(thumbDragUtils.newTranslateX); + // move current slide + this.setTranslate(thumbDragUtils.newTranslateX); + this.$thumbOuter.addClass('lg-dragging'); + return thumbDragUtils; + }; + Thumbnail.prototype.onThumbTouchEnd = function (thumbDragUtils) { + thumbDragUtils.isMoved = false; + thumbDragUtils.endTime = new Date(); + this.$thumbOuter.removeClass('lg-dragging'); + var touchDuration = thumbDragUtils.endTime.valueOf() - + thumbDragUtils.startTime.valueOf(); + var distanceXnew = thumbDragUtils.cords.endX - thumbDragUtils.cords.startX; + var speedX = Math.abs(distanceXnew) / touchDuration; + // Some magical numbers + // Can be improved + if (speedX > 0.15 && + thumbDragUtils.endTime.valueOf() - thumbDragUtils.touchMoveTime < 30) { + speedX += 1; + if (speedX > 2) { + speedX += 1; + } + speedX = + speedX + + speedX * (Math.abs(distanceXnew) / this.thumbOuterWidth); + this.$lgThumb.css('transition-duration', Math.min(speedX - 1, 2) + 'settings'); + distanceXnew = distanceXnew * speedX; + this.translateX = this.getPossibleTransformX(this.translateX - distanceXnew); + this.setTranslate(this.translateX); + } + else { + this.translateX = thumbDragUtils.newTranslateX; + } + if (Math.abs(thumbDragUtils.cords.endX - thumbDragUtils.cords.startX) < + this.settings.thumbnailSwipeThreshold) { + this.thumbClickable = true; + } + return thumbDragUtils; + }; + Thumbnail.prototype.getThumbHtml = function (thumb, index, alt) { + var slideVideoInfo = this.core.galleryItems[index].__slideVideoInfo || {}; + var thumbImg; + if (slideVideoInfo.youtube) { + if (this.settings.loadYouTubeThumbnail) { + thumbImg = + '//img.youtube.com/vi/' + + slideVideoInfo.youtube[1] + + '/' + + this.settings.youTubeThumbSize + + '.jpg'; + } + else { + thumbImg = thumb; + } + } + else { + thumbImg = thumb; + } + var div = document.createElement('div'); + div.setAttribute('data-lg-item-id', index + ''); + div.className = "lg-thumb-item " + (index === this.core.index ? 'active' : ''); + div.style.cssText = "width: " + this.settings.thumbWidth + "px; height: " + this.settings.thumbHeight + "; margin-right: " + this.settings.thumbMargin + "px;"; + var img = document.createElement('img'); + img.alt = alt || ''; + img.setAttribute('data-lg-item-id', index + ''); + img.src = thumbImg; + div.appendChild(img); + return div; + }; + Thumbnail.prototype.setThumbItemHtml = function (items) { + for (var i = 0; i < items.length; i++) { + var thumb = this.getThumbHtml(items[i].thumb, i, items[i].alt); + this.$lgThumb.append(thumb); + } + }; + Thumbnail.prototype.setAnimateThumbStyles = function () { + if (this.settings.animateThumb) { + this.core.outer.addClass('lg-animate-thumb'); + } + }; + // Manage thumbnail active calss + Thumbnail.prototype.manageActiveClassOnSlideChange = function () { + var _this = this; + // manage active class for thumbnail + this.core.LGel.on(lGEvents.beforeSlide + ".thumb", function (event) { + var $thumb = _this.core.outer.find('.lg-thumb-item'); + var index = event.detail.index; + $thumb.removeClass('active'); + $thumb.eq(index).addClass('active'); + }); + }; + // Toggle thumbnail bar + Thumbnail.prototype.toggleThumbBar = function () { + var _this = this; + if (this.settings.toggleThumb) { + this.core.outer.addClass('lg-can-toggle'); + this.core.$toolbar.append(''); + this.core.outer + .find('.lg-toggle-thumb') + .first() + .on('click.lg', function () { + _this.core.outer.toggleClass('lg-components-open'); + }); + } + }; + Thumbnail.prototype.thumbKeyPress = function () { + var _this = this; + this.$LG(window).on("keydown.lg.thumb.global" + this.core.lgId, function (e) { + if (!_this.core.lgOpened || !_this.settings.toggleThumb) + return; + if (e.keyCode === 38) { + e.preventDefault(); + _this.core.outer.addClass('lg-components-open'); + } + else if (e.keyCode === 40) { + e.preventDefault(); + _this.core.outer.removeClass('lg-components-open'); + } + }); + }; + Thumbnail.prototype.destroy = function () { + if (this.settings.thumbnail) { + this.$LG(window).off(".lg.thumb.global" + this.core.lgId); + this.core.LGel.off('.lg.thumb'); + this.core.LGel.off('.thumb'); + this.$thumbOuter.remove(); + this.core.outer.removeClass('lg-has-thumb'); + } + }; + return Thumbnail; + }()); + + return Thumbnail; + +}))); +//# sourceMappingURL=lg-thumbnail.umd.js.map + +; +/*! + * lightgallery | 2.8.0-beta.3 | May 3rd 2024 + * http://www.lightgalleryjs.com/ + * Copyright (c) 2020 Sachin Neravath; + * @license GPLv3 + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.lgPager = factory()); +}(this, (function () { 'use strict'; + + /*! ***************************************************************************** + 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 pagerSettings = { + pager: true, + }; + + var Pager = /** @class */ (function () { + function Pager(instance, $LG) { + // get lightGallery core plugin instance + this.core = instance; + this.$LG = $LG; + // extend module default settings with lightGallery core settings + this.settings = __assign(__assign({}, pagerSettings), this.core.settings); + return this; + } + Pager.prototype.getPagerHtml = function (items) { + var pagerList = ''; + for (var i = 0; i < items.length; i++) { + pagerList += " \n \n
\n
"; + } + return pagerList; + }; + Pager.prototype.init = function () { + var _this = this; + if (!this.settings.pager) { + return; + } + var timeout; + this.core.$lgComponents.prepend('
'); + var $pagerOuter = this.core.outer.find('.lg-pager-outer'); + $pagerOuter.html(this.getPagerHtml(this.core.galleryItems)); + // @todo enable click + $pagerOuter.first().on('click.lg touchend.lg', function (event) { + var $target = _this.$LG(event.target); + if (!$target.hasAttribute('data-lg-item-id')) { + return; + } + var index = parseInt($target.attr('data-lg-item-id')); + _this.core.slide(index, false, true, false); + }); + $pagerOuter.first().on('mouseover.lg', function () { + clearTimeout(timeout); + $pagerOuter.addClass('lg-pager-hover'); + }); + $pagerOuter.first().on('mouseout.lg', function () { + timeout = setTimeout(function () { + $pagerOuter.removeClass('lg-pager-hover'); + }); + }); + this.core.LGel.on(lGEvents.beforeSlide + ".pager", function (event) { + var index = event.detail.index; + _this.manageActiveClass.call(_this, index); + }); + this.core.LGel.on(lGEvents.updateSlides + ".pager", function () { + $pagerOuter.empty(); + $pagerOuter.html(_this.getPagerHtml(_this.core.galleryItems)); + _this.manageActiveClass(_this.core.index); + }); + }; + Pager.prototype.manageActiveClass = function (index) { + var $pagerCont = this.core.outer.find('.lg-pager-cont'); + $pagerCont.removeClass('lg-pager-active'); + $pagerCont.eq(index).addClass('lg-pager-active'); + }; + Pager.prototype.destroy = function () { + this.core.outer.find('.lg-pager-outer').remove(); + this.core.LGel.off('.lg.pager'); + this.core.LGel.off('.pager'); + }; + return Pager; + }()); + + return Pager; + +}))); +//# sourceMappingURL=lg-pager.umd.js.map + +; +/*! + * lightgallery | 2.8.0-beta.3 | May 3rd 2024 + * http://www.lightgalleryjs.com/ + * Copyright (c) 2020 Sachin Neravath; + * @license GPLv3 + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.lgHash = factory()); +}(this, (function () { 'use strict'; + + /*! ***************************************************************************** + 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 hashSettings = { + hash: true, + galleryId: '1', + customSlideName: false, + }; + + var Hash = /** @class */ (function () { + function Hash(instance, $LG) { + // get lightGallery core plugin instance + this.core = instance; + this.$LG = $LG; + // extend module default settings with lightGallery core settings + this.settings = __assign(__assign({}, hashSettings), this.core.settings); + return this; + } + Hash.prototype.init = function () { + var _this = this; + if (!this.settings.hash) { + return; + } + this.oldHash = window.location.hash; + setTimeout(function () { + _this.buildFromHash(); + }, 100); + // Change hash value on after each slide transition + this.core.LGel.on(lGEvents.afterSlide + ".hash", this.onAfterSlide.bind(this)); + this.core.LGel.on(lGEvents.afterClose + ".hash", this.onCloseAfter.bind(this)); + // Listen hash change and change the slide according to slide value + this.$LG(window).on("hashchange.lg.hash.global" + this.core.lgId, this.onHashchange.bind(this)); + }; + Hash.prototype.onAfterSlide = function (event) { + var slideName = this.core.galleryItems[event.detail.index].slideName; + slideName = this.settings.customSlideName + ? slideName || event.detail.index + : event.detail.index; + if (history.replaceState) { + history.replaceState(null, '', window.location.pathname + + window.location.search + + '#lg=' + + this.settings.galleryId + + '&slide=' + + slideName); + } + else { + window.location.hash = + 'lg=' + this.settings.galleryId + '&slide=' + slideName; + } + }; + /** + * Get index of the slide from custom slideName. Has to be a public method. Used in hash plugin + * @param {String} hash + * @returns {Number} Index of the slide. + */ + Hash.prototype.getIndexFromUrl = function (hash) { + if (hash === void 0) { hash = window.location.hash; } + var slideName = hash.split('&slide=')[1]; + var _idx = 0; + if (this.settings.customSlideName) { + for (var index = 0; index < this.core.galleryItems.length; index++) { + var dynamicEl = this.core.galleryItems[index]; + if (dynamicEl.slideName === slideName) { + _idx = index; + break; + } + } + } + else { + _idx = parseInt(slideName, 10); + } + return isNaN(_idx) ? 0 : _idx; + }; + // Build Gallery if gallery id exist in the URL + Hash.prototype.buildFromHash = function () { + // if dynamic option is enabled execute immediately + var _hash = window.location.hash; + if (_hash.indexOf('lg=' + this.settings.galleryId) > 0) { + // This class is used to remove the initial animation if galleryId present in the URL + this.$LG(document.body).addClass('lg-from-hash'); + var index = this.getIndexFromUrl(_hash); + this.core.openGallery(index); + return true; + } + }; + Hash.prototype.onCloseAfter = function () { + // Reset to old hash value + if (this.oldHash && + this.oldHash.indexOf('lg=' + this.settings.galleryId) < 0) { + if (history.replaceState) { + history.replaceState(null, '', this.oldHash); + } + else { + window.location.hash = this.oldHash; + } + } + else { + if (history.replaceState) { + history.replaceState(null, document.title, window.location.pathname + window.location.search); + } + else { + window.location.hash = ''; + } + } + }; + Hash.prototype.onHashchange = function () { + if (!this.core.lgOpened) + return; + var _hash = window.location.hash; + var index = this.getIndexFromUrl(_hash); + // it galleryId doesn't exist in the url close the gallery + if (_hash.indexOf('lg=' + this.settings.galleryId) > -1) { + this.core.slide(index, false, false); + } + else if (this.core.lGalleryOn) { + this.core.closeGallery(); + } + }; + Hash.prototype.closeGallery = function () { + if (this.settings.hash) { + this.$LG(document.body).removeClass('lg-from-hash'); + } + }; + Hash.prototype.destroy = function () { + this.core.LGel.off('.lg.hash'); + this.core.LGel.off('.hash'); + this.$LG(window).off("hashchange.lg.hash.global" + this.core.lgId); + }; + return Hash; + }()); + + return Hash; + +}))); +//# sourceMappingURL=lg-hash.umd.js.map + +; +/*! + * lightgallery | 2.8.0-beta.3 | May 3rd 2024 + * http://www.lightgalleryjs.com/ + * Copyright (c) 2020 Sachin Neravath; + * @license GPLv3 + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.lgShare = factory()); +}(this, (function () { 'use strict'; + + /*! ***************************************************************************** + 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 "
  • " + text + "
  • "; + }; + Share.prototype.getDefaultShareOptions = function () { + return __spreadArrays((this.settings.facebook + ? [ + { + type: 'facebook', + generateLink: getFacebookShareLink, + dropdownHTML: this.getShareListItemHTML('facebook', this.settings.facebookDropdownText), + selector: '.lg-share-facebook', + }, + ] + : []), (this.settings.twitter + ? [ + { + type: 'twitter', + generateLink: getTwitterShareLink, + dropdownHTML: this.getShareListItemHTML('twitter', this.settings.twitterDropdownText), + selector: '.lg-share-twitter', + }, + ] + : []), (this.settings.pinterest + ? [ + { + type: 'pinterest', + generateLink: getPinterestShareLink, + dropdownHTML: this.getShareListItemHTML('pinterest', this.settings.pinterestDropdownText), + selector: '.lg-share-pinterest', + }, + ] + : [])); + }; + Share.prototype.destroy = function () { + this.core.outer.find('.lg-dropdown-overlay').remove(); + this.core.outer.find('.lg-share').remove(); + this.core.LGel.off('.lg.share'); + this.core.LGel.off('.share'); + }; + return Share; + }()); + + return Share; + +}))); +//# sourceMappingURL=lg-share.umd.js.map + +; +/*! + * lightgallery | 2.8.0-beta.3 | May 3rd 2024 + * http://www.lightgalleryjs.com/ + * Copyright (c) 2020 Sachin Neravath; + * @license GPLv3 + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.lgComment = factory()); +}(this, (function () { 'use strict'; + + /*! ***************************************************************************** + 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: '

    Leave a comment.

    ', + commentPluginStrings: { + toggleComments: 'Toggle Comments', + }, + }; + + /** + * 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 + * + */ + var CommentBox = /** @class */ (function () { + function CommentBox(instance, $LG) { + // get lightGallery core plugin instance + this.core = instance; + this.$LG = $LG; + // extend module default settings with lightGallery core settings + this.settings = __assign(__assign({}, commentSettings), this.core.settings); + return this; + } + CommentBox.prototype.init = function () { + if (!this.settings.commentBox) { + return; + } + this.setMarkup(); + this.toggleCommentBox(); + if (this.settings.fbComments) { + this.addFbComments(); + } + else if (this.settings.disqusComments) { + this.addDisqusComments(); + } + }; + CommentBox.prototype.setMarkup = function () { + this.core.outer.append(this.settings.commentsMarkup + + '
    '); + var commentToggleBtn = ""; + this.core.$toolbar.append(commentToggleBtn); + }; + CommentBox.prototype.toggleCommentBox = function () { + var _this_1 = this; + this.core.outer + .find('.lg-comment-toggle') + .first() + .on('click.lg.comment', function () { + _this_1.core.outer.toggleClass('lg-comment-active'); + }); + this.core.outer + .find('.lg-comment-overlay') + .first() + .on('click.lg.comment', function () { + _this_1.core.outer.removeClass('lg-comment-active'); + }); + this.core.outer + .find('.lg-comment-close') + .first() + .on('click.lg.comment', function () { + _this_1.core.outer.removeClass('lg-comment-active'); + }); + }; + CommentBox.prototype.addFbComments = function () { + var _this_1 = this; + // eslint-disable-next-line @typescript-eslint/no-this-alias + var _this = this; + this.core.LGel.on(lGEvents.beforeSlide + ".comment", function (event) { + var html = _this_1.core.galleryItems[event.detail.index].fbHtml; + _this_1.core.outer.find('.lg-comment-body').html(html); + }); + this.core.LGel.on(lGEvents.afterSlide + ".comment", function () { + try { + FB.XFBML.parse(); + } + catch (err) { + _this.$LG(window).on('fbAsyncInit', function () { + FB.XFBML.parse(); + }); + } + }); + }; + CommentBox.prototype.addDisqusComments = function () { + var _this_1 = this; + var $disqusThread = this.$LG('#disqus_thread'); + $disqusThread.remove(); + this.core.outer + .find('.lg-comment-body') + .append('
    '); + this.core.LGel.on(lGEvents.beforeSlide + ".comment", function () { + $disqusThread.html(''); + }); + this.core.LGel.on(lGEvents.afterSlide + ".comment", function (event) { + var index = event.detail.index; + // eslint-disable-next-line @typescript-eslint/no-this-alias + var _this = _this_1; + // DISQUS needs sometime to intialize when lightGallery is opened from direct url(hash plugin). + setTimeout(function () { + try { + DISQUS.reset({ + reload: true, + config: function () { + this.page.identifier = + _this.core.galleryItems[index].disqusIdentifier; + this.page.url = + _this.core.galleryItems[index].disqusURL; + this.page.title = + _this.settings.disqusConfig.title; + this.language = + _this.settings.disqusConfig.language; + }, + }); + } + catch (err) { + console.error('Make sure you have included disqus JavaScript code in your document. Ex - https://lg-disqus.disqus.com/admin/install/platforms/universalcode/'); + } + }, _this.core.lGalleryOn ? 0 : 1000); + }); + }; + CommentBox.prototype.destroy = function () { + this.core.LGel.off('.lg.comment'); + this.core.LGel.off('.comment'); + }; + return CommentBox; + }()); + + return CommentBox; + +}))); +//# sourceMappingURL=lg-comment.umd.js.map + +; +/*! + * lightgallery | 2.8.0-beta.3 | May 3rd 2024 + * http://www.lightgalleryjs.com/ + * Copyright (c) 2020 Sachin Neravath; + * @license GPLv3 + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.lgAutoplay = factory()); +}(this, (function () { 'use strict'; + + /*! ***************************************************************************** + 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 autoplaySettings = { + autoplay: true, + slideShowAutoplay: false, + slideShowInterval: 5000, + progressBar: true, + forceSlideShowAutoplay: false, + autoplayControls: true, + appendAutoplayControlsTo: '.lg-toolbar', + autoplayPluginStrings: { + toggleAutoplay: 'Toggle Autoplay', + }, + }; + + /** + * Creates the autoplay plugin. + * @param {object} element - lightGallery element + */ + var Autoplay = /** @class */ (function () { + function Autoplay(instance) { + this.core = instance; + // extend module default settings with lightGallery core settings + this.settings = __assign(__assign({}, autoplaySettings), this.core.settings); + return this; + } + Autoplay.prototype.init = function () { + var _this = this; + if (!this.settings.autoplay) { + return; + } + this.interval = false; + // Identify if slide happened from autoplay + this.fromAuto = true; + // Identify if autoplay canceled from touch/drag + this.pausedOnTouchDrag = false; + this.pausedOnSlideChange = false; + // append autoplay controls + if (this.settings.autoplayControls) { + this.controls(); + } + // Create progress bar + if (this.settings.progressBar) { + this.core.outer.append('
    '); + } + // Start autoplay + if (this.settings.slideShowAutoplay) { + this.core.LGel.once(lGEvents.slideItemLoad + ".autoplay", function () { + _this.startAutoPlay(); + }); + } + // cancel interval on touchstart and dragstart + this.core.LGel.on(lGEvents.dragStart + ".autoplay touchstart.lg.autoplay", function () { + if (_this.interval) { + _this.stopAutoPlay(); + _this.pausedOnTouchDrag = true; + } + }); + // restore autoplay if autoplay canceled from touchstart / dragstart + this.core.LGel.on(lGEvents.dragEnd + ".autoplay touchend.lg.autoplay", function () { + if (!_this.interval && _this.pausedOnTouchDrag) { + _this.startAutoPlay(); + _this.pausedOnTouchDrag = false; + } + }); + this.core.LGel.on(lGEvents.beforeSlide + ".autoplay", function () { + _this.showProgressBar(); + if (!_this.fromAuto && _this.interval) { + _this.stopAutoPlay(); + _this.pausedOnSlideChange = true; + } + else { + _this.pausedOnSlideChange = false; + } + _this.fromAuto = false; + }); + // restore autoplay if autoplay canceled from touchstart / dragstart + this.core.LGel.on(lGEvents.afterSlide + ".autoplay", function () { + if (_this.pausedOnSlideChange && + !_this.interval && + _this.settings.forceSlideShowAutoplay) { + _this.startAutoPlay(); + _this.pausedOnSlideChange = false; + } + }); + // set progress + this.showProgressBar(); + }; + Autoplay.prototype.showProgressBar = function () { + var _this = this; + if (this.settings.progressBar && this.fromAuto) { + var _$progressBar_1 = this.core.outer.find('.lg-progress-bar'); + var _$progress_1 = this.core.outer.find('.lg-progress'); + if (this.interval) { + _$progress_1.removeAttr('style'); + _$progressBar_1.removeClass('lg-start'); + setTimeout(function () { + _$progress_1.css('transition', 'width ' + + (_this.core.settings.speed + + _this.settings.slideShowInterval) + + 'ms ease 0s'); + _$progressBar_1.addClass('lg-start'); + }, 20); + } + } + }; + // Manage autoplay via play/stop buttons + Autoplay.prototype.controls = function () { + var _this = this; + var _html = ""; + // Append autoplay controls + this.core.outer + .find(this.settings.appendAutoplayControlsTo) + .append(_html); + this.core.outer + .find('.lg-autoplay-button') + .first() + .on('click.lg.autoplay', function () { + if (_this.core.outer.hasClass('lg-show-autoplay')) { + _this.stopAutoPlay(); + } + else { + if (!_this.interval) { + _this.startAutoPlay(); + } + } + }); + }; + // Autostart gallery + Autoplay.prototype.startAutoPlay = function () { + var _this = this; + this.core.outer + .find('.lg-progress') + .css('transition', 'width ' + + (this.core.settings.speed + + this.settings.slideShowInterval) + + 'ms ease 0s'); + this.core.outer.addClass('lg-show-autoplay'); + this.core.outer.find('.lg-progress-bar').addClass('lg-start'); + this.core.LGel.trigger(lGEvents.autoplayStart, { + index: this.core.index, + }); + this.interval = setInterval(function () { + if (_this.core.index + 1 < _this.core.galleryItems.length) { + _this.core.index++; + } + else { + _this.core.index = 0; + } + _this.core.LGel.trigger(lGEvents.autoplay, { + index: _this.core.index, + }); + _this.fromAuto = true; + _this.core.slide(_this.core.index, false, false, 'next'); + }, this.core.settings.speed + this.settings.slideShowInterval); + }; + // cancel Autostart + Autoplay.prototype.stopAutoPlay = function () { + if (this.interval) { + this.core.LGel.trigger(lGEvents.autoplayStop, { + index: this.core.index, + }); + this.core.outer.find('.lg-progress').removeAttr('style'); + this.core.outer.removeClass('lg-show-autoplay'); + this.core.outer.find('.lg-progress-bar').removeClass('lg-start'); + } + clearInterval(this.interval); + this.interval = false; + }; + Autoplay.prototype.closeGallery = function () { + this.stopAutoPlay(); + }; + Autoplay.prototype.destroy = function () { + if (this.settings.autoplay) { + this.core.outer.find('.lg-progress-bar').remove(); + } + // Remove all event listeners added by autoplay plugin + this.core.LGel.off('.lg.autoplay'); + this.core.LGel.off('.autoplay'); + }; + return Autoplay; + }()); + + return Autoplay; + +}))); +//# sourceMappingURL=lg-autoplay.umd.js.map + +; +/*! + * lightgallery | 2.8.0-beta.3 | May 3rd 2024 + * http://www.lightgalleryjs.com/ + * Copyright (c) 2020 Sachin Neravath; + * @license GPLv3 + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.lgRelativeCaption = factory()); +}(this, (function () { 'use strict'; + + /*! ***************************************************************************** + 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 relativeCaptionSettings = { + relativeCaption: false, + }; + + /** + * lightGallery caption for placing captions relative to the image + */ + var RelativeCaption = /** @class */ (function () { + function RelativeCaption(instance) { + // get lightGallery core plugin instance + this.core = instance; + // Override some of lightGallery default settings + var defaultSettings = { + addClass: this.core.settings.addClass + ' lg-relative-caption', + }; + this.core.settings = __assign(__assign({}, this.core.settings), defaultSettings); + // extend module default settings with lightGallery core settings + this.settings = __assign(__assign(__assign({}, relativeCaptionSettings), this.core.settings), defaultSettings); + return this; + } + RelativeCaption.prototype.init = function () { + var _this = this; + if (!this.settings.relativeCaption) { + return; + } + this.core.LGel.on(lGEvents.slideItemLoad + ".caption", function (event) { + var _a = event.detail, index = _a.index, delay = _a.delay; + setTimeout(function () { + if (index === _this.core.index) { + _this.setRelativeCaption(index); + } + }, delay); + }); + this.core.LGel.on(lGEvents.afterSlide + ".caption", function (event) { + var index = event.detail.index; + setTimeout(function () { + var slide = _this.core.getSlideItem(index); + if (slide.hasClass('lg-complete')) { + _this.setRelativeCaption(index); + } + }); + }); + this.core.LGel.on(lGEvents.beforeSlide + ".caption", function (event) { + var index = event.detail.index; + setTimeout(function () { + var slide = _this.core.getSlideItem(index); + slide.removeClass('lg-show-caption'); + }); + }); + this.core.LGel.on(lGEvents.containerResize + ".caption", function (event) { + _this.setRelativeCaption(_this.core.index); + }); + }; + RelativeCaption.prototype.setCaptionStyle = function (index, rect, slideWrapRect) { + var $subHtmlInner = this.core + .getSlideItem(index) + .find('.lg-relative-caption-item'); + var $subHtml = this.core.getSlideItem(index).find('.lg-sub-html'); + $subHtml.css('width', rect.width + "px").css('left', rect.left + "px"); + var subHtmlRect = $subHtmlInner.get().getBoundingClientRect(); + var bottom = slideWrapRect.bottom - rect.bottom - subHtmlRect.height; + $subHtml.css('top', "auto").css('bottom', Math.max(bottom, 0) + "px"); + }; + RelativeCaption.prototype.setRelativeCaption = function (index) { + var slide = this.core.getSlideItem(index); + if (slide.hasClass('lg-current')) { + var rect = this.core + .getSlideItem(index) + .find('.lg-object') + .get() + .getBoundingClientRect(); + var slideWrapRect = this.core + .getSlideItem(index) + .get() + .getBoundingClientRect(); + this.setCaptionStyle(index, rect, slideWrapRect); + slide.addClass('lg-show-caption'); + } + }; + RelativeCaption.prototype.destroy = function () { + this.core.LGel.off('.caption'); + }; + return RelativeCaption; + }()); + + return RelativeCaption; + +}))); +//# sourceMappingURL=lg-relative-caption.umd.js.map + +; +/*! + * lightgallery | 2.8.0-beta.3 | May 3rd 2024 + * http://www.lightgalleryjs.com/ + * Copyright (c) 2020 Sachin Neravath; + * @license GPLv3 + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.lgVimeoThumbnail = factory()); +}(this, (function () { 'use strict'; + + /*! ***************************************************************************** + 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 __awaiter(thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + } + + function __generator(thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } + } + + /** + * 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 vimeoSettings = { + showVimeoThumbnails: true, + showThumbnailWithPlayButton: false, + }; + + /** + * Creates the vimeo thumbnails plugin. + * @param {object} element - lightGallery element + */ + var VimeoThumbnail = /** @class */ (function () { + function VimeoThumbnail(instance) { + this.core = instance; + // extend module default settings with lightGallery core settings + this.settings = __assign(__assign({}, vimeoSettings), this.core.settings); + return this; + } + VimeoThumbnail.prototype.init = function () { + var _this = this; + if (!this.settings.showVimeoThumbnails) { + return; + } + this.core.LGel.on(lGEvents.init + ".vimeothumbnails", function (event) { + var pluginInstance = event.detail.instance; + var thumbCont = pluginInstance.$container + .find('.lg-thumb-outer') + .get(); + if (thumbCont) { + _this.setVimeoThumbnails(pluginInstance); + } + }); + }; + VimeoThumbnail.prototype.setVimeoThumbnails = function (dynamicGallery) { + return __awaiter(this, void 0, void 0, function () { + var i, item, slideVideoInfo, response, vimeoInfo; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + i = 0; + _a.label = 1; + case 1: + if (!(i < dynamicGallery.galleryItems.length)) return [3 /*break*/, 5]; + item = dynamicGallery.galleryItems[i]; + slideVideoInfo = item.__slideVideoInfo || {}; + if (!slideVideoInfo.vimeo) return [3 /*break*/, 4]; + return [4 /*yield*/, fetch('https://vimeo.com/api/oembed.json?url=' + + encodeURIComponent(item.src))]; + case 2: + response = _a.sent(); + return [4 /*yield*/, response.json()]; + case 3: + vimeoInfo = _a.sent(); + dynamicGallery.$container + .find('.lg-thumb-item') + .eq(i) + .find('img') + .attr('src', this.settings.showThumbnailWithPlayButton + ? vimeoInfo.thumbnail_url_with_play_button + : vimeoInfo.thumbnail_url); + _a.label = 4; + case 4: + i++; + return [3 /*break*/, 1]; + case 5: return [2 /*return*/]; + } + }); + }); + }; + VimeoThumbnail.prototype.destroy = function () { + // Remove all event listeners added by vimeothumbnails plugin + this.core.LGel.off('.lg.vimeothumbnails'); + this.core.LGel.off('.vimeothumbnails'); + }; + return VimeoThumbnail; + }()); + + return VimeoThumbnail; + +}))); +//# sourceMappingURL=lg-vimeo-thumbnail.umd.js.map + +; +/*! + * lightgallery | 2.8.0-beta.3 | May 3rd 2024 + * http://www.lightgalleryjs.com/ + * Copyright (c) 2020 Sachin Neravath; + * @license GPLv3 + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.lgMediumZoom = factory()); +}(this, (function () { 'use strict'; + + /*! ***************************************************************************** + 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; + }()); + + return MediumZoom; + +}))); +//# sourceMappingURL=lg-medium-zoom.umd.js.map + +; +"use strict";var $lgInlineContainer,inlineGallery,masonryElMixed,$galleryEventsDemo,galleryEventsDemo,colours,customTransitionsGallery,customEasingGallery,methodsInstance,$lgGalleryMethodsDemo,$lgDemoUpdateSlides,lgDemoUpdateSlides,updateSlidesGallery,slidesUpdated,jG,$dynamicGallery,dynamicEl,dynamicGallery,$dynamicimgGallery,dynamicimgEl,dynamicimgGallery,$infiniteScrollingGallery,infiniteScrollingGallery,images,$lgSwiper,swiper,$lgInlineVideoContainer,_inlineGallery,$flickityLG,flkty,container,$lfYoutubeForm;function _toConsumableArray(a){return _arrayWithoutHoles(a)||_iterableToArray(a)||_unsupportedIterableToArray(a)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(a,c){if(!a)return;if(typeof a=="string")return _arrayLikeToArray(a,c);var b=Object.prototype.toString.call(a).slice(8,-1);if(b==="Object"&&a.constructor&&(b=a.constructor.name),b==="Map"||b==="Set")return Array.from(a);if(b==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(b))return _arrayLikeToArray(a,c)}function _iterableToArray(a){if(typeof Symbol!="undefined"&&Symbol.iterator in Object(a))return Array.from(a)}function _arrayWithoutHoles(a){if(Array.isArray(a))return _arrayLikeToArray(a)}function _arrayLikeToArray(c,a){(a==null||a>c.length)&&(a=c.length);for(var b=0,d=new Array(a);b50?($('body').addClass('has-fixed-header'),$('#nav-header').addClass('fixed-header ')):($('body').removeClass('has-fixed-header'),$('#nav-header').removeClass('fixed-header '))});function getResponsiveThumbnailsSettings(){return $(window).width()<768?{thumbWidth:30,thumbHeight:'20px',thumbMargin:2}:{thumbWidth:100,thumbHeight:'80px',thumbMargin:5}}$lgInlineContainer=document.getElementById('inline-gallery-container'),$lgInlineContainer&&(inlineGallery=window.lightGallery($lgInlineContainer,_objectSpread(_objectSpread({container:$lgInlineContainer,dynamic:!0,thumbnail:!0,swipeToClose:!1,addClass:'lg-inline',mode:'lg-scale-up',slideShowAutoplay:!0,hash:!1,pager:!1,closable:!1,showMaximizeIcon:!0,rotate:!0,download:!0,slideDelay:400,plugins:[lgZoom,lgAutoplay,lgFullscreen,lgShare,lgThumbnail,lgRotate],appendSubHtmlTo:'.lg-item'},getResponsiveThumbnailsSettings()),{},{dynamicEl:[{src:'https://images.unsplash.com/photo-1542103749-8ef59b94f47e?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1400&q=80',responsive:'https://images.unsplash.com/photo-1542103749-8ef59b94f47e?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=480&q=80 480, https://images.unsplash.com/photo-1542103749-8ef59b94f47e?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=800&q=80 800',thumb:'https://images.unsplash.com/photo-1542103749-8ef59b94f47e?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=240&q=80',subHtml:'
    \n

    Photo by Dan

    \n

    Published on November 13, 2018

    \n
    '},{src:'https://images.unsplash.com/photo-1473876988266-ca0860a443b8?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1400&q=80',responsive:'https://images.unsplash.com/photo-1473876988266-ca0860a443b8?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=480&q=80 480, https://images.unsplash.com/photo-1473876988266-ca0860a443b8?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=800&q=80 800',thumb:'https://images.unsplash.com/photo-1473876988266-ca0860a443b8?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=240&q=80',subHtml:'
    \n

    Photo by Kyle Peyton

    \n

    Published on September 14, 2016

    \n
    '},{src:'https://images.unsplash.com/photo-1588953936179-d2a4734c5490?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=1400&q=80',responsive:'https://images.unsplash.com/photo-1588953936179-d2a4734c5490?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=480&q=80 480, https://images.unsplash.com/photo-1588953936179-d2a4734c5490?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=800&q=80 800',thumb:'https://images.unsplash.com/photo-1588953936179-d2a4734c5490?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=240&q=80',subHtml:'
    \n

    Photo by Garrett Jackson

    \n

    Published on May 8, 2020

    \n
    '},{src:'https://images.unsplash.com/photo-1591634616938-1dfa7ee2e617?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1400&q=80',responsive:'https://images.unsplash.com/photo-1591634616938-1dfa7ee2e617?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=480&q=80 480, https://images.unsplash.com/photo-1591634616938-1dfa7ee2e617?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=800&q=80 800',thumb:'https://images.unsplash.com/photo-1591634616938-1dfa7ee2e617?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=240&q=80',subHtml:'
    \n

    Photo by Brooke Cagle

    \n

    Description of the slide 4

    \n
    '},{src:'https://images.unsplash.com/photo-1543059509-6d53dbee1728?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=1400&q=80',responsive:'https://images.unsplash.com/photo-1543059509-6d53dbee1728?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=480&q=80 480, https://images.unsplash.com/photo-1543059509-6d53dbee1728?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=800&q=80 800',thumb:'https://images.unsplash.com/photo-1543059509-6d53dbee1728?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=240&q=80',subHtml:'
    \n

    Photo by Charles Postiaux

    \n

    Published on November 24, 2018

    \n
    '},{src:'https://images.unsplash.com/photo-1609902726285-00668009f004?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=1400&q=80',responsive:'https://images.unsplash.com/photo-1609902726285-00668009f004?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=480&q=80 480, https://images.unsplash.com/photo-1609902726285-00668009f004?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=800&q=80 800',thumb:'https://images.unsplash.com/photo-1609902726285-00668009f004?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=240&q=80',subHtml:'
    \n

    Photo by Bruno Adam

    \n

    Published on January 6, 2021

    \n
    '},{src:'https://images.unsplash.com/photo-1573007974656-b958089e9f7b?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1400&q=80',responsive:'https://images.unsplash.com/photo-1573007974656-b958089e9f7b?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=480&q=80 480, https://images.unsplash.com/photo-1573007974656-b958089e9f7b?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=800&q=80 800',thumb:'https://images.unsplash.com/photo-1573007974656-b958089e9f7b?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=240&q=80',subHtml:'
    \n

    Photo by Sigmund

    \n

    Published on November 6, 2019

    \n
    '},{src:'https://images.unsplash.com/photo-1579406842270-ea87c39a8a12?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1400&q=80',responsive:'https://images.unsplash.com/photo-1579406842270-ea87c39a8a12?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=480&q=80 480, https://images.unsplash.com/photo-1579406842270-ea87c39a8a12?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=800&q=80 800',thumb:'https://images.unsplash.com/photo-1579406842270-ea87c39a8a12?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=240&q=80',subHtml:'
    \n

    Photo by Parij Borgohain

    \n

    Published on January 19, 2020

    \n
    '},{src:'https://images.unsplash.com/photo-1598911543663-37d77962beb1?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=1400&q=80',responsive:'https://images.unsplash.com/photo-1598911543663-37d77962beb1?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=480&q=80 480, https://images.unsplash.com/photo-1598911543663-37d77962beb1?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=800&q=80 800',thumb:'https://images.unsplash.com/photo-1598911543663-37d77962beb1?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=240&q=80',subHtml:'
    \n

    Photo by Ines Piazzese

    \n

    Published on September 1, 2020

    \n
    '},{src:'https://images.unsplash.com/photo-1560885673-2cdc12600ec8?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=1400&q=80',responsive:'https://images.unsplash.com/photo-1560885673-2cdc12600ec8?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=480&q=80 480, https://images.unsplash.com/photo-1560885673-2cdc12600ec8?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=800&q=80 800',thumb:'https://images.unsplash.com/photo-1560885673-2cdc12600ec8?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=240&q=80',subHtml:'
    \n

    Photo by Richard Saunders

    \n

    Published on June 19, 2019

    \n
    '},{src:'https://images.unsplash.com/photo-1571292064306-669f0e758231?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1400&q=80',responsive:'https://images.unsplash.com/photo-1571292064306-669f0e758231?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=480&q=80 480, https://images.unsplash.com/photo-1571292064306-669f0e758231?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=800&q=80 800',thumb:'https://images.unsplash.com/photo-1571292064306-669f0e758231?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=240&q=80',subHtml:'
    \n

    Photo by J. Meier

    \n

    Published on October 17, 2019

    \n
    '},{src:'https://images.unsplash.com/photo-1601935111741-ae98b2b230b0?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=1400&q=80',responsive:'https://images.unsplash.com/photo-1601935111741-ae98b2b230b0?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=480&q=80 480, https://images.unsplash.com/photo-1601935111741-ae98b2b230b0?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=800&q=80 800',thumb:'https://images.unsplash.com/photo-1601935111741-ae98b2b230b0?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=240&q=80',subHtml:'
    \n

    Photo by Brooke Cagle

    \n

    Published on October 6, 2020

    \n
    '}]})),inlineGallery.openGallery()),window.lightGallery(document.getElementById('gallery-demo-animated-thumbnails'),_objectSpread({pager:!1,hash:!1,plugins:[lgZoom,lgAutoplay,lgFullscreen,lgPager,lgRotate,lgShare,lgThumbnail,lgVideo]},getResponsiveThumbnailsSettings())),jQuery('#animated-thumbnails-wp').justifiedGallery({captions:!1,lastRow:'hide',rowHeight:120,maxRowsCount:4,margins:5}).on('jg.complete',function(){window.lightGallery(document.getElementById('animated-thumbnails-wp'),_objectSpread(_objectSpread({autoplayFirstVideo:!1,pager:!1,galleryId:'nature',plugins:[lgZoom,lgAutoplay,lgHash,lgFullscreen,lgPager,lgRotate,lgShare,lgThumbnail,lgVideo]},getResponsiveThumbnailsSettings()),{},{preload:3,videoMaxWidth:'1400px',mobileSettings:{controls:!1,showCloseIcon:!1,download:!1,rotate:!1}}))}),jQuery('#animated-thumbnails-gallery').justifiedGallery({captions:!1,lastRow:'hide',rowHeight:180,margins:5}).on('jg.complete',function(){window.lightGallery(document.getElementById('animated-thumbnails-gallery'),_objectSpread(_objectSpread({autoplayFirstVideo:!1,pager:!1,galleryId:'nature',plugins:[lgZoom,lgAutoplay,lgHash,lgFullscreen,lgPager,lgRotate,lgShare,lgThumbnail,lgVideo]},getResponsiveThumbnailsSettings()),{},{preload:3,videoMaxWidth:'1400px',mobileSettings:{controls:!1,showCloseIcon:!1,download:!1,rotate:!1}}))}),masonryElMixed=document.getElementById('static-thumbnails-gallery'),masonryElMixed&&imagesLoaded(document.getElementById('static-thumbnails-gallery'),function(){new Masonry(masonryElMixed,{temSelector:'.gallery-item',percentPosition:!0,gutter:0}),window.lightGallery(masonryElMixed,{animateThumb:!1,pager:!1,plugins:[lgZoom,lgAutoplay,lgFullscreen,lgThumbnail],hash:!1,zoomFromOrigin:!1,toggleThumb:!0,allowMediaOverlap:!0})}),jQuery('#customize-thumbnails-gallery').justifiedGallery({captions:!1,lastRow:'hide',rowHeight:180,margins:5}).on('jg.complete',function(){window.lightGallery(document.getElementById('customize-thumbnails-gallery'),{animateThumb:!1,addClass:'lg-custom-thumbnails',appendThumbnailsTo:'.lg-outer',pager:!1,hash:!1,plugins:[lgZoom,lgAutoplay,lgFullscreen,lgThumbnail],allowMediaOverlap:!0})}),$galleryEventsDemo=jQuery('#gallery-events-demo'),galleryEventsDemo=$galleryEventsDemo[0],galleryEventsDemo&&(colours=['#6a7583','#1e304b','#315460','#080607'],galleryEventsDemo.addEventListener('lgBeforeSlide',function(a){var b=a.detail.index;document.querySelector('.lg-backdrop').style.backgroundColor=colours[b]}),$galleryEventsDemo.justifiedGallery({captions:!1,lastRow:'justify',rowHeight:180,margins:5}).on('jg.complete',function(){window.lightGallery(galleryEventsDemo,{zoom:!1,thumbnail:!1,addClass:'lg-events-demo-outer',rotate:!1,pager:!1,plugins:[],hash:!1,fullScreen:!1,download:!1})}));function customTransitions(a){jQuery('#gallery-transitions-demo').justifiedGallery({captions:!1,lastRow:'justify',rowHeight:180,margins:5}).on('jg.complete',function(){customTransitionsGallery=window.lightGallery(document.getElementById('gallery-transitions-demo'),{mode:a,zoom:!1,thumbnail:!1,rotate:!1,pager:!1,plugins:[],hash:!1,fullScreen:!1,download:!1})})}customTransitions('lg-slide'),jQuery('#select-trans').on('change',function(){customTransitionsGallery.destroy(),jQuery('#gallery-transitions-demo').justifiedGallery('destroy'),jQuery('#gallery-transitions-demo').off('jg.complete'),customTransitions(jQuery(this).val())});function initCustomEasing(a){jQuery('#gallery-custom-easing-demo').justifiedGallery({captions:!1,lastRow:'justify',rowHeight:180,margins:5}).on('jg.complete',function(){customEasingGallery=window.lightGallery(document.getElementById('gallery-custom-easing-demo'),{easing:a,zoom:!1,thumbnail:!1,rotate:!1,pager:!1,hash:!1,plugins:[],speed:1e3,fullScreen:!1,download:!1})})}initCustomEasing('cubic-bezier(0.680, -0.550, 0.265, 1.550)'),jQuery('#select-easing').on('change',function(){var a=jQuery(this).val();prompt('You can copy cubic-bezier from here',a),customEasingGallery.destroy(),jQuery('#gallery-custom-easing-demo').justifiedGallery('destroy'),jQuery('#gallery-custom-easing-demo').off('jg.complete'),initCustomEasing('cubic-bezier('+a+')')}),$lgGalleryMethodsDemo=document.getElementById('gallery-methods-demo'),$lgGalleryMethodsDemo&&($lgGalleryMethodsDemo.addEventListener('lgInit',function(){var b='',c='',a=document.querySelector('.lg-content');a.insertAdjacentHTML('beforeend',c),a.insertAdjacentHTML('beforeend',b),document.querySelector('.lg-next').addEventListener('click',function(){methodsInstance.goToNextSlide()}),document.querySelector('.lg-prev').addEventListener('click',function(){methodsInstance.goToPrevSlide()})}),jQuery('#gallery-methods-demo').justifiedGallery({captions:!1,lastRow:'justify',rowHeight:180,margins:5}).on('jg.complete',function(){methodsInstance=window.lightGallery($lgGalleryMethodsDemo,{zoom:!1,thumbnail:!1,rotate:!1,fullScreen:!1,plugins:[lgZoom],addClass:'lg-methods-demo',controls:!1,download:!1,pager:!1,hash:!1})})),$lgDemoUpdateSlides=jQuery('#gallery-update-slides-demo'),lgDemoUpdateSlides=$lgDemoUpdateSlides.get(0),updateSlidesGallery=null,slidesUpdated=!1,lgDemoUpdateSlides&&(lgDemoUpdateSlides.addEventListener('lgAfterClose',function(){slidesUpdated&&(setTimeout(function(){$lgDemoUpdateSlides.justifiedGallery('destroy'),$lgDemoUpdateSlides.off('jg.complete'),$('.lg-added-item').attr('src','https://images.unsplash.com/photo-1609342122563-a43ac8917a3a?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=240&q=100')},100),setTimeout(function(){$lgDemoUpdateSlides.justifiedGallery({captions:!1,lastRow:'center',rowHeight:180,margins:5}).on('jg.complete',function(){updateSlidesGallery.refresh()}),slidesUpdated=!1},200))}),lgDemoUpdateSlides.addEventListener('lgInit',function(b){var a=b.detail.instance,c='',d='';a.outer.find('.lg-toolbar').append(d),a.outer.find('.lg-toolbar').append(c),a.outer.find('#lg-add').on('click',function(){var b=[].concat(_toConsumableArray(a.galleryItems),[{src:'https://images.unsplash.com/photo-1609342122563-a43ac8917a3a?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=1600&q=80',thumb:'https://images.unsplash.com/photo-1609342122563-a43ac8917a3a?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=240&q=100',subHtml:'
    \n

    Photo by Brooke Cagle

    \n

    Description of the slide 1

    \n
    '}]);$lgDemoUpdateSlides.append('\n \n '),a.updateSlides(b,a.index),slidesUpdated=!0}),a.outer.find('#lg-delete').on('click',function(){var b=JSON.parse(JSON.stringify(a.galleryItems));b.shift(),a.updateSlides(b,1),$lgDemoUpdateSlides.children().first().remove(),slidesUpdated=!0})}),jG=$lgDemoUpdateSlides.justifiedGallery({captions:!1,lastRow:'center',rowHeight:180,margins:5}),jG.on('jg.complete',function(){updateSlidesGallery=window.lightGallery(lgDemoUpdateSlides,{addClass:'lg-update-slide-demo',controls:!1,pager:!1,hash:!1,plugins:[lgZoom,lgAutoplay,lgFullscreen,lgShare,lgThumbnail],download:!1})})),$dynamicGallery=jQuery('#dynamic-gallery-demo'),dynamicEl=[{src:'https://images.unsplash.com/photo-1609342122563-a43ac8917a3a?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=1400&q=80',responsive:'https://images.unsplash.com/photo-1609342122563-a43ac8917a3a?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=480&q=80 480, https://images.unsplash.com/photo-1609342122563-a43ac8917a3a?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=800&q=80 800',thumb:'https://images.unsplash.com/photo-1609342122563-a43ac8917a3a?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=240&q=80'},{src:'https://images.unsplash.com/photo-1505820013142-f86a3439c5b2?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=1400&q=80',responsive:'https://images.unsplash.com/photo-1505820013142-f86a3439c5b2?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=480&q=80 480, https://images.unsplash.com/photo-1505820013142-f86a3439c5b2?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=800&q=80 800',thumb:'https://images.unsplash.com/photo-1505820013142-f86a3439c5b2?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=240&q=80'},{src:'https://images.unsplash.com/photo-1477322524744-0eece9e79640?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1400&q=80',responsive:'https://images.unsplash.com/photo-1477322524744-0eece9e79640?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=480&q=80 480, https://images.unsplash.com/photo-1477322524744-0eece9e79640?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=800&q=80 800',thumb:'https://images.unsplash.com/photo-1477322524744-0eece9e79640?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=240&q=80'},{src:'https://images.unsplash.com/photo-1469474968028-56623f02e42e?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1400&q=80',responsive:'https://images.unsplash.com/photo-1469474968028-56623f02e42e?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=480&q=80 480, https://images.unsplash.com/photo-1469474968028-56623f02e42e?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=800&q=80 800',thumb:'https://images.unsplash.com/photo-1469474968028-56623f02e42e?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=240&q=80'}],dynamicGallery=window.lightGallery($dynamicGallery[0],{dynamic:!0,hash:!1,rotate:!1,plugins:[lgZoom,lgAutoplay,lgFullscreen,lgPager,lgRotate,lgShare,lgVideo],dynamicEl}),$dynamicGallery.on('click',function(){dynamicGallery.openGallery(2)}),$dynamicimgGallery=jQuery('#dynamic-mode-images'),dynamicimgEl=[{src:'https://images.unsplash.com/photo-1609342122563-a43ac8917a3a?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=1600&q=80',thumb:'https://images.unsplash.com/photo-1609342122563-a43ac8917a3a?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=240&q=80'},{src:'https://images.unsplash.com/photo-1526281216101-e55f00f0db7a?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=1600&q=80',thumb:'https://images.unsplash.com/photo-1526281216101-e55f00f0db7a?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=240&q=80'},{src:'https://images.unsplash.com/photo-1418065460487-3e41a6c84dc5?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1600&q=80',thumb:'https://images.unsplash.com/photo-1418065460487-3e41a6c84dc5?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=240&q=80'},{src:'https://images.unsplash.com/photo-1505820013142-f86a3439c5b2?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=1600&q=80',thumb:'https://images.unsplash.com/photo-1505820013142-f86a3439c5b2?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=240&q=80'},{src:'https://images.unsplash.com/photo-1477322524744-0eece9e79640?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1600&q=80',thumb:'https://images.unsplash.com/photo-1477322524744-0eece9e79640?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=240&q=80'},{src:'https://images.unsplash.com/photo-1469474968028-56623f02e42e?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1400&q=80',thumb:'https://images.unsplash.com/photo-1469474968028-56623f02e42e?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=240&q=80'},{src:"https://images.unsplash.com/photo-1510414842594-a61c69b5ae57?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=1440&q=80",thumb:"https://images.unsplash.com/photo-1510414842594-a61c69b5ae57?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=2407&q=80"},{src:"https://images.unsplash.com/photo-1596370743446-6a7ef43a36f9?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1440&q=80",thumb:"https://images.unsplash.com/photo-1596370743446-6a7ef43a36f9?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=240&q=80"},{src:"https://images.unsplash.com/photo-1464852045489-bccb7d17fe39?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1440&q=80",thumb:"https://images.unsplash.com/photo-1464852045489-bccb7d17fe39?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=240&q=80"},{src:"https://images.unsplash.com/photo-1483728642387-6c3bdd6c93e5?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1440&q=80",thumb:"https://images.unsplash.com/photo-1483728642387-6c3bdd6c93e5?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=240&q=80"},{src:"https://images.unsplash.com/photo-1510011560141-62c7e8fc7908?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1440&q=80",thumb:"https://images.unsplash.com/photo-1510011560141-62c7e8fc7908?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=240&q=80"},{src:"https://images.unsplash.com/photo-1586276393635-5ecd8a851acc?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1440&q=80",thumb:"https://images.unsplash.com/photo-1586276393635-5ecd8a851acc?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=240&q=80"},{src:"https://images.unsplash.com/photo-1471931452361-f5ff1faa15ad?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1440&q=80",thumb:"https://images.unsplash.com/photo-1471931452361-f5ff1faa15ad?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=240&q=80"},{src:"https://images.unsplash.com/photo-1508766206392-8bd5cf550d1c?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1440&q=80",thumb:"https://images.unsplash.com/photo-1508766206392-8bd5cf550d1c?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=240&q=80"},{src:"https://images.unsplash.com/photo-1610448721566-47369c768e70?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1440&q=80",thumb:"https://images.unsplash.com/photo-1610448721566-47369c768e70?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=240&q=80"}],dynamicimgGallery=window.lightGallery($dynamicimgGallery[0],{dynamic:!0,hash:!1,rotate:!1,plugins:[lgZoom,lgAutoplay,lgFullscreen,lgPager,lgRotate,lgShare,lgVideo],dynamicEl:dynamicimgEl}),$dynamicimgGallery.on('click',function(){dynamicimgGallery.openGallery(5)}),$('#gallery-dynamic-thumbnails .gallery-item').on('click',function(){var a=$(this).index();dynamicimgGallery.openGallery(a)}),jQuery('#gallery-dynamic-thumbnails').justifiedGallery({captions:!1,lastRow:'justify',rowHeight:180,margins:5}),$('#dynamic-gallery-demo-load-more').on('click',function(){var a=[{src:'https://images.unsplash.com/photo-1598911543663-37d77962beb1?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=1400&q=80',responsive:'https://images.unsplash.com/photo-1598911543663-37d77962beb1?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=480&q=80 480, https://images.unsplash.com/photo-1598911543663-37d77962beb1?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=800&q=80 800',thumb:'https://images.unsplash.com/photo-1598911543663-37d77962beb1?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=240&q=80'},{src:'https://images.unsplash.com/photo-1560885673-2cdc12600ec8?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=1400&q=80',responsive:'https://images.unsplash.com/photo-1560885673-2cdc12600ec8?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=480&q=80 480, https://images.unsplash.com/photo-1560885673-2cdc12600ec8?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=800&q=80 800',thumb:'https://images.unsplash.com/photo-1560885673-2cdc12600ec8?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=240&q=80'}],b=[].concat(dynamicEl,a);dynamicGallery.refresh(b),dynamicGallery.openGallery(4)}),window.lightGallery(document.getElementById('open-website'),{selector:'this',download:!1,mobileSettings:{controls:!0}}),window.lightGallery(document.getElementById('open-google-map'),{selector:'this',download:!1,mobileSettings:{controls:!0}}),window.lightGallery(document.getElementById('open-pdf'),{selector:'this',download:!1,mobileSettings:{controls:!0}}),jQuery('#gallery-videos-demo').justifiedGallery({captions:!1,lastRow:'justify',rowHeight:180,margins:5}).on('jg.complete',function(){window.lightGallery(document.getElementById('gallery-videos-demo'),{thumbnail:!1,pager:!1,plugins:[lgAutoplay,lgFullscreen,lgShare,lgThumbnail,lgVideo],hash:!1,preload:0})}),jQuery('#gallery-videojs-demo').justifiedGallery({captions:!1,lastRow:'justify',rowHeight:180,margins:5}).on('jg.complete',function(){window.lightGallery(document.getElementById('gallery-videojs-demo'),{pager:!1,hash:!1,preload:0,plugins:[lgAutoplay,lgFullscreen,lgShare,lgThumbnail,lgVideo],videojs:!0,videojsOptions:{muted:!0}})}),jQuery('#gallery-hash-demo').justifiedGallery({captions:!1,lastRow:'justify',rowHeight:180,margins:5}).on('jg.complete',function(){window.lightGallery(document.getElementById('gallery-hash-demo'),{thumbnail:!1,plugins:[lgHash],pager:!1,galleryId:1,customSlideName:!1})}),jQuery('#gallery-custom-hash-demo').justifiedGallery({captions:!1,lastRow:'justify',rowHeight:180,margins:5}).on('jg.complete',function(){window.lightGallery(document.getElementById('gallery-custom-hash-demo'),{thumbnail:!1,plugins:[lgZoom,lgHash,lgAutoplay,lgFullscreen,lgPager,lgRotate,lgShare,lgThumbnail,lgVideo],galleryId:2,pager:!1,customSlideName:!0})}),jQuery('#gallery-share-demo').justifiedGallery({captions:!1,lastRow:'justify',rowHeight:180,margins:5}).on('jg.complete',function(){window.lightGallery(document.getElementById('gallery-share-demo'),{thumbnail:!1,pager:!1,hash:!0,plugins:[lgZoom,lgShare,lgThumbnail,lgHash]})}),jQuery('#gallery-zoom-from-origin-demo').justifiedGallery({captions:!1,lastRow:'justify',rowHeight:180,margins:5}).on('jg.complete',function(){window.lightGallery(document.getElementById('gallery-zoom-from-origin-demo'),{thumbnail:!1,pager:!1,hash:!0,plugins:[lgZoom,lgShare,lgThumbnail,lgHash]})}),jQuery('#gallery-captions-demo').justifiedGallery({captions:!1,lastRow:'justify',rowHeight:180,margins:5}).on('jg.complete',function(){window.lightGallery(document.getElementById('gallery-captions-demo'),{thumbnail:!1,plugins:[lgZoom,lgShare],allowMediaOverlap:!0,pager:!0,hash:!0})}),jQuery('#gallery-animated-captions-demo').justifiedGallery({captions:!1,lastRow:'justify',rowHeight:180,margins:5}).on('jg.complete',function(){window.lightGallery(document.getElementById('gallery-animated-captions-demo'),{speed:500,allowMediaOverlap:!0,appendSubHtmlTo:'.lg-item',slideDelay:400})}),jQuery('#gallery-srcset-demo').justifiedGallery({captions:!1,lastRow:'justify',rowHeight:180,margins:5}).on('jg.complete',function(){window.lightGallery(document.getElementById('gallery-srcset-demo'),{thumbnail:!1,plugins:[lgZoom,lgShare],allowMediaOverlap:!0,pager:!0,hash:!0})}),jQuery('#gallery-picture-demo').justifiedGallery({captions:!1,lastRow:'justify',rowHeight:180,margins:5}).on('jg.complete',function(){window.lightGallery(document.getElementById('gallery-picture-demo'),{thumbnail:!1,plugins:[lgZoom,lgShare],allowMediaOverlap:!0,pager:!0,hash:!0})}),jQuery('#responsive-images-demo').justifiedGallery({captions:!1,lastRow:'justify',rowHeight:180,margins:5}).on('jg.complete',function(){window.lightGallery(document.getElementById('responsive-images-demo'),{thumbnail:!1,pager:!0,hash:!0,plugins:[lgAutoplay,lgThumbnail]})}),jQuery('#gallery-fb-comments-demo').justifiedGallery({captions:!1,lastRow:'justify',rowHeight:180,margins:5}).on('jg.complete',function(){window.lightGallery(document.getElementById('gallery-fb-comments-demo'),{thumbnail:!1,pager:!1,hash:!0,plugins:[lgZoom,lgComment,lgShare,lgThumbnail],commentBox:!0,disqusComments:!1,fbComments:!0})}),jQuery('#gallery-disqus-comments-demo').justifiedGallery({captions:!1,lastRow:'justify',rowHeight:180,margins:5}).on('jg.complete',function(){window.lightGallery(document.getElementById('gallery-disqus-comments-demo'),{thumbnail:!1,pager:!1,hash:!0,plugins:[lgComment,lgRotate],commentBox:!0,disqusComments:!0,fbComments:!1})}),jQuery('#gallery-mixed-content-demo').justifiedGallery({captions:!1,lastRow:'justify',rowHeight:180,margins:5}).on('jg.complete',function(){window.lightGallery(document.getElementById('gallery-mixed-content-demo'),{thumbnail:!1,pager:!1,hash:!0,plugins:[lgZoom,lgAutoplay,lgFullscreen,lgPager,lgRotate,lgShare,lgThumbnail,lgVideo]})}),jQuery('#gallery-mixed-content-all-demo').justifiedGallery({captions:!1,rowHeight:130,margins:5}).on('jg.complete',function(){window.lightGallery(document.getElementById('gallery-mixed-content-all-demo'),{thumbnail:!1,pager:!1,hash:!0,plugins:[lgZoom,lgAutoplay,lgFullscreen,lgPager,lgRotate,lgShare,lgThumbnail,lgVideo]})}),jQuery('#gallery-share-reddit-demo').justifiedGallery({captions:!1,lastRow:'justify',rowHeight:180,margins:5}).on('jg.complete',function(){window.lightGallery(document.getElementById('gallery-share-reddit-demo'),{thumbnail:!1,pager:!1,hash:!0,galleryId:2,plugins:[lgZoom,lgAutoplay,lgHash,lgFullscreen,lgShare,lgThumbnail],addClass:'lg-custom-share-demo',extraProps:['redditTitle'],additionalShareOptions:[{selector:'.lg-share-reddit',dropdownHTML:'
  • redditReddit
  • ',generateLink:function(a){var b=encodeURIComponent(window.location.href),c=a.redditTitle,d="//reddit.com/submit?url=".concat(b,"&title=").concat(c);return d}}]})}),lightGallery(document.getElementById('gallery-demo-super-customizable'),{pager:!1,hash:!1,mode:'lg-zoom-in-out',selector:'.gallery-item',addClass:'lightGallery-white-theme',plugins:[lgZoom,lgAutoplay,lgFullscreen,lgPager,lgRotate,lgShare,lgThumbnail,lgVideo],mobileSettings:{controls:!1,showCloseIcon:!1,download:!1,rotate:!1}}),$infiniteScrollingGallery=$('#infinite-scroll-gallery'),$('#infinite-scroll-gallery').length&&(infiniteScrollingGallery=lightGallery($infiniteScrollingGallery[0],{plugins:[lgThumbnail,lgZoom]}),images='\n \n \n \n \n \n \n \n \n \n \n \n ',$(window).on('scroll',function(){$(window).scrollTop()>=$(document).height()-$(window).height()-($(document).height()-($infiniteScrollingGallery.position().top+$infiniteScrollingGallery.outerHeight(!0)))&&($('#infinite-scroll-gallery').append(images),infiniteScrollingGallery.refresh())})),lightGallery(document.querySelector('.medium-zoom-demo'),{selector:'.blog-images',plugins:[lgMediumZoom]}),lightGallery(document.querySelector('.blog-wrapper'),{selector:'.blog-images',getCaptionFromTitleOrAlt:!1,backgroundColor:"#FFF",plugins:[lgMediumZoom]}),$lgSwiper=document.getElementById('lg-swipper'),$lgSwiper&&(swiper=new Swiper('.swiper',{navigation:{nextEl:'.swiper-button-next',prevEl:'.swiper-button-prev'},on:{init:function(){var a=lightGallery($lgSwiper);$lgSwiper.addEventListener('lgBeforeClose',function(){swiper.slideTo(a.index,0)})}}})),$lgInlineVideoContainer=document.getElementById('inline-video-gallery-container'),$lgInlineVideoContainer&&(_inlineGallery=window.lightGallery($lgInlineVideoContainer,_objectSpread(_objectSpread({container:$lgInlineVideoContainer,dynamic:!0,thumbnail:!0,swipeToClose:!1,addClass:'lg-inline',mode:'lg-scale-up',slideShowAutoplay:!1,hash:!1,pager:!1,closable:!1,showMaximizeIcon:!0,rotate:!0,download:!0,slideDelay:400,plugins:[lgZoom,lgAutoplay,lgFullscreen,lgPager,lgRotate,lgShare,lgThumbnail,lgVideo],appendSubHtmlTo:'.lg-item'},getResponsiveThumbnailsSettings()),{},{dynamicEl:[{src:'//vimeo.com/112836958',poster:location.origin+'/images/demo/vimeo-video-poster.jpg',thumb:location.origin+'/images/demo/vimeo-video-poster.jpg',subHtml:"

    Nature

    Video by Charlie Kaye

    "},{size:'1280-720',src:'//www.youtube.com/watch?v=EIUJfXk3_3w',poster:'https://img.youtube.com/vi/EIUJfXk3_3w/maxresdefault.jpg',thumb:'https://img.youtube.com/vi/EIUJfXk3_3w/maxresdefault.jpg',subHtml:'

    Puffin Hunts Fish To Feed Puffling | Blue Planet II | BBC Earth

    This puffin parent must go out to sea to feed his chick, but he must evade other birds that would rob him.

    '},{source:[{src:location.origin+'/videos/video1.mp4',type:'video/mp4'}],tracks:[{src:location.origin+'/videos/title.txt',kind:'captions',srclang:'en',label:'English',default:'true'}],attributes:{preload:!1,controls:!0},poster:location.origin+'/images/demo/html5-video-poster.jpg',thumb:location.origin+'/images/demo/html5-video-poster.jpg',subHtml:"

    'Peck Pocketed' by Kevin Herron | Disney Favorite

    "},{src:'https://private-sharing.wistia.com/medias/mwhrulrucj',poster:location.origin+'/images/demo/wistia-video-poster.jpeg',thumb:location.origin+'/images/demo/wistia-video-poster.jpeg',subHtml:'

    Thank You!

    Sample Wistia video

    '}]})),_inlineGallery.openGallery()),jQuery(document).ready(function(){var d=document.getElementById('bootstrap-gallery-carousel'),a,e,f,g,b,h,c;d&&(a=!1,e=jQuery('#bootstrap-gallery-carousel'),e.carousel({keyboard:!0}),a=!0,a&&(f=document.querySelector('.carousel-inner'),window.lightGallery(f,{thumbnail:!0,zoomFromOrigin:!1,pager:!1,plugins:[lgZoom,lgAutoplay,lgFullscreen,lgRotate,lgShare],hash:!1,preload:4,selector:'.lg-item'}))),g=document.getElementById('owl-carousel-gallery-demo'),g&&(b=jQuery('#owl-carousel-gallery-demo'),b.on('initialized.owl.carousel',function(b){var a=document.querySelector('.owl-stage');window.lightGallery(a,{plugins:[lgZoom,lgAutoplay,lgFullscreen,lgRotate,lgShare,lgThumbnail],selector:'.carousel-cell'})}),b.owlCarousel({center:!0,items:1,loop:!1,margin:10,nav:!0})),h=document.getElementById('slick-carousel-gallery-demo'),h&&(c=$('#slick-carousel-gallery-demo'),c.on('init',function(b,c,d){console.log('Slick slider initialized');var a=document.querySelector('.slick-track');window.lightGallery(a,{pager:!1,plugins:[lgZoom,lgAutoplay,lgFullscreen,lgRotate,lgShare,lgThumbnail],hash:!1,preload:4})}),c.slick({centerMode:!0,centerPadding:'60px',slidesToShow:3,customPaging:'10px',focusOnSelect:!0,swipe:!1,variableWidth:!0,responsive:[{breakpoint:768,settings:{arrows:!1,centerMode:!0,centerPadding:'40px',slidesToShow:3}},{breakpoint:480,settings:{arrows:!1,centerMode:!0,centerPadding:'40px',slidesToShow:1}}]}))}),$flickityLG=document.querySelector('#flickity-carousel-gallery-demo'),$flickityLG&&(flkty=new Flickity($flickityLG,{cellAlign:'center',pageDots:!1,contain:!0,autoPlay:!0,on:{ready:function(){var a=document.querySelector('.flickity-slider');window.lightGallery(a,{selector:'.lg-item',plugins:[lgZoom,lgAutoplay,lgFullscreen,lgRotate,lgShare,lgThumbnail]})}}})),container=document.querySelector('#bootstrap-image-gallery'),window.lightGallery(container,{selector:'.lg-item',zoomFromOrigin:!0,download:!0,thumbnail:!0,plugins:[lgZoom,lgAutoplay,lgFullscreen,lgRotate,lgShare,lgThumbnail]}),$(document).ready(function(){var a=document.querySelector('#masonry-gallery-demo'),b=new Masonry(a,{itemSelector:'.lg-item',columnWidth:'.grid-sizer',percentPosition:!0,gutter:10,horizontalOrder:!0,fitWidth:!0});imagesLoaded(a).on('progress',function(){b.layout()}),window.lightGallery(a,{thumbnail:!0,pager:!0,plugins:[lgAutoplay,lgFullscreen,lgShare,lgThumbnail,lgVideo,lgRotate],hash:!1,preload:0,selector:'.lg-item'})}),window.lightGallery(document.getElementById('bootstrap-video-gallery'),{thumbnail:!0,pager:!0,plugins:[lgAutoplay,lgFullscreen,lgShare,lgThumbnail,lgVideo,lgRotate],hash:!1,preload:0}),window.lightGallery(document.getElementById('bootstrap-video-carousel'),{thumbnail:!0,pager:!0,plugins:[lgAutoplay,lgFullscreen,lgShare,lgThumbnail,lgVideo,lgRotate],hash:!1,preload:0,selector:'.lg-item'}),$lfYoutubeForm=document.getElementById('thumbnailForm'),$lfYoutubeForm&&$lfYoutubeForm.addEventListener('submit',function(e){var a,b,c,d;if(e.preventDefault(),a=document.getElementById('url').value,!a){alert('Please enter a YouTube video URL');return}if(b=a.match(/\/\/(?:www\.)?youtu(?:\.be|be\.com|be-nocookie\.com)\/(?:watch\?v=|embed\/)?([a-z0-9\-\_\%]+)([\&|?][\S]*)*/i),c=b&&b[1],!c){alert('Invalid URL');return}d=['maxresdefault','hqdefault','sddefault','mqdefault','default'],d.forEach(function(a){var d="https://img.youtube.com/vi/".concat(c,"/").concat(a,".jpg"),b=document.getElementById(a),e=b.querySelector('img'),f=b.querySelector('.download-btn');e.src=d,f.href=d,e.alt="Thumbnail ".concat(a),b.style.display='block'})}) \ No newline at end of file diff --git a/main.b75222db409f6a33ae29704e960b0e6653e6ab3c0e4927189964e50611540b8b90a7ede82e6c156e344964fc08f8aaa677aff098b42c1caa54ec00acf89b9e16.js b/main.b75222db409f6a33ae29704e960b0e6653e6ab3c0e4927189964e50611540b8b90a7ede82e6c156e344964fc08f8aaa677aff098b42c1caa54ec00acf89b9e16.js new file mode 100644 index 00000000..ea6fd175 --- /dev/null +++ b/main.b75222db409f6a33ae29704e960b0e6653e6ab3c0e4927189964e50611540b8b90a7ede82e6c156e344964fc08f8aaa677aff098b42c1caa54ec00acf89b9e16.js @@ -0,0 +1,7443 @@ +/*! lazysizes - v5.3.0 */ + +!function(e){var t=function(u,D,f){"use strict";var k,H;if(function(){var e;var t={lazyClass:"lazyload",loadedClass:"lazyloaded",loadingClass:"lazyloading",preloadClass:"lazypreload",errorClass:"lazyerror",autosizesClass:"lazyautosizes",fastLoadedClass:"ls-is-cached",iframeLoadMode:0,srcAttr:"data-src",srcsetAttr:"data-srcset",sizesAttr:"data-sizes",minSize:40,customMedia:{},init:true,expFactor:1.5,hFac:.8,loadMode:2,loadHidden:true,ricTimeout:0,throttleDelay:125};H=u.lazySizesConfig||u.lazysizesConfig||{};for(e in t){if(!(e in H)){H[e]=t[e]}}}(),!D||!D.getElementsByClassName){return{init:function(){},cfg:H,noSupport:true}}var O=D.documentElement,i=u.HTMLPictureElement,P="addEventListener",$="getAttribute",q=u[P].bind(u),I=u.setTimeout,U=u.requestAnimationFrame||I,o=u.requestIdleCallback,j=/^picture$/i,r=["load","error","lazyincluded","_lazyloaded"],a={},G=Array.prototype.forEach,J=function(e,t){if(!a[t]){a[t]=new RegExp("(\\s|^)"+t+"(\\s|$)")}return a[t].test(e[$]("class")||"")&&a[t]},K=function(e,t){if(!J(e,t)){e.setAttribute("class",(e[$]("class")||"").trim()+" "+t)}},Q=function(e,t){var a;if(a=J(e,t)){e.setAttribute("class",(e[$]("class")||"").replace(a," "))}},V=function(t,a,e){var i=e?P:"removeEventListener";if(e){V(t,a)}r.forEach(function(e){t[i](e,a)})},X=function(e,t,a,i,r){var n=D.createEvent("Event");if(!a){a={}}a.instance=k;n.initEvent(t,!i,!r);n.detail=a;e.dispatchEvent(n);return n},Y=function(e,t){var a;if(!i&&(a=u.picturefill||H.pf)){if(t&&t.src&&!e[$]("srcset")){e.setAttribute("srcset",t.src)}a({reevaluate:true,elements:[e]})}else if(t&&t.src){e.src=t.src}},Z=function(e,t){return(getComputedStyle(e,null)||{})[t]},s=function(e,t,a){a=a||e.offsetWidth;while(a49?function(){o(t,{timeout:n});if(n!==H.ricTimeout){n=H.ricTimeout}}:te(function(){I(t)},true);return function(e){var t;if(e=e===true){n=33}if(a){return}a=true;t=r-(f.now()-i);if(t<0){t=0}if(e||t<9){s()}else{I(s,t)}}},ie=function(e){var t,a;var i=99;var r=function(){t=null;e()};var n=function(){var e=f.now()-a;if(e0;if(r&&Z(i,"overflow")!="visible"){a=i.getBoundingClientRect();r=C>a.left&&pa.top-1&&g500&&O.clientWidth>500?500:370:H.expand;k._defEx=u;f=u*H.expFactor;c=H.hFac;A=null;if(w2&&h>2&&!D.hidden){w=f;N=0}else if(h>1&&N>1&&M<6){w=u}else{w=_}}if(l!==n){y=innerWidth+n*c;z=innerHeight+n;s=n*-1;l=n}a=d[t].getBoundingClientRect();if((b=a.bottom)>=s&&(g=a.top)<=z&&(C=a.right)>=s*c&&(p=a.left)<=y&&(b||C||p||g)&&(H.loadHidden||x(d[t]))&&(m&&M<3&&!o&&(h<3||N<4)||W(d[t],n))){R(d[t]);r=true;if(M>9){break}}else if(!r&&m&&!i&&M<4&&N<4&&h>2&&(v[0]||H.preloadAfterLoad)&&(v[0]||!o&&(b||C||p||g||d[t][$](H.sizesAttr)!="auto"))){i=v[0]||d[t]}}if(i&&!r){R(i)}}};var a=ae(t);var S=function(e){var t=e.target;if(t._lazyCache){delete t._lazyCache;return}L(e);K(t,H.loadedClass);Q(t,H.loadingClass);V(t,B);X(t,"lazyloaded")};var i=te(S);var B=function(e){i({target:e.target})};var T=function(e,t){var a=e.getAttribute("data-load-mode")||H.iframeLoadMode;if(a==0){e.contentWindow.location.replace(t)}else if(a==1){e.src=t}};var F=function(e){var t;var a=e[$](H.srcsetAttr);if(t=H.customMedia[e[$]("data-media")||e[$]("media")]){e.setAttribute("media",t)}if(a){e.setAttribute("srcset",a)}};var s=te(function(t,e,a,i,r){var n,s,o,l,u,f;if(!(u=X(t,"lazybeforeunveil",e)).defaultPrevented){if(i){if(a){K(t,H.autosizesClass)}else{t.setAttribute("sizes",i)}}s=t[$](H.srcsetAttr);n=t[$](H.srcAttr);if(r){o=t.parentNode;l=o&&j.test(o.nodeName||"")}f=e.firesLoad||"src"in t&&(s||n||l);u={target:t};K(t,H.loadingClass);if(f){clearTimeout(c);c=I(L,2500);V(t,B,true)}if(l){G.call(o.getElementsByTagName("source"),F)}if(s){t.setAttribute("srcset",s)}else if(n&&!l){if(d.test(t.nodeName)){T(t,n)}else{t.src=n}}if(r&&(s||l)){Y(t,{src:n})}}if(t._lazyRace){delete t._lazyRace}Q(t,H.lazyClass);ee(function(){var e=t.complete&&t.naturalWidth>1;if(!f||e){if(e){K(t,H.fastLoadedClass)}S(u);t._lazyCache=true;I(function(){if("_lazyCache"in t){delete t._lazyCache}},9)}if(t.loading=="lazy"){M--}},true)});var R=function(e){if(e._lazyRace){return}var t;var a=n.test(e.nodeName);var i=a&&(e[$](H.sizesAttr)||e[$]("sizes"));var r=i=="auto";if((r||!m)&&a&&(e[$]("src")||e.srcset)&&!e.complete&&!J(e,H.errorClass)&&J(e,H.lazyClass)){return}t=X(e,"lazyunveilread").detail;if(r){re.updateElem(e,true,e.offsetWidth)}e._lazyRace=true;M++;s(e,t,r,i,a)};var r=ie(function(){H.loadMode=3;a()});var o=function(){if(H.loadMode==3){H.loadMode=2}r()};var l=function(){if(m){return}if(f.now()-e<999){I(l,999);return}m=true;H.loadMode=3;a();q("scroll",o,true)};return{_:function(){e=f.now();k.elements=D.getElementsByClassName(H.lazyClass);v=D.getElementsByClassName(H.lazyClass+" "+H.preloadClass);q("scroll",a,true);q("resize",a,true);q("pageshow",function(e){if(e.persisted){var t=D.querySelectorAll("."+H.loadingClass);if(t.length&&t.forEach){U(function(){t.forEach(function(e){if(e.complete){R(e)}})})}}});if(u.MutationObserver){new MutationObserver(a).observe(O,{childList:true,subtree:true,attributes:true})}else{O[P]("DOMNodeInserted",a,true);O[P]("DOMAttrModified",a,true);setInterval(a,999)}q("hashchange",a,true);["focus","mouseover","click","load","transitionend","animationend"].forEach(function(e){D[P](e,a,true)});if(/d$|^c/.test(D.readyState)){l()}else{q("load",l);D[P]("DOMContentLoaded",a);I(l,2e4)}if(k.elements.length){t();ee._lsFlush()}else{a()}},checkElems:a,unveil:R,_aLSL:o}}(),re=function(){var a;var n=te(function(e,t,a,i){var r,n,s;e._lazysizesWidth=i;i+="px";e.setAttribute("sizes",i);if(j.test(t.nodeName||"")){r=t.getElementsByTagName("source");for(n=0,s=r.length;n+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="
    ",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0e;e++){var i=h[e];t[i]=0}return t}function n(t){var e=getComputedStyle(t);return e||a("Style returned "+e+". Are you running this code in a hidden iframe on Firefox? See https://bit.ly/getsizebug1"),e}function o(){if(!d){d=!0;var e=document.createElement("div");e.style.width="200px",e.style.padding="1px 2px 3px 4px",e.style.borderStyle="solid",e.style.borderWidth="1px 2px 3px 4px",e.style.boxSizing="border-box";var i=document.body||document.documentElement;i.appendChild(e);var o=n(e);s=200==Math.round(t(o.width)),r.isBoxSizeOuter=s,i.removeChild(e)}}function r(e){if(o(),"string"==typeof e&&(e=document.querySelector(e)),e&&"object"==typeof e&&e.nodeType){var r=n(e);if("none"==r.display)return i();var a={};a.width=e.offsetWidth,a.height=e.offsetHeight;for(var d=a.isBorderBox="border-box"==r.boxSizing,l=0;u>l;l++){var c=h[l],f=r[c],m=parseFloat(f);a[c]=isNaN(m)?0:m}var p=a.paddingLeft+a.paddingRight,g=a.paddingTop+a.paddingBottom,y=a.marginLeft+a.marginRight,v=a.marginTop+a.marginBottom,_=a.borderLeftWidth+a.borderRightWidth,z=a.borderTopWidth+a.borderBottomWidth,E=d&&s,b=t(r.width);b!==!1&&(a.width=b+(E?0:p+_));var x=t(r.height);return x!==!1&&(a.height=x+(E?0:g+z)),a.innerWidth=a.width-(p+_),a.innerHeight=a.height-(g+z),a.outerWidth=a.width+y,a.outerHeight=a.height+v,a}}var s,a="undefined"==typeof console?e:function(t){console.error(t)},h=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],u=h.length,d=!1;return r}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("desandro-matches-selector/matches-selector",e):"object"==typeof module&&module.exports?module.exports=e():t.matchesSelector=e()}(window,function(){"use strict";var t=function(){var t=window.Element.prototype;if(t.matches)return"matches";if(t.matchesSelector)return"matchesSelector";for(var e=["webkit","moz","ms","o"],i=0;is?"round":"floor";r=Math[a](r),this.cols=Math.max(r,1)},n.getContainerWidth=function(){var t=this._getOption("fitWidth"),i=t?this.element.parentNode:this.element,n=e(i);this.containerWidth=n&&n.innerWidth},n._getItemLayoutPosition=function(t){t.getSize();var e=t.size.outerWidth%this.columnWidth,i=e&&1>e?"round":"ceil",n=Math[i](t.size.outerWidth/this.columnWidth);n=Math.min(n,this.cols);for(var o=this.options.horizontalOrder?"_getHorizontalColPosition":"_getTopColPosition",r=this[o](n,t),s={x:this.columnWidth*r.col,y:r.y},a=r.y+t.size.outerHeight,h=n+r.col,u=r.col;h>u;u++)this.colYs[u]=a;return s},n._getTopColPosition=function(t){var e=this._getTopColGroup(t),i=Math.min.apply(Math,e);return{col:e.indexOf(i),y:i}},n._getTopColGroup=function(t){if(2>t)return this.colYs;for(var e=[],i=this.cols+1-t,n=0;i>n;n++)e[n]=this._getColGroupY(n,t);return e},n._getColGroupY=function(t,e){if(2>e)return this.colYs[t];var i=this.colYs.slice(t,t+e);return Math.max.apply(Math,i)},n._getHorizontalColPosition=function(t,e){var i=this.horizontalColIndex%this.cols,n=t>1&&i+t>this.cols;i=n?0:i;var o=e.size.outerWidth&&e.size.outerHeight;return this.horizontalColIndex=o?i+t:this.horizontalColIndex,{col:i,y:this._getColGroupY(i,t)}},n._manageStamp=function(t){var i=e(t),n=this._getElementOffset(t),o=this._getOption("originLeft"),r=o?n.left:n.right,s=r+i.outerWidth,a=Math.floor(r/this.columnWidth);a=Math.max(0,a);var h=Math.floor(s/this.columnWidth);h-=s%this.columnWidth?0:1,h=Math.min(this.cols-1,h);for(var u=this._getOption("originTop"),d=(u?n.top:n.bottom)+i.outerHeight,l=a;h>=l;l++)this.colYs[l]=Math.max(d,this.colYs[l])},n._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var t={height:this.maxY};return this._getOption("fitWidth")&&(t.width=this._getContainerFitWidth()),t},n._getContainerFitWidth=function(){for(var t=0,e=this.cols;--e&&0===this.colYs[e];)t++;return(this.cols-t)*this.columnWidth-this.gutter},n.needsResizeLayout=function(){var t=this.containerWidth;return this.getContainerWidth(),t!=this.containerWidth},i}); + +; +/*! + * imagesLoaded PACKAGED v4.1.4 + * JavaScript is all like "You images are done yet or what?" + * MIT License + */ + +/** + * EvEmitter v1.1.0 + * Lil' event emitter + * MIT License + */ + +/* jshint unused: true, undef: true, strict: true */ + +( function( global, factory ) { + // universal module definition + /* jshint strict: false */ /* globals define, module, window */ + if ( typeof define == 'function' && define.amd ) { + // AMD - RequireJS + define( 'ev-emitter/ev-emitter',factory ); + } else if ( typeof module == 'object' && module.exports ) { + // CommonJS - Browserify, Webpack + module.exports = factory(); + } else { + // Browser globals + global.EvEmitter = factory(); + } + + }( typeof window != 'undefined' ? window : this, function() { + + + + function EvEmitter() {} + + var proto = EvEmitter.prototype; + + proto.on = function( eventName, listener ) { + if ( !eventName || !listener ) { + return; + } + // set events hash + var events = this._events = this._events || {}; + // set listeners array + var listeners = events[ eventName ] = events[ eventName ] || []; + // only add once + if ( listeners.indexOf( listener ) == -1 ) { + listeners.push( listener ); + } + + return this; + }; + + proto.once = function( eventName, listener ) { + if ( !eventName || !listener ) { + return; + } + // add event + this.on( eventName, listener ); + // set once flag + // set onceEvents hash + var onceEvents = this._onceEvents = this._onceEvents || {}; + // set onceListeners object + var onceListeners = onceEvents[ eventName ] = onceEvents[ eventName ] || {}; + // set flag + onceListeners[ listener ] = true; + + return this; + }; + + proto.off = function( eventName, listener ) { + var listeners = this._events && this._events[ eventName ]; + if ( !listeners || !listeners.length ) { + return; + } + var index = listeners.indexOf( listener ); + if ( index != -1 ) { + listeners.splice( index, 1 ); + } + + return this; + }; + + proto.emitEvent = function( eventName, args ) { + var listeners = this._events && this._events[ eventName ]; + if ( !listeners || !listeners.length ) { + return; + } + // copy over to avoid interference if .off() in listener + listeners = listeners.slice(0); + args = args || []; + // once stuff + var onceListeners = this._onceEvents && this._onceEvents[ eventName ]; + + for ( var i=0; i < listeners.length; i++ ) { + var listener = listeners[i] + var isOnce = onceListeners && onceListeners[ listener ]; + if ( isOnce ) { + // remove listener + // remove before trigger to prevent recursion + this.off( eventName, listener ); + // unset once flag + delete onceListeners[ listener ]; + } + // trigger listener + listener.apply( this, args ); + } + + return this; + }; + + proto.allOff = function() { + delete this._events; + delete this._onceEvents; + }; + + return EvEmitter; + + })); + + /*! + * imagesLoaded v4.1.4 + * JavaScript is all like "You images are done yet or what?" + * MIT License + */ + + ( function( window, factory ) { 'use strict'; + // universal module definition + + /*global define: false, module: false, require: false */ + + if ( typeof define == 'function' && define.amd ) { + // AMD + define( [ + 'ev-emitter/ev-emitter' + ], function( EvEmitter ) { + return factory( window, EvEmitter ); + }); + } else if ( typeof module == 'object' && module.exports ) { + // CommonJS + module.exports = factory( + window, + require('ev-emitter') + ); + } else { + // browser global + window.imagesLoaded = factory( + window, + window.EvEmitter + ); + } + + })( typeof window !== 'undefined' ? window : this, + + // -------------------------- factory -------------------------- // + + function factory( window, EvEmitter ) { + + + + var $ = window.jQuery; + var console = window.console; + + // -------------------------- helpers -------------------------- // + + // extend objects + function extend( a, b ) { + for ( var prop in b ) { + a[ prop ] = b[ prop ]; + } + return a; + } + + var arraySlice = Array.prototype.slice; + + // turn element or nodeList into an array + function makeArray( obj ) { + if ( Array.isArray( obj ) ) { + // use object if already an array + return obj; + } + + var isArrayLike = typeof obj == 'object' && typeof obj.length == 'number'; + if ( isArrayLike ) { + // convert nodeList to array + return arraySlice.call( obj ); + } + + // array of single index + return [ obj ]; + } + + // -------------------------- imagesLoaded -------------------------- // + + /** + * @param {Array, Element, NodeList, String} elem + * @param {Object or Function} options - if function, use as callback + * @param {Function} onAlways - callback function + */ + function ImagesLoaded( elem, options, onAlways ) { + // coerce ImagesLoaded() without new, to be new ImagesLoaded() + if ( !( this instanceof ImagesLoaded ) ) { + return new ImagesLoaded( elem, options, onAlways ); + } + // use elem as selector string + var queryElem = elem; + if ( typeof elem == 'string' ) { + queryElem = document.querySelectorAll( elem ); + } + // bail if bad element + if ( !queryElem ) { + console.error( 'Bad element for imagesLoaded ' + ( queryElem || elem ) ); + return; + } + + this.elements = makeArray( queryElem ); + this.options = extend( {}, this.options ); + // shift arguments if no options set + if ( typeof options == 'function' ) { + onAlways = options; + } else { + extend( this.options, options ); + } + + if ( onAlways ) { + this.on( 'always', onAlways ); + } + + this.getImages(); + + if ( $ ) { + // add jQuery Deferred object + this.jqDeferred = new $.Deferred(); + } + + // HACK check async to allow time to bind listeners + setTimeout( this.check.bind( this ) ); + } + + ImagesLoaded.prototype = Object.create( EvEmitter.prototype ); + + ImagesLoaded.prototype.options = {}; + + ImagesLoaded.prototype.getImages = function() { + this.images = []; + + // filter & find items if we have an item selector + this.elements.forEach( this.addElementImages, this ); + }; + + /** + * @param {Node} element + */ + ImagesLoaded.prototype.addElementImages = function( elem ) { + // filter siblings + if ( elem.nodeName == 'IMG' ) { + this.addImage( elem ); + } + // get background image on element + if ( this.options.background === true ) { + this.addElementBackgroundImages( elem ); + } + + // find children + // no non-element nodes, #143 + var nodeType = elem.nodeType; + if ( !nodeType || !elementNodeTypes[ nodeType ] ) { + return; + } + var childImgs = elem.querySelectorAll('img'); + // concat childElems to filterFound array + for ( var i=0; i < childImgs.length; i++ ) { + var img = childImgs[i]; + this.addImage( img ); + } + + // get child background images + if ( typeof this.options.background == 'string' ) { + var children = elem.querySelectorAll( this.options.background ); + for ( i=0; i < children.length; i++ ) { + var child = children[i]; + this.addElementBackgroundImages( child ); + } + } + }; + + var elementNodeTypes = { + 1: true, + 9: true, + 11: true + }; + + ImagesLoaded.prototype.addElementBackgroundImages = function( elem ) { + var style = getComputedStyle( elem ); + if ( !style ) { + // Firefox returns null if in a hidden iframe https://bugzil.la/548397 + return; + } + // get url inside url("...") + var reURL = /url\((['"])?(.*?)\1\)/gi; + var matches = reURL.exec( style.backgroundImage ); + while ( matches !== null ) { + var url = matches && matches[2]; + if ( url ) { + this.addBackground( url, elem ); + } + matches = reURL.exec( style.backgroundImage ); + } + }; + + /** + * @param {Image} img + */ + ImagesLoaded.prototype.addImage = function( img ) { + var loadingImage = new LoadingImage( img ); + this.images.push( loadingImage ); + }; + + ImagesLoaded.prototype.addBackground = function( url, elem ) { + var background = new Background( url, elem ); + this.images.push( background ); + }; + + ImagesLoaded.prototype.check = function() { + var _this = this; + this.progressedCount = 0; + this.hasAnyBroken = false; + // complete if no images + if ( !this.images.length ) { + this.complete(); + return; + } + + function onProgress( image, elem, message ) { + // HACK - Chrome triggers event before object properties have changed. #83 + setTimeout( function() { + _this.progress( image, elem, message ); + }); + } + + this.images.forEach( function( loadingImage ) { + loadingImage.once( 'progress', onProgress ); + loadingImage.check(); + }); + }; + + ImagesLoaded.prototype.progress = function( image, elem, message ) { + this.progressedCount++; + this.hasAnyBroken = this.hasAnyBroken || !image.isLoaded; + // progress event + this.emitEvent( 'progress', [ this, image, elem ] ); + if ( this.jqDeferred && this.jqDeferred.notify ) { + this.jqDeferred.notify( this, image ); + } + // check if completed + if ( this.progressedCount == this.images.length ) { + this.complete(); + } + + if ( this.options.debug && console ) { + console.log( 'progress: ' + message, image, elem ); + } + }; + + ImagesLoaded.prototype.complete = function() { + var eventName = this.hasAnyBroken ? 'fail' : 'done'; + this.isComplete = true; + this.emitEvent( eventName, [ this ] ); + this.emitEvent( 'always', [ this ] ); + if ( this.jqDeferred ) { + var jqMethod = this.hasAnyBroken ? 'reject' : 'resolve'; + this.jqDeferred[ jqMethod ]( this ); + } + }; + + // -------------------------- -------------------------- // + + function LoadingImage( img ) { + this.img = img; + } + + LoadingImage.prototype = Object.create( EvEmitter.prototype ); + + LoadingImage.prototype.check = function() { + // If complete is true and browser supports natural sizes, + // try to check for image status manually. + var isComplete = this.getIsImageComplete(); + if ( isComplete ) { + // report based on naturalWidth + this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' ); + return; + } + + // If none of the checks above matched, simulate loading on detached element. + this.proxyImage = new Image(); + this.proxyImage.addEventListener( 'load', this ); + this.proxyImage.addEventListener( 'error', this ); + // bind to image as well for Firefox. #191 + this.img.addEventListener( 'load', this ); + this.img.addEventListener( 'error', this ); + this.proxyImage.src = this.img.src; + }; + + LoadingImage.prototype.getIsImageComplete = function() { + // check for non-zero, non-undefined naturalWidth + // fixes Safari+InfiniteScroll+Masonry bug infinite-scroll#671 + return this.img.complete && this.img.naturalWidth; + }; + + LoadingImage.prototype.confirm = function( isLoaded, message ) { + this.isLoaded = isLoaded; + this.emitEvent( 'progress', [ this, this.img, message ] ); + }; + + // ----- events ----- // + + // trigger specified handler for event type + LoadingImage.prototype.handleEvent = function( event ) { + var method = 'on' + event.type; + if ( this[ method ] ) { + this[ method ]( event ); + } + }; + + LoadingImage.prototype.onload = function() { + this.confirm( true, 'onload' ); + this.unbindEvents(); + }; + + LoadingImage.prototype.onerror = function() { + this.confirm( false, 'onerror' ); + this.unbindEvents(); + }; + + LoadingImage.prototype.unbindEvents = function() { + this.proxyImage.removeEventListener( 'load', this ); + this.proxyImage.removeEventListener( 'error', this ); + this.img.removeEventListener( 'load', this ); + this.img.removeEventListener( 'error', this ); + }; + + // -------------------------- Background -------------------------- // + + function Background( url, element ) { + this.url = url; + this.element = element; + this.img = new Image(); + } + + // inherit LoadingImage prototype + Background.prototype = Object.create( LoadingImage.prototype ); + + Background.prototype.check = function() { + this.img.addEventListener( 'load', this ); + this.img.addEventListener( 'error', this ); + this.img.src = this.url; + // check if image is already complete + var isComplete = this.getIsImageComplete(); + if ( isComplete ) { + this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' ); + this.unbindEvents(); + } + }; + + Background.prototype.unbindEvents = function() { + this.img.removeEventListener( 'load', this ); + this.img.removeEventListener( 'error', this ); + }; + + Background.prototype.confirm = function( isLoaded, message ) { + this.isLoaded = isLoaded; + this.emitEvent( 'progress', [ this, this.element, message ] ); + }; + + // -------------------------- jQuery -------------------------- // + + ImagesLoaded.makeJQueryPlugin = function( jQuery ) { + jQuery = jQuery || window.jQuery; + if ( !jQuery ) { + return; + } + // set local variable + $ = jQuery; + // $().imagesLoaded() + $.fn.imagesLoaded = function( options, callback ) { + var instance = new ImagesLoaded( this, options, callback ); + return instance.jqDeferred.promise( $(this) ); + }; + }; + // try making plugin + ImagesLoaded.makeJQueryPlugin(); + + // -------------------------- -------------------------- // + + return ImagesLoaded; + + }); + +; +/** + * Swiper 9.4.1 + * Most modern mobile touch slider and framework with hardware accelerated transitions + * https://swiperjs.com + * + * Copyright 2014-2023 Vladimir Kharlampidi + * + * Released under the MIT License + * + * Released on: June 13, 2023 + */ + +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).Swiper=t()}(this,(function(){"use strict";function e(e){return null!==e&&"object"==typeof e&&"constructor"in e&&e.constructor===Object}function t(s,a){void 0===s&&(s={}),void 0===a&&(a={}),Object.keys(a).forEach((i=>{void 0===s[i]?s[i]=a[i]:e(a[i])&&e(s[i])&&Object.keys(a[i]).length>0&&t(s[i],a[i])}))}const s={body:{},addEventListener(){},removeEventListener(){},activeElement:{blur(){},nodeName:""},querySelector:()=>null,querySelectorAll:()=>[],getElementById:()=>null,createEvent:()=>({initEvent(){}}),createElement:()=>({children:[],childNodes:[],style:{},setAttribute(){},getElementsByTagName:()=>[]}),createElementNS:()=>({}),importNode:()=>null,location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function a(){const e="undefined"!=typeof document?document:{};return t(e,s),e}const i={document:s,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState(){},pushState(){},go(){},back(){}},CustomEvent:function(){return this},addEventListener(){},removeEventListener(){},getComputedStyle:()=>({getPropertyValue:()=>""}),Image(){},Date(){},screen:{},setTimeout(){},clearTimeout(){},matchMedia:()=>({}),requestAnimationFrame:e=>"undefined"==typeof setTimeout?(e(),null):setTimeout(e,0),cancelAnimationFrame(e){"undefined"!=typeof setTimeout&&clearTimeout(e)}};function r(){const e="undefined"!=typeof window?window:{};return t(e,i),e}function n(e,t){return void 0===t&&(t=0),setTimeout(e,t)}function l(){return Date.now()}function o(e,t){void 0===t&&(t="x");const s=r();let a,i,n;const l=function(e){const t=r();let s;return t.getComputedStyle&&(s=t.getComputedStyle(e,null)),!s&&e.currentStyle&&(s=e.currentStyle),s||(s=e.style),s}(e);return s.WebKitCSSMatrix?(i=l.transform||l.webkitTransform,i.split(",").length>6&&(i=i.split(", ").map((e=>e.replace(",","."))).join(", ")),n=new s.WebKitCSSMatrix("none"===i?"":i)):(n=l.MozTransform||l.OTransform||l.MsTransform||l.msTransform||l.transform||l.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,"),a=n.toString().split(",")),"x"===t&&(i=s.WebKitCSSMatrix?n.m41:16===a.length?parseFloat(a[12]):parseFloat(a[4])),"y"===t&&(i=s.WebKitCSSMatrix?n.m42:16===a.length?parseFloat(a[13]):parseFloat(a[5])),i||0}function d(e){return"object"==typeof e&&null!==e&&e.constructor&&"Object"===Object.prototype.toString.call(e).slice(8,-1)}function c(e){return"undefined"!=typeof window&&void 0!==window.HTMLElement?e instanceof HTMLElement:e&&(1===e.nodeType||11===e.nodeType)}function p(){const e=Object(arguments.length<=0?void 0:arguments[0]),t=["__proto__","constructor","prototype"];for(let s=1;st.indexOf(e)<0));for(let t=0,i=s.length;tn?"next":"prev",p=(e,t)=>"next"===c&&e>=t||"prev"===c&&e<=t,u=()=>{l=(new Date).getTime(),null===o&&(o=l);const e=Math.max(Math.min((l-o)/d,1),0),r=.5-Math.cos(e*Math.PI)/2;let c=n+r*(s-n);if(p(c,s)&&(c=s),t.wrapperEl.scrollTo({[a]:c}),p(c,s))return t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.scrollSnapType="",setTimeout((()=>{t.wrapperEl.style.overflow="",t.wrapperEl.scrollTo({[a]:c})})),void i.cancelAnimationFrame(t.cssModeFrameID);t.cssModeFrameID=i.requestAnimationFrame(u)};u()}function h(e){return e.querySelector(".swiper-slide-transform")||e.shadowEl&&e.shadowEl.querySelector(".swiper-slide-transform")||e}function f(e,t){return void 0===t&&(t=""),[...e.children].filter((e=>e.matches(t)))}function g(e,t){void 0===t&&(t=[]);const s=document.createElement(e);return s.classList.add(...Array.isArray(t)?t:[t]),s}function v(e){const t=r(),s=a(),i=e.getBoundingClientRect(),n=s.body,l=e.clientTop||n.clientTop||0,o=e.clientLeft||n.clientLeft||0,d=e===t?t.scrollY:e.scrollTop,c=e===t?t.scrollX:e.scrollLeft;return{top:i.top+d-l,left:i.left+c-o}}function w(e,t){return r().getComputedStyle(e,null).getPropertyValue(t)}function b(e){let t,s=e;if(s){for(t=0;null!==(s=s.previousSibling);)1===s.nodeType&&(t+=1);return t}}function y(e,t){const s=[];let a=e.parentElement;for(;a;)t?a.matches(t)&&s.push(a):s.push(a),a=a.parentElement;return s}function E(e,t){t&&e.addEventListener("transitionend",(function s(a){a.target===e&&(t.call(e,a),e.removeEventListener("transitionend",s))}))}function x(e,t,s){const a=r();return s?e["width"===t?"offsetWidth":"offsetHeight"]+parseFloat(a.getComputedStyle(e,null).getPropertyValue("width"===t?"margin-right":"margin-top"))+parseFloat(a.getComputedStyle(e,null).getPropertyValue("width"===t?"margin-left":"margin-bottom")):e.offsetWidth}let S,T,M;function C(){return S||(S=function(){const e=r(),t=a();return{smoothScroll:t.documentElement&&t.documentElement.style&&"scrollBehavior"in t.documentElement.style,touch:!!("ontouchstart"in e||e.DocumentTouch&&t instanceof e.DocumentTouch)}}()),S}function P(e){return void 0===e&&(e={}),T||(T=function(e){let{userAgent:t}=void 0===e?{}:e;const s=C(),a=r(),i=a.navigator.platform,n=t||a.navigator.userAgent,l={ios:!1,android:!1},o=a.screen.width,d=a.screen.height,c=n.match(/(Android);?[\s\/]+([\d.]+)?/);let p=n.match(/(iPad).*OS\s([\d_]+)/);const u=n.match(/(iPod)(.*OS\s([\d_]+))?/),m=!p&&n.match(/(iPhone\sOS|iOS)\s([\d_]+)/),h="Win32"===i;let f="MacIntel"===i;return!p&&f&&s.touch&&["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"].indexOf(`${o}x${d}`)>=0&&(p=n.match(/(Version)\/([\d.]+)/),p||(p=[0,1,"13_0_0"]),f=!1),c&&!h&&(l.os="android",l.android=!0),(p||m||u)&&(l.os="ios",l.ios=!0),l}(e)),T}function L(){return M||(M=function(){const e=r();let t=!1;function s(){const t=e.navigator.userAgent.toLowerCase();return t.indexOf("safari")>=0&&t.indexOf("chrome")<0&&t.indexOf("android")<0}if(s()){const s=String(e.navigator.userAgent);if(s.includes("Version/")){const[e,a]=s.split("Version/")[1].split(" ")[0].split(".").map((e=>Number(e)));t=e<16||16===e&&a<2}}return{isSafari:t||s(),needPerspectiveFix:t,isWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent)}}()),M}var z={on(e,t,s){const a=this;if(!a.eventsListeners||a.destroyed)return a;if("function"!=typeof t)return a;const i=s?"unshift":"push";return e.split(" ").forEach((e=>{a.eventsListeners[e]||(a.eventsListeners[e]=[]),a.eventsListeners[e][i](t)})),a},once(e,t,s){const a=this;if(!a.eventsListeners||a.destroyed)return a;if("function"!=typeof t)return a;function i(){a.off(e,i),i.__emitterProxy&&delete i.__emitterProxy;for(var s=arguments.length,r=new Array(s),n=0;n=0&&t.eventsAnyListeners.splice(s,1),t},off(e,t){const s=this;return!s.eventsListeners||s.destroyed?s:s.eventsListeners?(e.split(" ").forEach((e=>{void 0===t?s.eventsListeners[e]=[]:s.eventsListeners[e]&&s.eventsListeners[e].forEach(((a,i)=>{(a===t||a.__emitterProxy&&a.__emitterProxy===t)&&s.eventsListeners[e].splice(i,1)}))})),s):s},emit(){const e=this;if(!e.eventsListeners||e.destroyed)return e;if(!e.eventsListeners)return e;let t,s,a;for(var i=arguments.length,r=new Array(i),n=0;n{e.eventsAnyListeners&&e.eventsAnyListeners.length&&e.eventsAnyListeners.forEach((e=>{e.apply(a,[t,...s])})),e.eventsListeners&&e.eventsListeners[t]&&e.eventsListeners[t].forEach((e=>{e.apply(a,s)}))})),e}};const A=(e,t)=>{if(!e||e.destroyed||!e.params)return;const s=t.closest(e.isElement?"swiper-slide":`.${e.params.slideClass}`);if(s){const t=s.querySelector(`.${e.params.lazyPreloaderClass}`);t&&t.remove()}},$=(e,t)=>{if(!e.slides[t])return;const s=e.slides[t].querySelector('[loading="lazy"]');s&&s.removeAttribute("loading")},I=e=>{if(!e||e.destroyed||!e.params)return;let t=e.params.lazyPreloadPrevNext;const s=e.slides.length;if(!s||!t||t<0)return;t=Math.min(t,s);const a="auto"===e.params.slidesPerView?e.slidesPerViewDynamic():Math.ceil(e.params.slidesPerView),i=e.activeIndex;if(e.params.grid&&e.params.grid.rows>1){const s=i,r=[s-t];return r.push(...Array.from({length:t}).map(((e,t)=>s+a+t))),void e.slides.forEach(((t,s)=>{r.includes(t.column)&&$(e,s)}))}const r=i+a-1;if(e.params.rewind||e.params.loop)for(let a=i-t;a<=r+t;a+=1){const t=(a%s+s)%s;(tr)&&$(e,t)}else for(let a=Math.max(i-t,0);a<=Math.min(r+t,s-1);a+=1)a!==i&&(a>r||a=0?T=parseFloat(T.replace("%",""))/100*n:"string"==typeof T&&(T=parseFloat(T)),e.virtualSize=-T,p.forEach((e=>{l?e.style.marginLeft="":e.style.marginRight="",e.style.marginBottom="",e.style.marginTop=""})),a.centeredSlides&&a.cssMode&&(u(i,"--swiper-centered-offset-before",""),u(i,"--swiper-centered-offset-after",""));const L=a.grid&&a.grid.rows>1&&e.grid;let z;L&&e.grid.initSlides(m);const A="auto"===a.slidesPerView&&a.breakpoints&&Object.keys(a.breakpoints).filter((e=>void 0!==a.breakpoints[e].slidesPerView)).length>0;for(let i=0;i1&&h.push(e.virtualSize-n)}if(d&&a.loop){const t=v[0]+T;if(a.slidesPerGroup>1){const s=Math.ceil((e.virtual.slidesBefore+e.virtual.slidesAfter)/a.slidesPerGroup),i=t*a.slidesPerGroup;for(let e=0;e!(a.cssMode&&!a.loop)||t!==p.length-1)).forEach((e=>{e.style[s]=`${T}px`}))}if(a.centeredSlides&&a.centeredSlidesBounds){let e=0;v.forEach((t=>{e+=t+(T||0)})),e-=T;const t=e-n;h=h.map((e=>e<=0?-b:e>t?t+y:e))}if(a.centerInsufficientSlides){let e=0;if(v.forEach((t=>{e+=t+(T||0)})),e-=T,e{h[s]=e-t})),g.forEach(((e,s)=>{g[s]=e+t}))}}if(Object.assign(e,{slides:p,snapGrid:h,slidesGrid:g,slidesSizesGrid:v}),a.centeredSlides&&a.cssMode&&!a.centeredSlidesBounds){u(i,"--swiper-centered-offset-before",-h[0]+"px"),u(i,"--swiper-centered-offset-after",e.size/2-v[v.length-1]/2+"px");const t=-e.snapGrid[0],s=-e.slidesGrid[0];e.snapGrid=e.snapGrid.map((e=>e+t)),e.slidesGrid=e.slidesGrid.map((e=>e+s))}if(m!==c&&e.emit("slidesLengthChange"),h.length!==E&&(e.params.watchOverflow&&e.checkOverflow(),e.emit("snapGridLengthChange")),g.length!==S&&e.emit("slidesGridLengthChange"),a.watchSlidesProgress&&e.updateSlidesOffset(),!(d||a.cssMode||"slide"!==a.effect&&"fade"!==a.effect)){const t=`${a.containerModifierClass}backface-hidden`,s=e.el.classList.contains(t);m<=a.maxBackfaceHiddenSlides?s||e.el.classList.add(t):s&&e.el.classList.remove(t)}},updateAutoHeight:function(e){const t=this,s=[],a=t.virtual&&t.params.virtual.enabled;let i,r=0;"number"==typeof e?t.setTransition(e):!0===e&&t.setTransition(t.params.speed);const n=e=>a?t.slides[t.getSlideIndexByData(e)]:t.slides[e];if("auto"!==t.params.slidesPerView&&t.params.slidesPerView>1)if(t.params.centeredSlides)(t.visibleSlides||[]).forEach((e=>{s.push(e)}));else for(i=0;it.slides.length&&!a)break;s.push(n(e))}else s.push(n(t.activeIndex));for(i=0;ir?e:r}(r||0===r)&&(t.wrapperEl.style.height=`${r}px`)},updateSlidesOffset:function(){const e=this,t=e.slides,s=e.isElement?e.isHorizontal()?e.wrapperEl.offsetLeft:e.wrapperEl.offsetTop:0;for(let a=0;a{e.classList.remove(s.slideVisibleClass)})),t.visibleSlidesIndexes=[],t.visibleSlides=[];let l=s.spaceBetween;"string"==typeof l&&l.indexOf("%")>=0?l=parseFloat(l.replace("%",""))/100*t.size:"string"==typeof l&&(l=parseFloat(l));for(let e=0;e=0&&u1&&m<=t.size||u<=0&&m>=t.size)&&(t.visibleSlides.push(o),t.visibleSlidesIndexes.push(e),a[e].classList.add(s.slideVisibleClass)),o.progress=i?-c:c,o.originalProgress=i?-p:p}},updateProgress:function(e){const t=this;if(void 0===e){const s=t.rtlTranslate?-1:1;e=t&&t.translate&&t.translate*s||0}const s=t.params,a=t.maxTranslate()-t.minTranslate();let{progress:i,isBeginning:r,isEnd:n,progressLoop:l}=t;const o=r,d=n;if(0===a)i=0,r=!0,n=!0;else{i=(e-t.minTranslate())/a;const s=Math.abs(e-t.minTranslate())<1,l=Math.abs(e-t.maxTranslate())<1;r=s||i<=0,n=l||i>=1,s&&(i=0),l&&(i=1)}if(s.loop){const s=t.getSlideIndexByData(0),a=t.getSlideIndexByData(t.slides.length-1),i=t.slidesGrid[s],r=t.slidesGrid[a],n=t.slidesGrid[t.slidesGrid.length-1],o=Math.abs(e);l=o>=i?(o-i)/n:(o+n-r)/n,l>1&&(l-=1)}Object.assign(t,{progress:i,progressLoop:l,isBeginning:r,isEnd:n}),(s.watchSlidesProgress||s.centeredSlides&&s.autoHeight)&&t.updateSlidesProgress(e),r&&!o&&t.emit("reachBeginning toEdge"),n&&!d&&t.emit("reachEnd toEdge"),(o&&!r||d&&!n)&&t.emit("fromEdge"),t.emit("progress",i)},updateSlidesClasses:function(){const e=this,{slides:t,params:s,slidesEl:a,activeIndex:i}=e,r=e.virtual&&s.virtual.enabled,n=e=>f(a,`.${s.slideClass}${e}, swiper-slide${e}`)[0];let l;if(t.forEach((e=>{e.classList.remove(s.slideActiveClass,s.slideNextClass,s.slidePrevClass)})),r)if(s.loop){let t=i-e.virtual.slidesBefore;t<0&&(t=e.virtual.slides.length+t),t>=e.virtual.slides.length&&(t-=e.virtual.slides.length),l=n(`[data-swiper-slide-index="${t}"]`)}else l=n(`[data-swiper-slide-index="${i}"]`);else l=t[i];if(l){l.classList.add(s.slideActiveClass);let e=function(e,t){const s=[];for(;e.nextElementSibling;){const a=e.nextElementSibling;t?a.matches(t)&&s.push(a):s.push(a),e=a}return s}(l,`.${s.slideClass}, swiper-slide`)[0];s.loop&&!e&&(e=t[0]),e&&e.classList.add(s.slideNextClass);let a=function(e,t){const s=[];for(;e.previousElementSibling;){const a=e.previousElementSibling;t?a.matches(t)&&s.push(a):s.push(a),e=a}return s}(l,`.${s.slideClass}, swiper-slide`)[0];s.loop&&0===!a&&(a=t[t.length-1]),a&&a.classList.add(s.slidePrevClass)}e.emitSlidesClasses()},updateActiveIndex:function(e){const t=this,s=t.rtlTranslate?t.translate:-t.translate,{snapGrid:a,params:i,activeIndex:r,realIndex:n,snapIndex:l}=t;let o,d=e;const c=e=>{let s=e-t.virtual.slidesBefore;return s<0&&(s=t.virtual.slides.length+s),s>=t.virtual.slides.length&&(s-=t.virtual.slides.length),s};if(void 0===d&&(d=function(e){const{slidesGrid:t,params:s}=e,a=e.rtlTranslate?e.translate:-e.translate;let i;for(let e=0;e=t[e]&&a=t[e]&&a=t[e]&&(i=e);return s.normalizeSlideIndex&&(i<0||void 0===i)&&(i=0),i}(t)),a.indexOf(s)>=0)o=a.indexOf(s);else{const e=Math.min(i.slidesPerGroupSkip,d);o=e+Math.floor((d-e)/i.slidesPerGroup)}if(o>=a.length&&(o=a.length-1),d===r)return o!==l&&(t.snapIndex=o,t.emit("snapIndexChange")),void(t.params.loop&&t.virtual&&t.params.virtual.enabled&&(t.realIndex=c(d)));let p;p=t.virtual&&i.virtual.enabled&&i.loop?c(d):t.slides[d]?parseInt(t.slides[d].getAttribute("data-swiper-slide-index")||d,10):d,Object.assign(t,{previousSnapIndex:l,snapIndex:o,previousRealIndex:n,realIndex:p,previousIndex:r,activeIndex:d}),t.initialized&&I(t),t.emit("activeIndexChange"),t.emit("snapIndexChange"),n!==p&&t.emit("realIndexChange"),(t.initialized||t.params.runCallbacksOnInit)&&t.emit("slideChange")},updateClickedSlide:function(e){const t=this,s=t.params,a=e.closest(`.${s.slideClass}, swiper-slide`);let i,r=!1;if(a)for(let e=0;eo?o:a&&en?"next":r=o.length&&(v=o.length-1);const w=-o[v];if(l.normalizeSlideIndex)for(let e=0;e=s&&t=s&&t=s&&(n=e)}if(r.initialized&&n!==p){if(!r.allowSlideNext&&(u?w>r.translate&&w>r.minTranslate():wr.translate&&w>r.maxTranslate()&&(p||0)!==n)return!1}let b;if(n!==(c||0)&&s&&r.emit("beforeSlideChangeStart"),r.updateProgress(w),b=n>p?"next":n0?(r._cssModeVirtualInitialSet=!0,requestAnimationFrame((()=>{h[e?"scrollLeft":"scrollTop"]=s}))):h[e?"scrollLeft":"scrollTop"]=s,t&&requestAnimationFrame((()=>{r.wrapperEl.style.scrollSnapType="",r._immediateVirtual=!1}))}else{if(!r.support.smoothScroll)return m({swiper:r,targetPosition:s,side:e?"left":"top"}),!0;h.scrollTo({[e?"left":"top"]:s,behavior:"smooth"})}return!0}return r.setTransition(t),r.setTranslate(w),r.updateActiveIndex(n),r.updateSlidesClasses(),r.emit("beforeTransitionStart",t,a),r.transitionStart(s,b),0===t?r.transitionEnd(s,b):r.animating||(r.animating=!0,r.onSlideToWrapperTransitionEnd||(r.onSlideToWrapperTransitionEnd=function(e){r&&!r.destroyed&&e.target===this&&(r.wrapperEl.removeEventListener("transitionend",r.onSlideToWrapperTransitionEnd),r.onSlideToWrapperTransitionEnd=null,delete r.onSlideToWrapperTransitionEnd,r.transitionEnd(s,b))}),r.wrapperEl.addEventListener("transitionend",r.onSlideToWrapperTransitionEnd)),!0},slideToLoop:function(e,t,s,a){if(void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===s&&(s=!0),"string"==typeof e){e=parseInt(e,10)}const i=this;let r=e;return i.params.loop&&(i.virtual&&i.params.virtual.enabled?r+=i.virtual.slidesBefore:r=i.getSlideIndexByData(r)),i.slideTo(r,t,s,a)},slideNext:function(e,t,s){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0);const a=this,{enabled:i,params:r,animating:n}=a;if(!i)return a;let l=r.slidesPerGroup;"auto"===r.slidesPerView&&1===r.slidesPerGroup&&r.slidesPerGroupAuto&&(l=Math.max(a.slidesPerViewDynamic("current",!0),1));const o=a.activeIndexp(e)));let h=r[m.indexOf(u)-1];if(void 0===h&&i.cssMode){let e;r.forEach(((t,s)=>{u>=t&&(e=s)})),void 0!==e&&(h=r[e>0?e-1:e])}let f=0;if(void 0!==h&&(f=n.indexOf(h),f<0&&(f=a.activeIndex-1),"auto"===i.slidesPerView&&1===i.slidesPerGroup&&i.slidesPerGroupAuto&&(f=f-a.slidesPerViewDynamic("previous",!0)+1,f=Math.max(f,0))),i.rewind&&a.isBeginning){const i=a.params.virtual&&a.params.virtual.enabled&&a.virtual?a.virtual.slides.length-1:a.slides.length-1;return a.slideTo(i,e,t,s)}return a.slideTo(f,e,t,s)},slideReset:function(e,t,s){return void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),this.slideTo(this.activeIndex,e,t,s)},slideToClosest:function(e,t,s,a){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),void 0===a&&(a=.5);const i=this;let r=i.activeIndex;const n=Math.min(i.params.slidesPerGroupSkip,r),l=n+Math.floor((r-n)/i.params.slidesPerGroup),o=i.rtlTranslate?i.translate:-i.translate;if(o>=i.snapGrid[l]){const e=i.snapGrid[l];o-e>(i.snapGrid[l+1]-e)*a&&(r+=i.params.slidesPerGroup)}else{const e=i.snapGrid[l-1];o-e<=(i.snapGrid[l]-e)*a&&(r-=i.params.slidesPerGroup)}return r=Math.max(r,0),r=Math.min(r,i.slidesGrid.length-1),i.slideTo(r,e,t,s)},slideToClickedSlide:function(){const e=this,{params:t,slidesEl:s}=e,a="auto"===t.slidesPerView?e.slidesPerViewDynamic():t.slidesPerView;let i,r=e.clickedIndex;const l=e.isElement?"swiper-slide":`.${t.slideClass}`;if(t.loop){if(e.animating)return;i=parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"),10),t.centeredSlides?re.slides.length-e.loopedSlides+a/2?(e.loopFix(),r=e.getSlideIndex(f(s,`${l}[data-swiper-slide-index="${i}"]`)[0]),n((()=>{e.slideTo(r)}))):e.slideTo(r):r>e.slides.length-a?(e.loopFix(),r=e.getSlideIndex(f(s,`${l}[data-swiper-slide-index="${i}"]`)[0]),n((()=>{e.slideTo(r)}))):e.slideTo(r)}else e.slideTo(r)}};var H={loopCreate:function(e){const t=this,{params:s,slidesEl:a}=t;if(!s.loop||t.virtual&&t.params.virtual.enabled)return;f(a,`.${s.slideClass}, swiper-slide`).forEach(((e,t)=>{e.setAttribute("data-swiper-slide-index",t)})),t.loopFix({slideRealIndex:e,direction:s.centeredSlides?void 0:"next"})},loopFix:function(e){let{slideRealIndex:t,slideTo:s=!0,direction:a,setTranslate:i,activeSlideIndex:r,byController:n,byMousewheel:l}=void 0===e?{}:e;const o=this;if(!o.params.loop)return;o.emit("beforeLoopFix");const{slides:d,allowSlidePrev:c,allowSlideNext:p,slidesEl:u,params:m}=o;if(o.allowSlidePrev=!0,o.allowSlideNext=!0,o.virtual&&m.virtual.enabled)return s&&(m.centeredSlides||0!==o.snapIndex?m.centeredSlides&&o.snapIndexe.classList.contains(m.slideActiveClass)))[0]):w=r;const b="next"===a||!a,y="prev"===a||!a;let E=0,x=0;if(ro.slides.length-2*f){x=Math.max(r-(o.slides.length-2*f),m.slidesPerGroup);for(let e=0;e{o.slides[e].swiperLoopMoveDOM=!0,u.prepend(o.slides[e]),o.slides[e].swiperLoopMoveDOM=!1})),b&&v.forEach((e=>{o.slides[e].swiperLoopMoveDOM=!0,u.append(o.slides[e]),o.slides[e].swiperLoopMoveDOM=!1})),o.recalcSlides(),"auto"===m.slidesPerView&&o.updateSlides(),m.watchSlidesProgress&&o.updateSlidesOffset(),s)if(g.length>0&&y)if(void 0===t){const e=o.slidesGrid[w],t=o.slidesGrid[w+E]-e;l?o.setTranslate(o.translate-t):(o.slideTo(w+E,0,!1,!0),i&&(o.touches[o.isHorizontal()?"startX":"startY"]+=t))}else i&&o.slideToLoop(t,0,!1,!0);else if(v.length>0&&b)if(void 0===t){const e=o.slidesGrid[w],t=o.slidesGrid[w-x]-e;l?o.setTranslate(o.translate-t):(o.slideTo(w-x,0,!1,!0),i&&(o.touches[o.isHorizontal()?"startX":"startY"]+=t))}else o.slideToLoop(t,0,!1,!0);if(o.allowSlidePrev=c,o.allowSlideNext=p,o.controller&&o.controller.control&&!n){const e={slideRealIndex:t,slideTo:!1,direction:a,setTranslate:i,activeSlideIndex:r,byController:!0};Array.isArray(o.controller.control)?o.controller.control.forEach((t=>{!t.destroyed&&t.params.loop&&t.loopFix(e)})):o.controller.control instanceof o.constructor&&o.controller.control.params.loop&&o.controller.control.loopFix(e)}o.emit("loopFix")},loopDestroy:function(){const e=this,{params:t,slidesEl:s}=e;if(!t.loop||e.virtual&&e.params.virtual.enabled)return;e.recalcSlides();const a=[];e.slides.forEach((e=>{const t=void 0===e.swiperSlideIndex?1*e.getAttribute("data-swiper-slide-index"):e.swiperSlideIndex;a[t]=e})),e.slides.forEach((e=>{e.removeAttribute("data-swiper-slide-index")})),a.forEach((e=>{s.append(e)})),e.recalcSlides(),e.slideTo(e.realIndex,0)}};function X(e){const t=this,s=a(),i=r(),n=t.touchEventsData;n.evCache.push(e);const{params:o,touches:d,enabled:c}=t;if(!c)return;if(!o.simulateTouch&&"mouse"===e.pointerType)return;if(t.animating&&o.preventInteractionOnTransition)return;!t.animating&&o.cssMode&&o.loop&&t.loopFix();let p=e;p.originalEvent&&(p=p.originalEvent);let u=p.target;if("wrapper"===o.touchEventsTarget&&!t.wrapperEl.contains(u))return;if("which"in p&&3===p.which)return;if("button"in p&&p.button>0)return;if(n.isTouched&&n.isMoved)return;const m=!!o.noSwipingClass&&""!==o.noSwipingClass,h=e.composedPath?e.composedPath():e.path;m&&p.target&&p.target.shadowRoot&&h&&(u=h[0]);const f=o.noSwipingSelector?o.noSwipingSelector:`.${o.noSwipingClass}`,g=!(!p.target||!p.target.shadowRoot);if(o.noSwiping&&(g?function(e,t){return void 0===t&&(t=this),function t(s){if(!s||s===a()||s===r())return null;s.assignedSlot&&(s=s.assignedSlot);const i=s.closest(e);return i||s.getRootNode?i||t(s.getRootNode().host):null}(t)}(f,u):u.closest(f)))return void(t.allowClick=!0);if(o.swipeHandler&&!u.closest(o.swipeHandler))return;d.currentX=p.pageX,d.currentY=p.pageY;const v=d.currentX,w=d.currentY,b=o.edgeSwipeDetection||o.iOSEdgeSwipeDetection,y=o.edgeSwipeThreshold||o.iOSEdgeSwipeThreshold;if(b&&(v<=y||v>=i.innerWidth-y)){if("prevent"!==b)return;e.preventDefault()}Object.assign(n,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),d.startX=v,d.startY=w,n.touchStartTime=l(),t.allowClick=!0,t.updateSize(),t.swipeDirection=void 0,o.threshold>0&&(n.allowThresholdMove=!1);let E=!0;u.matches(n.focusableElements)&&(E=!1,"SELECT"===u.nodeName&&(n.isTouched=!1)),s.activeElement&&s.activeElement.matches(n.focusableElements)&&s.activeElement!==u&&s.activeElement.blur();const x=E&&t.allowTouchMove&&o.touchStartPreventDefault;!o.touchStartForcePreventDefault&&!x||u.isContentEditable||p.preventDefault(),o.freeMode&&o.freeMode.enabled&&t.freeMode&&t.animating&&!o.cssMode&&t.freeMode.onTouchStart(),t.emit("touchStart",p)}function Y(e){const t=a(),s=this,i=s.touchEventsData,{params:r,touches:n,rtlTranslate:o,enabled:d}=s;if(!d)return;if(!r.simulateTouch&&"mouse"===e.pointerType)return;let c=e;if(c.originalEvent&&(c=c.originalEvent),!i.isTouched)return void(i.startMoving&&i.isScrolling&&s.emit("touchMoveOpposite",c));const p=i.evCache.findIndex((e=>e.pointerId===c.pointerId));p>=0&&(i.evCache[p]=c);const u=i.evCache.length>1?i.evCache[0]:c,m=u.pageX,h=u.pageY;if(c.preventedByNestedSwiper)return n.startX=m,void(n.startY=h);if(!s.allowTouchMove)return c.target.matches(i.focusableElements)||(s.allowClick=!1),void(i.isTouched&&(Object.assign(n,{startX:m,startY:h,prevX:s.touches.currentX,prevY:s.touches.currentY,currentX:m,currentY:h}),i.touchStartTime=l()));if(r.touchReleaseOnEdges&&!r.loop)if(s.isVertical()){if(hn.startY&&s.translate>=s.minTranslate())return i.isTouched=!1,void(i.isMoved=!1)}else if(mn.startX&&s.translate>=s.minTranslate())return;if(t.activeElement&&c.target===t.activeElement&&c.target.matches(i.focusableElements))return i.isMoved=!0,void(s.allowClick=!1);if(i.allowTouchCallbacks&&s.emit("touchMove",c),c.targetTouches&&c.targetTouches.length>1)return;n.currentX=m,n.currentY=h;const f=n.currentX-n.startX,g=n.currentY-n.startY;if(s.params.threshold&&Math.sqrt(f**2+g**2)=25&&(e=180*Math.atan2(Math.abs(g),Math.abs(f))/Math.PI,i.isScrolling=s.isHorizontal()?e>r.touchAngle:90-e>r.touchAngle)}if(i.isScrolling&&s.emit("touchMoveOpposite",c),void 0===i.startMoving&&(n.currentX===n.startX&&n.currentY===n.startY||(i.startMoving=!0)),i.isScrolling||s.zoom&&s.params.zoom&&s.params.zoom.enabled&&i.evCache.length>1)return void(i.isTouched=!1);if(!i.startMoving)return;s.allowClick=!1,!r.cssMode&&c.cancelable&&c.preventDefault(),r.touchMoveStopPropagation&&!r.nested&&c.stopPropagation();let v=s.isHorizontal()?f:g,w=s.isHorizontal()?n.currentX-n.previousX:n.currentY-n.previousY;r.oneWayMovement&&(v=Math.abs(v)*(o?1:-1),w=Math.abs(w)*(o?1:-1)),n.diff=v,v*=r.touchRatio,o&&(v=-v,w=-w);const b=s.touchesDirection;s.swipeDirection=v>0?"prev":"next",s.touchesDirection=w>0?"prev":"next";const y=s.params.loop&&!r.cssMode;if(!i.isMoved){if(y&&s.loopFix({direction:s.swipeDirection}),i.startTranslate=s.getTranslate(),s.setTransition(0),s.animating){const e=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0});s.wrapperEl.dispatchEvent(e)}i.allowMomentumBounce=!1,!r.grabCursor||!0!==s.allowSlideNext&&!0!==s.allowSlidePrev||s.setGrabCursor(!0),s.emit("sliderFirstMove",c)}let E;i.isMoved&&b!==s.touchesDirection&&y&&Math.abs(v)>=1&&(s.loopFix({direction:s.swipeDirection,setTranslate:!0}),E=!0),s.emit("sliderMove",c),i.isMoved=!0,i.currentTranslate=v+i.startTranslate;let x=!0,S=r.resistanceRatio;if(r.touchReleaseOnEdges&&(S=0),v>0?(y&&!E&&i.currentTranslate>(r.centeredSlides?s.minTranslate()-s.size/2:s.minTranslate())&&s.loopFix({direction:"prev",setTranslate:!0,activeSlideIndex:0}),i.currentTranslate>s.minTranslate()&&(x=!1,r.resistance&&(i.currentTranslate=s.minTranslate()-1+(-s.minTranslate()+i.startTranslate+v)**S))):v<0&&(y&&!E&&i.currentTranslate<(r.centeredSlides?s.maxTranslate()+s.size/2:s.maxTranslate())&&s.loopFix({direction:"next",setTranslate:!0,activeSlideIndex:s.slides.length-("auto"===r.slidesPerView?s.slidesPerViewDynamic():Math.ceil(parseFloat(r.slidesPerView,10)))}),i.currentTranslatei.startTranslate&&(i.currentTranslate=i.startTranslate),s.allowSlidePrev||s.allowSlideNext||(i.currentTranslate=i.startTranslate),r.threshold>0){if(!(Math.abs(v)>r.threshold||i.allowThresholdMove))return void(i.currentTranslate=i.startTranslate);if(!i.allowThresholdMove)return i.allowThresholdMove=!0,n.startX=n.currentX,n.startY=n.currentY,i.currentTranslate=i.startTranslate,void(n.diff=s.isHorizontal()?n.currentX-n.startX:n.currentY-n.startY)}r.followFinger&&!r.cssMode&&((r.freeMode&&r.freeMode.enabled&&s.freeMode||r.watchSlidesProgress)&&(s.updateActiveIndex(),s.updateSlidesClasses()),r.freeMode&&r.freeMode.enabled&&s.freeMode&&s.freeMode.onTouchMove(),s.updateProgress(i.currentTranslate),s.setTranslate(i.currentTranslate))}function B(e){const t=this,s=t.touchEventsData,a=s.evCache.findIndex((t=>t.pointerId===e.pointerId));if(a>=0&&s.evCache.splice(a,1),["pointercancel","pointerout","pointerleave"].includes(e.type)){if(!("pointercancel"===e.type&&(t.browser.isSafari||t.browser.isWebView)))return}const{params:i,touches:r,rtlTranslate:o,slidesGrid:d,enabled:c}=t;if(!c)return;if(!i.simulateTouch&&"mouse"===e.pointerType)return;let p=e;if(p.originalEvent&&(p=p.originalEvent),s.allowTouchCallbacks&&t.emit("touchEnd",p),s.allowTouchCallbacks=!1,!s.isTouched)return s.isMoved&&i.grabCursor&&t.setGrabCursor(!1),s.isMoved=!1,void(s.startMoving=!1);i.grabCursor&&s.isMoved&&s.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);const u=l(),m=u-s.touchStartTime;if(t.allowClick){const e=p.path||p.composedPath&&p.composedPath();t.updateClickedSlide(e&&e[0]||p.target),t.emit("tap click",p),m<300&&u-s.lastClickTime<300&&t.emit("doubleTap doubleClick",p)}if(s.lastClickTime=l(),n((()=>{t.destroyed||(t.allowClick=!0)})),!s.isTouched||!s.isMoved||!t.swipeDirection||0===r.diff||s.currentTranslate===s.startTranslate)return s.isTouched=!1,s.isMoved=!1,void(s.startMoving=!1);let h;if(s.isTouched=!1,s.isMoved=!1,s.startMoving=!1,h=i.followFinger?o?t.translate:-t.translate:-s.currentTranslate,i.cssMode)return;if(i.freeMode&&i.freeMode.enabled)return void t.freeMode.onTouchEnd({currentPos:h});let f=0,g=t.slidesSizesGrid[0];for(let e=0;e=d[e]&&h=d[e]&&(f=e,g=d[d.length-1]-d[d.length-2])}let v=null,w=null;i.rewind&&(t.isBeginning?w=i.virtual&&i.virtual.enabled&&t.virtual?t.virtual.slides.length-1:t.slides.length-1:t.isEnd&&(v=0));const b=(h-d[f])/g,y=fi.longSwipesMs){if(!i.longSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&(b>=i.longSwipesRatio?t.slideTo(i.rewind&&t.isEnd?v:f+y):t.slideTo(f)),"prev"===t.swipeDirection&&(b>1-i.longSwipesRatio?t.slideTo(f+y):null!==w&&b<0&&Math.abs(b)>i.longSwipesRatio?t.slideTo(w):t.slideTo(f))}else{if(!i.shortSwipes)return void t.slideTo(t.activeIndex);t.navigation&&(p.target===t.navigation.nextEl||p.target===t.navigation.prevEl)?p.target===t.navigation.nextEl?t.slideTo(f+y):t.slideTo(f):("next"===t.swipeDirection&&t.slideTo(null!==v?v:f+y),"prev"===t.swipeDirection&&t.slideTo(null!==w?w:f))}}function N(){const e=this,{params:t,el:s}=e;if(s&&0===s.offsetWidth)return;t.breakpoints&&e.setBreakpoint();const{allowSlideNext:a,allowSlidePrev:i,snapGrid:r}=e,n=e.virtual&&e.params.virtual.enabled;e.allowSlideNext=!0,e.allowSlidePrev=!0,e.updateSize(),e.updateSlides(),e.updateSlidesClasses();const l=n&&t.loop;!("auto"===t.slidesPerView||t.slidesPerView>1)||!e.isEnd||e.isBeginning||e.params.centeredSlides||l?e.params.loop&&!n?e.slideToLoop(e.realIndex,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0):e.slideTo(e.slides.length-1,0,!1,!0),e.autoplay&&e.autoplay.running&&e.autoplay.paused&&(clearTimeout(e.autoplay.resizeTimeout),e.autoplay.resizeTimeout=setTimeout((()=>{e.autoplay&&e.autoplay.running&&e.autoplay.paused&&e.autoplay.resume()}),500)),e.allowSlidePrev=i,e.allowSlideNext=a,e.params.watchOverflow&&r!==e.snapGrid&&e.checkOverflow()}function q(e){const t=this;t.enabled&&(t.allowClick||(t.params.preventClicks&&e.preventDefault(),t.params.preventClicksPropagation&&t.animating&&(e.stopPropagation(),e.stopImmediatePropagation())))}function R(){const e=this,{wrapperEl:t,rtlTranslate:s,enabled:a}=e;if(!a)return;let i;e.previousTranslate=e.translate,e.isHorizontal()?e.translate=-t.scrollLeft:e.translate=-t.scrollTop,0===e.translate&&(e.translate=0),e.updateActiveIndex(),e.updateSlidesClasses();const r=e.maxTranslate()-e.minTranslate();i=0===r?0:(e.translate-e.minTranslate())/r,i!==e.progress&&e.updateProgress(s?-e.translate:e.translate),e.emit("setTranslate",e.translate,!1)}function F(e){const t=this;A(t,e.target),t.params.cssMode||"auto"!==t.params.slidesPerView&&!t.params.autoHeight||t.update()}let _=!1;function V(){}const j=(e,t)=>{const s=a(),{params:i,el:r,wrapperEl:n,device:l}=e,o=!!i.nested,d="on"===t?"addEventListener":"removeEventListener",c=t;r[d]("pointerdown",e.onTouchStart,{passive:!1}),s[d]("pointermove",e.onTouchMove,{passive:!1,capture:o}),s[d]("pointerup",e.onTouchEnd,{passive:!0}),s[d]("pointercancel",e.onTouchEnd,{passive:!0}),s[d]("pointerout",e.onTouchEnd,{passive:!0}),s[d]("pointerleave",e.onTouchEnd,{passive:!0}),(i.preventClicks||i.preventClicksPropagation)&&r[d]("click",e.onClick,!0),i.cssMode&&n[d]("scroll",e.onScroll),i.updateOnWindowResize?e[c](l.ios||l.android?"resize orientationchange observerUpdate":"resize observerUpdate",N,!0):e[c]("observerUpdate",N,!0),r[d]("load",e.onLoad,{capture:!0})};const W=(e,t)=>e.grid&&t.grid&&t.grid.rows>1;var U={init:!0,direction:"horizontal",oneWayMovement:!1,touchEventsTarget:"wrapper",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!0,nested:!1,createElements:!1,enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerGroup:1,slidesPerGroupSkip:0,slidesPerGroupAuto:!1,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!0,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:5,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,loop:!1,loopedSlides:null,loopPreventsSliding:!0,rewind:!1,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,maxBackfaceHiddenSlides:10,containerModifierClass:"swiper-",slideClass:"swiper-slide",slideActiveClass:"swiper-slide-active",slideVisibleClass:"swiper-slide-visible",slideNextClass:"swiper-slide-next",slidePrevClass:"swiper-slide-prev",wrapperClass:"swiper-wrapper",lazyPreloaderClass:"swiper-lazy-preloader",lazyPreloadPrevNext:0,runCallbacksOnInit:!0,_emitClasses:!1};function K(e,t){return function(s){void 0===s&&(s={});const a=Object.keys(s)[0],i=s[a];"object"==typeof i&&null!==i?(["navigation","pagination","scrollbar"].indexOf(a)>=0&&!0===e[a]&&(e[a]={auto:!0}),a in e&&"enabled"in i?(!0===e[a]&&(e[a]={enabled:!0}),"object"!=typeof e[a]||"enabled"in e[a]||(e[a].enabled=!0),e[a]||(e[a]={enabled:!1}),p(t,s)):p(t,s)):p(t,s)}}const Z={eventsEmitter:z,update:k,translate:O,transition:{setTransition:function(e,t){const s=this;s.params.cssMode||(s.wrapperEl.style.transitionDuration=`${e}ms`),s.emit("setTransition",e,t)},transitionStart:function(e,t){void 0===e&&(e=!0);const s=this,{params:a}=s;a.cssMode||(a.autoHeight&&s.updateAutoHeight(),D({swiper:s,runCallbacks:e,direction:t,step:"Start"}))},transitionEnd:function(e,t){void 0===e&&(e=!0);const s=this,{params:a}=s;s.animating=!1,a.cssMode||(s.setTransition(0),D({swiper:s,runCallbacks:e,direction:t,step:"End"}))}},slide:G,loop:H,grabCursor:{setGrabCursor:function(e){const t=this;if(!t.params.simulateTouch||t.params.watchOverflow&&t.isLocked||t.params.cssMode)return;const s="container"===t.params.touchEventsTarget?t.el:t.wrapperEl;t.isElement&&(t.__preventObserver__=!0),s.style.cursor="move",s.style.cursor=e?"grabbing":"grab",t.isElement&&requestAnimationFrame((()=>{t.__preventObserver__=!1}))},unsetGrabCursor:function(){const e=this;e.params.watchOverflow&&e.isLocked||e.params.cssMode||(e.isElement&&(e.__preventObserver__=!0),e["container"===e.params.touchEventsTarget?"el":"wrapperEl"].style.cursor="",e.isElement&&requestAnimationFrame((()=>{e.__preventObserver__=!1})))}},events:{attachEvents:function(){const e=this,t=a(),{params:s}=e;e.onTouchStart=X.bind(e),e.onTouchMove=Y.bind(e),e.onTouchEnd=B.bind(e),s.cssMode&&(e.onScroll=R.bind(e)),e.onClick=q.bind(e),e.onLoad=F.bind(e),_||(t.addEventListener("touchstart",V),_=!0),j(e,"on")},detachEvents:function(){j(this,"off")}},breakpoints:{setBreakpoint:function(){const e=this,{realIndex:t,initialized:s,params:a,el:i}=e,r=a.breakpoints;if(!r||r&&0===Object.keys(r).length)return;const n=e.getBreakpoint(r,e.params.breakpointsBase,e.el);if(!n||e.currentBreakpoint===n)return;const l=(n in r?r[n]:void 0)||e.originalParams,o=W(e,a),d=W(e,l),c=a.enabled;o&&!d?(i.classList.remove(`${a.containerModifierClass}grid`,`${a.containerModifierClass}grid-column`),e.emitContainerClasses()):!o&&d&&(i.classList.add(`${a.containerModifierClass}grid`),(l.grid.fill&&"column"===l.grid.fill||!l.grid.fill&&"column"===a.grid.fill)&&i.classList.add(`${a.containerModifierClass}grid-column`),e.emitContainerClasses()),["navigation","pagination","scrollbar"].forEach((t=>{if(void 0===l[t])return;const s=a[t]&&a[t].enabled,i=l[t]&&l[t].enabled;s&&!i&&e[t].disable(),!s&&i&&e[t].enable()}));const u=l.direction&&l.direction!==a.direction,m=a.loop&&(l.slidesPerView!==a.slidesPerView||u);u&&s&&e.changeDirection(),p(e.params,l);const h=e.params.enabled;Object.assign(e,{allowTouchMove:e.params.allowTouchMove,allowSlideNext:e.params.allowSlideNext,allowSlidePrev:e.params.allowSlidePrev}),c&&!h?e.disable():!c&&h&&e.enable(),e.currentBreakpoint=n,e.emit("_beforeBreakpoint",l),m&&s&&(e.loopDestroy(),e.loopCreate(t),e.updateSlides()),e.emit("breakpoint",l)},getBreakpoint:function(e,t,s){if(void 0===t&&(t="window"),!e||"container"===t&&!s)return;let a=!1;const i=r(),n="window"===t?i.innerHeight:s.clientHeight,l=Object.keys(e).map((e=>{if("string"==typeof e&&0===e.indexOf("@")){const t=parseFloat(e.substr(1));return{value:n*t,point:e}}return{value:e,point:e}}));l.sort(((e,t)=>parseInt(e.value,10)-parseInt(t.value,10)));for(let e=0;es}else e.isLocked=1===e.snapGrid.length;!0===s.allowSlideNext&&(e.allowSlideNext=!e.isLocked),!0===s.allowSlidePrev&&(e.allowSlidePrev=!e.isLocked),t&&t!==e.isLocked&&(e.isEnd=!1),t!==e.isLocked&&e.emit(e.isLocked?"lock":"unlock")}},classes:{addClasses:function(){const e=this,{classNames:t,params:s,rtl:a,el:i,device:r}=e,n=function(e,t){const s=[];return e.forEach((e=>{"object"==typeof e?Object.keys(e).forEach((a=>{e[a]&&s.push(t+a)})):"string"==typeof e&&s.push(t+e)})),s}(["initialized",s.direction,{"free-mode":e.params.freeMode&&s.freeMode.enabled},{autoheight:s.autoHeight},{rtl:a},{grid:s.grid&&s.grid.rows>1},{"grid-column":s.grid&&s.grid.rows>1&&"column"===s.grid.fill},{android:r.android},{ios:r.ios},{"css-mode":s.cssMode},{centered:s.cssMode&&s.centeredSlides},{"watch-progress":s.watchSlidesProgress}],s.containerModifierClass);t.push(...n),i.classList.add(...t),e.emitContainerClasses()},removeClasses:function(){const{el:e,classNames:t}=this;e.classList.remove(...t),this.emitContainerClasses()}}},Q={};class J{constructor(){let e,t;for(var s=arguments.length,i=new Array(s),r=0;r1){const e=[];return n.querySelectorAll(t.el).forEach((s=>{const a=p({},t,{el:s});e.push(new J(a))})),e}const l=this;l.__swiper__=!0,l.support=C(),l.device=P({userAgent:t.userAgent}),l.browser=L(),l.eventsListeners={},l.eventsAnyListeners=[],l.modules=[...l.__modules__],t.modules&&Array.isArray(t.modules)&&l.modules.push(...t.modules);const o={};l.modules.forEach((e=>{e({params:t,swiper:l,extendParams:K(t,o),on:l.on.bind(l),once:l.once.bind(l),off:l.off.bind(l),emit:l.emit.bind(l)})}));const d=p({},U,o);return l.params=p({},d,Q,t),l.originalParams=p({},l.params),l.passedParams=p({},t),l.params&&l.params.on&&Object.keys(l.params.on).forEach((e=>{l.on(e,l.params.on[e])})),l.params&&l.params.onAny&&l.onAny(l.params.onAny),Object.assign(l,{enabled:l.params.enabled,el:e,classNames:[],slides:[],slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:()=>"horizontal"===l.params.direction,isVertical:()=>"vertical"===l.params.direction,activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,cssOverflowAdjustment(){return Math.trunc(this.translate/2**23)*2**23},allowSlideNext:l.params.allowSlideNext,allowSlidePrev:l.params.allowSlidePrev,touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,focusableElements:l.params.focusableElements,lastClickTime:0,clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,startMoving:void 0,evCache:[]},allowClick:!0,allowTouchMove:l.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),l.emit("_swiper"),l.params.init&&l.init(),l}getSlideIndex(e){const{slidesEl:t,params:s}=this,a=b(f(t,`.${s.slideClass}, swiper-slide`)[0]);return b(e)-a}getSlideIndexByData(e){return this.getSlideIndex(this.slides.filter((t=>1*t.getAttribute("data-swiper-slide-index")===e))[0])}recalcSlides(){const{slidesEl:e,params:t}=this;this.slides=f(e,`.${t.slideClass}, swiper-slide`)}enable(){const e=this;e.enabled||(e.enabled=!0,e.params.grabCursor&&e.setGrabCursor(),e.emit("enable"))}disable(){const e=this;e.enabled&&(e.enabled=!1,e.params.grabCursor&&e.unsetGrabCursor(),e.emit("disable"))}setProgress(e,t){const s=this;e=Math.min(Math.max(e,0),1);const a=s.minTranslate(),i=(s.maxTranslate()-a)*e+a;s.translateTo(i,void 0===t?0:t),s.updateActiveIndex(),s.updateSlidesClasses()}emitContainerClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=e.el.className.split(" ").filter((t=>0===t.indexOf("swiper")||0===t.indexOf(e.params.containerModifierClass)));e.emit("_containerClasses",t.join(" "))}getSlideClasses(e){const t=this;return t.destroyed?"":e.className.split(" ").filter((e=>0===e.indexOf("swiper-slide")||0===e.indexOf(t.params.slideClass))).join(" ")}emitSlidesClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=[];e.slides.forEach((s=>{const a=e.getSlideClasses(s);t.push({slideEl:s,classNames:a}),e.emit("_slideClass",s,a)})),e.emit("_slideClasses",t)}slidesPerViewDynamic(e,t){void 0===e&&(e="current"),void 0===t&&(t=!1);const{params:s,slides:a,slidesGrid:i,slidesSizesGrid:r,size:n,activeIndex:l}=this;let o=1;if(s.centeredSlides){let e,t=a[l]?a[l].swiperSlideSize:0;for(let s=l+1;sn&&(e=!0));for(let s=l-1;s>=0;s-=1)a[s]&&!e&&(t+=a[s].swiperSlideSize,o+=1,t>n&&(e=!0))}else if("current"===e)for(let e=l+1;e=0;e-=1){i[l]-i[e]{t.complete&&A(e,t)})),e.updateSize(),e.updateSlides(),e.updateProgress(),e.updateSlidesClasses(),s.freeMode&&s.freeMode.enabled&&!s.cssMode)a(),s.autoHeight&&e.updateAutoHeight();else{if(("auto"===s.slidesPerView||s.slidesPerView>1)&&e.isEnd&&!s.centeredSlides){const t=e.virtual&&s.virtual.enabled?e.virtual.slides:e.slides;i=e.slideTo(t.length-1,0,!1,!0)}else i=e.slideTo(e.activeIndex,0,!1,!0);i||a()}s.watchOverflow&&t!==e.snapGrid&&e.checkOverflow(),e.emit("update")}changeDirection(e,t){void 0===t&&(t=!0);const s=this,a=s.params.direction;return e||(e="horizontal"===a?"vertical":"horizontal"),e===a||"horizontal"!==e&&"vertical"!==e||(s.el.classList.remove(`${s.params.containerModifierClass}${a}`),s.el.classList.add(`${s.params.containerModifierClass}${e}`),s.emitContainerClasses(),s.params.direction=e,s.slides.forEach((t=>{"vertical"===e?t.style.width="":t.style.height=""})),s.emit("changeDirection"),t&&s.update()),s}changeLanguageDirection(e){const t=this;t.rtl&&"rtl"===e||!t.rtl&&"ltr"===e||(t.rtl="rtl"===e,t.rtlTranslate="horizontal"===t.params.direction&&t.rtl,t.rtl?(t.el.classList.add(`${t.params.containerModifierClass}rtl`),t.el.dir="rtl"):(t.el.classList.remove(`${t.params.containerModifierClass}rtl`),t.el.dir="ltr"),t.update())}mount(e){const t=this;if(t.mounted)return!0;let s=e||t.params.el;if("string"==typeof s&&(s=document.querySelector(s)),!s)return!1;s.swiper=t,s.shadowEl&&(t.isElement=!0);const a=()=>`.${(t.params.wrapperClass||"").trim().split(" ").join(".")}`;let i=(()=>{if(s&&s.shadowRoot&&s.shadowRoot.querySelector){return s.shadowRoot.querySelector(a())}return f(s,a())[0]})();return!i&&t.params.createElements&&(i=g("div",t.params.wrapperClass),s.append(i),f(s,`.${t.params.slideClass}`).forEach((e=>{i.append(e)}))),Object.assign(t,{el:s,wrapperEl:i,slidesEl:t.isElement?s:i,mounted:!0,rtl:"rtl"===s.dir.toLowerCase()||"rtl"===w(s,"direction"),rtlTranslate:"horizontal"===t.params.direction&&("rtl"===s.dir.toLowerCase()||"rtl"===w(s,"direction")),wrongRTL:"-webkit-box"===w(i,"display")}),!0}init(e){const t=this;if(t.initialized)return t;return!1===t.mount(e)||(t.emit("beforeInit"),t.params.breakpoints&&t.setBreakpoint(),t.addClasses(),t.updateSize(),t.updateSlides(),t.params.watchOverflow&&t.checkOverflow(),t.params.grabCursor&&t.enabled&&t.setGrabCursor(),t.params.loop&&t.virtual&&t.params.virtual.enabled?t.slideTo(t.params.initialSlide+t.virtual.slidesBefore,0,t.params.runCallbacksOnInit,!1,!0):t.slideTo(t.params.initialSlide,0,t.params.runCallbacksOnInit,!1,!0),t.params.loop&&t.loopCreate(),t.attachEvents(),[...t.el.querySelectorAll('[loading="lazy"]')].forEach((e=>{e.complete?A(t,e):e.addEventListener("load",(e=>{A(t,e.target)}))})),I(t),t.initialized=!0,I(t),t.emit("init"),t.emit("afterInit")),t}destroy(e,t){void 0===e&&(e=!0),void 0===t&&(t=!0);const s=this,{params:a,el:i,wrapperEl:r,slides:n}=s;return void 0===s.params||s.destroyed||(s.emit("beforeDestroy"),s.initialized=!1,s.detachEvents(),a.loop&&s.loopDestroy(),t&&(s.removeClasses(),i.removeAttribute("style"),r.removeAttribute("style"),n&&n.length&&n.forEach((e=>{e.classList.remove(a.slideVisibleClass,a.slideActiveClass,a.slideNextClass,a.slidePrevClass),e.removeAttribute("style"),e.removeAttribute("data-swiper-slide-index")}))),s.emit("destroy"),Object.keys(s.eventsListeners).forEach((e=>{s.off(e)})),!1!==e&&(s.el.swiper=null,function(e){const t=e;Object.keys(t).forEach((e=>{try{t[e]=null}catch(e){}try{delete t[e]}catch(e){}}))}(s)),s.destroyed=!0),null}static extendDefaults(e){p(Q,e)}static get extendedDefaults(){return Q}static get defaults(){return U}static installModule(e){J.prototype.__modules__||(J.prototype.__modules__=[]);const t=J.prototype.__modules__;"function"==typeof e&&t.indexOf(e)<0&&t.push(e)}static use(e){return Array.isArray(e)?(e.forEach((e=>J.installModule(e))),J):(J.installModule(e),J)}}function ee(e,t,s,a){return e.params.createElements&&Object.keys(a).forEach((i=>{if(!s[i]&&!0===s.auto){let r=f(e.el,`.${a[i]}`)[0];r||(r=g("div",a[i]),r.className=a[i],e.el.append(r)),s[i]=r,t[i]=r}})),s}function te(e){return void 0===e&&(e=""),`.${e.trim().replace(/([\.:!+\/])/g,"\\$1").replace(/ /g,".")}`}function se(e){const t=this,{params:s,slidesEl:a}=t;s.loop&&t.loopDestroy();const i=e=>{if("string"==typeof e){const t=document.createElement("div");t.innerHTML=e,a.append(t.children[0]),t.innerHTML=""}else a.append(e)};if("object"==typeof e&&"length"in e)for(let t=0;t{if("string"==typeof e){const t=document.createElement("div");t.innerHTML=e,i.prepend(t.children[0]),t.innerHTML=""}else i.prepend(e)};if("object"==typeof e&&"length"in e){for(let t=0;t=l)return void s.appendSlide(t);let o=n>e?n+1:n;const d=[];for(let t=l-1;t>=e;t-=1){const e=s.slides[t];e.remove(),d.unshift(e)}if("object"==typeof t&&"length"in t){for(let e=0;ee?n+t.length:n}else r.append(t);for(let e=0;e{if(s.params.effect!==t)return;s.classNames.push(`${s.params.containerModifierClass}${t}`),l&&l()&&s.classNames.push(`${s.params.containerModifierClass}3d`);const e=n?n():{};Object.assign(s.params,e),Object.assign(s.originalParams,e)})),a("setTranslate",(()=>{s.params.effect===t&&i()})),a("setTransition",((e,a)=>{s.params.effect===t&&r(a)})),a("transitionEnd",(()=>{if(s.params.effect===t&&o){if(!d||!d().slideShadows)return;s.slides.forEach((e=>{e.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((e=>e.remove()))})),o()}})),a("virtualUpdate",(()=>{s.params.effect===t&&(s.slides.length||(c=!0),requestAnimationFrame((()=>{c&&s.slides&&s.slides.length&&(i(),c=!1)})))}))}function oe(e,t){const s=h(t);return s!==t&&(s.style.backfaceVisibility="hidden",s.style["-webkit-backface-visibility"]="hidden"),s}function de(e){let{swiper:t,duration:s,transformElements:a,allSlides:i}=e;const{activeIndex:r}=t;if(t.params.virtualTranslate&&0!==s){let e,s=!1;e=i?a:a.filter((e=>{const s=e.classList.contains("swiper-slide-transform")?(e=>{if(!e.parentElement)return t.slides.filter((t=>t.shadowEl&&t.shadowEl===e.parentNode))[0];return e.parentElement})(e):e;return t.getSlideIndex(s)===r})),e.forEach((e=>{E(e,(()=>{if(s)return;if(!t||t.destroyed)return;s=!0,t.animating=!1;const e=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0});t.wrapperEl.dispatchEvent(e)}))}))}}function ce(e,t,s){const a="swiper-slide-shadow"+(s?`-${s}`:""),i=h(t);let r=i.querySelector(`.${a}`);return r||(r=g("div","swiper-slide-shadow"+(s?`-${s}`:"")),i.append(r)),r}Object.keys(Z).forEach((e=>{Object.keys(Z[e]).forEach((t=>{J.prototype[t]=Z[e][t]}))})),J.use([function(e){let{swiper:t,on:s,emit:a}=e;const i=r();let n=null,l=null;const o=()=>{t&&!t.destroyed&&t.initialized&&(a("beforeResize"),a("resize"))},d=()=>{t&&!t.destroyed&&t.initialized&&a("orientationchange")};s("init",(()=>{t.params.resizeObserver&&void 0!==i.ResizeObserver?t&&!t.destroyed&&t.initialized&&(n=new ResizeObserver((e=>{l=i.requestAnimationFrame((()=>{const{width:s,height:a}=t;let i=s,r=a;e.forEach((e=>{let{contentBoxSize:s,contentRect:a,target:n}=e;n&&n!==t.el||(i=a?a.width:(s[0]||s).inlineSize,r=a?a.height:(s[0]||s).blockSize)})),i===s&&r===a||o()}))})),n.observe(t.el)):(i.addEventListener("resize",o),i.addEventListener("orientationchange",d))})),s("destroy",(()=>{l&&i.cancelAnimationFrame(l),n&&n.unobserve&&t.el&&(n.unobserve(t.el),n=null),i.removeEventListener("resize",o),i.removeEventListener("orientationchange",d)}))},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=[],l=r(),o=function(e,s){void 0===s&&(s={});const a=new(l.MutationObserver||l.WebkitMutationObserver)((e=>{if(t.__preventObserver__)return;if(1===e.length)return void i("observerUpdate",e[0]);const s=function(){i("observerUpdate",e[0])};l.requestAnimationFrame?l.requestAnimationFrame(s):l.setTimeout(s,0)}));a.observe(e,{attributes:void 0===s.attributes||s.attributes,childList:void 0===s.childList||s.childList,characterData:void 0===s.characterData||s.characterData}),n.push(a)};s({observer:!1,observeParents:!1,observeSlideChildren:!1}),a("init",(()=>{if(t.params.observer){if(t.params.observeParents){const e=y(t.el);for(let t=0;t{n.forEach((e=>{e.disconnect()})),n.splice(0,n.length)}))}]);const pe=[function(e){let t,{swiper:s,extendParams:i,on:r,emit:n}=e;i({virtual:{enabled:!1,slides:[],cache:!0,renderSlide:null,renderExternal:null,renderExternalUpdate:!0,addSlidesBefore:0,addSlidesAfter:0}});const l=a();s.virtual={cache:{},from:void 0,to:void 0,slides:[],offset:0,slidesGrid:[]};const o=l.createElement("div");function d(e,t){const a=s.params.virtual;if(a.cache&&s.virtual.cache[t])return s.virtual.cache[t];let i;return a.renderSlide?(i=a.renderSlide.call(s,e,t),"string"==typeof i&&(o.innerHTML=i,i=o.children[0])):i=s.isElement?g("swiper-slide"):g("div",s.params.slideClass),i.setAttribute("data-swiper-slide-index",t),a.renderSlide||(i.innerHTML=e),a.cache&&(s.virtual.cache[t]=i),i}function c(e){const{slidesPerView:t,slidesPerGroup:a,centeredSlides:i,loop:r}=s.params,{addSlidesBefore:l,addSlidesAfter:o}=s.params.virtual,{from:c,to:p,slides:u,slidesGrid:m,offset:h}=s.virtual;s.params.cssMode||s.updateActiveIndex();const g=s.activeIndex||0;let v,w,b;v=s.rtlTranslate?"right":s.isHorizontal()?"left":"top",i?(w=Math.floor(t/2)+a+o,b=Math.floor(t/2)+a+l):(w=t+(a-1)+o,b=(r?t:a)+l);let y=g-b,E=g+w;r||(y=Math.max(y,0),E=Math.min(E,u.length-1));let x=(s.slidesGrid[y]||0)-(s.slidesGrid[0]||0);function S(){s.updateSlides(),s.updateProgress(),s.updateSlidesClasses(),n("virtualUpdate")}if(r&&g>=b?(y-=b,i||(x+=s.slidesGrid[0])):r&&g{e.style[v]=x-Math.abs(s.cssOverflowAdjustment())+"px"})),s.updateProgress(),void n("virtualUpdate");if(s.params.virtual.renderExternal)return s.params.virtual.renderExternal.call(s,{offset:x,from:y,to:E,slides:function(){const e=[];for(let t=y;t<=E;t+=1)e.push(u[t]);return e}()}),void(s.params.virtual.renderExternalUpdate?S():n("virtualUpdate"));const T=[],M=[],C=e=>{let t=e;return e<0?t=u.length+e:t>=u.length&&(t-=u.length),t};if(e)s.slidesEl.querySelectorAll(`.${s.params.slideClass}, swiper-slide`).forEach((e=>{e.remove()}));else for(let e=c;e<=p;e+=1)if(eE){const t=C(e);s.slidesEl.querySelectorAll(`.${s.params.slideClass}[data-swiper-slide-index="${t}"], swiper-slide[data-swiper-slide-index="${t}"]`).forEach((e=>{e.remove()}))}const P=r?-u.length:0,L=r?2*u.length:u.length;for(let t=P;t=y&&t<=E){const s=C(t);void 0===p||e?M.push(s):(t>p&&M.push(s),t{s.slidesEl.append(d(u[e],e))})),r)for(let e=T.length-1;e>=0;e-=1){const t=T[e];s.slidesEl.prepend(d(u[t],t))}else T.sort(((e,t)=>t-e)),T.forEach((e=>{s.slidesEl.prepend(d(u[e],e))}));f(s.slidesEl,".swiper-slide, swiper-slide").forEach((e=>{e.style[v]=x-Math.abs(s.cssOverflowAdjustment())+"px"})),S()}r("beforeInit",(()=>{if(!s.params.virtual.enabled)return;let e;if(void 0===s.passedParams.virtual.slides){const t=[...s.slidesEl.children].filter((e=>e.matches(`.${s.params.slideClass}, swiper-slide`)));t&&t.length&&(s.virtual.slides=[...t],e=!0,t.forEach(((e,t)=>{e.setAttribute("data-swiper-slide-index",t),s.virtual.cache[t]=e,e.remove()})))}e||(s.virtual.slides=s.params.virtual.slides),s.classNames.push(`${s.params.containerModifierClass}virtual`),s.params.watchSlidesProgress=!0,s.originalParams.watchSlidesProgress=!0,s.params.initialSlide||c()})),r("setTranslate",(()=>{s.params.virtual.enabled&&(s.params.cssMode&&!s._immediateVirtual?(clearTimeout(t),t=setTimeout((()=>{c()}),100)):c())})),r("init update resize",(()=>{s.params.virtual.enabled&&s.params.cssMode&&u(s.wrapperEl,"--swiper-virtual-size",`${s.virtualSize}px`)})),Object.assign(s.virtual,{appendSlide:function(e){if("object"==typeof e&&"length"in e)for(let t=0;t{const a=e[s],r=a.getAttribute("data-swiper-slide-index");r&&a.setAttribute("data-swiper-slide-index",parseInt(r,10)+i),t[parseInt(s,10)+i]=a})),s.virtual.cache=t}c(!0),s.slideTo(a,0)},removeSlide:function(e){if(null==e)return;let t=s.activeIndex;if(Array.isArray(e))for(let a=e.length-1;a>=0;a-=1)s.virtual.slides.splice(e[a],1),s.params.virtual.cache&&delete s.virtual.cache[e[a]],e[a]0&&0===y(t.el,`.${t.params.slideActiveClass}`).length)return;const a=t.el,i=a.clientWidth,r=a.clientHeight,n=o.innerWidth,l=o.innerHeight,d=v(a);s&&(d.left-=a.scrollLeft);const c=[[d.left,d.top],[d.left+i,d.top],[d.left,d.top+r],[d.left+i,d.top+r]];for(let t=0;t=0&&s[0]<=n&&s[1]>=0&&s[1]<=l){if(0===s[0]&&0===s[1])continue;e=!0}}if(!e)return}t.isHorizontal()?((d||c||p||u)&&(a.preventDefault?a.preventDefault():a.returnValue=!1),((c||u)&&!s||(d||p)&&s)&&t.slideNext(),((d||p)&&!s||(c||u)&&s)&&t.slidePrev()):((d||c||m||h)&&(a.preventDefault?a.preventDefault():a.returnValue=!1),(c||h)&&t.slideNext(),(d||m)&&t.slidePrev()),n("keyPress",i)}}function c(){t.keyboard.enabled||(l.addEventListener("keydown",d),t.keyboard.enabled=!0)}function p(){t.keyboard.enabled&&(l.removeEventListener("keydown",d),t.keyboard.enabled=!1)}t.keyboard={enabled:!1},s({keyboard:{enabled:!1,onlyInViewport:!0,pageUpDown:!0}}),i("init",(()=>{t.params.keyboard.enabled&&c()})),i("destroy",(()=>{t.keyboard.enabled&&p()})),Object.assign(t.keyboard,{enable:c,disable:p})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const o=r();let d;s({mousewheel:{enabled:!1,releaseOnEdges:!1,invert:!1,forceToAxis:!1,sensitivity:1,eventsTarget:"container",thresholdDelta:null,thresholdTime:null,noMousewheelClass:"swiper-no-mousewheel"}}),t.mousewheel={enabled:!1};let c,p=l();const u=[];function m(){t.enabled&&(t.mouseEntered=!0)}function h(){t.enabled&&(t.mouseEntered=!1)}function f(e){return!(t.params.mousewheel.thresholdDelta&&e.delta=6&&l()-p<60||(e.direction<0?t.isEnd&&!t.params.loop||t.animating||(t.slideNext(),i("scroll",e.raw)):t.isBeginning&&!t.params.loop||t.animating||(t.slidePrev(),i("scroll",e.raw)),p=(new o.Date).getTime(),!1)))}function g(e){let s=e,a=!0;if(!t.enabled)return;if(e.target.closest(`.${t.params.mousewheel.noMousewheelClass}`))return;const r=t.params.mousewheel;t.params.cssMode&&s.preventDefault();let o=t.el;"container"!==t.params.mousewheel.eventsTarget&&(o=document.querySelector(t.params.mousewheel.eventsTarget));const p=o&&o.contains(s.target);if(!t.mouseEntered&&!p&&!r.releaseOnEdges)return!0;s.originalEvent&&(s=s.originalEvent);let m=0;const h=t.rtlTranslate?-1:1,g=function(e){let t=0,s=0,a=0,i=0;return"detail"in e&&(s=e.detail),"wheelDelta"in e&&(s=-e.wheelDelta/120),"wheelDeltaY"in e&&(s=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=s,s=0),a=10*t,i=10*s,"deltaY"in e&&(i=e.deltaY),"deltaX"in e&&(a=e.deltaX),e.shiftKey&&!a&&(a=i,i=0),(a||i)&&e.deltaMode&&(1===e.deltaMode?(a*=40,i*=40):(a*=800,i*=800)),a&&!t&&(t=a<1?-1:1),i&&!s&&(s=i<1?-1:1),{spinX:t,spinY:s,pixelX:a,pixelY:i}}(s);if(r.forceToAxis)if(t.isHorizontal()){if(!(Math.abs(g.pixelX)>Math.abs(g.pixelY)))return!0;m=-g.pixelX*h}else{if(!(Math.abs(g.pixelY)>Math.abs(g.pixelX)))return!0;m=-g.pixelY}else m=Math.abs(g.pixelX)>Math.abs(g.pixelY)?-g.pixelX*h:-g.pixelY;if(0===m)return!0;r.invert&&(m=-m);let v=t.getTranslate()+m*r.sensitivity;if(v>=t.minTranslate()&&(v=t.minTranslate()),v<=t.maxTranslate()&&(v=t.maxTranslate()),a=!!t.params.loop||!(v===t.minTranslate()||v===t.maxTranslate()),a&&t.params.nested&&s.stopPropagation(),t.params.freeMode&&t.params.freeMode.enabled){const e={time:l(),delta:Math.abs(m),direction:Math.sign(m)},a=c&&e.time=t.minTranslate()&&(l=t.minTranslate()),l<=t.maxTranslate()&&(l=t.maxTranslate()),t.setTransition(0),t.setTranslate(l),t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses(),(!o&&t.isBeginning||!p&&t.isEnd)&&t.updateSlidesClasses(),t.params.loop&&t.loopFix({direction:e.direction<0?"next":"prev",byMousewheel:!0}),t.params.freeMode.sticky){clearTimeout(d),d=void 0,u.length>=15&&u.shift();const s=u.length?u[u.length-1]:void 0,a=u[0];if(u.push(e),s&&(e.delta>s.delta||e.direction!==s.direction))u.splice(0);else if(u.length>=15&&e.time-a.time<500&&a.delta-e.delta>=1&&e.delta<=6){const s=m>0?.8:.2;c=e,u.splice(0),d=n((()=>{t.slideToClosest(t.params.speed,!0,void 0,s)}),0)}d||(d=n((()=>{c=e,u.splice(0),t.slideToClosest(t.params.speed,!0,void 0,.5)}),500))}if(a||i("scroll",s),t.params.autoplay&&t.params.autoplayDisableOnInteraction&&t.autoplay.stop(),l===t.minTranslate()||l===t.maxTranslate())return!0}}else{const s={time:l(),delta:Math.abs(m),direction:Math.sign(m),raw:e};u.length>=2&&u.shift();const a=u.length?u[u.length-1]:void 0;if(u.push(s),a?(s.direction!==a.direction||s.delta>a.delta||s.time>a.time+150)&&f(s):f(s),function(e){const s=t.params.mousewheel;if(e.direction<0){if(t.isEnd&&!t.params.loop&&s.releaseOnEdges)return!0}else if(t.isBeginning&&!t.params.loop&&s.releaseOnEdges)return!0;return!1}(s))return!0}return s.preventDefault?s.preventDefault():s.returnValue=!1,!1}function v(e){let s=t.el;"container"!==t.params.mousewheel.eventsTarget&&(s=document.querySelector(t.params.mousewheel.eventsTarget)),s[e]("mouseenter",m),s[e]("mouseleave",h),s[e]("wheel",g)}function w(){return t.params.cssMode?(t.wrapperEl.removeEventListener("wheel",g),!0):!t.mousewheel.enabled&&(v("addEventListener"),t.mousewheel.enabled=!0,!0)}function b(){return t.params.cssMode?(t.wrapperEl.addEventListener(event,g),!0):!!t.mousewheel.enabled&&(v("removeEventListener"),t.mousewheel.enabled=!1,!0)}a("init",(()=>{!t.params.mousewheel.enabled&&t.params.cssMode&&b(),t.params.mousewheel.enabled&&w()})),a("destroy",(()=>{t.params.cssMode&&w(),t.mousewheel.enabled&&b()})),Object.assign(t.mousewheel,{enable:w,disable:b})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;s({navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock",navigationDisabledClass:"swiper-navigation-disabled"}}),t.navigation={nextEl:null,prevEl:null};const r=e=>(Array.isArray(e)||(e=[e].filter((e=>!!e))),e);function n(e){let s;return e&&"string"==typeof e&&t.isElement&&(s=t.el.shadowRoot.querySelector(e),s)?s:(e&&("string"==typeof e&&(s=[...document.querySelectorAll(e)]),t.params.uniqueNavElements&&"string"==typeof e&&s.length>1&&1===t.el.querySelectorAll(e).length&&(s=t.el.querySelector(e))),e&&!s?e:s)}function l(e,s){const a=t.params.navigation;(e=r(e)).forEach((e=>{e&&(e.classList[s?"add":"remove"](...a.disabledClass.split(" ")),"BUTTON"===e.tagName&&(e.disabled=s),t.params.watchOverflow&&t.enabled&&e.classList[t.isLocked?"add":"remove"](a.lockClass))}))}function o(){const{nextEl:e,prevEl:s}=t.navigation;if(t.params.loop)return l(s,!1),void l(e,!1);l(s,t.isBeginning&&!t.params.rewind),l(e,t.isEnd&&!t.params.rewind)}function d(e){e.preventDefault(),(!t.isBeginning||t.params.loop||t.params.rewind)&&(t.slidePrev(),i("navigationPrev"))}function c(e){e.preventDefault(),(!t.isEnd||t.params.loop||t.params.rewind)&&(t.slideNext(),i("navigationNext"))}function p(){const e=t.params.navigation;if(t.params.navigation=ee(t,t.originalParams.navigation,t.params.navigation,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),!e.nextEl&&!e.prevEl)return;let s=n(e.nextEl),a=n(e.prevEl);Object.assign(t.navigation,{nextEl:s,prevEl:a}),s=r(s),a=r(a);const i=(s,a)=>{s&&s.addEventListener("click","next"===a?c:d),!t.enabled&&s&&s.classList.add(...e.lockClass.split(" "))};s.forEach((e=>i(e,"next"))),a.forEach((e=>i(e,"prev")))}function u(){let{nextEl:e,prevEl:s}=t.navigation;e=r(e),s=r(s);const a=(e,s)=>{e.removeEventListener("click","next"===s?c:d),e.classList.remove(...t.params.navigation.disabledClass.split(" "))};e.forEach((e=>a(e,"next"))),s.forEach((e=>a(e,"prev")))}a("init",(()=>{!1===t.params.navigation.enabled?m():(p(),o())})),a("toEdge fromEdge lock unlock",(()=>{o()})),a("destroy",(()=>{u()})),a("enable disable",(()=>{let{nextEl:e,prevEl:s}=t.navigation;e=r(e),s=r(s),[...e,...s].filter((e=>!!e)).forEach((e=>e.classList[t.enabled?"remove":"add"](t.params.navigation.lockClass)))})),a("click",((e,s)=>{let{nextEl:a,prevEl:n}=t.navigation;a=r(a),n=r(n);const l=s.target;if(t.params.navigation.hideOnClick&&!n.includes(l)&&!a.includes(l)){if(t.pagination&&t.params.pagination&&t.params.pagination.clickable&&(t.pagination.el===l||t.pagination.el.contains(l)))return;let e;a.length?e=a[0].classList.contains(t.params.navigation.hiddenClass):n.length&&(e=n[0].classList.contains(t.params.navigation.hiddenClass)),i(!0===e?"navigationShow":"navigationHide"),[...a,...n].filter((e=>!!e)).forEach((e=>e.classList.toggle(t.params.navigation.hiddenClass)))}}));const m=()=>{t.el.classList.add(...t.params.navigation.navigationDisabledClass.split(" ")),u()};Object.assign(t.navigation,{enable:()=>{t.el.classList.remove(...t.params.navigation.navigationDisabledClass.split(" ")),p(),o()},disable:m,update:o,init:p,destroy:u})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const r="swiper-pagination";let n;s({pagination:{el:null,bulletElement:"span",clickable:!1,hideOnClick:!1,renderBullet:null,renderProgressbar:null,renderFraction:null,renderCustom:null,progressbarOpposite:!1,type:"bullets",dynamicBullets:!1,dynamicMainBullets:1,formatFractionCurrent:e=>e,formatFractionTotal:e=>e,bulletClass:`${r}-bullet`,bulletActiveClass:`${r}-bullet-active`,modifierClass:`${r}-`,currentClass:`${r}-current`,totalClass:`${r}-total`,hiddenClass:`${r}-hidden`,progressbarFillClass:`${r}-progressbar-fill`,progressbarOppositeClass:`${r}-progressbar-opposite`,clickableClass:`${r}-clickable`,lockClass:`${r}-lock`,horizontalClass:`${r}-horizontal`,verticalClass:`${r}-vertical`,paginationDisabledClass:`${r}-disabled`}}),t.pagination={el:null,bullets:[]};let l=0;const o=e=>(Array.isArray(e)||(e=[e].filter((e=>!!e))),e);function d(){return!t.params.pagination.el||!t.pagination.el||Array.isArray(t.pagination.el)&&0===t.pagination.el.length}function c(e,s){const{bulletActiveClass:a}=t.params.pagination;e&&(e=e[("prev"===s?"previous":"next")+"ElementSibling"])&&(e.classList.add(`${a}-${s}`),(e=e[("prev"===s?"previous":"next")+"ElementSibling"])&&e.classList.add(`${a}-${s}-${s}`))}function p(e){const s=e.target.closest(te(t.params.pagination.bulletClass));if(!s)return;e.preventDefault();const a=b(s)*t.params.slidesPerGroup;if(t.params.loop){if(t.realIndex===a)return;const e=t.getSlideIndexByData(a),s=t.getSlideIndexByData(t.realIndex);e>t.slides.length-t.loopedSlides&&t.loopFix({direction:e>s?"next":"prev",activeSlideIndex:e,slideTo:!1}),t.slideToLoop(a)}else t.slideTo(a)}function u(){const e=t.rtl,s=t.params.pagination;if(d())return;let a,r,p=t.pagination.el;p=o(p);const u=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.slides.length,m=t.params.loop?Math.ceil(u/t.params.slidesPerGroup):t.snapGrid.length;if(t.params.loop?(r=t.previousRealIndex||0,a=t.params.slidesPerGroup>1?Math.floor(t.realIndex/t.params.slidesPerGroup):t.realIndex):void 0!==t.snapIndex?(a=t.snapIndex,r=t.previousSnapIndex):(r=t.previousIndex||0,a=t.activeIndex||0),"bullets"===s.type&&t.pagination.bullets&&t.pagination.bullets.length>0){const i=t.pagination.bullets;let o,d,u;if(s.dynamicBullets&&(n=x(i[0],t.isHorizontal()?"width":"height",!0),p.forEach((e=>{e.style[t.isHorizontal()?"width":"height"]=n*(s.dynamicMainBullets+4)+"px"})),s.dynamicMainBullets>1&&void 0!==r&&(l+=a-(r||0),l>s.dynamicMainBullets-1?l=s.dynamicMainBullets-1:l<0&&(l=0)),o=Math.max(a-l,0),d=o+(Math.min(i.length,s.dynamicMainBullets)-1),u=(d+o)/2),i.forEach((e=>{const t=[...["","-next","-next-next","-prev","-prev-prev","-main"].map((e=>`${s.bulletActiveClass}${e}`))].map((e=>"string"==typeof e&&e.includes(" ")?e.split(" "):e)).flat();e.classList.remove(...t)})),p.length>1)i.forEach((e=>{const i=b(e);i===a?e.classList.add(...s.bulletActiveClass.split(" ")):t.isElement&&e.setAttribute("part","bullet"),s.dynamicBullets&&(i>=o&&i<=d&&e.classList.add(...`${s.bulletActiveClass}-main`.split(" ")),i===o&&c(e,"prev"),i===d&&c(e,"next"))}));else{const e=i[a];if(e&&e.classList.add(...s.bulletActiveClass.split(" ")),t.isElement&&i.forEach(((e,t)=>{e.setAttribute("part",t===a?"bullet-active":"bullet")})),s.dynamicBullets){const e=i[o],t=i[d];for(let e=o;e<=d;e+=1)i[e]&&i[e].classList.add(...`${s.bulletActiveClass}-main`.split(" "));c(e,"prev"),c(t,"next")}}if(s.dynamicBullets){const a=Math.min(i.length,s.dynamicMainBullets+4),r=(n*a-n)/2-u*n,l=e?"right":"left";i.forEach((e=>{e.style[t.isHorizontal()?l:"top"]=`${r}px`}))}}p.forEach(((e,r)=>{if("fraction"===s.type&&(e.querySelectorAll(te(s.currentClass)).forEach((e=>{e.textContent=s.formatFractionCurrent(a+1)})),e.querySelectorAll(te(s.totalClass)).forEach((e=>{e.textContent=s.formatFractionTotal(m)}))),"progressbar"===s.type){let i;i=s.progressbarOpposite?t.isHorizontal()?"vertical":"horizontal":t.isHorizontal()?"horizontal":"vertical";const r=(a+1)/m;let n=1,l=1;"horizontal"===i?n=r:l=r,e.querySelectorAll(te(s.progressbarFillClass)).forEach((e=>{e.style.transform=`translate3d(0,0,0) scaleX(${n}) scaleY(${l})`,e.style.transitionDuration=`${t.params.speed}ms`}))}"custom"===s.type&&s.renderCustom?(e.innerHTML=s.renderCustom(t,a+1,m),0===r&&i("paginationRender",e)):(0===r&&i("paginationRender",e),i("paginationUpdate",e)),t.params.watchOverflow&&t.enabled&&e.classList[t.isLocked?"add":"remove"](s.lockClass)}))}function m(){const e=t.params.pagination;if(d())return;const s=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.slides.length;let a=t.pagination.el;a=o(a);let r="";if("bullets"===e.type){let a=t.params.loop?Math.ceil(s/t.params.slidesPerGroup):t.snapGrid.length;t.params.freeMode&&t.params.freeMode.enabled&&a>s&&(a=s);for(let s=0;s`}"fraction"===e.type&&(r=e.renderFraction?e.renderFraction.call(t,e.currentClass,e.totalClass):` / `),"progressbar"===e.type&&(r=e.renderProgressbar?e.renderProgressbar.call(t,e.progressbarFillClass):``),t.pagination.bullets=[],a.forEach((s=>{"custom"!==e.type&&(s.innerHTML=r||""),"bullets"===e.type&&t.pagination.bullets.push(...s.querySelectorAll(te(e.bulletClass)))})),"custom"!==e.type&&i("paginationRender",a[0])}function h(){t.params.pagination=ee(t,t.originalParams.pagination,t.params.pagination,{el:"swiper-pagination"});const e=t.params.pagination;if(!e.el)return;let s;"string"==typeof e.el&&t.isElement&&(s=t.el.shadowRoot.querySelector(e.el)),s||"string"!=typeof e.el||(s=[...document.querySelectorAll(e.el)]),s||(s=e.el),s&&0!==s.length&&(t.params.uniqueNavElements&&"string"==typeof e.el&&Array.isArray(s)&&s.length>1&&(s=[...t.el.querySelectorAll(e.el)],s.length>1&&(s=s.filter((e=>y(e,".swiper")[0]===t.el))[0])),Array.isArray(s)&&1===s.length&&(s=s[0]),Object.assign(t.pagination,{el:s}),s=o(s),s.forEach((s=>{"bullets"===e.type&&e.clickable&&s.classList.add(e.clickableClass),s.classList.add(e.modifierClass+e.type),s.classList.add(t.isHorizontal()?e.horizontalClass:e.verticalClass),"bullets"===e.type&&e.dynamicBullets&&(s.classList.add(`${e.modifierClass}${e.type}-dynamic`),l=0,e.dynamicMainBullets<1&&(e.dynamicMainBullets=1)),"progressbar"===e.type&&e.progressbarOpposite&&s.classList.add(e.progressbarOppositeClass),e.clickable&&s.addEventListener("click",p),t.enabled||s.classList.add(e.lockClass)})))}function f(){const e=t.params.pagination;if(d())return;let s=t.pagination.el;s&&(s=o(s),s.forEach((s=>{s.classList.remove(e.hiddenClass),s.classList.remove(e.modifierClass+e.type),s.classList.remove(t.isHorizontal()?e.horizontalClass:e.verticalClass),e.clickable&&s.removeEventListener("click",p)}))),t.pagination.bullets&&t.pagination.bullets.forEach((t=>t.classList.remove(...e.bulletActiveClass.split(" "))))}a("changeDirection",(()=>{if(!t.pagination||!t.pagination.el)return;const e=t.params.pagination;let{el:s}=t.pagination;s=o(s),s.forEach((s=>{s.classList.remove(e.horizontalClass,e.verticalClass),s.classList.add(t.isHorizontal()?e.horizontalClass:e.verticalClass)}))})),a("init",(()=>{!1===t.params.pagination.enabled?g():(h(),m(),u())})),a("activeIndexChange",(()=>{void 0===t.snapIndex&&u()})),a("snapIndexChange",(()=>{u()})),a("snapGridLengthChange",(()=>{m(),u()})),a("destroy",(()=>{f()})),a("enable disable",(()=>{let{el:e}=t.pagination;e&&(e=o(e),e.forEach((e=>e.classList[t.enabled?"remove":"add"](t.params.pagination.lockClass))))})),a("lock unlock",(()=>{u()})),a("click",((e,s)=>{const a=s.target;let{el:r}=t.pagination;if(Array.isArray(r)||(r=[r].filter((e=>!!e))),t.params.pagination.el&&t.params.pagination.hideOnClick&&r&&r.length>0&&!a.classList.contains(t.params.pagination.bulletClass)){if(t.navigation&&(t.navigation.nextEl&&a===t.navigation.nextEl||t.navigation.prevEl&&a===t.navigation.prevEl))return;const e=r[0].classList.contains(t.params.pagination.hiddenClass);i(!0===e?"paginationShow":"paginationHide"),r.forEach((e=>e.classList.toggle(t.params.pagination.hiddenClass)))}}));const g=()=>{t.el.classList.add(t.params.pagination.paginationDisabledClass);let{el:e}=t.pagination;e&&(e=o(e),e.forEach((e=>e.classList.add(t.params.pagination.paginationDisabledClass)))),f()};Object.assign(t.pagination,{enable:()=>{t.el.classList.remove(t.params.pagination.paginationDisabledClass);let{el:e}=t.pagination;e&&(e=o(e),e.forEach((e=>e.classList.remove(t.params.pagination.paginationDisabledClass)))),h(),m(),u()},disable:g,render:m,update:u,init:h,destroy:f})},function(e){let{swiper:t,extendParams:s,on:i,emit:r}=e;const l=a();let o,d,c,p,u=!1,m=null,h=null;function f(){if(!t.params.scrollbar.el||!t.scrollbar.el)return;const{scrollbar:e,rtlTranslate:s}=t,{dragEl:a,el:i}=e,r=t.params.scrollbar,n=t.params.loop?t.progressLoop:t.progress;let l=d,o=(c-d)*n;s?(o=-o,o>0?(l=d-o,o=0):-o+d>c&&(l=c+o)):o<0?(l=d+o,o=0):o+d>c&&(l=c-o),t.isHorizontal()?(a.style.transform=`translate3d(${o}px, 0, 0)`,a.style.width=`${l}px`):(a.style.transform=`translate3d(0px, ${o}px, 0)`,a.style.height=`${l}px`),r.hide&&(clearTimeout(m),i.style.opacity=1,m=setTimeout((()=>{i.style.opacity=0,i.style.transitionDuration="400ms"}),1e3))}function w(){if(!t.params.scrollbar.el||!t.scrollbar.el)return;const{scrollbar:e}=t,{dragEl:s,el:a}=e;s.style.width="",s.style.height="",c=t.isHorizontal()?a.offsetWidth:a.offsetHeight,p=t.size/(t.virtualSize+t.params.slidesOffsetBefore-(t.params.centeredSlides?t.snapGrid[0]:0)),d="auto"===t.params.scrollbar.dragSize?c*p:parseInt(t.params.scrollbar.dragSize,10),t.isHorizontal()?s.style.width=`${d}px`:s.style.height=`${d}px`,a.style.display=p>=1?"none":"",t.params.scrollbar.hide&&(a.style.opacity=0),t.params.watchOverflow&&t.enabled&&e.el.classList[t.isLocked?"add":"remove"](t.params.scrollbar.lockClass)}function b(e){return t.isHorizontal()?e.clientX:e.clientY}function y(e){const{scrollbar:s,rtlTranslate:a}=t,{el:i}=s;let r;r=(b(e)-v(i)[t.isHorizontal()?"left":"top"]-(null!==o?o:d/2))/(c-d),r=Math.max(Math.min(r,1),0),a&&(r=1-r);const n=t.minTranslate()+(t.maxTranslate()-t.minTranslate())*r;t.updateProgress(n),t.setTranslate(n),t.updateActiveIndex(),t.updateSlidesClasses()}function E(e){const s=t.params.scrollbar,{scrollbar:a,wrapperEl:i}=t,{el:n,dragEl:l}=a;u=!0,o=e.target===l?b(e)-e.target.getBoundingClientRect()[t.isHorizontal()?"left":"top"]:null,e.preventDefault(),e.stopPropagation(),i.style.transitionDuration="100ms",l.style.transitionDuration="100ms",y(e),clearTimeout(h),n.style.transitionDuration="0ms",s.hide&&(n.style.opacity=1),t.params.cssMode&&(t.wrapperEl.style["scroll-snap-type"]="none"),r("scrollbarDragStart",e)}function x(e){const{scrollbar:s,wrapperEl:a}=t,{el:i,dragEl:n}=s;u&&(e.preventDefault?e.preventDefault():e.returnValue=!1,y(e),a.style.transitionDuration="0ms",i.style.transitionDuration="0ms",n.style.transitionDuration="0ms",r("scrollbarDragMove",e))}function S(e){const s=t.params.scrollbar,{scrollbar:a,wrapperEl:i}=t,{el:l}=a;u&&(u=!1,t.params.cssMode&&(t.wrapperEl.style["scroll-snap-type"]="",i.style.transitionDuration=""),s.hide&&(clearTimeout(h),h=n((()=>{l.style.opacity=0,l.style.transitionDuration="400ms"}),1e3)),r("scrollbarDragEnd",e),s.snapOnRelease&&t.slideToClosest())}function T(e){const{scrollbar:s,params:a}=t,i=s.el;if(!i)return;const r=i,n=!!a.passiveListeners&&{passive:!1,capture:!1},o=!!a.passiveListeners&&{passive:!0,capture:!1};if(!r)return;const d="on"===e?"addEventListener":"removeEventListener";r[d]("pointerdown",E,n),l[d]("pointermove",x,n),l[d]("pointerup",S,o)}function M(){const{scrollbar:e,el:s}=t;t.params.scrollbar=ee(t,t.originalParams.scrollbar,t.params.scrollbar,{el:"swiper-scrollbar"});const a=t.params.scrollbar;if(!a.el)return;let i,r;"string"==typeof a.el&&t.isElement&&(i=t.el.shadowRoot.querySelector(a.el)),i||"string"!=typeof a.el?i||(i=a.el):i=l.querySelectorAll(a.el),t.params.uniqueNavElements&&"string"==typeof a.el&&i.length>1&&1===s.querySelectorAll(a.el).length&&(i=s.querySelector(a.el)),i.length>0&&(i=i[0]),i.classList.add(t.isHorizontal()?a.horizontalClass:a.verticalClass),i&&(r=i.querySelector(`.${t.params.scrollbar.dragClass}`),r||(r=g("div",t.params.scrollbar.dragClass),i.append(r))),Object.assign(e,{el:i,dragEl:r}),a.draggable&&t.params.scrollbar.el&&t.scrollbar.el&&T("on"),i&&i.classList[t.enabled?"remove":"add"](t.params.scrollbar.lockClass)}function C(){const e=t.params.scrollbar,s=t.scrollbar.el;s&&s.classList.remove(t.isHorizontal()?e.horizontalClass:e.verticalClass),t.params.scrollbar.el&&t.scrollbar.el&&T("off")}s({scrollbar:{el:null,dragSize:"auto",hide:!1,draggable:!1,snapOnRelease:!0,lockClass:"swiper-scrollbar-lock",dragClass:"swiper-scrollbar-drag",scrollbarDisabledClass:"swiper-scrollbar-disabled",horizontalClass:"swiper-scrollbar-horizontal",verticalClass:"swiper-scrollbar-vertical"}}),t.scrollbar={el:null,dragEl:null},i("init",(()=>{!1===t.params.scrollbar.enabled?P():(M(),w(),f())})),i("update resize observerUpdate lock unlock",(()=>{w()})),i("setTranslate",(()=>{f()})),i("setTransition",((e,s)=>{!function(e){t.params.scrollbar.el&&t.scrollbar.el&&(t.scrollbar.dragEl.style.transitionDuration=`${e}ms`)}(s)})),i("enable disable",(()=>{const{el:e}=t.scrollbar;e&&e.classList[t.enabled?"remove":"add"](t.params.scrollbar.lockClass)})),i("destroy",(()=>{C()}));const P=()=>{t.el.classList.add(t.params.scrollbar.scrollbarDisabledClass),t.scrollbar.el&&t.scrollbar.el.classList.add(t.params.scrollbar.scrollbarDisabledClass),C()};Object.assign(t.scrollbar,{enable:()=>{t.el.classList.remove(t.params.scrollbar.scrollbarDisabledClass),t.scrollbar.el&&t.scrollbar.el.classList.remove(t.params.scrollbar.scrollbarDisabledClass),M(),w(),f()},disable:P,updateSize:w,setTranslate:f,init:M,destroy:C})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({parallax:{enabled:!1}});const i=(e,s)=>{const{rtl:a}=t,i=a?-1:1,r=e.getAttribute("data-swiper-parallax")||"0";let n=e.getAttribute("data-swiper-parallax-x"),l=e.getAttribute("data-swiper-parallax-y");const o=e.getAttribute("data-swiper-parallax-scale"),d=e.getAttribute("data-swiper-parallax-opacity"),c=e.getAttribute("data-swiper-parallax-rotate");if(n||l?(n=n||"0",l=l||"0"):t.isHorizontal()?(n=r,l="0"):(l=r,n="0"),n=n.indexOf("%")>=0?parseInt(n,10)*s*i+"%":n*s*i+"px",l=l.indexOf("%")>=0?parseInt(l,10)*s+"%":l*s+"px",null!=d){const t=d-(d-1)*(1-Math.abs(s));e.style.opacity=t}let p=`translate3d(${n}, ${l}, 0px)`;if(null!=o){p+=` scale(${o-(o-1)*(1-Math.abs(s))})`}if(c&&null!=c){p+=` rotate(${c*s*-1}deg)`}e.style.transform=p},r=()=>{const{el:e,slides:s,progress:a,snapGrid:r}=t;f(e,"[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").forEach((e=>{i(e,a)})),s.forEach(((e,s)=>{let n=e.progress;t.params.slidesPerGroup>1&&"auto"!==t.params.slidesPerView&&(n+=Math.ceil(s/2)-a*(r.length-1)),n=Math.min(Math.max(n,-1),1),e.querySelectorAll("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale], [data-swiper-parallax-rotate]").forEach((e=>{i(e,n)}))}))};a("beforeInit",(()=>{t.params.parallax.enabled&&(t.params.watchSlidesProgress=!0,t.originalParams.watchSlidesProgress=!0)})),a("init",(()=>{t.params.parallax.enabled&&r()})),a("setTranslate",(()=>{t.params.parallax.enabled&&r()})),a("setTransition",((e,s)=>{t.params.parallax.enabled&&function(e){void 0===e&&(e=t.params.speed);const{el:s}=t;s.querySelectorAll("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").forEach((t=>{let s=parseInt(t.getAttribute("data-swiper-parallax-duration"),10)||e;0===e&&(s=0),t.style.transitionDuration=`${s}ms`}))}(s)}))},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=r();s({zoom:{enabled:!1,maxRatio:3,minRatio:1,toggle:!0,containerClass:"swiper-zoom-container",zoomedSlideClass:"swiper-slide-zoomed"}}),t.zoom={enabled:!1};let l,d,c=1,p=!1;const u=[],m={originX:0,originY:0,slideEl:void 0,slideWidth:void 0,slideHeight:void 0,imageEl:void 0,imageWrapEl:void 0,maxRatio:3},h={isTouched:void 0,isMoved:void 0,currentX:void 0,currentY:void 0,minX:void 0,minY:void 0,maxX:void 0,maxY:void 0,width:void 0,height:void 0,startX:void 0,startY:void 0,touchesStart:{},touchesCurrent:{}},g={x:void 0,y:void 0,prevPositionX:void 0,prevPositionY:void 0,prevTime:void 0};let w=1;function b(){if(u.length<2)return 1;const e=u[0].pageX,t=u[0].pageY,s=u[1].pageX,a=u[1].pageY;return Math.sqrt((s-e)**2+(a-t)**2)}function E(e){const s=t.isElement?"swiper-slide":`.${t.params.slideClass}`;return!!e.target.matches(s)||t.slides.filter((t=>t.contains(e.target))).length>0}function x(e){if("mouse"===e.pointerType&&u.splice(0,u.length),!E(e))return;const s=t.params.zoom;if(l=!1,d=!1,u.push(e),!(u.length<2)){if(l=!0,m.scaleStart=b(),!m.slideEl){m.slideEl=e.target.closest(`.${t.params.slideClass}, swiper-slide`),m.slideEl||(m.slideEl=t.slides[t.activeIndex]);let a=m.slideEl.querySelector(`.${s.containerClass}`);if(a&&(a=a.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]),m.imageEl=a,m.imageWrapEl=a?y(m.imageEl,`.${s.containerClass}`)[0]:void 0,!m.imageWrapEl)return void(m.imageEl=void 0);m.maxRatio=m.imageWrapEl.getAttribute("data-swiper-zoom")||s.maxRatio}if(m.imageEl){const[e,t]=function(){if(u.length<2)return{x:null,y:null};const e=m.imageEl.getBoundingClientRect();return[(u[0].pageX+(u[1].pageX-u[0].pageX)/2-e.x)/c,(u[0].pageY+(u[1].pageY-u[0].pageY)/2-e.y)/c]}();m.originX=e,m.originY=t,m.imageEl.style.transitionDuration="0ms"}p=!0}}function S(e){if(!E(e))return;const s=t.params.zoom,a=t.zoom,i=u.findIndex((t=>t.pointerId===e.pointerId));i>=0&&(u[i]=e),u.length<2||(d=!0,m.scaleMove=b(),m.imageEl&&(a.scale=m.scaleMove/m.scaleStart*c,a.scale>m.maxRatio&&(a.scale=m.maxRatio-1+(a.scale-m.maxRatio+1)**.5),a.scalet.pointerId===e.pointerId));i>=0&&u.splice(i,1),l&&d&&(l=!1,d=!1,m.imageEl&&(a.scale=Math.max(Math.min(a.scale,m.maxRatio),s.minRatio),m.imageEl.style.transitionDuration=`${t.params.speed}ms`,m.imageEl.style.transform=`translate3d(0,0,0) scale(${a.scale})`,c=a.scale,p=!1,a.scale>1&&m.slideEl?m.slideEl.classList.add(`${s.zoomedSlideClass}`):a.scale<=1&&m.slideEl&&m.slideEl.classList.remove(`${s.zoomedSlideClass}`),1===a.scale&&(m.originX=0,m.originY=0,m.slideEl=void 0)))}function M(e){if(!E(e)||!function(e){const s=`.${t.params.zoom.containerClass}`;return!!e.target.matches(s)||[...t.el.querySelectorAll(s)].filter((t=>t.contains(e.target))).length>0}(e))return;const s=t.zoom;if(!m.imageEl)return;if(!h.isTouched||!m.slideEl)return;h.isMoved||(h.width=m.imageEl.offsetWidth,h.height=m.imageEl.offsetHeight,h.startX=o(m.imageWrapEl,"x")||0,h.startY=o(m.imageWrapEl,"y")||0,m.slideWidth=m.slideEl.offsetWidth,m.slideHeight=m.slideEl.offsetHeight,m.imageWrapEl.style.transitionDuration="0ms");const a=h.width*s.scale,i=h.height*s.scale;if(a0?u[0].pageX:e.pageX,h.touchesCurrent.y=u.length>0?u[0].pageY:e.pageY;if(Math.max(Math.abs(h.touchesCurrent.x-h.touchesStart.x),Math.abs(h.touchesCurrent.y-h.touchesStart.y))>5&&(t.allowClick=!1),!h.isMoved&&!p){if(t.isHorizontal()&&(Math.floor(h.minX)===Math.floor(h.startX)&&h.touchesCurrent.xh.touchesStart.x))return void(h.isTouched=!1);if(!t.isHorizontal()&&(Math.floor(h.minY)===Math.floor(h.startY)&&h.touchesCurrent.yh.touchesStart.y))return void(h.isTouched=!1)}e.cancelable&&e.preventDefault(),e.stopPropagation(),h.isMoved=!0;const r=(s.scale-c)/(m.maxRatio-t.params.zoom.minRatio),{originX:n,originY:l}=m;h.currentX=h.touchesCurrent.x-h.touchesStart.x+h.startX+r*(h.width-2*n),h.currentY=h.touchesCurrent.y-h.touchesStart.y+h.startY+r*(h.height-2*l),h.currentXh.maxX&&(h.currentX=h.maxX-1+(h.currentX-h.maxX+1)**.8),h.currentYh.maxY&&(h.currentY=h.maxY-1+(h.currentY-h.maxY+1)**.8),g.prevPositionX||(g.prevPositionX=h.touchesCurrent.x),g.prevPositionY||(g.prevPositionY=h.touchesCurrent.y),g.prevTime||(g.prevTime=Date.now()),g.x=(h.touchesCurrent.x-g.prevPositionX)/(Date.now()-g.prevTime)/2,g.y=(h.touchesCurrent.y-g.prevPositionY)/(Date.now()-g.prevTime)/2,Math.abs(h.touchesCurrent.x-g.prevPositionX)<2&&(g.x=0),Math.abs(h.touchesCurrent.y-g.prevPositionY)<2&&(g.y=0),g.prevPositionX=h.touchesCurrent.x,g.prevPositionY=h.touchesCurrent.y,g.prevTime=Date.now(),m.imageWrapEl.style.transform=`translate3d(${h.currentX}px, ${h.currentY}px,0)`}function C(){const e=t.zoom;m.slideEl&&t.activeIndex!==t.slides.indexOf(m.slideEl)&&(m.imageEl&&(m.imageEl.style.transform="translate3d(0,0,0) scale(1)"),m.imageWrapEl&&(m.imageWrapEl.style.transform="translate3d(0,0,0)"),m.slideEl.classList.remove(`${t.params.zoom.zoomedSlideClass}`),e.scale=1,c=1,m.slideEl=void 0,m.imageEl=void 0,m.imageWrapEl=void 0,m.originX=0,m.originY=0)}function P(e){const s=t.zoom,a=t.params.zoom;if(!m.slideEl){e&&e.target&&(m.slideEl=e.target.closest(`.${t.params.slideClass}, swiper-slide`)),m.slideEl||(t.params.virtual&&t.params.virtual.enabled&&t.virtual?m.slideEl=f(t.slidesEl,`.${t.params.slideActiveClass}`)[0]:m.slideEl=t.slides[t.activeIndex]);let s=m.slideEl.querySelector(`.${a.containerClass}`);s&&(s=s.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]),m.imageEl=s,m.imageWrapEl=s?y(m.imageEl,`.${a.containerClass}`)[0]:void 0}if(!m.imageEl||!m.imageWrapEl)return;let i,r,l,o,d,p,u,g,w,b,E,x,S,T,M,C,P,L;t.params.cssMode&&(t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.touchAction="none"),m.slideEl.classList.add(`${a.zoomedSlideClass}`),void 0===h.touchesStart.x&&e?(i=e.pageX,r=e.pageY):(i=h.touchesStart.x,r=h.touchesStart.y);const z="number"==typeof e?e:null;1===c&&z&&(i=void 0,r=void 0),s.scale=z||m.imageWrapEl.getAttribute("data-swiper-zoom")||a.maxRatio,c=z||m.imageWrapEl.getAttribute("data-swiper-zoom")||a.maxRatio,!e||1===c&&z?(u=0,g=0):(P=m.slideEl.offsetWidth,L=m.slideEl.offsetHeight,l=v(m.slideEl).left+n.scrollX,o=v(m.slideEl).top+n.scrollY,d=l+P/2-i,p=o+L/2-r,w=m.imageEl.offsetWidth,b=m.imageEl.offsetHeight,E=w*s.scale,x=b*s.scale,S=Math.min(P/2-E/2,0),T=Math.min(L/2-x/2,0),M=-S,C=-T,u=d*s.scale,g=p*s.scale,uM&&(u=M),gC&&(g=C)),z&&1===s.scale&&(m.originX=0,m.originY=0),m.imageWrapEl.style.transitionDuration="300ms",m.imageWrapEl.style.transform=`translate3d(${u}px, ${g}px,0)`,m.imageEl.style.transitionDuration="300ms",m.imageEl.style.transform=`translate3d(0,0,0) scale(${s.scale})`}function L(){const e=t.zoom,s=t.params.zoom;if(!m.slideEl){t.params.virtual&&t.params.virtual.enabled&&t.virtual?m.slideEl=f(t.slidesEl,`.${t.params.slideActiveClass}`)[0]:m.slideEl=t.slides[t.activeIndex];let e=m.slideEl.querySelector(`.${s.containerClass}`);e&&(e=e.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]),m.imageEl=e,m.imageWrapEl=e?y(m.imageEl,`.${s.containerClass}`)[0]:void 0}m.imageEl&&m.imageWrapEl&&(t.params.cssMode&&(t.wrapperEl.style.overflow="",t.wrapperEl.style.touchAction=""),e.scale=1,c=1,m.imageWrapEl.style.transitionDuration="300ms",m.imageWrapEl.style.transform="translate3d(0,0,0)",m.imageEl.style.transitionDuration="300ms",m.imageEl.style.transform="translate3d(0,0,0) scale(1)",m.slideEl.classList.remove(`${s.zoomedSlideClass}`),m.slideEl=void 0,m.originX=0,m.originY=0)}function z(e){const s=t.zoom;s.scale&&1!==s.scale?L():P(e)}function A(){return{passiveListener:!!t.params.passiveListeners&&{passive:!0,capture:!1},activeListenerWithCapture:!t.params.passiveListeners||{passive:!1,capture:!0}}}function $(){const e=t.zoom;if(e.enabled)return;e.enabled=!0;const{passiveListener:s,activeListenerWithCapture:a}=A();t.wrapperEl.addEventListener("pointerdown",x,s),t.wrapperEl.addEventListener("pointermove",S,a),["pointerup","pointercancel","pointerout"].forEach((e=>{t.wrapperEl.addEventListener(e,T,s)})),t.wrapperEl.addEventListener("pointermove",M,a)}function I(){const e=t.zoom;if(!e.enabled)return;e.enabled=!1;const{passiveListener:s,activeListenerWithCapture:a}=A();t.wrapperEl.removeEventListener("pointerdown",x,s),t.wrapperEl.removeEventListener("pointermove",S,a),["pointerup","pointercancel","pointerout"].forEach((e=>{t.wrapperEl.removeEventListener(e,T,s)})),t.wrapperEl.removeEventListener("pointermove",M,a)}Object.defineProperty(t.zoom,"scale",{get:()=>w,set(e){if(w!==e){const t=m.imageEl,s=m.slideEl;i("zoomChange",e,t,s)}w=e}}),a("init",(()=>{t.params.zoom.enabled&&$()})),a("destroy",(()=>{I()})),a("touchStart",((e,s)=>{t.zoom.enabled&&function(e){const s=t.device;if(!m.imageEl)return;if(h.isTouched)return;s.android&&e.cancelable&&e.preventDefault(),h.isTouched=!0;const a=u.length>0?u[0]:e;h.touchesStart.x=a.pageX,h.touchesStart.y=a.pageY}(s)})),a("touchEnd",((e,s)=>{t.zoom.enabled&&function(){const e=t.zoom;if(!m.imageEl)return;if(!h.isTouched||!h.isMoved)return h.isTouched=!1,void(h.isMoved=!1);h.isTouched=!1,h.isMoved=!1;let s=300,a=300;const i=g.x*s,r=h.currentX+i,n=g.y*a,l=h.currentY+n;0!==g.x&&(s=Math.abs((r-h.currentX)/g.x)),0!==g.y&&(a=Math.abs((l-h.currentY)/g.y));const o=Math.max(s,a);h.currentX=r,h.currentY=l;const d=h.width*e.scale,c=h.height*e.scale;h.minX=Math.min(m.slideWidth/2-d/2,0),h.maxX=-h.minX,h.minY=Math.min(m.slideHeight/2-c/2,0),h.maxY=-h.minY,h.currentX=Math.max(Math.min(h.currentX,h.maxX),h.minX),h.currentY=Math.max(Math.min(h.currentY,h.maxY),h.minY),m.imageWrapEl.style.transitionDuration=`${o}ms`,m.imageWrapEl.style.transform=`translate3d(${h.currentX}px, ${h.currentY}px,0)`}()})),a("doubleTap",((e,s)=>{!t.animating&&t.params.zoom.enabled&&t.zoom.enabled&&t.params.zoom.toggle&&z(s)})),a("transitionEnd",(()=>{t.zoom.enabled&&t.params.zoom.enabled&&C()})),a("slideChange",(()=>{t.zoom.enabled&&t.params.zoom.enabled&&t.params.cssMode&&C()})),Object.assign(t.zoom,{enable:$,disable:I,in:P,out:L,toggle:z})},function(e){let{swiper:t,extendParams:s,on:a}=e;function i(e,t){const s=function(){let e,t,s;return(a,i)=>{for(t=-1,e=a.length;e-t>1;)s=e+t>>1,a[s]<=i?t=s:e=s;return e}}();let a,i;return this.x=e,this.y=t,this.lastIndex=e.length-1,this.interpolate=function(e){return e?(i=s(this.x,e),a=i-1,(e-this.x[a])*(this.y[i]-this.y[a])/(this.x[i]-this.x[a])+this.y[a]):0},this}function r(){t.controller.control&&t.controller.spline&&(t.controller.spline=void 0,delete t.controller.spline)}s({controller:{control:void 0,inverse:!1,by:"slide"}}),t.controller={control:void 0},a("beforeInit",(()=>{if("undefined"!=typeof window&&("string"==typeof t.params.controller.control||t.params.controller.control instanceof HTMLElement)){const e=document.querySelector(t.params.controller.control);if(e&&e.swiper)t.controller.control=e.swiper;else if(e){const s=a=>{t.controller.control=a.detail[0],t.update(),e.removeEventListener("init",s)};e.addEventListener("init",s)}}else t.controller.control=t.params.controller.control})),a("update",(()=>{r()})),a("resize",(()=>{r()})),a("observerUpdate",(()=>{r()})),a("setTranslate",((e,s,a)=>{t.controller.control&&!t.controller.control.destroyed&&t.controller.setTranslate(s,a)})),a("setTransition",((e,s,a)=>{t.controller.control&&!t.controller.control.destroyed&&t.controller.setTransition(s,a)})),Object.assign(t.controller,{setTranslate:function(e,s){const a=t.controller.control;let r,n;const l=t.constructor;function o(e){if(e.destroyed)return;const s=t.rtlTranslate?-t.translate:t.translate;"slide"===t.params.controller.by&&(!function(e){t.controller.spline=t.params.loop?new i(t.slidesGrid,e.slidesGrid):new i(t.snapGrid,e.snapGrid)}(e),n=-t.controller.spline.interpolate(-s)),n&&"container"!==t.params.controller.by||(r=(e.maxTranslate()-e.minTranslate())/(t.maxTranslate()-t.minTranslate()),!Number.isNaN(r)&&Number.isFinite(r)||(r=1),n=(s-t.minTranslate())*r+e.minTranslate()),t.params.controller.inverse&&(n=e.maxTranslate()-n),e.updateProgress(n),e.setTranslate(n,t),e.updateActiveIndex(),e.updateSlidesClasses()}if(Array.isArray(a))for(let e=0;e{s.updateAutoHeight()})),E(s.wrapperEl,(()=>{i&&s.transitionEnd()}))))}if(Array.isArray(i))for(r=0;r(Array.isArray(e)||(e=[e].filter((e=>!!e))),e);function l(e){(e=n(e)).forEach((e=>{e.setAttribute("tabIndex","0")}))}function o(e){(e=n(e)).forEach((e=>{e.setAttribute("tabIndex","-1")}))}function d(e,t){(e=n(e)).forEach((e=>{e.setAttribute("role",t)}))}function c(e,t){(e=n(e)).forEach((e=>{e.setAttribute("aria-roledescription",t)}))}function p(e,t){(e=n(e)).forEach((e=>{e.setAttribute("aria-label",t)}))}function u(e){(e=n(e)).forEach((e=>{e.setAttribute("aria-disabled",!0)}))}function m(e){(e=n(e)).forEach((e=>{e.setAttribute("aria-disabled",!1)}))}function h(e){if(13!==e.keyCode&&32!==e.keyCode)return;const s=t.params.a11y,a=e.target;t.pagination&&t.pagination.el&&(a===t.pagination.el||t.pagination.el.contains(e.target))&&!e.target.matches(te(t.params.pagination.bulletClass))||(t.navigation&&t.navigation.nextEl&&a===t.navigation.nextEl&&(t.isEnd&&!t.params.loop||t.slideNext(),t.isEnd?r(s.lastSlideMessage):r(s.nextSlideMessage)),t.navigation&&t.navigation.prevEl&&a===t.navigation.prevEl&&(t.isBeginning&&!t.params.loop||t.slidePrev(),t.isBeginning?r(s.firstSlideMessage):r(s.prevSlideMessage)),t.pagination&&a.matches(te(t.params.pagination.bulletClass))&&a.click())}function f(){return t.pagination&&t.pagination.bullets&&t.pagination.bullets.length}function v(){return f()&&t.params.pagination.clickable}const w=(e,t,s)=>{l(e),"BUTTON"!==e.tagName&&(d(e,"button"),e.addEventListener("keydown",h)),p(e,s),function(e,t){(e=n(e)).forEach((e=>{e.setAttribute("aria-controls",t)}))}(e,t)},y=()=>{t.a11y.clicked=!0},E=()=>{requestAnimationFrame((()=>{requestAnimationFrame((()=>{t.destroyed||(t.a11y.clicked=!1)}))}))},x=e=>{if(t.a11y.clicked)return;const s=e.target.closest(`.${t.params.slideClass}, swiper-slide`);if(!s||!t.slides.includes(s))return;const a=t.slides.indexOf(s)===t.activeIndex,i=t.params.watchSlidesProgress&&t.visibleSlides&&t.visibleSlides.includes(s);a||i||e.sourceCapabilities&&e.sourceCapabilities.firesTouchEvents||(t.isHorizontal()?t.el.scrollLeft=0:t.el.scrollTop=0,t.slideTo(t.slides.indexOf(s),0))},S=()=>{const e=t.params.a11y;e.itemRoleDescriptionMessage&&c(t.slides,e.itemRoleDescriptionMessage),e.slideRole&&d(t.slides,e.slideRole);const s=t.slides.length;e.slideLabelMessage&&t.slides.forEach(((a,i)=>{const r=t.params.loop?parseInt(a.getAttribute("data-swiper-slide-index"),10):i;p(a,e.slideLabelMessage.replace(/\{\{index\}\}/,r+1).replace(/\{\{slidesLength\}\}/,s))}))},T=()=>{const e=t.params.a11y;t.isElement?t.el.shadowEl.append(i):t.el.append(i);const s=t.el;e.containerRoleDescriptionMessage&&c(s,e.containerRoleDescriptionMessage),e.containerMessage&&p(s,e.containerMessage);const a=t.wrapperEl,r=e.id||a.getAttribute("id")||`swiper-wrapper-${l=16,void 0===l&&(l=16),"x".repeat(l).replace(/x/g,(()=>Math.round(16*Math.random()).toString(16)))}`;var l;const o=t.params.autoplay&&t.params.autoplay.enabled?"off":"polite";var d;d=r,n(a).forEach((e=>{e.setAttribute("id",d)})),function(e,t){(e=n(e)).forEach((e=>{e.setAttribute("aria-live",t)}))}(a,o),S();let{nextEl:u,prevEl:m}=t.navigation?t.navigation:{};if(u=n(u),m=n(m),u&&u.forEach((t=>w(t,r,e.nextSlideMessage))),m&&m.forEach((t=>w(t,r,e.prevSlideMessage))),v()){(Array.isArray(t.pagination.el)?t.pagination.el:[t.pagination.el]).forEach((e=>{e.addEventListener("keydown",h)}))}t.el.addEventListener("focus",x,!0),t.el.addEventListener("pointerdown",y,!0),t.el.addEventListener("pointerup",E,!0)};a("beforeInit",(()=>{i=g("span",t.params.a11y.notificationClass),i.setAttribute("aria-live","assertive"),i.setAttribute("aria-atomic","true")})),a("afterInit",(()=>{t.params.a11y.enabled&&T()})),a("slidesLengthChange snapGridLengthChange slidesGridLengthChange",(()=>{t.params.a11y.enabled&&S()})),a("fromEdge toEdge afterInit lock unlock",(()=>{t.params.a11y.enabled&&function(){if(t.params.loop||t.params.rewind||!t.navigation)return;const{nextEl:e,prevEl:s}=t.navigation;s&&(t.isBeginning?(u(s),o(s)):(m(s),l(s))),e&&(t.isEnd?(u(e),o(e)):(m(e),l(e)))}()})),a("paginationUpdate",(()=>{t.params.a11y.enabled&&function(){const e=t.params.a11y;f()&&t.pagination.bullets.forEach((s=>{t.params.pagination.clickable&&(l(s),t.params.pagination.renderBullet||(d(s,"button"),p(s,e.paginationBulletMessage.replace(/\{\{index\}\}/,b(s)+1)))),s.matches(te(t.params.pagination.bulletActiveClass))?s.setAttribute("aria-current","true"):s.removeAttribute("aria-current")}))}()})),a("destroy",(()=>{t.params.a11y.enabled&&function(){i&&i.remove();let{nextEl:e,prevEl:s}=t.navigation?t.navigation:{};e=n(e),s=n(s),e&&e.forEach((e=>e.removeEventListener("keydown",h))),s&&s.forEach((e=>e.removeEventListener("keydown",h))),v()&&(Array.isArray(t.pagination.el)?t.pagination.el:[t.pagination.el]).forEach((e=>{e.removeEventListener("keydown",h)}));t.el.removeEventListener("focus",x,!0),t.el.removeEventListener("pointerdown",y,!0),t.el.removeEventListener("pointerup",E,!0)}()}))},function(e){let{swiper:t,extendParams:s,on:a}=e;s({history:{enabled:!1,root:"",replaceState:!1,key:"slides",keepQuery:!1}});let i=!1,n={};const l=e=>e.toString().replace(/\s+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,""),o=e=>{const t=r();let s;s=e?new URL(e):t.location;const a=s.pathname.slice(1).split("/").filter((e=>""!==e)),i=a.length;return{key:a[i-2],value:a[i-1]}},d=(e,s)=>{const a=r();if(!i||!t.params.history.enabled)return;let n;n=t.params.url?new URL(t.params.url):a.location;const o=t.slides[s];let d=l(o.getAttribute("data-history"));if(t.params.history.root.length>0){let s=t.params.history.root;"/"===s[s.length-1]&&(s=s.slice(0,s.length-1)),d=`${s}/${e?`${e}/`:""}${d}`}else n.pathname.includes(e)||(d=`${e?`${e}/`:""}${d}`);t.params.history.keepQuery&&(d+=n.search);const c=a.history.state;c&&c.value===d||(t.params.history.replaceState?a.history.replaceState({value:d},null,d):a.history.pushState({value:d},null,d))},c=(e,s,a)=>{if(s)for(let i=0,r=t.slides.length;i{n=o(t.params.url),c(t.params.speed,n.value,!1)};a("init",(()=>{t.params.history.enabled&&(()=>{const e=r();if(t.params.history){if(!e.history||!e.history.pushState)return t.params.history.enabled=!1,void(t.params.hashNavigation.enabled=!0);i=!0,n=o(t.params.url),n.key||n.value?(c(0,n.value,t.params.runCallbacksOnInit),t.params.history.replaceState||e.addEventListener("popstate",p)):t.params.history.replaceState||e.addEventListener("popstate",p)}})()})),a("destroy",(()=>{t.params.history.enabled&&(()=>{const e=r();t.params.history.replaceState||e.removeEventListener("popstate",p)})()})),a("transitionEnd _freeModeNoMomentumRelease",(()=>{i&&d(t.params.history.key,t.activeIndex)})),a("slideChange",(()=>{i&&t.params.cssMode&&d(t.params.history.key,t.activeIndex)}))},function(e){let{swiper:t,extendParams:s,emit:i,on:n}=e,l=!1;const o=a(),d=r();s({hashNavigation:{enabled:!1,replaceState:!1,watchState:!1,getSlideIndex(e,s){if(t.virtual&&t.params.virtual.enabled){const e=t.slides.filter((e=>e.getAttribute("data-hash")===s))[0];if(!e)return 0;return parseInt(e.getAttribute("data-swiper-slide-index"),10)}return t.getSlideIndex(f(t.slidesEl,`.${t.params.slideClass}[data-hash="${s}"], swiper-slide[data-hash="${s}"]`)[0])}}});const c=()=>{i("hashChange");const e=o.location.hash.replace("#",""),s=t.virtual&&t.params.virtual.enabled?t.slidesEl.querySelector(`[data-swiper-slide-index="${t.activeIndex}"]`):t.slides[t.activeIndex];if(e!==(s?s.getAttribute("data-hash"):"")){const s=t.params.hashNavigation.getSlideIndex(t,e);if(void 0===s||Number.isNaN(s))return;t.slideTo(s)}},p=()=>{if(!l||!t.params.hashNavigation.enabled)return;const e=t.virtual&&t.params.virtual.enabled?t.slidesEl.querySelector(`[data-swiper-slide-index="${t.activeIndex}"]`):t.slides[t.activeIndex],s=e?e.getAttribute("data-hash")||e.getAttribute("data-history"):"";t.params.hashNavigation.replaceState&&d.history&&d.history.replaceState?(d.history.replaceState(null,null,`#${s}`||""),i("hashSet")):(o.location.hash=s||"",i("hashSet"))};n("init",(()=>{t.params.hashNavigation.enabled&&(()=>{if(!t.params.hashNavigation.enabled||t.params.history&&t.params.history.enabled)return;l=!0;const e=o.location.hash.replace("#","");if(e){const s=0,a=t.params.hashNavigation.getSlideIndex(t,e);t.slideTo(a||0,s,t.params.runCallbacksOnInit,!0)}t.params.hashNavigation.watchState&&d.addEventListener("hashchange",c)})()})),n("destroy",(()=>{t.params.hashNavigation.enabled&&t.params.hashNavigation.watchState&&d.removeEventListener("hashchange",c)})),n("transitionEnd _freeModeNoMomentumRelease",(()=>{l&&p()})),n("slideChange",(()=>{l&&t.params.cssMode&&p()}))},function(e){let t,s,{swiper:i,extendParams:r,on:n,emit:l,params:o}=e;i.autoplay={running:!1,paused:!1,timeLeft:0},r({autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!0,stopOnLastSlide:!1,reverseDirection:!1,pauseOnMouseEnter:!1}});let d,c,p,u,m,h,f,g=o&&o.autoplay?o.autoplay.delay:3e3,v=o&&o.autoplay?o.autoplay.delay:3e3,w=(new Date).getTime;function b(e){i&&!i.destroyed&&i.wrapperEl&&e.target===i.wrapperEl&&(i.wrapperEl.removeEventListener("transitionend",b),M())}const y=()=>{if(i.destroyed||!i.autoplay.running)return;i.autoplay.paused?c=!0:c&&(v=d,c=!1);const e=i.autoplay.paused?d:w+v-(new Date).getTime();i.autoplay.timeLeft=e,l("autoplayTimeLeft",e,e/g),s=requestAnimationFrame((()=>{y()}))},E=e=>{if(i.destroyed||!i.autoplay.running)return;cancelAnimationFrame(s),y();let a=void 0===e?i.params.autoplay.delay:e;g=i.params.autoplay.delay,v=i.params.autoplay.delay;const r=(()=>{let e;if(e=i.virtual&&i.params.virtual.enabled?i.slides.filter((e=>e.classList.contains("swiper-slide-active")))[0]:i.slides[i.activeIndex],!e)return;return parseInt(e.getAttribute("data-swiper-autoplay"),10)})();!Number.isNaN(r)&&r>0&&void 0===e&&(a=r,g=r,v=r),d=a;const n=i.params.speed,o=()=>{i&&!i.destroyed&&(i.params.autoplay.reverseDirection?!i.isBeginning||i.params.loop||i.params.rewind?(i.slidePrev(n,!0,!0),l("autoplay")):i.params.autoplay.stopOnLastSlide||(i.slideTo(i.slides.length-1,n,!0,!0),l("autoplay")):!i.isEnd||i.params.loop||i.params.rewind?(i.slideNext(n,!0,!0),l("autoplay")):i.params.autoplay.stopOnLastSlide||(i.slideTo(0,n,!0,!0),l("autoplay")),i.params.cssMode&&(w=(new Date).getTime(),requestAnimationFrame((()=>{E()}))))};return a>0?(clearTimeout(t),t=setTimeout((()=>{o()}),a)):requestAnimationFrame((()=>{o()})),a},x=()=>{i.autoplay.running=!0,E(),l("autoplayStart")},S=()=>{i.autoplay.running=!1,clearTimeout(t),cancelAnimationFrame(s),l("autoplayStop")},T=(e,s)=>{if(i.destroyed||!i.autoplay.running)return;clearTimeout(t),e||(f=!0);const a=()=>{l("autoplayPause"),i.params.autoplay.waitForTransition?i.wrapperEl.addEventListener("transitionend",b):M()};if(i.autoplay.paused=!0,s)return h&&(d=i.params.autoplay.delay),h=!1,void a();const r=d||i.params.autoplay.delay;d=r-((new Date).getTime()-w),i.isEnd&&d<0&&!i.params.loop||(d<0&&(d=0),a())},M=()=>{i.isEnd&&d<0&&!i.params.loop||i.destroyed||!i.autoplay.running||(w=(new Date).getTime(),f?(f=!1,E(d)):E(),i.autoplay.paused=!1,l("autoplayResume"))},C=()=>{if(i.destroyed||!i.autoplay.running)return;const e=a();"hidden"===e.visibilityState&&(f=!0,T(!0)),"visible"===e.visibilityState&&M()},P=e=>{"mouse"===e.pointerType&&(f=!0,T(!0))},L=e=>{"mouse"===e.pointerType&&i.autoplay.paused&&M()};n("init",(()=>{i.params.autoplay.enabled&&(i.params.autoplay.pauseOnMouseEnter&&(i.el.addEventListener("pointerenter",P),i.el.addEventListener("pointerleave",L)),a().addEventListener("visibilitychange",C),w=(new Date).getTime(),x())})),n("destroy",(()=>{i.el.removeEventListener("pointerenter",P),i.el.removeEventListener("pointerleave",L),a().removeEventListener("visibilitychange",C),i.autoplay.running&&S()})),n("beforeTransitionStart",((e,t,s)=>{!i.destroyed&&i.autoplay.running&&(s||!i.params.autoplay.disableOnInteraction?T(!0,!0):S())})),n("sliderFirstMove",(()=>{!i.destroyed&&i.autoplay.running&&(i.params.autoplay.disableOnInteraction?S():(p=!0,u=!1,f=!1,m=setTimeout((()=>{f=!0,u=!0,T(!0)}),200)))})),n("touchEnd",(()=>{if(!i.destroyed&&i.autoplay.running&&p){if(clearTimeout(m),clearTimeout(t),i.params.autoplay.disableOnInteraction)return u=!1,void(p=!1);u&&i.params.cssMode&&M(),u=!1,p=!1}})),n("slideChange",(()=>{!i.destroyed&&i.autoplay.running&&(h=!0)})),Object.assign(i.autoplay,{start:x,stop:S,pause:T,resume:M})},function(e){let{swiper:t,extendParams:s,on:i}=e;s({thumbs:{swiper:null,multipleActiveThumbs:!0,autoScrollOffset:0,slideThumbActiveClass:"swiper-slide-thumb-active",thumbsContainerClass:"swiper-thumbs"}});let r=!1,n=!1;function l(){const e=t.thumbs.swiper;if(!e||e.destroyed)return;const s=e.clickedIndex,a=e.clickedSlide;if(a&&a.classList.contains(t.params.thumbs.slideThumbActiveClass))return;if(null==s)return;let i;i=e.params.loop?parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"),10):s,t.params.loop?t.slideToLoop(i):t.slideTo(i)}function o(){const{thumbs:e}=t.params;if(r)return!1;r=!0;const s=t.constructor;if(e.swiper instanceof s)t.thumbs.swiper=e.swiper,Object.assign(t.thumbs.swiper.originalParams,{watchSlidesProgress:!0,slideToClickedSlide:!1}),Object.assign(t.thumbs.swiper.params,{watchSlidesProgress:!0,slideToClickedSlide:!1}),t.thumbs.swiper.update();else if(d(e.swiper)){const a=Object.assign({},e.swiper);Object.assign(a,{watchSlidesProgress:!0,slideToClickedSlide:!1}),t.thumbs.swiper=new s(a),n=!0}return t.thumbs.swiper.el.classList.add(t.params.thumbs.thumbsContainerClass),t.thumbs.swiper.on("tap",l),!0}function c(e){const s=t.thumbs.swiper;if(!s||s.destroyed)return;const a="auto"===s.params.slidesPerView?s.slidesPerViewDynamic():s.params.slidesPerView;let i=1;const r=t.params.thumbs.slideThumbActiveClass;if(t.params.slidesPerView>1&&!t.params.centeredSlides&&(i=t.params.slidesPerView),t.params.thumbs.multipleActiveThumbs||(i=1),i=Math.floor(i),s.slides.forEach((e=>e.classList.remove(r))),s.params.loop||s.params.virtual&&s.params.virtual.enabled)for(let e=0;e{e.classList.add(r)}));else for(let e=0;ee.getAttribute("data-swiper-slide-index")===`${t.realIndex}`))[0];r=s.slides.indexOf(e),o=t.activeIndex>t.previousIndex?"next":"prev"}else r=t.realIndex,o=r>t.previousIndex?"next":"prev";l&&(r+="next"===o?n:-1*n),s.visibleSlidesIndexes&&s.visibleSlidesIndexes.indexOf(r)<0&&(s.params.centeredSlides?r=r>i?r-Math.floor(a/2)+1:r+Math.floor(a/2)-1:r>i&&s.params.slidesPerGroup,s.slideTo(r,e?0:void 0))}}t.thumbs={swiper:null},i("beforeInit",(()=>{const{thumbs:e}=t.params;if(e&&e.swiper)if("string"==typeof e.swiper||e.swiper instanceof HTMLElement){const s=a(),i=()=>{const a="string"==typeof e.swiper?s.querySelector(e.swiper):e.swiper;if(a&&a.swiper)e.swiper=a.swiper,o(),c(!0);else if(a){const s=i=>{e.swiper=i.detail[0],a.removeEventListener("init",s),o(),c(!0),e.swiper.update(),t.update()};a.addEventListener("init",s)}return a},r=()=>{if(t.destroyed)return;i()||requestAnimationFrame(r)};requestAnimationFrame(r)}else o(),c(!0)})),i("slideChange update resize observerUpdate",(()=>{c()})),i("setTransition",((e,s)=>{const a=t.thumbs.swiper;a&&!a.destroyed&&a.setTransition(s)})),i("beforeDestroy",(()=>{const e=t.thumbs.swiper;e&&!e.destroyed&&n&&e.destroy()})),Object.assign(t.thumbs,{init:o,update:c})},function(e){let{swiper:t,extendParams:s,emit:a,once:i}=e;s({freeMode:{enabled:!1,momentum:!0,momentumRatio:1,momentumBounce:!0,momentumBounceRatio:1,momentumVelocityRatio:1,sticky:!1,minimumVelocity:.02}}),Object.assign(t,{freeMode:{onTouchStart:function(){if(t.params.cssMode)return;const e=t.getTranslate();t.setTranslate(e),t.setTransition(0),t.touchEventsData.velocities.length=0,t.freeMode.onTouchEnd({currentPos:t.rtl?t.translate:-t.translate})},onTouchMove:function(){if(t.params.cssMode)return;const{touchEventsData:e,touches:s}=t;0===e.velocities.length&&e.velocities.push({position:s[t.isHorizontal()?"startX":"startY"],time:e.touchStartTime}),e.velocities.push({position:s[t.isHorizontal()?"currentX":"currentY"],time:l()})},onTouchEnd:function(e){let{currentPos:s}=e;if(t.params.cssMode)return;const{params:r,wrapperEl:n,rtlTranslate:o,snapGrid:d,touchEventsData:c}=t,p=l()-c.touchStartTime;if(s<-t.minTranslate())t.slideTo(t.activeIndex);else if(s>-t.maxTranslate())t.slides.length1){const e=c.velocities.pop(),s=c.velocities.pop(),a=e.position-s.position,i=e.time-s.time;t.velocity=a/i,t.velocity/=2,Math.abs(t.velocity)150||l()-e.time>300)&&(t.velocity=0)}else t.velocity=0;t.velocity*=r.freeMode.momentumVelocityRatio,c.velocities.length=0;let e=1e3*r.freeMode.momentumRatio;const s=t.velocity*e;let p=t.translate+s;o&&(p=-p);let u,m=!1;const h=20*Math.abs(t.velocity)*r.freeMode.momentumBounceRatio;let f;if(pt.minTranslate())r.freeMode.momentumBounce?(p-t.minTranslate()>h&&(p=t.minTranslate()+h),u=t.minTranslate(),m=!0,c.allowMomentumBounce=!0):p=t.minTranslate(),r.loop&&r.centeredSlides&&(f=!0);else if(r.freeMode.sticky){let e;for(let t=0;t-p){e=t;break}p=Math.abs(d[e]-p){t.loopFix()})),0!==t.velocity){if(e=o?Math.abs((-p-t.translate)/t.velocity):Math.abs((p-t.translate)/t.velocity),r.freeMode.sticky){const s=Math.abs((o?-p:p)-t.translate),a=t.slidesSizesGrid[t.activeIndex];e=s{t&&!t.destroyed&&c.allowMomentumBounce&&(a("momentumBounce"),t.setTransition(r.speed),setTimeout((()=>{t.setTranslate(u),E(n,(()=>{t&&!t.destroyed&&t.transitionEnd()}))}),0))}))):t.velocity?(a("_freeModeNoMomentumRelease"),t.updateProgress(p),t.setTransition(e),t.setTranslate(p),t.transitionStart(!0,t.swipeDirection),t.animating||(t.animating=!0,E(n,(()=>{t&&!t.destroyed&&t.transitionEnd()})))):t.updateProgress(p),t.updateActiveIndex(),t.updateSlidesClasses()}else{if(r.freeMode.sticky)return void t.slideToClosest();r.freeMode&&a("_freeModeNoMomentumRelease")}(!r.freeMode.momentum||p>=r.longSwipesMs)&&(t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses())}}}})},function(e){let t,s,a,{swiper:i,extendParams:r}=e;r({grid:{rows:1,fill:"column"}});const n=()=>{let e=i.params.spaceBetween;return"string"==typeof e&&e.indexOf("%")>=0?e=parseFloat(e.replace("%",""))/100*i.size:"string"==typeof e&&(e=parseFloat(e)),e};i.grid={initSlides:e=>{const{slidesPerView:r}=i.params,{rows:n,fill:l}=i.params.grid;a=Math.floor(e/n),t=Math.floor(e/n)===e/n?e:Math.ceil(e/n)*n,"auto"!==r&&"row"===l&&(t=Math.max(t,r*n)),s=t/n},updateSlide:(e,r,l,o)=>{const{slidesPerGroup:d}=i.params,c=n(),{rows:p,fill:u}=i.params.grid;let m,h,f;if("row"===u&&d>1){const s=Math.floor(e/(d*p)),a=e-p*d*s,i=0===s?d:Math.min(Math.ceil((l-s*p*d)/p),d);f=Math.floor(a/i),h=a-f*i+s*d,m=h+f*t/p,r.style.order=m}else"column"===u?(h=Math.floor(e/p),f=e-h*p,(h>a||h===a&&f===p-1)&&(f+=1,f>=p&&(f=0,h+=1))):(f=Math.floor(e/s),h=e-f*s);r.row=f,r.column=h,r.style[o("margin-top")]=0!==f?c&&`${c}px`:""},updateWrapperSize:(e,s,a)=>{const{centeredSlides:r,roundLengths:l}=i.params,o=n(),{rows:d}=i.params.grid;if(i.virtualSize=(e+o)*t,i.virtualSize=Math.ceil(i.virtualSize/d)-o,i.wrapperEl.style[a("width")]=`${i.virtualSize+o}px`,r){const e=[];for(let t=0;t{const{slides:e}=t;t.params.fadeEffect;for(let s=0;s{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`})),de({swiper:t,duration:e,transformElements:s,allSlides:!0})},overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({cubeEffect:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:.94}});const i=(e,t,s)=>{let a=s?e.querySelector(".swiper-slide-shadow-left"):e.querySelector(".swiper-slide-shadow-top"),i=s?e.querySelector(".swiper-slide-shadow-right"):e.querySelector(".swiper-slide-shadow-bottom");a||(a=g("div","swiper-slide-shadow-"+(s?"left":"top")),e.append(a)),i||(i=g("div","swiper-slide-shadow-"+(s?"right":"bottom")),e.append(i)),a&&(a.style.opacity=Math.max(-t,0)),i&&(i.style.opacity=Math.max(t,0))};le({effect:"cube",swiper:t,on:a,setTranslate:()=>{const{el:e,wrapperEl:s,slides:a,width:r,height:n,rtlTranslate:l,size:o,browser:d}=t,c=t.params.cubeEffect,p=t.isHorizontal(),u=t.virtual&&t.params.virtual.enabled;let m,h=0;c.shadow&&(p?(m=t.slidesEl.querySelector(".swiper-cube-shadow"),m||(m=g("div","swiper-cube-shadow"),t.slidesEl.append(m)),m.style.height=`${r}px`):(m=e.querySelector(".swiper-cube-shadow"),m||(m=g("div","swiper-cube-shadow"),e.append(m))));for(let e=0;e-1&&(h=90*s+90*d,l&&(h=90*-s-90*d)),t.style.transform=v,c.slideShadows&&i(t,d,p)}if(s.style.transformOrigin=`50% 50% -${o/2}px`,s.style["-webkit-transform-origin"]=`50% 50% -${o/2}px`,c.shadow)if(p)m.style.transform=`translate3d(0px, ${r/2+c.shadowOffset}px, ${-r/2}px) rotateX(90deg) rotateZ(0deg) scale(${c.shadowScale})`;else{const e=Math.abs(h)-90*Math.floor(Math.abs(h)/90),t=1.5-(Math.sin(2*e*Math.PI/360)/2+Math.cos(2*e*Math.PI/360)/2),s=c.shadowScale,a=c.shadowScale/t,i=c.shadowOffset;m.style.transform=`scale3d(${s}, 1, ${a}) translate3d(0px, ${n/2+i}px, ${-n/2/a}px) rotateX(-90deg)`}const f=(d.isSafari||d.isWebView)&&d.needPerspectiveFix?-o/2:0;s.style.transform=`translate3d(0px,0,${f}px) rotateX(${t.isHorizontal()?0:h}deg) rotateY(${t.isHorizontal()?-h:0}deg)`,s.style.setProperty("--swiper-cube-translate-z",`${f}px`)},setTransition:e=>{const{el:s,slides:a}=t;if(a.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),t.params.cubeEffect.shadow&&!t.isHorizontal()){const t=s.querySelector(".swiper-cube-shadow");t&&(t.style.transitionDuration=`${e}ms`)}},recreateShadows:()=>{const e=t.isHorizontal();t.slides.forEach((t=>{const s=Math.max(Math.min(t.progress,1),-1);i(t,s,e)}))},getEffectParams:()=>t.params.cubeEffect,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,resistanceRatio:0,spaceBetween:0,centeredSlides:!1,virtualTranslate:!0})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({flipEffect:{slideShadows:!0,limitRotation:!0}});const i=(e,s,a)=>{let i=t.isHorizontal()?e.querySelector(".swiper-slide-shadow-left"):e.querySelector(".swiper-slide-shadow-top"),r=t.isHorizontal()?e.querySelector(".swiper-slide-shadow-right"):e.querySelector(".swiper-slide-shadow-bottom");i||(i=ce(0,e,t.isHorizontal()?"left":"top")),r||(r=ce(0,e,t.isHorizontal()?"right":"bottom")),i&&(i.style.opacity=Math.max(-s,0)),r&&(r.style.opacity=Math.max(s,0))};le({effect:"flip",swiper:t,on:a,setTranslate:()=>{const{slides:e,rtlTranslate:s}=t,a=t.params.flipEffect;for(let r=0;r{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),de({swiper:t,duration:e,transformElements:s})},recreateShadows:()=>{t.params.flipEffect;t.slides.forEach((e=>{let s=e.progress;t.params.flipEffect.limitRotation&&(s=Math.max(Math.min(e.progress,1),-1)),i(e,s)}))},getEffectParams:()=>t.params.flipEffect,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({coverflowEffect:{rotate:50,stretch:0,depth:100,scale:1,modifier:1,slideShadows:!0}}),le({effect:"coverflow",swiper:t,on:a,setTranslate:()=>{const{width:e,height:s,slides:a,slidesSizesGrid:i}=t,r=t.params.coverflowEffect,n=t.isHorizontal(),l=t.translate,o=n?e/2-l:s/2-l,d=n?r.rotate:-r.rotate,c=r.depth;for(let e=0,t=a.length;e0?p:0),s&&(s.style.opacity=-p>0?-p:0)}}},setTransition:e=>{t.slides.map((e=>h(e))).forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t=>{t.style.transitionDuration=`${e}ms`}))}))},perspective:()=>!0,overwriteParams:()=>({watchSlidesProgress:!0})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({creativeEffect:{limitProgress:1,shadowPerProgress:!1,progressMultiplier:1,perspective:!0,prev:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1},next:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1}}});const i=e=>"string"==typeof e?e:`${e}px`;le({effect:"creative",swiper:t,on:a,setTranslate:()=>{const{slides:e,wrapperEl:s,slidesSizesGrid:a}=t,r=t.params.creativeEffect,{progressMultiplier:n}=r,l=t.params.centeredSlides;if(l){const e=a[0]/2-t.params.slidesOffsetBefore||0;s.style.transform=`translateX(calc(50% - ${e}px))`}for(let s=0;s0&&(f=r.prev,h=!0),u.forEach(((e,t)=>{u[t]=`calc(${e}px + (${i(f.translate[t])} * ${Math.abs(d*n)}))`})),m.forEach(((e,t)=>{m[t]=f.rotate[t]*Math.abs(d*n)})),a.style.zIndex=-Math.abs(Math.round(o))+e.length;const g=u.join(", "),v=`rotateX(${m[0]}deg) rotateY(${m[1]}deg) rotateZ(${m[2]}deg)`,w=c<0?`scale(${1+(1-f.scale)*c*n})`:`scale(${1-(1-f.scale)*c*n})`,b=c<0?1+(1-f.opacity)*c*n:1-(1-f.opacity)*c*n,y=`translate3d(${g}) ${v} ${w}`;if(h&&f.shadow||!h){let e=a.querySelector(".swiper-slide-shadow");if(!e&&f.shadow&&(e=ce(0,a)),e){const t=r.shadowPerProgress?d*(1/r.limitProgress):d;e.style.opacity=Math.min(Math.max(Math.abs(t),0),1)}}const E=oe(0,a);E.style.transform=y,E.style.opacity=b,f.origin&&(E.style.transformOrigin=f.origin)}},setTransition:e=>{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),de({swiper:t,duration:e,transformElements:s,allSlides:!0})},perspective:()=>t.params.creativeEffect.perspective,overwriteParams:()=>({watchSlidesProgress:!0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({cardsEffect:{slideShadows:!0,rotate:!0,perSlideRotate:2,perSlideOffset:8}}),le({effect:"cards",swiper:t,on:a,setTranslate:()=>{const{slides:e,activeIndex:s,rtlTranslate:a}=t,i=t.params.cardsEffect,{startTranslate:r,isTouched:n}=t.touchEventsData,l=a?-t.translate:t.translate;for(let o=0;o0&&p<1&&(n||t.params.cssMode)&&l-1&&(n||t.params.cssMode)&&l>r;if(y||E){const e=(1-Math.abs((Math.abs(p)-.5)/.5))**.5;v+=-28*p*e,g+=-.5*e,w+=96*e,h=-25*e*Math.abs(p)+"%"}if(m=p<0?`calc(${m}px ${a?"-":"+"} (${w*Math.abs(p)}%))`:p>0?`calc(${m}px ${a?"-":"+"} (-${w*Math.abs(p)}%))`:`${m}px`,!t.isHorizontal()){const e=h;h=m,m=e}const x=p<0?""+(1+(1-g)*p):""+(1-(1-g)*p),S=`\n translate3d(${m}, ${h}, ${f}px)\n rotateZ(${i.rotate?a?-v:v:0}deg)\n scale(${x})\n `;if(i.slideShadows){let e=d.querySelector(".swiper-slide-shadow");e||(e=ce(0,d)),e&&(e.style.opacity=Math.min(Math.max((Math.abs(p)-.5)/.5,0),1))}d.style.zIndex=-Math.abs(Math.round(c))+e.length;oe(0,d).style.transform=S}},setTransition:e=>{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),de({swiper:t,duration:e,transformElements:s})},perspective:()=>!0,overwriteParams:()=>({watchSlidesProgress:!0,virtualTranslate:!t.params.cssMode})})}];return J.use(pe),J})); +//# sourceMappingURL=swiper-bundle.min.js.map + +; +!function(i){"use strict";"function"==typeof define&&define.amd?define(["jquery"],i):"undefined"!=typeof exports?module.exports=i(require("jquery")):i(jQuery)}(function(i){"use strict";var e=window.Slick||{};(e=function(){var e=0;return function(t,o){var s,n=this;n.defaults={accessibility:!0,adaptiveHeight:!1,appendArrows:i(t),appendDots:i(t),arrows:!0,asNavFor:null,prevArrow:'',nextArrow:'',autoplay:!1,autoplaySpeed:3e3,centerMode:!1,centerPadding:"50px",cssEase:"ease",customPaging:function(e,t){return i('\n "; + } + if (this.settings.appendSubHtmlTo !== '.lg-item') { + subHtmlCont = + '
    '; + } + var addClasses = ''; + if (this.settings.allowMediaOverlap) { + // Do not remove space before last single quote + addClasses += 'lg-media-overlap '; + } + var ariaLabelledby = this.settings.ariaLabelledby + ? 'aria-labelledby="' + this.settings.ariaLabelledby + '"' + : ''; + var ariaDescribedby = this.settings.ariaDescribedby + ? 'aria-describedby="' + this.settings.ariaDescribedby + '"' + : ''; + var containerClassName = "lg-container " + this.settings.addClass + " " + (document.body !== this.settings.container ? 'lg-inline' : ''); + var closeIcon = this.settings.closable && this.settings.showCloseIcon + ? "" + : ''; + var maximizeIcon = this.settings.showMaximizeIcon + ? "" + : ''; + var template = "\n
    \n
    \n\n
    \n\n
    \n
    \n
    \n " + controls + "\n
    \n
    \n " + maximizeIcon + "\n " + closeIcon + "\n
    \n " + (this.settings.appendSubHtmlTo === '.lg-outer' + ? subHtmlCont + : '') + "\n
    \n " + (this.settings.appendSubHtmlTo === '.lg-sub-html' + ? subHtmlCont + : '') + "\n
    \n
    \n
    \n "; + $LG(this.settings.container).append(template); + if (document.body !== this.settings.container) { + $LG(this.settings.container).css('position', 'relative'); + } + this.outer = this.getElementById('lg-outer'); + this.$lgComponents = this.getElementById('lg-components'); + this.$backdrop = this.getElementById('lg-backdrop'); + this.$container = this.getElementById('lg-container'); + this.$inner = this.getElementById('lg-inner'); + this.$content = this.getElementById('lg-content'); + this.$toolbar = this.getElementById('lg-toolbar'); + this.$backdrop.css('transition-duration', this.settings.backdropDuration + 'ms'); + var outerClassNames = this.settings.mode + " "; + this.manageSingleSlideClassName(); + if (this.settings.enableDrag) { + outerClassNames += 'lg-grab '; + } + this.outer.addClass(outerClassNames); + this.$inner.css('transition-timing-function', this.settings.easing); + this.$inner.css('transition-duration', this.settings.speed + 'ms'); + if (this.settings.download) { + this.$toolbar.append(""); + } + this.counter(); + $LG(window).on("resize.lg.global" + this.lgId + " orientationchange.lg.global" + this.lgId, function () { + _this.refreshOnResize(); + }); + this.hideBars(); + this.manageCloseGallery(); + this.toggleMaximize(); + this.initModules(); + }; + LightGallery.prototype.refreshOnResize = function () { + if (this.lgOpened) { + var currentGalleryItem = this.galleryItems[this.index]; + var __slideVideoInfo = currentGalleryItem.__slideVideoInfo; + this.mediaContainerPosition = this.getMediaContainerPosition(); + var _a = this.mediaContainerPosition, top_1 = _a.top, bottom = _a.bottom; + this.currentImageSize = utils.getSize(this.items[this.index], this.outer, top_1 + bottom, __slideVideoInfo && this.settings.videoMaxSize); + if (__slideVideoInfo) { + this.resizeVideoSlide(this.index, this.currentImageSize); + } + if (this.zoomFromOrigin && !this.isDummyImageRemoved) { + var imgStyle = this.getDummyImgStyles(this.currentImageSize); + this.outer + .find('.lg-current .lg-dummy-img') + .first() + .attr('style', imgStyle); + } + this.LGel.trigger(lGEvents.containerResize); + } + }; + LightGallery.prototype.resizeVideoSlide = function (index, imageSize) { + var lgVideoStyle = this.getVideoContStyle(imageSize); + var currentSlide = this.getSlideItem(index); + currentSlide.find('.lg-video-cont').attr('style', lgVideoStyle); + }; + /** + * Update slides dynamically. + * Add, edit or delete slides dynamically when lightGallery is opened. + * Modify the current gallery items and pass it via updateSlides method + * @note + * - Do not mutate existing lightGallery items directly. + * - Always pass new list of gallery items + * - You need to take care of thumbnails outside the gallery if any + * - user this method only if you want to update slides when the gallery is opened. Otherwise, use `refresh()` method. + * @param items Gallery items + * @param index After the update operation, which slide gallery should navigate to + * @category lGPublicMethods + * @example + * const plugin = lightGallery(); + * + * // Adding slides dynamically + * let galleryItems = [ + * // Access existing lightGallery items + * // galleryItems are automatically generated internally from the gallery HTML markup + * // or directly from galleryItems when dynamic gallery is used + * ...plugin.galleryItems, + * ...[ + * { + * src: 'img/img-1.png', + * thumb: 'img/thumb1.png', + * }, + * ], + * ]; + * plugin.updateSlides( + * galleryItems, + * plugin.index, + * ); + * + * + * // Remove slides dynamically + * galleryItems = JSON.parse( + * JSON.stringify(updateSlideInstance.galleryItems), + * ); + * galleryItems.shift(); + * updateSlideInstance.updateSlides(galleryItems, 1); + * @see Demo + */ + LightGallery.prototype.updateSlides = function (items, index) { + if (this.index > items.length - 1) { + this.index = items.length - 1; + } + if (items.length === 1) { + this.index = 0; + } + if (!items.length) { + this.closeGallery(); + return; + } + var currentSrc = this.galleryItems[index].src; + this.galleryItems = items; + this.updateControls(); + this.$inner.empty(); + this.currentItemsInDom = []; + var _index = 0; + // Find the current index based on source value of the slide + this.galleryItems.some(function (galleryItem, itemIndex) { + if (galleryItem.src === currentSrc) { + _index = itemIndex; + return true; + } + return false; + }); + this.currentItemsInDom = this.organizeSlideItems(_index, -1); + this.loadContent(_index, true); + this.getSlideItem(_index).addClass('lg-current'); + this.index = _index; + this.updateCurrentCounter(_index); + this.LGel.trigger(lGEvents.updateSlides); + }; + // Get gallery items based on multiple conditions + LightGallery.prototype.getItems = function () { + // Gallery items + this.items = []; + if (!this.settings.dynamic) { + if (this.settings.selector === 'this') { + this.items.push(this.el); + } + else if (this.settings.selector) { + if (typeof this.settings.selector === 'string') { + if (this.settings.selectWithin) { + var selectWithin = $LG(this.settings.selectWithin); + this.items = selectWithin + .find(this.settings.selector) + .get(); + } + else { + this.items = this.el.querySelectorAll(this.settings.selector); + } + } + else { + this.items = this.settings.selector; + } + } + else { + this.items = this.el.children; + } + return utils.getDynamicOptions(this.items, this.settings.extraProps, this.settings.getCaptionFromTitleOrAlt, this.settings.exThumbImage); + } + else { + return this.settings.dynamicEl || []; + } + }; + LightGallery.prototype.shouldHideScrollbar = function () { + return (this.settings.hideScrollbar && + document.body === this.settings.container); + }; + LightGallery.prototype.hideScrollbar = function () { + if (!this.shouldHideScrollbar()) { + return; + } + this.bodyPaddingRight = parseFloat($LG('body').style().paddingRight); + var bodyRect = document.documentElement.getBoundingClientRect(); + var scrollbarWidth = window.innerWidth - bodyRect.width; + $LG(document.body).css('padding-right', scrollbarWidth + this.bodyPaddingRight + 'px'); + $LG(document.body).addClass('lg-overlay-open'); + }; + LightGallery.prototype.resetScrollBar = function () { + if (!this.shouldHideScrollbar()) { + return; + } + $LG(document.body).css('padding-right', this.bodyPaddingRight + 'px'); + $LG(document.body).removeClass('lg-overlay-open'); + }; + /** + * Open lightGallery. + * Open gallery with specific slide by passing index of the slide as parameter. + * @category lGPublicMethods + * @param {Number} index - index of the slide + * @param {HTMLElement} element - Which image lightGallery should zoom from + * + * @example + * const $dynamicGallery = document.getElementById('dynamic-gallery-demo'); + * const dynamicGallery = lightGallery($dynamicGallery, { + * dynamic: true, + * dynamicEl: [ + * { + * src: 'img/1.jpg', + * thumb: 'img/thumb-1.jpg', + * subHtml: '

    Image 1 title

    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 " + (this.index + 1) + " /\n " + this.galleryItems.length + "
    "; + this.outer.find(this.settings.appendCounterTo).append(counterHtml); + } + }; + /** + * @desc add sub-html into the slide + * @param {Number} index - index of the slide + */ + LightGallery.prototype.addHtml = function (index) { + var subHtml; + var subHtmlUrl; + if (this.galleryItems[index].subHtmlUrl) { + subHtmlUrl = this.galleryItems[index].subHtmlUrl; + } + else { + subHtml = this.galleryItems[index].subHtml; + } + if (!subHtmlUrl) { + if (subHtml) { + // get first letter of sub-html + // if first letter starts with . or # get the html form the jQuery object + var fL = subHtml.substring(0, 1); + if (fL === '.' || fL === '#') { + if (this.settings.subHtmlSelectorRelative && + !this.settings.dynamic) { + subHtml = $LG(this.items) + .eq(index) + .find(subHtml) + .first() + .html(); + } + else { + subHtml = $LG(subHtml).first().html(); + } + } + } + else { + subHtml = ''; + } + } + if (this.settings.appendSubHtmlTo !== '.lg-item') { + if (subHtmlUrl) { + utils.fetchCaptionFromUrl(subHtmlUrl, this.outer.find('.lg-sub-html'), 'replace'); + } + else { + this.outer.find('.lg-sub-html').html(subHtml); + } + } + else { + var currentSlide = $LG(this.getSlideItemId(index)); + if (subHtmlUrl) { + utils.fetchCaptionFromUrl(subHtmlUrl, currentSlide, 'append'); + } + else { + currentSlide.append("
    " + subHtml + "
    "); + } + } + // Add lg-empty-html class if title doesn't exist + if (typeof subHtml !== 'undefined' && subHtml !== null) { + if (subHtml === '') { + this.outer + .find(this.settings.appendSubHtmlTo) + .addClass('lg-empty-html'); + } + else { + this.outer + .find(this.settings.appendSubHtmlTo) + .removeClass('lg-empty-html'); + } + } + this.LGel.trigger(lGEvents.afterAppendSubHtml, { + index: index, + }); + }; + /** + * @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 + */ + LightGallery.prototype.preload = function (index) { + for (var i = 1; i <= this.settings.preload; i++) { + if (i >= this.galleryItems.length - index) { + break; + } + this.loadContent(index + i, false); + } + for (var j = 1; j <= this.settings.preload; j++) { + if (index - j < 0) { + break; + } + this.loadContent(index - j, false); + } + }; + LightGallery.prototype.getDummyImgStyles = function (imageSize) { + if (!imageSize) + return ''; + return "width:" + imageSize.width + "px;\n margin-left: -" + imageSize.width / 2 + "px;\n margin-top: -" + imageSize.height / 2 + "px;\n height:" + imageSize.height + "px"; + }; + LightGallery.prototype.getVideoContStyle = function (imageSize) { + if (!imageSize) + return ''; + return "width:" + imageSize.width + "px;\n height:" + imageSize.height + "px"; + }; + LightGallery.prototype.getDummyImageContent = function ($currentSlide, index, alt) { + var $currentItem; + if (!this.settings.dynamic) { + $currentItem = $LG(this.items).eq(index); + } + if ($currentItem) { + var _dummyImgSrc = void 0; + if (!this.settings.exThumbImage) { + _dummyImgSrc = $currentItem.find('img').first().attr('src'); + } + else { + _dummyImgSrc = $currentItem.attr(this.settings.exThumbImage); + } + if (!_dummyImgSrc) + return ''; + var imgStyle = this.getDummyImgStyles(this.currentImageSize); + var dummyImgContentImg = document.createElement('img'); + dummyImgContentImg.alt = alt || ''; + dummyImgContentImg.src = _dummyImgSrc; + dummyImgContentImg.className = "lg-dummy-img"; + dummyImgContentImg.style.cssText = imgStyle; + $currentSlide.addClass('lg-first-slide'); + this.outer.addClass('lg-first-slide-loading'); + return dummyImgContentImg; + } + return ''; + }; + LightGallery.prototype.setImgMarkup = function (src, $currentSlide, index) { + var currentGalleryItem = this.galleryItems[index]; + var alt = currentGalleryItem.alt, srcset = currentGalleryItem.srcset, sizes = currentGalleryItem.sizes, sources = currentGalleryItem.sources; + // Use the thumbnail as dummy image which will be resized to actual image size and + // displayed on top of actual image + var imgContent = ''; + var altAttr = alt ? 'alt="' + alt + '"' : ''; + if (this.isFirstSlideWithZoomAnimation()) { + imgContent = this.getDummyImageContent($currentSlide, index, altAttr); + } + else { + imgContent = utils.getImgMarkup(index, src, altAttr, srcset, sizes, sources); + } + var picture = document.createElement('picture'); + picture.className = 'lg-img-wrap'; + $LG(picture).append(imgContent); + $currentSlide.prepend(picture); + }; + LightGallery.prototype.onSlideObjectLoad = function ($slide, isHTML5VideoWithoutPoster, onLoad, onError) { + var mediaObject = $slide.find('.lg-object').first(); + if (utils.isImageLoaded(mediaObject.get()) || + isHTML5VideoWithoutPoster) { + onLoad(); + } + else { + mediaObject.on('load.lg error.lg', function () { + onLoad && onLoad(); + }); + mediaObject.on('error.lg', function () { + onError && onError(); + }); + } + }; + /** + * + * @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 + */ + LightGallery.prototype.onLgObjectLoad = function (currentSlide, index, delay, speed, isFirstSlide, isHTML5VideoWithoutPoster) { + var _this = this; + this.onSlideObjectLoad(currentSlide, isHTML5VideoWithoutPoster, function () { + _this.triggerSlideItemLoad(currentSlide, index, delay, speed, isFirstSlide); + }, function () { + currentSlide.addClass('lg-complete lg-complete_'); + currentSlide.html('' + + _this.settings.strings['mediaLoadingFailed'] + + ''); + }); + }; + LightGallery.prototype.triggerSlideItemLoad = function ($currentSlide, index, delay, speed, isFirstSlide) { + var _this = this; + var currentGalleryItem = this.galleryItems[index]; + // Adding delay for video slides without poster for better performance and user experience + // Videos should start playing once once the gallery is completely loaded + var _speed = isFirstSlide && + this.getSlideType(currentGalleryItem) === 'video' && + !currentGalleryItem.poster + ? speed + : 0; + setTimeout(function () { + $currentSlide.addClass('lg-complete lg-complete_'); + _this.LGel.trigger(lGEvents.slideItemLoad, { + index: index, + delay: delay || 0, + isFirstSlide: isFirstSlide, + }); + }, _speed); + }; + LightGallery.prototype.isFirstSlideWithZoomAnimation = function () { + return !!(!this.lGalleryOn && + this.zoomFromOrigin && + this.currentImageSize); + }; + // Add video slideInfo + LightGallery.prototype.addSlideVideoInfo = function (items) { + var _this = this; + items.forEach(function (element, index) { + element.__slideVideoInfo = utils.isVideo(element.src, !!element.video, index); + if (element.__slideVideoInfo && + _this.settings.loadYouTubePoster && + !element.poster && + element.__slideVideoInfo.youtube) { + element.poster = "//img.youtube.com/vi/" + element.__slideVideoInfo.youtube[1] + "/maxresdefault.jpg"; + } + }); + }; + /** + * 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. + */ + LightGallery.prototype.loadContent = function (index, rec) { + var _this = this; + var currentGalleryItem = this.galleryItems[index]; + var $currentSlide = $LG(this.getSlideItemId(index)); + var poster = currentGalleryItem.poster, srcset = currentGalleryItem.srcset, sizes = currentGalleryItem.sizes, sources = currentGalleryItem.sources; + var src = currentGalleryItem.src; + var video = currentGalleryItem.video; + var _html5Video = video && typeof video === 'string' ? JSON.parse(video) : video; + if (currentGalleryItem.responsive) { + var srcDyItms = currentGalleryItem.responsive.split(','); + src = utils.getResponsiveSrc(srcDyItms) || src; + } + var videoInfo = currentGalleryItem.__slideVideoInfo; + var lgVideoStyle = ''; + var iframe = !!currentGalleryItem.iframe; + var isFirstSlide = !this.lGalleryOn; + // delay for adding complete class. it is 0 except first time. + var delay = 0; + if (isFirstSlide) { + if (this.zoomFromOrigin && this.currentImageSize) { + delay = this.settings.startAnimationDuration + 10; + } + else { + delay = this.settings.backdropDuration + 10; + } + } + if (!$currentSlide.hasClass('lg-loaded')) { + if (videoInfo) { + var _a = this.mediaContainerPosition, top_2 = _a.top, bottom = _a.bottom; + var videoSize = utils.getSize(this.items[index], this.outer, top_2 + bottom, videoInfo && this.settings.videoMaxSize); + lgVideoStyle = this.getVideoContStyle(videoSize); + } + if (iframe) { + var markup = utils.getIframeMarkup(this.settings.iframeWidth, this.settings.iframeHeight, this.settings.iframeMaxWidth, this.settings.iframeMaxHeight, src, currentGalleryItem.iframeTitle); + $currentSlide.prepend(markup); + } + else if (poster) { + var dummyImg = ''; + var hasStartAnimation = isFirstSlide && + this.zoomFromOrigin && + this.currentImageSize; + if (hasStartAnimation) { + dummyImg = this.getDummyImageContent($currentSlide, index, ''); + } + var markup = utils.getVideoPosterMarkup(poster, dummyImg || '', lgVideoStyle, this.settings.strings['playVideo'], videoInfo); + $currentSlide.prepend(markup); + } + else if (videoInfo) { + var markup = "
    "; + $currentSlide.prepend(markup); + } + else { + this.setImgMarkup(src, $currentSlide, index); + if (srcset || sources) { + var $img = $currentSlide.find('.lg-object'); + this.initPictureFill($img); + } + } + if (poster || videoInfo) { + this.LGel.trigger(lGEvents.hasVideo, { + index: index, + src: src, + html5Video: _html5Video, + hasPoster: !!poster, + }); + } + this.LGel.trigger(lGEvents.afterAppendSlide, { index: index }); + if (this.lGalleryOn && + this.settings.appendSubHtmlTo === '.lg-item') { + this.addHtml(index); + } + } + // For first time add some delay for displaying the start animation. + var _speed = 0; + // Do not change the delay value because it is required for zoom plugin. + // If gallery opened from direct url (hash) speed value should be 0 + if (delay && !$LG(document.body).hasClass('lg-from-hash')) { + _speed = delay; + } + // Only for first slide and zoomFromOrigin is enabled + if (this.isFirstSlideWithZoomAnimation()) { + setTimeout(function () { + $currentSlide + .removeClass('lg-start-end-progress lg-start-progress') + .removeAttr('style'); + }, this.settings.startAnimationDuration + 100); + if (!$currentSlide.hasClass('lg-loaded')) { + setTimeout(function () { + if (_this.getSlideType(currentGalleryItem) === 'image') { + var alt = currentGalleryItem.alt; + var altAttr = alt ? 'alt="' + alt + '"' : ''; + $currentSlide + .find('.lg-img-wrap') + .append(utils.getImgMarkup(index, src, altAttr, srcset, sizes, currentGalleryItem.sources)); + if (srcset || sources) { + var $img = $currentSlide.find('.lg-object'); + _this.initPictureFill($img); + } + } + if (_this.getSlideType(currentGalleryItem) === 'image' || + (_this.getSlideType(currentGalleryItem) === 'video' && + poster)) { + _this.onLgObjectLoad($currentSlide, index, delay, _speed, true, false); + // load remaining slides once the slide is completely loaded + _this.onSlideObjectLoad($currentSlide, !!(videoInfo && videoInfo.html5 && !poster), function () { + _this.loadContentOnFirstSlideLoad(index, $currentSlide, _speed); + }, function () { + _this.loadContentOnFirstSlideLoad(index, $currentSlide, _speed); + }); + } + }, this.settings.startAnimationDuration + 100); + } + } + // SLide content has been added to dom + $currentSlide.addClass('lg-loaded'); + if (!this.isFirstSlideWithZoomAnimation() || + (this.getSlideType(currentGalleryItem) === 'video' && !poster)) { + this.onLgObjectLoad($currentSlide, index, delay, _speed, isFirstSlide, !!(videoInfo && videoInfo.html5 && !poster)); + } + // When gallery is opened once content is loaded (second time) need to add lg-complete class for css styling + if ((!this.zoomFromOrigin || !this.currentImageSize) && + $currentSlide.hasClass('lg-complete_') && + !this.lGalleryOn) { + setTimeout(function () { + $currentSlide.addClass('lg-complete'); + }, this.settings.backdropDuration); + } + // Content loaded + // Need to set lGalleryOn before calling preload function + this.lGalleryOn = true; + if (rec === true) { + if (!$currentSlide.hasClass('lg-complete_')) { + $currentSlide + .find('.lg-object') + .first() + .on('load.lg error.lg', function () { + _this.preload(index); + }); + } + else { + this.preload(index); + } + } + }; + /** + * @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 + */ + LightGallery.prototype.loadContentOnFirstSlideLoad = function (index, $currentSlide, speed) { + var _this = this; + setTimeout(function () { + $currentSlide.find('.lg-dummy-img').remove(); + $currentSlide.removeClass('lg-first-slide'); + _this.outer.removeClass('lg-first-slide-loading'); + _this.isDummyImageRemoved = true; + _this.preload(index); + }, speed + 300); + }; + LightGallery.prototype.getItemsToBeInsertedToDom = function (index, prevIndex, numberOfItems) { + var _this = this; + if (numberOfItems === void 0) { numberOfItems = 0; } + var itemsToBeInsertedToDom = []; + // Minimum 2 items should be there + var possibleNumberOfItems = Math.max(numberOfItems, 3); + possibleNumberOfItems = Math.min(possibleNumberOfItems, this.galleryItems.length); + var prevIndexItem = "lg-item-" + this.lgId + "-" + prevIndex; + if (this.galleryItems.length <= 3) { + this.galleryItems.forEach(function (_element, index) { + itemsToBeInsertedToDom.push("lg-item-" + _this.lgId + "-" + index); + }); + return itemsToBeInsertedToDom; + } + if (index < (this.galleryItems.length - 1) / 2) { + for (var idx = index; idx > index - possibleNumberOfItems / 2 && idx >= 0; idx--) { + itemsToBeInsertedToDom.push("lg-item-" + this.lgId + "-" + idx); + } + var numberOfExistingItems = itemsToBeInsertedToDom.length; + for (var idx = 0; idx < possibleNumberOfItems - numberOfExistingItems; idx++) { + itemsToBeInsertedToDom.push("lg-item-" + this.lgId + "-" + (index + idx + 1)); + } + } + else { + for (var idx = index; idx <= this.galleryItems.length - 1 && + idx < index + possibleNumberOfItems / 2; idx++) { + itemsToBeInsertedToDom.push("lg-item-" + this.lgId + "-" + idx); + } + var numberOfExistingItems = itemsToBeInsertedToDom.length; + for (var idx = 0; idx < possibleNumberOfItems - numberOfExistingItems; idx++) { + itemsToBeInsertedToDom.push("lg-item-" + this.lgId + "-" + (index - idx - 1)); + } + } + if (this.settings.loop) { + if (index === this.galleryItems.length - 1) { + itemsToBeInsertedToDom.push("lg-item-" + this.lgId + "-" + 0); + } + else if (index === 0) { + itemsToBeInsertedToDom.push("lg-item-" + this.lgId + "-" + (this.galleryItems.length - 1)); + } + } + if (itemsToBeInsertedToDom.indexOf(prevIndexItem) === -1) { + itemsToBeInsertedToDom.push("lg-item-" + this.lgId + "-" + prevIndex); + } + return itemsToBeInsertedToDom; + }; + LightGallery.prototype.organizeSlideItems = function (index, prevIndex) { + var _this = this; + var itemsToBeInsertedToDom = this.getItemsToBeInsertedToDom(index, prevIndex, this.settings.numberOfSlideItemsInDom); + itemsToBeInsertedToDom.forEach(function (item) { + if (_this.currentItemsInDom.indexOf(item) === -1) { + _this.$inner.append("
    "); + } + }); + this.currentItemsInDom.forEach(function (item) { + if (itemsToBeInsertedToDom.indexOf(item) === -1) { + $LG("#" + item).remove(); + } + }); + return itemsToBeInsertedToDom; + }; + /** + * Get previous index of the slide + */ + LightGallery.prototype.getPreviousSlideIndex = function () { + var prevIndex = 0; + try { + var currentItemId = this.outer + .find('.lg-current') + .first() + .attr('id'); + prevIndex = parseInt(currentItemId.split('-')[3]) || 0; + } + catch (error) { + prevIndex = 0; + } + return prevIndex; + }; + LightGallery.prototype.setDownloadValue = function (index) { + if (this.settings.download) { + var currentGalleryItem = this.galleryItems[index]; + var hideDownloadBtn = currentGalleryItem.downloadUrl === false || + currentGalleryItem.downloadUrl === 'false'; + if (hideDownloadBtn) { + this.outer.addClass('lg-hide-download'); + } + else { + var $download = this.getElementById('lg-download'); + this.outer.removeClass('lg-hide-download'); + $download.attr('href', currentGalleryItem.downloadUrl || + currentGalleryItem.src); + if (currentGalleryItem.download) { + $download.attr('download', currentGalleryItem.download); + } + } + } + }; + LightGallery.prototype.makeSlideAnimation = function (direction, currentSlideItem, previousSlideItem) { + var _this = this; + if (this.lGalleryOn) { + previousSlideItem.addClass('lg-slide-progress'); + } + setTimeout(function () { + // remove all transitions + _this.outer.addClass('lg-no-trans'); + _this.outer + .find('.lg-item') + .removeClass('lg-prev-slide lg-next-slide'); + if (direction === 'prev') { + //prevslide + currentSlideItem.addClass('lg-prev-slide'); + previousSlideItem.addClass('lg-next-slide'); + } + else { + // next slide + currentSlideItem.addClass('lg-next-slide'); + previousSlideItem.addClass('lg-prev-slide'); + } + // give 50 ms for browser to add/remove class + setTimeout(function () { + _this.outer.find('.lg-item').removeClass('lg-current'); + currentSlideItem.addClass('lg-current'); + // reset all transitions + _this.outer.removeClass('lg-no-trans'); + }, 50); + }, this.lGalleryOn ? this.settings.slideDelay : 0); + }; + /** + * 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); + * + */ + LightGallery.prototype.slide = function (index, fromTouch, fromThumb, direction) { + var _this = this; + var prevIndex = this.getPreviousSlideIndex(); + this.currentItemsInDom = this.organizeSlideItems(index, prevIndex); + // Prevent multiple call, Required for hsh plugin + if (this.lGalleryOn && prevIndex === index) { + return; + } + var numberOfGalleryItems = this.galleryItems.length; + if (!this.lgBusy) { + if (this.settings.counter) { + this.updateCurrentCounter(index); + } + var currentSlideItem = this.getSlideItem(index); + var previousSlideItem_1 = this.getSlideItem(prevIndex); + var currentGalleryItem = this.galleryItems[index]; + var videoInfo = currentGalleryItem.__slideVideoInfo; + this.outer.attr('data-lg-slide-type', this.getSlideType(currentGalleryItem)); + this.setDownloadValue(index); + if (videoInfo) { + var _a = this.mediaContainerPosition, top_3 = _a.top, bottom = _a.bottom; + var videoSize = utils.getSize(this.items[index], this.outer, top_3 + bottom, videoInfo && this.settings.videoMaxSize); + this.resizeVideoSlide(index, videoSize); + } + this.LGel.trigger(lGEvents.beforeSlide, { + prevIndex: prevIndex, + index: index, + fromTouch: !!fromTouch, + fromThumb: !!fromThumb, + }); + this.lgBusy = true; + clearTimeout(this.hideBarTimeout); + this.arrowDisable(index); + if (!direction) { + if (index < prevIndex) { + direction = 'prev'; + } + else if (index > prevIndex) { + direction = 'next'; + } + } + if (!fromTouch) { + this.makeSlideAnimation(direction, currentSlideItem, previousSlideItem_1); + } + else { + this.outer + .find('.lg-item') + .removeClass('lg-prev-slide lg-current lg-next-slide'); + var touchPrev = void 0; + var touchNext = void 0; + if (numberOfGalleryItems > 2) { + touchPrev = index - 1; + touchNext = index + 1; + if (index === 0 && prevIndex === numberOfGalleryItems - 1) { + // next slide + touchNext = 0; + touchPrev = numberOfGalleryItems - 1; + } + else if (index === numberOfGalleryItems - 1 && + prevIndex === 0) { + // prev slide + touchNext = 0; + touchPrev = numberOfGalleryItems - 1; + } + } + else { + touchPrev = 0; + touchNext = 1; + } + if (direction === 'prev') { + this.getSlideItem(touchNext).addClass('lg-next-slide'); + } + else { + this.getSlideItem(touchPrev).addClass('lg-prev-slide'); + } + currentSlideItem.addClass('lg-current'); + } + // Do not put load content in set timeout as it needs to load immediately when the gallery is opened + if (!this.lGalleryOn) { + this.loadContent(index, true); + } + else { + setTimeout(function () { + _this.loadContent(index, true); + // Add title if this.settings.appendSubHtmlTo === lg-sub-html + if (_this.settings.appendSubHtmlTo !== '.lg-item') { + _this.addHtml(index); + } + }, this.settings.speed + 50 + (fromTouch ? 0 : this.settings.slideDelay)); + } + setTimeout(function () { + _this.lgBusy = false; + previousSlideItem_1.removeClass('lg-slide-progress'); + _this.LGel.trigger(lGEvents.afterSlide, { + prevIndex: prevIndex, + index: index, + fromTouch: fromTouch, + fromThumb: fromThumb, + }); + }, (this.lGalleryOn ? this.settings.speed + 100 : 100) + (fromTouch ? 0 : this.settings.slideDelay)); + } + this.index = index; + }; + LightGallery.prototype.updateCurrentCounter = function (index) { + this.getElementById('lg-counter-current').html(index + 1 + ''); + }; + LightGallery.prototype.updateCounterTotal = function () { + this.getElementById('lg-counter-all').html(this.galleryItems.length + ''); + }; + LightGallery.prototype.getSlideType = function (item) { + if (item.__slideVideoInfo) { + return 'video'; + } + else if (item.iframe) { + return 'iframe'; + } + else { + return 'image'; + } + }; + LightGallery.prototype.touchMove = function (startCoords, endCoords, e) { + var distanceX = endCoords.pageX - startCoords.pageX; + var distanceY = endCoords.pageY - startCoords.pageY; + var allowSwipe = false; + if (this.swipeDirection) { + allowSwipe = true; + } + else { + if (Math.abs(distanceX) > 15) { + this.swipeDirection = 'horizontal'; + allowSwipe = true; + } + else if (Math.abs(distanceY) > 15) { + this.swipeDirection = 'vertical'; + allowSwipe = true; + } + } + if (!allowSwipe) { + return; + } + var $currentSlide = this.getSlideItem(this.index); + if (this.swipeDirection === 'horizontal') { + e === null || e === void 0 ? void 0 : e.preventDefault(); + // reset opacity and transition duration + this.outer.addClass('lg-dragging'); + // move current slide + this.setTranslate($currentSlide, distanceX, 0); + // move next and prev slide with current slide + var width = $currentSlide.get().offsetWidth; + var slideWidthAmount = (width * 15) / 100; + var gutter = slideWidthAmount - Math.abs((distanceX * 10) / 100); + this.setTranslate(this.outer.find('.lg-prev-slide').first(), -width + distanceX - gutter, 0); + this.setTranslate(this.outer.find('.lg-next-slide').first(), width + distanceX + gutter, 0); + } + else if (this.swipeDirection === 'vertical') { + if (this.settings.swipeToClose) { + e === null || e === void 0 ? void 0 : e.preventDefault(); + this.$container.addClass('lg-dragging-vertical'); + var opacity = 1 - Math.abs(distanceY) / window.innerHeight; + this.$backdrop.css('opacity', opacity); + var scale = 1 - Math.abs(distanceY) / (window.innerWidth * 2); + this.setTranslate($currentSlide, 0, distanceY, scale, scale); + if (Math.abs(distanceY) > 100) { + this.outer + .addClass('lg-hide-items') + .removeClass('lg-components-open'); + } + } + } + }; + LightGallery.prototype.touchEnd = function (endCoords, startCoords, event) { + var _this = this; + var distance; + // keep slide animation for any mode while dragg/swipe + if (this.settings.mode !== 'lg-slide') { + this.outer.addClass('lg-slide'); + } + // set transition duration + setTimeout(function () { + _this.$container.removeClass('lg-dragging-vertical'); + _this.outer + .removeClass('lg-dragging lg-hide-items') + .addClass('lg-components-open'); + var triggerClick = true; + if (_this.swipeDirection === 'horizontal') { + distance = endCoords.pageX - startCoords.pageX; + var distanceAbs = Math.abs(endCoords.pageX - startCoords.pageX); + if (distance < 0 && + distanceAbs > _this.settings.swipeThreshold) { + _this.goToNextSlide(true); + triggerClick = false; + } + else if (distance > 0 && + distanceAbs > _this.settings.swipeThreshold) { + _this.goToPrevSlide(true); + triggerClick = false; + } + } + else if (_this.swipeDirection === 'vertical') { + distance = Math.abs(endCoords.pageY - startCoords.pageY); + if (_this.settings.closable && + _this.settings.swipeToClose && + distance > 100) { + _this.closeGallery(); + return; + } + else { + _this.$backdrop.css('opacity', 1); + } + } + _this.outer.find('.lg-item').removeAttr('style'); + if (triggerClick && + Math.abs(endCoords.pageX - startCoords.pageX) < 5) { + // Trigger click if distance is less than 5 pix + var target = $LG(event.target); + if (_this.isPosterElement(target)) { + _this.LGel.trigger(lGEvents.posterClick); + } + } + _this.swipeDirection = undefined; + }); + // remove slide class once drag/swipe is completed if mode is not slide + setTimeout(function () { + if (!_this.outer.hasClass('lg-dragging') && + _this.settings.mode !== 'lg-slide') { + _this.outer.removeClass('lg-slide'); + } + }, this.settings.speed + 100); + }; + LightGallery.prototype.enableSwipe = function () { + var _this = this; + var startCoords = {}; + var endCoords = {}; + var isMoved = false; + var isSwiping = false; + if (this.settings.enableSwipe) { + this.$inner.on('touchstart.lg', function (e) { + _this.dragOrSwipeEnabled = true; + var $item = _this.getSlideItem(_this.index); + if (($LG(e.target).hasClass('lg-item') || + $item.get().contains(e.target)) && + !_this.outer.hasClass('lg-zoomed') && + !_this.lgBusy && + e.touches.length === 1) { + isSwiping = true; + _this.touchAction = 'swipe'; + _this.manageSwipeClass(); + startCoords = { + pageX: e.touches[0].pageX, + pageY: e.touches[0].pageY, + }; + } + }); + this.$inner.on('touchmove.lg', function (e) { + if (isSwiping && + _this.touchAction === 'swipe' && + e.touches.length === 1) { + endCoords = { + pageX: e.touches[0].pageX, + pageY: e.touches[0].pageY, + }; + _this.touchMove(startCoords, endCoords, e); + isMoved = true; + } + }); + this.$inner.on('touchend.lg', function (event) { + if (_this.touchAction === 'swipe') { + if (isMoved) { + isMoved = false; + _this.touchEnd(endCoords, startCoords, event); + } + else if (isSwiping) { + var target = $LG(event.target); + if (_this.isPosterElement(target)) { + _this.LGel.trigger(lGEvents.posterClick); + } + } + _this.touchAction = undefined; + isSwiping = false; + } + }); + } + }; + LightGallery.prototype.enableDrag = function () { + var _this = this; + var startCoords = {}; + var endCoords = {}; + var isDraging = false; + var isMoved = false; + if (this.settings.enableDrag) { + this.outer.on('mousedown.lg', function (e) { + _this.dragOrSwipeEnabled = true; + var $item = _this.getSlideItem(_this.index); + if ($LG(e.target).hasClass('lg-item') || + $item.get().contains(e.target)) { + if (!_this.outer.hasClass('lg-zoomed') && !_this.lgBusy) { + e.preventDefault(); + if (!_this.lgBusy) { + _this.manageSwipeClass(); + startCoords = { + pageX: e.pageX, + pageY: e.pageY, + }; + isDraging = true; + // ** Fix for webkit cursor issue https://code.google.com/p/chromium/issues/detail?id=26723 + _this.outer.get().scrollLeft += 1; + _this.outer.get().scrollLeft -= 1; + // * + _this.outer + .removeClass('lg-grab') + .addClass('lg-grabbing'); + _this.LGel.trigger(lGEvents.dragStart); + } + } + } + }); + $LG(window).on("mousemove.lg.global" + this.lgId, function (e) { + if (isDraging && _this.lgOpened) { + isMoved = true; + endCoords = { + pageX: e.pageX, + pageY: e.pageY, + }; + _this.touchMove(startCoords, endCoords); + _this.LGel.trigger(lGEvents.dragMove); + } + }); + $LG(window).on("mouseup.lg.global" + this.lgId, function (event) { + if (!_this.lgOpened) { + return; + } + var target = $LG(event.target); + if (isMoved) { + isMoved = false; + _this.touchEnd(endCoords, startCoords, event); + _this.LGel.trigger(lGEvents.dragEnd); + } + else if (_this.isPosterElement(target)) { + _this.LGel.trigger(lGEvents.posterClick); + } + // Prevent execution on click + if (isDraging) { + isDraging = false; + _this.outer.removeClass('lg-grabbing').addClass('lg-grab'); + } + }); + } + }; + LightGallery.prototype.triggerPosterClick = function () { + var _this = this; + this.$inner.on('click.lg', function (event) { + if (!_this.dragOrSwipeEnabled && + _this.isPosterElement($LG(event.target))) { + _this.LGel.trigger(lGEvents.posterClick); + } + }); + }; + LightGallery.prototype.manageSwipeClass = function () { + var _touchNext = this.index + 1; + var _touchPrev = this.index - 1; + if (this.settings.loop && this.galleryItems.length > 2) { + if (this.index === 0) { + _touchPrev = this.galleryItems.length - 1; + } + else if (this.index === this.galleryItems.length - 1) { + _touchNext = 0; + } + } + this.outer.find('.lg-item').removeClass('lg-next-slide lg-prev-slide'); + if (_touchPrev > -1) { + this.getSlideItem(_touchPrev).addClass('lg-prev-slide'); + } + this.getSlideItem(_touchNext).addClass('lg-next-slide'); + }; + /** + * 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 + */ + LightGallery.prototype.goToNextSlide = function (fromTouch) { + var _this = this; + var _loop = this.settings.loop; + if (fromTouch && this.galleryItems.length < 3) { + _loop = false; + } + if (!this.lgBusy) { + if (this.index + 1 < this.galleryItems.length) { + this.index++; + this.LGel.trigger(lGEvents.beforeNextSlide, { + index: this.index, + }); + this.slide(this.index, !!fromTouch, false, 'next'); + } + else { + if (_loop) { + this.index = 0; + this.LGel.trigger(lGEvents.beforeNextSlide, { + index: this.index, + }); + this.slide(this.index, !!fromTouch, false, 'next'); + } + else if (this.settings.slideEndAnimation && !fromTouch) { + this.outer.addClass('lg-right-end'); + setTimeout(function () { + _this.outer.removeClass('lg-right-end'); + }, 400); + } + } + } + }; + /** + * 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 + * + */ + LightGallery.prototype.goToPrevSlide = function (fromTouch) { + var _this = this; + var _loop = this.settings.loop; + if (fromTouch && this.galleryItems.length < 3) { + _loop = false; + } + if (!this.lgBusy) { + if (this.index > 0) { + this.index--; + this.LGel.trigger(lGEvents.beforePrevSlide, { + index: this.index, + fromTouch: fromTouch, + }); + this.slide(this.index, !!fromTouch, false, 'prev'); + } + else { + if (_loop) { + this.index = this.galleryItems.length - 1; + this.LGel.trigger(lGEvents.beforePrevSlide, { + index: this.index, + fromTouch: fromTouch, + }); + this.slide(this.index, !!fromTouch, false, 'prev'); + } + else if (this.settings.slideEndAnimation && !fromTouch) { + this.outer.addClass('lg-left-end'); + setTimeout(function () { + _this.outer.removeClass('lg-left-end'); + }, 400); + } + } + } + }; + LightGallery.prototype.keyPress = function () { + var _this = this; + $LG(window).on("keydown.lg.global" + this.lgId, function (e) { + if (_this.lgOpened && + _this.settings.escKey === true && + e.keyCode === 27) { + e.preventDefault(); + if (_this.settings.allowMediaOverlap && + _this.outer.hasClass('lg-can-toggle') && + _this.outer.hasClass('lg-components-open')) { + _this.outer.removeClass('lg-components-open'); + } + else { + _this.closeGallery(); + } + } + if (_this.lgOpened && _this.galleryItems.length > 1) { + if (e.keyCode === 37) { + e.preventDefault(); + _this.goToPrevSlide(); + } + if (e.keyCode === 39) { + e.preventDefault(); + _this.goToNextSlide(); + } + } + }); + }; + LightGallery.prototype.arrow = function () { + var _this = this; + this.getElementById('lg-prev').on('click.lg', function () { + _this.goToPrevSlide(); + }); + this.getElementById('lg-next').on('click.lg', function () { + _this.goToNextSlide(); + }); + }; + LightGallery.prototype.arrowDisable = function (index) { + // Disable arrows if settings.hideControlOnEnd is true + if (!this.settings.loop && this.settings.hideControlOnEnd) { + var $prev = this.getElementById('lg-prev'); + var $next = this.getElementById('lg-next'); + if (index + 1 === this.galleryItems.length) { + $next.attr('disabled', 'disabled').addClass('disabled'); + } + else { + $next.removeAttr('disabled').removeClass('disabled'); + } + if (index === 0) { + $prev.attr('disabled', 'disabled').addClass('disabled'); + } + else { + $prev.removeAttr('disabled').removeClass('disabled'); + } + } + }; + LightGallery.prototype.setTranslate = function ($el, xValue, yValue, scaleX, scaleY) { + if (scaleX === void 0) { scaleX = 1; } + if (scaleY === void 0) { scaleY = 1; } + $el.css('transform', 'translate3d(' + + xValue + + 'px, ' + + yValue + + 'px, 0px) scale3d(' + + scaleX + + ', ' + + scaleY + + ', 1)'); + }; + LightGallery.prototype.mousewheel = function () { + var _this = this; + var lastCall = 0; + this.outer.on('wheel.lg', function (e) { + if (!e.deltaY || _this.galleryItems.length < 2) { + return; + } + e.preventDefault(); + var now = new Date().getTime(); + if (now - lastCall < 1000) { + return; + } + lastCall = now; + if (e.deltaY > 0) { + _this.goToNextSlide(); + } + else if (e.deltaY < 0) { + _this.goToPrevSlide(); + } + }); + }; + LightGallery.prototype.isSlideElement = function (target) { + return (target.hasClass('lg-outer') || + target.hasClass('lg-item') || + target.hasClass('lg-img-wrap') || + target.hasClass('lg-img-rotate')); + }; + LightGallery.prototype.isPosterElement = function (target) { + var playButton = this.getSlideItem(this.index) + .find('.lg-video-play-button') + .get(); + return (target.hasClass('lg-video-poster') || + target.hasClass('lg-video-play-button') || + (playButton && playButton.contains(target.get()))); + }; + /** + * Maximize minimize inline gallery. + * @category lGPublicMethods + */ + LightGallery.prototype.toggleMaximize = function () { + var _this = this; + this.getElementById('lg-maximize').on('click.lg', function () { + _this.$container.toggleClass('lg-inline'); + _this.refreshOnResize(); + }); + }; + LightGallery.prototype.invalidateItems = function () { + for (var index = 0; index < this.items.length; index++) { + var element = this.items[index]; + var $element = $LG(element); + $element.off("click.lgcustom-item-" + $element.attr('data-lg-id')); + } + }; + LightGallery.prototype.trapFocus = function () { + var _this = this; + this.$container.get().focus({ + preventScroll: true, + }); + $LG(window).on("keydown.lg.global" + this.lgId, function (e) { + if (!_this.lgOpened) { + return; + } + var isTabPressed = e.key === 'Tab' || e.keyCode === 9; + if (!isTabPressed) { + return; + } + var focusableEls = utils.getFocusableElements(_this.$container.get()); + var firstFocusableEl = focusableEls[0]; + var lastFocusableEl = focusableEls[focusableEls.length - 1]; + if (e.shiftKey) { + if (document.activeElement === firstFocusableEl) { + lastFocusableEl.focus(); + e.preventDefault(); + } + } + else { + if (document.activeElement === lastFocusableEl) { + firstFocusableEl.focus(); + e.preventDefault(); + } + } + }); + }; + LightGallery.prototype.manageCloseGallery = function () { + var _this = this; + if (!this.settings.closable) + return; + var mousedown = false; + this.getElementById('lg-close').on('click.lg', function () { + _this.closeGallery(); + }); + if (this.settings.closeOnTap) { + // If you drag the slide and release outside gallery gets close on chrome + // for preventing this check mousedown and mouseup happened on .lg-item or lg-outer + this.outer.on('mousedown.lg', function (e) { + var target = $LG(e.target); + if (_this.isSlideElement(target)) { + mousedown = true; + } + else { + mousedown = false; + } + }); + this.outer.on('mousemove.lg', function () { + mousedown = false; + }); + this.outer.on('mouseup.lg', function (e) { + var target = $LG(e.target); + if (_this.isSlideElement(target) && mousedown) { + if (!_this.outer.hasClass('lg-dragging')) { + _this.closeGallery(); + } + } + }); + } + }; + /** + * 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(); + * + */ + LightGallery.prototype.closeGallery = function (force) { + var _this = this; + if (!this.lgOpened || (!this.settings.closable && !force)) { + return 0; + } + this.LGel.trigger(lGEvents.beforeClose); + if (this.settings.resetScrollPosition && !this.settings.hideScrollbar) { + $LG(window).scrollTop(this.prevScrollTop); + } + var currentItem = this.items[this.index]; + var transform; + if (this.zoomFromOrigin && currentItem) { + var _a = this.mediaContainerPosition, top_4 = _a.top, bottom = _a.bottom; + var _b = this.galleryItems[this.index], __slideVideoInfo = _b.__slideVideoInfo, poster = _b.poster; + var imageSize = utils.getSize(currentItem, this.outer, top_4 + bottom, __slideVideoInfo && poster && this.settings.videoMaxSize); + transform = utils.getTransform(currentItem, this.outer, top_4, bottom, imageSize); + } + if (this.zoomFromOrigin && transform) { + this.outer.addClass('lg-closing lg-zoom-from-image'); + this.getSlideItem(this.index) + .addClass('lg-start-end-progress') + .css('transition-duration', this.settings.startAnimationDuration + 'ms') + .css('transform', transform); + } + else { + this.outer.addClass('lg-hide-items'); + // lg-zoom-from-image is used for setting the opacity to 1 if zoomFromOrigin is true + // If the closing item doesn't have the lg-size attribute, remove this class to avoid the closing css conflicts + this.outer.removeClass('lg-zoom-from-image'); + } + // Unbind all events added by lightGallery + // @todo + //this.$el.off('.lg.tm'); + this.destroyModules(); + this.lGalleryOn = false; + this.isDummyImageRemoved = false; + this.zoomFromOrigin = this.settings.zoomFromOrigin; + clearTimeout(this.hideBarTimeout); + this.hideBarTimeout = false; + $LG('html').removeClass('lg-on'); + this.outer.removeClass('lg-visible lg-components-open'); + // Resetting opacity to 0 isd required as vertical swipe to close function adds inline opacity. + this.$backdrop.removeClass('in').css('opacity', 0); + var removeTimeout = this.zoomFromOrigin && transform + ? Math.max(this.settings.startAnimationDuration, this.settings.backdropDuration) + : this.settings.backdropDuration; + this.$container.removeClass('lg-show-in'); + // Once the closign animation is completed and gallery is invisible + setTimeout(function () { + if (_this.zoomFromOrigin && transform) { + _this.outer.removeClass('lg-zoom-from-image'); + } + _this.$container.removeClass('lg-show'); + // Reset scrollbar + _this.resetScrollBar(); + // Need to remove inline opacity as it is used in the stylesheet as well + _this.$backdrop + .removeAttr('style') + .css('transition-duration', _this.settings.backdropDuration + 'ms'); + _this.outer.removeClass("lg-closing " + _this.settings.startClass); + _this.getSlideItem(_this.index).removeClass('lg-start-end-progress'); + _this.$inner.empty(); + if (_this.lgOpened) { + _this.LGel.trigger(lGEvents.afterClose, { + instance: _this, + }); + } + if (_this.$container.get()) { + _this.$container.get().blur(); + } + _this.lgOpened = false; + }, removeTimeout + 100); + return removeTimeout + 100; + }; + LightGallery.prototype.initModules = function () { + this.plugins.forEach(function (module) { + try { + module.init(); + } + catch (err) { + console.warn("lightGallery:- make sure lightGallery module is properly initiated"); + } + }); + }; + LightGallery.prototype.destroyModules = function (destroy) { + this.plugins.forEach(function (module) { + try { + if (destroy) { + module.destroy(); + } + else { + module.closeGallery && module.closeGallery(); + } + } + catch (err) { + console.warn("lightGallery:- make sure lightGallery module is properly destroyed"); + } + }); + }; + /** + * 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(); + * + */ + LightGallery.prototype.refresh = function (galleryItems) { + if (!this.settings.dynamic) { + this.invalidateItems(); + } + if (galleryItems) { + this.galleryItems = galleryItems; + } + else { + this.galleryItems = this.getItems(); + } + this.updateControls(); + this.openGalleryOnItemClick(); + this.LGel.trigger(lGEvents.updateSlides); + }; + LightGallery.prototype.updateControls = function () { + this.addSlideVideoInfo(this.galleryItems); + this.updateCounterTotal(); + this.manageSingleSlideClassName(); + }; + LightGallery.prototype.destroyGallery = function () { + this.destroyModules(true); + if (!this.settings.dynamic) { + this.invalidateItems(); + } + $LG(window).off(".lg.global" + this.lgId); + this.LGel.off('.lg'); + this.$container.remove(); + }; + /** + * 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(); + * + */ + LightGallery.prototype.destroy = function () { + var closeTimeout = this.closeGallery(true); + if (closeTimeout) { + setTimeout(this.destroyGallery.bind(this), closeTimeout); + } + else { + this.destroyGallery(); + } + return closeTimeout; + }; + return LightGallery; + }()); + + function lightGallery(el, options) { + return new LightGallery(el, options); + } + + return lightGallery; + +}))); +//# sourceMappingURL=lightgallery.umd.js.map + +; +/*! + * lightgallery | 2.8.0-beta.3 | May 3rd 2024 + * http://www.lightgalleryjs.com/ + * Copyright (c) 2020 Sachin Neravath; + * @license GPLv3 + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.lgVideo = factory()); +}(this, (function () { 'use strict'; + + /*! ***************************************************************************** + 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); + }; + + var videoSettings = { + autoplayFirstVideo: true, + youTubePlayerParams: false, + vimeoPlayerParams: false, + wistiaPlayerParams: false, + gotoNextSlideOnVideoEnd: true, + autoplayVideoOnSlide: false, + videojs: false, + videojsTheme: '', + videojsOptions: {}, + }; + + /** + * 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 param = function (obj) { + return Object.keys(obj) + .map(function (k) { + return encodeURIComponent(k) + '=' + encodeURIComponent(obj[k]); + }) + .join('&'); + }; + var paramsToObject = function (url) { + var paramas = url + .slice(1) + .split('&') + .map(function (p) { return p.split('='); }) + .reduce(function (obj, pair) { + var _a = pair.map(decodeURIComponent), key = _a[0], value = _a[1]; + obj[key] = value; + return obj; + }, {}); + return paramas; + }; + var getYouTubeParams = function (videoInfo, youTubePlayerParamsSettings) { + if (!videoInfo.youtube) + return ''; + var slideUrlParams = videoInfo.youtube[2] + ? paramsToObject(videoInfo.youtube[2]) + : ''; + // For youtube first params gets priority if duplicates found + var defaultYouTubePlayerParams = { + wmode: 'opaque', + autoplay: 0, + mute: 1, + enablejsapi: 1, + }; + var playerParamsSettings = youTubePlayerParamsSettings || {}; + var youTubePlayerParams = __assign(__assign(__assign({}, defaultYouTubePlayerParams), playerParamsSettings), slideUrlParams); + var youTubeParams = "?" + param(youTubePlayerParams); + return youTubeParams; + }; + var isYouTubeNoCookie = function (url) { + return url.includes('youtube-nocookie.com'); + }; + var getVimeoURLParams = function (defaultParams, videoInfo) { + if (!videoInfo || !videoInfo.vimeo) + return ''; + var urlParams = videoInfo.vimeo[2] || ''; + var defaultVimeoPlayerParams = Object.assign({}, { + autoplay: 0, + muted: 1, + }, defaultParams); + var defaultPlayerParams = defaultVimeoPlayerParams && + Object.keys(defaultVimeoPlayerParams).length !== 0 + ? param(defaultVimeoPlayerParams) + : ''; + // Support private video + var urlWithHash = videoInfo.vimeo[0].split('/').pop() || ''; + var urlWithHashWithParams = urlWithHash.split('?')[0] || ''; + var hash = urlWithHashWithParams.split('#')[0]; + var isPrivate = videoInfo.vimeo[1] !== hash; + if (isPrivate) { + urlParams = urlParams.replace("/" + hash, ''); + } + urlParams = + urlParams[0] == '?' ? '&' + urlParams.slice(1) : urlParams || ''; + var privateUrlParams = isPrivate ? "h=" + hash : ''; + defaultPlayerParams = privateUrlParams + ? "&" + defaultPlayerParams + : defaultPlayerParams; + var vimeoPlayerParams = "?" + privateUrlParams + defaultPlayerParams + urlParams; + return vimeoPlayerParams; + }; + + /** + * Video module for lightGallery + * Supports HTML5, YouTube, Vimeo, wistia videos + * + * + * @ref Wistia + * https://wistia.com/support/integrations/wordpress(How to get url) + * https://wistia.com/support/developers/embed-options#using-embed-options + * https://wistia.com/support/developers/player-api + * https://wistia.com/support/developers/construct-an-embed-code + * http://jsfiddle.net/xvnm7xLm/ + * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video + * https://wistia.com/support/embed-and-share/sharing-videos + * https://private-sharing.wistia.com/medias/mwhrulrucj + * + * @ref Youtube + * https://developers.google.com/youtube/player_parameters#enablejsapi + * https://developers.google.com/youtube/iframe_api_reference + * https://developer.chrome.com/blog/autoplay/#iframe-delegation + * + * @ref Vimeo + * https://stackoverflow.com/questions/10488943/easy-way-to-get-vimeo-id-from-a-vimeo-url + * https://vimeo.zendesk.com/hc/en-us/articles/360000121668-Starting-playback-at-a-specific-timecode + * https://vimeo.zendesk.com/hc/en-us/articles/360001494447-Using-Player-Parameters + */ + var Video = /** @class */ (function () { + function Video(instance) { + // get lightGallery core plugin instance + this.core = instance; + this.settings = __assign(__assign({}, videoSettings), this.core.settings); + return this; + } + Video.prototype.init = function () { + var _this = this; + /** + * Event triggered when video url found without poster + * Append video HTML + * Play if autoplayFirstVideo is true + */ + this.core.LGel.on(lGEvents.hasVideo + ".video", this.onHasVideo.bind(this)); + this.core.LGel.on(lGEvents.posterClick + ".video", function () { + var $el = _this.core.getSlideItem(_this.core.index); + _this.loadVideoOnPosterClick($el); + }); + this.core.LGel.on(lGEvents.slideItemLoad + ".video", this.onSlideItemLoad.bind(this)); + // @desc fired immediately before each slide transition. + this.core.LGel.on(lGEvents.beforeSlide + ".video", this.onBeforeSlide.bind(this)); + // @desc fired immediately after each slide transition. + this.core.LGel.on(lGEvents.afterSlide + ".video", this.onAfterSlide.bind(this)); + }; + /** + * @desc Event triggered when a slide is completely loaded + * + * @param {Event} event - lightGalley custom event + */ + Video.prototype.onSlideItemLoad = function (event) { + var _this = this; + var _a = event.detail, isFirstSlide = _a.isFirstSlide, index = _a.index; + // Should check the active slide as well as user may have moved to different slide before the first slide is loaded + if (this.settings.autoplayFirstVideo && + isFirstSlide && + index === this.core.index) { + // Delay is just for the transition effect on video load + setTimeout(function () { + _this.loadAndPlayVideo(index); + }, 200); + } + // Should not call on first slide. should check only if the slide is active + if (!isFirstSlide && + this.settings.autoplayVideoOnSlide && + index === this.core.index) { + this.loadAndPlayVideo(index); + } + }; + /** + * @desc Event triggered when video url or poster found + * Append video HTML is poster is not given + * Play if autoplayFirstVideo is true + * + * @param {Event} event - Javascript Event object. + */ + Video.prototype.onHasVideo = function (event) { + var _a = event.detail, index = _a.index, src = _a.src, html5Video = _a.html5Video, hasPoster = _a.hasPoster; + if (!hasPoster) { + // All functions are called separately if poster exist in loadVideoOnPosterClick function + this.appendVideos(this.core.getSlideItem(index), { + src: src, + addClass: 'lg-object', + index: index, + html5Video: html5Video, + }); + // Automatically navigate to next slide once video reaches the end. + this.gotoNextSlideOnVideoEnd(src, index); + } + }; + /** + * @desc fired immediately before each slide transition. + * Pause the previous video + * Hide the download button if the slide contains YouTube, Vimeo, or Wistia videos. + * + * @param {Event} event - Javascript Event object. + * @param {number} prevIndex - Previous index of the slide. + * @param {number} index - Current index of the slide + */ + Video.prototype.onBeforeSlide = function (event) { + if (this.core.lGalleryOn) { + var prevIndex = event.detail.prevIndex; + this.pauseVideo(prevIndex); + } + }; + /** + * @desc fired immediately after each slide transition. + * Play video if autoplayVideoOnSlide option is enabled. + * + * @param {Event} event - Javascript Event object. + * @param {number} prevIndex - Previous index of the slide. + * @param {number} index - Current index of the slide + * @todo should check on onSlideLoad as well if video is not loaded on after slide + */ + Video.prototype.onAfterSlide = function (event) { + var _this = this; + var _a = event.detail, index = _a.index, prevIndex = _a.prevIndex; + // Do not call on first slide + var $slide = this.core.getSlideItem(index); + if (this.settings.autoplayVideoOnSlide && index !== prevIndex) { + if ($slide.hasClass('lg-complete')) { + setTimeout(function () { + _this.loadAndPlayVideo(index); + }, 100); + } + } + }; + Video.prototype.loadAndPlayVideo = function (index) { + var $slide = this.core.getSlideItem(index); + var currentGalleryItem = this.core.galleryItems[index]; + if (currentGalleryItem.poster) { + this.loadVideoOnPosterClick($slide, true); + } + else { + this.playVideo(index); + } + }; + /** + * Play HTML5, Youtube, Vimeo or Wistia videos in a particular slide. + * @param {number} index - Index of the slide + */ + Video.prototype.playVideo = function (index) { + this.controlVideo(index, 'play'); + }; + /** + * Pause HTML5, Youtube, Vimeo or Wistia videos in a particular slide. + * @param {number} index - Index of the slide + */ + Video.prototype.pauseVideo = function (index) { + this.controlVideo(index, 'pause'); + }; + Video.prototype.getVideoHtml = function (src, addClass, index, html5Video) { + var video = ''; + var videoInfo = this.core.galleryItems[index] + .__slideVideoInfo || {}; + var currentGalleryItem = this.core.galleryItems[index]; + var videoTitle = currentGalleryItem.title || currentGalleryItem.alt; + videoTitle = videoTitle ? 'title="' + videoTitle + '"' : ''; + var commonIframeProps = "allowtransparency=\"true\"\n frameborder=\"0\"\n scrolling=\"no\"\n allowfullscreen\n mozallowfullscreen\n webkitallowfullscreen\n oallowfullscreen\n msallowfullscreen"; + if (videoInfo.youtube) { + var videoId = 'lg-youtube' + index; + var youTubeParams = getYouTubeParams(videoInfo, this.settings.youTubePlayerParams); + var isYouTubeNoCookieURL = isYouTubeNoCookie(src); + var youtubeURL = isYouTubeNoCookieURL + ? '//www.youtube-nocookie.com/' + : '//www.youtube.com/'; + video = ""; + } + else if (videoInfo.vimeo) { + var videoId = 'lg-vimeo' + index; + var playerParams = getVimeoURLParams(this.settings.vimeoPlayerParams, videoInfo); + video = ""; + } + else if (videoInfo.wistia) { + var wistiaId = 'lg-wistia' + index; + var playerParams = param(this.settings.wistiaPlayerParams); + playerParams = playerParams ? '?' + playerParams : ''; + video = ""; + } + else if (videoInfo.html5) { + var html5VideoMarkup = ''; + for (var i = 0; i < html5Video.source.length; i++) { + var type = html5Video.source[i].type; + var typeAttr = type ? "type=\"" + type + "\"" : ''; + html5VideoMarkup += ""; + } + if (html5Video.tracks) { + var _loop_1 = function (i) { + var trackAttributes = ''; + var track = html5Video.tracks[i]; + Object.keys(track || {}).forEach(function (key) { + trackAttributes += key + "=\"" + track[key] + "\" "; + }); + html5VideoMarkup += ""; + }; + for (var i = 0; i < html5Video.tracks.length; i++) { + _loop_1(i); + } + } + var html5VideoAttrs_1 = ''; + var videoAttributes_1 = html5Video.attributes || {}; + Object.keys(videoAttributes_1 || {}).forEach(function (key) { + html5VideoAttrs_1 += key + "=\"" + videoAttributes_1[key] + "\" "; + }); + video = ""; + } + return video; + }; + /** + * @desc - Append videos to the slide + * + * @param {HTMLElement} el - slide element + * @param {Object} videoParams - Video parameters, Contains src, class, index, htmlVideo + */ + Video.prototype.appendVideos = function (el, videoParams) { + var _a; + var videoHtml = this.getVideoHtml(videoParams.src, videoParams.addClass, videoParams.index, videoParams.html5Video); + el.find('.lg-video-cont').append(videoHtml); + var $videoElement = el.find('.lg-video-object').first(); + if (videoParams.html5Video) { + $videoElement.on('mousedown.lg.video', function (e) { + e.stopPropagation(); + }); + } + if (this.settings.videojs && ((_a = this.core.galleryItems[videoParams.index].__slideVideoInfo) === null || _a === void 0 ? void 0 : _a.html5)) { + try { + return videojs($videoElement.get(), this.settings.videojsOptions); + } + catch (e) { + console.error('lightGallery:- Make sure you have included videojs'); + } + } + }; + Video.prototype.gotoNextSlideOnVideoEnd = function (src, index) { + var _this = this; + var $videoElement = this.core + .getSlideItem(index) + .find('.lg-video-object') + .first(); + var videoInfo = this.core.galleryItems[index].__slideVideoInfo || {}; + if (this.settings.gotoNextSlideOnVideoEnd) { + if (videoInfo.html5) { + $videoElement.on('ended', function () { + _this.core.goToNextSlide(); + }); + } + else if (videoInfo.vimeo) { + try { + // https://github.com/vimeo/player.js/#ended + new Vimeo.Player($videoElement.get()).on('ended', function () { + _this.core.goToNextSlide(); + }); + } + catch (e) { + console.error('lightGallery:- Make sure you have included //github.com/vimeo/player.js'); + } + } + else if (videoInfo.wistia) { + try { + window._wq = window._wq || []; + // @todo Event is gettign triggered multiple times + window._wq.push({ + id: $videoElement.attr('id'), + onReady: function (video) { + video.bind('end', function () { + _this.core.goToNextSlide(); + }); + }, + }); + } + catch (e) { + console.error('lightGallery:- Make sure you have included //fast.wistia.com/assets/external/E-v1.js'); + } + } + } + }; + Video.prototype.controlVideo = function (index, action) { + var $videoElement = this.core + .getSlideItem(index) + .find('.lg-video-object') + .first(); + var videoInfo = this.core.galleryItems[index].__slideVideoInfo || {}; + if (!$videoElement.get()) + return; + if (videoInfo.youtube) { + try { + $videoElement.get().contentWindow.postMessage("{\"event\":\"command\",\"func\":\"" + action + "Video\",\"args\":\"\"}", '*'); + } + catch (e) { + console.error("lightGallery:- " + e); + } + } + else if (videoInfo.vimeo) { + try { + new Vimeo.Player($videoElement.get())[action](); + } + catch (e) { + console.error('lightGallery:- Make sure you have included //github.com/vimeo/player.js'); + } + } + else if (videoInfo.html5) { + if (this.settings.videojs) { + try { + videojs($videoElement.get())[action](); + } + catch (e) { + console.error('lightGallery:- Make sure you have included videojs'); + } + } + else { + $videoElement.get()[action](); + } + } + else if (videoInfo.wistia) { + try { + window._wq = window._wq || []; + // @todo Find a way to destroy wistia player instance + window._wq.push({ + id: $videoElement.attr('id'), + onReady: function (video) { + video[action](); + }, + }); + } + catch (e) { + console.error('lightGallery:- Make sure you have included //fast.wistia.com/assets/external/E-v1.js'); + } + } + }; + Video.prototype.loadVideoOnPosterClick = function ($el, forcePlay) { + var _this = this; + // check slide has poster + if (!$el.hasClass('lg-video-loaded')) { + // check already video element present + if (!$el.hasClass('lg-has-video')) { + $el.addClass('lg-has-video'); + var _html = void 0; + var _src = this.core.galleryItems[this.core.index].src; + var video = this.core.galleryItems[this.core.index].video; + if (video) { + _html = + typeof video === 'string' ? JSON.parse(video) : video; + } + var videoJsPlayer_1 = this.appendVideos($el, { + src: _src, + addClass: '', + index: this.core.index, + html5Video: _html, + }); + this.gotoNextSlideOnVideoEnd(_src, this.core.index); + var $tempImg = $el.find('.lg-object').first().get(); + // @todo make sure it is working + $el.find('.lg-video-cont').first().append($tempImg); + $el.addClass('lg-video-loading'); + videoJsPlayer_1 && + videoJsPlayer_1.ready(function () { + videoJsPlayer_1.on('loadedmetadata', function () { + _this.onVideoLoadAfterPosterClick($el, _this.core.index); + }); + }); + $el.find('.lg-video-object') + .first() + .on('load.lg error.lg loadedmetadata.lg', function () { + setTimeout(function () { + _this.onVideoLoadAfterPosterClick($el, _this.core.index); + }, 50); + }); + } + else { + this.playVideo(this.core.index); + } + } + else if (forcePlay) { + this.playVideo(this.core.index); + } + }; + Video.prototype.onVideoLoadAfterPosterClick = function ($el, index) { + $el.addClass('lg-video-loaded'); + this.playVideo(index); + }; + Video.prototype.destroy = function () { + this.core.LGel.off('.lg.video'); + this.core.LGel.off('.video'); + }; + return Video; + }()); + + return Video; + +}))); +//# sourceMappingURL=lg-video.umd.js.map + +; +/*! + * lightgallery | 2.8.0-beta.3 | May 3rd 2024 + * http://www.lightgalleryjs.com/ + * Copyright (c) 2020 Sachin Neravath; + * @license GPLv3 + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.lgFullscreen = factory()); +}(this, (function () { 'use strict'; + + /*! ***************************************************************************** + 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); + }; + + var fullscreenSettings = { + fullScreen: true, + fullscreenPluginStrings: { + toggleFullscreen: 'Toggle Fullscreen', + }, + }; + + var FullScreen = /** @class */ (function () { + function FullScreen(instance, $LG) { + // get lightGallery core plugin instance + this.core = instance; + this.$LG = $LG; + // extend module default settings with lightGallery core settings + this.settings = __assign(__assign({}, fullscreenSettings), this.core.settings); + return this; + } + FullScreen.prototype.init = function () { + var fullScreen = ''; + if (this.settings.fullScreen) { + // check for fullscreen browser support + if (!document.fullscreenEnabled && + !document.webkitFullscreenEnabled && + !document.mozFullScreenEnabled && + !document.msFullscreenEnabled) { + return; + } + else { + fullScreen = ""; + this.core.$toolbar.append(fullScreen); + this.fullScreen(); + } + } + }; + FullScreen.prototype.isFullScreen = function () { + return (document.fullscreenElement || + document.mozFullScreenElement || + document.webkitFullscreenElement || + document.msFullscreenElement); + }; + FullScreen.prototype.requestFullscreen = function () { + var el = document.documentElement; + if (el.requestFullscreen) { + el.requestFullscreen(); + } + else if (el.msRequestFullscreen) { + el.msRequestFullscreen(); + } + else if (el.mozRequestFullScreen) { + el.mozRequestFullScreen(); + } + else if (el.webkitRequestFullscreen) { + el.webkitRequestFullscreen(); + } + }; + FullScreen.prototype.exitFullscreen = function () { + if (document.exitFullscreen) { + document.exitFullscreen(); + } + else if (document.msExitFullscreen) { + document.msExitFullscreen(); + } + else if (document.mozCancelFullScreen) { + document.mozCancelFullScreen(); + } + else if (document.webkitExitFullscreen) { + document.webkitExitFullscreen(); + } + }; + // https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Using_full_screen_mode + FullScreen.prototype.fullScreen = function () { + var _this = this; + this.$LG(document).on("fullscreenchange.lg.global" + this.core.lgId + " \n webkitfullscreenchange.lg.global" + this.core.lgId + " \n mozfullscreenchange.lg.global" + this.core.lgId + " \n MSFullscreenChange.lg.global" + this.core.lgId, function () { + if (!_this.core.lgOpened) + return; + _this.core.outer.toggleClass('lg-fullscreen-on'); + }); + this.core.outer + .find('.lg-fullscreen') + .first() + .on('click.lg', function () { + if (_this.isFullScreen()) { + _this.exitFullscreen(); + } + else { + _this.requestFullscreen(); + } + }); + }; + FullScreen.prototype.closeGallery = function () { + // exit from fullscreen if activated + if (this.isFullScreen()) { + this.exitFullscreen(); + } + }; + FullScreen.prototype.destroy = function () { + this.$LG(document).off("fullscreenchange.lg.global" + this.core.lgId + " \n webkitfullscreenchange.lg.global" + this.core.lgId + " \n mozfullscreenchange.lg.global" + this.core.lgId + " \n MSFullscreenChange.lg.global" + this.core.lgId); + }; + return FullScreen; + }()); + + return FullScreen; + +}))); +//# sourceMappingURL=lg-fullscreen.umd.js.map + +; +/*! + * lightgallery | 2.8.0-beta.3 | May 3rd 2024 + * http://www.lightgalleryjs.com/ + * Copyright (c) 2020 Sachin Neravath; + * @license GPLv3 + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.lgZoom = factory()); +}(this, (function () { 'use strict'; + + /*! ***************************************************************************** + 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); + }; + + var zoomSettings = { + scale: 1, + zoom: true, + infiniteZoom: true, + actualSize: true, + showZoomInOutIcons: false, + actualSizeIcons: { + zoomIn: 'lg-zoom-in', + zoomOut: 'lg-zoom-out', + }, + enableZoomAfter: 300, + zoomPluginStrings: { + zoomIn: 'Zoom in', + zoomOut: 'Zoom out', + viewActualSize: 'View actual size', + }, + }; + + /** + * 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 ZOOM_TRANSITION_DURATION = 500; + var Zoom = /** @class */ (function () { + function Zoom(instance, $LG) { + // get lightGallery core plugin instance + this.core = instance; + this.$LG = $LG; + this.settings = __assign(__assign({}, zoomSettings), this.core.settings); + return this; + } + // Append Zoom controls. Actual size, Zoom-in, Zoom-out + Zoom.prototype.buildTemplates = function () { + var zoomIcons = this.settings.showZoomInOutIcons + ? "" + : ''; + if (this.settings.actualSize) { + zoomIcons += ""; + } + this.core.outer.addClass('lg-use-transition-for-zoom'); + this.core.$toolbar.first().append(zoomIcons); + }; + /** + * @desc Enable zoom option only once the image is completely loaded + * If zoomFromOrigin is true, Zoom is enabled once the dummy image has been inserted + * + * Zoom styles are defined under lg-zoomable CSS class. + */ + Zoom.prototype.enableZoom = function (event) { + var _this = this; + // delay will be 0 except first time + var _speed = this.settings.enableZoomAfter + event.detail.delay; + // set _speed value 0 if gallery opened from direct url and if it is first slide + if (this.$LG('body').first().hasClass('lg-from-hash') && + event.detail.delay) { + // will execute only once + _speed = 0; + } + else { + // Remove lg-from-hash to enable starting animation. + this.$LG('body').first().removeClass('lg-from-hash'); + } + this.zoomableTimeout = setTimeout(function () { + if (!_this.isImageSlide(_this.core.index)) { + return; + } + _this.core.getSlideItem(event.detail.index).addClass('lg-zoomable'); + if (event.detail.index === _this.core.index) { + _this.setZoomEssentials(); + } + }, _speed + 30); + }; + Zoom.prototype.enableZoomOnSlideItemLoad = function () { + // Add zoomable class + this.core.LGel.on(lGEvents.slideItemLoad + ".zoom", this.enableZoom.bind(this)); + }; + Zoom.prototype.getDragCords = function (e) { + return { + x: e.pageX, + y: e.pageY, + }; + }; + Zoom.prototype.getSwipeCords = function (e) { + var x = e.touches[0].pageX; + var y = e.touches[0].pageY; + return { + x: x, + y: y, + }; + }; + Zoom.prototype.getDragAllowedAxises = function (scale, scaleDiff) { + if (!this.containerRect) { + return { + allowX: false, + allowY: false, + }; + } + var $image = this.core + .getSlideItem(this.core.index) + .find('.lg-image') + .first() + .get(); + var height = 0; + var width = 0; + var rect = $image.getBoundingClientRect(); + if (scale) { + height = $image.offsetHeight * scale; + width = $image.offsetWidth * scale; + } + else if (scaleDiff) { + height = rect.height + scaleDiff * rect.height; + width = rect.width + scaleDiff * rect.width; + } + else { + height = rect.height; + width = rect.width; + } + var allowY = height > this.containerRect.height; + var allowX = width > this.containerRect.width; + return { + allowX: allowX, + allowY: allowY, + }; + }; + Zoom.prototype.setZoomEssentials = function () { + this.containerRect = this.core.$content.get().getBoundingClientRect(); + }; + /** + * @desc Image zoom + * Translate the wrap and scale the image to get better user experience + * + * @param {String} scale - Zoom decrement/increment value + */ + Zoom.prototype.zoomImage = function (scale, scaleDiff, reposition, resetToMax) { + if (Math.abs(scaleDiff) <= 0) + return; + var offsetX = this.containerRect.width / 2 + this.containerRect.left; + var offsetY = this.containerRect.height / 2 + + this.containerRect.top + + this.scrollTop; + var originalX; + var originalY; + if (scale === 1) { + this.positionChanged = false; + } + var dragAllowedAxises = this.getDragAllowedAxises(0, scaleDiff); + var allowY = dragAllowedAxises.allowY, allowX = dragAllowedAxises.allowX; + if (this.positionChanged) { + originalX = this.left / (this.scale - scaleDiff); + originalY = this.top / (this.scale - scaleDiff); + this.pageX = offsetX - originalX; + this.pageY = offsetY - originalY; + this.positionChanged = false; + } + var possibleSwipeCords = this.getPossibleSwipeDragCords(scaleDiff); + var x; + var y; + var _x = offsetX - this.pageX; + var _y = offsetY - this.pageY; + if (scale - scaleDiff > 1) { + var scaleVal = (scale - scaleDiff) / Math.abs(scaleDiff); + _x = + (scaleDiff < 0 ? -_x : _x) + + this.left * (scaleVal + (scaleDiff < 0 ? -1 : 1)); + _y = + (scaleDiff < 0 ? -_y : _y) + + this.top * (scaleVal + (scaleDiff < 0 ? -1 : 1)); + x = _x / scaleVal; + y = _y / scaleVal; + } + else { + var scaleVal = (scale - scaleDiff) * scaleDiff; + x = _x * scaleVal; + y = _y * scaleVal; + } + if (reposition) { + if (allowX) { + if (this.isBeyondPossibleLeft(x, possibleSwipeCords.minX)) { + x = possibleSwipeCords.minX; + } + else if (this.isBeyondPossibleRight(x, possibleSwipeCords.maxX)) { + x = possibleSwipeCords.maxX; + } + } + else { + if (scale > 1) { + if (x < possibleSwipeCords.minX) { + x = possibleSwipeCords.minX; + } + else if (x > possibleSwipeCords.maxX) { + x = possibleSwipeCords.maxX; + } + } + } + // @todo fix this + if (allowY) { + if (this.isBeyondPossibleTop(y, possibleSwipeCords.minY)) { + y = possibleSwipeCords.minY; + } + else if (this.isBeyondPossibleBottom(y, possibleSwipeCords.maxY)) { + y = possibleSwipeCords.maxY; + } + } + else { + // If the translate value based on index of beyond the viewport, utilize the available space to prevent image being cut out + if (scale > 1) { + //If image goes beyond viewport top, use the minim possible translate value + if (y < possibleSwipeCords.minY) { + y = possibleSwipeCords.minY; + } + else if (y > possibleSwipeCords.maxY) { + y = possibleSwipeCords.maxY; + } + } + } + } + this.setZoomStyles({ + x: x, + y: y, + scale: scale, + }); + this.left = x; + this.top = y; + if (resetToMax) { + this.setZoomImageSize(); + } + }; + Zoom.prototype.resetImageTranslate = function (index) { + if (!this.isImageSlide(index)) { + return; + } + var $image = this.core.getSlideItem(index).find('.lg-image').first(); + this.imageReset = false; + $image.removeClass('reset-transition reset-transition-y reset-transition-x'); + this.core.outer.removeClass('lg-actual-size'); + $image.css('width', 'auto').css('height', 'auto'); + setTimeout(function () { + $image.removeClass('no-transition'); + }, 10); + }; + Zoom.prototype.setZoomImageSize = function () { + var _this = this; + var $image = this.core + .getSlideItem(this.core.index) + .find('.lg-image') + .first(); + setTimeout(function () { + var actualSizeScale = _this.getCurrentImageActualSizeScale(); + if (_this.scale >= actualSizeScale) { + $image.addClass('no-transition'); + _this.imageReset = true; + } + }, ZOOM_TRANSITION_DURATION); + setTimeout(function () { + var actualSizeScale = _this.getCurrentImageActualSizeScale(); + if (_this.scale >= actualSizeScale) { + var dragAllowedAxises = _this.getDragAllowedAxises(_this.scale); + $image + .css('width', $image.get().naturalWidth + 'px') + .css('height', $image.get().naturalHeight + 'px'); + _this.core.outer.addClass('lg-actual-size'); + if (dragAllowedAxises.allowX && dragAllowedAxises.allowY) { + $image.addClass('reset-transition'); + } + else if (dragAllowedAxises.allowX && + !dragAllowedAxises.allowY) { + $image.addClass('reset-transition-x'); + } + else if (!dragAllowedAxises.allowX && + dragAllowedAxises.allowY) { + $image.addClass('reset-transition-y'); + } + } + }, ZOOM_TRANSITION_DURATION + 50); + }; + /** + * @desc apply scale3d to image and translate to image wrap + * @param {style} X,Y and scale + */ + Zoom.prototype.setZoomStyles = function (style) { + var $imageWrap = this.core + .getSlideItem(this.core.index) + .find('.lg-img-wrap') + .first(); + var $image = this.core + .getSlideItem(this.core.index) + .find('.lg-image') + .first(); + var $dummyImage = this.core.outer + .find('.lg-current .lg-dummy-img') + .first(); + this.scale = style.scale; + $image.css('transform', 'scale3d(' + style.scale + ', ' + style.scale + ', 1)'); + $dummyImage.css('transform', 'scale3d(' + style.scale + ', ' + style.scale + ', 1)'); + var transform = 'translate3d(' + style.x + 'px, ' + style.y + 'px, 0)'; + $imageWrap.css('transform', transform); + }; + /** + * @param index - Index of the current slide + * @param event - event will be available only if the function is called on clicking/taping the imags + */ + Zoom.prototype.setActualSize = function (index, event) { + var _this = this; + if (this.zoomInProgress) { + return; + } + this.zoomInProgress = true; + var currentItem = this.core.galleryItems[this.core.index]; + this.resetImageTranslate(index); + setTimeout(function () { + // Allow zoom only on image + if (!currentItem.src || + _this.core.outer.hasClass('lg-first-slide-loading')) { + return; + } + var scale = _this.getCurrentImageActualSizeScale(); + var prevScale = _this.scale; + if (_this.core.outer.hasClass('lg-zoomed')) { + _this.scale = 1; + } + else { + _this.scale = _this.getScale(scale); + } + _this.setPageCords(event); + _this.beginZoom(_this.scale); + _this.zoomImage(_this.scale, _this.scale - prevScale, true, true); + }, 50); + setTimeout(function () { + _this.core.outer.removeClass('lg-grabbing').addClass('lg-grab'); + }, 60); + setTimeout(function () { + _this.zoomInProgress = false; + }, ZOOM_TRANSITION_DURATION + 110); + }; + Zoom.prototype.getNaturalWidth = function (index) { + var $image = this.core.getSlideItem(index).find('.lg-image').first(); + var naturalWidth = this.core.galleryItems[index].width; + return naturalWidth + ? parseFloat(naturalWidth) + : $image.get().naturalWidth; + }; + Zoom.prototype.getActualSizeScale = function (naturalWidth, width) { + var _scale; + var scale; + if (naturalWidth >= width) { + _scale = naturalWidth / width; + scale = _scale || 2; + } + else { + scale = 1; + } + return scale; + }; + Zoom.prototype.getCurrentImageActualSizeScale = function () { + var $image = this.core + .getSlideItem(this.core.index) + .find('.lg-image') + .first(); + var width = $image.get().offsetWidth; + var naturalWidth = this.getNaturalWidth(this.core.index) || width; + return this.getActualSizeScale(naturalWidth, width); + }; + Zoom.prototype.getPageCords = function (event) { + var cords = {}; + if (event) { + cords.x = event.pageX || event.touches[0].pageX; + cords.y = event.pageY || event.touches[0].pageY; + } + else { + var containerRect = this.core.$content + .get() + .getBoundingClientRect(); + cords.x = containerRect.width / 2 + containerRect.left; + cords.y = + containerRect.height / 2 + this.scrollTop + containerRect.top; + } + return cords; + }; + Zoom.prototype.setPageCords = function (event) { + var pageCords = this.getPageCords(event); + this.pageX = pageCords.x; + this.pageY = pageCords.y; + }; + Zoom.prototype.manageActualPixelClassNames = function () { + var $actualSize = this.core.getElementById('lg-actual-size'); + $actualSize + .removeClass(this.settings.actualSizeIcons.zoomIn) + .addClass(this.settings.actualSizeIcons.zoomOut); + }; + // If true, zoomed - in else zoomed out + Zoom.prototype.beginZoom = function (scale) { + this.core.outer.removeClass('lg-zoom-drag-transition lg-zoom-dragging'); + if (scale > 1) { + this.core.outer.addClass('lg-zoomed'); + this.manageActualPixelClassNames(); + } + else { + this.resetZoom(); + } + return scale > 1; + }; + Zoom.prototype.getScale = function (scale) { + var actualSizeScale = this.getCurrentImageActualSizeScale(); + if (scale < 1) { + scale = 1; + } + else if (scale > actualSizeScale) { + scale = actualSizeScale; + } + return scale; + }; + Zoom.prototype.init = function () { + var _this = this; + if (!this.settings.zoom) { + return; + } + this.buildTemplates(); + this.enableZoomOnSlideItemLoad(); + var tapped = null; + this.core.outer.on('dblclick.lg', function (event) { + if (!_this.$LG(event.target).hasClass('lg-image')) { + return; + } + _this.setActualSize(_this.core.index, event); + }); + this.core.outer.on('touchstart.lg', function (event) { + var $target = _this.$LG(event.target); + if (event.touches.length === 1 && $target.hasClass('lg-image')) { + if (!tapped) { + tapped = setTimeout(function () { + tapped = null; + }, 300); + } + else { + clearTimeout(tapped); + tapped = null; + event.preventDefault(); + _this.setActualSize(_this.core.index, event); + } + } + }); + this.core.LGel.on(lGEvents.containerResize + ".zoom " + lGEvents.rotateRight + ".zoom " + lGEvents.rotateLeft + ".zoom " + lGEvents.flipHorizontal + ".zoom " + lGEvents.flipVertical + ".zoom", function () { + if (!_this.core.lgOpened || + !_this.isImageSlide(_this.core.index) || + _this.core.touchAction) { + return; + } + var _LGel = _this.core + .getSlideItem(_this.core.index) + .find('.lg-img-wrap') + .first(); + _this.top = 0; + _this.left = 0; + _this.setZoomEssentials(); + _this.setZoomSwipeStyles(_LGel, { x: 0, y: 0 }); + _this.positionChanged = true; + }); + // Update zoom on resize and orientationchange + this.$LG(window).on("scroll.lg.zoom.global" + this.core.lgId, function () { + if (!_this.core.lgOpened) + return; + _this.scrollTop = _this.$LG(window).scrollTop(); + }); + this.core.getElementById('lg-zoom-out').on('click.lg', function () { + // Allow zoom only on image + if (!_this.isImageSlide(_this.core.index)) { + return; + } + var timeout = 0; + if (_this.imageReset) { + _this.resetImageTranslate(_this.core.index); + timeout = 50; + } + setTimeout(function () { + var scale = _this.scale - _this.settings.scale; + if (scale < 1) { + scale = 1; + } + _this.beginZoom(scale); + _this.zoomImage(scale, -_this.settings.scale, true, !_this.settings.infiniteZoom); + }, timeout); + }); + this.core.getElementById('lg-zoom-in').on('click.lg', function () { + _this.zoomIn(); + }); + this.core.getElementById('lg-actual-size').on('click.lg', function () { + _this.setActualSize(_this.core.index); + }); + this.core.LGel.on(lGEvents.beforeOpen + ".zoom", function () { + _this.core.outer.find('.lg-item').removeClass('lg-zoomable'); + }); + this.core.LGel.on(lGEvents.afterOpen + ".zoom", function () { + _this.scrollTop = _this.$LG(window).scrollTop(); + // Set the initial value center + _this.pageX = _this.core.outer.width() / 2; + _this.pageY = _this.core.outer.height() / 2 + _this.scrollTop; + _this.scale = 1; + }); + // Reset zoom on slide change + this.core.LGel.on(lGEvents.afterSlide + ".zoom", function (event) { + var prevIndex = event.detail.prevIndex; + _this.scale = 1; + _this.positionChanged = false; + _this.zoomInProgress = false; + _this.resetZoom(prevIndex); + _this.resetImageTranslate(prevIndex); + if (_this.isImageSlide(_this.core.index)) { + _this.setZoomEssentials(); + } + }); + // Drag option after zoom + this.zoomDrag(); + this.pinchZoom(); + this.zoomSwipe(); + // Store the zoomable timeout value just to clear it while closing + this.zoomableTimeout = false; + this.positionChanged = false; + this.zoomInProgress = false; + }; + Zoom.prototype.zoomIn = function () { + // Allow zoom only on image + if (!this.isImageSlide(this.core.index)) { + return; + } + var scale = this.scale + this.settings.scale; + if (!this.settings.infiniteZoom) { + scale = this.getScale(scale); + } + this.beginZoom(scale); + this.zoomImage(scale, Math.min(this.settings.scale, scale - this.scale), true, !this.settings.infiniteZoom); + }; + // Reset zoom effect + Zoom.prototype.resetZoom = function (index) { + this.core.outer.removeClass('lg-zoomed lg-zoom-drag-transition'); + var $actualSize = this.core.getElementById('lg-actual-size'); + var $item = this.core.getSlideItem(index !== undefined ? index : this.core.index); + $actualSize + .removeClass(this.settings.actualSizeIcons.zoomOut) + .addClass(this.settings.actualSizeIcons.zoomIn); + $item.find('.lg-img-wrap').first().removeAttr('style'); + $item.find('.lg-image').first().removeAttr('style'); + this.scale = 1; + this.left = 0; + this.top = 0; + // Reset pagx pagy values to center + this.setPageCords(); + }; + Zoom.prototype.getTouchDistance = function (e) { + return Math.sqrt((e.touches[0].pageX - e.touches[1].pageX) * + (e.touches[0].pageX - e.touches[1].pageX) + + (e.touches[0].pageY - e.touches[1].pageY) * + (e.touches[0].pageY - e.touches[1].pageY)); + }; + Zoom.prototype.pinchZoom = function () { + var _this = this; + var startDist = 0; + var pinchStarted = false; + var initScale = 1; + var prevScale = 0; + var $item = this.core.getSlideItem(this.core.index); + this.core.outer.on('touchstart.lg', function (e) { + $item = _this.core.getSlideItem(_this.core.index); + if (!_this.isImageSlide(_this.core.index)) { + return; + } + if (e.touches.length === 2) { + e.preventDefault(); + if (_this.core.outer.hasClass('lg-first-slide-loading')) { + return; + } + initScale = _this.scale || 1; + _this.core.outer.removeClass('lg-zoom-drag-transition lg-zoom-dragging'); + _this.setPageCords(e); + _this.resetImageTranslate(_this.core.index); + _this.core.touchAction = 'pinch'; + startDist = _this.getTouchDistance(e); + } + }); + this.core.$inner.on('touchmove.lg', function (e) { + if (e.touches.length === 2 && + _this.core.touchAction === 'pinch' && + (_this.$LG(e.target).hasClass('lg-item') || + $item.get().contains(e.target))) { + e.preventDefault(); + var endDist = _this.getTouchDistance(e); + var distance = startDist - endDist; + if (!pinchStarted && Math.abs(distance) > 5) { + pinchStarted = true; + } + if (pinchStarted) { + prevScale = _this.scale; + var _scale = Math.max(1, initScale + -distance * 0.02); + _this.scale = + Math.round((_scale + Number.EPSILON) * 100) / 100; + var diff = _this.scale - prevScale; + _this.zoomImage(_this.scale, Math.round((diff + Number.EPSILON) * 100) / 100, false, false); + } + } + }); + this.core.$inner.on('touchend.lg', function (e) { + if (_this.core.touchAction === 'pinch' && + (_this.$LG(e.target).hasClass('lg-item') || + $item.get().contains(e.target))) { + pinchStarted = false; + startDist = 0; + if (_this.scale <= 1) { + _this.resetZoom(); + } + else { + var actualSizeScale = _this.getCurrentImageActualSizeScale(); + if (_this.scale >= actualSizeScale) { + var scaleDiff = actualSizeScale - _this.scale; + if (scaleDiff === 0) { + scaleDiff = 0.01; + } + _this.zoomImage(actualSizeScale, scaleDiff, false, true); + } + _this.manageActualPixelClassNames(); + _this.core.outer.addClass('lg-zoomed'); + } + _this.core.touchAction = undefined; + } + }); + }; + Zoom.prototype.touchendZoom = function (startCoords, endCoords, allowX, allowY, touchDuration) { + var distanceXnew = endCoords.x - startCoords.x; + var distanceYnew = endCoords.y - startCoords.y; + var speedX = Math.abs(distanceXnew) / touchDuration + 1; + var speedY = Math.abs(distanceYnew) / touchDuration + 1; + if (speedX > 2) { + speedX += 1; + } + if (speedY > 2) { + speedY += 1; + } + distanceXnew = distanceXnew * speedX; + distanceYnew = distanceYnew * speedY; + var _LGel = this.core + .getSlideItem(this.core.index) + .find('.lg-img-wrap') + .first(); + var distance = {}; + distance.x = this.left + distanceXnew; + distance.y = this.top + distanceYnew; + var possibleSwipeCords = this.getPossibleSwipeDragCords(); + if (Math.abs(distanceXnew) > 15 || Math.abs(distanceYnew) > 15) { + if (allowY) { + if (this.isBeyondPossibleTop(distance.y, possibleSwipeCords.minY)) { + distance.y = possibleSwipeCords.minY; + } + else if (this.isBeyondPossibleBottom(distance.y, possibleSwipeCords.maxY)) { + distance.y = possibleSwipeCords.maxY; + } + } + if (allowX) { + if (this.isBeyondPossibleLeft(distance.x, possibleSwipeCords.minX)) { + distance.x = possibleSwipeCords.minX; + } + else if (this.isBeyondPossibleRight(distance.x, possibleSwipeCords.maxX)) { + distance.x = possibleSwipeCords.maxX; + } + } + if (allowY) { + this.top = distance.y; + } + else { + distance.y = this.top; + } + if (allowX) { + this.left = distance.x; + } + else { + distance.x = this.left; + } + this.setZoomSwipeStyles(_LGel, distance); + this.positionChanged = true; + } + }; + Zoom.prototype.getZoomSwipeCords = function (startCoords, endCoords, allowX, allowY, possibleSwipeCords) { + var distance = {}; + if (allowY) { + distance.y = this.top + (endCoords.y - startCoords.y); + if (this.isBeyondPossibleTop(distance.y, possibleSwipeCords.minY)) { + var diffMinY = possibleSwipeCords.minY - distance.y; + distance.y = possibleSwipeCords.minY - diffMinY / 6; + } + else if (this.isBeyondPossibleBottom(distance.y, possibleSwipeCords.maxY)) { + var diffMaxY = distance.y - possibleSwipeCords.maxY; + distance.y = possibleSwipeCords.maxY + diffMaxY / 6; + } + } + else { + distance.y = this.top; + } + if (allowX) { + distance.x = this.left + (endCoords.x - startCoords.x); + if (this.isBeyondPossibleLeft(distance.x, possibleSwipeCords.minX)) { + var diffMinX = possibleSwipeCords.minX - distance.x; + distance.x = possibleSwipeCords.minX - diffMinX / 6; + } + else if (this.isBeyondPossibleRight(distance.x, possibleSwipeCords.maxX)) { + var difMaxX = distance.x - possibleSwipeCords.maxX; + distance.x = possibleSwipeCords.maxX + difMaxX / 6; + } + } + else { + distance.x = this.left; + } + return distance; + }; + Zoom.prototype.isBeyondPossibleLeft = function (x, minX) { + return x >= minX; + }; + Zoom.prototype.isBeyondPossibleRight = function (x, maxX) { + return x <= maxX; + }; + Zoom.prototype.isBeyondPossibleTop = function (y, minY) { + return y >= minY; + }; + Zoom.prototype.isBeyondPossibleBottom = function (y, maxY) { + return y <= maxY; + }; + Zoom.prototype.isImageSlide = function (index) { + var currentItem = this.core.galleryItems[index]; + return this.core.getSlideType(currentItem) === 'image'; + }; + Zoom.prototype.getPossibleSwipeDragCords = function (scale) { + var $image = this.core + .getSlideItem(this.core.index) + .find('.lg-image') + .first(); + var bottom = this.core.mediaContainerPosition.bottom; + var imgRect = $image.get().getBoundingClientRect(); + var imageHeight = imgRect.height; + var imageWidth = imgRect.width; + if (scale) { + imageHeight = imageHeight + scale * imageHeight; + imageWidth = imageWidth + scale * imageWidth; + } + var minY = (imageHeight - this.containerRect.height) / 2; + var maxY = (this.containerRect.height - imageHeight) / 2 + bottom; + var minX = (imageWidth - this.containerRect.width) / 2; + var maxX = (this.containerRect.width - imageWidth) / 2; + var possibleSwipeCords = { + minY: minY, + maxY: maxY, + minX: minX, + maxX: maxX, + }; + return possibleSwipeCords; + }; + Zoom.prototype.setZoomSwipeStyles = function (LGel, distance) { + LGel.css('transform', 'translate3d(' + distance.x + 'px, ' + distance.y + 'px, 0)'); + }; + Zoom.prototype.zoomSwipe = function () { + var _this = this; + var startCoords = {}; + var endCoords = {}; + var isMoved = false; + // Allow x direction drag + var allowX = false; + // Allow Y direction drag + var allowY = false; + var startTime = new Date(); + var endTime = new Date(); + var possibleSwipeCords; + var _LGel; + var $item = this.core.getSlideItem(this.core.index); + this.core.$inner.on('touchstart.lg', function (e) { + // Allow zoom only on image + if (!_this.isImageSlide(_this.core.index)) { + return; + } + $item = _this.core.getSlideItem(_this.core.index); + if ((_this.$LG(e.target).hasClass('lg-item') || + $item.get().contains(e.target)) && + e.touches.length === 1 && + _this.core.outer.hasClass('lg-zoomed')) { + e.preventDefault(); + startTime = new Date(); + _this.core.touchAction = 'zoomSwipe'; + _LGel = _this.core + .getSlideItem(_this.core.index) + .find('.lg-img-wrap') + .first(); + var dragAllowedAxises = _this.getDragAllowedAxises(0); + allowY = dragAllowedAxises.allowY; + allowX = dragAllowedAxises.allowX; + if (allowX || allowY) { + startCoords = _this.getSwipeCords(e); + } + possibleSwipeCords = _this.getPossibleSwipeDragCords(); + // reset opacity and transition duration + _this.core.outer.addClass('lg-zoom-dragging lg-zoom-drag-transition'); + } + }); + this.core.$inner.on('touchmove.lg', function (e) { + if (e.touches.length === 1 && + _this.core.touchAction === 'zoomSwipe' && + (_this.$LG(e.target).hasClass('lg-item') || + $item.get().contains(e.target))) { + e.preventDefault(); + _this.core.touchAction = 'zoomSwipe'; + endCoords = _this.getSwipeCords(e); + var distance = _this.getZoomSwipeCords(startCoords, endCoords, allowX, allowY, possibleSwipeCords); + if (Math.abs(endCoords.x - startCoords.x) > 15 || + Math.abs(endCoords.y - startCoords.y) > 15) { + isMoved = true; + _this.setZoomSwipeStyles(_LGel, distance); + } + } + }); + this.core.$inner.on('touchend.lg', function (e) { + if (_this.core.touchAction === 'zoomSwipe' && + (_this.$LG(e.target).hasClass('lg-item') || + $item.get().contains(e.target))) { + e.preventDefault(); + _this.core.touchAction = undefined; + _this.core.outer.removeClass('lg-zoom-dragging'); + if (!isMoved) { + return; + } + isMoved = false; + endTime = new Date(); + var touchDuration = endTime.valueOf() - startTime.valueOf(); + _this.touchendZoom(startCoords, endCoords, allowX, allowY, touchDuration); + } + }); + }; + Zoom.prototype.zoomDrag = function () { + var _this = this; + var startCoords = {}; + var endCoords = {}; + var isDragging = false; + var isMoved = false; + // Allow x direction drag + var allowX = false; + // Allow Y direction drag + var allowY = false; + var startTime; + var endTime; + var possibleSwipeCords; + var _LGel; + this.core.outer.on('mousedown.lg.zoom', function (e) { + // Allow zoom only on image + if (!_this.isImageSlide(_this.core.index)) { + return; + } + var $item = _this.core.getSlideItem(_this.core.index); + if (_this.$LG(e.target).hasClass('lg-item') || + $item.get().contains(e.target)) { + startTime = new Date(); + _LGel = _this.core + .getSlideItem(_this.core.index) + .find('.lg-img-wrap') + .first(); + var dragAllowedAxises = _this.getDragAllowedAxises(0); + allowY = dragAllowedAxises.allowY; + allowX = dragAllowedAxises.allowX; + if (_this.core.outer.hasClass('lg-zoomed')) { + if (_this.$LG(e.target).hasClass('lg-object') && + (allowX || allowY)) { + e.preventDefault(); + startCoords = _this.getDragCords(e); + possibleSwipeCords = _this.getPossibleSwipeDragCords(); + isDragging = true; + _this.core.outer + .removeClass('lg-grab') + .addClass('lg-grabbing lg-zoom-drag-transition lg-zoom-dragging'); + // reset opacity and transition duration + } + } + } + }); + this.$LG(window).on("mousemove.lg.zoom.global" + this.core.lgId, function (e) { + if (isDragging) { + isMoved = true; + endCoords = _this.getDragCords(e); + var distance = _this.getZoomSwipeCords(startCoords, endCoords, allowX, allowY, possibleSwipeCords); + _this.setZoomSwipeStyles(_LGel, distance); + } + }); + this.$LG(window).on("mouseup.lg.zoom.global" + this.core.lgId, function (e) { + if (isDragging) { + endTime = new Date(); + isDragging = false; + _this.core.outer.removeClass('lg-zoom-dragging'); + // Fix for chrome mouse move on click + if (isMoved && + (startCoords.x !== endCoords.x || + startCoords.y !== endCoords.y)) { + endCoords = _this.getDragCords(e); + var touchDuration = endTime.valueOf() - startTime.valueOf(); + _this.touchendZoom(startCoords, endCoords, allowX, allowY, touchDuration); + } + isMoved = false; + } + _this.core.outer.removeClass('lg-grabbing').addClass('lg-grab'); + }); + }; + Zoom.prototype.closeGallery = function () { + this.resetZoom(); + this.zoomInProgress = false; + }; + Zoom.prototype.destroy = function () { + // Unbind all events added by lightGallery zoom plugin + this.$LG(window).off(".lg.zoom.global" + this.core.lgId); + this.core.LGel.off('.lg.zoom'); + this.core.LGel.off('.zoom'); + clearTimeout(this.zoomableTimeout); + this.zoomableTimeout = false; + }; + return Zoom; + }()); + + return Zoom; + +}))); +//# sourceMappingURL=lg-zoom.umd.js.map + +; +/*! + * lightgallery | 2.8.0-beta.3 | May 3rd 2024 + * http://www.lightgalleryjs.com/ + * Copyright (c) 2020 Sachin Neravath; + * @license GPLv3 + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.lgRotate = factory()); +}(this, (function () { 'use strict'; + + /*! ***************************************************************************** + 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 rotateSettings = { + rotate: true, + rotateSpeed: 400, + rotateLeft: true, + rotateRight: true, + flipHorizontal: true, + flipVertical: true, + rotatePluginStrings: { + flipVertical: 'Flip vertical', + flipHorizontal: 'Flip horizontal', + rotateLeft: 'Rotate left', + rotateRight: 'Rotate right', + }, + }; + + var Rotate = /** @class */ (function () { + function Rotate(instance, $LG) { + // get lightGallery core plugin instance + this.core = instance; + this.$LG = $LG; + // extend module default settings with lightGallery core settings + this.settings = __assign(__assign({}, rotateSettings), this.core.settings); + return this; + } + Rotate.prototype.buildTemplates = function () { + var rotateIcons = ''; + if (this.settings.flipVertical) { + rotateIcons += ""; + } + if (this.settings.flipHorizontal) { + rotateIcons += ""; + } + if (this.settings.rotateLeft) { + rotateIcons += ""; + } + if (this.settings.rotateRight) { + rotateIcons += ""; + } + this.core.$toolbar.append(rotateIcons); + }; + Rotate.prototype.init = function () { + var _this = this; + if (!this.settings.rotate) { + return; + } + this.buildTemplates(); + // Save rotate config for each item to persist its rotate, flip values + // even after navigating to diferent slides + this.rotateValuesList = {}; + // event triggered after appending slide content + this.core.LGel.on(lGEvents.slideItemLoad + ".rotate", function (event) { + var index = event.detail.index; + var rotateEl = _this.core + .getSlideItem(index) + .find('.lg-img-rotate') + .get(); + if (!rotateEl) { + var imageWrap = _this.core + .getSlideItem(index) + .find('.lg-object') + .first(); + imageWrap.wrap('lg-img-rotate'); + //this.rotateValuesList[this.core.index] + _this.core + .getSlideItem(_this.core.index) + .find('.lg-img-rotate') + .css('transition-duration', _this.settings.rotateSpeed + 'ms'); + } + }); + this.core.outer + .find('#lg-rotate-left') + .first() + .on('click.lg', this.rotateLeft.bind(this)); + this.core.outer + .find('#lg-rotate-right') + .first() + .on('click.lg', this.rotateRight.bind(this)); + this.core.outer + .find('#lg-flip-hor') + .first() + .on('click.lg', this.flipHorizontal.bind(this)); + this.core.outer + .find('#lg-flip-ver') + .first() + .on('click.lg', this.flipVertical.bind(this)); + // Reset rotate on slide change + this.core.LGel.on(lGEvents.beforeSlide + ".rotate", function (event) { + if (!_this.rotateValuesList[event.detail.index]) { + _this.rotateValuesList[event.detail.index] = { + rotate: 0, + flipHorizontal: 1, + flipVertical: 1, + }; + } + }); + }; + Rotate.prototype.applyStyles = function () { + var $image = this.core + .getSlideItem(this.core.index) + .find('.lg-img-rotate') + .first(); + $image.css('transform', 'rotate(' + + this.rotateValuesList[this.core.index].rotate + + 'deg)' + + ' scale3d(' + + this.rotateValuesList[this.core.index].flipHorizontal + + ', ' + + this.rotateValuesList[this.core.index].flipVertical + + ', 1)'); + }; + Rotate.prototype.rotateLeft = function () { + this.rotateValuesList[this.core.index].rotate -= 90; + this.applyStyles(); + this.triggerEvents(lGEvents.rotateLeft, { + rotate: this.rotateValuesList[this.core.index].rotate, + }); + }; + Rotate.prototype.rotateRight = function () { + this.rotateValuesList[this.core.index].rotate += 90; + this.applyStyles(); + this.triggerEvents(lGEvents.rotateRight, { + rotate: this.rotateValuesList[this.core.index].rotate, + }); + }; + Rotate.prototype.getCurrentRotation = function (el) { + if (!el) { + return 0; + } + var st = this.$LG(el).style(); + var tm = st.getPropertyValue('-webkit-transform') || + st.getPropertyValue('-moz-transform') || + st.getPropertyValue('-ms-transform') || + st.getPropertyValue('-o-transform') || + st.getPropertyValue('transform') || + 'none'; + if (tm !== 'none') { + var values = tm.split('(')[1].split(')')[0].split(','); + if (values) { + var angle = Math.round(Math.atan2(values[1], values[0]) * (180 / Math.PI)); + return angle < 0 ? angle + 360 : angle; + } + } + return 0; + }; + Rotate.prototype.flipHorizontal = function () { + var rotateEl = this.core + .getSlideItem(this.core.index) + .find('.lg-img-rotate') + .first() + .get(); + var currentRotation = this.getCurrentRotation(rotateEl); + var rotateAxis = 'flipHorizontal'; + if (currentRotation === 90 || currentRotation === 270) { + rotateAxis = 'flipVertical'; + } + this.rotateValuesList[this.core.index][rotateAxis] *= -1; + this.applyStyles(); + this.triggerEvents(lGEvents.flipHorizontal, { + flipHorizontal: this.rotateValuesList[this.core.index][rotateAxis], + }); + }; + Rotate.prototype.flipVertical = function () { + var rotateEl = this.core + .getSlideItem(this.core.index) + .find('.lg-img-rotate') + .first() + .get(); + var currentRotation = this.getCurrentRotation(rotateEl); + var rotateAxis = 'flipVertical'; + if (currentRotation === 90 || currentRotation === 270) { + rotateAxis = 'flipHorizontal'; + } + this.rotateValuesList[this.core.index][rotateAxis] *= -1; + this.applyStyles(); + this.triggerEvents(lGEvents.flipVertical, { + flipVertical: this.rotateValuesList[this.core.index][rotateAxis], + }); + }; + Rotate.prototype.triggerEvents = function (event, detail) { + var _this = this; + setTimeout(function () { + _this.core.LGel.trigger(event, detail); + }, this.settings.rotateSpeed + 10); + }; + Rotate.prototype.isImageOrientationChanged = function () { + var rotateValue = this.rotateValuesList[this.core.index]; + var isRotated = Math.abs(rotateValue.rotate) % 360 !== 0; + var ifFlippedHor = rotateValue.flipHorizontal < 0; + var ifFlippedVer = rotateValue.flipVertical < 0; + return isRotated || ifFlippedHor || ifFlippedVer; + }; + Rotate.prototype.closeGallery = function () { + if (this.isImageOrientationChanged()) { + this.core.getSlideItem(this.core.index).css('opacity', 0); + } + this.rotateValuesList = {}; + }; + Rotate.prototype.destroy = function () { + // Unbind all events added by lightGallery rotate plugin + this.core.LGel.off('.lg.rotate'); + this.core.LGel.off('.rotate'); + }; + return Rotate; + }()); + + return Rotate; + +}))); +//# sourceMappingURL=lg-rotate.umd.js.map + +; +/*! + * lightgallery | 2.8.0-beta.3 | May 3rd 2024 + * http://www.lightgalleryjs.com/ + * Copyright (c) 2020 Sachin Neravath; + * @license GPLv3 + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.lgThumbnail = factory()); +}(this, (function () { 'use strict'; + + /*! ***************************************************************************** + 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); + }; + + var thumbnailsSettings = { + thumbnail: true, + animateThumb: true, + currentPagerPosition: 'middle', + alignThumbnails: 'middle', + thumbWidth: 100, + thumbHeight: '80px', + thumbMargin: 5, + appendThumbnailsTo: '.lg-components', + toggleThumb: false, + enableThumbDrag: true, + enableThumbSwipe: true, + thumbnailSwipeThreshold: 10, + loadYouTubeThumbnail: true, + youTubeThumbSize: 1, + thumbnailPluginStrings: { + toggleThumbnails: 'Toggle thumbnails', + }, + }; + + /** + * 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 Thumbnail = /** @class */ (function () { + function Thumbnail(instance, $LG) { + this.thumbOuterWidth = 0; + this.thumbTotalWidth = 0; + this.translateX = 0; + this.thumbClickable = false; + // get lightGallery core plugin instance + this.core = instance; + this.$LG = $LG; + return this; + } + Thumbnail.prototype.init = function () { + // extend module default settings with lightGallery core settings + this.settings = __assign(__assign({}, thumbnailsSettings), this.core.settings); + this.thumbOuterWidth = 0; + this.thumbTotalWidth = + this.core.galleryItems.length * + (this.settings.thumbWidth + this.settings.thumbMargin); + // Thumbnail animation value + this.translateX = 0; + this.setAnimateThumbStyles(); + if (!this.core.settings.allowMediaOverlap) { + this.settings.toggleThumb = false; + } + if (this.settings.thumbnail) { + this.build(); + if (this.settings.animateThumb) { + if (this.settings.enableThumbDrag) { + this.enableThumbDrag(); + } + if (this.settings.enableThumbSwipe) { + this.enableThumbSwipe(); + } + this.thumbClickable = false; + } + else { + this.thumbClickable = true; + } + this.toggleThumbBar(); + this.thumbKeyPress(); + } + }; + Thumbnail.prototype.build = function () { + var _this = this; + this.setThumbMarkup(); + this.manageActiveClassOnSlideChange(); + this.$lgThumb.first().on('click.lg touchend.lg', function (e) { + var $target = _this.$LG(e.target); + if (!$target.hasAttribute('data-lg-item-id')) { + return; + } + setTimeout(function () { + // In IE9 and bellow touch does not support + // Go to slide if browser does not support css transitions + if (_this.thumbClickable && !_this.core.lgBusy) { + var index = parseInt($target.attr('data-lg-item-id')); + _this.core.slide(index, false, true, false); + } + }, 50); + }); + this.core.LGel.on(lGEvents.beforeSlide + ".thumb", function (event) { + var index = event.detail.index; + _this.animateThumb(index); + }); + this.core.LGel.on(lGEvents.beforeOpen + ".thumb", function () { + _this.thumbOuterWidth = _this.core.outer.get().offsetWidth; + }); + this.core.LGel.on(lGEvents.updateSlides + ".thumb", function () { + _this.rebuildThumbnails(); + }); + this.core.LGel.on(lGEvents.containerResize + ".thumb", function () { + if (!_this.core.lgOpened) + return; + setTimeout(function () { + _this.thumbOuterWidth = _this.core.outer.get().offsetWidth; + _this.animateThumb(_this.core.index); + _this.thumbOuterWidth = _this.core.outer.get().offsetWidth; + }, 50); + }); + }; + Thumbnail.prototype.setThumbMarkup = function () { + var thumbOuterClassNames = 'lg-thumb-outer '; + if (this.settings.alignThumbnails) { + thumbOuterClassNames += "lg-thumb-align-" + this.settings.alignThumbnails; + } + var html = "
    \n
    \n
    \n
    "; + this.core.outer.addClass('lg-has-thumb'); + if (this.settings.appendThumbnailsTo === '.lg-components') { + this.core.$lgComponents.append(html); + } + else { + this.core.outer.append(html); + } + this.$thumbOuter = this.core.outer.find('.lg-thumb-outer').first(); + this.$lgThumb = this.core.outer.find('.lg-thumb').first(); + if (this.settings.animateThumb) { + this.core.outer + .find('.lg-thumb') + .css('transition-duration', this.core.settings.speed + 'ms') + .css('width', this.thumbTotalWidth + 'px') + .css('position', 'relative'); + } + this.setThumbItemHtml(this.core.galleryItems); + }; + Thumbnail.prototype.enableThumbDrag = function () { + var _this = this; + var thumbDragUtils = { + cords: { + startX: 0, + endX: 0, + }, + isMoved: false, + newTranslateX: 0, + startTime: new Date(), + endTime: new Date(), + touchMoveTime: 0, + }; + var isDragging = false; + this.$thumbOuter.addClass('lg-grab'); + this.core.outer + .find('.lg-thumb') + .first() + .on('mousedown.lg.thumb', function (e) { + if (_this.thumbTotalWidth > _this.thumbOuterWidth) { + // execute only on .lg-object + e.preventDefault(); + thumbDragUtils.cords.startX = e.pageX; + thumbDragUtils.startTime = new Date(); + _this.thumbClickable = false; + isDragging = true; + // ** Fix for webkit cursor issue https://code.google.com/p/chromium/issues/detail?id=26723 + _this.core.outer.get().scrollLeft += 1; + _this.core.outer.get().scrollLeft -= 1; + // * + _this.$thumbOuter + .removeClass('lg-grab') + .addClass('lg-grabbing'); + } + }); + this.$LG(window).on("mousemove.lg.thumb.global" + this.core.lgId, function (e) { + if (!_this.core.lgOpened) + return; + if (isDragging) { + thumbDragUtils.cords.endX = e.pageX; + thumbDragUtils = _this.onThumbTouchMove(thumbDragUtils); + } + }); + this.$LG(window).on("mouseup.lg.thumb.global" + this.core.lgId, function () { + if (!_this.core.lgOpened) + return; + if (thumbDragUtils.isMoved) { + thumbDragUtils = _this.onThumbTouchEnd(thumbDragUtils); + } + else { + _this.thumbClickable = true; + } + if (isDragging) { + isDragging = false; + _this.$thumbOuter.removeClass('lg-grabbing').addClass('lg-grab'); + } + }); + }; + Thumbnail.prototype.enableThumbSwipe = function () { + var _this = this; + var thumbDragUtils = { + cords: { + startX: 0, + endX: 0, + }, + isMoved: false, + newTranslateX: 0, + startTime: new Date(), + endTime: new Date(), + touchMoveTime: 0, + }; + this.$lgThumb.on('touchstart.lg', function (e) { + if (_this.thumbTotalWidth > _this.thumbOuterWidth) { + e.preventDefault(); + thumbDragUtils.cords.startX = e.targetTouches[0].pageX; + _this.thumbClickable = false; + thumbDragUtils.startTime = new Date(); + } + }); + this.$lgThumb.on('touchmove.lg', function (e) { + if (_this.thumbTotalWidth > _this.thumbOuterWidth) { + e.preventDefault(); + thumbDragUtils.cords.endX = e.targetTouches[0].pageX; + thumbDragUtils = _this.onThumbTouchMove(thumbDragUtils); + } + }); + this.$lgThumb.on('touchend.lg', function () { + if (thumbDragUtils.isMoved) { + thumbDragUtils = _this.onThumbTouchEnd(thumbDragUtils); + } + else { + _this.thumbClickable = true; + } + }); + }; + // Rebuild thumbnails + Thumbnail.prototype.rebuildThumbnails = function () { + var _this = this; + // Remove transitions + this.$thumbOuter.addClass('lg-rebuilding-thumbnails'); + setTimeout(function () { + _this.thumbTotalWidth = + _this.core.galleryItems.length * + (_this.settings.thumbWidth + _this.settings.thumbMargin); + _this.$lgThumb.css('width', _this.thumbTotalWidth + 'px'); + _this.$lgThumb.empty(); + _this.setThumbItemHtml(_this.core.galleryItems); + _this.animateThumb(_this.core.index); + }, 50); + setTimeout(function () { + _this.$thumbOuter.removeClass('lg-rebuilding-thumbnails'); + }, 200); + }; + // @ts-check + Thumbnail.prototype.setTranslate = function (value) { + this.$lgThumb.css('transform', 'translate3d(-' + value + 'px, 0px, 0px)'); + }; + Thumbnail.prototype.getPossibleTransformX = function (left) { + if (left > this.thumbTotalWidth - this.thumbOuterWidth) { + left = this.thumbTotalWidth - this.thumbOuterWidth; + } + if (left < 0) { + left = 0; + } + return left; + }; + Thumbnail.prototype.animateThumb = function (index) { + this.$lgThumb.css('transition-duration', this.core.settings.speed + 'ms'); + if (this.settings.animateThumb) { + var position = 0; + switch (this.settings.currentPagerPosition) { + case 'left': + position = 0; + break; + case 'middle': + position = + this.thumbOuterWidth / 2 - this.settings.thumbWidth / 2; + break; + case 'right': + position = this.thumbOuterWidth - this.settings.thumbWidth; + } + this.translateX = + (this.settings.thumbWidth + this.settings.thumbMargin) * index - + 1 - + position; + if (this.translateX > this.thumbTotalWidth - this.thumbOuterWidth) { + this.translateX = this.thumbTotalWidth - this.thumbOuterWidth; + } + if (this.translateX < 0) { + this.translateX = 0; + } + this.setTranslate(this.translateX); + } + }; + Thumbnail.prototype.onThumbTouchMove = function (thumbDragUtils) { + thumbDragUtils.newTranslateX = this.translateX; + thumbDragUtils.isMoved = true; + thumbDragUtils.touchMoveTime = new Date().valueOf(); + thumbDragUtils.newTranslateX -= + thumbDragUtils.cords.endX - thumbDragUtils.cords.startX; + thumbDragUtils.newTranslateX = this.getPossibleTransformX(thumbDragUtils.newTranslateX); + // move current slide + this.setTranslate(thumbDragUtils.newTranslateX); + this.$thumbOuter.addClass('lg-dragging'); + return thumbDragUtils; + }; + Thumbnail.prototype.onThumbTouchEnd = function (thumbDragUtils) { + thumbDragUtils.isMoved = false; + thumbDragUtils.endTime = new Date(); + this.$thumbOuter.removeClass('lg-dragging'); + var touchDuration = thumbDragUtils.endTime.valueOf() - + thumbDragUtils.startTime.valueOf(); + var distanceXnew = thumbDragUtils.cords.endX - thumbDragUtils.cords.startX; + var speedX = Math.abs(distanceXnew) / touchDuration; + // Some magical numbers + // Can be improved + if (speedX > 0.15 && + thumbDragUtils.endTime.valueOf() - thumbDragUtils.touchMoveTime < 30) { + speedX += 1; + if (speedX > 2) { + speedX += 1; + } + speedX = + speedX + + speedX * (Math.abs(distanceXnew) / this.thumbOuterWidth); + this.$lgThumb.css('transition-duration', Math.min(speedX - 1, 2) + 'settings'); + distanceXnew = distanceXnew * speedX; + this.translateX = this.getPossibleTransformX(this.translateX - distanceXnew); + this.setTranslate(this.translateX); + } + else { + this.translateX = thumbDragUtils.newTranslateX; + } + if (Math.abs(thumbDragUtils.cords.endX - thumbDragUtils.cords.startX) < + this.settings.thumbnailSwipeThreshold) { + this.thumbClickable = true; + } + return thumbDragUtils; + }; + Thumbnail.prototype.getThumbHtml = function (thumb, index, alt) { + var slideVideoInfo = this.core.galleryItems[index].__slideVideoInfo || {}; + var thumbImg; + if (slideVideoInfo.youtube) { + if (this.settings.loadYouTubeThumbnail) { + thumbImg = + '//img.youtube.com/vi/' + + slideVideoInfo.youtube[1] + + '/' + + this.settings.youTubeThumbSize + + '.jpg'; + } + else { + thumbImg = thumb; + } + } + else { + thumbImg = thumb; + } + var div = document.createElement('div'); + div.setAttribute('data-lg-item-id', index + ''); + div.className = "lg-thumb-item " + (index === this.core.index ? 'active' : ''); + div.style.cssText = "width: " + this.settings.thumbWidth + "px; height: " + this.settings.thumbHeight + "; margin-right: " + this.settings.thumbMargin + "px;"; + var img = document.createElement('img'); + img.alt = alt || ''; + img.setAttribute('data-lg-item-id', index + ''); + img.src = thumbImg; + div.appendChild(img); + return div; + }; + Thumbnail.prototype.setThumbItemHtml = function (items) { + for (var i = 0; i < items.length; i++) { + var thumb = this.getThumbHtml(items[i].thumb, i, items[i].alt); + this.$lgThumb.append(thumb); + } + }; + Thumbnail.prototype.setAnimateThumbStyles = function () { + if (this.settings.animateThumb) { + this.core.outer.addClass('lg-animate-thumb'); + } + }; + // Manage thumbnail active calss + Thumbnail.prototype.manageActiveClassOnSlideChange = function () { + var _this = this; + // manage active class for thumbnail + this.core.LGel.on(lGEvents.beforeSlide + ".thumb", function (event) { + var $thumb = _this.core.outer.find('.lg-thumb-item'); + var index = event.detail.index; + $thumb.removeClass('active'); + $thumb.eq(index).addClass('active'); + }); + }; + // Toggle thumbnail bar + Thumbnail.prototype.toggleThumbBar = function () { + var _this = this; + if (this.settings.toggleThumb) { + this.core.outer.addClass('lg-can-toggle'); + this.core.$toolbar.append(''); + this.core.outer + .find('.lg-toggle-thumb') + .first() + .on('click.lg', function () { + _this.core.outer.toggleClass('lg-components-open'); + }); + } + }; + Thumbnail.prototype.thumbKeyPress = function () { + var _this = this; + this.$LG(window).on("keydown.lg.thumb.global" + this.core.lgId, function (e) { + if (!_this.core.lgOpened || !_this.settings.toggleThumb) + return; + if (e.keyCode === 38) { + e.preventDefault(); + _this.core.outer.addClass('lg-components-open'); + } + else if (e.keyCode === 40) { + e.preventDefault(); + _this.core.outer.removeClass('lg-components-open'); + } + }); + }; + Thumbnail.prototype.destroy = function () { + if (this.settings.thumbnail) { + this.$LG(window).off(".lg.thumb.global" + this.core.lgId); + this.core.LGel.off('.lg.thumb'); + this.core.LGel.off('.thumb'); + this.$thumbOuter.remove(); + this.core.outer.removeClass('lg-has-thumb'); + } + }; + return Thumbnail; + }()); + + return Thumbnail; + +}))); +//# sourceMappingURL=lg-thumbnail.umd.js.map + +; +/*! + * lightgallery | 2.8.0-beta.3 | May 3rd 2024 + * http://www.lightgalleryjs.com/ + * Copyright (c) 2020 Sachin Neravath; + * @license GPLv3 + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.lgPager = factory()); +}(this, (function () { 'use strict'; + + /*! ***************************************************************************** + 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 pagerSettings = { + pager: true, + }; + + var Pager = /** @class */ (function () { + function Pager(instance, $LG) { + // get lightGallery core plugin instance + this.core = instance; + this.$LG = $LG; + // extend module default settings with lightGallery core settings + this.settings = __assign(__assign({}, pagerSettings), this.core.settings); + return this; + } + Pager.prototype.getPagerHtml = function (items) { + var pagerList = ''; + for (var i = 0; i < items.length; i++) { + pagerList += " \n \n
    \n
    "; + } + return pagerList; + }; + Pager.prototype.init = function () { + var _this = this; + if (!this.settings.pager) { + return; + } + var timeout; + this.core.$lgComponents.prepend('
    '); + var $pagerOuter = this.core.outer.find('.lg-pager-outer'); + $pagerOuter.html(this.getPagerHtml(this.core.galleryItems)); + // @todo enable click + $pagerOuter.first().on('click.lg touchend.lg', function (event) { + var $target = _this.$LG(event.target); + if (!$target.hasAttribute('data-lg-item-id')) { + return; + } + var index = parseInt($target.attr('data-lg-item-id')); + _this.core.slide(index, false, true, false); + }); + $pagerOuter.first().on('mouseover.lg', function () { + clearTimeout(timeout); + $pagerOuter.addClass('lg-pager-hover'); + }); + $pagerOuter.first().on('mouseout.lg', function () { + timeout = setTimeout(function () { + $pagerOuter.removeClass('lg-pager-hover'); + }); + }); + this.core.LGel.on(lGEvents.beforeSlide + ".pager", function (event) { + var index = event.detail.index; + _this.manageActiveClass.call(_this, index); + }); + this.core.LGel.on(lGEvents.updateSlides + ".pager", function () { + $pagerOuter.empty(); + $pagerOuter.html(_this.getPagerHtml(_this.core.galleryItems)); + _this.manageActiveClass(_this.core.index); + }); + }; + Pager.prototype.manageActiveClass = function (index) { + var $pagerCont = this.core.outer.find('.lg-pager-cont'); + $pagerCont.removeClass('lg-pager-active'); + $pagerCont.eq(index).addClass('lg-pager-active'); + }; + Pager.prototype.destroy = function () { + this.core.outer.find('.lg-pager-outer').remove(); + this.core.LGel.off('.lg.pager'); + this.core.LGel.off('.pager'); + }; + return Pager; + }()); + + return Pager; + +}))); +//# sourceMappingURL=lg-pager.umd.js.map + +; +/*! + * lightgallery | 2.8.0-beta.3 | May 3rd 2024 + * http://www.lightgalleryjs.com/ + * Copyright (c) 2020 Sachin Neravath; + * @license GPLv3 + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.lgHash = factory()); +}(this, (function () { 'use strict'; + + /*! ***************************************************************************** + 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 hashSettings = { + hash: true, + galleryId: '1', + customSlideName: false, + }; + + var Hash = /** @class */ (function () { + function Hash(instance, $LG) { + // get lightGallery core plugin instance + this.core = instance; + this.$LG = $LG; + // extend module default settings with lightGallery core settings + this.settings = __assign(__assign({}, hashSettings), this.core.settings); + return this; + } + Hash.prototype.init = function () { + var _this = this; + if (!this.settings.hash) { + return; + } + this.oldHash = window.location.hash; + setTimeout(function () { + _this.buildFromHash(); + }, 100); + // Change hash value on after each slide transition + this.core.LGel.on(lGEvents.afterSlide + ".hash", this.onAfterSlide.bind(this)); + this.core.LGel.on(lGEvents.afterClose + ".hash", this.onCloseAfter.bind(this)); + // Listen hash change and change the slide according to slide value + this.$LG(window).on("hashchange.lg.hash.global" + this.core.lgId, this.onHashchange.bind(this)); + }; + Hash.prototype.onAfterSlide = function (event) { + var slideName = this.core.galleryItems[event.detail.index].slideName; + slideName = this.settings.customSlideName + ? slideName || event.detail.index + : event.detail.index; + if (history.replaceState) { + history.replaceState(null, '', window.location.pathname + + window.location.search + + '#lg=' + + this.settings.galleryId + + '&slide=' + + slideName); + } + else { + window.location.hash = + 'lg=' + this.settings.galleryId + '&slide=' + slideName; + } + }; + /** + * Get index of the slide from custom slideName. Has to be a public method. Used in hash plugin + * @param {String} hash + * @returns {Number} Index of the slide. + */ + Hash.prototype.getIndexFromUrl = function (hash) { + if (hash === void 0) { hash = window.location.hash; } + var slideName = hash.split('&slide=')[1]; + var _idx = 0; + if (this.settings.customSlideName) { + for (var index = 0; index < this.core.galleryItems.length; index++) { + var dynamicEl = this.core.galleryItems[index]; + if (dynamicEl.slideName === slideName) { + _idx = index; + break; + } + } + } + else { + _idx = parseInt(slideName, 10); + } + return isNaN(_idx) ? 0 : _idx; + }; + // Build Gallery if gallery id exist in the URL + Hash.prototype.buildFromHash = function () { + // if dynamic option is enabled execute immediately + var _hash = window.location.hash; + if (_hash.indexOf('lg=' + this.settings.galleryId) > 0) { + // This class is used to remove the initial animation if galleryId present in the URL + this.$LG(document.body).addClass('lg-from-hash'); + var index = this.getIndexFromUrl(_hash); + this.core.openGallery(index); + return true; + } + }; + Hash.prototype.onCloseAfter = function () { + // Reset to old hash value + if (this.oldHash && + this.oldHash.indexOf('lg=' + this.settings.galleryId) < 0) { + if (history.replaceState) { + history.replaceState(null, '', this.oldHash); + } + else { + window.location.hash = this.oldHash; + } + } + else { + if (history.replaceState) { + history.replaceState(null, document.title, window.location.pathname + window.location.search); + } + else { + window.location.hash = ''; + } + } + }; + Hash.prototype.onHashchange = function () { + if (!this.core.lgOpened) + return; + var _hash = window.location.hash; + var index = this.getIndexFromUrl(_hash); + // it galleryId doesn't exist in the url close the gallery + if (_hash.indexOf('lg=' + this.settings.galleryId) > -1) { + this.core.slide(index, false, false); + } + else if (this.core.lGalleryOn) { + this.core.closeGallery(); + } + }; + Hash.prototype.closeGallery = function () { + if (this.settings.hash) { + this.$LG(document.body).removeClass('lg-from-hash'); + } + }; + Hash.prototype.destroy = function () { + this.core.LGel.off('.lg.hash'); + this.core.LGel.off('.hash'); + this.$LG(window).off("hashchange.lg.hash.global" + this.core.lgId); + }; + return Hash; + }()); + + return Hash; + +}))); +//# sourceMappingURL=lg-hash.umd.js.map + +; +/*! + * lightgallery | 2.8.0-beta.3 | May 3rd 2024 + * http://www.lightgalleryjs.com/ + * Copyright (c) 2020 Sachin Neravath; + * @license GPLv3 + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.lgShare = factory()); +}(this, (function () { 'use strict'; + + /*! ***************************************************************************** + 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 "
  • " + text + "
  • "; + }; + Share.prototype.getDefaultShareOptions = function () { + return __spreadArrays((this.settings.facebook + ? [ + { + type: 'facebook', + generateLink: getFacebookShareLink, + dropdownHTML: this.getShareListItemHTML('facebook', this.settings.facebookDropdownText), + selector: '.lg-share-facebook', + }, + ] + : []), (this.settings.twitter + ? [ + { + type: 'twitter', + generateLink: getTwitterShareLink, + dropdownHTML: this.getShareListItemHTML('twitter', this.settings.twitterDropdownText), + selector: '.lg-share-twitter', + }, + ] + : []), (this.settings.pinterest + ? [ + { + type: 'pinterest', + generateLink: getPinterestShareLink, + dropdownHTML: this.getShareListItemHTML('pinterest', this.settings.pinterestDropdownText), + selector: '.lg-share-pinterest', + }, + ] + : [])); + }; + Share.prototype.destroy = function () { + this.core.outer.find('.lg-dropdown-overlay').remove(); + this.core.outer.find('.lg-share').remove(); + this.core.LGel.off('.lg.share'); + this.core.LGel.off('.share'); + }; + return Share; + }()); + + return Share; + +}))); +//# sourceMappingURL=lg-share.umd.js.map + +; +/*! + * lightgallery | 2.8.0-beta.3 | May 3rd 2024 + * http://www.lightgalleryjs.com/ + * Copyright (c) 2020 Sachin Neravath; + * @license GPLv3 + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.lgComment = factory()); +}(this, (function () { 'use strict'; + + /*! ***************************************************************************** + 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: '

    Leave a comment.

    ', + commentPluginStrings: { + toggleComments: 'Toggle Comments', + }, + }; + + /** + * 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 + * + */ + var CommentBox = /** @class */ (function () { + function CommentBox(instance, $LG) { + // get lightGallery core plugin instance + this.core = instance; + this.$LG = $LG; + // extend module default settings with lightGallery core settings + this.settings = __assign(__assign({}, commentSettings), this.core.settings); + return this; + } + CommentBox.prototype.init = function () { + if (!this.settings.commentBox) { + return; + } + this.setMarkup(); + this.toggleCommentBox(); + if (this.settings.fbComments) { + this.addFbComments(); + } + else if (this.settings.disqusComments) { + this.addDisqusComments(); + } + }; + CommentBox.prototype.setMarkup = function () { + this.core.outer.append(this.settings.commentsMarkup + + '
    '); + var commentToggleBtn = ""; + this.core.$toolbar.append(commentToggleBtn); + }; + CommentBox.prototype.toggleCommentBox = function () { + var _this_1 = this; + this.core.outer + .find('.lg-comment-toggle') + .first() + .on('click.lg.comment', function () { + _this_1.core.outer.toggleClass('lg-comment-active'); + }); + this.core.outer + .find('.lg-comment-overlay') + .first() + .on('click.lg.comment', function () { + _this_1.core.outer.removeClass('lg-comment-active'); + }); + this.core.outer + .find('.lg-comment-close') + .first() + .on('click.lg.comment', function () { + _this_1.core.outer.removeClass('lg-comment-active'); + }); + }; + CommentBox.prototype.addFbComments = function () { + var _this_1 = this; + // eslint-disable-next-line @typescript-eslint/no-this-alias + var _this = this; + this.core.LGel.on(lGEvents.beforeSlide + ".comment", function (event) { + var html = _this_1.core.galleryItems[event.detail.index].fbHtml; + _this_1.core.outer.find('.lg-comment-body').html(html); + }); + this.core.LGel.on(lGEvents.afterSlide + ".comment", function () { + try { + FB.XFBML.parse(); + } + catch (err) { + _this.$LG(window).on('fbAsyncInit', function () { + FB.XFBML.parse(); + }); + } + }); + }; + CommentBox.prototype.addDisqusComments = function () { + var _this_1 = this; + var $disqusThread = this.$LG('#disqus_thread'); + $disqusThread.remove(); + this.core.outer + .find('.lg-comment-body') + .append('
    '); + this.core.LGel.on(lGEvents.beforeSlide + ".comment", function () { + $disqusThread.html(''); + }); + this.core.LGel.on(lGEvents.afterSlide + ".comment", function (event) { + var index = event.detail.index; + // eslint-disable-next-line @typescript-eslint/no-this-alias + var _this = _this_1; + // DISQUS needs sometime to intialize when lightGallery is opened from direct url(hash plugin). + setTimeout(function () { + try { + DISQUS.reset({ + reload: true, + config: function () { + this.page.identifier = + _this.core.galleryItems[index].disqusIdentifier; + this.page.url = + _this.core.galleryItems[index].disqusURL; + this.page.title = + _this.settings.disqusConfig.title; + this.language = + _this.settings.disqusConfig.language; + }, + }); + } + catch (err) { + console.error('Make sure you have included disqus JavaScript code in your document. Ex - https://lg-disqus.disqus.com/admin/install/platforms/universalcode/'); + } + }, _this.core.lGalleryOn ? 0 : 1000); + }); + }; + CommentBox.prototype.destroy = function () { + this.core.LGel.off('.lg.comment'); + this.core.LGel.off('.comment'); + }; + return CommentBox; + }()); + + return CommentBox; + +}))); +//# sourceMappingURL=lg-comment.umd.js.map + +; +/*! + * lightgallery | 2.8.0-beta.3 | May 3rd 2024 + * http://www.lightgalleryjs.com/ + * Copyright (c) 2020 Sachin Neravath; + * @license GPLv3 + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.lgAutoplay = factory()); +}(this, (function () { 'use strict'; + + /*! ***************************************************************************** + 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 autoplaySettings = { + autoplay: true, + slideShowAutoplay: false, + slideShowInterval: 5000, + progressBar: true, + forceSlideShowAutoplay: false, + autoplayControls: true, + appendAutoplayControlsTo: '.lg-toolbar', + autoplayPluginStrings: { + toggleAutoplay: 'Toggle Autoplay', + }, + }; + + /** + * Creates the autoplay plugin. + * @param {object} element - lightGallery element + */ + var Autoplay = /** @class */ (function () { + function Autoplay(instance) { + this.core = instance; + // extend module default settings with lightGallery core settings + this.settings = __assign(__assign({}, autoplaySettings), this.core.settings); + return this; + } + Autoplay.prototype.init = function () { + var _this = this; + if (!this.settings.autoplay) { + return; + } + this.interval = false; + // Identify if slide happened from autoplay + this.fromAuto = true; + // Identify if autoplay canceled from touch/drag + this.pausedOnTouchDrag = false; + this.pausedOnSlideChange = false; + // append autoplay controls + if (this.settings.autoplayControls) { + this.controls(); + } + // Create progress bar + if (this.settings.progressBar) { + this.core.outer.append('
    '); + } + // Start autoplay + if (this.settings.slideShowAutoplay) { + this.core.LGel.once(lGEvents.slideItemLoad + ".autoplay", function () { + _this.startAutoPlay(); + }); + } + // cancel interval on touchstart and dragstart + this.core.LGel.on(lGEvents.dragStart + ".autoplay touchstart.lg.autoplay", function () { + if (_this.interval) { + _this.stopAutoPlay(); + _this.pausedOnTouchDrag = true; + } + }); + // restore autoplay if autoplay canceled from touchstart / dragstart + this.core.LGel.on(lGEvents.dragEnd + ".autoplay touchend.lg.autoplay", function () { + if (!_this.interval && _this.pausedOnTouchDrag) { + _this.startAutoPlay(); + _this.pausedOnTouchDrag = false; + } + }); + this.core.LGel.on(lGEvents.beforeSlide + ".autoplay", function () { + _this.showProgressBar(); + if (!_this.fromAuto && _this.interval) { + _this.stopAutoPlay(); + _this.pausedOnSlideChange = true; + } + else { + _this.pausedOnSlideChange = false; + } + _this.fromAuto = false; + }); + // restore autoplay if autoplay canceled from touchstart / dragstart + this.core.LGel.on(lGEvents.afterSlide + ".autoplay", function () { + if (_this.pausedOnSlideChange && + !_this.interval && + _this.settings.forceSlideShowAutoplay) { + _this.startAutoPlay(); + _this.pausedOnSlideChange = false; + } + }); + // set progress + this.showProgressBar(); + }; + Autoplay.prototype.showProgressBar = function () { + var _this = this; + if (this.settings.progressBar && this.fromAuto) { + var _$progressBar_1 = this.core.outer.find('.lg-progress-bar'); + var _$progress_1 = this.core.outer.find('.lg-progress'); + if (this.interval) { + _$progress_1.removeAttr('style'); + _$progressBar_1.removeClass('lg-start'); + setTimeout(function () { + _$progress_1.css('transition', 'width ' + + (_this.core.settings.speed + + _this.settings.slideShowInterval) + + 'ms ease 0s'); + _$progressBar_1.addClass('lg-start'); + }, 20); + } + } + }; + // Manage autoplay via play/stop buttons + Autoplay.prototype.controls = function () { + var _this = this; + var _html = ""; + // Append autoplay controls + this.core.outer + .find(this.settings.appendAutoplayControlsTo) + .append(_html); + this.core.outer + .find('.lg-autoplay-button') + .first() + .on('click.lg.autoplay', function () { + if (_this.core.outer.hasClass('lg-show-autoplay')) { + _this.stopAutoPlay(); + } + else { + if (!_this.interval) { + _this.startAutoPlay(); + } + } + }); + }; + // Autostart gallery + Autoplay.prototype.startAutoPlay = function () { + var _this = this; + this.core.outer + .find('.lg-progress') + .css('transition', 'width ' + + (this.core.settings.speed + + this.settings.slideShowInterval) + + 'ms ease 0s'); + this.core.outer.addClass('lg-show-autoplay'); + this.core.outer.find('.lg-progress-bar').addClass('lg-start'); + this.core.LGel.trigger(lGEvents.autoplayStart, { + index: this.core.index, + }); + this.interval = setInterval(function () { + if (_this.core.index + 1 < _this.core.galleryItems.length) { + _this.core.index++; + } + else { + _this.core.index = 0; + } + _this.core.LGel.trigger(lGEvents.autoplay, { + index: _this.core.index, + }); + _this.fromAuto = true; + _this.core.slide(_this.core.index, false, false, 'next'); + }, this.core.settings.speed + this.settings.slideShowInterval); + }; + // cancel Autostart + Autoplay.prototype.stopAutoPlay = function () { + if (this.interval) { + this.core.LGel.trigger(lGEvents.autoplayStop, { + index: this.core.index, + }); + this.core.outer.find('.lg-progress').removeAttr('style'); + this.core.outer.removeClass('lg-show-autoplay'); + this.core.outer.find('.lg-progress-bar').removeClass('lg-start'); + } + clearInterval(this.interval); + this.interval = false; + }; + Autoplay.prototype.closeGallery = function () { + this.stopAutoPlay(); + }; + Autoplay.prototype.destroy = function () { + if (this.settings.autoplay) { + this.core.outer.find('.lg-progress-bar').remove(); + } + // Remove all event listeners added by autoplay plugin + this.core.LGel.off('.lg.autoplay'); + this.core.LGel.off('.autoplay'); + }; + return Autoplay; + }()); + + return Autoplay; + +}))); +//# sourceMappingURL=lg-autoplay.umd.js.map + +; +/*! + * lightgallery | 2.8.0-beta.3 | May 3rd 2024 + * http://www.lightgalleryjs.com/ + * Copyright (c) 2020 Sachin Neravath; + * @license GPLv3 + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.lgRelativeCaption = factory()); +}(this, (function () { 'use strict'; + + /*! ***************************************************************************** + 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 relativeCaptionSettings = { + relativeCaption: false, + }; + + /** + * lightGallery caption for placing captions relative to the image + */ + var RelativeCaption = /** @class */ (function () { + function RelativeCaption(instance) { + // get lightGallery core plugin instance + this.core = instance; + // Override some of lightGallery default settings + var defaultSettings = { + addClass: this.core.settings.addClass + ' lg-relative-caption', + }; + this.core.settings = __assign(__assign({}, this.core.settings), defaultSettings); + // extend module default settings with lightGallery core settings + this.settings = __assign(__assign(__assign({}, relativeCaptionSettings), this.core.settings), defaultSettings); + return this; + } + RelativeCaption.prototype.init = function () { + var _this = this; + if (!this.settings.relativeCaption) { + return; + } + this.core.LGel.on(lGEvents.slideItemLoad + ".caption", function (event) { + var _a = event.detail, index = _a.index, delay = _a.delay; + setTimeout(function () { + if (index === _this.core.index) { + _this.setRelativeCaption(index); + } + }, delay); + }); + this.core.LGel.on(lGEvents.afterSlide + ".caption", function (event) { + var index = event.detail.index; + setTimeout(function () { + var slide = _this.core.getSlideItem(index); + if (slide.hasClass('lg-complete')) { + _this.setRelativeCaption(index); + } + }); + }); + this.core.LGel.on(lGEvents.beforeSlide + ".caption", function (event) { + var index = event.detail.index; + setTimeout(function () { + var slide = _this.core.getSlideItem(index); + slide.removeClass('lg-show-caption'); + }); + }); + this.core.LGel.on(lGEvents.containerResize + ".caption", function (event) { + _this.setRelativeCaption(_this.core.index); + }); + }; + RelativeCaption.prototype.setCaptionStyle = function (index, rect, slideWrapRect) { + var $subHtmlInner = this.core + .getSlideItem(index) + .find('.lg-relative-caption-item'); + var $subHtml = this.core.getSlideItem(index).find('.lg-sub-html'); + $subHtml.css('width', rect.width + "px").css('left', rect.left + "px"); + var subHtmlRect = $subHtmlInner.get().getBoundingClientRect(); + var bottom = slideWrapRect.bottom - rect.bottom - subHtmlRect.height; + $subHtml.css('top', "auto").css('bottom', Math.max(bottom, 0) + "px"); + }; + RelativeCaption.prototype.setRelativeCaption = function (index) { + var slide = this.core.getSlideItem(index); + if (slide.hasClass('lg-current')) { + var rect = this.core + .getSlideItem(index) + .find('.lg-object') + .get() + .getBoundingClientRect(); + var slideWrapRect = this.core + .getSlideItem(index) + .get() + .getBoundingClientRect(); + this.setCaptionStyle(index, rect, slideWrapRect); + slide.addClass('lg-show-caption'); + } + }; + RelativeCaption.prototype.destroy = function () { + this.core.LGel.off('.caption'); + }; + return RelativeCaption; + }()); + + return RelativeCaption; + +}))); +//# sourceMappingURL=lg-relative-caption.umd.js.map + +; +/*! + * lightgallery | 2.8.0-beta.3 | May 3rd 2024 + * http://www.lightgalleryjs.com/ + * Copyright (c) 2020 Sachin Neravath; + * @license GPLv3 + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.lgVimeoThumbnail = factory()); +}(this, (function () { 'use strict'; + + /*! ***************************************************************************** + 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 __awaiter(thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + } + + function __generator(thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } + } + + /** + * 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 vimeoSettings = { + showVimeoThumbnails: true, + showThumbnailWithPlayButton: false, + }; + + /** + * Creates the vimeo thumbnails plugin. + * @param {object} element - lightGallery element + */ + var VimeoThumbnail = /** @class */ (function () { + function VimeoThumbnail(instance) { + this.core = instance; + // extend module default settings with lightGallery core settings + this.settings = __assign(__assign({}, vimeoSettings), this.core.settings); + return this; + } + VimeoThumbnail.prototype.init = function () { + var _this = this; + if (!this.settings.showVimeoThumbnails) { + return; + } + this.core.LGel.on(lGEvents.init + ".vimeothumbnails", function (event) { + var pluginInstance = event.detail.instance; + var thumbCont = pluginInstance.$container + .find('.lg-thumb-outer') + .get(); + if (thumbCont) { + _this.setVimeoThumbnails(pluginInstance); + } + }); + }; + VimeoThumbnail.prototype.setVimeoThumbnails = function (dynamicGallery) { + return __awaiter(this, void 0, void 0, function () { + var i, item, slideVideoInfo, response, vimeoInfo; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + i = 0; + _a.label = 1; + case 1: + if (!(i < dynamicGallery.galleryItems.length)) return [3 /*break*/, 5]; + item = dynamicGallery.galleryItems[i]; + slideVideoInfo = item.__slideVideoInfo || {}; + if (!slideVideoInfo.vimeo) return [3 /*break*/, 4]; + return [4 /*yield*/, fetch('https://vimeo.com/api/oembed.json?url=' + + encodeURIComponent(item.src))]; + case 2: + response = _a.sent(); + return [4 /*yield*/, response.json()]; + case 3: + vimeoInfo = _a.sent(); + dynamicGallery.$container + .find('.lg-thumb-item') + .eq(i) + .find('img') + .attr('src', this.settings.showThumbnailWithPlayButton + ? vimeoInfo.thumbnail_url_with_play_button + : vimeoInfo.thumbnail_url); + _a.label = 4; + case 4: + i++; + return [3 /*break*/, 1]; + case 5: return [2 /*return*/]; + } + }); + }); + }; + VimeoThumbnail.prototype.destroy = function () { + // Remove all event listeners added by vimeothumbnails plugin + this.core.LGel.off('.lg.vimeothumbnails'); + this.core.LGel.off('.vimeothumbnails'); + }; + return VimeoThumbnail; + }()); + + return VimeoThumbnail; + +}))); +//# sourceMappingURL=lg-vimeo-thumbnail.umd.js.map + +; +/*! + * lightgallery | 2.8.0-beta.3 | May 3rd 2024 + * http://www.lightgalleryjs.com/ + * Copyright (c) 2020 Sachin Neravath; + * @license GPLv3 + */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.lgMediumZoom = factory()); +}(this, (function () { 'use strict'; + + /*! ***************************************************************************** + 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; + }()); + + return MediumZoom; + +}))); +//# sourceMappingURL=lg-medium-zoom.umd.js.map + +; +"use strict";var $lgInlineContainer,inlineGallery,masonryElMixed,$galleryEventsDemo,galleryEventsDemo,colours,customTransitionsGallery,customEasingGallery,methodsInstance,$lgGalleryMethodsDemo,$lgDemoUpdateSlides,lgDemoUpdateSlides,updateSlidesGallery,slidesUpdated,jG,$dynamicGallery,dynamicEl,dynamicGallery,$dynamicimgGallery,dynamicimgEl,dynamicimgGallery,$infiniteScrollingGallery,infiniteScrollingGallery,images,$lgSwiper,swiper,$lgInlineVideoContainer,_inlineGallery,$flickityLG,flkty,container,$lfYoutubeForm;function _toConsumableArray(a){return _arrayWithoutHoles(a)||_iterableToArray(a)||_unsupportedIterableToArray(a)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(a,c){if(!a)return;if(typeof a=="string")return _arrayLikeToArray(a,c);var b=Object.prototype.toString.call(a).slice(8,-1);if(b==="Object"&&a.constructor&&(b=a.constructor.name),b==="Map"||b==="Set")return Array.from(a);if(b==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(b))return _arrayLikeToArray(a,c)}function _iterableToArray(a){if(typeof Symbol!="undefined"&&Symbol.iterator in Object(a))return Array.from(a)}function _arrayWithoutHoles(a){if(Array.isArray(a))return _arrayLikeToArray(a)}function _arrayLikeToArray(c,a){(a==null||a>c.length)&&(a=c.length);for(var b=0,d=new Array(a);b50?($('body').addClass('has-fixed-header'),$('#nav-header').addClass('fixed-header ')):($('body').removeClass('has-fixed-header'),$('#nav-header').removeClass('fixed-header '))});function getResponsiveThumbnailsSettings(){return $(window).width()<768?{thumbWidth:30,thumbHeight:'20px',thumbMargin:2}:{thumbWidth:100,thumbHeight:'80px',thumbMargin:5}}$lgInlineContainer=document.getElementById('inline-gallery-container'),$lgInlineContainer&&(inlineGallery=window.lightGallery($lgInlineContainer,_objectSpread(_objectSpread({container:$lgInlineContainer,dynamic:!0,thumbnail:!0,swipeToClose:!1,addClass:'lg-inline',mode:'lg-scale-up',slideShowAutoplay:!0,hash:!1,pager:!1,closable:!1,showMaximizeIcon:!0,rotate:!0,download:!0,slideDelay:400,plugins:[lgZoom,lgAutoplay,lgFullscreen,lgShare,lgThumbnail,lgRotate],appendSubHtmlTo:'.lg-item'},getResponsiveThumbnailsSettings()),{},{dynamicEl:[{src:'https://images.unsplash.com/photo-1542103749-8ef59b94f47e?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1400&q=80',responsive:'https://images.unsplash.com/photo-1542103749-8ef59b94f47e?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=480&q=80 480, https://images.unsplash.com/photo-1542103749-8ef59b94f47e?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=800&q=80 800',thumb:'https://images.unsplash.com/photo-1542103749-8ef59b94f47e?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=240&q=80',subHtml:'
    \n

    Photo by Dan

    \n

    Published on November 13, 2018

    \n
    '},{src:'https://images.unsplash.com/photo-1473876988266-ca0860a443b8?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1400&q=80',responsive:'https://images.unsplash.com/photo-1473876988266-ca0860a443b8?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=480&q=80 480, https://images.unsplash.com/photo-1473876988266-ca0860a443b8?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=800&q=80 800',thumb:'https://images.unsplash.com/photo-1473876988266-ca0860a443b8?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=240&q=80',subHtml:'
    \n

    Photo by Kyle Peyton

    \n

    Published on September 14, 2016

    \n
    '},{src:'https://images.unsplash.com/photo-1588953936179-d2a4734c5490?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=1400&q=80',responsive:'https://images.unsplash.com/photo-1588953936179-d2a4734c5490?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=480&q=80 480, https://images.unsplash.com/photo-1588953936179-d2a4734c5490?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=800&q=80 800',thumb:'https://images.unsplash.com/photo-1588953936179-d2a4734c5490?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=240&q=80',subHtml:'
    \n

    Photo by Garrett Jackson

    \n

    Published on May 8, 2020

    \n
    '},{src:'https://images.unsplash.com/photo-1591634616938-1dfa7ee2e617?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1400&q=80',responsive:'https://images.unsplash.com/photo-1591634616938-1dfa7ee2e617?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=480&q=80 480, https://images.unsplash.com/photo-1591634616938-1dfa7ee2e617?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=800&q=80 800',thumb:'https://images.unsplash.com/photo-1591634616938-1dfa7ee2e617?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=240&q=80',subHtml:'
    \n

    Photo by Brooke Cagle

    \n

    Description of the slide 4

    \n
    '},{src:'https://images.unsplash.com/photo-1543059509-6d53dbee1728?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=1400&q=80',responsive:'https://images.unsplash.com/photo-1543059509-6d53dbee1728?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=480&q=80 480, https://images.unsplash.com/photo-1543059509-6d53dbee1728?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=800&q=80 800',thumb:'https://images.unsplash.com/photo-1543059509-6d53dbee1728?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=240&q=80',subHtml:'
    \n

    Photo by Charles Postiaux

    \n

    Published on November 24, 2018

    \n
    '},{src:'https://images.unsplash.com/photo-1609902726285-00668009f004?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=1400&q=80',responsive:'https://images.unsplash.com/photo-1609902726285-00668009f004?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=480&q=80 480, https://images.unsplash.com/photo-1609902726285-00668009f004?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=800&q=80 800',thumb:'https://images.unsplash.com/photo-1609902726285-00668009f004?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=240&q=80',subHtml:'
    \n

    Photo by Bruno Adam

    \n

    Published on January 6, 2021

    \n
    '},{src:'https://images.unsplash.com/photo-1573007974656-b958089e9f7b?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1400&q=80',responsive:'https://images.unsplash.com/photo-1573007974656-b958089e9f7b?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=480&q=80 480, https://images.unsplash.com/photo-1573007974656-b958089e9f7b?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=800&q=80 800',thumb:'https://images.unsplash.com/photo-1573007974656-b958089e9f7b?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=240&q=80',subHtml:'
    \n

    Photo by Sigmund

    \n

    Published on November 6, 2019

    \n
    '},{src:'https://images.unsplash.com/photo-1579406842270-ea87c39a8a12?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1400&q=80',responsive:'https://images.unsplash.com/photo-1579406842270-ea87c39a8a12?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=480&q=80 480, https://images.unsplash.com/photo-1579406842270-ea87c39a8a12?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=800&q=80 800',thumb:'https://images.unsplash.com/photo-1579406842270-ea87c39a8a12?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=240&q=80',subHtml:'
    \n

    Photo by Parij Borgohain

    \n

    Published on January 19, 2020

    \n
    '},{src:'https://images.unsplash.com/photo-1598911543663-37d77962beb1?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=1400&q=80',responsive:'https://images.unsplash.com/photo-1598911543663-37d77962beb1?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=480&q=80 480, https://images.unsplash.com/photo-1598911543663-37d77962beb1?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=800&q=80 800',thumb:'https://images.unsplash.com/photo-1598911543663-37d77962beb1?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=240&q=80',subHtml:'
    \n

    Photo by Ines Piazzese

    \n

    Published on September 1, 2020

    \n
    '},{src:'https://images.unsplash.com/photo-1560885673-2cdc12600ec8?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=1400&q=80',responsive:'https://images.unsplash.com/photo-1560885673-2cdc12600ec8?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=480&q=80 480, https://images.unsplash.com/photo-1560885673-2cdc12600ec8?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=800&q=80 800',thumb:'https://images.unsplash.com/photo-1560885673-2cdc12600ec8?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=240&q=80',subHtml:'
    \n

    Photo by Richard Saunders

    \n

    Published on June 19, 2019

    \n
    '},{src:'https://images.unsplash.com/photo-1571292064306-669f0e758231?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1400&q=80',responsive:'https://images.unsplash.com/photo-1571292064306-669f0e758231?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=480&q=80 480, https://images.unsplash.com/photo-1571292064306-669f0e758231?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=800&q=80 800',thumb:'https://images.unsplash.com/photo-1571292064306-669f0e758231?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=240&q=80',subHtml:'
    \n

    Photo by J. Meier

    \n

    Published on October 17, 2019

    \n
    '},{src:'https://images.unsplash.com/photo-1601935111741-ae98b2b230b0?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=1400&q=80',responsive:'https://images.unsplash.com/photo-1601935111741-ae98b2b230b0?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=480&q=80 480, https://images.unsplash.com/photo-1601935111741-ae98b2b230b0?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=800&q=80 800',thumb:'https://images.unsplash.com/photo-1601935111741-ae98b2b230b0?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=240&q=80',subHtml:'
    \n

    Photo by Brooke Cagle

    \n

    Published on October 6, 2020

    \n
    '}]})),inlineGallery.openGallery()),window.lightGallery(document.getElementById('gallery-demo-animated-thumbnails'),_objectSpread({pager:!1,hash:!1,plugins:[lgZoom,lgAutoplay,lgFullscreen,lgPager,lgRotate,lgShare,lgThumbnail,lgVideo]},getResponsiveThumbnailsSettings())),jQuery('#animated-thumbnails-wp').justifiedGallery({captions:!1,lastRow:'hide',rowHeight:120,maxRowsCount:4,margins:5}).on('jg.complete',function(){window.lightGallery(document.getElementById('animated-thumbnails-wp'),_objectSpread(_objectSpread({autoplayFirstVideo:!1,pager:!1,galleryId:'nature',plugins:[lgZoom,lgAutoplay,lgHash,lgFullscreen,lgPager,lgRotate,lgShare,lgThumbnail,lgVideo]},getResponsiveThumbnailsSettings()),{},{preload:3,videoMaxWidth:'1400px',mobileSettings:{controls:!1,showCloseIcon:!1,download:!1,rotate:!1}}))}),jQuery('#animated-thumbnails-gallery').justifiedGallery({captions:!1,lastRow:'hide',rowHeight:180,margins:5}).on('jg.complete',function(){window.lightGallery(document.getElementById('animated-thumbnails-gallery'),_objectSpread(_objectSpread({autoplayFirstVideo:!1,pager:!1,galleryId:'nature',plugins:[lgZoom,lgAutoplay,lgHash,lgFullscreen,lgPager,lgRotate,lgShare,lgThumbnail,lgVideo]},getResponsiveThumbnailsSettings()),{},{preload:3,videoMaxWidth:'1400px',mobileSettings:{controls:!1,showCloseIcon:!1,download:!1,rotate:!1}}))}),masonryElMixed=document.getElementById('static-thumbnails-gallery'),masonryElMixed&&imagesLoaded(document.getElementById('static-thumbnails-gallery'),function(){new Masonry(masonryElMixed,{temSelector:'.gallery-item',percentPosition:!0,gutter:0}),window.lightGallery(masonryElMixed,{animateThumb:!1,pager:!1,plugins:[lgZoom,lgAutoplay,lgFullscreen,lgThumbnail],hash:!1,zoomFromOrigin:!1,toggleThumb:!0,allowMediaOverlap:!0})}),jQuery('#customize-thumbnails-gallery').justifiedGallery({captions:!1,lastRow:'hide',rowHeight:180,margins:5}).on('jg.complete',function(){window.lightGallery(document.getElementById('customize-thumbnails-gallery'),{animateThumb:!1,addClass:'lg-custom-thumbnails',appendThumbnailsTo:'.lg-outer',pager:!1,hash:!1,plugins:[lgZoom,lgAutoplay,lgFullscreen,lgThumbnail],allowMediaOverlap:!0})}),$galleryEventsDemo=jQuery('#gallery-events-demo'),galleryEventsDemo=$galleryEventsDemo[0],galleryEventsDemo&&(colours=['#6a7583','#1e304b','#315460','#080607'],galleryEventsDemo.addEventListener('lgBeforeSlide',function(a){var b=a.detail.index;document.querySelector('.lg-backdrop').style.backgroundColor=colours[b]}),$galleryEventsDemo.justifiedGallery({captions:!1,lastRow:'justify',rowHeight:180,margins:5}).on('jg.complete',function(){window.lightGallery(galleryEventsDemo,{zoom:!1,thumbnail:!1,addClass:'lg-events-demo-outer',rotate:!1,pager:!1,plugins:[],hash:!1,fullScreen:!1,download:!1})}));function customTransitions(a){jQuery('#gallery-transitions-demo').justifiedGallery({captions:!1,lastRow:'justify',rowHeight:180,margins:5}).on('jg.complete',function(){customTransitionsGallery=window.lightGallery(document.getElementById('gallery-transitions-demo'),{mode:a,zoom:!1,thumbnail:!1,rotate:!1,pager:!1,plugins:[],hash:!1,fullScreen:!1,download:!1})})}customTransitions('lg-slide'),jQuery('#select-trans').on('change',function(){customTransitionsGallery.destroy(),jQuery('#gallery-transitions-demo').justifiedGallery('destroy'),jQuery('#gallery-transitions-demo').off('jg.complete'),customTransitions(jQuery(this).val())});function initCustomEasing(a){jQuery('#gallery-custom-easing-demo').justifiedGallery({captions:!1,lastRow:'justify',rowHeight:180,margins:5}).on('jg.complete',function(){customEasingGallery=window.lightGallery(document.getElementById('gallery-custom-easing-demo'),{easing:a,zoom:!1,thumbnail:!1,rotate:!1,pager:!1,hash:!1,plugins:[],speed:1e3,fullScreen:!1,download:!1})})}initCustomEasing('cubic-bezier(0.680, -0.550, 0.265, 1.550)'),jQuery('#select-easing').on('change',function(){var a=jQuery(this).val();prompt('You can copy cubic-bezier from here',a),customEasingGallery.destroy(),jQuery('#gallery-custom-easing-demo').justifiedGallery('destroy'),jQuery('#gallery-custom-easing-demo').off('jg.complete'),initCustomEasing('cubic-bezier('+a+')')}),$lgGalleryMethodsDemo=document.getElementById('gallery-methods-demo'),$lgGalleryMethodsDemo&&($lgGalleryMethodsDemo.addEventListener('lgInit',function(){var b='',c='',a=document.querySelector('.lg-content');a.insertAdjacentHTML('beforeend',c),a.insertAdjacentHTML('beforeend',b),document.querySelector('.lg-next').addEventListener('click',function(){methodsInstance.goToNextSlide()}),document.querySelector('.lg-prev').addEventListener('click',function(){methodsInstance.goToPrevSlide()})}),jQuery('#gallery-methods-demo').justifiedGallery({captions:!1,lastRow:'justify',rowHeight:180,margins:5}).on('jg.complete',function(){methodsInstance=window.lightGallery($lgGalleryMethodsDemo,{zoom:!1,thumbnail:!1,rotate:!1,fullScreen:!1,plugins:[lgZoom],addClass:'lg-methods-demo',controls:!1,download:!1,pager:!1,hash:!1})})),$lgDemoUpdateSlides=jQuery('#gallery-update-slides-demo'),lgDemoUpdateSlides=$lgDemoUpdateSlides.get(0),updateSlidesGallery=null,slidesUpdated=!1,lgDemoUpdateSlides&&(lgDemoUpdateSlides.addEventListener('lgAfterClose',function(){slidesUpdated&&(setTimeout(function(){$lgDemoUpdateSlides.justifiedGallery('destroy'),$lgDemoUpdateSlides.off('jg.complete'),$('.lg-added-item').attr('src','https://images.unsplash.com/photo-1609342122563-a43ac8917a3a?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=240&q=100')},100),setTimeout(function(){$lgDemoUpdateSlides.justifiedGallery({captions:!1,lastRow:'center',rowHeight:180,margins:5}).on('jg.complete',function(){updateSlidesGallery.refresh()}),slidesUpdated=!1},200))}),lgDemoUpdateSlides.addEventListener('lgInit',function(b){var a=b.detail.instance,c='',d='';a.outer.find('.lg-toolbar').append(d),a.outer.find('.lg-toolbar').append(c),a.outer.find('#lg-add').on('click',function(){var b=[].concat(_toConsumableArray(a.galleryItems),[{src:'https://images.unsplash.com/photo-1609342122563-a43ac8917a3a?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=1600&q=80',thumb:'https://images.unsplash.com/photo-1609342122563-a43ac8917a3a?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=240&q=100',subHtml:'
    \n

    Photo by Brooke Cagle

    \n

    Description of the slide 1

    \n
    '}]);$lgDemoUpdateSlides.append('\n \n '),a.updateSlides(b,a.index),slidesUpdated=!0}),a.outer.find('#lg-delete').on('click',function(){var b=JSON.parse(JSON.stringify(a.galleryItems));b.shift(),a.updateSlides(b,1),$lgDemoUpdateSlides.children().first().remove(),slidesUpdated=!0})}),jG=$lgDemoUpdateSlides.justifiedGallery({captions:!1,lastRow:'center',rowHeight:180,margins:5}),jG.on('jg.complete',function(){updateSlidesGallery=window.lightGallery(lgDemoUpdateSlides,{addClass:'lg-update-slide-demo',controls:!1,pager:!1,hash:!1,plugins:[lgZoom,lgAutoplay,lgFullscreen,lgShare,lgThumbnail],download:!1})})),$dynamicGallery=jQuery('#dynamic-gallery-demo'),dynamicEl=[{src:'https://images.unsplash.com/photo-1609342122563-a43ac8917a3a?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=1400&q=80',responsive:'https://images.unsplash.com/photo-1609342122563-a43ac8917a3a?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=480&q=80 480, https://images.unsplash.com/photo-1609342122563-a43ac8917a3a?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=800&q=80 800',thumb:'https://images.unsplash.com/photo-1609342122563-a43ac8917a3a?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=240&q=80'},{src:'https://images.unsplash.com/photo-1505820013142-f86a3439c5b2?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=1400&q=80',responsive:'https://images.unsplash.com/photo-1505820013142-f86a3439c5b2?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=480&q=80 480, https://images.unsplash.com/photo-1505820013142-f86a3439c5b2?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=800&q=80 800',thumb:'https://images.unsplash.com/photo-1505820013142-f86a3439c5b2?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=240&q=80'},{src:'https://images.unsplash.com/photo-1477322524744-0eece9e79640?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1400&q=80',responsive:'https://images.unsplash.com/photo-1477322524744-0eece9e79640?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=480&q=80 480, https://images.unsplash.com/photo-1477322524744-0eece9e79640?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=800&q=80 800',thumb:'https://images.unsplash.com/photo-1477322524744-0eece9e79640?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=240&q=80'},{src:'https://images.unsplash.com/photo-1469474968028-56623f02e42e?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1400&q=80',responsive:'https://images.unsplash.com/photo-1469474968028-56623f02e42e?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=480&q=80 480, https://images.unsplash.com/photo-1469474968028-56623f02e42e?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=800&q=80 800',thumb:'https://images.unsplash.com/photo-1469474968028-56623f02e42e?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=240&q=80'}],dynamicGallery=window.lightGallery($dynamicGallery[0],{dynamic:!0,hash:!1,rotate:!1,plugins:[lgZoom,lgAutoplay,lgFullscreen,lgPager,lgRotate,lgShare,lgVideo],dynamicEl}),$dynamicGallery.on('click',function(){dynamicGallery.openGallery(2)}),$dynamicimgGallery=jQuery('#dynamic-mode-images'),dynamicimgEl=[{src:'https://images.unsplash.com/photo-1609342122563-a43ac8917a3a?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=1600&q=80',thumb:'https://images.unsplash.com/photo-1609342122563-a43ac8917a3a?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=240&q=80'},{src:'https://images.unsplash.com/photo-1526281216101-e55f00f0db7a?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=1600&q=80',thumb:'https://images.unsplash.com/photo-1526281216101-e55f00f0db7a?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=240&q=80'},{src:'https://images.unsplash.com/photo-1418065460487-3e41a6c84dc5?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1600&q=80',thumb:'https://images.unsplash.com/photo-1418065460487-3e41a6c84dc5?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=240&q=80'},{src:'https://images.unsplash.com/photo-1505820013142-f86a3439c5b2?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=1600&q=80',thumb:'https://images.unsplash.com/photo-1505820013142-f86a3439c5b2?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=240&q=80'},{src:'https://images.unsplash.com/photo-1477322524744-0eece9e79640?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1600&q=80',thumb:'https://images.unsplash.com/photo-1477322524744-0eece9e79640?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=240&q=80'},{src:'https://images.unsplash.com/photo-1469474968028-56623f02e42e?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1400&q=80',thumb:'https://images.unsplash.com/photo-1469474968028-56623f02e42e?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=240&q=80'},{src:"https://images.unsplash.com/photo-1510414842594-a61c69b5ae57?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=1440&q=80",thumb:"https://images.unsplash.com/photo-1510414842594-a61c69b5ae57?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=2407&q=80"},{src:"https://images.unsplash.com/photo-1596370743446-6a7ef43a36f9?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1440&q=80",thumb:"https://images.unsplash.com/photo-1596370743446-6a7ef43a36f9?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=240&q=80"},{src:"https://images.unsplash.com/photo-1464852045489-bccb7d17fe39?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1440&q=80",thumb:"https://images.unsplash.com/photo-1464852045489-bccb7d17fe39?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=240&q=80"},{src:"https://images.unsplash.com/photo-1483728642387-6c3bdd6c93e5?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1440&q=80",thumb:"https://images.unsplash.com/photo-1483728642387-6c3bdd6c93e5?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=240&q=80"},{src:"https://images.unsplash.com/photo-1510011560141-62c7e8fc7908?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1440&q=80",thumb:"https://images.unsplash.com/photo-1510011560141-62c7e8fc7908?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=240&q=80"},{src:"https://images.unsplash.com/photo-1586276393635-5ecd8a851acc?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1440&q=80",thumb:"https://images.unsplash.com/photo-1586276393635-5ecd8a851acc?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=240&q=80"},{src:"https://images.unsplash.com/photo-1471931452361-f5ff1faa15ad?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1440&q=80",thumb:"https://images.unsplash.com/photo-1471931452361-f5ff1faa15ad?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=240&q=80"},{src:"https://images.unsplash.com/photo-1508766206392-8bd5cf550d1c?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1440&q=80",thumb:"https://images.unsplash.com/photo-1508766206392-8bd5cf550d1c?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=240&q=80"},{src:"https://images.unsplash.com/photo-1610448721566-47369c768e70?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1440&q=80",thumb:"https://images.unsplash.com/photo-1610448721566-47369c768e70?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=240&q=80"}],dynamicimgGallery=window.lightGallery($dynamicimgGallery[0],{dynamic:!0,hash:!1,rotate:!1,plugins:[lgZoom,lgAutoplay,lgFullscreen,lgPager,lgRotate,lgShare,lgVideo],dynamicEl:dynamicimgEl}),$dynamicimgGallery.on('click',function(){dynamicimgGallery.openGallery(5)}),$('#gallery-dynamic-thumbnails .gallery-item').on('click',function(){var a=$(this).index();dynamicimgGallery.openGallery(a)}),jQuery('#gallery-dynamic-thumbnails').justifiedGallery({captions:!1,lastRow:'justify',rowHeight:180,margins:5}),$('#dynamic-gallery-demo-load-more').on('click',function(){var a=[{src:'https://images.unsplash.com/photo-1598911543663-37d77962beb1?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=1400&q=80',responsive:'https://images.unsplash.com/photo-1598911543663-37d77962beb1?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=480&q=80 480, https://images.unsplash.com/photo-1598911543663-37d77962beb1?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=800&q=80 800',thumb:'https://images.unsplash.com/photo-1598911543663-37d77962beb1?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=240&q=80'},{src:'https://images.unsplash.com/photo-1560885673-2cdc12600ec8?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=1400&q=80',responsive:'https://images.unsplash.com/photo-1560885673-2cdc12600ec8?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=480&q=80 480, https://images.unsplash.com/photo-1560885673-2cdc12600ec8?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=800&q=80 800',thumb:'https://images.unsplash.com/photo-1560885673-2cdc12600ec8?ixlib=rb-1.2.1&ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&auto=format&fit=crop&w=240&q=80'}],b=[].concat(dynamicEl,a);dynamicGallery.refresh(b),dynamicGallery.openGallery(4)}),window.lightGallery(document.getElementById('open-website'),{selector:'this',download:!1,mobileSettings:{controls:!0}}),window.lightGallery(document.getElementById('open-google-map'),{selector:'this',download:!1,mobileSettings:{controls:!0}}),window.lightGallery(document.getElementById('open-pdf'),{selector:'this',download:!1,mobileSettings:{controls:!0}}),jQuery('#gallery-videos-demo').justifiedGallery({captions:!1,lastRow:'justify',rowHeight:180,margins:5}).on('jg.complete',function(){window.lightGallery(document.getElementById('gallery-videos-demo'),{thumbnail:!1,pager:!1,plugins:[lgAutoplay,lgFullscreen,lgShare,lgThumbnail,lgVideo],hash:!1,preload:0})}),jQuery('#gallery-videojs-demo').justifiedGallery({captions:!1,lastRow:'justify',rowHeight:180,margins:5}).on('jg.complete',function(){window.lightGallery(document.getElementById('gallery-videojs-demo'),{pager:!1,hash:!1,preload:0,plugins:[lgAutoplay,lgFullscreen,lgShare,lgThumbnail,lgVideo],videojs:!0,videojsOptions:{muted:!0}})}),jQuery('#gallery-hash-demo').justifiedGallery({captions:!1,lastRow:'justify',rowHeight:180,margins:5}).on('jg.complete',function(){window.lightGallery(document.getElementById('gallery-hash-demo'),{thumbnail:!1,plugins:[lgHash],pager:!1,galleryId:1,customSlideName:!1})}),jQuery('#gallery-custom-hash-demo').justifiedGallery({captions:!1,lastRow:'justify',rowHeight:180,margins:5}).on('jg.complete',function(){window.lightGallery(document.getElementById('gallery-custom-hash-demo'),{thumbnail:!1,plugins:[lgZoom,lgHash,lgAutoplay,lgFullscreen,lgPager,lgRotate,lgShare,lgThumbnail,lgVideo],galleryId:2,pager:!1,customSlideName:!0})}),jQuery('#gallery-share-demo').justifiedGallery({captions:!1,lastRow:'justify',rowHeight:180,margins:5}).on('jg.complete',function(){window.lightGallery(document.getElementById('gallery-share-demo'),{thumbnail:!1,pager:!1,hash:!0,plugins:[lgZoom,lgShare,lgThumbnail,lgHash]})}),jQuery('#gallery-zoom-from-origin-demo').justifiedGallery({captions:!1,lastRow:'justify',rowHeight:180,margins:5}).on('jg.complete',function(){window.lightGallery(document.getElementById('gallery-zoom-from-origin-demo'),{thumbnail:!1,pager:!1,hash:!0,plugins:[lgZoom,lgShare,lgThumbnail,lgHash]})}),jQuery('#gallery-captions-demo').justifiedGallery({captions:!1,lastRow:'justify',rowHeight:180,margins:5}).on('jg.complete',function(){window.lightGallery(document.getElementById('gallery-captions-demo'),{thumbnail:!1,plugins:[lgZoom,lgShare],allowMediaOverlap:!0,pager:!0,hash:!0})}),jQuery('#gallery-animated-captions-demo').justifiedGallery({captions:!1,lastRow:'justify',rowHeight:180,margins:5}).on('jg.complete',function(){window.lightGallery(document.getElementById('gallery-animated-captions-demo'),{speed:500,allowMediaOverlap:!0,appendSubHtmlTo:'.lg-item',slideDelay:400})}),jQuery('#gallery-srcset-demo').justifiedGallery({captions:!1,lastRow:'justify',rowHeight:180,margins:5}).on('jg.complete',function(){window.lightGallery(document.getElementById('gallery-srcset-demo'),{thumbnail:!1,plugins:[lgZoom,lgShare],allowMediaOverlap:!0,pager:!0,hash:!0})}),jQuery('#gallery-picture-demo').justifiedGallery({captions:!1,lastRow:'justify',rowHeight:180,margins:5}).on('jg.complete',function(){window.lightGallery(document.getElementById('gallery-picture-demo'),{thumbnail:!1,plugins:[lgZoom,lgShare],allowMediaOverlap:!0,pager:!0,hash:!0})}),jQuery('#responsive-images-demo').justifiedGallery({captions:!1,lastRow:'justify',rowHeight:180,margins:5}).on('jg.complete',function(){window.lightGallery(document.getElementById('responsive-images-demo'),{thumbnail:!1,pager:!0,hash:!0,plugins:[lgAutoplay,lgThumbnail]})}),jQuery('#gallery-fb-comments-demo').justifiedGallery({captions:!1,lastRow:'justify',rowHeight:180,margins:5}).on('jg.complete',function(){window.lightGallery(document.getElementById('gallery-fb-comments-demo'),{thumbnail:!1,pager:!1,hash:!0,plugins:[lgZoom,lgComment,lgShare,lgThumbnail],commentBox:!0,disqusComments:!1,fbComments:!0})}),jQuery('#gallery-disqus-comments-demo').justifiedGallery({captions:!1,lastRow:'justify',rowHeight:180,margins:5}).on('jg.complete',function(){window.lightGallery(document.getElementById('gallery-disqus-comments-demo'),{thumbnail:!1,pager:!1,hash:!0,plugins:[lgComment,lgRotate],commentBox:!0,disqusComments:!0,fbComments:!1})}),jQuery('#gallery-mixed-content-demo').justifiedGallery({captions:!1,lastRow:'justify',rowHeight:180,margins:5}).on('jg.complete',function(){window.lightGallery(document.getElementById('gallery-mixed-content-demo'),{thumbnail:!1,pager:!1,hash:!0,plugins:[lgZoom,lgAutoplay,lgFullscreen,lgPager,lgRotate,lgShare,lgThumbnail,lgVideo]})}),jQuery('#gallery-mixed-content-all-demo').justifiedGallery({captions:!1,rowHeight:130,margins:5}).on('jg.complete',function(){window.lightGallery(document.getElementById('gallery-mixed-content-all-demo'),{thumbnail:!1,pager:!1,hash:!0,plugins:[lgZoom,lgAutoplay,lgFullscreen,lgPager,lgRotate,lgShare,lgThumbnail,lgVideo]})}),jQuery('#gallery-share-reddit-demo').justifiedGallery({captions:!1,lastRow:'justify',rowHeight:180,margins:5}).on('jg.complete',function(){window.lightGallery(document.getElementById('gallery-share-reddit-demo'),{thumbnail:!1,pager:!1,hash:!0,galleryId:2,plugins:[lgZoom,lgAutoplay,lgHash,lgFullscreen,lgShare,lgThumbnail],addClass:'lg-custom-share-demo',extraProps:['redditTitle'],additionalShareOptions:[{selector:'.lg-share-reddit',dropdownHTML:'
  • redditReddit
  • ',generateLink:function(a){var b=encodeURIComponent(window.location.href),c=a.redditTitle,d="//reddit.com/submit?url=".concat(b,"&title=").concat(c);return d}}]})}),lightGallery(document.getElementById('gallery-demo-super-customizable'),{pager:!1,hash:!1,mode:'lg-zoom-in-out',selector:'.gallery-item',addClass:'lightGallery-white-theme',plugins:[lgZoom,lgAutoplay,lgFullscreen,lgPager,lgRotate,lgShare,lgThumbnail,lgVideo],mobileSettings:{controls:!1,showCloseIcon:!1,download:!1,rotate:!1}}),$infiniteScrollingGallery=$('#infinite-scroll-gallery'),$('#infinite-scroll-gallery').length&&(infiniteScrollingGallery=lightGallery($infiniteScrollingGallery[0],{plugins:[lgThumbnail,lgZoom]}),images='\n \n \n \n \n \n \n \n \n \n \n \n ',$(window).on('scroll',function(){$(window).scrollTop()>=$(document).height()-$(window).height()-($(document).height()-($infiniteScrollingGallery.position().top+$infiniteScrollingGallery.outerHeight(!0)))&&($('#infinite-scroll-gallery').append(images),infiniteScrollingGallery.refresh())})),lightGallery(document.querySelector('.medium-zoom-demo'),{selector:'.blog-images',plugins:[lgMediumZoom]}),lightGallery(document.querySelector('.blog-wrapper'),{selector:'.blog-images',getCaptionFromTitleOrAlt:!1,backgroundColor:"#FFF",plugins:[lgMediumZoom]}),$lgSwiper=document.getElementById('lg-swipper'),$lgSwiper&&(swiper=new Swiper('.swiper',{navigation:{nextEl:'.swiper-button-next',prevEl:'.swiper-button-prev'},on:{init:function(){var a=lightGallery($lgSwiper);$lgSwiper.addEventListener('lgBeforeClose',function(){swiper.slideTo(a.index,0)})}}})),$lgInlineVideoContainer=document.getElementById('inline-video-gallery-container'),$lgInlineVideoContainer&&(_inlineGallery=window.lightGallery($lgInlineVideoContainer,_objectSpread(_objectSpread({container:$lgInlineVideoContainer,dynamic:!0,thumbnail:!0,swipeToClose:!1,addClass:'lg-inline',mode:'lg-scale-up',slideShowAutoplay:!1,hash:!1,pager:!1,closable:!1,showMaximizeIcon:!0,rotate:!0,download:!0,slideDelay:400,plugins:[lgZoom,lgAutoplay,lgFullscreen,lgPager,lgRotate,lgShare,lgThumbnail,lgVideo],appendSubHtmlTo:'.lg-item'},getResponsiveThumbnailsSettings()),{},{dynamicEl:[{src:'//vimeo.com/112836958',poster:location.origin+'/images/demo/vimeo-video-poster.jpg',thumb:location.origin+'/images/demo/vimeo-video-poster.jpg',subHtml:"

    Nature

    Video by Charlie Kaye

    "},{size:'1280-720',src:'//www.youtube.com/watch?v=EIUJfXk3_3w',poster:'https://img.youtube.com/vi/EIUJfXk3_3w/maxresdefault.jpg',thumb:'https://img.youtube.com/vi/EIUJfXk3_3w/maxresdefault.jpg',subHtml:'

    Puffin Hunts Fish To Feed Puffling | Blue Planet II | BBC Earth

    This puffin parent must go out to sea to feed his chick, but he must evade other birds that would rob him.

    '},{source:[{src:location.origin+'/videos/video1.mp4',type:'video/mp4'}],tracks:[{src:location.origin+'/videos/title.txt',kind:'captions',srclang:'en',label:'English',default:'true'}],attributes:{preload:!1,controls:!0},poster:location.origin+'/images/demo/html5-video-poster.jpg',thumb:location.origin+'/images/demo/html5-video-poster.jpg',subHtml:"

    'Peck Pocketed' by Kevin Herron | Disney Favorite

    "},{src:'https://private-sharing.wistia.com/medias/mwhrulrucj',poster:location.origin+'/images/demo/wistia-video-poster.jpeg',thumb:location.origin+'/images/demo/wistia-video-poster.jpeg',subHtml:'

    Thank You!

    Sample Wistia video

    '}]})),_inlineGallery.openGallery()),jQuery(document).ready(function(){var d=document.getElementById('bootstrap-gallery-carousel'),a,e,f,g,b,h,c;d&&(a=!1,e=jQuery('#bootstrap-gallery-carousel'),e.carousel({keyboard:!0}),a=!0,a&&(f=document.querySelector('.carousel-inner'),window.lightGallery(f,{thumbnail:!0,zoomFromOrigin:!1,pager:!1,plugins:[lgZoom,lgAutoplay,lgFullscreen,lgRotate,lgShare],hash:!1,preload:4,selector:'.lg-item'}))),g=document.getElementById('owl-carousel-gallery-demo'),g&&(b=jQuery('#owl-carousel-gallery-demo'),b.on('initialized.owl.carousel',function(b){var a=document.querySelector('.owl-stage');window.lightGallery(a,{plugins:[lgZoom,lgAutoplay,lgFullscreen,lgRotate,lgShare,lgThumbnail],selector:'.carousel-cell'})}),b.owlCarousel({center:!0,items:1,loop:!1,margin:10,nav:!0})),h=document.getElementById('slick-carousel-gallery-demo'),h&&(c=$('#slick-carousel-gallery-demo'),c.on('init',function(b,c,d){console.log('Slick slider initialized');var a=document.querySelector('.slick-track');window.lightGallery(a,{pager:!1,plugins:[lgZoom,lgAutoplay,lgFullscreen,lgRotate,lgShare,lgThumbnail],hash:!1,preload:4})}),c.slick({centerMode:!0,centerPadding:'60px',slidesToShow:3,customPaging:'10px',focusOnSelect:!0,swipe:!1,variableWidth:!0,responsive:[{breakpoint:768,settings:{arrows:!1,centerMode:!0,centerPadding:'40px',slidesToShow:3}},{breakpoint:480,settings:{arrows:!1,centerMode:!0,centerPadding:'40px',slidesToShow:1}}]}))}),$flickityLG=document.querySelector('#flickity-carousel-gallery-demo'),$flickityLG&&(flkty=new Flickity($flickityLG,{cellAlign:'center',pageDots:!1,contain:!0,autoPlay:!0,on:{ready:function(){var a=document.querySelector('.flickity-slider');window.lightGallery(a,{selector:'.lg-item',plugins:[lgZoom,lgAutoplay,lgFullscreen,lgRotate,lgShare,lgThumbnail]})}}})),container=document.querySelector('#bootstrap-image-gallery'),window.lightGallery(container,{selector:'.lg-item',zoomFromOrigin:!0,download:!0,thumbnail:!0,plugins:[lgZoom,lgAutoplay,lgFullscreen,lgRotate,lgShare,lgThumbnail]}),$(document).ready(function(){var a=document.querySelector('#masonry-gallery-demo'),b=new Masonry(a,{itemSelector:'.lg-item',columnWidth:'.grid-sizer',percentPosition:!0,gutter:10,horizontalOrder:!0,fitWidth:!0});imagesLoaded(a).on('progress',function(){b.layout()}),window.lightGallery(a,{thumbnail:!0,pager:!0,plugins:[lgAutoplay,lgFullscreen,lgShare,lgThumbnail,lgVideo,lgRotate],hash:!1,preload:0,selector:'.lg-item'})}),window.lightGallery(document.getElementById('bootstrap-video-gallery'),{thumbnail:!0,pager:!0,plugins:[lgAutoplay,lgFullscreen,lgShare,lgThumbnail,lgVideo,lgRotate],hash:!1,preload:0}),window.lightGallery(document.getElementById('bootstrap-video-carousel'),{thumbnail:!0,pager:!0,plugins:[lgAutoplay,lgFullscreen,lgShare,lgThumbnail,lgVideo,lgRotate],hash:!1,preload:0,selector:'.lg-item'}),$lfYoutubeForm=document.getElementById('thumbnailForm'),$lfYoutubeForm&&$lfYoutubeForm.addEventListener('submit',function(e){var a,b,c,d;if(e.preventDefault(),a=document.getElementById('url').value,!a){alert('Please enter a YouTube video URL');return}if(b=a.match(/\/\/(?:www\.)?youtu(?:\.be|be\.com|be-nocookie\.com)\/(?:watch\?v=|embed\/)?([a-z0-9\-\_\%]+)([\&|?][\S]*)*/i),c=b&&b[1],!c){alert('Invalid URL');return}d=['maxresdefault','hqdefault','sddefault','mqdefault','default'],d.forEach(function(a){var d="https://img.youtube.com/vi/".concat(c,"/").concat(a,".jpg"),b=document.getElementById(a),e=b.querySelector('img'),f=b.querySelector('.download-btn');e.src=d,f.href=d,e.alt="Thumbnail ".concat(a),b.style.display='block'}),document.getElementById('thumbnail').scrollIntoView()}) \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index f7c3e7bd..1f2b32e1 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1 +1 @@ -https://www.lightgalleryjs.com/docs/getting-started/2022-06-13T10:30:37+05:30monthly0.5https://www.lightgalleryjs.com/demos/thumbnails/2023-11-13T08:36:53+05:30monthly0.5https://www.lightgalleryjs.com/demos/video-gallery/2024-03-24T13:09:10+05:30monthly0.5https://www.lightgalleryjs.com/docs/settings/2022-07-13T11:56:18+05:30monthly0.5https://www.lightgalleryjs.com/docs/events/2021-11-17T15:57:59+05:30monthly0.5https://www.lightgalleryjs.com/demos/share/2023-11-13T08:36:53+05:30monthly0.5https://www.lightgalleryjs.com/demos/bootstrap-image-carousel/2024-04-08T16:03:33+05:30monthly0.5https://www.lightgalleryjs.com/demos/carousel-gallery/2024-02-10T11:47:47+05:30monthly0.5https://www.lightgalleryjs.com/docs/methods/2021-05-29T09:20:37+05:30monthly0.5https://www.lightgalleryjs.com/demos/react-carousel/2024-03-24T13:41:52+05:30monthly0.5https://www.lightgalleryjs.com/demos/video-carousel/2024-03-24T13:09:10+05:30monthly0.5https://www.lightgalleryjs.com/docs/dynamic-variables/2021-05-29T09:20:37+05:30monthly0.5https://www.lightgalleryjs.com/demos/hash/2023-11-13T08:36:53+05:30monthly0.5https://www.lightgalleryjs.com/docs/attributes/2021-05-29T09:20:37+05:30monthly0.5https://www.lightgalleryjs.com/demos/responsive/2023-11-08T14:41:26+05:30monthly0.5https://www.lightgalleryjs.com/docs/react-image-video-gallery/2023-11-08T15:07:53+05:30monthly0.5https://www.lightgalleryjs.com/demos/mixed-contents/2023-11-08T14:41:26+05:30monthly0.5https://www.lightgalleryjs.com/demos/iframe/2023-11-08T14:41:26+05:30monthly0.5https://www.lightgalleryjs.com/docs/vue-image-video-gallery/2023-11-08T15:07:53+05:30monthly0.5https://www.lightgalleryjs.com/demos/dynamic-mode/2023-11-13T08:36:53+05:30monthly0.5https://www.lightgalleryjs.com/docs/angular-image-video-gallery/2023-11-08T15:07:53+05:30monthly0.5https://www.lightgalleryjs.com/docs/license/2023-04-05T20:10:18+05:30monthly0.5https://www.lightgalleryjs.com/demos/update-slides/2023-11-13T08:36:53+05:30monthly0.5https://www.lightgalleryjs.com/demos/transitions/2023-11-08T14:41:26+05:30monthly0.5https://www.lightgalleryjs.com/demos/methods/2023-11-13T08:36:53+05:30monthly0.5https://www.lightgalleryjs.com/demos/html-markup/2021-05-29T09:20:37+05:30monthly0.5https://www.lightgalleryjs.com/demos/events/2021-05-29T09:20:37+05:30monthly0.5https://www.lightgalleryjs.com/demos/custom-easing/2021-05-29T09:20:37+05:30monthly0.5https://www.lightgalleryjs.com/demos/captions/2024-03-26T19:44:09+05:30monthly0.5https://www.lightgalleryjs.com/demos/infinite-scrolling/2021-05-29T09:20:37+05:30monthly0.5https://www.lightgalleryjs.com/demos/comment-box/2023-11-08T14:41:26+05:30monthly0.5https://www.lightgalleryjs.com/demos/medium-zoom/2023-11-08T14:41:26+05:30monthly0.5https://www.lightgalleryjs.com/docs/creating-plugins/2021-10-27T15:14:03+02:00monthly0.5https://www.lightgalleryjs.com/docs/custom-work/2021-09-07T13:19:04+05:30monthly0.5https://www.lightgalleryjs.com/docs/lg-query/2021-05-29T09:20:37+05:30monthly0.5https://www.lightgalleryjs.com/demos/zoom-from-origin/2023-11-08T14:41:26+05:30monthly0.5https://www.lightgalleryjs.com/demos/react-image-gallery/2024-04-08T16:03:33+05:30monthly0.5https://www.lightgalleryjs.com/demos/react-video-gallery/2024-03-24T13:09:10+05:30monthly0.5https://www.lightgalleryjs.com/demos/bootstrap-image-gallery/2024-04-08T16:03:33+05:30monthly0.5https://www.lightgalleryjs.com/demos/bootstrap-video-carousel/2024-04-08T16:03:33+05:30monthly0.5https://www.lightgalleryjs.com/demos/swiper/2024-02-21T20:08:53+05:30monthly0.5https://www.lightgalleryjs.com/demos/bootstrap-video-gallery/2024-04-08T16:03:33+05:30monthly0.5https://www.lightgalleryjs.com/demos/flickity-demo/2024-02-10T11:47:47+05:30monthly0.5https://www.lightgalleryjs.com/demos/owl-carousel-with-lightbox/2024-02-13T19:17:47+05:30monthly0.5https://www.lightgalleryjs.com/demos/slick-carousel-demo/2024-04-08T16:03:33+05:30monthly0.5https://www.lightgalleryjs.com/blog/top-6-javascript-lightbox-galleries./2024-02-05T12:54:40+05:30monthly0.5https://www.lightgalleryjs.com/blog/7-best-react-image-gallery-libraries/2024-02-05T12:54:40+05:30monthly0.5https://www.lightgalleryjs.com/demos/react-video-carousel/2024-03-24T13:41:52+05:30monthly0.5https://www.lightgalleryjs.com/download-youtube-thumbnails/2024-05-01T08:48:57+00:00monthly0.5https://www.lightgalleryjs.com/jquery-to-js-converter/2024-05-01T08:48:57+00:00monthly0.5https://www.lightgalleryjs.com/demos/2024-04-08T16:03:33+05:30monthly0.5https://www.lightgalleryjs.com/docs/2023-11-08T15:07:53+05:30monthly0.5https://www.lightgalleryjs.com/blog/2023-11-27T13:41:23+05:30monthly0.5https://www.lightgalleryjs.com/2023-12-23T11:10:22+05:30monthly0.5https://www.lightgalleryjs.com/license/2024-04-06T15:25:29+05:30monthly0.5 \ No newline at end of file +https://www.lightgalleryjs.com/docs/getting-started/2022-06-13T10:30:37+05:30monthly0.5https://www.lightgalleryjs.com/demos/thumbnails/2023-11-13T08:36:53+05:30monthly0.5https://www.lightgalleryjs.com/demos/video-gallery/2024-03-24T13:09:10+05:30monthly0.5https://www.lightgalleryjs.com/docs/settings/2022-07-13T11:56:18+05:30monthly0.5https://www.lightgalleryjs.com/docs/events/2021-11-17T15:57:59+05:30monthly0.5https://www.lightgalleryjs.com/demos/share/2023-11-13T08:36:53+05:30monthly0.5https://www.lightgalleryjs.com/demos/bootstrap-image-carousel/2024-04-08T16:03:33+05:30monthly0.5https://www.lightgalleryjs.com/demos/carousel-gallery/2024-02-10T11:47:47+05:30monthly0.5https://www.lightgalleryjs.com/docs/methods/2021-05-29T09:20:37+05:30monthly0.5https://www.lightgalleryjs.com/demos/react-carousel/2024-03-24T13:41:52+05:30monthly0.5https://www.lightgalleryjs.com/demos/video-carousel/2024-03-24T13:09:10+05:30monthly0.5https://www.lightgalleryjs.com/docs/dynamic-variables/2021-05-29T09:20:37+05:30monthly0.5https://www.lightgalleryjs.com/demos/hash/2023-11-13T08:36:53+05:30monthly0.5https://www.lightgalleryjs.com/docs/attributes/2021-05-29T09:20:37+05:30monthly0.5https://www.lightgalleryjs.com/demos/responsive/2023-11-08T14:41:26+05:30monthly0.5https://www.lightgalleryjs.com/docs/react-image-video-gallery/2023-11-08T15:07:53+05:30monthly0.5https://www.lightgalleryjs.com/demos/mixed-contents/2023-11-08T14:41:26+05:30monthly0.5https://www.lightgalleryjs.com/demos/iframe/2023-11-08T14:41:26+05:30monthly0.5https://www.lightgalleryjs.com/docs/vue-image-video-gallery/2023-11-08T15:07:53+05:30monthly0.5https://www.lightgalleryjs.com/demos/dynamic-mode/2023-11-13T08:36:53+05:30monthly0.5https://www.lightgalleryjs.com/docs/angular-image-video-gallery/2023-11-08T15:07:53+05:30monthly0.5https://www.lightgalleryjs.com/docs/license/2023-04-05T20:10:18+05:30monthly0.5https://www.lightgalleryjs.com/demos/update-slides/2023-11-13T08:36:53+05:30monthly0.5https://www.lightgalleryjs.com/demos/transitions/2023-11-08T14:41:26+05:30monthly0.5https://www.lightgalleryjs.com/demos/methods/2023-11-13T08:36:53+05:30monthly0.5https://www.lightgalleryjs.com/demos/html-markup/2021-05-29T09:20:37+05:30monthly0.5https://www.lightgalleryjs.com/demos/events/2021-05-29T09:20:37+05:30monthly0.5https://www.lightgalleryjs.com/demos/custom-easing/2021-05-29T09:20:37+05:30monthly0.5https://www.lightgalleryjs.com/demos/captions/2024-03-26T19:44:09+05:30monthly0.5https://www.lightgalleryjs.com/demos/infinite-scrolling/2021-05-29T09:20:37+05:30monthly0.5https://www.lightgalleryjs.com/demos/comment-box/2023-11-08T14:41:26+05:30monthly0.5https://www.lightgalleryjs.com/demos/medium-zoom/2023-11-08T14:41:26+05:30monthly0.5https://www.lightgalleryjs.com/docs/creating-plugins/2021-10-27T15:14:03+02:00monthly0.5https://www.lightgalleryjs.com/docs/custom-work/2021-09-07T13:19:04+05:30monthly0.5https://www.lightgalleryjs.com/docs/lg-query/2021-05-29T09:20:37+05:30monthly0.5https://www.lightgalleryjs.com/demos/zoom-from-origin/2023-11-08T14:41:26+05:30monthly0.5https://www.lightgalleryjs.com/demos/react-image-gallery/2024-04-08T16:03:33+05:30monthly0.5https://www.lightgalleryjs.com/demos/react-video-gallery/2024-03-24T13:09:10+05:30monthly0.5https://www.lightgalleryjs.com/demos/bootstrap-image-gallery/2024-04-08T16:03:33+05:30monthly0.5https://www.lightgalleryjs.com/demos/bootstrap-video-carousel/2024-04-08T16:03:33+05:30monthly0.5https://www.lightgalleryjs.com/demos/swiper/2024-02-21T20:08:53+05:30monthly0.5https://www.lightgalleryjs.com/demos/bootstrap-video-gallery/2024-04-08T16:03:33+05:30monthly0.5https://www.lightgalleryjs.com/demos/flickity-demo/2024-02-10T11:47:47+05:30monthly0.5https://www.lightgalleryjs.com/demos/owl-carousel-with-lightbox/2024-02-13T19:17:47+05:30monthly0.5https://www.lightgalleryjs.com/demos/slick-carousel-demo/2024-04-08T16:03:33+05:30monthly0.5https://www.lightgalleryjs.com/blog/top-6-javascript-lightbox-galleries./2024-02-05T12:54:40+05:30monthly0.5https://www.lightgalleryjs.com/blog/7-best-react-image-gallery-libraries/2024-02-05T12:54:40+05:30monthly0.5https://www.lightgalleryjs.com/demos/react-video-carousel/2024-03-24T13:41:52+05:30monthly0.5https://www.lightgalleryjs.com/download-youtube-thumbnails/2024-05-03T12:51:43+05:30monthly0.5https://www.lightgalleryjs.com/jquery-to-js-converter/2024-05-03T15:22:51+05:30monthly0.5https://www.lightgalleryjs.com/demos/2024-04-08T16:03:33+05:30monthly0.5https://www.lightgalleryjs.com/docs/2023-11-08T15:07:53+05:30monthly0.5https://www.lightgalleryjs.com/blog/2023-11-27T13:41:23+05:30monthly0.5https://www.lightgalleryjs.com/2023-12-23T11:10:22+05:30monthly0.5https://www.lightgalleryjs.com/license/2024-04-06T15:25:29+05:30monthly0.5 \ No newline at end of file